From 4e0ccb1009ea28560b6013f1403243fc02e6e017 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 7 Mar 2024 17:14:31 +0000 Subject: [PATCH 001/118] bke is now developing for 3.1.3 --- src/rwl.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rwl.h b/src/rwl.h index 34232e5c..0adbcabb 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 7-mar-2024 - Development is now 3.1.3 * bengsig 7-mar-2024 - Prepare 3.1.2 * bengsig 7-mar-2024 - a few lob changes * bengsig 6-mar-2024 - include oci.h after all standard includes @@ -2268,7 +2269,7 @@ extern const char rwlexecbanner[]; #define RWL_VERSION_MAJOR 3 #define RWL_VERSION_MINOR 1 #define RWL_VERSION_RELEASE 2 -#define RWL_VERSION_TEXT "Production" RWL_EXTRA_VERSION_TEXT +#define RWL_VERSION_TEXT "Development" RWL_EXTRA_VERSION_TEXT #define RWL_VERSION_DATE // undef to not include compile date extern ub4 rwlpatch; From b519bb37b6e282d214a4eead2be304f4be800bdb Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 12 Mar 2024 13:54:58 +0000 Subject: [PATCH 002/118] Replace dbms_lock.sleep with dbms_session.sleep --- test/158.rwl | 2 +- test/197.rwl | 2 +- test/213.rwl | 2 +- test/380.rwl | 2 +- test/testres/158.err.good | 4 ++-- test/testres/197.err.good | 4 ++-- test/testres/213.err.good | 2 +- test/testuser.sql | 5 ----- 8 files changed, 9 insertions(+), 14 deletions(-) diff --git a/test/158.rwl b/test/158.rwl index 18401bd3..4ba82af6 100644 --- a/test/158.rwl +++ b/test/158.rwl @@ -9,7 +9,7 @@ $oerstatistics:on sql justsleep begin - dbms_lock.sleep(5); + dbms_session.sleep(5); end; / end; diff --git a/test/197.rwl b/test/197.rwl index 0a025756..26dfbc64 100644 --- a/test/197.rwl +++ b/test/197.rwl @@ -10,7 +10,7 @@ $oerstatistics:on sql justsleep begin - dbms_lock.sleep(5); + dbms_session.sleep(5); end; / end; diff --git a/test/213.rwl b/test/213.rwl index f76ffe9f..dc90c232 100644 --- a/test/213.rwl +++ b/test/213.rwl @@ -11,7 +11,7 @@ $if 1 $then sql justsleep begin - dbms_lock.sleep(5); + dbms_session.sleep(5); end; / end; diff --git a/test/380.rwl b/test/380.rwl index bd837207..67bc7102 100644 --- a/test/380.rwl +++ b/test/380.rwl @@ -19,7 +19,7 @@ printline "Run this with --human380 if you are a human"; procedure proc1() begin - dbms_lock.sleep(0.3); + dbms_session.sleep(0.3); end; / wait 0.1; diff --git a/test/testres/158.err.good b/test/testres/158.err.good index 4faf266d..dc43afb2 100644 --- a/test/testres/158.err.good +++ b/test/testres/158.err.good @@ -1,9 +1,9 @@ RWL-113: user requested termination - please wait a few seconds RWL-079: error at [158.rwl;25]: oracle error 1013 in 'justsleep' declared at [158.rwl;10] ORA-01013: user requested cancel of current operation -ORA-06512: at "SYS.DBMS_LOCK", line 215 +ORA-06512: at "SYS.DBMS_SESSION", line 435 ORA-06512: at line 2 RWL-079: error at [158.rwl;25]: oracle error 1013 in 'justsleep' declared at [158.rwl;10] ORA-01013: user requested cancel of current operation -ORA-06512: at "SYS.DBMS_LOCK", line 215 +ORA-06512: at "SYS.DBMS_SESSION", line 435 ORA-06512: at line 2 diff --git a/test/testres/197.err.good b/test/testres/197.err.good index a1d5cb04..661e3ac2 100644 --- a/test/testres/197.err.good +++ b/test/testres/197.err.good @@ -1,8 +1,8 @@ RWL-079: error at [197.rwl;26]: oracle error 1013 in 'justsleep' declared at [197.rwl;11] ORA-01013: user requested cancel of current operation -ORA-06512: at "SYS.DBMS_LOCK", line 215 +ORA-06512: at "SYS.DBMS_SESSION", line 435 ORA-06512: at line 2 RWL-079: error at [197.rwl;26]: oracle error 1013 in 'justsleep' declared at [197.rwl;11] ORA-01013: user requested cancel of current operation -ORA-06512: at "SYS.DBMS_LOCK", line 215 +ORA-06512: at "SYS.DBMS_SESSION", line 435 ORA-06512: at line 2 diff --git a/test/testres/213.err.good b/test/testres/213.err.good index a1b3031d..b2e09c97 100644 --- a/test/testres/213.err.good +++ b/test/testres/213.err.good @@ -1,5 +1,5 @@ RWL-113: user requested termination - please wait a few seconds RWL-079: error at [213.rwl;27]: oracle error 1013 in 'justsleep' declared at [213.rwl;12] ORA-01013: user requested cancel of current operation -ORA-06512: at "SYS.DBMS_LOCK", line 215 +ORA-06512: at "SYS.DBMS_SESSION", line 435 ORA-06512: at line 2 diff --git a/test/testuser.sql b/test/testuser.sql index 0d4d549f..9a5b6453 100644 --- a/test/testuser.sql +++ b/test/testuser.sql @@ -20,8 +20,3 @@ create table to rwltest / -rem the following may require login to the root container -rem if you are using a multitenant database. - -grant execute on dbms_lock to rwltest; - From 4c02a8fe732685aca51bccd70062704a658b1d24 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 13 Mar 2024 15:13:52 +0000 Subject: [PATCH 003/118] Save sql_id rather than a pointer to it --- src/rwl.h | 4 +++- src/rwlcoderun.c | 6 ++++-- src/rwldynsql.c | 4 ++-- src/rwlerror.h | 3 ++- src/rwlexpreval.c | 10 +++++++--- src/rwlsql.c | 42 +++++++++++++++++++++------------------ test/testres/229.out.good | 4 ++-- 7 files changed, 43 insertions(+), 30 deletions(-) diff --git a/src/rwl.h b/src/rwl.h index 0adbcabb..782dab3d 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 7-mar-2024 - Development is now 3.1.3 * bengsig 7-mar-2024 - Prepare 3.1.2 * bengsig 7-mar-2024 - a few lob changes @@ -737,7 +738,8 @@ struct rwl_sql void **abd; /* array of array binds or array defines*/ sb2 **ari; /* array of indicators */ ub4 aix; /* index for next insert */ - text *sqlid; ub4 sqlidlen; +#define RWL_SQL_ID_LEN 13 + text sqlid[RWL_SQL_ID_LEN+1]; text *boname; ub4 sqllino; // line# where declared, used for sqllogging text *adsql; // sql statement before &name. replacement diff --git a/src/rwlcoderun.c b/src/rwlcoderun.c index b83dc287..7100b6b5 100644 --- a/src/rwlcoderun.c +++ b/src/rwlcoderun.c @@ -14,6 +14,7 @@ * * History * + * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 7-mar-2024 - a few lob changes * johnkenn 06-mar-2024 - writelob with offset * bengsig 4-mar-2024 - atime, dtime @@ -2162,8 +2163,9 @@ void rwlrunthreads(rwl_main *rwm) { // Dynamic is released in start of threads // so clear sql and id - sq2->sqlid = sq2->sql = 0; - sq2->sqlidlen = sq2->sqllen = 0; + sq2->sql = 0; + sq2->sqllen = 0; + sq2->sqlid[0] = 0; } sq2->outcount = sq2->bincount = sq2->defcount = 0; diff --git a/src/rwldynsql.c b/src/rwldynsql.c index 735c0176..9196daf6 100644 --- a/src/rwldynsql.c +++ b/src/rwldynsql.c @@ -11,6 +11,7 @@ * * History * + * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 30-jan-2024 - All includes in rwl.h * bengsig 12-oct-2023 - bug fix ampersand at end * bengsig 25-sep-2023 - ampersand bug fix @@ -96,8 +97,7 @@ void rwldynsrelease(rwl_xeqenv *xev, rwl_location *loc, rwl_sql *sq // sql_id - sq->sqlidlen = 0; - sq->sqlid = 0; + sq->sqlid[0] = 0; // and flags bic(sq->flags, RWL_SQFLAG_GOTID|RWL_SQLFLAG_IBDONE|RWL_SQLFLAG_IDDONE|RWL_SQLFLAG_BDPRT); diff --git a/src/rwlerror.h b/src/rwlerror.h index 98a0b93a..dee25427 100644 --- a/src/rwlerror.h +++ b/src/rwlerror.h @@ -11,6 +11,7 @@ * * History * + * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 5-mar-2024 - atime, dtime * bengsig 20-feb-2024 - A few windows related errors * bengsig 12-feb-2024 - \r\n on Windows @@ -1710,7 +1711,7 @@ RWLEDESC("When waiting for a session in a session pool, no available entry was a "within the timeout of set for the pool") #define RWL_ERROR_SQL_LOGGING 306 -RWLERROR("executing sql with sql_id=%.*s:%s%s", RWL_ERROR_INFORMATION|RWL_ERROR_RUNTIME|RWL_ERROR_SQLLOGGING) +RWLERROR("executing sql with sql_id=%s:%s%s", RWL_ERROR_INFORMATION|RWL_ERROR_RUNTIME|RWL_ERROR_SQLLOGGING) RWLEDESC("The $sqllogging: directive is used to output all SQL being executed") #define RWL_ERROR_SQL_LOGGING_NOSQLID 307 diff --git a/src/rwlexpreval.c b/src/rwlexpreval.c index 768a08da..c9c2e5da 100644 --- a/src/rwlexpreval.c +++ b/src/rwlexpreval.c @@ -14,6 +14,7 @@ * * History * + * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 27-feb-2024 - winslashf2b functions * bengsig 21-feb-2024 - pclose -> rwlpclose * bengsig 21-feb-2024 - strerror_r -> rwlstrerror @@ -725,10 +726,10 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v xnum.dval = 0.0; xnum.ival = 0; xnum.vtype = RWL_TYPE_STR; - if (sq->sqlidlen) + if (*sq->sqlid) { - if (sq->sqlidlensqlid, sq->sqlidlen+1); + if (RWL_SQL_ID_LENsqlid); else rwlstrnncpy(xbuf, sq->sqlid, RWL_PFBUF); } @@ -1510,6 +1511,9 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v { // clean out local dynamic SQL at start rwl_sql *sq = xev->evar[pa[pp].aguess].vdata; + //sq->sqlid = 0; + //sq->sqlidlen = 0; + //bic(sq->flags, RWL_SQFLAG_GOTID); if (bit(sq->flags, RWL_SQFLAG_DYNAMIC)) rwldynsrelease(xev, loc, sq, vv->pname); } diff --git a/src/rwlsql.c b/src/rwlsql.c index 7bbcbfc9..514584d1 100644 --- a/src/rwlsql.c +++ b/src/rwlsql.c @@ -11,6 +11,7 @@ * * History * + * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 7-mar-2024 - a few lob changes * johnkenn 06-mar-2024 - write lob with offset * bengsig 5-mar-2024 - a/d time for ociping @@ -1104,10 +1105,7 @@ static void rwlexecsql(rwl_xeqenv *xev OCIStmtPrepare2( db->svchp, &stmhp, xev->errhp, sq->sql, sq->sqllen, (text *)0, 0, OCI_NTV_SYNTAX, #ifdef RWL_USE_SQL_ID - // oddly, it causes an extra parse call if we only use - // the OCI_PREP2_GET_SQL_ID flag during the first prepare - //( (!bit(sq->flags, RWL_SQFLAG_GOTID) && rwl122ormore(xev->rwm)) - ( ( rwl122ormore(xev->rwm)) + ( (!bit(sq->flags, RWL_SQFLAG_GOTID) && rwl122ormore(xev->rwm)) ? OCI_PREP2_GET_SQL_ID : 0 ) | @@ -1853,29 +1851,32 @@ static void rwlexecsql(rwl_xeqenv *xev #ifdef RWL_USE_SQL_ID if (!bit(sq->flags, RWL_SQFLAG_GOTID)) { + sq->sqlid[0] = 0; if (rwl122ormore(xev->rwm)) { + text *attrsqlid; + ub4 attrsqlidlen; st = OCIAttrGet(stmhp, OCI_HTYPE_STMT - , &sq->sqlid, &sq->sqlidlen + , &attrsqlid, &attrsqlidlen , OCI_ATTR_SQL_ID, xev->errhp); if (OCI_SUCCESS != st) { rwlexecsevere(xev, cloc, "[rwlexecsql-getsqlid:%d;%s;0x%x;0x%x]", st, sq->vname, sq->flags, db->flags); goto failure; } + rwlstrnncpy(sq->sqlid, attrsqlid, RWL_SQL_ID_LEN+1); } - if (!sq->sqlid) // Happens when connected to pre-12.2 + if (!*sq->sqlid) // Happens when connected to pre-12.2 { - sq->sqlid = (text*) "!sqlid < 12.2"; - sq->sqlidlen = (ub4) rwlstrlen(sq->sqlid); + rwlstrcpy(sq->sqlid, (text*) "!sqlid < 12.2"); } bis(sq->flags, RWL_SQFLAG_GOTID); } if (bit(xev->tflags, RWL_THR_DSQL)) { fprintf(stderr, - ", done sql_id=%.*s, status=%d%s" - , sq->sqlidlen, sq->sqlid, xev->status, xev->rwm->lineend); + ", done sql_id=%s, status=%d%s" + , sq->sqlid, xev->status, xev->rwm->lineend); fflush(stderr); } #else @@ -2623,8 +2624,8 @@ void rwlflushsql2(rwl_xeqenv *xev #ifdef RWL_USE_SQL_ID // oddly, it causes an extra parse call if we only use // the OCI_PREP2_GET_SQL_ID flag during the first prepare - //( (!bit(sq->flags, RWL_SQFLAG_GOTID) && rwl122ormore(xev->rwm)) - ( ( rwl122ormore(xev->rwm)) + ( (!bit(sq->flags, RWL_SQFLAG_GOTID) && rwl122ormore(xev->rwm)) + //( ( rwl122ormore(xev->rwm)) ? OCI_PREP2_GET_SQL_ID : 0 ) | @@ -2845,11 +2846,14 @@ void rwlflushsql2(rwl_xeqenv *xev #ifdef RWL_USE_SQL_ID if (!bit(sq->flags, RWL_SQFLAG_GOTID)) { + sq->sqlid[0] = 0; if (rwl122ormore(xev->rwm)) { + text *attrsqlid; + ub4 attrsqlidlen; sb4 st; st = OCIAttrGet(stmhp, OCI_HTYPE_STMT - , &sq->sqlid, &sq->sqlidlen + , &attrsqlid, &attrsqlidlen , OCI_ATTR_SQL_ID, xev->errhp); if (OCI_SUCCESS != st) { @@ -2857,17 +2861,17 @@ void rwlflushsql2(rwl_xeqenv *xev , st, sq->vname, sq->flags, db->flags); goto failure; } + rwlstrnncpy(sq->sqlid, attrsqlid, RWL_SQL_ID_LEN+1); } - if (!sq->sqlid) // Happens when connected to pre-12.2 + if (!*sq->sqlid) // Happens when connected to pre-12.2 { - sq->sqlid = (text*) "!sqlid < 12.2"; - sq->sqlidlen = (ub4) rwlstrlen(sq->sqlid); + rwlstrcpy(sq->sqlid, (text*) "!sqlid < 12.2"); } bis(sq->flags, RWL_SQFLAG_GOTID); } if (bit(xev->tflags, RWL_THR_DSQL)) { - rwldebugcode(xev->rwm,cloc, ", flush2 sql_id=%.*s%s", sq->sqlidlen, sq->sqlid, xev->rwm->lineend); + rwldebugcode(xev->rwm,cloc, ", flush2 sql_id=%s%s", sq->sqlid, xev->rwm->lineend); } #endif if (bit(xev->rwm->m4flags,RWL_P4_SQLLOGGING)) @@ -5868,9 +5872,9 @@ void rwlsqllogging(rwl_xeqenv *xev return; memcpy(&sloc, cloc, sizeof(rwl_location)); sloc.errlin = sq->sqllino; - if (sq->sqlidlen && sq->sqlid && rwlstrncmp(sq->sqlid,(text *)"0000000000000",sq->sqlidlen)) + if (*sq->sqlid && rwlstrcmp(sq->sqlid,(text *)"0000000000000")) rwlexecerror(xev, &sloc, RWL_ERROR_SQL_LOGGING - , sq->sqlidlen, sq->sqlid, xev->rwm->lineend, sq->sql); + , sq->sqlid, xev->rwm->lineend, sq->sql); else rwlexecerror(xev, &sloc, RWL_ERROR_SQL_LOGGING_NOSQLID, xev->rwm->lineend, sq->sql); if (sq->bincount) diff --git a/test/testres/229.out.good b/test/testres/229.out.good index ca21ef98..9700d3ef 100644 --- a/test/testres/229.out.good +++ b/test/testres/229.out.good @@ -1,6 +1,6 @@ -parses: 1 , executions: 20 +parses: 2 , executions: 20 cc 3 -parses: 10 , executions: 31 +parses: 12 , executions: 31 cc 1 parses/25: 2.00 , executions: 60 parses 2 , executions: 2 From 01792c70c45afe0bf94f58bc645419b32105e711 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 18 Mar 2024 08:42:08 +0000 Subject: [PATCH 004/118] $connecterror:accept directive --- admin/.vim/syntax/rwl.vim | 1 + man/man1rwl/directive.1rwl | 14 +- man/man1rwl/filestatement.1rwl | 5 +- src/lex.rwly.c | 3373 ++++++++++++++++---------------- src/rwl.h | 2 + src/rwlerror.c | 9 + src/rwllexer.l | 6 + src/rwlsql.c | 5 + 8 files changed, 1735 insertions(+), 1680 deletions(-) diff --git a/admin/.vim/syntax/rwl.vim b/admin/.vim/syntax/rwl.vim index ad73b069..548d4081 100644 --- a/admin/.vim/syntax/rwl.vim +++ b/admin/.vim/syntax/rwl.vim @@ -94,6 +94,7 @@ syn region rwlSQL start='\<\ccreate[ \t\n]\+\(or[ \t\n]\+replace[ \t\n]\+\)\?pro syn region rwlSQL start='\<\ccreate[ \t\n]\+\(or[ \t\n]\+replace[ \t\n]\+\)\?package[ \t\n]' end='\(^[ \t]*[/.]$\)' syn region rwlSQL start='\<\ccreate[ \t\n]\+\(or[ \t\n]\+replace[ \t\n]\+\)\?library[ \t\n]' end='\(^[ \t]*[/.]$\)' +syn match rwlDirective '\$connecterror:accept' syn match rwlDirective '\$statistics:basic' syn match rwlDirective '\$statistics:histograms' syn match rwlDirective '\$statistics:all' diff --git a/man/man1rwl/directive.1rwl b/man/man1rwl/directive.1rwl index bb78c511..e4da0be6 100644 --- a/man/man1rwl/directive.1rwl +++ b/man/man1rwl/directive.1rwl @@ -479,6 +479,7 @@ a control loop starts .I after the calculated time. .RE +.P .B $musymbol: .RS 4 When using the \fBm\fR or \fBM\fR conversion specifier in a printf statement, @@ -486,7 +487,7 @@ the \[mc] symbol is by default output as its UTF-8 representation. This directive can be used to set any other text string, including potentially other characters outside the ASCII character set. There is no escape processing, so you must be able to enter the appropriate value -using and editor. +using an editor. .RE .P .B $hostname: @@ -532,6 +533,17 @@ In earlier client versions, the directive is silently ignored. The directive is only available in a start-up file such as ~/.rwloadsim.rwl. .RE .P +.B $connecterror:accept +.RS 4 +By default, errors during connection marks the database as unavailable, such that further +use of it is prevented. +With this directive errors during connection are handled like any other error. +It should +.I not +normally be used as it can have several unwanted side effects including connection storms +and further errors later on. +.RE +.P .B $useroption:name .br .B $userswitch:name diff --git a/man/man1rwl/filestatement.1rwl b/man/man1rwl/filestatement.1rwl index fed623f4..b559e76c 100644 --- a/man/man1rwl/filestatement.1rwl +++ b/man/man1rwl/filestatement.1rwl @@ -118,6 +118,8 @@ and .B printline perform the same although writing to stdout. .P +For more advanced output, use printfstatement(1rwl). +.P .RE .B fflush v @@ -233,4 +235,5 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl .SH "SEE ALSO" variable(1rwl), statement(1rwl), threadexecution(1rwl), -expression(1rwl), readloop(1rwl), compoundstatement(1rwl) +expression(1rwl), readloop(1rwl), compoundstatement(1rwl), +printfstatement(1rwl) diff --git a/src/lex.rwly.c b/src/lex.rwly.c index 3857e753..ac673012 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 347 -#define YY_END_OF_BUFFER 348 +#define YY_NUM_RULES 348 +#define YY_END_OF_BUFFER 349 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -352,24 +352,24 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1904] = +static yyconst flex_int16_t yy_accept[1922] = { 0, - 0, 0, 348, 346, 344, 343, 190, 346, 345, 339, - 182, 217, 346, 183, 184, 180, 178, 185, 179, 346, + 0, 0, 349, 347, 345, 344, 190, 347, 346, 340, + 182, 217, 347, 183, 184, 180, 178, 185, 179, 347, 181, 47, 192, 235, 188, 186, 189, 191, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 346, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 347, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 216, 218, 344, - 200, 0, 43, 0, 345, 340, 233, 232, 234, 340, - 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, - 340, 340, 340, 340, 340, 340, 340, 219, 0, 42, + 231, 231, 231, 231, 231, 231, 231, 216, 218, 345, + 200, 0, 43, 0, 346, 341, 233, 232, 234, 341, + 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, + 341, 341, 341, 341, 341, 341, 341, 219, 0, 42, 0, 222, 221, 203, 40, 225, 173, 41, 220, 223, 46, 47, 0, 202, 0, 197, 201, 0, 187, 198, 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 341, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 342, 0, 231, 231, 231, 231, 231, 89, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, @@ -382,188 +382,190 @@ static yyconst flex_int16_t yy_accept[1904] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 46, 0, 0, 44, 224, - 206, 199, 205, 231, 231, 231, 231, 231, 231, 231, + 0, 0, 0, 0, 0, 48, 46, 0, 0, 44, + 224, 206, 199, 205, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 342, 231, 231, 231, 170, 194, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 122, + 231, 231, 231, 343, 231, 231, 231, 170, 194, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 102, 231, 231, 231, 231, 231, 112, 231, 231, 231, - 169, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 111, 231, 231, 231, 231, 231, - 231, 231, 231, 193, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 56, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 95, 231, 231, 231, 231, 121, - 231, 73, 231, 231, 231, 231, 231, 175, 231, 231, + 122, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 102, 231, 231, 231, 231, 231, 112, 231, 231, + 231, 169, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 111, 231, 231, 231, 231, + 231, 231, 231, 231, 193, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 56, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 95, 231, 231, 231, 231, + 121, 231, 73, 231, 231, 231, 231, 231, 175, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 207, 0, 0, 0, 0, 0, 0, 0, 0, + 231, 231, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 45, 231, 231, 231, 231, - 231, 231, 38, 231, 231, 231, 231, 231, 37, 231, + 0, 0, 0, 0, 0, 0, 0, 45, 231, 231, + 231, 231, 231, 231, 38, 231, 231, 231, 231, 231, + 37, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 0, 231, 231, 33, 231, 231, 231, + 231, 231, 231, 96, 55, 231, 230, 113, 54, 231, + + 231, 231, 231, 231, 59, 231, 231, 231, 231, 231, + 106, 161, 231, 231, 231, 231, 231, 51, 231, 146, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 0, 231, 231, 33, 231, 231, 231, 231, 231, - 231, 96, 55, 231, 230, 113, 54, 231, 231, 231, - - 231, 231, 59, 231, 231, 231, 231, 231, 106, 161, - 231, 231, 231, 231, 231, 51, 231, 146, 231, 231, + 231, 231, 70, 231, 231, 168, 231, 231, 231, 231, + 231, 231, 231, 174, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 70, 231, 231, 168, 231, 231, 231, 231, 231, 231, - 231, 174, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 120, - 231, 231, 101, 231, 231, 231, 231, 160, 231, 231, - 231, 231, 231, 164, 159, 231, 231, 231, 0, 0, - 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, + 231, 120, 231, 231, 101, 231, 231, 231, 231, 160, + 231, 231, 231, 231, 231, 164, 159, 231, 231, 231, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, - 0, 0, 0, 0, 0, 0, 243, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 242, 0, 0, 231, 36, 231, 231, 21, - 34, 231, 231, 231, 231, 231, 231, 231, 20, 231, - 0, 31, 231, 24, 231, 231, 231, 231, 0, 0, - 0, 231, 231, 71, 231, 231, 145, 215, 231, 231, - 60, 231, 231, 100, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 167, 231, 231, 115, 231, - 231, 136, 231, 231, 231, 231, 231, 123, 231, 231, - - 231, 231, 231, 226, 57, 231, 231, 231, 231, 231, - 63, 231, 231, 155, 231, 231, 231, 231, 165, 231, - 231, 231, 150, 231, 231, 231, 231, 231, 116, 231, - 231, 231, 231, 171, 231, 231, 99, 231, 231, 231, - 231, 231, 231, 231, 114, 231, 231, 231, 163, 231, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 242, 0, 0, 231, 36, + 231, 231, 21, 34, 231, 231, 231, 231, 231, 231, + 231, 20, 231, 0, 31, 231, 24, 231, 231, 231, + 231, 0, 0, 0, 231, 231, 71, 231, 231, 145, + 215, 231, 231, 60, 231, 231, 100, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 167, 231, + 231, 115, 231, 231, 136, 231, 231, 231, 231, 231, + + 123, 231, 231, 231, 231, 231, 226, 57, 231, 231, + 231, 231, 231, 63, 231, 231, 155, 231, 231, 231, + 231, 165, 231, 231, 231, 150, 231, 231, 231, 231, + 231, 116, 231, 231, 231, 231, 171, 231, 231, 99, + 231, 231, 231, 231, 231, 231, 231, 114, 231, 231, + 231, 163, 231, 147, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 231, 231, 231, 231, 19, 231, 32, 231, 231, 231, - 30, 0, 231, 25, 26, 231, 28, 0, 0, 0, - 231, 29, 135, 231, 231, 231, 86, 231, 231, 231, - 69, 231, 231, 98, 141, 162, 68, 231, 131, 231, - 154, 231, 231, 137, 128, 231, 93, 231, 231, 124, - 231, 176, 127, 231, 72, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 65, 231, 231, 231, 231, 58, - 231, 144, 231, 231, 231, 231, 231, 231, 231, 231, - 50, 231, 231, 231, 231, 231, 231, 211, 231, 231, - 143, 125, 229, 129, 231, 231, 231, 231, 231, 231, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, + 0, 0, 0, 0, 231, 231, 231, 231, 19, 231, + 32, 231, 231, 231, 30, 0, 231, 25, 26, 231, + 28, 0, 0, 0, 231, 29, 135, 231, 231, 231, + 86, 231, 231, 231, 69, 231, 231, 98, 141, 162, + 68, 231, 131, 231, 154, 231, 231, 137, 128, 231, + 93, 231, 231, 124, 231, 176, 127, 231, 72, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 65, 231, + 231, 231, 231, 58, 231, 144, 231, 231, 231, 231, + 231, 231, 231, 231, 50, 231, 231, 231, 231, 231, + 231, 211, 231, 231, 143, 125, 229, 129, 231, 231, + + 231, 231, 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 231, 23, 231, 231, 0, 35, 231, 231, - 231, 0, 22, 231, 0, 0, 0, 231, 231, 195, - 97, 77, 231, 231, 231, 88, 231, 132, 133, 134, - 172, 67, 231, 231, 231, 231, 142, 130, 231, 231, - 231, 231, 166, 231, 231, 85, 231, 231, 231, 231, - - 94, 231, 231, 231, 52, 231, 231, 231, 83, 231, - 90, 231, 231, 231, 231, 231, 66, 231, 231, 126, - 92, 109, 231, 231, 231, 231, 231, 0, 0, 0, + 0, 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 314, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 231, 23, 231, + 231, 0, 35, 231, 231, 231, 0, 22, 231, 0, + 0, 0, 231, 231, 195, 97, 77, 231, 231, 231, + 88, 231, 132, 133, 134, 172, 67, 231, 231, 231, + 231, 142, 130, 231, 231, 231, 231, 166, 231, 231, + + 85, 231, 231, 231, 231, 94, 231, 231, 231, 52, + 231, 231, 231, 83, 231, 90, 231, 231, 231, 231, + 231, 66, 231, 231, 126, 92, 109, 231, 231, 231, + 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 231, 231, 0, 0, 0, 0, 0, 0, 0, 231, - 0, 231, 0, 231, 0, 10, 0, 39, 231, 231, - - 231, 80, 231, 231, 49, 231, 231, 231, 231, 227, - 231, 231, 231, 231, 231, 79, 231, 157, 231, 231, - 149, 231, 231, 151, 231, 87, 231, 231, 231, 84, - 231, 231, 61, 78, 231, 231, 53, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 231, 231, 0, 0, + 0, 0, 0, 0, 0, 231, 0, 231, 0, 231, + + 0, 10, 0, 39, 231, 231, 231, 80, 231, 231, + 49, 231, 231, 231, 231, 227, 231, 231, 231, 231, + 231, 79, 231, 157, 231, 231, 149, 231, 231, 151, + 231, 87, 231, 231, 231, 84, 231, 231, 61, 78, + 231, 231, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, + 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 262, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, - 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 231, 0, 231, 0, 27, 0, 0, 231, 231, 231, - 107, 231, 140, 231, 231, 231, 231, 231, 231, 231, - 231, 156, 91, 231, 108, 231, 152, 231, 231, 231, - 231, 82, 231, 231, 148, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 322, 0, 0, 0, - 0, 0, 0, 0, 0, 320, 0, 0, 0, 0, - 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 231, 0, 4, - 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, - - 0, 8, 0, 0, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 138, - 231, 231, 117, 231, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 323, 322, 321, 0, 0, 0, - 0, 0, 0, 275, 320, 0, 0, 0, 0, 0, - 0, 273, 0, 0, 272, 0, 0, 318, 317, 0, - 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 324, 324, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 231, 231, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 231, 0, 231, + 0, 27, 0, 0, 231, 231, 231, 107, 231, 140, + 231, 231, 231, 231, 231, 231, 231, 231, 156, 91, + 231, 108, 231, 152, 231, 231, 231, 231, 82, 231, + 231, 148, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 323, 0, 0, 0, 0, 0, + 0, 0, 0, 321, 0, 0, 0, 0, 319, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 0, 0, 12, 231, 0, 0, + 0, 0, 0, 0, 0, 231, 0, 4, 0, 0, - 0, 0, 0, 231, 231, 231, 75, 231, 62, 74, - 64, 231, 231, 231, 231, 231, 231, 231, 81, 231, - 103, 231, 208, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 323, 321, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 231, 0, 0, 8, + 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 138, 231, 231, + 117, 231, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 324, 323, 322, 0, 0, 0, 0, + 0, 0, 275, 321, 0, 0, 0, 0, 0, 0, + 273, 0, 0, 272, 0, 0, 319, 318, 0, 331, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 325, 325, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, + + 0, 0, 0, 0, 0, 12, 231, 0, 0, 0, + 0, 0, 231, 231, 231, 75, 231, 62, 74, 64, + 231, 231, 231, 231, 231, 231, 231, 81, 231, 103, + 231, 208, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 324, 322, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, 0, 0, 0, 0, 272, - 0, 0, 317, 316, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 324, 0, 0, 0, 0, 0, + 0, 0, 318, 317, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 231, 5, 0, 0, 0, 0, 231, 231, 231, + 0, 231, 5, 0, 0, 0, 0, 231, 231, 231, 139, 228, 231, 110, 119, 231, 231, 153, 231, 231, - 209, 315, 0, 252, 264, 265, 0, 326, 0, 0, - 0, 0, 313, 0, 0, 0, 0, 254, 0, 0, - 0, 0, 0, 0, 0, 289, 236, 316, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 325, 319, 0, 0, 0, 249, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, - 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 231, 231, 231, 76, 231, 231, - 210, 231, 315, 253, 0, 327, 0, 0, 0, 309, - - 0, 313, 0, 0, 0, 255, 0, 0, 286, 288, - 0, 0, 0, 236, 0, 0, 258, 261, 0, 0, - 266, 0, 0, 0, 270, 0, 0, 325, 319, 0, - 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 238, 0, 239, 0, 0, - 0, 0, 17, 0, 16, 0, 18, 0, 0, 0, - 9, 0, 231, 231, 104, 231, 231, 118, 0, 283, - 327, 0, 303, 0, 310, 0, 0, 0, 274, 0, - 276, 0, 0, 0, 0, 237, 259, 0, 0, 0, - 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 335, 0, 328, 248, 0, 0, 0, 0, 307, 0, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, - 7, 11, 231, 105, 231, 231, 284, 0, 304, 0, - 299, 0, 0, 0, 277, 0, 287, 0, 0, 237, - 282, 0, 0, 0, 0, 0, 0, 0, 0, 250, - 0, 297, 0, 0, 0, 0, 329, 0, 0, 0, - 305, 308, 0, 0, 0, 238, 0, 0, 239, 0, - 0, 0, 0, 15, 0, 0, 231, 212, 231, 285, - 300, 0, 301, 0, 0, 0, 0, 0, 282, 0, - 278, 0, 0, 269, 0, 0, 0, 292, 0, 298, - - 0, 0, 0, 0, 329, 246, 0, 306, 0, 0, - 0, 0, 0, 0, 0, 231, 214, 285, 302, 0, - 0, 0, 338, 0, 291, 0, 279, 267, 271, 0, - 0, 0, 293, 0, 0, 0, 331, 332, 0, 0, - 0, 0, 0, 0, 0, 6, 213, 281, 0, 290, - 0, 294, 0, 0, 0, 0, 0, 333, 0, 0, - 0, 0, 0, 0, 0, 281, 0, 295, 0, 0, - 311, 0, 0, 0, 337, 336, 0, 2, 0, 280, - 296, 312, 0, 0, 334, 0, 0, 337, 336, 0, - 0, 280, 0, 256, 247, 0, 0, 257, 0, 3, - - 0, 1, 0 + 209, 316, 0, 252, 264, 265, 0, 327, 0, 0, + 0, 0, 0, 314, 0, 0, 0, 0, 254, 0, + 0, 0, 0, 0, 0, 0, 289, 236, 317, 0, + 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 326, 320, 0, 0, 0, 249, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 231, 231, 231, 76, 231, + + 231, 210, 231, 316, 253, 0, 328, 0, 0, 0, + 0, 310, 0, 314, 0, 0, 0, 255, 0, 0, + 286, 288, 0, 0, 0, 236, 0, 0, 258, 261, + 0, 0, 266, 0, 0, 0, 270, 0, 0, 326, + 320, 0, 0, 251, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 238, 0, 239, + 0, 0, 0, 0, 17, 0, 16, 0, 18, 0, + 0, 0, 9, 0, 231, 231, 104, 231, 231, 118, + 0, 283, 328, 0, 0, 303, 0, 311, 0, 0, + 0, 274, 0, 276, 0, 0, 0, 0, 237, 259, + + 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 336, 0, 329, 248, 0, 0, 0, + 0, 307, 0, 0, 0, 0, 0, 0, 14, 0, + 0, 0, 0, 7, 11, 231, 105, 231, 231, 284, + 0, 0, 304, 0, 299, 0, 0, 0, 277, 0, + 287, 0, 0, 237, 282, 0, 0, 0, 0, 0, + 0, 0, 0, 250, 0, 297, 0, 0, 0, 0, + 330, 0, 0, 0, 305, 308, 0, 0, 0, 238, + 0, 0, 239, 0, 0, 0, 0, 15, 0, 0, + 231, 212, 231, 285, 0, 300, 0, 301, 0, 0, + + 0, 0, 0, 282, 0, 278, 0, 0, 269, 0, + 0, 0, 292, 0, 298, 0, 0, 0, 0, 330, + 246, 0, 306, 0, 0, 0, 0, 0, 0, 0, + 231, 214, 285, 0, 302, 0, 0, 0, 339, 0, + 291, 0, 279, 267, 271, 0, 0, 0, 293, 0, + 0, 0, 332, 333, 0, 0, 0, 0, 0, 0, + 0, 6, 213, 0, 281, 0, 290, 0, 294, 0, + 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, + 0, 0, 309, 281, 0, 295, 0, 0, 312, 0, + 0, 0, 338, 337, 0, 2, 0, 280, 296, 313, + + 0, 0, 335, 0, 0, 338, 337, 0, 0, 280, + 0, 256, 247, 0, 0, 257, 0, 3, 0, 1, + 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -611,443 +613,445 @@ static yyconst YY_CHAR yy_meta[88] = 21, 21, 22, 21, 21, 1, 1 } ; -static yyconst flex_uint16_t yy_base[1942] = +static yyconst flex_uint16_t yy_base[1960] = { 0, - 0, 0, 3356, 3357, 86, 3357, 3326, 83, 0, 141, - 3357, 3344, 80, 3357, 3357, 3324, 77, 3357, 76, 3334, - 80, 211, 3322, 3357, 209, 3321, 211, 3357, 207, 59, + 0, 0, 3374, 3375, 86, 3375, 3344, 83, 0, 141, + 3375, 3362, 80, 3375, 3375, 3342, 77, 3375, 76, 3352, + 80, 211, 3340, 3375, 209, 3339, 211, 3375, 207, 59, 66, 67, 41, 54, 51, 0, 56, 56, 68, 62, 59, 81, 212, 181, 196, 205, 110, 263, 213, 273, - 243, 283, 302, 250, 3285, 223, 200, 295, 220, 192, - 252, 3268, 319, 336, 313, 314, 346, 3261, 3357, 116, - 3357, 333, 3357, 0, 0, 3357, 3357, 404, 0, 50, - 3278, 56, 287, 359, 3277, 3270, 188, 3269, 305, 195, - 307, 3265, 3261, 314, 331, 251, 3262, 3357, 251, 3357, - - 3336, 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3357, - 421, 429, 446, 3357, 3309, 3357, 3357, 3308, 3357, 3357, - 3307, 3306, 0, 221, 251, 303, 331, 359, 367, 391, - 404, 419, 430, 406, 412, 412, 428, 440, 424, 441, - 428, 446, 430, 436, 427, 439, 439, 459, 444, 3357, - 3331, 3259, 359, 445, 465, 3255, 3271, 460, 3257, 3255, - 3264, 456, 3259, 3252, 460, 3248, 3245, 486, 3243, 468, - 3244, 335, 3247, 3249, 3255, 488, 3247, 3246, 481, 3239, - 3238, 3241, 3241, 3233, 3237, 3227, 0, 3236, 465, 3235, - 328, 503, 3244, 3227, 3234, 513, 3233, 278, 3239, 0, - - 3224, 479, 497, 3237, 37, 533, 337, 3227, 545, 494, - 3226, 3221, 489, 507, 489, 3229, 3218, 495, 518, 443, - 3231, 3226, 512, 528, 3225, 3263, 605, 0, 3209, 3215, - 3216, 3214, 3214, 3221, 3224, 3210, 3205, 3221, 3218, 3203, - 3215, 3207, 3199, 574, 3201, 3213, 3201, 3190, 524, 3200, - 3209, 3193, 3209, 3204, 3203, 3193, 375, 539, 3205, 3193, - 3203, 3198, 3193, 3196, 3357, 611, 629, 617, 635, 3357, - 3357, 3357, 3357, 545, 551, 600, 599, 621, 622, 620, - 620, 633, 623, 631, 636, 622, 627, 622, 629, 640, - 635, 640, 627, 642, 649, 636, 647, 648, 617, 640, - - 654, 648, 3357, 3182, 3194, 3189, 0, 0, 3196, 3182, - 3172, 3190, 3191, 3191, 3186, 3178, 3187, 644, 3174, 0, - 3173, 3167, 639, 658, 3176, 537, 3182, 3167, 3177, 3166, - 0, 3177, 3178, 3160, 3174, 3156, 674, 3154, 3169, 3158, - 0, 3163, 3168, 3157, 654, 3167, 3167, 3152, 683, 3161, - 3144, 3153, 3156, 3146, 0, 3145, 3151, 3154, 3143, 3136, - 3135, 3142, 3134, 0, 3141, 3136, 3150, 3136, 3130, 647, - 3145, 3135, 57, 3142, 0, 3141, 3129, 3138, 3137, 3120, - 3119, 3118, 3126, 3123, 3117, 3113, 3115, 3115, 3126, 0, - 3122, 3130, 3109, 531, 3112, 3118, 3107, 0, 3105, 3104, - - 3109, 3117, 676, 3115, 3111, 3101, 3098, 3103, 3104, 3096, - 3094, 3357, 3112, 3107, 3107, 3107, 3097, 3107, 3086, 3088, - 3100, 3099, 3094, 3087, 3087, 3095, 3079, 3149, 504, 714, - 715, 3085, 3084, 3088, 662, 3069, 3088, 3087, 3086, 3071, - 705, 3125, 3067, 3083, 3082, 3070, 3065, 3082, 3063, 3069, - 657, 3066, 3072, 3060, 730, 736, 690, 688, 682, 705, - 689, 697, 0, 707, 693, 714, 697, 723, 0, 743, - 738, 727, 730, 778, 747, 749, 749, 742, 745, 741, - 755, 791, 756, 740, 0, 3057, 3057, 3053, 3049, 3110, - 3067, 3056, 0, 3059, 0, 0, 0, 760, 3064, 3048, - - 3052, 3064, 0, 3061, 3061, 3042, 3048, 3049, 0, 3051, - 3055, 3050, 3043, 3031, 3034, 0, 3035, 0, 3035, 3038, - 3031, 3049, 3035, 3027, 3046, 3042, 3027, 3026, 3036, 3030, - 0, 3021, 3022, 0, 3033, 3014, 3035, 3018, 3030, 3033, - 3032, 0, 3023, 3019, 3011, 3006, 3008, 3026, 3021, 3016, - 2999, 3018, 3007, 3009, 3006, 2995, 3017, 3012, 3004, 2997, - 3012, 3009, 3007, 3006, 3001, 3005, 2988, 2993, 2997, 0, - 2985, 734, 0, 2990, 2983, 2999, 2996, 0, 2999, 765, - 2984, 2991, 2983, 0, 0, 2991, 2983, 2989, 2968, 2974, - 2976, 2979, 744, 2980, 2981, 2974, 3357, 2982, 2979, 2966, - - 2963, 2970, 2967, 756, 812, 821, 3031, 789, 2970, 2957, - 2962, 2961, 2971, 2959, 2960, 3005, 2966, 2969, 2949, 3006, - 2949, 3004, 2960, 2945, 2961, 2948, 2952, 2957, 2951, 2943, - 2937, 763, 3357, 2941, 769, 764, 0, 752, 790, 0, - 0, 789, 799, 789, 808, 795, 806, 816, 0, 799, - 852, 0, 811, 0, 816, 821, 813, 809, 818, 819, - 818, 837, 835, 0, 2936, 2949, 0, 0, 2948, 2931, - 0, 2931, 2947, 0, 2931, 2947, 2942, 2945, 2933, 2939, - 2938, 2936, 2936, 2921, 2932, 0, 2918, 2929, 0, 2916, - 2926, 2971, 2911, 2913, 2919, 2925, 2912, 2893, 2868, 2840, - - 2843, 2845, 2818, 809, 0, 2799, 2775, 2762, 2753, 2738, - 0, 2746, 2723, 825, 2717, 2730, 2718, 2706, 0, 2704, - 808, 2699, 820, 2693, 2692, 2690, 2693, 2705, 0, 2702, - 2680, 2682, 2685, 0, 2675, 2690, 0, 2680, 2672, 2683, - 2671, 2680, 2668, 2666, 849, 2644, 2647, 2659, 0, 2658, - 2644, 2636, 2635, 824, 2609, 2619, 2618, 2600, 2600, 2605, - 2599, 2612, 2608, 3357, 828, 2563, 2567, 2574, 875, 886, - 894, 2567, 2564, 2551, 2562, 2559, 2559, 2559, 894, 2536, - 2555, 2555, 2588, 2525, 2536, 879, 2536, 2518, 2524, 2519, - 2513, 2529, 2524, 2509, 2508, 508, 2512, 2500, 2488, 2445, - - 851, 872, 878, 861, 918, 887, 0, 878, 882, 896, - 0, 898, 881, 0, 0, 893, 0, 889, 892, 905, - 890, 0, 0, 2428, 2432, 2425, 0, 2418, 2429, 2412, - 0, 2410, 2408, 0, 0, 0, 0, 2422, 904, 2415, - 0, 2408, 2398, 0, 0, 2411, 0, 2402, 2394, 0, - 2380, 0, 2395, 2370, 0, 2349, 2335, 2324, 2333, 2307, - 2315, 2316, 2261, 2235, 0, 2242, 2249, 2244, 2227, 0, - 2232, 0, 2232, 2243, 2239, 2219, 2220, 2235, 2219, 2219, - 0, 2234, 2213, 2188, 2191, 2199, 2189, 0, 2184, 2164, - 0, 190, 0, 0, 178, 214, 227, 244, 245, 874, - - 277, 359, 466, 457, 515, 653, 667, 723, 740, 753, - 884, 832, 880, 881, 878, 873, 877, 887, 956, 958, - 959, 900, 906, 892, 908, 900, 915, 902, 957, 908, - 910, 907, 966, 914, 921, 916, 910, 928, 928, 930, - 922, 928, 923, 932, 935, 921, 926, 941, 929, 933, - 926, 938, 956, 0, 957, 1007, 1037, 0, 980, 1013, - 984, 986, 0, 975, 971, 987, 979, 989, 948, 0, - 0, 945, 966, 963, 964, 0, 968, 0, 0, 0, - 0, 0, 958, 966, 965, 957, 0, 0, 973, 964, - 973, 968, 0, 990, 976, 0, 977, 993, 984, 981, - - 0, 982, 981, 997, 0, 1000, 984, 1003, 0, 993, - 0, 996, 994, 1004, 994, 986, 0, 994, 1004, 0, - 0, 0, 1010, 1011, 1009, 1004, 1018, 1001, 1009, 1007, - 1013, 1027, 1025, 1027, 1023, 1013, 1016, 1029, 1069, 1070, - 1034, 1019, 1027, 1021, 1037, 1039, 1096, 1097, 1099, 1030, - 1084, 1045, 1088, 1036, 1046, 1047, 1106, 1059, 1043, 1053, - 1099, 1046, 1061, 1068, 1070, 1072, 1071, 1075, 1063, 1065, - 1067, 1074, 1081, 1076, 1070, 1067, 1075, 1073, 1081, 1071, - 1115, 1116, 1151, 1104, 1125, 1118, 1110, 1128, 1112, 1122, - 1161, 1124, 1124, 1120, 1121, 3357, 1123, 0, 1091, 1100, - - 1113, 0, 1113, 1104, 0, 1117, 1110, 1106, 1112, 0, - 1128, 1131, 1125, 1123, 1135, 0, 1140, 0, 1142, 1139, - 0, 1130, 1133, 1145, 1152, 0, 1150, 1143, 1141, 0, - 1146, 1155, 0, 0, 1153, 1155, 0, 1141, 1158, 1158, - 1163, 1147, 1149, 1156, 1155, 1165, 1166, 1205, 0, 1223, - 1170, 1174, 1171, 1169, 1165, 1213, 1232, 1233, 1217, 1238, - 1171, 1227, 1227, 1176, 1229, 1183, 1178, 1180, 1234, 1235, - 1198, 1198, 3357, 1187, 1239, 1203, 1189, 1195, 1197, 1190, - 1199, 1199, 1212, 1196, 1208, 1213, 1252, 1205, 1218, 1232, - 1280, 1240, 1241, 1234, 1255, 1287, 1258, 1247, 1254, 1248, - - 1264, 1254, 1296, 1265, 0, 1253, 1271, 1226, 1232, 1239, - 0, 1234, 0, 1248, 1236, 1249, 1252, 1257, 1255, 1251, - 1252, 0, 0, 1262, 0, 1268, 0, 1255, 1255, 1270, - 1261, 0, 1258, 1315, 0, 1274, 1313, 1261, 1269, 1263, - 1283, 1276, 1279, 1275, 1269, 0, 0, 1330, 1277, 1276, - 1289, 1332, 1294, 1300, 0, 1354, 1310, 1357, 1334, 1292, - 1365, 1378, 1340, 0, 1304, 1342, 1290, 1329, 1332, 1310, - 3357, 1298, 1363, 1316, 1374, 1322, 1378, 1342, 1342, 1338, - 1334, 1345, 1342, 1337, 1412, 1346, 1353, 1427, 1436, 3357, - 1387, 1391, 1375, 1439, 1384, 1393, 1394, 1397, 1384, 1404, - - 1442, 3357, 1415, 1414, 1382, 1391, 1392, 1394, 1387, 1382, - 1395, 1387, 1405, 1394, 1407, 1397, 1403, 1410, 1403, 0, - 1414, 1407, 1405, 1419, 1455, 1408, 1457, 1420, 1459, 1416, - 1416, 1464, 1423, 1466, 0, 0, 0, 1423, 1431, 1425, - 1423, 1414, 1427, 0, 1515, 1432, 1437, 1438, 1429, 1439, - 1501, 3357, 1514, 1483, 3357, 1515, 1482, 1504, 1526, 1532, - 0, 1483, 1436, 1443, 1438, 1436, 1445, 1446, 1451, 1453, - 1453, 1479, 1488, 1534, 1541, 1492, 1490, 1488, 1540, 1505, - 1543, 1500, 1510, 1498, 1570, 1551, 1553, 1578, 1533, 1534, - 3357, 1555, 1552, 1558, 1555, 1555, 3357, 1558, 1551, 1565, - - 1567, 1561, 1551, 1518, 1529, 1529, 0, 1526, 0, 0, - 0, 1541, 1539, 1535, 1530, 1547, 1548, 1532, 0, 1536, - 0, 1544, 1562, 1611, 1572, 1618, 1600, 1629, 1614, 1577, - 1568, 1570, 1635, 0, 0, 1584, 1569, 1621, 1596, 1636, - 1599, 0, 1591, 1586, 1601, 1603, 1586, 1605, 1641, 1642, - 1671, 0, 1655, 1661, 1599, 1622, 1626, 1616, 1616, 1618, - 1630, 1619, 1616, 1628, 1642, 0, 1682, 1687, 1650, 1645, - 1647, 1633, 1654, 1635, 1655, 1653, 1694, 1637, 1717, 3357, - 0, 0, 0, 1688, 1694, 1687, 1681, 1684, 1695, 1699, - 1699, 1734, 3357, 1688, 1707, 1696, 1702, 1670, 1684, 1671, - - 0, 0, 1682, 0, 0, 1673, 1688, 0, 1685, 1679, - 0, 1756, 1686, 3357, 3357, 3357, 1679, 1764, 1682, 1731, - 1699, 1696, 1770, 1688, 1682, 1697, 1708, 3357, 1700, 1757, - 1733, 1730, 1730, 1724, 1736, 3357, 1772, 1782, 1743, 1744, - 3357, 1732, 1732, 1737, 1734, 1741, 1741, 1742, 1750, 1747, - 0, 1800, 1801, 1754, 1763, 3357, 1751, 1804, 1756, 1764, - 1768, 1755, 1809, 1765, 1777, 1770, 1813, 1766, 1815, 1816, - 1817, 1788, 1794, 1800, 1791, 1805, 1813, 1798, 1802, 1850, - 1823, 1813, 1806, 1812, 1797, 1782, 1790, 0, 1782, 1784, - 0, 1780, 1845, 3357, 1815, 1869, 1822, 1797, 1816, 3357, - - 1856, 1881, 1819, 1837, 1825, 3357, 1834, 1888, 3357, 3357, - 1841, 1853, 1839, 1888, 0, 1853, 3357, 3357, 1893, 1852, - 3357, 1853, 1843, 1843, 3357, 1858, 1857, 0, 1909, 1900, - 1853, 3357, 1871, 1862, 1862, 1867, 1874, 1877, 1921, 1876, - 1870, 1871, 1876, 1886, 1889, 1927, 1948, 1929, 1950, 1958, - 1917, 1913, 3357, 1931, 3357, 1915, 3357, 1914, 1934, 1932, - 3357, 1924, 1896, 1893, 0, 1899, 1905, 0, 1909, 1949, - 1956, 1917, 3357, 1925, 3357, 1909, 1924, 1910, 3357, 1923, - 3357, 1979, 1925, 1934, 1944, 0, 3357, 1987, 1940, 1941, - 3357, 1942, 1943, 1944, 1944, 1960, 1941, 1956, 1958, 1959, - - 3357, 1960, 2015, 3357, 1957, 1947, 1976, 1962, 3357, 1964, - 1970, 2025, 2026, 2041, 1992, 3357, 2012, 2011, 2016, 2018, - 3357, 3357, 1971, 0, 1973, 1979, 3357, 0, 3357, 1989, - 3357, 1990, 1972, 1980, 3357, 2052, 3357, 1981, 2000, 0, - 2044, 2006, 1982, 1992, 1994, 2051, 2014, 2016, 2005, 3357, - 2021, 3357, 2014, 2062, 2013, 2011, 2072, 2036, 2025, 2035, - 3357, 3357, 2035, 2039, 2097, 3357, 0, 2098, 3357, 0, - 2073, 2055, 2071, 3357, 2057, 2059, 2037, 0, 2038, 0, - 3357, 2047, 3357, 2088, 2055, 2110, 2053, 2040, 2099, 2060, - 3357, 2062, 2063, 3357, 2056, 2102, 2064, 3357, 2060, 3357, - - 2069, 2133, 2063, 2062, 2122, 3357, 2082, 3357, 2072, 2082, - 2106, 2112, 2155, 2113, 2118, 2081, 0, 0, 3357, 2141, - 2083, 2163, 3357, 2167, 3357, 2107, 3357, 3357, 3357, 2110, - 2112, 2099, 3357, 2113, 2150, 2171, 3357, 3357, 2101, 2120, - 2125, 2154, 2153, 2187, 2138, 3357, 0, 2178, 2166, 3357, - 2128, 3357, 2117, 2131, 2179, 2200, 2201, 3357, 2205, 2149, - 2146, 2138, 2174, 2163, 2166, 2226, 2247, 3357, 2145, 2154, - 3357, 2146, 2216, 2151, 2147, 2148, 2191, 3357, 2192, 2255, - 3357, 3357, 2166, 2230, 3357, 2254, 2159, 3357, 3357, 2209, - 2227, 2270, 2177, 3357, 3357, 2237, 2233, 3357, 2240, 3357, - - 2235, 3357, 3357, 2314, 2336, 2358, 2373, 2388, 2410, 2432, - 2447, 2462, 2480, 2495, 2517, 2539, 2561, 2576, 2591, 2610, - 2625, 2647, 2662, 2684, 2689, 2704, 2712, 2723, 2740, 2755, - 2769, 2786, 2808, 2830, 2852, 2874, 2885, 2900, 2922, 2944, - 2966 + 243, 283, 302, 250, 3303, 223, 200, 295, 220, 192, + 252, 3286, 319, 336, 313, 314, 346, 3279, 3375, 116, + 3375, 333, 3375, 0, 0, 3375, 3375, 404, 0, 50, + 3296, 275, 320, 359, 3295, 3288, 188, 3287, 268, 59, + 301, 3283, 3279, 73, 331, 188, 3280, 3375, 251, 3375, + + 3354, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, + 421, 429, 446, 3375, 3327, 3375, 3375, 3326, 3375, 3375, + 3325, 3324, 0, 219, 251, 291, 285, 359, 367, 366, + 390, 412, 421, 406, 412, 412, 428, 440, 423, 440, + 426, 445, 429, 436, 426, 439, 428, 456, 443, 3375, + 3349, 3277, 295, 444, 464, 3273, 3289, 459, 3275, 3273, + 3282, 455, 3277, 3270, 467, 3266, 3263, 486, 3261, 468, + 3262, 335, 3265, 3267, 3273, 488, 3265, 3264, 472, 3257, + 3256, 3259, 3259, 3251, 3255, 3245, 0, 3254, 481, 3253, + 328, 500, 3262, 3245, 3252, 505, 3251, 340, 3257, 0, + + 3242, 476, 492, 3255, 439, 525, 484, 3245, 537, 468, + 3244, 3239, 500, 361, 482, 3247, 3236, 509, 520, 490, + 3249, 3244, 511, 538, 3243, 3281, 598, 0, 3227, 3233, + 3234, 3232, 3232, 3231, 3238, 3241, 3227, 3222, 3238, 3235, + 3220, 3232, 3224, 3216, 568, 3218, 3230, 3218, 3207, 514, + 3217, 3226, 3210, 3226, 3221, 3220, 3210, 256, 531, 3222, + 3210, 3220, 3215, 3210, 3213, 3375, 604, 624, 610, 630, + 3375, 3375, 3375, 3375, 596, 601, 595, 597, 616, 617, + 615, 615, 628, 618, 626, 631, 620, 626, 620, 627, + 637, 632, 637, 624, 639, 646, 633, 644, 645, 690, + + 637, 651, 657, 3375, 3199, 3211, 3206, 0, 0, 3213, + 3199, 3189, 3207, 3208, 3208, 3203, 3195, 3204, 655, 3191, + 0, 3190, 3184, 535, 669, 3193, 537, 3199, 3184, 3194, + 3183, 0, 3194, 3195, 3177, 3191, 3173, 670, 3171, 3186, + 3175, 0, 3180, 3185, 3174, 651, 3184, 3184, 3169, 678, + 3178, 3161, 3170, 3173, 3163, 0, 3162, 3168, 3171, 3160, + 3153, 3152, 3159, 3151, 0, 3158, 3153, 3167, 3153, 3147, + 644, 3162, 3152, 436, 3159, 0, 3158, 3146, 3155, 3154, + 3137, 3136, 3135, 3143, 3140, 3134, 3130, 3132, 3132, 3143, + 0, 3139, 3147, 3126, 639, 3129, 3135, 3124, 0, 3122, + + 3121, 3126, 3134, 674, 3132, 3128, 3118, 3115, 3120, 3121, + 3113, 3111, 3375, 3129, 3124, 3124, 3124, 3112, 3113, 3123, + 3102, 3104, 3116, 3115, 3110, 3103, 3103, 3111, 3095, 3165, + 712, 718, 713, 3101, 3100, 3104, 661, 3085, 3104, 3103, + 3102, 3087, 702, 3141, 3083, 3099, 3098, 3086, 3081, 3098, + 3079, 3085, 654, 3082, 3088, 3076, 714, 728, 685, 695, + 690, 720, 704, 711, 0, 723, 709, 729, 713, 715, + 0, 735, 729, 718, 721, 773, 735, 738, 742, 735, + 738, 734, 751, 800, 752, 743, 0, 3073, 3073, 3069, + 3065, 3126, 3083, 3072, 0, 3075, 0, 0, 0, 764, + + 3080, 3064, 3068, 3080, 0, 3077, 3077, 3058, 3064, 3065, + 0, 3067, 3071, 3066, 3059, 3047, 3050, 0, 3051, 0, + 3051, 3054, 3047, 3065, 3051, 3043, 3062, 3058, 3043, 3042, + 3052, 3046, 0, 3037, 3038, 0, 3049, 3030, 3051, 3034, + 3046, 3049, 3048, 0, 3039, 3035, 3027, 3022, 3024, 3042, + 3037, 3032, 3015, 3034, 3023, 3025, 3022, 3011, 3033, 3028, + 3020, 3013, 3028, 3025, 3023, 3022, 3017, 3021, 3004, 3009, + 3013, 0, 3001, 747, 0, 3006, 2999, 3015, 3012, 0, + 3015, 771, 3000, 3007, 2999, 0, 0, 3007, 2999, 3005, + 2984, 2990, 2992, 2995, 3000, 753, 2995, 2996, 2989, 3375, + + 2997, 2994, 2981, 2978, 2985, 2982, 754, 802, 809, 3046, + 755, 2985, 2972, 2977, 2976, 2986, 2974, 2975, 3020, 2981, + 2984, 2964, 3021, 2964, 3019, 2975, 2960, 2976, 2963, 2967, + 2972, 2966, 2958, 2952, 534, 3375, 2956, 770, 772, 0, + 761, 784, 0, 0, 780, 790, 789, 803, 791, 802, + 810, 0, 794, 853, 0, 807, 0, 814, 822, 813, + 810, 817, 818, 816, 836, 836, 0, 2951, 2964, 0, + 0, 2963, 2946, 0, 2946, 2962, 0, 2946, 2962, 2957, + 2960, 2936, 2921, 2899, 2877, 2877, 2862, 2867, 0, 2829, + 2819, 0, 2785, 2795, 2820, 2760, 2750, 2756, 2760, 2747, + + 2749, 2743, 2732, 2735, 2737, 2716, 808, 0, 2719, 2716, + 2724, 2709, 2714, 0, 2722, 2711, 830, 2705, 2720, 2719, + 2707, 0, 2707, 539, 2705, 812, 2693, 2682, 2673, 2678, + 2690, 0, 2687, 2669, 2671, 2674, 0, 2639, 2651, 0, + 2641, 2632, 2642, 2630, 2637, 2631, 2639, 848, 2590, 2593, + 2605, 0, 2600, 2587, 2579, 2578, 817, 2576, 2590, 2587, + 2586, 2568, 2569, 2568, 2559, 2572, 2568, 3375, 820, 2556, + 2560, 2564, 852, 876, 873, 2561, 2559, 2546, 2555, 2553, + 2554, 2534, 897, 2511, 2497, 2477, 2516, 2458, 2463, 872, + 2458, 2441, 2447, 2444, 2438, 2448, 2438, 2425, 2424, 760, + + 2422, 2425, 2413, 2405, 852, 870, 875, 858, 910, 874, + 0, 877, 879, 893, 0, 894, 876, 0, 0, 888, + 0, 884, 888, 907, 889, 0, 0, 2388, 2371, 2351, + 0, 2350, 2366, 2337, 0, 2335, 2334, 0, 0, 0, + 0, 2306, 920, 2280, 0, 2278, 2268, 0, 0, 2281, + 0, 2278, 2275, 0, 2261, 0, 2275, 2269, 0, 2269, + 2267, 2256, 2265, 2251, 2259, 2260, 2247, 2247, 0, 2255, + 2262, 2257, 2240, 0, 2245, 0, 2245, 2213, 2208, 2188, + 2190, 2204, 2188, 2188, 0, 2203, 2190, 2184, 2187, 46, + 69, 0, 191, 177, 0, 225, 0, 0, 215, 299, + + 353, 427, 512, 876, 744, 834, 840, 836, 866, 867, + 874, 888, 872, 890, 880, 896, 883, 899, 900, 897, + 892, 897, 899, 964, 965, 966, 907, 912, 898, 914, + 906, 920, 907, 962, 913, 915, 912, 972, 920, 927, + 922, 916, 934, 934, 936, 928, 934, 929, 938, 941, + 927, 932, 947, 935, 939, 932, 944, 962, 0, 963, + 1013, 1044, 0, 987, 1016, 988, 990, 0, 979, 975, + 990, 982, 992, 966, 0, 0, 963, 972, 969, 970, + 0, 973, 0, 0, 0, 0, 0, 963, 972, 971, + 963, 0, 0, 979, 965, 986, 981, 0, 999, 982, + + 0, 983, 999, 990, 987, 0, 988, 987, 1003, 0, + 1006, 990, 1009, 0, 999, 0, 1002, 1000, 1010, 1000, + 992, 0, 1000, 1010, 0, 0, 0, 1016, 1016, 1015, + 1010, 1023, 1006, 1015, 1011, 1019, 1033, 1030, 1032, 1034, + 1030, 1020, 1023, 1036, 1076, 1077, 1041, 1026, 1034, 1028, + 1044, 1046, 1103, 1104, 1106, 1037, 1091, 1052, 1095, 1043, + 1053, 1054, 1113, 1066, 1050, 1060, 1106, 1053, 1068, 1075, + 1077, 1079, 1078, 1082, 1070, 1072, 1074, 1081, 1088, 1083, + 1077, 1074, 1082, 1080, 1088, 1078, 1122, 1123, 1158, 1111, + 1132, 1125, 1117, 1135, 1119, 1129, 1168, 1131, 1131, 1127, + + 1128, 3375, 1130, 0, 1098, 1107, 1120, 0, 1120, 1111, + 0, 1124, 1117, 1113, 1119, 0, 1135, 1138, 1132, 1130, + 1142, 0, 1147, 0, 1149, 1146, 0, 1137, 1140, 1152, + 1159, 0, 1157, 1150, 1148, 0, 1153, 1162, 0, 0, + 1160, 1162, 0, 1148, 1165, 1165, 1170, 1154, 1156, 1157, + 1164, 1163, 1173, 1174, 1213, 0, 1231, 1178, 1182, 1180, + 1177, 1173, 1221, 1240, 1241, 1225, 1246, 1179, 1235, 1235, + 1184, 1237, 1191, 1186, 1188, 1242, 1243, 1206, 1206, 3375, + 1195, 1247, 1211, 1197, 1203, 1205, 1198, 1207, 1207, 1220, + 1204, 1216, 1221, 1260, 1213, 1226, 1240, 1288, 1248, 1249, + + 1242, 1263, 1295, 1266, 1255, 1262, 1256, 1272, 1262, 1304, + 1273, 0, 1261, 1279, 1234, 1240, 1247, 0, 1242, 0, + 1256, 1244, 1257, 1260, 1265, 1263, 1259, 1260, 0, 0, + 1270, 0, 1276, 0, 1263, 1263, 1278, 1269, 0, 1266, + 1323, 0, 1282, 1321, 1269, 1277, 1271, 1274, 1292, 1285, + 1288, 1284, 1278, 0, 0, 1339, 1286, 1285, 1298, 1341, + 1303, 1309, 0, 1363, 1319, 1366, 1343, 1301, 1374, 1387, + 1349, 0, 1313, 1351, 1299, 1338, 1341, 1319, 3375, 1307, + 1372, 1325, 1383, 1331, 1387, 1351, 1351, 1347, 1343, 1354, + 1351, 1346, 1421, 1355, 1362, 1436, 1445, 3375, 1396, 1400, + + 1384, 1448, 1393, 1402, 1403, 1406, 1393, 1413, 1451, 3375, + 1424, 1423, 1391, 1400, 1401, 1403, 1396, 1391, 1404, 1396, + 1414, 1403, 1416, 1406, 1412, 1419, 1412, 0, 1423, 1416, + 1414, 1428, 1464, 1417, 1466, 1429, 1468, 1422, 1427, 1426, + 1474, 1433, 1477, 0, 0, 0, 1433, 1441, 1435, 1433, + 1424, 1437, 0, 1524, 1442, 1447, 1448, 1439, 1450, 1511, + 3375, 1523, 1492, 3375, 1524, 1492, 1513, 1535, 1541, 0, + 1493, 1446, 1453, 1450, 1449, 1455, 1465, 1461, 1463, 1464, + 1497, 1513, 1544, 1551, 1501, 1499, 1497, 1549, 1514, 1552, + 1509, 1519, 1507, 1579, 1560, 1562, 1587, 1542, 1543, 3375, + + 1565, 1563, 1568, 1566, 1565, 3375, 1569, 1561, 1576, 1578, + 1571, 1561, 1527, 1538, 1539, 0, 1536, 0, 0, 0, + 1551, 1549, 1545, 1540, 1557, 1558, 1544, 0, 1546, 0, + 1553, 1571, 1621, 1582, 1628, 1609, 1638, 1573, 1625, 1588, + 1579, 1581, 1644, 0, 0, 1596, 1593, 1645, 1607, 1647, + 1610, 0, 1602, 1597, 1612, 1614, 1597, 1616, 1652, 1653, + 1682, 0, 1666, 1672, 1610, 1633, 1637, 1627, 1627, 1629, + 1641, 1630, 1627, 1639, 1653, 0, 1693, 1698, 1661, 1656, + 1658, 1644, 1665, 1646, 1666, 1664, 1705, 1648, 1728, 3375, + 0, 0, 0, 1699, 1705, 1698, 1692, 1695, 1706, 1710, + + 1710, 1745, 3375, 1699, 1718, 1707, 1713, 1681, 1695, 1682, + 0, 0, 1693, 0, 0, 1684, 1699, 0, 1696, 1690, + 0, 1767, 1697, 3375, 3375, 3375, 1690, 1775, 1741, 1694, + 1745, 1710, 1712, 1781, 1700, 1698, 1710, 1720, 3375, 1720, + 1781, 1745, 1742, 1742, 1736, 1748, 3375, 1784, 1794, 1755, + 1756, 3375, 1744, 1744, 1749, 1746, 1753, 1753, 1754, 1762, + 1759, 0, 1812, 1813, 1766, 1775, 3375, 1763, 1816, 1768, + 1776, 1780, 1767, 1821, 1777, 1789, 1782, 1825, 1778, 1827, + 1828, 1829, 1800, 1806, 1812, 1803, 1817, 1825, 1810, 1814, + 1862, 1835, 1825, 1818, 1824, 1809, 1794, 1802, 0, 1794, + + 1796, 0, 1792, 1857, 3375, 1827, 1881, 1823, 1834, 1819, + 1829, 3375, 1882, 1893, 1832, 1850, 1838, 3375, 1854, 1900, + 3375, 3375, 1853, 1866, 1852, 1901, 0, 1866, 3375, 3375, + 1906, 1865, 3375, 1866, 1856, 1856, 3375, 1871, 1870, 0, + 1921, 1913, 1873, 3375, 1884, 1875, 1875, 1880, 1887, 1890, + 1934, 1889, 1883, 1884, 1889, 1899, 1902, 1940, 1961, 1942, + 1963, 1971, 1930, 1926, 3375, 1944, 3375, 1928, 3375, 1927, + 1947, 1945, 3375, 1937, 1909, 1906, 0, 1912, 1918, 0, + 1922, 1962, 1969, 1933, 1931, 3375, 1938, 3375, 1923, 1940, + 1924, 3375, 1937, 3375, 1992, 1943, 1959, 1958, 0, 3375, + + 2001, 1954, 1955, 3375, 1956, 1957, 1958, 1958, 1974, 1955, + 1970, 1972, 1973, 3375, 1974, 2029, 3375, 1971, 1961, 1990, + 1976, 3375, 1978, 1984, 2039, 2040, 2055, 2006, 3375, 2026, + 2025, 2030, 2032, 3375, 3375, 1985, 0, 1987, 1993, 3375, + 0, 2006, 3375, 2004, 3375, 2005, 1987, 1995, 3375, 2067, + 3375, 1996, 2016, 0, 2080, 2012, 1999, 2000, 2002, 2056, + 2017, 2021, 2010, 3375, 2026, 3375, 2020, 2069, 2019, 2026, + 2087, 2051, 2040, 2050, 3375, 3375, 2050, 2054, 2112, 3375, + 0, 2113, 3375, 0, 2088, 2070, 2086, 3375, 2072, 2074, + 2052, 0, 2053, 0, 2064, 3375, 2064, 3375, 2104, 2071, + + 2126, 2069, 2056, 2115, 2076, 3375, 2078, 2079, 3375, 2071, + 2118, 2081, 3375, 2076, 3375, 2091, 2149, 2079, 2078, 2138, + 3375, 2098, 3375, 2088, 2098, 2122, 2128, 2170, 2129, 2139, + 2097, 0, 0, 2102, 3375, 2158, 2101, 2180, 3375, 2184, + 3375, 2124, 3375, 3375, 3375, 2125, 2129, 2117, 3375, 2131, + 2167, 2188, 3375, 3375, 2122, 2136, 2141, 2170, 2170, 2204, + 2155, 3375, 0, 2130, 2195, 2184, 3375, 2146, 3375, 2136, + 2156, 2196, 2217, 2218, 3375, 2222, 2166, 2163, 2155, 2193, + 2184, 2184, 3375, 2264, 2270, 3375, 2163, 2172, 3375, 2165, + 2238, 2168, 2164, 2165, 2213, 3375, 2213, 2277, 3375, 3375, + + 2183, 2248, 3375, 2275, 2179, 3375, 3375, 2236, 2248, 2291, + 2193, 3375, 3375, 2268, 2257, 3375, 2264, 3375, 2266, 3375, + 3375, 2345, 2367, 2389, 2404, 2419, 2441, 2463, 2478, 2493, + 2511, 2526, 2548, 2570, 2592, 2607, 2622, 2641, 2656, 2678, + 2693, 2715, 2720, 2735, 2743, 2754, 2771, 2786, 2800, 2817, + 2839, 2861, 2883, 2905, 2916, 2931, 2953, 2975, 2997 } ; -static yyconst flex_int16_t yy_def[1942] = +static yyconst flex_int16_t yy_def[1960] = { 0, - 1903, 1, 1903, 1903, 1903, 1903, 1903, 1904, 1905, 1903, - 1903, 1903, 1906, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1903, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1903, 1903, 1903, - 1903, 1904, 1903, 1904, 1905, 1903, 1903, 1903, 1908, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1906, 1903, - - 1906, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1903, - 1903, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1903, 1903, 1908, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1909, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - - 1907, 1907, 1903, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1909, 1909, 1910, - 1909, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1903, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - - 1903, 1903, 1903, 1909, 1910, 1910, 1909, 1909, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1903, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1903, 1903, - 1903, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1909, 1910, - 1909, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1903, 1907, 1907, 1907, 1907, 1907, 1903, 1903, 1903, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1909, 1910, - 1909, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1907, 1907, 1907, 1907, 1903, 1907, 1907, 1907, - 1907, 1903, 1907, 1907, 1903, 1903, 1903, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1909, 1910, 1909, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1907, 1907, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1907, - 1903, 1907, 1903, 1907, 1903, 1903, 1903, 1907, 1907, 1907, - - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1911, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1910, 1909, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1907, - 1907, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - - 1907, 1903, 1907, 1903, 1907, 1903, 1903, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1912, 1913, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1914, 1909, 1903, 1915, 1916, 1903, - 1903, 1903, 1903, 1917, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1918, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1907, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1907, 1903, - - 1903, 1903, 1903, 1903, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1919, 1913, 1920, 1903, 1903, 1903, - 1903, 1903, 1903, 1921, 1909, 1903, 1903, 1903, 1903, 1903, - 1915, 1903, 1915, 1916, 1903, 1922, 1903, 1903, 1903, 1903, - 1917, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1923, 1923, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1924, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1907, 1903, 1903, - - 1903, 1903, 1903, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1919, 1920, 1903, 1903, 1903, 1903, 1903, - 1903, 1921, 1903, 1903, 1903, 1903, 1903, 1903, 1916, 1916, - 1922, 1925, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1923, 1926, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1924, 1903, - 1924, 1927, 1928, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1907, 1903, 1903, 1903, 1903, 1903, 1907, 1907, 1907, - - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1929, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1930, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1931, - 1932, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1929, 1933, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1930, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1931, 1903, 1932, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1907, 1907, 1907, 1907, 1907, 1907, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1934, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1935, 1936, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1907, 1907, 1907, 1907, 1903, 1937, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1934, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1935, 1903, 1935, 1936, 1903, 1936, - 1903, 1903, 1903, 1903, 1903, 1903, 1907, 1907, 1907, 1938, - 1903, 1903, 1903, 1903, 1903, 1939, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1907, 1907, 1938, 1903, 1903, - 1903, 1939, 1903, 1939, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1940, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1907, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1940, 1903, 1940, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1941, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1941, 1903, 1941, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - - 1903, 1903, 0, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903 + 1921, 1, 1921, 1921, 1921, 1921, 1921, 1922, 1923, 1921, + 1921, 1921, 1924, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1921, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1921, 1921, 1921, + 1921, 1922, 1921, 1922, 1923, 1921, 1921, 1921, 1926, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1924, 1921, + + 1924, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1921, + 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1921, 1921, 1926, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1927, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + + 1925, 1925, 1925, 1921, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1927, + 1927, 1928, 1927, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1921, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + + 1921, 1921, 1921, 1921, 1921, 1921, 1927, 1928, 1928, 1927, + 1927, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1921, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1927, 1928, 1927, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + + 1921, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1921, 1925, 1925, 1925, 1925, + 1925, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + + 1925, 1925, 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1927, 1928, 1927, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1925, + 1925, 1921, 1925, 1925, 1925, 1925, 1921, 1925, 1925, 1921, + 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1927, 1928, 1927, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1925, 1921, 1925, 1921, 1925, + + 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1929, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1928, 1927, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1921, 1921, + + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1921, 1925, + 1921, 1925, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1930, 1931, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1932, 1927, 1921, 1933, 1934, 1921, 1921, 1921, + 1921, 1935, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1936, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1925, 1921, 1921, 1921, 1921, + + 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1921, 1921, 1921, + 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1937, 1931, 1938, 1921, 1921, 1921, 1921, + 1921, 1921, 1939, 1927, 1921, 1921, 1921, 1921, 1921, 1933, + 1921, 1933, 1934, 1921, 1940, 1921, 1921, 1921, 1921, 1935, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1941, 1941, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1942, 1921, 1921, 1921, 1921, 1921, 1921, + + 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1921, 1921, 1921, + 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1937, 1938, 1921, 1921, 1921, 1921, 1921, + 1921, 1939, 1921, 1921, 1921, 1921, 1921, 1921, 1934, 1934, + 1940, 1943, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1941, 1944, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1942, 1921, + 1942, 1945, 1946, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + + 1921, 1925, 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, + 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1947, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1948, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1949, 1950, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, + + 1925, 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1947, 1951, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1948, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1949, 1921, 1950, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1952, 1921, + + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1953, 1954, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1921, + 1955, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1952, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1953, 1921, + 1953, 1954, 1921, 1954, 1921, 1921, 1921, 1921, 1921, 1921, + 1925, 1925, 1925, 1956, 1921, 1921, 1921, 1921, 1921, 1921, + + 1957, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1925, 1925, 1956, 1921, 1921, 1921, 1921, 1957, 1921, 1957, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1958, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1958, 1921, 1958, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1959, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + + 1921, 1959, 1921, 1959, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 0, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921 } ; -static yyconst flex_uint16_t yy_nxt[3445] = +static yyconst flex_uint16_t yy_nxt[3463] = { 0, 4, 5, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, @@ -1060,10 +1064,10 @@ static yyconst flex_uint16_t yy_nxt[3445] = 36, 67, 36, 36, 36, 68, 69, 70, 73, 70, 100, 103, 105, 108, 129, 136, 137, 130, 109, 138, - 139, 140, 133, 141, 106, 104, 134, 142, 110, 374, - 143, 131, 150, 151, 132, 135, 144, 70, 375, 70, - 229, 230, 129, 136, 137, 130, 232, 138, 139, 140, - 133, 141, 233, 551, 134, 142, 552, 101, 143, 131, + 139, 140, 133, 141, 106, 104, 134, 142, 110, 1021, + 143, 131, 150, 151, 132, 135, 144, 70, 251, 70, + 229, 230, 129, 136, 137, 130, 252, 138, 139, 140, + 133, 141, 257, 1022, 134, 142, 258, 101, 143, 131, 74, 76, 132, 135, 144, 76, 76, 77, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 78, 78, 78, 78, 78, 78, 76, 76, 76, 76, @@ -1076,361 +1080,363 @@ static yyconst flex_uint16_t yy_nxt[3445] = 97, 76, 76, 76, 76, 76, 76, 76, 111, 147, 112, 112, 112, 112, 112, 112, 115, 116, 117, 120, 121, 124, 148, 145, 149, 140, 113, 146, 129, 125, - 1020, 126, 244, 198, 250, 1021, 127, 147, 128, 245, - 246, 100, 251, 191, 274, 142, 199, 139, 200, 124, + 1023, 126, 245, 198, 263, 1024, 127, 147, 128, 246, + 247, 100, 275, 191, 264, 142, 199, 139, 200, 124, 148, 145, 149, 192, 113, 146, 158, 125, 133, 126, - 159, 195, 134, 160, 127, 1022, 128, 187, 188, 161, - 1023, 135, 274, 196, 118, 189, 122, 124, 138, 197, - - 190, 275, 167, 143, 130, 125, 168, 126, 101, 183, - 134, 201, 127, 184, 128, 1024, 169, 262, 131, 170, - 185, 132, 1025, 152, 153, 124, 138, 263, 202, 275, - 141, 203, 162, 154, 276, 155, 163, 136, 73, 156, - 127, 157, 128, 164, 137, 366, 165, 234, 1028, 132, - 235, 236, 166, 171, 144, 172, 367, 173, 141, 174, - 148, 147, 276, 175, 248, 176, 177, 145, 193, 178, - 252, 146, 179, 256, 194, 180, 181, 257, 205, 218, - 277, 182, 206, 253, 249, 149, 220, 352, 148, 219, - 74, 221, 207, 278, 258, 145, 330, 331, 208, 209, - - 353, 259, 210, 211, 279, 222, 260, 383, 277, 261, - 212, 213, 223, 224, 214, 215, 384, 216, 1029, 217, - 305, 278, 225, 227, 227, 227, 227, 227, 227, 237, - 238, 239, 279, 280, 445, 240, 446, 306, 265, 241, - 266, 266, 266, 266, 266, 266, 111, 281, 112, 112, - 112, 112, 112, 112, 282, 285, 267, 286, 287, 288, - 268, 280, 268, 283, 113, 269, 269, 269, 269, 269, - 269, 289, 284, 290, 291, 281, 292, 293, 294, 297, - 295, 298, 282, 285, 267, 286, 287, 288, 296, 299, - 300, 283, 113, 301, 302, 275, 276, 279, 280, 289, - - 284, 290, 291, 281, 292, 293, 294, 297, 295, 298, - 404, 429, 288, 286, 290, 307, 296, 299, 300, 283, - 405, 301, 302, 275, 276, 279, 280, 308, 284, 328, - 1030, 318, 319, 315, 287, 1031, 291, 320, 311, 321, - 288, 286, 349, 350, 293, 294, 370, 324, 325, 397, - 326, 335, 371, 388, 340, 336, 284, 372, 401, 392, - 398, 389, 337, 354, 291, 393, 394, 947, 355, 300, - 948, 402, 293, 294, 360, 408, 356, 295, 302, 409, - 395, 429, 604, 396, 457, 296, 458, 298, 361, 362, - 363, 364, 376, 1032, 377, 299, 506, 403, 378, 430, - - 410, 436, 437, 379, 507, 295, 302, 571, 380, 572, - 381, 382, 457, 296, 458, 298, 447, 448, 482, 482, - 482, 386, 387, 299, 227, 227, 227, 227, 227, 227, - 266, 266, 266, 266, 266, 266, 269, 269, 269, 269, - 269, 269, 459, 455, 460, 455, 267, 431, 456, 456, - 456, 456, 456, 456, 269, 269, 269, 269, 269, 269, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 459, 471, 460, 472, 267, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 483, 484, 485, 464, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 502, 471, - - 466, 472, 503, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 483, 484, 485, 498, 470, 523, 473, 547, - 483, 606, 429, 612, 620, 1033, 1034, 548, 466, 613, - 524, 504, 614, 631, 636, 632, 637, 638, 639, 640, - 607, 641, 642, 643, 470, 644, 473, 645, 580, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 528, 636, 429, 637, 638, 639, 640, 621, 641, - 642, 643, 646, 644, 647, 645, 648, 649, 650, 651, - 651, 651, 652, 653, 654, 655, 656, 657, 658, 662, - 663, 608, 482, 482, 482, 642, 429, 738, 662, 1035, - - 646, 739, 647, 801, 648, 649, 650, 1036, 802, 756, - 652, 653, 654, 655, 656, 657, 658, 662, 663, 606, - 757, 758, 769, 642, 659, 759, 745, 672, 606, 803, - 795, 801, 1037, 804, 805, 798, 802, 806, 607, 660, - 796, 661, 799, 807, 808, 809, 800, 607, 810, 811, - 813, 814, 659, 651, 651, 651, 815, 803, 816, 817, - 771, 804, 805, 818, 819, 806, 820, 660, 821, 661, - 822, 807, 808, 809, 856, 873, 810, 811, 813, 814, - 821, 874, 429, 876, 815, 857, 816, 817, 903, 865, - 914, 818, 819, 606, 820, 866, 821, 877, 822, 770, - - 953, 429, 812, 904, 936, 867, 915, 954, 821, 955, - 1040, 956, 607, 929, 929, 929, 929, 929, 929, 957, - 957, 957, 958, 959, 978, 979, 960, 961, 953, 962, - 812, 963, 964, 965, 966, 954, 967, 955, 919, 956, - 968, 1026, 937, 1041, 1042, 1043, 1044, 1027, 1038, 1045, - 958, 959, 920, 921, 960, 961, 1039, 962, 1046, 963, - 964, 965, 966, 429, 967, 606, 429, 1050, 968, 1051, - 1052, 1053, 1054, 980, 1055, 1056, 1057, 1057, 1057, 1057, - 1057, 1057, 1058, 1059, 607, 1060, 1061, 1062, 1063, 1064, - 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, - - 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1083, - 1083, 1099, 1100, 1090, 1091, 1091, 1091, 1092, 1093, 1094, - 1095, 1048, 1096, 1097, 1098, 1101, 1102, 1103, 1047, 1104, - 1105, 1106, 1107, 1108, 1081, 1082, 1109, 1049, 957, 957, - 957, 1090, 1110, 1111, 1112, 1092, 1093, 1094, 1095, 1113, - 1096, 1097, 1098, 1114, 1115, 1116, 1117, 1118, 1119, 1120, + 159, 195, 134, 160, 127, 1025, 128, 187, 188, 161, + 275, 135, 1026, 196, 118, 189, 122, 124, 138, 197, + + 190, 276, 167, 143, 130, 125, 168, 126, 101, 183, + 134, 201, 127, 184, 128, 447, 169, 448, 131, 170, + 185, 132, 277, 152, 153, 124, 138, 249, 202, 276, + 141, 203, 162, 154, 278, 155, 163, 136, 73, 156, + 127, 157, 128, 164, 137, 232, 165, 250, 233, 132, + 277, 234, 166, 171, 144, 172, 306, 173, 141, 174, + 148, 147, 278, 175, 253, 176, 177, 145, 193, 178, + 1027, 146, 179, 307, 194, 180, 181, 254, 205, 218, + 235, 182, 206, 236, 237, 149, 220, 353, 148, 219, + 74, 221, 207, 279, 259, 145, 331, 332, 208, 209, + + 354, 260, 210, 211, 280, 222, 261, 367, 281, 262, + 212, 213, 223, 224, 214, 215, 1028, 216, 368, 217, + 395, 279, 225, 227, 227, 227, 227, 227, 227, 238, + 239, 240, 280, 282, 396, 241, 281, 397, 266, 242, + 267, 267, 267, 267, 267, 267, 111, 283, 112, 112, + 112, 112, 112, 112, 284, 286, 268, 287, 288, 289, + 269, 282, 269, 285, 113, 270, 270, 270, 270, 270, + 270, 290, 291, 292, 293, 283, 294, 295, 298, 301, + 296, 299, 284, 286, 268, 287, 288, 289, 297, 300, + 302, 285, 113, 303, 276, 277, 280, 281, 1029, 290, + + 291, 292, 293, 289, 294, 295, 298, 301, 296, 299, + 282, 375, 553, 287, 308, 554, 297, 300, 302, 284, + 376, 303, 276, 277, 280, 281, 309, 389, 285, 329, + 291, 289, 316, 292, 288, 390, 294, 312, 319, 320, + 295, 287, 398, 371, 321, 341, 322, 325, 326, 372, + 327, 336, 373, 399, 384, 337, 285, 405, 350, 351, + 355, 292, 338, 385, 294, 356, 361, 406, 295, 296, + 393, 301, 402, 357, 409, 431, 394, 297, 410, 299, + 362, 363, 364, 365, 377, 403, 378, 300, 303, 1030, + 379, 438, 439, 432, 504, 380, 508, 296, 505, 404, + + 381, 799, 382, 383, 509, 297, 877, 299, 449, 450, + 411, 800, 878, 387, 388, 300, 303, 227, 227, 227, + 227, 227, 227, 267, 267, 267, 267, 267, 267, 270, + 270, 270, 270, 270, 270, 459, 460, 461, 457, 268, + 457, 433, 462, 458, 458, 458, 458, 458, 458, 270, + 270, 270, 270, 270, 270, 463, 464, 465, 466, 467, + 468, 469, 470, 459, 460, 461, 471, 268, 472, 473, + 462, 474, 475, 476, 477, 478, 479, 480, 481, 482, + 483, 485, 486, 463, 464, 465, 466, 467, 468, 469, + 470, 484, 484, 484, 471, 487, 472, 473, 466, 474, + + 475, 476, 477, 478, 479, 480, 481, 482, 483, 485, + 486, 468, 472, 475, 525, 573, 549, 574, 485, 431, + 431, 623, 615, 487, 550, 609, 500, 526, 616, 639, + 634, 617, 635, 458, 458, 458, 458, 458, 458, 468, + 472, 475, 506, 640, 610, 641, 582, 458, 458, 458, + 458, 458, 458, 642, 643, 644, 530, 639, 645, 646, + 647, 431, 431, 648, 649, 624, 650, 651, 652, 653, + 655, 640, 656, 641, 654, 654, 654, 657, 658, 659, + 660, 642, 643, 644, 661, 665, 645, 646, 647, 611, + 607, 648, 649, 666, 650, 651, 652, 653, 655, 645, + + 656, 484, 484, 484, 665, 657, 658, 659, 660, 609, + 741, 805, 661, 665, 742, 1033, 609, 806, 760, 952, + 773, 666, 953, 807, 808, 809, 775, 645, 610, 761, + 762, 675, 748, 662, 763, 610, 802, 810, 811, 805, + 812, 813, 814, 803, 815, 806, 817, 804, 663, 818, + 664, 807, 808, 809, 654, 654, 654, 819, 820, 431, + 821, 662, 822, 823, 824, 810, 811, 825, 812, 813, + 814, 826, 815, 860, 817, 880, 663, 818, 664, 825, + 431, 907, 919, 609, 861, 819, 820, 774, 821, 881, + 822, 823, 824, 1034, 869, 825, 908, 941, 920, 826, + + 870, 958, 610, 816, 1035, 959, 960, 825, 961, 963, + 871, 962, 962, 962, 1036, 924, 934, 934, 934, 934, + 934, 934, 964, 965, 966, 967, 968, 969, 970, 958, + 971, 816, 926, 959, 960, 942, 961, 963, 972, 973, + 983, 984, 925, 1031, 1037, 1038, 1039, 1040, 1041, 1032, + 964, 965, 966, 967, 968, 969, 970, 1042, 971, 1043, + 1044, 1046, 1047, 1048, 1049, 1050, 972, 973, 1045, 1051, + 1052, 431, 609, 431, 1056, 1057, 1058, 1059, 1060, 1061, + 1062, 1063, 1063, 1063, 1063, 1063, 1063, 1064, 1065, 985, + 1066, 610, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, + + 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, + 1085, 1086, 1087, 1088, 1089, 1089, 1089, 1097, 1097, 1097, + 1096, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1054, 1105, + 1106, 1107, 1108, 1109, 1110, 1111, 1053, 1112, 1113, 1114, + 1087, 1088, 1115, 1116, 1055, 962, 962, 962, 1096, 1098, + 1099, 1100, 1101, 1102, 1103, 1104, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, - 1131, 1132, 1133, 1084, 1134, 1135, 1136, 1085, 1137, 1086, - 1138, 1139, 1087, 1088, 1140, 1141, 1142, 1089, 1143, 1144, - 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, - - 1155, 1084, 1156, 429, 606, 1085, 429, 1086, 1159, 1160, - 1087, 1088, 1161, 1162, 1163, 1089, 1164, 1165, 1166, 1167, - 1168, 1169, 1170, 607, 1158, 1057, 1057, 1057, 1057, 1057, - 1057, 1171, 1172, 1174, 1175, 1176, 1177, 1178, 1179, 1180, - 1173, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, - 1190, 1191, 1083, 1083, 1083, 1193, 1194, 1195, 1196, 1197, - 1199, 1201, 1091, 1091, 1091, 1203, 1204, 1200, 1208, 1157, - 1205, 1206, 1207, 1209, 1210, 1211, 1198, 1212, 1190, 1191, - 1213, 1214, 1215, 1193, 1194, 1195, 1196, 1197, 1199, 1201, - 1216, 1217, 1218, 1203, 1204, 1200, 1192, 1219, 1205, 1206, - - 1207, 1220, 1221, 1222, 1198, 1223, 1224, 1202, 1225, 1226, - 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, - 1237, 1238, 1239, 1240, 1192, 1241, 1242, 1243, 1244, 1245, - 1246, 1248, 1249, 1251, 1252, 1202, 1253, 1254, 1255, 606, - 429, 1256, 1257, 1258, 1260, 1250, 1261, 1261, 1261, 1261, - 1261, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 607, 1268, - 1269, 1270, 1271, 1272, 1273, 1259, 1274, 1275, 1276, 1277, - 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, - 1288, 1289, 1289, 1289, 1290, 1291, 1292, 1293, 1294, 1294, - 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1301, 1301, - - 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1288, 1310, - 1311, 1312, 1290, 1291, 1292, 1293, 1313, 1314, 1315, 1295, - 1296, 1297, 1298, 1299, 1300, 1316, 1317, 1318, 1302, 1303, - 1304, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, - 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1337, 1338, 1337, - 1337, 1337, 1337, 1337, 1337, 1339, 1340, 1341, 1342, 1343, - 1345, 429, 1352, 1355, 1357, 1360, 1362, 1363, 1364, 1370, - 1346, 1345, 1347, 1345, 1345, 1345, 1345, 1345, 1345, 1348, - 1349, 1371, 1372, 1350, 1358, 1358, 1358, 1358, 1358, 1358, - 1365, 1356, 1374, 1367, 1375, 1376, 1345, 1359, 1359, 1359, - - 1359, 1359, 1359, 1377, 1368, 1378, 1366, 1379, 1345, 1369, - 1380, 1381, 1382, 1383, 1353, 1384, 1345, 1385, 1386, 1387, - 1390, 1345, 1391, 1392, 1345, 1394, 1395, 1345, 1388, 1388, - 1388, 1396, 1397, 1345, 1398, 1399, 1345, 1289, 1289, 1289, - 1294, 1294, 1294, 1301, 1301, 1301, 1402, 1403, 1390, 1404, - 1391, 1392, 1405, 1394, 1395, 1407, 1408, 1409, 1410, 1396, - 1397, 1411, 1398, 1399, 1412, 1406, 1413, 1414, 1415, 1416, - 1417, 1418, 1419, 1420, 1402, 1403, 1400, 1421, 1422, 1423, - 1424, 1425, 1426, 1427, 1428, 1389, 1429, 1393, 1430, 1431, - 1432, 1433, 1401, 1436, 1437, 1438, 1439, 1440, 1441, 1443, - - 1445, 1446, 1447, 1448, 1400, 1444, 1352, 1452, 1455, 1456, - 1457, 1458, 1355, 1389, 1459, 1393, 1903, 1354, 1460, 1461, - 1401, 1345, 429, 1358, 1358, 1358, 1358, 1358, 1358, 1462, - 1463, 1464, 1345, 1466, 1345, 1345, 1345, 1345, 1345, 1345, - 1356, 1351, 1903, 1351, 1450, 1453, 1453, 1453, 1453, 1453, - 1453, 1454, 1454, 1454, 1454, 1454, 1454, 1345, 1353, 1467, - 1468, 1466, 1469, 1470, 1472, 1473, 1471, 1474, 1475, 1345, - 1903, 1476, 1451, 1477, 1478, 1480, 1482, 1345, 1483, 1388, - 1388, 1388, 1345, 1485, 1486, 1345, 1487, 1488, 1345, 1489, - 1490, 1498, 1491, 1492, 1345, 1493, 1494, 1345, 1495, 1499, - - 1496, 1497, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, - 1508, 1485, 1486, 1509, 1487, 1488, 1510, 1489, 1490, 1484, - 1491, 1492, 1511, 1493, 1494, 1517, 1495, 1481, 1496, 1497, - 1512, 1512, 1512, 1512, 1512, 1512, 1513, 1515, 1516, 1519, - 1520, 1521, 1522, 1524, 1514, 1525, 1526, 1484, 1518, 1518, - 1518, 1518, 1518, 1518, 1523, 1523, 1523, 1523, 1523, 1523, - 1527, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1528, 1536, - 1355, 1355, 1539, 1354, 1453, 1453, 1453, 1453, 1453, 1453, - 1538, 1538, 1538, 1538, 1538, 1538, 1540, 1542, 1543, 1544, - 1545, 1547, 1548, 1549, 1541, 1550, 1903, 1546, 1356, 1356, - - 1450, 1552, 1552, 1552, 1552, 1552, 1552, 1553, 1554, 1555, - 1557, 1558, 1563, 1559, 1564, 1565, 1567, 1556, 1560, 1568, - 1569, 1566, 1480, 1572, 1903, 1573, 1574, 1561, 1451, 1575, - 1576, 1562, 1577, 1578, 1579, 1580, 1580, 1580, 1581, 1582, - 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, - 1594, 1572, 1595, 1573, 1574, 1597, 1598, 1575, 1576, 1601, - 1577, 1578, 1579, 1599, 1603, 1604, 1581, 1582, 1583, 1584, - 1605, 1600, 1606, 1607, 1481, 1593, 1593, 1593, 1593, 1593, - 1593, 1596, 1608, 1518, 1518, 1518, 1518, 1518, 1518, 1602, - 1602, 1602, 1602, 1602, 1602, 1609, 1610, 1611, 1612, 1613, - - 1615, 1538, 1538, 1538, 1538, 1538, 1538, 1616, 1618, 1619, - 1620, 1621, 1622, 1623, 1624, 1617, 1625, 1626, 1627, 1629, - 1629, 1629, 1629, 1629, 1629, 1630, 1631, 1632, 1633, 1634, - 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, - 1645, 1647, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, - 1657, 1580, 1580, 1580, 1659, 1660, 1661, 1662, 1663, 1664, - 1665, 1666, 1667, 1668, 1593, 1593, 1593, 1593, 1593, 1593, - 1674, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1669, - 1675, 1676, 1659, 1660, 1661, 1662, 1672, 1670, 1671, 1671, - 1671, 1671, 1671, 1671, 1673, 1677, 1678, 1679, 1680, 1658, - - 1602, 1602, 1602, 1602, 1602, 1602, 1681, 1682, 1682, 1682, - 1682, 1682, 1682, 1683, 1684, 1685, 1615, 1687, 1688, 1689, - 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1658, 1629, 1629, - 1629, 1629, 1629, 1629, 1697, 1698, 1699, 1700, 1701, 1702, - 1703, 1703, 1703, 1703, 1703, 1703, 1704, 1705, 1706, 1707, - 1708, 1710, 1647, 1712, 1649, 1713, 1715, 1716, 1709, 1714, - 1714, 1714, 1717, 1718, 1719, 1711, 1720, 1721, 1722, 1723, - 1724, 1725, 1726, 1727, 1728, 1671, 1671, 1671, 1671, 1671, - 1671, 1729, 1732, 1733, 1715, 1716, 1734, 1735, 1737, 1730, - 1717, 1718, 1719, 1738, 1720, 1721, 1722, 1731, 1682, 1682, - - 1682, 1682, 1682, 1682, 1736, 1739, 1741, 1741, 1741, 1741, - 1741, 1741, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, - 1751, 1753, 1754, 1755, 1758, 1759, 1762, 1763, 1752, 1764, - 1766, 1769, 1757, 1756, 1703, 1703, 1703, 1703, 1703, 1703, - 1760, 1772, 1714, 1714, 1714, 1773, 1774, 1775, 1761, 1776, - 1777, 1778, 1779, 1781, 1782, 1784, 1785, 1786, 1787, 1788, - 1742, 1792, 1783, 1789, 1789, 1789, 1789, 1789, 1789, 1772, - 1790, 1793, 1794, 1773, 1774, 1775, 1795, 1776, 1791, 1796, - 1797, 1799, 1767, 1770, 1771, 1800, 1801, 1802, 1798, 1803, - 1804, 1805, 1805, 1805, 1805, 1805, 1805, 1806, 1807, 1808, - - 1809, 1810, 1766, 1769, 1811, 1812, 1813, 1814, 1815, 1816, - 1817, 1819, 1771, 1820, 1821, 1823, 1825, 1826, 1789, 1789, - 1789, 1789, 1789, 1789, 1827, 1828, 1829, 1832, 1833, 1830, - 1834, 1835, 1811, 1812, 1813, 1814, 1815, 1831, 1836, 1837, - 1838, 1805, 1805, 1805, 1805, 1805, 1805, 1839, 1840, 1841, - 1842, 1843, 1845, 1846, 1767, 1770, 1844, 1844, 1844, 1847, - 1848, 1848, 1848, 1848, 1848, 1848, 1849, 1824, 1823, 1903, - 1850, 1853, 1854, 1855, 1851, 1856, 1858, 1860, 1842, 1843, - 1845, 1846, 1852, 1861, 1862, 1863, 1864, 1865, 1844, 1844, - 1844, 1867, 1868, 1869, 1822, 1870, 1822, 1866, 1866, 1866, - - 1866, 1866, 1866, 1871, 1872, 1873, 1858, 1903, 1874, 1875, - 1876, 1877, 1878, 1863, 1864, 1865, 1879, 1881, 1882, 1883, - 1824, 1885, 1887, 1084, 1888, 1889, 1890, 1085, 1859, 1086, - 1893, 1891, 1857, 1088, 1857, 1885, 1895, 1089, 1894, 1877, - 1878, 1898, 1019, 1018, 1879, 1866, 1866, 1866, 1866, 1866, - 1866, 1084, 1896, 1017, 1890, 1085, 1903, 1086, 1859, 1891, - 1897, 1088, 1016, 1015, 1014, 1089, 1880, 1880, 1880, 1880, - 1880, 1880, 1899, 1886, 1892, 1892, 1892, 1892, 1892, 1892, - 1896, 1884, 1900, 1884, 1901, 1902, 1013, 1886, 1897, 1892, - 1892, 1892, 1892, 1892, 1892, 1012, 1011, 1010, 1009, 1008, - - 1899, 1007, 1006, 1005, 1004, 1003, 1002, 1001, 1000, 999, - 1900, 998, 1901, 1902, 72, 72, 72, 72, 72, 72, + 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, + 1090, 1141, 1142, 1143, 1091, 1144, 1092, 1145, 1146, 1093, + 1094, 1147, 1148, 1149, 1095, 1150, 1151, 1152, 1153, 1154, + + 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1090, 1163, + 431, 609, 1091, 431, 1092, 1166, 1167, 1093, 1094, 1168, + 1169, 1170, 1095, 1171, 1172, 1173, 1174, 1175, 1176, 1177, + 610, 1165, 1063, 1063, 1063, 1063, 1063, 1063, 1178, 1179, + 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1180, 1188, 1189, + 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1089, + 1089, 1089, 1200, 1201, 1202, 1203, 1204, 1206, 1208, 1097, + 1097, 1097, 1210, 1211, 1207, 1215, 1164, 1212, 1213, 1214, + 1216, 1217, 1218, 1205, 1219, 1197, 1198, 1220, 1221, 1222, + 1200, 1201, 1202, 1203, 1204, 1206, 1208, 1223, 1224, 1225, + + 1210, 1211, 1207, 1199, 1226, 1212, 1213, 1214, 1227, 1228, + 1229, 1205, 1230, 1231, 1209, 1232, 1233, 1234, 1235, 1236, + 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, + 1247, 1199, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1256, + 1257, 1259, 1209, 1260, 1261, 1262, 1263, 609, 431, 1264, + 1265, 1266, 1268, 1258, 1269, 1269, 1269, 1269, 1269, 1269, + 1270, 1271, 1272, 1273, 1274, 1275, 610, 1276, 1277, 1278, + 1279, 1280, 1281, 1267, 1282, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, + 1297, 1297, 1298, 1299, 1300, 1301, 1302, 1302, 1302, 1303, + + 1304, 1305, 1306, 1307, 1308, 1309, 1309, 1309, 1310, 1311, + 1312, 1313, 1314, 1315, 1316, 1317, 1296, 1318, 1319, 1320, + 1298, 1299, 1300, 1301, 1321, 1322, 1323, 1303, 1304, 1305, + 1306, 1307, 1308, 1324, 1325, 1326, 1310, 1311, 1312, 1327, + 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, + 1338, 1339, 1340, 1341, 1342, 1343, 1346, 1347, 1346, 1346, + 1346, 1346, 1346, 1346, 1348, 1349, 1350, 1351, 1352, 1354, + 431, 1361, 1364, 1366, 1369, 1371, 1372, 1373, 1379, 1355, + 1354, 1356, 1354, 1354, 1354, 1354, 1354, 1354, 1357, 1358, + 1380, 1381, 1359, 1367, 1367, 1367, 1367, 1367, 1367, 1374, + + 1365, 1383, 1376, 1384, 1385, 1354, 1368, 1368, 1368, 1368, + 1368, 1368, 1386, 1377, 1387, 1375, 1388, 1354, 1378, 1389, + 1390, 1391, 1392, 1362, 1393, 1354, 1394, 1395, 1396, 1399, + 1354, 1400, 1401, 1354, 1403, 1404, 1354, 1397, 1397, 1397, + 1405, 1406, 1354, 1407, 1408, 1354, 1297, 1297, 1297, 1302, + 1302, 1302, 1309, 1309, 1309, 1411, 1412, 1399, 1413, 1400, + 1401, 1414, 1403, 1404, 1416, 1417, 1418, 1419, 1405, 1406, + 1420, 1407, 1408, 1421, 1415, 1422, 1423, 1424, 1425, 1426, + 1427, 1428, 1429, 1411, 1412, 1409, 1430, 1431, 1432, 1433, + 1434, 1435, 1436, 1437, 1398, 1438, 1402, 1439, 1440, 1441, + + 1442, 1410, 1443, 1446, 1447, 1448, 1449, 1450, 1451, 1453, + 1455, 1456, 1457, 1409, 1458, 1454, 1361, 1462, 1465, 1466, + 1467, 1364, 1398, 1468, 1402, 1921, 1363, 1469, 1470, 1410, + 1354, 431, 1367, 1367, 1367, 1367, 1367, 1367, 1471, 1472, + 1473, 1354, 1474, 1354, 1354, 1354, 1354, 1354, 1354, 1365, + 1360, 1476, 1360, 1460, 1463, 1463, 1463, 1463, 1463, 1463, + 1464, 1464, 1464, 1464, 1464, 1464, 1354, 1921, 1362, 1477, + 1478, 1479, 1480, 1482, 1483, 1481, 1484, 1485, 1354, 1476, + 1486, 1461, 1487, 1488, 1490, 1492, 1354, 1493, 1397, 1397, + 1397, 1354, 1495, 1496, 1354, 1921, 1497, 1354, 1498, 1499, + + 1508, 1500, 1501, 1354, 1502, 1503, 1354, 1504, 1509, 1505, + 1506, 1507, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, + 1495, 1496, 1518, 1519, 1497, 1520, 1498, 1499, 1494, 1500, + 1501, 1521, 1502, 1503, 1527, 1504, 1491, 1505, 1506, 1507, + 1522, 1522, 1522, 1522, 1522, 1522, 1523, 1525, 1526, 1529, + 1530, 1531, 1532, 1533, 1524, 1535, 1494, 1528, 1528, 1528, + 1528, 1528, 1528, 1534, 1534, 1534, 1534, 1534, 1534, 1536, + 1537, 1538, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1539, + 1547, 1364, 1364, 1550, 1363, 1463, 1463, 1463, 1463, 1463, + 1463, 1549, 1549, 1549, 1549, 1549, 1549, 1551, 1553, 1554, + + 1555, 1556, 1558, 1559, 1560, 1552, 1561, 1921, 1557, 1365, + 1365, 1460, 1563, 1563, 1563, 1563, 1563, 1563, 1564, 1565, + 1566, 1568, 1569, 1574, 1570, 1575, 1576, 1578, 1567, 1571, + 1579, 1580, 1577, 1490, 1583, 1921, 1584, 1585, 1572, 1461, + 1586, 1587, 1573, 1588, 1589, 1590, 1591, 1591, 1591, 1592, + 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, + 1603, 1605, 1583, 1606, 1584, 1585, 1608, 1609, 1586, 1587, + 1610, 1588, 1589, 1590, 1611, 1613, 1615, 1592, 1593, 1594, + 1595, 1616, 1612, 1617, 1618, 1491, 1604, 1604, 1604, 1604, + 1604, 1604, 1607, 1619, 1528, 1528, 1528, 1528, 1528, 1528, + + 1614, 1614, 1614, 1614, 1614, 1614, 1620, 1621, 1622, 1623, + 1624, 1625, 1627, 1549, 1549, 1549, 1549, 1549, 1549, 1628, + 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1629, 1637, 1638, + 1639, 1641, 1641, 1641, 1641, 1641, 1641, 1642, 1643, 1644, + 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, + 1655, 1656, 1657, 1659, 1661, 1662, 1663, 1664, 1665, 1666, + 1667, 1668, 1669, 1591, 1591, 1591, 1671, 1672, 1673, 1674, + 1675, 1676, 1677, 1678, 1679, 1680, 1604, 1604, 1604, 1604, + 1604, 1604, 1684, 1662, 1663, 1664, 1665, 1666, 1667, 1668, + 1669, 1681, 1687, 1688, 1671, 1672, 1673, 1674, 1685, 1682, + + 1683, 1683, 1683, 1683, 1683, 1683, 1686, 1689, 1690, 1691, + 1692, 1670, 1614, 1614, 1614, 1614, 1614, 1614, 1693, 1695, + 1695, 1695, 1695, 1695, 1695, 1696, 1694, 1697, 1698, 1627, + 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1670, + 1641, 1641, 1641, 1641, 1641, 1641, 1709, 1710, 1711, 1712, + 1713, 1714, 1715, 1716, 1716, 1716, 1716, 1716, 1716, 1717, + 1718, 1719, 1720, 1721, 1723, 1659, 1725, 1661, 1726, 1728, + 1729, 1722, 1727, 1727, 1727, 1730, 1731, 1732, 1724, 1733, + 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1683, 1683, + 1683, 1683, 1683, 1683, 1742, 1743, 1746, 1728, 1729, 1747, + + 1748, 1749, 1744, 1730, 1731, 1732, 1751, 1733, 1734, 1735, + 1745, 1695, 1695, 1695, 1695, 1695, 1695, 1750, 1752, 1753, + 1755, 1755, 1755, 1755, 1755, 1755, 1757, 1758, 1759, 1760, + 1761, 1762, 1763, 1764, 1765, 1767, 1768, 1769, 1772, 1773, + 1776, 1777, 1766, 1778, 1780, 1783, 1771, 1770, 1716, 1716, + 1716, 1716, 1716, 1716, 1774, 1786, 1727, 1727, 1727, 1787, + 1788, 1789, 1775, 1790, 1791, 1792, 1793, 1795, 1796, 1797, + 1799, 1800, 1801, 1802, 1756, 1803, 1805, 1798, 1807, 1808, + 1809, 1810, 1811, 1786, 1806, 1812, 1814, 1787, 1788, 1789, + 1815, 1790, 1816, 1813, 1817, 1818, 1781, 1784, 1785, 1804, + + 1804, 1804, 1804, 1804, 1804, 1819, 1820, 1820, 1820, 1820, + 1820, 1820, 1821, 1822, 1823, 1824, 1825, 1780, 1783, 1826, + 1827, 1828, 1829, 1830, 1831, 1832, 1785, 1834, 1835, 1836, + 1837, 1839, 1841, 1842, 1804, 1804, 1804, 1804, 1804, 1804, + 1843, 1844, 1845, 1848, 1846, 1849, 1850, 1826, 1827, 1828, + 1829, 1830, 1847, 1851, 1852, 1853, 1854, 1820, 1820, 1820, + 1820, 1820, 1820, 1855, 1856, 1857, 1858, 1859, 1861, 1781, + 1784, 1860, 1860, 1860, 1862, 1863, 1864, 1865, 1865, 1865, + 1865, 1865, 1865, 1840, 1866, 1839, 1921, 1867, 1870, 1868, + 1871, 1872, 1873, 1875, 1858, 1859, 1861, 1869, 1877, 1878, + + 1879, 1880, 1862, 1881, 1882, 1860, 1860, 1860, 1883, 1885, + 1886, 1838, 1887, 1838, 1884, 1884, 1884, 1884, 1884, 1884, + 1888, 1890, 1891, 1875, 1921, 1892, 1893, 1894, 1889, 1880, + 1895, 1881, 1882, 1896, 1897, 1899, 1900, 1840, 1901, 1905, + 1090, 1906, 1907, 1903, 1091, 1876, 1092, 1911, 1908, 1874, + 1094, 1874, 1909, 1903, 1095, 1912, 1913, 1916, 1895, 1020, + 1019, 1896, 1897, 1018, 1017, 1016, 1015, 1014, 1090, 1013, + 1012, 1011, 1091, 1010, 1092, 1876, 1908, 1921, 1094, 1914, + 1909, 1915, 1095, 1884, 1884, 1884, 1884, 1884, 1884, 1898, + 1898, 1898, 1898, 1898, 1898, 1904, 1910, 1910, 1910, 1910, + + 1910, 1910, 1902, 1917, 1902, 1904, 1918, 1914, 1919, 1915, + 1910, 1910, 1910, 1910, 1910, 1910, 1920, 1009, 1008, 1007, + 1006, 1005, 1004, 1003, 1002, 1001, 1000, 999, 998, 997, + 996, 1917, 995, 994, 1918, 993, 1919, 992, 991, 990, + 989, 988, 987, 986, 1920, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 75, 75, 997, 75, + 72, 72, 72, 72, 72, 72, 72, 75, 75, 982, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 99, 99, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 123, 996, 995, 994, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 228, 993, 992, 991, 228, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 123, 981, 980, 979, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 228, 978, 977, 976, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 428, 428, 990, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 605, 605, 989, 605, 605, 605, 605, 605, - 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, - 605, 605, 605, 605, 1247, 988, 987, 986, 1247, 1247, - 1247, 1247, 1247, 985, 1247, 1247, 1247, 1247, 1247, 1335, - 984, 983, 982, 1335, 1335, 1335, 1335, 1335, 981, 1335, - 1335, 1335, 1335, 1335, 1336, 977, 976, 1336, 975, 974, - 973, 1336, 1336, 1336, 1336, 1336, 972, 1336, 1336, 1336, - - 1336, 1336, 1344, 971, 970, 969, 1344, 1344, 1344, 1344, - 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1351, 1351, 1351, - 1351, 1351, 1351, 1351, 1351, 1351, 952, 1351, 1351, 1351, - 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1354, - 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, - 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, - 1354, 1361, 951, 950, 1361, 1361, 1361, 1361, 1361, 1361, - 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, - 1361, 1361, 1361, 1373, 949, 946, 945, 1373, 1373, 944, - 943, 942, 941, 1373, 1373, 1434, 940, 939, 1434, 938, - - 935, 934, 1434, 1434, 1434, 1434, 1434, 933, 1434, 1434, - 1434, 1434, 1434, 1435, 932, 931, 1435, 1435, 930, 928, - 927, 1435, 926, 1435, 925, 924, 923, 1435, 922, 1435, - 1442, 1442, 1442, 918, 917, 916, 1442, 1442, 1442, 1442, - 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1449, 1449, 1449, - 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, - 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1465, - 913, 912, 911, 1465, 1465, 910, 909, 1465, 908, 1465, - 1465, 907, 906, 1465, 1479, 1479, 905, 1479, 1479, 1479, - 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, - - 1479, 1479, 1479, 1479, 1479, 1479, 1537, 1537, 1537, 1537, - 1537, 1551, 902, 901, 900, 1551, 1551, 899, 898, 897, - 896, 1551, 1551, 1570, 1570, 1570, 1570, 1570, 895, 1570, - 1570, 1570, 1570, 1570, 1571, 1571, 1571, 1571, 1571, 894, - 1571, 1571, 1571, 1571, 1571, 1614, 893, 892, 891, 890, - 1614, 889, 888, 887, 886, 885, 884, 1614, 1614, 1614, - 1614, 1614, 1628, 883, 882, 881, 1628, 1628, 880, 879, - 878, 875, 1628, 1628, 1646, 872, 1646, 1646, 871, 870, - 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, - 1646, 1648, 869, 1648, 1648, 868, 864, 1648, 1648, 1648, - - 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1648, 1686, 863, - 862, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, - 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, - 1740, 861, 860, 1740, 1740, 1740, 1740, 1740, 1740, 1740, - 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, - 1740, 1740, 1765, 1765, 859, 1765, 1765, 1765, 1765, 1765, - 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, - 1765, 1765, 1765, 1765, 1768, 1768, 858, 1768, 1768, 1768, - 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, - 1768, 1768, 1768, 1768, 1768, 1768, 1780, 1780, 1780, 1780, - - 1780, 855, 1780, 1780, 1780, 1780, 1780, 1818, 854, 853, - 852, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, - 1818, 1818, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, - 1822, 851, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, - 1822, 1822, 1822, 1822, 1857, 1857, 1857, 1857, 1857, 1857, - 1857, 1857, 1857, 850, 1857, 1857, 1857, 1857, 1857, 1857, - 1857, 1857, 1857, 1857, 1857, 1857, 1884, 1884, 1884, 1884, - 1884, 1884, 1884, 1884, 1884, 849, 1884, 1884, 1884, 1884, - 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 848, 847, - 846, 845, 844, 843, 842, 841, 840, 839, 838, 837, - - 836, 835, 834, 833, 832, 831, 830, 829, 828, 827, - 826, 825, 824, 823, 797, 794, 793, 792, 791, 790, - 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, - 779, 778, 777, 776, 775, 774, 773, 772, 429, 768, - 767, 766, 765, 764, 763, 762, 761, 760, 755, 754, - 753, 752, 751, 750, 749, 748, 747, 746, 744, 743, - 742, 741, 740, 737, 736, 735, 734, 733, 732, 731, - 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, - 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, - 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, - - 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, - 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, - 680, 679, 678, 677, 676, 675, 674, 673, 671, 670, - 669, 668, 667, 666, 665, 664, 635, 634, 633, 630, - 629, 628, 627, 626, 625, 624, 623, 622, 619, 618, - 617, 616, 615, 611, 610, 609, 429, 603, 602, 601, - 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, - 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, - 579, 578, 577, 576, 575, 574, 573, 570, 569, 568, - 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, - - 557, 556, 555, 554, 553, 550, 549, 546, 545, 544, - 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, - 533, 532, 531, 530, 529, 527, 526, 525, 522, 521, - 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, - 510, 509, 508, 505, 501, 500, 499, 497, 496, 495, - 494, 493, 492, 491, 490, 489, 488, 487, 486, 454, - 453, 452, 451, 450, 449, 444, 443, 442, 441, 440, - 439, 438, 435, 434, 433, 432, 427, 426, 425, 424, - 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, - 413, 412, 411, 407, 406, 400, 399, 391, 390, 385, - - 373, 369, 368, 365, 359, 358, 357, 351, 348, 347, - 346, 345, 344, 343, 342, 341, 339, 338, 334, 333, - 332, 329, 327, 323, 322, 317, 316, 314, 313, 312, - 310, 309, 304, 303, 273, 272, 271, 270, 1903, 264, - 255, 254, 247, 243, 242, 231, 226, 204, 186, 119, - 114, 107, 102, 98, 71, 1903, 3, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903 + 228, 430, 430, 975, 430, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + 430, 430, 430, 608, 608, 974, 608, 608, 608, 608, + 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, + 608, 608, 608, 608, 608, 1255, 957, 956, 955, 1255, + 1255, 1255, 1255, 1255, 954, 1255, 1255, 1255, 1255, 1255, + + 1344, 951, 950, 949, 1344, 1344, 1344, 1344, 1344, 948, + 1344, 1344, 1344, 1344, 1344, 1345, 947, 946, 1345, 945, + 944, 943, 1345, 1345, 1345, 1345, 1345, 940, 1345, 1345, + 1345, 1345, 1345, 1353, 939, 938, 937, 1353, 1353, 1353, + 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1360, 1360, + 1360, 1360, 1360, 1360, 1360, 1360, 1360, 936, 1360, 1360, + 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, + 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, + 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, + 1363, 1363, 1370, 935, 933, 1370, 1370, 1370, 1370, 1370, + + 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, + 1370, 1370, 1370, 1370, 1382, 932, 931, 930, 1382, 1382, + 929, 928, 927, 923, 1382, 1382, 1444, 922, 921, 1444, + 918, 917, 916, 1444, 1444, 1444, 1444, 1444, 915, 1444, + 1444, 1444, 1444, 1444, 1445, 914, 913, 1445, 1445, 912, + 911, 910, 1445, 909, 1445, 906, 905, 904, 1445, 903, + 1445, 1452, 1452, 1452, 902, 901, 900, 1452, 1452, 1452, + 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1459, 1459, + 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, + 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, + + 1475, 899, 898, 897, 1475, 1475, 896, 895, 1475, 894, + 1475, 1475, 893, 892, 1475, 1489, 1489, 891, 1489, 1489, + 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, + 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1548, 1548, 1548, + 1548, 1548, 1562, 890, 889, 888, 1562, 1562, 887, 886, + 885, 884, 1562, 1562, 1581, 1581, 1581, 1581, 1581, 883, + 1581, 1581, 1581, 1581, 1581, 1582, 1582, 1582, 1582, 1582, + 882, 1582, 1582, 1582, 1582, 1582, 1626, 879, 876, 875, + 874, 1626, 873, 872, 868, 867, 866, 865, 1626, 1626, + 1626, 1626, 1626, 1640, 864, 863, 862, 1640, 1640, 859, + + 858, 857, 856, 1640, 1640, 1658, 855, 1658, 1658, 854, + 853, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, + 1658, 1658, 1660, 852, 1660, 1660, 851, 850, 1660, 1660, + 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1699, + 849, 848, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, + 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, + 1699, 1754, 847, 846, 1754, 1754, 1754, 1754, 1754, 1754, + 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, + 1754, 1754, 1754, 1779, 1779, 845, 1779, 1779, 1779, 1779, + 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, + + 1779, 1779, 1779, 1779, 1779, 1782, 1782, 844, 1782, 1782, + 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, + 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1794, 1794, 1794, + 1794, 1794, 843, 1794, 1794, 1794, 1794, 1794, 1833, 842, + 841, 840, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, + 1833, 1833, 1833, 1838, 1838, 1838, 1838, 1838, 1838, 1838, + 1838, 1838, 839, 1838, 1838, 1838, 1838, 1838, 1838, 1838, + 1838, 1838, 1838, 1838, 1838, 1874, 1874, 1874, 1874, 1874, + 1874, 1874, 1874, 1874, 838, 1874, 1874, 1874, 1874, 1874, + 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1902, 1902, 1902, + + 1902, 1902, 1902, 1902, 1902, 1902, 837, 1902, 1902, 1902, + 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 836, + 835, 834, 833, 832, 831, 830, 829, 828, 827, 801, + 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, + 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, + 778, 777, 776, 431, 772, 771, 770, 769, 768, 767, + 766, 765, 764, 759, 758, 757, 756, 755, 754, 753, + 752, 751, 750, 749, 747, 746, 745, 744, 743, 740, + 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, + 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, + + 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, + 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, + 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, + 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, + 679, 678, 677, 676, 674, 673, 672, 671, 670, 669, + 668, 667, 638, 637, 636, 633, 632, 631, 630, 629, + 628, 627, 626, 625, 622, 621, 620, 619, 618, 614, + 613, 612, 431, 606, 605, 604, 603, 602, 601, 600, + 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, + 589, 588, 587, 586, 585, 584, 583, 581, 580, 579, + + 578, 577, 576, 575, 572, 571, 570, 569, 568, 567, + 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, + 556, 555, 552, 551, 548, 547, 546, 545, 544, 543, + 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, + 532, 531, 529, 528, 527, 524, 523, 522, 521, 520, + 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, + 507, 503, 502, 501, 499, 498, 497, 496, 495, 494, + 493, 492, 491, 490, 489, 488, 456, 455, 454, 453, + 452, 451, 446, 445, 444, 443, 442, 441, 440, 437, + 436, 435, 434, 429, 428, 427, 426, 425, 424, 423, + + 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, + 412, 408, 407, 401, 400, 392, 391, 386, 374, 370, + 369, 366, 360, 359, 358, 352, 349, 348, 347, 346, + 345, 344, 343, 342, 340, 339, 335, 334, 333, 330, + 328, 324, 323, 318, 317, 315, 314, 313, 311, 310, + 305, 304, 274, 273, 272, 271, 1921, 265, 256, 255, + 248, 244, 243, 231, 226, 204, 186, 119, 114, 107, + 102, 98, 71, 1921, 3, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921 } ; -static yyconst flex_int16_t yy_chk[3445] = +static yyconst flex_int16_t yy_chk[3463] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1443,10 +1449,10 @@ static yyconst flex_int16_t yy_chk[3445] = 1, 1, 1, 1, 1, 1, 1, 5, 8, 5, 13, 17, 19, 21, 30, 33, 34, 31, 21, 35, - 37, 38, 32, 39, 19, 17, 32, 40, 21, 205, - 41, 31, 47, 47, 31, 32, 42, 70, 205, 70, - 80, 80, 30, 33, 34, 31, 82, 35, 37, 38, - 32, 39, 82, 373, 32, 40, 373, 13, 41, 31, + 37, 38, 32, 39, 19, 17, 32, 40, 21, 890, + 41, 31, 47, 47, 31, 32, 42, 70, 90, 70, + 80, 80, 30, 33, 34, 31, 90, 35, 37, 38, + 32, 39, 94, 891, 32, 40, 94, 13, 41, 31, 8, 10, 31, 32, 42, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -1459,358 +1465,360 @@ static yyconst flex_int16_t yy_chk[3445] = 10, 10, 10, 10, 10, 10, 10, 10, 22, 44, 22, 22, 22, 22, 22, 22, 25, 25, 25, 27, 27, 29, 45, 43, 46, 57, 22, 43, 49, 29, - 892, 29, 87, 60, 90, 895, 29, 44, 29, 87, - 87, 99, 90, 57, 124, 59, 60, 56, 60, 29, + 893, 29, 87, 60, 96, 894, 29, 44, 29, 87, + 87, 99, 124, 57, 96, 59, 60, 56, 60, 29, 45, 43, 46, 57, 22, 43, 49, 29, 51, 29, 49, 59, 51, 49, 29, 896, 29, 56, 56, 49, - 897, 51, 124, 59, 25, 56, 27, 48, 54, 59, + 124, 51, 899, 59, 25, 56, 27, 48, 54, 59, 56, 125, 51, 61, 50, 48, 51, 48, 99, 54, - 51, 61, 48, 54, 48, 898, 51, 96, 50, 51, - 54, 50, 899, 48, 48, 48, 54, 96, 61, 125, - 58, 61, 50, 48, 126, 48, 50, 52, 72, 48, - 48, 48, 48, 50, 53, 198, 50, 83, 901, 50, - 83, 83, 50, 52, 63, 52, 198, 52, 58, 52, - 66, 65, 126, 52, 89, 52, 53, 64, 58, 53, - 91, 64, 53, 94, 58, 53, 53, 94, 63, 65, - 127, 53, 63, 91, 89, 67, 66, 191, 66, 65, + 51, 61, 48, 54, 48, 258, 51, 258, 50, 51, + 54, 50, 126, 48, 48, 48, 54, 89, 61, 125, + 58, 61, 50, 48, 127, 48, 50, 52, 72, 48, + 48, 48, 48, 50, 53, 82, 50, 89, 82, 50, + 126, 82, 50, 52, 63, 52, 153, 52, 58, 52, + 66, 65, 127, 52, 91, 52, 53, 64, 58, 53, + 900, 64, 53, 153, 58, 53, 53, 91, 63, 65, + 83, 53, 63, 83, 83, 67, 66, 191, 66, 65, 72, 66, 63, 128, 95, 64, 172, 172, 63, 64, - 191, 95, 64, 64, 129, 67, 95, 207, 127, 95, - 64, 64, 67, 67, 64, 64, 207, 64, 902, 64, - 153, 128, 67, 78, 78, 78, 78, 78, 78, 84, - 84, 84, 129, 130, 257, 84, 257, 153, 111, 84, - 111, 111, 111, 111, 111, 111, 112, 131, 112, 112, - 112, 112, 112, 112, 132, 134, 111, 135, 136, 137, - 113, 130, 113, 133, 112, 113, 113, 113, 113, 113, - 113, 138, 133, 139, 140, 131, 141, 142, 143, 145, - 144, 146, 132, 134, 111, 135, 136, 137, 144, 146, - 147, 133, 112, 148, 149, 154, 155, 158, 162, 138, - - 133, 139, 140, 165, 141, 142, 143, 145, 144, 146, - 220, 429, 179, 170, 189, 154, 144, 146, 147, 168, - 220, 148, 149, 154, 155, 158, 162, 155, 168, 170, - 903, 165, 165, 162, 176, 904, 192, 165, 158, 165, - 179, 170, 189, 189, 196, 203, 202, 168, 168, 215, - 168, 176, 202, 210, 179, 176, 168, 203, 218, 213, - 215, 210, 176, 192, 192, 213, 214, 796, 192, 219, - 796, 218, 196, 203, 196, 223, 192, 206, 224, 223, - 214, 244, 429, 214, 274, 206, 275, 209, 196, 196, - 196, 196, 206, 905, 206, 209, 326, 219, 206, 244, - - 224, 249, 249, 206, 326, 206, 224, 394, 206, 394, - 206, 206, 274, 206, 275, 209, 258, 258, 299, 299, - 299, 209, 209, 209, 227, 227, 227, 227, 227, 227, - 266, 266, 266, 266, 266, 266, 268, 268, 268, 268, - 268, 268, 276, 267, 277, 267, 266, 244, 267, 267, - 267, 267, 267, 267, 269, 269, 269, 269, 269, 269, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 276, 288, 277, 289, 266, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 300, 301, 302, 318, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 323, 288, - - 324, 289, 323, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 300, 301, 302, 318, 337, 345, 349, 370, - 403, 430, 431, 435, 441, 906, 907, 370, 324, 435, - 345, 324, 435, 451, 457, 451, 458, 459, 460, 461, - 430, 462, 464, 465, 337, 466, 349, 467, 403, 455, - 455, 455, 455, 455, 455, 456, 456, 456, 456, 456, - 456, 349, 457, 604, 458, 459, 460, 461, 441, 462, - 464, 465, 468, 466, 470, 467, 471, 472, 473, 474, - 474, 474, 475, 476, 477, 478, 479, 480, 481, 483, - 484, 431, 482, 482, 482, 498, 608, 572, 580, 908, - - 468, 572, 470, 636, 471, 472, 473, 909, 638, 593, - 475, 476, 477, 478, 479, 480, 481, 483, 484, 605, - 593, 593, 604, 498, 482, 593, 580, 498, 606, 639, - 632, 636, 910, 642, 643, 635, 638, 644, 605, 482, - 632, 482, 635, 645, 646, 647, 635, 606, 648, 650, - 653, 655, 482, 651, 651, 651, 656, 639, 657, 658, - 608, 642, 643, 659, 660, 644, 661, 482, 662, 482, - 663, 645, 646, 647, 704, 721, 648, 650, 653, 655, - 745, 721, 769, 723, 656, 704, 657, 658, 754, 714, - 765, 659, 660, 770, 661, 714, 662, 723, 663, 606, - - 801, 771, 651, 754, 786, 714, 765, 802, 745, 803, - 912, 804, 770, 779, 779, 779, 779, 779, 779, 805, - 805, 805, 806, 808, 839, 839, 809, 810, 801, 812, - 651, 813, 816, 818, 819, 802, 820, 803, 769, 804, - 821, 900, 786, 913, 914, 915, 916, 900, 911, 917, - 806, 808, 770, 771, 809, 810, 911, 812, 918, 813, - 816, 818, 819, 919, 820, 920, 921, 922, 821, 923, - 924, 925, 926, 839, 927, 928, 929, 929, 929, 929, - 929, 929, 930, 931, 920, 932, 933, 934, 935, 936, - 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, - - 947, 948, 949, 950, 951, 952, 953, 955, 956, 956, - 956, 969, 972, 959, 960, 960, 960, 961, 962, 964, - 965, 920, 966, 967, 968, 973, 974, 975, 919, 977, - 983, 984, 985, 986, 953, 955, 989, 921, 957, 957, - 957, 959, 990, 991, 992, 961, 962, 964, 965, 994, - 966, 967, 968, 995, 997, 998, 999, 1000, 1002, 1003, - 1004, 1006, 1007, 1008, 1010, 1012, 1013, 1014, 1015, 1016, - 1018, 1019, 1023, 957, 1024, 1025, 1026, 957, 1027, 957, - 1028, 1029, 957, 957, 1030, 1031, 1032, 957, 1033, 1034, - 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, - - 1045, 957, 1046, 1047, 1048, 957, 1049, 957, 1050, 1051, - 957, 957, 1052, 1053, 1054, 957, 1055, 1056, 1058, 1059, - 1060, 1061, 1062, 1048, 1049, 1057, 1057, 1057, 1057, 1057, - 1057, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, - 1064, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, - 1081, 1082, 1083, 1083, 1083, 1084, 1085, 1086, 1087, 1088, - 1089, 1090, 1091, 1091, 1091, 1092, 1093, 1089, 1099, 1048, - 1094, 1095, 1097, 1100, 1101, 1103, 1088, 1104, 1081, 1082, - 1106, 1107, 1108, 1084, 1085, 1086, 1087, 1088, 1089, 1090, - 1109, 1111, 1112, 1092, 1093, 1089, 1083, 1113, 1094, 1095, - - 1097, 1114, 1115, 1117, 1088, 1119, 1120, 1091, 1122, 1123, - 1124, 1125, 1127, 1128, 1129, 1131, 1132, 1135, 1136, 1138, - 1139, 1140, 1141, 1142, 1083, 1143, 1144, 1145, 1146, 1147, - 1148, 1150, 1151, 1152, 1153, 1091, 1154, 1155, 1156, 1157, - 1158, 1158, 1159, 1160, 1161, 1151, 1162, 1162, 1162, 1162, - 1162, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1157, 1169, - 1170, 1171, 1172, 1174, 1175, 1160, 1176, 1177, 1178, 1179, - 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, - 1190, 1191, 1191, 1191, 1192, 1193, 1194, 1195, 1196, 1196, - 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1203, 1203, - - 1204, 1206, 1207, 1208, 1209, 1210, 1212, 1214, 1190, 1215, - 1216, 1217, 1192, 1193, 1194, 1195, 1218, 1219, 1220, 1197, - 1198, 1199, 1200, 1201, 1202, 1221, 1224, 1226, 1204, 1206, - 1207, 1228, 1229, 1230, 1231, 1233, 1234, 1236, 1237, 1238, - 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1248, 1249, 1248, - 1248, 1248, 1248, 1248, 1248, 1250, 1251, 1252, 1253, 1254, - 1256, 1256, 1258, 1259, 1260, 1263, 1265, 1266, 1267, 1270, - 1257, 1256, 1257, 1256, 1256, 1256, 1256, 1256, 1256, 1257, - 1257, 1272, 1273, 1257, 1261, 1261, 1261, 1261, 1261, 1261, - 1268, 1259, 1274, 1269, 1275, 1276, 1256, 1262, 1262, 1262, - - 1262, 1262, 1262, 1277, 1269, 1278, 1268, 1279, 1256, 1269, - 1280, 1281, 1282, 1283, 1258, 1284, 1256, 1285, 1286, 1287, - 1291, 1256, 1292, 1293, 1256, 1295, 1296, 1256, 1288, 1288, - 1288, 1297, 1298, 1256, 1299, 1300, 1256, 1289, 1289, 1289, - 1294, 1294, 1294, 1301, 1301, 1301, 1303, 1304, 1291, 1305, - 1292, 1293, 1306, 1295, 1296, 1307, 1308, 1309, 1310, 1297, - 1298, 1311, 1299, 1300, 1312, 1306, 1313, 1314, 1315, 1316, - 1317, 1318, 1319, 1321, 1303, 1304, 1301, 1322, 1323, 1324, - 1325, 1326, 1327, 1328, 1329, 1289, 1330, 1294, 1331, 1332, - 1333, 1334, 1301, 1338, 1339, 1340, 1341, 1342, 1343, 1346, - - 1347, 1348, 1349, 1350, 1301, 1346, 1351, 1357, 1362, 1363, - 1364, 1365, 1354, 1289, 1366, 1294, 1353, 1356, 1367, 1368, - 1301, 1345, 1345, 1358, 1358, 1358, 1358, 1358, 1358, 1369, - 1370, 1371, 1345, 1372, 1345, 1345, 1345, 1345, 1345, 1345, - 1354, 1353, 1373, 1353, 1356, 1359, 1359, 1359, 1359, 1359, - 1359, 1360, 1360, 1360, 1360, 1360, 1360, 1345, 1351, 1374, - 1375, 1372, 1376, 1377, 1378, 1379, 1377, 1380, 1381, 1345, - 1373, 1382, 1356, 1383, 1384, 1385, 1386, 1345, 1387, 1388, - 1388, 1388, 1345, 1389, 1390, 1345, 1392, 1393, 1345, 1394, - 1395, 1404, 1396, 1398, 1345, 1399, 1400, 1345, 1401, 1405, - - 1402, 1403, 1406, 1408, 1412, 1413, 1414, 1415, 1416, 1417, - 1418, 1389, 1390, 1420, 1392, 1393, 1422, 1394, 1395, 1388, - 1396, 1398, 1423, 1399, 1400, 1427, 1401, 1385, 1402, 1403, - 1424, 1424, 1424, 1424, 1424, 1424, 1425, 1426, 1426, 1429, - 1430, 1431, 1432, 1436, 1425, 1437, 1438, 1388, 1428, 1428, - 1428, 1428, 1428, 1428, 1433, 1433, 1433, 1433, 1433, 1433, - 1439, 1440, 1441, 1443, 1444, 1445, 1446, 1447, 1439, 1448, - 1449, 1450, 1455, 1451, 1453, 1453, 1453, 1453, 1453, 1453, - 1454, 1454, 1454, 1454, 1454, 1454, 1456, 1457, 1458, 1459, - 1460, 1461, 1462, 1463, 1456, 1464, 1465, 1460, 1449, 1450, - - 1451, 1467, 1467, 1467, 1467, 1467, 1467, 1468, 1469, 1470, - 1471, 1472, 1474, 1473, 1475, 1475, 1476, 1470, 1473, 1477, - 1478, 1475, 1479, 1484, 1465, 1485, 1486, 1473, 1451, 1487, - 1488, 1473, 1489, 1490, 1491, 1492, 1492, 1492, 1494, 1495, - 1496, 1497, 1498, 1499, 1500, 1503, 1506, 1507, 1509, 1510, - 1513, 1484, 1517, 1485, 1486, 1519, 1520, 1487, 1488, 1522, - 1489, 1490, 1491, 1521, 1524, 1525, 1494, 1495, 1496, 1497, - 1526, 1521, 1527, 1529, 1479, 1512, 1512, 1512, 1512, 1512, - 1512, 1518, 1530, 1518, 1518, 1518, 1518, 1518, 1518, 1523, - 1523, 1523, 1523, 1523, 1523, 1531, 1532, 1533, 1534, 1535, - - 1537, 1538, 1538, 1538, 1538, 1538, 1538, 1539, 1540, 1542, - 1543, 1544, 1545, 1546, 1547, 1539, 1548, 1549, 1550, 1552, - 1552, 1552, 1552, 1552, 1552, 1553, 1554, 1555, 1557, 1558, - 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, - 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, - 1579, 1580, 1580, 1580, 1581, 1582, 1583, 1584, 1585, 1586, - 1587, 1589, 1590, 1592, 1593, 1593, 1593, 1593, 1593, 1593, - 1598, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1595, - 1599, 1601, 1581, 1582, 1583, 1584, 1597, 1595, 1596, 1596, - 1596, 1596, 1596, 1596, 1597, 1603, 1604, 1605, 1607, 1580, - - 1602, 1602, 1602, 1602, 1602, 1602, 1607, 1608, 1608, 1608, - 1608, 1608, 1608, 1611, 1612, 1613, 1614, 1616, 1619, 1620, - 1622, 1623, 1624, 1626, 1627, 1630, 1631, 1580, 1629, 1629, - 1629, 1629, 1629, 1629, 1633, 1634, 1635, 1636, 1637, 1638, - 1639, 1639, 1639, 1639, 1639, 1639, 1640, 1641, 1642, 1643, - 1644, 1645, 1646, 1647, 1648, 1649, 1651, 1652, 1644, 1650, - 1650, 1650, 1654, 1656, 1658, 1645, 1659, 1660, 1662, 1663, - 1664, 1666, 1667, 1669, 1670, 1671, 1671, 1671, 1671, 1671, - 1671, 1672, 1676, 1677, 1651, 1652, 1678, 1680, 1683, 1674, - 1654, 1656, 1658, 1684, 1659, 1660, 1662, 1674, 1682, 1682, - - 1682, 1682, 1682, 1682, 1682, 1685, 1688, 1688, 1688, 1688, - 1688, 1688, 1689, 1690, 1692, 1693, 1694, 1695, 1696, 1697, - 1698, 1699, 1700, 1702, 1705, 1706, 1708, 1710, 1698, 1711, - 1712, 1713, 1703, 1702, 1703, 1703, 1703, 1703, 1703, 1703, - 1707, 1715, 1714, 1714, 1714, 1717, 1718, 1719, 1707, 1720, - 1723, 1725, 1726, 1730, 1732, 1733, 1734, 1736, 1738, 1739, - 1688, 1743, 1732, 1741, 1741, 1741, 1741, 1741, 1741, 1715, - 1742, 1744, 1745, 1717, 1718, 1719, 1746, 1720, 1742, 1747, - 1748, 1749, 1712, 1713, 1714, 1751, 1753, 1754, 1748, 1755, - 1756, 1757, 1757, 1757, 1757, 1757, 1757, 1758, 1759, 1760, - - 1763, 1764, 1765, 1768, 1771, 1772, 1773, 1775, 1776, 1777, - 1779, 1782, 1714, 1784, 1785, 1786, 1787, 1788, 1789, 1789, - 1789, 1789, 1789, 1789, 1790, 1792, 1793, 1796, 1797, 1795, - 1799, 1801, 1771, 1772, 1773, 1775, 1776, 1795, 1802, 1803, - 1804, 1805, 1805, 1805, 1805, 1805, 1805, 1807, 1809, 1810, - 1811, 1812, 1814, 1815, 1765, 1768, 1813, 1813, 1813, 1816, - 1820, 1820, 1820, 1820, 1820, 1820, 1821, 1786, 1822, 1824, - 1826, 1831, 1832, 1834, 1830, 1835, 1836, 1839, 1811, 1812, - 1814, 1815, 1830, 1840, 1841, 1842, 1843, 1845, 1844, 1844, - 1844, 1849, 1851, 1853, 1824, 1854, 1824, 1848, 1848, 1848, - - 1848, 1848, 1848, 1854, 1855, 1856, 1857, 1859, 1860, 1861, - 1862, 1863, 1864, 1842, 1843, 1845, 1865, 1869, 1870, 1872, - 1822, 1873, 1874, 1844, 1875, 1876, 1877, 1844, 1836, 1844, - 1883, 1879, 1859, 1844, 1859, 1884, 1887, 1844, 1883, 1863, - 1864, 1893, 890, 889, 1865, 1866, 1866, 1866, 1866, 1866, - 1866, 1844, 1890, 887, 1877, 1844, 1886, 1844, 1857, 1879, - 1891, 1844, 886, 885, 884, 1844, 1867, 1867, 1867, 1867, - 1867, 1867, 1896, 1873, 1880, 1880, 1880, 1880, 1880, 1880, - 1890, 1886, 1897, 1886, 1899, 1901, 883, 1884, 1891, 1892, - 1892, 1892, 1892, 1892, 1892, 882, 880, 879, 878, 877, - - 1896, 876, 875, 874, 873, 871, 869, 868, 867, 866, - 1897, 864, 1899, 1901, 1904, 1904, 1904, 1904, 1904, 1904, - 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, - 1904, 1904, 1904, 1904, 1904, 1904, 1905, 1905, 863, 1905, - 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, - 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1906, 1906, - 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, - 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, - 1907, 862, 861, 860, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1907, 1907, 1907, 1907, 1908, 859, 858, 857, 1908, - - 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, 1908, - 1909, 1909, 856, 1909, 1909, 1909, 1909, 1909, 1909, 1909, - 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, - 1909, 1909, 1910, 1910, 854, 1910, 1910, 1910, 1910, 1910, - 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, - 1910, 1910, 1910, 1910, 1911, 853, 851, 849, 1911, 1911, - 1911, 1911, 1911, 848, 1911, 1911, 1911, 1911, 1911, 1912, - 846, 843, 842, 1912, 1912, 1912, 1912, 1912, 840, 1912, - 1912, 1912, 1912, 1912, 1913, 838, 833, 1913, 832, 830, - 829, 1913, 1913, 1913, 1913, 1913, 828, 1913, 1913, 1913, - - 1913, 1913, 1914, 826, 825, 824, 1914, 1914, 1914, 1914, - 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1915, 1915, 1915, - 1915, 1915, 1915, 1915, 1915, 1915, 800, 1915, 1915, 1915, - 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1916, - 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, - 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, - 1916, 1917, 799, 798, 1917, 1917, 1917, 1917, 1917, 1917, - 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, - 1917, 1917, 1917, 1918, 797, 795, 794, 1918, 1918, 793, - 792, 791, 790, 1918, 1918, 1919, 789, 788, 1919, 787, - - 785, 784, 1919, 1919, 1919, 1919, 1919, 783, 1919, 1919, - 1919, 1919, 1919, 1920, 782, 781, 1920, 1920, 780, 778, - 777, 1920, 776, 1920, 775, 774, 773, 1920, 772, 1920, - 1921, 1921, 1921, 768, 767, 766, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1922, 1922, 1922, + 191, 95, 64, 64, 129, 67, 95, 198, 130, 95, + 64, 64, 67, 67, 64, 64, 901, 64, 198, 64, + 214, 128, 67, 78, 78, 78, 78, 78, 78, 84, + 84, 84, 129, 131, 214, 84, 130, 214, 111, 84, + 111, 111, 111, 111, 111, 111, 112, 132, 112, 112, + 112, 112, 112, 112, 133, 134, 111, 135, 136, 137, + 113, 131, 113, 133, 112, 113, 113, 113, 113, 113, + 113, 138, 139, 140, 141, 132, 142, 143, 145, 147, + 144, 146, 133, 134, 111, 135, 136, 137, 144, 146, + 148, 133, 112, 149, 154, 155, 158, 162, 902, 138, + + 139, 140, 141, 179, 142, 143, 145, 147, 144, 146, + 165, 205, 374, 170, 154, 374, 144, 146, 148, 168, + 205, 149, 154, 155, 158, 162, 155, 210, 168, 170, + 189, 179, 162, 192, 176, 210, 196, 158, 165, 165, + 203, 170, 215, 202, 165, 179, 165, 168, 168, 202, + 168, 176, 203, 215, 207, 176, 168, 220, 189, 189, + 192, 192, 176, 207, 196, 192, 196, 220, 203, 206, + 213, 219, 218, 192, 223, 245, 213, 206, 223, 209, + 196, 196, 196, 196, 206, 218, 206, 209, 224, 903, + 206, 250, 250, 245, 324, 206, 327, 206, 324, 219, + + 206, 635, 206, 206, 327, 206, 724, 209, 259, 259, + 224, 635, 724, 209, 209, 209, 224, 227, 227, 227, + 227, 227, 227, 267, 267, 267, 267, 267, 267, 269, + 269, 269, 269, 269, 269, 275, 276, 277, 268, 267, + 268, 245, 278, 268, 268, 268, 268, 268, 268, 270, + 270, 270, 270, 270, 270, 279, 280, 281, 282, 283, + 284, 285, 286, 275, 276, 277, 287, 267, 288, 289, + 278, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 301, 302, 279, 280, 281, 282, 283, 284, 285, + 286, 300, 300, 300, 287, 303, 288, 289, 319, 290, + + 291, 292, 293, 294, 295, 296, 297, 298, 299, 301, + 302, 325, 338, 350, 346, 395, 371, 395, 404, 431, + 433, 443, 437, 303, 371, 432, 319, 346, 437, 459, + 453, 437, 453, 457, 457, 457, 457, 457, 457, 325, + 338, 350, 325, 460, 432, 461, 404, 458, 458, 458, + 458, 458, 458, 462, 463, 464, 350, 459, 466, 467, + 468, 607, 611, 469, 470, 443, 472, 473, 474, 475, + 477, 460, 478, 461, 476, 476, 476, 479, 480, 481, + 482, 462, 463, 464, 483, 485, 466, 467, 468, 433, + 431, 469, 470, 486, 472, 473, 474, 475, 477, 500, + + 478, 484, 484, 484, 582, 479, 480, 481, 482, 608, + 574, 639, 483, 485, 574, 905, 609, 641, 596, 800, + 607, 486, 800, 642, 645, 646, 611, 500, 608, 596, + 596, 500, 582, 484, 596, 609, 638, 647, 648, 639, + 649, 650, 651, 638, 653, 641, 656, 638, 484, 658, + 484, 642, 645, 646, 654, 654, 654, 659, 660, 773, + 661, 484, 662, 663, 664, 647, 648, 665, 649, 650, + 651, 666, 653, 707, 656, 726, 484, 658, 484, 748, + 775, 757, 769, 774, 707, 659, 660, 609, 661, 726, + 662, 663, 664, 906, 717, 665, 757, 790, 769, 666, + + 717, 805, 774, 654, 907, 806, 807, 748, 808, 810, + 717, 809, 809, 809, 908, 773, 783, 783, 783, 783, + 783, 783, 812, 813, 814, 816, 817, 820, 822, 805, + 823, 654, 775, 806, 807, 790, 808, 810, 824, 825, + 843, 843, 774, 904, 909, 910, 911, 912, 913, 904, + 812, 813, 814, 816, 817, 820, 822, 914, 823, 915, + 916, 917, 918, 919, 920, 921, 824, 825, 916, 922, + 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, + 933, 934, 934, 934, 934, 934, 934, 935, 936, 843, + 937, 925, 938, 939, 940, 941, 942, 943, 944, 945, + + 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, + 956, 957, 958, 960, 961, 961, 961, 965, 965, 965, + 964, 966, 967, 969, 970, 971, 972, 973, 925, 974, + 977, 978, 979, 980, 982, 988, 924, 989, 990, 991, + 958, 960, 994, 995, 926, 962, 962, 962, 964, 966, + 967, 969, 970, 971, 972, 973, 996, 997, 999, 1000, + 1002, 1003, 1004, 1005, 1007, 1008, 1009, 1011, 1012, 1013, + 1015, 1017, 1018, 1019, 1020, 1021, 1023, 1024, 1028, 1029, + 962, 1030, 1031, 1032, 962, 1033, 962, 1034, 1035, 962, + 962, 1036, 1037, 1038, 962, 1039, 1040, 1041, 1042, 1043, + + 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 962, 1052, + 1053, 1054, 962, 1055, 962, 1056, 1057, 962, 962, 1058, + 1059, 1060, 962, 1061, 1062, 1064, 1065, 1066, 1067, 1068, + 1054, 1055, 1063, 1063, 1063, 1063, 1063, 1063, 1069, 1070, + 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1070, 1078, 1079, + 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, + 1089, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, + 1097, 1097, 1098, 1099, 1095, 1105, 1054, 1100, 1101, 1103, + 1106, 1107, 1109, 1094, 1110, 1087, 1088, 1112, 1113, 1114, + 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1115, 1117, 1118, + + 1098, 1099, 1095, 1089, 1119, 1100, 1101, 1103, 1120, 1121, + 1123, 1094, 1125, 1126, 1097, 1128, 1129, 1130, 1131, 1133, + 1134, 1135, 1137, 1138, 1141, 1142, 1144, 1145, 1146, 1147, + 1148, 1089, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1157, + 1158, 1159, 1097, 1160, 1161, 1162, 1163, 1164, 1165, 1165, + 1166, 1167, 1168, 1158, 1169, 1169, 1169, 1169, 1169, 1169, + 1170, 1171, 1172, 1173, 1174, 1175, 1164, 1176, 1177, 1178, + 1179, 1181, 1182, 1167, 1183, 1184, 1185, 1186, 1187, 1188, + 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, + 1198, 1198, 1199, 1200, 1201, 1202, 1203, 1203, 1203, 1204, + + 1205, 1206, 1207, 1208, 1209, 1210, 1210, 1210, 1211, 1213, + 1214, 1215, 1216, 1217, 1219, 1221, 1197, 1222, 1223, 1224, + 1199, 1200, 1201, 1202, 1225, 1226, 1227, 1204, 1205, 1206, + 1207, 1208, 1209, 1228, 1231, 1233, 1211, 1213, 1214, 1235, + 1236, 1237, 1238, 1240, 1241, 1243, 1244, 1245, 1246, 1247, + 1248, 1249, 1250, 1251, 1252, 1253, 1256, 1257, 1256, 1256, + 1256, 1256, 1256, 1256, 1258, 1259, 1260, 1261, 1262, 1264, + 1264, 1266, 1267, 1268, 1271, 1273, 1274, 1275, 1278, 1265, + 1264, 1265, 1264, 1264, 1264, 1264, 1264, 1264, 1265, 1265, + 1280, 1281, 1265, 1269, 1269, 1269, 1269, 1269, 1269, 1276, + + 1267, 1282, 1277, 1283, 1284, 1264, 1270, 1270, 1270, 1270, + 1270, 1270, 1285, 1277, 1286, 1276, 1287, 1264, 1277, 1288, + 1289, 1290, 1291, 1266, 1292, 1264, 1293, 1294, 1295, 1299, + 1264, 1300, 1301, 1264, 1303, 1304, 1264, 1296, 1296, 1296, + 1305, 1306, 1264, 1307, 1308, 1264, 1297, 1297, 1297, 1302, + 1302, 1302, 1309, 1309, 1309, 1311, 1312, 1299, 1313, 1300, + 1301, 1314, 1303, 1304, 1315, 1316, 1317, 1318, 1305, 1306, + 1319, 1307, 1308, 1320, 1314, 1321, 1322, 1323, 1324, 1325, + 1326, 1327, 1329, 1311, 1312, 1309, 1330, 1331, 1332, 1333, + 1334, 1335, 1336, 1337, 1297, 1338, 1302, 1339, 1340, 1341, + + 1342, 1309, 1343, 1347, 1348, 1349, 1350, 1351, 1352, 1355, + 1356, 1357, 1358, 1309, 1359, 1355, 1360, 1366, 1371, 1372, + 1373, 1363, 1297, 1374, 1302, 1362, 1365, 1375, 1376, 1309, + 1354, 1354, 1367, 1367, 1367, 1367, 1367, 1367, 1377, 1378, + 1379, 1354, 1380, 1354, 1354, 1354, 1354, 1354, 1354, 1363, + 1362, 1381, 1362, 1365, 1368, 1368, 1368, 1368, 1368, 1368, + 1369, 1369, 1369, 1369, 1369, 1369, 1354, 1382, 1360, 1383, + 1384, 1385, 1386, 1387, 1388, 1386, 1389, 1390, 1354, 1381, + 1391, 1365, 1392, 1393, 1394, 1395, 1354, 1396, 1397, 1397, + 1397, 1354, 1398, 1399, 1354, 1382, 1401, 1354, 1402, 1403, + + 1413, 1404, 1405, 1354, 1407, 1408, 1354, 1409, 1414, 1410, + 1411, 1412, 1415, 1417, 1421, 1422, 1423, 1424, 1425, 1426, + 1398, 1399, 1427, 1429, 1401, 1431, 1402, 1403, 1397, 1404, + 1405, 1432, 1407, 1408, 1436, 1409, 1394, 1410, 1411, 1412, + 1433, 1433, 1433, 1433, 1433, 1433, 1434, 1435, 1435, 1438, + 1439, 1440, 1441, 1442, 1434, 1446, 1397, 1437, 1437, 1437, + 1437, 1437, 1437, 1443, 1443, 1443, 1443, 1443, 1443, 1447, + 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1457, 1449, + 1458, 1459, 1460, 1465, 1461, 1463, 1463, 1463, 1463, 1463, + 1463, 1464, 1464, 1464, 1464, 1464, 1464, 1466, 1467, 1468, + + 1469, 1470, 1471, 1472, 1473, 1466, 1474, 1475, 1470, 1459, + 1460, 1461, 1477, 1477, 1477, 1477, 1477, 1477, 1478, 1479, + 1480, 1481, 1482, 1484, 1483, 1485, 1485, 1486, 1480, 1483, + 1487, 1488, 1485, 1489, 1494, 1475, 1495, 1496, 1483, 1461, + 1497, 1498, 1483, 1499, 1500, 1501, 1502, 1502, 1502, 1504, + 1505, 1506, 1507, 1508, 1509, 1510, 1513, 1516, 1517, 1519, + 1520, 1523, 1494, 1527, 1495, 1496, 1529, 1530, 1497, 1498, + 1531, 1499, 1500, 1501, 1532, 1533, 1535, 1504, 1505, 1506, + 1507, 1536, 1532, 1537, 1538, 1489, 1522, 1522, 1522, 1522, + 1522, 1522, 1528, 1540, 1528, 1528, 1528, 1528, 1528, 1528, + + 1534, 1534, 1534, 1534, 1534, 1534, 1541, 1542, 1543, 1544, + 1545, 1546, 1548, 1549, 1549, 1549, 1549, 1549, 1549, 1550, + 1551, 1553, 1554, 1555, 1556, 1557, 1558, 1550, 1559, 1560, + 1561, 1563, 1563, 1563, 1563, 1563, 1563, 1564, 1565, 1566, + 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, + 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, + 1588, 1589, 1590, 1591, 1591, 1591, 1592, 1593, 1594, 1595, + 1596, 1597, 1598, 1600, 1601, 1603, 1604, 1604, 1604, 1604, + 1604, 1604, 1608, 1583, 1584, 1585, 1586, 1587, 1588, 1589, + 1590, 1606, 1610, 1611, 1592, 1593, 1594, 1595, 1609, 1606, + + 1607, 1607, 1607, 1607, 1607, 1607, 1609, 1613, 1615, 1616, + 1617, 1591, 1614, 1614, 1614, 1614, 1614, 1614, 1619, 1620, + 1620, 1620, 1620, 1620, 1620, 1623, 1619, 1624, 1625, 1626, + 1628, 1631, 1632, 1634, 1635, 1636, 1638, 1639, 1642, 1591, + 1641, 1641, 1641, 1641, 1641, 1641, 1643, 1645, 1646, 1647, + 1648, 1649, 1650, 1651, 1651, 1651, 1651, 1651, 1651, 1652, + 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1663, + 1664, 1656, 1662, 1662, 1662, 1666, 1668, 1670, 1657, 1671, + 1672, 1674, 1675, 1676, 1678, 1679, 1681, 1682, 1683, 1683, + 1683, 1683, 1683, 1683, 1684, 1685, 1689, 1663, 1664, 1690, + + 1691, 1693, 1687, 1666, 1668, 1670, 1696, 1671, 1672, 1674, + 1687, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1697, 1698, + 1701, 1701, 1701, 1701, 1701, 1701, 1702, 1703, 1705, 1706, + 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1715, 1718, 1719, + 1721, 1723, 1711, 1724, 1725, 1726, 1716, 1715, 1716, 1716, + 1716, 1716, 1716, 1716, 1720, 1728, 1727, 1727, 1727, 1730, + 1731, 1732, 1720, 1733, 1736, 1738, 1739, 1742, 1744, 1746, + 1747, 1748, 1750, 1752, 1701, 1753, 1756, 1746, 1757, 1758, + 1759, 1760, 1761, 1728, 1756, 1762, 1763, 1730, 1731, 1732, + 1765, 1733, 1767, 1762, 1768, 1769, 1725, 1726, 1727, 1755, + + 1755, 1755, 1755, 1755, 1755, 1770, 1771, 1771, 1771, 1771, + 1771, 1771, 1772, 1773, 1774, 1777, 1778, 1779, 1782, 1785, + 1786, 1787, 1789, 1790, 1791, 1793, 1727, 1795, 1797, 1799, + 1800, 1801, 1802, 1803, 1804, 1804, 1804, 1804, 1804, 1804, + 1805, 1807, 1808, 1811, 1810, 1812, 1814, 1785, 1786, 1787, + 1789, 1790, 1810, 1816, 1817, 1818, 1819, 1820, 1820, 1820, + 1820, 1820, 1820, 1822, 1824, 1825, 1826, 1827, 1829, 1779, + 1782, 1828, 1828, 1828, 1830, 1831, 1834, 1836, 1836, 1836, + 1836, 1836, 1836, 1801, 1837, 1838, 1840, 1842, 1847, 1846, + 1848, 1850, 1851, 1852, 1826, 1827, 1829, 1846, 1855, 1856, + + 1857, 1858, 1830, 1859, 1861, 1860, 1860, 1860, 1864, 1866, + 1868, 1840, 1870, 1840, 1865, 1865, 1865, 1865, 1865, 1865, + 1871, 1872, 1873, 1874, 1876, 1877, 1878, 1879, 1871, 1858, + 1880, 1859, 1861, 1881, 1882, 1887, 1888, 1838, 1890, 1892, + 1860, 1893, 1894, 1891, 1860, 1852, 1860, 1901, 1895, 1876, + 1860, 1876, 1897, 1902, 1860, 1901, 1905, 1911, 1880, 889, + 888, 1881, 1882, 887, 886, 884, 883, 882, 1860, 881, + 880, 879, 1860, 878, 1860, 1874, 1895, 1904, 1860, 1908, + 1897, 1909, 1860, 1884, 1884, 1884, 1884, 1884, 1884, 1885, + 1885, 1885, 1885, 1885, 1885, 1891, 1898, 1898, 1898, 1898, + + 1898, 1898, 1904, 1914, 1904, 1902, 1915, 1908, 1917, 1909, + 1910, 1910, 1910, 1910, 1910, 1910, 1919, 877, 875, 873, + 872, 871, 870, 868, 867, 866, 865, 864, 863, 862, + 861, 1914, 860, 858, 1915, 857, 1917, 855, 853, 852, + 850, 847, 846, 844, 1919, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1923, - 763, 762, 761, 1923, 1923, 760, 759, 1923, 758, 1923, - 1923, 757, 756, 1923, 1924, 1924, 755, 1924, 1924, 1924, + 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1923, 1923, 842, + 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, + 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, - 1924, 1924, 1924, 1924, 1924, 1924, 1925, 1925, 1925, 1925, - 1925, 1926, 753, 752, 751, 1926, 1926, 750, 748, 747, - 746, 1926, 1926, 1927, 1927, 1927, 1927, 1927, 744, 1927, - 1927, 1927, 1927, 1927, 1928, 1928, 1928, 1928, 1928, 743, - 1928, 1928, 1928, 1928, 1928, 1929, 742, 741, 740, 739, - 1929, 738, 736, 735, 733, 732, 731, 1929, 1929, 1929, - 1929, 1929, 1930, 730, 728, 727, 1930, 1930, 726, 725, - 724, 722, 1930, 1930, 1931, 720, 1931, 1931, 718, 717, - 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, - 1931, 1932, 716, 1932, 1932, 715, 713, 1932, 1932, 1932, - - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1933, 712, - 710, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, + 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, + 1924, 1925, 837, 836, 834, 1925, 1925, 1925, 1925, 1925, + 1925, 1925, 1925, 1925, 1925, 1925, 1926, 833, 832, 830, + 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + 1926, 1927, 1927, 829, 1927, 1927, 1927, 1927, 1927, 1927, + 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, + 1927, 1927, 1927, 1928, 1928, 828, 1928, 1928, 1928, 1928, + 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, + 1928, 1928, 1928, 1928, 1928, 1929, 804, 803, 802, 1929, + 1929, 1929, 1929, 1929, 801, 1929, 1929, 1929, 1929, 1929, + + 1930, 799, 798, 797, 1930, 1930, 1930, 1930, 1930, 796, + 1930, 1930, 1930, 1930, 1930, 1931, 795, 794, 1931, 793, + 792, 791, 1931, 1931, 1931, 1931, 1931, 789, 1931, 1931, + 1931, 1931, 1931, 1932, 788, 787, 786, 1932, 1932, 1932, + 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1933, 1933, + 1933, 1933, 1933, 1933, 1933, 1933, 1933, 785, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, - 1934, 709, 708, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1935, 1935, 707, 1935, 1935, 1935, 1935, 1935, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1935, 784, 782, 1935, 1935, 1935, 1935, 1935, + 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, - 1935, 1935, 1935, 1935, 1936, 1936, 706, 1936, 1936, 1936, - 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, - 1936, 1936, 1936, 1936, 1936, 1936, 1937, 1937, 1937, 1937, - - 1937, 703, 1937, 1937, 1937, 1937, 1937, 1938, 702, 701, - 700, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, - 1939, 699, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, - 1939, 1939, 1939, 1939, 1940, 1940, 1940, 1940, 1940, 1940, - 1940, 1940, 1940, 698, 1940, 1940, 1940, 1940, 1940, 1940, - 1940, 1940, 1940, 1940, 1940, 1940, 1941, 1941, 1941, 1941, - 1941, 1941, 1941, 1941, 1941, 697, 1941, 1941, 1941, 1941, - 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 696, 695, - 694, 693, 692, 691, 690, 688, 687, 685, 684, 683, - - 682, 681, 680, 679, 678, 677, 676, 675, 673, 672, - 670, 669, 666, 665, 634, 631, 630, 629, 628, 627, - 626, 625, 624, 623, 622, 621, 620, 619, 618, 617, - 616, 615, 614, 613, 612, 611, 610, 609, 607, 603, - 602, 601, 600, 599, 598, 596, 595, 594, 592, 591, - 590, 589, 588, 587, 586, 583, 582, 581, 579, 577, - 576, 575, 574, 571, 569, 568, 567, 566, 565, 564, - 563, 562, 561, 560, 559, 558, 557, 556, 555, 554, - 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, - 543, 541, 540, 539, 538, 537, 536, 535, 533, 532, - - 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, - 520, 519, 517, 515, 514, 513, 512, 511, 510, 508, - 507, 506, 505, 504, 502, 501, 500, 499, 494, 492, - 491, 490, 489, 488, 487, 486, 454, 453, 452, 450, - 449, 448, 447, 446, 445, 444, 443, 442, 440, 439, - 438, 437, 436, 434, 433, 432, 428, 427, 426, 425, - 424, 423, 422, 421, 420, 419, 418, 417, 416, 415, - 414, 413, 411, 410, 409, 408, 407, 406, 405, 404, - 402, 401, 400, 399, 397, 396, 395, 393, 392, 391, - 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, - - 379, 378, 377, 376, 374, 372, 371, 369, 368, 367, - 366, 365, 363, 362, 361, 360, 359, 358, 357, 356, - 354, 353, 352, 351, 350, 348, 347, 346, 344, 343, - 342, 340, 339, 338, 336, 335, 334, 333, 332, 330, - 329, 328, 327, 325, 322, 321, 319, 317, 316, 315, - 314, 313, 312, 311, 310, 309, 306, 305, 304, 264, - 263, 262, 261, 260, 259, 256, 255, 254, 253, 252, - 251, 250, 248, 247, 246, 245, 243, 242, 241, 240, - 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, - 229, 226, 225, 222, 221, 217, 216, 212, 211, 208, - - 204, 201, 199, 197, 195, 194, 193, 190, 188, 186, - 185, 184, 183, 182, 181, 180, 178, 177, 175, 174, - 173, 171, 169, 167, 166, 164, 163, 161, 160, 159, - 157, 156, 152, 151, 122, 121, 118, 115, 101, 97, - 93, 92, 88, 86, 85, 81, 68, 62, 55, 26, - 23, 20, 16, 12, 7, 3, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1903, - 1903, 1903, 1903, 1903 + 1935, 1935, 1935, 1935, 1936, 781, 780, 779, 1936, 1936, + 778, 777, 776, 772, 1936, 1936, 1937, 771, 770, 1937, + 767, 766, 765, 1937, 1937, 1937, 1937, 1937, 764, 1937, + 1937, 1937, 1937, 1937, 1938, 763, 762, 1938, 1938, 761, + 760, 759, 1938, 758, 1938, 756, 755, 754, 1938, 753, + 1938, 1939, 1939, 1939, 751, 750, 749, 1939, 1939, 1939, + 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1940, 1940, + 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, + 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, + + 1941, 747, 746, 745, 1941, 1941, 744, 743, 1941, 742, + 1941, 1941, 741, 739, 1941, 1942, 1942, 738, 1942, 1942, + 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, + 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1943, 1943, 1943, + 1943, 1943, 1944, 736, 735, 734, 1944, 1944, 733, 731, + 730, 729, 1944, 1944, 1945, 1945, 1945, 1945, 1945, 728, + 1945, 1945, 1945, 1945, 1945, 1946, 1946, 1946, 1946, 1946, + 727, 1946, 1946, 1946, 1946, 1946, 1947, 725, 723, 721, + 720, 1947, 719, 718, 716, 715, 713, 712, 1947, 1947, + 1947, 1947, 1947, 1948, 711, 710, 709, 1948, 1948, 706, + + 705, 704, 703, 1948, 1948, 1949, 702, 1949, 1949, 701, + 700, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, + 1949, 1949, 1950, 699, 1950, 1950, 698, 697, 1950, 1950, + 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1951, + 696, 695, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1952, 694, 693, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1953, 1953, 691, 1953, 1953, 1953, 1953, + 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, + + 1953, 1953, 1953, 1953, 1953, 1954, 1954, 690, 1954, 1954, + 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, + 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1955, 1955, 1955, + 1955, 1955, 688, 1955, 1955, 1955, 1955, 1955, 1956, 687, + 686, 685, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, + 1956, 1956, 1956, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 684, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1958, 1958, 1958, 1958, 1958, + 1958, 1958, 1958, 1958, 683, 1958, 1958, 1958, 1958, 1958, + 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1959, 1959, 1959, + + 1959, 1959, 1959, 1959, 1959, 1959, 682, 1959, 1959, 1959, + 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 681, + 680, 679, 678, 676, 675, 673, 672, 669, 668, 637, + 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, + 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, + 614, 613, 612, 610, 606, 605, 604, 603, 602, 601, + 599, 598, 597, 595, 594, 593, 592, 591, 590, 589, + 588, 585, 584, 583, 581, 579, 578, 577, 576, 573, + 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, + 561, 560, 559, 558, 557, 556, 555, 554, 553, 552, + + 551, 550, 549, 548, 547, 546, 545, 543, 542, 541, + 540, 539, 538, 537, 535, 534, 532, 531, 530, 529, + 528, 527, 526, 525, 524, 523, 522, 521, 519, 517, + 516, 515, 514, 513, 512, 510, 509, 508, 507, 506, + 504, 503, 502, 501, 496, 494, 493, 492, 491, 490, + 489, 488, 456, 455, 454, 452, 451, 450, 449, 448, + 447, 446, 445, 444, 442, 441, 440, 439, 438, 436, + 435, 434, 430, 429, 428, 427, 426, 425, 424, 423, + 422, 421, 420, 419, 418, 417, 416, 415, 414, 412, + 411, 410, 409, 408, 407, 406, 405, 403, 402, 401, + + 400, 398, 397, 396, 394, 393, 392, 390, 389, 388, + 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, + 377, 375, 373, 372, 370, 369, 368, 367, 366, 364, + 363, 362, 361, 360, 359, 358, 357, 355, 354, 353, + 352, 351, 349, 348, 347, 345, 344, 343, 341, 340, + 339, 337, 336, 335, 334, 333, 331, 330, 329, 328, + 326, 323, 322, 320, 318, 317, 316, 315, 314, 313, + 312, 311, 310, 307, 306, 305, 265, 264, 263, 262, + 261, 260, 257, 256, 255, 254, 253, 252, 251, 249, + 248, 247, 246, 244, 243, 242, 241, 240, 239, 238, + + 237, 236, 235, 234, 233, 232, 231, 230, 229, 226, + 225, 222, 221, 217, 216, 212, 211, 208, 204, 201, + 199, 197, 195, 194, 193, 190, 188, 186, 185, 184, + 183, 182, 181, 180, 178, 177, 175, 174, 173, 171, + 169, 167, 166, 164, 163, 161, 160, 159, 157, 156, + 152, 151, 122, 121, 118, 115, 101, 97, 93, 92, + 88, 86, 85, 81, 68, 62, 55, 26, 23, 20, + 16, 12, 7, 3, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, + 1921, 1921 } ; /* The intent behind this definition is that it'll catch @@ -1834,6 +1842,7 @@ static yyconst flex_int16_t yy_chk[3445] = * * History * + * bengsig 15-mar-2024 - $connecterror:accept * bengsig 4-mar-2024 - atime, dtime * bengsig 29-feb-2024 - $filelinename directive * bengsig 28-feb-2024 - simple escape processing in user help text @@ -1926,7 +1935,7 @@ static yyconst flex_int16_t yy_chk[3445] = * bengsig 06-feb-2018 - added ociping * bengsig 10-feb-2017 - creation */ -#line 108 "rwllexer.l" +#line 109 "rwllexer.l" #include "rwl.h" #include "rwlparser.tab.h" @@ -1939,7 +1948,7 @@ static yyconst flex_int16_t yy_chk[3445] = rwm->rwlytext = (text *)yytext; \ } -#line 1943 "lex.rwly.c" +#line 1952 "lex.rwly.c" #define INITIAL 0 @@ -2212,7 +2221,7 @@ YY_DECL } { -#line 126 "rwllexer.l" +#line 127 "rwllexer.l" @@ -2224,7 +2233,7 @@ YY_DECL /* **************************************************************** */ /*LEXTAG:RWL_T_SQL_TEXT*/ -#line 2228 "lex.rwly.c" +#line 2237 "lex.rwly.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2251,13 +2260,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1904 ) + if ( yy_current_state >= 1922 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 3357 ); + while ( yy_base[yy_current_state] != 3375 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -2283,128 +2292,128 @@ YY_DECL case 1: /* rule 1 can match eol */ -#line 138 "rwllexer.l" +#line 139 "rwllexer.l" case 2: /* rule 2 can match eol */ -#line 139 "rwllexer.l" +#line 140 "rwllexer.l" case 3: /* rule 3 can match eol */ -#line 140 "rwllexer.l" +#line 141 "rwllexer.l" case 4: /* rule 4 can match eol */ -#line 141 "rwllexer.l" +#line 142 "rwllexer.l" case 5: /* rule 5 can match eol */ -#line 142 "rwllexer.l" +#line 143 "rwllexer.l" case 6: /* rule 6 can match eol */ -#line 143 "rwllexer.l" +#line 144 "rwllexer.l" case 7: /* rule 7 can match eol */ -#line 144 "rwllexer.l" +#line 145 "rwllexer.l" case 8: /* rule 8 can match eol */ -#line 145 "rwllexer.l" +#line 146 "rwllexer.l" case 9: /* rule 9 can match eol */ -#line 146 "rwllexer.l" +#line 147 "rwllexer.l" case 10: /* rule 10 can match eol */ -#line 147 "rwllexer.l" +#line 148 "rwllexer.l" case 11: /* rule 11 can match eol */ -#line 148 "rwllexer.l" +#line 149 "rwllexer.l" case 12: /* rule 12 can match eol */ -#line 149 "rwllexer.l" +#line 150 "rwllexer.l" case 13: /* rule 13 can match eol */ -#line 150 "rwllexer.l" +#line 151 "rwllexer.l" case 14: /* rule 14 can match eol */ -#line 151 "rwllexer.l" +#line 152 "rwllexer.l" case 15: /* rule 15 can match eol */ -#line 152 "rwllexer.l" +#line 153 "rwllexer.l" case 16: /* rule 16 can match eol */ -#line 153 "rwllexer.l" +#line 154 "rwllexer.l" case 17: /* rule 17 can match eol */ -#line 154 "rwllexer.l" +#line 155 "rwllexer.l" case 18: /* rule 18 can match eol */ -#line 155 "rwllexer.l" +#line 156 "rwllexer.l" case 19: /* rule 19 can match eol */ -#line 156 "rwllexer.l" +#line 157 "rwllexer.l" case 20: /* rule 20 can match eol */ -#line 157 "rwllexer.l" +#line 158 "rwllexer.l" case 21: /* rule 21 can match eol */ -#line 158 "rwllexer.l" +#line 159 "rwllexer.l" case 22: /* rule 22 can match eol */ -#line 159 "rwllexer.l" +#line 160 "rwllexer.l" case 23: /* rule 23 can match eol */ -#line 160 "rwllexer.l" +#line 161 "rwllexer.l" case 24: /* rule 24 can match eol */ -#line 161 "rwllexer.l" +#line 162 "rwllexer.l" case 25: /* rule 25 can match eol */ -#line 162 "rwllexer.l" +#line 163 "rwllexer.l" case 26: /* rule 26 can match eol */ -#line 163 "rwllexer.l" +#line 164 "rwllexer.l" case 27: /* rule 27 can match eol */ -#line 164 "rwllexer.l" +#line 165 "rwllexer.l" case 28: /* rule 28 can match eol */ -#line 165 "rwllexer.l" +#line 166 "rwllexer.l" case 29: /* rule 29 can match eol */ -#line 166 "rwllexer.l" +#line 167 "rwllexer.l" case 30: /* rule 30 can match eol */ -#line 167 "rwllexer.l" +#line 168 "rwllexer.l" case 31: /* rule 31 can match eol */ -#line 168 "rwllexer.l" +#line 169 "rwllexer.l" case 32: /* rule 32 can match eol */ -#line 169 "rwllexer.l" +#line 170 "rwllexer.l" case 33: /* rule 33 can match eol */ -#line 170 "rwllexer.l" +#line 171 "rwllexer.l" case 34: /* rule 34 can match eol */ -#line 171 "rwllexer.l" +#line 172 "rwllexer.l" case 35: /* rule 35 can match eol */ -#line 172 "rwllexer.l" +#line 173 "rwllexer.l" case 36: /* rule 36 can match eol */ -#line 173 "rwllexer.l" +#line 174 "rwllexer.l" case 37: /* rule 37 can match eol */ -#line 174 "rwllexer.l" +#line 175 "rwllexer.l" case 38: /* rule 38 can match eol */ -#line 175 "rwllexer.l" +#line 176 "rwllexer.l" case 39: /* rule 39 can match eol */ -#line 176 "rwllexer.l" +#line 177 "rwllexer.l" case 40: /* rule 40 can match eol */ -#line 177 "rwllexer.l" +#line 178 "rwllexer.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP -#line 177 "rwllexer.l" +#line 178 "rwllexer.l" { /* we match anything that can initiate SQL or PL/SQL. @@ -2423,7 +2432,7 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 193 "rwllexer.l" +#line 194 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -2433,7 +2442,7 @@ YY_RULE_SETUP case 43: /* rule 43 can match eol */ YY_RULE_SETUP -#line 199 "rwllexer.l" +#line 200 "rwllexer.l" { // Note that this flex input means that the input // consist of any number of either of the following // any character @@ -2450,12 +2459,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_T_DOUBLE_CONST*/ case 44: -#line 215 "rwllexer.l" -case 45: #line 216 "rwllexer.l" +case 45: +#line 217 "rwllexer.l" case 46: YY_RULE_SETUP -#line 216 "rwllexer.l" +#line 217 "rwllexer.l" { /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -2466,7 +2475,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_INTEGER_CONST*/ case 47: YY_RULE_SETUP -#line 225 "rwllexer.l" +#line 226 "rwllexer.l" { /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -2476,7 +2485,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 232 "rwllexer.l" +#line 233 "rwllexer.l" { /* make .. be a token even after an integer so that 1..10 is scanned as 1 .. 10 and not as 1. . 10 @@ -2491,43 +2500,43 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FUNCTION*/ case 49: YY_RULE_SETUP -#line 246 "rwllexer.l" +#line 247 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FUNCTION; } YY_BREAK /*LEXTAG:RWL_T_RETURN*/ case 50: YY_RULE_SETUP -#line 248 "rwllexer.l" +#line 249 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_RETURN; } YY_BREAK /*LEXTAG:RWL_T_EXIT*/ case 51: YY_RULE_SETUP -#line 250 "rwllexer.l" +#line 251 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_EXIT; } YY_BREAK /*LEXTAG:RWL_T_READLOB*/ case 52: YY_RULE_SETUP -#line 252 "rwllexer.l" +#line 253 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_READLOB; } YY_BREAK /*LEXTAG:RWL_T_WRITELOB*/ case 53: YY_RULE_SETUP -#line 254 "rwllexer.l" +#line 255 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_WRITELOB; } YY_BREAK /*LEXTAG:RWL_T_CLOB*/ case 54: YY_RULE_SETUP -#line 256 "rwllexer.l" +#line 257 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_CLOB; } YY_BREAK /*LEXTAG:RWL_T_BLOB*/ case 55: YY_RULE_SETUP -#line 258 "rwllexer.l" +#line 259 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_BLOB; } @@ -2538,7 +2547,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RAW*/ case 56: YY_RULE_SETUP -#line 265 "rwllexer.l" +#line 266 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_RAW; } @@ -2549,7 +2558,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_NCLOB*/ case 57: YY_RULE_SETUP -#line 272 "rwllexer.l" +#line 273 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_NCLOB; @@ -2558,7 +2567,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PUBLIC*/ case 58: YY_RULE_SETUP -#line 277 "rwllexer.l" +#line 278 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_PUBLIC; @@ -2567,7 +2576,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATE*/ case 59: YY_RULE_SETUP -#line 282 "rwllexer.l" +#line 283 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DATE; @@ -2576,7 +2585,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BREAK*/ case 60: YY_RULE_SETUP -#line 287 "rwllexer.l" +#line 288 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_BREAK; } @@ -2584,7 +2593,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_UNSIGNED*/ case 61: YY_RULE_SETUP -#line 291 "rwllexer.l" +#line 292 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_UNSIGNED; @@ -2593,7 +2602,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_HEXADECIMAL*/ case 62: YY_RULE_SETUP -#line 296 "rwllexer.l" +#line 297 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_HEXADECIMAL; @@ -2602,7 +2611,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCTAL*/ case 63: YY_RULE_SETUP -#line 301 "rwllexer.l" +#line 302 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_OCTAL; @@ -2611,7 +2620,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LOBPREFETCH*/ case 64: YY_RULE_SETUP -#line 306 "rwllexer.l" +#line 307 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_LOBPREFETCH; @@ -2620,7 +2629,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PRINTF*/ case 65: YY_RULE_SETUP -#line 311 "rwllexer.l" +#line 312 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_PRINTF; } @@ -2628,7 +2637,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SPRINTF*/ case 66: YY_RULE_SETUP -#line 315 "rwllexer.l" +#line 316 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SPRINTF; } @@ -2636,7 +2645,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FPRINTF*/ case 67: YY_RULE_SETUP -#line 319 "rwllexer.l" +#line 320 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FPRINTF; } @@ -2644,7 +2653,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ENCODE*/ case 68: YY_RULE_SETUP -#line 323 "rwllexer.l" +#line 324 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_ENCODE; @@ -2653,7 +2662,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DECODE*/ case 69: YY_RULE_SETUP -#line 328 "rwllexer.l" +#line 329 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DECODE; @@ -2662,7 +2671,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LEAK*/ case 70: YY_RULE_SETUP -#line 333 "rwllexer.l" +#line 334 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_LEAK; } @@ -2670,19 +2679,19 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ABORT*/ case 71: YY_RULE_SETUP -#line 337 "rwllexer.l" +#line 338 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ABORT; YY_BREAK /*LEXTAG:RWL_T_MODIFY*/ case 72: YY_RULE_SETUP -#line 339 "rwllexer.l" +#line 340 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_MODIFY; YY_BREAK /*LEXTAG:RWL_T_SQL*/ case 73: YY_RULE_SETUP -#line 341 "rwllexer.l" +#line 342 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SQL; } @@ -2690,25 +2699,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IGNOREERROR*/ case 74: YY_RULE_SETUP -#line 345 "rwllexer.l" +#line 346 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IGNOREERROR; YY_BREAK /*LEXTAG:RWL_T_CURSORCACHE*/ case 75: YY_RULE_SETUP -#line 347 "rwllexer.l" +#line 348 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_NOCURSORCACHE*/ case 76: YY_RULE_SETUP -#line 349 "rwllexer.l" +#line 350 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOCURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_CONNECT*/ case 77: YY_RULE_SETUP -#line 351 "rwllexer.l" +#line 352 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2718,7 +2727,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_USERNAME*/ case 78: YY_RULE_SETUP -#line 357 "rwllexer.l" +#line 358 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2728,7 +2737,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PASSWORD*/ case 79: YY_RULE_SETUP -#line 363 "rwllexer.l" +#line 364 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2738,7 +2747,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATABASE*/ case 80: YY_RULE_SETUP -#line 369 "rwllexer.l" +#line 370 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2748,25 +2757,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_REQUESTMARK*/ case 81: YY_RULE_SETUP -#line 375 "rwllexer.l" +#line 376 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REQUESTMARK; YY_BREAK /*LEXTAG:RWL_T_STATEMARK*/ case 82: YY_RULE_SETUP -#line 377 "rwllexer.l" +#line 378 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATEMARK; YY_BREAK /*LEXTAG:RWL_T_RELEASE*/ case 83: YY_RULE_SETUP -#line 379 "rwllexer.l" +#line 380 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RELEASE; YY_BREAK /*LEXTAG:RWL_T_SHARDKEY*/ case 84: YY_RULE_SETUP -#line 381 "rwllexer.l" +#line 382 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_SHARDKEY; @@ -2775,67 +2784,67 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCIPING*/ case 85: YY_RULE_SETUP -#line 386 "rwllexer.l" +#line 387 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCIPING; YY_BREAK /*LEXTAG:RWL_T_COMMIT*/ case 86: YY_RULE_SETUP -#line 388 "rwllexer.l" +#line 389 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COMMIT; YY_BREAK /*LEXTAG:RWL_T_ROLLBACK*/ case 87: YY_RULE_SETUP -#line 390 "rwllexer.l" +#line 391 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROLLBACK; YY_BREAK /*LEXTAG:RWL_T_DEFAULT*/ case 88: YY_RULE_SETUP -#line 392 "rwllexer.l" +#line 393 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFAULT; YY_BREAK /*LEXTAG:RWL_T_AT*/ case 89: YY_RULE_SETUP -#line 394 "rwllexer.l" +#line 395 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AT; YY_BREAK /*LEXTAG:RWL_T_RESULTS*/ case 90: YY_RULE_SETUP -#line 396 "rwllexer.l" +#line 397 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RESULTS; YY_BREAK /*LEXTAG:RWL_T_PROCEDURE*/ case 91: YY_RULE_SETUP -#line 398 "rwllexer.l" +#line 399 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PROCEDURE; YY_BREAK /*LEXTAG:RWL_T_THREADS*/ case 92: YY_RULE_SETUP -#line 400 "rwllexer.l" +#line 401 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THREADS; YY_BREAK /*LEXTAG:RWL_T_GLOBAL*/ case 93: YY_RULE_SETUP -#line 402 "rwllexer.l" +#line 403 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GLOBAL; YY_BREAK /*LEXTAG:RWL_T_PRIVATE*/ case 94: YY_RULE_SETUP -#line 404 "rwllexer.l" +#line 405 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRIVATE; YY_BREAK /*LEXTAG:RWL_T_RUN*/ case 95: YY_RULE_SETUP -#line 406 "rwllexer.l" +#line 407 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -2845,167 +2854,167 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BIND*/ case 96: YY_RULE_SETUP -#line 412 "rwllexer.l" +#line 413 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BIND; YY_BREAK /*LEXTAG:RWL_T_BINDOUT*/ case 97: YY_RULE_SETUP -#line 414 "rwllexer.l" +#line 415 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BINDOUT; YY_BREAK /*LEXTAG:RWL_T_DEFINE*/ case 98: YY_RULE_SETUP -#line 416 "rwllexer.l" +#line 417 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFINE; YY_BREAK /*LEXTAG:RWL_T_START*/ case 99: YY_RULE_SETUP -#line 418 "rwllexer.l" +#line 419 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_START; YY_BREAK /*LEXTAG:RWL_T_COUNT*/ case 100: YY_RULE_SETUP -#line 420 "rwllexer.l" +#line 421 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COUNT; YY_BREAK /*LEXTAG:RWL_T_STOP*/ case 101: YY_RULE_SETUP -#line 422 "rwllexer.l" +#line 423 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STOP; YY_BREAK /*LEXTAG:RWL_T_END*/ case 102: YY_RULE_SETUP -#line 424 "rwllexer.l" +#line 425 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_END; YY_BREAK /*LEXTAG:RWL_T_SESSIONPOOL*/ case 103: YY_RULE_SETUP -#line 426 "rwllexer.l" +#line 427 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SESSIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONPOOL*/ case 104: YY_RULE_SETUP -#line 428 "rwllexer.l" +#line 429 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONCLASS*/ case 105: YY_RULE_SETUP -#line 430 "rwllexer.l" +#line 431 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONCLASS; YY_BREAK /*LEXTAG:RWL_T_DRCP*/ case 106: YY_RULE_SETUP -#line 432 "rwllexer.l" +#line 433 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DRCP; YY_BREAK /*LEXTAG:RWL_T_DEDICATED*/ case 107: YY_RULE_SETUP -#line 434 "rwllexer.l" +#line 435 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEDICATED; YY_BREAK /*LEXTAG:RWL_T_RECONNECT*/ case 108: YY_RULE_SETUP -#line 436 "rwllexer.l" +#line 437 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RECONNECT; YY_BREAK /*LEXTAG:RWL_T_UNIFORM*/ case 109: YY_RULE_SETUP -#line 438 "rwllexer.l" +#line 439 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_UNIFORM; YY_BREAK /*LEXTAG:RWL_T_NORMALRANDOM*/ case 110: YY_RULE_SETUP -#line 440 "rwllexer.l" +#line 441 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NORMALRANDOM; YY_BREAK /*LEXTAG:RWL_T_LOG*/ case 111: YY_RULE_SETUP -#line 442 "rwllexer.l" +#line 443 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LOG; YY_BREAK /*LEXTAG:RWL_T_EXP*/ case 112: YY_RULE_SETUP -#line 444 "rwllexer.l" +#line 445 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EXP; YY_BREAK /*LEXTAG:RWL_T_CEIL*/ case 113: YY_RULE_SETUP -#line 446 "rwllexer.l" +#line 447 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CEIL; YY_BREAK /*LEXTAG:RWL_T_TRUNC*/ case 114: YY_RULE_SETUP -#line 448 "rwllexer.l" +#line 449 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_TRUNC; YY_BREAK /*LEXTAG:RWL_T_FLOOR*/ case 115: YY_RULE_SETUP -#line 450 "rwllexer.l" +#line 451 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FLOOR; YY_BREAK /*LEXTAG:RWL_T_ROUND*/ case 116: YY_RULE_SETUP -#line 452 "rwllexer.l" +#line 453 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROUND; YY_BREAK /*LEXTAG:RWL_T_STATISTICS*/ case 117: YY_RULE_SETUP -#line 454 "rwllexer.l" +#line 455 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICS; YY_BREAK /*LEXTAG:RWL_T_STATISTICSONLY*/ case 118: YY_RULE_SETUP -#line 456 "rwllexer.l" +#line 457 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICSONLY; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 119: YY_RULE_SETUP -#line 458 "rwllexer.l" +#line 459 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOSTATISTICS; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 120: YY_RULE_SETUP -#line 460 "rwllexer.l" +#line 461 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SQRT; YY_BREAK case 121: YY_RULE_SETUP -#line 461 "rwllexer.l" +#line 462 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SIN; YY_BREAK case 122: YY_RULE_SETUP -#line 462 "rwllexer.l" +#line 463 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COS; YY_BREAK /*LEXTAG:RWL_T_INSTRB*/ case 123: YY_RULE_SETUP -#line 464 "rwllexer.l" +#line 465 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "instr", "instrb"); if (!rwm->ifdirbit) return RWL_T_INSTRB; @@ -3013,13 +3022,13 @@ YY_RULE_SETUP YY_BREAK case 124: YY_RULE_SETUP -#line 468 "rwllexer.l" +#line 469 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INSTRB; YY_BREAK /*LEXTAG:RWL_T_SUBSTRB*/ case 125: YY_RULE_SETUP -#line 470 "rwllexer.l" +#line 471 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "substr", "substrb"); if (!rwm->ifdirbit) return RWL_T_SUBSTRB; @@ -3028,13 +3037,13 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SUBSTRB*/ case 126: YY_RULE_SETUP -#line 475 "rwllexer.l" +#line 476 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUBSTRB; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 127: YY_RULE_SETUP -#line 477 "rwllexer.l" +#line 478 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "length", "lengthb"); if (!rwm->ifdirbit) return RWL_T_LENGTHB; @@ -3043,50 +3052,50 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_GETENV*/ case 128: YY_RULE_SETUP -#line 482 "rwllexer.l" +#line 483 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETENV; YY_BREAK /*LEXTAG:RWL_T_SYSTEM*/ case 129: YY_RULE_SETUP -#line 484 "rwllexer.l" +#line 485 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SYSTEM; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 130: YY_RULE_SETUP -#line 486 "rwllexer.l" +#line 487 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LENGTHB; YY_BREAK /*LEXTAG:RWL_T_ERLANG*/ case 131: -#line 489 "rwllexer.l" +#line 490 "rwllexer.l" case 132: YY_RULE_SETUP -#line 489 "rwllexer.l" +#line 490 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 133: YY_RULE_SETUP -#line 491 "rwllexer.l" +#line 492 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG2; YY_BREAK /*LEXTAG:RWL_T_ERLANGK*/ case 134: YY_RULE_SETUP -#line 493 "rwllexer.l" +#line 494 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANGK; YY_BREAK /*LEXTAG:RWL_T_ACCESS*/ case 135: YY_RULE_SETUP -#line 495 "rwllexer.l" +#line 496 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ACCESS; YY_BREAK case 136: YY_RULE_SETUP -#line 496 "rwllexer.l" +#line 497 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3095,7 +3104,7 @@ YY_RULE_SETUP YY_BREAK case 137: YY_RULE_SETUP -#line 501 "rwllexer.l" +#line 502 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3105,127 +3114,127 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RUNSECONDS*/ case 138: YY_RULE_SETUP -#line 507 "rwllexer.l" +#line 508 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RUNSECONDS; YY_BREAK /*LEXTAG:RWL_T_EPOCHSECONDS*/ case 139: YY_RULE_SETUP -#line 509 "rwllexer.l" +#line 510 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EPOCHSECONDS; YY_BREAK /*LEXTAG:RWL_T_GETRUSAGE*/ case 140: YY_RULE_SETUP -#line 511 "rwllexer.l" +#line 512 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETRUSAGE; YY_BREAK /*LEXTAG:RWL_T_DOUBLE*/ case 141: YY_RULE_SETUP -#line 513 "rwllexer.l" +#line 514 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOUBLE; YY_BREAK /*LEXTAG:RWL_T_INTEGER*/ case 142: YY_RULE_SETUP -#line 515 "rwllexer.l" +#line 516 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INTEGER; YY_BREAK /*LEXTAG:RWL_T_STRING*/ case 143: YY_RULE_SETUP -#line 517 "rwllexer.l" +#line 518 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STRING; YY_BREAK /*LEXTAG:RWL_T_RANDOM*/ case 144: YY_RULE_SETUP -#line 519 "rwllexer.l" +#line 520 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RANDOM; YY_BREAK /*LEXTAG:RWL_T_ARRAY*/ case 145: YY_RULE_SETUP -#line 521 "rwllexer.l" +#line 522 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ARRAY; YY_BREAK /*LEXTAG:RWL_T_FILE*/ case 146: YY_RULE_SETUP -#line 523 "rwllexer.l" +#line 524 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FILE; YY_BREAK /*LEXTAG:RWL_T_WRITE*/ case 147: YY_RULE_SETUP -#line 525 "rwllexer.l" +#line 526 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITE; YY_BREAK /*LEXTAG:RWL_T_WRITELINE*/ case 148: YY_RULE_SETUP -#line 527 "rwllexer.l" +#line 528 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITELINE; YY_BREAK /*LEXTAG:RWL_T_READLINE*/ case 149: YY_RULE_SETUP -#line 529 "rwllexer.l" +#line 530 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_READLINE; YY_BREAK /*LEXTAG:RWL_T_REGEX*/ case 150: YY_RULE_SETUP -#line 531 "rwllexer.l" +#line 532 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEX; YY_BREAK /*LEXTAG:RWL_T_REGEXSUB*/ case 151: YY_RULE_SETUP -#line 533 "rwllexer.l" +#line 534 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUB; YY_BREAK /*LEXTAG:RWL_T_REGEXSUBG*/ case 152: YY_RULE_SETUP -#line 535 "rwllexer.l" +#line 536 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUBG; YY_BREAK /*LEXTAG:RWL_T_REGEXTRACT*/ case 153: YY_RULE_SETUP -#line 537 "rwllexer.l" +#line 538 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXTRACT; YY_BREAK /*LEXTAG:RWL_T_FFLUSH*/ case 154: YY_RULE_SETUP -#line 539 "rwllexer.l" +#line 540 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FFLUSH; YY_BREAK /*LEXTAG:RWL_T_PRINT*/ case 155: YY_RULE_SETUP -#line 541 "rwllexer.l" +#line 542 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINT; YY_BREAK /*LEXTAG:RWL_T_PRINTLINE*/ case 156: YY_RULE_SETUP -#line 543 "rwllexer.l" +#line 544 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTLINE; YY_BREAK /*LEXTAG:RWL_T_PRINTVAR*/ case 157: YY_RULE_SETUP -#line 545 "rwllexer.l" +#line 546 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTVAR; YY_BREAK /*LEXTAG:RWL_T_IF*/ case 158: YY_RULE_SETUP -#line 547 "rwllexer.l" +#line 548 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3235,61 +3244,61 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_WHEN*/ case 159: YY_RULE_SETUP -#line 553 "rwllexer.l" +#line 554 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHEN; YY_BREAK /*LEXTAG:RWL_T_THEN*/ case 160: YY_RULE_SETUP -#line 555 "rwllexer.l" +#line 556 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THEN; YY_BREAK /*LEXTAG:RWL_T_ELSE*/ case 161: YY_RULE_SETUP -#line 557 "rwllexer.l" +#line 558 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSE; YY_BREAK /*LEXTAG:RWL_T_ELSEIF*/ case 162: YY_RULE_SETUP -#line 559 "rwllexer.l" +#line 560 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSEIF; YY_BREAK /*LEXTAG:RWL_T_WHILE*/ case 163: YY_RULE_SETUP -#line 561 "rwllexer.l" +#line 562 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHILE; YY_BREAK /*LEXTAG:RWL_T_WAIT*/ case 164: YY_RULE_SETUP -#line 563 "rwllexer.l" +#line 564 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WAIT; YY_BREAK /*LEXTAG:RWL_T_QUEUE*/ case 165: YY_RULE_SETUP -#line 565 "rwllexer.l" +#line 566 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_QUEUE; YY_BREAK /*LEXTAG:RWL_T_NOQUEUE*/ case 166: YY_RULE_SETUP -#line 567 "rwllexer.l" +#line 568 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOQUEUE; YY_BREAK /*LEXTAG:RWL_T_EVERY*/ case 167: YY_RULE_SETUP -#line 569 "rwllexer.l" +#line 570 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EVERY; YY_BREAK /*LEXTAG:RWL_T_LOOP*/ case 168: YY_RULE_SETUP -#line 571 "rwllexer.l" +#line 572 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3299,25 +3308,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FOR*/ case 169: YY_RULE_SETUP -#line 577 "rwllexer.l" +#line 578 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FOR; YY_BREAK /*LEXTAG:RWL_T_ALL*/ case 170: YY_RULE_SETUP -#line 579 "rwllexer.l" +#line 580 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ALL; YY_BREAK /*LEXTAG:RWL_T_SHIFT*/ case 171: YY_RULE_SETUP -#line 581 "rwllexer.l" +#line 582 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SHIFT; YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ case 172: YY_RULE_SETUP -#line 583 "rwllexer.l" +#line 584 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3327,25 +3336,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_EXECUTE*/ case 173: YY_RULE_SETUP -#line 589 "rwllexer.l" +#line 590 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOTDOT; /* see RWL_T_INTEGER_CONST above */ YY_BREAK /*LEXTAG:RWL_T_NULL*/ case 174: YY_RULE_SETUP -#line 591 "rwllexer.l" +#line 592 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NULL; YY_BREAK /*LEXTAG:RWL_T_SUM*/ case 175: YY_RULE_SETUP -#line 593 "rwllexer.l" +#line 594 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUM; YY_BREAK /*LEXTAG:RWL_T_ISNULL*/ case 176: YY_RULE_SETUP -#line 595 "rwllexer.l" +#line 596 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_ISNULL_DEPRECATED); @@ -3355,57 +3364,57 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IS*/ case 177: YY_RULE_SETUP -#line 601 "rwllexer.l" +#line 602 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IS; YY_BREAK case 178: YY_RULE_SETUP -#line 602 "rwllexer.l" +#line 603 "rwllexer.l" if (!rwm->ifdirbit) return '+'; YY_BREAK case 179: YY_RULE_SETUP -#line 603 "rwllexer.l" +#line 604 "rwllexer.l" if (!rwm->ifdirbit) return '-'; YY_BREAK case 180: YY_RULE_SETUP -#line 604 "rwllexer.l" +#line 605 "rwllexer.l" if (!rwm->ifdirbit) return '*'; YY_BREAK case 181: YY_RULE_SETUP -#line 605 "rwllexer.l" +#line 606 "rwllexer.l" if (!rwm->ifdirbit) return '/'; YY_BREAK case 182: YY_RULE_SETUP -#line 606 "rwllexer.l" +#line 607 "rwllexer.l" if (!rwm->ifdirbit) return '%'; YY_BREAK case 183: YY_RULE_SETUP -#line 607 "rwllexer.l" +#line 608 "rwllexer.l" if (!rwm->ifdirbit) return '('; YY_BREAK case 184: YY_RULE_SETUP -#line 608 "rwllexer.l" +#line 609 "rwllexer.l" if (!rwm->ifdirbit) return ')'; YY_BREAK case 185: YY_RULE_SETUP -#line 609 "rwllexer.l" +#line 610 "rwllexer.l" if (!rwm->ifdirbit) return ','; YY_BREAK case 186: YY_RULE_SETUP -#line 610 "rwllexer.l" +#line 611 "rwllexer.l" if (!rwm->ifdirbit) return '='; YY_BREAK case 187: YY_RULE_SETUP -#line 611 "rwllexer.l" +#line 612 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_EQUALEQUAL, rwm->rwlytext); if (!rwm->ifdirbit) return '='; @@ -3413,140 +3422,140 @@ YY_RULE_SETUP YY_BREAK case 188: YY_RULE_SETUP -#line 615 "rwllexer.l" +#line 616 "rwllexer.l" if (!rwm->ifdirbit) return '<'; YY_BREAK case 189: YY_RULE_SETUP -#line 616 "rwllexer.l" +#line 617 "rwllexer.l" if (!rwm->ifdirbit) return '>'; YY_BREAK case 190: YY_RULE_SETUP -#line 617 "rwllexer.l" +#line 618 "rwllexer.l" if (!rwm->ifdirbit) return '!'; YY_BREAK case 191: YY_RULE_SETUP -#line 618 "rwllexer.l" +#line 619 "rwllexer.l" if (!rwm->ifdirbit) return '?'; YY_BREAK case 192: YY_RULE_SETUP -#line 619 "rwllexer.l" +#line 620 "rwllexer.l" if (!rwm->ifdirbit) return ':'; YY_BREAK /*LEXTAG:RWL_T_NOT*/ case 193: YY_RULE_SETUP -#line 621 "rwllexer.l" +#line 622 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOT; YY_BREAK /*LEXTAG:RWL_T_AND*/ case 194: YY_RULE_SETUP -#line 623 "rwllexer.l" +#line 624 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AND; YY_BREAK /*LEXTAG:RWL_T_BETWEEN*/ case 195: YY_RULE_SETUP -#line 625 "rwllexer.l" +#line 626 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BETWEEN; YY_BREAK /*LEXTAG:RWL_T_OR*/ case 196: YY_RULE_SETUP -#line 627 "rwllexer.l" +#line 628 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OR; YY_BREAK /*LEXTAG:RWL_T_LESSEQ*/ case 197: YY_RULE_SETUP -#line 629 "rwllexer.l" +#line 630 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LESSEQ; YY_BREAK /*LEXTAG:RWL_T_GREATEQ*/ case 198: YY_RULE_SETUP -#line 631 "rwllexer.l" +#line 632 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GREATEQ; YY_BREAK /*LEXTAG:RWL_T_RSHIFTASSIGN*/ case 199: YY_RULE_SETUP -#line 633 "rwllexer.l" +#line 634 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RSHIFTASSIGN; YY_BREAK /*LEXTAG:RWL_T_NOTEQ*/ case 200: YY_RULE_SETUP -#line 635 "rwllexer.l" +#line 636 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK case 201: YY_RULE_SETUP -#line 636 "rwllexer.l" +#line 637 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK /*LEXTAG:RWL_T_ASSIGN*/ case 202: YY_RULE_SETUP -#line 638 "rwllexer.l" +#line 639 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASSIGN; YY_BREAK /*LEXTAG:RWL_T_ASNPLUS*/ case 203: YY_RULE_SETUP -#line 640 "rwllexer.l" +#line 641 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNPLUS; YY_BREAK /*LEXTAG:RWL_T_CONCAT*/ case 204: YY_RULE_SETUP -#line 642 "rwllexer.l" +#line 643 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONCAT; YY_BREAK /*LEXTAG:RWL_T_PIPETO*/ case 205: YY_RULE_SETUP -#line 644 "rwllexer.l" +#line 645 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPETO; YY_BREAK /*LEXTAG:RWL_T_PIPEFROM*/ case 206: YY_RULE_SETUP -#line 646 "rwllexer.l" +#line 647 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPEFROM; YY_BREAK /*LEXTAG:RWL_T_APPEND*/ case 207: YY_RULE_SETUP -#line 648 "rwllexer.l" +#line 649 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_APPEND; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2B*/ case 208: YY_RULE_SETUP -#line 650 "rwllexer.l" +#line 651 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2B; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2BB*/ case 209: YY_RULE_SETUP -#line 652 "rwllexer.l" +#line 653 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2BB; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 210: YY_RULE_SETUP -#line 654 "rwllexer.l" +#line 655 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SERVERRELEASE; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 211: YY_RULE_SETUP -#line 656 "rwllexer.l" +#line 657 "rwllexer.l" { # ifndef RWL_USE_SQL_ID rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3557,7 +3566,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OPENSESSIONCOUNT*/ case 212: YY_RULE_SETUP -#line 663 "rwllexer.l" +#line 664 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_OPENSESSIONCOUNT; } @@ -3565,7 +3574,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ACTIVESESSIONCOUNT*/ case 213: YY_RULE_SETUP -#line 667 "rwllexer.l" +#line 668 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_ACTIVESESSIONCOUNT; } @@ -3573,7 +3582,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_QUERYNOTIFICATION*/ case 214: YY_RULE_SETUP -#line 671 "rwllexer.l" +#line 672 "rwllexer.l" { #ifndef RWL_USE_CQN rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3584,18 +3593,18 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ATAN2*/ case 215: YY_RULE_SETUP -#line 678 "rwllexer.l" +#line 679 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ATAN2; YY_BREAK case 216: -#line 681 "rwllexer.l" -case 217: #line 682 "rwllexer.l" -case 218: +case 217: #line 683 "rwllexer.l" +case 218: +#line 684 "rwllexer.l" case 219: YY_RULE_SETUP -#line 683 "rwllexer.l" +#line 684 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); // return something so compilation continues @@ -3603,24 +3612,24 @@ YY_RULE_SETUP } YY_BREAK case 220: -#line 690 "rwllexer.l" +#line 691 "rwllexer.l" case 221: YY_RULE_SETUP -#line 690 "rwllexer.l" +#line 691 "rwllexer.l" { // note that "--" is the beginning of RWL_T_SQL_TEXT rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); } YY_BREAK case 222: -#line 695 "rwllexer.l" -case 223: #line 696 "rwllexer.l" -case 224: +case 223: #line 697 "rwllexer.l" +case 224: +#line 698 "rwllexer.l" case 225: YY_RULE_SETUP -#line 697 "rwllexer.l" +#line 698 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); // return something so compilation continues @@ -3628,16 +3637,16 @@ YY_RULE_SETUP } YY_BREAK case 226: -#line 704 "rwllexer.l" -case 227: #line 705 "rwllexer.l" -case 228: +case 227: #line 706 "rwllexer.l" -case 229: +case 228: #line 707 "rwllexer.l" +case 229: +#line 708 "rwllexer.l" case 230: YY_RULE_SETUP -#line 707 "rwllexer.l" +#line 708 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3652,7 +3661,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IDENTIFIER*/ case 231: YY_RULE_SETUP -#line 719 "rwllexer.l" +#line 720 "rwllexer.l" { /* previnam is used when the parser has been doing @@ -3672,7 +3681,7 @@ YY_RULE_SETUP YY_BREAK case 232: YY_RULE_SETUP -#line 736 "rwllexer.l" +#line 737 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3692,7 +3701,7 @@ YY_RULE_SETUP YY_BREAK case 233: YY_RULE_SETUP -#line 753 "rwllexer.l" +#line 754 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3705,7 +3714,7 @@ YY_RULE_SETUP YY_BREAK case 234: YY_RULE_SETUP -#line 763 "rwllexer.l" +#line 764 "rwllexer.l" { text *env = rwlgetenv((text *)rwm->rwlytext+1); if (!env) @@ -3729,18 +3738,18 @@ YY_RULE_SETUP YY_BREAK case 235: YY_RULE_SETUP -#line 785 "rwllexer.l" +#line 786 "rwllexer.l" if (!rwm->ifdirbit) return ';'; YY_BREAK case 236: -#line 788 "rwllexer.l" -case 237: #line 789 "rwllexer.l" -case 238: +case 237: #line 790 "rwllexer.l" +case 238: +#line 791 "rwllexer.l" case 239: YY_RULE_SETUP -#line 790 "rwllexer.l" +#line 791 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3755,7 +3764,7 @@ YY_RULE_SETUP YY_BREAK case 240: YY_RULE_SETUP -#line 802 "rwllexer.l" +#line 803 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3763,7 +3772,7 @@ YY_RULE_SETUP YY_BREAK case 241: YY_RULE_SETUP -#line 807 "rwllexer.l" +#line 808 "rwllexer.l" { // This is the documented syntax. Note that there is // no simple way to allow having $if and $then on separate // lines @@ -3783,14 +3792,14 @@ YY_RULE_SETUP YY_BREAK case 242: YY_RULE_SETUP -#line 824 "rwllexer.l" +#line 825 "rwllexer.l" { // this only happens if $if and $then aren't on the same line rwlzparsestring(rwm, (text *) "0;"); // behave like $if 0 $then would } YY_BREAK case 243: YY_RULE_SETUP -#line 828 "rwllexer.l" +#line 829 "rwllexer.l" { // This was the original syntax for $if which was // $if: ; // i.e. with the expression between : and ;. @@ -3811,7 +3820,7 @@ YY_RULE_SETUP YY_BREAK case 244: YY_RULE_SETUP -#line 846 "rwllexer.l" +#line 847 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "else"); @@ -3832,7 +3841,7 @@ YY_RULE_SETUP YY_BREAK case 245: YY_RULE_SETUP -#line 864 "rwllexer.l" +#line 865 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "endif"); @@ -3850,7 +3859,7 @@ YY_RULE_SETUP YY_BREAK case 246: YY_RULE_SETUP -#line 879 "rwllexer.l" +#line 880 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS); // all set in tflags as tfalgs HAS been copied from mflags @@ -3860,7 +3869,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 247: YY_RULE_SETUP -#line 886 "rwllexer.l" +#line 887 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); @@ -3869,7 +3878,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 248: YY_RULE_SETUP -#line 892 "rwllexer.l" +#line 893 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); @@ -3878,172 +3887,172 @@ if (!rwm->ifdirbit) { YY_BREAK case 249: YY_RULE_SETUP -#line 898 "rwllexer.l" +#line 899 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTION); } YY_BREAK case 250: YY_RULE_SETUP -#line 902 "rwllexer.l" +#line 903 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 251: YY_RULE_SETUP -#line 905 "rwllexer.l" +#line 906 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 252: YY_RULE_SETUP -#line 909 "rwllexer.l" +#line 910 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 253: YY_RULE_SETUP -#line 913 "rwllexer.l" +#line 914 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 254: YY_RULE_SETUP -#line 917 "rwllexer.l" +#line 918 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 255: YY_RULE_SETUP -#line 921 "rwllexer.l" +#line 922 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 256: YY_RULE_SETUP -#line 925 "rwllexer.l" +#line 926 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 257: YY_RULE_SETUP -#line 928 "rwllexer.l" +#line 929 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 258: YY_RULE_SETUP -#line 932 "rwllexer.l" +#line 933 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 259: YY_RULE_SETUP -#line 935 "rwllexer.l" +#line 936 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 260: YY_RULE_SETUP -#line 939 "rwllexer.l" +#line 940 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 261: YY_RULE_SETUP -#line 942 "rwllexer.l" +#line 943 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 262: YY_RULE_SETUP -#line 946 "rwllexer.l" +#line 947 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 263: YY_RULE_SETUP -#line 949 "rwllexer.l" +#line 950 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 264: YY_RULE_SETUP -#line 953 "rwllexer.l" +#line 954 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 265: YY_RULE_SETUP -#line 956 "rwllexer.l" +#line 957 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 266: YY_RULE_SETUP -#line 960 "rwllexer.l" +#line 961 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=0; } YY_BREAK case 267: YY_RULE_SETUP -#line 964 "rwllexer.l" +#line 965 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=1; } YY_BREAK case 268: YY_RULE_SETUP -#line 968 "rwllexer.l" +#line 969 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 269: YY_RULE_SETUP -#line 971 "rwllexer.l" +#line 972 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 270: YY_RULE_SETUP -#line 975 "rwllexer.l" +#line 976 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 271: YY_RULE_SETUP -#line 979 "rwllexer.l" +#line 980 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 272: /* rule 272 can match eol */ -#line 984 "rwllexer.l" +#line 985 "rwllexer.l" case 273: /* rule 273 can match eol */ YY_RULE_SETUP -#line 984 "rwllexer.l" +#line 985 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) // not while generating { @@ -4211,7 +4220,7 @@ YY_RULE_SETUP YY_BREAK case 274: YY_RULE_SETUP -#line 1149 "rwllexer.l" +#line 1150 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4224,7 +4233,7 @@ YY_RULE_SETUP YY_BREAK case 275: YY_RULE_SETUP -#line 1159 "rwllexer.l" +#line 1160 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -4238,7 +4247,7 @@ YY_RULE_SETUP YY_BREAK case 276: YY_RULE_SETUP -#line 1170 "rwllexer.l" +#line 1171 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4251,7 +4260,7 @@ YY_RULE_SETUP YY_BREAK case 277: YY_RULE_SETUP -#line 1180 "rwllexer.l" +#line 1181 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4264,7 +4273,7 @@ YY_RULE_SETUP YY_BREAK case 278: YY_RULE_SETUP -#line 1190 "rwllexer.l" +#line 1191 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4275,7 +4284,7 @@ YY_RULE_SETUP YY_BREAK case 279: YY_RULE_SETUP -#line 1198 "rwllexer.l" +#line 1199 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_OERSTATS); @@ -4283,7 +4292,7 @@ YY_RULE_SETUP YY_BREAK case 280: YY_RULE_SETUP -#line 1203 "rwllexer.l" +#line 1204 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4299,7 +4308,7 @@ YY_RULE_SETUP YY_BREAK case 281: YY_RULE_SETUP -#line 1216 "rwllexer.l" +#line 1217 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4315,7 +4324,7 @@ YY_RULE_SETUP YY_BREAK case 282: YY_RULE_SETUP -#line 1229 "rwllexer.l" +#line 1230 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4333,7 +4342,7 @@ YY_RULE_SETUP YY_BREAK case 283: YY_RULE_SETUP -#line 1244 "rwllexer.l" +#line 1245 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4344,7 +4353,7 @@ YY_RULE_SETUP YY_BREAK case 284: YY_RULE_SETUP -#line 1252 "rwllexer.l" +#line 1253 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4355,7 +4364,7 @@ YY_RULE_SETUP YY_BREAK case 285: YY_RULE_SETUP -#line 1260 "rwllexer.l" +#line 1261 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4366,7 +4375,7 @@ YY_RULE_SETUP YY_BREAK case 286: YY_RULE_SETUP -#line 1268 "rwllexer.l" +#line 1269 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4376,7 +4385,7 @@ YY_RULE_SETUP YY_BREAK case 287: YY_RULE_SETUP -#line 1274 "rwllexer.l" +#line 1275 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4386,7 +4395,7 @@ YY_RULE_SETUP YY_BREAK case 288: YY_RULE_SETUP -#line 1280 "rwllexer.l" +#line 1281 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4397,7 +4406,7 @@ YY_RULE_SETUP YY_BREAK case 289: YY_RULE_SETUP -#line 1287 "rwllexer.l" +#line 1288 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4408,7 +4417,7 @@ YY_RULE_SETUP YY_BREAK case 290: YY_RULE_SETUP -#line 1294 "rwllexer.l" +#line 1295 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4418,7 +4427,7 @@ YY_RULE_SETUP YY_BREAK case 291: YY_RULE_SETUP -#line 1300 "rwllexer.l" +#line 1301 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4428,7 +4437,7 @@ YY_RULE_SETUP YY_BREAK case 292: YY_RULE_SETUP -#line 1307 "rwllexer.l" +#line 1308 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4438,7 +4447,7 @@ YY_RULE_SETUP YY_BREAK case 293: YY_RULE_SETUP -#line 1314 "rwllexer.l" +#line 1315 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_RECON1017); @@ -4446,7 +4455,7 @@ YY_RULE_SETUP YY_BREAK case 294: YY_RULE_SETUP -#line 1319 "rwllexer.l" +#line 1320 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_ON; @@ -4454,7 +4463,7 @@ YY_RULE_SETUP YY_BREAK case 295: YY_RULE_SETUP -#line 1324 "rwllexer.l" +#line 1325 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_OFF; @@ -4462,7 +4471,7 @@ YY_RULE_SETUP YY_BREAK case 296: YY_RULE_SETUP -#line 1329 "rwllexer.l" +#line 1330 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_WARN; @@ -4470,7 +4479,7 @@ YY_RULE_SETUP YY_BREAK case 297: YY_RULE_SETUP -#line 1334 "rwllexer.l" +#line 1335 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4487,7 +4496,7 @@ YY_RULE_SETUP YY_BREAK case 298: YY_RULE_SETUP -#line 1348 "rwllexer.l" +#line 1349 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4500,7 +4509,7 @@ YY_RULE_SETUP YY_BREAK case 299: YY_RULE_SETUP -#line 1358 "rwllexer.l" +#line 1359 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLREADLINE); @@ -4508,7 +4517,7 @@ YY_RULE_SETUP YY_BREAK case 300: YY_RULE_SETUP -#line 1363 "rwllexer.l" +#line 1364 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLREADLINE); @@ -4516,7 +4525,7 @@ YY_RULE_SETUP YY_BREAK case 301: YY_RULE_SETUP -#line 1368 "rwllexer.l" +#line 1369 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLWRITELINE); @@ -4524,7 +4533,7 @@ YY_RULE_SETUP YY_BREAK case 302: YY_RULE_SETUP -#line 1373 "rwllexer.l" +#line 1374 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLWRITELINE); @@ -4532,7 +4541,7 @@ YY_RULE_SETUP YY_BREAK case 303: YY_RULE_SETUP -#line 1378 "rwllexer.l" +#line 1379 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4543,7 +4552,7 @@ YY_RULE_SETUP YY_BREAK case 304: YY_RULE_SETUP -#line 1386 "rwllexer.l" +#line 1387 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4554,7 +4563,7 @@ YY_RULE_SETUP YY_BREAK case 305: YY_RULE_SETUP -#line 1394 "rwllexer.l" +#line 1395 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4566,7 +4575,7 @@ YY_RULE_SETUP YY_BREAK case 306: YY_RULE_SETUP -#line 1403 "rwllexer.l" +#line 1404 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSATIME); @@ -4574,7 +4583,7 @@ YY_RULE_SETUP YY_BREAK case 307: YY_RULE_SETUP -#line 1408 "rwllexer.l" +#line 1409 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4586,7 +4595,7 @@ YY_RULE_SETUP YY_BREAK case 308: YY_RULE_SETUP -#line 1417 "rwllexer.l" +#line 1418 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSDTIME); @@ -4594,39 +4603,47 @@ YY_RULE_SETUP YY_BREAK case 309: YY_RULE_SETUP -#line 1422 "rwllexer.l" +#line 1423 "rwllexer.l" { if (!rwm->ifdirbit) - bis(rwm->m4flags, RWL_P4_CRNLSTRING); + bis(rwm->m4flags, RWL_P4_CONERROK); } YY_BREAK case 310: YY_RULE_SETUP -#line 1427 "rwllexer.l" +#line 1428 "rwllexer.l" { if (!rwm->ifdirbit) - bic(rwm->m4flags, RWL_P4_CRNLSTRING); + bis(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK case 311: YY_RULE_SETUP -#line 1432 "rwllexer.l" +#line 1433 "rwllexer.l" { if (!rwm->ifdirbit) - bis(rwm->m3flags, RWL_P3_QETIMES); + bic(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK case 312: YY_RULE_SETUP -#line 1437 "rwllexer.l" +#line 1438 "rwllexer.l" { if (!rwm->ifdirbit) - bic(rwm->m3flags, RWL_P3_QETIMES); + bis(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK case 313: YY_RULE_SETUP #line 1443 "rwllexer.l" +{ + if (!rwm->ifdirbit) + bic(rwm->m3flags, RWL_P3_QETIMES); + } + YY_BREAK +case 314: +YY_RULE_SETUP +#line 1449 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4634,23 +4651,23 @@ YY_RULE_SETUP } } YY_BREAK -case 314: +case 315: YY_RULE_SETUP -#line 1450 "rwllexer.l" +#line 1456 "rwllexer.l" { if (!rwm->ifdirbit) rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+6),1 /* warn if !warning*/ ); } YY_BREAK -case 315: +case 316: YY_RULE_SETUP -#line 1454 "rwllexer.l" +#line 1460 "rwllexer.l" { rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+12),1 /* warn if !warning*/ ); } YY_BREAK -case 316: +case 317: YY_RULE_SETUP -#line 1458 "rwllexer.l" +#line 1464 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; newval = (ub4)rwlatoi(rwm->rwlytext+11) + 1; //+1 for the return value @@ -4665,9 +4682,9 @@ if (!rwm->ifdirbit) { } YY_BREAK -case 317: +case 318: YY_RULE_SETUP -#line 1472 "rwllexer.l" +#line 1478 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4683,9 +4700,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxident"); } YY_BREAK -case 318: +case 319: YY_RULE_SETUP -#line 1487 "rwllexer.l" +#line 1493 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4701,9 +4718,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxcode"); } YY_BREAK -case 319: +case 320: YY_RULE_SETUP -#line 1502 "rwllexer.l" +#line 1508 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4719,25 +4736,25 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "readbuffer"); } YY_BREAK -case 320: +case 321: YY_RULE_SETUP -#line 1517 "rwllexer.l" +#line 1523 "rwllexer.l" if (!rwm->ifdirbit) { rwm->iformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckiformat(rwm); } YY_BREAK -case 321: +case 322: YY_RULE_SETUP -#line 1521 "rwllexer.l" +#line 1527 "rwllexer.l" if (!rwm->ifdirbit) { rwm->dformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckdformat(rwm); } YY_BREAK -case 322: +case 323: YY_RULE_SETUP -#line 1526 "rwllexer.l" +#line 1532 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+9); bis(rwm->mflags, newdebug); @@ -4749,9 +4766,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 323: +case 324: YY_RULE_SETUP -#line 1537 "rwllexer.l" +#line 1543 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+10); // ub4 newdebug = (ub4) rwlhex2ub8(rwm->rwlytext+10, 2*sizeof(ub4)); @@ -4760,9 +4777,9 @@ if (!rwm->ifdirbit) { bic(rwm->mxq->tflags, newdebug); } YY_BREAK -case 324: +case 325: YY_RULE_SETUP -#line 1545 "rwllexer.l" +#line 1551 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+10,2*sizeof(unsigned short)); @@ -4778,9 +4795,9 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 325: +case 326: YY_RULE_SETUP -#line 1562 "rwllexer.l" +#line 1568 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+12, 2*sizeof(unsigned short)); @@ -4796,11 +4813,11 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 326: -#line 1578 "rwllexer.l" case 327: +#line 1584 "rwllexer.l" +case 328: YY_RULE_SETUP -#line 1578 "rwllexer.l" +#line 1584 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4811,11 +4828,11 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 328: -#line 1589 "rwllexer.l" case 329: +#line 1595 "rwllexer.l" +case 330: YY_RULE_SETUP -#line 1589 "rwllexer.l" +#line 1595 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4826,9 +4843,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 330: +case 331: YY_RULE_SETUP -#line 1599 "rwllexer.l" +#line 1605 "rwllexer.l" if (!rwm->ifdirbit) { { rwm->musymbol = rwlstrdup(rwm, rwm->rwlytext+10); @@ -4836,9 +4853,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 331: +case 332: YY_RULE_SETUP -#line 1606 "rwllexer.l" +#line 1612 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4850,9 +4867,9 @@ YY_RULE_SETUP } } YY_BREAK -case 332: +case 333: YY_RULE_SETUP -#line 1617 "rwllexer.l" +#line 1623 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4864,10 +4881,10 @@ YY_RULE_SETUP } } YY_BREAK -case 333: -/* rule 333 can match eol */ +case 334: +/* rule 334 can match eol */ YY_RULE_SETUP -#line 1628 "rwllexer.l" +#line 1634 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4898,10 +4915,10 @@ YY_RULE_SETUP } } YY_BREAK -case 334: -/* rule 334 can match eol */ +case 335: +/* rule 335 can match eol */ YY_RULE_SETUP -#line 1658 "rwllexer.l" +#line 1664 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4932,9 +4949,9 @@ YY_RULE_SETUP } } YY_BREAK -case 335: +case 336: YY_RULE_SETUP -#line 1688 "rwllexer.l" +#line 1694 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4945,24 +4962,24 @@ YY_RULE_SETUP } } YY_BREAK -case 336: +case 337: YY_RULE_SETUP -#line 1697 "rwllexer.l" +#line 1703 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 337: +case 338: YY_RULE_SETUP -#line 1700 "rwllexer.l" +#line 1706 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 338: -/* rule 338 can match eol */ +case 339: +/* rule 339 can match eol */ YY_RULE_SETUP -#line 1704 "rwllexer.l" +#line 1710 "rwllexer.l" { rwm->loc.fname = rwlstrdup(rwm, rwlstrchr(rwm->rwlytext,'"')); rwm->loc.fname[rwlstrlen(rwm->loc.fname)-1] = 0; @@ -4971,11 +4988,11 @@ YY_RULE_SETUP rwm->loc.errlin = 0; } YY_BREAK -case 339: -#line 1712 "rwllexer.l" case 340: +#line 1718 "rwllexer.l" +case 341: YY_RULE_SETUP -#line 1712 "rwllexer.l" +#line 1718 "rwllexer.l" { // bad directive char idbuf[100], c; ub4 i; @@ -5016,37 +5033,37 @@ YY_RULE_SETUP { rwm->loc.lineno++; rwm->loc.inpos=0; } } YY_BREAK -case 341: -/* rule 341 can match eol */ -YY_RULE_SETUP -#line 1753 "rwllexer.l" -{ rwm->loc.lineno++; rwm->loc.inpos=0; } - YY_BREAK case 342: /* rule 342 can match eol */ YY_RULE_SETUP -#line 1754 "rwllexer.l" +#line 1759 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 343: /* rule 343 can match eol */ YY_RULE_SETUP -#line 1755 "rwllexer.l" +#line 1760 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 344: +/* rule 344 can match eol */ YY_RULE_SETUP -#line 1756 "rwllexer.l" -/* nothing */ ; +#line 1761 "rwllexer.l" +{ rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 345: YY_RULE_SETUP -#line 1757 "rwllexer.l" +#line 1762 "rwllexer.l" /* nothing */ ; YY_BREAK case 346: YY_RULE_SETUP -#line 1758 "rwllexer.l" +#line 1763 "rwllexer.l" +/* nothing */ ; + YY_BREAK +case 347: +YY_RULE_SETUP +#line 1764 "rwllexer.l" { if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -5061,12 +5078,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII, rwm->loc.inpos, (ub1)rwm->rwlytext[0]); } YY_BREAK -case 347: +case 348: YY_RULE_SETUP -#line 1772 "rwllexer.l" +#line 1778 "rwllexer.l" ECHO; YY_BREAK -#line 5070 "lex.rwly.c" +#line 5087 "lex.rwly.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -5361,7 +5378,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1904 ) + if ( yy_current_state >= 1922 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; @@ -5390,11 +5407,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1904 ) + if ( yy_current_state >= 1922 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 1903); + yy_is_jam = (yy_current_state == 1921); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -6247,7 +6264,7 @@ void rwlyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1772 "rwllexer.l" +#line 1778 "rwllexer.l" diff --git a/src/rwl.h b/src/rwl.h index 782dab3d..5e9520f8 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 15-mar-2024 - $connecterror:accept * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 7-mar-2024 - Development is now 3.1.3 * bengsig 7-mar-2024 - Prepare 3.1.2 @@ -1117,6 +1118,7 @@ struct rwl_main #define RWL_P4_SLASHCONVERT 0x00020000 // $slashconvert:on #define RWL_P4_STATSATIME 0x00040000 // $statsapptime:on #define RWL_P4_STATSDTIME 0x00080000 // $statsdbtime:on +#define RWL_P4_CONERROK 0x00100000 // $connecterror:accept FILE *sqllogfile; diff --git a/src/rwlerror.c b/src/rwlerror.c index bc76bb0e..43c52af3 100644 --- a/src/rwlerror.c +++ b/src/rwlerror.c @@ -11,6 +11,7 @@ * * History * + * bengsig 15-mar-2024 - $connecterror:accept, 12537, 12547 * bengsig 12-feb-2024 - \r\n on Windows * bengsig 30-jan-2024 - All includes in rwl.h * bengsig 28-nov-2023 - $oraerror:nocount directive @@ -553,6 +554,8 @@ void rwldberror3(rwl_xeqenv *xev, rwl_location * cloc, rwl_sql *sq, text *fname, case 24457: // OCISessionGet() could not find a free session in the specified timeout period case 24459: // OCISessionGet() timed out waiting for pool to create new connections case 24496: // OCISessionGet() timed out waiting for a free connection + if (bit(xev->rwm->m4flags, RWL_P4_CONERROK)) + break; rwlwait(xev, cloc, 2.0); /*FALLTHROUGH*/ @@ -561,10 +564,14 @@ void rwldberror3(rwl_xeqenv *xev, rwl_location * cloc, rwl_sql *sq, text *fname, case 12516: // TNS:listener could not find available handler with matching protocol stack case 12519: // TNS:no appropriate service handler found case 12530: // TNS:listener: rate limit reached + case 12537: // TNS:connection closed + case 12547: // TNS:lost contact case 12564: // TNS:connection refused case 12757: // instance does not currently know of requested service case 24324: // service handle not initialized case 28547: // connection to server failed, probable Oracle Net admin error + if (bit(xev->rwm->m4flags, RWL_P4_CONERROK)) + break; rwlwait(xev, cloc, 2.0); /*FALLTHROUGH*/ @@ -585,6 +592,8 @@ void rwldberror3(rwl_xeqenv *xev, rwl_location * cloc, rwl_sql *sq, text *fname, case 28864: // SSL connection closed gracefully case 41409: // cannot replay committed transaction; failover cannot continue case 41412: // results changed during replay; failover cannot continue + if (bit(xev->rwm->m4flags, RWL_P4_CONERROK)) + break; bis(xev->curdb->flags, RWL_DB_DEAD); // makes next release also drop session bic(xev->curdb->flags, RWL_DB_DIDDML|RWL_DB_DIDPLSQL|RWL_DB_DIDDDL); // we make the actual wait vary somewhat (+/- 1s) such that all diff --git a/src/rwllexer.l b/src/rwllexer.l index 96dbf4dc..b2221e98 100644 --- a/src/rwllexer.l +++ b/src/rwllexer.l @@ -11,6 +11,7 @@ * * History * + * bengsig 15-mar-2024 - $connecterror:accept * bengsig 4-mar-2024 - atime, dtime * bengsig 29-feb-2024 - $filelinename directive * bengsig 28-feb-2024 - simple escape processing in user help text @@ -1419,6 +1420,11 @@ bic(rwm->m4flags, RWL_P4_STATSDTIME); } +\$connecterror:accept { + if (!rwm->ifdirbit) + bis(rwm->m4flags, RWL_P4_CONERROK); + } + \$crnlstring:on { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLSTRING); diff --git a/src/rwlsql.c b/src/rwlsql.c index 514584d1..090b5655 100644 --- a/src/rwlsql.c +++ b/src/rwlsql.c @@ -11,6 +11,7 @@ * * History * + * bengsig 15-mar-2024 - Also sqllogging after error * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 7-mar-2024 - a few lob changes * johnkenn 06-mar-2024 - write lob with offset @@ -1487,6 +1488,8 @@ static void rwlexecsql(rwl_xeqenv *xev { ub2 poffset = 0; rwldberror2(xev, cloc, sq, fname); + if (bit(xev->rwm->m4flags,RWL_P4_SQLLOGGING)) + rwlsqllogging(xev, cloc, sq, fname); if (bit(db->flags, RWL_DB_DEAD)) goto failure; if (!bit(sq->flags, RWL_SQFLAG_IGNERR) @@ -2830,6 +2833,8 @@ void rwlflushsql2(rwl_xeqenv *xev if (xev->status != OCI_SUCCESS) { ub2 poffset = 0; + if (bit(xev->rwm->m4flags,RWL_P4_SQLLOGGING)) + rwlsqllogging(xev, cloc, sq, fname); rwldberror3(xev, cloc, sq, fname, bit(sq->flags, RWL_SQFLAG_IGNERR)); if (bit(db->flags, RWL_DB_DEAD)) goto failure; From 23b60c0617bd2ea4b860cdc5275f0fef8e88c971 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 20 Mar 2024 10:21:04 +0000 Subject: [PATCH 005/118] Connection storm (plus some doc updates) --- admin/rwl313.sql | 23 ++++ admin/rwlgrants.sql | 2 + admin/rwloadsim.sql | 13 ++ bin/oltpcore | 5 + bin/oltpplot | 47 +++++++ docs/ERRORLIST.md | 2 +- docs/refman/ashdata.html | 2 +- docs/refman/ashplot.html | 2 +- docs/refman/atclause.html | 2 +- docs/refman/awrdump.html | 2 +- docs/refman/awrreport.html | 2 +- docs/refman/compoundstatement.html | 2 +- docs/refman/concatenation.html | 11 +- docs/refman/conditional.html | 2 +- docs/refman/connping.html | 2 +- docs/refman/constant.html | 11 +- docs/refman/controlloop.html | 2 +- docs/refman/cqnthread.html | 2 +- docs/refman/cursor.html | 2 +- docs/refman/cursorloop.html | 2 +- docs/refman/databasedeclaration.html | 2 +- docs/refman/databasestatement.html | 2 +- docs/refman/declaration.html | 2 +- docs/refman/directive.html | 17 ++- docs/refman/directives.html | 17 ++- docs/refman/double.html | 2 +- docs/refman/executionblock.html | 2 +- docs/refman/expression.html | 11 +- docs/refman/file.html | 34 +++--- docs/refman/filecommands.html | 2 +- docs/refman/filestatement.html | 34 +++--- docs/refman/forloop.html | 2 +- docs/refman/fractiles.html | 2 +- docs/refman/function.html | 11 +- docs/refman/functiondeclaration.html | 2 +- docs/refman/histogram.html | 2 +- docs/refman/histogram_a.html | 2 +- docs/refman/identifier.html | 2 +- docs/refman/if.html | 2 +- docs/refman/ifstatement.html | 2 +- docs/refman/include.html | 9 +- docs/refman/integer.html | 2 +- docs/refman/lobdeclaration.html | 2 +- docs/refman/longoption.html | 2 +- docs/refman/loop.html | 2 +- docs/refman/multiprocess.html | 2 +- docs/refman/netthroughput.html | 2 +- docs/refman/ociping.html | 2 +- docs/refman/oerstats.html | 2 +- docs/refman/oltp.html | 4 +- docs/refman/oltpdirectory.html | 2 +- docs/refman/oltpforever.html | 2 +- docs/refman/oltpplot.html | 2 +- docs/refman/oltpsetup.html | 2 +- docs/refman/oltpxc.html | 2 +- docs/refman/oltpxcset.html | 2 +- docs/refman/percentiles.html | 2 +- docs/refman/persec.html | 2 +- docs/refman/persec_a.html | 2 +- docs/refman/printfstatement.html | 2 +- docs/refman/printline.html | 34 +++--- docs/refman/proceduredeclaration.html | 2 +- docs/refman/randomproceduredeclaration.html | 2 +- docs/refman/randomstringdeclaration.html | 2 +- docs/refman/readline.html | 34 +++--- docs/refman/readlob.html | 2 +- docs/refman/readloop.html | 34 +++--- docs/refman/regex.html | 2 +- docs/refman/regexextract.html | 2 +- docs/refman/regexsearch.html | 2 +- docs/refman/regexsubstitute.html | 2 +- docs/refman/run.html | 2 +- docs/refman/runres.html | 2 +- docs/refman/runres_a.html | 2 +- docs/refman/rwl.html | 2 +- docs/refman/rwlash.html | 2 +- docs/refman/rwlcpu.html | 2 +- docs/refman/rwlcpu_a.html | 2 +- docs/refman/rwlerror.html | 2 +- docs/refman/rwloadsim.html | 6 +- docs/refman/rwlprogram.html | 2 +- docs/refman/rwlrun.html | 2 +- docs/refman/scalardeclaration.html | 2 +- docs/refman/simpledeclaration.html | 2 +- docs/refman/sqldeclaration.html | 2 +- docs/refman/sqlexecution.html | 2 +- docs/refman/sqlid2file.html | 2 +- docs/refman/sqlmonitor.html | 2 +- docs/refman/sqlmonitorawr.html | 2 +- docs/refman/sqlreport.html | 2 +- docs/refman/sqlstatement.html | 2 +- docs/refman/statement.html | 2 +- docs/refman/statementlist.html | 2 +- docs/refman/statistics.html | 2 +- docs/refman/string.html | 2 +- docs/refman/sysres.html | 2 +- docs/refman/thread.html | 2 +- docs/refman/threadexecution.html | 2 +- docs/refman/threads.html | 2 +- docs/refman/userhelp.html | 2 +- docs/refman/useroption.html | 2 +- docs/refman/userswitch.html | 2 +- docs/refman/utilities.html | 2 +- docs/refman/variable.html | 2 +- docs/refman/while.html | 2 +- docs/refman/writeline.html | 34 +++--- docs/refman/writelob.html | 2 +- man/man1rwl/expression.1rwl | 1 + man/man1rwl/filestatement.1rwl | 15 +-- man/man1rwl/include.1rwl | 1 + man/man1rwl/rwloadsim.1rwl | 1 + oltp/aw_declarations.rwl | 11 +- oltp/cstorm_implementation.rwl | 81 +++++++++++++ oltp/csvdata.rwl | 128 ++++++++++++++++++++ oltp/oltp.rwl | 7 ++ oltp/parameters.rwl | 26 ++++ oltp/parameters2shell.rwl | 6 + oltp/run.rwl | 27 ++++- 118 files changed, 636 insertions(+), 233 deletions(-) create mode 100644 admin/rwl313.sql create mode 100644 oltp/cstorm_implementation.rwl diff --git a/admin/rwl313.sql b/admin/rwl313.sql new file mode 100644 index 00000000..a8767b30 --- /dev/null +++ b/admin/rwl313.sql @@ -0,0 +1,23 @@ +-- update the RWP*Load Simulator repository +-- for version 3.1.3 +-- +-- Copyright (c) 2023 Oracle Corporation +-- Licensed under the Universal Permissive License v 1.0 +-- as shown at https://oss.oracle.com/licenses/upl/ +-- +-- Changes +-- +-- NAME DATE COMMENTS +-- bengsig 19-mar-2024 Created +-- +create table cstorm +( runnumber number not null +, threadnumber number not null +, begtime number +, endtime number +, offtime number +, errnum number +, errtxt varchar2(200) +, primary key(runnumber, threadnumber) +) ; + diff --git a/admin/rwlgrants.sql b/admin/rwlgrants.sql index 470a0d5e..36f5f303 100644 --- a/admin/rwlgrants.sql +++ b/admin/rwlgrants.sql @@ -5,6 +5,7 @@ -- as shown at https://oss.oracle.com/licenses/upl/ -- History +-- bengsig 19-mar-2023 - cstorm -- bengsig 8-aug-2023 - Missing grant to PERSEC -- bengsig 2017 - Creation @@ -37,5 +38,6 @@ grant insert,select on SYSRES to rwlpublic; grant insert,select on OERSTATS to rwlpublic; grant insert,select on ashdata to rwlpublic; grant insert,select on rwlash to rwlpublic; +grant insert,select on cstorm to rwlpublic; grant select on runnumber_seq to rwlpublic; diff --git a/admin/rwloadsim.sql b/admin/rwloadsim.sql index 0d09fab6..d3db1fc6 100644 --- a/admin/rwloadsim.sql +++ b/admin/rwloadsim.sql @@ -7,6 +7,7 @@ -- Changes -- -- NAME DATE COMMENTS +-- bengsig 19-mar-2024 cstorm table -- bengsig 1-mar-2024 atime,dtime column -- bengsig 25-apr-2022 MTIT -- bengsig 1-nov-2022 Make sequence nocache to prevent many lost numbers @@ -192,3 +193,15 @@ create table oltpxc , constraint oltpxc_pk primary key(key, hostname) ) / + +create table cstorm +( runnumber number not null +, threadnumber number not null +, begtime number +, endtime number +, offtime number +, errnum number +, errtxt varchar2(200) +, primary key(runnumber, threadnumber) +) ; + diff --git a/bin/oltpcore b/bin/oltpcore index e81c0370..e69a00d8 100755 --- a/bin/oltpcore +++ b/bin/oltpcore @@ -298,6 +298,11 @@ do done echo echo '****' started all background jobs at `date` +if test $cstormxtra = yes +then + rwloadsim -q -M $prepvalue cstorm_implementation.rwl & + echo '****' started cstorm background job at `date` +fi sleep 3 # show running graph of dbcpu and dbtime diff --git a/bin/oltpplot b/bin/oltpplot index 17b0830d..7a84b0ab 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 20-mar-2024 bengsig cstorm # 4-mar-2024 bengsig dtime, atime # 24-jan-2024 bengsig Include batch pool counts in cli.csv, plot total open # 5-dec-2023 bengsig Changed html heading with --ses-simplified @@ -861,6 +862,12 @@ then Ash data *$svgash${runnumber}_ash.png END fi +if test $cstormwidth -gt 0 +then + cat <> $awrdirectory$subdir$runnumber/index.html +Extra connection storm${runnumber}_cstorm.svg${runnumber}_cstorm.png +END +fi if test $oercount -gt 0 then @@ -932,6 +939,46 @@ else fi echo "proccount=$proccount" >> $awrdirectory$subdir$runnumber/index.html +if test $cstormwidth -gt 0 +then + cat $resultsdir$subdir$runnumber/cstorm.html >> $awrdirectory$subdir$runnumber/index.html + cat > $resultsdir$subdir${runnumber}/cstorm.plot <> $resultsdir$subdir${runnumber}/cstorm.plot + fi + if test ! -z "$cstormtit2" + then + echo ", '$resultsdir$subdir$runnumber/cstorm.csv' using 1:6 with points ps 0.5 lc rgb 'blue' title '$cstormtit2' \\" >> $resultsdir$subdir${runnumber}/cstorm.plot + fi + if test ! -z "$cstormtit3" + then + echo ", '$resultsdir$subdir$runnumber/cstorm.csv' using 1:7 with points ps 0.5 lc rgb 'cyan' title '$cstormtit3' \\" >> $resultsdir$subdir${runnumber}/cstorm.plot + fi + if test $cstormabove3 = yes + then + echo ", '$resultsdir$subdir$runnumber/cstorm.csv' using 1:8 with points ps 0.5 lc rgb 'orange' title 'other error' \\" >> $resultsdir$subdir${runnumber}/cstorm.plot + fi + cat >> $resultsdir$subdir${runnumber}/cstorm.plot <> $awrdirectory$subdir$runnumber/index.html

Plots for $titletext at $rundate


diff --git a/docs/ERRORLIST.md b/docs/ERRORLIST.md index 6fd1717d..634d14b9 100644 --- a/docs/ERRORLIST.md +++ b/docs/ERRORLIST.md @@ -1229,7 +1229,7 @@ compound statement such as if or loop. When waiting for a session in a session pool, no available entry was available within the timeout of set for the pool. -### RWL-306 information: "executing sql with sql_id=%.*s:%s%s" +### RWL-306 information: "executing sql with sql_id=%s:%s%s" The $sqllogging: directive is used to output all SQL being executed. ### RWL-307 information: "executing sql with unknown sql_id:%s%s" diff --git a/docs/refman/ashdata.html b/docs/refman/ashdata.html index d2dc7896..2d8fe347 100644 --- a/docs/refman/ashdata.html +++ b/docs/refman/ashdata.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/ashplot.html b/docs/refman/ashplot.html index ffe52da5..501d039e 100644 --- a/docs/refman/ashplot.html +++ b/docs/refman/ashplot.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/atclause.html b/docs/refman/atclause.html index 3e586eb5..7ac03ee3 100644 --- a/docs/refman/atclause.html +++ b/docs/refman/atclause.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/awrdump.html b/docs/refman/awrdump.html index f5986031..7463013d 100644 --- a/docs/refman/awrdump.html +++ b/docs/refman/awrdump.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/awrreport.html b/docs/refman/awrreport.html index 77db316f..6c5130dd 100644 --- a/docs/refman/awrreport.html +++ b/docs/refman/awrreport.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/compoundstatement.html b/docs/refman/compoundstatement.html index bb397cf8..8fea3c4e 100644 --- a/docs/refman/compoundstatement.html +++ b/docs/refman/compoundstatement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/concatenation.html b/docs/refman/concatenation.html index 3db2cfc1..49a7111a 100644 --- a/docs/refman/concatenation.html +++ b/docs/refman/concatenation.html @@ -1,5 +1,5 @@ - + @@ -234,10 +234,11 @@

CONSTANTS potentially followed by uppercase, underscore or digits are also string constants. Except when used in the $if $then directive, attempts at using non existing -environment variables cause a warning to be displayed. Due -to the fact that expressions are always calculated as all -three simple types, you can assign such environment -variables to integers and doubles.

+environment variables cause a warning to be displayed. The +same syntax with $ for environment expansion is also used on +Microsoft Windows. Due to the fact that expressions are +always calculated as all three simple types, you can assign +such environment variables to integers and doubles.

Please note that $ followed by lower case are directives, so you cannot diff --git a/docs/refman/conditional.html b/docs/refman/conditional.html index 41343142..445570e7 100644 --- a/docs/refman/conditional.html +++ b/docs/refman/conditional.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/connping.html b/docs/refman/connping.html index 8247b489..b68fbaa4 100644 --- a/docs/refman/connping.html +++ b/docs/refman/connping.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/constant.html b/docs/refman/constant.html index 3db2cfc1..49a7111a 100644 --- a/docs/refman/constant.html +++ b/docs/refman/constant.html @@ -1,5 +1,5 @@ - + @@ -234,10 +234,11 @@

CONSTANTS potentially followed by uppercase, underscore or digits are also string constants. Except when used in the $if $then directive, attempts at using non existing -environment variables cause a warning to be displayed. Due -to the fact that expressions are always calculated as all -three simple types, you can assign such environment -variables to integers and doubles.

+environment variables cause a warning to be displayed. The +same syntax with $ for environment expansion is also used on +Microsoft Windows. Due to the fact that expressions are +always calculated as all three simple types, you can assign +such environment variables to integers and doubles.

Please note that $ followed by lower case are directives, so you cannot diff --git a/docs/refman/controlloop.html b/docs/refman/controlloop.html index d66b7447..21ace433 100644 --- a/docs/refman/controlloop.html +++ b/docs/refman/controlloop.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/cqnthread.html b/docs/refman/cqnthread.html index 0d4c7e02..3372b17f 100644 --- a/docs/refman/cqnthread.html +++ b/docs/refman/cqnthread.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/cursor.html b/docs/refman/cursor.html index 6cbd735d..7478898a 100644 --- a/docs/refman/cursor.html +++ b/docs/refman/cursor.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/cursorloop.html b/docs/refman/cursorloop.html index b161f8ae..e6d665ed 100644 --- a/docs/refman/cursorloop.html +++ b/docs/refman/cursorloop.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/databasedeclaration.html b/docs/refman/databasedeclaration.html index 57df9189..efd4e576 100644 --- a/docs/refman/databasedeclaration.html +++ b/docs/refman/databasedeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/databasestatement.html b/docs/refman/databasestatement.html index 7563c27e..4f7d0355 100644 --- a/docs/refman/databasestatement.html +++ b/docs/refman/databasestatement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/declaration.html b/docs/refman/declaration.html index 3e1c5dbc..53c6775b 100644 --- a/docs/refman/declaration.html +++ b/docs/refman/declaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/directive.html b/docs/refman/directive.html index 40ce318d..952695bc 100644 --- a/docs/refman/directive.html +++ b/docs/refman/directive.html @@ -1,5 +1,5 @@ - + @@ -549,7 +549,7 @@

DIRECTIVES starts after the calculated time.

-

$musymbol:<text>

+

$musymbol:<text>

When using the m or M conversion specifier in a printf statement, the @@ -557,7 +557,7 @@

DIRECTIVES representation. This directive can be used to set any other text string, including potentially other characters outside the ASCII character set. There is no escape processing, so -you must be able to enter the appropriate value using and +you must be able to enter the appropriate value using an editor.

@@ -613,6 +613,17 @@

DIRECTIVES ~/.rwloadsim.rwl.

+

$connecterror:accept

+ +

By default, errors during +connection marks the database as unavailable, such that +further use of it is prevented. With this directive errors +during connection are handled like any other error. It +should not normally be used as it can have several +unwanted side effects including connection storms and +further errors later on.

+ +

$useroption:name
$userswitch:name
diff --git a/docs/refman/directives.html b/docs/refman/directives.html index 4b6f874c..aedda185 100644 --- a/docs/refman/directives.html +++ b/docs/refman/directives.html @@ -1,5 +1,5 @@ - + @@ -549,7 +549,7 @@

DIRECTIVES starts after the calculated time.

-

$musymbol:<text>

+

$musymbol:<text>

When using the m or M conversion specifier in a printf statement, the @@ -557,7 +557,7 @@

DIRECTIVES representation. This directive can be used to set any other text string, including potentially other characters outside the ASCII character set. There is no escape processing, so -you must be able to enter the appropriate value using and +you must be able to enter the appropriate value using an editor.

@@ -613,6 +613,17 @@

DIRECTIVES ~/.rwloadsim.rwl.

+

$connecterror:accept

+ +

By default, errors during +connection marks the database as unavailable, such that +further use of it is prevented. With this directive errors +during connection are handled like any other error. It +should not normally be used as it can have several +unwanted side effects including connection storms and +further errors later on.

+ +

$useroption:name
$userswitch:name
diff --git a/docs/refman/double.html b/docs/refman/double.html index 68bee347..70b4706c 100644 --- a/docs/refman/double.html +++ b/docs/refman/double.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/executionblock.html b/docs/refman/executionblock.html index b0074803..7478898a 100644 --- a/docs/refman/executionblock.html +++ b/docs/refman/executionblock.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/expression.html b/docs/refman/expression.html index 379ada62..098b5826 100644 --- a/docs/refman/expression.html +++ b/docs/refman/expression.html @@ -1,5 +1,5 @@ - + @@ -234,10 +234,11 @@

CONSTANTS potentially followed by uppercase, underscore or digits are also string constants. Except when used in the $if $then directive, attempts at using non existing -environment variables cause a warning to be displayed. Due -to the fact that expressions are always calculated as all -three simple types, you can assign such environment -variables to integers and doubles.

+environment variables cause a warning to be displayed. The +same syntax with $ for environment expansion is also used on +Microsoft Windows. Due to the fact that expressions are +always calculated as all three simple types, you can assign +such environment variables to integers and doubles.

Please note that $ followed by lower case are directives, so you cannot diff --git a/docs/refman/file.html b/docs/refman/file.html index a6cb8069..af34905e 100644 --- a/docs/refman/file.html +++ b/docs/refman/file.html @@ -1,5 +1,5 @@ - + @@ -98,14 +98,10 @@

USAGE be a file, and the concatenation is taken as the name of the file or a pipeline to be executed.

-

v := e -
-v >= e

+

v >= +e

-

Open a file for writing. The -first operator, which will be deprecated and eventually -desupported, is kept for legacy reasons, and it is suggested -that new code uses the second.

+

Open a file for writing.

v >>= e

@@ -145,7 +141,9 @@

USAGE directive is in effect. You can also use $n where n is a single digit between 1 and 9 to expand the value of a positional argument to rwloadsim. This is not done for -pipelines, although the popen call is likely to do it.

+pipelines, although the popen call is likely to do it. The +same syntax with $ for environment expansion is also used on +Microsoft Windows.

If the concatenation is null the file will be closed or the @@ -174,6 +172,9 @@

USAGE printline perform the same although writing to stdout.

+

For more +advanced output, use printfstatement(1rwl).

+

fflush v

@@ -288,15 +289,15 @@

NOTES rwloadsim.

In previous -versions of rwloadsim, only the := assignment -operator existed and the contents of the concatenation was +versions of rwloadsim, the := assignment operator +existed and the contents of the concatenation was interpreted to open for read, write, append or as pipelines. The actual operation was chosen by having an initial "<", ">>", "|" or a -final "|" in the concatenation. There is a -security concern with this, and it is therefore deprecated -and will be desupported in release 3.1. As of version 3.0.6 -you will get a warning for the deprecated usage.

+final "|" in the concatenation. Without any of +these, the file would be opened for writing. There is a +security concern with this, and it is therefore desupported +in release 3.1.

EXAMPLES @@ -324,7 +325,8 @@

SEE ALSO

variable(1rwl), statement(1rwl), threadexecution(1rwl), expression(1rwl), -readloop(1rwl), compoundstatement(1rwl)

+readloop(1rwl), compoundstatement(1rwl), +printfstatement(1rwl), regex(1rwl)


diff --git a/docs/refman/filecommands.html b/docs/refman/filecommands.html index 275baa7e..c1f2b926 100644 --- a/docs/refman/filecommands.html +++ b/docs/refman/filecommands.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/filestatement.html b/docs/refman/filestatement.html index 7716d4f9..e1e1c1f8 100644 --- a/docs/refman/filestatement.html +++ b/docs/refman/filestatement.html @@ -1,5 +1,5 @@ - + @@ -98,14 +98,10 @@

USAGE be a file, and the concatenation is taken as the name of the file or a pipeline to be executed.

-

v := e -
-v >= e

+

v >= +e

-

Open a file for writing. The -first operator, which will be deprecated and eventually -desupported, is kept for legacy reasons, and it is suggested -that new code uses the second.

+

Open a file for writing.

v >>= e

@@ -145,7 +141,9 @@

USAGE directive is in effect. You can also use $n where n is a single digit between 1 and 9 to expand the value of a positional argument to rwloadsim. This is not done for -pipelines, although the popen call is likely to do it.

+pipelines, although the popen call is likely to do it. The +same syntax with $ for environment expansion is also used on +Microsoft Windows.

If the concatenation is null the file will be closed or the @@ -174,6 +172,9 @@

USAGE printline perform the same although writing to stdout.

+

For more +advanced output, use printfstatement(1rwl).

+

fflush v

@@ -288,15 +289,15 @@

NOTES rwloadsim.

In previous -versions of rwloadsim, only the := assignment -operator existed and the contents of the concatenation was +versions of rwloadsim, the := assignment operator +existed and the contents of the concatenation was interpreted to open for read, write, append or as pipelines. The actual operation was chosen by having an initial "<", ">>", "|" or a -final "|" in the concatenation. There is a -security concern with this, and it is therefore deprecated -and will be desupported in release 3.1. As of version 3.0.6 -you will get a warning for the deprecated usage.

+final "|" in the concatenation. Without any of +these, the file would be opened for writing. There is a +security concern with this, and it is therefore desupported +in release 3.1.

EXAMPLES @@ -324,7 +325,8 @@

SEE ALSO

variable(1rwl), statement(1rwl), threadexecution(1rwl), expression(1rwl), -readloop(1rwl), compoundstatement(1rwl)

+readloop(1rwl), compoundstatement(1rwl), +printfstatement(1rwl), regex(1rwl)


diff --git a/docs/refman/forloop.html b/docs/refman/forloop.html index b0074803..7478898a 100644 --- a/docs/refman/forloop.html +++ b/docs/refman/forloop.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/fractiles.html b/docs/refman/fractiles.html index 32362a9c..825d556a 100644 --- a/docs/refman/fractiles.html +++ b/docs/refman/fractiles.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/function.html b/docs/refman/function.html index e89fcc40..49a7111a 100644 --- a/docs/refman/function.html +++ b/docs/refman/function.html @@ -1,5 +1,5 @@ - + @@ -234,10 +234,11 @@

CONSTANTS potentially followed by uppercase, underscore or digits are also string constants. Except when used in the $if $then directive, attempts at using non existing -environment variables cause a warning to be displayed. Due -to the fact that expressions are always calculated as all -three simple types, you can assign such environment -variables to integers and doubles.

+environment variables cause a warning to be displayed. The +same syntax with $ for environment expansion is also used on +Microsoft Windows. Due to the fact that expressions are +always calculated as all three simple types, you can assign +such environment variables to integers and doubles.

Please note that $ followed by lower case are directives, so you cannot diff --git a/docs/refman/functiondeclaration.html b/docs/refman/functiondeclaration.html index f61b26c4..ffcd2d25 100644 --- a/docs/refman/functiondeclaration.html +++ b/docs/refman/functiondeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/histogram.html b/docs/refman/histogram.html index 802bb85e..f5c34c14 100644 --- a/docs/refman/histogram.html +++ b/docs/refman/histogram.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/histogram_a.html b/docs/refman/histogram_a.html index 32362a9c..b4484fe3 100644 --- a/docs/refman/histogram_a.html +++ b/docs/refman/histogram_a.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/identifier.html b/docs/refman/identifier.html index 97d64303..63940ca7 100644 --- a/docs/refman/identifier.html +++ b/docs/refman/identifier.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/if.html b/docs/refman/if.html index b0074803..9ed863da 100644 --- a/docs/refman/if.html +++ b/docs/refman/if.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/ifstatement.html b/docs/refman/ifstatement.html index 408e233f..9ed863da 100644 --- a/docs/refman/ifstatement.html +++ b/docs/refman/ifstatement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/include.html b/docs/refman/include.html index bbdb6671..8efaa914 100644 --- a/docs/refman/include.html +++ b/docs/refman/include.html @@ -1,5 +1,5 @@ - + @@ -74,9 +74,10 @@

DESCRIPTION $include directive. Unless -no-nameexpand option or the $nameexpand:off directive is used, environment names in either $NAME or ${NAME} syntax will be expanded before -opening the include file. You can also use $n where n is a -single digit between 1 and 9 to expand the value of a -positional argument to rwloadsim.

+opening the include file. The same syntax with $ for +environment expansion is also used on Microsoft Windows. You +can also use $n where n is a single digit between 1 and 9 to +expand the value of a positional argument to rwloadsim.

If the filename is embedded within the characters < and > instead of diff --git a/docs/refman/integer.html b/docs/refman/integer.html index 5d204497..7b88c5a2 100644 --- a/docs/refman/integer.html +++ b/docs/refman/integer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/lobdeclaration.html b/docs/refman/lobdeclaration.html index 1a2d5842..b8f806d7 100644 --- a/docs/refman/lobdeclaration.html +++ b/docs/refman/lobdeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/longoption.html b/docs/refman/longoption.html index d2d4e0be..dafdb95e 100644 --- a/docs/refman/longoption.html +++ b/docs/refman/longoption.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/loop.html b/docs/refman/loop.html index 408e233f..9ed863da 100644 --- a/docs/refman/loop.html +++ b/docs/refman/loop.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/multiprocess.html b/docs/refman/multiprocess.html index 4c418549..f0b16bf4 100644 --- a/docs/refman/multiprocess.html +++ b/docs/refman/multiprocess.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/netthroughput.html b/docs/refman/netthroughput.html index 41c34107..9755ee65 100644 --- a/docs/refman/netthroughput.html +++ b/docs/refman/netthroughput.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/ociping.html b/docs/refman/ociping.html index d95f45b9..e2473a7e 100644 --- a/docs/refman/ociping.html +++ b/docs/refman/ociping.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oerstats.html b/docs/refman/oerstats.html index 85d9c671..a3292cb2 100644 --- a/docs/refman/oerstats.html +++ b/docs/refman/oerstats.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltp.html b/docs/refman/oltp.html index fbe6d902..9f59d81b 100644 --- a/docs/refman/oltp.html +++ b/docs/refman/oltp.html @@ -1,5 +1,5 @@ - + @@ -276,7 +276,7 @@

SEE ALSO

oltpcheckkey(2rwl), oltpcore(2rwl), oltpcreate(2rwl), oltpday(2rwl), oltpdrop(2rwl), oltpfilloe(2rwl), oltpforever(2rwl), -oltpforever2(2rwl), oltpparams(2rwl), oltpplot(2rwl), +oltpforever2(2rwl), oltpparams(2rwl), oltpplot(2rwl), oltprun(2rwl), oltpscale(2rwl), oltpscalereport(2rwl), oltpsetup(2rwl), oltpverify(2rwl), oltpplus(2rwl), rwloadsim(1rwl), oltpdirectory(2rwl), diff --git a/docs/refman/oltpdirectory.html b/docs/refman/oltpdirectory.html index d787cc53..68354f00 100644 --- a/docs/refman/oltpdirectory.html +++ b/docs/refman/oltpdirectory.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpforever.html b/docs/refman/oltpforever.html index fb353e62..9a11c16f 100644 --- a/docs/refman/oltpforever.html +++ b/docs/refman/oltpforever.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpplot.html b/docs/refman/oltpplot.html index e2528c90..9fd0b3f8 100644 --- a/docs/refman/oltpplot.html +++ b/docs/refman/oltpplot.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpsetup.html b/docs/refman/oltpsetup.html index 2fb00260..8f6ea154 100644 --- a/docs/refman/oltpsetup.html +++ b/docs/refman/oltpsetup.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpxc.html b/docs/refman/oltpxc.html index 650a5d6c..c0ce9d63 100644 --- a/docs/refman/oltpxc.html +++ b/docs/refman/oltpxc.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpxcset.html b/docs/refman/oltpxcset.html index 9a8d8a4d..2b34a2cc 100644 --- a/docs/refman/oltpxcset.html +++ b/docs/refman/oltpxcset.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/percentiles.html b/docs/refman/percentiles.html index 835f42e8..4b2fcf30 100644 --- a/docs/refman/percentiles.html +++ b/docs/refman/percentiles.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/persec.html b/docs/refman/persec.html index 3eab0922..c8f511ca 100644 --- a/docs/refman/persec.html +++ b/docs/refman/persec.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/persec_a.html b/docs/refman/persec_a.html index 51dd7102..2bc8477a 100644 --- a/docs/refman/persec_a.html +++ b/docs/refman/persec_a.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/printfstatement.html b/docs/refman/printfstatement.html index 30cb1571..68bcc4b2 100644 --- a/docs/refman/printfstatement.html +++ b/docs/refman/printfstatement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/printline.html b/docs/refman/printline.html index 0591f53e..af34905e 100644 --- a/docs/refman/printline.html +++ b/docs/refman/printline.html @@ -1,5 +1,5 @@ - + @@ -98,14 +98,10 @@

USAGE be a file, and the concatenation is taken as the name of the file or a pipeline to be executed.

-

v := e -
-v >= e

+

v >= +e

-

Open a file for writing. The -first operator, which will be deprecated and eventually -desupported, is kept for legacy reasons, and it is suggested -that new code uses the second.

+

Open a file for writing.

v >>= e

@@ -145,7 +141,9 @@

USAGE directive is in effect. You can also use $n where n is a single digit between 1 and 9 to expand the value of a positional argument to rwloadsim. This is not done for -pipelines, although the popen call is likely to do it.

+pipelines, although the popen call is likely to do it. The +same syntax with $ for environment expansion is also used on +Microsoft Windows.

If the concatenation is null the file will be closed or the @@ -174,6 +172,9 @@

USAGE printline perform the same although writing to stdout.

+

For more +advanced output, use printfstatement(1rwl).

+

fflush v

@@ -288,15 +289,15 @@

NOTES rwloadsim.

In previous -versions of rwloadsim, only the := assignment -operator existed and the contents of the concatenation was +versions of rwloadsim, the := assignment operator +existed and the contents of the concatenation was interpreted to open for read, write, append or as pipelines. The actual operation was chosen by having an initial "<", ">>", "|" or a -final "|" in the concatenation. There is a -security concern with this, and it is therefore deprecated -and will be desupported in release 3.1. As of version 3.0.6 -you will get a warning for the deprecated usage.

+final "|" in the concatenation. Without any of +these, the file would be opened for writing. There is a +security concern with this, and it is therefore desupported +in release 3.1.

EXAMPLES @@ -324,7 +325,8 @@

SEE ALSO

variable(1rwl), statement(1rwl), threadexecution(1rwl), expression(1rwl), -readloop(1rwl), compoundstatement(1rwl)

+readloop(1rwl), compoundstatement(1rwl), +printfstatement(1rwl), regex(1rwl)


diff --git a/docs/refman/proceduredeclaration.html b/docs/refman/proceduredeclaration.html index 6d5afa41..2311a02b 100644 --- a/docs/refman/proceduredeclaration.html +++ b/docs/refman/proceduredeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/randomproceduredeclaration.html b/docs/refman/randomproceduredeclaration.html index b68a0076..f2d7c9d7 100644 --- a/docs/refman/randomproceduredeclaration.html +++ b/docs/refman/randomproceduredeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/randomstringdeclaration.html b/docs/refman/randomstringdeclaration.html index b5e8e85b..ae20c44e 100644 --- a/docs/refman/randomstringdeclaration.html +++ b/docs/refman/randomstringdeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/readline.html b/docs/refman/readline.html index 0591f53e..af34905e 100644 --- a/docs/refman/readline.html +++ b/docs/refman/readline.html @@ -1,5 +1,5 @@ - + @@ -98,14 +98,10 @@

USAGE be a file, and the concatenation is taken as the name of the file or a pipeline to be executed.

-

v := e -
-v >= e

+

v >= +e

-

Open a file for writing. The -first operator, which will be deprecated and eventually -desupported, is kept for legacy reasons, and it is suggested -that new code uses the second.

+

Open a file for writing.

v >>= e

@@ -145,7 +141,9 @@

USAGE directive is in effect. You can also use $n where n is a single digit between 1 and 9 to expand the value of a positional argument to rwloadsim. This is not done for -pipelines, although the popen call is likely to do it.

+pipelines, although the popen call is likely to do it. The +same syntax with $ for environment expansion is also used on +Microsoft Windows.

If the concatenation is null the file will be closed or the @@ -174,6 +172,9 @@

USAGE printline perform the same although writing to stdout.

+

For more +advanced output, use printfstatement(1rwl).

+

fflush v

@@ -288,15 +289,15 @@

NOTES rwloadsim.

In previous -versions of rwloadsim, only the := assignment -operator existed and the contents of the concatenation was +versions of rwloadsim, the := assignment operator +existed and the contents of the concatenation was interpreted to open for read, write, append or as pipelines. The actual operation was chosen by having an initial "<", ">>", "|" or a -final "|" in the concatenation. There is a -security concern with this, and it is therefore deprecated -and will be desupported in release 3.1. As of version 3.0.6 -you will get a warning for the deprecated usage.

+final "|" in the concatenation. Without any of +these, the file would be opened for writing. There is a +security concern with this, and it is therefore desupported +in release 3.1.

EXAMPLES @@ -324,7 +325,8 @@

SEE ALSO

variable(1rwl), statement(1rwl), threadexecution(1rwl), expression(1rwl), -readloop(1rwl), compoundstatement(1rwl)

+readloop(1rwl), compoundstatement(1rwl), +printfstatement(1rwl), regex(1rwl)


diff --git a/docs/refman/readlob.html b/docs/refman/readlob.html index d2bbe846..2c6212e2 100644 --- a/docs/refman/readlob.html +++ b/docs/refman/readlob.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/readloop.html b/docs/refman/readloop.html index 0591f53e..969e97ae 100644 --- a/docs/refman/readloop.html +++ b/docs/refman/readloop.html @@ -1,5 +1,5 @@ - + @@ -98,14 +98,10 @@

USAGE be a file, and the concatenation is taken as the name of the file or a pipeline to be executed.

-

v := e -
-v >= e

+

v >= +e

-

Open a file for writing. The -first operator, which will be deprecated and eventually -desupported, is kept for legacy reasons, and it is suggested -that new code uses the second.

+

Open a file for writing.

v >>= e

@@ -145,7 +141,9 @@

USAGE directive is in effect. You can also use $n where n is a single digit between 1 and 9 to expand the value of a positional argument to rwloadsim. This is not done for -pipelines, although the popen call is likely to do it.

+pipelines, although the popen call is likely to do it. The +same syntax with $ for environment expansion is also used on +Microsoft Windows.

If the concatenation is null the file will be closed or the @@ -174,6 +172,9 @@

USAGE printline perform the same although writing to stdout.

+

For more +advanced output, use printfstatement(1rwl).

+

fflush v

@@ -288,15 +289,15 @@

NOTES rwloadsim.

In previous -versions of rwloadsim, only the := assignment -operator existed and the contents of the concatenation was +versions of rwloadsim, the := assignment operator +existed and the contents of the concatenation was interpreted to open for read, write, append or as pipelines. The actual operation was chosen by having an initial "<", ">>", "|" or a -final "|" in the concatenation. There is a -security concern with this, and it is therefore deprecated -and will be desupported in release 3.1. As of version 3.0.6 -you will get a warning for the deprecated usage.

+final "|" in the concatenation. Without any of +these, the file would be opened for writing. There is a +security concern with this, and it is therefore desupported +in release 3.1.

EXAMPLES @@ -324,7 +325,8 @@

SEE ALSO

variable(1rwl), statement(1rwl), threadexecution(1rwl), expression(1rwl), -readloop(1rwl), compoundstatement(1rwl)

+readloop(1rwl), compoundstatement(1rwl), +printfstatement(1rwl), regex(1rwl)


diff --git a/docs/refman/regex.html b/docs/refman/regex.html index 14e63266..c006d93d 100644 --- a/docs/refman/regex.html +++ b/docs/refman/regex.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/regexextract.html b/docs/refman/regexextract.html index d1b9bd6d..7acf95e4 100644 --- a/docs/refman/regexextract.html +++ b/docs/refman/regexextract.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/regexsearch.html b/docs/refman/regexsearch.html index 5e657707..7acf95e4 100644 --- a/docs/refman/regexsearch.html +++ b/docs/refman/regexsearch.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/regexsubstitute.html b/docs/refman/regexsubstitute.html index 5e657707..7acf95e4 100644 --- a/docs/refman/regexsubstitute.html +++ b/docs/refman/regexsubstitute.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/run.html b/docs/refman/run.html index 6d2f03b4..4f83a63e 100644 --- a/docs/refman/run.html +++ b/docs/refman/run.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/runres.html b/docs/refman/runres.html index 5e660905..f8a1fe54 100644 --- a/docs/refman/runres.html +++ b/docs/refman/runres.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/runres_a.html b/docs/refman/runres_a.html index d5f9f979..a6882224 100644 --- a/docs/refman/runres_a.html +++ b/docs/refman/runres_a.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwl.html b/docs/refman/rwl.html index 1b626a37..6ea36d6c 100644 --- a/docs/refman/rwl.html +++ b/docs/refman/rwl.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlash.html b/docs/refman/rwlash.html index a373f841..d4b75036 100644 --- a/docs/refman/rwlash.html +++ b/docs/refman/rwlash.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlcpu.html b/docs/refman/rwlcpu.html index a44399d5..19cd1fb3 100644 --- a/docs/refman/rwlcpu.html +++ b/docs/refman/rwlcpu.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlcpu_a.html b/docs/refman/rwlcpu_a.html index f3c18fca..ca8f5538 100644 --- a/docs/refman/rwlcpu_a.html +++ b/docs/refman/rwlcpu_a.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlerror.html b/docs/refman/rwlerror.html index e0d03d64..606dc695 100644 --- a/docs/refman/rwlerror.html +++ b/docs/refman/rwlerror.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwloadsim.html b/docs/refman/rwloadsim.html index cb196f74..924ac0b7 100644 --- a/docs/refman/rwloadsim.html +++ b/docs/refman/rwloadsim.html @@ -1,5 +1,5 @@ - + @@ -605,7 +605,9 @@

INPUT FILES environment variable names using either $NAME or ${NAME} syntax as in the shell. This is the case both for files named on the command line, and for files named using the -$include directive and several other occasions.

+$include directive and several other occasions. The +same syntax with $ for environment expansion is also used on +Microsoft Windows.

Each such file provided to rwloadsim (including implicitly using -x) must diff --git a/docs/refman/rwlprogram.html b/docs/refman/rwlprogram.html index edd81c6b..21ecb00f 100644 --- a/docs/refman/rwlprogram.html +++ b/docs/refman/rwlprogram.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlrun.html b/docs/refman/rwlrun.html index 02fb54bc..16dc307e 100644 --- a/docs/refman/rwlrun.html +++ b/docs/refman/rwlrun.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/scalardeclaration.html b/docs/refman/scalardeclaration.html index 3cbd6640..6a95e7da 100644 --- a/docs/refman/scalardeclaration.html +++ b/docs/refman/scalardeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/simpledeclaration.html b/docs/refman/simpledeclaration.html index 1fcd2b56..c5b00a33 100644 --- a/docs/refman/simpledeclaration.html +++ b/docs/refman/simpledeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqldeclaration.html b/docs/refman/sqldeclaration.html index 8c35ede1..117920d0 100644 --- a/docs/refman/sqldeclaration.html +++ b/docs/refman/sqldeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlexecution.html b/docs/refman/sqlexecution.html index 71a01618..8120d74e 100644 --- a/docs/refman/sqlexecution.html +++ b/docs/refman/sqlexecution.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlid2file.html b/docs/refman/sqlid2file.html index 6fb6b4d9..6eb5ec65 100644 --- a/docs/refman/sqlid2file.html +++ b/docs/refman/sqlid2file.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlmonitor.html b/docs/refman/sqlmonitor.html index 3068eaa0..f38d75bc 100644 --- a/docs/refman/sqlmonitor.html +++ b/docs/refman/sqlmonitor.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlmonitorawr.html b/docs/refman/sqlmonitorawr.html index 5a4e2281..a064168f 100644 --- a/docs/refman/sqlmonitorawr.html +++ b/docs/refman/sqlmonitorawr.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlreport.html b/docs/refman/sqlreport.html index 2398f0f0..9aa0252e 100644 --- a/docs/refman/sqlreport.html +++ b/docs/refman/sqlreport.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlstatement.html b/docs/refman/sqlstatement.html index 8877e5c4..4132cdd0 100644 --- a/docs/refman/sqlstatement.html +++ b/docs/refman/sqlstatement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/statement.html b/docs/refman/statement.html index d5f10e11..cafb42ed 100644 --- a/docs/refman/statement.html +++ b/docs/refman/statement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/statementlist.html b/docs/refman/statementlist.html index 1997da8f..ebd58fc1 100644 --- a/docs/refman/statementlist.html +++ b/docs/refman/statementlist.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/statistics.html b/docs/refman/statistics.html index 607fde38..587bb81e 100644 --- a/docs/refman/statistics.html +++ b/docs/refman/statistics.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/string.html b/docs/refman/string.html index 7b5947ec..1c7e7952 100644 --- a/docs/refman/string.html +++ b/docs/refman/string.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sysres.html b/docs/refman/sysres.html index f2790670..0e8cca30 100644 --- a/docs/refman/sysres.html +++ b/docs/refman/sysres.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/thread.html b/docs/refman/thread.html index 6d2f03b4..fd92c645 100644 --- a/docs/refman/thread.html +++ b/docs/refman/thread.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/threadexecution.html b/docs/refman/threadexecution.html index 1040593c..1aceb058 100644 --- a/docs/refman/threadexecution.html +++ b/docs/refman/threadexecution.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/threads.html b/docs/refman/threads.html index 3afabd3a..fd92c645 100644 --- a/docs/refman/threads.html +++ b/docs/refman/threads.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/userhelp.html b/docs/refman/userhelp.html index c6da5c2b..8d2ca8d9 100644 --- a/docs/refman/userhelp.html +++ b/docs/refman/userhelp.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/useroption.html b/docs/refman/useroption.html index 995641d6..db003244 100644 --- a/docs/refman/useroption.html +++ b/docs/refman/useroption.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/userswitch.html b/docs/refman/userswitch.html index c6da5c2b..8d2ca8d9 100644 --- a/docs/refman/userswitch.html +++ b/docs/refman/userswitch.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/utilities.html b/docs/refman/utilities.html index 9abb6eb5..2d421283 100644 --- a/docs/refman/utilities.html +++ b/docs/refman/utilities.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/variable.html b/docs/refman/variable.html index 57bb23b0..8225d381 100644 --- a/docs/refman/variable.html +++ b/docs/refman/variable.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/while.html b/docs/refman/while.html index 723e43b3..8251226c 100644 --- a/docs/refman/while.html +++ b/docs/refman/while.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/writeline.html b/docs/refman/writeline.html index 3fd2361f..969e97ae 100644 --- a/docs/refman/writeline.html +++ b/docs/refman/writeline.html @@ -1,5 +1,5 @@ - + @@ -98,14 +98,10 @@

USAGE be a file, and the concatenation is taken as the name of the file or a pipeline to be executed.

-

v := e -
-v >= e

+

v >= +e

-

Open a file for writing. The -first operator, which will be deprecated and eventually -desupported, is kept for legacy reasons, and it is suggested -that new code uses the second.

+

Open a file for writing.

v >>= e

@@ -145,7 +141,9 @@

USAGE directive is in effect. You can also use $n where n is a single digit between 1 and 9 to expand the value of a positional argument to rwloadsim. This is not done for -pipelines, although the popen call is likely to do it.

+pipelines, although the popen call is likely to do it. The +same syntax with $ for environment expansion is also used on +Microsoft Windows.

If the concatenation is null the file will be closed or the @@ -174,6 +172,9 @@

USAGE printline perform the same although writing to stdout.

+

For more +advanced output, use printfstatement(1rwl).

+

fflush v

@@ -288,15 +289,15 @@

NOTES rwloadsim.

In previous -versions of rwloadsim, only the := assignment -operator existed and the contents of the concatenation was +versions of rwloadsim, the := assignment operator +existed and the contents of the concatenation was interpreted to open for read, write, append or as pipelines. The actual operation was chosen by having an initial "<", ">>", "|" or a -final "|" in the concatenation. There is a -security concern with this, and it is therefore deprecated -and will be desupported in release 3.1. As of version 3.0.6 -you will get a warning for the deprecated usage.

+final "|" in the concatenation. Without any of +these, the file would be opened for writing. There is a +security concern with this, and it is therefore desupported +in release 3.1.

EXAMPLES @@ -324,7 +325,8 @@

SEE ALSO

variable(1rwl), statement(1rwl), threadexecution(1rwl), expression(1rwl), -readloop(1rwl), compoundstatement(1rwl)

+readloop(1rwl), compoundstatement(1rwl), +printfstatement(1rwl), regex(1rwl)


diff --git a/docs/refman/writelob.html b/docs/refman/writelob.html index 81cca507..142f80df 100644 --- a/docs/refman/writelob.html +++ b/docs/refman/writelob.html @@ -1,5 +1,5 @@ - + diff --git a/man/man1rwl/expression.1rwl b/man/man1rwl/expression.1rwl index 6807da01..850c8c54 100644 --- a/man/man1rwl/expression.1rwl +++ b/man/man1rwl/expression.1rwl @@ -245,6 +245,7 @@ Except when used in the .B $if $then directive, attempts at using non existing environment variables cause a warning to be displayed. +The same syntax with $ for environment expansion is also used on Microsoft Windows. Due to the fact that expressions are always calculated as all three simple types, you can assign such environment variables to integers and doubles. .P diff --git a/man/man1rwl/filestatement.1rwl b/man/man1rwl/filestatement.1rwl index b559e76c..e8bf52a2 100644 --- a/man/man1rwl/filestatement.1rwl +++ b/man/man1rwl/filestatement.1rwl @@ -46,14 +46,9 @@ To open a file, use one of the assignment syntaxes where the variable v must be a file, and the concatenation is taken as the name of the file or a pipeline to be executed. .P -v \fB:=\fR e -.br v \fB>=\fR e .RS 4 Open a file for writing. -The first operator, which will be deprecated and eventually desupported, -is kept for legacy reasons, and it is suggested that new -code uses the second. .RE .P v \fB>>=\fR e @@ -92,6 +87,7 @@ directive is in effect. You can also use $n where n is a single digit between 1 and 9 to expand the value of a positional argument to rwloadsim. This is not done for pipelines, although the popen call is likely to do it. +The same syntax with $ for environment expansion is also used on Microsoft Windows. .P If the concatenation is .B null @@ -218,14 +214,13 @@ The buffer can be increased using the .B --readbuffer option to rwloadsim. .P -In previous versions of rwloadsim, only the \fB:=\fR assignment operator existed +In previous versions of rwloadsim, the \fB:=\fR assignment operator existed and the contents of the concatenation was interpreted to open for read, write, append or as pipelines. The actual operation was chosen by having an initial "<", ">>", "|" or a final "|" in the concatenation. -There is a security concern with this, and it is therefore deprecated and will -be desupported in release 3.1. -As of version 3.0.6 you will get a warning for the deprecated usage. +Without any of these, the file would be opened for writing. +There is a security concern with this, and it is therefore desupported in release 3.1. .SH EXAMPLES Still to come. .SH COPYRIGHT @@ -236,4 +231,4 @@ as shown at https://oss.oracle.com/licenses/upl .SH "SEE ALSO" variable(1rwl), statement(1rwl), threadexecution(1rwl), expression(1rwl), readloop(1rwl), compoundstatement(1rwl), -printfstatement(1rwl) +printfstatement(1rwl), regex(1rwl) diff --git a/man/man1rwl/include.1rwl b/man/man1rwl/include.1rwl index 0056cf5d..37937363 100644 --- a/man/man1rwl/include.1rwl +++ b/man/man1rwl/include.1rwl @@ -27,6 +27,7 @@ directive. Unless -no-nameexpand option or the $nameexpand:off directive is used, environment names in either $NAME or ${NAME} syntax will be expanded before opening the include file. +The same syntax with $ for environment expansion is also used on Microsoft Windows. You can also use $n where n is a single digit between 1 and 9 to expand the value of a positional argument to rwloadsim. .P diff --git a/man/man1rwl/rwloadsim.1rwl b/man/man1rwl/rwloadsim.1rwl index f81fad37..b2b145e1 100644 --- a/man/man1rwl/rwloadsim.1rwl +++ b/man/man1rwl/rwloadsim.1rwl @@ -445,6 +445,7 @@ Whenever rwloadsim opens a file, it will attempt doing expansion of environment variable names using either $NAME or ${NAME} syntax as in the shell. This is the case both for files named on the command line, and for files named using the \fB$include\fR directive and several other occasions. +The same syntax with $ for environment expansion is also used on Microsoft Windows. .PP Each such file provided to rwloadsim (including implicitly using -x) must be "complete", and you can e.g. not have a procedure header in one file and diff --git a/oltp/aw_declarations.rwl b/oltp/aw_declarations.rwl index b197ab9d..4ee8b957 100644 --- a/oltp/aw_declarations.rwl +++ b/oltp/aw_declarations.rwl @@ -5,6 +5,7 @@ # This file declares everything used by the # various artificial workloads: +# bengsig 19-mar-2024 - cstorm # bengsig 24-feb-2024 - waitsec, cpusec # bengsig 19-dec-2023 - put xc_ignore_parsefailure in oltpxc # bengsig 4-dec-2023 - Make aw_transaction also do parse failure with xc @@ -144,12 +145,12 @@ procedure aw_transaction() # On RAC, make affinity between s_tokid and instance get_inst; s_tokid := my_thread * proccount + procnumber-1 - + proccount*(1+threadcount+wburst_count)*aw_myinst - *uniform(1,maxsessions/((proccount+1)*(1+threadcount+wburst_count)*aw_instances)-1); + + proccount*(1+cstorm_threads+threadcount+wburst_count)*aw_myinst + *uniform(1,maxsessions/((proccount+1)*(1+cstorm_threads+threadcount+wburst_count)*aw_instances)-1); else s_tokid := my_thread * proccount + procnumber-1 - + proccount*(1+threadcount+wburst_count) - *uniform(1,maxsessions/((proccount+1)*(1+threadcount+wburst_count))-1); + + proccount*(1+cstorm_threads+threadcount+wburst_count) + *uniform(1,maxsessions/((proccount+1)*(1+cstorm_threads+threadcount+wburst_count))-1); end if; $if !xc_enabled $then @@ -169,7 +170,7 @@ $endif # rwnum must be unique through the whole run but still have very different # values between processes/threads. If the run is extremely long # you risk wrap around and will get loads of ORA-1. - d_rwnum := my_loop * proccount * (1+threadcount+wburst_count) + procnumber * (1+threadcount+wburst_count) + my_thread; + d_rwnum := my_loop * proccount * (1+cstorm_threads+threadcount+wburst_count) + procnumber * (1+cstorm_threads+threadcount+wburst_count) + my_thread; # run the normal part # lock the session row diff --git a/oltp/cstorm_implementation.rwl b/oltp/cstorm_implementation.rwl new file mode 100644 index 00000000..5dfc5c8c --- /dev/null +++ b/oltp/cstorm_implementation.rwl @@ -0,0 +1,81 @@ +# Copyright (c) 2024 Oracle Corporation +# Licensed under the Universal Permissive License v 1.0 +# as shown at https://oss.oracle.com/licenses/upl/ + +# bengsig 19-mar-2024 - Created +# +# Implement a connection storm + +$include:"parameters.rwl" +$include:"run_user.rwl" + +$connecterror:accept +$setaction:on + +# the database under test +database rwl_run_storm + username rwl_run1_username + password rwl_run1_password + connect normal_connect + reconnect; + +# Note that we don't actually use a results +# database, but let the default database +# point to the repository +database storm_results + username results_username + password results_password + connect results_connect + sessionpool 1..5 + default; + +# time logon completed (or failed) +# and when we did logoff +double logonend; +double logofftime; + +# this is just to make sure oraerror has a value +private integer mycstormsid; +select sys_context('userenv','sid') mycstormsid from dual +/ +at rwl_run_storm; + +# This procedure will be the one really doing a logon +# to the database +private procedure trylogon(double bt) nostatistics + logonend := runseconds(); + if oraerror = 0 then + # If logon was succesfull, do a simple ociping + ociping; + end if; + wait cstorm_start - logonend + cstorm_period; + logofftime := runseconds(); +end; + +private procedure saveres +( double begtime +, double endtime +, double offtime +, integer errnum +, string(200) errtxt +) nostatistics +is + insert into cstorm(runnumber, threadnumber, begtime, endtime, offtime, errnum, errtxt) + values (:runnumber, :threadnumber, :begtime, :endtime, :offtime, :errnum, :errtxt); + commit; +end; + +printline "cstorm starting with runnumber " runnumber; +fflush stdout; + +run + threads cstorm_xtra_logons + # separate the logon attempts by 1/cstorm_xtra_rate + for start cstorm_start + threadnumber / cstorm_xtra_rate count 1 loop + double btim := runseconds(); + trylogon(btim) at rwl_run_storm; + saveres(btim, logonend, logofftime, oraerror, oraerrortext); + end loop; + end threads; +end run; + diff --git a/oltp/csvdata.rwl b/oltp/csvdata.rwl index b52f2c26..3b2eac88 100644 --- a/oltp/csvdata.rwl +++ b/oltp/csvdata.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 20-mar-2024 - cstorm # bengsig 5-mar-2024 - dtime, atime # bengsig 24-jan-2024 - Include batch pool counts in cli.csv # bengsig 22-nov-2023 - Add --no-awr-interval @@ -23,6 +24,8 @@ $include:"parameters.rwl" $include:"results.rwl" +$ampersand:on + integer runno := 0, oercount; subdir:="/r" runno/1000 "/"; @@ -766,6 +769,131 @@ execute at rwloadsim writeline plotfile, ""; plotfile := null; + end if; + # Now do the cstorm csv + integer thrid; + double lowtime, begtime, endtime, offtime, end1, end2, end3, endt; + integer rno, errnum; + integer errcnt, above3 := 0; + string(200) errtxt; + string(200) tit1, tit2, tit3, err1, err2, err3, errt; + tit1 := "cstormtit1=''"; # up to three individual errors counted + tit2 := "cstormtit2=''"; + tit3 := "cstormtit3=''"; + err1 := "-1 end1"; # the -1 implies nothing printed as yscale is [0:*] + err2 := "-1 end2"; + err3 := "-1 end3"; + errt := "case when errnum in "; + rno := 0; + + select min(begtime) lowtime from cstorm + where runnumber = :runno + / + + for + select errnum, count(*) errcnt + from cstorm + where runnumber = :runno + and errnum > 0 + group by errnum + order by count(*) + / + loop + # Get the actual error number and timestamp for up to three errors + rno += 1; + if rno = 1 then + err1 := "case when errnum=" errnum " then endtime - :lowtime else -1 end end1"; + sprintf tit1, "cstormtit1='ORA-%05d'", errnum; + errt ||= "(" errnum; + end if; + if rno = 2 then + err2 := "case when errnum=" errnum " then endtime - :lowtime else -1 end end2"; + sprintf tit2, "cstormtit2='ORA-%05d'", errnum; + errt ||= "," errnum; + end if; + if rno = 3 then + err3 := "case when errnum=" errnum " then endtime - :lowtime else -1 end end3"; + sprintf tit3, "cstormtit3='ORA-%05d'", errnum; + errt ||= "," errnum; + end if; + if rno = 4 then + above3 := 1; + break; + end if; + end loop; + if rno >= 1 then + errt ||= ") then -1 else endtime - :lowtime end endt"; + else + errt := "-1 endt"; end if; + + # Write the csv file using the SQL pieces just generated + plotfile >= resultsdir subdir runno "/cstorm.csv"; + rno := 0; + integer success := 0; + for + select threadnumber thrid + , begtime - :lowtime begtime + , endtime - :lowtime endtime + , errnum + , &err1. + , &err2. + , &err3. + , &errt. + from cstorm + where runnumber = :runno + order by begtime + / + loop + if errnum = 0 then + success += 1; + fprintf plotfile, "%d %d %.6f %.6f -1.0 -1.0 -1.0 -1.0\n", rno, thrid, begtime, endtime; + else + fprintf plotfile, "%d %d %.6f -1.0 %.6f %.6f %.6f %.6f\n", rno, thrid, begtime + , end1, end2, end3, endt; + end if; + rno += 1; + end loop; + plotfile := null; + + plotfile >>= resultsdir subdir runno "/oerashvars.sh"; + if rno > 600 then + writeline plotfile, "cstormwidth=1024"; + elseif rno then + writeline plotfile, "cstormwidth=640"; + else + writeline plotfile, "cstormwidth=0"; + end if; + writeline plotfile, tit1; + writeline plotfile, tit2; + writeline plotfile, tit3; + if above3 then + writeline plotfile, "cstormabove3=yes"; + else + writeline plotfile, "cstormabove3=no"; + end if; + plotfile := null; + + # write the html piece with error counts + plotfile >= resultsdir subdir runno "/cstorm.html"; + writeline plotfile, "

Results from extra connections

"; + writeline plotfile, ""; + for + select errnum, count(*) errcnt + , any_value(errtxt) errtxt + from cstorm + where runnumber = :runno + group by errnum + order by errnum; + loop + if !errnum then + fprintf plotfile, "\n", errcnt; + else + fprintf plotfile, "", errcnt, errtxt; + end if; + end; + writeline plotfile, "
%4dsuccesful logons
%4d%s
"; + plotfile := null; + end execute; diff --git a/oltp/oltp.rwl b/oltp/oltp.rwl index 6fa5f2aa..f2b9911d 100644 --- a/oltp/oltp.rwl +++ b/oltp/oltp.rwl @@ -415,6 +415,13 @@ rwl_daily_html := "daily.html"; # set s24h_scan_prb to any value larger than 0. # The actual impact is on the awindex_query transaction +# Connection storm parameters +# cstorm_threads := 0; # 0 means don't do it +# cstorm_start := 120.0; # when does the storm start +# cstorm_period := 20; # how long does it last +# cstorm_xtra_logons := 100; # how many extra logons +# cstorm_xtra_rate := 100.0; # xtra logons per second rate + # The following parameters rarely changed # rwl_min_pool := 3; # rwl_max_pool := 10; # to experiment with variation in session pool size diff --git a/oltp/parameters.rwl b/oltp/parameters.rwl index 9df12832..257168bb 100644 --- a/oltp/parameters.rwl +++ b/oltp/parameters.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 19-mar-2024 - Connection storm # bengsig 24-feb-2024 - Add waitsec, cpusec # bengsig 19-dec-2023 - put xc_ignore_parsefailure in oltpxc # bengsig 16-nov-2023 - Fix hard/scan during 24h sim @@ -222,6 +223,13 @@ double s24h_scan_prb := 0.00; # probability of actually doing full scan integer doawr := 1; # set to 0 if you don't want awr to be generated integer globalawr := 0; # set to 1 if you also want global awr +# Connection storm parameters +integer cstorm_threads := 0; # 0 means don't do it +double cstorm_start := 120.0; # when does the storm start +double cstorm_period := 20; # how long does it last +integer cstorm_xtra_logons := 0; # how many extra logons +double cstorm_xtra_rate := 100.0; # xtra logons per second rate + # The following are for svg gnuplotting # The width of the running plot when -g/-G is in use @@ -364,6 +372,13 @@ string(100) mtit_type_text; # set in mtit_set_type(); $include:"$RWLOLTP_NAME.rwl" +if cstorm_threads < 0 then + cstorm_threads := 0; +end if; +if cstorm_threads > threadcount-1 then + cstorm_threads := threadcount-1 ; +end if; + # And here are some mode that only can be set via -d # but they can be used with -d on the oltprun/oltpcore command line # to adjust the values found in {key}.rwl @@ -567,6 +582,17 @@ if show_changed_values then printline "No full scan injection"; end if; end if; + if cstorm_threads or cstorm_xtra_logons then + printline "\nConnection storm information:"; + end if; + if cstorm_threads then + printf "%d sessions blocked from %.1fs to %.1fs\n" + , cstorm_threads, cstorm_start, cstorm_start+cstorm_period; + end if; + if cstorm_xtra_logons then + printf "%d extra logons created at %.0f logons per second starting at %.1fs\n" + , cstorm_xtra_logons, cstorm_xtra_rate, cstorm_start; + end if; printline "\nPooling information:"; if pool_type = "sessionpool" or pool_type = "connectionpool" then if pool_type = "connectionpool" then diff --git a/oltp/parameters2shell.rwl b/oltp/parameters2shell.rwl index 886e448f..ff52a560 100644 --- a/oltp/parameters2shell.rwl +++ b/oltp/parameters2shell.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 19-mar-2024 - cstorm # bengsig 24-apr-2023 - mtit # bengsig 25-oct-2022 - External control # bengsig 2019 - Creation @@ -62,6 +63,11 @@ if not only_plus and not only_directories then printline "rwl_min_pool='" rwl_min_pool "'"; printline "rwl_max_pool='" rwl_max_pool "'"; printline "forever_proccount='"||forever_proccount||"'"; + if cstorm_xtra_logons > 0 then + printline "cstormxtra=yes"; + else + printline "cstormxtra=no"; + end if; printline "rwl_title='"||rwl_title||"'"; printline "rwl_heading='"||rwl_heading||"'"; diff --git a/oltp/run.rwl b/oltp/run.rwl index 727cb76d..904135a9 100644 --- a/oltp/run.rwl +++ b/oltp/run.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 19-mar-2024 - cstorm # bengsig 5-mar-2024 - dtime, atime # bengsig 24-jan-2024 - batch start depends on rampfactor # bengsig 24-jan-2024 - Include batch pool counts in cli.csv @@ -129,16 +130,40 @@ random procedure array call_real , queryorder queryorder_weight ); +procedure grab_session() + ociping; + wait cstorm_period; +end; + procedure doeither() $if time_out is not null $then if runseconds() > everyuntil+time_out then call_failure(""); else +$endif + +$if cstorm_threads $then + if runseconds() between cstorm_start and cstorm_start + cstorm_period then + if threadnumber between threadcount+1 and threadcount + cstorm_threads then + call_real(); + else + null; + end if; + if threadnumber between threadcount-cstorm_threads+1 and threadcount then + grab_session(); + else + call_real(); + end if; + else call_real(); end if; $else call_real(); $endif + +$if time_out is not null $then + end if; +$endif end; # Called in the beginning of each process @@ -292,7 +317,7 @@ $endif # This is the large number of common threads that emulate # online users doing stuff - threads threadcount at rwl_run_pool + threads threadcount + cstorm_threads at rwl_run_pool $if s24hour $then double s24beg, s24end, s24lo, s24hi; s24beg := runperiod * normalrandom(s24h_high_beg,s24h_high_std); From 7d66991e2a75df301cfce19cecd520cfabc68f95 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 21 Mar 2024 12:34:43 +0000 Subject: [PATCH 006/118] Prevent extra logon for reconnect databases --- src/rwlcoderun.c | 28 +++------------------------- src/rwlsql.c | 9 ++++++++- 2 files changed, 11 insertions(+), 26 deletions(-) diff --git a/src/rwlcoderun.c b/src/rwlcoderun.c index 7100b6b5..bedaa75a 100644 --- a/src/rwlcoderun.c +++ b/src/rwlcoderun.c @@ -14,6 +14,7 @@ * * History * + * bengsig 21-mar-2024 - reconnect database fix * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 7-mar-2024 - a few lob changes * johnkenn 06-mar-2024 - writelob with offset @@ -2119,13 +2120,8 @@ void rwlrunthreads(rwl_main *rwm) rwlstrnncpy(xdb->serverr, zdb->serverr, RWL_DB_SERVERR_LEN); xdb->flags = zdb->flags & RWL_DB_COPY_FLAGS; /* - * This is complex. We really ought to call - * rwldbconnect(rwm->xqa+t, &rwm->xqa[t].evar[v].loc, xdb); - * here, but we cannot as we are just filling up the evar array for the - * thread, and rwldbconnect would have to look up the variable for the db. - * Hence, we need another loop just to call rwldbconnect for RECONNECT - * A better solution would be to have rwl_cinfo include a field that - * is the vnum and then change dbconnect to supply it to rwlfindvar. + * Note that most OCI handle allocations takes place + * when a thread does its first rwlensuression2 */ } @@ -2235,24 +2231,6 @@ void rwlrunthreads(rwl_main *rwm) RWL_SRC_ERROR_END } - // See comment for RWL_DBPOOL_RECONNECT above for why we need this loop - for (t=0; tmxq->varcount; v++) - { - if (RWL_TYPE_DB == rwm->xqa[t].evar[v].vtype) - { - { - rwl_cinfo *zdb = rwm->xqa[t].evar[v].vdata; - if (zdb && RWL_DBPOOL_RECONNECT == zdb->pooltype) - { - rwldbconnect(rwm->xqa+t, &rwm->xqa[t].evar[v].loc, zdb); - } - } - } - } - } - bic(rwm->mflags, RWL_P_ONLYMAINTH); /* write to rwm disallowed */ ti = rwm->threadlist; t=0; diff --git a/src/rwlsql.c b/src/rwlsql.c index 090b5655..0786d669 100644 --- a/src/rwlsql.c +++ b/src/rwlsql.c @@ -11,6 +11,7 @@ * * History * + * bengsig 21-mar-2024 - fix reconnect * bengsig 15-mar-2024 - Also sqllogging after error * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 7-mar-2024 - a few lob changes @@ -3207,7 +3208,13 @@ ub4 rwlensuresession2(rwl_xeqenv *xev case RWL_DBPOOL_RECONNECT: ensurereconnect: - /* All handles are allocated during rwldbconnect, so just re-attach and re-create session */ + if (!db->srvhp) + { + // This happens inside a thread first time it does an ensuresession + // so we call rwldbconnect to do the first logon which also allocates handles + rwldbconnect(xev, cloc, db); + } + // all handles are now allocated, so we just repeat attach and sessionbegin if (OCI_SUCCESS != (xev->status=OCIServerAttach( db->srvhp, xev->errhp, db->connect, (sb4) db->conlen , (bit(db->flags,RWL_DB_USECPOOL) ? OCI_CPOOL: OCI_DEFAULT) ))) From 935640ed27627227e682b8eee444169e3d543222 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Fri, 22 Mar 2024 10:11:42 +0000 Subject: [PATCH 007/118] Fix storm graph --- bin/oltpplot | 4 +- oltp/.gitattributes | 1 + oltp/tags | 871 ++++++++++++++++++++++++-------------------- 3 files changed, 469 insertions(+), 407 deletions(-) create mode 100644 oltp/.gitattributes diff --git a/bin/oltpplot b/bin/oltpplot index 7a84b0ab..9d46a520 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -947,8 +947,8 @@ then set yrange [0:*] set key horizontal bottom left outside set xlabel "logon counts" - set ylabel "time (ms)" - set terminal svg mouse standalone size $cstormwidth,480 dynamic + set ylabel "time (s)" + set terminal svg mouse standalone size $cstormwidth,480 set output '$awrdirectory$subdir$runnumber/${runnumber}_cstorm.svg' plot '$resultsdir$subdir$runnumber/cstorm.csv' using 1:3 with points ps 0.5 lc rgb 'green' title 'initiated' \\ , '$resultsdir$subdir$runnumber/cstorm.csv' using 1:4 with points ps 0.5 lc rgb 'dark-green' title 'logged on' \\ diff --git a/oltp/.gitattributes b/oltp/.gitattributes new file mode 100644 index 00000000..4259f3d0 --- /dev/null +++ b/oltp/.gitattributes @@ -0,0 +1 @@ +tags -diff -merge diff --git a/oltp/tags b/oltp/tags index aa20b021..a3aeb1c5 100644 --- a/oltp/tags +++ b/oltp/tags @@ -27,72 +27,78 @@ a8sum col_averages.rwl 26 a9 col_averages.rwl 18 a9cnt col_averages.rwl 36 a9sum col_averages.rwl 27 -aburst_post_factor parameters.rwl 180 -aburst_pre_factor parameters.rwl 179 -aburst_start parameters.rwl 181 -aburst_workers parameters.rwl 178 -actbatch csvdata.rwl 254 +above3 csvdata.rwl 778 +aburst_post_factor parameters.rwl 181 +aburst_pre_factor parameters.rwl 180 +aburst_start parameters.rwl 182 +aburst_workers parameters.rwl 179 +actbatch csvdata.rwl 258 actbatch mtitrun.rwl 80 -actbatch run.rwl 521 +actbatch run.rwl 549 action runsys.rwl 50 activeses plotfigures.rwl 56 -actpool csvdata.rwl 254 +actpool csvdata.rwl 258 actpool mtitrun.rwl 80 -actpool run.rwl 521 +actpool run.rwl 549 add_inventory oe_handle_products.rwl 57 affinity xcchange.rwl 44 affinratio mtit_declarations.rwl 192 +ai_atim csvdata.rwl 420 ai_cnt plotrunwetim.rwl 45 +ai_dtim csvdata.rwl 420 ai_et plotrunwetim.rwl 45 -ai_exec csvdata.rwl 414 -ai_sleep_avg parameters.rwl 346 -ai_sleep_fac parameters.rwl 350 -ai_wait csvdata.rwl 414 +ai_exec csvdata.rwl 418 +ai_sleep_avg parameters.rwl 354 +ai_sleep_fac parameters.rwl 358 +ai_wait csvdata.rwl 418 ai_wt plotrunwetim.rwl 45 al1 oe_fillcustomers.rwl 11 al2 oe_fillcustomers.rwl 11 al3 oe_fillcustomers.rwl 11 aosecond plotfigures.rwl 56 approxsize aw_cols.rwl 214 -ashcpu csvdata.rwl 544 +ashcpu csvdata.rwl 566 ashcpu csvmtit.rwl 292 -ashcsv csvdata.rwl 549 +ashcsv csvdata.rwl 571 ashcsv csvmtit.rwl 297 -ashcsvcount csvdata.rwl 630 +ashcsvcount csvdata.rwl 652 ashcsvcount csvmtit.rwl 378 -ashevents csvdata.rwl 580 +ashevents csvdata.rwl 602 ashevents csvmtit.rwl 328 ashstep1 ashstep1.rwl 31 +atime plotinfo.rwl 20 avgw histdata.rwl 80 avgw scalefract.rwl 33 -aw_cols_256MB_doublings parameters.rwl 143 +aw_atim csvdata.rwl 420 +aw_cols_256MB_doublings parameters.rwl 144 aw_cols_dbl aw_cols.rwl 19 aw_cols_mb_qry aw_cols.rwl 236 -aw_cols_query_factor parameters.rwl 152 +aw_cols_query_factor parameters.rwl 153 aw_cols_size aw_cols.rwl 235 aw_cols_size aw_sizeinfo.rwl 16 -aw_cols_skew parameters.rwl 150 -aw_exec csvdata.rwl 414 -aw_instances aw_declarations.rwl 120 -aw_instances parameters.rwl 163 -aw_myinst aw_declarations.rwl 122 -aw_sleep_avg parameters.rwl 346 -aw_sleep_fac parameters.rwl 349 +aw_cols_skew parameters.rwl 151 +aw_dtim csvdata.rwl 420 +aw_exec csvdata.rwl 418 +aw_instances aw_declarations.rwl 121 +aw_instances parameters.rwl 164 +aw_myinst aw_declarations.rwl 123 +aw_sleep_avg parameters.rwl 354 +aw_sleep_fac parameters.rwl 357 aw_stats aw_cols.rwl 228 -aw_transaction aw_declarations.rwl 128 -aw_transaction_weight parameters.rwl 108 -aw_transactions_made aw_declarations.rwl 20 +aw_transaction aw_declarations.rwl 129 +aw_transaction_weight parameters.rwl 109 +aw_transactions_made aw_declarations.rwl 21 aw_truncate aw_truncate.rwl 13 -aw_verbose parameters.rwl 156 -aw_wait csvdata.rwl 414 +aw_verbose parameters.rwl 157 +aw_wait csvdata.rwl 418 awc_parallel aw_cols.rwl 189 -awindex_query aw_declarations.rwl 284 -awindex_query_weight parameters.rwl 109 -awlen aw_declarations.rwl 282 -awqry aw_declarations.rwl 293 +awindex_query aw_declarations.rwl 285 +awindex_query_weight parameters.rwl 110 +awlen aw_declarations.rwl 283 +awqry aw_declarations.rwl 294 awrbb_tim runsys.rwl 179 awrbe_tim runsys.rwl 179 -awrdirectory parameters.rwl 264 +awrdirectory parameters.rwl 272 awreb_tim runsys.rwl 179 awree_tim runsys.rwl 179 awrinfo oltpawr.rwl 112 @@ -101,52 +107,56 @@ awrline oltpawr.rwl 55 awrmode oltpawr.rwl 22 awrout oltpawr.rwl 20 awrtim_save oltpawr.rwl 228 -b_fill aw_declarations.rwl 26 -b_rwnum aw_declarations.rwl 23 -b_tokid aw_declarations.rwl 22 -b_val aw_declarations.rwl 25 +b_fill aw_declarations.rwl 27 +b_rwnum aw_declarations.rwl 24 +b_tokid aw_declarations.rwl 23 +b_val aw_declarations.rwl 26 badplan xcchange.rwl 29 -batch_connect parameters.rwl 285 -batch_type parameters.rwl 286 -bb csvdata.rwl 171 +batch_connect parameters.rwl 293 +batch_type parameters.rwl 294 +bb csvdata.rwl 175 bb csvmtit.rwl 151 bb oltpawr.rwl 228 -be csvdata.rwl 171 +be csvdata.rwl 175 be csvmtit.rwl 151 be oltpawr.rwl 228 begawrsql oltpawr.rwl 26 beginawr oltpawr.rwl 85 begsnap oltpawr.rwl 19 -bgcpu csvdata.rwl 94 +begtime cstorm_implementation.rwl 56 +begtime csvdata.rwl 776 +bgcpu csvdata.rwl 98 bgcpu csvmtit.rwl 77 bgcpu plotfigures.rwl 87 bgcpu timemodel.rwl 110 +bt cstorm_implementation.rwl 45 +btim cstorm_implementation.rwl 75 bucktim histdata.rwl 21 -burst_factor parameters.rwl 169 -burst_length parameters.rwl 168 -burst_repeat parameters.rwl 170 -burst_start parameters.rwl 167 -c aw_declarations.rwl 288 -calf csvdata.rwl 269 +burst_factor parameters.rwl 170 +burst_length parameters.rwl 169 +burst_repeat parameters.rwl 171 +burst_start parameters.rwl 168 +c aw_declarations.rwl 289 +calf csvdata.rwl 273 call_failure run_user.rwl 17 -call_real run.rwl 117 +call_real run.rwl 121 can_ship oe_handle_orders.rwl 498 category_id oe_handle_products.rwl 21 ccnt oe_fillcustomers.rwl 15 check_results create_schemas.rwl 52 -chi aw_declarations.rwl 287 +chi aw_declarations.rwl 288 cid oe_fillcustomers.rwl 8 cid oe_fillproducts.rwl 11 cliaft timemodel.rwl 111 clibef timemodel.rwl 111 clim oe_fillcustomers.rwl 12 -clisys csvdata.rwl 253 +clisys csvdata.rwl 257 clisys csvmtit.rwl 216 -cliusr csvdata.rwl 253 +cliusr csvdata.rwl 257 cliusr csvmtit.rwl 216 -clo aw_declarations.rwl 287 +clo aw_declarations.rwl 288 cnt aw_cols.rwl 210 -cnt aw_declarations.rwl 288 +cnt aw_declarations.rwl 289 cnt check_for_key.rwl 18 cnt oe_long_session.rwl 11 cnt oerhtml.rwl 16 @@ -171,9 +181,9 @@ cntl oe_handle_orders.rwl 694 comment aw_cols.rwl 29 complex_count oe_handle_orders.rwl 686 complex_query oe_handle_orders.rwl 688 -complex_query_weight parameters.rwl 106 +complex_query_weight parameters.rwl 107 complex_sum oe_handle_orders.rwl 685 -cone aw_declarations.rwl 287 +cone aw_declarations.rwl 288 could_not_ship oe_handle_orders.rwl 378 count1 histdata.rwl 21 count1 plotruntp.rwl 43 @@ -191,39 +201,46 @@ count7 histdata.rwl 21 count7 plotruntp.rwl 43 count8 histdata.rwl 21 count8 plotruntp.rwl 43 -countentries csvdata.rwl 89 +countentries csvdata.rwl 93 countentries csvmtit.rwl 72 countres plotfigures.rwl 28 country oe_fillcustomers.rwl 42 cpusec xcchange.rwl 30 -cq_exec csvdata.rwl 413 -cq_wait csvdata.rwl 414 +cq_atim csvdata.rwl 420 +cq_dtim csvdata.rwl 419 +cq_exec csvdata.rwl 417 +cq_wait csvdata.rwl 418 create_aw_cols aw_cols.rwl 55 create_aw_seq aw_cols.rwl 51 -cruser_connect parameters.rwl 270 -cruser_password parameters.rwl 272 +cruser_connect parameters.rwl 278 +cruser_password parameters.rwl 280 cruser_username command line 1 -cruser_username parameters.rwl 271 +cruser_username parameters.rwl 279 cruserdb cruserdb.rwl 8 -csvline csvdata.rwl 539 +cstorm_period parameters.rwl 229 +cstorm_start parameters.rwl 228 +cstorm_threads parameters.rwl 227 +cstorm_xtra_logons parameters.rwl 230 +cstorm_xtra_rate parameters.rwl 231 +csvline csvdata.rwl 561 csvline csvmtit.rwl 15 csvname scalefract.rwl 21 -ctwo aw_declarations.rwl 287 -cursor_cache_size parameters.rwl 64 +ctwo aw_declarations.rwl 288 +cursor_cache_size parameters.rwl 65 cursorleak xcchange.rwl 23 customer_id oe_handle_orders.rwl 383 customer_id oe_handle_orders.rwl 623 customer_id oe_handle_orders.rwl 752 customer_id oe_handle_orders.rwl 83 -d csvdata.rwl 596 +d csvdata.rwl 618 d csvmtit.rwl 344 -d_fill aw_declarations.rwl 26 -d_rwnum aw_declarations.rwl 23 -d_tokid aw_declarations.rwl 22 -d_val aw_declarations.rwl 25 -datediff csvdata.rwl 49 +d_fill aw_declarations.rwl 27 +d_rwnum aw_declarations.rwl 24 +d_tokid aw_declarations.rwl 23 +d_val aw_declarations.rwl 26 +datediff csvdata.rwl 53 datediff csvmtit.rwl 32 -dbcpu csvdata.rwl 94 +dbcpu csvdata.rwl 98 dbcpu csvmtit.rwl 77 dbcpu plotfigures.rwl 87 dbcpu timemodel.rwl 108 @@ -233,7 +250,7 @@ dbid oltpawr.rwl 19 dbl aw_cols.rwl 210 dbname prepare.rwl 76 dbtim timemodel.rwl 109 -dbtime csvdata.rwl 94 +dbtime csvdata.rwl 98 dbtime csvmtit.rwl 77 dbtime plotfigures.rwl 87 dbtimesum plotfigures.rwl 22 @@ -242,11 +259,11 @@ ddl aw_cols.rwl 29 ddl create_schemas.rwl 19 ddl drop_schemas.rwl 15 debug_products oe_handle_products.rwl 12 -default_tablespace parameters.rwl 276 -delay_length parameters.rwl 185 -delay_max_pool parameters.rwl 188 -delay_min_pool parameters.rwl 187 -delay_start parameters.rwl 186 +default_tablespace parameters.rwl 284 +delay_length parameters.rwl 186 +delay_max_pool parameters.rwl 189 +delay_min_pool parameters.rwl 188 +delay_start parameters.rwl 187 deltmpitem oepartalloc.rwl 43 deltmpord oepartalloc.rwl 37 descl oe_handle_orders.rwl 752 @@ -256,30 +273,37 @@ dist_count runsys.rwl 48 dist_inst runsys.rwl 48 dist_usrn runsys.rwl 49 do_hardparse oe_handle_orders.rwl 194 -doawr parameters.rwl 222 -doeither run.rwl 129 -dontdo_batch1 parameters.rwl 396 -dontdo_batch2 parameters.rwl 397 -dontdo_batch3 parameters.rwl 398 -dontdo_batch4 parameters.rwl 399 -dontdolong parameters.rwl 93 -doociping run.rwl 224 +doawr parameters.rwl 223 +doeither run.rwl 138 +dontdo_batch1 parameters.rwl 411 +dontdo_batch2 parameters.rwl 412 +dontdo_batch3 parameters.rwl 413 +dontdo_batch4 parameters.rwl 414 +dontdolong parameters.rwl 94 +doociping run.rwl 252 drop_aw_cols aw_cols.rwl 41 drop_aw_seq aw_cols.rwl 46 dropuser drop_schemas.rwl 13 +dtime plotinfo.rwl 20 duping runping.rwl 34 eatcpu eatcpu.rwl 9 -eb csvdata.rwl 171 +eb csvdata.rwl 175 eb csvmtit.rwl 151 eb oltpawr.rwl 228 ecount ashstep1.rwl 34 -ee csvdata.rwl 171 +ee csvdata.rwl 175 ee csvmtit.rwl 151 ee oltpawr.rwl 228 email oe_fillcustomers.rwl 13 +end1 csvdata.rwl 776 +end2 csvdata.rwl 776 +end3 csvdata.rwl 776 endawr oltpawr.rwl 93 endawrsql oltpawr.rwl 39 endsnap oltpawr.rwl 19 +endt csvdata.rwl 776 +endtime cstorm_implementation.rwl 57 +endtime csvdata.rwl 776 entries csvmtit.rwl 275 entries mtitplotwe.rwl 28 entries plotfigures.rwl 29 @@ -287,33 +311,42 @@ entries plotruntp.rwl 25 entries plotrunwetim.rwl 25 enum ashstep1.rwl 51 envline kommentops.rwl 18 -esum csvdata.rwl 546 +err1 csvdata.rwl 780 +err2 csvdata.rwl 780 +err3 csvdata.rwl 780 +errcnt csvdata.rwl 778 +errnum cstorm_implementation.rwl 59 +errnum csvdata.rwl 777 +errt csvdata.rwl 780 +errtxt cstorm_implementation.rwl 60 +errtxt csvdata.rwl 779 +esum csvdata.rwl 568 esum csvmtit.rwl 294 event ashstep1.rwl 33 -event csvdata.rwl 572 +event csvdata.rwl 594 event csvmtit.rwl 320 evgroup ashstep1.rwl 36 -extrapct aw_declarations.rwl 117 +extrapct aw_declarations.rwl 118 fail_cnt plotrunwetim.rwl 46 filnam x2range.rwl 24 finishtime prepare.rwl 21 first1530 aw_cols.rwl 83 first_instances oerhtmlday.rwl 25 -fix_cursorleak parameters.rwl 326 -fix_hardparse parameters.rwl 325 -fix_logoffrate parameters.rwl 327 +fix_cursorleak parameters.rwl 334 +fix_hardparse parameters.rwl 333 +fix_logoffrate parameters.rwl 335 fna oe_fillcustomers.rwl 9 -forever_proccount parameters.rwl 76 +forever_proccount parameters.rwl 77 found kommentops.rwl 17 fulldir kommentops.rwl 20 fullname prepare.rwl 70 fulltitle prepare.rwl 14 -g_fill aw_declarations.rwl 26 -g_rwnum aw_declarations.rwl 23 -g_tokid aw_declarations.rwl 22 -g_val aw_declarations.rwl 25 +g_fill aw_declarations.rwl 27 +g_rwnum aw_declarations.rwl 24 +g_tokid aw_declarations.rwl 23 +g_val aw_declarations.rwl 26 generateawr oltpawr.rwl 109 -get_inst aw_declarations.rwl 124 +get_inst aw_declarations.rwl 125 get_pcount runtrunc.rwl 42 get_pref_inst oltpawr.rwl 124 getawrglobal oltpawr.rwl 74 @@ -325,53 +358,54 @@ getrdate prepare.rwl 29 getres_sql csvmtit.rwl 228 getres_sql mtitplotwe.rwl 43 getres_sql plotrunwetim.rwl 48 -globalawr parameters.rwl 223 -gnuplotjs parameters.rwl 255 +globalawr parameters.rwl 224 +gnuplotjs parameters.rwl 263 +grab_session run.rwl 133 grp check_directories.rwl 10 hadit oerhtmlday.rwl 92 -halfperiod parameters.rwl 402 +halfperiod parameters.rwl 417 hardparse xcchange.rwl 26 -heartbeat run.rwl 216 -highcount csvdata.rwl 632 +heartbeat run.rwl 244 +highcount csvdata.rwl 654 highcount csvmtit.rwl 380 highinst csvmtit.rwl 445 histrow histdata.rwl 62 htmlformat mtit_showparam.rwl 9 -htmlline csvdata.rwl 729 +htmlline csvdata.rwl 751 htmlxtra oltpawr.rwl 81 htmlxtrawrap oltpawr.rwl 82 -human parameters2shell.rwl 24 +human parameters2shell.rwl 25 i /home/bengsig/rwloadsim/public/ovid2.rwl 7077 i aw_cols.rwl 210 -i1 csvdata.rwl 231 +i1 csvdata.rwl 235 i1 csvmtit.rwl 194 i1 instdist.rwl 12 i1 oerhtmlday.rwl 17 -i2 csvdata.rwl 231 +i2 csvdata.rwl 235 i2 csvmtit.rwl 194 i2 instdist.rwl 12 i2 oerhtmlday.rwl 17 -i3 csvdata.rwl 231 +i3 csvdata.rwl 235 i3 csvmtit.rwl 194 i3 instdist.rwl 12 i3 oerhtmlday.rwl 17 -i4 csvdata.rwl 231 +i4 csvdata.rwl 235 i4 csvmtit.rwl 194 i4 instdist.rwl 12 i4 oerhtmlday.rwl 17 -i5 csvdata.rwl 231 +i5 csvdata.rwl 235 i5 csvmtit.rwl 194 i5 instdist.rwl 12 i5 oerhtmlday.rwl 17 -i6 csvdata.rwl 231 +i6 csvdata.rwl 235 i6 csvmtit.rwl 194 i6 instdist.rwl 12 i6 oerhtmlday.rwl 17 -i7 csvdata.rwl 231 +i7 csvdata.rwl 235 i7 csvmtit.rwl 194 i7 instdist.rwl 12 i7 oerhtmlday.rwl 17 -i8 csvdata.rwl 231 +i8 csvdata.rwl 235 i8 csvmtit.rwl 194 i8 instdist.rwl 12 i8 oerhtmlday.rwl 17 @@ -389,19 +423,19 @@ index_name mtit_create.rwl 22 input col_averages.rwl 17 ins_awrtim oltpawr.rwl 232 ins_customer oe_fillcustomers.rwl 20 -ins_det_sql aw_declarations.rwl 59 +ins_det_sql aw_declarations.rwl 60 ins_inventory oe_handle_products.rwl 91 ins_item oe_handle_orders.rwl 119 ins_order oe_handle_orders.rwl 91 ins_product oe_fillproducts.rwl 18 ins_warehouse oe_fillwarehouses.rwl 12 -ins_xin_sql aw_declarations.rwl 83 -ins_xtr_sql aw_declarations.rwl 101 +ins_xin_sql aw_declarations.rwl 84 +ins_xtr_sql aw_declarations.rwl 102 insevname ashstep1.rwl 53 insinv oe_fillwarehouses.rwl 36 inspoolsizes runsys.rwl 128 insrwlcpu mtitrun.rwl 83 -insrwlcpu run.rwl 524 +insrwlcpu run.rwl 552 inst oerhtml.rwl 17 inst1 plotfigures.rwl 71 inst2 plotfigures.rwl 71 @@ -424,90 +458,90 @@ inum instdist.rwl 16 inv_rowid oe_handle_orders.rwl 450 inv_rowid oe_handle_products.rwl 63 invoices_made oe_handle_orders.rwl 621 -ioer csvdata.rwl 466 +ioer csvdata.rwl 488 isecond plotfigures.rwl 71 isgood check_directories.rwl 14 item_count oe_handle_orders.rwl 384 key check_for_key.rwl 12 key oerhtmlday.rwl 11 key scalefract.rwl 16 -key_to_show parameters.rwl 35 -killmsg xc_implementation.rwl 309 +key_to_show parameters.rwl 36 +killmsg xc_implementation.rwl 310 kom check_for_key.rwl 15 komment kommentops.rwl 18 komment oerhtmlday.rwl 11 l /home/bengsig/rwloadsim/public/ovid2.rwl 7090 -l_afty xc_implementation.rwl 51 +l_afty xc_implementation.rwl 52 l_afty xcdefault.rwl 20 l_afty xcvalues.rwl 29 -l_arrs xc_implementation.rwl 53 +l_arrs xc_implementation.rwl 54 l_arrs xcdefault.rwl 22 l_arrs xcvalues.rwl 31 -l_badp xc_implementation.rwl 51 +l_badp xc_implementation.rwl 52 l_badp xcdefault.rwl 20 l_badp xcvalues.rwl 29 -l_ccch xc_implementation.rwl 52 +l_ccch xc_implementation.rwl 53 l_ccch xcdefault.rwl 21 l_ccch xcvalues.rwl 30 -l_csec xc_implementation.rwl 51 +l_csec xc_implementation.rwl 52 l_csec xcdefault.rwl 20 l_csec xcvalues.rwl 29 -l_curl xc_implementation.rwl 51 +l_curl xc_implementation.rwl 52 l_curl xcdefault.rwl 20 l_curl xcvalues.rwl 29 -l_hard xc_implementation.rwl 51 +l_hard xc_implementation.rwl 52 l_hard xcdefault.rwl 20 l_hard xcvalues.rwl 29 -l_igpf xc_implementation.rwl 54 +l_igpf xc_implementation.rwl 55 l_igpf xcdefault.rwl 23 l_igpf xcvalues.rwl 32 -l_key xc_implementation.rwl 249 -l_load xc_implementation.rwl 51 +l_key xc_implementation.rwl 250 +l_load xc_implementation.rwl 52 l_load xcdefault.rwl 20 l_load xcvalues.rwl 29 -l_lofr xc_implementation.rwl 51 +l_lofr xc_implementation.rwl 52 l_lofr xcdefault.rwl 20 l_lofr xcvalues.rwl 29 -l_maxp xc_implementation.rwl 52 +l_maxp xc_implementation.rwl 53 l_maxp xcdefault.rwl 21 l_maxp xcvalues.rwl 30 -l_minp xc_implementation.rwl 52 +l_minp xc_implementation.rwl 53 l_minp xcdefault.rwl 21 l_minp xcvalues.rwl 30 -l_mtty xc_implementation.rwl 53 +l_mtty xc_implementation.rwl 54 l_mtty xcdefault.rwl 22 l_mtty xcvalues.rwl 31 l_npoo xcvalues.rwl 31 l_pcnt xcdefault.rwl 22 l_pcnt xcvalues.rwl 31 -l_pfail xc_implementation.rwl 51 +l_pfail xc_implementation.rwl 52 l_pfail xcdefault.rwl 20 l_pfail xcvalues.rwl 29 l_price oe_long_session.rwl 12 -l_rate xc_implementation.rwl 51 +l_rate xc_implementation.rwl 52 l_rate xcdefault.rwl 20 l_rate xcvalues.rwl 29 -l_rc xc_implementation.rwl 55 -l_rpin xc_implementation.rwl 53 +l_rc xc_implementation.rwl 56 +l_rpin xc_implementation.rwl 54 l_rpin xcdefault.rwl 22 l_rpin xcvalues.rwl 31 -l_sesl xc_implementation.rwl 51 +l_sesl xc_implementation.rwl 52 l_sesl xcdefault.rwl 20 l_sesl xcvalues.rwl 29 -l_stop xc_implementation.rwl 52 +l_stop xc_implementation.rwl 53 l_stop xcdefault.rwl 21 l_stop xcvalues.rwl 30 -l_wsec xc_implementation.rwl 51 +l_wsec xc_implementation.rwl 52 l_wsec xcdefault.rwl 20 l_wsec xcvalues.rwl 29 -largeashok parameters.rwl 238 +largeashok parameters.rwl 246 lastsec mtitrun.rwl 78 -lastsec run.rwl 519 +lastsec run.rwl 547 lastsys mtitrun.rwl 78 -lastsys run.rwl 519 +lastsys run.rwl 547 lastusr mtitrun.rwl 78 -lastusr run.rwl 519 -lc csvdata.rwl 596 +lastusr run.rwl 547 +lc csvdata.rwl 618 lc csvmtit.rwl 344 lcsec xcdefault.rwl 20 leaf_blocks mtit_create.rwl 119 @@ -523,52 +557,57 @@ lna oe_fillcustomers.rwl 10 loadfactor xcchange.rwl 22 loc oe_fillwarehouses.rwl 9 logoffrate xcchange.rwl 38 +logofftime cstorm_implementation.rwl 35 +logonend cstorm_implementation.rwl 34 longdeddml oe_long_session.rwl 70 longdedqry oe_long_session.rwl 60 longpooldml oe_long_session.rwl 65 longpoolqry oe_long_session.rwl 55 longsession oe_long_session.rwl 9 +lowtime csvdata.rwl 776 lpri oe_fillproducts.rwl 13 m_price oe_long_session.rwl 12 make_invoices oe_handle_orders.rwl 623 make_order oe_handle_orders.rwl 83 makeawr oltpawr.rwl 223 -makeinvoices run.rwl 82 -makeinvoices_weight parameters.rwl 105 -makeorder run.rwl 78 -makeorder_weight parameters.rwl 102 -markerfile csvdata.rwl 33 +makeinvoices run.rwl 86 +makeinvoices_weight parameters.rwl 106 +makeorder run.rwl 82 +makeorder_weight parameters.rwl 103 +markerfile csvdata.rwl 37 markerfile csvmtit.rwl 17 markerfile mtitrun.rwl 22 -markerfile run.rwl 72 +markerfile run.rwl 76 markerfile xc_implementation.rwl 31 -markrunning run.rwl 228 -max_customer parameters.rwl 121 +markrunning run.rwl 256 +max_customer parameters.rwl 122 max_item oe_handle_orders.rwl 207 max_order_id oe_handle_orders.rwl 24 max_order_ship oe_handle_orders.rwl 25 -max_product parameters.rwl 120 -max_sessionwait parameters.rwl 61 -max_warehouse parameters.rwl 119 -maxactpool csvdata.rwl 313 -maxdbcpu csvdata.rwl 88 -maxesum csvdata.rwl 547 +max_product parameters.rwl 121 +max_sessionwait parameters.rwl 62 +max_warehouse parameters.rwl 120 +maxactpool csvdata.rwl 317 +maxdbcpu csvdata.rwl 92 +maxesum csvdata.rwl 569 maxesum csvmtit.rwl 295 maxl /home/bengsig/rwloadsim/public/ovid2.rwl 7085 maxo oe_handle_orders.rwl 556 maxpool xcchange.rwl 33 maxseq mtit_declarations.rwl 192 -maxsessions aw_declarations.rwl 112 +maxsessions aw_declarations.rwl 113 maxsql oe_handle_orders.rwl 41 -maxtot run.rwl 184 +maxtot run.rwl 212 maxtot runsys.rwl 38 -maxyrange csvdata.rwl 210 +maxyrange csvdata.rwl 214 maxyrange csvmtit.rwl 178 -mf xc_implementation.rwl 43 -mfil csvdata.rwl 143 +mf xc_implementation.rwl 44 +mfil csvdata.rwl 147 mfil csvmtit.rwl 123 -mi_exec csvdata.rwl 413 -mi_wait csvdata.rwl 413 +mi_atim csvdata.rwl 419 +mi_dtim csvdata.rwl 419 +mi_exec csvdata.rwl 417 +mi_wait csvdata.rwl 417 min_order_id oe_handle_orders.rwl 24 min_order_query oe_handle_orders.rwl 26 min_order_ship oe_handle_orders.rwl 25 @@ -580,29 +619,31 @@ minsec plotruntp.rwl 24 minsec plotrunwetim.rwl 24 minsql oe_handle_orders.rwl 34 mkuser create_schemas.rwl 17 +mo_atim csvdata.rwl 419 mo_cnt plotrunwetim.rwl 43 +mo_dtim csvdata.rwl 419 mo_et plotrunwetim.rwl 43 -mo_exec csvdata.rwl 413 -mo_sleep_avg parameters.rwl 346 -mo_sleep_fac parameters.rwl 347 -mo_wait csvdata.rwl 413 +mo_exec csvdata.rwl 417 +mo_sleep_avg parameters.rwl 354 +mo_sleep_fac parameters.rwl 355 +mo_wait csvdata.rwl 417 mo_wt plotrunwetim.rwl 43 mpri oe_fillproducts.rwl 14 -mrkleft run.rwl 157 -mrklen run.rwl 157 -msec csvdata.rwl 142 +mrkleft run.rwl 185 +mrklen run.rwl 185 +msec csvdata.rwl 146 msec csvmtit.rwl 122 msg run_user.rwl 17 -msping csvdata.rwl 94 +msping csvdata.rwl 98 msping csvmtit.rwl 77 msping plotfigures.rwl 87 msping runping.rwl 34 msping timemodel.rwl 111 -mtim csvdata.rwl 141 +mtim csvdata.rwl 145 mtim csvmtit.rwl 121 mtit xcvalues.rwl 22 -mtit_affinity parameters.rwl 359 -mtit_array_size parameters.rwl 357 +mtit_affinity parameters.rwl 367 +mtit_array_size parameters.rwl 365 mtit_count_ins_rows mtit_declarations.rwl 68 mtit_get_seq mtit_declarations.rwl 133 mtit_initialize mtit_declarations.rwl 57 @@ -610,23 +651,24 @@ mtit_ins_rows mtit_declarations.rwl 125 mtit_ins_sql mtit_declarations.rwl 137 mtit_instance mtit_declarations.rwl 56 mtit_max_payload mtit_declarations.rwl 54 -mtit_rev_double parameters.rwl 362 -mtit_rows_per_exec parameters.rwl 356 +mtit_rev_double parameters.rwl 370 +mtit_rows_per_exec parameters.rwl 364 mtit_seq mtit_declarations.rwl 72 mtit_set_type mtit_declarations.rwl 74 mtit_tab mtit_declarations.rwl 72 -mtit_threads parameters.rwl 355 -mtit_type parameters.rwl 358 -mtit_type_text parameters.rwl 363 -mtit_xc parameters.rwl 361 +mtit_threads parameters.rwl 363 +mtit_type parameters.rwl 366 +mtit_type_text parameters.rwl 371 +mtit_xc parameters.rwl 369 mtittype xcchange.rwl 41 -mtxt csvdata.rwl 141 +mtxt csvdata.rwl 145 mtxt csvmtit.rwl 121 -mtyp csvdata.rwl 141 +mtyp csvdata.rwl 145 mtyp csvmtit.rwl 121 -my_loop aw_declarations.rwl 109 -my_thread aw_declarations.rwl 109 +my_loop aw_declarations.rwl 110 +my_thread aw_declarations.rwl 110 myarraysize xcchange.rwl 43 +mycstormsid cstorm_implementation.rwl 38 mycursorcache xcchange.rwl 34 mydate oerhtmlday.rwl 11 myhost xcchange.rwl 20 @@ -645,7 +687,8 @@ mykomment plotrunwetim.rwl 17 myproccount xcchange.rwl 35 myratefactor xcchange.rwl 24 myrunnumber kommentops.rwl 16 -myrunsec aw_declarations.rwl 290 +myrunnumber plotinfo.rwl 15 +myrunsec aw_declarations.rwl 291 myrunsec oe_handle_orders.rwl 193 myrunsec oe_handle_orders.rwl 934 myrunsec oe_handle_orders.rwl 994 @@ -655,41 +698,43 @@ nam oe_long_session.rwl 9 newenv kommentops.rwl 56 newkomment kommentops.rwl 14 nextdouble aw_cols.rwl 132 -no_awr_interval csvdata.rwl 36 +no_awr_interval csvdata.rwl 40 nopool xcchange.rwl 37 nopool xccoreparam.rwl 17 -normal_connect parameters.rwl 282 -normal_stddev parameters.rwl 336 -notused csvdata.rwl 467 +normal_connect parameters.rwl 290 +normal_stddev parameters.rwl 344 +notused csvdata.rwl 489 num_rows mtit_create.rwl 119 -nvlstring csvdata.rwl 462 +nvlstring csvdata.rwl 484 o1 oe_handle_orders.rwl 694 o2 oe_handle_orders.rwl 694 -oercount csvdata.rwl 25 +oercount csvdata.rwl 29 oercount csvmtit.rwl 10 -oerheader csvdata.rwl 31 -oerlist csvdata.rwl 30 +oerheader csvdata.rwl 35 +oerlist csvdata.rwl 34 oerlist oerhtmlday.rwl 77 oerlisting oerhtmlday.rwl 75 -oerpivot csvdata.rwl 713 -oerpivotsql csvdata.rwl 510 -oerreverse csvdata.rwl 32 -oerrow csvdata.rwl 463 -oertable csvdata.rwl 732 -oertablesql csvdata.rwl 522 +oerpivot csvdata.rwl 735 +oerpivotsql csvdata.rwl 532 +oerreverse csvdata.rwl 36 +oerrow csvdata.rwl 485 +oertable csvdata.rwl 754 +oertablesql csvdata.rwl 544 +offtime cstorm_implementation.rwl 58 +offtime csvdata.rwl 776 oldenv kommentops.rwl 57 olines oerhtmlday.rwl 15 one runping.rwl 30 one timemodel.rwl 99 -only_directories parameters2shell.rwl 18 -only_plus parameters2shell.rwl 15 +only_directories parameters2shell.rwl 19 +only_plus parameters2shell.rwl 16 onlyone latest.rwl 22 onrac timemodel.rwl 41 -openbatch csvdata.rwl 254 -openbatch run.rwl 521 -openpool csvdata.rwl 254 +openbatch csvdata.rwl 258 +openbatch run.rwl 549 +openpool csvdata.rwl 258 openpool mtitrun.rwl 80 -openpool run.rwl 521 +openpool run.rwl 549 openses plotfigures.rwl 56 ord_rowid oe_handle_orders.rwl 385 order_date oe_handle_orders.rwl 626 @@ -708,7 +753,7 @@ order_total oe_handle_orders.rwl 695 order_total oe_handle_orders.rwl 754 order_total oe_handle_orders.rwl 89 orderby latest.rwl 21 -orders_hashcount parameters.rwl 129 +orders_hashcount parameters.rwl 130 orders_made oe_handle_orders.rwl 81 ordid oepartalloc.rwl 21 otherterm timemodel.rwl 39 @@ -723,7 +768,7 @@ p_pass create_schemas.rwl 17 p_user create_schemas.rwl 17 p_user drop_schemas.rwl 13 parsefailure xcchange.rwl 27 -passwords parameters2shell.rwl 21 +passwords parameters2shell.rwl 22 payload mtit_declarations.rwl 128 pcnt oe_fillproducts.rwl 15 pcode oe_fillcustomers.rwl 14 @@ -745,12 +790,12 @@ pid oe_fillproducts.rwl 8 pid oe_fillwarehouses.rwl 6 pingbegt timemodel.rwl 111 pingcsv runping.rwl 32 -pivotstring csvdata.rwl 464 +pivotstring csvdata.rwl 486 plot_cpu_only plotfigures.rwl 23 plotfigures plotfigures.rwl 25 -plotfil2 csvdata.rwl 28 +plotfil2 csvdata.rwl 32 plotfil2 csvmtit.rwl 13 -plotfile csvdata.rwl 28 +plotfile csvdata.rwl 32 plotfile csvmtit.rwl 13 plotfile histdata.rwl 16 plotfile mtitplotwe.rwl 23 @@ -759,13 +804,13 @@ plotfile plotruntp.rwl 20 plotfile plotrunwetim.rwl 20 plotfile prepare.rwl 12 plotfile runsys.rwl 34 -plotline csvdata.rwl 540 +plotline csvdata.rwl 562 plotline csvmtit.rwl 16 plotruntp plotruntp.rwl 22 plotweres mtitplotwe.rwl 25 plotweres plotrunwetim.rwl 22 pna oe_fillproducts.rwl 9 -pool_connect parameters.rwl 284 +pool_connect parameters.rwl 292 pool_mb1 runsys.rwl 90 pool_mb2 runsys.rwl 90 pool_mb3 runsys.rwl 90 @@ -776,13 +821,13 @@ pool_mb7 runsys.rwl 91 pool_mb8 runsys.rwl 91 pool_name runsys.rwl 92 pool_rs runsys.rwl 90 -pool_size_interval parameters.rwl 260 -pool_type parameters.rwl 283 +pool_size_interval parameters.rwl 268 +pool_type parameters.rwl 291 prefinst oltpawr.rwl 123 probystat oe_fillproducts.rwl 64 -proccount parameters.rwl 72 +proccount parameters.rwl 73 procminus1 mtit_declarations.rwl 192 -procnumber parameters.rwl 71 +procnumber parameters.rwl 72 prod_id oe_long_session.rwl 11 product_description oe_handle_orders.rwl 649 product_description oe_handle_orders.rwl 696 @@ -804,14 +849,16 @@ prvdbtim timemodel.rwl 109 pstat oe_fillproducts.rwl 12 pstat oe_fillwarehouses.rwl 8 q aw_cols.rwl 31 +qo_atim csvdata.rwl 420 qo_cnt plotrunwetim.rwl 44 +qo_dtim csvdata.rwl 420 qo_et plotrunwetim.rwl 44 -qo_exec csvdata.rwl 414 -qo_sleep_avg parameters.rwl 346 -qo_sleep_fac parameters.rwl 348 -qo_wait csvdata.rwl 414 +qo_exec csvdata.rwl 418 +qo_sleep_avg parameters.rwl 354 +qo_sleep_fac parameters.rwl 356 +qo_wait csvdata.rwl 418 qo_wt plotrunwetim.rwl 44 -qry_awrtim csvdata.rwl 172 +qry_awrtim csvdata.rwl 176 qry_awrtim csvmtit.rwl 152 qrysec timemodel.rwl 124 qtt oe_fillwarehouses.rwl 33 @@ -823,49 +870,52 @@ quantity oe_handle_orders.rwl 758 quantity oe_handle_products.rwl 60 quantity_on_hand oe_handle_orders.rwl 383 quantity_on_hand oe_handle_products.rwl 62 -query_factor parameters.rwl 98 +query_factor parameters.rwl 99 query_order oe_handle_orders.rwl 751 query_order_count oe_handle_orders.rwl 747 query_order_items oe_handle_orders.rwl 748 -query_order_max_limit parameters.rwl 136 -queryorder run.rwl 98 -queryorder_weight parameters.rwl 103 +query_order_max_limit parameters.rwl 137 +queryorder run.rwl 102 +queryorder_weight parameters.rwl 104 r_key prepare.rwl 23 -rampfactor parameters.rwl 53 -rampup parameters2shell.rwl 72 -ratefactor parameters.rwl 41 -ratefactor_divisor parameters.rwl 376 -ratefactor_multiplier parameters.rwl 374 -rategradient parameters.rwl 48 +rampfactor parameters.rwl 54 +rampup parameters2shell.rwl 78 +ratefactor parameters.rwl 42 +ratefactor_divisor parameters.rwl 391 +ratefactor_multiplier parameters.rwl 389 +rategradient parameters.rwl 49 rcnt xcdefault.rwl 46 rda check_for_key.rwl 16 rdate kommentops.rwl 18 rdate oerhtmlday.rwl 11 rdate prepare.rwl 20 -repchg xc_implementation.rwl 50 +repchg xc_implementation.rwl 51 rescre create_schemas.rwl 51 -resname csvdata.rwl 332 +resname csvdata.rwl 336 resok timemodel.rwl 113 -results_connect parameters.rwl 279 -results_in_test parameters.rwl 277 -results_password parameters.rwl 281 -results_username parameters.rwl 280 -resultsdir parameters.rwl 265 -retval csvdata.rwl 44 +results_connect parameters.rwl 287 +results_in_test parameters.rwl 285 +results_password parameters.rwl 289 +results_username parameters.rwl 288 +resultsdir parameters.rwl 273 +retval csvdata.rwl 48 retval csvmtit.rwl 27 rixd mtit_create.rwl 104 rn runping.rwl 41 rno check_for_key.rwl 14 +rno csvdata.rwl 777 rno latest.rwl 30 rno mtit_declarations.rwl 126 rowspins xcchange.rwl 42 +run cstorm_implementation.rwl 72 run mtitrun.rwl 62 -run run.rwl 253 +run run.rwl 281 run runping.rwl 81 run runsys.rwl 178 run runtrunc.rwl 58 +runcstorm_implementation cstorm_implementation.rwl 72 runmtitrun mtitrun.rwl 62 -runno csvdata.rwl 25 +runno csvdata.rwl 29 runno csvmtit.rwl 10 runno histdata.rwl 13 runno markdone.rwl 8 @@ -879,84 +929,86 @@ runno plotrunwetim.rwl 18 runno scalefract.rwl 18 runno subdir.rwl 6 runno x2range.rwl 21 -runperiod parameters.rwl 126 -runplot_width parameters.rwl 228 -runrun run.rwl 253 +runperiod parameters.rwl 127 +runplot_width parameters.rwl 236 +runrun run.rwl 281 runrunping runping.rwl 81 runrunsys runsys.rwl 178 runruntrunc runtrunc.rwl 58 runsecmul mtit_declarations.rwl 192 rwl_aw aw_user.rwl 14 rwl_aw1 aw_sizeinfo.rwl 10 -rwl_aw1_password parameters.rwl 288 -rwl_aw1_username parameters.rwl 287 -rwl_aw2_password parameters.rwl 290 -rwl_aw2_username parameters.rwl 289 +rwl_aw1_password parameters.rwl 296 +rwl_aw1_username parameters.rwl 295 +rwl_aw2_password parameters.rwl 298 +rwl_aw2_username parameters.rwl 297 rwl_aw_create aw_cols.rwl 13 -rwl_daily_html parameters.rwl 80 -rwl_heading parameters.rwl 78 -rwl_max_batch parameters.rwl 89 -rwl_max_pool parameters.rwl 59 -rwl_min_batch parameters.rwl 88 -rwl_min_pool parameters.rwl 58 -rwl_oe_password parameters.rwl 292 +rwl_daily_html parameters.rwl 81 +rwl_heading parameters.rwl 79 +rwl_max_batch parameters.rwl 90 +rwl_max_pool parameters.rwl 60 +rwl_min_batch parameters.rwl 89 +rwl_min_pool parameters.rwl 59 +rwl_oe_password parameters.rwl 300 rwl_oe_pool oe_user.rwl 8 -rwl_oe_username parameters.rwl 291 +rwl_oe_username parameters.rwl 299 rwl_ping runping.rwl 24 -rwl_pool_release parameters.rwl 60 +rwl_pool_release parameters.rwl 61 rwl_run run_user.rwl 122 -rwl_run1_password parameters.rwl 294 -rwl_run1_username parameters.rwl 293 -rwl_run2_password parameters.rwl 296 -rwl_run2_username parameters.rwl 295 +rwl_run1_password parameters.rwl 302 +rwl_run1_username parameters.rwl 301 +rwl_run2_password parameters.rwl 304 +rwl_run2_username parameters.rwl 303 rwl_run_batch run_user.rwl 164 -rwl_run_like parameters.rwl 297 +rwl_run_like parameters.rwl 305 rwl_run_mtit mtit_user.rwl 11 rwl_run_pool run_user.rwl 129 -rwl_title parameters.rwl 298 +rwl_run_storm cstorm_implementation.rwl 16 +rwl_title parameters.rwl 306 rwloadsim results.rwl 8 -rwloadsimdir parameters.rwl 278 +rwloadsimdir parameters.rwl 286 s /home/bengsig/rwloadsim/public/ovid2.rwl 7089 -s run.rwl 109 -s24h_hard_avg parameters.rwl 208 -s24h_hard_beg parameters.rwl 210 -s24h_hard_end parameters.rwl 211 -s24h_hard_prb parameters.rwl 213 -s24h_hard_skp parameters.rwl 212 -s24h_hard_std parameters.rwl 209 -s24h_high_beg parameters.rwl 200 -s24h_high_end parameters.rwl 201 -s24h_high_std parameters.rwl 202 -s24h_load_hi parameters.rwl 203 -s24h_load_lo parameters.rwl 204 -s24h_load_std parameters.rwl 205 -s24h_scan_avg parameters.rwl 215 -s24h_scan_beg parameters.rwl 217 -s24h_scan_end parameters.rwl 218 -s24h_scan_prb parameters.rwl 220 -s24h_scan_skp parameters.rwl 219 -s24h_scan_std parameters.rwl 216 -s24hour parameters.rwl 194 -s24line csvdata.rwl 201 -s24markerfile csvdata.rwl 200 -s24markers run.rwl 156 -s_afty xc_implementation.rwl 225 -s_col1 aw_declarations.rwl 24 -s_rowid aw_declarations.rwl 27 -s_tokid aw_declarations.rwl 22 +s run.rwl 113 +s24h_hard_avg parameters.rwl 209 +s24h_hard_beg parameters.rwl 211 +s24h_hard_end parameters.rwl 212 +s24h_hard_prb parameters.rwl 214 +s24h_hard_skp parameters.rwl 213 +s24h_hard_std parameters.rwl 210 +s24h_high_beg parameters.rwl 201 +s24h_high_end parameters.rwl 202 +s24h_high_std parameters.rwl 203 +s24h_load_hi parameters.rwl 204 +s24h_load_lo parameters.rwl 205 +s24h_load_std parameters.rwl 206 +s24h_scan_avg parameters.rwl 216 +s24h_scan_beg parameters.rwl 218 +s24h_scan_end parameters.rwl 219 +s24h_scan_prb parameters.rwl 221 +s24h_scan_skp parameters.rwl 220 +s24h_scan_std parameters.rwl 217 +s24hour parameters.rwl 195 +s24line csvdata.rwl 205 +s24markerfile csvdata.rwl 204 +s24markers run.rwl 184 +s_afty xc_implementation.rwl 226 +s_col1 aw_declarations.rwl 25 +s_rowid aw_declarations.rwl 28 +s_tokid aw_declarations.rwl 23 savecaches runsys.rwl 89 +saveres cstorm_implementation.rwl 55 savtim oltpawr.rwl 230 -script_ramp parameters.rwl 67 +script_ramp parameters.rwl 68 search_products oe_handle_products.rwl 15 searches_made oe_handle_products.rwl 9 -searchproduct run.rwl 94 -searchproduct_weight parameters.rwl 104 +searchproduct run.rwl 98 +searchproduct_weight parameters.rwl 105 searchtext oe_handle_products.rwl 15 sec eatcpu.rwl 9 sec mtitrun.rwl 79 -sec run.rwl 520 +sec run.rwl 548 secnow timemodel.rwl 111 -second csvdata.rwl 94 +second csvdata.rwl 98 second csvmtit.rwl 77 second mtitplotwe.rwl 40 second plotfigures.rwl 87 @@ -980,17 +1032,17 @@ sel_order_to_ship oe_handle_orders.rwl 388 sel_product oe_handle_orders.rwl 138 sel_product_failure oe_handle_orders.rwl 149 sel_shipped_orders oe_handle_orders.rwl 629 -sel_tok_sql aw_declarations.rwl 36 +sel_tok_sql aw_declarations.rwl 37 sel_toship oe_handle_orders.rwl 576 sel_tot_orders oe_handle_orders.rwl 564 -sel_xtr_sql aw_declarations.rwl 91 +sel_xtr_sql aw_declarations.rwl 92 selaos_sql plotfigures.rwl 57 -selcli csvdata.rwl 256 +selcli csvdata.rwl 260 selcli csvmtit.rwl 217 selcountres_sql plotfigures.rwl 31 selfract histdata.rwl 83 selhist_sql histdata.rwl 22 -selinst_sql csvdata.rwl 232 +selinst_sql csvdata.rwl 236 selinst_sql csvmtit.rwl 195 selinst_sql plotfigures.rwl 72 selinv oe_fillwarehouses.rwl 93 @@ -1000,13 +1052,13 @@ selminsec_sql plotfigures.rwl 40 selminsec_sql plotruntp.rwl 27 selminsec_sql plotrunwetim.rwl 27 seloer oerhtml.rwl 19 -seloercnt csvdata.rwl 469 +seloercnt csvdata.rwl 491 selprod oe_long_session.rwl 14 selpstat oe_fillwarehouses.rwl 26 -seltimm_sql csvdata.rwl 95 +seltimm_sql csvdata.rwl 99 seltimm_sql csvmtit.rwl 78 seltimm_sql plotfigures.rwl 88 -seltps_sql csvdata.rwl 270 +seltps_sql csvdata.rwl 274 seltps_sql plotruntp.rwl 45 selvkdat scalefract.rwl 35 seq mtit_declarations.rwl 131 @@ -1016,55 +1068,59 @@ sessionleak xcchange.rwl 25 setdbname prepare.rwl 93 ship_many_orders oe_handle_orders.rwl 556 ship_order oe_handle_orders.rwl 381 -shiporder_weight parameters.rwl 113 -shiporders run.rwl 86 +shiporder_weight parameters.rwl 114 +shiporders run.rwl 90 shipped_items oe_handle_orders.rwl 499 -show_changed_values parameters.rwl 159 +show_changed_values parameters.rwl 160 showall latest.rwl 18 -showstart run.rwl 145 +showstart run.rwl 173 showthem oe_fillcustomers.rwl 71 -simulatebatch parameters.rwl 95 +simulatebatch parameters.rwl 96 skipnegative col_averages.rwl 11 sltp oe_handle_orders.rwl 695 snap oltpawr.rwl 19 -soer csvdata.rwl 465 -sp_exec csvdata.rwl 413 -sp_wait csvdata.rwl 413 +soer csvdata.rwl 487 +sp_atim csvdata.rwl 419 +sp_dtim csvdata.rwl 419 +sp_exec csvdata.rwl 417 +sp_wait csvdata.rwl 417 space create_schemas.rwl 17 sqlddl create_schemas.rwl 20 sqlddl drop_schemas.rwl 16 -sqrt_query_factor parameters.rwl 450 +sqrt_query_factor parameters.rwl 465 src_products oe_handle_products.rwl 25 starttime ashstep1.rwl 31 -starttime csvdata.rwl 34 +starttime csvdata.rwl 38 starttime csvmtit.rwl 18 starttime prepare.rwl 22 stock_added oe_handle_products.rwl 54 stock_increased oe_handle_products.rwl 53 -stocks run.rwl 109 -stockup run.rwl 107 -stockup_weight parameters.rwl 107 +stocks run.rwl 113 +stockup run.rwl 111 +stockup_weight parameters.rwl 108 stopnow xcchange.rwl 36 stopnow xccoreparam.rwl 16 +storm_results cstorm_implementation.rwl 25 str /home/bengsig/rwloadsim/public/ovid2.rwl 7076 str /home/bengsig/rwloadsim/public/ovid2.rwl 7088 -subdir parameters.rwl 266 +subdir parameters.rwl 274 +success csvdata.rwl 834 suggest check_directories.rwl 12 -sumdbtime csvdata.rwl 88 +sumdbtime csvdata.rwl 92 sumdbtime csvmtit.rwl 71 sume oe_handle_orders.rwl 695 -svgmouse parameters.rwl 697 +svgmouse parameters.rwl 723 sys mtitrun.rwl 79 -sys run.rwl 520 -sysawr_connect parameters.rwl 273 -sysawr_password parameters.rwl 275 -sysawr_username parameters.rwl 274 +sys run.rwl 548 +sysawr_connect parameters.rwl 281 +sysawr_password parameters.rwl 283 +sysawr_username parameters.rwl 282 sysawrdb systemdb.rwl 14 sysres scalefract.rwl 95 -syssave_interval parameters.rwl 231 -system_connect parameters.rwl 267 -system_password parameters.rwl 269 -system_username parameters.rwl 268 +syssave_interval parameters.rwl 239 +system_connect parameters.rwl 275 +system_password parameters.rwl 277 +system_username parameters.rwl 276 systemdb systemdb.rwl 8 t_dbsystim timemodel.rwl 36 t_name timemodel.rwl 34 @@ -1080,27 +1136,31 @@ tellnoawr runsys.rwl 83 termdist timemodel.rwl 203 termdist_query timemodel.rwl 60 termdist_query_gv timemodel.rwl 88 -test_aw_transaction aw_declarations.rwl 253 -testdebug parameters.rwl 155 +test_aw_transaction aw_declarations.rwl 254 +testdebug parameters.rwl 156 thissec mtitrun.rwl 78 -thissec run.rwl 519 +thissec run.rwl 547 thissys mtitrun.rwl 78 -thissys run.rwl 519 +thissys run.rwl 547 thisterm timemodel.rwl 39 thisusr mtitrun.rwl 78 -thisusr run.rwl 519 -threadcount parameters.rwl 91 -threadcount_divisor parameters.rwl 377 -threadcount_multiplier parameters.rwl 375 +thisusr run.rwl 547 +threadcount parameters.rwl 92 +threadcount_divisor parameters.rwl 392 +threadcount_multiplier parameters.rwl 390 +thrid csvdata.rwl 775 tim1 runping.rwl 34 tim2 runping.rwl 34 tim3 runping.rwl 34 -time_out parameters.rwl 44 +time_out parameters.rwl 45 timemodel_getres timemodel.rwl 116 timemodel_insert timemodel.rwl 208 timemodel_save timemodel.rwl 201 timenow eatcpu.rwl 10 -tmatch csvdata.rwl 43 +tit1 csvdata.rwl 780 +tit2 csvdata.rwl 780 +tit3 csvdata.rwl 780 +tmatch csvdata.rwl 47 tmatch csvmtit.rwl 26 to_be_shipped oe_handle_orders.rwl 559 tot /home/bengsig/rwloadsim/public/ovid2.rwl 7090 @@ -1111,107 +1171,108 @@ total oerhtml.rwl 15 total_cnt plotrunwetim.rwl 46 total_on_hand oe_handle_orders.rwl 424 totaltime prepare.rwl 28 -totashcpu csvdata.rwl 631 +totashcpu csvdata.rwl 653 totashcpu csvmtit.rwl 379 totinv oe_fillwarehouses.rwl 92 trunctables runtrunc.rwl 20 +trylogon cstorm_implementation.rwl 45 tshi x2range.rwl 27 tslo x2range.rwl 27 -tstamp csvdata.rwl 255 +tstamp csvdata.rwl 259 txt aw_cols.rwl 29 -txt aw_declarations.rwl 286 +txt aw_declarations.rwl 287 txt oerhtml.rwl 17 -txt xc_implementation.rwl 38 +txt xc_implementation.rwl 39 uname instdist.rwl 14 uname instdist.rwl 43 unit_price oe_handle_orders.rwl 117 unit_price oe_handle_orders.rwl 650 unit_price oe_handle_orders.rwl 757 -upd_det_sql aw_declarations.rwl 75 +upd_det_sql aw_declarations.rwl 76 upd_inventory oe_handle_orders.rwl 480 upd_inventory oe_handle_products.rwl 80 upd_order oe_handle_orders.rwl 107 upd_ship_order oe_handle_orders.rwl 415 -upd_tok_sql aw_declarations.rwl 42 -upd_tok_sql_failure aw_declarations.rwl 49 -upd_xtr_sql aw_declarations.rwl 67 +upd_tok_sql aw_declarations.rwl 43 +upd_tok_sql_failure aw_declarations.rwl 50 +upd_xtr_sql aw_declarations.rwl 68 updprod oe_long_session.rwl 28 usr check_directories.rwl 10 usr mtitrun.rwl 79 -usr run.rwl 520 +usr run.rwl 548 val mtit_declarations.rwl 127 -val1 csvdata.rwl 269 -val2 csvdata.rwl 269 -val3 csvdata.rwl 269 -val4 csvdata.rwl 269 -val5 csvdata.rwl 269 -val6 csvdata.rwl 269 -val7 csvdata.rwl 269 -val8 csvdata.rwl 269 -val9 csvdata.rwl 269 +val1 csvdata.rwl 273 +val2 csvdata.rwl 273 +val3 csvdata.rwl 273 +val4 csvdata.rwl 273 +val5 csvdata.rwl 273 +val6 csvdata.rwl 273 +val7 csvdata.rwl 273 +val8 csvdata.rwl 273 +val9 csvdata.rwl 273 vname histdata.rwl 81 vname scalefract.rwl 17 waitsec xcchange.rwl 31 warehouse_id oe_handle_products.rwl 58 -warehouse_id run.rwl 108 -warehouse_received run.rwl 103 +warehouse_id run.rwl 112 +warehouse_received run.rwl 107 was_shipped oe_handle_orders.rwl 379 wburst_count command line 1 -wburst_count parameters.rwl 173 -wburst_length parameters.rwl 175 -wburst_run run.rwl 197 -wburst_start parameters.rwl 174 -wburst_wait run.rwl 190 +wburst_count parameters.rwl 174 +wburst_length parameters.rwl 176 +wburst_run run.rwl 225 +wburst_start parameters.rwl 175 +wburst_wait run.rwl 218 wcount /home/bengsig/rwloadsim/public/ovid2.rwl 7073 wholeaffin mtit_declarations.rwl 126 wid oe_fillwarehouses.rwl 5 withdesc oe_handle_orders.rwl 751 withdml oe_long_session.rwl 9 -wma10 csvdata.rwl 400 -wmavg csvdata.rwl 400 -wmcount csvdata.rwl 363 +wma10 csvdata.rwl 404 +wmavg csvdata.rwl 404 +wmcount csvdata.rwl 367 wmcount csvmtit.rwl 275 -wmean csvdata.rwl 362 +wmean csvdata.rwl 366 wmean csvmtit.rwl 274 -wmeantot csvdata.rwl 362 +wmeantot csvdata.rwl 366 wmeantot csvmtit.rwl 274 wna oe_fillwarehouses.rwl 7 wrapfetch runping.rwl 42 writeping runping.rwl 48 -xc_badplan parameters.rwl 316 -xc_cpusec parameters.rwl 318 -xc_cursorcache parameters.rwl 311 -xc_cursorleak parameters.rwl 312 -xc_enabled parameters.rwl 302 -xc_hardparse parameters.rwl 307 -xc_ignore_parsefailure parameters.rwl 322 -xc_kill xc_implementation.rwl 309 -xc_loadfactor parameters.rwl 306 -xc_logoffrate parameters.rwl 315 -xc_marker xc_implementation.rwl 38 -xc_maxpool parameters.rwl 310 -xc_minpool parameters.rwl 309 -xc_nopool parameters.rwl 320 -xc_parsefailure parameters.rwl 308 -xc_proccount parameters.rwl 319 -xc_ratefactor parameters.rwl 305 -xc_read xc_implementation.rwl 50 -xc_refresh parameters.rwl 304 -xc_run_dedicated run.rwl 22 -xc_sessionleak parameters.rwl 313 -xc_sessionwait parameters.rwl 321 -xc_stopnow parameters.rwl 314 -xc_waitsec parameters.rwl 317 -xcolor csvdata.rwl 35 +xc_badplan parameters.rwl 324 +xc_cpusec parameters.rwl 326 +xc_cursorcache parameters.rwl 319 +xc_cursorleak parameters.rwl 320 +xc_enabled parameters.rwl 310 +xc_hardparse parameters.rwl 315 +xc_ignore_parsefailure parameters.rwl 330 +xc_kill xc_implementation.rwl 310 +xc_loadfactor parameters.rwl 314 +xc_logoffrate parameters.rwl 323 +xc_marker xc_implementation.rwl 39 +xc_maxpool parameters.rwl 318 +xc_minpool parameters.rwl 317 +xc_nopool parameters.rwl 328 +xc_parsefailure parameters.rwl 316 +xc_proccount parameters.rwl 327 +xc_ratefactor parameters.rwl 313 +xc_read xc_implementation.rwl 51 +xc_refresh parameters.rwl 312 +xc_run_dedicated run.rwl 24 +xc_sessionleak parameters.rwl 321 +xc_sessionwait parameters.rwl 329 +xc_stopnow parameters.rwl 322 +xc_waitsec parameters.rwl 325 +xcolor csvdata.rwl 39 xcolor csvmtit.rwl 19 -xeqpsec parameters.rwl 484 -xeqpshi parameters.rwl 490 -xeqpslo parameters.rwl 489 +xeqpsec parameters.rwl 499 +xeqpshi parameters.rwl 505 +xeqpslo parameters.rwl 504 xhi x2range.rwl 23 xlo x2range.rwl 22 -xseconds csvdata.rwl 42 +xseconds csvdata.rwl 46 xseconds csvmtit.rwl 25 -xtim csvdata.rwl 42 +xtim csvdata.rwl 46 xtim csvmtit.rwl 25 xwidth mtitplotwe.rwl 25 xwidth plotfigures.rwl 25 From 4233b21c499ae5ef9c1210c614eb598660a92574 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 25 Mar 2024 09:59:37 +0000 Subject: [PATCH 008/118] Allow user to set everyuntil --- man/man1rwl/controlloop.1rwl | 10 +++-- man/man1rwl/identifier.1rwl | 9 ++-- src/rwlmisc.c | 3 +- test/382.rwl | 83 ++++++++++++++++++++++++++++++++++++ test/test.sh | 2 +- test/testres/10.out.good | 1 + test/testres/11.out.good | 1 + test/testres/130.out.good | 1 + test/testres/3.out.good | 1 + test/testres/382.err.good | 0 test/testres/382.out.good | 43 +++++++++++++++++++ test/testres/45.out.good | 1 + test/testres/89.out.good | 2 + 13 files changed, 149 insertions(+), 8 deletions(-) create mode 100644 test/382.rwl create mode 100644 test/testres/382.err.good create mode 100644 test/testres/382.out.good diff --git a/man/man1rwl/controlloop.1rwl b/man/man1rwl/controlloop.1rwl index 8b3c5eed..6152d3ed 100644 --- a/man/man1rwl/controlloop.1rwl +++ b/man/man1rwl/controlloop.1rwl @@ -113,10 +113,11 @@ This is different from a wait time, as sets the time between each start of the execution, so .B every simulates an expected arrival rate in a queuing system. -Before an execution, the point in time to start the next execution will be calculated, +Before an execution, the point in time to start the next execution will be calculated +and saved in the \fBeveryuntil\fR variable, either relatively to start time of the current loop or relatively -to the original common start time; -the latter implements a backlog and is achieved using the +to the original common start time. +The latter implements a backlog and is achieved using the .B queue keyword. If a planned start time is surpassed, the execution will start immediately. @@ -129,6 +130,9 @@ The keyword can be prefixed with either "queue" or "noqueue" which will enable or disable queuing simulation using a backlog. Either of these overwrites the setting done via the -Q or -N options to rwloadsim or set via the $queue directive. +.P +You can overwrite the \fBeveryuntil\fR variable if your programming has a +requirement to use a different expected time to start the next loop. .RE .SH EXAMPLE This first example shows a very typical actual simulation of a workload. diff --git a/man/man1rwl/identifier.1rwl b/man/man1rwl/identifier.1rwl index bf4f1529..dfe623d0 100644 --- a/man/man1rwl/identifier.1rwl +++ b/man/man1rwl/identifier.1rwl @@ -20,7 +20,7 @@ There is one single name-scope for all identifiers and you can e.g. not have a s and an integer with the same name. .PP .SH "PREDEFINED VARIABLES" -The following lists predefined variables that all are read only. +The following lists predefined variables that are read only except when explicitly noted. .TP 14 .B threadnumber An integer variable that is assigned a unique number in each worker thread; @@ -39,7 +39,10 @@ It is initialized to 1 when a control loop starts and is incremented by 1 for ev .TP .B everyuntil A double variable that is used in control loop. -For every loop, it is calculated as the expected time-stamp to start the next loop. +When a loop starts, it is set to the expected timestamp to start the +.I next +loop. +Your rwlprogram can set a different value if required. .TP .B usrseconds A double variable that contains the user time in seconds from the last call to the getrusage statement. @@ -98,4 +101,4 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl .SH "SEE ALSO" simpledeclaration(1rwl), statement(1rwl), declaration(1rwl) -expression(1rwl) +expression(1rwl), controlloop(1rwl) diff --git a/src/rwlmisc.c b/src/rwlmisc.c index 826603bb..f1ce026a 100644 --- a/src/rwlmisc.c +++ b/src/rwlmisc.c @@ -14,6 +14,7 @@ * * History * + * bengsig 25-mar-2024 - everyuntil is not internal * bengsig 4-mar-2024 - atime, dtime * bengsig 29-feb-2024 - Fix rwlunixepoch, rwlgetrusage on Windows * bengsig 28-feb-2024 - Some windows backslash corrections @@ -412,7 +413,7 @@ void rwlinit3(rwl_main *rwm) if (l<0) rwlsevere(rwm,"[rwlinit-intern3:%s;%d]", RWL_RUNNUMBER_VAR, l); - l = rwladdvar(rwm, RWL_EVERYUNTIL_VAR, RWL_TYPE_DBL, RWL_IDENT_INTERNAL); + l = rwladdvar(rwm, RWL_EVERYUNTIL_VAR, RWL_TYPE_DBL, 0); if (l<0) rwlsevere(rwm,"[rwlinit-intern4:%s;%d]", RWL_EVERYUNTIL_VAR, l); diff --git a/test/382.rwl b/test/382.rwl new file mode 100644 index 00000000..f5c9180e --- /dev/null +++ b/test/382.rwl @@ -0,0 +1,83 @@ +# test setting everyuntil to 0 implying flush +# you should manually also run with --test382-noset +# to see the difference + +integer test382_noset := 0; $userswitch:test382-noset + +$statistics:all +$clockstart:1 +$include:"testuserinfo.rwl" +$include:"testresults.rwl" +$include:"testpool.rwl" + +integer threads sum total := 0; + +procedure proc1() + integer empno; string ename; + printf "calling proc1 at %.1f everyuntil=%.1f\n", runseconds(), everyuntil; + for + select ename, empno from emp order by empno + / + loop + total += 1; + end; +end; + +procedure procsusp() + ociping; + wait 2; +end; + +procedure procfail() statisticsonly + printf "calling procfail at %.1f everyuntil=%.1f\n", runseconds(), everyuntil; +end; + +procedure callproc1() + for queue every 0.2 stop 8 loop + if runseconds() between 2 and 3 then + procsusp(); + if not test382_noset then + everyuntil := runseconds(); + end if; + else + if runseconds() > everyuntil + 0.1 then + # if you run with --test382-noset you will + # you will see 5 procfail() being called + # right after each other + procfail(); + else + proc1(); + end if; + end if; + end loop; +end; + +run + threads 1 at testpool + callproc1(); + end; +end; + +double second, wtime, etime; +integer scount; + +double avgw, avge, avga, avgd; +string vname; + +execute at testresults + for + select vname + , second + , scount + , wtime + , etime + from persec + where runnumber = :runnumber + order by vname, second + / + loop + printf "%20s %.1f %2d %.1f %.1f\n", vname, second, scount, wtime, etime; + end loop; +end; + +# printvar all; diff --git a/test/test.sh b/test/test.sh index e6b3a4d8..5f488904 100755 --- a/test/test.sh +++ b/test/test.sh @@ -47,7 +47,7 @@ then testlist="$*" else # note that 323..326 test CQN which we don't currently compile in - testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 400 401' + testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 400 401' fi diffokcount=0; diff --git a/test/testres/10.out.good b/test/testres/10.out.good index 4335213c..21882f3f 100644 --- a/test/testres/10.out.good +++ b/test/testres/10.out.good @@ -1,3 +1,4 @@ +identifier 3 everyuntil DBL current value 0.00 declared at "program startup" line 0 identifier 28 a INT current value 0 declared at 10.rwl line 1 identifier 29 b INT current value 0 declared at 10.rwl line 2 identifier 30 forloop PROC start 0 declared at line 4 lv=1: diff --git a/test/testres/11.out.good b/test/testres/11.out.good index c91233cd..30bbfc2f 100644 --- a/test/testres/11.out.good +++ b/test/testres/11.out.good @@ -1,4 +1,5 @@ 18 div by zero 18 +identifier 3 everyuntil DBL current value 0.00 declared at "program startup" line 0 identifier 28 a INT current value 18 declared at 11.rwl line 1 identifier 29 ___a INT current value 0 declared at 11.rwl line 2 diff --git a/test/testres/130.out.good b/test/testres/130.out.good index f798c3a7..b77627f3 100644 --- a/test/testres/130.out.good +++ b/test/testres/130.out.good @@ -4,5 +4,6 @@ 7 5 6 5 5 0 +identifier 3 everyuntil DBL current value 0.00 declared at "program startup" line 0 identifier 28 ii INT current value 10 declared at 130.rwl line 14 identifier 29 ss INT current value 5 declared at 130.rwl line 16 diff --git a/test/testres/3.out.good b/test/testres/3.out.good index 8243c97c..6b7f51cb 100644 --- a/test/testres/3.out.good +++ b/test/testres/3.out.good @@ -2,6 +2,7 @@ HELLO, WORLD 28 c is bigger than 10 18 HELLO, WORLD 2801 c is bigger than 10 18 +identifier 3 everyuntil DBL current value 0.00 declared at "program startup" line 0 identifier 28 a INT current value 280100 declared at 3.rwl line 1 identifier 29 b INT current value 27 declared at 3.rwl line 1 identifier 30 c INT current value 18 declared at 3.rwl line 2 diff --git a/test/testres/382.err.good b/test/testres/382.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/382.out.good b/test/testres/382.out.good new file mode 100644 index 00000000..8a11d073 --- /dev/null +++ b/test/testres/382.out.good @@ -0,0 +1,43 @@ +calling proc1 at 0.0 everyuntil=0.2 +calling proc1 at 0.2 everyuntil=0.4 +calling proc1 at 0.4 everyuntil=0.6 +calling proc1 at 0.6 everyuntil=0.8 +calling proc1 at 0.8 everyuntil=1.0 +calling proc1 at 1.0 everyuntil=1.2 +calling proc1 at 1.2 everyuntil=1.4 +calling proc1 at 1.4 everyuntil=1.6 +calling proc1 at 1.6 everyuntil=1.8 +calling proc1 at 1.8 everyuntil=2.0 +calling proc1 at 4.0 everyuntil=4.2 +calling proc1 at 4.2 everyuntil=4.4 +calling proc1 at 4.4 everyuntil=4.6 +calling proc1 at 4.6 everyuntil=4.8 +calling proc1 at 4.8 everyuntil=5.0 +calling proc1 at 5.0 everyuntil=5.2 +calling proc1 at 5.2 everyuntil=5.4 +calling proc1 at 5.4 everyuntil=5.6 +calling proc1 at 5.6 everyuntil=5.8 +calling proc1 at 5.8 everyuntil=6.0 +calling proc1 at 6.0 everyuntil=6.2 +calling proc1 at 6.2 everyuntil=6.4 +calling proc1 at 6.4 everyuntil=6.6 +calling proc1 at 6.6 everyuntil=6.8 +calling proc1 at 6.8 everyuntil=7.0 +calling proc1 at 7.0 everyuntil=7.2 +calling proc1 at 7.2 everyuntil=7.4 +calling proc1 at 7.4 everyuntil=7.6 +calling proc1 at 7.6 everyuntil=7.8 +calling proc1 at 7.8 everyuntil=8.0 + proc1 1.0 5 0.0 0.0 + proc1 2.0 5 0.0 0.0 + proc1 3.0 0 0.0 0.0 + proc1 4.0 0 0.0 0.0 + proc1 5.0 5 0.0 0.0 + proc1 6.0 5 0.0 0.0 + proc1 7.0 5 0.0 0.0 + proc1 8.0 5 0.0 0.0 + procsusp 1.0 0 0.0 0.0 + procsusp 2.0 0 0.0 0.0 + procsusp 3.0 0 0.0 0.0 + procsusp 4.0 0 0.0 0.0 + procsusp 5.0 1 0.0 2.0 diff --git a/test/testres/45.out.good b/test/testres/45.out.good index d44140a7..82309165 100644 --- a/test/testres/45.out.good +++ b/test/testres/45.out.good @@ -1,3 +1,4 @@ +identifier 3 everyuntil DBL current value 0.00 declared at "program startup" line 0 identifier 28 x1 PL/SQL declared at line 1: -- -- A -- comment makes rwloadsim assume this is PL/SQL diff --git a/test/testres/89.out.good b/test/testres/89.out.good index 5a92b868..c2848621 100644 --- a/test/testres/89.out.good +++ b/test/testres/89.out.good @@ -1,4 +1,5 @@ in 89-1.rwl +identifier 3 everyuntil DBL current value 0.00 declared at "program startup" line 0 identifier 28 a INT current value 0 declared at 89.rwl line 3 identifier 29 b INT current value 0 declared at 89-1.rwl line 3 in 89-2.rwl @@ -10,6 +11,7 @@ a is 9 and b is 28 a is 10 and b is 28 11 a 11 b 38 +identifier 3 everyuntil DBL current value 0.00 declared at "program startup" line 0 identifier 28 a INT current value 11 declared at 89.rwl line 3 identifier 29 b INT current value 38 declared at 89-1.rwl line 3 identifier 30 forloop PROC start 0 declared at line 3 lv=1: From 0e799121a70f1619630ab3838048aa6a77b31d09 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 26 Mar 2024 09:44:22 +0000 Subject: [PATCH 009/118] Document everyuntil can be set --- docs/refman/controlloop.html | 24 +++++++++++++++--------- docs/refman/identifier.html | 15 +++++++++------ docs/refman/variable.html | 15 +++++++++------ 3 files changed, 33 insertions(+), 21 deletions(-) diff --git a/docs/refman/controlloop.html b/docs/refman/controlloop.html index 21ace433..f17a0161 100644 --- a/docs/refman/controlloop.html +++ b/docs/refman/controlloop.html @@ -1,5 +1,5 @@ - + @@ -171,14 +171,15 @@

OPTIONS sets the time between each start of the execution, so every simulates an expected arrival rate in a queuing system. Before an execution, the point in time to start the -next execution will be calculated, either relatively to -start time of the current loop or relatively to the original -common start time; the latter implements a backlog and is -achieved using the queue keyword. If a planned start -time is surpassed, the execution will start immediately. To -simulate queuing systems, use queue every with an -argument of erlang2(1/x), where x is the expected -arrival rate per second.

+next execution will be calculated and saved in the +everyuntil variable, either relatively to start time +of the current loop or relatively to the original common +start time. The latter implements a backlog and is achieved +using the queue keyword. If a planned start time is +surpassed, the execution will start immediately. To simulate +queuing systems, use queue every with an argument of +erlang2(1/x), where x is the expected arrival rate +per second.

The keyword can be prefixed with either "queue" or @@ -187,6 +188,11 @@

OPTIONS setting done via the -Q or -N options to rwloadsim or set via the $queue directive.

+

You can +overwrite the everyuntil variable if your programming +has a requirement to use a different expected time to start +the next loop.

+

EXAMPLE

diff --git a/docs/refman/identifier.html b/docs/refman/identifier.html index 63940ca7..691f4d20 100644 --- a/docs/refman/identifier.html +++ b/docs/refman/identifier.html @@ -1,5 +1,5 @@ - + @@ -73,7 +73,8 @@

PREDEFINED VARIABLES

The following -lists predefined variables that all are read only.

+lists predefined variables that are read only except when +explicitly noted.

@@ -141,9 +142,10 @@

PREDEFINED VARIABLES

+

A double variable that is used in control loop. When a +loop starts, it is set to the expected timestamp to start +the next loop. Your rwlprogram can set a different +value if required.

+ + + + + END fi @@ -1084,6 +1090,21 @@ echo "proccount=$proccount" >> $awrdirectory$subdir$runnumber/index.html if test $cstormwidth -gt 0 then cat $resultsdir$subdir$runnumber/cstorm.html >> $awrdirectory$subdir$runnumber/index.html + cat > $resultsdir$subdir${runnumber}/cstormoff.plot < $resultsdir$subdir${runnumber}/cstorm$plotorder.plot <>= resultsdir subdir runno "/oerashvars.sh"; + fprintf plotfile , "cstormminoff=%.3f\n", floor(minofftime*50.0)/50.0; if rno > 600 then writeline plotfile, "cstormwidth=1024"; elseif rno then From 1c5e2c8834c0d31d0f7ebbc284da1f85abc0dd12 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 22 Jul 2024 14:03:32 +0000 Subject: [PATCH 078/118] Show min/max pool when xc changes --- bin/oltpplot | 19 ++++++++++++++----- oltp/run.rwl | 10 ++++++++++ oltp/xc_implementation.rwl | 13 +++++++++++++ 3 files changed, 37 insertions(+), 5 deletions(-) diff --git a/bin/oltpplot b/bin/oltpplot index e0d9ae07..5a386c24 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 22-jul-2024 bengsig Show min/max pool when xc changes # 22-jul-2024 bengsig Add cstorm logoff time # 3-jul-2024 bengsig changed end-to-end colors # 3-jul-2024 bengsig 0% dropped -> no dropped @@ -367,11 +368,19 @@ END then echo "set y2range $sesy2range" >> $resultsdir$subdir$runnumber/instdist.plot fi + if test -f $resultsdir$subdir${runnumber}/poolminmax.csv + then + poolminplot="'$resultsdir$subdir${runnumber}/poolminmax.csv' using 1:2 with lines lw $lw lc rgb 'grey70' axes x1y1 notitle" + poolmaxplot="'$resultsdir$subdir${runnumber}/poolminmax.csv' using 1:3 with lines lw $lw lc rgb 'grey90' axes x1y1 notitle" + else + poolminplot="$proccount*$rwl_min_pool with lines lw $lw lc rgb 'grey70' axes x1y1 notitle" + poolmaxplot="$proccount*$rwl_max_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle" + fi if test $sessimplified = yes then plotses="'$resultsdir$subdir${runnumber}/instdist.csv' using 1:(\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9) with lines lw $lw lc rgb 'black' axes x1y1 title 'database' , \\ - $proccount*$rwl_min_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \\ - $proccount*$rwl_max_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \\ + $poolminplot , \\ + $poolmaxplot , \\ '$resultsdir$subdir${runnumber}/cli.csv' using 1:(\$6+\$7) with lines lw $lw lc rgb 'web-blue' axes x1y1 title 'total' , \\ '$resultsdir$subdir${runnumber}/cli.csv' using 1:6 with lines lw $lw lc rgb 'dark-green' axes x1y1 title 'open' , \\ '$resultsdir$subdir${runnumber}/cli.csv' using 1:4 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title 'active' " @@ -385,11 +394,11 @@ END '$resultsdir$subdir${runnumber}/instdist.csv' using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y2 title '7', \\ '$resultsdir$subdir${runnumber}/instdist.csv' using 1:9 with lines lw $lw lc rgb 'skyblue' axes x1y2 title '8', \\ '$resultsdir$subdir${runnumber}/instdist.csv' using 1:(\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9) with lines lw $lw lc rgb 'black' axes x1y1 title 'd' , \\ - $proccount*$rwl_min_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \\ - $proccount*$rwl_max_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \\ + $poolminplot , \\ + $poolmaxplot , \\ '$resultsdir$subdir${runnumber}/cli.csv' using 1:(\$6+\$7) with lines lw $lw lc rgb 'web-blue' axes x1y1 title 't' , \\ '$resultsdir$subdir${runnumber}/cli.csv' using 1:6 with lines lw $lw lc rgb 'grey70' axes x1y1 title 'o' , \\ - '$resultsdir$subdir${runnumber}/cli.csv' using 1:4 with lines lw $lw lc rgb 'grey50' axes x1y1 title 'a' " + '$resultsdir$subdir${runnumber}/cli.csv' using 1:4 with lines lw $lw lc rgb 'grey30' axes x1y1 title 'a' " fi diff --git a/oltp/run.rwl b/oltp/run.rwl index 0da3ecbc..b7a727b9 100644 --- a/oltp/run.rwl +++ b/oltp/run.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 22-jul-2024 - Show min/max pool when xc changes # bengsig 26-mar-2024 - cstorm fixes # bengsig 19-mar-2024 - cstorm # bengsig 5-mar-2024 - dtime, atime @@ -284,6 +285,9 @@ $if xc_enabled $then printline "Worker thread burst is turned off with external control"; wburst_count := 0; end if; + if procnumber = 1 and pool_type = "sessionpool" then + xc_poolprint(0.0, rwl_min_pool, rwl_max_pool); + end if; $endif # This is the command that really does everything! @@ -614,6 +618,12 @@ execute at rwloadsim end if; end; +$if xc_enabled $then + if procnumber = 1 and pool_type = "sessionpool" then + xc_poolprint(runseconds(), rwl_min_pool, rwl_max_pool); + end if; +$endif + # Display something at the end of process 1 if procnumber = 1 then printline "Counts from process 1:"; diff --git a/oltp/xc_implementation.rwl b/oltp/xc_implementation.rwl index 469a41cf..e9a6ae8a 100644 --- a/oltp/xc_implementation.rwl +++ b/oltp/xc_implementation.rwl @@ -7,6 +7,7 @@ # # History # +# bengsig 22-jul-2024 - Show min/max pool when xc changes # bengsig 24-feb-2024 - Add waitsec, cpusec # bengsig 9-nov-2023 - support multiple application servers # bengsig 3-oct-2023 - parsefailure @@ -46,6 +47,14 @@ procedure xc_marker(string txt) mf := null; end; +procedure xc_poolprint(double psec, integer pmin, integer pmax) + file poolcsv; + + poolcsv >>= resultsdir "/r" (runnumber/1000) "/" runnumber "/poolminmax.csv"; + fprintf poolcsv, "%.2f %d %d\n", psec, pmin, pmax; + poolcsv := null; +end xc_poolprint; + # When external control is enabled # this is executed every 10s procedure xc_read(integer repchg) nostatistics @@ -200,10 +209,14 @@ $if defined(rwl_run_pool) $then if repchg then writeline stderr, "At " runseconds() ": external control sessionpool is now "l_minp".."l_maxp; xc_marker("sessionpool=" l_minp ".." l_maxp); + xc_poolprint(runseconds(), xc_minpool, xc_maxpool); end if; xc_minpool := l_minp; xc_maxpool := l_maxp; modify database rwl_run_pool sessionpool l_minp .. l_maxp; + if repchg then + xc_poolprint(runseconds(), xc_minpool, xc_maxpool); + end if; end if; end if; $endif From 285a0e432b0853dfbff2df77db4dfb3a7354b962 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 22 Jul 2024 14:28:14 +0000 Subject: [PATCH 079/118] Forgot proccount multiplier --- bin/oltpplot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/oltpplot b/bin/oltpplot index 5a386c24..ec6c9422 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -370,8 +370,8 @@ END fi if test -f $resultsdir$subdir${runnumber}/poolminmax.csv then - poolminplot="'$resultsdir$subdir${runnumber}/poolminmax.csv' using 1:2 with lines lw $lw lc rgb 'grey70' axes x1y1 notitle" - poolmaxplot="'$resultsdir$subdir${runnumber}/poolminmax.csv' using 1:3 with lines lw $lw lc rgb 'grey90' axes x1y1 notitle" + poolminplot="'$resultsdir$subdir${runnumber}/poolminmax.csv' using 1:(\$2*$proccount) with lines lw $lw lc rgb 'grey70' axes x1y1 notitle" + poolmaxplot="'$resultsdir$subdir${runnumber}/poolminmax.csv' using 1:(\$3*$proccount) with lines lw $lw lc rgb 'grey90' axes x1y1 notitle" else poolminplot="$proccount*$rwl_min_pool with lines lw $lw lc rgb 'grey70' axes x1y1 notitle" poolmaxplot="$proccount*$rwl_max_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle" From bcd542a8c1dc22c91b272b783c391e0b4465657a Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 23 Jul 2024 10:49:17 +0000 Subject: [PATCH 080/118] Replace ping by connping --- bin/oltpcore | 15 +++--- bin/oltpplot | 110 +++++++++++++++++++++---------------------- oltp/csvdata.rwl | 17 +++++++ oltp/pingcsv2res.rwl | 63 ------------------------- oltp/runping.rwl | 87 ---------------------------------- oltp/runsys.rwl | 58 ++++++++++++++++++++++- 6 files changed, 137 insertions(+), 213 deletions(-) delete mode 100644 oltp/pingcsv2res.rwl delete mode 100644 oltp/runping.rwl diff --git a/bin/oltpcore b/bin/oltpcore index 9693d4bf..822b57a3 100755 --- a/bin/oltpcore +++ b/bin/oltpcore @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2023 Oracle Corporation +# Copyright (c) 2017, 2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ @@ -11,6 +11,7 @@ # Changes # +# bengsig 23-jul-2024 - ping->connping # bengsig 9-nov-2023 - support multiple application servers # bengsig 2-nov-2023 - Add extra_args plots, etc # bengsig 17-oct-2023 - Add extra_args to prepare @@ -249,8 +250,8 @@ rwloadsim $oltpsetxc -q $extra_args -i simulatebatch:=$simulatebatch -i runperio rwloadsim -q aw_sizeinfo.rwl >> $resultsdir/$subdir/$runnumber/parmatstart.txt rwloadsim -q checkepoch.rwl | tee -a $resultsdir/$subdir/$runnumber/parmatstart.txt -# Start ping gather and also ask for event notification -rwloadsim $extra_args $oltpsetxc $mute59 -u -E -q -R $prepfile -i simulatebatch:=$simulatebatch -i runperiod:=$runperiod runping.rwl & +# NO LONGER Start ping gather and also ask for event notification +# rwloadsim $extra_args $oltpsetxc $mute59 -u -E -q -R $prepfile -i simulatebatch:=$simulatebatch -i runperiod:=$runperiod runping.rwl & if test x$killfile != x then @@ -259,8 +260,8 @@ fi quiet='' -# Start sys gather -rwloadsim $extra_args $mute59 $oltpsetxc -u -A 1 -r -q -i procnumber:=99999 -i simulatebatch:=$simulatebatch -i runperiod:=$runperiod -i proccount:=$procs -R $prepfile -i doawr:=$doawr runsys.rwl $starttime & +# Start sys gather and also ask for event notification +rwloadsim -E $extra_args $mute59 $oltpsetxc -u -A 1 -r -q -i procnumber:=99999 -i simulatebatch:=$simulatebatch -i runperiod:=$runperiod -i proccount:=$procs -R $prepfile -i doawr:=$doawr runsys.rwl $starttime & awrpid=$! if test x$killfile != x @@ -377,8 +378,8 @@ then # copy the ash data from systemdb to results db test $doawr -ne 0 && rwloadsim -u -A 2 -q ashstep2.rwl $runnumber $runperiod & - # copy the ping.csv file to resultsdb - rwloadsim -u -A 1 -q pingcsv2res.rwl $runnumber & + # NO LONGER copy the ping.csv file to resultsdb + # rwloadsim -u -A 1 -q pingcsv2res.rwl $runnumber & # and make the awr reports test $doawr -ne 0 && rwloadsim -u -A 1 -q makeawr.rwl $runnumber & diff --git a/bin/oltpplot b/bin/oltpplot index ec6c9422..0f1ea461 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -1,46 +1,48 @@ #!/bin/bash -# Copyright (c) 2021, 2024 Oracle Corporation +# Copyright (c) 2017, 2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ # Changes: # -# 22-jul-2024 bengsig Show min/max pool when xc changes -# 22-jul-2024 bengsig Add cstorm logoff time -# 3-jul-2024 bengsig changed end-to-end colors -# 3-jul-2024 bengsig 0% dropped -> no dropped -# 22-may-2024 bengsig Split long gnuplot lines -# 21-may-2024 bengsig memory is logscale due to large differences -# 17-may-2024 bengsig add PGA -# 9-may-2024 bengsig add drop% -# 8-may-2024 bengsig global osstat -# 2-may-2024 bengsig --fractiles-dropped option to oltpplot -# 28-apr-2024 bengsig osstat -# 3-apr-2024 bengsig better graph label -# 27-mar-2024 bengsig cstorm by initiated and logged on -# 20-mar-2024 bengsig cstorm -# 4-mar-2024 bengsig dtime, atime -# 24-jan-2024 bengsig Include batch pool counts in cli.csv, plot total open -# 5-dec-2023 bengsig Changed html heading with --ses-simplified -# 4-dec-2023 bengsig Add --no-client-cpu, --no-x2label, --ses-simplified -# 30-nov-2023 bengsig More personalization of graphs -# 22-nov-2023 bengsig Add --gnuplot-extra -# 23-sep-2023 bengsig Add timestamps to res.plot and ping.plot -# 9-aug-2023 bengsig Add --ses-yrange, --ses-y2range -# 1-aug-2023 bengsig Add oltpxcset markers from oltpxcrun -# 2-may-2023 bengsig Allow markers in files -# 27-apr-2023 bengsig Add -l --latest -# 15-may-2023 bengsig Add complex query wait/exec times -# 13-may-2023 bengsig Avoid two confusing axes for wait/exec/total time -# 25-oct-2022 bengsig Add per second and tranasction wait/exec -# 01-sep-2022 bengsig Plot bcache, sharedp -# 28-mar-2022 bengsig Plot ociping last -# 02-feb-2022 bengsig Add awr markers -# 11-jan-2022 bengsig Include directory names -# 28-oct-2021 bengsig Improve colors in ORA- error plot -# 15-mar-2021 bengsig Swap two colors -# 11-mar-2021 bengsig Exit if runnumber isn't good -# 14-jan-2021 bengsig Move search products graph to y2 axis +# bengsig 23-jul-2024 - ping->connping +# bengsig 22-jul-2024 - Show min/max pool when xc changes +# bengsig 22-jul-2024 - Add cstorm logoff time +# bengsig 3-jul-2024 - changed end-to-end colors +# bengsig 3-jul-2024 - 0% dropped -> no dropped +# bengsig 22-may-2024 - Split long gnuplot lines +# bengsig 21-may-2024 - memory is logscale due to large differences +# bengsig 17-may-2024 - add PGA +# bengsig 9-may-2024 - add drop% +# bengsig 8-may-2024 - global osstat +# bengsig 2-may-2024 - --fractiles-dropped option to oltpplot +# bengsig 28-apr-2024 - osstat +# bengsig 3-apr-2024 - better graph label +# bengsig 27-mar-2024 - cstorm by initiated and logged on +# bengsig 20-mar-2024 - cstorm +# bengsig 4-mar-2024 - dtime, atime +# bengsig 24-jan-2024 - Include batch pool counts in cli.csv, plot total open +# bengsig 5-dec-2023 - Changed html heading with --ses-simplified +# bengsig 4-dec-2023 - Add --no-client-cpu, --no-x2label, --ses-simplified +# bengsig 30-nov-2023 - More personalization of graphs +# bengsig 22-nov-2023 - Add --gnuplot-extra +# bengsig 23-sep-2023 - Add timestamps to res.plot and ping.plot +# bengsig 9-aug-2023 - Add --ses-yrange, --ses-y2range +# bengsig 1-aug-2023 - Add oltpxcset markers from oltpxcrun +# bengsig 2-may-2023 - Allow markers in files +# bengsig 27-apr-2023 - Add -l --latest +# bengsig 15-may-2023 - Add complex query wait/exec times +# bengsig 13-may-2023 - Avoid two confusing axes for wait/exec/total time +# bengsig 25-oct-2022 - Add per second and tranasction wait/exec +# bengsig 01-sep-2022 - Plot bcache, sharedp +# bengsig 28-mar-2022 - Plot ociping last +# bengsig 02-feb-2022 - Add awr markers +# bengsig 11-jan-2022 - Include directory names +# bengsig 28-oct-2021 - Improve colors in ORA- error plot +# bengsig 15-mar-2021 - Swap two colors +# bengsig 11-mar-2021 - Exit if runnumber isn't good +# bengsig 14-jan-2021 - Move search products graph to y2 axis +# bengsig 2017 - Created . oltp-setup-env @@ -429,12 +431,12 @@ gnuplot -persist $resultsdir$subdir${runnumber}/instdist.plot -cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/ping.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/oerpivot.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/time.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/tp.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/ash.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/bcache.plot +cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/connping.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/memory.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/sharedp.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/pga.plot @@ -804,40 +806,38 @@ gnuplot $resultsdir$subdir$runnumber/res.plot # make the alternative plot # For full/lemans, the alternative is ping -cat >> $resultsdir$subdir${runnumber}/ping.plot <> $resultsdir$subdir${runnumber}/connping.plot <> $resultsdir$subdir$runnumber/ping.plot + echo set nox2tics >> $resultsdir$subdir$runnumber/connping.plot fi -cat >> $resultsdir$subdir${runnumber}/ping.plot <> $resultsdir$subdir${runnumber}/connping.plot < $awrdirectory$subdir$runnumber/index.html - + END if test -f $awrdirectory$subdir$runnumber/${runnumber}_osstat.svg then @@ -1166,7 +1166,7 @@ fi cat <> $awrdirectory$subdir$runnumber/index.html $osstatembed
-
+
END if test $ashcsvcount -gt 0 diff --git a/oltp/csvdata.rwl b/oltp/csvdata.rwl index efce2bbc..dabe54b4 100644 --- a/oltp/csvdata.rwl +++ b/oltp/csvdata.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 23-jul-2023 - ping->connping # bengsig 22-jul-2024 - Add cstorm logoff time # bengsig 17-may-2024 - PGA # bengsig 29-apr-2024 - osstat @@ -261,6 +262,22 @@ execute at rwloadsim end loop; plotfile := null; + # generate CONNPING file + plotfile := resultsdir subdir runno "/connping.csv"; + writeline plotfile, "second conn ping"; + double conntime, pingtime; + for + select second, val3 conntime, val1 pingtime + from sysres + where runnumber = :runno + and resname in ('PING','CONNPING') + order by second + / + loop + fprintf plotfile, "%.2f %z.2f %.3f\n", second, conntime, pingtime; + end loop; + plotfile := null; + # get the client side CPU stuff double cliusr, clisys; integer actpool, actbatch, openpool, openbatch; diff --git a/oltp/pingcsv2res.rwl b/oltp/pingcsv2res.rwl deleted file mode 100644 index cb80c08c..00000000 --- a/oltp/pingcsv2res.rwl +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright (c) 2021 Oracle Corporation -# Licensed under the Universal Permissive License v 1.0 -# as shown at https://oss.oracle.com/licenses/upl/ - -# Take the ping figures from ping.csv and insert into -# the repository using resname = 'PING' -# -# Provide runnumber as argument -# $1 runnumber - -$if $# = 1 $then - -$include:"parameters.rwl" -$include:"results.rwl" - -private integer runno := $1; -subdir:="/r" runno/1000 "/"; - -execute at rwloadsim - if not access(resultsdir subdir runno "/ping.csv","r") - then - writeline stderr,"Cannot read '" resultsdir subdir runno "/ping.csv'"; - else - file pingcsv <= resultsdir subdir runno "/ping.csv"; - double prevsecond, second, oci, dual; - integer pingcount := 0; - - sql insping - insert into sysres(runnumber,second,resname,val1,val2) - values (:1,:2,'PING',:3,:4); - bind 1 runno; - bind 2 second; - bind 3 oci, 4 dual; - array 20; - end insping; - - prevsecond := 0.0; - for readline pingcsv,second,oci,dual loop - # Check it is reasonable - if second is not null - and second>prevsecond - and oci is not null - and dual is not null - and oci>=0 and dual >=0 - then - insping; - pingcount += 1; - end if; - if second is not null then - prevsecond := second; - end if; - end loop; - commit; - pingcsv := null; - - printline pingcount " ping times copied to repository"; - - end; -end; - -$else -writeline stderr,"pingcsv2res requires runnumber as argument"; -$endif diff --git a/oltp/runping.rwl b/oltp/runping.rwl deleted file mode 100644 index 0069fed0..00000000 --- a/oltp/runping.rwl +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright (c) 2021 Oracle Corporation -# Licensed under the Universal Permissive License v 1.0 -# as shown at https://oss.oracle.com/licenses/upl/ - -# bengsig 9-feb-2023 - Wrap ociping, dualping with query -# bengsig 25-oct-2022 - External control -# bengsig 2019 - Creation - -# this is called from run.sh to save -# ping rates to a csv file -# -# Call something like this after preparing run -# -# rwloadsim -M prepfile -A 1 -i runperiod:=NNN runping.rwl - -$include:"parameters.rwl" -$if xc_enabled $then - $include:"results.rwl" - $include:"xc_implementation.rwl" -$endif - -# Declare database locally rather than including run_user.rwl - -database rwl_ping - username rwl_run1_username - password rwl_run1_password - connect pool_connect - sessionpool 0..2 ; - -private integer one; - -private file pingcsv; - -private double duping, msping, tim1, tim2, tim3; - -private sql sel1dual - select 1 from dual; - define 1 one; -end; - -private integer rn; -private sql wrapfetch - select rownum from dual connect by rownum<=5; - array 1; - define 1 rn; -end; - -private procedure writeping() - pingcsv >>= resultsdir || subdir || runnumber || "/ping.csv"; - for wrapfetch loop - # Make sure we get a session even with implicit pool - if rn = 4 then - # And now do the real timing - ociping; # To make sure session and all memory is loaded - sel1dual; - # now actually time a ping - tim1 := runseconds(); - ociping; - tim2 := runseconds(); - sel1dual; - tim3 := runseconds(); - end if; - end loop; - msping := 1000 * (tim2-tim1); - duping := 1000 * (tim3-tim2); - fprintf pingcsv, "%.2f %.3f %.3f\n", tim3, msping, duping; - pingcsv := null; -end writeping; - -run - -$if xc_enabled $then - threads 1 at rwloadsim - for every xc_refresh stop runperiod loop - xc_read(0); - if xc_stopnow=1 or xc_stopnow=2 then break; end if; - end loop; - end threads; -$endif - - threads 1 at rwl_ping - for start 1 queue every 2 stop runperiod loop - writeping(); - $if xc_enabled $then if xc_stopnow=1 or xc_stopnow=2 then break; end if; $endif - end loop; - end threads; -end run; diff --git a/oltp/runsys.rwl b/oltp/runsys.rwl index ca1b543c..af6ec356 100644 --- a/oltp/runsys.rwl +++ b/oltp/runsys.rwl @@ -1,7 +1,8 @@ -# Copyright (c) 2021 Oracle Corporation +# Copyright (c) 2017, 2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 23-jul-2024 - ping->connping # bengsig 17-may-2024 - PGA # bengsig 29-apr-2024 - osstat # bengsig 29-sep-2023 - no ashstep if no doawr @@ -147,6 +148,50 @@ procedure savecaches() nostatistics commit; end; +# the connping stuff +database rwl_run_ping + username rwl_run1_username + password rwl_run1_password + connect normal_connect + reconnect; + +double logonend, logonbeg; +double pingend, pingbeg; + +private procedure logonandping() nostatistics + integer rn; + logonend := runseconds(); + for + sql execute + select rownum rn from dual + connect by rownum<=3 + / + define 1 rn; + array 1; + end + loop + if rn=3 then + pingbeg := runseconds(); + ociping; + pingend := runseconds(); + end if; + end loop; +end; + +private procedure saveconnping +( double runsec +, double logontime +, double pingtime +) nostatistics +is + # the previous PING entries used to come from ping.csv via pingcsv2res.rwl + # where it was ms; hence we multiply by 1000 here, but we change the resname + # note that in csvdata, the predicate is resname in ('PING','CONNPING') + insert into sysres(runnumber, resname, second, val3, val1) + values (:runnumber, 'CONNPING', :runsec, 1e3*:logontime, 1e3*:pingtime); + commit; +end; + $if xc_enabled $then private integer threads global awrend_done:=0; $endif @@ -226,6 +271,17 @@ $endif end loop; end threads; + # create a thread that does connping + threads 1 at rwloadsim + for every syssave_interval stop runperiod+syssave_interval loop + logonbeg := runseconds(); + logonandping() at rwl_run_ping; + saveconnping(runseconds(), logonend - logonbeg, pingend - pingbeg); + $if xc_enabled $then if xc_stopnow=1 or xc_stopnow=2 then break; end if; $endif + end loop; + end threads; + + $if !xc_enabled $then # save the buffer cache and shared pool sizes every pool_size_interval # and at end From ebf0a10431ecf8cfe70d15b301282d944e4b9319 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 23 Jul 2024 14:50:18 +0000 Subject: [PATCH 081/118] Fix typo --- docs/refman/netthroughput.html | 8 ++++---- man/man2rwl/netthroughput.2rwl | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/refman/netthroughput.html b/docs/refman/netthroughput.html index e5069c8c..94b34e02 100644 --- a/docs/refman/netthroughput.html +++ b/docs/refman/netthroughput.html @@ -1,5 +1,5 @@ - + @@ -48,7 +48,7 @@

SYNOPSIS

netthroughput --u -l u/p@c [--rampup=N] [--concurrency=N] [--verbosetest] +-l u/p@c [--rampup=N] [--concurrency=N] [--verbosetest] [--interval=N] [--fetcharray=N] [--mbperquery=M] [--period=N] [--csvoutput=file] [--csvappend=file] [--csvexcel]

@@ -247,7 +247,7 @@

EXAMPLE

The example shows the estimated throughput from the database to the -client using 2 concurrent streams is 1.574 logical (and +client using ten concurrent streams is 1.574 logical (and physical) Gigabytes per second.

The following @@ -286,7 +286,7 @@

COPYRIGHT

Copyright -© 2023 Oracle Corporation
+© 2024 Oracle Corporation
Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl

diff --git a/man/man2rwl/netthroughput.2rwl b/man/man2rwl/netthroughput.2rwl index 489ff683..39c0b44e 100644 --- a/man/man2rwl/netthroughput.2rwl +++ b/man/man2rwl/netthroughput.2rwl @@ -2,7 +2,7 @@ .SH NAME netthroughput \- Estimate SQL*Net throughput .SH SYNOPSIS -\fBnetthroughput -u -l u/p@c [--rampup=N] [--concurrency=N] [--verbosetest] [--interval=N] [--fetcharray=N] [--mbperquery=M] [--period=N] [--csvoutput=file] [--csvappend=file] [--csvexcel]\fR +\fBnetthroughput -l u/p@c [--rampup=N] [--concurrency=N] [--verbosetest] [--interval=N] [--fetcharray=N] [--mbperquery=M] [--period=N] [--csvoutput=file] [--csvappend=file] [--csvexcel]\fR .P The netthroughput utility can be used to estimate throughput from a database to the client or application server from which is running. @@ -127,7 +127,7 @@ Throughput estimate 1.574 GB/s logical, 1.574 GB/s physical .PP The example shows the estimated throughput from the database to the client -using 2 concurrent streams is 1.574 logical (and physical) Gigabytes per second. +using ten concurrent streams is 1.574 logical (and physical) Gigabytes per second. .P The following example: .P @@ -152,7 +152,7 @@ the public directory. As a stand alone binary distribution, netthroughput is an executable with the netthroughput.rwl code embedded. .SH COPYRIGHT -Copyright \(co 2023 Oracle Corporation +Copyright \(co 2024 Oracle Corporation .br Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl From a350c051c4f3a8a548c1ea3df9ba4be389bb566c Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 24 Jul 2024 14:10:08 +0000 Subject: [PATCH 082/118] ociping reacts to ctrl-c with nice cleanup --- public/ociping.rwl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/ociping.rwl b/public/ociping.rwl index 4795b08d..b93c998c 100644 --- a/public/ociping.rwl +++ b/public/ociping.rwl @@ -6,6 +6,7 @@ # # History # +# bengsig 24-jul-2024 - Clean up and report nicely after ctrl-c # bengsig 28-feb-2024 - Windows port # bengsig 26-feb-2024 - Use filecommands.rwl include # bengsig 21-feb-2024 - Reduce fetch count if time is really high @@ -244,9 +245,11 @@ $if concurrency is null $then end; end if; + $ora01013:break for queue every interval stop period loop oneping(); end loop; + $ora01013:reset # Print final results if csvoutput != "" then @@ -357,6 +360,8 @@ $else double separation := 0.2; # run the concurrency ociping's + $ora01013:break + $mute:056 run threads concurrency # Thread specific file @@ -383,6 +388,7 @@ $else end threads; end; + $ora01013:reset printline; # now generate the gnuplot input From b694ca966669e949eac698188f6658d6cb0bab81 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 31 Jul 2024 15:04:35 +0000 Subject: [PATCH 083/118] Stepwise workload increase --- oltp/oltp.rwl | 3 +++ oltp/parameters.rwl | 15 +++++++++++++-- oltp/run.rwl | 7 ++++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/oltp/oltp.rwl b/oltp/oltp.rwl index bc02499c..254f3b34 100644 --- a/oltp/oltp.rwl +++ b/oltp/oltp.rwl @@ -359,6 +359,9 @@ rwl_title := "rwl oltp development test"; # As an example, if you uncomment this following line # rategradient := 0.25; # the rate will gradually increase from 75% to 125%. +# If you also set something like +# rategradientstep := 60; +# the increase will be in steps every 60s rather than gradual # If using the oltpforever command to run continously, this parameter # sets the number of processes in oltpforever (and oltpforever2) diff --git a/oltp/parameters.rwl b/oltp/parameters.rwl index a5da395f..56999675 100644 --- a/oltp/parameters.rwl +++ b/oltp/parameters.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 31-jul-2023 - rategradientstep # bengsig 17-jun-2023 - add mtit_partitions parameter # bengsig 23-may-2024 - Fix s24 full scan message # bengsig 26-apr-2024 - gv$osstat @@ -53,6 +54,9 @@ double time_out;# NULL (default) means don't do it otherwise double rategradient; # NULL or 0, same rate through whole run # otherwise multiply ratefactor by 1+gradient*(runseconds()-runperiod/2)/(runperiod/2) +double rategradientstep; +# if not NULL and >= 10 +# replace runseconds() above by rategradientstep * round(runseconds()/rategradientstep) # How many seconds rampump between worker threads double rampfactor := 0.1; @@ -436,6 +440,11 @@ if rategradient is not null then if rategradient > 1.0 then rategradient := 1.0; end if; + if rategradientstep is not null then + if rategradientstep < 10 then + rategradientstep := 10.0; + end if; + end if; end if; @@ -517,8 +526,10 @@ if show_changed_values then if rategradient is not null then double xeqpslo := threadcount * proccount * ratefactor * (1.0-rategradient) / 0.08; double xeqpshi := threadcount * proccount * ratefactor * (1.0+rategradient) / 0.08; - printf "ratefactor=%.2f (%d tps %.fs into run)\nrategradient=%.2f (gradual increase from %.f to %.f tps)\n" - , ratefactor, xeqpsec, halfperiod, rategradient, xeqpslo, xeqpshi; + printf "ratefactor=%.2f (%d tps %.fs into run)\nrategradient=%.2f (%s increase from %.f to %.f tps)\n" + , ratefactor, xeqpsec, halfperiod, rategradient + , (rategradientstep is not null ? "stepwise" : "gradual") + , xeqpslo, xeqpshi; else printline "ratefactor="||ratefactor " (" xeqpsec " tps)"; end if; diff --git a/oltp/run.rwl b/oltp/run.rwl index b7a727b9..20f99bc4 100644 --- a/oltp/run.rwl +++ b/oltp/run.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 31-jul-2023 - rategradientstep # bengsig 22-jul-2024 - Show min/max pool when xc changes # bengsig 26-mar-2024 - cstorm fixes # bengsig 19-mar-2024 - cstorm @@ -366,7 +367,11 @@ $if !simulatebatch $then * (runseconds() between s24beg and s24end ? s24hi : s24lo) $endif $if rategradient is not null $then - * (1.0+rategradient*(runseconds()-halfperiod)/halfperiod) + $if rategradientstep is not null $then + * (1.0+rategradient*(rategradientstep*round(runseconds()/rategradientstep)-halfperiod)/halfperiod) + $else + * (1.0+rategradient*(runseconds()-halfperiod)/halfperiod) + $endif $endif $if defined(burst_function) $then * burst_function(runseconds()) From 0a04ad21db82542cebfd1ebddcc108c482f47c47 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 31 Jul 2024 15:07:12 +0000 Subject: [PATCH 084/118] Document rategradientstep --- docs/refman/oltpsetup.html | 39 ++++++++++++++++++++++---------------- man/man2rwl/oltpsetup.2rwl | 9 +++++++-- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/docs/refman/oltpsetup.html b/docs/refman/oltpsetup.html index 627ad9ef..d5440ae7 100644 --- a/docs/refman/oltpsetup.html +++ b/docs/refman/oltpsetup.html @@ -1,5 +1,5 @@ - + @@ -481,21 +481,28 @@

PARAMETERS CPU seconds per second.

-

rategradient

- -

This is a double value that can -be used to make the overall workload increase gradually -during a run. If the value is 0 (or is unset), the arrival -rate will be constant during the run; this is the default -behavior. If the value is set higher than 0 and at most to -1, the arrival rate will initially be lower than -specified via ratefactor, half way through the run it -will be what ratefactor specifies and at the finish -of the run, it will be higher. Effectively, the rate -will gradually increase from 100*rategradient percent below -normal to 100*rategradient percent above normal. Values -outside the range [0;1] will be adjusted to either 0 or -1.

+

rategradient +
+rategradientstep

+ +

These are double values, and if +the first set set, the overall workload increases gradually +during a run. If the value of rategradient is 0 (or +is unset), the arrival rate will be constant during the run; +this is the default behavior. If the value is set higher +than 0 and at most to 1, the arrival rate will initially be +lower than specified via ratefactor, half way +through the run it will be what ratefactor specifies +and at the finish of the run, it will be higher. +Effectively, the rate will gradually increase from +100*rategradient percent below normal to 100*rategradient +percent above normal. Values outside the range [0;1] will be +adjusted to either 0 or 1.

+ +

If the second +parameter is set to a value of 10 or higher, the increase +will be stepwise rather than gradual and the increase will +take place every rategradientstep seconds.

threadcount

diff --git a/man/man2rwl/oltpsetup.2rwl b/man/man2rwl/oltpsetup.2rwl index 062f86df..8f94958c 100644 --- a/man/man2rwl/oltpsetup.2rwl +++ b/man/man2rwl/oltpsetup.2rwl @@ -329,10 +329,12 @@ You can very approximately assume that with the default value together with the .RE .P \fBrategradient\fR +.br +\fBrategradientstep\fR .RS 4 -This is a double value that can be used to make the overall workload increase gradually during +These are double values, and if the first set set, the overall workload increases gradually during a run. -If the value is 0 (or is unset), the arrival rate will be constant during the run; +If the value of \fBrategradient\fR is 0 (or is unset), the arrival rate will be constant during the run; this is the default behavior. If the value is set higher than 0 and at most to 1, the arrival rate will initially be \fIlower\fR than specified via \fBratefactor\fR, half way through the run it will be @@ -340,6 +342,9 @@ what \fBratefactor\fR specifies and at the finish of the run, it will be \fIhigh Effectively, the rate will gradually increase from 100*rategradient percent below normal to 100*rategradient percent above normal. Values outside the range [0;1] will be adjusted to either 0 or 1. +.P +If the second parameter is set to a value of 10 or higher, the increase will be stepwise +rather than gradual and the increase will take place every \fBrategradientstep\fR seconds. .RE .P \fBthreadcount\fR From 89615d8aec70525a13e8cf3bfbfa47c565a79bc6 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Fri, 9 Aug 2024 08:51:23 +0000 Subject: [PATCH 085/118] Avoid logoff/logon cycle in reconnect database --- docs/refman/directive.html | 104 +- docs/refman/directives.html | 104 +- man/man1rwl/directive.1rwl | 86 +- oltp/tags | 954 +++++++-------- public/ociping.rwl | 4 +- src/lex.rwly.c | 2274 ++++++++++++++++++----------------- src/rwl.h | 4 +- src/rwllexer.l | 16 +- src/rwlsql.c | 83 +- 9 files changed, 1843 insertions(+), 1786 deletions(-) diff --git a/docs/refman/directive.html b/docs/refman/directive.html index 850f04fd..e500d020 100644 --- a/docs/refman/directive.html +++ b/docs/refman/directive.html @@ -1,5 +1,5 @@ - + @@ -428,11 +428,29 @@

DIRECTIVES

$queue:on
-$queue:off

+$queue:off
+$queueeverytiming:on
+$queueeverytiming:off

+ +

The first two directives +control queueing simulation using a backlog in the same way +the -Q and -N options do. The default is that +queueing simulation is off.

-

These have the same effect as -the -Q and -N options; the default is that -queuing simulation using a backlog is off.

+

By default, +whenever you have a control loop with queueing simulation +enabled, the time that is registered for waiting for a +session and saved in the wtime column of the runres and +persec tables, is the time actually spent in the +OCISessionGet() call. However, as the queue every +option is emulating an actual queue, the wait time does not +include the time for the thread to wait in the emulated +queue. If you use the $queueeverytiming:on directive, +this time is included in the waiting time. The waiting time +therefore more correctly represent the waiting time that an +emulated end user would have seen. This is also the case if +your database is dedicated where some execution inside a +control loop starts after the calculated time.

$errortime:on @@ -467,26 +485,6 @@

DIRECTIVES directive in the first file named with a .rwl suffix.

-

$dbfailures:<integer>

- -

If there is a temporary failure -during declaration of a database, rwloadsim will normally -consider the database to be unavailable and not continue -processing. By using this directive, which must be found -before your database declaration, a temporary failure will -cause a re-attempt at creating the database connection. The -integer value of the directive is limit to the number of -connect attempts.

- -

Using this -directive will cause session pool databases to have a -minimum size of at least one.

- -

The list of -errors that are considered temporary is found in -rwlerror.c.

- -

$embeddedqueryarray:<integer>
$embeddeddmlarray:<integer>

@@ -561,26 +559,6 @@

DIRECTIVES of the abort does not change.

-

$queueeverytiming:on -
-$queueeverytiming:off

- -

By default, whenever you have a -control loop that include the queue every option, the -time that is registered for waiting for a session and saved -in the wtime column of the runres and persec tables, is the -time actually spent in the OCISessionGet() call. However, as -the queue every option is emulating an actual queue, -the wait time does not include the time for the thread to -wait in the emulated queue. If you use the -$queueeverytiming:on directive, this time is included -in the waiting time. The waiting time therefore more -correctly represent the waiting time that an emulated end -user would have seen. This is also the case if your database -is dedicated where some execution inside a control loop -starts after the calculated time.

- -

$musymbol:<text>
$musymbolfromstring:stringvar

@@ -649,15 +627,39 @@

DIRECTIVES ~/.rwloadsim.rwl.

-

$connecterror:accept

+

$dbfailures:<integer>

+ +

If there is a temporary failure +during declaration of a database, rwloadsim will normally +consider the database to be unavailable and not continue +processing. By using this directive, which must be found +before your database declaration, a temporary failure will +cause a re-attempt at creating the database connection. The +integer value of the directive is the limit to the number of +connect attempts.

+ +

Using this +directive will cause session pool databases to have a +minimum size of at least one.

+ +

The list of +errors that are considered temporary is found in +rwlerror.c.

+ + +

$connecterror:accept +
+$connecterror:fail

By default, errors during connection marks the database as unavailable, such that -further use of it is prevented. With this directive errors -during connection are handled like any other error. It -should not normally be used as it can have several -unwanted side effects including connection storms and -further errors later on.

+further use of it is prevented. If the first directive is in +effect, errors during connection are handled like any other +error. It should only be used in special cases as it can +have several unwanted side effects including connection +storms and further errors later on. The directive takes +precedence over the $dbfailures directive, and is +reset using the second version.

$useroption:name diff --git a/docs/refman/directives.html b/docs/refman/directives.html index 8f4ae65a..ad11a62d 100644 --- a/docs/refman/directives.html +++ b/docs/refman/directives.html @@ -1,5 +1,5 @@ - + @@ -428,11 +428,29 @@

DIRECTIVES

$queue:on
-$queue:off

+$queue:off
+$queueeverytiming:on
+$queueeverytiming:off

+ +

The first two directives +control queueing simulation using a backlog in the same way +the -Q and -N options do. The default is that +queueing simulation is off.

-

These have the same effect as -the -Q and -N options; the default is that -queuing simulation using a backlog is off.

+

By default, +whenever you have a control loop with queueing simulation +enabled, the time that is registered for waiting for a +session and saved in the wtime column of the runres and +persec tables, is the time actually spent in the +OCISessionGet() call. However, as the queue every +option is emulating an actual queue, the wait time does not +include the time for the thread to wait in the emulated +queue. If you use the $queueeverytiming:on directive, +this time is included in the waiting time. The waiting time +therefore more correctly represent the waiting time that an +emulated end user would have seen. This is also the case if +your database is dedicated where some execution inside a +control loop starts after the calculated time.

$errortime:on @@ -467,26 +485,6 @@

DIRECTIVES directive in the first file named with a .rwl suffix.

-

$dbfailures:<integer>

- -

If there is a temporary failure -during declaration of a database, rwloadsim will normally -consider the database to be unavailable and not continue -processing. By using this directive, which must be found -before your database declaration, a temporary failure will -cause a re-attempt at creating the database connection. The -integer value of the directive is limit to the number of -connect attempts.

- -

Using this -directive will cause session pool databases to have a -minimum size of at least one.

- -

The list of -errors that are considered temporary is found in -rwlerror.c.

- -

$embeddedqueryarray:<integer>
$embeddeddmlarray:<integer>

@@ -561,26 +559,6 @@

DIRECTIVES of the abort does not change.

-

$queueeverytiming:on -
-$queueeverytiming:off

- -

By default, whenever you have a -control loop that include the queue every option, the -time that is registered for waiting for a session and saved -in the wtime column of the runres and persec tables, is the -time actually spent in the OCISessionGet() call. However, as -the queue every option is emulating an actual queue, -the wait time does not include the time for the thread to -wait in the emulated queue. If you use the -$queueeverytiming:on directive, this time is included -in the waiting time. The waiting time therefore more -correctly represent the waiting time that an emulated end -user would have seen. This is also the case if your database -is dedicated where some execution inside a control loop -starts after the calculated time.

- -

$musymbol:<text>
$musymbolfromstring:stringvar

@@ -649,15 +627,39 @@

DIRECTIVES ~/.rwloadsim.rwl.

-

$connecterror:accept

+

$dbfailures:<integer>

+ +

If there is a temporary failure +during declaration of a database, rwloadsim will normally +consider the database to be unavailable and not continue +processing. By using this directive, which must be found +before your database declaration, a temporary failure will +cause a re-attempt at creating the database connection. The +integer value of the directive is the limit to the number of +connect attempts.

+ +

Using this +directive will cause session pool databases to have a +minimum size of at least one.

+ +

The list of +errors that are considered temporary is found in +rwlerror.c.

+ + +

$connecterror:accept +
+$connecterror:fail

By default, errors during connection marks the database as unavailable, such that -further use of it is prevented. With this directive errors -during connection are handled like any other error. It -should not normally be used as it can have several -unwanted side effects including connection storms and -further errors later on.

+further use of it is prevented. If the first directive is in +effect, errors during connection are handled like any other +error. It should only be used in special cases as it can +have several unwanted side effects including connection +storms and further errors later on. The directive takes +precedence over the $dbfailures directive, and is +reset using the second version.

$useroption:name diff --git a/man/man1rwl/directive.1rwl b/man/man1rwl/directive.1rwl index 2b3da9fb..cf7aff64 100644 --- a/man/man1rwl/directive.1rwl +++ b/man/man1rwl/directive.1rwl @@ -368,13 +368,33 @@ to set the maximum number of errors saved (per thread); the default is 50. .B $queue:on .br .B $queue:off +.br +.B $queueeverytiming:on +.br +.B $queueeverytiming:off .RS 4 -These have the same effect as the +The first two directives control queueing simulation using a backlog +in the same way the .B -Q and .B -N -options; -the default is that queuing simulation using a backlog is off. +options do. +The default is that queueing simulation is off. +.P +By default, whenever you have a control loop with queueing simulation enabled, +the time that is registered for waiting for a session and saved in the +wtime column of the runres and persec tables, is the time actually spent in the +OCISessionGet() call. +However, as the \fBqueue every\fR option is emulating an actual queue, the wait +time does not include the time for the thread to wait in the emulated queue. +If you use the \fB$queueeverytiming:on\fR directive, this time is included in the +waiting time. +The waiting time therefore more correctly represent the waiting time that an +emulated end user would have seen. +This is also the case if your database is dedicated where some execution inside +a control loop starts +.I after +the calculated time. .RE .P .B $errortime:on @@ -412,20 +432,6 @@ These are only available in the start-up file or via $longoption directive in the first file named with a .rwl suffix. .RE .P -.B $dbfailures: -.RS 4 -If there is a temporary failure during declaration of a database, rwloadsim will -normally consider the database to be unavailable and not continue processing. -By using this directive, which must be found before your database declaration, -a temporary failure will cause a re-attempt at creating the database connection. -The integer value of the directive is limit to the number of connect attempts. -.P -Using this directive will cause session pool databases to have a minimum size -of at least one. -.P -The list of errors that are considered temporary is found in rwlerror.c. -.RE -.P .B $embeddedqueryarray: .br .B $embeddeddmlarray: @@ -493,27 +499,6 @@ will produce a short warning rather than a comprehensive error. The actual effect of the abort does not change. .RE .P -.RE -.B $queueeverytiming:on -.br -.B $queueeverytiming:off -.RS 4 -By default, whenever you have a control loop that include the \fBqueue every\fR -option, the time that is registered for waiting for a session and saved in the -wtime column of the runres and persec tables, is the time actually spent in the -OCISessionGet() call. -However, as the \fBqueue every\fR option is emulating an actual queue, the wait -time does not include the time for the thread to wait in the emulated queue. -If you use the \fB$queueeverytiming:on\fR directive, this time is included in the -waiting time. -The waiting time therefore more correctly represent the waiting time that an -emulated end user would have seen. -This is also the case if your database is dedicated where some execution inside -a control loop starts -.I after -the calculated time. -.RE -.P .B $musymbol: .br .B $musymbolfromstring:stringvar @@ -572,15 +557,32 @@ In earlier client versions, the directive is silently ignored. The directive is only available in a start-up file such as ~/.rwloadsim.rwl. .RE .P +.B $dbfailures: +.RS 4 +If there is a temporary failure during declaration of a database, rwloadsim will +normally consider the database to be unavailable and not continue processing. +By using this directive, which must be found before your database declaration, +a temporary failure will cause a re-attempt at creating the database connection. +The integer value of the directive is the limit to the number of connect attempts. +.P +Using this directive will cause session pool databases to have a minimum size +of at least one. +.P +The list of errors that are considered temporary is found in rwlerror.c. +.RE +.P .B $connecterror:accept +.br +.B $connecterror:fail .RS 4 By default, errors during connection marks the database as unavailable, such that further use of it is prevented. -With this directive errors during connection are handled like any other error. -It should -.I not -normally be used as it can have several unwanted side effects including connection storms +If the first directive is in effect, errors during connection are handled like any other error. +It should only +be used in special cases as it can have several unwanted side effects including connection storms and further errors later on. +The directive takes precedence over the \fB$dbfailures\fR directive, +and is reset using the second version. .RE .P .B $useroption:name diff --git a/oltp/tags b/oltp/tags index d85a4874..e3623bd7 100644 --- a/oltp/tags +++ b/oltp/tags @@ -27,83 +27,83 @@ a8sum col_averages.rwl 26 a9 col_averages.rwl 18 a9cnt col_averages.rwl 36 a9sum col_averages.rwl 27 -above3 csvdata.rwl 791 -aburst_post_factor parameters.rwl 185 -aburst_pre_factor parameters.rwl 184 -aburst_start parameters.rwl 186 -aburst_workers parameters.rwl 183 -actbatch csvdata.rwl 265 +above3 csvdata.rwl 809 +aburst_post_factor parameters.rwl 189 +aburst_pre_factor parameters.rwl 188 +aburst_start parameters.rwl 190 +aburst_workers parameters.rwl 187 +actbatch csvdata.rwl 283 actbatch mtitrun.rwl 83 -actbatch run.rwl 561 -action runsys.rwl 52 +actbatch run.rwl 570 +action runsys.rwl 53 activeses plotfigures.rwl 56 -actpool csvdata.rwl 265 +actpool csvdata.rwl 283 actpool mtitrun.rwl 83 -actpool run.rwl 561 +actpool run.rwl 570 add_inventory oe_handle_products.rwl 57 affinity xcchange.rwl 44 affinratio mtit_declarations.rwl 220 -ai_atim csvdata.rwl 433 +ai_atim csvdata.rwl 451 ai_cnt plotrunwetim.rwl 45 -ai_dtim csvdata.rwl 433 +ai_dtim csvdata.rwl 451 ai_et plotrunwetim.rwl 45 -ai_exec csvdata.rwl 431 -ai_sleep_avg parameters.rwl 361 -ai_sleep_fac parameters.rwl 365 -ai_wait csvdata.rwl 431 +ai_exec csvdata.rwl 449 +ai_sleep_avg parameters.rwl 365 +ai_sleep_fac parameters.rwl 369 +ai_wait csvdata.rwl 449 ai_wt plotrunwetim.rwl 45 al1 oe_fillcustomers.rwl 11 al2 oe_fillcustomers.rwl 11 al3 oe_fillcustomers.rwl 11 aosecond plotfigures.rwl 56 approxsize aw_cols.rwl 214 -ashcpu csvdata.rwl 579 +ashcpu csvdata.rwl 597 ashcpu csvmtit.rwl 318 -ashcsv csvdata.rwl 584 +ashcsv csvdata.rwl 602 ashcsv csvmtit.rwl 323 -ashcsvcount csvdata.rwl 665 +ashcsvcount csvdata.rwl 683 ashcsvcount csvmtit.rwl 404 -ashevents csvdata.rwl 615 +ashevents csvdata.rwl 633 ashevents csvmtit.rwl 354 ashstep1 ashstep1.rwl 31 -atime plotinfo.rwl 22 +atime plotinfo.rwl 23 avga csvmtit.rwl 274 avgd csvmtit.rwl 274 avge csvmtit.rwl 274 avgw histdata.rwl 89 avgw scalefract.rwl 33 -aw_atim csvdata.rwl 433 -aw_cols_256MB_doublings parameters.rwl 148 +aw_atim csvdata.rwl 451 +aw_cols_256MB_doublings parameters.rwl 152 aw_cols_dbl aw_cols.rwl 19 aw_cols_mb_qry aw_cols.rwl 236 -aw_cols_query_factor parameters.rwl 157 +aw_cols_query_factor parameters.rwl 161 aw_cols_size aw_cols.rwl 235 aw_cols_size aw_sizeinfo.rwl 17 -aw_cols_skew parameters.rwl 155 -aw_dtim csvdata.rwl 433 -aw_exec csvdata.rwl 431 +aw_cols_skew parameters.rwl 159 +aw_dtim csvdata.rwl 451 +aw_exec csvdata.rwl 449 aw_instances aw_declarations.rwl 123 -aw_instances parameters.rwl 168 +aw_instances parameters.rwl 172 aw_myinst aw_declarations.rwl 125 -aw_sleep_avg parameters.rwl 361 -aw_sleep_fac parameters.rwl 364 +aw_sleep_avg parameters.rwl 365 +aw_sleep_fac parameters.rwl 368 aw_stats aw_cols.rwl 228 aw_transaction aw_declarations.rwl 131 -aw_transaction_weight parameters.rwl 113 +aw_transaction_weight parameters.rwl 117 aw_transactions_made aw_declarations.rwl 22 aw_truncate aw_truncate.rwl 13 -aw_verbose parameters.rwl 161 -aw_wait csvdata.rwl 431 +aw_verbose parameters.rwl 165 +aw_wait csvdata.rwl 449 awc_parallel aw_cols.rwl 189 awindex_query aw_declarations.rwl 324 -awindex_query_weight parameters.rwl 114 +awindex_query_weight parameters.rwl 118 awlen aw_declarations.rwl 322 awqry aw_declarations.rwl 333 -awrbb_tim runsys.rwl 182 -awrbe_tim runsys.rwl 182 -awrdirectory parameters.rwl 279 -awreb_tim runsys.rwl 182 -awree_tim runsys.rwl 182 +awrbb_tim runsys.rwl 227 +awrbe_tim runsys.rwl 227 +awrdirectory parameters.rwl 283 +awreb_tim runsys.rwl 227 +awree_tim runsys.rwl 227 awrinfo oltpawr.rwl 112 awrinfo oltpawr.rwl 99 awrline oltpawr.rwl 55 @@ -115,35 +115,35 @@ b_rwnum aw_declarations.rwl 25 b_tokid aw_declarations.rwl 24 b_val aw_declarations.rwl 27 badplan xcchange.rwl 29 -batch_connect parameters.rwl 300 -batch_type parameters.rwl 301 -bb csvdata.rwl 182 +batch_connect parameters.rwl 304 +batch_type parameters.rwl 305 +bb csvdata.rwl 184 bb csvmtit.rwl 157 bb oltpawr.rwl 228 -be csvdata.rwl 182 +be csvdata.rwl 184 be csvmtit.rwl 157 be oltpawr.rwl 228 begawrsql oltpawr.rwl 26 beginawr oltpawr.rwl 85 begsnap oltpawr.rwl 19 -begtime cstorm_implementation.rwl 57 -begtime csvdata.rwl 789 -bgcpu csvdata.rwl 105 +begtime cstorm_implementation.rwl 59 +begtime csvdata.rwl 807 +bgcpu csvdata.rwl 107 bgcpu csvmtit.rwl 83 bgcpu plotfigures.rwl 87 bgcpu timemodel.rwl 111 -bt cstorm_implementation.rwl 46 -btim cstorm_implementation.rwl 76 +bt cstorm_implementation.rwl 48 +btim cstorm_implementation.rwl 79 bucktim histdata.rwl 30 -burst_factor parameters.rwl 174 -burst_length parameters.rwl 173 -burst_repeat parameters.rwl 175 -burst_start parameters.rwl 172 +burst_factor parameters.rwl 178 +burst_length parameters.rwl 177 +burst_repeat parameters.rwl 179 +burst_start parameters.rwl 176 c aw_declarations.rwl 328 -calf csvdata.rwl 280 +calf csvdata.rwl 298 call_failure run_user.rwl 17 -call_real run.rwl 122 -call_real_or_timeout run.rwl 139 +call_real run.rwl 124 +call_real_or_timeout run.rwl 141 can_ship oe_handle_orders.rwl 498 category_id oe_handle_products.rwl 21 ccnt oe_fillcustomers.rwl 15 @@ -155,9 +155,9 @@ cliaft timemodel.rwl 112 clibef timemodel.rwl 112 clientepoch checkepoch.rwl 20 clim oe_fillcustomers.rwl 12 -clisys csvdata.rwl 264 +clisys csvdata.rwl 282 clisys csvmtit.rwl 222 -cliusr csvdata.rwl 264 +cliusr csvdata.rwl 282 cliusr csvmtit.rwl 222 clo aw_declarations.rwl 327 cnt aw_cols.rwl 210 @@ -186,10 +186,11 @@ cntl oe_handle_orders.rwl 694 comment aw_cols.rwl 29 complex_count oe_handle_orders.rwl 686 complex_query oe_handle_orders.rwl 688 -complex_query_weight parameters.rwl 111 +complex_query_weight parameters.rwl 115 complex_sum oe_handle_orders.rwl 685 con oltp.rwl 41 cone aw_declarations.rwl 327 +conntime csvdata.rwl 268 could_not_ship oe_handle_orders.rwl 378 count1 histdata.rwl 30 count1 plotruntp.rwl 43 @@ -207,48 +208,48 @@ count7 histdata.rwl 30 count7 plotruntp.rwl 43 count8 histdata.rwl 30 count8 plotruntp.rwl 43 -countentries csvdata.rwl 100 +countentries csvdata.rwl 102 countentries csvmtit.rwl 78 countres plotfigures.rwl 28 country oe_fillcustomers.rwl 42 cpusec xcchange.rwl 30 -cq_atim csvdata.rwl 433 -cq_dtim csvdata.rwl 432 -cq_exec csvdata.rwl 430 -cq_wait csvdata.rwl 431 +cq_atim csvdata.rwl 451 +cq_dtim csvdata.rwl 450 +cq_exec csvdata.rwl 448 +cq_wait csvdata.rwl 449 create_aw_cols aw_cols.rwl 55 create_aw_seq aw_cols.rwl 51 -cruser_connect parameters.rwl 285 -cruser_password parameters.rwl 287 +cruser_connect parameters.rwl 289 +cruser_password parameters.rwl 291 cruser_username command line 1 -cruser_username parameters.rwl 286 +cruser_username parameters.rwl 290 cruserdb cruserdb.rwl 8 -cstorm_period parameters.rwl 234 -cstorm_start parameters.rwl 233 -cstorm_threads parameters.rwl 232 -cstorm_xtra_logons parameters.rwl 235 -cstorm_xtra_period parameters.rwl 238 -cstorm_xtra_rate parameters.rwl 236 -cstorm_xtra_start parameters.rwl 237 -csvline csvdata.rwl 574 +cstorm_period parameters.rwl 238 +cstorm_start parameters.rwl 237 +cstorm_threads parameters.rwl 236 +cstorm_xtra_logons parameters.rwl 239 +cstorm_xtra_period parameters.rwl 242 +cstorm_xtra_rate parameters.rwl 240 +cstorm_xtra_start parameters.rwl 241 +csvline csvdata.rwl 592 csvline csvmtit.rwl 17 csvname scalefract.rwl 21 ctwo aw_declarations.rwl 327 -cursor_cache_size parameters.rwl 69 +cursor_cache_size parameters.rwl 73 cursorleak xcchange.rwl 23 customer_id oe_handle_orders.rwl 383 customer_id oe_handle_orders.rwl 623 customer_id oe_handle_orders.rwl 752 customer_id oe_handle_orders.rwl 83 -d csvdata.rwl 631 +d csvdata.rwl 649 d csvmtit.rwl 370 d_fill aw_declarations.rwl 28 d_rwnum aw_declarations.rwl 25 d_tokid aw_declarations.rwl 24 d_val aw_declarations.rwl 27 -datediff csvdata.rwl 56 +datediff csvdata.rwl 58 datediff csvmtit.rwl 34 -dbcpu csvdata.rwl 105 +dbcpu csvdata.rwl 107 dbcpu csvmtit.rwl 83 dbcpu plotfigures.rwl 87 dbcpu timemodel.rwl 109 @@ -258,7 +259,7 @@ dbid oltpawr.rwl 19 dbl aw_cols.rwl 210 dbname prepare.rwl 76 dbtim timemodel.rwl 110 -dbtime csvdata.rwl 105 +dbtime csvdata.rwl 107 dbtime csvmtit.rwl 83 dbtime plotfigures.rwl 87 dbtimesum plotfigures.rwl 22 @@ -267,52 +268,51 @@ ddl aw_cols.rwl 29 ddl create_schemas.rwl 19 ddl drop_schemas.rwl 15 debug_products oe_handle_products.rwl 12 -default_tablespace parameters.rwl 291 -delay_length parameters.rwl 190 -delay_max_pool parameters.rwl 193 -delay_min_pool parameters.rwl 192 -delay_start parameters.rwl 191 +default_tablespace parameters.rwl 295 +delay_length parameters.rwl 194 +delay_max_pool parameters.rwl 197 +delay_min_pool parameters.rwl 196 +delay_start parameters.rwl 195 deltmpitem oepartalloc.rwl 43 deltmpord oepartalloc.rwl 37 descl oe_handle_orders.rwl 752 dfac mtit_create.rwl 129 disable_bloom oltpawr.rwl 48 -dist_count runsys.rwl 50 -dist_inst runsys.rwl 50 -dist_usrn runsys.rwl 51 +dist_count runsys.rwl 51 +dist_inst runsys.rwl 51 +dist_usrn runsys.rwl 52 do_hardparse oe_handle_orders.rwl 194 -doawr parameters.rwl 227 -doeither run.rwl 153 -dontdo_batch1 parameters.rwl 425 -dontdo_batch2 parameters.rwl 426 -dontdo_batch3 parameters.rwl 427 -dontdo_batch4 parameters.rwl 428 -dontdolong parameters.rwl 98 -doociping run.rwl 264 -doosstat parameters.rwl 229 +doawr parameters.rwl 231 +doeither run.rwl 155 +dontdo_batch1 parameters.rwl 429 +dontdo_batch2 parameters.rwl 430 +dontdo_batch3 parameters.rwl 431 +dontdo_batch4 parameters.rwl 432 +dontdolong parameters.rwl 102 +doociping run.rwl 266 +doosstat parameters.rwl 233 drop_aw_cols aw_cols.rwl 41 drop_aw_seq aw_cols.rwl 46 dropuser drop_schemas.rwl 13 -dtime plotinfo.rwl 22 -duping runping.rwl 34 +dtime plotinfo.rwl 23 eatcpu eatcpu.rwl 9 -eb csvdata.rwl 182 +eb csvdata.rwl 184 eb csvmtit.rwl 157 eb oltpawr.rwl 228 ecount ashstep1.rwl 34 -ee csvdata.rwl 182 +ee csvdata.rwl 184 ee csvmtit.rwl 157 ee oltpawr.rwl 228 email oe_fillcustomers.rwl 13 -end1 csvdata.rwl 789 -end2 csvdata.rwl 789 -end3 csvdata.rwl 789 +end1 csvdata.rwl 807 +end2 csvdata.rwl 807 +end3 csvdata.rwl 807 endawr oltpawr.rwl 93 endawrsql oltpawr.rwl 39 endsnap oltpawr.rwl 19 -endt csvdata.rwl 789 -endtime cstorm_implementation.rwl 58 -endtime csvdata.rwl 789 +endt csvdata.rwl 807 +endtime cstorm_implementation.rwl 60 +endtime csvdata.rwl 807 entries csvmtit.rwl 301 entries mtitplotwe.rwl 28 entries plotfigures.rwl 29 @@ -320,36 +320,36 @@ entries plotruntp.rwl 25 entries plotrunwetim.rwl 25 enum ashstep1.rwl 51 envline kommentops.rwl 18 -err1 csvdata.rwl 793 -err2 csvdata.rwl 793 -err3 csvdata.rwl 793 -errcnt csvdata.rwl 791 -errnum cstorm_implementation.rwl 60 -errnum csvdata.rwl 790 -errt csvdata.rwl 793 -errtxt cstorm_implementation.rwl 61 -errtxt csvdata.rwl 792 -esum csvdata.rwl 581 +err1 csvdata.rwl 811 +err2 csvdata.rwl 811 +err3 csvdata.rwl 811 +errcnt csvdata.rwl 809 +errnum cstorm_implementation.rwl 63 +errnum csvdata.rwl 808 +errt csvdata.rwl 811 +errtxt cstorm_implementation.rwl 64 +errtxt csvdata.rwl 810 +esum csvdata.rwl 599 esum csvmtit.rwl 320 event ashstep1.rwl 33 -event csvdata.rwl 607 +event csvdata.rwl 625 event csvmtit.rwl 346 everyuntil "program startup" 0 evgroup ashstep1.rwl 36 extrapct aw_declarations.rwl 120 fail_cnt plotrunwetim.rwl 46 -failcount plotinfo.rwl 42 -fgcount plotinfo.rwl 42 +failcount plotinfo.rwl 43 +fgcount plotinfo.rwl 43 filnam x2range.rwl 24 finishtime prepare.rwl 21 first1530 aw_cols.rwl 83 first_instances oerhtmlday.rwl 25 -fix_cursorleak parameters.rwl 341 -fix_hardparse parameters.rwl 340 -fix_logoffrate parameters.rwl 342 +fix_cursorleak parameters.rwl 345 +fix_hardparse parameters.rwl 344 +fix_logoffrate parameters.rwl 346 fna oe_fillcustomers.rwl 9 -forever_proccount parameters.rwl 81 -forg plotinfo.rwl 41 +forever_proccount parameters.rwl 85 +forg plotinfo.rwl 42 found kommentops.rwl 17 fulldate checkepoch.rwl 18 fulldir kommentops.rwl 20 @@ -367,60 +367,60 @@ getawrglobal oltpawr.rwl 74 getawrhtml oltpawr.rwl 66 getawrtext oltpawr.rwl 58 getdbname prepare.rwl 78 -getpoolsizes runsys.rwl 95 +getpoolsizes runsys.rwl 96 getrdate prepare.rwl 29 getres_sql csvmtit.rwl 234 getres_sql mtitplotwe.rwl 43 getres_sql plotrunwetim.rwl 48 -globalawr parameters.rwl 228 -gnuplotjs parameters.rwl 270 -goodcount plotinfo.rwl 42 -grab_session run.rwl 134 +globalawr parameters.rwl 232 +gnuplotjs parameters.rwl 274 +goodcount plotinfo.rwl 43 +grab_session run.rwl 136 grp check_directories.rwl 10 hadit oerhtmlday.rwl 92 -halfperiod parameters.rwl 431 +halfperiod parameters.rwl 435 hardparse xcchange.rwl 26 -heartbeat run.rwl 256 -highcount csvdata.rwl 667 +heartbeat run.rwl 258 +highcount csvdata.rwl 685 highcount csvmtit.rwl 406 highinst csvmtit.rwl 471 histrow histdata.rwl 71 htmlformat mtit_showparam.rwl 9 -htmlline csvdata.rwl 764 +htmlline csvdata.rwl 782 htmlxtra oltpawr.rwl 81 htmlxtrawrap oltpawr.rwl 82 human parameters2shell.rwl 25 i ../public/ovid2.rwl 7077 i aw_cols.rwl 210 -i1 csvdata.rwl 242 +i1 csvdata.rwl 244 i1 csvmtit.rwl 200 i1 instdist.rwl 12 i1 oerhtmlday.rwl 17 -i2 csvdata.rwl 242 +i2 csvdata.rwl 244 i2 csvmtit.rwl 200 i2 instdist.rwl 12 i2 oerhtmlday.rwl 17 -i3 csvdata.rwl 242 +i3 csvdata.rwl 244 i3 csvmtit.rwl 200 i3 instdist.rwl 12 i3 oerhtmlday.rwl 17 -i4 csvdata.rwl 242 +i4 csvdata.rwl 244 i4 csvmtit.rwl 200 i4 instdist.rwl 12 i4 oerhtmlday.rwl 17 -i5 csvdata.rwl 242 +i5 csvdata.rwl 244 i5 csvmtit.rwl 200 i5 instdist.rwl 12 i5 oerhtmlday.rwl 17 -i6 csvdata.rwl 242 +i6 csvdata.rwl 244 i6 csvmtit.rwl 200 i6 instdist.rwl 12 i6 oerhtmlday.rwl 17 -i7 csvdata.rwl 242 +i7 csvdata.rwl 244 i7 csvmtit.rwl 200 i7 instdist.rwl 12 i7 oerhtmlday.rwl 17 -i8 csvdata.rwl 242 +i8 csvdata.rwl 244 i8 csvmtit.rwl 200 i8 instdist.rwl 12 i8 oerhtmlday.rwl 17 @@ -432,8 +432,8 @@ ientries plotruntp.rwl 25 ientries plotrunwetim.rwl 25 ignore_parsefailure xcchange.rwl 28 iii mtit_declarations.rwl 220 -inacdist runsys.rwl 46 -inacdistfile runsys.rwl 42 +inacdist runsys.rwl 47 +inacdistfile runsys.rwl 43 index_name mtit_create.rwl 24 input col_averages.rwl 17 ins_awrtim oltpawr.rwl 232 @@ -448,9 +448,9 @@ ins_xin_sql aw_declarations.rwl 86 ins_xtr_sql aw_declarations.rwl 104 insevname ashstep1.rwl 53 insinv oe_fillwarehouses.rwl 36 -inspoolsizes runsys.rwl 131 +inspoolsizes runsys.rwl 132 insrwlcpu mtitrun.rwl 86 -insrwlcpu run.rwl 564 +insrwlcpu run.rwl 573 inst oerhtml.rwl 17 inst1 plotfigures.rwl 71 inst2 plotfigures.rwl 71 @@ -460,7 +460,7 @@ inst5 plotfigures.rwl 71 inst6 plotfigures.rwl 71 inst7 plotfigures.rwl 71 inst8 plotfigures.rwl 71 -inst_dist_sql runsys.rwl 53 +inst_dist_sql runsys.rwl 54 instdist_get instdist.rwl 14 instdist_qry instdist.rwl 18 instdist_sav instdist.rwl 47 @@ -473,7 +473,7 @@ inum instdist.rwl 16 inv_rowid oe_handle_orders.rwl 450 inv_rowid oe_handle_products.rwl 63 invoices_made oe_handle_orders.rwl 621 -ioer csvdata.rwl 501 +ioer csvdata.rwl 519 isecond plotfigures.rwl 71 isgood check_directories.rwl 14 isys1 timemodel.rwl 244 @@ -496,84 +496,84 @@ iusr8 timemodel.rwl 243 key check_for_key.rwl 12 key oerhtmlday.rwl 11 key scalefract.rwl 16 -key_to_show parameters.rwl 40 +key_to_show parameters.rwl 41 keyring_password oltp.rwl 41 -killmsg xc_implementation.rwl 310 +killmsg xc_implementation.rwl 323 kom check_for_key.rwl 15 komment kommentops.rwl 18 komment oerhtmlday.rwl 11 l ../public/ovid2.rwl 7090 -l_afty xc_implementation.rwl 52 +l_afty xc_implementation.rwl 61 l_afty xcdefault.rwl 20 l_afty xcvalues.rwl 30 -l_arrs xc_implementation.rwl 54 +l_arrs xc_implementation.rwl 63 l_arrs xcdefault.rwl 22 l_arrs xcvalues.rwl 32 -l_badp xc_implementation.rwl 52 +l_badp xc_implementation.rwl 61 l_badp xcdefault.rwl 20 l_badp xcvalues.rwl 30 -l_ccch xc_implementation.rwl 53 +l_ccch xc_implementation.rwl 62 l_ccch xcdefault.rwl 21 l_ccch xcvalues.rwl 31 -l_csec xc_implementation.rwl 52 +l_csec xc_implementation.rwl 61 l_csec xcdefault.rwl 20 l_csec xcvalues.rwl 30 -l_curl xc_implementation.rwl 52 +l_curl xc_implementation.rwl 61 l_curl xcdefault.rwl 20 l_curl xcvalues.rwl 30 -l_hard xc_implementation.rwl 52 +l_hard xc_implementation.rwl 61 l_hard xcdefault.rwl 20 l_hard xcvalues.rwl 30 -l_igpf xc_implementation.rwl 55 +l_igpf xc_implementation.rwl 64 l_igpf xcdefault.rwl 23 l_igpf xcvalues.rwl 33 -l_key xc_implementation.rwl 250 -l_load xc_implementation.rwl 52 +l_key xc_implementation.rwl 263 +l_load xc_implementation.rwl 61 l_load xcdefault.rwl 20 l_load xcvalues.rwl 30 -l_lofr xc_implementation.rwl 52 +l_lofr xc_implementation.rwl 61 l_lofr xcdefault.rwl 20 l_lofr xcvalues.rwl 30 -l_maxp xc_implementation.rwl 53 +l_maxp xc_implementation.rwl 62 l_maxp xcdefault.rwl 21 l_maxp xcvalues.rwl 31 -l_minp xc_implementation.rwl 53 +l_minp xc_implementation.rwl 62 l_minp xcdefault.rwl 21 l_minp xcvalues.rwl 31 -l_mtty xc_implementation.rwl 54 +l_mtty xc_implementation.rwl 63 l_mtty xcdefault.rwl 22 l_mtty xcvalues.rwl 32 l_npoo xcvalues.rwl 32 l_pcnt xcdefault.rwl 22 l_pcnt xcvalues.rwl 32 -l_pfail xc_implementation.rwl 52 +l_pfail xc_implementation.rwl 61 l_pfail xcdefault.rwl 20 l_pfail xcvalues.rwl 30 l_price oe_long_session.rwl 12 -l_rate xc_implementation.rwl 52 +l_rate xc_implementation.rwl 61 l_rate xcdefault.rwl 20 l_rate xcvalues.rwl 30 -l_rc xc_implementation.rwl 56 -l_rpin xc_implementation.rwl 54 +l_rc xc_implementation.rwl 65 +l_rpin xc_implementation.rwl 63 l_rpin xcdefault.rwl 22 l_rpin xcvalues.rwl 32 -l_sesl xc_implementation.rwl 52 +l_sesl xc_implementation.rwl 61 l_sesl xcdefault.rwl 20 l_sesl xcvalues.rwl 30 -l_stop xc_implementation.rwl 53 +l_stop xc_implementation.rwl 62 l_stop xcdefault.rwl 21 l_stop xcvalues.rwl 31 -l_wsec xc_implementation.rwl 52 +l_wsec xc_implementation.rwl 61 l_wsec xcdefault.rwl 20 l_wsec xcvalues.rwl 30 -largeashok parameters.rwl 253 +largeashok parameters.rwl 257 lastsec mtitrun.rwl 81 -lastsec run.rwl 559 +lastsec run.rwl 568 lastsys mtitrun.rwl 81 -lastsys run.rwl 559 +lastsys run.rwl 568 lastusr mtitrun.rwl 81 -lastusr run.rwl 559 -lc csvdata.rwl 631 +lastusr run.rwl 568 +lc csvdata.rwl 649 lc csvmtit.rwl 370 lcsec xcdefault.rwl 20 leaf_blocks mtit_create.rwl 144 @@ -588,40 +588,46 @@ list_price oe_handle_products.rwl 22 lna oe_fillcustomers.rwl 10 loadfactor xcchange.rwl 22 loc oe_fillwarehouses.rwl 9 +logoffdone cstorm_implementation.rwl 38 +logoffdone cstorm_implementation.rwl 79 logoffrate xcchange.rwl 38 -logofftime cstorm_implementation.rwl 36 -logonend cstorm_implementation.rwl 35 +logofftime cstorm_implementation.rwl 37 +logonandping runsys.rwl 161 +logonbeg runsys.rwl 158 +logonend cstorm_implementation.rwl 36 +logonend runsys.rwl 158 +logontime runsys.rwl 183 longdeddml oe_long_session.rwl 70 longdedqry oe_long_session.rwl 60 longpooldml oe_long_session.rwl 65 longpoolqry oe_long_session.rwl 55 longsession oe_long_session.rwl 9 -lowtime csvdata.rwl 789 +lowtime csvdata.rwl 807 lpri oe_fillproducts.rwl 13 m_price oe_long_session.rwl 12 make_invoices oe_handle_orders.rwl 623 make_order oe_handle_orders.rwl 83 makeawr oltpawr.rwl 223 -makeinvoices run.rwl 87 -makeinvoices_weight parameters.rwl 110 -makeorder run.rwl 83 -makeorder_weight parameters.rwl 107 -markerfile csvdata.rwl 40 +makeinvoices run.rwl 89 +makeinvoices_weight parameters.rwl 114 +makeorder run.rwl 85 +makeorder_weight parameters.rwl 111 +markerfile csvdata.rwl 42 markerfile csvmtit.rwl 19 markerfile mtitrun.rwl 25 -markerfile run.rwl 77 -markerfile xc_implementation.rwl 31 -markrunning run.rwl 268 -max_customer parameters.rwl 126 +markerfile run.rwl 79 +markerfile xc_implementation.rwl 32 +markrunning run.rwl 270 +max_customer parameters.rwl 130 max_item oe_handle_orders.rwl 207 max_order_id oe_handle_orders.rwl 24 max_order_ship oe_handle_orders.rwl 25 -max_product parameters.rwl 125 -max_sessionwait parameters.rwl 66 -max_warehouse parameters.rwl 124 -maxactpool csvdata.rwl 324 -maxdbcpu csvdata.rwl 99 -maxesum csvdata.rwl 582 +max_product parameters.rwl 129 +max_sessionwait parameters.rwl 70 +max_warehouse parameters.rwl 128 +maxactpool csvdata.rwl 342 +maxdbcpu csvdata.rwl 101 +maxesum csvdata.rwl 600 maxesum csvmtit.rwl 321 maxl ../public/ovid2.rwl 7085 maxo oe_handle_orders.rwl 556 @@ -629,21 +635,22 @@ maxpool xcchange.rwl 33 maxseq mtit_declarations.rwl 220 maxsessions aw_declarations.rwl 115 maxsql oe_handle_orders.rwl 41 -maxtot run.rwl 224 -maxtot runsys.rwl 40 -maxyrange csvdata.rwl 221 +maxtot run.rwl 226 +maxtot runsys.rwl 41 +maxyrange csvdata.rwl 223 maxyrange csvmtit.rwl 184 -mf xc_implementation.rwl 44 -mfil csvdata.rwl 154 +mf xc_implementation.rwl 45 +mfil csvdata.rwl 156 mfil csvmtit.rwl 129 -mi_atim csvdata.rwl 432 -mi_dtim csvdata.rwl 432 -mi_exec csvdata.rwl 430 -mi_wait csvdata.rwl 430 +mi_atim csvdata.rwl 450 +mi_dtim csvdata.rwl 450 +mi_exec csvdata.rwl 448 +mi_wait csvdata.rwl 448 min_order_id oe_handle_orders.rwl 24 min_order_query oe_handle_orders.rwl 26 min_order_ship oe_handle_orders.rwl 25 min_price oe_handle_orders.rwl 135 +minofftime csvdata.rwl 862 minpool xcchange.rwl 32 minsec mtitplotwe.rwl 27 minsec plotfigures.rwl 27 @@ -651,31 +658,30 @@ minsec plotruntp.rwl 24 minsec plotrunwetim.rwl 24 minsql oe_handle_orders.rwl 34 mkuser create_schemas.rwl 17 -mo_atim csvdata.rwl 432 +mo_atim csvdata.rwl 450 mo_cnt plotrunwetim.rwl 43 -mo_dtim csvdata.rwl 432 +mo_dtim csvdata.rwl 450 mo_et plotrunwetim.rwl 43 -mo_exec csvdata.rwl 430 -mo_sleep_avg parameters.rwl 361 -mo_sleep_fac parameters.rwl 362 -mo_wait csvdata.rwl 430 +mo_exec csvdata.rwl 448 +mo_sleep_avg parameters.rwl 365 +mo_sleep_fac parameters.rwl 366 +mo_wait csvdata.rwl 448 mo_wt plotrunwetim.rwl 43 mpri oe_fillproducts.rwl 14 -mrkleft run.rwl 197 -mrklen run.rwl 197 -msec csvdata.rwl 153 +mrkleft run.rwl 199 +mrklen run.rwl 199 +msec csvdata.rwl 155 msec csvmtit.rwl 128 msg run_user.rwl 17 -msping csvdata.rwl 105 +msping csvdata.rwl 107 msping csvmtit.rwl 83 msping plotfigures.rwl 87 -msping runping.rwl 34 msping timemodel.rwl 112 -mtim csvdata.rwl 152 +mtim csvdata.rwl 154 mtim csvmtit.rwl 127 mtit xcvalues.rwl 23 -mtit_affinity parameters.rwl 374 -mtit_array_size parameters.rwl 372 +mtit_affinity parameters.rwl 378 +mtit_array_size parameters.rwl 376 mtit_count_ins_rows mtit_declarations.rwl 81 mtit_get_seq mtit_declarations.rwl 149 mtit_initialize mtit_declarations.rwl 70 @@ -683,25 +689,25 @@ mtit_ins_rows mtit_declarations.rwl 141 mtit_ins_sql mtit_declarations.rwl 153 mtit_instance mtit_declarations.rwl 69 mtit_max_payload mtit_declarations.rwl 67 -mtit_partitions parameters.rwl 378 -mtit_rev_double parameters.rwl 377 -mtit_rows_per_exec parameters.rwl 371 +mtit_partitions parameters.rwl 382 +mtit_rev_double parameters.rwl 381 +mtit_rows_per_exec parameters.rwl 375 mtit_seq mtit_declarations.rwl 85 mtit_set_type mtit_declarations.rwl 87 mtit_tab mtit_declarations.rwl 85 -mtit_threads parameters.rwl 370 -mtit_type parameters.rwl 373 -mtit_type_text parameters.rwl 379 -mtit_xc parameters.rwl 376 +mtit_threads parameters.rwl 374 +mtit_type parameters.rwl 377 +mtit_type_text parameters.rwl 383 +mtit_xc parameters.rwl 380 mtittype xcchange.rwl 41 -mtxt csvdata.rwl 152 +mtxt csvdata.rwl 154 mtxt csvmtit.rwl 127 -mtyp csvdata.rwl 152 +mtyp csvdata.rwl 154 mtyp csvmtit.rwl 127 my_loop aw_declarations.rwl 112 my_thread aw_declarations.rwl 112 myarraysize xcchange.rwl 43 -mycstormsid cstorm_implementation.rwl 39 +mycstormsid cstorm_implementation.rwl 41 mycursorcache xcchange.rwl 34 mydate oerhtmlday.rwl 11 myhost xcchange.rwl 20 @@ -720,7 +726,7 @@ mykomment plotrunwetim.rwl 17 myproccount xcchange.rwl 35 myratefactor xcchange.rwl 24 myrunnumber kommentops.rwl 16 -myrunnumber plotinfo.rwl 17 +myrunnumber plotinfo.rwl 18 myrunsec aw_declarations.rwl 330 myrunsec oe_handle_orders.rwl 193 myrunsec oe_handle_orders.rwl 934 @@ -731,43 +737,44 @@ nam oe_long_session.rwl 9 newenv kommentops.rwl 56 newkomment kommentops.rwl 14 nextdouble aw_cols.rwl 132 -no_awr_interval csvdata.rwl 43 +no_awr_interval csvdata.rwl 45 nopool xcchange.rwl 37 nopool xccoreparam.rwl 17 -normal_connect parameters.rwl 297 -normal_stddev parameters.rwl 351 -notused csvdata.rwl 502 +normal_connect parameters.rwl 301 +normal_stddev parameters.rwl 355 +notused csvdata.rwl 520 num_rows mtit_create.rwl 144 -nvlstring csvdata.rwl 497 +nvlstring csvdata.rwl 515 o1 oe_handle_orders.rwl 694 o2 oe_handle_orders.rwl 694 -oercount csvdata.rwl 32 +oercount csvdata.rwl 34 oercount csvmtit.rwl 12 -oerheader csvdata.rwl 38 -oerlist csvdata.rwl 37 +oerheader csvdata.rwl 40 +oerlist csvdata.rwl 39 oerlist oerhtmlday.rwl 77 oerlisting oerhtmlday.rwl 75 -oerpivot csvdata.rwl 748 -oerpivotsql csvdata.rwl 545 -oerreverse csvdata.rwl 39 -oerrow csvdata.rwl 498 -oertable csvdata.rwl 767 -oertablesql csvdata.rwl 557 -offtime cstorm_implementation.rwl 59 -offtime csvdata.rwl 789 +oerpivot csvdata.rwl 766 +oerpivotsql csvdata.rwl 563 +oerreverse csvdata.rwl 41 +oerrow csvdata.rwl 516 +oertable csvdata.rwl 785 +oertablesql csvdata.rwl 575 +offdone cstorm_implementation.rwl 62 +offdone csvdata.rwl 807 +offtime cstorm_implementation.rwl 61 +offtime csvdata.rwl 807 oldenv kommentops.rwl 57 olines oerhtmlday.rwl 15 -one runping.rwl 30 one timemodel.rwl 100 only_directories parameters2shell.rwl 19 only_plus parameters2shell.rwl 16 onlyone latest.rwl 22 onrac timemodel.rwl 42 -openbatch csvdata.rwl 265 -openbatch run.rwl 561 -openpool csvdata.rwl 265 +openbatch csvdata.rwl 283 +openbatch run.rwl 570 +openpool csvdata.rwl 283 openpool mtitrun.rwl 83 -openpool run.rwl 561 +openpool run.rwl 570 openses plotfigures.rwl 56 oraepoch checkepoch.rwl 20 ord_rowid oe_handle_orders.rwl 385 @@ -787,7 +794,7 @@ order_total oe_handle_orders.rwl 695 order_total oe_handle_orders.rwl 754 order_total oe_handle_orders.rwl 89 orderby latest.rwl 21 -orders_hashcount parameters.rwl 134 +orders_hashcount parameters.rwl 138 orders_made oe_handle_orders.rwl 81 ordid oepartalloc.rwl 21 osstat_getres timemodel.rwl 203 @@ -825,15 +832,18 @@ pdesc oe_fillproducts.rwl 10 perview histdata.rwl 15 pid oe_fillproducts.rwl 8 pid oe_fillwarehouses.rwl 6 +pingbeg runsys.rwl 159 pingbegt timemodel.rwl 112 -pingcsv runping.rwl 32 -pivotstring csvdata.rwl 499 +pingend runsys.rwl 159 +pingtime csvdata.rwl 268 +pingtime runsys.rwl 184 +pivotstring csvdata.rwl 517 plot_cpu_only plotfigures.rwl 23 plotfigures plotfigures.rwl 25 -plotfil2 csvdata.rwl 35 +plotfil2 csvdata.rwl 37 plotfil2 csvmtit.rwl 15 -plotfil3 csvdata.rwl 35 -plotfile csvdata.rwl 35 +plotfil3 csvdata.rwl 37 +plotfile csvdata.rwl 37 plotfile csvmtit.rwl 15 plotfile histdata.rwl 25 plotfile mtitplotwe.rwl 23 @@ -841,32 +851,35 @@ plotfile plotfigures.rwl 21 plotfile plotruntp.rwl 20 plotfile plotrunwetim.rwl 20 plotfile prepare.rwl 12 -plotfile runsys.rwl 36 -plotline csvdata.rwl 575 +plotfile runsys.rwl 37 +plotline csvdata.rwl 593 plotline csvmtit.rwl 18 -plotorder csvdata.rwl 844 +plotorder csvdata.rwl 863 plotruntp plotruntp.rwl 22 plotweres mtitplotwe.rwl 25 plotweres plotrunwetim.rwl 22 +pmax xc_implementation.rwl 50 +pmin xc_implementation.rwl 50 pna oe_fillproducts.rwl 9 -pool_connect parameters.rwl 299 -pool_mb1 runsys.rwl 92 -pool_mb2 runsys.rwl 92 -pool_mb3 runsys.rwl 92 -pool_mb4 runsys.rwl 92 -pool_mb5 runsys.rwl 93 -pool_mb6 runsys.rwl 93 -pool_mb7 runsys.rwl 93 -pool_mb8 runsys.rwl 93 -pool_name runsys.rwl 94 -pool_rs runsys.rwl 92 -pool_size_interval parameters.rwl 275 -pool_type parameters.rwl 298 +pool_connect parameters.rwl 303 +pool_mb1 runsys.rwl 93 +pool_mb2 runsys.rwl 93 +pool_mb3 runsys.rwl 93 +pool_mb4 runsys.rwl 93 +pool_mb5 runsys.rwl 94 +pool_mb6 runsys.rwl 94 +pool_mb7 runsys.rwl 94 +pool_mb8 runsys.rwl 94 +pool_name runsys.rwl 95 +pool_rs runsys.rwl 93 +pool_size_interval parameters.rwl 279 +pool_type parameters.rwl 302 +poolcsv xc_implementation.rwl 51 prefinst oltpawr.rwl 123 probystat oe_fillproducts.rwl 64 -proccount parameters.rwl 77 +proccount parameters.rwl 81 procminus1 mtit_declarations.rwl 220 -procnumber parameters.rwl 76 +procnumber parameters.rwl 80 prod_id oe_long_session.rwl 11 product_description oe_handle_orders.rwl 649 product_description oe_handle_orders.rwl 696 @@ -885,6 +898,7 @@ products_found oe_handle_products.rwl 10 prvbgcpu timemodel.rwl 111 prvdbcpu timemodel.rwl 109 prvdbtim timemodel.rwl 110 +psec xc_implementation.rwl 50 pstat oe_fillproducts.rwl 12 pstat oe_fillwarehouses.rwl 8 psys1 timemodel.rwl 200 @@ -906,16 +920,16 @@ pusr8 timemodel.rwl 199 pusrsystim timemodel.rwl 201 pwd oltp.rwl 44 q aw_cols.rwl 31 -qo_atim csvdata.rwl 433 +qo_atim csvdata.rwl 451 qo_cnt plotrunwetim.rwl 44 -qo_dtim csvdata.rwl 433 +qo_dtim csvdata.rwl 451 qo_et plotrunwetim.rwl 44 -qo_exec csvdata.rwl 431 -qo_sleep_avg parameters.rwl 361 -qo_sleep_fac parameters.rwl 363 -qo_wait csvdata.rwl 431 +qo_exec csvdata.rwl 449 +qo_sleep_avg parameters.rwl 365 +qo_sleep_fac parameters.rwl 367 +qo_wait csvdata.rwl 449 qo_wt plotrunwetim.rwl 44 -qry_awrtim csvdata.rwl 183 +qry_awrtim csvdata.rwl 185 qry_awrtim csvmtit.rwl 158 qrysec timemodel.rwl 125 qtt oe_fillwarehouses.rwl 33 @@ -927,53 +941,53 @@ quantity oe_handle_orders.rwl 758 quantity oe_handle_products.rwl 60 quantity_on_hand oe_handle_orders.rwl 383 quantity_on_hand oe_handle_products.rwl 62 -query_factor parameters.rwl 103 +query_factor parameters.rwl 107 query_order oe_handle_orders.rwl 751 query_order_count oe_handle_orders.rwl 747 query_order_items oe_handle_orders.rwl 748 -query_order_max_limit parameters.rwl 141 -queryorder run.rwl 103 -queryorder_weight parameters.rwl 108 +query_order_max_limit parameters.rwl 145 +queryorder run.rwl 105 +queryorder_weight parameters.rwl 112 r_key prepare.rwl 23 -rampfactor parameters.rwl 58 +rampfactor parameters.rwl 62 rampup parameters2shell.rwl 78 -ratefactor parameters.rwl 46 -ratefactor_divisor parameters.rwl 405 -ratefactor_multiplier parameters.rwl 403 -rategradient parameters.rwl 53 +ratefactor parameters.rwl 47 +ratefactor_divisor parameters.rwl 409 +ratefactor_multiplier parameters.rwl 407 +rategradient parameters.rwl 54 +rategradientstep parameters.rwl 57 rcnt xcdefault.rwl 46 rda check_for_key.rwl 16 rdate kommentops.rwl 18 rdate oerhtmlday.rwl 11 rdate prepare.rwl 20 -repchg xc_implementation.rwl 51 +repchg xc_implementation.rwl 60 rescre create_schemas.rwl 51 -resname csvdata.rwl 345 +resname csvdata.rwl 363 resok timemodel.rwl 114 -results_connect parameters.rwl 294 -results_in_test parameters.rwl 292 -results_password parameters.rwl 296 -results_username parameters.rwl 295 -resultsdir parameters.rwl 280 -retval csvdata.rwl 51 +results_connect parameters.rwl 298 +results_in_test parameters.rwl 296 +results_password parameters.rwl 300 +results_username parameters.rwl 299 +resultsdir parameters.rwl 284 +retval csvdata.rwl 53 retval csvmtit.rwl 29 rixd mtit_create.rwl 129 -rn runping.rwl 41 +rn runsys.rwl 162 rno check_for_key.rwl 14 -rno csvdata.rwl 790 +rno csvdata.rwl 808 rno latest.rwl 30 rno mtit_declarations.rwl 142 rno2 mtit_declarations.rwl 194 rowspins xcchange.rwl 42 -run cstorm_implementation.rwl 73 +run cstorm_implementation.rwl 76 run mtitrun.rwl 65 -run run.rwl 293 -run runping.rwl 81 -run runsys.rwl 181 +run run.rwl 298 +run runsys.rwl 226 run runtrunc.rwl 58 -runcstorm_implementation cstorm_implementation.rwl 73 +runcstorm_implementation cstorm_implementation.rwl 76 runmtitrun mtitrun.rwl 65 -runno csvdata.rwl 32 +runno csvdata.rwl 34 runno csvmtit.rwl 12 runno histdata.rwl 14 runno markdone.rwl 8 @@ -987,88 +1001,89 @@ runno plotrunwetim.rwl 18 runno scalefract.rwl 18 runno subdir.rwl 6 runno x2range.rwl 21 -runperiod parameters.rwl 131 -runplot_width parameters.rwl 243 -runrun run.rwl 293 -runrunping runping.rwl 81 -runrunsys runsys.rwl 181 +runperiod parameters.rwl 135 +runplot_width parameters.rwl 247 +runrun run.rwl 298 +runrunsys runsys.rwl 226 runruntrunc runtrunc.rwl 58 +runsec runsys.rwl 182 runsecmul mtit_declarations.rwl 220 rwl_aw aw_user.rwl 14 rwl_aw1 aw_sizeinfo.rwl 11 -rwl_aw1_password parameters.rwl 303 -rwl_aw1_username parameters.rwl 302 -rwl_aw2_password parameters.rwl 305 -rwl_aw2_username parameters.rwl 304 +rwl_aw1_password parameters.rwl 307 +rwl_aw1_username parameters.rwl 306 +rwl_aw2_password parameters.rwl 309 +rwl_aw2_username parameters.rwl 308 rwl_aw_create aw_cols.rwl 13 -rwl_daily_html parameters.rwl 85 -rwl_heading parameters.rwl 83 -rwl_max_batch parameters.rwl 94 -rwl_max_pool parameters.rwl 64 -rwl_min_batch parameters.rwl 93 -rwl_min_pool parameters.rwl 63 -rwl_oe_password parameters.rwl 307 +rwl_daily_html parameters.rwl 89 +rwl_heading parameters.rwl 87 +rwl_max_batch parameters.rwl 98 +rwl_max_pool parameters.rwl 68 +rwl_min_batch parameters.rwl 97 +rwl_min_pool parameters.rwl 67 +rwl_oe_password parameters.rwl 311 rwl_oe_pool oe_user.rwl 8 -rwl_oe_username parameters.rwl 306 -rwl_ping runping.rwl 24 -rwl_pool_release parameters.rwl 65 +rwl_oe_username parameters.rwl 310 +rwl_pool_release parameters.rwl 69 rwl_run run_user.rwl 122 rwl_run1 checkepoch.rwl 11 -rwl_run1_password parameters.rwl 309 -rwl_run1_username parameters.rwl 308 -rwl_run2_password parameters.rwl 311 -rwl_run2_username parameters.rwl 310 +rwl_run1_password parameters.rwl 313 +rwl_run1_username parameters.rwl 312 +rwl_run2_password parameters.rwl 315 +rwl_run2_username parameters.rwl 314 rwl_run_batch run_user.rwl 164 -rwl_run_like parameters.rwl 312 +rwl_run_like parameters.rwl 316 rwl_run_mtit mtit_user.rwl 11 +rwl_run_ping runsys.rwl 152 rwl_run_pool run_user.rwl 129 -rwl_run_storm cstorm_implementation.rwl 18 -rwl_title parameters.rwl 313 +rwl_run_storm cstorm_implementation.rwl 19 +rwl_title parameters.rwl 317 rwloadsim results.rwl 8 -rwloadsimdir parameters.rwl 293 +rwloadsimdir parameters.rwl 297 s ../public/ovid2.rwl 7089 -s run.rwl 114 -s24h_hard_avg parameters.rwl 213 -s24h_hard_beg parameters.rwl 215 -s24h_hard_end parameters.rwl 216 -s24h_hard_prb parameters.rwl 218 -s24h_hard_skp parameters.rwl 217 -s24h_hard_std parameters.rwl 214 -s24h_high_beg parameters.rwl 205 -s24h_high_end parameters.rwl 206 -s24h_high_std parameters.rwl 207 -s24h_load_hi parameters.rwl 208 -s24h_load_lo parameters.rwl 209 -s24h_load_std parameters.rwl 210 -s24h_scan_avg parameters.rwl 220 -s24h_scan_beg parameters.rwl 222 -s24h_scan_end parameters.rwl 223 -s24h_scan_prb parameters.rwl 225 -s24h_scan_skp parameters.rwl 224 -s24h_scan_std parameters.rwl 221 -s24hour parameters.rwl 199 -s24line csvdata.rwl 212 -s24markerfile csvdata.rwl 211 -s24markers run.rwl 196 -s_afty xc_implementation.rwl 226 +s run.rwl 116 +s24h_hard_avg parameters.rwl 217 +s24h_hard_beg parameters.rwl 219 +s24h_hard_end parameters.rwl 220 +s24h_hard_prb parameters.rwl 222 +s24h_hard_skp parameters.rwl 221 +s24h_hard_std parameters.rwl 218 +s24h_high_beg parameters.rwl 209 +s24h_high_end parameters.rwl 210 +s24h_high_std parameters.rwl 211 +s24h_load_hi parameters.rwl 212 +s24h_load_lo parameters.rwl 213 +s24h_load_std parameters.rwl 214 +s24h_scan_avg parameters.rwl 224 +s24h_scan_beg parameters.rwl 226 +s24h_scan_end parameters.rwl 227 +s24h_scan_prb parameters.rwl 229 +s24h_scan_skp parameters.rwl 228 +s24h_scan_std parameters.rwl 225 +s24hour parameters.rwl 203 +s24line csvdata.rwl 214 +s24markerfile csvdata.rwl 213 +s24markers run.rwl 198 +s_afty xc_implementation.rwl 239 s_col1 aw_declarations.rwl 26 s_rowid aw_declarations.rwl 29 s_tokid aw_declarations.rwl 24 -savecaches runsys.rwl 91 -saveres cstorm_implementation.rwl 56 +savecaches runsys.rwl 92 +saveconnping runsys.rwl 181 +saveres cstorm_implementation.rwl 58 savtim oltpawr.rwl 230 scount csvmtit.rwl 275 -script_ramp parameters.rwl 72 +script_ramp parameters.rwl 76 search_products oe_handle_products.rwl 15 searches_made oe_handle_products.rwl 9 -searchproduct run.rwl 99 -searchproduct_weight parameters.rwl 109 +searchproduct run.rwl 101 +searchproduct_weight parameters.rwl 113 searchtext oe_handle_products.rwl 15 sec eatcpu.rwl 9 sec mtitrun.rwl 82 -sec run.rwl 560 +sec run.rwl 569 secnow timemodel.rwl 112 -second csvdata.rwl 105 +second csvdata.rwl 107 second csvmtit.rwl 83 second csvosstat.rwl 15 second mtitplotwe.rwl 40 @@ -1077,7 +1092,6 @@ second plotruntp.rwl 43 second plotrunwetim.rwl 43 secpos checkepoch.rwl 19 secprv timemodel.rwl 112 -sel1dual runping.rwl 36 sel_complex oe_handle_orders.rwl 699 sel_icount oe_handle_orders.rwl 404 sel_inventories oe_handle_orders.rwl 460 @@ -1099,11 +1113,11 @@ sel_toship oe_handle_orders.rwl 576 sel_tot_orders oe_handle_orders.rwl 564 sel_xtr_sql aw_declarations.rwl 94 selaos_sql plotfigures.rwl 57 -selcli csvdata.rwl 267 +selcli csvdata.rwl 285 selcli csvmtit.rwl 223 selcountres_sql plotfigures.rwl 31 selhist_sql histdata.rwl 31 -selinst_sql csvdata.rwl 243 +selinst_sql csvdata.rwl 245 selinst_sql csvmtit.rwl 201 selinst_sql plotfigures.rwl 72 selinv oe_fillwarehouses.rwl 93 @@ -1113,13 +1127,13 @@ selminsec_sql plotfigures.rwl 40 selminsec_sql plotruntp.rwl 27 selminsec_sql plotrunwetim.rwl 27 seloer oerhtml.rwl 19 -seloercnt csvdata.rwl 504 +seloercnt csvdata.rwl 522 selprod oe_long_session.rwl 14 selpstat oe_fillwarehouses.rwl 26 -seltimm_sql csvdata.rwl 106 +seltimm_sql csvdata.rwl 108 seltimm_sql csvmtit.rwl 84 seltimm_sql plotfigures.rwl 88 -seltps_sql csvdata.rwl 281 +seltps_sql csvdata.rwl 299 seltps_sql plotruntp.rwl 45 selvkdat scalefract.rwl 35 seq mtit_declarations.rwl 147 @@ -1129,50 +1143,50 @@ sessionleak xcchange.rwl 25 setdbname prepare.rwl 93 ship_many_orders oe_handle_orders.rwl 556 ship_order oe_handle_orders.rwl 381 -shiporder_weight parameters.rwl 118 -shiporders run.rwl 91 +shiporder_weight parameters.rwl 122 +shiporders run.rwl 93 shipped_items oe_handle_orders.rwl 499 -show_changed_values parameters.rwl 164 +show_changed_values parameters.rwl 168 showall latest.rwl 18 -showstart run.rwl 185 +showstart run.rwl 187 showthem oe_fillcustomers.rwl 71 -simulatebatch parameters.rwl 100 +simulatebatch parameters.rwl 104 skipnegative col_averages.rwl 11 sltp oe_handle_orders.rwl 695 snap oltpawr.rwl 19 -soer csvdata.rwl 500 -sp_atim csvdata.rwl 432 -sp_dtim csvdata.rwl 432 -sp_exec csvdata.rwl 430 -sp_wait csvdata.rwl 430 +soer csvdata.rwl 518 +sp_atim csvdata.rwl 450 +sp_dtim csvdata.rwl 450 +sp_exec csvdata.rwl 448 +sp_wait csvdata.rwl 448 space create_schemas.rwl 17 sqlddl create_schemas.rwl 20 sqlddl drop_schemas.rwl 16 -sqrt_query_factor parameters.rwl 479 +sqrt_query_factor parameters.rwl 488 src_products oe_handle_products.rwl 25 starttime ashstep1.rwl 31 -starttime csvdata.rwl 41 +starttime csvdata.rwl 43 starttime csvmtit.rwl 20 starttime prepare.rwl 22 stock_added oe_handle_products.rwl 54 stock_increased oe_handle_products.rwl 53 -stocks run.rwl 114 -stockup run.rwl 112 -stockup_weight parameters.rwl 112 +stocks run.rwl 116 +stockup run.rwl 114 +stockup_weight parameters.rwl 116 stopnow xcchange.rwl 36 stopnow xccoreparam.rwl 16 -storm_results cstorm_implementation.rwl 27 +storm_results cstorm_implementation.rwl 28 str ../public/ovid2.rwl 7076 str ../public/ovid2.rwl 7088 -subdir parameters.rwl 281 -success csvdata.rwl 849 +subdir parameters.rwl 285 +success csvdata.rwl 868 suggest check_directories.rwl 12 -sumdbtime csvdata.rwl 99 +sumdbtime csvdata.rwl 101 sumdbtime csvmtit.rwl 77 sume oe_handle_orders.rwl 695 -svgmouse parameters.rwl 741 +svgmouse parameters.rwl 752 sys mtitrun.rwl 82 -sys run.rwl 560 +sys run.rwl 569 sys1 csvosstat.rwl 14 sys1 timemodel.rwl 198 sys2 csvosstat.rwl 14 @@ -1189,15 +1203,15 @@ sys7 csvosstat.rwl 14 sys7 timemodel.rwl 198 sys8 csvosstat.rwl 14 sys8 timemodel.rwl 198 -sysawr_connect parameters.rwl 288 -sysawr_password parameters.rwl 290 -sysawr_username parameters.rwl 289 +sysawr_connect parameters.rwl 292 +sysawr_password parameters.rwl 294 +sysawr_username parameters.rwl 293 sysawrdb systemdb.rwl 14 sysres scalefract.rwl 95 -syssave_interval parameters.rwl 246 -system_connect parameters.rwl 282 -system_password parameters.rwl 284 -system_username parameters.rwl 283 +syssave_interval parameters.rwl 250 +system_connect parameters.rwl 286 +system_password parameters.rwl 288 +system_username parameters.rwl 287 systemdb systemdb.rwl 8 t_dbsystim timemodel.rwl 37 t_name timemodel.rwl 35 @@ -1209,57 +1223,54 @@ t_val1 timemodel.rwl 304 t_val2 timemodel.rwl 304 t_val3 timemodel.rwl 304 takehere oe_handle_orders.rwl 477 -tellnoawr runsys.rwl 85 +tellnoawr runsys.rwl 86 termdist timemodel.rwl 304 termdist_query timemodel.rwl 61 termdist_query_gv timemodel.rwl 89 test_aw_transaction aw_declarations.rwl 293 -testdebug parameters.rwl 160 +testdebug parameters.rwl 164 thissec mtitrun.rwl 81 -thissec run.rwl 559 +thissec run.rwl 568 thissys mtitrun.rwl 81 -thissys run.rwl 559 +thissys run.rwl 568 thisterm timemodel.rwl 40 thisusr mtitrun.rwl 81 -thisusr run.rwl 559 -threadcount parameters.rwl 96 -threadcount_divisor parameters.rwl 406 -threadcount_multiplier parameters.rwl 404 -thrid csvdata.rwl 788 -tim1 runping.rwl 34 -tim2 runping.rwl 34 -tim3 runping.rwl 34 -time_out parameters.rwl 49 +thisusr run.rwl 568 +threadcount parameters.rwl 100 +threadcount_divisor parameters.rwl 410 +threadcount_multiplier parameters.rwl 408 +thrid csvdata.rwl 806 +time_out parameters.rwl 50 timemodel_getres timemodel.rwl 117 timemodel_insert timemodel.rwl 309 timemodel_save timemodel.rwl 302 timenow eatcpu.rwl 10 -tit1 csvdata.rwl 793 -tit2 csvdata.rwl 793 -tit3 csvdata.rwl 793 -tmatch csvdata.rwl 50 +tit1 csvdata.rwl 811 +tit2 csvdata.rwl 811 +tit3 csvdata.rwl 811 +tmatch csvdata.rwl 52 tmatch csvmtit.rwl 28 to_be_shipped oe_handle_orders.rwl 559 tot ../public/ovid2.rwl 7090 tot aw_cols.rwl 212 -tot runsys.rwl 50 +tot runsys.rwl 51 tot_orders oe_handle_orders.rwl 559 total oerhtml.rwl 15 total_cnt plotrunwetim.rwl 46 total_on_hand oe_handle_orders.rwl 424 totaltime prepare.rwl 28 -totashcpu csvdata.rwl 666 +totashcpu csvdata.rwl 684 totashcpu csvmtit.rwl 405 totinv oe_fillwarehouses.rwl 92 trunctables runtrunc.rwl 20 -trylogon cstorm_implementation.rwl 46 +trylogon cstorm_implementation.rwl 48 tshi x2range.rwl 27 tslo x2range.rwl 27 -tstamp csvdata.rwl 266 +tstamp csvdata.rwl 284 txt aw_cols.rwl 29 txt aw_declarations.rwl 326 txt oerhtml.rwl 17 -txt xc_implementation.rwl 39 +txt xc_implementation.rwl 40 uname instdist.rwl 14 uname instdist.rwl 43 unit_price oe_handle_orders.rwl 117 @@ -1278,7 +1289,7 @@ updprod oe_long_session.rwl 28 usr check_directories.rwl 10 usr mtitrun.rwl 82 usr oltp.rwl 41 -usr run.rwl 560 +usr run.rwl 569 usr1 csvosstat.rwl 13 usr1 timemodel.rwl 197 usr2 csvosstat.rwl 13 @@ -1298,80 +1309,79 @@ usr8 timemodel.rwl 197 usrsystim timemodel.rwl 201 ustsdif timemodel.rwl 245 val mtit_declarations.rwl 143 -val1 csvdata.rwl 280 -val2 csvdata.rwl 280 -val3 csvdata.rwl 280 -val4 csvdata.rwl 280 -val5 csvdata.rwl 280 -val6 csvdata.rwl 280 -val7 csvdata.rwl 280 -val8 csvdata.rwl 280 -val9 csvdata.rwl 280 +val1 csvdata.rwl 298 +val2 csvdata.rwl 298 +val3 csvdata.rwl 298 +val4 csvdata.rwl 298 +val5 csvdata.rwl 298 +val6 csvdata.rwl 298 +val7 csvdata.rwl 298 +val8 csvdata.rwl 298 +val9 csvdata.rwl 298 vname histdata.rwl 90 vname scalefract.rwl 17 waitsec xcchange.rwl 31 warehouse_id oe_handle_products.rwl 58 -warehouse_id run.rwl 113 -warehouse_received run.rwl 108 +warehouse_id run.rwl 115 +warehouse_received run.rwl 110 was_shipped oe_handle_orders.rwl 379 wburst_count command line 1 -wburst_count parameters.rwl 178 -wburst_length parameters.rwl 180 -wburst_run run.rwl 237 -wburst_start parameters.rwl 179 -wburst_wait run.rwl 230 +wburst_count parameters.rwl 182 +wburst_length parameters.rwl 184 +wburst_run run.rwl 239 +wburst_start parameters.rwl 183 +wburst_wait run.rwl 232 wcount ../public/ovid2.rwl 7073 whereclause aw_declarations.rwl 369 wholeaffin mtit_declarations.rwl 142 wid oe_fillwarehouses.rwl 5 withdesc oe_handle_orders.rwl 751 withdml oe_long_session.rwl 9 -wma10 csvdata.rwl 417 -wmavg csvdata.rwl 417 -wmcount csvdata.rwl 380 +wma10 csvdata.rwl 435 +wmavg csvdata.rwl 435 +wmcount csvdata.rwl 398 wmcount csvmtit.rwl 301 -wmean csvdata.rwl 379 +wmean csvdata.rwl 397 wmean csvmtit.rwl 300 -wmeantot csvdata.rwl 379 +wmeantot csvdata.rwl 397 wmeantot csvmtit.rwl 300 wna oe_fillwarehouses.rwl 7 -wrapfetch runping.rwl 42 -writeping runping.rwl 48 wtime csvmtit.rwl 274 -xc_badplan parameters.rwl 331 -xc_cpusec parameters.rwl 333 -xc_cursorcache parameters.rwl 326 -xc_cursorleak parameters.rwl 327 -xc_enabled parameters.rwl 317 -xc_hardparse parameters.rwl 322 -xc_ignore_parsefailure parameters.rwl 337 -xc_kill xc_implementation.rwl 310 -xc_loadfactor parameters.rwl 321 -xc_logoffrate parameters.rwl 330 -xc_marker xc_implementation.rwl 39 -xc_maxpool parameters.rwl 325 -xc_minpool parameters.rwl 324 -xc_nopool parameters.rwl 335 -xc_parsefailure parameters.rwl 323 -xc_proccount parameters.rwl 334 -xc_ratefactor parameters.rwl 320 -xc_read xc_implementation.rwl 51 -xc_refresh parameters.rwl 319 -xc_run_dedicated run.rwl 25 -xc_sessionleak parameters.rwl 328 -xc_sessionwait parameters.rwl 336 -xc_stopnow parameters.rwl 329 -xc_waitsec parameters.rwl 332 -xcolor csvdata.rwl 42 +xc_badplan parameters.rwl 335 +xc_cpusec parameters.rwl 337 +xc_cursorcache parameters.rwl 330 +xc_cursorleak parameters.rwl 331 +xc_enabled parameters.rwl 321 +xc_hardparse parameters.rwl 326 +xc_ignore_parsefailure parameters.rwl 341 +xc_kill xc_implementation.rwl 323 +xc_loadfactor parameters.rwl 325 +xc_logoffrate parameters.rwl 334 +xc_marker xc_implementation.rwl 40 +xc_maxpool parameters.rwl 329 +xc_minpool parameters.rwl 328 +xc_nopool parameters.rwl 339 +xc_parsefailure parameters.rwl 327 +xc_poolprint xc_implementation.rwl 50 +xc_proccount parameters.rwl 338 +xc_ratefactor parameters.rwl 324 +xc_read xc_implementation.rwl 60 +xc_refresh parameters.rwl 323 +xc_run_dedicated run.rwl 27 +xc_sessionleak parameters.rwl 332 +xc_sessionwait parameters.rwl 340 +xc_stopnow parameters.rwl 333 +xc_waitsec parameters.rwl 336 +xcolor csvdata.rwl 44 xcolor csvmtit.rwl 21 -xeqpsec parameters.rwl 513 -xeqpshi parameters.rwl 519 -xeqpslo parameters.rwl 518 +xeqpsec parameters.rwl 522 +xeqpshi parameters.rwl 528 +xeqpslo parameters.rwl 527 xhi x2range.rwl 23 xlo x2range.rwl 22 -xseconds csvdata.rwl 49 +xseconds csvdata.rwl 51 xseconds csvmtit.rwl 27 -xtim csvdata.rwl 49 +xtim csvdata.rwl 51 xtim csvmtit.rwl 27 xwidth mtitplotwe.rwl 25 xwidth plotfigures.rwl 25 diff --git a/public/ociping.rwl b/public/ociping.rwl index b93c998c..ca1a4150 100644 --- a/public/ociping.rwl +++ b/public/ociping.rwl @@ -110,8 +110,8 @@ $userswitch:flush-output:"--flush-output : flush stdout after each line" $useroption:concurrency:"--concurrency=N : number of threads to start" $useroption:runname:"--runname=string : prefix to various files in concurrent execution" $useroption:runtitle:"--runtitle='text': title to be printed on image files" - $useroption:resultdir:"--resultdir=dir : name of directory where results files will be put" - $useroption:imagedir:"--imagedir=dir : name of directory where image files will be put" + $useroption:resultdir:"--resultdir=dir : save intermediate result files in this directory" + $useroption:imagedir:"--imagedir=dir : directory where image files will be put" $useroption:pngdir:"--pngdir=dir : if set, put png files here in stead of in imagedir" $useroption:max-ms:"--max-ms=D : max range on the y-axis, default 4.0" $useroption:min-ms:"--min-ms=D : min range on the y-axis, default 0" diff --git a/src/lex.rwly.c b/src/lex.rwly.c index 031e7247..26810ca1 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 353 -#define YY_END_OF_BUFFER 354 +#define YY_NUM_RULES 354 +#define YY_END_OF_BUFFER 355 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -352,24 +352,24 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1958] = +static yyconst flex_int16_t yy_accept[1962] = { 0, - 0, 0, 354, 352, 350, 349, 190, 352, 351, 345, - 182, 218, 352, 183, 184, 180, 178, 185, 179, 352, + 0, 0, 355, 353, 351, 350, 190, 353, 352, 346, + 182, 218, 353, 183, 184, 180, 178, 185, 179, 353, 181, 47, 192, 235, 188, 186, 189, 191, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 352, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 353, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 217, 219, 350, - 200, 0, 43, 0, 351, 346, 233, 232, 234, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 220, 0, 42, + 231, 231, 231, 231, 231, 231, 231, 217, 219, 351, + 200, 0, 43, 0, 352, 347, 233, 232, 234, 347, + 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, + 347, 347, 347, 347, 347, 347, 347, 220, 0, 42, 0, 223, 222, 203, 40, 204, 173, 41, 221, 224, 46, 47, 0, 202, 0, 197, 201, 0, 187, 198, 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 347, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 348, 0, 231, 231, 231, 231, 231, 89, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, @@ -387,7 +387,7 @@ static yyconst flex_int16_t yy_accept[1958] = 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 348, 231, 231, 231, 170, 194, 231, + 231, 231, 231, 349, 231, 231, 231, 170, 194, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 122, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 102, 231, 231, 231, 231, 231, 112, 231, 231, @@ -456,7 +456,7 @@ static yyconst flex_int16_t yy_accept[1958] = 231, 231, 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 319, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 23, 231, 231, 0, 35, 231, 231, 231, 0, 22, 231, 0, @@ -470,7 +470,7 @@ static yyconst flex_int16_t yy_accept[1958] = 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 319, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 231, 0, 0, 0, 0, 0, 0, 0, 231, 0, 231, 0, 231, @@ -491,8 +491,8 @@ static yyconst flex_int16_t yy_accept[1958] = 231, 231, 231, 231, 231, 231, 231, 231, 156, 91, 231, 108, 231, 152, 231, 231, 231, 231, 82, 231, 231, 148, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, - 0, 0, 0, 325, 0, 0, 0, 0, 323, 0, + 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, + 0, 0, 0, 326, 0, 0, 0, 0, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 4, 0, @@ -501,74 +501,75 @@ static yyconst flex_int16_t yy_accept[1958] = 8, 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 138, 231, 231, 117, 231, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 328, 327, 326, 0, 0, 0, - 0, 0, 0, 279, 325, 0, 0, 0, 0, 0, - 0, 277, 0, 0, 276, 0, 0, 323, 322, 0, - 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 329, 329, 0, 0, 0, 0, + 0, 0, 0, 0, 329, 328, 327, 0, 0, 0, + 0, 0, 0, 279, 326, 0, 0, 0, 0, 0, + 0, 277, 0, 0, 276, 0, 0, 324, 323, 0, + 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 330, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 12, 231, 0, 0, 0, 0, 0, 231, 231, 231, 75, 231, 62, 74, 64, 231, 231, 231, 231, 231, 231, 231, 81, 231, 103, 231, 209, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 328, 326, 0, + 0, 0, 0, 0, 0, 0, 0, 329, 327, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0, 0, - 0, 0, 0, 276, 0, 0, 322, 321, 0, 0, + 0, 0, 0, 276, 0, 0, 323, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 329, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 5, 0, 0, 0, 0, 231, 231, 231, 139, 228, - 231, 110, 119, 231, 231, 153, 231, 231, 210, 320, - 0, 252, 264, 265, 0, 331, 0, 0, 0, 0, - 0, 318, 0, 0, 0, 0, 254, 0, 0, 0, - 0, 0, 0, 0, 293, 236, 321, 0, 0, 0, + 231, 110, 119, 231, 231, 153, 231, 231, 210, 321, + 0, 252, 264, 265, 0, 332, 0, 0, 0, 0, + 0, 317, 0, 0, 0, 0, 254, 0, 0, 0, + 0, 0, 0, 0, 293, 236, 322, 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 330, 324, 0, 0, 0, 249, + 0, 0, 0, 0, 331, 325, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 231, - 231, 76, 231, 231, 211, 231, 320, 253, 0, 332, - 0, 0, 0, 0, 314, 0, 318, 0, 0, 0, + 231, 76, 231, 231, 211, 231, 321, 253, 0, 333, + 0, 0, 0, 0, 313, 0, 317, 0, 0, 0, 255, 0, 0, 290, 292, 0, 0, 0, 236, 0, 0, 0, 258, 261, 0, 0, 0, 0, 266, 0, - 0, 0, 0, 0, 272, 0, 0, 330, 324, 0, + 0, 0, 0, 0, 272, 0, 0, 331, 325, 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 239, 0, 0, 0, 0, 17, 0, 16, 0, 18, 0, 0, 0, 9, 0, 231, 231, 104, 231, 231, 118, 0, 287, - 332, 0, 0, 307, 0, 315, 0, 0, 0, 278, - 0, 280, 0, 0, 0, 0, 237, 0, 259, 0, - 267, 0, 268, 0, 270, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 341, 0, 333, 248, - 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, - 0, 14, 0, 0, 0, 0, 7, 11, 231, 105, - 231, 231, 288, 0, 0, 308, 0, 303, 0, 0, - 0, 281, 0, 291, 0, 0, 237, 0, 286, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, - 0, 301, 0, 0, 0, 0, 334, 0, 0, 0, - - 309, 312, 0, 0, 0, 238, 0, 0, 239, 0, - 0, 0, 0, 15, 0, 0, 231, 213, 231, 289, - 0, 304, 0, 305, 0, 0, 0, 0, 0, 0, - 286, 0, 282, 0, 0, 271, 0, 274, 0, 0, - 0, 296, 0, 302, 0, 0, 0, 0, 334, 246, - 0, 310, 0, 0, 0, 0, 0, 0, 0, 231, - 215, 289, 0, 306, 0, 0, 0, 344, 0, 295, - 0, 0, 283, 269, 273, 0, 0, 0, 0, 297, - 0, 0, 0, 337, 338, 0, 0, 0, 0, 0, - 0, 0, 6, 214, 0, 285, 0, 294, 0, 275, - - 0, 298, 0, 0, 0, 0, 0, 339, 0, 0, - 0, 0, 0, 0, 0, 313, 285, 0, 0, 299, - 0, 0, 316, 0, 0, 0, 343, 342, 0, 2, - 0, 284, 336, 300, 317, 0, 0, 340, 0, 0, - 343, 342, 0, 0, 284, 336, 0, 256, 247, 0, - 0, 257, 0, 3, 0, 1, 0 + 333, 0, 0, 0, 307, 0, 314, 0, 0, 0, + 278, 0, 280, 0, 0, 0, 0, 237, 0, 259, + 0, 267, 0, 268, 0, 270, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 342, 0, 334, + 248, 0, 0, 0, 0, 311, 0, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 0, 7, 11, 231, + 105, 231, 231, 288, 0, 0, 0, 308, 0, 303, + 0, 0, 0, 281, 0, 291, 0, 0, 237, 0, + 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 250, 0, 301, 0, 0, 0, 0, 335, 0, + + 0, 0, 309, 312, 0, 0, 0, 238, 0, 0, + 239, 0, 0, 0, 0, 15, 0, 0, 231, 213, + 231, 289, 0, 0, 304, 0, 305, 0, 0, 0, + 0, 0, 0, 286, 0, 282, 0, 0, 271, 0, + 274, 0, 0, 0, 296, 0, 302, 0, 0, 0, + 0, 335, 246, 0, 310, 0, 0, 0, 0, 0, + 0, 0, 231, 215, 289, 0, 319, 306, 0, 0, + 0, 345, 0, 295, 0, 0, 283, 269, 273, 0, + 0, 0, 0, 297, 0, 0, 0, 338, 339, 0, + 0, 0, 0, 0, 0, 0, 6, 214, 0, 285, + + 0, 294, 0, 275, 0, 298, 0, 0, 0, 0, + 0, 340, 0, 0, 0, 0, 0, 0, 0, 318, + 285, 0, 0, 299, 0, 0, 315, 0, 0, 0, + 344, 343, 0, 2, 0, 284, 337, 300, 316, 0, + 0, 341, 0, 0, 344, 343, 0, 0, 284, 337, + 0, 256, 247, 0, 0, 257, 0, 3, 0, 1, + 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -616,105 +617,105 @@ static yyconst YY_CHAR yy_meta[88] = 21, 21, 22, 21, 21, 1, 1 } ; -static yyconst flex_uint16_t yy_base[1998] = +static yyconst flex_uint16_t yy_base[2002] = { 0, - 0, 0, 3431, 3432, 86, 3432, 3401, 83, 0, 141, - 3432, 3419, 80, 3432, 3432, 3399, 77, 3432, 76, 3409, - 80, 211, 3397, 3432, 209, 3396, 211, 3432, 207, 59, + 0, 0, 3435, 3436, 86, 3436, 3405, 83, 0, 141, + 3436, 3423, 80, 3436, 3436, 3403, 77, 3436, 76, 3413, + 80, 211, 3401, 3436, 209, 3400, 211, 3436, 207, 59, 66, 67, 41, 54, 51, 0, 56, 56, 68, 62, 59, 81, 212, 181, 196, 205, 110, 263, 213, 273, - 243, 283, 302, 250, 3360, 223, 200, 295, 220, 192, - 252, 3343, 319, 336, 313, 314, 346, 3336, 3432, 116, - 3432, 333, 3432, 0, 0, 3432, 3432, 404, 0, 50, - 3353, 275, 320, 359, 3352, 3345, 188, 3344, 268, 59, - 301, 3340, 3336, 73, 331, 188, 3337, 3432, 251, 3432, - - 3411, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, - 421, 429, 446, 3432, 3384, 3432, 3432, 3383, 3432, 3432, - 3382, 3381, 0, 219, 251, 291, 285, 359, 367, 366, + 243, 283, 302, 250, 3364, 223, 200, 295, 220, 192, + 252, 3347, 319, 336, 313, 314, 346, 3340, 3436, 116, + 3436, 333, 3436, 0, 0, 3436, 3436, 404, 0, 50, + 3357, 275, 320, 359, 3356, 3349, 188, 3348, 268, 59, + 301, 3344, 3340, 73, 331, 188, 3341, 3436, 251, 3436, + + 3415, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, + 421, 429, 446, 3436, 3388, 3436, 3436, 3387, 3436, 3436, + 3386, 3385, 0, 219, 251, 291, 285, 359, 367, 366, 390, 412, 421, 406, 412, 412, 428, 440, 423, 440, - 426, 445, 429, 436, 426, 439, 428, 456, 443, 3432, - 3406, 3334, 295, 444, 464, 3330, 3346, 459, 3332, 3330, - 3339, 455, 3334, 3327, 467, 3323, 3320, 486, 3318, 468, - 3319, 335, 3322, 3324, 3330, 488, 3322, 3321, 472, 3314, - 3313, 3316, 3316, 3308, 3312, 3302, 0, 3311, 481, 3310, - 328, 500, 3319, 3302, 3309, 505, 3308, 340, 3314, 0, - - 3299, 476, 492, 3312, 439, 525, 484, 3302, 537, 468, - 3301, 3296, 500, 361, 482, 3304, 3293, 509, 520, 490, - 3306, 3301, 511, 538, 3300, 3338, 598, 0, 3284, 3290, - 3291, 3289, 3289, 3288, 3295, 3298, 3284, 3279, 3295, 3292, - 3277, 3289, 3281, 3273, 568, 3275, 3287, 3275, 3264, 514, - 3274, 3283, 3267, 3283, 3278, 3277, 3267, 256, 531, 3279, - 3267, 3277, 3272, 3267, 3270, 3432, 604, 624, 610, 630, - 3432, 3432, 3432, 3432, 596, 601, 595, 597, 616, 617, + 426, 445, 429, 436, 426, 439, 428, 456, 443, 3436, + 3410, 3338, 295, 444, 464, 3334, 3350, 459, 3336, 3334, + 3343, 455, 3338, 3331, 467, 3327, 3324, 486, 3322, 468, + 3323, 335, 3326, 3328, 3334, 488, 3326, 3325, 472, 3318, + 3317, 3320, 3320, 3312, 3316, 3306, 0, 3315, 481, 3314, + 328, 500, 3323, 3306, 3313, 505, 3312, 340, 3318, 0, + + 3303, 476, 492, 3316, 439, 525, 484, 3306, 537, 468, + 3305, 3300, 500, 361, 482, 3308, 3297, 509, 520, 490, + 3310, 3305, 511, 538, 3304, 3342, 598, 0, 3288, 3294, + 3295, 3293, 3293, 3292, 3299, 3302, 3288, 3283, 3299, 3296, + 3281, 3293, 3285, 3277, 568, 3279, 3291, 3279, 3268, 514, + 3278, 3287, 3271, 3287, 3282, 3281, 3271, 256, 531, 3283, + 3271, 3281, 3276, 3271, 3274, 3436, 604, 624, 610, 630, + 3436, 3436, 3436, 3436, 596, 601, 595, 597, 616, 617, 615, 615, 628, 618, 626, 631, 620, 626, 620, 627, 637, 632, 637, 624, 639, 646, 633, 644, 645, 690, - 637, 651, 657, 3432, 3256, 3268, 3263, 0, 0, 3270, - 3256, 3246, 3264, 3265, 3265, 3260, 3252, 3261, 655, 3248, - 0, 3247, 3241, 535, 669, 3250, 537, 3256, 3241, 3251, - 3240, 0, 3251, 3252, 3234, 3248, 3230, 670, 3228, 3243, - 3232, 0, 3237, 3242, 3231, 651, 3241, 3241, 3226, 678, - 3235, 3218, 3227, 3230, 3220, 0, 3219, 3225, 3228, 3217, - 3210, 3209, 3216, 3208, 0, 3215, 3210, 3224, 3210, 3204, - 644, 3219, 3209, 436, 3216, 0, 3215, 3203, 3212, 3211, - 3194, 3193, 3192, 3200, 3197, 3191, 3187, 3189, 3189, 3200, - 0, 3196, 3204, 3183, 639, 3186, 3192, 3181, 0, 3179, - - 3178, 3183, 3191, 674, 3189, 3185, 3175, 3172, 3177, 3178, - 3170, 3168, 3432, 3186, 3181, 3181, 3181, 3169, 3170, 3180, - 3159, 3161, 3173, 3172, 3167, 3160, 3160, 3168, 3152, 3222, - 712, 718, 713, 3158, 3157, 3161, 661, 3142, 3161, 3160, - 3159, 3144, 702, 3198, 3140, 3156, 3155, 3143, 3138, 3155, - 3136, 3142, 654, 3139, 3145, 3133, 714, 728, 685, 695, + 637, 651, 657, 3436, 3260, 3272, 3267, 0, 0, 3274, + 3260, 3250, 3268, 3269, 3269, 3264, 3256, 3265, 655, 3252, + 0, 3251, 3245, 535, 669, 3254, 537, 3260, 3245, 3255, + 3244, 0, 3255, 3256, 3238, 3252, 3234, 670, 3232, 3247, + 3236, 0, 3241, 3246, 3235, 651, 3245, 3245, 3230, 678, + 3239, 3222, 3231, 3234, 3224, 0, 3223, 3229, 3232, 3221, + 3214, 3213, 3220, 3212, 0, 3219, 3214, 3228, 3214, 3208, + 644, 3223, 3213, 436, 3220, 0, 3219, 3207, 3216, 3215, + 3198, 3197, 3196, 3204, 3201, 3195, 3191, 3193, 3193, 3204, + 0, 3200, 3208, 3187, 639, 3190, 3196, 3185, 0, 3183, + + 3182, 3187, 3195, 674, 3193, 3189, 3179, 3176, 3181, 3182, + 3174, 3172, 3436, 3190, 3185, 3185, 3185, 3173, 3174, 3184, + 3163, 3165, 3177, 3176, 3171, 3164, 3164, 3172, 3156, 3226, + 712, 718, 713, 3162, 3161, 3165, 661, 3146, 3165, 3164, + 3163, 3148, 702, 3202, 3144, 3160, 3159, 3147, 3142, 3159, + 3140, 3146, 654, 3143, 3149, 3137, 714, 728, 685, 695, 690, 720, 704, 711, 0, 723, 709, 729, 713, 715, 0, 735, 729, 718, 721, 773, 735, 738, 742, 735, - 738, 734, 751, 800, 752, 743, 0, 3130, 3130, 3126, - 3122, 3183, 3140, 3129, 0, 3132, 0, 0, 0, 764, - - 3137, 3121, 3125, 3137, 0, 3134, 3134, 3115, 3121, 3122, - 0, 3124, 3128, 3123, 3116, 3104, 3107, 0, 3108, 0, - 3108, 3111, 3104, 3122, 3108, 3100, 3119, 3115, 3100, 3099, - 3109, 3103, 0, 3094, 3095, 0, 3106, 3087, 3108, 3091, - 3103, 3106, 3105, 0, 3096, 3092, 3084, 3079, 3081, 3099, - 3094, 3089, 3072, 3091, 3080, 3082, 3079, 3068, 3090, 3085, - 3077, 3070, 3085, 3082, 3080, 3079, 3074, 3078, 3061, 3066, - 3070, 0, 3058, 747, 0, 3063, 3056, 3072, 3069, 0, - 3072, 771, 3057, 3064, 3056, 0, 0, 3064, 3056, 3062, - 3041, 3047, 3049, 3052, 3057, 753, 3052, 3053, 3046, 3432, - - 3054, 3051, 3038, 3035, 3042, 3039, 754, 802, 809, 3103, - 755, 3042, 3029, 3034, 3033, 3043, 3031, 3032, 3077, 3038, - 3041, 3021, 3078, 3021, 3076, 3032, 3017, 3033, 3020, 3024, - 3029, 3023, 3015, 3009, 534, 3432, 3013, 770, 772, 0, + 738, 734, 751, 800, 752, 743, 0, 3134, 3134, 3130, + 3126, 3187, 3144, 3133, 0, 3136, 0, 0, 0, 764, + + 3141, 3125, 3129, 3141, 0, 3138, 3138, 3119, 3125, 3126, + 0, 3128, 3132, 3127, 3120, 3108, 3111, 0, 3112, 0, + 3112, 3115, 3108, 3126, 3112, 3104, 3123, 3119, 3104, 3103, + 3113, 3107, 0, 3098, 3099, 0, 3110, 3091, 3112, 3095, + 3107, 3110, 3109, 0, 3100, 3096, 3088, 3083, 3085, 3103, + 3098, 3093, 3076, 3095, 3084, 3086, 3083, 3072, 3094, 3089, + 3081, 3074, 3089, 3086, 3084, 3083, 3078, 3082, 3065, 3070, + 3074, 0, 3062, 747, 0, 3067, 3060, 3076, 3073, 0, + 3076, 771, 3061, 3068, 3060, 0, 0, 3068, 3060, 3066, + 3045, 3051, 3053, 3056, 3061, 753, 3056, 3057, 3050, 3436, + + 3058, 3055, 3042, 3039, 3046, 3043, 754, 802, 809, 3107, + 755, 3046, 3033, 3038, 3037, 3047, 3035, 3036, 3081, 3042, + 3045, 3025, 3082, 3025, 3080, 3036, 3021, 3037, 3024, 3028, + 3033, 3027, 3019, 3013, 534, 3436, 3017, 770, 772, 0, 761, 784, 0, 0, 780, 790, 789, 803, 791, 802, 810, 0, 794, 853, 0, 807, 0, 814, 822, 813, - 810, 817, 818, 816, 836, 836, 0, 3008, 3021, 0, - 0, 3020, 3003, 0, 3003, 3019, 0, 3003, 3008, 3003, - 3006, 2981, 2955, 2933, 2911, 2911, 2896, 2901, 0, 2863, - 2853, 0, 2819, 2829, 2854, 2794, 2784, 2790, 2794, 2781, - - 2783, 2777, 2766, 2769, 2771, 2750, 808, 0, 2753, 2750, - 2758, 2743, 2748, 0, 2756, 2745, 830, 2739, 2754, 2753, - 2741, 0, 2741, 539, 2739, 812, 2727, 2716, 2707, 2712, - 2724, 0, 2721, 2703, 2705, 2708, 0, 2673, 2685, 0, - 2675, 2666, 2676, 2664, 2671, 2665, 2673, 848, 2624, 2627, - 2639, 0, 2634, 2621, 2613, 2612, 817, 2610, 2624, 2621, - 2620, 2602, 2603, 2602, 2593, 2606, 2602, 3432, 820, 2590, - 2594, 2598, 852, 876, 873, 2595, 2593, 2580, 2589, 2587, - 2588, 2568, 897, 2545, 2531, 2511, 2550, 2492, 2497, 872, - 2492, 2475, 2481, 2478, 2472, 2482, 2472, 2459, 2458, 760, - - 2456, 2459, 2447, 2439, 852, 870, 875, 858, 910, 874, + 810, 817, 818, 816, 836, 836, 0, 3012, 3025, 0, + 0, 3024, 3007, 0, 3007, 3023, 0, 2996, 3012, 3007, + 2997, 2953, 2938, 2917, 2915, 2915, 2894, 2881, 0, 2846, + 2836, 0, 2823, 2813, 2858, 2786, 2788, 2792, 2786, 2785, + + 2785, 2778, 2770, 2773, 2775, 2752, 808, 0, 2757, 2754, + 2756, 2747, 2752, 0, 2760, 2749, 830, 2743, 2757, 2757, + 2745, 0, 2745, 539, 2737, 812, 2721, 2713, 2711, 2716, + 2728, 0, 2723, 2707, 2709, 2687, 0, 2674, 2689, 0, + 2677, 2669, 2680, 2666, 2675, 2669, 2643, 848, 2628, 2631, + 2639, 0, 2637, 2625, 2617, 2615, 817, 2613, 2628, 2625, + 2622, 2606, 2601, 2601, 2597, 2610, 2605, 3436, 820, 2594, + 2595, 2602, 852, 876, 873, 2599, 2597, 2582, 2593, 2591, + 2572, 2572, 897, 2514, 2515, 2515, 2554, 2490, 2496, 872, + 2496, 2479, 2484, 2482, 2470, 2481, 2476, 2463, 2456, 760, + + 2455, 2463, 2451, 2423, 852, 870, 875, 858, 910, 874, 0, 877, 879, 893, 0, 894, 876, 0, 0, 888, - 0, 884, 888, 907, 889, 0, 0, 2422, 2405, 2385, - 0, 2384, 2400, 2371, 0, 2369, 2368, 0, 0, 0, - 0, 2340, 920, 2314, 0, 2312, 2302, 0, 0, 2315, - 0, 2312, 2309, 0, 2295, 0, 2309, 2303, 0, 2303, - 2301, 2290, 2299, 2285, 2293, 2294, 2281, 2281, 0, 2289, - 2296, 2291, 2274, 0, 2279, 0, 2279, 2247, 2242, 2222, - 2224, 2238, 2222, 2222, 0, 2237, 2224, 2218, 2220, 46, + 0, 884, 888, 907, 889, 0, 0, 2405, 2396, 2389, + 0, 2388, 2392, 2375, 0, 2373, 2330, 0, 0, 0, + 0, 2319, 920, 2318, 0, 2316, 2306, 0, 0, 2319, + 0, 2316, 2313, 0, 2298, 0, 2312, 2307, 0, 2307, + 2306, 2295, 2304, 2290, 2298, 2299, 2285, 2285, 0, 2293, + 2300, 2295, 2278, 0, 2283, 0, 2246, 2256, 2249, 2228, + 2229, 2242, 2226, 2226, 0, 2241, 2226, 2220, 2223, 46, 69, 0, 191, 177, 0, 225, 0, 0, 215, 299, 353, 427, 512, 876, 744, 834, 840, 836, 866, 867, @@ -739,14 +740,14 @@ static yyconst flex_uint16_t yy_base[1998] = 1077, 1074, 1082, 1080, 1088, 1078, 1122, 1123, 1158, 1111, 1132, 1125, 1117, 1135, 1119, 1129, 1168, 1131, 1131, 1127, - 1128, 3432, 1130, 0, 1098, 1107, 1120, 0, 1120, 1111, + 1128, 3436, 1130, 0, 1098, 1107, 1120, 0, 1120, 1111, 0, 1124, 1117, 1113, 1119, 0, 1135, 1138, 1132, 1130, 1142, 0, 1147, 0, 1149, 1146, 0, 1137, 1140, 1152, 1159, 0, 1157, 1150, 1148, 0, 1153, 1162, 0, 0, 1160, 1162, 0, 1148, 1165, 1165, 1170, 1154, 1156, 1157, 1164, 1163, 1173, 1174, 1213, 0, 1231, 1178, 1182, 1180, 1177, 1173, 1221, 1240, 1241, 1225, 1246, 1179, 1235, 1235, - 1184, 1237, 1191, 1186, 1188, 1242, 1243, 1206, 1206, 3432, + 1184, 1237, 1191, 1186, 1188, 1242, 1243, 1206, 1206, 3436, 1195, 1247, 1211, 1197, 1203, 1205, 1198, 1207, 1207, 1220, 1204, 1216, 1221, 1260, 1213, 1226, 1240, 1288, 1248, 1249, @@ -757,22 +758,22 @@ static yyconst flex_uint16_t yy_base[1998] = 1324, 0, 1283, 1322, 1270, 1278, 1272, 1275, 1293, 1286, 1289, 1285, 1279, 0, 0, 1340, 1287, 1286, 1299, 1342, 1304, 1310, 0, 1364, 1320, 1367, 1344, 1302, 1375, 1388, - 1350, 0, 1300, 1315, 1353, 1301, 1343, 1344, 1332, 3432, + 1350, 0, 1300, 1315, 1353, 1301, 1343, 1344, 1332, 3436, 1309, 1381, 1326, 1393, 1341, 1390, 1354, 1357, 1351, 1348, - 1360, 1357, 1351, 1425, 1360, 1367, 1437, 1446, 3432, 1402, + 1360, 1357, 1351, 1425, 1360, 1367, 1437, 1446, 3436, 1402, 1405, 1393, 1449, 1401, 1411, 1408, 1418, 1404, 1424, 1455, - 3432, 1428, 1427, 1394, 1401, 1402, 1404, 1397, 1392, 1405, + 3436, 1428, 1427, 1394, 1401, 1402, 1404, 1397, 1392, 1405, 1397, 1415, 1404, 1417, 1407, 1413, 1423, 1416, 0, 1427, 1420, 1418, 1432, 1468, 1421, 1471, 1435, 1474, 1427, 1431, 1430, 1478, 1437, 1481, 0, 0, 0, 1437, 1445, 1439, 1437, 1428, 1441, 0, 1528, 1446, 1451, 1452, 1443, 1454, - 1515, 3432, 1526, 1497, 3432, 1527, 1496, 1517, 1538, 1544, + 1515, 3436, 1526, 1497, 3436, 1527, 1496, 1517, 1538, 1544, 0, 1449, 1499, 1454, 1463, 1455, 1459, 1479, 1465, 1471, 1473, 1503, 1494, 1495, 1520, 1521, 1551, 1558, 1508, 1507, 1503, 1560, 1524, 1562, 1517, 1526, 1515, 1587, 1568, 1569, - 1610, 1546, 1547, 3432, 1568, 1565, 1573, 1570, 1569, 3432, + 1610, 1546, 1547, 3436, 1568, 1565, 1573, 1570, 1569, 3436, 1573, 1565, 1583, 1584, 1578, 1568, 1543, 1549, 1547, 0, 1544, 0, 0, 0, 1559, 1557, 1555, 1552, 1569, 1570, 1557, 0, 1561, 0, 1567, 1580, 1633, 1577, 1628, 1625, @@ -781,290 +782,292 @@ static yyconst flex_uint16_t yy_base[1998] = 1606, 1624, 1660, 1661, 1690, 0, 1674, 1680, 1620, 1632, 1642, 1646, 1645, 1637, 1633, 1638, 1641, 1651, 1642, 1643, 1644, 1655, 1669, 0, 1710, 1704, 1667, 1663, 1663, 1658, - 1679, 1660, 1680, 1678, 1717, 1661, 1740, 3432, 0, 0, + 1679, 1660, 1680, 1678, 1717, 1661, 1740, 3436, 0, 0, 0, 1713, 1718, 1711, 1705, 1708, 1718, 1723, 1723, 1758, - 3432, 1712, 1731, 1720, 1726, 1694, 1708, 1695, 0, 0, + 3436, 1712, 1731, 1720, 1726, 1694, 1708, 1695, 0, 0, 1706, 0, 0, 1697, 1712, 0, 1709, 1703, 0, 1779, - 1710, 3432, 3432, 3432, 1702, 1787, 1754, 1707, 1759, 1723, - 1725, 1793, 1713, 1711, 1723, 1741, 3432, 1745, 1794, 1758, - 1755, 1755, 1749, 1761, 3432, 1797, 1807, 1755, 1769, 1770, - 3432, 1758, 1777, 1759, 1775, 1765, 1762, 1770, 1770, 1778, - 1764, 1772, 1780, 1777, 0, 1830, 1831, 1784, 1793, 3432, + 1710, 3436, 3436, 3436, 1702, 1787, 1754, 1707, 1759, 1723, + 1725, 1793, 1713, 1711, 1723, 1741, 3436, 1745, 1794, 1758, + 1755, 1755, 1749, 1761, 3436, 1797, 1807, 1755, 1769, 1770, + 3436, 1758, 1777, 1759, 1775, 1765, 1762, 1770, 1770, 1778, + 1764, 1772, 1780, 1777, 0, 1830, 1831, 1784, 1793, 3436, 1781, 1834, 1786, 1794, 1798, 1785, 1839, 1795, 1807, 1800, 1843, 1796, 1845, 1846, 1847, 1818, 1824, 1830, 1821, 1835, 1843, 1828, 1832, 1880, 1853, 1843, 1836, 1842, 1827, 1812, - 1820, 0, 1812, 1814, 0, 1810, 1875, 3432, 1845, 1899, - 1841, 1852, 1837, 1847, 3432, 1900, 1911, 1850, 1868, 1856, - 3432, 1872, 1918, 3432, 3432, 1871, 1884, 1870, 1919, 0, - 1870, 1885, 3432, 3432, 1925, 1882, 1885, 1875, 3432, 1887, - 1877, 1877, 1885, 1886, 3432, 1895, 1894, 0, 1943, 1943, - 1896, 3432, 1907, 1898, 1898, 1903, 1910, 1913, 1957, 1912, - 1906, 1907, 1912, 1922, 1925, 1963, 1984, 1965, 1986, 1994, - 1953, 1949, 3432, 1967, 3432, 1951, 3432, 1950, 1970, 1968, - 3432, 1960, 1932, 1929, 0, 1935, 1941, 0, 1945, 1985, - - 1992, 1956, 1954, 3432, 1961, 3432, 1946, 1963, 1947, 3432, - 1960, 3432, 2015, 1966, 1982, 1981, 0, 1967, 3432, 2025, - 3432, 1978, 3432, 1979, 3432, 1980, 1972, 1993, 1983, 1984, - 1984, 2000, 1981, 1996, 1998, 1999, 3432, 2000, 2055, 3432, - 1997, 1987, 2016, 2002, 3432, 2004, 2010, 2065, 2066, 2081, - 2032, 3432, 2052, 2051, 2056, 2058, 3432, 3432, 2011, 0, - 2013, 2019, 3432, 0, 2032, 3432, 2030, 3432, 2031, 2013, - 2021, 3432, 2094, 3432, 2023, 2042, 0, 2035, 2106, 2040, - 2026, 2027, 2029, 2035, 2043, 2086, 2051, 2067, 2042, 3432, - 2055, 3432, 2048, 2096, 2056, 2054, 2121, 2073, 2062, 2072, - - 3432, 3432, 2072, 2076, 2141, 3432, 0, 2142, 3432, 0, - 2117, 2099, 2115, 3432, 2101, 2104, 2082, 0, 2083, 0, - 2093, 3432, 2093, 3432, 2133, 2100, 2155, 2098, 2085, 2091, - 2145, 2106, 3432, 2108, 2109, 3432, 2112, 3432, 2101, 2150, - 2116, 3432, 2113, 3432, 2122, 2180, 2110, 2109, 2169, 3432, - 2129, 3432, 2119, 2129, 2153, 2161, 2200, 2165, 2170, 2128, - 0, 0, 2133, 3432, 2194, 2125, 2204, 3432, 2208, 3432, - 2148, 2154, 3432, 3432, 3432, 2153, 2157, 2163, 2150, 3432, - 2164, 2201, 2222, 3432, 3432, 2154, 2168, 2175, 2205, 2205, - 2238, 2193, 3432, 0, 2165, 2225, 2225, 3432, 2226, 3432, - - 2188, 3432, 2177, 2190, 2230, 2251, 2252, 3432, 2256, 2200, - 2197, 2191, 2228, 2218, 2218, 3432, 2298, 2304, 0, 3432, - 2197, 2207, 3432, 2199, 2272, 2202, 2198, 2199, 2247, 3432, - 2247, 2311, 0, 3432, 3432, 2217, 2282, 3432, 2309, 2213, - 3432, 3432, 2270, 2282, 2325, 0, 2227, 3432, 3432, 2302, - 2291, 3432, 2298, 3432, 2300, 3432, 3432, 2379, 2401, 2423, - 2438, 2453, 2475, 2497, 2512, 2527, 2545, 2560, 2582, 2604, - 2626, 2641, 2656, 2675, 2690, 2712, 2727, 2749, 2754, 2769, - 2777, 2788, 2805, 2820, 2834, 2851, 2873, 2895, 2917, 2939, - 2950, 2965, 2987, 3009, 3020, 3042, 3057 - + 1820, 0, 1812, 1814, 0, 1810, 1875, 3436, 1845, 1899, + 1852, 1860, 1827, 1846, 3436, 1900, 1914, 1850, 1868, 1856, + 3436, 1867, 1921, 3436, 3436, 1858, 1885, 1871, 1920, 0, + 1871, 1886, 3436, 3436, 1926, 1883, 1886, 1876, 3436, 1888, + 1878, 1879, 1886, 1887, 3436, 1896, 1895, 0, 1944, 1944, + 1897, 3436, 1908, 1899, 1899, 1904, 1911, 1914, 1958, 1913, + 1907, 1908, 1913, 1923, 1926, 1964, 1985, 1966, 1987, 1995, + 1954, 1950, 3436, 1968, 3436, 1952, 3436, 1951, 1971, 1969, + 3436, 1961, 1933, 1930, 0, 1936, 1942, 0, 1946, 1986, + + 1993, 1957, 1960, 1956, 3436, 1962, 3436, 1950, 1965, 1949, + 3436, 1966, 3436, 2016, 1979, 1984, 1983, 0, 1969, 3436, + 2027, 3436, 1980, 3436, 1981, 3436, 1982, 1974, 1995, 1985, + 1986, 1986, 2002, 1983, 1998, 2000, 2001, 3436, 2002, 2057, + 3436, 1999, 1989, 2018, 2004, 3436, 2006, 2012, 2067, 2068, + 2083, 2034, 3436, 2054, 2053, 2058, 2060, 3436, 3436, 2013, + 0, 2015, 2021, 3436, 0, 2034, 2029, 3436, 2033, 3436, + 2034, 2016, 2025, 3436, 2097, 3436, 2026, 2045, 0, 2038, + 2108, 2046, 2028, 2029, 2031, 2039, 2046, 2089, 2055, 2069, + 2045, 3436, 2058, 3436, 2051, 2109, 2059, 2057, 2123, 2076, + + 2065, 2075, 3436, 3436, 2075, 2086, 2144, 3436, 0, 2145, + 3436, 0, 2120, 2102, 2118, 3436, 2105, 2107, 2085, 0, + 2086, 0, 2096, 2090, 3436, 2097, 3436, 2137, 2104, 2159, + 2102, 2089, 2095, 2149, 2110, 3436, 2112, 2113, 3436, 2116, + 3436, 2105, 2157, 2121, 3436, 2117, 3436, 2126, 2184, 2114, + 2113, 2173, 3436, 2133, 3436, 2123, 2133, 2159, 2165, 2204, + 2169, 2174, 2132, 0, 0, 2137, 3436, 3436, 2198, 2129, + 2208, 3436, 2212, 3436, 2152, 2158, 3436, 3436, 3436, 2157, + 2161, 2167, 2154, 3436, 2168, 2204, 2225, 3436, 3436, 2158, + 2172, 2179, 2209, 2209, 2243, 2194, 3436, 0, 2169, 2229, + + 2229, 3436, 2230, 3436, 2192, 3436, 2181, 2194, 2234, 2255, + 2257, 3436, 2259, 2204, 2201, 2195, 2232, 2223, 2223, 3436, + 2303, 2309, 0, 3436, 2202, 2211, 3436, 2203, 2279, 2206, + 2201, 2203, 2246, 3436, 2248, 2318, 0, 3436, 3436, 2226, + 2286, 3436, 2317, 2215, 3436, 3436, 2263, 2287, 2330, 0, + 2230, 3436, 3436, 2300, 2296, 3436, 2303, 3436, 2305, 3436, + 3436, 2384, 2406, 2428, 2443, 2458, 2480, 2502, 2517, 2532, + 2550, 2565, 2587, 2609, 2631, 2646, 2661, 2680, 2695, 2717, + 2732, 2754, 2759, 2774, 2782, 2793, 2810, 2825, 2839, 2856, + 2878, 2900, 2922, 2944, 2955, 2970, 2992, 3014, 3025, 3047, + + 3062 } ; -static yyconst flex_int16_t yy_def[1998] = +static yyconst flex_int16_t yy_def[2002] = { 0, - 1957, 1, 1957, 1957, 1957, 1957, 1957, 1958, 1959, 1957, - 1957, 1957, 1960, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, + 1961, 1, 1961, 1961, 1961, 1961, 1961, 1962, 1963, 1961, + 1961, 1961, 1964, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1961, 1961, + 1961, 1962, 1961, 1962, 1963, 1961, 1961, 1961, 1966, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1957, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1964, 1961, + + 1964, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1957, 1957, 1957, - 1957, 1958, 1957, 1958, 1959, 1957, 1957, 1957, 1962, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1960, 1957, - - 1960, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1961, + 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1961, 1961, 1966, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1957, - 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1967, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + + 1965, 1965, 1965, 1961, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1967, + 1967, 1968, 1967, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1961, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1967, 1968, 1968, 1967, + 1967, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1961, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1957, 1957, 1962, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1963, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1967, 1968, 1967, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1957, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1961, 1965, 1965, 1965, 1965, + 1965, 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + + 1965, 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1967, 1968, 1967, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, 1965, + 1965, 1961, 1965, 1965, 1965, 1965, 1961, 1965, 1965, 1961, + 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1967, 1968, 1967, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1965, 1961, 1965, 1961, 1965, + + 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1969, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1968, 1967, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, 1961, 1961, + + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1961, 1965, + 1961, 1965, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1970, 1971, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1972, 1967, 1961, 1973, 1974, 1961, 1961, 1961, + 1961, 1975, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1976, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1961, 1961, 1961, + + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1961, 1961, + 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1977, 1971, 1978, 1961, 1961, 1961, + 1961, 1961, 1961, 1979, 1967, 1961, 1961, 1961, 1961, 1961, + 1973, 1961, 1973, 1974, 1961, 1980, 1961, 1961, 1961, 1961, + 1975, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1981, 1981, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1982, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1963, - 1963, 1964, 1963, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1965, 1961, 1961, 1961, 1961, 1961, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1977, 1978, 1961, + 1961, 1961, 1961, 1961, 1961, 1979, 1961, 1961, 1961, 1961, + 1961, 1961, 1974, 1974, 1980, 1983, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1981, 1984, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1982, 1961, 1982, 1985, + 1986, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, + 1961, 1961, 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1987, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1988, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1961, 1961, 1961, 1989, 1990, 1961, 1961, 1961, 1961, 1961, - 1957, 1957, 1957, 1957, 1957, 1957, 1963, 1964, 1964, 1963, - 1963, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1957, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1987, 1991, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1988, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1989, 1961, 1990, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1992, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1963, 1964, 1963, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - - 1957, 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1957, 1961, 1961, 1961, 1961, - 1961, 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1993, 1994, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, + 1965, 1965, 1965, 1961, 1995, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1992, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1963, 1964, 1963, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1961, - 1961, 1957, 1961, 1961, 1961, 1961, 1957, 1961, 1961, 1957, - 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1993, 1961, 1993, 1994, + 1961, 1994, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, + 1965, 1996, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1997, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1963, 1964, 1963, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1961, 1957, 1961, 1957, 1961, - - 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1965, 1965, 1996, 1961, 1961, 1961, 1961, 1961, + 1997, 1961, 1997, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1998, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1965, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1964, 1963, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1957, 1957, - - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1957, 1961, - 1957, 1961, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1998, 1961, 1998, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1999, 1961, 1961, 1961, 1961, 1961, 2000, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 2001, 1961, 1961, 1961, + 2000, 1961, 2000, 1961, 1961, 1961, 1961, 1961, 1961, 2001, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 0, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1966, 1967, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1968, 1963, 1957, 1969, 1970, 1957, 1957, 1957, - 1957, 1971, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1972, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1957, 1957, 1957, - - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1957, 1957, - 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1973, 1967, 1974, 1957, 1957, 1957, - 1957, 1957, 1957, 1975, 1963, 1957, 1957, 1957, 1957, 1957, - 1969, 1957, 1969, 1970, 1957, 1976, 1957, 1957, 1957, 1957, - 1971, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1977, 1977, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1978, 1957, 1957, - - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1961, 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1973, 1974, 1957, - 1957, 1957, 1957, 1957, 1957, 1975, 1957, 1957, 1957, 1957, - 1957, 1957, 1970, 1970, 1976, 1979, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1977, 1980, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1978, 1957, 1978, 1981, - - 1982, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, - 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1983, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1984, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1985, 1986, 1957, 1957, 1957, 1957, 1957, - - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1983, 1987, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1984, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1985, 1957, 1986, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1957, 1957, - - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1988, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1989, 1990, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, - 1961, 1961, 1957, 1991, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1988, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - - 1957, 1957, 1957, 1957, 1989, 1957, 1989, 1990, 1957, 1990, - 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1961, 1992, - 1957, 1957, 1957, 1957, 1957, 1957, 1993, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, - 1961, 1992, 1957, 1957, 1957, 1957, 1993, 1957, 1993, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1994, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1961, 1957, 1957, 1957, 1957, 1957, 1957, - - 1957, 1957, 1957, 1957, 1957, 1957, 1994, 1957, 1994, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1995, 1957, - 1957, 1957, 1957, 1957, 1996, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1997, 1957, 1957, 1957, 1996, 1957, 1996, 1957, - 1957, 1957, 1957, 1957, 1957, 1997, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 0, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957 + 1961 } ; -static yyconst flex_uint16_t yy_nxt[3520] = +static yyconst flex_uint16_t yy_nxt[3524] = { 0, 4, 5, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, @@ -1233,16 +1236,16 @@ static yyconst flex_uint16_t yy_nxt[3520] = 1442, 1443, 1444, 1445, 1446, 1414, 1447, 1450, 1451, 1452, 1453, 1454, 1455, 1457, 1459, 1460, 1461, 1413, 1462, 1458, - 1362, 1466, 1469, 1402, 1470, 1406, 1365, 1471, 1957, 1364, + 1362, 1466, 1469, 1402, 1470, 1406, 1365, 1471, 1961, 1364, 1472, 1473, 1474, 1414, 1355, 431, 1368, 1368, 1368, 1368, 1368, 1368, 1475, 1476, 1477, 1355, 1478, 1355, 1355, 1355, 1355, 1355, 1355, 1361, 1366, 1361, 1464, 1467, 1467, 1467, 1467, 1467, 1467, 1468, 1468, 1468, 1468, 1468, 1468, 1479, - 1355, 1481, 1363, 1482, 1484, 1957, 1485, 1486, 1487, 1490, + 1355, 1481, 1363, 1482, 1484, 1961, 1485, 1486, 1487, 1490, 1488, 1480, 1355, 1489, 1465, 1491, 1492, 1493, 1494, 1495, 1355, 1496, 1498, 1500, 1501, 1355, 1503, 1504, 1355, 1505, - 1506, 1355, 1484, 1957, 1507, 1508, 1509, 1355, 1510, 1511, + 1506, 1355, 1484, 1961, 1507, 1508, 1509, 1355, 1510, 1511, 1355, 1401, 1401, 1401, 1512, 1513, 1516, 1514, 1515, 1517, 1518, 1519, 1520, 1521, 1503, 1504, 1522, 1505, 1506, 1523, 1524, 1525, 1507, 1508, 1509, 1526, 1510, 1511, 1527, 1528, @@ -1255,10 +1258,10 @@ static yyconst flex_uint16_t yy_nxt[3520] = 1557, 1557, 1557, 1557, 1557, 1559, 1560, 1562, 1563, 1564, 1565, 1566, 1569, 1567, 1561, 1571, 1572, 1366, 1366, 1464, - 1568, 1573, 1574, 1957, 1577, 1578, 1581, 1579, 1570, 1576, + 1568, 1573, 1574, 1961, 1577, 1578, 1581, 1579, 1570, 1576, 1576, 1576, 1576, 1576, 1576, 1580, 1582, 1587, 1583, 1588, 1589, 1591, 1592, 1584, 1593, 1498, 1590, 1465, 1596, 1597, - 1598, 1957, 1585, 1599, 1600, 1601, 1586, 1602, 1603, 1604, + 1598, 1961, 1585, 1599, 1600, 1601, 1586, 1602, 1603, 1604, 1604, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1618, 1619, 1596, 1597, 1598, 1621, 1622, 1599, 1600, 1601, 1623, 1602, 1603, 1624, 1626, 1628, @@ -1275,187 +1278,188 @@ static yyconst flex_uint16_t yy_nxt[3520] = 1687, 1604, 1604, 1604, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1617, 1617, 1617, 1617, 1617, 1617, - 1702, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1699, - 1705, 1706, 1689, 1690, 1691, 1692, 1703, 1700, 1701, 1701, - 1701, 1701, 1701, 1701, 1704, 1707, 1708, 1709, 1710, 1688, - 1627, 1627, 1627, 1627, 1627, 1627, 1711, 1713, 1713, 1713, - 1713, 1713, 1713, 1714, 1712, 1715, 1716, 1640, 1718, 1719, + 1706, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1699, + 1707, 1702, 1689, 1690, 1691, 1692, 1703, 1700, 1701, 1701, + 1701, 1701, 1701, 1701, 1704, 1708, 1709, 1710, 1711, 1688, + 1715, 1712, 1705, 1627, 1627, 1627, 1627, 1627, 1627, 1713, + 1714, 1714, 1714, 1714, 1714, 1714, 1716, 1717, 1640, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1688, 1727, 1728, - 1729, 1730, 1659, 1659, 1659, 1659, 1659, 1659, 1731, 1732, - 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1739, 1739, 1739, - 1739, 1739, 1740, 1741, 1742, 1743, 1744, 1746, 1677, 1748, - 1679, 1749, 1751, 1752, 1745, 1750, 1750, 1750, 1753, 1754, - - 1755, 1747, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, - 1764, 1701, 1701, 1701, 1701, 1701, 1701, 1765, 1766, 1769, - 1751, 1752, 1770, 1771, 1772, 1767, 1753, 1754, 1755, 1774, - 1756, 1757, 1758, 1768, 1713, 1713, 1713, 1713, 1713, 1713, - 1773, 1775, 1776, 1778, 1779, 1779, 1779, 1779, 1779, 1779, - 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, - 1791, 1793, 1794, 1795, 1798, 1799, 1802, 1803, 1792, 1804, - 1806, 1809, 1797, 1796, 1739, 1739, 1739, 1739, 1739, 1739, - 1800, 1812, 1750, 1750, 1750, 1813, 1814, 1815, 1801, 1816, - 1817, 1818, 1819, 1821, 1822, 1823, 1825, 1826, 1780, 1827, - - 1828, 1829, 1830, 1824, 1832, 1834, 1835, 1836, 1837, 1812, - 1838, 1839, 1833, 1813, 1814, 1815, 1840, 1816, 1843, 1844, - 1845, 1846, 1807, 1810, 1811, 1831, 1831, 1831, 1831, 1831, - 1831, 1841, 1847, 1848, 1850, 1851, 1852, 1853, 1854, 1842, - 1849, 1849, 1849, 1849, 1849, 1849, 1806, 1809, 1855, 1856, - 1857, 1858, 1811, 1859, 1860, 1861, 1863, 1864, 1865, 1866, - 1868, 1870, 1871, 1872, 1831, 1831, 1831, 1831, 1831, 1831, - 1873, 1874, 1875, 1876, 1877, 1879, 1855, 1856, 1857, 1858, - 1880, 1859, 1878, 1881, 1882, 1883, 1884, 1885, 1849, 1849, - 1849, 1849, 1849, 1849, 1886, 1887, 1888, 1889, 1807, 1810, - - 1890, 1891, 1891, 1891, 1892, 1893, 1894, 1895, 1897, 1868, - 1957, 1898, 1869, 1896, 1896, 1896, 1896, 1896, 1896, 1899, - 1900, 1901, 1903, 1904, 1905, 1889, 1906, 1908, 1890, 1902, - 1910, 1911, 1892, 1893, 1912, 1867, 1913, 1867, 1914, 1891, - 1891, 1891, 1915, 1916, 1917, 1917, 1917, 1917, 1917, 1917, - 1918, 1919, 1920, 1921, 1922, 1924, 1925, 1908, 1957, 1926, - 1927, 1869, 1923, 1928, 1913, 1929, 1914, 1930, 1931, 1934, - 1915, 1935, 1936, 1940, 1090, 1941, 1942, 1938, 1091, 1909, - 1092, 1947, 1943, 1907, 1094, 1907, 1944, 1938, 1095, 1948, - 1949, 1952, 1020, 1929, 1019, 1930, 1931, 1018, 1017, 1016, - - 1015, 1014, 1090, 1013, 1012, 1011, 1091, 1010, 1092, 1909, - 1943, 1957, 1094, 1950, 1944, 1951, 1095, 1917, 1917, 1917, - 1917, 1917, 1917, 1932, 1932, 1932, 1932, 1932, 1932, 1939, - 1945, 1945, 1945, 1945, 1945, 1945, 1937, 1953, 1937, 1939, - 1954, 1950, 1955, 1951, 1945, 1945, 1945, 1945, 1945, 1945, - 1956, 1009, 1008, 1007, 1006, 1005, 1004, 1003, 1002, 1001, - 1000, 999, 998, 997, 996, 1953, 995, 994, 1954, 993, - 1955, 992, 991, 990, 989, 988, 987, 986, 1956, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, + 1729, 1730, 1731, 1659, 1659, 1659, 1659, 1659, 1659, 1732, + 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1740, 1740, + 1740, 1740, 1740, 1741, 1742, 1743, 1744, 1745, 1747, 1677, + 1749, 1679, 1750, 1752, 1753, 1746, 1751, 1751, 1751, 1754, + + 1755, 1756, 1748, 1757, 1758, 1759, 1760, 1761, 1762, 1763, + 1764, 1765, 1701, 1701, 1701, 1701, 1701, 1701, 1766, 1767, + 1768, 1752, 1753, 1771, 1772, 1773, 1769, 1754, 1755, 1756, + 1774, 1757, 1758, 1759, 1770, 1714, 1714, 1714, 1714, 1714, + 1714, 1775, 1776, 1777, 1778, 1780, 1781, 1781, 1781, 1781, + 1781, 1781, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, + 1791, 1792, 1793, 1795, 1796, 1797, 1800, 1801, 1804, 1805, + 1794, 1806, 1808, 1811, 1799, 1798, 1740, 1740, 1740, 1740, + 1740, 1740, 1802, 1814, 1751, 1751, 1751, 1815, 1816, 1817, + 1803, 1818, 1819, 1820, 1821, 1823, 1824, 1825, 1826, 1828, + + 1782, 1829, 1830, 1831, 1832, 1833, 1827, 1837, 1838, 1839, + 1835, 1814, 1840, 1841, 1842, 1815, 1816, 1817, 1836, 1818, + 1843, 1846, 1847, 1848, 1809, 1812, 1813, 1834, 1834, 1834, + 1834, 1834, 1834, 1844, 1849, 1850, 1851, 1853, 1854, 1855, + 1856, 1845, 1852, 1852, 1852, 1852, 1852, 1852, 1857, 1808, + 1811, 1858, 1859, 1860, 1813, 1861, 1862, 1863, 1864, 1866, + 1867, 1868, 1869, 1870, 1872, 1874, 1875, 1876, 1834, 1834, + 1834, 1834, 1834, 1834, 1877, 1878, 1879, 1880, 1881, 1858, + 1859, 1860, 1883, 1861, 1862, 1884, 1882, 1885, 1886, 1887, + 1888, 1889, 1852, 1852, 1852, 1852, 1852, 1852, 1890, 1891, + + 1892, 1809, 1812, 1893, 1894, 1895, 1895, 1895, 1896, 1897, + 1898, 1899, 1901, 1872, 1961, 1902, 1873, 1900, 1900, 1900, + 1900, 1900, 1900, 1903, 1904, 1905, 1907, 1908, 1909, 1910, + 1912, 1893, 1894, 1906, 1914, 1915, 1896, 1897, 1916, 1871, + 1917, 1871, 1918, 1919, 1895, 1895, 1895, 1920, 1921, 1921, + 1921, 1921, 1921, 1921, 1922, 1923, 1924, 1925, 1926, 1928, + 1929, 1961, 1912, 1930, 1931, 1873, 1927, 1932, 1917, 1933, + 1918, 1919, 1934, 1935, 1938, 1939, 1940, 1944, 1945, 1090, + 1946, 1947, 1913, 1091, 1942, 1092, 1911, 1948, 1911, 1094, + 1951, 1942, 1953, 1095, 1956, 1020, 1019, 1933, 1952, 1018, + + 1934, 1935, 1017, 1016, 1015, 1014, 1954, 1090, 1013, 1947, + 1012, 1091, 1011, 1092, 1913, 1948, 1010, 1094, 1009, 1961, + 1955, 1095, 1921, 1921, 1921, 1921, 1921, 1921, 1936, 1936, + 1936, 1936, 1936, 1936, 1954, 1957, 1943, 1949, 1949, 1949, + 1949, 1949, 1949, 1943, 1941, 1958, 1941, 1959, 1955, 1949, + 1949, 1949, 1949, 1949, 1949, 1960, 1008, 1007, 1006, 1005, + 1004, 1003, 1002, 1957, 1001, 1000, 999, 998, 997, 996, + 995, 994, 993, 1958, 992, 1959, 991, 990, 989, 988, + 987, 986, 982, 1960, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 75, 75, 982, 75, 75, 75, 75, 75, 75, + 72, 72, 72, 72, 72, 72, 75, 75, 981, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 99, 99, 99, 99, 99, 99, 99, + 75, 75, 75, 75, 75, 75, 75, 75, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 123, 981, 980, 979, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 228, 978, 977, 976, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 430, 430, 975, 430, 430, + 123, 980, 979, 978, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 228, 977, 976, 975, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 430, 430, 974, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, - 430, 430, 430, 430, 430, 430, 430, 608, 608, 974, + 430, 430, 608, 608, 957, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 1255, - 957, 956, 955, 1255, 1255, 1255, 1255, 1255, 954, 1255, - 1255, 1255, 1255, 1255, 1345, 951, 950, 949, 1345, 1345, - 1345, 1345, 1345, 948, 1345, 1345, 1345, 1345, 1345, 1346, - 947, 946, 1346, 945, 944, 943, 1346, 1346, 1346, 1346, - 1346, 940, 1346, 1346, 1346, 1346, 1346, 1354, 939, 938, - 937, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, - 1354, 1354, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, - 1361, 936, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, - - 1361, 1361, 1361, 1361, 1364, 1364, 1364, 1364, 1364, 1364, + 608, 608, 608, 608, 1255, 956, 955, 954, 1255, 1255, + 1255, 1255, 1255, 951, 1255, 1255, 1255, 1255, 1255, 1345, + 950, 949, 948, 1345, 1345, 1345, 1345, 1345, 947, 1345, + 1345, 1345, 1345, 1345, 1346, 946, 945, 1346, 944, 943, + 940, 1346, 1346, 1346, 1346, 1346, 939, 1346, 1346, 1346, + 1346, 1346, 1354, 938, 937, 936, 1354, 1354, 1354, 1354, + 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1361, 1361, 1361, + 1361, 1361, 1361, 1361, 1361, 1361, 935, 1361, 1361, 1361, + + 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, - 1364, 1364, 1364, 1364, 1364, 1364, 1371, 935, 933, 1371, + 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, + 1364, 1371, 933, 932, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, - 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1386, 932, - 931, 930, 1386, 1386, 929, 928, 927, 923, 1386, 1386, - 1448, 922, 921, 1448, 918, 917, 916, 1448, 1448, 1448, - 1448, 1448, 915, 1448, 1448, 1448, 1448, 1448, 1449, 914, - 913, 1449, 1449, 912, 911, 910, 1449, 909, 1449, 906, - 905, 904, 1449, 903, 1449, 1456, 1456, 1456, 902, 901, - - 900, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, - 1456, 1456, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, + 1371, 1371, 1371, 1386, 931, 930, 929, 1386, 1386, 928, + 927, 923, 922, 1386, 1386, 1448, 921, 918, 1448, 917, + 916, 915, 1448, 1448, 1448, 1448, 1448, 914, 1448, 1448, + 1448, 1448, 1448, 1449, 913, 912, 1449, 1449, 911, 910, + 909, 1449, 906, 1449, 905, 904, 903, 1449, 902, 1449, + + 1456, 1456, 1456, 901, 900, 899, 1456, 1456, 1456, 1456, + 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1483, 899, 898, 897, 1483, 1483, - 896, 895, 1483, 894, 1483, 1483, 893, 892, 1483, 1497, - 1497, 891, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, + 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1483, + 898, 897, 896, 1483, 1483, 895, 894, 1483, 893, 1483, + 1483, 892, 891, 1483, 1497, 1497, 890, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, - 1497, 1556, 1556, 1556, 1556, 1556, 1575, 890, 889, 888, - 1575, 1575, 887, 886, 885, 884, 1575, 1575, 1594, 1594, - 1594, 1594, 1594, 883, 1594, 1594, 1594, 1594, 1594, 1595, - - 1595, 1595, 1595, 1595, 882, 1595, 1595, 1595, 1595, 1595, - 1639, 879, 876, 875, 874, 1639, 873, 872, 868, 867, - 866, 865, 1639, 1639, 1639, 1639, 1639, 1658, 864, 863, - 862, 1658, 1658, 859, 858, 857, 856, 1658, 1658, 1676, - 855, 1676, 1676, 854, 853, 1676, 1676, 1676, 1676, 1676, - 1676, 1676, 1676, 1676, 1676, 1676, 1678, 852, 1678, 1678, - 851, 850, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, - 1678, 1678, 1678, 1717, 849, 848, 1717, 1717, 1717, 1717, - 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, - 1717, 1717, 1717, 1717, 1717, 1777, 847, 846, 1777, 1777, - - 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, - 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1805, 1805, 845, - 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, - 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1808, - 1808, 844, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, - 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, - 1808, 1820, 1820, 1820, 1820, 1820, 843, 1820, 1820, 1820, - 1820, 1820, 1862, 842, 841, 840, 1862, 1862, 1862, 1862, - 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1867, 1867, 1867, - 1867, 1867, 1867, 1867, 1867, 1867, 839, 1867, 1867, 1867, - - 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 838, 1907, - 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, - 1907, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, - 1933, 1933, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, - 1937, 837, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, - 1937, 1937, 1937, 1937, 1946, 836, 835, 834, 1946, 1946, - 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 833, - 832, 831, 830, 829, 828, 827, 801, 798, 797, 796, - 795, 794, 793, 792, 791, 790, 789, 788, 787, 786, - - 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, - 431, 772, 771, 770, 769, 768, 767, 766, 765, 764, - 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, - 749, 747, 746, 745, 744, 743, 740, 739, 738, 737, - 736, 735, 734, 733, 732, 731, 730, 729, 728, 727, - 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, - 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, - 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, - 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, - 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, - - 676, 674, 673, 672, 671, 670, 669, 668, 667, 638, - 637, 636, 633, 632, 631, 630, 629, 628, 627, 626, - 625, 622, 621, 620, 619, 618, 614, 613, 612, 431, - 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, - 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, - 586, 585, 584, 583, 581, 580, 579, 578, 577, 576, - 575, 572, 571, 570, 569, 568, 567, 566, 565, 564, - 563, 562, 561, 560, 559, 558, 557, 556, 555, 552, - 551, 548, 547, 546, 545, 544, 543, 542, 541, 540, - 539, 538, 537, 536, 535, 534, 533, 532, 531, 529, - - 528, 527, 524, 523, 522, 521, 520, 519, 518, 517, - 516, 515, 514, 513, 512, 511, 510, 507, 503, 502, - 501, 499, 498, 497, 496, 495, 494, 493, 492, 491, - 490, 489, 488, 456, 455, 454, 453, 452, 451, 446, - 445, 444, 443, 442, 441, 440, 437, 436, 435, 434, - 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, - 419, 418, 417, 416, 415, 414, 413, 412, 408, 407, - 401, 400, 392, 391, 386, 374, 370, 369, 366, 360, - 359, 358, 352, 349, 348, 347, 346, 345, 344, 343, - 342, 340, 339, 335, 334, 333, 330, 328, 324, 323, - - 318, 317, 315, 314, 313, 311, 310, 305, 304, 274, - 273, 272, 271, 1957, 265, 256, 255, 248, 244, 243, - 231, 226, 204, 186, 119, 114, 107, 102, 98, 71, - 1957, 3, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957 + 1497, 1497, 1497, 1497, 1497, 1497, 1556, 1556, 1556, 1556, + 1556, 1575, 889, 888, 887, 1575, 1575, 886, 885, 884, + 883, 1575, 1575, 1594, 1594, 1594, 1594, 1594, 882, 1594, + + 1594, 1594, 1594, 1594, 1595, 1595, 1595, 1595, 1595, 879, + 1595, 1595, 1595, 1595, 1595, 1639, 876, 875, 874, 873, + 1639, 872, 868, 867, 866, 865, 864, 1639, 1639, 1639, + 1639, 1639, 1658, 863, 862, 859, 1658, 1658, 858, 857, + 856, 855, 1658, 1658, 1676, 854, 1676, 1676, 853, 852, + 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, + 1676, 1678, 851, 1678, 1678, 850, 849, 1678, 1678, 1678, + 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1718, 848, + 847, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, + 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, + + 1779, 846, 845, 1779, 1779, 1779, 1779, 1779, 1779, 1779, + 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, + 1779, 1779, 1807, 1807, 844, 1807, 1807, 1807, 1807, 1807, + 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, + 1807, 1807, 1807, 1807, 1810, 1810, 843, 1810, 1810, 1810, + 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, + 1810, 1810, 1810, 1810, 1810, 1810, 1822, 1822, 1822, 1822, + 1822, 842, 1822, 1822, 1822, 1822, 1822, 1865, 841, 840, + 839, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, + 1865, 1865, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, + + 1871, 838, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, + 1871, 1871, 1871, 1871, 1911, 1911, 1911, 1911, 1911, 1911, + 1911, 1911, 1911, 837, 1911, 1911, 1911, 1911, 1911, 1911, + 1911, 1911, 1911, 1911, 1911, 1911, 1937, 1937, 1937, 1937, + 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1941, 1941, 1941, + 1941, 1941, 1941, 1941, 1941, 1941, 836, 1941, 1941, 1941, + 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1950, + 835, 834, 833, 1950, 1950, 1950, 1950, 1950, 1950, 1950, + 1950, 1950, 1950, 1950, 832, 831, 830, 829, 828, 827, + 801, 798, 797, 796, 795, 794, 793, 792, 791, 790, + + 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, + 779, 778, 777, 776, 431, 772, 771, 770, 769, 768, + 767, 766, 765, 764, 759, 758, 757, 756, 755, 754, + 753, 752, 751, 750, 749, 747, 746, 745, 744, 743, + 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, + 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, + 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, + 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, + 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, + 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, + + 680, 679, 678, 677, 676, 674, 673, 672, 671, 670, + 669, 668, 667, 638, 637, 636, 633, 632, 631, 630, + 629, 628, 627, 626, 625, 622, 621, 620, 619, 618, + 614, 613, 612, 431, 606, 605, 604, 603, 602, 601, + 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, + 590, 589, 588, 587, 586, 585, 584, 583, 581, 580, + 579, 578, 577, 576, 575, 572, 571, 570, 569, 568, + 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, + 557, 556, 555, 552, 551, 548, 547, 546, 545, 544, + 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, + + 533, 532, 531, 529, 528, 527, 524, 523, 522, 521, + 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, + 510, 507, 503, 502, 501, 499, 498, 497, 496, 495, + 494, 493, 492, 491, 490, 489, 488, 456, 455, 454, + 453, 452, 451, 446, 445, 444, 443, 442, 441, 440, + 437, 436, 435, 434, 429, 428, 427, 426, 425, 424, + 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, + 413, 412, 408, 407, 401, 400, 392, 391, 386, 374, + 370, 369, 366, 360, 359, 358, 352, 349, 348, 347, + 346, 345, 344, 343, 342, 340, 339, 335, 334, 333, + + 330, 328, 324, 323, 318, 317, 315, 314, 313, 311, + 310, 305, 304, 274, 273, 272, 271, 1961, 265, 256, + 255, 248, 244, 243, 231, 226, 204, 186, 119, 114, + 107, 102, 98, 71, 1961, 3, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961 } ; -static yyconst flex_int16_t yy_chk[3520] = +static yyconst flex_int16_t yy_chk[3524] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1666,184 +1670,185 @@ static yyconst flex_int16_t yy_chk[3520] = 1603, 1604, 1604, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1613, 1614, 1616, 1617, 1617, 1617, 1617, 1617, 1617, - 1621, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1619, - 1623, 1624, 1605, 1606, 1607, 1608, 1622, 1619, 1620, 1620, + 1623, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1619, + 1624, 1621, 1605, 1606, 1607, 1608, 1621, 1619, 1620, 1620, 1620, 1620, 1620, 1620, 1622, 1626, 1628, 1629, 1630, 1604, - 1627, 1627, 1627, 1627, 1627, 1627, 1632, 1633, 1633, 1633, - 1633, 1633, 1633, 1636, 1632, 1637, 1638, 1639, 1641, 1642, - 1645, 1646, 1647, 1648, 1650, 1651, 1652, 1604, 1653, 1654, - 1656, 1657, 1659, 1659, 1659, 1659, 1659, 1659, 1660, 1661, - 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1669, 1669, 1669, - 1669, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, - 1678, 1679, 1681, 1682, 1674, 1680, 1680, 1680, 1684, 1686, - - 1688, 1675, 1689, 1690, 1692, 1693, 1694, 1696, 1697, 1699, - 1700, 1701, 1701, 1701, 1701, 1701, 1701, 1702, 1703, 1707, - 1681, 1682, 1708, 1709, 1711, 1705, 1684, 1686, 1688, 1714, - 1689, 1690, 1692, 1705, 1713, 1713, 1713, 1713, 1713, 1713, - 1713, 1715, 1716, 1718, 1720, 1720, 1720, 1720, 1720, 1720, - 1722, 1724, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, - 1734, 1735, 1736, 1738, 1741, 1742, 1744, 1746, 1734, 1747, - 1748, 1749, 1739, 1738, 1739, 1739, 1739, 1739, 1739, 1739, - 1743, 1751, 1750, 1750, 1750, 1753, 1754, 1755, 1743, 1756, - 1759, 1761, 1762, 1765, 1767, 1769, 1770, 1771, 1720, 1773, - - 1775, 1776, 1778, 1769, 1780, 1781, 1782, 1783, 1784, 1751, - 1785, 1786, 1780, 1753, 1754, 1755, 1787, 1756, 1789, 1791, - 1793, 1794, 1748, 1749, 1750, 1779, 1779, 1779, 1779, 1779, - 1779, 1788, 1795, 1796, 1798, 1799, 1800, 1803, 1804, 1788, - 1797, 1797, 1797, 1797, 1797, 1797, 1805, 1808, 1811, 1812, - 1813, 1815, 1750, 1816, 1817, 1819, 1821, 1823, 1825, 1826, - 1827, 1828, 1829, 1830, 1831, 1831, 1831, 1831, 1831, 1831, - 1832, 1834, 1835, 1837, 1839, 1840, 1811, 1812, 1813, 1815, - 1841, 1816, 1839, 1843, 1845, 1846, 1847, 1848, 1849, 1849, - 1849, 1849, 1849, 1849, 1851, 1853, 1854, 1855, 1805, 1808, - - 1856, 1857, 1857, 1857, 1858, 1859, 1860, 1863, 1866, 1867, - 1869, 1871, 1827, 1865, 1865, 1865, 1865, 1865, 1865, 1872, - 1876, 1877, 1878, 1879, 1881, 1855, 1882, 1883, 1856, 1877, - 1886, 1887, 1858, 1859, 1888, 1869, 1889, 1869, 1890, 1891, - 1891, 1891, 1892, 1895, 1896, 1896, 1896, 1896, 1896, 1896, - 1897, 1899, 1901, 1903, 1904, 1905, 1906, 1907, 1909, 1910, - 1911, 1867, 1904, 1912, 1889, 1913, 1890, 1914, 1915, 1921, - 1892, 1922, 1924, 1926, 1891, 1927, 1928, 1925, 1891, 1883, - 1891, 1936, 1929, 1909, 1891, 1909, 1931, 1937, 1891, 1936, - 1940, 1947, 889, 1913, 888, 1914, 1915, 887, 886, 884, - - 883, 882, 1891, 881, 880, 879, 1891, 878, 1891, 1907, - 1929, 1939, 1891, 1943, 1931, 1944, 1891, 1917, 1917, 1917, - 1917, 1917, 1917, 1918, 1918, 1918, 1918, 1918, 1918, 1925, - 1932, 1932, 1932, 1932, 1932, 1932, 1939, 1950, 1939, 1937, - 1951, 1943, 1953, 1944, 1945, 1945, 1945, 1945, 1945, 1945, - 1955, 877, 875, 873, 872, 871, 870, 868, 867, 866, - 865, 864, 863, 862, 861, 1950, 860, 858, 1951, 857, - 1953, 855, 853, 852, 850, 847, 846, 844, 1955, 1958, - 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, - 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, - - 1958, 1959, 1959, 842, 1959, 1959, 1959, 1959, 1959, 1959, - 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, - 1959, 1959, 1959, 1960, 1960, 1960, 1960, 1960, 1960, 1960, - 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, - 1960, 1960, 1960, 1960, 1960, 1961, 837, 836, 834, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1962, 833, 832, 830, 1962, 1962, 1962, 1962, 1962, 1962, - 1962, 1962, 1962, 1962, 1962, 1963, 1963, 829, 1963, 1963, + 1636, 1632, 1622, 1627, 1627, 1627, 1627, 1627, 1627, 1632, + 1633, 1633, 1633, 1633, 1633, 1633, 1637, 1638, 1639, 1641, + 1642, 1645, 1646, 1647, 1648, 1650, 1651, 1604, 1652, 1653, + 1654, 1656, 1657, 1659, 1659, 1659, 1659, 1659, 1659, 1660, + 1661, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1669, 1669, + 1669, 1669, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, + 1677, 1678, 1679, 1681, 1682, 1674, 1680, 1680, 1680, 1684, + + 1686, 1688, 1675, 1689, 1690, 1692, 1693, 1694, 1696, 1697, + 1699, 1700, 1701, 1701, 1701, 1701, 1701, 1701, 1702, 1703, + 1704, 1681, 1682, 1708, 1709, 1710, 1706, 1684, 1686, 1688, + 1712, 1689, 1690, 1692, 1706, 1714, 1714, 1714, 1714, 1714, + 1714, 1714, 1715, 1716, 1717, 1719, 1721, 1721, 1721, 1721, + 1721, 1721, 1723, 1725, 1727, 1728, 1729, 1730, 1731, 1732, + 1733, 1734, 1735, 1736, 1737, 1739, 1742, 1743, 1745, 1747, + 1735, 1748, 1749, 1750, 1740, 1739, 1740, 1740, 1740, 1740, + 1740, 1740, 1744, 1752, 1751, 1751, 1751, 1754, 1755, 1756, + 1744, 1757, 1760, 1762, 1763, 1766, 1767, 1769, 1771, 1772, + + 1721, 1773, 1775, 1777, 1778, 1780, 1771, 1783, 1784, 1785, + 1782, 1752, 1786, 1787, 1788, 1754, 1755, 1756, 1782, 1757, + 1789, 1791, 1793, 1795, 1749, 1750, 1751, 1781, 1781, 1781, + 1781, 1781, 1781, 1790, 1796, 1797, 1798, 1800, 1801, 1802, + 1805, 1790, 1799, 1799, 1799, 1799, 1799, 1799, 1806, 1807, + 1810, 1813, 1814, 1815, 1751, 1817, 1818, 1819, 1821, 1823, + 1824, 1826, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1834, + 1834, 1834, 1834, 1834, 1835, 1837, 1838, 1840, 1842, 1813, + 1814, 1815, 1843, 1817, 1818, 1844, 1842, 1846, 1848, 1849, + 1850, 1851, 1852, 1852, 1852, 1852, 1852, 1852, 1854, 1856, + + 1857, 1807, 1810, 1858, 1859, 1860, 1860, 1860, 1861, 1862, + 1863, 1866, 1870, 1871, 1873, 1875, 1830, 1869, 1869, 1869, + 1869, 1869, 1869, 1876, 1880, 1881, 1882, 1883, 1885, 1886, + 1887, 1858, 1859, 1881, 1890, 1891, 1861, 1862, 1892, 1873, + 1893, 1873, 1894, 1896, 1895, 1895, 1895, 1899, 1900, 1900, + 1900, 1900, 1900, 1900, 1901, 1903, 1905, 1907, 1908, 1909, + 1910, 1913, 1911, 1914, 1915, 1871, 1908, 1916, 1893, 1917, + 1894, 1896, 1918, 1919, 1925, 1926, 1928, 1930, 1931, 1895, + 1932, 1933, 1887, 1895, 1929, 1895, 1913, 1935, 1913, 1895, + 1940, 1941, 1944, 1895, 1951, 889, 888, 1917, 1940, 887, + + 1918, 1919, 886, 884, 883, 882, 1947, 1895, 881, 1933, + 880, 1895, 879, 1895, 1911, 1935, 878, 1895, 877, 1943, + 1948, 1895, 1921, 1921, 1921, 1921, 1921, 1921, 1922, 1922, + 1922, 1922, 1922, 1922, 1947, 1954, 1929, 1936, 1936, 1936, + 1936, 1936, 1936, 1941, 1943, 1955, 1943, 1957, 1948, 1949, + 1949, 1949, 1949, 1949, 1949, 1959, 875, 873, 872, 871, + 870, 868, 867, 1954, 866, 865, 864, 863, 862, 861, + 860, 858, 857, 1955, 855, 1957, 853, 852, 850, 847, + 846, 844, 842, 1959, 1962, 1962, 1962, 1962, 1962, 1962, + 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, + + 1962, 1962, 1962, 1962, 1962, 1962, 1963, 1963, 837, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, - 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1964, 1964, 828, - + 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1964, 1964, + 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, - 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1965, - 804, 803, 802, 1965, 1965, 1965, 1965, 1965, 801, 1965, - 1965, 1965, 1965, 1965, 1966, 799, 798, 797, 1966, 1966, - 1966, 1966, 1966, 796, 1966, 1966, 1966, 1966, 1966, 1967, - 795, 794, 1967, 793, 792, 791, 1967, 1967, 1967, 1967, - 1967, 789, 1967, 1967, 1967, 1967, 1967, 1968, 788, 787, - 786, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, - 1968, 1968, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, - 1969, 785, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, - - 1969, 1969, 1969, 1969, 1970, 1970, 1970, 1970, 1970, 1970, - 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, - 1970, 1970, 1970, 1970, 1970, 1970, 1971, 784, 782, 1971, - 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, - 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1972, 781, - 780, 779, 1972, 1972, 778, 777, 776, 772, 1972, 1972, - 1973, 771, 770, 1973, 767, 766, 765, 1973, 1973, 1973, - 1973, 1973, 764, 1973, 1973, 1973, 1973, 1973, 1974, 763, - 762, 1974, 1974, 761, 760, 759, 1974, 758, 1974, 756, - 755, 754, 1974, 753, 1974, 1975, 1975, 1975, 751, 750, - - 749, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, - 1975, 1975, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1977, 747, 746, 745, 1977, 1977, - 744, 743, 1977, 742, 1977, 1977, 741, 739, 1977, 1978, - 1978, 738, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, - 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, - 1978, 1979, 1979, 1979, 1979, 1979, 1980, 736, 735, 734, - 1980, 1980, 733, 731, 730, 729, 1980, 1980, 1981, 1981, - 1981, 1981, 1981, 728, 1981, 1981, 1981, 1981, 1981, 1982, - - 1982, 1982, 1982, 1982, 727, 1982, 1982, 1982, 1982, 1982, - 1983, 725, 723, 721, 720, 1983, 719, 718, 716, 715, - 713, 712, 1983, 1983, 1983, 1983, 1983, 1984, 711, 710, - 709, 1984, 1984, 706, 705, 704, 703, 1984, 1984, 1985, - 702, 1985, 1985, 701, 700, 1985, 1985, 1985, 1985, 1985, - 1985, 1985, 1985, 1985, 1985, 1985, 1986, 699, 1986, 1986, - 698, 697, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, - 1986, 1986, 1986, 1987, 696, 695, 1987, 1987, 1987, 1987, - 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, - 1987, 1987, 1987, 1987, 1987, 1988, 694, 693, 1988, 1988, - - 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, - 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1989, 1989, 691, + 1965, 836, 834, 833, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1966, 832, 830, 829, 1966, + 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1967, 1967, 828, 1967, 1967, 1967, 1967, 1967, 1967, 1967, + 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, + + 1967, 1967, 1968, 1968, 804, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1969, 803, 802, 801, 1969, 1969, + 1969, 1969, 1969, 799, 1969, 1969, 1969, 1969, 1969, 1970, + 798, 797, 796, 1970, 1970, 1970, 1970, 1970, 795, 1970, + 1970, 1970, 1970, 1970, 1971, 794, 793, 1971, 792, 791, + 789, 1971, 1971, 1971, 1971, 1971, 788, 1971, 1971, 1971, + 1971, 1971, 1972, 787, 786, 785, 1972, 1972, 1972, 1972, + 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1973, 1973, 1973, + 1973, 1973, 1973, 1973, 1973, 1973, 784, 1973, 1973, 1973, + + 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1975, 782, 781, 1975, 1975, 1975, 1975, 1975, 1975, + 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, + 1975, 1975, 1975, 1976, 780, 779, 778, 1976, 1976, 777, + 776, 772, 771, 1976, 1976, 1977, 770, 767, 1977, 766, + 765, 764, 1977, 1977, 1977, 1977, 1977, 763, 1977, 1977, + 1977, 1977, 1977, 1978, 762, 761, 1978, 1978, 760, 759, + 758, 1978, 756, 1978, 755, 754, 753, 1978, 751, 1978, + + 1979, 1979, 1979, 750, 749, 747, 1979, 1979, 1979, 1979, + 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1981, + 746, 745, 744, 1981, 1981, 743, 742, 1981, 741, 1981, + 1981, 739, 738, 1981, 1982, 1982, 736, 1982, 1982, 1982, + 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, + 1982, 1982, 1982, 1982, 1982, 1982, 1983, 1983, 1983, 1983, + 1983, 1984, 735, 734, 733, 1984, 1984, 731, 730, 729, + 728, 1984, 1984, 1985, 1985, 1985, 1985, 1985, 727, 1985, + + 1985, 1985, 1985, 1985, 1986, 1986, 1986, 1986, 1986, 725, + 1986, 1986, 1986, 1986, 1986, 1987, 723, 721, 720, 719, + 1987, 718, 716, 715, 713, 712, 711, 1987, 1987, 1987, + 1987, 1987, 1988, 710, 709, 706, 1988, 1988, 705, 704, + 703, 702, 1988, 1988, 1989, 701, 1989, 1989, 700, 699, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, - 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1990, - 1990, 690, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, - 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, - 1990, 1991, 1991, 1991, 1991, 1991, 688, 1991, 1991, 1991, - 1991, 1991, 1992, 687, 686, 685, 1992, 1992, 1992, 1992, - 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1993, 1993, 1993, - 1993, 1993, 1993, 1993, 1993, 1993, 684, 1993, 1993, 1993, - - 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1994, - 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 683, 1994, + 1989, 1990, 698, 1990, 1990, 697, 696, 1990, 1990, 1990, + 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1991, 695, + 694, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, + 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, + + 1992, 693, 691, 1992, 1992, 1992, 1992, 1992, 1992, 1992, + 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, + 1992, 1992, 1993, 1993, 690, 1993, 1993, 1993, 1993, 1993, + 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, + 1993, 1993, 1993, 1993, 1994, 1994, 688, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, - 1994, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, - 1995, 1995, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, - 1996, 682, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, - 1996, 1996, 1996, 1996, 1997, 681, 680, 679, 1997, 1997, - 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 678, - 676, 675, 673, 672, 669, 668, 637, 634, 633, 632, - 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, - - 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, - 610, 606, 605, 604, 603, 602, 601, 599, 598, 597, - 595, 594, 593, 592, 591, 590, 589, 588, 585, 584, - 583, 581, 579, 578, 577, 576, 573, 571, 570, 569, - 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, - 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, - 548, 547, 546, 545, 543, 542, 541, 540, 539, 538, - 537, 535, 534, 532, 531, 530, 529, 528, 527, 526, - 525, 524, 523, 522, 521, 519, 517, 516, 515, 514, - 513, 512, 510, 509, 508, 507, 506, 504, 503, 502, - - 501, 496, 494, 493, 492, 491, 490, 489, 488, 456, - 455, 454, 452, 451, 450, 449, 448, 447, 446, 445, - 444, 442, 441, 440, 439, 438, 436, 435, 434, 430, - 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, - 419, 418, 417, 416, 415, 414, 412, 411, 410, 409, - 408, 407, 406, 405, 403, 402, 401, 400, 398, 397, - 396, 394, 393, 392, 390, 389, 388, 387, 386, 385, - 384, 383, 382, 381, 380, 379, 378, 377, 375, 373, - 372, 370, 369, 368, 367, 366, 364, 363, 362, 361, - 360, 359, 358, 357, 355, 354, 353, 352, 351, 349, - - 348, 347, 345, 344, 343, 341, 340, 339, 337, 336, - 335, 334, 333, 331, 330, 329, 328, 326, 323, 322, - 320, 318, 317, 316, 315, 314, 313, 312, 311, 310, - 307, 306, 305, 265, 264, 263, 262, 261, 260, 257, - 256, 255, 254, 253, 252, 251, 249, 248, 247, 246, - 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, - 234, 233, 232, 231, 230, 229, 226, 225, 222, 221, - 217, 216, 212, 211, 208, 204, 201, 199, 197, 195, - 194, 193, 190, 188, 186, 185, 184, 183, 182, 181, - 180, 178, 177, 175, 174, 173, 171, 169, 167, 166, - - 164, 163, 161, 160, 159, 157, 156, 152, 151, 122, - 121, 118, 115, 101, 97, 93, 92, 88, 86, 85, - 81, 68, 62, 55, 26, 23, 20, 16, 12, 7, - 3, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957 + 1994, 1994, 1994, 1994, 1994, 1994, 1995, 1995, 1995, 1995, + 1995, 687, 1995, 1995, 1995, 1995, 1995, 1996, 686, 685, + 684, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, + + 1997, 683, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, + 1997, 1997, 1997, 1997, 1998, 1998, 1998, 1998, 1998, 1998, + 1998, 1998, 1998, 682, 1998, 1998, 1998, 1998, 1998, 1998, + 1998, 1998, 1998, 1998, 1998, 1998, 1999, 1999, 1999, 1999, + 1999, 1999, 1999, 1999, 1999, 1999, 1999, 2000, 2000, 2000, + 2000, 2000, 2000, 2000, 2000, 2000, 681, 2000, 2000, 2000, + 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2001, + 680, 679, 678, 2001, 2001, 2001, 2001, 2001, 2001, 2001, + 2001, 2001, 2001, 2001, 676, 675, 673, 672, 669, 668, + 637, 634, 633, 632, 631, 630, 629, 628, 627, 626, + + 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, + 615, 614, 613, 612, 610, 606, 605, 604, 603, 602, + 601, 599, 598, 597, 595, 594, 593, 592, 591, 590, + 589, 588, 585, 584, 583, 581, 579, 578, 577, 576, + 573, 571, 570, 569, 568, 567, 566, 565, 564, 563, + 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, + 552, 551, 550, 549, 548, 547, 546, 545, 543, 542, + 541, 540, 539, 538, 537, 535, 534, 532, 531, 530, + 529, 528, 527, 526, 525, 524, 523, 522, 521, 519, + 517, 516, 515, 514, 513, 512, 510, 509, 508, 507, + + 506, 504, 503, 502, 501, 496, 494, 493, 492, 491, + 490, 489, 488, 456, 455, 454, 452, 451, 450, 449, + 448, 447, 446, 445, 444, 442, 441, 440, 439, 438, + 436, 435, 434, 430, 429, 428, 427, 426, 425, 424, + 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, + 412, 411, 410, 409, 408, 407, 406, 405, 403, 402, + 401, 400, 398, 397, 396, 394, 393, 392, 390, 389, + 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, + 378, 377, 375, 373, 372, 370, 369, 368, 367, 366, + 364, 363, 362, 361, 360, 359, 358, 357, 355, 354, + + 353, 352, 351, 349, 348, 347, 345, 344, 343, 341, + 340, 339, 337, 336, 335, 334, 333, 331, 330, 329, + 328, 326, 323, 322, 320, 318, 317, 316, 315, 314, + 313, 312, 311, 310, 307, 306, 305, 265, 264, 263, + 262, 261, 260, 257, 256, 255, 254, 253, 252, 251, + 249, 248, 247, 246, 244, 243, 242, 241, 240, 239, + 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, + 226, 225, 222, 221, 217, 216, 212, 211, 208, 204, + 201, 199, 197, 195, 194, 193, 190, 188, 186, 185, + 184, 183, 182, 181, 180, 178, 177, 175, 174, 173, + + 171, 169, 167, 166, 164, 163, 161, 160, 159, 157, + 156, 152, 151, 122, 121, 118, 115, 101, 97, 93, + 92, 88, 86, 85, 81, 68, 62, 55, 26, 23, + 20, 16, 12, 7, 3, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961 } ; /* The intent behind this definition is that it'll catch @@ -1867,6 +1872,7 @@ static yyconst flex_int16_t yy_chk[3520] = * * History * + * bengsig 29-jul-2024 - $connecterror:fail * bengsig 4-jun-2024 - $ora01013:break * bengsig 10-may-2023 - $musymbolfromstring directive * bengsig 17-apr-2024 - -= @@ -1964,7 +1970,7 @@ static yyconst flex_int16_t yy_chk[3520] = * bengsig 06-feb-2018 - added ociping * bengsig 10-feb-2017 - creation */ -#line 113 "rwllexer.l" +#line 114 "rwllexer.l" #include "rwl.h" #include "rwlparser.tab.h" @@ -1977,7 +1983,7 @@ static yyconst flex_int16_t yy_chk[3520] = rwm->rwlytext = (text *)yytext; \ } -#line 1981 "lex.rwly.c" +#line 1987 "lex.rwly.c" #define INITIAL 0 @@ -2250,7 +2256,7 @@ YY_DECL } { -#line 131 "rwllexer.l" +#line 132 "rwllexer.l" @@ -2262,7 +2268,7 @@ YY_DECL /* **************************************************************** */ /*LEXTAG:RWL_T_SQL_TEXT*/ -#line 2266 "lex.rwly.c" +#line 2272 "lex.rwly.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2289,13 +2295,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1958 ) + if ( yy_current_state >= 1962 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 3432 ); + while ( yy_base[yy_current_state] != 3436 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -2321,128 +2327,128 @@ YY_DECL case 1: /* rule 1 can match eol */ -#line 143 "rwllexer.l" +#line 144 "rwllexer.l" case 2: /* rule 2 can match eol */ -#line 144 "rwllexer.l" +#line 145 "rwllexer.l" case 3: /* rule 3 can match eol */ -#line 145 "rwllexer.l" +#line 146 "rwllexer.l" case 4: /* rule 4 can match eol */ -#line 146 "rwllexer.l" +#line 147 "rwllexer.l" case 5: /* rule 5 can match eol */ -#line 147 "rwllexer.l" +#line 148 "rwllexer.l" case 6: /* rule 6 can match eol */ -#line 148 "rwllexer.l" +#line 149 "rwllexer.l" case 7: /* rule 7 can match eol */ -#line 149 "rwllexer.l" +#line 150 "rwllexer.l" case 8: /* rule 8 can match eol */ -#line 150 "rwllexer.l" +#line 151 "rwllexer.l" case 9: /* rule 9 can match eol */ -#line 151 "rwllexer.l" +#line 152 "rwllexer.l" case 10: /* rule 10 can match eol */ -#line 152 "rwllexer.l" +#line 153 "rwllexer.l" case 11: /* rule 11 can match eol */ -#line 153 "rwllexer.l" +#line 154 "rwllexer.l" case 12: /* rule 12 can match eol */ -#line 154 "rwllexer.l" +#line 155 "rwllexer.l" case 13: /* rule 13 can match eol */ -#line 155 "rwllexer.l" +#line 156 "rwllexer.l" case 14: /* rule 14 can match eol */ -#line 156 "rwllexer.l" +#line 157 "rwllexer.l" case 15: /* rule 15 can match eol */ -#line 157 "rwllexer.l" +#line 158 "rwllexer.l" case 16: /* rule 16 can match eol */ -#line 158 "rwllexer.l" +#line 159 "rwllexer.l" case 17: /* rule 17 can match eol */ -#line 159 "rwllexer.l" +#line 160 "rwllexer.l" case 18: /* rule 18 can match eol */ -#line 160 "rwllexer.l" +#line 161 "rwllexer.l" case 19: /* rule 19 can match eol */ -#line 161 "rwllexer.l" +#line 162 "rwllexer.l" case 20: /* rule 20 can match eol */ -#line 162 "rwllexer.l" +#line 163 "rwllexer.l" case 21: /* rule 21 can match eol */ -#line 163 "rwllexer.l" +#line 164 "rwllexer.l" case 22: /* rule 22 can match eol */ -#line 164 "rwllexer.l" +#line 165 "rwllexer.l" case 23: /* rule 23 can match eol */ -#line 165 "rwllexer.l" +#line 166 "rwllexer.l" case 24: /* rule 24 can match eol */ -#line 166 "rwllexer.l" +#line 167 "rwllexer.l" case 25: /* rule 25 can match eol */ -#line 167 "rwllexer.l" +#line 168 "rwllexer.l" case 26: /* rule 26 can match eol */ -#line 168 "rwllexer.l" +#line 169 "rwllexer.l" case 27: /* rule 27 can match eol */ -#line 169 "rwllexer.l" +#line 170 "rwllexer.l" case 28: /* rule 28 can match eol */ -#line 170 "rwllexer.l" +#line 171 "rwllexer.l" case 29: /* rule 29 can match eol */ -#line 171 "rwllexer.l" +#line 172 "rwllexer.l" case 30: /* rule 30 can match eol */ -#line 172 "rwllexer.l" +#line 173 "rwllexer.l" case 31: /* rule 31 can match eol */ -#line 173 "rwllexer.l" +#line 174 "rwllexer.l" case 32: /* rule 32 can match eol */ -#line 174 "rwllexer.l" +#line 175 "rwllexer.l" case 33: /* rule 33 can match eol */ -#line 175 "rwllexer.l" +#line 176 "rwllexer.l" case 34: /* rule 34 can match eol */ -#line 176 "rwllexer.l" +#line 177 "rwllexer.l" case 35: /* rule 35 can match eol */ -#line 177 "rwllexer.l" +#line 178 "rwllexer.l" case 36: /* rule 36 can match eol */ -#line 178 "rwllexer.l" +#line 179 "rwllexer.l" case 37: /* rule 37 can match eol */ -#line 179 "rwllexer.l" +#line 180 "rwllexer.l" case 38: /* rule 38 can match eol */ -#line 180 "rwllexer.l" +#line 181 "rwllexer.l" case 39: /* rule 39 can match eol */ -#line 181 "rwllexer.l" +#line 182 "rwllexer.l" case 40: /* rule 40 can match eol */ -#line 182 "rwllexer.l" +#line 183 "rwllexer.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP -#line 182 "rwllexer.l" +#line 183 "rwllexer.l" { /* we match anything that can initiate SQL or PL/SQL. @@ -2461,7 +2467,7 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 198 "rwllexer.l" +#line 199 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -2471,7 +2477,7 @@ YY_RULE_SETUP case 43: /* rule 43 can match eol */ YY_RULE_SETUP -#line 204 "rwllexer.l" +#line 205 "rwllexer.l" { // Note that this flex input means that the input // consist of any number of either of the following // any character @@ -2488,12 +2494,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_T_DOUBLE_CONST*/ case 44: -#line 220 "rwllexer.l" -case 45: #line 221 "rwllexer.l" +case 45: +#line 222 "rwllexer.l" case 46: YY_RULE_SETUP -#line 221 "rwllexer.l" +#line 222 "rwllexer.l" { /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -2504,7 +2510,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_INTEGER_CONST*/ case 47: YY_RULE_SETUP -#line 230 "rwllexer.l" +#line 231 "rwllexer.l" { /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -2514,7 +2520,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 237 "rwllexer.l" +#line 238 "rwllexer.l" { /* make .. be a token even after an integer so that 1..10 is scanned as 1 .. 10 and not as 1. . 10 @@ -2529,43 +2535,43 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FUNCTION*/ case 49: YY_RULE_SETUP -#line 251 "rwllexer.l" +#line 252 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FUNCTION; } YY_BREAK /*LEXTAG:RWL_T_RETURN*/ case 50: YY_RULE_SETUP -#line 253 "rwllexer.l" +#line 254 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_RETURN; } YY_BREAK /*LEXTAG:RWL_T_EXIT*/ case 51: YY_RULE_SETUP -#line 255 "rwllexer.l" +#line 256 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_EXIT; } YY_BREAK /*LEXTAG:RWL_T_READLOB*/ case 52: YY_RULE_SETUP -#line 257 "rwllexer.l" +#line 258 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_READLOB; } YY_BREAK /*LEXTAG:RWL_T_WRITELOB*/ case 53: YY_RULE_SETUP -#line 259 "rwllexer.l" +#line 260 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_WRITELOB; } YY_BREAK /*LEXTAG:RWL_T_CLOB*/ case 54: YY_RULE_SETUP -#line 261 "rwllexer.l" +#line 262 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_CLOB; } YY_BREAK /*LEXTAG:RWL_T_BLOB*/ case 55: YY_RULE_SETUP -#line 263 "rwllexer.l" +#line 264 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_BLOB; } @@ -2576,7 +2582,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RAW*/ case 56: YY_RULE_SETUP -#line 270 "rwllexer.l" +#line 271 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_RAW; } @@ -2587,7 +2593,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_NCLOB*/ case 57: YY_RULE_SETUP -#line 277 "rwllexer.l" +#line 278 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_NCLOB; @@ -2596,7 +2602,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PUBLIC*/ case 58: YY_RULE_SETUP -#line 282 "rwllexer.l" +#line 283 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_PUBLIC; @@ -2605,7 +2611,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATE*/ case 59: YY_RULE_SETUP -#line 287 "rwllexer.l" +#line 288 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DATE; @@ -2614,7 +2620,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BREAK*/ case 60: YY_RULE_SETUP -#line 292 "rwllexer.l" +#line 293 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_BREAK; } @@ -2622,7 +2628,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_UNSIGNED*/ case 61: YY_RULE_SETUP -#line 296 "rwllexer.l" +#line 297 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_UNSIGNED; @@ -2631,7 +2637,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_HEXADECIMAL*/ case 62: YY_RULE_SETUP -#line 301 "rwllexer.l" +#line 302 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_HEXADECIMAL; @@ -2640,7 +2646,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCTAL*/ case 63: YY_RULE_SETUP -#line 306 "rwllexer.l" +#line 307 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_OCTAL; @@ -2649,7 +2655,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LOBPREFETCH*/ case 64: YY_RULE_SETUP -#line 311 "rwllexer.l" +#line 312 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_LOBPREFETCH; @@ -2658,7 +2664,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PRINTF*/ case 65: YY_RULE_SETUP -#line 316 "rwllexer.l" +#line 317 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_PRINTF; } @@ -2666,7 +2672,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SPRINTF*/ case 66: YY_RULE_SETUP -#line 320 "rwllexer.l" +#line 321 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SPRINTF; } @@ -2674,7 +2680,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FPRINTF*/ case 67: YY_RULE_SETUP -#line 324 "rwllexer.l" +#line 325 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FPRINTF; } @@ -2682,7 +2688,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ENCODE*/ case 68: YY_RULE_SETUP -#line 328 "rwllexer.l" +#line 329 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_ENCODE; @@ -2691,7 +2697,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DECODE*/ case 69: YY_RULE_SETUP -#line 333 "rwllexer.l" +#line 334 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DECODE; @@ -2700,7 +2706,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LEAK*/ case 70: YY_RULE_SETUP -#line 338 "rwllexer.l" +#line 339 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_LEAK; } @@ -2708,19 +2714,19 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ABORT*/ case 71: YY_RULE_SETUP -#line 342 "rwllexer.l" +#line 343 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ABORT; YY_BREAK /*LEXTAG:RWL_T_MODIFY*/ case 72: YY_RULE_SETUP -#line 344 "rwllexer.l" +#line 345 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_MODIFY; YY_BREAK /*LEXTAG:RWL_T_SQL*/ case 73: YY_RULE_SETUP -#line 346 "rwllexer.l" +#line 347 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SQL; } @@ -2728,25 +2734,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IGNOREERROR*/ case 74: YY_RULE_SETUP -#line 350 "rwllexer.l" +#line 351 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IGNOREERROR; YY_BREAK /*LEXTAG:RWL_T_CURSORCACHE*/ case 75: YY_RULE_SETUP -#line 352 "rwllexer.l" +#line 353 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_NOCURSORCACHE*/ case 76: YY_RULE_SETUP -#line 354 "rwllexer.l" +#line 355 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOCURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_CONNECT*/ case 77: YY_RULE_SETUP -#line 356 "rwllexer.l" +#line 357 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2756,7 +2762,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_USERNAME*/ case 78: YY_RULE_SETUP -#line 362 "rwllexer.l" +#line 363 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2766,7 +2772,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PASSWORD*/ case 79: YY_RULE_SETUP -#line 368 "rwllexer.l" +#line 369 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2776,7 +2782,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATABASE*/ case 80: YY_RULE_SETUP -#line 374 "rwllexer.l" +#line 375 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2786,25 +2792,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_REQUESTMARK*/ case 81: YY_RULE_SETUP -#line 380 "rwllexer.l" +#line 381 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REQUESTMARK; YY_BREAK /*LEXTAG:RWL_T_STATEMARK*/ case 82: YY_RULE_SETUP -#line 382 "rwllexer.l" +#line 383 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATEMARK; YY_BREAK /*LEXTAG:RWL_T_RELEASE*/ case 83: YY_RULE_SETUP -#line 384 "rwllexer.l" +#line 385 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RELEASE; YY_BREAK /*LEXTAG:RWL_T_SHARDKEY*/ case 84: YY_RULE_SETUP -#line 386 "rwllexer.l" +#line 387 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_SHARDKEY; @@ -2813,67 +2819,67 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCIPING*/ case 85: YY_RULE_SETUP -#line 391 "rwllexer.l" +#line 392 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCIPING; YY_BREAK /*LEXTAG:RWL_T_COMMIT*/ case 86: YY_RULE_SETUP -#line 393 "rwllexer.l" +#line 394 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COMMIT; YY_BREAK /*LEXTAG:RWL_T_ROLLBACK*/ case 87: YY_RULE_SETUP -#line 395 "rwllexer.l" +#line 396 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROLLBACK; YY_BREAK /*LEXTAG:RWL_T_DEFAULT*/ case 88: YY_RULE_SETUP -#line 397 "rwllexer.l" +#line 398 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFAULT; YY_BREAK /*LEXTAG:RWL_T_AT*/ case 89: YY_RULE_SETUP -#line 399 "rwllexer.l" +#line 400 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AT; YY_BREAK /*LEXTAG:RWL_T_RESULTS*/ case 90: YY_RULE_SETUP -#line 401 "rwllexer.l" +#line 402 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RESULTS; YY_BREAK /*LEXTAG:RWL_T_PROCEDURE*/ case 91: YY_RULE_SETUP -#line 403 "rwllexer.l" +#line 404 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PROCEDURE; YY_BREAK /*LEXTAG:RWL_T_THREADS*/ case 92: YY_RULE_SETUP -#line 405 "rwllexer.l" +#line 406 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THREADS; YY_BREAK /*LEXTAG:RWL_T_GLOBAL*/ case 93: YY_RULE_SETUP -#line 407 "rwllexer.l" +#line 408 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GLOBAL; YY_BREAK /*LEXTAG:RWL_T_PRIVATE*/ case 94: YY_RULE_SETUP -#line 409 "rwllexer.l" +#line 410 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRIVATE; YY_BREAK /*LEXTAG:RWL_T_RUN*/ case 95: YY_RULE_SETUP -#line 411 "rwllexer.l" +#line 412 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -2883,167 +2889,167 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BIND*/ case 96: YY_RULE_SETUP -#line 417 "rwllexer.l" +#line 418 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BIND; YY_BREAK /*LEXTAG:RWL_T_BINDOUT*/ case 97: YY_RULE_SETUP -#line 419 "rwllexer.l" +#line 420 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BINDOUT; YY_BREAK /*LEXTAG:RWL_T_DEFINE*/ case 98: YY_RULE_SETUP -#line 421 "rwllexer.l" +#line 422 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFINE; YY_BREAK /*LEXTAG:RWL_T_START*/ case 99: YY_RULE_SETUP -#line 423 "rwllexer.l" +#line 424 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_START; YY_BREAK /*LEXTAG:RWL_T_COUNT*/ case 100: YY_RULE_SETUP -#line 425 "rwllexer.l" +#line 426 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COUNT; YY_BREAK /*LEXTAG:RWL_T_STOP*/ case 101: YY_RULE_SETUP -#line 427 "rwllexer.l" +#line 428 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STOP; YY_BREAK /*LEXTAG:RWL_T_END*/ case 102: YY_RULE_SETUP -#line 429 "rwllexer.l" +#line 430 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_END; YY_BREAK /*LEXTAG:RWL_T_SESSIONPOOL*/ case 103: YY_RULE_SETUP -#line 431 "rwllexer.l" +#line 432 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SESSIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONPOOL*/ case 104: YY_RULE_SETUP -#line 433 "rwllexer.l" +#line 434 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONCLASS*/ case 105: YY_RULE_SETUP -#line 435 "rwllexer.l" +#line 436 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONCLASS; YY_BREAK /*LEXTAG:RWL_T_DRCP*/ case 106: YY_RULE_SETUP -#line 437 "rwllexer.l" +#line 438 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DRCP; YY_BREAK /*LEXTAG:RWL_T_DEDICATED*/ case 107: YY_RULE_SETUP -#line 439 "rwllexer.l" +#line 440 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEDICATED; YY_BREAK /*LEXTAG:RWL_T_RECONNECT*/ case 108: YY_RULE_SETUP -#line 441 "rwllexer.l" +#line 442 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RECONNECT; YY_BREAK /*LEXTAG:RWL_T_UNIFORM*/ case 109: YY_RULE_SETUP -#line 443 "rwllexer.l" +#line 444 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_UNIFORM; YY_BREAK /*LEXTAG:RWL_T_NORMALRANDOM*/ case 110: YY_RULE_SETUP -#line 445 "rwllexer.l" +#line 446 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NORMALRANDOM; YY_BREAK /*LEXTAG:RWL_T_LOG*/ case 111: YY_RULE_SETUP -#line 447 "rwllexer.l" +#line 448 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LOG; YY_BREAK /*LEXTAG:RWL_T_EXP*/ case 112: YY_RULE_SETUP -#line 449 "rwllexer.l" +#line 450 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EXP; YY_BREAK /*LEXTAG:RWL_T_CEIL*/ case 113: YY_RULE_SETUP -#line 451 "rwllexer.l" +#line 452 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CEIL; YY_BREAK /*LEXTAG:RWL_T_TRUNC*/ case 114: YY_RULE_SETUP -#line 453 "rwllexer.l" +#line 454 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_TRUNC; YY_BREAK /*LEXTAG:RWL_T_FLOOR*/ case 115: YY_RULE_SETUP -#line 455 "rwllexer.l" +#line 456 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FLOOR; YY_BREAK /*LEXTAG:RWL_T_ROUND*/ case 116: YY_RULE_SETUP -#line 457 "rwllexer.l" +#line 458 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROUND; YY_BREAK /*LEXTAG:RWL_T_STATISTICS*/ case 117: YY_RULE_SETUP -#line 459 "rwllexer.l" +#line 460 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICS; YY_BREAK /*LEXTAG:RWL_T_STATISTICSONLY*/ case 118: YY_RULE_SETUP -#line 461 "rwllexer.l" +#line 462 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICSONLY; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 119: YY_RULE_SETUP -#line 463 "rwllexer.l" +#line 464 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOSTATISTICS; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 120: YY_RULE_SETUP -#line 465 "rwllexer.l" +#line 466 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SQRT; YY_BREAK case 121: YY_RULE_SETUP -#line 466 "rwllexer.l" +#line 467 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SIN; YY_BREAK case 122: YY_RULE_SETUP -#line 467 "rwllexer.l" +#line 468 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COS; YY_BREAK /*LEXTAG:RWL_T_INSTRB*/ case 123: YY_RULE_SETUP -#line 469 "rwllexer.l" +#line 470 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "instr", "instrb"); if (!rwm->ifdirbit) return RWL_T_INSTRB; @@ -3051,13 +3057,13 @@ YY_RULE_SETUP YY_BREAK case 124: YY_RULE_SETUP -#line 473 "rwllexer.l" +#line 474 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INSTRB; YY_BREAK /*LEXTAG:RWL_T_SUBSTRB*/ case 125: YY_RULE_SETUP -#line 475 "rwllexer.l" +#line 476 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "substr", "substrb"); if (!rwm->ifdirbit) return RWL_T_SUBSTRB; @@ -3066,13 +3072,13 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SUBSTRB*/ case 126: YY_RULE_SETUP -#line 480 "rwllexer.l" +#line 481 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUBSTRB; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 127: YY_RULE_SETUP -#line 482 "rwllexer.l" +#line 483 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "length", "lengthb"); if (!rwm->ifdirbit) return RWL_T_LENGTHB; @@ -3081,50 +3087,50 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_GETENV*/ case 128: YY_RULE_SETUP -#line 487 "rwllexer.l" +#line 488 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETENV; YY_BREAK /*LEXTAG:RWL_T_SYSTEM*/ case 129: YY_RULE_SETUP -#line 489 "rwllexer.l" +#line 490 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SYSTEM; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 130: YY_RULE_SETUP -#line 491 "rwllexer.l" +#line 492 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LENGTHB; YY_BREAK /*LEXTAG:RWL_T_ERLANG*/ case 131: -#line 494 "rwllexer.l" +#line 495 "rwllexer.l" case 132: YY_RULE_SETUP -#line 494 "rwllexer.l" +#line 495 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 133: YY_RULE_SETUP -#line 496 "rwllexer.l" +#line 497 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG2; YY_BREAK /*LEXTAG:RWL_T_ERLANGK*/ case 134: YY_RULE_SETUP -#line 498 "rwllexer.l" +#line 499 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANGK; YY_BREAK /*LEXTAG:RWL_T_ACCESS*/ case 135: YY_RULE_SETUP -#line 500 "rwllexer.l" +#line 501 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ACCESS; YY_BREAK case 136: YY_RULE_SETUP -#line 501 "rwllexer.l" +#line 502 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3133,7 +3139,7 @@ YY_RULE_SETUP YY_BREAK case 137: YY_RULE_SETUP -#line 506 "rwllexer.l" +#line 507 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3143,127 +3149,127 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RUNSECONDS*/ case 138: YY_RULE_SETUP -#line 512 "rwllexer.l" +#line 513 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RUNSECONDS; YY_BREAK /*LEXTAG:RWL_T_EPOCHSECONDS*/ case 139: YY_RULE_SETUP -#line 514 "rwllexer.l" +#line 515 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EPOCHSECONDS; YY_BREAK /*LEXTAG:RWL_T_GETRUSAGE*/ case 140: YY_RULE_SETUP -#line 516 "rwllexer.l" +#line 517 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETRUSAGE; YY_BREAK /*LEXTAG:RWL_T_DOUBLE*/ case 141: YY_RULE_SETUP -#line 518 "rwllexer.l" +#line 519 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOUBLE; YY_BREAK /*LEXTAG:RWL_T_INTEGER*/ case 142: YY_RULE_SETUP -#line 520 "rwllexer.l" +#line 521 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INTEGER; YY_BREAK /*LEXTAG:RWL_T_STRING*/ case 143: YY_RULE_SETUP -#line 522 "rwllexer.l" +#line 523 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STRING; YY_BREAK /*LEXTAG:RWL_T_RANDOM*/ case 144: YY_RULE_SETUP -#line 524 "rwllexer.l" +#line 525 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RANDOM; YY_BREAK /*LEXTAG:RWL_T_ARRAY*/ case 145: YY_RULE_SETUP -#line 526 "rwllexer.l" +#line 527 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ARRAY; YY_BREAK /*LEXTAG:RWL_T_FILE*/ case 146: YY_RULE_SETUP -#line 528 "rwllexer.l" +#line 529 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FILE; YY_BREAK /*LEXTAG:RWL_T_WRITE*/ case 147: YY_RULE_SETUP -#line 530 "rwllexer.l" +#line 531 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITE; YY_BREAK /*LEXTAG:RWL_T_WRITELINE*/ case 148: YY_RULE_SETUP -#line 532 "rwllexer.l" +#line 533 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITELINE; YY_BREAK /*LEXTAG:RWL_T_READLINE*/ case 149: YY_RULE_SETUP -#line 534 "rwllexer.l" +#line 535 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_READLINE; YY_BREAK /*LEXTAG:RWL_T_REGEX*/ case 150: YY_RULE_SETUP -#line 536 "rwllexer.l" +#line 537 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEX; YY_BREAK /*LEXTAG:RWL_T_REGEXSUB*/ case 151: YY_RULE_SETUP -#line 538 "rwllexer.l" +#line 539 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUB; YY_BREAK /*LEXTAG:RWL_T_REGEXSUBG*/ case 152: YY_RULE_SETUP -#line 540 "rwllexer.l" +#line 541 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUBG; YY_BREAK /*LEXTAG:RWL_T_REGEXTRACT*/ case 153: YY_RULE_SETUP -#line 542 "rwllexer.l" +#line 543 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXTRACT; YY_BREAK /*LEXTAG:RWL_T_FFLUSH*/ case 154: YY_RULE_SETUP -#line 544 "rwllexer.l" +#line 545 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FFLUSH; YY_BREAK /*LEXTAG:RWL_T_PRINT*/ case 155: YY_RULE_SETUP -#line 546 "rwllexer.l" +#line 547 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINT; YY_BREAK /*LEXTAG:RWL_T_PRINTLINE*/ case 156: YY_RULE_SETUP -#line 548 "rwllexer.l" +#line 549 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTLINE; YY_BREAK /*LEXTAG:RWL_T_PRINTVAR*/ case 157: YY_RULE_SETUP -#line 550 "rwllexer.l" +#line 551 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTVAR; YY_BREAK /*LEXTAG:RWL_T_IF*/ case 158: YY_RULE_SETUP -#line 552 "rwllexer.l" +#line 553 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3273,61 +3279,61 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_WHEN*/ case 159: YY_RULE_SETUP -#line 558 "rwllexer.l" +#line 559 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHEN; YY_BREAK /*LEXTAG:RWL_T_THEN*/ case 160: YY_RULE_SETUP -#line 560 "rwllexer.l" +#line 561 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THEN; YY_BREAK /*LEXTAG:RWL_T_ELSE*/ case 161: YY_RULE_SETUP -#line 562 "rwllexer.l" +#line 563 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSE; YY_BREAK /*LEXTAG:RWL_T_ELSEIF*/ case 162: YY_RULE_SETUP -#line 564 "rwllexer.l" +#line 565 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSEIF; YY_BREAK /*LEXTAG:RWL_T_WHILE*/ case 163: YY_RULE_SETUP -#line 566 "rwllexer.l" +#line 567 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHILE; YY_BREAK /*LEXTAG:RWL_T_WAIT*/ case 164: YY_RULE_SETUP -#line 568 "rwllexer.l" +#line 569 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WAIT; YY_BREAK /*LEXTAG:RWL_T_QUEUE*/ case 165: YY_RULE_SETUP -#line 570 "rwllexer.l" +#line 571 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_QUEUE; YY_BREAK /*LEXTAG:RWL_T_NOQUEUE*/ case 166: YY_RULE_SETUP -#line 572 "rwllexer.l" +#line 573 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOQUEUE; YY_BREAK /*LEXTAG:RWL_T_EVERY*/ case 167: YY_RULE_SETUP -#line 574 "rwllexer.l" +#line 575 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EVERY; YY_BREAK /*LEXTAG:RWL_T_LOOP*/ case 168: YY_RULE_SETUP -#line 576 "rwllexer.l" +#line 577 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3337,25 +3343,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FOR*/ case 169: YY_RULE_SETUP -#line 582 "rwllexer.l" +#line 583 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FOR; YY_BREAK /*LEXTAG:RWL_T_ALL*/ case 170: YY_RULE_SETUP -#line 584 "rwllexer.l" +#line 585 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ALL; YY_BREAK /*LEXTAG:RWL_T_SHIFT*/ case 171: YY_RULE_SETUP -#line 586 "rwllexer.l" +#line 587 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SHIFT; YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ case 172: YY_RULE_SETUP -#line 588 "rwllexer.l" +#line 589 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3365,25 +3371,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_EXECUTE*/ case 173: YY_RULE_SETUP -#line 594 "rwllexer.l" +#line 595 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOTDOT; /* see RWL_T_INTEGER_CONST above */ YY_BREAK /*LEXTAG:RWL_T_NULL*/ case 174: YY_RULE_SETUP -#line 596 "rwllexer.l" +#line 597 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NULL; YY_BREAK /*LEXTAG:RWL_T_SUM*/ case 175: YY_RULE_SETUP -#line 598 "rwllexer.l" +#line 599 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUM; YY_BREAK /*LEXTAG:RWL_T_ISNULL*/ case 176: YY_RULE_SETUP -#line 600 "rwllexer.l" +#line 601 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_ISNULL_DEPRECATED); @@ -3393,57 +3399,57 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IS*/ case 177: YY_RULE_SETUP -#line 606 "rwllexer.l" +#line 607 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IS; YY_BREAK case 178: YY_RULE_SETUP -#line 607 "rwllexer.l" +#line 608 "rwllexer.l" if (!rwm->ifdirbit) return '+'; YY_BREAK case 179: YY_RULE_SETUP -#line 608 "rwllexer.l" +#line 609 "rwllexer.l" if (!rwm->ifdirbit) return '-'; YY_BREAK case 180: YY_RULE_SETUP -#line 609 "rwllexer.l" +#line 610 "rwllexer.l" if (!rwm->ifdirbit) return '*'; YY_BREAK case 181: YY_RULE_SETUP -#line 610 "rwllexer.l" +#line 611 "rwllexer.l" if (!rwm->ifdirbit) return '/'; YY_BREAK case 182: YY_RULE_SETUP -#line 611 "rwllexer.l" +#line 612 "rwllexer.l" if (!rwm->ifdirbit) return '%'; YY_BREAK case 183: YY_RULE_SETUP -#line 612 "rwllexer.l" +#line 613 "rwllexer.l" if (!rwm->ifdirbit) return '('; YY_BREAK case 184: YY_RULE_SETUP -#line 613 "rwllexer.l" +#line 614 "rwllexer.l" if (!rwm->ifdirbit) return ')'; YY_BREAK case 185: YY_RULE_SETUP -#line 614 "rwllexer.l" +#line 615 "rwllexer.l" if (!rwm->ifdirbit) return ','; YY_BREAK case 186: YY_RULE_SETUP -#line 615 "rwllexer.l" +#line 616 "rwllexer.l" if (!rwm->ifdirbit) return '='; YY_BREAK case 187: YY_RULE_SETUP -#line 616 "rwllexer.l" +#line 617 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_EQUALEQUAL, rwm->rwlytext); if (!rwm->ifdirbit) return '='; @@ -3451,146 +3457,146 @@ YY_RULE_SETUP YY_BREAK case 188: YY_RULE_SETUP -#line 620 "rwllexer.l" +#line 621 "rwllexer.l" if (!rwm->ifdirbit) return '<'; YY_BREAK case 189: YY_RULE_SETUP -#line 621 "rwllexer.l" +#line 622 "rwllexer.l" if (!rwm->ifdirbit) return '>'; YY_BREAK case 190: YY_RULE_SETUP -#line 622 "rwllexer.l" +#line 623 "rwllexer.l" if (!rwm->ifdirbit) return '!'; YY_BREAK case 191: YY_RULE_SETUP -#line 623 "rwllexer.l" +#line 624 "rwllexer.l" if (!rwm->ifdirbit) return '?'; YY_BREAK case 192: YY_RULE_SETUP -#line 624 "rwllexer.l" +#line 625 "rwllexer.l" if (!rwm->ifdirbit) return ':'; YY_BREAK /*LEXTAG:RWL_T_NOT*/ case 193: YY_RULE_SETUP -#line 626 "rwllexer.l" +#line 627 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOT; YY_BREAK /*LEXTAG:RWL_T_AND*/ case 194: YY_RULE_SETUP -#line 628 "rwllexer.l" +#line 629 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AND; YY_BREAK /*LEXTAG:RWL_T_BETWEEN*/ case 195: YY_RULE_SETUP -#line 630 "rwllexer.l" +#line 631 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BETWEEN; YY_BREAK /*LEXTAG:RWL_T_OR*/ case 196: YY_RULE_SETUP -#line 632 "rwllexer.l" +#line 633 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OR; YY_BREAK /*LEXTAG:RWL_T_LESSEQ*/ case 197: YY_RULE_SETUP -#line 634 "rwllexer.l" +#line 635 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LESSEQ; YY_BREAK /*LEXTAG:RWL_T_GREATEQ*/ case 198: YY_RULE_SETUP -#line 636 "rwllexer.l" +#line 637 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GREATEQ; YY_BREAK /*LEXTAG:RWL_T_RSHIFTASSIGN*/ case 199: YY_RULE_SETUP -#line 638 "rwllexer.l" +#line 639 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RSHIFTASSIGN; YY_BREAK /*LEXTAG:RWL_T_NOTEQ*/ case 200: YY_RULE_SETUP -#line 640 "rwllexer.l" +#line 641 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK case 201: YY_RULE_SETUP -#line 641 "rwllexer.l" +#line 642 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK /*LEXTAG:RWL_T_ASSIGN*/ case 202: YY_RULE_SETUP -#line 643 "rwllexer.l" +#line 644 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASSIGN; YY_BREAK /*LEXTAG:RWL_T_ASNADD*/ case 203: YY_RULE_SETUP -#line 645 "rwllexer.l" +#line 646 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNADD; YY_BREAK /*LEXTAG:RWL_T_ASNSUB*/ case 204: YY_RULE_SETUP -#line 647 "rwllexer.l" +#line 648 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNSUB; YY_BREAK /*LEXTAG:RWL_T_CONCAT*/ case 205: YY_RULE_SETUP -#line 649 "rwllexer.l" +#line 650 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONCAT; YY_BREAK /*LEXTAG:RWL_T_PIPETO*/ case 206: YY_RULE_SETUP -#line 651 "rwllexer.l" +#line 652 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPETO; YY_BREAK /*LEXTAG:RWL_T_PIPEFROM*/ case 207: YY_RULE_SETUP -#line 653 "rwllexer.l" +#line 654 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPEFROM; YY_BREAK /*LEXTAG:RWL_T_APPEND*/ case 208: YY_RULE_SETUP -#line 655 "rwllexer.l" +#line 656 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_APPEND; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2B*/ case 209: YY_RULE_SETUP -#line 657 "rwllexer.l" +#line 658 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2B; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2BB*/ case 210: YY_RULE_SETUP -#line 659 "rwllexer.l" +#line 660 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2BB; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 211: YY_RULE_SETUP -#line 661 "rwllexer.l" +#line 662 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SERVERRELEASE; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 212: YY_RULE_SETUP -#line 663 "rwllexer.l" +#line 664 "rwllexer.l" { # ifndef RWL_USE_SQL_ID rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3601,7 +3607,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OPENSESSIONCOUNT*/ case 213: YY_RULE_SETUP -#line 670 "rwllexer.l" +#line 671 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_OPENSESSIONCOUNT; } @@ -3609,7 +3615,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ACTIVESESSIONCOUNT*/ case 214: YY_RULE_SETUP -#line 674 "rwllexer.l" +#line 675 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_ACTIVESESSIONCOUNT; } @@ -3617,7 +3623,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_QUERYNOTIFICATION*/ case 215: YY_RULE_SETUP -#line 678 "rwllexer.l" +#line 679 "rwllexer.l" { #ifndef RWL_USE_CQN rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3628,18 +3634,18 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ATAN2*/ case 216: YY_RULE_SETUP -#line 685 "rwllexer.l" +#line 686 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ATAN2; YY_BREAK case 217: -#line 688 "rwllexer.l" -case 218: #line 689 "rwllexer.l" -case 219: +case 218: #line 690 "rwllexer.l" +case 219: +#line 691 "rwllexer.l" case 220: YY_RULE_SETUP -#line 690 "rwllexer.l" +#line 691 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); // return something so compilation continues @@ -3647,22 +3653,22 @@ YY_RULE_SETUP } YY_BREAK case 221: -#line 697 "rwllexer.l" +#line 698 "rwllexer.l" case 222: YY_RULE_SETUP -#line 697 "rwllexer.l" +#line 698 "rwllexer.l" { // note that "--" is the beginning of RWL_T_SQL_TEXT rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); } YY_BREAK case 223: -#line 702 "rwllexer.l" -case 224: #line 703 "rwllexer.l" +case 224: +#line 704 "rwllexer.l" case 225: YY_RULE_SETUP -#line 703 "rwllexer.l" +#line 704 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); // return something so compilation continues @@ -3670,16 +3676,16 @@ YY_RULE_SETUP } YY_BREAK case 226: -#line 710 "rwllexer.l" -case 227: #line 711 "rwllexer.l" -case 228: +case 227: #line 712 "rwllexer.l" -case 229: +case 228: #line 713 "rwllexer.l" +case 229: +#line 714 "rwllexer.l" case 230: YY_RULE_SETUP -#line 713 "rwllexer.l" +#line 714 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3694,7 +3700,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IDENTIFIER*/ case 231: YY_RULE_SETUP -#line 725 "rwllexer.l" +#line 726 "rwllexer.l" { /* previnam is used when the parser has been doing @@ -3714,7 +3720,7 @@ YY_RULE_SETUP YY_BREAK case 232: YY_RULE_SETUP -#line 742 "rwllexer.l" +#line 743 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3734,7 +3740,7 @@ YY_RULE_SETUP YY_BREAK case 233: YY_RULE_SETUP -#line 759 "rwllexer.l" +#line 760 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3747,7 +3753,7 @@ YY_RULE_SETUP YY_BREAK case 234: YY_RULE_SETUP -#line 769 "rwllexer.l" +#line 770 "rwllexer.l" { text *env = rwlgetenv((text *)rwm->rwlytext+1); if (!env) @@ -3771,18 +3777,18 @@ YY_RULE_SETUP YY_BREAK case 235: YY_RULE_SETUP -#line 791 "rwllexer.l" +#line 792 "rwllexer.l" if (!rwm->ifdirbit) return ';'; YY_BREAK case 236: -#line 794 "rwllexer.l" -case 237: #line 795 "rwllexer.l" -case 238: +case 237: #line 796 "rwllexer.l" +case 238: +#line 797 "rwllexer.l" case 239: YY_RULE_SETUP -#line 796 "rwllexer.l" +#line 797 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3797,7 +3803,7 @@ YY_RULE_SETUP YY_BREAK case 240: YY_RULE_SETUP -#line 808 "rwllexer.l" +#line 809 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3805,7 +3811,7 @@ YY_RULE_SETUP YY_BREAK case 241: YY_RULE_SETUP -#line 813 "rwllexer.l" +#line 814 "rwllexer.l" { // This is the documented syntax. Note that there is // no simple way to allow having $if and $then on separate // lines @@ -3825,14 +3831,14 @@ YY_RULE_SETUP YY_BREAK case 242: YY_RULE_SETUP -#line 830 "rwllexer.l" +#line 831 "rwllexer.l" { // this only happens if $if and $then aren't on the same line rwlzparsestring(rwm, (text *) "0;"); // behave like $if 0 $then would } YY_BREAK case 243: YY_RULE_SETUP -#line 834 "rwllexer.l" +#line 835 "rwllexer.l" { // This was the original syntax for $if which was // $if: ; // i.e. with the expression between : and ;. @@ -3853,7 +3859,7 @@ YY_RULE_SETUP YY_BREAK case 244: YY_RULE_SETUP -#line 852 "rwllexer.l" +#line 853 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "else"); @@ -3874,7 +3880,7 @@ YY_RULE_SETUP YY_BREAK case 245: YY_RULE_SETUP -#line 870 "rwllexer.l" +#line 871 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "endif"); @@ -3892,7 +3898,7 @@ YY_RULE_SETUP YY_BREAK case 246: YY_RULE_SETUP -#line 885 "rwllexer.l" +#line 886 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS); // all set in tflags as tfalgs HAS been copied from mflags @@ -3902,7 +3908,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 247: YY_RULE_SETUP -#line 892 "rwllexer.l" +#line 893 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); @@ -3911,7 +3917,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 248: YY_RULE_SETUP -#line 898 "rwllexer.l" +#line 899 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); @@ -3920,147 +3926,147 @@ if (!rwm->ifdirbit) { YY_BREAK case 249: YY_RULE_SETUP -#line 904 "rwllexer.l" +#line 905 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTION); } YY_BREAK case 250: YY_RULE_SETUP -#line 908 "rwllexer.l" +#line 909 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 251: YY_RULE_SETUP -#line 911 "rwllexer.l" +#line 912 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 252: YY_RULE_SETUP -#line 915 "rwllexer.l" +#line 916 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 253: YY_RULE_SETUP -#line 919 "rwllexer.l" +#line 920 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 254: YY_RULE_SETUP -#line 923 "rwllexer.l" +#line 924 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 255: YY_RULE_SETUP -#line 927 "rwllexer.l" +#line 928 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 256: YY_RULE_SETUP -#line 931 "rwllexer.l" +#line 932 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 257: YY_RULE_SETUP -#line 934 "rwllexer.l" +#line 935 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 258: YY_RULE_SETUP -#line 938 "rwllexer.l" +#line 939 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 259: YY_RULE_SETUP -#line 941 "rwllexer.l" +#line 942 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 260: YY_RULE_SETUP -#line 945 "rwllexer.l" +#line 946 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 261: YY_RULE_SETUP -#line 948 "rwllexer.l" +#line 949 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 262: YY_RULE_SETUP -#line 952 "rwllexer.l" +#line 953 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 263: YY_RULE_SETUP -#line 955 "rwllexer.l" +#line 956 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 264: YY_RULE_SETUP -#line 959 "rwllexer.l" +#line 960 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 265: YY_RULE_SETUP -#line 962 "rwllexer.l" +#line 963 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 266: YY_RULE_SETUP -#line 966 "rwllexer.l" +#line 967 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_STOP; } YY_BREAK case 267: YY_RULE_SETUP -#line 970 "rwllexer.l" +#line 971 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_BREAK; } YY_BREAK case 268: YY_RULE_SETUP -#line 973 "rwllexer.l" +#line 974 "rwllexer.l" { if (!rwm->ifdirbit) rwlbreaknow = 0; } YY_BREAK case 269: YY_RULE_SETUP -#line 977 "rwllexer.l" +#line 978 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4070,53 +4076,53 @@ YY_RULE_SETUP YY_BREAK case 270: YY_RULE_SETUP -#line 984 "rwllexer.l" +#line 985 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 271: YY_RULE_SETUP -#line 987 "rwllexer.l" +#line 988 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 272: YY_RULE_SETUP -#line 991 "rwllexer.l" +#line 992 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 273: YY_RULE_SETUP -#line 995 "rwllexer.l" +#line 996 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 274: YY_RULE_SETUP -#line 999 "rwllexer.l" +#line 1000 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK case 275: YY_RULE_SETUP -#line 1003 "rwllexer.l" +#line 1004 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK case 276: /* rule 276 can match eol */ -#line 1008 "rwllexer.l" +#line 1009 "rwllexer.l" case 277: /* rule 277 can match eol */ YY_RULE_SETUP -#line 1008 "rwllexer.l" +#line 1009 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) // not while generating { @@ -4284,7 +4290,7 @@ YY_RULE_SETUP YY_BREAK case 278: YY_RULE_SETUP -#line 1173 "rwllexer.l" +#line 1174 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4297,7 +4303,7 @@ YY_RULE_SETUP YY_BREAK case 279: YY_RULE_SETUP -#line 1183 "rwllexer.l" +#line 1184 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -4311,7 +4317,7 @@ YY_RULE_SETUP YY_BREAK case 280: YY_RULE_SETUP -#line 1194 "rwllexer.l" +#line 1195 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4324,7 +4330,7 @@ YY_RULE_SETUP YY_BREAK case 281: YY_RULE_SETUP -#line 1204 "rwllexer.l" +#line 1205 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4337,7 +4343,7 @@ YY_RULE_SETUP YY_BREAK case 282: YY_RULE_SETUP -#line 1214 "rwllexer.l" +#line 1215 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4348,7 +4354,7 @@ YY_RULE_SETUP YY_BREAK case 283: YY_RULE_SETUP -#line 1222 "rwllexer.l" +#line 1223 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_OERSTATS); @@ -4356,7 +4362,7 @@ YY_RULE_SETUP YY_BREAK case 284: YY_RULE_SETUP -#line 1227 "rwllexer.l" +#line 1228 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4372,7 +4378,7 @@ YY_RULE_SETUP YY_BREAK case 285: YY_RULE_SETUP -#line 1240 "rwllexer.l" +#line 1241 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4388,7 +4394,7 @@ YY_RULE_SETUP YY_BREAK case 286: YY_RULE_SETUP -#line 1253 "rwllexer.l" +#line 1254 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4406,7 +4412,7 @@ YY_RULE_SETUP YY_BREAK case 287: YY_RULE_SETUP -#line 1268 "rwllexer.l" +#line 1269 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4417,7 +4423,7 @@ YY_RULE_SETUP YY_BREAK case 288: YY_RULE_SETUP -#line 1276 "rwllexer.l" +#line 1277 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4428,7 +4434,7 @@ YY_RULE_SETUP YY_BREAK case 289: YY_RULE_SETUP -#line 1284 "rwllexer.l" +#line 1285 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4439,7 +4445,7 @@ YY_RULE_SETUP YY_BREAK case 290: YY_RULE_SETUP -#line 1292 "rwllexer.l" +#line 1293 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4449,7 +4455,7 @@ YY_RULE_SETUP YY_BREAK case 291: YY_RULE_SETUP -#line 1298 "rwllexer.l" +#line 1299 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4459,7 +4465,7 @@ YY_RULE_SETUP YY_BREAK case 292: YY_RULE_SETUP -#line 1304 "rwllexer.l" +#line 1305 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4470,7 +4476,7 @@ YY_RULE_SETUP YY_BREAK case 293: YY_RULE_SETUP -#line 1311 "rwllexer.l" +#line 1312 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4481,7 +4487,7 @@ YY_RULE_SETUP YY_BREAK case 294: YY_RULE_SETUP -#line 1318 "rwllexer.l" +#line 1319 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4491,7 +4497,7 @@ YY_RULE_SETUP YY_BREAK case 295: YY_RULE_SETUP -#line 1324 "rwllexer.l" +#line 1325 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4501,7 +4507,7 @@ YY_RULE_SETUP YY_BREAK case 296: YY_RULE_SETUP -#line 1331 "rwllexer.l" +#line 1332 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4511,7 +4517,7 @@ YY_RULE_SETUP YY_BREAK case 297: YY_RULE_SETUP -#line 1338 "rwllexer.l" +#line 1339 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_RECON1017); @@ -4519,7 +4525,7 @@ YY_RULE_SETUP YY_BREAK case 298: YY_RULE_SETUP -#line 1343 "rwllexer.l" +#line 1344 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_ON; @@ -4527,7 +4533,7 @@ YY_RULE_SETUP YY_BREAK case 299: YY_RULE_SETUP -#line 1348 "rwllexer.l" +#line 1349 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_OFF; @@ -4535,7 +4541,7 @@ YY_RULE_SETUP YY_BREAK case 300: YY_RULE_SETUP -#line 1353 "rwllexer.l" +#line 1354 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_WARN; @@ -4543,7 +4549,7 @@ YY_RULE_SETUP YY_BREAK case 301: YY_RULE_SETUP -#line 1358 "rwllexer.l" +#line 1359 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4560,7 +4566,7 @@ YY_RULE_SETUP YY_BREAK case 302: YY_RULE_SETUP -#line 1372 "rwllexer.l" +#line 1373 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4573,7 +4579,7 @@ YY_RULE_SETUP YY_BREAK case 303: YY_RULE_SETUP -#line 1382 "rwllexer.l" +#line 1383 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLREADLINE); @@ -4581,7 +4587,7 @@ YY_RULE_SETUP YY_BREAK case 304: YY_RULE_SETUP -#line 1387 "rwllexer.l" +#line 1388 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLREADLINE); @@ -4589,7 +4595,7 @@ YY_RULE_SETUP YY_BREAK case 305: YY_RULE_SETUP -#line 1392 "rwllexer.l" +#line 1393 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLWRITELINE); @@ -4597,7 +4603,7 @@ YY_RULE_SETUP YY_BREAK case 306: YY_RULE_SETUP -#line 1397 "rwllexer.l" +#line 1398 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLWRITELINE); @@ -4605,7 +4611,7 @@ YY_RULE_SETUP YY_BREAK case 307: YY_RULE_SETUP -#line 1402 "rwllexer.l" +#line 1403 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4616,7 +4622,7 @@ YY_RULE_SETUP YY_BREAK case 308: YY_RULE_SETUP -#line 1410 "rwllexer.l" +#line 1411 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4627,7 +4633,7 @@ YY_RULE_SETUP YY_BREAK case 309: YY_RULE_SETUP -#line 1418 "rwllexer.l" +#line 1419 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4639,7 +4645,7 @@ YY_RULE_SETUP YY_BREAK case 310: YY_RULE_SETUP -#line 1427 "rwllexer.l" +#line 1428 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSATIME); @@ -4647,7 +4653,7 @@ YY_RULE_SETUP YY_BREAK case 311: YY_RULE_SETUP -#line 1432 "rwllexer.l" +#line 1433 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4659,7 +4665,7 @@ YY_RULE_SETUP YY_BREAK case 312: YY_RULE_SETUP -#line 1441 "rwllexer.l" +#line 1442 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSDTIME); @@ -4667,47 +4673,39 @@ YY_RULE_SETUP YY_BREAK case 313: YY_RULE_SETUP -#line 1446 "rwllexer.l" -{ - if (!rwm->ifdirbit) - bis(rwm->m4flags, RWL_P4_CONERROK); - } - YY_BREAK -case 314: -YY_RULE_SETUP -#line 1451 "rwllexer.l" +#line 1447 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 315: +case 314: YY_RULE_SETUP -#line 1456 "rwllexer.l" +#line 1452 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 316: +case 315: YY_RULE_SETUP -#line 1461 "rwllexer.l" +#line 1457 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 317: +case 316: YY_RULE_SETUP -#line 1466 "rwllexer.l" +#line 1462 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 318: +case 317: YY_RULE_SETUP -#line 1472 "rwllexer.l" +#line 1468 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4715,23 +4713,39 @@ YY_RULE_SETUP } } YY_BREAK +case 318: +YY_RULE_SETUP +#line 1475 "rwllexer.l" +{ + if (!rwm->ifdirbit) + bis(rwm->m4flags, RWL_P4_CONERROK); + } + YY_BREAK case 319: YY_RULE_SETUP -#line 1479 "rwllexer.l" +#line 1480 "rwllexer.l" +{ + if (!rwm->ifdirbit) + bic(rwm->m4flags, RWL_P4_CONERROK); + } + YY_BREAK +case 320: +YY_RULE_SETUP +#line 1485 "rwllexer.l" { if (!rwm->ifdirbit) rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+6),1 /* warn if !warning*/ ); } YY_BREAK -case 320: +case 321: YY_RULE_SETUP -#line 1483 "rwllexer.l" +#line 1489 "rwllexer.l" { rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+12),1 /* warn if !warning*/ ); } YY_BREAK -case 321: +case 322: YY_RULE_SETUP -#line 1487 "rwllexer.l" +#line 1493 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; newval = (ub4)rwlatoi(rwm->rwlytext+11) + 1; //+1 for the return value @@ -4746,9 +4760,9 @@ if (!rwm->ifdirbit) { } YY_BREAK -case 322: +case 323: YY_RULE_SETUP -#line 1501 "rwllexer.l" +#line 1507 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4764,9 +4778,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxident"); } YY_BREAK -case 323: +case 324: YY_RULE_SETUP -#line 1516 "rwllexer.l" +#line 1522 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4782,9 +4796,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxcode"); } YY_BREAK -case 324: +case 325: YY_RULE_SETUP -#line 1531 "rwllexer.l" +#line 1537 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4800,25 +4814,25 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "readbuffer"); } YY_BREAK -case 325: +case 326: YY_RULE_SETUP -#line 1546 "rwllexer.l" +#line 1552 "rwllexer.l" if (!rwm->ifdirbit) { rwm->iformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckiformat(rwm); } YY_BREAK -case 326: +case 327: YY_RULE_SETUP -#line 1550 "rwllexer.l" +#line 1556 "rwllexer.l" if (!rwm->ifdirbit) { rwm->dformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckdformat(rwm); } YY_BREAK -case 327: +case 328: YY_RULE_SETUP -#line 1555 "rwllexer.l" +#line 1561 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+9); bis(rwm->mflags, newdebug); @@ -4830,9 +4844,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 328: +case 329: YY_RULE_SETUP -#line 1566 "rwllexer.l" +#line 1572 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+10); // ub4 newdebug = (ub4) rwlhex2ub8(rwm->rwlytext+10, 2*sizeof(ub4)); @@ -4841,9 +4855,9 @@ if (!rwm->ifdirbit) { bic(rwm->mxq->tflags, newdebug); } YY_BREAK -case 329: +case 330: YY_RULE_SETUP -#line 1574 "rwllexer.l" +#line 1580 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+10,2*sizeof(unsigned short)); @@ -4859,9 +4873,9 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 330: +case 331: YY_RULE_SETUP -#line 1591 "rwllexer.l" +#line 1597 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+12, 2*sizeof(unsigned short)); @@ -4877,11 +4891,11 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 331: -#line 1607 "rwllexer.l" case 332: +#line 1613 "rwllexer.l" +case 333: YY_RULE_SETUP -#line 1607 "rwllexer.l" +#line 1613 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4892,11 +4906,11 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 333: -#line 1618 "rwllexer.l" case 334: +#line 1624 "rwllexer.l" +case 335: YY_RULE_SETUP -#line 1618 "rwllexer.l" +#line 1624 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4907,9 +4921,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 335: +case 336: YY_RULE_SETUP -#line 1628 "rwllexer.l" +#line 1634 "rwllexer.l" if (!rwm->ifdirbit) { { rwm->musymbol = rwlstrdup(rwm, rwm->rwlytext+10); @@ -4917,9 +4931,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 336: +case 337: YY_RULE_SETUP -#line 1635 "rwllexer.l" +#line 1641 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4939,9 +4953,9 @@ YY_RULE_SETUP } } YY_BREAK -case 337: +case 338: YY_RULE_SETUP -#line 1654 "rwllexer.l" +#line 1660 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4953,9 +4967,9 @@ YY_RULE_SETUP } } YY_BREAK -case 338: +case 339: YY_RULE_SETUP -#line 1665 "rwllexer.l" +#line 1671 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4967,10 +4981,10 @@ YY_RULE_SETUP } } YY_BREAK -case 339: -/* rule 339 can match eol */ +case 340: +/* rule 340 can match eol */ YY_RULE_SETUP -#line 1676 "rwllexer.l" +#line 1682 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5001,10 +5015,10 @@ YY_RULE_SETUP } } YY_BREAK -case 340: -/* rule 340 can match eol */ +case 341: +/* rule 341 can match eol */ YY_RULE_SETUP -#line 1706 "rwllexer.l" +#line 1712 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5035,9 +5049,9 @@ YY_RULE_SETUP } } YY_BREAK -case 341: +case 342: YY_RULE_SETUP -#line 1736 "rwllexer.l" +#line 1742 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5048,24 +5062,24 @@ YY_RULE_SETUP } } YY_BREAK -case 342: +case 343: YY_RULE_SETUP -#line 1745 "rwllexer.l" +#line 1751 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 343: +case 344: YY_RULE_SETUP -#line 1748 "rwllexer.l" +#line 1754 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 344: -/* rule 344 can match eol */ +case 345: +/* rule 345 can match eol */ YY_RULE_SETUP -#line 1752 "rwllexer.l" +#line 1758 "rwllexer.l" { rwm->loc.fname = rwlstrdup(rwm, rwlstrchr(rwm->rwlytext,'"')); rwm->loc.fname[rwlstrlen(rwm->loc.fname)-1] = 0; @@ -5074,11 +5088,11 @@ YY_RULE_SETUP rwm->loc.errlin = 0; } YY_BREAK -case 345: -#line 1760 "rwllexer.l" case 346: +#line 1766 "rwllexer.l" +case 347: YY_RULE_SETUP -#line 1760 "rwllexer.l" +#line 1766 "rwllexer.l" { // bad directive char idbuf[100], c; ub4 i; @@ -5119,37 +5133,37 @@ YY_RULE_SETUP { rwm->loc.lineno++; rwm->loc.inpos=0; } } YY_BREAK -case 347: -/* rule 347 can match eol */ -YY_RULE_SETUP -#line 1801 "rwllexer.l" -{ rwm->loc.lineno++; rwm->loc.inpos=0; } - YY_BREAK case 348: /* rule 348 can match eol */ YY_RULE_SETUP -#line 1802 "rwllexer.l" +#line 1807 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 349: /* rule 349 can match eol */ YY_RULE_SETUP -#line 1803 "rwllexer.l" +#line 1808 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 350: +/* rule 350 can match eol */ YY_RULE_SETUP -#line 1804 "rwllexer.l" -/* nothing */ ; +#line 1809 "rwllexer.l" +{ rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 351: YY_RULE_SETUP -#line 1805 "rwllexer.l" +#line 1810 "rwllexer.l" /* nothing */ ; YY_BREAK case 352: YY_RULE_SETUP -#line 1806 "rwllexer.l" +#line 1811 "rwllexer.l" +/* nothing */ ; + YY_BREAK +case 353: +YY_RULE_SETUP +#line 1812 "rwllexer.l" { if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -5164,12 +5178,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII, rwm->loc.inpos, (ub1)rwm->rwlytext[0]); } YY_BREAK -case 353: +case 354: YY_RULE_SETUP -#line 1820 "rwllexer.l" +#line 1826 "rwllexer.l" ECHO; YY_BREAK -#line 5173 "lex.rwly.c" +#line 5187 "lex.rwly.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -5464,7 +5478,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1958 ) + if ( yy_current_state >= 1962 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; @@ -5493,11 +5507,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1958 ) + if ( yy_current_state >= 1962 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 1957); + yy_is_jam = (yy_current_state == 1961); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -6350,7 +6364,7 @@ void rwlyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1820 "rwllexer.l" +#line 1826 "rwllexer.l" diff --git a/src/rwl.h b/src/rwl.h index 93f7f302..ffd1e3d0 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 26-jul-2024 - Avoid unneeded logoff/logon * bengsig 9-jul-2024 - Development 3.1.4 * bengsig 8-jul-2024 - Releasing 3.1.3 production * bengsig 4-jun-2024 - $ora01013:break @@ -471,6 +472,7 @@ struct rwl_cinfo #define RWL_DB_DEFAULT 0x0000080 // this is the default database #define RWL_DB_LEAK 0x0000100 // leak a session upon release #define RWL_DB_CQNREG 0x0000200 // cqn registration is in effect +#define RWL_DB_RECOKO 0x0000400 // RECOnnect Keep Open // These are static flags #define RWL_DB_REQMARK 0x0001000 // requestmark option set @@ -631,7 +633,7 @@ struct rwl_xeqenv rwl_lilist *litail[RWL_MAX_CODE_RECURSION]; volatile ub2 pcdepth; /* recursive depth, index to the above arrays */ - unsigned short xsubi[3]; /* for [en]rand48 */ + ub2 xsubi[3]; /* 48 bits for rwl[en]rand48 */ OCIError *errhp; // MUST be allocated per thread rwl_cinfo *curdb; /* database currently in use */ rwl_cinfo *dxqdb; /* default execution database */ diff --git a/src/rwllexer.l b/src/rwllexer.l index a50c2660..20ea364e 100644 --- a/src/rwllexer.l +++ b/src/rwllexer.l @@ -11,6 +11,7 @@ * * History * + * bengsig 29-jul-2024 - $connecterror:fail * bengsig 4-jun-2024 - $ora01013:break * bengsig 10-may-2023 - $musymbolfromstring directive * bengsig 17-apr-2024 - -= @@ -1443,11 +1444,6 @@ bic(rwm->m4flags, RWL_P4_STATSDTIME); } -\$connecterror:accept { - if (!rwm->ifdirbit) - bis(rwm->m4flags, RWL_P4_CONERROK); - } - \$crnlstring:on { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLSTRING); @@ -1476,6 +1472,16 @@ } } +\$connecterror:accept { + if (!rwm->ifdirbit) + bis(rwm->m4flags, RWL_P4_CONERROK); + } + +\$connecterror:fail { + if (!rwm->ifdirbit) + bic(rwm->m4flags, RWL_P4_CONERROK); + } + \$mute:[0-9][0-9]* { if (!rwm->ifdirbit) rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+6),1 /* warn if !warning*/ ); } diff --git a/src/rwlsql.c b/src/rwlsql.c index c4ef3fe4..75009329 100644 --- a/src/rwlsql.c +++ b/src/rwlsql.c @@ -11,7 +11,8 @@ * * History * - * obakhir 24-jun-2024 - rwlreadlob : enablement of piecewise reading and error handling using RWL_ERROR_CLOB_TOO_LARGE + * bengsig 26-jul-2024 - Avoid unneeded logoff/logon + * obakhir 24-jun-2024 - rwlreadlob does piecewise reading * bengsig 22-may-2024 - lobwrite: trim before write * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 21-mar-2024 - fix reconnect @@ -728,8 +729,11 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) } } - /* logoff immediatedly if reconnect or thread dedicated in main */ - if ( (RWL_DBPOOL_RECONNECT == db->pooltype) + /* logoff immediatedly if + * reconnect unless asked to keep open + * or thread dedicated in main + */ + if ( (RWL_DBPOOL_RECONNECT == db->pooltype && !bit(db->flags,RWL_DB_RECOKO)) || (bit(xev->tflags, RWL_P_ISMAIN) && RWL_DBPOOL_RETHRDED == db->pooltype) ) { @@ -776,6 +780,13 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) else rwldberror0(xev, cloc); + if (bit(xev->rwm->m4flags, RWL_P4_CONERROK)) + { + // Connection failed, but $connecterror:accept is set + bic(db->flags, RWL_DB_RECOKO); + return; + } + if (!bit(db->flags, RWL_DB_DEAD)) // if not a recoverable error goto cleanupandcanceldb; else @@ -3229,40 +3240,48 @@ ub4 rwlensuresession2(rwl_xeqenv *xev { // This happens inside a thread first time it does an ensuresession // so we call rwldbconnect to do the first logon which also allocates handles + // and we ask rwldbconnect to not close the connection right away + bis(db->flags, RWL_DB_RECOKO); rwldbconnect(xev, cloc, db); + if (!bit(db->flags, RWL_DB_RECOKO)) + return 0; // flag was cleared as connect failed + bic(db->flags, RWL_DB_RECOKO); } - // all handles are now allocated, so we just repeat attach and sessionbegin - if (OCI_SUCCESS != (xev->status=OCIServerAttach( db->srvhp, xev->errhp, db->connect, - (sb4) db->conlen , - (bit(db->flags,RWL_DB_USECPOOL) ? OCI_CPOOL: OCI_DEFAULT) ))) + else + { + // all handles are allocated when this is called after the first time + if (OCI_SUCCESS != (xev->status=OCIServerAttach( db->srvhp, xev->errhp, db->connect, + (sb4) db->conlen , + (bit(db->flags,RWL_DB_USECPOOL) ? OCI_CPOOL: OCI_DEFAULT) ))) + { + rwldberrorc2(xev, cloc, (text *)"OCIServerAttach", sq, fname); + return 0; + } + if (bit(xev->tflags, RWL_THR_DSQL)) { - rwldberrorc2(xev, cloc, (text *)"OCIServerAttach", sq, fname); - return 0; + rwldebugcode(xev->rwm,cloc,"%d connect to reconnect database %s stmc %d" + , xev->thrnum + , db->vname, db->stmtcache); } - if (bit(xev->tflags, RWL_THR_DSQL)) - { - rwldebugcode(xev->rwm,cloc,"%d connect to reconnect database %s stmc %d" - , xev->thrnum - , db->vname, db->stmtcache); - } - xev->status=OCISessionBegin(db->svchp, xev->errhp, db->seshp - , bit(db->flags, RWL_DB_CREDEXT) ? OCI_CRED_EXT : OCI_CRED_RDBMS - , db->sbmode|OCI_STMT_CACHE ); - if (OCI_SUCCESS_WITH_INFO == xev->status) - { - rwldberrorc2(xev, cloc, (text *)"OCISessionBegin", sq, fname); - xev->status=OCI_SUCCESS; - } - if ( (OCI_SUCCESS != xev->status) - || (OCI_SUCCESS != (xev->status=OCIAttrSet( db->svchp, OCI_HTYPE_SVCCTX, - db->seshp, 0, OCI_ATTR_SESSION, xev->errhp))) - || (OCI_SUCCESS != (xev->status=OCIAttrSet( db->svchp, OCI_HTYPE_SVCCTX, - &db->stmtcache, 0, OCI_ATTR_STMTCACHESIZE, xev->errhp))) - ) + xev->status=OCISessionBegin(db->svchp, xev->errhp, db->seshp + , bit(db->flags, RWL_DB_CREDEXT) ? OCI_CRED_EXT : OCI_CRED_RDBMS + , db->sbmode|OCI_STMT_CACHE ); + if (OCI_SUCCESS_WITH_INFO == xev->status) { - rwldberror2(xev, cloc, sq, fname); - return 0; + rwldberrorc2(xev, cloc, (text *)"OCISessionBegin", sq, fname); + xev->status=OCI_SUCCESS; } + if ( (OCI_SUCCESS != xev->status) + || (OCI_SUCCESS != (xev->status=OCIAttrSet( db->svchp, OCI_HTYPE_SVCCTX, + db->seshp, 0, OCI_ATTR_SESSION, xev->errhp))) + || (OCI_SUCCESS != (xev->status=OCIAttrSet( db->svchp, OCI_HTYPE_SVCCTX, + &db->stmtcache, 0, OCI_ATTR_STMTCACHESIZE, xev->errhp))) + ) + { + rwldberror2(xev, cloc, sq, fname); + return 0; + } + } bis(db->flags, RWL_DB_INUSE); exitval = RWL_DBPOOL_RECONNECT; goto normalexit; @@ -3940,7 +3959,7 @@ void rwldbdisconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) case RWL_DBPOOL_RETHRDED: case RWL_DBPOOL_RECONNECT: /*assert*/ - if (!bit(db->flags, RWL_DB_DEAD) && !db->svchp) + if (!bit(db->flags, RWL_DB_DEAD) && !db->svchp && !bit(xev->rwm->m4flags, RWL_P4_CONERROK)) { rwlexecsevere(xev, cloc, "[rwldbdisconnect-recnoconn:%s]", db->vname); return; From 8df669b701b000e70f80a999cea0e90838acb419 Mon Sep 17 00:00:00 2001 From: Manoj Dash Date: Fri, 9 Aug 2024 08:53:54 +0000 Subject: [PATCH 086/118] Debug messages with src file info --- src/rwl.h | 26 +++++++++++++--------- src/rwlerror.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++++- src/rwlmisc.c | 2 ++ 3 files changed, 77 insertions(+), 11 deletions(-) diff --git a/src/rwl.h b/src/rwl.h index 31318fb3..67a71272 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * mkdash 9-aug-2024 - Update Debugging functionality * bengsig 8-jul-2024 - Releasing 3.1.3 production * bengsig 4-jun-2024 - $ora01013:break * bengsig 27-may-2024 - Improve some comments @@ -995,6 +996,7 @@ struct rwl_main #define RWL_THR_DSQL 0x00000200 /* debug database */ #define RWL_THR_DTHRSER 0x00000400 /* serialize threads in stead of calling pthread */ #define RWL_DEBUG_BINDEF 0x00000800 /* Debug all bind and define settings */ +#define RWL_DEBUG_SRCLINE 0x00001000 /* when set, also show the source code line in rwldebug */ // Masks for either #define RWL_DEBUG_THREAD \ ( RWL_THR_DEVAL \ @@ -1013,14 +1015,14 @@ struct rwl_main | RWL_DEBUG_USEALEN \ | RWL_DEBUG_MISC \ | RWL_DEBUG_BINDEF \ + | RWL_DEBUG_SRCLINE \ | RWL_DEBUG_EXECUTE ) // and now the rest -#define RWL_P_STATISTICS 0x00001000 /* gather statistics */ -#define RWL_P_HISTOGRAMS 0x00002000 /* gather statistic histograms */ -#define RWL_P_PERSECSTAT 0x00004000 /* gather per second counts */ -#define RWL_P_ONLYMAINTH 0x00008000 /* set when only main thread exists */ -#define RWL_P_ISMAIN 0x00010000 /* set for thread used by main */ -#define RWL_P_unused1 0x00020000 +#define RWL_P_STATISTICS 0x00002000 /* gather statistics */ +#define RWL_P_HISTOGRAMS 0x00004000 /* gather statistic histograms */ +#define RWL_P_PERSECSTAT 0x00008000 /* gather per second counts */ +#define RWL_P_ONLYMAINTH 0x00010000 /* set when only main thread exists */ +#define RWL_P_ISMAIN 0x00020000 /* set for thread used by main */ #define RWL_P_SQLWASPLS 0x00040000 /* last NAMEDSQL lexed was a PL/SQL block */ #define RWL_P_PRINTTOFILE 0x00080000 /* set when printing (write) is to a file */ #define RWL_P_PRINTBLANK 0x00100000 /* next print should include blank */ @@ -2217,10 +2219,14 @@ void rwlsqllogging(rwl_xeqenv *, rwl_location *, rwl_sql *, text *); void rwldbevent(void *, OCIEvent *); void rwlsevere(rwl_main *, char *, ...); void rwlexecsevere(rwl_xeqenv *, rwl_location *, char *, ...); -void rwldebug(rwl_main *, char *, ...); -void rwldebugnonl(rwl_main *, char *, ...); -void rwldebugcode(rwl_main *, rwl_location *, char *, ...); -void rwldebugcodenonl(rwl_main *, rwl_location *, char *, ...); + +void rwldebug2(rwl_main *, rwl_location *, int, char *, ub4, char *, ...); +#define rwldebug(rwm, fmt, ...) rwldebug2(rwm, NULL, 1, __FILE__, __LINE__, fmt, __VA_ARGS__) +#define rwldebugnonl(rwm, fmt, ...) rwldebug2(rwm, NULL, 0, __FILE__, __LINE__, fmt, __VA_ARGS__) + +#define rwldebugcode(rwm, cloc, fmt, ...) rwldebug2(rwm, cloc, 1, __FILE__, __LINE__, fmt, __VA_ARGS__) +#define rwldebugcodenonl(rwm, cloc, fmt, ...) rwldebug2(rwm, cloc, 0, __FILE__, __LINE__, fmt, __VA_ARGS__) + void rwlerrormute(rwl_main *, ub4, ub4); void rwlcheckdformat(rwl_main *); void rwlcheckiformat(rwl_main *); diff --git a/src/rwlerror.c b/src/rwlerror.c index 53b07836..8602a095 100644 --- a/src/rwlerror.c +++ b/src/rwlerror.c @@ -11,6 +11,7 @@ * * History * + * mkdash 9-aug-2024 - Update Debugging functionality * bengsig 4-jun-2024 - $ora01013:break * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 27-mar-2024 - ora 12510 TNS:database temporarily lacks resources to handle the request @@ -343,6 +344,61 @@ void rwlexecsevere(rwl_xeqenv *xev, rwl_location *loc, char *format, ...) } +/* Common method used to print all debug messages */ +void rwldebug2(rwl_main * rwm, rwl_location *cloc, int nwl, char * file, ub4 line, char *format, ...) +{ + va_list args; + + //fprintf(stderr, "Called from [%s;%d]: ", file, line); + if (bit(rwm->mflags, RWL_DEBUG_SRCLINE)) + { + if (cloc) + { + fprintf(stderr, "RWL-601: debug at [%s:%d]<-[%s;%d]<-[%s;%d]:" + , file, line, cloc->fname, cloc->lineno + , rwm->loc.fname, rwm->loc.lineno); + } + else // cloc NULL + { + fprintf(stderr, "RWL-601: debug at [%s:%d]<-[%s;%d]:" + , file, line, rwm->loc.fname, rwm->loc.lineno); + } + if (bit(rwm->m2flags, RWL_P2_ERRORWTIM)) + fprintf(stderr, "(%.3f): " + , rwlclock(rwm->mxq,0)); + else + fprintf(stderr, "%s" + , " "); + } // If Src line debug + else + { + if (cloc) + { + fprintf(stderr, "RWL-601: debug at [%s;%d]<-[%s;%d]:" + , cloc->fname, cloc->lineno + , rwm->loc.fname, rwm->loc.lineno); + } + else // cloc NULL + { + fprintf(stderr, "RWL-601: debug at [%s;%d]:" + , rwm->loc.fname, rwm->loc.lineno); + } + if (bit(rwm->m2flags, RWL_P2_ERRORWTIM)) + fprintf(stderr, "(%.3f): " + , rwlclock(rwm->mxq,0)); + else + fprintf(stderr, "%s" + , " "); + } + va_start(args, format); + vfprintf(stderr, format, args); + va_end(args); + if (nwl) + fprintf(stderr, "%s", rwm->lineend); + fflush(stderr); +} + +#ifdef NEVER /* used to print debug via the -D flax */ void rwldebug(rwl_main *rwm, char *format, ...) { @@ -361,6 +417,7 @@ void rwldebug(rwl_main *rwm, char *format, ...) fprintf(stderr, "%s", rwm->lineend); fflush(stderr); } + /* and here without the finishing NL */ void rwldebugnonl(rwl_main *rwm, char *format, ...) { @@ -426,6 +483,7 @@ void rwldebugcodenonl(rwl_main *rwm, rwl_location *cloc, char *format, ...) va_end(args); fflush(stderr); } +#endif void rwldberrorc3(rwl_xeqenv *xev, rwl_location * cloc , text *ociname @@ -543,7 +601,7 @@ void rwldberrorc3(rwl_xeqenv *xev, rwl_location * cloc case 1017: // invalid username/password; logon denied if (bit(xev->rwm->mflags, RWL_P_RECON1017)) // Only do this if we have set RWL_P_RECON1017 { - rwldebugcode(xev->rwm, cloc, "special handling of ORA-01017"); + rwldebugcode(xev->rwm, cloc, "special handling of ORA-01017%s", ""); goto wait1to2seconds; } else diff --git a/src/rwlmisc.c b/src/rwlmisc.c index 55fd2a67..6f2534ae 100644 --- a/src/rwlmisc.c +++ b/src/rwlmisc.c @@ -14,6 +14,7 @@ * * History * + * mkdash 9-aug-2024 - Update Debugging functionality * bengsig 16-apr-2024 - bit operation on clflags * bengsig 9-apr-2024 - Add k K printf specifier for bytes/Bytes * bengsig 25-mar-2024 - everyuntil is not internal @@ -4943,6 +4944,7 @@ ub4 rwldebugconv(rwl_main * rwm , {(text *)"define", RWL_DEBUG_BINDEF} , {(text *)"misc", RWL_DEBUG_MISC} , {(text *)"sql", RWL_THR_DSQL} + , {(text *)"src", RWL_DEBUG_SRCLINE} }; ub4 map_len = (ub4)(sizeof debugmappings / sizeof debugmappings[0]); From 838a624a4e51ae1f3e58a4b38dd36242a59f7d4b Mon Sep 17 00:00:00 2001 From: Manoj Dash Date: Fri, 9 Aug 2024 08:55:24 +0000 Subject: [PATCH 087/118] Debug messages with src file info --- test/394.rwl | 18 ++++++++++++++++++ test/testres/394.err.good | 2 ++ test/testres/394.out.good | 1 + 3 files changed, 21 insertions(+) create mode 100644 test/394.rwl create mode 100644 test/testres/394.err.good create mode 100644 test/testres/394.out.good diff --git a/test/394.rwl b/test/394.rwl new file mode 100644 index 00000000..585cc3bc --- /dev/null +++ b/test/394.rwl @@ -0,0 +1,18 @@ +# test for -Dsrc +# +# Note that the correct output may change if there are changes +# in rwldiprs.y + +integer a := 1; + +$debugon:0x8 +$debugon:src + +$if a = 1 $then + printline "ok"; +$endif + +$if a x $then + printline "bad"; +$endif + diff --git a/test/testres/394.err.good b/test/testres/394.err.good new file mode 100644 index 00000000..8eb630ac --- /dev/null +++ b/test/testres/394.err.good @@ -0,0 +1,2 @@ +RWL-601: debug at [rwldiprs.y:45]<-[394.rwl;15]: rwlzerror syntax error, unexpected RWL_Z_IDENTIFIER, expecting RWL_Z_CONCAT or ';' +RWL-222: error at [394.rwl;15]: expected valid expression in $if ... $then directive diff --git a/test/testres/394.out.good b/test/testres/394.out.good new file mode 100644 index 00000000..9766475a --- /dev/null +++ b/test/testres/394.out.good @@ -0,0 +1 @@ +ok From 5e2f2d728d2242fa9008c2c89514dc06c94b1c68 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 13 Aug 2024 13:00:11 +0000 Subject: [PATCH 088/118] Release is Development, new test for ora01013:reset --- CHANGELOG.md | 6 +++++ man/man1rwl/rwloadsim.1rwl | 19 +++++++++------ src/rwl.h | 2 +- test/396.rwl | 47 ++++++++++++++++++++++++++++++++++++++ test/testres/396.err.good | 5 ++++ test/testres/396.out.good | 9 ++++++++ 6 files changed, 80 insertions(+), 8 deletions(-) create mode 100644 test/396.rwl create mode 100644 test/testres/396.err.good create mode 100644 test/testres/396.out.good diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ad09da3..c8c9176c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # RWP\*Load Simulator Release Notes +## 3.1.4 + +* Bug fixes +* -Dsrc will show source line of all debug messages +* OLTP workload gets ociping and connect times + ## 3.1.3 * Bug fixes diff --git a/man/man1rwl/rwloadsim.1rwl b/man/man1rwl/rwloadsim.1rwl index 6e8e9c02..f1e6bbf2 100644 --- a/man/man1rwl/rwloadsim.1rwl +++ b/man/man1rwl/rwloadsim.1rwl @@ -136,29 +136,34 @@ The argument is a debug option (or a comma separated list without spaces); each either a hexadecimal value (potentially prefixed by 0x or 0X) or one of the text strings shown in the following table: .TP 8 -.B 0x004 bison +.B 0x0004 bison Set the debug flag in the bison(1) parser. .TP -.B 0x010 var +.B 0x0010 var Debug handling of variables such as declarations. .TP -.B 0x020 exec +.B 0x0020 exec Debug execution of generated code; this does not include code executed directly in main. .TP -.B 0x040 pvinternal +.B 0x0040 pvinternal The \fBprintvar all\fR will also print all internally generated variables. .TP -.B 0x100 eval +.B 0x0100 eval Debug evaluation of expressions. .TP -.B 0x200 sql +.B 0x0200 sql Debug execution of sql and other database operations. .TP -.B 0x800 bind define +.B 0x0800 bind define Output information about all binds and defines before first execute of some SQL; both debug texts have the same impact as there is no way to ask for debug of bind or define separately. This is primarily useful if you are using implicit binds and/or defines. +.TP +.B 0x1000 src +For all debug, also show the file name and line number of the source code where that +debug is found. +Note that this is only useful if you have the source code to your precise build of rwloadsim. .TP 0 Note that some debug may cause extensive output and that the actual debug bits may change between versions. .RE diff --git a/src/rwl.h b/src/rwl.h index 4c6b06da..26c35c7e 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -2362,7 +2362,7 @@ extern const char rwlexecbanner[]; #define RWL_VERSION_MAJOR 3 #define RWL_VERSION_MINOR 1 #define RWL_VERSION_RELEASE 3 -#define RWL_VERSION_TEXT "Production" RWL_EXTRA_VERSION_TEXT +#define RWL_VERSION_TEXT "Development" RWL_EXTRA_VERSION_TEXT #define RWL_VERSION_DATE // undef to not include compile date extern ub4 rwlpatch; diff --git a/test/396.rwl b/test/396.rwl new file mode 100644 index 00000000..b1c623af --- /dev/null +++ b/test/396.rwl @@ -0,0 +1,47 @@ +# test ora01013:break/reset can be used with threads + +$clockstart:0 +$include:"testuserinfo.rwl" +$include:"testresults.rwl" +$include:"testpool.rwl" + +$oerstatistics:on +$ora01013:break + +if processnumber is null then + writeline stderr, "you forgot -sss options"; +end if; + +null system("(sleep 1; kill -s INT " processnumber ";) &"); + +printline "now sleeping"; + +run + threads 1 at testpool + for count 10 loop + printline "first loop=" loopnumber; + begin + dbms_session.sleep(0.3); + end; + . + end loop; + end threads; +end run; +printline "after first loop"; + +$ora01013:reset +integer i42; +select 42 i42 from dual +/ +at testpool; + +printf "%d %.1f\n", i42, runseconds(); + +run + threads 1 at testpool + for count 2 loop + printline "second loop=" loopnumber; + ociping; + end loop; + end threads; +end run; diff --git a/test/testres/396.err.good b/test/testres/396.err.good new file mode 100644 index 00000000..7c6fcec5 --- /dev/null +++ b/test/testres/396.err.good @@ -0,0 +1,5 @@ +RWL-322: user requested break +RWL-079: error at [396.rwl;26]: oracle error 1013 in 'sql#00039' declared at [396.rwl;23] +ORA-01013: user requested cancel of current operation +ORA-06512: at "SYS.DBMS_SESSION", line 435 +ORA-06512: at line 2 diff --git a/test/testres/396.out.good b/test/testres/396.out.good new file mode 100644 index 00000000..854a37d1 --- /dev/null +++ b/test/testres/396.out.good @@ -0,0 +1,9 @@ +now sleeping +first loop=1 +first loop=2 +first loop=3 +first loop=4 +after first loop +42 1.1 +second loop=1 +second loop=2 From f8971dc1f048c52c7d7279320dfe07a78678e6ca Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 15 Aug 2024 12:15:18 +0000 Subject: [PATCH 089/118] Allow -b (--simulatebatch) in oltprunxc --- bin/oltpxcrun | 6 +++--- man/man2rwl/oltpxcrun.2rwl | 9 ++++++++- oltp/run.rwl | 8 +++++--- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/bin/oltpxcrun b/bin/oltpxcrun index b1473e5d..28647d5e 100755 --- a/bin/oltpxcrun +++ b/bin/oltpxcrun @@ -13,8 +13,8 @@ . oltp-setup-env -options="2gGk:HaR:hHr: -l help,key:,runperiod:,no-default,default,no-awr" -usage="$commandname [-H] [-g|-G] [-a] [-2] [--default] [--no-awr] [-k|--key key] [-R file] [-r runperiod] [komment text ...]" +options="2gGk:HaR:hHr:b -l help,key:,runperiod:,no-default,default,no-awr,simulatebatch" +usage="$commandname [-H] [-g|-G] [-a] [-2] [-b] [--default] [--no-awr] [-k|--key key] [-R file] [-r runperiod] [komment text ...]" help=no key="$RWLOLTP_NAME" @@ -45,7 +45,7 @@ do ;; --no-awr) copyargs="$copyargs --no-awr"; shift; ;; - -2|-W|-a|-g|-G) copyargs="$copyargs $1"; shift; + -2|-W|-a|-g|-G|-b|--simulatebatch) copyargs="$copyargs $1"; shift; ;; -H|--help|-h ) help=yes; shift; ;; diff --git a/man/man2rwl/oltpxcrun.2rwl b/man/man2rwl/oltpxcrun.2rwl index cb02ff88..800271da 100644 --- a/man/man2rwl/oltpxcrun.2rwl +++ b/man/man2rwl/oltpxcrun.2rwl @@ -2,7 +2,7 @@ .SH NAME oltpxcrun \- Execute oltpcore with external control .SH SYNOPSIS -\fBoltpxcrun [-H] [-g|-G] [-a] [-2] [-k key] [-R file] [-r runperiod] [--no-awr] [--default] [komment text ...]\fR +\fBoltpxcrun [-H] [-g|-G] [-a] [-2] [-b] [-k key] [-R file] [-r runperiod] [--no-awr] [--default] [komment text ...]\fR .P Continuously make long runs with external control. .SH OPTIONS @@ -47,6 +47,13 @@ This requires a properly set DISPLAY environment variable. For -G, see oltprun(2rwl). .RE .P +.B -b +.br +.B --simulatebatch +.RS 4 +See oltpcore(2rwl) for details. +.RE +.P .B -R file .RS 4 In stead of using the normal run.rwl file count in the oltp directory, use diff --git a/oltp/run.rwl b/oltp/run.rwl index 20f99bc4..db58a997 100644 --- a/oltp/run.rwl +++ b/oltp/run.rwl @@ -141,7 +141,7 @@ end; procedure call_real_or_timeout() # nofail set to non-zero implies a silent fail without # call to call_failure, which is used to drain below -$if time_out is not null $then +$if time_out is not null and !simulatebatch $then if runseconds() > everyuntil+time_out then call_failure(""); else @@ -473,9 +473,10 @@ $if delay_length > 0 and pool_type = "sessionpool" $then $endif $if xc_enabled $then + $if !simulatebatch $then # With external control, we only run the - # create invoice batch, and only when - # the loadfactor is at least 10% + # create invoice batch in normal mode with pools, + # and only when the loadfactor is at least 10% threads 1 at rwl_run_batch for start erlang2(2.5*procnumber/ratefactor) @@ -491,6 +492,7 @@ $if xc_enabled $then end if; end loop; end threads; + $endif $else $if !simulatebatch $then # This is the first batch, that does the ship_order From 5669eab7756c182c35a4e76d4d7bff50f3f4cfd4 Mon Sep 17 00:00:00 2001 From: Manoj Dash Date: Wed, 28 Aug 2024 11:06:14 +0000 Subject: [PATCH 090/118] dbseconds and ociseconds --- src/lex.rwly.c | 3894 +++++++++++------------ src/rwl.h | 3 + src/rwlexprcomp.c | 3 + src/rwlexpreval.c | 53 +- src/rwllexer.l | 5 + src/rwlparser.tab.c | 6312 +++++++++++++++++++------------------ src/rwlparser.tab.h | 312 +- src/rwlparser.y | 15 +- test/398.rwl | 57 + test/testres/398.err.good | 0 test/testres/398.out.good | 5 + 11 files changed, 5445 insertions(+), 5214 deletions(-) create mode 100644 test/398.rwl create mode 100644 test/testres/398.err.good create mode 100644 test/testres/398.out.good diff --git a/src/lex.rwly.c b/src/lex.rwly.c index 26810ca1..43db6ee4 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 354 -#define YY_END_OF_BUFFER 355 +#define YY_NUM_RULES 356 +#define YY_END_OF_BUFFER 357 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -352,224 +352,225 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1962] = +static yyconst flex_int16_t yy_accept[1977] = { 0, - 0, 0, 355, 353, 351, 350, 190, 353, 352, 346, - 182, 218, 353, 183, 184, 180, 178, 185, 179, 353, - 181, 47, 192, 235, 188, 186, 189, 191, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 353, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 217, 219, 351, - 200, 0, 43, 0, 352, 347, 233, 232, 234, 347, - 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, - 347, 347, 347, 347, 347, 347, 347, 220, 0, 42, - - 0, 223, 222, 203, 40, 204, 173, 41, 221, 224, - 46, 47, 0, 202, 0, 197, 201, 0, 187, 198, - 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 348, - 0, 231, 231, 231, 231, 231, 89, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 158, 231, 231, 177, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 196, - - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 205, 232, 234, 0, 0, + 0, 0, 357, 355, 353, 352, 192, 355, 354, 348, + 184, 220, 355, 185, 186, 182, 180, 187, 181, 355, + 183, 47, 194, 237, 190, 188, 191, 193, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 355, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 219, 221, 353, + 202, 0, 43, 0, 354, 349, 235, 234, 236, 349, + 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, + 349, 349, 349, 349, 349, 349, 349, 222, 0, 42, + + 0, 225, 224, 205, 40, 206, 175, 41, 223, 226, + 46, 47, 0, 204, 0, 199, 203, 0, 189, 200, + 0, 0, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 350, + 0, 233, 233, 233, 233, 233, 89, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 160, 233, 233, + 179, 233, 233, 233, 233, 233, 233, 233, 233, 233, + + 198, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 207, 234, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 46, 0, 0, 44, - 225, 207, 199, 206, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - - 231, 231, 231, 349, 231, 231, 231, 170, 194, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 122, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 102, 231, 231, 231, 231, 231, 112, 231, 231, - 231, 169, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 111, 231, 231, 231, 231, - 231, 231, 231, 231, 193, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 56, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 95, 231, 231, 231, 231, - 121, 231, 73, 231, 231, 231, 231, 231, 175, 231, - - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 208, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 48, 46, 0, 0, + 44, 227, 209, 201, 208, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + + 233, 233, 233, 233, 351, 233, 233, 233, 172, 196, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 122, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 102, 233, 233, 233, 233, 233, 112, + 233, 233, 233, 171, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 111, 233, 233, + 233, 233, 233, 233, 233, 233, 195, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 56, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 95, 233, 233, + 233, 233, 121, 233, 73, 233, 233, 233, 233, 233, + + 177, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 45, 231, 231, - 231, 231, 231, 231, 38, 231, 231, 231, 231, 231, - 37, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 0, 231, 231, 33, 231, 231, 231, - 231, 231, 231, 96, 55, 231, 230, 113, 54, 231, - - 231, 231, 231, 231, 59, 231, 231, 231, 231, 231, - 106, 161, 231, 231, 231, 231, 231, 51, 231, 146, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 70, 231, 231, 168, 231, 231, 231, 231, - 231, 231, 231, 174, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 120, 231, 231, 101, 231, 231, 231, 231, 160, - 231, 231, 231, 231, 231, 164, 159, 231, 231, 231, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, + 233, 233, 233, 233, 233, 233, 38, 233, 233, 233, + 233, 233, 37, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 0, 233, 233, 33, 233, + 233, 233, 233, 233, 233, 96, 55, 233, 232, 113, + + 54, 233, 233, 233, 233, 233, 59, 233, 233, 233, + 233, 233, 233, 106, 163, 233, 233, 233, 233, 233, + 51, 233, 148, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 70, 233, 233, 170, 233, + 233, 233, 233, 233, 233, 233, 176, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 120, 233, 233, 101, 233, + 233, 233, 233, 162, 233, 233, 233, 233, 233, 166, + 161, 233, 233, 233, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, + 0, 0, 233, 36, 233, 233, 21, 34, 233, 233, + 233, 233, 233, 233, 233, 20, 233, 0, 31, 233, + 24, 233, 233, 233, 233, 0, 0, 0, 233, 233, + 71, 233, 233, 147, 218, 233, 233, 60, 233, 233, + 100, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 169, 233, 233, 115, 233, 233, 136, + + 233, 233, 233, 233, 233, 123, 233, 233, 233, 233, + 233, 228, 57, 233, 233, 233, 233, 233, 233, 63, + 233, 233, 157, 233, 233, 233, 233, 167, 233, 233, + 233, 152, 233, 233, 233, 233, 233, 116, 233, 233, + 233, 233, 173, 233, 233, 99, 233, 233, 233, 233, + 233, 233, 233, 114, 233, 233, 233, 165, 233, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 242, 0, 0, 231, 36, - 231, 231, 21, 34, 231, 231, 231, 231, 231, 231, - 231, 20, 231, 0, 31, 231, 24, 231, 231, 231, - 231, 0, 0, 0, 231, 231, 71, 231, 231, 145, - 216, 231, 231, 60, 231, 231, 100, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 167, 231, - 231, 115, 231, 231, 136, 231, 231, 231, 231, 231, - - 123, 231, 231, 231, 231, 231, 226, 57, 231, 231, - 231, 231, 231, 63, 231, 231, 155, 231, 231, 231, - 231, 165, 231, 231, 231, 150, 231, 231, 231, 231, - 231, 116, 231, 231, 231, 231, 171, 231, 231, 99, - 231, 231, 231, 231, 231, 231, 231, 114, 231, 231, - 231, 163, 231, 147, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 231, 231, 231, 231, 19, 231, - 32, 231, 231, 231, 30, 0, 231, 25, 26, 231, - 28, 0, 0, 0, 231, 29, 135, 231, 231, 231, - 86, 231, 231, 231, 69, 231, 231, 98, 141, 162, - 68, 231, 131, 231, 154, 231, 231, 137, 128, 231, - 93, 231, 231, 124, 231, 176, 127, 231, 72, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 65, 231, - 231, 231, 231, 58, 231, 144, 231, 231, 231, 231, - 231, 231, 231, 231, 50, 231, 231, 231, 231, 231, - 231, 212, 231, 231, 143, 125, 229, 129, 231, 231, - - 231, 231, 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 233, 233, 233, 233, 19, 233, 32, 233, 233, 233, + 30, 0, 233, 25, 26, 233, 28, 0, 0, 0, + 233, 29, 135, 233, 233, 233, 86, 233, 233, 233, + 233, 69, 233, 233, 98, 143, 164, 68, 233, 131, + 233, 156, 233, 233, 137, 128, 233, 93, 233, 233, + 124, 233, 178, 127, 233, 72, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 65, 233, 233, 233, + 233, 58, 233, 146, 233, 233, 233, 233, 233, 233, + 233, 233, 50, 233, 233, 233, 233, 233, 233, 214, + + 233, 233, 145, 125, 231, 129, 233, 233, 233, 233, + 233, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 231, 23, 231, - 231, 0, 35, 231, 231, 231, 0, 22, 231, 0, - 0, 0, 231, 231, 195, 97, 77, 231, 231, 231, - 88, 231, 132, 133, 134, 172, 67, 231, 231, 231, - 231, 142, 130, 231, 231, 231, 231, 166, 231, 231, - - 85, 231, 231, 231, 231, 94, 231, 231, 231, 52, - 231, 231, 231, 83, 231, 90, 231, 231, 231, 231, - 231, 66, 231, 231, 126, 92, 109, 231, 231, 231, - 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 320, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 233, 23, 233, 233, 0, + 35, 233, 233, 233, 0, 22, 233, 0, 0, 0, + 233, 233, 197, 97, 77, 233, 233, 233, 233, 88, + 233, 132, 133, 134, 174, 67, 233, 233, 233, 233, + + 144, 130, 233, 233, 233, 233, 168, 233, 233, 85, + 233, 233, 233, 233, 233, 94, 233, 233, 233, 52, + 233, 233, 233, 83, 233, 90, 233, 233, 233, 233, + 233, 66, 233, 233, 126, 92, 109, 233, 233, 233, + 233, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 231, 231, 0, 0, - 0, 0, 0, 0, 0, 231, 0, 231, 0, 231, - - 0, 10, 0, 39, 231, 231, 231, 80, 231, 231, - 49, 231, 231, 231, 231, 227, 231, 231, 231, 231, - 231, 79, 231, 157, 231, 231, 149, 231, 231, 151, - 231, 87, 231, 231, 231, 84, 231, 231, 61, 78, - 231, 231, 53, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, + 0, 0, 0, 0, 0, 0, 233, 233, 0, 0, + + 0, 0, 0, 0, 0, 233, 0, 233, 0, 233, + 0, 10, 0, 39, 233, 233, 233, 80, 233, 233, + 233, 49, 233, 233, 233, 233, 229, 233, 233, 233, + 233, 233, 233, 79, 233, 159, 233, 233, 151, 233, + 233, 153, 233, 87, 233, 233, 233, 84, 233, 233, + 61, 78, 233, 233, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 231, 231, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 231, 0, 231, - 0, 27, 0, 0, 231, 231, 231, 107, 231, 140, - 231, 231, 231, 231, 231, 231, 231, 231, 156, 91, - 231, 108, 231, 152, 231, 231, 231, 231, 82, 231, - 231, 148, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, - 0, 0, 0, 326, 0, 0, 0, 0, 324, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, + 0, 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 231, 0, 4, 0, - - 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, - 8, 0, 0, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 138, 231, - 231, 117, 231, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 329, 328, 327, 0, 0, 0, - 0, 0, 0, 279, 326, 0, 0, 0, 0, 0, - 0, 277, 0, 0, 276, 0, 0, 324, 323, 0, - 336, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 330, 330, 0, 0, 0, 0, + 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 233, 233, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, + 0, 233, 0, 27, 0, 0, 233, 233, 233, 140, + 107, 233, 142, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 158, 91, 233, 108, 233, 154, 233, 233, + 233, 233, 82, 233, 233, 150, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, + 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, + 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 265, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 233, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 233, 0, 0, 8, 0, 0, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 141, 233, + 233, 233, 233, 138, 233, 233, 117, 233, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, + 330, 329, 0, 0, 0, 0, 0, 0, 281, 328, + 0, 0, 0, 0, 0, 0, 279, 0, 0, 278, + 0, 0, 326, 325, 0, 338, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, + + 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, + 0, 0, 0, 0, 12, 233, 0, 0, 0, 0, + 0, 233, 233, 233, 75, 233, 62, 74, 64, 233, + 233, 233, 233, 233, 233, 233, 81, 233, 103, 233, + 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 331, 329, 0, 0, 0, 0, 0, 0, + 281, 0, 0, 0, 0, 0, 0, 0, 278, 0, + 0, 325, 324, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 332, 0, 0, - 0, 0, 0, 13, 0, 0, 0, 0, 0, 12, - 231, 0, 0, 0, 0, 0, 231, 231, 231, 75, - 231, 62, 74, 64, 231, 231, 231, 231, 231, 231, - 231, 81, 231, 103, 231, 209, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 329, 327, 0, - 0, 0, 0, 0, 0, 279, 0, 0, 0, 0, - 0, 0, 0, 276, 0, 0, 323, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, - 5, 0, 0, 0, 0, 231, 231, 231, 139, 228, - 231, 110, 119, 231, 231, 153, 231, 231, 210, 321, - 0, 252, 264, 265, 0, 332, 0, 0, 0, 0, - 0, 317, 0, 0, 0, 0, 254, 0, 0, 0, - 0, 0, 0, 0, 293, 236, 322, 0, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 331, 325, 0, 0, 0, 249, + 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 233, 5, 0, 0, 0, 0, + 233, 233, 233, 139, 230, 233, 110, 119, 233, 233, + 155, 233, 233, 212, 323, 0, 254, 266, 267, 0, + 334, 0, 0, 0, 0, 0, 319, 0, 0, 0, + 0, 256, 0, 0, 0, 0, 0, 0, 0, 295, + 238, 324, 0, 0, 0, 262, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, + 327, 0, 0, 0, 251, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 240, 241, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 233, 233, 233, 76, 233, 233, 213, + 233, 323, 255, 0, 335, 0, 0, 0, 0, 315, + 0, 319, 0, 0, 0, 257, 0, 0, 292, 294, + 0, 0, 0, 238, 0, 0, 0, 260, 263, 0, + 0, 0, 0, 268, 0, 0, 0, 0, 0, 274, + 0, 0, 333, 327, 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 238, 239, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 231, 231, - 231, 76, 231, 231, 211, 231, 321, 253, 0, 333, - 0, 0, 0, 0, 313, 0, 317, 0, 0, 0, - 255, 0, 0, 290, 292, 0, 0, 0, 236, 0, - 0, 0, 258, 261, 0, 0, 0, 0, 266, 0, - 0, 0, 0, 0, 272, 0, 0, 331, 325, 0, - 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 238, 0, 239, 0, 0, - 0, 0, 17, 0, 16, 0, 18, 0, 0, 0, - 9, 0, 231, 231, 104, 231, 231, 118, 0, 287, - - 333, 0, 0, 0, 307, 0, 314, 0, 0, 0, - 278, 0, 280, 0, 0, 0, 0, 237, 0, 259, - 0, 267, 0, 268, 0, 270, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 334, - 248, 0, 0, 0, 0, 311, 0, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 0, 7, 11, 231, - 105, 231, 231, 288, 0, 0, 0, 308, 0, 303, - 0, 0, 0, 281, 0, 291, 0, 0, 237, 0, - 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 250, 0, 301, 0, 0, 0, 0, 335, 0, - - 0, 0, 309, 312, 0, 0, 0, 238, 0, 0, - 239, 0, 0, 0, 0, 15, 0, 0, 231, 213, - 231, 289, 0, 0, 304, 0, 305, 0, 0, 0, - 0, 0, 0, 286, 0, 282, 0, 0, 271, 0, - 274, 0, 0, 0, 296, 0, 302, 0, 0, 0, - 0, 335, 246, 0, 310, 0, 0, 0, 0, 0, - 0, 0, 231, 215, 289, 0, 319, 306, 0, 0, - 0, 345, 0, 295, 0, 0, 283, 269, 273, 0, - 0, 0, 0, 297, 0, 0, 0, 338, 339, 0, - 0, 0, 0, 0, 0, 0, 6, 214, 0, 285, - - 0, 294, 0, 275, 0, 298, 0, 0, 0, 0, - 0, 340, 0, 0, 0, 0, 0, 0, 0, 318, - 285, 0, 0, 299, 0, 0, 315, 0, 0, 0, - 344, 343, 0, 2, 0, 284, 337, 300, 316, 0, - 0, 341, 0, 0, 344, 343, 0, 0, 284, 337, - 0, 256, 247, 0, 0, 257, 0, 3, 0, 1, - 0 + 240, 0, 241, 0, 0, 0, 0, 17, 0, 16, + + 0, 18, 0, 0, 0, 9, 0, 233, 233, 104, + 233, 233, 118, 0, 289, 335, 0, 0, 0, 309, + 0, 316, 0, 0, 0, 280, 0, 282, 0, 0, + 0, 0, 239, 0, 261, 0, 269, 0, 270, 0, + 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 344, 0, 336, 250, 0, 0, 0, 0, + 313, 0, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 7, 11, 233, 105, 233, 233, 290, 0, + 0, 0, 310, 0, 305, 0, 0, 0, 283, 0, + 293, 0, 0, 239, 0, 288, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 252, 0, 303, 0, + 0, 0, 0, 337, 0, 0, 0, 311, 314, 0, + 0, 0, 240, 0, 0, 241, 0, 0, 0, 0, + 15, 0, 0, 233, 215, 233, 291, 0, 0, 306, + 0, 307, 0, 0, 0, 0, 0, 0, 288, 0, + 284, 0, 0, 273, 0, 276, 0, 0, 0, 298, + 0, 304, 0, 0, 0, 0, 337, 248, 0, 312, + 0, 0, 0, 0, 0, 0, 0, 233, 217, 291, + 0, 321, 308, 0, 0, 0, 347, 0, 297, 0, + 0, 285, 271, 275, 0, 0, 0, 0, 299, 0, + + 0, 0, 340, 341, 0, 0, 0, 0, 0, 0, + 0, 6, 216, 0, 287, 0, 296, 0, 277, 0, + 300, 0, 0, 0, 0, 0, 342, 0, 0, 0, + 0, 0, 0, 0, 320, 287, 0, 0, 301, 0, + 0, 317, 0, 0, 0, 346, 345, 0, 2, 0, + 286, 339, 302, 318, 0, 0, 343, 0, 0, 346, + 345, 0, 0, 286, 339, 0, 258, 249, 0, 0, + 259, 0, 3, 0, 1, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -617,457 +618,459 @@ static yyconst YY_CHAR yy_meta[88] = 21, 21, 22, 21, 21, 1, 1 } ; -static yyconst flex_uint16_t yy_base[2002] = +static yyconst flex_uint16_t yy_base[2017] = { 0, - 0, 0, 3435, 3436, 86, 3436, 3405, 83, 0, 141, - 3436, 3423, 80, 3436, 3436, 3403, 77, 3436, 76, 3413, - 80, 211, 3401, 3436, 209, 3400, 211, 3436, 207, 59, + 0, 0, 3450, 3451, 86, 3451, 3420, 83, 0, 141, + 3451, 3438, 80, 3451, 3451, 3418, 77, 3451, 76, 3428, + 80, 211, 3416, 3451, 209, 3415, 211, 3451, 207, 59, 66, 67, 41, 54, 51, 0, 56, 56, 68, 62, 59, 81, 212, 181, 196, 205, 110, 263, 213, 273, - 243, 283, 302, 250, 3364, 223, 200, 295, 220, 192, - 252, 3347, 319, 336, 313, 314, 346, 3340, 3436, 116, - 3436, 333, 3436, 0, 0, 3436, 3436, 404, 0, 50, - 3357, 275, 320, 359, 3356, 3349, 188, 3348, 268, 59, - 301, 3344, 3340, 73, 331, 188, 3341, 3436, 251, 3436, - - 3415, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, - 421, 429, 446, 3436, 3388, 3436, 3436, 3387, 3436, 3436, - 3386, 3385, 0, 219, 251, 291, 285, 359, 367, 366, - 390, 412, 421, 406, 412, 412, 428, 440, 423, 440, - 426, 445, 429, 436, 426, 439, 428, 456, 443, 3436, - 3410, 3338, 295, 444, 464, 3334, 3350, 459, 3336, 3334, - 3343, 455, 3338, 3331, 467, 3327, 3324, 486, 3322, 468, - 3323, 335, 3326, 3328, 3334, 488, 3326, 3325, 472, 3318, - 3317, 3320, 3320, 3312, 3316, 3306, 0, 3315, 481, 3314, - 328, 500, 3323, 3306, 3313, 505, 3312, 340, 3318, 0, - - 3303, 476, 492, 3316, 439, 525, 484, 3306, 537, 468, - 3305, 3300, 500, 361, 482, 3308, 3297, 509, 520, 490, - 3310, 3305, 511, 538, 3304, 3342, 598, 0, 3288, 3294, - 3295, 3293, 3293, 3292, 3299, 3302, 3288, 3283, 3299, 3296, - 3281, 3293, 3285, 3277, 568, 3279, 3291, 3279, 3268, 514, - 3278, 3287, 3271, 3287, 3282, 3281, 3271, 256, 531, 3283, - 3271, 3281, 3276, 3271, 3274, 3436, 604, 624, 610, 630, - 3436, 3436, 3436, 3436, 596, 601, 595, 597, 616, 617, - 615, 615, 628, 618, 626, 631, 620, 626, 620, 627, - 637, 632, 637, 624, 639, 646, 633, 644, 645, 690, - - 637, 651, 657, 3436, 3260, 3272, 3267, 0, 0, 3274, - 3260, 3250, 3268, 3269, 3269, 3264, 3256, 3265, 655, 3252, - 0, 3251, 3245, 535, 669, 3254, 537, 3260, 3245, 3255, - 3244, 0, 3255, 3256, 3238, 3252, 3234, 670, 3232, 3247, - 3236, 0, 3241, 3246, 3235, 651, 3245, 3245, 3230, 678, - 3239, 3222, 3231, 3234, 3224, 0, 3223, 3229, 3232, 3221, - 3214, 3213, 3220, 3212, 0, 3219, 3214, 3228, 3214, 3208, - 644, 3223, 3213, 436, 3220, 0, 3219, 3207, 3216, 3215, - 3198, 3197, 3196, 3204, 3201, 3195, 3191, 3193, 3193, 3204, - 0, 3200, 3208, 3187, 639, 3190, 3196, 3185, 0, 3183, - - 3182, 3187, 3195, 674, 3193, 3189, 3179, 3176, 3181, 3182, - 3174, 3172, 3436, 3190, 3185, 3185, 3185, 3173, 3174, 3184, - 3163, 3165, 3177, 3176, 3171, 3164, 3164, 3172, 3156, 3226, - 712, 718, 713, 3162, 3161, 3165, 661, 3146, 3165, 3164, - 3163, 3148, 702, 3202, 3144, 3160, 3159, 3147, 3142, 3159, - 3140, 3146, 654, 3143, 3149, 3137, 714, 728, 685, 695, - 690, 720, 704, 711, 0, 723, 709, 729, 713, 715, - 0, 735, 729, 718, 721, 773, 735, 738, 742, 735, - 738, 734, 751, 800, 752, 743, 0, 3134, 3134, 3130, - 3126, 3187, 3144, 3133, 0, 3136, 0, 0, 0, 764, - - 3141, 3125, 3129, 3141, 0, 3138, 3138, 3119, 3125, 3126, - 0, 3128, 3132, 3127, 3120, 3108, 3111, 0, 3112, 0, - 3112, 3115, 3108, 3126, 3112, 3104, 3123, 3119, 3104, 3103, - 3113, 3107, 0, 3098, 3099, 0, 3110, 3091, 3112, 3095, - 3107, 3110, 3109, 0, 3100, 3096, 3088, 3083, 3085, 3103, - 3098, 3093, 3076, 3095, 3084, 3086, 3083, 3072, 3094, 3089, - 3081, 3074, 3089, 3086, 3084, 3083, 3078, 3082, 3065, 3070, - 3074, 0, 3062, 747, 0, 3067, 3060, 3076, 3073, 0, - 3076, 771, 3061, 3068, 3060, 0, 0, 3068, 3060, 3066, - 3045, 3051, 3053, 3056, 3061, 753, 3056, 3057, 3050, 3436, - - 3058, 3055, 3042, 3039, 3046, 3043, 754, 802, 809, 3107, - 755, 3046, 3033, 3038, 3037, 3047, 3035, 3036, 3081, 3042, - 3045, 3025, 3082, 3025, 3080, 3036, 3021, 3037, 3024, 3028, - 3033, 3027, 3019, 3013, 534, 3436, 3017, 770, 772, 0, - 761, 784, 0, 0, 780, 790, 789, 803, 791, 802, - 810, 0, 794, 853, 0, 807, 0, 814, 822, 813, - 810, 817, 818, 816, 836, 836, 0, 3012, 3025, 0, - 0, 3024, 3007, 0, 3007, 3023, 0, 2996, 3012, 3007, - 2997, 2953, 2938, 2917, 2915, 2915, 2894, 2881, 0, 2846, - 2836, 0, 2823, 2813, 2858, 2786, 2788, 2792, 2786, 2785, - - 2785, 2778, 2770, 2773, 2775, 2752, 808, 0, 2757, 2754, - 2756, 2747, 2752, 0, 2760, 2749, 830, 2743, 2757, 2757, - 2745, 0, 2745, 539, 2737, 812, 2721, 2713, 2711, 2716, - 2728, 0, 2723, 2707, 2709, 2687, 0, 2674, 2689, 0, - 2677, 2669, 2680, 2666, 2675, 2669, 2643, 848, 2628, 2631, - 2639, 0, 2637, 2625, 2617, 2615, 817, 2613, 2628, 2625, - 2622, 2606, 2601, 2601, 2597, 2610, 2605, 3436, 820, 2594, - 2595, 2602, 852, 876, 873, 2599, 2597, 2582, 2593, 2591, - 2572, 2572, 897, 2514, 2515, 2515, 2554, 2490, 2496, 872, - 2496, 2479, 2484, 2482, 2470, 2481, 2476, 2463, 2456, 760, - - 2455, 2463, 2451, 2423, 852, 870, 875, 858, 910, 874, - 0, 877, 879, 893, 0, 894, 876, 0, 0, 888, - 0, 884, 888, 907, 889, 0, 0, 2405, 2396, 2389, - 0, 2388, 2392, 2375, 0, 2373, 2330, 0, 0, 0, - 0, 2319, 920, 2318, 0, 2316, 2306, 0, 0, 2319, - 0, 2316, 2313, 0, 2298, 0, 2312, 2307, 0, 2307, - 2306, 2295, 2304, 2290, 2298, 2299, 2285, 2285, 0, 2293, - 2300, 2295, 2278, 0, 2283, 0, 2246, 2256, 2249, 2228, - 2229, 2242, 2226, 2226, 0, 2241, 2226, 2220, 2223, 46, - 69, 0, 191, 177, 0, 225, 0, 0, 215, 299, - - 353, 427, 512, 876, 744, 834, 840, 836, 866, 867, - 874, 888, 872, 890, 880, 896, 883, 899, 900, 897, - 892, 897, 899, 964, 965, 966, 907, 912, 898, 914, - 906, 920, 907, 962, 913, 915, 912, 972, 920, 927, - 922, 916, 934, 934, 936, 928, 934, 929, 938, 941, - 927, 932, 947, 935, 939, 932, 944, 962, 0, 963, - 1013, 1044, 0, 987, 1016, 988, 990, 0, 979, 975, - 990, 982, 992, 966, 0, 0, 963, 972, 969, 970, - 0, 973, 0, 0, 0, 0, 0, 963, 972, 971, - 963, 0, 0, 979, 965, 986, 981, 0, 999, 982, - - 0, 983, 999, 990, 987, 0, 988, 987, 1003, 0, - 1006, 990, 1009, 0, 999, 0, 1002, 1000, 1010, 1000, - 992, 0, 1000, 1010, 0, 0, 0, 1016, 1016, 1015, - 1010, 1023, 1006, 1015, 1011, 1019, 1033, 1030, 1032, 1034, - 1030, 1020, 1023, 1036, 1076, 1077, 1041, 1026, 1034, 1028, - 1044, 1046, 1103, 1104, 1106, 1037, 1091, 1052, 1095, 1043, - 1053, 1054, 1113, 1066, 1050, 1060, 1106, 1053, 1068, 1075, - 1077, 1079, 1078, 1082, 1070, 1072, 1074, 1081, 1088, 1083, - 1077, 1074, 1082, 1080, 1088, 1078, 1122, 1123, 1158, 1111, - 1132, 1125, 1117, 1135, 1119, 1129, 1168, 1131, 1131, 1127, - - 1128, 3436, 1130, 0, 1098, 1107, 1120, 0, 1120, 1111, - 0, 1124, 1117, 1113, 1119, 0, 1135, 1138, 1132, 1130, - 1142, 0, 1147, 0, 1149, 1146, 0, 1137, 1140, 1152, - 1159, 0, 1157, 1150, 1148, 0, 1153, 1162, 0, 0, - 1160, 1162, 0, 1148, 1165, 1165, 1170, 1154, 1156, 1157, - 1164, 1163, 1173, 1174, 1213, 0, 1231, 1178, 1182, 1180, - 1177, 1173, 1221, 1240, 1241, 1225, 1246, 1179, 1235, 1235, - 1184, 1237, 1191, 1186, 1188, 1242, 1243, 1206, 1206, 3436, - 1195, 1247, 1211, 1197, 1203, 1205, 1198, 1207, 1207, 1220, - 1204, 1216, 1221, 1260, 1213, 1226, 1240, 1288, 1248, 1249, - - 1242, 1263, 1295, 1266, 1255, 1263, 1257, 1273, 1263, 1305, - 1274, 0, 1262, 1280, 1235, 1241, 1248, 0, 1243, 0, - 1258, 1245, 1258, 1265, 1266, 1264, 1262, 1261, 0, 0, - 1271, 0, 1277, 0, 1264, 1264, 1279, 1270, 0, 1267, - 1324, 0, 1283, 1322, 1270, 1278, 1272, 1275, 1293, 1286, - 1289, 1285, 1279, 0, 0, 1340, 1287, 1286, 1299, 1342, - 1304, 1310, 0, 1364, 1320, 1367, 1344, 1302, 1375, 1388, - 1350, 0, 1300, 1315, 1353, 1301, 1343, 1344, 1332, 3436, - 1309, 1381, 1326, 1393, 1341, 1390, 1354, 1357, 1351, 1348, - 1360, 1357, 1351, 1425, 1360, 1367, 1437, 1446, 3436, 1402, - - 1405, 1393, 1449, 1401, 1411, 1408, 1418, 1404, 1424, 1455, - 3436, 1428, 1427, 1394, 1401, 1402, 1404, 1397, 1392, 1405, - 1397, 1415, 1404, 1417, 1407, 1413, 1423, 1416, 0, 1427, - 1420, 1418, 1432, 1468, 1421, 1471, 1435, 1474, 1427, 1431, - 1430, 1478, 1437, 1481, 0, 0, 0, 1437, 1445, 1439, - 1437, 1428, 1441, 0, 1528, 1446, 1451, 1452, 1443, 1454, - 1515, 3436, 1526, 1497, 3436, 1527, 1496, 1517, 1538, 1544, - 0, 1449, 1499, 1454, 1463, 1455, 1459, 1479, 1465, 1471, - 1473, 1503, 1494, 1495, 1520, 1521, 1551, 1558, 1508, 1507, - 1503, 1560, 1524, 1562, 1517, 1526, 1515, 1587, 1568, 1569, - - 1610, 1546, 1547, 3436, 1568, 1565, 1573, 1570, 1569, 3436, - 1573, 1565, 1583, 1584, 1578, 1568, 1543, 1549, 1547, 0, - 1544, 0, 0, 0, 1559, 1557, 1555, 1552, 1569, 1570, - 1557, 0, 1561, 0, 1567, 1580, 1633, 1577, 1628, 1625, - 1639, 1588, 1640, 1603, 1594, 1596, 1650, 0, 0, 1616, - 1600, 1652, 1614, 1655, 1618, 0, 1610, 1605, 1620, 1622, - 1606, 1624, 1660, 1661, 1690, 0, 1674, 1680, 1620, 1632, - 1642, 1646, 1645, 1637, 1633, 1638, 1641, 1651, 1642, 1643, - 1644, 1655, 1669, 0, 1710, 1704, 1667, 1663, 1663, 1658, - 1679, 1660, 1680, 1678, 1717, 1661, 1740, 3436, 0, 0, - - 0, 1713, 1718, 1711, 1705, 1708, 1718, 1723, 1723, 1758, - 3436, 1712, 1731, 1720, 1726, 1694, 1708, 1695, 0, 0, - 1706, 0, 0, 1697, 1712, 0, 1709, 1703, 0, 1779, - 1710, 3436, 3436, 3436, 1702, 1787, 1754, 1707, 1759, 1723, - 1725, 1793, 1713, 1711, 1723, 1741, 3436, 1745, 1794, 1758, - 1755, 1755, 1749, 1761, 3436, 1797, 1807, 1755, 1769, 1770, - 3436, 1758, 1777, 1759, 1775, 1765, 1762, 1770, 1770, 1778, - 1764, 1772, 1780, 1777, 0, 1830, 1831, 1784, 1793, 3436, - 1781, 1834, 1786, 1794, 1798, 1785, 1839, 1795, 1807, 1800, - 1843, 1796, 1845, 1846, 1847, 1818, 1824, 1830, 1821, 1835, - - 1843, 1828, 1832, 1880, 1853, 1843, 1836, 1842, 1827, 1812, - 1820, 0, 1812, 1814, 0, 1810, 1875, 3436, 1845, 1899, - 1852, 1860, 1827, 1846, 3436, 1900, 1914, 1850, 1868, 1856, - 3436, 1867, 1921, 3436, 3436, 1858, 1885, 1871, 1920, 0, - 1871, 1886, 3436, 3436, 1926, 1883, 1886, 1876, 3436, 1888, - 1878, 1879, 1886, 1887, 3436, 1896, 1895, 0, 1944, 1944, - 1897, 3436, 1908, 1899, 1899, 1904, 1911, 1914, 1958, 1913, - 1907, 1908, 1913, 1923, 1926, 1964, 1985, 1966, 1987, 1995, - 1954, 1950, 3436, 1968, 3436, 1952, 3436, 1951, 1971, 1969, - 3436, 1961, 1933, 1930, 0, 1936, 1942, 0, 1946, 1986, - - 1993, 1957, 1960, 1956, 3436, 1962, 3436, 1950, 1965, 1949, - 3436, 1966, 3436, 2016, 1979, 1984, 1983, 0, 1969, 3436, - 2027, 3436, 1980, 3436, 1981, 3436, 1982, 1974, 1995, 1985, - 1986, 1986, 2002, 1983, 1998, 2000, 2001, 3436, 2002, 2057, - 3436, 1999, 1989, 2018, 2004, 3436, 2006, 2012, 2067, 2068, - 2083, 2034, 3436, 2054, 2053, 2058, 2060, 3436, 3436, 2013, - 0, 2015, 2021, 3436, 0, 2034, 2029, 3436, 2033, 3436, - 2034, 2016, 2025, 3436, 2097, 3436, 2026, 2045, 0, 2038, - 2108, 2046, 2028, 2029, 2031, 2039, 2046, 2089, 2055, 2069, - 2045, 3436, 2058, 3436, 2051, 2109, 2059, 2057, 2123, 2076, - - 2065, 2075, 3436, 3436, 2075, 2086, 2144, 3436, 0, 2145, - 3436, 0, 2120, 2102, 2118, 3436, 2105, 2107, 2085, 0, - 2086, 0, 2096, 2090, 3436, 2097, 3436, 2137, 2104, 2159, - 2102, 2089, 2095, 2149, 2110, 3436, 2112, 2113, 3436, 2116, - 3436, 2105, 2157, 2121, 3436, 2117, 3436, 2126, 2184, 2114, - 2113, 2173, 3436, 2133, 3436, 2123, 2133, 2159, 2165, 2204, - 2169, 2174, 2132, 0, 0, 2137, 3436, 3436, 2198, 2129, - 2208, 3436, 2212, 3436, 2152, 2158, 3436, 3436, 3436, 2157, - 2161, 2167, 2154, 3436, 2168, 2204, 2225, 3436, 3436, 2158, - 2172, 2179, 2209, 2209, 2243, 2194, 3436, 0, 2169, 2229, - - 2229, 3436, 2230, 3436, 2192, 3436, 2181, 2194, 2234, 2255, - 2257, 3436, 2259, 2204, 2201, 2195, 2232, 2223, 2223, 3436, - 2303, 2309, 0, 3436, 2202, 2211, 3436, 2203, 2279, 2206, - 2201, 2203, 2246, 3436, 2248, 2318, 0, 3436, 3436, 2226, - 2286, 3436, 2317, 2215, 3436, 3436, 2263, 2287, 2330, 0, - 2230, 3436, 3436, 2300, 2296, 3436, 2303, 3436, 2305, 3436, - 3436, 2384, 2406, 2428, 2443, 2458, 2480, 2502, 2517, 2532, - 2550, 2565, 2587, 2609, 2631, 2646, 2661, 2680, 2695, 2717, - 2732, 2754, 2759, 2774, 2782, 2793, 2810, 2825, 2839, 2856, - 2878, 2900, 2922, 2944, 2955, 2970, 2992, 3014, 3025, 3047, - - 3062 + 243, 283, 302, 250, 3379, 223, 200, 295, 220, 192, + 303, 3362, 321, 329, 323, 337, 311, 3355, 3451, 116, + 3451, 254, 3451, 0, 0, 3451, 3451, 396, 0, 50, + 3372, 258, 338, 351, 3371, 3364, 190, 3363, 268, 59, + 275, 3359, 3355, 73, 362, 184, 3356, 3451, 291, 3451, + + 3430, 3451, 3451, 3451, 3451, 3451, 3451, 3451, 3451, 3451, + 422, 430, 447, 3451, 3403, 3451, 3451, 3402, 3451, 3451, + 3401, 3400, 0, 221, 267, 354, 356, 372, 391, 388, + 393, 413, 439, 406, 414, 414, 431, 442, 425, 442, + 429, 447, 431, 440, 428, 444, 431, 455, 441, 3451, + 3425, 3353, 312, 445, 465, 3349, 3365, 460, 3351, 3349, + 3358, 456, 3353, 3346, 468, 3342, 3339, 3339, 488, 3336, + 468, 3337, 470, 3340, 3342, 3348, 488, 3340, 3339, 487, + 3332, 3331, 3334, 3334, 3326, 3330, 3320, 0, 3329, 479, + 3328, 476, 503, 3337, 3320, 3327, 506, 3326, 319, 3332, + + 0, 3317, 294, 494, 3330, 354, 527, 359, 3320, 543, + 494, 3319, 3314, 496, 514, 509, 3322, 3311, 515, 465, + 529, 3324, 3319, 531, 539, 3318, 3356, 603, 0, 3302, + 3308, 3309, 3307, 3307, 3306, 3313, 3316, 3302, 3297, 3313, + 3310, 3295, 3307, 3299, 3291, 570, 3293, 3305, 3293, 3282, + 497, 3292, 3301, 3285, 3301, 3296, 3295, 3285, 332, 523, + 3297, 3285, 3295, 3290, 3285, 3288, 3451, 609, 626, 615, + 632, 3451, 3451, 3451, 3451, 602, 622, 616, 614, 621, + 622, 620, 620, 633, 623, 631, 636, 622, 628, 622, + 629, 639, 634, 639, 626, 641, 648, 635, 646, 647, + + 607, 639, 653, 659, 3451, 3274, 3286, 3281, 0, 0, + 3288, 3274, 3264, 3282, 3283, 3283, 3278, 3270, 3279, 657, + 3266, 0, 3265, 3259, 553, 3272, 671, 3267, 655, 3273, + 3258, 3268, 3257, 0, 3268, 3269, 3251, 3265, 3247, 673, + 3245, 3260, 3249, 0, 3254, 3259, 3248, 653, 3258, 3258, + 3243, 682, 3252, 3235, 3244, 3247, 3237, 0, 3236, 3242, + 3245, 3234, 3227, 3226, 3233, 3225, 0, 3232, 178, 3242, + 3228, 3222, 646, 3237, 3227, 539, 3234, 0, 3233, 3221, + 3230, 3229, 3212, 3211, 3210, 3218, 3215, 3209, 3205, 3207, + 3207, 3218, 0, 3214, 3222, 3201, 643, 3204, 3210, 3199, + + 0, 3197, 3196, 3201, 3209, 676, 3207, 3203, 3193, 3190, + 3195, 3196, 3188, 3186, 3451, 3204, 3199, 3199, 3199, 3187, + 3188, 3198, 3177, 3179, 3191, 3190, 3185, 3178, 3178, 3186, + 3170, 3240, 536, 716, 717, 3176, 3175, 3179, 666, 3160, + 3179, 3178, 3177, 3162, 266, 3216, 3158, 3174, 3173, 3161, + 3156, 3173, 3154, 3160, 654, 3157, 3163, 3151, 730, 742, + 687, 691, 685, 713, 697, 711, 0, 721, 707, 727, + 719, 721, 0, 740, 734, 723, 728, 776, 745, 747, + 747, 744, 747, 743, 757, 793, 758, 742, 0, 3148, + 3148, 3144, 3140, 3201, 3158, 3147, 0, 3150, 0, 0, + + 0, 767, 3155, 3139, 3143, 3155, 0, 3153, 3151, 3151, + 3132, 3138, 3139, 0, 3141, 3145, 3140, 3133, 3121, 3124, + 0, 3125, 0, 3125, 3128, 3121, 3139, 3125, 3117, 3136, + 3132, 3117, 3116, 3126, 3120, 0, 3111, 3112, 0, 3123, + 3104, 3125, 3108, 3120, 3123, 3122, 0, 3113, 3116, 3108, + 3100, 3095, 3097, 3115, 3110, 3105, 3088, 3107, 3096, 3098, + 3095, 3084, 3106, 3101, 3093, 3086, 3101, 3098, 3096, 3095, + 3090, 3094, 3077, 3082, 3086, 0, 3074, 671, 0, 3079, + 3072, 3088, 3085, 0, 3088, 770, 3073, 3080, 3072, 0, + 0, 3080, 3072, 3078, 3057, 3063, 3065, 3068, 3073, 746, + + 3068, 3069, 3062, 3451, 3070, 3067, 3054, 3051, 3058, 3055, + 798, 799, 806, 3119, 805, 3058, 3045, 3050, 3049, 3059, + 3047, 3048, 3093, 3054, 3057, 3037, 3094, 3037, 3092, 3048, + 3033, 3049, 3036, 3040, 3045, 3039, 3031, 3025, 747, 3451, + 3029, 762, 782, 0, 773, 794, 0, 0, 793, 803, + 792, 807, 795, 806, 814, 0, 797, 849, 0, 814, + 0, 820, 823, 814, 810, 817, 818, 819, 846, 843, + 0, 3024, 3037, 0, 0, 3036, 3008, 0, 3008, 3024, + 0, 2995, 2979, 2943, 2932, 2935, 2923, 2923, 2898, 2875, + 2854, 2839, 2830, 0, 2816, 2815, 0, 2802, 2810, 2843, + + 2783, 2783, 2786, 2792, 2791, 2793, 2787, 2779, 2782, 2778, + 2757, 817, 0, 2762, 2759, 2767, 2758, 2762, 2772, 0, + 2769, 2758, 828, 2746, 2751, 2744, 2732, 0, 2732, 812, + 2730, 245, 2722, 2721, 2719, 2699, 2708, 0, 2705, 2687, + 2688, 2691, 0, 2679, 2694, 0, 2684, 2643, 2654, 2642, + 2647, 2640, 2648, 858, 2633, 2635, 2646, 0, 2645, 2633, + 2623, 2622, 830, 2615, 2625, 2622, 2621, 2604, 2605, 2607, + 2603, 2616, 2612, 3451, 818, 2599, 2603, 2610, 841, 890, + 893, 2587, 2585, 2537, 2528, 2526, 2527, 2521, 891, 2493, + 2514, 2514, 2552, 2494, 2499, 876, 2494, 2477, 2483, 2475, + + 2464, 2480, 2475, 2442, 2420, 859, 2411, 2419, 2407, 2387, + 853, 868, 876, 869, 921, 885, 0, 880, 882, 898, + 0, 901, 883, 0, 0, 895, 0, 892, 895, 907, + 890, 0, 0, 2390, 2394, 2345, 0, 2319, 2335, 2318, + 2322, 0, 2315, 2314, 0, 0, 0, 0, 2328, 921, + 2326, 0, 2323, 2313, 0, 0, 2326, 0, 2323, 2320, + 0, 2306, 0, 2321, 2316, 0, 2316, 2314, 2303, 2312, + 2298, 2306, 2307, 2298, 2256, 2255, 0, 2260, 2266, 2260, + 2241, 0, 2246, 0, 2246, 2257, 2251, 2229, 2231, 46, + 55, 213, 0, 254, 351, 423, 432, 496, 539, 0, + + 676, 659, 0, 747, 0, 0, 759, 785, 865, 872, + 867, 878, 875, 890, 886, 877, 880, 881, 891, 908, + 893, 903, 892, 908, 895, 911, 912, 909, 904, 906, + 908, 974, 975, 976, 917, 922, 908, 924, 916, 930, + 918, 973, 924, 926, 922, 982, 930, 937, 932, 926, + 944, 944, 946, 938, 944, 939, 948, 951, 937, 942, + 957, 945, 949, 942, 954, 972, 0, 973, 1023, 1054, + 0, 997, 1026, 998, 1000, 0, 989, 985, 1000, 992, + 1002, 976, 0, 0, 973, 982, 979, 981, 981, 0, + 984, 0, 0, 0, 0, 0, 975, 983, 982, 976, + + 0, 0, 990, 988, 997, 992, 0, 1010, 993, 0, + 999, 995, 1011, 1002, 999, 0, 1000, 999, 1015, 0, + 1018, 1002, 1021, 0, 1011, 0, 1014, 1012, 1022, 1012, + 1004, 0, 1012, 1022, 0, 0, 0, 1029, 1029, 1027, + 1023, 1037, 1019, 1029, 1025, 1031, 1046, 1043, 1044, 1046, + 1042, 1032, 1035, 1048, 1088, 1089, 1053, 1038, 1046, 1041, + 1057, 1058, 1116, 1118, 1122, 1048, 1105, 1064, 1108, 1056, + 1065, 1066, 1118, 1084, 1069, 1079, 1126, 1073, 1080, 1087, + 1089, 1091, 1090, 1094, 1082, 1084, 1086, 1093, 1100, 1095, + 1089, 1086, 1094, 1092, 1100, 1090, 1134, 1135, 1170, 1123, + + 1144, 1137, 1129, 1147, 1131, 1141, 1180, 1143, 1143, 1138, + 1139, 3451, 1142, 0, 1110, 1119, 1132, 0, 1117, 1134, + 1126, 0, 1137, 1130, 1133, 1132, 0, 1148, 1157, 1148, + 1143, 1160, 1157, 0, 1162, 0, 1164, 1161, 0, 1151, + 1154, 1166, 1173, 0, 1171, 1164, 1162, 0, 1167, 1176, + 0, 0, 1174, 1176, 0, 1162, 1179, 1179, 1185, 1169, + 1170, 1171, 1178, 1177, 1187, 1188, 1227, 0, 1245, 1193, + 1197, 1194, 1191, 1187, 1235, 1254, 1255, 1239, 1260, 1193, + 1250, 1242, 1198, 1251, 1205, 1200, 1202, 1256, 1257, 1220, + 1220, 3451, 1209, 1261, 1225, 1211, 1217, 1219, 1212, 1221, + + 1221, 1234, 1218, 1230, 1235, 1274, 1227, 1240, 1254, 1302, + 1262, 1263, 1256, 1277, 1309, 1280, 1269, 1277, 1271, 1287, + 1277, 1319, 1288, 0, 1276, 1294, 1249, 1255, 1262, 0, + 0, 1257, 0, 1272, 1259, 1272, 1279, 1280, 1278, 1276, + 1271, 1276, 0, 0, 1286, 0, 1295, 0, 1279, 1279, + 1294, 1285, 0, 1282, 1339, 0, 1298, 1337, 1285, 1293, + 1287, 1290, 1308, 1301, 1304, 1300, 1294, 0, 0, 1355, + 1302, 1301, 1314, 1357, 1319, 1325, 0, 1379, 1335, 1382, + 1359, 1317, 1390, 1403, 1365, 0, 1315, 1330, 1368, 1316, + 1358, 1359, 1347, 3451, 1324, 1396, 1341, 1408, 1356, 1405, + + 1369, 1372, 1366, 1363, 1375, 1372, 1366, 1440, 1375, 1382, + 1452, 1461, 3451, 1417, 1420, 1408, 1464, 1416, 1426, 1423, + 1433, 1419, 1439, 1470, 3451, 1443, 1442, 1409, 1416, 1417, + 1419, 1412, 1407, 1420, 1412, 1430, 1419, 1432, 0, 1422, + 1428, 1438, 1431, 0, 1442, 1435, 1433, 1447, 1483, 1436, + 1486, 1450, 1489, 1442, 1446, 1445, 1493, 1452, 1496, 0, + 0, 0, 1452, 1460, 1454, 1452, 1443, 1456, 0, 1543, + 1461, 1466, 1467, 1458, 1469, 1530, 3451, 1541, 1512, 3451, + 1542, 1511, 1532, 1553, 1559, 0, 1464, 1514, 1469, 1478, + 1470, 1474, 1494, 1480, 1486, 1488, 1518, 1509, 1510, 1535, + + 1536, 1566, 1573, 1523, 1522, 1518, 1575, 1539, 1577, 1532, + 1541, 1530, 1602, 1583, 1584, 1625, 1561, 1562, 3451, 1583, + 1580, 1588, 1585, 1584, 3451, 1588, 1580, 1598, 1599, 1593, + 1583, 1558, 1564, 1562, 0, 1559, 0, 0, 0, 1574, + 1572, 1570, 1567, 1584, 1585, 1572, 0, 1576, 0, 1582, + 1595, 1648, 1592, 1643, 1640, 1654, 1603, 1655, 1618, 1609, + 1611, 1665, 0, 0, 1631, 1615, 1667, 1629, 1670, 1633, + 0, 1625, 1620, 1635, 1637, 1621, 1639, 1675, 1676, 1705, + 0, 1689, 1695, 1635, 1647, 1657, 1661, 1660, 1652, 1648, + 1653, 1656, 1666, 1657, 1658, 1659, 1670, 1684, 0, 1725, + + 1719, 1682, 1678, 1678, 1673, 1694, 1675, 1695, 1693, 1732, + 1676, 1755, 3451, 0, 0, 0, 1728, 1733, 1726, 1720, + 1723, 1733, 1738, 1738, 1773, 3451, 1727, 1746, 1735, 1741, + 1709, 1723, 1710, 0, 0, 1721, 0, 0, 1712, 1727, + 0, 1724, 1718, 0, 1794, 1725, 3451, 3451, 3451, 1717, + 1802, 1769, 1722, 1774, 1738, 1740, 1808, 1728, 1726, 1738, + 1756, 3451, 1760, 1809, 1773, 1770, 1770, 1764, 1776, 3451, + 1812, 1822, 1770, 1784, 1785, 3451, 1773, 1792, 1774, 1790, + 1780, 1777, 1785, 1785, 1793, 1779, 1787, 1795, 1792, 0, + 1845, 1846, 1799, 1808, 3451, 1796, 1849, 1801, 1809, 1813, + + 1800, 1854, 1810, 1822, 1815, 1858, 1811, 1860, 1861, 1862, + 1833, 1839, 1845, 1836, 1850, 1858, 1843, 1847, 1895, 1868, + 1858, 1851, 1857, 1842, 1827, 1835, 0, 1827, 1829, 0, + 1825, 1890, 3451, 1860, 1914, 1867, 1875, 1842, 1861, 3451, + 1915, 1929, 1865, 1883, 1871, 3451, 1882, 1936, 3451, 3451, + 1873, 1900, 1886, 1935, 0, 1886, 1901, 3451, 3451, 1941, + 1898, 1901, 1891, 3451, 1903, 1893, 1894, 1901, 1902, 3451, + 1911, 1910, 0, 1959, 1959, 1912, 3451, 1923, 1914, 1914, + 1919, 1926, 1929, 1973, 1928, 1922, 1923, 1928, 1938, 1941, + 1979, 2000, 1981, 2002, 2010, 1969, 1965, 3451, 1983, 3451, + + 1967, 3451, 1966, 1986, 1984, 3451, 1976, 1948, 1945, 0, + 1951, 1957, 0, 1961, 2001, 2008, 1972, 1975, 1971, 3451, + 1977, 3451, 1965, 1980, 1964, 3451, 1981, 3451, 2031, 1994, + 1999, 1998, 0, 1984, 3451, 2042, 3451, 1995, 3451, 1996, + 3451, 1997, 1989, 2010, 2000, 2001, 2001, 2017, 1998, 2013, + 2015, 2016, 3451, 2017, 2072, 3451, 2014, 2004, 2033, 2019, + 3451, 2021, 2027, 2082, 2083, 2098, 2049, 3451, 2069, 2068, + 2073, 2075, 3451, 3451, 2028, 0, 2030, 2036, 3451, 0, + 2049, 2044, 3451, 2048, 3451, 2049, 2031, 2040, 3451, 2112, + 3451, 2041, 2060, 0, 2053, 2123, 2061, 2043, 2044, 2046, + + 2054, 2061, 2104, 2070, 2084, 2060, 3451, 2073, 3451, 2066, + 2124, 2074, 2072, 2138, 2091, 2080, 2090, 3451, 3451, 2090, + 2101, 2159, 3451, 0, 2160, 3451, 0, 2135, 2117, 2133, + 3451, 2120, 2122, 2100, 0, 2101, 0, 2111, 2105, 3451, + 2112, 3451, 2152, 2119, 2174, 2117, 2104, 2110, 2164, 2125, + 3451, 2127, 2128, 3451, 2131, 3451, 2120, 2172, 2136, 3451, + 2132, 3451, 2141, 2199, 2129, 2128, 2188, 3451, 2148, 3451, + 2138, 2148, 2174, 2180, 2219, 2184, 2189, 2147, 0, 0, + 2152, 3451, 3451, 2213, 2144, 2223, 3451, 2227, 3451, 2167, + 2173, 3451, 3451, 3451, 2172, 2176, 2182, 2169, 3451, 2183, + + 2219, 2240, 3451, 3451, 2173, 2187, 2194, 2224, 2224, 2258, + 2209, 3451, 0, 2184, 2244, 2244, 3451, 2245, 3451, 2207, + 3451, 2196, 2209, 2249, 2270, 2272, 3451, 2274, 2219, 2216, + 2210, 2247, 2238, 2238, 3451, 2318, 2324, 0, 3451, 2217, + 2226, 3451, 2218, 2294, 2221, 2216, 2218, 2261, 3451, 2263, + 2333, 0, 3451, 3451, 2241, 2301, 3451, 2332, 2230, 3451, + 3451, 2278, 2302, 2345, 0, 2245, 3451, 3451, 2315, 2311, + 3451, 2318, 3451, 2320, 3451, 3451, 2399, 2421, 2443, 2458, + 2473, 2495, 2517, 2532, 2547, 2565, 2580, 2602, 2624, 2646, + 2661, 2676, 2695, 2710, 2732, 2747, 2769, 2774, 2789, 2797, + + 2808, 2825, 2840, 2854, 2871, 2893, 2915, 2937, 2959, 2970, + 2985, 3007, 3029, 3040, 3062, 3077 } ; -static yyconst flex_int16_t yy_def[2002] = +static yyconst flex_int16_t yy_def[2017] = { 0, - 1961, 1, 1961, 1961, 1961, 1961, 1961, 1962, 1963, 1961, - 1961, 1961, 1964, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1961, 1961, - 1961, 1962, 1961, 1962, 1963, 1961, 1961, 1961, 1966, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1964, 1961, - - 1964, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1961, - 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1961, 1961, 1966, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1967, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - - 1965, 1965, 1965, 1961, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1967, - 1967, 1968, 1967, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1961, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1967, 1968, 1968, 1967, - 1967, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1961, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1967, 1968, 1967, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - - 1961, 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1961, 1965, 1965, 1965, 1965, - 1965, 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - - 1965, 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1967, 1968, 1967, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, 1965, - 1965, 1961, 1965, 1965, 1965, 1965, 1961, 1965, 1965, 1961, - 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1967, 1968, 1967, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1965, 1961, 1965, 1961, 1965, - - 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1969, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1968, 1967, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1961, 1965, - 1961, 1965, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1970, 1971, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1972, 1967, 1961, 1973, 1974, 1961, 1961, 1961, - 1961, 1975, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1976, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1961, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1961, 1961, - 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1977, 1971, 1978, 1961, 1961, 1961, - 1961, 1961, 1961, 1979, 1967, 1961, 1961, 1961, 1961, 1961, - 1973, 1961, 1973, 1974, 1961, 1980, 1961, 1961, 1961, 1961, - 1975, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1981, 1981, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1982, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1965, 1961, 1961, 1961, 1961, 1961, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1977, 1978, 1961, - 1961, 1961, 1961, 1961, 1961, 1979, 1961, 1961, 1961, 1961, - 1961, 1961, 1974, 1974, 1980, 1983, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1981, 1984, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1982, 1961, 1982, 1985, - - 1986, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, - 1961, 1961, 1961, 1961, 1961, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1987, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1988, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1989, 1990, 1961, 1961, 1961, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1987, 1991, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1988, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1989, 1961, 1990, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1965, 1965, 1965, 1965, 1965, 1965, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1992, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1993, 1994, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, - 1965, 1965, 1965, 1961, 1995, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1992, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1993, 1961, 1993, 1994, - 1961, 1994, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1965, - 1965, 1996, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1997, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1965, 1965, 1996, 1961, 1961, 1961, 1961, 1961, - 1997, 1961, 1997, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1998, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1965, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1998, 1961, 1998, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1999, 1961, 1961, 1961, 1961, 1961, 2000, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 2001, 1961, 1961, 1961, - 2000, 1961, 2000, 1961, 1961, 1961, 1961, 1961, 1961, 2001, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 0, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - - 1961 + 1976, 1, 1976, 1976, 1976, 1976, 1976, 1977, 1978, 1976, + 1976, 1976, 1979, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1976, + 1976, 1977, 1976, 1977, 1978, 1976, 1976, 1976, 1981, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1979, 1976, + + 1979, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1976, + 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1981, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1982, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + + 1980, 1980, 1980, 1980, 1976, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1982, 1982, 1983, 1982, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1976, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, + + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1982, 1983, 1983, 1982, 1982, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1982, 1983, + 1982, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1976, 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1976, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1982, 1983, 1982, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1980, 1980, 1980, 1980, 1976, + 1980, 1980, 1980, 1980, 1976, 1980, 1980, 1976, 1976, 1976, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1982, 1983, 1982, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1980, 1980, 1976, 1976, + + 1976, 1976, 1976, 1976, 1976, 1980, 1976, 1980, 1976, 1980, + 1976, 1976, 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1984, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1983, 1982, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1980, 1980, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1980, + 1976, 1980, 1976, 1980, 1976, 1976, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1985, 1986, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1987, 1982, 1976, 1988, + 1989, 1976, 1976, 1976, 1976, 1990, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1991, 1976, 1976, 1976, 1976, + + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1980, 1976, 1976, 1976, 1976, 1976, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1992, + 1986, 1993, 1976, 1976, 1976, 1976, 1976, 1976, 1994, 1982, + 1976, 1976, 1976, 1976, 1976, 1988, 1976, 1988, 1989, 1976, + 1995, 1976, 1976, 1976, 1976, 1990, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1996, + + 1996, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1997, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1980, 1976, 1976, 1976, 1976, + 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1992, 1993, 1976, 1976, 1976, 1976, 1976, 1976, + 1994, 1976, 1976, 1976, 1976, 1976, 1976, 1989, 1989, 1995, + 1998, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1996, 1999, 1976, + + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1997, 1976, 1997, 2000, 2001, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1980, 1976, 1976, 1976, 1976, 1976, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 2002, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 2003, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 2004, 2005, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 2002, 2006, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 2003, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 2004, 1976, 2005, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1980, 1980, 1980, + 1980, 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 2007, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 2008, 2009, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1980, 1980, 1980, 1980, 1976, 2010, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 2007, 1976, 1976, 1976, 1976, 1976, 1976, + + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 2008, 1976, 2008, 2009, 1976, 2009, 1976, 1976, 1976, + 1976, 1976, 1976, 1980, 1980, 1980, 2011, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 2012, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1980, 1980, 2011, + 1976, 1976, 1976, 1976, 1976, 2012, 1976, 2012, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + + 1976, 2013, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 2013, 1976, 2013, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 2014, 1976, 1976, + 1976, 1976, 1976, 2015, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 2016, 1976, 1976, 1976, 2015, 1976, 2015, 1976, 1976, + 1976, 1976, 1976, 1976, 2016, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 0, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976 } ; -static yyconst flex_uint16_t yy_nxt[3524] = +static yyconst flex_uint16_t yy_nxt[3539] = { 0, 4, 5, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, @@ -1080,10 +1083,10 @@ static yyconst flex_uint16_t yy_nxt[3524] = 36, 67, 36, 36, 36, 68, 69, 70, 73, 70, 100, 103, 105, 108, 129, 136, 137, 130, 109, 138, - 139, 140, 133, 141, 106, 104, 134, 142, 110, 1021, - 143, 131, 150, 151, 132, 135, 144, 70, 251, 70, - 229, 230, 129, 136, 137, 130, 252, 138, 139, 140, - 133, 141, 257, 1022, 134, 142, 258, 101, 143, 131, + 139, 140, 133, 141, 106, 104, 134, 142, 110, 1024, + 143, 131, 150, 151, 132, 135, 144, 70, 252, 70, + 230, 231, 129, 136, 137, 130, 253, 138, 139, 140, + 133, 141, 258, 1025, 134, 142, 259, 101, 143, 131, 74, 76, 132, 135, 144, 76, 76, 77, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 78, 78, 78, 78, 78, 78, 76, 76, 76, 76, @@ -1096,370 +1099,371 @@ static yyconst flex_uint16_t yy_nxt[3524] = 97, 76, 76, 76, 76, 76, 76, 76, 111, 147, 112, 112, 112, 112, 112, 112, 115, 116, 117, 120, 121, 124, 148, 145, 149, 140, 113, 146, 129, 125, - 1023, 126, 245, 198, 263, 1024, 127, 147, 128, 246, - 247, 100, 275, 191, 264, 142, 199, 139, 200, 124, - 148, 145, 149, 192, 113, 146, 158, 125, 133, 126, - 159, 195, 134, 160, 127, 1025, 128, 187, 188, 161, - 275, 135, 1026, 196, 118, 189, 122, 124, 138, 197, - - 190, 276, 167, 143, 130, 125, 168, 126, 101, 183, - 134, 201, 127, 184, 128, 447, 169, 448, 131, 170, - 185, 132, 277, 152, 153, 124, 138, 249, 202, 276, - 141, 203, 162, 154, 278, 155, 163, 136, 73, 156, - 127, 157, 128, 164, 137, 232, 165, 250, 233, 132, - 277, 234, 166, 171, 144, 172, 306, 173, 141, 174, - 148, 147, 278, 175, 253, 176, 177, 145, 193, 178, - 1027, 146, 179, 307, 194, 180, 181, 254, 205, 218, - 235, 182, 206, 236, 237, 149, 220, 353, 148, 219, - 74, 221, 207, 279, 259, 145, 331, 332, 208, 209, - - 354, 260, 210, 211, 280, 222, 261, 367, 281, 262, - 212, 213, 223, 224, 214, 215, 1028, 216, 368, 217, - 395, 279, 225, 227, 227, 227, 227, 227, 227, 238, - 239, 240, 280, 282, 396, 241, 281, 397, 266, 242, - 267, 267, 267, 267, 267, 267, 111, 283, 112, 112, - 112, 112, 112, 112, 284, 286, 268, 287, 288, 289, - 269, 282, 269, 285, 113, 270, 270, 270, 270, 270, - 270, 290, 291, 292, 293, 283, 294, 295, 298, 301, - 296, 299, 284, 286, 268, 287, 288, 289, 297, 300, - 302, 285, 113, 303, 276, 277, 280, 281, 1029, 290, - - 291, 292, 293, 289, 294, 295, 298, 301, 296, 299, - 282, 375, 553, 287, 308, 554, 297, 300, 302, 284, - 376, 303, 276, 277, 280, 281, 309, 389, 285, 329, - 291, 289, 316, 292, 288, 390, 294, 312, 319, 320, - 295, 287, 398, 371, 321, 341, 322, 325, 326, 372, - 327, 336, 373, 399, 384, 337, 285, 405, 350, 351, - 355, 292, 338, 385, 294, 356, 361, 406, 295, 296, - 393, 301, 402, 357, 409, 431, 394, 297, 410, 299, - 362, 363, 364, 365, 377, 403, 378, 300, 303, 1030, - 379, 438, 439, 432, 504, 380, 508, 296, 505, 404, - - 381, 799, 382, 383, 509, 297, 877, 299, 449, 450, - 411, 800, 878, 387, 388, 300, 303, 227, 227, 227, - 227, 227, 227, 267, 267, 267, 267, 267, 267, 270, - 270, 270, 270, 270, 270, 459, 460, 461, 457, 268, - 457, 433, 462, 458, 458, 458, 458, 458, 458, 270, - 270, 270, 270, 270, 270, 463, 464, 465, 466, 467, - 468, 469, 470, 459, 460, 461, 471, 268, 472, 473, - 462, 474, 475, 476, 477, 478, 479, 480, 481, 482, - 483, 485, 486, 463, 464, 465, 466, 467, 468, 469, - 470, 484, 484, 484, 471, 487, 472, 473, 466, 474, - - 475, 476, 477, 478, 479, 480, 481, 482, 483, 485, - 486, 468, 472, 475, 525, 573, 549, 574, 485, 431, - 431, 623, 615, 487, 550, 609, 500, 526, 616, 639, - 634, 617, 635, 458, 458, 458, 458, 458, 458, 468, - 472, 475, 506, 640, 610, 641, 582, 458, 458, 458, - 458, 458, 458, 642, 643, 644, 530, 639, 645, 646, - 647, 431, 431, 648, 649, 624, 650, 651, 652, 653, - 655, 640, 656, 641, 654, 654, 654, 657, 658, 659, - 660, 642, 643, 644, 661, 665, 645, 646, 647, 611, - 607, 648, 649, 666, 650, 651, 652, 653, 655, 645, - - 656, 484, 484, 484, 665, 657, 658, 659, 660, 609, - 741, 805, 661, 665, 742, 1033, 609, 806, 760, 952, - 773, 666, 953, 807, 808, 809, 775, 645, 610, 761, - 762, 675, 748, 662, 763, 610, 802, 810, 811, 805, - 812, 813, 814, 803, 815, 806, 817, 804, 663, 818, - 664, 807, 808, 809, 654, 654, 654, 819, 820, 431, - 821, 662, 822, 823, 824, 810, 811, 825, 812, 813, - 814, 826, 815, 860, 817, 880, 663, 818, 664, 825, - 431, 907, 919, 609, 861, 819, 820, 774, 821, 881, - 822, 823, 824, 1034, 869, 825, 908, 941, 920, 826, - - 870, 958, 610, 816, 1035, 959, 960, 825, 961, 963, - 871, 962, 962, 962, 1036, 924, 934, 934, 934, 934, - 934, 934, 964, 965, 966, 967, 968, 969, 970, 958, - 971, 816, 926, 959, 960, 942, 961, 963, 972, 973, - 983, 984, 925, 1031, 1037, 1038, 1039, 1040, 1041, 1032, - 964, 965, 966, 967, 968, 969, 970, 1042, 971, 1043, - 1044, 1046, 1047, 1048, 1049, 1050, 972, 973, 1045, 1051, - 1052, 431, 609, 431, 1056, 1057, 1058, 1059, 1060, 1061, - 1062, 1063, 1063, 1063, 1063, 1063, 1063, 1064, 1065, 985, - 1066, 610, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, - - 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, - 1085, 1086, 1087, 1088, 1089, 1089, 1089, 1097, 1097, 1097, - 1096, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1054, 1105, - 1106, 1107, 1108, 1109, 1110, 1111, 1053, 1112, 1113, 1114, - 1087, 1088, 1115, 1116, 1055, 962, 962, 962, 1096, 1098, - 1099, 1100, 1101, 1102, 1103, 1104, 1117, 1118, 1119, 1120, - 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, + 264, 126, 548, 199, 246, 549, 127, 147, 128, 73, + 265, 247, 248, 192, 276, 142, 200, 139, 201, 124, + 148, 145, 149, 193, 113, 146, 158, 125, 133, 126, + 159, 196, 134, 160, 127, 627, 128, 188, 189, 161, + 1026, 135, 276, 197, 118, 190, 122, 124, 138, 198, + + 191, 100, 167, 168, 130, 125, 169, 126, 888, 184, + 134, 74, 127, 185, 128, 1027, 170, 277, 131, 171, + 186, 132, 889, 152, 153, 124, 138, 250, 233, 628, + 141, 234, 162, 154, 235, 155, 163, 136, 254, 156, + 127, 157, 128, 164, 137, 277, 165, 251, 101, 132, + 149, 255, 166, 172, 143, 173, 144, 174, 141, 175, + 145, 373, 202, 176, 146, 177, 178, 374, 194, 179, + 223, 147, 180, 307, 195, 181, 182, 224, 225, 203, + 206, 183, 204, 148, 207, 278, 369, 226, 145, 219, + 308, 449, 210, 450, 208, 211, 212, 370, 236, 220, + + 209, 237, 238, 213, 214, 279, 280, 215, 216, 221, + 217, 148, 218, 278, 222, 228, 228, 228, 228, 228, + 228, 239, 240, 241, 1028, 260, 377, 242, 281, 386, + 282, 243, 261, 279, 280, 378, 283, 262, 387, 267, + 263, 268, 268, 268, 268, 268, 268, 111, 284, 112, + 112, 112, 112, 112, 112, 287, 281, 269, 282, 288, + 289, 270, 290, 270, 283, 113, 271, 271, 271, 271, + 271, 271, 285, 291, 292, 293, 284, 294, 295, 296, + 299, 286, 302, 287, 297, 269, 300, 288, 289, 303, + 290, 304, 298, 113, 301, 277, 278, 281, 282, 1029, + + 285, 291, 292, 293, 1030, 294, 295, 296, 299, 286, + 302, 283, 297, 288, 300, 309, 302, 303, 290, 304, + 298, 285, 301, 277, 278, 281, 282, 310, 292, 331, + 286, 333, 334, 317, 289, 355, 293, 295, 313, 320, + 321, 288, 296, 433, 406, 322, 290, 323, 356, 327, + 328, 338, 329, 391, 375, 339, 352, 353, 286, 1031, + 343, 392, 340, 357, 293, 295, 395, 363, 358, 400, + 296, 297, 396, 397, 440, 441, 359, 433, 404, 298, + 401, 364, 365, 366, 367, 300, 379, 398, 380, 304, + 399, 405, 381, 301, 411, 434, 407, 382, 412, 297, + + 451, 452, 383, 1032, 384, 385, 408, 298, 486, 486, + 486, 413, 506, 300, 611, 557, 507, 304, 558, 389, + 390, 301, 228, 228, 228, 228, 228, 228, 268, 268, + 268, 268, 268, 268, 271, 271, 271, 271, 271, 271, + 459, 461, 459, 435, 269, 460, 460, 460, 460, 460, + 460, 271, 271, 271, 271, 271, 271, 462, 463, 464, + 465, 466, 467, 468, 469, 470, 471, 472, 473, 461, + 474, 475, 269, 476, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 487, 488, 462, 463, 464, 465, 466, + 467, 468, 469, 470, 471, 472, 473, 489, 474, 475, + + 468, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 487, 488, 470, 511, 474, 528, 477, 553, 577, + 487, 578, 512, 613, 433, 489, 554, 619, 502, 529, + 638, 643, 639, 620, 747, 1033, 621, 1034, 748, 644, + 645, 470, 614, 474, 509, 477, 646, 647, 586, 460, + 460, 460, 460, 460, 460, 648, 649, 650, 651, 643, + 533, 460, 460, 460, 460, 460, 460, 644, 645, 652, + 653, 654, 655, 656, 646, 647, 657, 658, 658, 658, + 659, 660, 661, 648, 649, 650, 651, 662, 663, 664, + 665, 669, 670, 615, 486, 486, 486, 652, 653, 654, + + 655, 656, 649, 669, 657, 433, 613, 1035, 659, 660, + 661, 766, 433, 613, 805, 662, 663, 664, 665, 669, + 670, 811, 767, 768, 806, 614, 666, 769, 808, 812, + 649, 754, 614, 813, 679, 809, 1036, 814, 815, 810, + 816, 667, 817, 668, 818, 819, 820, 821, 433, 811, + 658, 658, 658, 823, 666, 824, 1037, 812, 825, 826, + 827, 813, 828, 829, 779, 814, 815, 830, 816, 667, + 817, 668, 818, 819, 820, 821, 781, 831, 832, 885, + 927, 823, 867, 824, 780, 886, 825, 826, 827, 831, + 828, 829, 877, 868, 915, 830, 928, 613, 878, 822, + + 433, 949, 966, 967, 932, 831, 832, 968, 879, 916, + 942, 942, 942, 942, 942, 942, 614, 831, 960, 969, + 971, 961, 970, 970, 970, 972, 973, 822, 1038, 974, + 966, 967, 975, 976, 977, 968, 978, 979, 980, 950, + 981, 992, 993, 1039, 1040, 1041, 1043, 969, 971, 1044, + 1045, 1042, 934, 972, 973, 1046, 933, 974, 1047, 1048, + 975, 976, 977, 1049, 978, 979, 980, 1050, 981, 1051, + 1052, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1061, 1062, + 1055, 433, 613, 433, 1066, 1067, 1068, 1069, 1070, 1071, + 994, 1072, 1073, 1073, 1073, 1073, 1073, 1073, 1074, 1075, + + 1076, 614, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, + 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, + 1095, 1096, 1097, 1098, 1099, 1099, 1099, 1107, 1107, 1107, + 1106, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1064, 1115, + 1116, 1117, 1118, 1119, 1120, 1121, 1063, 1122, 1123, 1124, + 1097, 1098, 1125, 1126, 1065, 970, 970, 970, 1106, 1108, + 1109, 1110, 1111, 1112, 1113, 1114, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, - 1090, 1141, 1142, 1143, 1091, 1144, 1092, 1145, 1146, 1093, - 1094, 1147, 1148, 1149, 1095, 1150, 1151, 1152, 1153, 1154, - - 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1090, 1163, - 431, 609, 1091, 431, 1092, 1166, 1167, 1093, 1094, 1168, - 1169, 1170, 1095, 1171, 1172, 1173, 1174, 1175, 1176, 1177, - 610, 1165, 1063, 1063, 1063, 1063, 1063, 1063, 1178, 1179, - 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1180, 1188, 1189, - 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1089, - 1089, 1089, 1200, 1201, 1202, 1203, 1204, 1206, 1208, 1097, - 1097, 1097, 1210, 1211, 1207, 1215, 1164, 1212, 1213, 1214, - 1216, 1217, 1218, 1205, 1219, 1197, 1198, 1220, 1221, 1222, - 1200, 1201, 1202, 1203, 1204, 1206, 1208, 1223, 1224, 1225, - - 1210, 1211, 1207, 1199, 1226, 1212, 1213, 1214, 1227, 1228, - 1229, 1205, 1230, 1231, 1209, 1232, 1233, 1234, 1235, 1236, - 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, - 1247, 1199, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1256, - 1257, 1259, 1209, 1260, 1261, 1262, 1263, 609, 431, 1264, - 1265, 1266, 1268, 1258, 1269, 1269, 1269, 1269, 1269, 1269, - 1270, 1271, 1272, 1274, 1275, 1276, 610, 1277, 1278, 1279, - 1280, 1281, 1282, 1267, 1283, 1284, 1285, 1286, 1287, 1288, - 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, - 1298, 1298, 1299, 1300, 1301, 1302, 1303, 1303, 1303, 1304, - - 1305, 1273, 1306, 1307, 1308, 1309, 1310, 1310, 1310, 1311, - 1312, 1313, 1314, 1315, 1316, 1317, 1297, 1318, 1319, 1320, - 1299, 1300, 1301, 1302, 1321, 1322, 1323, 1304, 1305, 1324, - 1306, 1307, 1308, 1309, 1325, 1326, 1327, 1311, 1312, 1313, - 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, - 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1347, 1348, 1347, - 1347, 1347, 1347, 1347, 1347, 1349, 1350, 1351, 1352, 1353, - 1355, 431, 1362, 1365, 1367, 1370, 1372, 1373, 1374, 1375, - 1356, 1355, 1357, 1355, 1355, 1355, 1355, 1355, 1355, 1358, - 1359, 1383, 1384, 1360, 1368, 1368, 1368, 1368, 1368, 1368, - - 1385, 1366, 1387, 1376, 1377, 1380, 1355, 1369, 1369, 1369, - 1369, 1369, 1369, 1388, 1389, 1390, 1381, 1391, 1355, 1378, - 1379, 1382, 1392, 1393, 1363, 1394, 1355, 1395, 1396, 1397, - 1398, 1355, 1399, 1400, 1355, 1403, 1404, 1355, 1401, 1401, - 1401, 1405, 1407, 1355, 1408, 1409, 1355, 1298, 1298, 1298, - 1303, 1303, 1303, 1410, 1411, 1412, 1310, 1310, 1310, 1415, - 1416, 1417, 1418, 1403, 1404, 1420, 1421, 1422, 1423, 1405, - 1407, 1424, 1408, 1409, 1425, 1419, 1426, 1427, 1428, 1429, - 1430, 1410, 1411, 1412, 1431, 1432, 1433, 1415, 1416, 1413, - 1434, 1435, 1436, 1437, 1438, 1402, 1439, 1406, 1440, 1441, - - 1442, 1443, 1444, 1445, 1446, 1414, 1447, 1450, 1451, 1452, - 1453, 1454, 1455, 1457, 1459, 1460, 1461, 1413, 1462, 1458, - 1362, 1466, 1469, 1402, 1470, 1406, 1365, 1471, 1961, 1364, - 1472, 1473, 1474, 1414, 1355, 431, 1368, 1368, 1368, 1368, - 1368, 1368, 1475, 1476, 1477, 1355, 1478, 1355, 1355, 1355, - 1355, 1355, 1355, 1361, 1366, 1361, 1464, 1467, 1467, 1467, - 1467, 1467, 1467, 1468, 1468, 1468, 1468, 1468, 1468, 1479, - 1355, 1481, 1363, 1482, 1484, 1961, 1485, 1486, 1487, 1490, - 1488, 1480, 1355, 1489, 1465, 1491, 1492, 1493, 1494, 1495, - 1355, 1496, 1498, 1500, 1501, 1355, 1503, 1504, 1355, 1505, - - 1506, 1355, 1484, 1961, 1507, 1508, 1509, 1355, 1510, 1511, - 1355, 1401, 1401, 1401, 1512, 1513, 1516, 1514, 1515, 1517, - 1518, 1519, 1520, 1521, 1503, 1504, 1522, 1505, 1506, 1523, - 1524, 1525, 1507, 1508, 1509, 1526, 1510, 1511, 1527, 1528, - 1529, 1531, 1512, 1513, 1499, 1514, 1515, 1533, 1534, 1532, - 1535, 1502, 1530, 1530, 1530, 1530, 1530, 1530, 1536, 1536, - 1536, 1536, 1536, 1536, 1537, 1538, 1539, 1540, 1541, 1542, - 1542, 1542, 1542, 1542, 1542, 1543, 1544, 1545, 1546, 1502, - 1548, 1549, 1550, 1551, 1552, 1553, 1547, 1554, 1555, 1365, - 1365, 1558, 1364, 1467, 1467, 1467, 1467, 1467, 1467, 1557, - - 1557, 1557, 1557, 1557, 1557, 1559, 1560, 1562, 1563, 1564, - 1565, 1566, 1569, 1567, 1561, 1571, 1572, 1366, 1366, 1464, - 1568, 1573, 1574, 1961, 1577, 1578, 1581, 1579, 1570, 1576, - 1576, 1576, 1576, 1576, 1576, 1580, 1582, 1587, 1583, 1588, - 1589, 1591, 1592, 1584, 1593, 1498, 1590, 1465, 1596, 1597, - 1598, 1961, 1585, 1599, 1600, 1601, 1586, 1602, 1603, 1604, - 1604, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, - 1613, 1614, 1615, 1616, 1618, 1619, 1596, 1597, 1598, 1621, - 1622, 1599, 1600, 1601, 1623, 1602, 1603, 1624, 1626, 1628, - 1605, 1606, 1607, 1608, 1629, 1625, 1630, 1499, 1617, 1617, - - 1617, 1617, 1617, 1617, 1620, 1631, 1536, 1536, 1536, 1536, - 1536, 1536, 1627, 1627, 1627, 1627, 1627, 1627, 1632, 1633, - 1634, 1635, 1636, 1637, 1638, 1640, 1557, 1557, 1557, 1557, - 1557, 1557, 1641, 1642, 1644, 1645, 1646, 1647, 1648, 1649, - 1650, 1643, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1659, - 1659, 1659, 1659, 1659, 1659, 1660, 1661, 1662, 1663, 1664, - 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, - 1675, 1677, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, - 1687, 1604, 1604, 1604, 1689, 1690, 1691, 1692, 1693, 1694, - 1695, 1696, 1697, 1698, 1617, 1617, 1617, 1617, 1617, 1617, - - 1706, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1699, - 1707, 1702, 1689, 1690, 1691, 1692, 1703, 1700, 1701, 1701, - 1701, 1701, 1701, 1701, 1704, 1708, 1709, 1710, 1711, 1688, - 1715, 1712, 1705, 1627, 1627, 1627, 1627, 1627, 1627, 1713, - 1714, 1714, 1714, 1714, 1714, 1714, 1716, 1717, 1640, 1719, - 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1688, 1727, 1728, - 1729, 1730, 1731, 1659, 1659, 1659, 1659, 1659, 1659, 1732, - 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1740, 1740, - 1740, 1740, 1740, 1741, 1742, 1743, 1744, 1745, 1747, 1677, - 1749, 1679, 1750, 1752, 1753, 1746, 1751, 1751, 1751, 1754, - - 1755, 1756, 1748, 1757, 1758, 1759, 1760, 1761, 1762, 1763, - 1764, 1765, 1701, 1701, 1701, 1701, 1701, 1701, 1766, 1767, - 1768, 1752, 1753, 1771, 1772, 1773, 1769, 1754, 1755, 1756, - 1774, 1757, 1758, 1759, 1770, 1714, 1714, 1714, 1714, 1714, - 1714, 1775, 1776, 1777, 1778, 1780, 1781, 1781, 1781, 1781, - 1781, 1781, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, - 1791, 1792, 1793, 1795, 1796, 1797, 1800, 1801, 1804, 1805, - 1794, 1806, 1808, 1811, 1799, 1798, 1740, 1740, 1740, 1740, - 1740, 1740, 1802, 1814, 1751, 1751, 1751, 1815, 1816, 1817, - 1803, 1818, 1819, 1820, 1821, 1823, 1824, 1825, 1826, 1828, - - 1782, 1829, 1830, 1831, 1832, 1833, 1827, 1837, 1838, 1839, - 1835, 1814, 1840, 1841, 1842, 1815, 1816, 1817, 1836, 1818, - 1843, 1846, 1847, 1848, 1809, 1812, 1813, 1834, 1834, 1834, - 1834, 1834, 1834, 1844, 1849, 1850, 1851, 1853, 1854, 1855, - 1856, 1845, 1852, 1852, 1852, 1852, 1852, 1852, 1857, 1808, - 1811, 1858, 1859, 1860, 1813, 1861, 1862, 1863, 1864, 1866, - 1867, 1868, 1869, 1870, 1872, 1874, 1875, 1876, 1834, 1834, - 1834, 1834, 1834, 1834, 1877, 1878, 1879, 1880, 1881, 1858, - 1859, 1860, 1883, 1861, 1862, 1884, 1882, 1885, 1886, 1887, - 1888, 1889, 1852, 1852, 1852, 1852, 1852, 1852, 1890, 1891, - - 1892, 1809, 1812, 1893, 1894, 1895, 1895, 1895, 1896, 1897, - 1898, 1899, 1901, 1872, 1961, 1902, 1873, 1900, 1900, 1900, - 1900, 1900, 1900, 1903, 1904, 1905, 1907, 1908, 1909, 1910, - 1912, 1893, 1894, 1906, 1914, 1915, 1896, 1897, 1916, 1871, - 1917, 1871, 1918, 1919, 1895, 1895, 1895, 1920, 1921, 1921, - 1921, 1921, 1921, 1921, 1922, 1923, 1924, 1925, 1926, 1928, - 1929, 1961, 1912, 1930, 1931, 1873, 1927, 1932, 1917, 1933, - 1918, 1919, 1934, 1935, 1938, 1939, 1940, 1944, 1945, 1090, - 1946, 1947, 1913, 1091, 1942, 1092, 1911, 1948, 1911, 1094, - 1951, 1942, 1953, 1095, 1956, 1020, 1019, 1933, 1952, 1018, - - 1934, 1935, 1017, 1016, 1015, 1014, 1954, 1090, 1013, 1947, - 1012, 1091, 1011, 1092, 1913, 1948, 1010, 1094, 1009, 1961, - 1955, 1095, 1921, 1921, 1921, 1921, 1921, 1921, 1936, 1936, - 1936, 1936, 1936, 1936, 1954, 1957, 1943, 1949, 1949, 1949, - 1949, 1949, 1949, 1943, 1941, 1958, 1941, 1959, 1955, 1949, - 1949, 1949, 1949, 1949, 1949, 1960, 1008, 1007, 1006, 1005, - 1004, 1003, 1002, 1957, 1001, 1000, 999, 998, 997, 996, - 995, 994, 993, 1958, 992, 1959, 991, 990, 989, 988, - 987, 986, 982, 1960, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, + 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, + 1100, 1151, 1152, 1153, 1101, 1154, 1102, 1155, 1156, 1103, + + 1104, 1157, 1158, 1159, 1105, 1160, 1161, 1162, 1163, 1164, + 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1100, 1173, + 1174, 1175, 1101, 433, 1102, 613, 1178, 1103, 1104, 433, + 1179, 1180, 1105, 1181, 1182, 1183, 1184, 1073, 1073, 1073, + 1073, 1073, 1073, 1185, 614, 1186, 1187, 1177, 1188, 1189, + 1190, 1191, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1192, + 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, + 1210, 1099, 1099, 1099, 1212, 1213, 1214, 1215, 1216, 1218, + 1220, 1107, 1107, 1107, 1222, 1223, 1219, 1227, 1224, 1225, + 1176, 1226, 1228, 1229, 1230, 1217, 1231, 1209, 1210, 1232, + + 1233, 1234, 1212, 1213, 1214, 1215, 1216, 1218, 1220, 1235, + 1236, 1237, 1222, 1223, 1219, 1211, 1224, 1225, 1238, 1226, + 1239, 1240, 1241, 1217, 1242, 1243, 1221, 1244, 1245, 1246, + 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, + 1257, 1258, 1259, 1211, 1260, 1261, 1262, 1263, 1264, 1265, + 1266, 1267, 1268, 1270, 1221, 1271, 1273, 1274, 1275, 1276, + 1277, 613, 433, 1278, 1279, 1280, 1282, 1284, 1272, 1283, + 1283, 1283, 1283, 1283, 1283, 1285, 1286, 1288, 1289, 1290, + 614, 1291, 1292, 1293, 1294, 1295, 1296, 1281, 1297, 1298, + 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + + 1309, 1310, 1311, 1312, 1312, 1312, 1313, 1314, 1315, 1316, + 1317, 1317, 1317, 1318, 1319, 1287, 1320, 1321, 1322, 1323, + 1324, 1324, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, + 1311, 1332, 1333, 1334, 1313, 1314, 1315, 1316, 1335, 1336, + 1337, 1318, 1319, 1338, 1320, 1321, 1322, 1323, 1339, 1340, + 1341, 1325, 1326, 1327, 1342, 1343, 1344, 1345, 1346, 1347, + 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, + 1358, 1359, 1362, 1363, 1362, 1362, 1362, 1362, 1362, 1362, + 1364, 1365, 1366, 1367, 1368, 1370, 433, 1377, 1380, 1382, + 1385, 1387, 1388, 1389, 1390, 1371, 1370, 1372, 1370, 1370, + + 1370, 1370, 1370, 1370, 1373, 1374, 1398, 1399, 1375, 1383, + 1383, 1383, 1383, 1383, 1383, 1400, 1381, 1402, 1391, 1392, + 1395, 1370, 1384, 1384, 1384, 1384, 1384, 1384, 1403, 1404, + 1405, 1396, 1406, 1370, 1393, 1394, 1397, 1407, 1408, 1378, + 1409, 1370, 1410, 1411, 1412, 1413, 1370, 1414, 1415, 1370, + 1418, 1419, 1370, 1416, 1416, 1416, 1420, 1422, 1370, 1423, + 1424, 1370, 1312, 1312, 1312, 1317, 1317, 1317, 1425, 1426, + 1427, 1324, 1324, 1324, 1430, 1431, 1432, 1433, 1418, 1419, + 1435, 1436, 1437, 1438, 1420, 1422, 1439, 1423, 1424, 1440, + 1434, 1441, 1442, 1443, 1444, 1445, 1425, 1426, 1427, 1446, + + 1447, 1448, 1430, 1431, 1428, 1449, 1450, 1451, 1452, 1453, + 1417, 1454, 1421, 1455, 1456, 1457, 1458, 1459, 1460, 1461, + 1429, 1462, 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1474, + 1475, 1476, 1428, 1477, 1473, 1377, 1481, 1484, 1417, 1485, + 1421, 1380, 1486, 1976, 1379, 1487, 1488, 1489, 1429, 1370, + 433, 1383, 1383, 1383, 1383, 1383, 1383, 1490, 1491, 1492, + 1370, 1493, 1370, 1370, 1370, 1370, 1370, 1370, 1376, 1381, + 1376, 1479, 1482, 1482, 1482, 1482, 1482, 1482, 1483, 1483, + 1483, 1483, 1483, 1483, 1494, 1370, 1496, 1378, 1497, 1499, + 1976, 1500, 1501, 1502, 1505, 1503, 1495, 1370, 1504, 1480, + + 1506, 1507, 1508, 1509, 1510, 1370, 1511, 1513, 1515, 1516, + 1370, 1518, 1519, 1370, 1520, 1521, 1370, 1499, 1976, 1522, + 1523, 1524, 1370, 1525, 1526, 1370, 1416, 1416, 1416, 1527, + 1528, 1531, 1529, 1530, 1532, 1533, 1534, 1535, 1536, 1518, + 1519, 1537, 1520, 1521, 1538, 1539, 1540, 1522, 1523, 1524, + 1541, 1525, 1526, 1542, 1543, 1544, 1546, 1527, 1528, 1514, + 1529, 1530, 1548, 1549, 1547, 1550, 1517, 1545, 1545, 1545, + 1545, 1545, 1545, 1551, 1551, 1551, 1551, 1551, 1551, 1552, + 1553, 1554, 1555, 1556, 1557, 1557, 1557, 1557, 1557, 1557, + 1558, 1559, 1560, 1561, 1517, 1563, 1564, 1565, 1566, 1567, + + 1568, 1562, 1569, 1570, 1380, 1380, 1573, 1379, 1482, 1482, + 1482, 1482, 1482, 1482, 1572, 1572, 1572, 1572, 1572, 1572, + 1574, 1575, 1577, 1578, 1579, 1580, 1581, 1584, 1582, 1576, + 1586, 1587, 1381, 1381, 1479, 1583, 1588, 1589, 1976, 1592, + 1593, 1596, 1594, 1585, 1591, 1591, 1591, 1591, 1591, 1591, + 1595, 1597, 1602, 1598, 1603, 1604, 1606, 1607, 1599, 1608, + 1513, 1605, 1480, 1611, 1612, 1613, 1976, 1600, 1614, 1615, + 1616, 1601, 1617, 1618, 1619, 1619, 1619, 1620, 1621, 1622, + 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1633, + 1634, 1611, 1612, 1613, 1636, 1637, 1614, 1615, 1616, 1638, + + 1617, 1618, 1639, 1641, 1643, 1620, 1621, 1622, 1623, 1644, + 1640, 1645, 1514, 1632, 1632, 1632, 1632, 1632, 1632, 1635, + 1646, 1551, 1551, 1551, 1551, 1551, 1551, 1642, 1642, 1642, + 1642, 1642, 1642, 1647, 1648, 1649, 1650, 1651, 1652, 1653, + 1655, 1572, 1572, 1572, 1572, 1572, 1572, 1656, 1657, 1659, + 1660, 1661, 1662, 1663, 1664, 1665, 1658, 1666, 1667, 1668, + 1669, 1670, 1671, 1672, 1674, 1674, 1674, 1674, 1674, 1674, + 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, + 1685, 1686, 1687, 1688, 1689, 1690, 1692, 1694, 1695, 1696, + 1697, 1698, 1699, 1700, 1701, 1702, 1619, 1619, 1619, 1704, + + 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1632, + 1632, 1632, 1632, 1632, 1632, 1721, 1695, 1696, 1697, 1698, + 1699, 1700, 1701, 1702, 1714, 1722, 1717, 1704, 1705, 1706, + 1707, 1718, 1715, 1716, 1716, 1716, 1716, 1716, 1716, 1719, + 1723, 1724, 1725, 1726, 1703, 1730, 1727, 1720, 1642, 1642, + 1642, 1642, 1642, 1642, 1728, 1729, 1729, 1729, 1729, 1729, + 1729, 1731, 1732, 1655, 1734, 1735, 1736, 1737, 1738, 1739, + 1740, 1741, 1703, 1742, 1743, 1744, 1745, 1746, 1674, 1674, + 1674, 1674, 1674, 1674, 1747, 1748, 1749, 1750, 1751, 1752, + 1753, 1754, 1755, 1755, 1755, 1755, 1755, 1755, 1756, 1757, + + 1758, 1759, 1760, 1762, 1692, 1764, 1694, 1765, 1767, 1768, + 1761, 1766, 1766, 1766, 1769, 1770, 1771, 1763, 1772, 1773, + 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1716, 1716, 1716, + 1716, 1716, 1716, 1781, 1782, 1783, 1767, 1768, 1786, 1787, + 1788, 1784, 1769, 1770, 1771, 1789, 1772, 1773, 1774, 1785, + 1729, 1729, 1729, 1729, 1729, 1729, 1790, 1791, 1792, 1793, + 1795, 1796, 1796, 1796, 1796, 1796, 1796, 1798, 1799, 1800, + 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1810, 1811, + 1812, 1815, 1816, 1819, 1820, 1809, 1821, 1823, 1826, 1814, + 1813, 1755, 1755, 1755, 1755, 1755, 1755, 1817, 1829, 1766, + + 1766, 1766, 1830, 1831, 1832, 1818, 1833, 1834, 1835, 1836, + 1838, 1839, 1840, 1841, 1843, 1797, 1844, 1845, 1846, 1847, + 1848, 1842, 1852, 1853, 1854, 1850, 1829, 1855, 1856, 1857, + 1830, 1831, 1832, 1851, 1833, 1858, 1861, 1862, 1863, 1824, + 1827, 1828, 1849, 1849, 1849, 1849, 1849, 1849, 1859, 1864, + 1865, 1866, 1868, 1869, 1870, 1871, 1860, 1867, 1867, 1867, + 1867, 1867, 1867, 1872, 1823, 1826, 1873, 1874, 1875, 1828, + 1876, 1877, 1878, 1879, 1881, 1882, 1883, 1884, 1885, 1887, + 1889, 1890, 1891, 1849, 1849, 1849, 1849, 1849, 1849, 1892, + 1893, 1894, 1895, 1896, 1873, 1874, 1875, 1898, 1876, 1877, + + 1899, 1897, 1900, 1901, 1902, 1903, 1904, 1867, 1867, 1867, + 1867, 1867, 1867, 1905, 1906, 1907, 1824, 1827, 1908, 1909, + 1910, 1910, 1910, 1911, 1912, 1913, 1914, 1916, 1887, 1976, + 1917, 1888, 1915, 1915, 1915, 1915, 1915, 1915, 1918, 1919, + 1920, 1922, 1923, 1924, 1925, 1927, 1908, 1909, 1921, 1929, + 1930, 1911, 1912, 1931, 1886, 1932, 1886, 1933, 1934, 1910, + 1910, 1910, 1935, 1936, 1936, 1936, 1936, 1936, 1936, 1937, + 1938, 1939, 1940, 1941, 1943, 1944, 1976, 1927, 1945, 1946, + 1888, 1942, 1947, 1932, 1948, 1933, 1934, 1949, 1950, 1953, + 1954, 1955, 1959, 1960, 1100, 1961, 1962, 1928, 1101, 1957, + + 1102, 1926, 1963, 1926, 1104, 1966, 1957, 1968, 1105, 1971, + 1023, 1022, 1948, 1967, 1021, 1949, 1950, 1020, 1019, 1018, + 1017, 1969, 1100, 1016, 1962, 1015, 1101, 1014, 1102, 1928, + 1963, 1013, 1104, 1012, 1976, 1970, 1105, 1936, 1936, 1936, + 1936, 1936, 1936, 1951, 1951, 1951, 1951, 1951, 1951, 1969, + 1972, 1958, 1964, 1964, 1964, 1964, 1964, 1964, 1958, 1956, + 1973, 1956, 1974, 1970, 1964, 1964, 1964, 1964, 1964, 1964, + 1975, 1011, 1010, 1009, 1008, 1007, 1006, 1005, 1972, 1004, + 1003, 1002, 1001, 1000, 999, 998, 997, 996, 1973, 995, + 1974, 991, 990, 989, 988, 987, 986, 985, 1975, 72, - 72, 72, 72, 72, 72, 72, 75, 75, 981, 75, + 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, + 72, 75, 75, 984, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 99, 99, + 75, 75, 75, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 123, 980, 979, 978, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 228, 977, 976, 975, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 430, 430, 974, 430, 430, 430, 430, 430, 430, 430, - 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, - - 430, 430, 608, 608, 957, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 1255, 956, 955, 954, 1255, 1255, - 1255, 1255, 1255, 951, 1255, 1255, 1255, 1255, 1255, 1345, - 950, 949, 948, 1345, 1345, 1345, 1345, 1345, 947, 1345, - 1345, 1345, 1345, 1345, 1346, 946, 945, 1346, 944, 943, - 940, 1346, 1346, 1346, 1346, 1346, 939, 1346, 1346, 1346, - 1346, 1346, 1354, 938, 937, 936, 1354, 1354, 1354, 1354, - 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1361, 1361, 1361, - 1361, 1361, 1361, 1361, 1361, 1361, 935, 1361, 1361, 1361, - - 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1364, - 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, - 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, - 1364, 1371, 933, 932, 1371, 1371, 1371, 1371, 1371, 1371, - 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, - 1371, 1371, 1371, 1386, 931, 930, 929, 1386, 1386, 928, - 927, 923, 922, 1386, 1386, 1448, 921, 918, 1448, 917, - 916, 915, 1448, 1448, 1448, 1448, 1448, 914, 1448, 1448, - 1448, 1448, 1448, 1449, 913, 912, 1449, 1449, 911, 910, - 909, 1449, 906, 1449, 905, 904, 903, 1449, 902, 1449, - - 1456, 1456, 1456, 901, 900, 899, 1456, 1456, 1456, 1456, - 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, - 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1483, - 898, 897, 896, 1483, 1483, 895, 894, 1483, 893, 1483, - 1483, 892, 891, 1483, 1497, 1497, 890, 1497, 1497, 1497, - 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, - 1497, 1497, 1497, 1497, 1497, 1497, 1556, 1556, 1556, 1556, - 1556, 1575, 889, 888, 887, 1575, 1575, 886, 885, 884, - 883, 1575, 1575, 1594, 1594, 1594, 1594, 1594, 882, 1594, - - 1594, 1594, 1594, 1594, 1595, 1595, 1595, 1595, 1595, 879, - 1595, 1595, 1595, 1595, 1595, 1639, 876, 875, 874, 873, - 1639, 872, 868, 867, 866, 865, 864, 1639, 1639, 1639, - 1639, 1639, 1658, 863, 862, 859, 1658, 1658, 858, 857, - 856, 855, 1658, 1658, 1676, 854, 1676, 1676, 853, 852, - 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, - 1676, 1678, 851, 1678, 1678, 850, 849, 1678, 1678, 1678, - 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1718, 848, - 847, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, - 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, - - 1779, 846, 845, 1779, 1779, 1779, 1779, 1779, 1779, 1779, - 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, - 1779, 1779, 1807, 1807, 844, 1807, 1807, 1807, 1807, 1807, - 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, - 1807, 1807, 1807, 1807, 1810, 1810, 843, 1810, 1810, 1810, - 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, - 1810, 1810, 1810, 1810, 1810, 1810, 1822, 1822, 1822, 1822, - 1822, 842, 1822, 1822, 1822, 1822, 1822, 1865, 841, 840, - 839, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, - 1865, 1865, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, - - 1871, 838, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, - 1871, 1871, 1871, 1871, 1911, 1911, 1911, 1911, 1911, 1911, - 1911, 1911, 1911, 837, 1911, 1911, 1911, 1911, 1911, 1911, - 1911, 1911, 1911, 1911, 1911, 1911, 1937, 1937, 1937, 1937, - 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1941, 1941, 1941, - 1941, 1941, 1941, 1941, 1941, 1941, 836, 1941, 1941, 1941, - 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1950, - 835, 834, 833, 1950, 1950, 1950, 1950, 1950, 1950, 1950, - 1950, 1950, 1950, 1950, 832, 831, 830, 829, 828, 827, - 801, 798, 797, 796, 795, 794, 793, 792, 791, 790, - - 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, - 779, 778, 777, 776, 431, 772, 771, 770, 769, 768, - 767, 766, 765, 764, 759, 758, 757, 756, 755, 754, - 753, 752, 751, 750, 749, 747, 746, 745, 744, 743, - 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, - 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, - 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, - 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, - 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, - 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, - - 680, 679, 678, 677, 676, 674, 673, 672, 671, 670, - 669, 668, 667, 638, 637, 636, 633, 632, 631, 630, - 629, 628, 627, 626, 625, 622, 621, 620, 619, 618, - 614, 613, 612, 431, 606, 605, 604, 603, 602, 601, - 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, - 590, 589, 588, 587, 586, 585, 584, 583, 581, 580, - 579, 578, 577, 576, 575, 572, 571, 570, 569, 568, - 567, 566, 565, 564, 563, 562, 561, 560, 559, 558, - 557, 556, 555, 552, 551, 548, 547, 546, 545, 544, - 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, - - 533, 532, 531, 529, 528, 527, 524, 523, 522, 521, - 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, - 510, 507, 503, 502, 501, 499, 498, 497, 496, 495, - 494, 493, 492, 491, 490, 489, 488, 456, 455, 454, - 453, 452, 451, 446, 445, 444, 443, 442, 441, 440, - 437, 436, 435, 434, 429, 428, 427, 426, 425, 424, - 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, - 413, 412, 408, 407, 401, 400, 392, 391, 386, 374, - 370, 369, 366, 360, 359, 358, 352, 349, 348, 347, - 346, 345, 344, 343, 342, 340, 339, 335, 334, 333, - - 330, 328, 324, 323, 318, 317, 315, 314, 313, 311, - 310, 305, 304, 274, 273, 272, 271, 1961, 265, 256, - 255, 248, 244, 243, 231, 226, 204, 186, 119, 114, - 107, 102, 98, 71, 1961, 3, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961 + 99, 99, 99, 99, 99, 123, 983, 982, 965, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 229, 964, 963, 962, 229, 229, 229, 229, 229, 229, + 229, 229, 229, 229, 229, 432, 432, 959, 432, 432, + + 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, + 432, 432, 432, 432, 432, 432, 432, 612, 612, 958, + 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, + 612, 612, 612, 612, 612, 612, 612, 612, 612, 1269, + 957, 956, 955, 1269, 1269, 1269, 1269, 1269, 954, 1269, + 1269, 1269, 1269, 1269, 1360, 953, 952, 951, 1360, 1360, + 1360, 1360, 1360, 948, 1360, 1360, 1360, 1360, 1360, 1361, + 947, 946, 1361, 945, 944, 943, 1361, 1361, 1361, 1361, + 1361, 941, 1361, 1361, 1361, 1361, 1361, 1369, 940, 939, + 938, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, + + 1369, 1369, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, + 1376, 937, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, + 1376, 1376, 1376, 1376, 1379, 1379, 1379, 1379, 1379, 1379, + 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, + 1379, 1379, 1379, 1379, 1379, 1379, 1386, 936, 935, 1386, + 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, + 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1401, 931, + 930, 929, 1401, 1401, 926, 925, 924, 923, 1401, 1401, + 1463, 922, 921, 1463, 920, 919, 918, 1463, 1463, 1463, + 1463, 1463, 917, 1463, 1463, 1463, 1463, 1463, 1464, 914, + + 913, 1464, 1464, 912, 911, 910, 1464, 909, 1464, 908, + 907, 906, 1464, 905, 1464, 1471, 1471, 1471, 904, 903, + 902, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, + 1471, 1471, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, + 1478, 1478, 1478, 1478, 1498, 901, 900, 899, 1498, 1498, + 898, 897, 1498, 896, 1498, 1498, 895, 894, 1498, 1512, + 1512, 893, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, + 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, + 1512, 1571, 1571, 1571, 1571, 1571, 1590, 892, 891, 890, + + 1590, 1590, 887, 884, 883, 882, 1590, 1590, 1609, 1609, + 1609, 1609, 1609, 881, 1609, 1609, 1609, 1609, 1609, 1610, + 1610, 1610, 1610, 1610, 880, 1610, 1610, 1610, 1610, 1610, + 1654, 876, 875, 874, 873, 1654, 872, 871, 870, 869, + 866, 865, 1654, 1654, 1654, 1654, 1654, 1673, 864, 863, + 862, 1673, 1673, 861, 860, 859, 858, 1673, 1673, 1691, + 857, 1691, 1691, 856, 855, 1691, 1691, 1691, 1691, 1691, + 1691, 1691, 1691, 1691, 1691, 1691, 1693, 854, 1693, 1693, + 853, 852, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, + 1693, 1693, 1693, 1733, 851, 850, 1733, 1733, 1733, 1733, + + 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, + 1733, 1733, 1733, 1733, 1733, 1794, 849, 848, 1794, 1794, + 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, + 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1822, 1822, 847, + 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, + 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1825, + 1825, 846, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, + 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, + 1825, 1837, 1837, 1837, 1837, 1837, 845, 1837, 1837, 1837, + 1837, 1837, 1880, 844, 843, 842, 1880, 1880, 1880, 1880, + + 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1886, 1886, 1886, + 1886, 1886, 1886, 1886, 1886, 1886, 841, 1886, 1886, 1886, + 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1926, + 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 840, 1926, + 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, + 1926, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, + 1956, 839, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, + 1956, 1956, 1956, 1956, 1965, 838, 837, 836, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 835, + + 834, 833, 807, 804, 803, 802, 801, 800, 799, 798, + 797, 796, 795, 794, 793, 792, 791, 790, 789, 788, + 787, 786, 785, 784, 783, 782, 433, 778, 777, 776, + 775, 774, 773, 772, 771, 770, 765, 764, 763, 762, + 761, 760, 759, 758, 757, 756, 755, 753, 752, 751, + 750, 749, 746, 745, 744, 743, 742, 741, 740, 739, + 738, 737, 736, 735, 734, 733, 732, 731, 730, 729, + 728, 727, 726, 725, 724, 723, 722, 721, 720, 719, + 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, + 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, + + 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, + 688, 687, 686, 685, 684, 683, 682, 681, 680, 678, + 677, 676, 675, 674, 673, 672, 671, 642, 641, 640, + 637, 636, 635, 634, 633, 632, 631, 630, 629, 626, + 625, 624, 623, 622, 618, 617, 616, 433, 610, 609, + 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, + 598, 597, 596, 595, 594, 593, 592, 591, 590, 589, + 588, 587, 585, 584, 583, 582, 581, 580, 579, 576, + 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, + 565, 564, 563, 562, 561, 560, 559, 556, 555, 552, + + 551, 550, 547, 546, 545, 544, 543, 542, 541, 540, + 539, 538, 537, 536, 535, 534, 532, 531, 530, 527, + 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, + 516, 515, 514, 513, 510, 508, 505, 504, 503, 501, + 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, + 490, 458, 457, 456, 455, 454, 453, 448, 447, 446, + 445, 444, 443, 442, 439, 438, 437, 436, 431, 430, + 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, + 419, 418, 417, 416, 415, 414, 410, 409, 403, 402, + 394, 393, 388, 376, 372, 371, 368, 362, 361, 360, + + 354, 351, 350, 349, 348, 347, 346, 345, 344, 342, + 341, 337, 336, 335, 332, 330, 326, 325, 324, 319, + 318, 316, 315, 314, 312, 311, 306, 305, 275, 274, + 273, 272, 1976, 266, 257, 256, 249, 245, 244, 232, + 227, 205, 187, 119, 114, 107, 102, 98, 71, 1976, + 3, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976 } ; -static yyconst flex_int16_t yy_chk[3524] = +static yyconst flex_int16_t yy_chk[3539] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1488,367 +1492,368 @@ static yyconst flex_int16_t yy_chk[3524] = 10, 10, 10, 10, 10, 10, 10, 10, 22, 44, 22, 22, 22, 22, 22, 22, 25, 25, 25, 27, 27, 29, 45, 43, 46, 57, 22, 43, 49, 29, - 893, 29, 87, 60, 96, 894, 29, 44, 29, 87, - 87, 99, 124, 57, 96, 59, 60, 56, 60, 29, + 96, 29, 369, 60, 87, 369, 29, 44, 29, 72, + 96, 87, 87, 57, 124, 59, 60, 56, 60, 29, 45, 43, 46, 57, 22, 43, 49, 29, 51, 29, - 49, 59, 51, 49, 29, 896, 29, 56, 56, 49, - 124, 51, 899, 59, 25, 56, 27, 48, 54, 59, - - 56, 125, 51, 61, 50, 48, 51, 48, 99, 54, - 51, 61, 48, 54, 48, 258, 51, 258, 50, 51, - 54, 50, 126, 48, 48, 48, 54, 89, 61, 125, - 58, 61, 50, 48, 127, 48, 50, 52, 72, 48, - 48, 48, 48, 50, 53, 82, 50, 89, 82, 50, - 126, 82, 50, 52, 63, 52, 153, 52, 58, 52, - 66, 65, 127, 52, 91, 52, 53, 64, 58, 53, - 900, 64, 53, 153, 58, 53, 53, 91, 63, 65, - 83, 53, 63, 83, 83, 67, 66, 191, 66, 65, - 72, 66, 63, 128, 95, 64, 172, 172, 63, 64, - - 191, 95, 64, 64, 129, 67, 95, 198, 130, 95, - 64, 64, 67, 67, 64, 64, 901, 64, 198, 64, - 214, 128, 67, 78, 78, 78, 78, 78, 78, 84, - 84, 84, 129, 131, 214, 84, 130, 214, 111, 84, - 111, 111, 111, 111, 111, 111, 112, 132, 112, 112, - 112, 112, 112, 112, 133, 134, 111, 135, 136, 137, - 113, 131, 113, 133, 112, 113, 113, 113, 113, 113, - 113, 138, 139, 140, 141, 132, 142, 143, 145, 147, - 144, 146, 133, 134, 111, 135, 136, 137, 144, 146, - 148, 133, 112, 149, 154, 155, 158, 162, 902, 138, - - 139, 140, 141, 179, 142, 143, 145, 147, 144, 146, - 165, 205, 374, 170, 154, 374, 144, 146, 148, 168, - 205, 149, 154, 155, 158, 162, 155, 210, 168, 170, - 189, 179, 162, 192, 176, 210, 196, 158, 165, 165, - 203, 170, 215, 202, 165, 179, 165, 168, 168, 202, - 168, 176, 203, 215, 207, 176, 168, 220, 189, 189, - 192, 192, 176, 207, 196, 192, 196, 220, 203, 206, - 213, 219, 218, 192, 223, 245, 213, 206, 223, 209, - 196, 196, 196, 196, 206, 218, 206, 209, 224, 903, - 206, 250, 250, 245, 324, 206, 327, 206, 324, 219, - - 206, 635, 206, 206, 327, 206, 724, 209, 259, 259, - 224, 635, 724, 209, 209, 209, 224, 227, 227, 227, - 227, 227, 227, 267, 267, 267, 267, 267, 267, 269, - 269, 269, 269, 269, 269, 275, 276, 277, 268, 267, - 268, 245, 278, 268, 268, 268, 268, 268, 268, 270, - 270, 270, 270, 270, 270, 279, 280, 281, 282, 283, - 284, 285, 286, 275, 276, 277, 287, 267, 288, 289, - 278, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 301, 302, 279, 280, 281, 282, 283, 284, 285, - 286, 300, 300, 300, 287, 303, 288, 289, 319, 290, - - 291, 292, 293, 294, 295, 296, 297, 298, 299, 301, - 302, 325, 338, 350, 346, 395, 371, 395, 404, 431, - 433, 443, 437, 303, 371, 432, 319, 346, 437, 459, - 453, 437, 453, 457, 457, 457, 457, 457, 457, 325, - 338, 350, 325, 460, 432, 461, 404, 458, 458, 458, - 458, 458, 458, 462, 463, 464, 350, 459, 466, 467, - 468, 607, 611, 469, 470, 443, 472, 473, 474, 475, - 477, 460, 478, 461, 476, 476, 476, 479, 480, 481, - 482, 462, 463, 464, 483, 485, 466, 467, 468, 433, - 431, 469, 470, 486, 472, 473, 474, 475, 477, 500, - - 478, 484, 484, 484, 582, 479, 480, 481, 482, 608, - 574, 639, 483, 485, 574, 905, 609, 641, 596, 800, - 607, 486, 800, 642, 645, 646, 611, 500, 608, 596, - 596, 500, 582, 484, 596, 609, 638, 647, 648, 639, - 649, 650, 651, 638, 653, 641, 656, 638, 484, 658, - 484, 642, 645, 646, 654, 654, 654, 659, 660, 773, - 661, 484, 662, 663, 664, 647, 648, 665, 649, 650, - 651, 666, 653, 707, 656, 726, 484, 658, 484, 748, - 775, 757, 769, 774, 707, 659, 660, 609, 661, 726, - 662, 663, 664, 906, 717, 665, 757, 790, 769, 666, - - 717, 805, 774, 654, 907, 806, 807, 748, 808, 810, - 717, 809, 809, 809, 908, 773, 783, 783, 783, 783, - 783, 783, 812, 813, 814, 816, 817, 820, 822, 805, - 823, 654, 775, 806, 807, 790, 808, 810, 824, 825, - 843, 843, 774, 904, 909, 910, 911, 912, 913, 904, - 812, 813, 814, 816, 817, 820, 822, 914, 823, 915, - 916, 917, 918, 919, 920, 921, 824, 825, 916, 922, - 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, - 933, 934, 934, 934, 934, 934, 934, 935, 936, 843, - 937, 925, 938, 939, 940, 941, 942, 943, 944, 945, - - 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, - 956, 957, 958, 960, 961, 961, 961, 965, 965, 965, - 964, 966, 967, 969, 970, 971, 972, 973, 925, 974, - 977, 978, 979, 980, 982, 988, 924, 989, 990, 991, - 958, 960, 994, 995, 926, 962, 962, 962, 964, 966, - 967, 969, 970, 971, 972, 973, 996, 997, 999, 1000, - 1002, 1003, 1004, 1005, 1007, 1008, 1009, 1011, 1012, 1013, - 1015, 1017, 1018, 1019, 1020, 1021, 1023, 1024, 1028, 1029, - 962, 1030, 1031, 1032, 962, 1033, 962, 1034, 1035, 962, - 962, 1036, 1037, 1038, 962, 1039, 1040, 1041, 1042, 1043, - - 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 962, 1052, - 1053, 1054, 962, 1055, 962, 1056, 1057, 962, 962, 1058, - 1059, 1060, 962, 1061, 1062, 1064, 1065, 1066, 1067, 1068, - 1054, 1055, 1063, 1063, 1063, 1063, 1063, 1063, 1069, 1070, - 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1070, 1078, 1079, - 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, - 1089, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, - 1097, 1097, 1098, 1099, 1095, 1105, 1054, 1100, 1101, 1103, - 1106, 1107, 1109, 1094, 1110, 1087, 1088, 1112, 1113, 1114, - 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1115, 1117, 1118, - - 1098, 1099, 1095, 1089, 1119, 1100, 1101, 1103, 1120, 1121, - 1123, 1094, 1125, 1126, 1097, 1128, 1129, 1130, 1131, 1133, - 1134, 1135, 1137, 1138, 1141, 1142, 1144, 1145, 1146, 1147, - 1148, 1089, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1157, - 1158, 1159, 1097, 1160, 1161, 1162, 1163, 1164, 1165, 1165, - 1166, 1167, 1168, 1158, 1169, 1169, 1169, 1169, 1169, 1169, - 1170, 1171, 1172, 1173, 1174, 1175, 1164, 1176, 1177, 1178, - 1179, 1181, 1182, 1167, 1183, 1184, 1185, 1186, 1187, 1188, - 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, - 1198, 1198, 1199, 1200, 1201, 1202, 1203, 1203, 1203, 1204, - - 1205, 1172, 1206, 1207, 1208, 1209, 1210, 1210, 1210, 1211, - 1213, 1214, 1215, 1216, 1217, 1219, 1197, 1221, 1222, 1223, - 1199, 1200, 1201, 1202, 1224, 1225, 1226, 1204, 1205, 1227, - 1206, 1207, 1208, 1209, 1228, 1231, 1233, 1211, 1213, 1214, - 1235, 1236, 1237, 1238, 1240, 1241, 1243, 1244, 1245, 1246, - 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1256, 1257, 1256, - 1256, 1256, 1256, 1256, 1256, 1258, 1259, 1260, 1261, 1262, - 1264, 1264, 1266, 1267, 1268, 1271, 1273, 1274, 1275, 1276, - 1265, 1264, 1265, 1264, 1264, 1264, 1264, 1264, 1264, 1265, - 1265, 1279, 1281, 1265, 1269, 1269, 1269, 1269, 1269, 1269, - - 1282, 1267, 1283, 1277, 1277, 1278, 1264, 1270, 1270, 1270, - 1270, 1270, 1270, 1284, 1285, 1286, 1278, 1287, 1264, 1277, - 1277, 1278, 1288, 1289, 1266, 1290, 1264, 1291, 1292, 1293, - 1294, 1264, 1295, 1296, 1264, 1300, 1301, 1264, 1297, 1297, - 1297, 1302, 1304, 1264, 1305, 1306, 1264, 1298, 1298, 1298, - 1303, 1303, 1303, 1307, 1308, 1309, 1310, 1310, 1310, 1312, - 1313, 1314, 1315, 1300, 1301, 1316, 1317, 1318, 1319, 1302, - 1304, 1320, 1305, 1306, 1321, 1315, 1322, 1323, 1324, 1325, - 1326, 1307, 1308, 1309, 1327, 1328, 1330, 1312, 1313, 1310, - 1331, 1332, 1333, 1334, 1335, 1298, 1336, 1303, 1337, 1338, - - 1339, 1340, 1341, 1342, 1343, 1310, 1344, 1348, 1349, 1350, - 1351, 1352, 1353, 1356, 1357, 1358, 1359, 1310, 1360, 1356, - 1361, 1367, 1372, 1298, 1373, 1303, 1364, 1374, 1363, 1366, - 1375, 1376, 1377, 1310, 1355, 1355, 1368, 1368, 1368, 1368, - 1368, 1368, 1378, 1379, 1380, 1355, 1381, 1355, 1355, 1355, - 1355, 1355, 1355, 1363, 1364, 1363, 1366, 1369, 1369, 1369, - 1369, 1369, 1369, 1370, 1370, 1370, 1370, 1370, 1370, 1382, - 1355, 1383, 1361, 1384, 1385, 1386, 1387, 1388, 1389, 1391, - 1390, 1382, 1355, 1390, 1366, 1392, 1393, 1394, 1395, 1396, - 1355, 1397, 1398, 1399, 1400, 1355, 1402, 1403, 1355, 1405, - - 1406, 1355, 1385, 1386, 1407, 1408, 1409, 1355, 1411, 1412, - 1355, 1401, 1401, 1401, 1413, 1414, 1417, 1415, 1416, 1418, - 1419, 1421, 1425, 1426, 1402, 1403, 1427, 1405, 1406, 1428, - 1429, 1430, 1407, 1408, 1409, 1431, 1411, 1412, 1433, 1435, - 1436, 1438, 1413, 1414, 1398, 1415, 1416, 1439, 1439, 1438, - 1440, 1401, 1437, 1437, 1437, 1437, 1437, 1437, 1441, 1441, - 1441, 1441, 1441, 1441, 1442, 1443, 1444, 1445, 1446, 1447, - 1447, 1447, 1447, 1447, 1447, 1450, 1451, 1452, 1453, 1401, - 1454, 1455, 1457, 1458, 1459, 1460, 1453, 1461, 1462, 1463, - 1464, 1469, 1465, 1467, 1467, 1467, 1467, 1467, 1467, 1468, - - 1468, 1468, 1468, 1468, 1468, 1470, 1471, 1472, 1473, 1474, - 1475, 1476, 1478, 1477, 1471, 1479, 1480, 1463, 1464, 1465, - 1477, 1481, 1482, 1483, 1486, 1487, 1489, 1488, 1478, 1485, - 1485, 1485, 1485, 1485, 1485, 1488, 1490, 1492, 1491, 1493, - 1493, 1494, 1495, 1491, 1496, 1497, 1493, 1465, 1502, 1503, - 1504, 1483, 1491, 1505, 1506, 1507, 1491, 1508, 1509, 1510, - 1510, 1510, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1521, - 1524, 1525, 1527, 1528, 1531, 1535, 1502, 1503, 1504, 1537, - 1538, 1505, 1506, 1507, 1539, 1508, 1509, 1540, 1541, 1543, - 1512, 1513, 1514, 1515, 1544, 1540, 1545, 1497, 1530, 1530, - - 1530, 1530, 1530, 1530, 1536, 1546, 1536, 1536, 1536, 1536, - 1536, 1536, 1542, 1542, 1542, 1542, 1542, 1542, 1548, 1549, - 1550, 1551, 1552, 1553, 1554, 1556, 1557, 1557, 1557, 1557, - 1557, 1557, 1558, 1559, 1560, 1562, 1563, 1564, 1565, 1566, - 1567, 1559, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1576, - 1576, 1576, 1576, 1576, 1576, 1577, 1578, 1579, 1581, 1582, - 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, - 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, - 1603, 1604, 1604, 1604, 1605, 1606, 1607, 1608, 1609, 1610, - 1611, 1613, 1614, 1616, 1617, 1617, 1617, 1617, 1617, 1617, - - 1623, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1619, - 1624, 1621, 1605, 1606, 1607, 1608, 1621, 1619, 1620, 1620, - 1620, 1620, 1620, 1620, 1622, 1626, 1628, 1629, 1630, 1604, - 1636, 1632, 1622, 1627, 1627, 1627, 1627, 1627, 1627, 1632, - 1633, 1633, 1633, 1633, 1633, 1633, 1637, 1638, 1639, 1641, - 1642, 1645, 1646, 1647, 1648, 1650, 1651, 1604, 1652, 1653, - 1654, 1656, 1657, 1659, 1659, 1659, 1659, 1659, 1659, 1660, - 1661, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1669, 1669, - 1669, 1669, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, - 1677, 1678, 1679, 1681, 1682, 1674, 1680, 1680, 1680, 1684, - - 1686, 1688, 1675, 1689, 1690, 1692, 1693, 1694, 1696, 1697, - 1699, 1700, 1701, 1701, 1701, 1701, 1701, 1701, 1702, 1703, - 1704, 1681, 1682, 1708, 1709, 1710, 1706, 1684, 1686, 1688, - 1712, 1689, 1690, 1692, 1706, 1714, 1714, 1714, 1714, 1714, - 1714, 1714, 1715, 1716, 1717, 1719, 1721, 1721, 1721, 1721, - 1721, 1721, 1723, 1725, 1727, 1728, 1729, 1730, 1731, 1732, - 1733, 1734, 1735, 1736, 1737, 1739, 1742, 1743, 1745, 1747, - 1735, 1748, 1749, 1750, 1740, 1739, 1740, 1740, 1740, 1740, - 1740, 1740, 1744, 1752, 1751, 1751, 1751, 1754, 1755, 1756, - 1744, 1757, 1760, 1762, 1763, 1766, 1767, 1769, 1771, 1772, - - 1721, 1773, 1775, 1777, 1778, 1780, 1771, 1783, 1784, 1785, - 1782, 1752, 1786, 1787, 1788, 1754, 1755, 1756, 1782, 1757, - 1789, 1791, 1793, 1795, 1749, 1750, 1751, 1781, 1781, 1781, - 1781, 1781, 1781, 1790, 1796, 1797, 1798, 1800, 1801, 1802, - 1805, 1790, 1799, 1799, 1799, 1799, 1799, 1799, 1806, 1807, - 1810, 1813, 1814, 1815, 1751, 1817, 1818, 1819, 1821, 1823, - 1824, 1826, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1834, - 1834, 1834, 1834, 1834, 1835, 1837, 1838, 1840, 1842, 1813, - 1814, 1815, 1843, 1817, 1818, 1844, 1842, 1846, 1848, 1849, - 1850, 1851, 1852, 1852, 1852, 1852, 1852, 1852, 1854, 1856, - - 1857, 1807, 1810, 1858, 1859, 1860, 1860, 1860, 1861, 1862, - 1863, 1866, 1870, 1871, 1873, 1875, 1830, 1869, 1869, 1869, - 1869, 1869, 1869, 1876, 1880, 1881, 1882, 1883, 1885, 1886, - 1887, 1858, 1859, 1881, 1890, 1891, 1861, 1862, 1892, 1873, - 1893, 1873, 1894, 1896, 1895, 1895, 1895, 1899, 1900, 1900, - 1900, 1900, 1900, 1900, 1901, 1903, 1905, 1907, 1908, 1909, - 1910, 1913, 1911, 1914, 1915, 1871, 1908, 1916, 1893, 1917, - 1894, 1896, 1918, 1919, 1925, 1926, 1928, 1930, 1931, 1895, - 1932, 1933, 1887, 1895, 1929, 1895, 1913, 1935, 1913, 1895, - 1940, 1941, 1944, 1895, 1951, 889, 888, 1917, 1940, 887, - - 1918, 1919, 886, 884, 883, 882, 1947, 1895, 881, 1933, - 880, 1895, 879, 1895, 1911, 1935, 878, 1895, 877, 1943, - 1948, 1895, 1921, 1921, 1921, 1921, 1921, 1921, 1922, 1922, - 1922, 1922, 1922, 1922, 1947, 1954, 1929, 1936, 1936, 1936, - 1936, 1936, 1936, 1941, 1943, 1955, 1943, 1957, 1948, 1949, - 1949, 1949, 1949, 1949, 1949, 1959, 875, 873, 872, 871, - 870, 868, 867, 1954, 866, 865, 864, 863, 862, 861, - 860, 858, 857, 1955, 855, 1957, 853, 852, 850, 847, - 846, 844, 842, 1959, 1962, 1962, 1962, 1962, 1962, 1962, - 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, 1962, - - 1962, 1962, 1962, 1962, 1962, 1962, 1963, 1963, 837, 1963, - 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, - 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1964, 1964, - 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, - 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, - 1965, 836, 834, 833, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1966, 832, 830, 829, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1967, 1967, 828, 1967, 1967, 1967, 1967, 1967, 1967, 1967, - 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, - - 1967, 1967, 1968, 1968, 804, 1968, 1968, 1968, 1968, 1968, - 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, - 1968, 1968, 1968, 1968, 1969, 803, 802, 801, 1969, 1969, - 1969, 1969, 1969, 799, 1969, 1969, 1969, 1969, 1969, 1970, - 798, 797, 796, 1970, 1970, 1970, 1970, 1970, 795, 1970, - 1970, 1970, 1970, 1970, 1971, 794, 793, 1971, 792, 791, - 789, 1971, 1971, 1971, 1971, 1971, 788, 1971, 1971, 1971, - 1971, 1971, 1972, 787, 786, 785, 1972, 1972, 1972, 1972, - 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1973, 1973, 1973, - 1973, 1973, 1973, 1973, 1973, 1973, 784, 1973, 1973, 1973, - - 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1974, - 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1974, 1975, 782, 781, 1975, 1975, 1975, 1975, 1975, 1975, - 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, - 1975, 1975, 1975, 1976, 780, 779, 778, 1976, 1976, 777, - 776, 772, 771, 1976, 1976, 1977, 770, 767, 1977, 766, - 765, 764, 1977, 1977, 1977, 1977, 1977, 763, 1977, 1977, - 1977, 1977, 1977, 1978, 762, 761, 1978, 1978, 760, 759, - 758, 1978, 756, 1978, 755, 754, 753, 1978, 751, 1978, - - 1979, 1979, 1979, 750, 749, 747, 1979, 1979, 1979, 1979, - 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1980, 1980, 1980, + 49, 59, 51, 49, 29, 445, 29, 56, 56, 49, + 892, 51, 124, 59, 25, 56, 27, 48, 54, 59, + + 56, 99, 51, 51, 50, 48, 51, 48, 732, 54, + 51, 72, 48, 54, 48, 894, 51, 125, 50, 51, + 54, 50, 732, 48, 48, 48, 54, 89, 82, 445, + 58, 82, 50, 48, 82, 48, 50, 52, 91, 48, + 48, 48, 48, 50, 53, 125, 50, 89, 99, 50, + 67, 91, 50, 52, 61, 52, 63, 52, 58, 52, + 64, 203, 61, 52, 64, 52, 53, 203, 58, 53, + 67, 65, 53, 153, 58, 53, 53, 67, 67, 61, + 63, 53, 61, 66, 63, 126, 199, 67, 64, 65, + 153, 259, 64, 259, 63, 64, 64, 199, 83, 65, + + 63, 83, 83, 64, 64, 127, 128, 64, 64, 66, + 64, 66, 64, 126, 66, 78, 78, 78, 78, 78, + 78, 84, 84, 84, 895, 95, 206, 84, 129, 208, + 130, 84, 95, 127, 128, 206, 131, 95, 208, 111, + 95, 111, 111, 111, 111, 111, 111, 112, 132, 112, + 112, 112, 112, 112, 112, 134, 129, 111, 130, 135, + 136, 113, 137, 113, 131, 112, 113, 113, 113, 113, + 113, 113, 133, 138, 139, 140, 132, 141, 142, 143, + 145, 133, 147, 134, 144, 111, 146, 135, 136, 148, + 137, 149, 144, 112, 146, 154, 155, 158, 162, 896, + + 133, 138, 139, 140, 897, 141, 142, 143, 145, 133, + 147, 165, 144, 171, 146, 154, 220, 148, 180, 149, + 144, 169, 146, 154, 155, 158, 162, 155, 190, 171, + 169, 173, 173, 162, 177, 192, 193, 197, 158, 165, + 165, 171, 204, 433, 220, 165, 180, 165, 192, 169, + 169, 177, 169, 211, 204, 177, 190, 190, 169, 898, + 180, 211, 177, 193, 193, 197, 214, 197, 193, 216, + 204, 207, 214, 215, 251, 251, 193, 246, 219, 207, + 216, 197, 197, 197, 197, 210, 207, 215, 207, 225, + 215, 219, 207, 210, 224, 246, 221, 207, 224, 207, + + 260, 260, 207, 899, 207, 207, 221, 207, 301, 301, + 301, 225, 325, 210, 433, 376, 325, 225, 376, 210, + 210, 210, 228, 228, 228, 228, 228, 228, 268, 268, + 268, 268, 268, 268, 270, 270, 270, 270, 270, 270, + 269, 276, 269, 246, 268, 269, 269, 269, 269, 269, + 269, 271, 271, 271, 271, 271, 271, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 276, + 289, 290, 268, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 302, 303, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 304, 289, 290, + + 320, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 302, 303, 327, 329, 340, 348, 352, 373, 397, + 406, 397, 329, 434, 435, 304, 373, 439, 320, 348, + 455, 461, 455, 439, 578, 901, 439, 902, 578, 462, + 463, 327, 434, 340, 327, 352, 464, 465, 406, 459, + 459, 459, 459, 459, 459, 466, 468, 469, 470, 461, + 352, 460, 460, 460, 460, 460, 460, 462, 463, 471, + 472, 474, 475, 476, 464, 465, 477, 478, 478, 478, + 479, 480, 481, 466, 468, 469, 470, 482, 483, 484, + 485, 487, 488, 435, 486, 486, 486, 471, 472, 474, + + 475, 476, 502, 586, 477, 611, 612, 904, 479, 480, + 481, 600, 615, 613, 639, 482, 483, 484, 485, 487, + 488, 643, 600, 600, 639, 612, 486, 600, 642, 645, + 502, 586, 613, 646, 502, 642, 907, 649, 650, 642, + 651, 486, 652, 486, 653, 654, 655, 657, 779, 643, + 658, 658, 658, 660, 486, 662, 908, 645, 663, 664, + 665, 646, 666, 667, 611, 649, 650, 668, 651, 486, + 652, 486, 653, 654, 655, 657, 615, 669, 670, 730, + 775, 660, 712, 662, 613, 730, 663, 664, 665, 754, + 666, 667, 723, 712, 763, 668, 775, 780, 723, 658, + + 781, 796, 811, 812, 779, 669, 670, 813, 723, 763, + 789, 789, 789, 789, 789, 789, 780, 754, 806, 814, + 816, 806, 815, 815, 815, 818, 819, 658, 909, 820, + 811, 812, 822, 823, 826, 813, 828, 829, 830, 796, + 831, 850, 850, 910, 911, 912, 913, 814, 816, 914, + 915, 912, 781, 818, 819, 916, 780, 820, 917, 918, + 822, 823, 826, 919, 828, 829, 830, 920, 831, 921, + 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, + 924, 932, 933, 934, 935, 936, 937, 938, 939, 940, + 850, 941, 942, 942, 942, 942, 942, 942, 943, 944, + + 945, 933, 946, 947, 948, 949, 950, 951, 952, 953, + 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, + 964, 965, 966, 968, 969, 969, 969, 973, 973, 973, + 972, 974, 975, 977, 978, 979, 980, 981, 933, 982, + 985, 986, 987, 988, 989, 991, 932, 997, 998, 999, + 966, 968, 1000, 1003, 934, 970, 970, 970, 972, 974, + 975, 977, 978, 979, 980, 981, 1004, 1005, 1006, 1008, + 1009, 1011, 1012, 1013, 1014, 1015, 1017, 1018, 1019, 1021, + 1022, 1023, 1025, 1027, 1028, 1029, 1030, 1031, 1033, 1034, + 970, 1038, 1039, 1040, 970, 1041, 970, 1042, 1043, 970, + + 970, 1044, 1045, 1046, 970, 1047, 1048, 1049, 1050, 1051, + 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 970, 1060, + 1061, 1062, 970, 1063, 970, 1064, 1066, 970, 970, 1065, + 1067, 1068, 970, 1069, 1070, 1071, 1072, 1073, 1073, 1073, + 1073, 1073, 1073, 1074, 1064, 1075, 1076, 1065, 1077, 1078, + 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1080, + 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, + 1098, 1099, 1099, 1099, 1100, 1101, 1102, 1103, 1104, 1105, + 1106, 1107, 1107, 1107, 1108, 1109, 1105, 1115, 1110, 1111, + 1064, 1113, 1116, 1117, 1119, 1104, 1120, 1097, 1098, 1121, + + 1123, 1124, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1125, + 1126, 1128, 1108, 1109, 1105, 1099, 1110, 1111, 1129, 1113, + 1130, 1131, 1132, 1104, 1133, 1135, 1107, 1137, 1138, 1140, + 1141, 1142, 1143, 1145, 1146, 1147, 1149, 1150, 1153, 1154, + 1156, 1157, 1158, 1099, 1159, 1160, 1161, 1162, 1163, 1164, + 1165, 1166, 1167, 1169, 1107, 1170, 1171, 1172, 1173, 1174, + 1175, 1176, 1177, 1177, 1178, 1179, 1180, 1182, 1170, 1181, + 1181, 1181, 1181, 1181, 1181, 1183, 1184, 1185, 1186, 1187, + 1176, 1188, 1189, 1190, 1191, 1193, 1194, 1179, 1195, 1196, + 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, + + 1207, 1208, 1209, 1210, 1210, 1210, 1211, 1212, 1213, 1214, + 1215, 1215, 1215, 1216, 1217, 1184, 1218, 1219, 1220, 1221, + 1222, 1222, 1222, 1223, 1225, 1226, 1227, 1228, 1229, 1232, + 1209, 1234, 1235, 1236, 1211, 1212, 1213, 1214, 1237, 1238, + 1239, 1216, 1217, 1240, 1218, 1219, 1220, 1221, 1241, 1242, + 1245, 1223, 1225, 1226, 1247, 1249, 1250, 1251, 1252, 1254, + 1255, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, + 1266, 1267, 1270, 1271, 1270, 1270, 1270, 1270, 1270, 1270, + 1272, 1273, 1274, 1275, 1276, 1278, 1278, 1280, 1281, 1282, + 1285, 1287, 1288, 1289, 1290, 1279, 1278, 1279, 1278, 1278, + + 1278, 1278, 1278, 1278, 1279, 1279, 1293, 1295, 1279, 1283, + 1283, 1283, 1283, 1283, 1283, 1296, 1281, 1297, 1291, 1291, + 1292, 1278, 1284, 1284, 1284, 1284, 1284, 1284, 1298, 1299, + 1300, 1292, 1301, 1278, 1291, 1291, 1292, 1302, 1303, 1280, + 1304, 1278, 1305, 1306, 1307, 1308, 1278, 1309, 1310, 1278, + 1314, 1315, 1278, 1311, 1311, 1311, 1316, 1318, 1278, 1319, + 1320, 1278, 1312, 1312, 1312, 1317, 1317, 1317, 1321, 1322, + 1323, 1324, 1324, 1324, 1326, 1327, 1328, 1329, 1314, 1315, + 1330, 1331, 1332, 1333, 1316, 1318, 1334, 1319, 1320, 1335, + 1329, 1336, 1337, 1338, 1340, 1341, 1321, 1322, 1323, 1342, + + 1343, 1345, 1326, 1327, 1324, 1346, 1347, 1348, 1349, 1350, + 1312, 1351, 1317, 1352, 1353, 1354, 1355, 1356, 1357, 1358, + 1324, 1359, 1363, 1364, 1365, 1366, 1367, 1368, 1371, 1372, + 1373, 1374, 1324, 1375, 1371, 1376, 1382, 1387, 1312, 1388, + 1317, 1379, 1389, 1378, 1381, 1390, 1391, 1392, 1324, 1370, + 1370, 1383, 1383, 1383, 1383, 1383, 1383, 1393, 1394, 1395, + 1370, 1396, 1370, 1370, 1370, 1370, 1370, 1370, 1378, 1379, + 1378, 1381, 1384, 1384, 1384, 1384, 1384, 1384, 1385, 1385, + 1385, 1385, 1385, 1385, 1397, 1370, 1398, 1376, 1399, 1400, + 1401, 1402, 1403, 1404, 1406, 1405, 1397, 1370, 1405, 1381, + + 1407, 1408, 1409, 1410, 1411, 1370, 1412, 1413, 1414, 1415, + 1370, 1417, 1418, 1370, 1420, 1421, 1370, 1400, 1401, 1422, + 1423, 1424, 1370, 1426, 1427, 1370, 1416, 1416, 1416, 1428, + 1429, 1432, 1430, 1431, 1433, 1434, 1436, 1440, 1441, 1417, + 1418, 1442, 1420, 1421, 1443, 1444, 1445, 1422, 1423, 1424, + 1446, 1426, 1427, 1448, 1450, 1451, 1453, 1428, 1429, 1413, + 1430, 1431, 1454, 1454, 1453, 1455, 1416, 1452, 1452, 1452, + 1452, 1452, 1452, 1456, 1456, 1456, 1456, 1456, 1456, 1457, + 1458, 1459, 1460, 1461, 1462, 1462, 1462, 1462, 1462, 1462, + 1465, 1466, 1467, 1468, 1416, 1469, 1470, 1472, 1473, 1474, + + 1475, 1468, 1476, 1477, 1478, 1479, 1484, 1480, 1482, 1482, + 1482, 1482, 1482, 1482, 1483, 1483, 1483, 1483, 1483, 1483, + 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1493, 1492, 1486, + 1494, 1495, 1478, 1479, 1480, 1492, 1496, 1497, 1498, 1501, + 1502, 1504, 1503, 1493, 1500, 1500, 1500, 1500, 1500, 1500, + 1503, 1505, 1507, 1506, 1508, 1508, 1509, 1510, 1506, 1511, + 1512, 1508, 1480, 1517, 1518, 1519, 1498, 1506, 1520, 1521, + 1522, 1506, 1523, 1524, 1525, 1525, 1525, 1527, 1528, 1529, + 1530, 1531, 1532, 1533, 1536, 1539, 1540, 1542, 1543, 1546, + 1550, 1517, 1518, 1519, 1552, 1553, 1520, 1521, 1522, 1554, + + 1523, 1524, 1555, 1556, 1558, 1527, 1528, 1529, 1530, 1559, + 1555, 1560, 1512, 1545, 1545, 1545, 1545, 1545, 1545, 1551, + 1561, 1551, 1551, 1551, 1551, 1551, 1551, 1557, 1557, 1557, + 1557, 1557, 1557, 1563, 1564, 1565, 1566, 1567, 1568, 1569, + 1571, 1572, 1572, 1572, 1572, 1572, 1572, 1573, 1574, 1575, + 1577, 1578, 1579, 1580, 1581, 1582, 1574, 1583, 1584, 1585, + 1586, 1587, 1588, 1589, 1591, 1591, 1591, 1591, 1591, 1591, + 1592, 1593, 1594, 1596, 1597, 1598, 1599, 1600, 1601, 1602, + 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, + 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1619, 1619, 1620, + + 1621, 1622, 1623, 1624, 1625, 1626, 1628, 1629, 1631, 1632, + 1632, 1632, 1632, 1632, 1632, 1638, 1611, 1612, 1613, 1614, + 1615, 1616, 1617, 1618, 1634, 1639, 1636, 1620, 1621, 1622, + 1623, 1636, 1634, 1635, 1635, 1635, 1635, 1635, 1635, 1637, + 1641, 1643, 1644, 1645, 1619, 1651, 1647, 1637, 1642, 1642, + 1642, 1642, 1642, 1642, 1647, 1648, 1648, 1648, 1648, 1648, + 1648, 1652, 1653, 1654, 1656, 1657, 1660, 1661, 1662, 1663, + 1665, 1666, 1619, 1667, 1668, 1669, 1671, 1672, 1674, 1674, + 1674, 1674, 1674, 1674, 1675, 1676, 1678, 1679, 1680, 1681, + 1682, 1683, 1684, 1684, 1684, 1684, 1684, 1684, 1685, 1686, + + 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1696, 1697, + 1689, 1695, 1695, 1695, 1699, 1701, 1703, 1690, 1704, 1705, + 1707, 1708, 1709, 1711, 1712, 1714, 1715, 1716, 1716, 1716, + 1716, 1716, 1716, 1717, 1718, 1719, 1696, 1697, 1723, 1724, + 1725, 1721, 1699, 1701, 1703, 1727, 1704, 1705, 1707, 1721, + 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1730, 1731, 1732, + 1734, 1736, 1736, 1736, 1736, 1736, 1736, 1738, 1740, 1742, + 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, + 1754, 1757, 1758, 1760, 1762, 1750, 1763, 1764, 1765, 1755, + 1754, 1755, 1755, 1755, 1755, 1755, 1755, 1759, 1767, 1766, + + 1766, 1766, 1769, 1770, 1771, 1759, 1772, 1775, 1777, 1778, + 1781, 1782, 1784, 1786, 1787, 1736, 1788, 1790, 1792, 1793, + 1795, 1786, 1798, 1799, 1800, 1797, 1767, 1801, 1802, 1803, + 1769, 1770, 1771, 1797, 1772, 1804, 1806, 1808, 1810, 1764, + 1765, 1766, 1796, 1796, 1796, 1796, 1796, 1796, 1805, 1811, + 1812, 1813, 1815, 1816, 1817, 1820, 1805, 1814, 1814, 1814, + 1814, 1814, 1814, 1821, 1822, 1825, 1828, 1829, 1830, 1766, + 1832, 1833, 1834, 1836, 1838, 1839, 1841, 1843, 1844, 1845, + 1846, 1847, 1848, 1849, 1849, 1849, 1849, 1849, 1849, 1850, + 1852, 1853, 1855, 1857, 1828, 1829, 1830, 1858, 1832, 1833, + + 1859, 1857, 1861, 1863, 1864, 1865, 1866, 1867, 1867, 1867, + 1867, 1867, 1867, 1869, 1871, 1872, 1822, 1825, 1873, 1874, + 1875, 1875, 1875, 1876, 1877, 1878, 1881, 1885, 1886, 1888, + 1890, 1845, 1884, 1884, 1884, 1884, 1884, 1884, 1891, 1895, + 1896, 1897, 1898, 1900, 1901, 1902, 1873, 1874, 1896, 1905, + 1906, 1876, 1877, 1907, 1888, 1908, 1888, 1909, 1911, 1910, + 1910, 1910, 1914, 1915, 1915, 1915, 1915, 1915, 1915, 1916, + 1918, 1920, 1922, 1923, 1924, 1925, 1928, 1926, 1929, 1930, + 1886, 1923, 1931, 1908, 1932, 1909, 1911, 1933, 1934, 1940, + 1941, 1943, 1945, 1946, 1910, 1947, 1948, 1902, 1910, 1944, + + 1910, 1928, 1950, 1928, 1910, 1955, 1956, 1959, 1910, 1966, + 889, 888, 1932, 1955, 887, 1933, 1934, 886, 885, 883, + 881, 1962, 1910, 880, 1948, 879, 1910, 878, 1910, 1926, + 1950, 876, 1910, 875, 1958, 1963, 1910, 1936, 1936, 1936, + 1936, 1936, 1936, 1937, 1937, 1937, 1937, 1937, 1937, 1962, + 1969, 1944, 1951, 1951, 1951, 1951, 1951, 1951, 1956, 1958, + 1970, 1958, 1972, 1963, 1964, 1964, 1964, 1964, 1964, 1964, + 1974, 874, 873, 872, 871, 870, 869, 868, 1969, 867, + 865, 864, 862, 860, 859, 857, 854, 853, 1970, 851, + 1972, 849, 844, 843, 841, 840, 839, 838, 1974, 1977, + + 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, + 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, + 1977, 1978, 1978, 836, 1978, 1978, 1978, 1978, 1978, 1978, + 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, + 1978, 1978, 1978, 1979, 1979, 1979, 1979, 1979, 1979, 1979, + 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, + 1979, 1979, 1979, 1979, 1979, 1980, 835, 834, 810, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1981, - 746, 745, 744, 1981, 1981, 743, 742, 1981, 741, 1981, - 1981, 739, 738, 1981, 1982, 1982, 736, 1982, 1982, 1982, + 1981, 809, 808, 807, 1981, 1981, 1981, 1981, 1981, 1981, + 1981, 1981, 1981, 1981, 1981, 1982, 1982, 805, 1982, 1982, + 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, - 1982, 1982, 1982, 1982, 1982, 1982, 1983, 1983, 1983, 1983, - 1983, 1984, 735, 734, 733, 1984, 1984, 731, 730, 729, - 728, 1984, 1984, 1985, 1985, 1985, 1985, 1985, 727, 1985, - - 1985, 1985, 1985, 1985, 1986, 1986, 1986, 1986, 1986, 725, - 1986, 1986, 1986, 1986, 1986, 1987, 723, 721, 720, 719, - 1987, 718, 716, 715, 713, 712, 711, 1987, 1987, 1987, - 1987, 1987, 1988, 710, 709, 706, 1988, 1988, 705, 704, - 703, 702, 1988, 1988, 1989, 701, 1989, 1989, 700, 699, + 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1983, 1983, 804, + 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, + 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1984, + 803, 802, 801, 1984, 1984, 1984, 1984, 1984, 800, 1984, + 1984, 1984, 1984, 1984, 1985, 799, 798, 797, 1985, 1985, + 1985, 1985, 1985, 795, 1985, 1985, 1985, 1985, 1985, 1986, + 794, 793, 1986, 792, 791, 790, 1986, 1986, 1986, 1986, + 1986, 788, 1986, 1986, 1986, 1986, 1986, 1987, 787, 786, + 785, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, + + 1987, 1987, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, + 1988, 784, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, + 1988, 1988, 1988, 1988, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, - 1989, 1990, 698, 1990, 1990, 697, 696, 1990, 1990, 1990, - 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1991, 695, - 694, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, - 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, 1991, - - 1992, 693, 691, 1992, 1992, 1992, 1992, 1992, 1992, 1992, - 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1992, - 1992, 1992, 1993, 1993, 690, 1993, 1993, 1993, 1993, 1993, - 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, - 1993, 1993, 1993, 1993, 1994, 1994, 688, 1994, 1994, 1994, - 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, - 1994, 1994, 1994, 1994, 1994, 1994, 1995, 1995, 1995, 1995, - 1995, 687, 1995, 1995, 1995, 1995, 1995, 1996, 686, 685, - 684, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, - 1996, 1996, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, - - 1997, 683, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, - 1997, 1997, 1997, 1997, 1998, 1998, 1998, 1998, 1998, 1998, - 1998, 1998, 1998, 682, 1998, 1998, 1998, 1998, 1998, 1998, - 1998, 1998, 1998, 1998, 1998, 1998, 1999, 1999, 1999, 1999, - 1999, 1999, 1999, 1999, 1999, 1999, 1999, 2000, 2000, 2000, - 2000, 2000, 2000, 2000, 2000, 2000, 681, 2000, 2000, 2000, - 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2001, - 680, 679, 678, 2001, 2001, 2001, 2001, 2001, 2001, 2001, - 2001, 2001, 2001, 2001, 676, 675, 673, 672, 669, 668, - 637, 634, 633, 632, 631, 630, 629, 628, 627, 626, - - 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, - 615, 614, 613, 612, 610, 606, 605, 604, 603, 602, - 601, 599, 598, 597, 595, 594, 593, 592, 591, 590, - 589, 588, 585, 584, 583, 581, 579, 578, 577, 576, - 573, 571, 570, 569, 568, 567, 566, 565, 564, 563, - 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, - 552, 551, 550, 549, 548, 547, 546, 545, 543, 542, - 541, 540, 539, 538, 537, 535, 534, 532, 531, 530, - 529, 528, 527, 526, 525, 524, 523, 522, 521, 519, - 517, 516, 515, 514, 513, 512, 510, 509, 508, 507, - - 506, 504, 503, 502, 501, 496, 494, 493, 492, 491, - 490, 489, 488, 456, 455, 454, 452, 451, 450, 449, - 448, 447, 446, 445, 444, 442, 441, 440, 439, 438, - 436, 435, 434, 430, 429, 428, 427, 426, 425, 424, - 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, - 412, 411, 410, 409, 408, 407, 406, 405, 403, 402, - 401, 400, 398, 397, 396, 394, 393, 392, 390, 389, - 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, - 378, 377, 375, 373, 372, 370, 369, 368, 367, 366, - 364, 363, 362, 361, 360, 359, 358, 357, 355, 354, - - 353, 352, 351, 349, 348, 347, 345, 344, 343, 341, - 340, 339, 337, 336, 335, 334, 333, 331, 330, 329, - 328, 326, 323, 322, 320, 318, 317, 316, 315, 314, - 313, 312, 311, 310, 307, 306, 305, 265, 264, 263, - 262, 261, 260, 257, 256, 255, 254, 253, 252, 251, - 249, 248, 247, 246, 244, 243, 242, 241, 240, 239, - 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, - 226, 225, 222, 221, 217, 216, 212, 211, 208, 204, - 201, 199, 197, 195, 194, 193, 190, 188, 186, 185, - 184, 183, 182, 181, 180, 178, 177, 175, 174, 173, - - 171, 169, 167, 166, 164, 163, 161, 160, 159, 157, - 156, 152, 151, 122, 121, 118, 115, 101, 97, 93, - 92, 88, 86, 85, 81, 68, 62, 55, 26, 23, - 20, 16, 12, 7, 3, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961 + 1989, 1989, 1989, 1989, 1989, 1989, 1990, 783, 782, 1990, + 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, + 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1991, 778, + 777, 776, 1991, 1991, 773, 772, 771, 770, 1991, 1991, + 1992, 769, 768, 1992, 767, 766, 765, 1992, 1992, 1992, + 1992, 1992, 764, 1992, 1992, 1992, 1992, 1992, 1993, 762, + + 761, 1993, 1993, 760, 759, 757, 1993, 756, 1993, 755, + 753, 752, 1993, 751, 1993, 1994, 1994, 1994, 750, 749, + 748, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, + 1994, 1994, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, + 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, + 1995, 1995, 1995, 1995, 1996, 747, 745, 744, 1996, 1996, + 742, 741, 1996, 740, 1996, 1996, 739, 737, 1996, 1997, + 1997, 736, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, + 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, + 1997, 1998, 1998, 1998, 1998, 1998, 1999, 735, 734, 733, + + 1999, 1999, 731, 729, 727, 726, 1999, 1999, 2000, 2000, + 2000, 2000, 2000, 725, 2000, 2000, 2000, 2000, 2000, 2001, + 2001, 2001, 2001, 2001, 724, 2001, 2001, 2001, 2001, 2001, + 2002, 722, 721, 719, 718, 2002, 717, 716, 715, 714, + 711, 710, 2002, 2002, 2002, 2002, 2002, 2003, 709, 708, + 707, 2003, 2003, 706, 705, 704, 703, 2003, 2003, 2004, + 702, 2004, 2004, 701, 700, 2004, 2004, 2004, 2004, 2004, + 2004, 2004, 2004, 2004, 2004, 2004, 2005, 699, 2005, 2005, + 698, 696, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2006, 695, 693, 2006, 2006, 2006, 2006, + + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2007, 692, 691, 2007, 2007, + 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, + 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2008, 2008, 690, + 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, + 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2009, + 2009, 689, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2010, 2010, 2010, 2010, 2010, 688, 2010, 2010, 2010, + 2010, 2010, 2011, 687, 686, 685, 2011, 2011, 2011, 2011, + + 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2012, 2012, 2012, + 2012, 2012, 2012, 2012, 2012, 2012, 684, 2012, 2012, 2012, + 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2013, + 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 683, 2013, + 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, + 2013, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, + 2014, 2014, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, + 2015, 682, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, + 2015, 2015, 2015, 2015, 2016, 680, 679, 677, 2016, 2016, + 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 676, + + 673, 672, 641, 638, 637, 636, 635, 634, 633, 632, + 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, + 621, 620, 619, 618, 617, 616, 614, 610, 609, 608, + 607, 606, 605, 603, 602, 601, 599, 598, 597, 596, + 595, 594, 593, 592, 589, 588, 587, 585, 583, 582, + 581, 580, 577, 575, 574, 573, 572, 571, 570, 569, + 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, + 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, + 548, 546, 545, 544, 543, 542, 541, 540, 538, 537, + 535, 534, 533, 532, 531, 530, 529, 528, 527, 526, + + 525, 524, 522, 520, 519, 518, 517, 516, 515, 513, + 512, 511, 510, 509, 508, 506, 505, 504, 503, 498, + 496, 495, 494, 493, 492, 491, 490, 458, 457, 456, + 454, 453, 452, 451, 450, 449, 448, 447, 446, 444, + 443, 442, 441, 440, 438, 437, 436, 432, 431, 430, + 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, + 419, 418, 417, 416, 414, 413, 412, 411, 410, 409, + 408, 407, 405, 404, 403, 402, 400, 399, 398, 396, + 395, 394, 392, 391, 390, 389, 388, 387, 386, 385, + 384, 383, 382, 381, 380, 379, 377, 375, 374, 372, + + 371, 370, 368, 366, 365, 364, 363, 362, 361, 360, + 359, 357, 356, 355, 354, 353, 351, 350, 349, 347, + 346, 345, 343, 342, 341, 339, 338, 337, 336, 335, + 333, 332, 331, 330, 328, 326, 324, 323, 321, 319, + 318, 317, 316, 315, 314, 313, 312, 311, 308, 307, + 306, 266, 265, 264, 263, 262, 261, 258, 257, 256, + 255, 254, 253, 252, 250, 249, 248, 247, 245, 244, + 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, + 233, 232, 231, 230, 227, 226, 223, 222, 218, 217, + 213, 212, 209, 205, 202, 200, 198, 196, 195, 194, + + 191, 189, 187, 186, 185, 184, 183, 182, 181, 179, + 178, 176, 175, 174, 172, 170, 168, 167, 166, 164, + 163, 161, 160, 159, 157, 156, 152, 151, 122, 121, + 118, 115, 101, 97, 93, 92, 88, 86, 85, 81, + 68, 62, 55, 26, 23, 20, 16, 12, 7, 3, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976 } ; /* The intent behind this definition is that it'll catch @@ -1872,6 +1877,7 @@ static yyconst flex_int16_t yy_chk[3524] = * * History * + * mkdash 12-aug-2024 - implement dbsec and ocisecond function * bengsig 29-jul-2024 - $connecterror:fail * bengsig 4-jun-2024 - $ora01013:break * bengsig 10-may-2023 - $musymbolfromstring directive @@ -1970,7 +1976,7 @@ static yyconst flex_int16_t yy_chk[3524] = * bengsig 06-feb-2018 - added ociping * bengsig 10-feb-2017 - creation */ -#line 114 "rwllexer.l" +#line 115 "rwllexer.l" #include "rwl.h" #include "rwlparser.tab.h" @@ -1983,7 +1989,7 @@ static yyconst flex_int16_t yy_chk[3524] = rwm->rwlytext = (text *)yytext; \ } -#line 1987 "lex.rwly.c" +#line 1993 "lex.rwly.c" #define INITIAL 0 @@ -2256,7 +2262,7 @@ YY_DECL } { -#line 132 "rwllexer.l" +#line 133 "rwllexer.l" @@ -2268,7 +2274,7 @@ YY_DECL /* **************************************************************** */ /*LEXTAG:RWL_T_SQL_TEXT*/ -#line 2272 "lex.rwly.c" +#line 2278 "lex.rwly.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2295,13 +2301,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1962 ) + if ( yy_current_state >= 1977 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 3436 ); + while ( yy_base[yy_current_state] != 3451 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -2327,128 +2333,128 @@ YY_DECL case 1: /* rule 1 can match eol */ -#line 144 "rwllexer.l" +#line 145 "rwllexer.l" case 2: /* rule 2 can match eol */ -#line 145 "rwllexer.l" +#line 146 "rwllexer.l" case 3: /* rule 3 can match eol */ -#line 146 "rwllexer.l" +#line 147 "rwllexer.l" case 4: /* rule 4 can match eol */ -#line 147 "rwllexer.l" +#line 148 "rwllexer.l" case 5: /* rule 5 can match eol */ -#line 148 "rwllexer.l" +#line 149 "rwllexer.l" case 6: /* rule 6 can match eol */ -#line 149 "rwllexer.l" +#line 150 "rwllexer.l" case 7: /* rule 7 can match eol */ -#line 150 "rwllexer.l" +#line 151 "rwllexer.l" case 8: /* rule 8 can match eol */ -#line 151 "rwllexer.l" +#line 152 "rwllexer.l" case 9: /* rule 9 can match eol */ -#line 152 "rwllexer.l" +#line 153 "rwllexer.l" case 10: /* rule 10 can match eol */ -#line 153 "rwllexer.l" +#line 154 "rwllexer.l" case 11: /* rule 11 can match eol */ -#line 154 "rwllexer.l" +#line 155 "rwllexer.l" case 12: /* rule 12 can match eol */ -#line 155 "rwllexer.l" +#line 156 "rwllexer.l" case 13: /* rule 13 can match eol */ -#line 156 "rwllexer.l" +#line 157 "rwllexer.l" case 14: /* rule 14 can match eol */ -#line 157 "rwllexer.l" +#line 158 "rwllexer.l" case 15: /* rule 15 can match eol */ -#line 158 "rwllexer.l" +#line 159 "rwllexer.l" case 16: /* rule 16 can match eol */ -#line 159 "rwllexer.l" +#line 160 "rwllexer.l" case 17: /* rule 17 can match eol */ -#line 160 "rwllexer.l" +#line 161 "rwllexer.l" case 18: /* rule 18 can match eol */ -#line 161 "rwllexer.l" +#line 162 "rwllexer.l" case 19: /* rule 19 can match eol */ -#line 162 "rwllexer.l" +#line 163 "rwllexer.l" case 20: /* rule 20 can match eol */ -#line 163 "rwllexer.l" +#line 164 "rwllexer.l" case 21: /* rule 21 can match eol */ -#line 164 "rwllexer.l" +#line 165 "rwllexer.l" case 22: /* rule 22 can match eol */ -#line 165 "rwllexer.l" +#line 166 "rwllexer.l" case 23: /* rule 23 can match eol */ -#line 166 "rwllexer.l" +#line 167 "rwllexer.l" case 24: /* rule 24 can match eol */ -#line 167 "rwllexer.l" +#line 168 "rwllexer.l" case 25: /* rule 25 can match eol */ -#line 168 "rwllexer.l" +#line 169 "rwllexer.l" case 26: /* rule 26 can match eol */ -#line 169 "rwllexer.l" +#line 170 "rwllexer.l" case 27: /* rule 27 can match eol */ -#line 170 "rwllexer.l" +#line 171 "rwllexer.l" case 28: /* rule 28 can match eol */ -#line 171 "rwllexer.l" +#line 172 "rwllexer.l" case 29: /* rule 29 can match eol */ -#line 172 "rwllexer.l" +#line 173 "rwllexer.l" case 30: /* rule 30 can match eol */ -#line 173 "rwllexer.l" +#line 174 "rwllexer.l" case 31: /* rule 31 can match eol */ -#line 174 "rwllexer.l" +#line 175 "rwllexer.l" case 32: /* rule 32 can match eol */ -#line 175 "rwllexer.l" +#line 176 "rwllexer.l" case 33: /* rule 33 can match eol */ -#line 176 "rwllexer.l" +#line 177 "rwllexer.l" case 34: /* rule 34 can match eol */ -#line 177 "rwllexer.l" +#line 178 "rwllexer.l" case 35: /* rule 35 can match eol */ -#line 178 "rwllexer.l" +#line 179 "rwllexer.l" case 36: /* rule 36 can match eol */ -#line 179 "rwllexer.l" +#line 180 "rwllexer.l" case 37: /* rule 37 can match eol */ -#line 180 "rwllexer.l" +#line 181 "rwllexer.l" case 38: /* rule 38 can match eol */ -#line 181 "rwllexer.l" +#line 182 "rwllexer.l" case 39: /* rule 39 can match eol */ -#line 182 "rwllexer.l" +#line 183 "rwllexer.l" case 40: /* rule 40 can match eol */ -#line 183 "rwllexer.l" +#line 184 "rwllexer.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP -#line 183 "rwllexer.l" +#line 184 "rwllexer.l" { /* we match anything that can initiate SQL or PL/SQL. @@ -2467,7 +2473,7 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 199 "rwllexer.l" +#line 200 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -2477,7 +2483,7 @@ YY_RULE_SETUP case 43: /* rule 43 can match eol */ YY_RULE_SETUP -#line 205 "rwllexer.l" +#line 206 "rwllexer.l" { // Note that this flex input means that the input // consist of any number of either of the following // any character @@ -2494,12 +2500,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_T_DOUBLE_CONST*/ case 44: -#line 221 "rwllexer.l" -case 45: #line 222 "rwllexer.l" +case 45: +#line 223 "rwllexer.l" case 46: YY_RULE_SETUP -#line 222 "rwllexer.l" +#line 223 "rwllexer.l" { /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -2510,7 +2516,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_INTEGER_CONST*/ case 47: YY_RULE_SETUP -#line 231 "rwllexer.l" +#line 232 "rwllexer.l" { /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -2520,7 +2526,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 238 "rwllexer.l" +#line 239 "rwllexer.l" { /* make .. be a token even after an integer so that 1..10 is scanned as 1 .. 10 and not as 1. . 10 @@ -2535,43 +2541,43 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FUNCTION*/ case 49: YY_RULE_SETUP -#line 252 "rwllexer.l" +#line 253 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FUNCTION; } YY_BREAK /*LEXTAG:RWL_T_RETURN*/ case 50: YY_RULE_SETUP -#line 254 "rwllexer.l" +#line 255 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_RETURN; } YY_BREAK /*LEXTAG:RWL_T_EXIT*/ case 51: YY_RULE_SETUP -#line 256 "rwllexer.l" +#line 257 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_EXIT; } YY_BREAK /*LEXTAG:RWL_T_READLOB*/ case 52: YY_RULE_SETUP -#line 258 "rwllexer.l" +#line 259 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_READLOB; } YY_BREAK /*LEXTAG:RWL_T_WRITELOB*/ case 53: YY_RULE_SETUP -#line 260 "rwllexer.l" +#line 261 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_WRITELOB; } YY_BREAK /*LEXTAG:RWL_T_CLOB*/ case 54: YY_RULE_SETUP -#line 262 "rwllexer.l" +#line 263 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_CLOB; } YY_BREAK /*LEXTAG:RWL_T_BLOB*/ case 55: YY_RULE_SETUP -#line 264 "rwllexer.l" +#line 265 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_BLOB; } @@ -2582,7 +2588,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RAW*/ case 56: YY_RULE_SETUP -#line 271 "rwllexer.l" +#line 272 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_RAW; } @@ -2593,7 +2599,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_NCLOB*/ case 57: YY_RULE_SETUP -#line 278 "rwllexer.l" +#line 279 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_NCLOB; @@ -2602,7 +2608,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PUBLIC*/ case 58: YY_RULE_SETUP -#line 283 "rwllexer.l" +#line 284 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_PUBLIC; @@ -2611,7 +2617,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATE*/ case 59: YY_RULE_SETUP -#line 288 "rwllexer.l" +#line 289 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DATE; @@ -2620,7 +2626,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BREAK*/ case 60: YY_RULE_SETUP -#line 293 "rwllexer.l" +#line 294 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_BREAK; } @@ -2628,7 +2634,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_UNSIGNED*/ case 61: YY_RULE_SETUP -#line 297 "rwllexer.l" +#line 298 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_UNSIGNED; @@ -2637,7 +2643,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_HEXADECIMAL*/ case 62: YY_RULE_SETUP -#line 302 "rwllexer.l" +#line 303 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_HEXADECIMAL; @@ -2646,7 +2652,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCTAL*/ case 63: YY_RULE_SETUP -#line 307 "rwllexer.l" +#line 308 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_OCTAL; @@ -2655,7 +2661,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LOBPREFETCH*/ case 64: YY_RULE_SETUP -#line 312 "rwllexer.l" +#line 313 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_LOBPREFETCH; @@ -2664,7 +2670,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PRINTF*/ case 65: YY_RULE_SETUP -#line 317 "rwllexer.l" +#line 318 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_PRINTF; } @@ -2672,7 +2678,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SPRINTF*/ case 66: YY_RULE_SETUP -#line 321 "rwllexer.l" +#line 322 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SPRINTF; } @@ -2680,7 +2686,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FPRINTF*/ case 67: YY_RULE_SETUP -#line 325 "rwllexer.l" +#line 326 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FPRINTF; } @@ -2688,7 +2694,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ENCODE*/ case 68: YY_RULE_SETUP -#line 329 "rwllexer.l" +#line 330 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_ENCODE; @@ -2697,7 +2703,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DECODE*/ case 69: YY_RULE_SETUP -#line 334 "rwllexer.l" +#line 335 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DECODE; @@ -2706,7 +2712,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LEAK*/ case 70: YY_RULE_SETUP -#line 339 "rwllexer.l" +#line 340 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_LEAK; } @@ -2714,19 +2720,19 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ABORT*/ case 71: YY_RULE_SETUP -#line 343 "rwllexer.l" +#line 344 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ABORT; YY_BREAK /*LEXTAG:RWL_T_MODIFY*/ case 72: YY_RULE_SETUP -#line 345 "rwllexer.l" +#line 346 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_MODIFY; YY_BREAK /*LEXTAG:RWL_T_SQL*/ case 73: YY_RULE_SETUP -#line 347 "rwllexer.l" +#line 348 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SQL; } @@ -2734,25 +2740,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IGNOREERROR*/ case 74: YY_RULE_SETUP -#line 351 "rwllexer.l" +#line 352 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IGNOREERROR; YY_BREAK /*LEXTAG:RWL_T_CURSORCACHE*/ case 75: YY_RULE_SETUP -#line 353 "rwllexer.l" +#line 354 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_NOCURSORCACHE*/ case 76: YY_RULE_SETUP -#line 355 "rwllexer.l" +#line 356 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOCURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_CONNECT*/ case 77: YY_RULE_SETUP -#line 357 "rwllexer.l" +#line 358 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2762,7 +2768,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_USERNAME*/ case 78: YY_RULE_SETUP -#line 363 "rwllexer.l" +#line 364 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2772,7 +2778,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PASSWORD*/ case 79: YY_RULE_SETUP -#line 369 "rwllexer.l" +#line 370 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2782,7 +2788,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATABASE*/ case 80: YY_RULE_SETUP -#line 375 "rwllexer.l" +#line 376 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2792,25 +2798,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_REQUESTMARK*/ case 81: YY_RULE_SETUP -#line 381 "rwllexer.l" +#line 382 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REQUESTMARK; YY_BREAK /*LEXTAG:RWL_T_STATEMARK*/ case 82: YY_RULE_SETUP -#line 383 "rwllexer.l" +#line 384 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATEMARK; YY_BREAK /*LEXTAG:RWL_T_RELEASE*/ case 83: YY_RULE_SETUP -#line 385 "rwllexer.l" +#line 386 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RELEASE; YY_BREAK /*LEXTAG:RWL_T_SHARDKEY*/ case 84: YY_RULE_SETUP -#line 387 "rwllexer.l" +#line 388 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_SHARDKEY; @@ -2819,67 +2825,67 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCIPING*/ case 85: YY_RULE_SETUP -#line 392 "rwllexer.l" +#line 393 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCIPING; YY_BREAK /*LEXTAG:RWL_T_COMMIT*/ case 86: YY_RULE_SETUP -#line 394 "rwllexer.l" +#line 395 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COMMIT; YY_BREAK /*LEXTAG:RWL_T_ROLLBACK*/ case 87: YY_RULE_SETUP -#line 396 "rwllexer.l" +#line 397 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROLLBACK; YY_BREAK /*LEXTAG:RWL_T_DEFAULT*/ case 88: YY_RULE_SETUP -#line 398 "rwllexer.l" +#line 399 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFAULT; YY_BREAK /*LEXTAG:RWL_T_AT*/ case 89: YY_RULE_SETUP -#line 400 "rwllexer.l" +#line 401 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AT; YY_BREAK /*LEXTAG:RWL_T_RESULTS*/ case 90: YY_RULE_SETUP -#line 402 "rwllexer.l" +#line 403 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RESULTS; YY_BREAK /*LEXTAG:RWL_T_PROCEDURE*/ case 91: YY_RULE_SETUP -#line 404 "rwllexer.l" +#line 405 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PROCEDURE; YY_BREAK /*LEXTAG:RWL_T_THREADS*/ case 92: YY_RULE_SETUP -#line 406 "rwllexer.l" +#line 407 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THREADS; YY_BREAK /*LEXTAG:RWL_T_GLOBAL*/ case 93: YY_RULE_SETUP -#line 408 "rwllexer.l" +#line 409 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GLOBAL; YY_BREAK /*LEXTAG:RWL_T_PRIVATE*/ case 94: YY_RULE_SETUP -#line 410 "rwllexer.l" +#line 411 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRIVATE; YY_BREAK /*LEXTAG:RWL_T_RUN*/ case 95: YY_RULE_SETUP -#line 412 "rwllexer.l" +#line 413 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -2889,167 +2895,167 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BIND*/ case 96: YY_RULE_SETUP -#line 418 "rwllexer.l" +#line 419 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BIND; YY_BREAK /*LEXTAG:RWL_T_BINDOUT*/ case 97: YY_RULE_SETUP -#line 420 "rwllexer.l" +#line 421 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BINDOUT; YY_BREAK /*LEXTAG:RWL_T_DEFINE*/ case 98: YY_RULE_SETUP -#line 422 "rwllexer.l" +#line 423 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFINE; YY_BREAK /*LEXTAG:RWL_T_START*/ case 99: YY_RULE_SETUP -#line 424 "rwllexer.l" +#line 425 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_START; YY_BREAK /*LEXTAG:RWL_T_COUNT*/ case 100: YY_RULE_SETUP -#line 426 "rwllexer.l" +#line 427 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COUNT; YY_BREAK /*LEXTAG:RWL_T_STOP*/ case 101: YY_RULE_SETUP -#line 428 "rwllexer.l" +#line 429 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STOP; YY_BREAK /*LEXTAG:RWL_T_END*/ case 102: YY_RULE_SETUP -#line 430 "rwllexer.l" +#line 431 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_END; YY_BREAK /*LEXTAG:RWL_T_SESSIONPOOL*/ case 103: YY_RULE_SETUP -#line 432 "rwllexer.l" +#line 433 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SESSIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONPOOL*/ case 104: YY_RULE_SETUP -#line 434 "rwllexer.l" +#line 435 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONCLASS*/ case 105: YY_RULE_SETUP -#line 436 "rwllexer.l" +#line 437 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONCLASS; YY_BREAK /*LEXTAG:RWL_T_DRCP*/ case 106: YY_RULE_SETUP -#line 438 "rwllexer.l" +#line 439 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DRCP; YY_BREAK /*LEXTAG:RWL_T_DEDICATED*/ case 107: YY_RULE_SETUP -#line 440 "rwllexer.l" +#line 441 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEDICATED; YY_BREAK /*LEXTAG:RWL_T_RECONNECT*/ case 108: YY_RULE_SETUP -#line 442 "rwllexer.l" +#line 443 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RECONNECT; YY_BREAK /*LEXTAG:RWL_T_UNIFORM*/ case 109: YY_RULE_SETUP -#line 444 "rwllexer.l" +#line 445 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_UNIFORM; YY_BREAK /*LEXTAG:RWL_T_NORMALRANDOM*/ case 110: YY_RULE_SETUP -#line 446 "rwllexer.l" +#line 447 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NORMALRANDOM; YY_BREAK /*LEXTAG:RWL_T_LOG*/ case 111: YY_RULE_SETUP -#line 448 "rwllexer.l" +#line 449 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LOG; YY_BREAK /*LEXTAG:RWL_T_EXP*/ case 112: YY_RULE_SETUP -#line 450 "rwllexer.l" +#line 451 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EXP; YY_BREAK /*LEXTAG:RWL_T_CEIL*/ case 113: YY_RULE_SETUP -#line 452 "rwllexer.l" +#line 453 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CEIL; YY_BREAK /*LEXTAG:RWL_T_TRUNC*/ case 114: YY_RULE_SETUP -#line 454 "rwllexer.l" +#line 455 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_TRUNC; YY_BREAK /*LEXTAG:RWL_T_FLOOR*/ case 115: YY_RULE_SETUP -#line 456 "rwllexer.l" +#line 457 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FLOOR; YY_BREAK /*LEXTAG:RWL_T_ROUND*/ case 116: YY_RULE_SETUP -#line 458 "rwllexer.l" +#line 459 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROUND; YY_BREAK /*LEXTAG:RWL_T_STATISTICS*/ case 117: YY_RULE_SETUP -#line 460 "rwllexer.l" +#line 461 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICS; YY_BREAK /*LEXTAG:RWL_T_STATISTICSONLY*/ case 118: YY_RULE_SETUP -#line 462 "rwllexer.l" +#line 463 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICSONLY; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 119: YY_RULE_SETUP -#line 464 "rwllexer.l" +#line 465 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOSTATISTICS; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 120: YY_RULE_SETUP -#line 466 "rwllexer.l" +#line 467 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SQRT; YY_BREAK case 121: YY_RULE_SETUP -#line 467 "rwllexer.l" +#line 468 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SIN; YY_BREAK case 122: YY_RULE_SETUP -#line 468 "rwllexer.l" +#line 469 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COS; YY_BREAK /*LEXTAG:RWL_T_INSTRB*/ case 123: YY_RULE_SETUP -#line 470 "rwllexer.l" +#line 471 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "instr", "instrb"); if (!rwm->ifdirbit) return RWL_T_INSTRB; @@ -3057,13 +3063,13 @@ YY_RULE_SETUP YY_BREAK case 124: YY_RULE_SETUP -#line 474 "rwllexer.l" +#line 475 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INSTRB; YY_BREAK /*LEXTAG:RWL_T_SUBSTRB*/ case 125: YY_RULE_SETUP -#line 476 "rwllexer.l" +#line 477 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "substr", "substrb"); if (!rwm->ifdirbit) return RWL_T_SUBSTRB; @@ -3072,13 +3078,13 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SUBSTRB*/ case 126: YY_RULE_SETUP -#line 481 "rwllexer.l" +#line 482 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUBSTRB; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 127: YY_RULE_SETUP -#line 483 "rwllexer.l" +#line 484 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "length", "lengthb"); if (!rwm->ifdirbit) return RWL_T_LENGTHB; @@ -3087,50 +3093,50 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_GETENV*/ case 128: YY_RULE_SETUP -#line 488 "rwllexer.l" +#line 489 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETENV; YY_BREAK /*LEXTAG:RWL_T_SYSTEM*/ case 129: YY_RULE_SETUP -#line 490 "rwllexer.l" +#line 491 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SYSTEM; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 130: YY_RULE_SETUP -#line 492 "rwllexer.l" +#line 493 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LENGTHB; YY_BREAK /*LEXTAG:RWL_T_ERLANG*/ case 131: -#line 495 "rwllexer.l" +#line 496 "rwllexer.l" case 132: YY_RULE_SETUP -#line 495 "rwllexer.l" +#line 496 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 133: YY_RULE_SETUP -#line 497 "rwllexer.l" +#line 498 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG2; YY_BREAK /*LEXTAG:RWL_T_ERLANGK*/ case 134: YY_RULE_SETUP -#line 499 "rwllexer.l" +#line 500 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANGK; YY_BREAK /*LEXTAG:RWL_T_ACCESS*/ case 135: YY_RULE_SETUP -#line 501 "rwllexer.l" +#line 502 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ACCESS; YY_BREAK case 136: YY_RULE_SETUP -#line 502 "rwllexer.l" +#line 503 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3139,7 +3145,7 @@ YY_RULE_SETUP YY_BREAK case 137: YY_RULE_SETUP -#line 507 "rwllexer.l" +#line 508 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3149,127 +3155,139 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RUNSECONDS*/ case 138: YY_RULE_SETUP -#line 513 "rwllexer.l" +#line 514 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RUNSECONDS; YY_BREAK /*LEXTAG:RWL_T_EPOCHSECONDS*/ case 139: YY_RULE_SETUP -#line 515 "rwllexer.l" +#line 516 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EPOCHSECONDS; YY_BREAK -/*LEXTAG:RWL_T_GETRUSAGE*/ +/*LEXTAG:RWL_T_DBSECONDS*/ case 140: YY_RULE_SETUP -#line 517 "rwllexer.l" +#line 518 "rwllexer.l" +if (!rwm->ifdirbit) return RWL_T_DBSECONDS; + YY_BREAK +/*LEXTAG:RWL_T_OCISECONDS*/ +case 141: +YY_RULE_SETUP +#line 520 "rwllexer.l" +if (!rwm->ifdirbit) return RWL_T_OCISECONDS; + YY_BREAK +/*LEXTAG:RWL_T_GETRUSAGE*/ +case 142: +YY_RULE_SETUP +#line 522 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETRUSAGE; YY_BREAK /*LEXTAG:RWL_T_DOUBLE*/ -case 141: +case 143: YY_RULE_SETUP -#line 519 "rwllexer.l" +#line 524 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOUBLE; YY_BREAK /*LEXTAG:RWL_T_INTEGER*/ -case 142: +case 144: YY_RULE_SETUP -#line 521 "rwllexer.l" +#line 526 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INTEGER; YY_BREAK /*LEXTAG:RWL_T_STRING*/ -case 143: +case 145: YY_RULE_SETUP -#line 523 "rwllexer.l" +#line 528 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STRING; YY_BREAK /*LEXTAG:RWL_T_RANDOM*/ -case 144: +case 146: YY_RULE_SETUP -#line 525 "rwllexer.l" +#line 530 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RANDOM; YY_BREAK /*LEXTAG:RWL_T_ARRAY*/ -case 145: +case 147: YY_RULE_SETUP -#line 527 "rwllexer.l" +#line 532 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ARRAY; YY_BREAK /*LEXTAG:RWL_T_FILE*/ -case 146: +case 148: YY_RULE_SETUP -#line 529 "rwllexer.l" +#line 534 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FILE; YY_BREAK /*LEXTAG:RWL_T_WRITE*/ -case 147: +case 149: YY_RULE_SETUP -#line 531 "rwllexer.l" +#line 536 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITE; YY_BREAK /*LEXTAG:RWL_T_WRITELINE*/ -case 148: +case 150: YY_RULE_SETUP -#line 533 "rwllexer.l" +#line 538 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITELINE; YY_BREAK /*LEXTAG:RWL_T_READLINE*/ -case 149: +case 151: YY_RULE_SETUP -#line 535 "rwllexer.l" +#line 540 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_READLINE; YY_BREAK /*LEXTAG:RWL_T_REGEX*/ -case 150: +case 152: YY_RULE_SETUP -#line 537 "rwllexer.l" +#line 542 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEX; YY_BREAK /*LEXTAG:RWL_T_REGEXSUB*/ -case 151: +case 153: YY_RULE_SETUP -#line 539 "rwllexer.l" +#line 544 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUB; YY_BREAK /*LEXTAG:RWL_T_REGEXSUBG*/ -case 152: +case 154: YY_RULE_SETUP -#line 541 "rwllexer.l" +#line 546 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUBG; YY_BREAK /*LEXTAG:RWL_T_REGEXTRACT*/ -case 153: +case 155: YY_RULE_SETUP -#line 543 "rwllexer.l" +#line 548 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXTRACT; YY_BREAK /*LEXTAG:RWL_T_FFLUSH*/ -case 154: +case 156: YY_RULE_SETUP -#line 545 "rwllexer.l" +#line 550 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FFLUSH; YY_BREAK /*LEXTAG:RWL_T_PRINT*/ -case 155: +case 157: YY_RULE_SETUP -#line 547 "rwllexer.l" +#line 552 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINT; YY_BREAK /*LEXTAG:RWL_T_PRINTLINE*/ -case 156: +case 158: YY_RULE_SETUP -#line 549 "rwllexer.l" +#line 554 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTLINE; YY_BREAK /*LEXTAG:RWL_T_PRINTVAR*/ -case 157: +case 159: YY_RULE_SETUP -#line 551 "rwllexer.l" +#line 556 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTVAR; YY_BREAK /*LEXTAG:RWL_T_IF*/ -case 158: +case 160: YY_RULE_SETUP -#line 553 "rwllexer.l" +#line 558 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3277,63 +3295,63 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_WHEN*/ -case 159: +case 161: YY_RULE_SETUP -#line 559 "rwllexer.l" +#line 564 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHEN; YY_BREAK /*LEXTAG:RWL_T_THEN*/ -case 160: +case 162: YY_RULE_SETUP -#line 561 "rwllexer.l" +#line 566 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THEN; YY_BREAK /*LEXTAG:RWL_T_ELSE*/ -case 161: +case 163: YY_RULE_SETUP -#line 563 "rwllexer.l" +#line 568 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSE; YY_BREAK /*LEXTAG:RWL_T_ELSEIF*/ -case 162: +case 164: YY_RULE_SETUP -#line 565 "rwllexer.l" +#line 570 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSEIF; YY_BREAK /*LEXTAG:RWL_T_WHILE*/ -case 163: +case 165: YY_RULE_SETUP -#line 567 "rwllexer.l" +#line 572 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHILE; YY_BREAK /*LEXTAG:RWL_T_WAIT*/ -case 164: +case 166: YY_RULE_SETUP -#line 569 "rwllexer.l" +#line 574 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WAIT; YY_BREAK /*LEXTAG:RWL_T_QUEUE*/ -case 165: +case 167: YY_RULE_SETUP -#line 571 "rwllexer.l" +#line 576 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_QUEUE; YY_BREAK /*LEXTAG:RWL_T_NOQUEUE*/ -case 166: +case 168: YY_RULE_SETUP -#line 573 "rwllexer.l" +#line 578 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOQUEUE; YY_BREAK /*LEXTAG:RWL_T_EVERY*/ -case 167: +case 169: YY_RULE_SETUP -#line 575 "rwllexer.l" +#line 580 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EVERY; YY_BREAK /*LEXTAG:RWL_T_LOOP*/ -case 168: +case 170: YY_RULE_SETUP -#line 577 "rwllexer.l" +#line 582 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3341,27 +3359,27 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_FOR*/ -case 169: +case 171: YY_RULE_SETUP -#line 583 "rwllexer.l" +#line 588 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FOR; YY_BREAK /*LEXTAG:RWL_T_ALL*/ -case 170: +case 172: YY_RULE_SETUP -#line 585 "rwllexer.l" +#line 590 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ALL; YY_BREAK /*LEXTAG:RWL_T_SHIFT*/ -case 171: +case 173: YY_RULE_SETUP -#line 587 "rwllexer.l" +#line 592 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SHIFT; YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ -case 172: +case 174: YY_RULE_SETUP -#line 589 "rwllexer.l" +#line 594 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3369,27 +3387,27 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ -case 173: +case 175: YY_RULE_SETUP -#line 595 "rwllexer.l" +#line 600 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOTDOT; /* see RWL_T_INTEGER_CONST above */ YY_BREAK /*LEXTAG:RWL_T_NULL*/ -case 174: +case 176: YY_RULE_SETUP -#line 597 "rwllexer.l" +#line 602 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NULL; YY_BREAK /*LEXTAG:RWL_T_SUM*/ -case 175: +case 177: YY_RULE_SETUP -#line 599 "rwllexer.l" +#line 604 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUM; YY_BREAK /*LEXTAG:RWL_T_ISNULL*/ -case 176: +case 178: YY_RULE_SETUP -#line 601 "rwllexer.l" +#line 606 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_ISNULL_DEPRECATED); @@ -3397,206 +3415,206 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_IS*/ -case 177: +case 179: YY_RULE_SETUP -#line 607 "rwllexer.l" +#line 612 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IS; YY_BREAK -case 178: +case 180: YY_RULE_SETUP -#line 608 "rwllexer.l" +#line 613 "rwllexer.l" if (!rwm->ifdirbit) return '+'; YY_BREAK -case 179: +case 181: YY_RULE_SETUP -#line 609 "rwllexer.l" +#line 614 "rwllexer.l" if (!rwm->ifdirbit) return '-'; YY_BREAK -case 180: +case 182: YY_RULE_SETUP -#line 610 "rwllexer.l" +#line 615 "rwllexer.l" if (!rwm->ifdirbit) return '*'; YY_BREAK -case 181: +case 183: YY_RULE_SETUP -#line 611 "rwllexer.l" +#line 616 "rwllexer.l" if (!rwm->ifdirbit) return '/'; YY_BREAK -case 182: +case 184: YY_RULE_SETUP -#line 612 "rwllexer.l" +#line 617 "rwllexer.l" if (!rwm->ifdirbit) return '%'; YY_BREAK -case 183: +case 185: YY_RULE_SETUP -#line 613 "rwllexer.l" +#line 618 "rwllexer.l" if (!rwm->ifdirbit) return '('; YY_BREAK -case 184: +case 186: YY_RULE_SETUP -#line 614 "rwllexer.l" +#line 619 "rwllexer.l" if (!rwm->ifdirbit) return ')'; YY_BREAK -case 185: +case 187: YY_RULE_SETUP -#line 615 "rwllexer.l" +#line 620 "rwllexer.l" if (!rwm->ifdirbit) return ','; YY_BREAK -case 186: +case 188: YY_RULE_SETUP -#line 616 "rwllexer.l" +#line 621 "rwllexer.l" if (!rwm->ifdirbit) return '='; YY_BREAK -case 187: +case 189: YY_RULE_SETUP -#line 617 "rwllexer.l" +#line 622 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_EQUALEQUAL, rwm->rwlytext); if (!rwm->ifdirbit) return '='; } YY_BREAK -case 188: +case 190: YY_RULE_SETUP -#line 621 "rwllexer.l" +#line 626 "rwllexer.l" if (!rwm->ifdirbit) return '<'; YY_BREAK -case 189: +case 191: YY_RULE_SETUP -#line 622 "rwllexer.l" +#line 627 "rwllexer.l" if (!rwm->ifdirbit) return '>'; YY_BREAK -case 190: +case 192: YY_RULE_SETUP -#line 623 "rwllexer.l" +#line 628 "rwllexer.l" if (!rwm->ifdirbit) return '!'; YY_BREAK -case 191: +case 193: YY_RULE_SETUP -#line 624 "rwllexer.l" +#line 629 "rwllexer.l" if (!rwm->ifdirbit) return '?'; YY_BREAK -case 192: +case 194: YY_RULE_SETUP -#line 625 "rwllexer.l" +#line 630 "rwllexer.l" if (!rwm->ifdirbit) return ':'; YY_BREAK /*LEXTAG:RWL_T_NOT*/ -case 193: +case 195: YY_RULE_SETUP -#line 627 "rwllexer.l" +#line 632 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOT; YY_BREAK /*LEXTAG:RWL_T_AND*/ -case 194: +case 196: YY_RULE_SETUP -#line 629 "rwllexer.l" +#line 634 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AND; YY_BREAK /*LEXTAG:RWL_T_BETWEEN*/ -case 195: +case 197: YY_RULE_SETUP -#line 631 "rwllexer.l" +#line 636 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BETWEEN; YY_BREAK /*LEXTAG:RWL_T_OR*/ -case 196: +case 198: YY_RULE_SETUP -#line 633 "rwllexer.l" +#line 638 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OR; YY_BREAK /*LEXTAG:RWL_T_LESSEQ*/ -case 197: +case 199: YY_RULE_SETUP -#line 635 "rwllexer.l" +#line 640 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LESSEQ; YY_BREAK /*LEXTAG:RWL_T_GREATEQ*/ -case 198: +case 200: YY_RULE_SETUP -#line 637 "rwllexer.l" +#line 642 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GREATEQ; YY_BREAK /*LEXTAG:RWL_T_RSHIFTASSIGN*/ -case 199: +case 201: YY_RULE_SETUP -#line 639 "rwllexer.l" +#line 644 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RSHIFTASSIGN; YY_BREAK /*LEXTAG:RWL_T_NOTEQ*/ -case 200: +case 202: YY_RULE_SETUP -#line 641 "rwllexer.l" +#line 646 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK -case 201: +case 203: YY_RULE_SETUP -#line 642 "rwllexer.l" +#line 647 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK /*LEXTAG:RWL_T_ASSIGN*/ -case 202: +case 204: YY_RULE_SETUP -#line 644 "rwllexer.l" +#line 649 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASSIGN; YY_BREAK /*LEXTAG:RWL_T_ASNADD*/ -case 203: +case 205: YY_RULE_SETUP -#line 646 "rwllexer.l" +#line 651 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNADD; YY_BREAK /*LEXTAG:RWL_T_ASNSUB*/ -case 204: +case 206: YY_RULE_SETUP -#line 648 "rwllexer.l" +#line 653 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNSUB; YY_BREAK /*LEXTAG:RWL_T_CONCAT*/ -case 205: +case 207: YY_RULE_SETUP -#line 650 "rwllexer.l" +#line 655 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONCAT; YY_BREAK /*LEXTAG:RWL_T_PIPETO*/ -case 206: +case 208: YY_RULE_SETUP -#line 652 "rwllexer.l" +#line 657 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPETO; YY_BREAK /*LEXTAG:RWL_T_PIPEFROM*/ -case 207: +case 209: YY_RULE_SETUP -#line 654 "rwllexer.l" +#line 659 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPEFROM; YY_BREAK /*LEXTAG:RWL_T_APPEND*/ -case 208: +case 210: YY_RULE_SETUP -#line 656 "rwllexer.l" +#line 661 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_APPEND; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2B*/ -case 209: +case 211: YY_RULE_SETUP -#line 658 "rwllexer.l" +#line 663 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2B; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2BB*/ -case 210: +case 212: YY_RULE_SETUP -#line 660 "rwllexer.l" +#line 665 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2BB; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ -case 211: +case 213: YY_RULE_SETUP -#line 662 "rwllexer.l" +#line 667 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SERVERRELEASE; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ -case 212: +case 214: YY_RULE_SETUP -#line 664 "rwllexer.l" +#line 669 "rwllexer.l" { # ifndef RWL_USE_SQL_ID rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3605,25 +3623,25 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_OPENSESSIONCOUNT*/ -case 213: +case 215: YY_RULE_SETUP -#line 671 "rwllexer.l" +#line 676 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_OPENSESSIONCOUNT; } YY_BREAK /*LEXTAG:RWL_T_ACTIVESESSIONCOUNT*/ -case 214: +case 216: YY_RULE_SETUP -#line 675 "rwllexer.l" +#line 680 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_ACTIVESESSIONCOUNT; } YY_BREAK /*LEXTAG:RWL_T_QUERYNOTIFICATION*/ -case 215: +case 217: YY_RULE_SETUP -#line 679 "rwllexer.l" +#line 684 "rwllexer.l" { #ifndef RWL_USE_CQN rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3632,60 +3650,60 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_ATAN2*/ -case 216: +case 218: YY_RULE_SETUP -#line 686 "rwllexer.l" +#line 691 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ATAN2; YY_BREAK -case 217: -#line 689 "rwllexer.l" -case 218: -#line 690 "rwllexer.l" case 219: -#line 691 "rwllexer.l" +#line 694 "rwllexer.l" case 220: +#line 695 "rwllexer.l" +case 221: +#line 696 "rwllexer.l" +case 222: YY_RULE_SETUP -#line 691 "rwllexer.l" +#line 696 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); // return something so compilation continues if (!rwm->ifdirbit) return '+'; } YY_BREAK -case 221: -#line 698 "rwllexer.l" -case 222: +case 223: +#line 703 "rwllexer.l" +case 224: YY_RULE_SETUP -#line 698 "rwllexer.l" +#line 703 "rwllexer.l" { // note that "--" is the beginning of RWL_T_SQL_TEXT rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); } YY_BREAK -case 223: -#line 703 "rwllexer.l" -case 224: -#line 704 "rwllexer.l" case 225: +#line 708 "rwllexer.l" +case 226: +#line 709 "rwllexer.l" +case 227: YY_RULE_SETUP -#line 704 "rwllexer.l" +#line 709 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); // return something so compilation continues if (!rwm->ifdirbit) return RWL_T_ASNADD; } YY_BREAK -case 226: -#line 711 "rwllexer.l" -case 227: -#line 712 "rwllexer.l" case 228: -#line 713 "rwllexer.l" +#line 716 "rwllexer.l" case 229: -#line 714 "rwllexer.l" +#line 717 "rwllexer.l" case 230: +#line 718 "rwllexer.l" +case 231: +#line 719 "rwllexer.l" +case 232: YY_RULE_SETUP -#line 714 "rwllexer.l" +#line 719 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3698,9 +3716,9 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_IDENTIFIER*/ -case 231: +case 233: YY_RULE_SETUP -#line 726 "rwllexer.l" +#line 731 "rwllexer.l" { /* previnam is used when the parser has been doing @@ -3718,9 +3736,9 @@ YY_RULE_SETUP } } YY_BREAK -case 232: +case 234: YY_RULE_SETUP -#line 743 "rwllexer.l" +#line 748 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3738,9 +3756,9 @@ YY_RULE_SETUP } } YY_BREAK -case 233: +case 235: YY_RULE_SETUP -#line 760 "rwllexer.l" +#line 765 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3751,9 +3769,9 @@ YY_RULE_SETUP } } YY_BREAK -case 234: +case 236: YY_RULE_SETUP -#line 770 "rwllexer.l" +#line 775 "rwllexer.l" { text *env = rwlgetenv((text *)rwm->rwlytext+1); if (!env) @@ -3775,20 +3793,20 @@ YY_RULE_SETUP if (!rwm->ifdirbit) return RWL_T_STRING_CONST; } YY_BREAK -case 235: +case 237: YY_RULE_SETUP -#line 792 "rwllexer.l" +#line 797 "rwllexer.l" if (!rwm->ifdirbit) return ';'; YY_BREAK -case 236: -#line 795 "rwllexer.l" -case 237: -#line 796 "rwllexer.l" case 238: -#line 797 "rwllexer.l" +#line 800 "rwllexer.l" case 239: +#line 801 "rwllexer.l" +case 240: +#line 802 "rwllexer.l" +case 241: YY_RULE_SETUP -#line 797 "rwllexer.l" +#line 802 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3801,17 +3819,17 @@ YY_RULE_SETUP } YY_BREAK -case 240: +case 242: YY_RULE_SETUP -#line 809 "rwllexer.l" +#line 814 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); } YY_BREAK -case 241: +case 243: YY_RULE_SETUP -#line 814 "rwllexer.l" +#line 819 "rwllexer.l" { // This is the documented syntax. Note that there is // no simple way to allow having $if and $then on separate // lines @@ -3829,16 +3847,16 @@ YY_RULE_SETUP } YY_BREAK -case 242: +case 244: YY_RULE_SETUP -#line 831 "rwllexer.l" +#line 836 "rwllexer.l" { // this only happens if $if and $then aren't on the same line rwlzparsestring(rwm, (text *) "0;"); // behave like $if 0 $then would } YY_BREAK -case 243: +case 245: YY_RULE_SETUP -#line 835 "rwllexer.l" +#line 840 "rwllexer.l" { // This was the original syntax for $if which was // $if: ; // i.e. with the expression between : and ;. @@ -3857,9 +3875,9 @@ YY_RULE_SETUP } YY_BREAK -case 244: +case 246: YY_RULE_SETUP -#line 853 "rwllexer.l" +#line 858 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "else"); @@ -3878,9 +3896,9 @@ YY_RULE_SETUP } YY_BREAK -case 245: +case 247: YY_RULE_SETUP -#line 871 "rwllexer.l" +#line 876 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "endif"); @@ -3896,9 +3914,9 @@ YY_RULE_SETUP } YY_BREAK -case 246: +case 248: YY_RULE_SETUP -#line 886 "rwllexer.l" +#line 891 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS); // all set in tflags as tfalgs HAS been copied from mflags @@ -3906,167 +3924,167 @@ if (!rwm->ifdirbit) { bis(rwm->mxq->tflags, RWL_P_STATISTICS); } YY_BREAK -case 247: +case 249: YY_RULE_SETUP -#line 893 "rwllexer.l" +#line 898 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); rwm->histbucks = RWL_MAX_HIST_BUCK; } YY_BREAK -case 248: +case 250: YY_RULE_SETUP -#line 899 "rwllexer.l" +#line 904 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); rwm->histbucks = RWL_MAX_HIST_BUCK; } YY_BREAK -case 249: +case 251: YY_RULE_SETUP -#line 905 "rwllexer.l" +#line 910 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTION); } YY_BREAK -case 250: +case 252: YY_RULE_SETUP -#line 909 "rwllexer.l" +#line 914 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK -case 251: +case 253: YY_RULE_SETUP -#line 912 "rwllexer.l" +#line 917 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK -case 252: +case 254: YY_RULE_SETUP -#line 916 "rwllexer.l" +#line 921 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK -case 253: +case 255: YY_RULE_SETUP -#line 920 "rwllexer.l" +#line 925 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK -case 254: +case 256: YY_RULE_SETUP -#line 924 "rwllexer.l" +#line 929 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK -case 255: +case 257: YY_RULE_SETUP -#line 928 "rwllexer.l" +#line 933 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK -case 256: +case 258: YY_RULE_SETUP -#line 932 "rwllexer.l" +#line 937 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK -case 257: +case 259: YY_RULE_SETUP -#line 935 "rwllexer.l" +#line 940 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK -case 258: +case 260: YY_RULE_SETUP -#line 939 "rwllexer.l" +#line 944 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK -case 259: +case 261: YY_RULE_SETUP -#line 942 "rwllexer.l" +#line 947 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK -case 260: +case 262: YY_RULE_SETUP -#line 946 "rwllexer.l" +#line 951 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK -case 261: +case 263: YY_RULE_SETUP -#line 949 "rwllexer.l" +#line 954 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK -case 262: +case 264: YY_RULE_SETUP -#line 953 "rwllexer.l" +#line 958 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK -case 263: +case 265: YY_RULE_SETUP -#line 956 "rwllexer.l" +#line 961 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK -case 264: +case 266: YY_RULE_SETUP -#line 960 "rwllexer.l" +#line 965 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK -case 265: +case 267: YY_RULE_SETUP -#line 963 "rwllexer.l" +#line 968 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK -case 266: +case 268: YY_RULE_SETUP -#line 967 "rwllexer.l" +#line 972 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_STOP; } YY_BREAK -case 267: +case 269: YY_RULE_SETUP -#line 971 "rwllexer.l" +#line 976 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_BREAK; } YY_BREAK -case 268: +case 270: YY_RULE_SETUP -#line 974 "rwllexer.l" +#line 979 "rwllexer.l" { if (!rwm->ifdirbit) rwlbreaknow = 0; } YY_BREAK -case 269: +case 271: YY_RULE_SETUP -#line 978 "rwllexer.l" +#line 983 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4074,55 +4092,55 @@ YY_RULE_SETUP } } YY_BREAK -case 270: +case 272: YY_RULE_SETUP -#line 985 "rwllexer.l" +#line 990 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK -case 271: +case 273: YY_RULE_SETUP -#line 988 "rwllexer.l" +#line 993 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK -case 272: +case 274: YY_RULE_SETUP -#line 992 "rwllexer.l" +#line 997 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK -case 273: +case 275: YY_RULE_SETUP -#line 996 "rwllexer.l" +#line 1001 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK -case 274: +case 276: YY_RULE_SETUP -#line 1000 "rwllexer.l" +#line 1005 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK -case 275: +case 277: YY_RULE_SETUP -#line 1004 "rwllexer.l" +#line 1009 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK -case 276: -/* rule 276 can match eol */ -#line 1009 "rwllexer.l" -case 277: -/* rule 277 can match eol */ +case 278: +/* rule 278 can match eol */ +#line 1014 "rwllexer.l" +case 279: +/* rule 279 can match eol */ YY_RULE_SETUP -#line 1009 "rwllexer.l" +#line 1014 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) // not while generating { @@ -4288,9 +4306,9 @@ YY_RULE_SETUP } } YY_BREAK -case 278: +case 280: YY_RULE_SETUP -#line 1174 "rwllexer.l" +#line 1179 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4301,9 +4319,9 @@ YY_RULE_SETUP } } YY_BREAK -case 279: +case 281: YY_RULE_SETUP -#line 1184 "rwllexer.l" +#line 1189 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -4315,9 +4333,9 @@ YY_RULE_SETUP } } YY_BREAK -case 280: +case 282: YY_RULE_SETUP -#line 1195 "rwllexer.l" +#line 1200 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4328,9 +4346,9 @@ YY_RULE_SETUP } } YY_BREAK -case 281: +case 283: YY_RULE_SETUP -#line 1205 "rwllexer.l" +#line 1210 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4341,9 +4359,9 @@ YY_RULE_SETUP } } YY_BREAK -case 282: +case 284: YY_RULE_SETUP -#line 1215 "rwllexer.l" +#line 1220 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4352,17 +4370,17 @@ YY_RULE_SETUP } } YY_BREAK -case 283: +case 285: YY_RULE_SETUP -#line 1223 "rwllexer.l" +#line 1228 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_OERSTATS); } YY_BREAK -case 284: +case 286: YY_RULE_SETUP -#line 1228 "rwllexer.l" +#line 1233 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4376,9 +4394,9 @@ YY_RULE_SETUP } } YY_BREAK -case 285: +case 287: YY_RULE_SETUP -#line 1241 "rwllexer.l" +#line 1246 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4392,9 +4410,9 @@ YY_RULE_SETUP } } YY_BREAK -case 286: +case 288: YY_RULE_SETUP -#line 1254 "rwllexer.l" +#line 1259 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4410,9 +4428,9 @@ YY_RULE_SETUP } } YY_BREAK -case 287: +case 289: YY_RULE_SETUP -#line 1269 "rwllexer.l" +#line 1274 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4421,9 +4439,9 @@ YY_RULE_SETUP } } YY_BREAK -case 288: +case 290: YY_RULE_SETUP -#line 1277 "rwllexer.l" +#line 1282 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4432,9 +4450,9 @@ YY_RULE_SETUP } } YY_BREAK -case 289: +case 291: YY_RULE_SETUP -#line 1285 "rwllexer.l" +#line 1290 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4443,9 +4461,9 @@ YY_RULE_SETUP } } YY_BREAK -case 290: +case 292: YY_RULE_SETUP -#line 1293 "rwllexer.l" +#line 1298 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4453,9 +4471,9 @@ YY_RULE_SETUP } } YY_BREAK -case 291: +case 293: YY_RULE_SETUP -#line 1299 "rwllexer.l" +#line 1304 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4463,9 +4481,9 @@ YY_RULE_SETUP } } YY_BREAK -case 292: +case 294: YY_RULE_SETUP -#line 1305 "rwllexer.l" +#line 1310 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4474,9 +4492,9 @@ YY_RULE_SETUP } } YY_BREAK -case 293: +case 295: YY_RULE_SETUP -#line 1312 "rwllexer.l" +#line 1317 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4485,9 +4503,9 @@ YY_RULE_SETUP } } YY_BREAK -case 294: +case 296: YY_RULE_SETUP -#line 1319 "rwllexer.l" +#line 1324 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4495,9 +4513,9 @@ YY_RULE_SETUP } } YY_BREAK -case 295: +case 297: YY_RULE_SETUP -#line 1325 "rwllexer.l" +#line 1330 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4505,9 +4523,9 @@ YY_RULE_SETUP } } YY_BREAK -case 296: +case 298: YY_RULE_SETUP -#line 1332 "rwllexer.l" +#line 1337 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4515,41 +4533,41 @@ YY_RULE_SETUP } } YY_BREAK -case 297: +case 299: YY_RULE_SETUP -#line 1339 "rwllexer.l" +#line 1344 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_RECON1017); } YY_BREAK -case 298: +case 300: YY_RULE_SETUP -#line 1344 "rwllexer.l" +#line 1349 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_ON; } YY_BREAK -case 299: +case 301: YY_RULE_SETUP -#line 1349 "rwllexer.l" +#line 1354 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_OFF; } YY_BREAK -case 300: +case 302: YY_RULE_SETUP -#line 1354 "rwllexer.l" +#line 1359 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_WARN; } YY_BREAK -case 301: +case 303: YY_RULE_SETUP -#line 1359 "rwllexer.l" +#line 1364 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4564,9 +4582,9 @@ YY_RULE_SETUP } } YY_BREAK -case 302: +case 304: YY_RULE_SETUP -#line 1373 "rwllexer.l" +#line 1378 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4577,41 +4595,41 @@ YY_RULE_SETUP } } YY_BREAK -case 303: +case 305: YY_RULE_SETUP -#line 1383 "rwllexer.l" +#line 1388 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLREADLINE); } YY_BREAK -case 304: +case 306: YY_RULE_SETUP -#line 1388 "rwllexer.l" +#line 1393 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLREADLINE); } YY_BREAK -case 305: +case 307: YY_RULE_SETUP -#line 1393 "rwllexer.l" +#line 1398 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLWRITELINE); } YY_BREAK -case 306: +case 308: YY_RULE_SETUP -#line 1398 "rwllexer.l" +#line 1403 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLWRITELINE); } YY_BREAK -case 307: +case 309: YY_RULE_SETUP -#line 1403 "rwllexer.l" +#line 1408 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4620,9 +4638,9 @@ YY_RULE_SETUP } } YY_BREAK -case 308: +case 310: YY_RULE_SETUP -#line 1411 "rwllexer.l" +#line 1416 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4631,9 +4649,9 @@ YY_RULE_SETUP } } YY_BREAK -case 309: +case 311: YY_RULE_SETUP -#line 1419 "rwllexer.l" +#line 1424 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4643,17 +4661,17 @@ YY_RULE_SETUP #endif } YY_BREAK -case 310: +case 312: YY_RULE_SETUP -#line 1428 "rwllexer.l" +#line 1433 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSATIME); } YY_BREAK -case 311: +case 313: YY_RULE_SETUP -#line 1433 "rwllexer.l" +#line 1438 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4663,49 +4681,49 @@ YY_RULE_SETUP #endif } YY_BREAK -case 312: +case 314: YY_RULE_SETUP -#line 1442 "rwllexer.l" +#line 1447 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSDTIME); } YY_BREAK -case 313: +case 315: YY_RULE_SETUP -#line 1447 "rwllexer.l" +#line 1452 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 314: +case 316: YY_RULE_SETUP -#line 1452 "rwllexer.l" +#line 1457 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 315: +case 317: YY_RULE_SETUP -#line 1457 "rwllexer.l" +#line 1462 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 316: +case 318: YY_RULE_SETUP -#line 1462 "rwllexer.l" +#line 1467 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 317: +case 319: YY_RULE_SETUP -#line 1468 "rwllexer.l" +#line 1473 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4713,39 +4731,39 @@ YY_RULE_SETUP } } YY_BREAK -case 318: +case 320: YY_RULE_SETUP -#line 1475 "rwllexer.l" +#line 1480 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CONERROK); } YY_BREAK -case 319: +case 321: YY_RULE_SETUP -#line 1480 "rwllexer.l" +#line 1485 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CONERROK); } YY_BREAK -case 320: +case 322: YY_RULE_SETUP -#line 1485 "rwllexer.l" +#line 1490 "rwllexer.l" { if (!rwm->ifdirbit) rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+6),1 /* warn if !warning*/ ); } YY_BREAK -case 321: +case 323: YY_RULE_SETUP -#line 1489 "rwllexer.l" +#line 1494 "rwllexer.l" { rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+12),1 /* warn if !warning*/ ); } YY_BREAK -case 322: +case 324: YY_RULE_SETUP -#line 1493 "rwllexer.l" +#line 1498 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; newval = (ub4)rwlatoi(rwm->rwlytext+11) + 1; //+1 for the return value @@ -4760,9 +4778,9 @@ if (!rwm->ifdirbit) { } YY_BREAK -case 323: +case 325: YY_RULE_SETUP -#line 1507 "rwllexer.l" +#line 1512 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4778,9 +4796,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxident"); } YY_BREAK -case 324: +case 326: YY_RULE_SETUP -#line 1522 "rwllexer.l" +#line 1527 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4796,9 +4814,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxcode"); } YY_BREAK -case 325: +case 327: YY_RULE_SETUP -#line 1537 "rwllexer.l" +#line 1542 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4814,25 +4832,25 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "readbuffer"); } YY_BREAK -case 326: +case 328: YY_RULE_SETUP -#line 1552 "rwllexer.l" +#line 1557 "rwllexer.l" if (!rwm->ifdirbit) { rwm->iformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckiformat(rwm); } YY_BREAK -case 327: +case 329: YY_RULE_SETUP -#line 1556 "rwllexer.l" +#line 1561 "rwllexer.l" if (!rwm->ifdirbit) { rwm->dformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckdformat(rwm); } YY_BREAK -case 328: +case 330: YY_RULE_SETUP -#line 1561 "rwllexer.l" +#line 1566 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+9); bis(rwm->mflags, newdebug); @@ -4844,9 +4862,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 329: +case 331: YY_RULE_SETUP -#line 1572 "rwllexer.l" +#line 1577 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+10); // ub4 newdebug = (ub4) rwlhex2ub8(rwm->rwlytext+10, 2*sizeof(ub4)); @@ -4855,9 +4873,9 @@ if (!rwm->ifdirbit) { bic(rwm->mxq->tflags, newdebug); } YY_BREAK -case 330: +case 332: YY_RULE_SETUP -#line 1580 "rwllexer.l" +#line 1585 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+10,2*sizeof(unsigned short)); @@ -4873,9 +4891,9 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 331: +case 333: YY_RULE_SETUP -#line 1597 "rwllexer.l" +#line 1602 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+12, 2*sizeof(unsigned short)); @@ -4891,11 +4909,11 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 332: -#line 1613 "rwllexer.l" -case 333: +case 334: +#line 1618 "rwllexer.l" +case 335: YY_RULE_SETUP -#line 1613 "rwllexer.l" +#line 1618 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4906,11 +4924,11 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 334: -#line 1624 "rwllexer.l" -case 335: +case 336: +#line 1629 "rwllexer.l" +case 337: YY_RULE_SETUP -#line 1624 "rwllexer.l" +#line 1629 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4921,9 +4939,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 336: +case 338: YY_RULE_SETUP -#line 1634 "rwllexer.l" +#line 1639 "rwllexer.l" if (!rwm->ifdirbit) { { rwm->musymbol = rwlstrdup(rwm, rwm->rwlytext+10); @@ -4931,9 +4949,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 337: +case 339: YY_RULE_SETUP -#line 1641 "rwllexer.l" +#line 1646 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4953,9 +4971,9 @@ YY_RULE_SETUP } } YY_BREAK -case 338: +case 340: YY_RULE_SETUP -#line 1660 "rwllexer.l" +#line 1665 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4967,9 +4985,9 @@ YY_RULE_SETUP } } YY_BREAK -case 339: +case 341: YY_RULE_SETUP -#line 1671 "rwllexer.l" +#line 1676 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4981,10 +4999,10 @@ YY_RULE_SETUP } } YY_BREAK -case 340: -/* rule 340 can match eol */ +case 342: +/* rule 342 can match eol */ YY_RULE_SETUP -#line 1682 "rwllexer.l" +#line 1687 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5015,10 +5033,10 @@ YY_RULE_SETUP } } YY_BREAK -case 341: -/* rule 341 can match eol */ +case 343: +/* rule 343 can match eol */ YY_RULE_SETUP -#line 1712 "rwllexer.l" +#line 1717 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5049,9 +5067,9 @@ YY_RULE_SETUP } } YY_BREAK -case 342: +case 344: YY_RULE_SETUP -#line 1742 "rwllexer.l" +#line 1747 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5062,24 +5080,24 @@ YY_RULE_SETUP } } YY_BREAK -case 343: +case 345: YY_RULE_SETUP -#line 1751 "rwllexer.l" +#line 1756 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 344: +case 346: YY_RULE_SETUP -#line 1754 "rwllexer.l" +#line 1759 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 345: -/* rule 345 can match eol */ +case 347: +/* rule 347 can match eol */ YY_RULE_SETUP -#line 1758 "rwllexer.l" +#line 1763 "rwllexer.l" { rwm->loc.fname = rwlstrdup(rwm, rwlstrchr(rwm->rwlytext,'"')); rwm->loc.fname[rwlstrlen(rwm->loc.fname)-1] = 0; @@ -5088,11 +5106,11 @@ YY_RULE_SETUP rwm->loc.errlin = 0; } YY_BREAK -case 346: -#line 1766 "rwllexer.l" -case 347: +case 348: +#line 1771 "rwllexer.l" +case 349: YY_RULE_SETUP -#line 1766 "rwllexer.l" +#line 1771 "rwllexer.l" { // bad directive char idbuf[100], c; ub4 i; @@ -5133,37 +5151,37 @@ YY_RULE_SETUP { rwm->loc.lineno++; rwm->loc.inpos=0; } } YY_BREAK -case 348: -/* rule 348 can match eol */ +case 350: +/* rule 350 can match eol */ YY_RULE_SETUP -#line 1807 "rwllexer.l" +#line 1812 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 349: -/* rule 349 can match eol */ +case 351: +/* rule 351 can match eol */ YY_RULE_SETUP -#line 1808 "rwllexer.l" +#line 1813 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 350: -/* rule 350 can match eol */ +case 352: +/* rule 352 can match eol */ YY_RULE_SETUP -#line 1809 "rwllexer.l" +#line 1814 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 351: +case 353: YY_RULE_SETUP -#line 1810 "rwllexer.l" +#line 1815 "rwllexer.l" /* nothing */ ; YY_BREAK -case 352: +case 354: YY_RULE_SETUP -#line 1811 "rwllexer.l" +#line 1816 "rwllexer.l" /* nothing */ ; YY_BREAK -case 353: +case 355: YY_RULE_SETUP -#line 1812 "rwllexer.l" +#line 1817 "rwllexer.l" { if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -5178,12 +5196,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII, rwm->loc.inpos, (ub1)rwm->rwlytext[0]); } YY_BREAK -case 354: +case 356: YY_RULE_SETUP -#line 1826 "rwllexer.l" +#line 1831 "rwllexer.l" ECHO; YY_BREAK -#line 5187 "lex.rwly.c" +#line 5205 "lex.rwly.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -5478,7 +5496,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1962 ) + if ( yy_current_state >= 1977 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; @@ -5507,11 +5525,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1962 ) + if ( yy_current_state >= 1977 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 1961); + yy_is_jam = (yy_current_state == 1976); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -6364,7 +6382,7 @@ void rwlyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1826 "rwllexer.l" +#line 1831 "rwllexer.l" diff --git a/src/rwl.h b/src/rwl.h index 4c6b06da..9a313784 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * mkdash 12-aug-2024 - implement dbsec and ocisecond function * mkdash 9-aug-2024 - Update Debugging functionality * bengsig 26-jul-2024 - Avoid unneeded logoff/logon * bengsig 9-jul-2024 - Development 3.1.4 @@ -1516,6 +1517,8 @@ enum rwl_stack_t , RWL_STACK_CONDITIONAL /* ? : */ , RWL_STACK_WINSLASHF2B // rwlwinslashf2b , RWL_STACK_WINSLASHF2BB // rwlwinslashf2bb +, RWL_STACK_DBSECONDS /* dbseconds function */ +, RWL_STACK_OCISECONDS /* ociseconds function */ }; /* parse time evaluation stack diff --git a/src/rwlexprcomp.c b/src/rwlexprcomp.c index 114a8f97..9b6a56b5 100644 --- a/src/rwlexprcomp.c +++ b/src/rwlexprcomp.c @@ -19,6 +19,7 @@ * * History * + * mkdash 12-aug-2024 - implement dbsec and ocisecond function * bengsig 16-apr-2024 - -= * bengsig 27-feb-2024 - winslashf2b functions * bengsig 30-jan-2024 - All includes in rwl.h, use *rand_r functions on Linux @@ -793,6 +794,8 @@ rwl_estack *rwlexprfinish(rwl_main *rwm) // These all return double case RWL_STACK_EPOCHSECONDS: case RWL_STACK_RUNSECONDS: + case RWL_STACK_DBSECONDS: + case RWL_STACK_OCISECONDS: estk[i].evaltype = tstk[i] = RWL_TYPE_DBL; break; diff --git a/src/rwlexpreval.c b/src/rwlexpreval.c index a6926ad1..dd18dda6 100644 --- a/src/rwlexpreval.c +++ b/src/rwlexpreval.c @@ -14,6 +14,7 @@ * * History * + * mkdash 12-aug-2024 - implement dbsec and ocisecond function * bengsig 16-apr-2024 - -= * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 27-feb-2024 - winslashf2b functions @@ -238,6 +239,8 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v case RWL_STACK_SIN: case RWL_STACK_COS: case RWL_STACK_ATAN2: + case RWL_STACK_DBSECONDS: + case RWL_STACK_OCISECONDS: break; case RWL_STACK_END: @@ -397,6 +400,14 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v fprintf(stderr," RUNSECONDS"); break; + case RWL_STACK_DBSECONDS: + fprintf(stderr," DBSECONDS"); + break; + + case RWL_STACK_OCISECONDS: + fprintf(stderr," OCISECONDS"); + break; + case RWL_STACK_SYSTEM: fprintf(stderr," SYSTEM"); break; @@ -625,7 +636,7 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v text xbuf[RWL_PFBUF]; xnum.dval = rwlunixepoch(xev, loc); if (bit(xev->tflags,RWL_THR_DEVAL)) - rwldebugcode(xev->rwm, loc, "at %d: epochseconds= = %.6f", i, xnum.dval); + rwldebugcode(xev->rwm, loc, "at %d: epochseconds = %.6f", i, xnum.dval); xnum.ival = (sb8) floor(xnum.dval); xnum.vtype = RWL_TYPE_DBL; rwlsnpdformat(xev->rwm, xbuf, RWL_PFBUF, xnum.dval); @@ -644,7 +655,7 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v text xbuf[RWL_PFBUF]; xnum.dval = rwlclock(xev, loc); if (bit(xev->tflags,RWL_THR_DEVAL)) - rwldebugcode(xev->rwm, loc, "at %d: runseconds= = %.6f", i, xnum.dval); + rwldebugcode(xev->rwm, loc, "at %d: runseconds = %.6f", i, xnum.dval); xnum.ival = (sb8) floor(xnum.dval); xnum.vtype = RWL_TYPE_DBL; rwlsnpdformat(xev->rwm, xbuf, RWL_PFBUF, xnum.dval); @@ -656,6 +667,44 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v } break; + case RWL_STACK_DBSECONDS: + { + /* time spent in DB */ + rwl_value xnum = RWL_VALUE_ZERO; + text xbuf[RWL_PFBUF]; + xnum.dval = xev->dtimesum; + if (bit(xev->tflags,RWL_THR_DEVAL)) + rwldebugcode(xev->rwm, loc, "at %d: dbseconds = %.6f", i, xnum.dval); + xnum.ival = (sb8) floor(xnum.dval); + xnum.vtype = RWL_TYPE_DBL; + rwlsnpdformat(xev->rwm, xbuf, RWL_PFBUF, xnum.dval); + xnum.sval = (text *)xbuf; + xnum.isnull = 0; + xnum.vsalloc = RWL_SVALLOC_FIX; + xnum.slen = RWL_PFBUF; + rwlcopyvalue(cstak+i, &xnum); + } + break; + + case RWL_STACK_OCISECONDS: + { + /* time spent in OCI layer */ + rwl_value xnum = RWL_VALUE_ZERO; + text xbuf[RWL_PFBUF]; + xnum.dval = xev->otimesum; + if (bit(xev->tflags,RWL_THR_DEVAL)) + rwldebugcode(xev->rwm, loc, "at %d: ociseconds = %.6f", i, xnum.dval); + xnum.ival = (sb8) floor(xnum.dval); + xnum.vtype = RWL_TYPE_DBL; + rwlsnpdformat(xev->rwm, xbuf, RWL_PFBUF, xnum.dval); + xnum.sval = (text *)xbuf; + xnum.isnull = 0; + xnum.vsalloc = RWL_SVALLOC_FIX; + xnum.slen = RWL_PFBUF; + rwlcopyvalue(cstak+i, &xnum); + } + break; + case RWL_STACK_NUM: /* constant on stack, just copy */ rwlcopyvalue(cstak+i, &stk[i].esnum); diff --git a/src/rwllexer.l b/src/rwllexer.l index 20ea364e..cd8fa6d0 100644 --- a/src/rwllexer.l +++ b/src/rwllexer.l @@ -11,6 +11,7 @@ * * History * + * mkdash 12-aug-2024 - implement dbsec and ocisecond function * bengsig 29-jul-2024 - $connecterror:fail * bengsig 4-jun-2024 - $ora01013:break * bengsig 10-may-2023 - $musymbolfromstring directive @@ -513,6 +514,10 @@ "runseconds" if (!rwm->ifdirbit) return RWL_T_RUNSECONDS; /*LEXTAG:RWL_T_EPOCHSECONDS*/ "epochseconds" if (!rwm->ifdirbit) return RWL_T_EPOCHSECONDS; + /*LEXTAG:RWL_T_DBSECONDS*/ +"dbseconds" if (!rwm->ifdirbit) return RWL_T_DBSECONDS; + /*LEXTAG:RWL_T_OCISECONDS*/ +"ociseconds" if (!rwm->ifdirbit) return RWL_T_OCISECONDS; /*LEXTAG:RWL_T_GETRUSAGE*/ "getrusage" if (!rwm->ifdirbit) return RWL_T_GETRUSAGE; /*LEXTAG:RWL_T_DOUBLE*/ diff --git a/src/rwlparser.tab.c b/src/rwlparser.tab.c index 135a9fb0..137deece 100644 --- a/src/rwlparser.tab.c +++ b/src/rwlparser.tab.c @@ -69,7 +69,7 @@ /* Copy the first part of user declarations. */ -#line 155 "rwlparser.y" /* yacc.c:339 */ +#line 156 "rwlparser.y" /* yacc.c:339 */ #include "rwl.h" @@ -120,6 +120,7 @@ static const rwl_yt2txt rwlyt2[] = , {"RWL_T_CURSORCACHE", "'cursorcache'"} , {"RWL_T_DATABASE", "'database'"} , {"RWL_T_DATE", "'date'"} + , {"RWL_T_DBSECONDS", "'dbseconds'"} , {"RWL_T_DECODE", "'decode'"} , {"RWL_T_DEDICATED", "'dedicated'"} , {"RWL_T_DEFAULT", "'default'"} @@ -177,6 +178,7 @@ static const rwl_yt2txt rwlyt2[] = , {"RWL_T_NOTEQ", "'!='"} , {"RWL_T_NULL", "'null'"} , {"RWL_T_OCIPING", "'ociping'"} + , {"RWL_T_OCISECONDS", "'ociseconds'"} , {"RWL_T_OCTAL", "'octal'"} , {"RWL_T_OPENSESSIONCOUNT", "'opensessioncount'"} , {"RWL_T_OR", "'or'"} @@ -366,7 +368,7 @@ static void rwlyerror(rwl_main *rwm, const char *in) rwlcomp(rwlparser_y, RWL_GCCFLAGS) -#line 370 "rwlparser.tab.c" /* yacc.c:339 */ +#line 372 "rwlparser.tab.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -414,159 +416,161 @@ extern int rwlydebug; RWL_T_PASSWORD = 260, RWL_T_DATABASE = 261, RWL_T_EPOCHSECONDS = 262, - RWL_T_PRINT = 263, - RWL_T_PRINTLINE = 264, - RWL_T_PRINTVAR = 265, - RWL_T_SHARDKEY = 266, - RWL_T_SUPERSHK = 267, - RWL_T_PROCEDURE = 268, - RWL_T_BIND = 269, - RWL_T_DEFINE = 270, - RWL_T_STRING = 271, - RWL_T_INTEGER = 272, - RWL_T_END = 273, - RWL_T_FOR = 274, - RWL_T_ARRAY = 275, - RWL_T_DATE = 276, - RWL_T_SQRT = 277, - RWL_T_ACCESS = 278, - RWL_T_REGEX = 279, - RWL_T_REGEXTRACT = 280, - RWL_T_UNIFORM = 281, - RWL_T_ERLANG = 282, - RWL_T_DOTDOT = 283, - RWL_T_DOUBLE = 284, - RWL_T_ERLANG2 = 285, - RWL_T_ERLANGK = 286, - RWL_T_RUN = 287, - RWL_T_THREADS = 288, - RWL_T_RUNSECONDS = 289, - RWL_T_WHILE = 290, - RWL_T_FFLUSH = 291, - RWL_T_READLINE = 292, - RWL_T_RANDOM = 293, - RWL_T_FILE = 294, - RWL_T_WRITE = 295, - RWL_T_WRITELINE = 296, - RWL_T_BINDOUT = 297, - RWL_T_GETRUSAGE = 298, - RWL_T_DRCP = 299, - RWL_T_SESSIONPOOL = 300, - RWL_T_RECONNECT = 301, - RWL_T_DEDICATED = 302, - RWL_T_DEFAULT = 303, - RWL_T_RESULTS = 304, - RWL_T_ASSIGN = 305, - RWL_T_LOOP = 306, - RWL_T_ALL = 307, - RWL_T_NULL = 308, - RWL_T_ISNULL = 309, - RWL_T_SUM = 310, - RWL_T_IS = 311, - RWL_T_NOT = 312, - RWL_T_LESSEQ = 313, - RWL_T_GREATEQ = 314, - RWL_T_NOTEQ = 315, - RWL_T_AND = 316, - RWL_T_OR = 317, - RWL_T_BETWEEN = 318, - RWL_T_CONCAT = 319, - RWL_T_IF = 320, - RWL_T_THEN = 321, - RWL_T_ELSE = 322, - RWL_T_NEVER = 323, - RWL_T_APPEND = 324, - RWL_T_IGNOREERROR = 325, - RWL_T_ELSEIF = 326, - RWL_T_EXECUTE = 327, - RWL_T_WAIT = 328, - RWL_T_COMMIT = 329, - RWL_T_ROLLBACK = 330, - RWL_T_EVERY = 331, - RWL_T_ASNADD = 332, - RWL_T_ASNSUB = 333, - RWL_T_STOP = 334, - RWL_T_START = 335, - RWL_T_COUNT = 336, - RWL_T_AT = 337, - RWL_T_BREAK = 338, - RWL_T_RETURN = 339, - RWL_T_ABORT = 340, - RWL_T_MODIFY = 341, - RWL_T_CURSORCACHE = 342, - RWL_T_NOCURSORCACHE = 343, - RWL_T_LEAK = 344, - RWL_T_SHIFT = 345, - RWL_T_WHEN = 346, - RWL_T_STATISTICS = 347, - RWL_T_NOSTATISTICS = 348, - RWL_T_FUNCTION = 349, - RWL_T_PUBLIC = 350, - RWL_T_OCIPING = 351, - RWL_T_QUEUE = 352, - RWL_T_NOQUEUE = 353, - RWL_T_PRIVATE = 354, - RWL_T_BEGIN = 355, - RWL_T_RELEASE = 356, - RWL_T_SYSTEM = 357, - RWL_T_CLOB = 358, - RWL_T_BLOB = 359, - RWL_T_NCLOB = 360, - RWL_T_READLOB = 361, - RWL_T_WRITELOB = 362, - RWL_T_RAW = 363, - RWL_T_EXIT = 364, - RWL_T_SUBSTR = 365, - RWL_T_SUBSTRB = 366, - RWL_T_LENGTH = 367, - RWL_T_LENGTHB = 368, - RWL_T_SQL_ID = 369, - RWL_T_GETENV = 370, - RWL_T_LOG = 371, - RWL_T_EXP = 372, - RWL_T_ROUND = 373, - RWL_T_ACTIVESESSIONCOUNT = 374, - RWL_T_REQUESTMARK = 375, - RWL_T_SPRINTF = 376, - RWL_T_OPENSESSIONCOUNT = 377, - RWL_T_STATEMARK = 378, - RWL_T_REGEXSUB = 379, - RWL_T_REGEXSUBG = 380, - RWL_T_SERVERRELEASE = 381, - RWL_T_SQL = 382, - RWL_T_SQL_TEXT = 383, - RWL_T_INSTR = 384, - RWL_T_INSTRB = 385, - RWL_T_CONNECTIONPOOL = 386, - RWL_T_CONNECTIONCLASS = 387, - RWL_T_UNSIGNED = 388, - RWL_T_HEXADECIMAL = 389, - RWL_T_OCTAL = 390, - RWL_T_FPRINTF = 391, - RWL_T_ENCODE = 392, - RWL_T_DECODE = 393, - RWL_T_STRING_CONST = 394, - RWL_T_IDENTIFIER = 395, - RWL_T_INTEGER_CONST = 396, - RWL_T_DOUBLE_CONST = 397, - RWL_T_PRINTF = 398, - RWL_T_PIPEFROM = 399, - RWL_T_PIPETO = 400, - RWL_T_RSHIFTASSIGN = 401, - RWL_T_GLOBAL = 402, - RWL_T_QUERYNOTIFICATION = 403, - RWL_T_NORMALRANDOM = 404, - RWL_T_STATISTICSONLY = 405, - RWL_T_CEIL = 406, - RWL_T_TRUNC = 407, - RWL_T_FLOOR = 408, - RWL_T_LOBPREFETCH = 409, - RWL_T_SIN = 410, - RWL_T_COS = 411, - RWL_T_ATAN2 = 412, - RWL_T_WINSLASHF2B = 413, - RWL_T_WINSLASHF2BB = 414, - RWL_T_UMINUS = 415 + RWL_T_DBSECONDS = 263, + RWL_T_PRINT = 264, + RWL_T_PRINTLINE = 265, + RWL_T_PRINTVAR = 266, + RWL_T_SHARDKEY = 267, + RWL_T_SUPERSHK = 268, + RWL_T_OCISECONDS = 269, + RWL_T_PROCEDURE = 270, + RWL_T_BIND = 271, + RWL_T_DEFINE = 272, + RWL_T_STRING = 273, + RWL_T_INTEGER = 274, + RWL_T_END = 275, + RWL_T_FOR = 276, + RWL_T_ARRAY = 277, + RWL_T_DATE = 278, + RWL_T_SQRT = 279, + RWL_T_ACCESS = 280, + RWL_T_REGEX = 281, + RWL_T_REGEXTRACT = 282, + RWL_T_UNIFORM = 283, + RWL_T_ERLANG = 284, + RWL_T_DOTDOT = 285, + RWL_T_DOUBLE = 286, + RWL_T_ERLANG2 = 287, + RWL_T_ERLANGK = 288, + RWL_T_RUN = 289, + RWL_T_THREADS = 290, + RWL_T_RUNSECONDS = 291, + RWL_T_WHILE = 292, + RWL_T_FFLUSH = 293, + RWL_T_READLINE = 294, + RWL_T_RANDOM = 295, + RWL_T_FILE = 296, + RWL_T_WRITE = 297, + RWL_T_WRITELINE = 298, + RWL_T_BINDOUT = 299, + RWL_T_GETRUSAGE = 300, + RWL_T_DRCP = 301, + RWL_T_SESSIONPOOL = 302, + RWL_T_RECONNECT = 303, + RWL_T_DEDICATED = 304, + RWL_T_DEFAULT = 305, + RWL_T_RESULTS = 306, + RWL_T_ASSIGN = 307, + RWL_T_LOOP = 308, + RWL_T_ALL = 309, + RWL_T_NULL = 310, + RWL_T_ISNULL = 311, + RWL_T_SUM = 312, + RWL_T_IS = 313, + RWL_T_NOT = 314, + RWL_T_LESSEQ = 315, + RWL_T_GREATEQ = 316, + RWL_T_NOTEQ = 317, + RWL_T_AND = 318, + RWL_T_OR = 319, + RWL_T_BETWEEN = 320, + RWL_T_CONCAT = 321, + RWL_T_IF = 322, + RWL_T_THEN = 323, + RWL_T_ELSE = 324, + RWL_T_NEVER = 325, + RWL_T_APPEND = 326, + RWL_T_IGNOREERROR = 327, + RWL_T_ELSEIF = 328, + RWL_T_EXECUTE = 329, + RWL_T_WAIT = 330, + RWL_T_COMMIT = 331, + RWL_T_ROLLBACK = 332, + RWL_T_EVERY = 333, + RWL_T_ASNADD = 334, + RWL_T_ASNSUB = 335, + RWL_T_STOP = 336, + RWL_T_START = 337, + RWL_T_COUNT = 338, + RWL_T_AT = 339, + RWL_T_BREAK = 340, + RWL_T_RETURN = 341, + RWL_T_ABORT = 342, + RWL_T_MODIFY = 343, + RWL_T_CURSORCACHE = 344, + RWL_T_NOCURSORCACHE = 345, + RWL_T_LEAK = 346, + RWL_T_SHIFT = 347, + RWL_T_WHEN = 348, + RWL_T_STATISTICS = 349, + RWL_T_NOSTATISTICS = 350, + RWL_T_FUNCTION = 351, + RWL_T_PUBLIC = 352, + RWL_T_OCIPING = 353, + RWL_T_QUEUE = 354, + RWL_T_NOQUEUE = 355, + RWL_T_PRIVATE = 356, + RWL_T_BEGIN = 357, + RWL_T_RELEASE = 358, + RWL_T_SYSTEM = 359, + RWL_T_CLOB = 360, + RWL_T_BLOB = 361, + RWL_T_NCLOB = 362, + RWL_T_READLOB = 363, + RWL_T_WRITELOB = 364, + RWL_T_RAW = 365, + RWL_T_EXIT = 366, + RWL_T_SUBSTR = 367, + RWL_T_SUBSTRB = 368, + RWL_T_LENGTH = 369, + RWL_T_LENGTHB = 370, + RWL_T_SQL_ID = 371, + RWL_T_GETENV = 372, + RWL_T_LOG = 373, + RWL_T_EXP = 374, + RWL_T_ROUND = 375, + RWL_T_ACTIVESESSIONCOUNT = 376, + RWL_T_REQUESTMARK = 377, + RWL_T_SPRINTF = 378, + RWL_T_OPENSESSIONCOUNT = 379, + RWL_T_STATEMARK = 380, + RWL_T_REGEXSUB = 381, + RWL_T_REGEXSUBG = 382, + RWL_T_SERVERRELEASE = 383, + RWL_T_SQL = 384, + RWL_T_SQL_TEXT = 385, + RWL_T_INSTR = 386, + RWL_T_INSTRB = 387, + RWL_T_CONNECTIONPOOL = 388, + RWL_T_CONNECTIONCLASS = 389, + RWL_T_UNSIGNED = 390, + RWL_T_HEXADECIMAL = 391, + RWL_T_OCTAL = 392, + RWL_T_FPRINTF = 393, + RWL_T_ENCODE = 394, + RWL_T_DECODE = 395, + RWL_T_STRING_CONST = 396, + RWL_T_IDENTIFIER = 397, + RWL_T_INTEGER_CONST = 398, + RWL_T_DOUBLE_CONST = 399, + RWL_T_PRINTF = 400, + RWL_T_PIPEFROM = 401, + RWL_T_PIPETO = 402, + RWL_T_RSHIFTASSIGN = 403, + RWL_T_GLOBAL = 404, + RWL_T_QUERYNOTIFICATION = 405, + RWL_T_NORMALRANDOM = 406, + RWL_T_STATISTICSONLY = 407, + RWL_T_CEIL = 408, + RWL_T_TRUNC = 409, + RWL_T_FLOOR = 410, + RWL_T_LOBPREFETCH = 411, + RWL_T_SIN = 412, + RWL_T_COS = 413, + RWL_T_ATAN2 = 414, + RWL_T_WINSLASHF2B = 415, + RWL_T_WINSLASHF2BB = 416, + RWL_T_UMINUS = 417 }; #endif @@ -575,7 +579,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 468 "rwlparser.y" /* yacc.c:355 */ +#line 471 "rwlparser.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -589,7 +593,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 593 "rwlparser.tab.c" /* yacc.c:355 */ +#line 597 "rwlparser.tab.c" /* yacc.c:355 */ }; typedef union RWLYSTYPE RWLYSTYPE; @@ -605,7 +609,7 @@ int rwlyparse (rwl_main *rwm); /* Copy the second part of user declarations. */ -#line 609 "rwlparser.tab.c" /* yacc.c:358 */ +#line 613 "rwlparser.tab.c" /* yacc.c:358 */ #ifdef short # undef short @@ -847,21 +851,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 5515 +#define YYLAST 5787 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 176 +#define YYNTOKENS 178 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 290 /* YYNRULES -- Number of rules. */ -#define YYNRULES 662 +#define YYNRULES 664 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1216 +#define YYNSTATES 1222 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 415 +#define YYMAXUTOK 417 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -873,10 +877,10 @@ 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, 168, 2, 2, 2, 167, 2, 2, - 171, 172, 165, 164, 173, 163, 2, 166, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 175, 170, - 161, 160, 162, 174, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 170, 2, 2, 2, 169, 2, 2, + 173, 174, 167, 166, 175, 165, 2, 168, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 177, 172, + 163, 162, 164, 176, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -911,80 +915,80 @@ static const yytype_uint8 yytranslate[] = 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 169 + 155, 156, 157, 158, 159, 160, 161, 171 }; #if RWLYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 525, 525, 532, 536, 538, 537, 553, 554, 555, - 557, 560, 567, 569, 586, 585, 595, 594, 603, 602, - 612, 611, 621, 626, 635, 636, 640, 639, 646, 651, - 659, 660, 664, 663, 671, 670, 743, 748, 749, 761, - 762, 765, 766, 769, 779, 784, 792, 805, 836, 847, - 859, 858, 874, 884, 883, 900, 910, 920, 930, 943, - 944, 947, 955, 965, 976, 991, 992, 1004, 1006, 1005, - 1018, 1019, 1025, 1024, 1052, 1059, 1066, 1067, 1071, 1072, - 1075, 1088, 1087, 1139, 1151, 1150, 1171, 1176, 1183, 1188, - 1195, 1280, 1281, 1285, 1294, 1295, 1298, 1299, 1300, 1304, - 1305, 1309, 1337, 1339, 1341, 1343, 1358, 1363, 1368, 1376, - 1377, 1379, 1381, 1400, 1402, 1401, 1417, 1416, 1432, 1431, - 1447, 1490, 1504, 1518, 1532, 1544, 1548, 1549, 1550, 1551, - 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, - 1562, 1564, 1566, 1568, 1570, 1571, 1574, 1577, 1578, 1582, - 1587, 1588, 1589, 1591, 1593, 1594, 1596, 1607, 1618, 1622, - 1628, 1632, 1638, 1642, 1648, 1653, 1657, 1665, 1663, 1690, - 1696, 1702, 1706, 1707, 1711, 1712, 1716, 1721, 1722, 1723, - 1728, 1729, 1730, 1731, 1735, 1736, 1737, 1738, 1742, 1743, - 1744, 1748, 1749, 1750, 1751, 1752, 1753, 1757, 1758, 1759, - 1763, 1765, 1764, 1782, 1784, 1783, 1799, 1801, 1810, 1800, - 1825, 1826, 1830, 1831, 1841, 1842, 1846, 1854, 1857, 1856, - 1863, 1866, 1865, 1869, 1871, 1873, 1875, 1878, 1884, 1913, - 1928, 1941, 1943, 1944, 1948, 1950, 1954, 1956, 1961, 1960, - 1967, 1966, 1978, 1983, 1982, 1990, 1994, 2018, 2044, 2042, - 2070, 2068, 2178, 2187, 2186, 2190, 2189, 2194, 2200, 2199, - 2209, 2208, 2217, 2230, 2235, 2229, 2263, 2271, 2276, 2270, - 2305, 2312, 2328, 2327, 2340, 2356, 2367, 2373, 2379, 2391, - 2403, 2413, 2423, 2422, 2435, 2441, 2439, 2557, 2564, 2580, - 2582, 2584, 2584, 2585, 2588, 2590, 2592, 2589, 2594, 2598, - 2597, 2712, 2745, 2753, 2778, 2752, 2829, 2830, 2831, 2832, - 2834, 2835, 2843, 2844, 2852, 2853, 2862, 2865, 2864, 2873, - 2875, 2883, 2891, 2900, 2908, 2910, 2917, 2918, 2929, 2965, - 3002, 3043, 3060, 3042, 3101, 3108, 3115, 3114, 3146, 3147, - 3155, 3154, 3202, 3204, 3203, 3213, 3364, 3363, 3511, 3517, - 3520, 3536, 3540, 3544, 3551, 3552, 3556, 3556, 3570, 3570, - 3586, 3586, 3602, 3602, 3616, 3616, 3647, 3648, 3649, 3652, - 3658, 3657, 3667, 3666, 3684, 3683, 3731, 3746, 3755, 3730, - 3792, 3800, 3801, 3801, 3814, 3813, 3820, 3821, 3822, 3828, - 3829, 3833, 3837, 3845, 3849, 3853, 3861, 3862, 3868, 3874, - 3876, 3879, 3880, 3885, 3884, 3986, 3988, 3987, 4042, 4046, - 4050, 4051, 4055, 4070, 4079, 4094, 4103, 4107, 4113, 4130, - 4137, 4147, 4148, 4149, 4153, 4154, 4170, 4180, 4186, 4194, - 4200, 4208, 4214, 4222, 4227, 4234, 4235, 4236, 4240, 4241, - 4240, 4251, 4255, 4256, 4255, 4265, 4272, 4273, 4276, 4276, - 4357, 4355, 4369, 4446, 4543, 4544, 4548, 4549, 4552, 4553, - 4556, 4557, 4560, 4564, 4568, 4572, 4591, 4597, 4599, 4602, - 4603, 4612, 4613, 4618, 4617, 4626, 4636, 4637, 4641, 4641, - 4643, 4642, 4651, 4650, 4654, 4661, 4662, 4666, 4666, 4668, - 4667, 4674, 4673, 4677, 4686, 4782, 4787, 4792, 4793, 4796, - 4813, 4830, 4847, 4870, 4870, 4901, 4922, 4922, 4945, 4944, - 4960, 4959, 4975, 4974, 4991, 4992, 4995, 4997, 4995, 5051, - 5082, 5081, 5118, 5119, 5127, 5126, 5150, 5151, 5155, 5154, - 5193, 5192, 5215, 5215, 5242, 5243, 5246, 5267, 5289, 5313, - 5318, 5326, 5327, 5327, 5331, 5392, 5427, 5442, 5485, 5494, - 5495, 5503, 5504, 5505, 5506, 5507, 5508, 5511, 5512, 5513, - 5514, 5521, 5528, 5519, 5554, 5554, 5567, 5580, 5581, 5585, - 5598, 5599, 5606, 5611, 5618, 5619, 5620, 5625, 5626, 5627, - 5632, 5633, 5634, 5639, 5640, 5641, 5646, 5651, 5652, 5663, - 5674, 5685, 5689, 5696, 5697, 5754, 5760, 5759, 5847, 5846, - 5890, 5898, 5900, 5904, 5908, 5897, 5950, 5959, 5963, 5970, - 5972, 5976, 5969, 6014, 6024, 6026, 6030, 6023, 6068, 6077, - 6078, 6081, 6124, 6133, 6159, 6158, 6189, 6195, 6196, 6199, - 6200, 6204, 6209, 6234, 6243, 6295, 6320, 6348, 6203, 6356, - 6357, 6358, 6366, 6367, 6375, 6393, 6374, 6397, 6401, 6402, - 6409, 6410, 6411, 6417, 6418, 6419, 6424, 6425, 6426, 6427, - 6428, 6429, 6430 + 0, 528, 528, 535, 539, 541, 540, 556, 557, 558, + 560, 563, 570, 572, 589, 588, 598, 597, 606, 605, + 615, 614, 624, 629, 638, 639, 643, 642, 649, 654, + 662, 663, 667, 666, 674, 673, 746, 751, 752, 764, + 765, 768, 769, 772, 782, 787, 795, 808, 839, 850, + 862, 861, 877, 887, 886, 903, 913, 923, 933, 946, + 947, 950, 958, 968, 979, 994, 995, 1007, 1009, 1008, + 1021, 1022, 1028, 1027, 1055, 1062, 1069, 1070, 1074, 1075, + 1078, 1091, 1090, 1142, 1154, 1153, 1174, 1179, 1186, 1191, + 1198, 1283, 1284, 1288, 1297, 1298, 1301, 1302, 1303, 1307, + 1308, 1312, 1340, 1342, 1344, 1346, 1361, 1366, 1371, 1379, + 1380, 1382, 1384, 1403, 1405, 1404, 1420, 1419, 1435, 1434, + 1450, 1493, 1507, 1521, 1535, 1547, 1551, 1552, 1553, 1554, + 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, + 1565, 1567, 1569, 1571, 1573, 1574, 1577, 1580, 1581, 1585, + 1590, 1591, 1592, 1594, 1596, 1597, 1599, 1610, 1621, 1625, + 1631, 1635, 1641, 1645, 1651, 1656, 1660, 1668, 1666, 1693, + 1697, 1701, 1707, 1713, 1717, 1718, 1722, 1723, 1727, 1732, + 1733, 1734, 1739, 1740, 1741, 1742, 1746, 1747, 1748, 1749, + 1753, 1754, 1755, 1759, 1760, 1761, 1762, 1763, 1764, 1768, + 1769, 1770, 1774, 1776, 1775, 1793, 1795, 1794, 1810, 1812, + 1821, 1811, 1836, 1837, 1841, 1842, 1852, 1853, 1857, 1865, + 1868, 1867, 1874, 1877, 1876, 1880, 1882, 1884, 1886, 1889, + 1895, 1924, 1939, 1952, 1954, 1955, 1959, 1961, 1965, 1967, + 1972, 1971, 1978, 1977, 1989, 1994, 1993, 2001, 2005, 2029, + 2055, 2053, 2081, 2079, 2189, 2198, 2197, 2201, 2200, 2205, + 2211, 2210, 2220, 2219, 2228, 2241, 2246, 2240, 2274, 2282, + 2287, 2281, 2316, 2323, 2339, 2338, 2351, 2367, 2378, 2384, + 2390, 2402, 2414, 2424, 2434, 2433, 2446, 2452, 2450, 2568, + 2575, 2591, 2593, 2595, 2595, 2596, 2599, 2601, 2603, 2600, + 2605, 2609, 2608, 2723, 2756, 2764, 2789, 2763, 2840, 2841, + 2842, 2843, 2845, 2846, 2854, 2855, 2863, 2864, 2873, 2876, + 2875, 2884, 2886, 2894, 2902, 2911, 2919, 2921, 2928, 2929, + 2940, 2976, 3013, 3054, 3071, 3053, 3112, 3119, 3126, 3125, + 3157, 3158, 3166, 3165, 3213, 3215, 3214, 3224, 3375, 3374, + 3522, 3528, 3531, 3547, 3551, 3555, 3562, 3563, 3567, 3567, + 3581, 3581, 3597, 3597, 3613, 3613, 3627, 3627, 3658, 3659, + 3660, 3663, 3669, 3668, 3678, 3677, 3695, 3694, 3742, 3757, + 3766, 3741, 3803, 3811, 3812, 3812, 3825, 3824, 3831, 3832, + 3833, 3839, 3840, 3844, 3848, 3856, 3860, 3864, 3872, 3873, + 3879, 3885, 3887, 3890, 3891, 3896, 3895, 3997, 3999, 3998, + 4053, 4057, 4061, 4062, 4066, 4081, 4090, 4105, 4114, 4118, + 4124, 4141, 4148, 4158, 4159, 4160, 4164, 4165, 4181, 4191, + 4197, 4205, 4211, 4219, 4225, 4233, 4238, 4245, 4246, 4247, + 4251, 4252, 4251, 4262, 4266, 4267, 4266, 4276, 4283, 4284, + 4287, 4287, 4368, 4366, 4380, 4457, 4554, 4555, 4559, 4560, + 4563, 4564, 4567, 4568, 4571, 4575, 4579, 4583, 4602, 4608, + 4610, 4613, 4614, 4623, 4624, 4629, 4628, 4637, 4647, 4648, + 4652, 4652, 4654, 4653, 4662, 4661, 4665, 4672, 4673, 4677, + 4677, 4679, 4678, 4685, 4684, 4688, 4697, 4793, 4798, 4803, + 4804, 4807, 4824, 4841, 4858, 4881, 4881, 4912, 4933, 4933, + 4956, 4955, 4971, 4970, 4986, 4985, 5002, 5003, 5006, 5008, + 5006, 5062, 5093, 5092, 5129, 5130, 5138, 5137, 5161, 5162, + 5166, 5165, 5204, 5203, 5226, 5226, 5253, 5254, 5257, 5278, + 5300, 5324, 5329, 5337, 5338, 5338, 5342, 5403, 5438, 5453, + 5496, 5505, 5506, 5514, 5515, 5516, 5517, 5518, 5519, 5522, + 5523, 5524, 5525, 5532, 5539, 5530, 5565, 5565, 5578, 5591, + 5592, 5596, 5609, 5610, 5617, 5622, 5629, 5630, 5631, 5636, + 5637, 5638, 5643, 5644, 5645, 5650, 5651, 5652, 5657, 5662, + 5663, 5674, 5685, 5696, 5700, 5707, 5708, 5765, 5771, 5770, + 5858, 5857, 5901, 5909, 5911, 5915, 5919, 5908, 5961, 5970, + 5974, 5981, 5983, 5987, 5980, 6025, 6035, 6037, 6041, 6034, + 6079, 6088, 6089, 6092, 6135, 6144, 6170, 6169, 6200, 6206, + 6207, 6210, 6211, 6215, 6220, 6245, 6254, 6306, 6331, 6359, + 6214, 6367, 6368, 6369, 6377, 6378, 6386, 6404, 6385, 6408, + 6412, 6413, 6420, 6421, 6422, 6428, 6429, 6430, 6435, 6436, + 6437, 6438, 6439, 6440, 6441 }; #endif @@ -994,8 +998,9 @@ static const yytype_uint16 yyrline[] = static const char *const yytname[] = { "$end", "error", "$undefined", "RWL_T_CONNECT", "RWL_T_USERNAME", - "RWL_T_PASSWORD", "RWL_T_DATABASE", "RWL_T_EPOCHSECONDS", "RWL_T_PRINT", - "RWL_T_PRINTLINE", "RWL_T_PRINTVAR", "RWL_T_SHARDKEY", "RWL_T_SUPERSHK", + "RWL_T_PASSWORD", "RWL_T_DATABASE", "RWL_T_EPOCHSECONDS", + "RWL_T_DBSECONDS", "RWL_T_PRINT", "RWL_T_PRINTLINE", "RWL_T_PRINTVAR", + "RWL_T_SHARDKEY", "RWL_T_SUPERSHK", "RWL_T_OCISECONDS", "RWL_T_PROCEDURE", "RWL_T_BIND", "RWL_T_DEFINE", "RWL_T_STRING", "RWL_T_INTEGER", "RWL_T_END", "RWL_T_FOR", "RWL_T_ARRAY", "RWL_T_DATE", "RWL_T_SQRT", "RWL_T_ACCESS", "RWL_T_REGEX", "RWL_T_REGEXTRACT", @@ -1119,17 +1124,17 @@ static const yytype_uint16 yytoknum[] = 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 61, 60, 62, 45, 43, 42, 47, 37, 33, 415, - 59, 40, 41, 44, 63, 58 + 415, 416, 61, 60, 62, 45, 43, 42, 47, 37, + 33, 417, 59, 40, 41, 44, 63, 58 }; # endif -#define YYPACT_NINF -941 +#define YYPACT_NINF -964 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-941))) + (!!((Yystate) == (-964))) -#define YYTABLE_NINF -646 +#define YYTABLE_NINF -648 #define yytable_value_is_error(Yytable_value) \ 0 @@ -1138,128 +1143,129 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -941, 77, 105, -941, 3207, -40, 43, -941, -40, 22, - -941, -941, -941, 280, 1735, 1878, -941, 58, 1945, 102, - 107, 76, -941, 117, 131, -30, -941, -40, 2088, 181, - 5344, -40, -40, -35, 1509, -40, 152, -40, -40, -941, - -40, 455, 130, -941, -941, -941, -941, 169, 207, 2155, - 51, -941, -941, 56, -941, 132, 245, -941, -941, -941, - -941, -941, -941, 60, 212, 212, 136, 137, -941, -941, - -40, 275, -40, 1442, -941, 62, -941, -941, 33, 67, - 94, 138, -941, 71, 89, 197, -40, -40, 1216, 2298, - 142, -941, -941, 2365, -941, -941, 5344, -941, -941, -40, - -941, -941, -40, -941, -48, -941, -40, 248, 252, 277, - 374, 275, -40, 5344, -40, 5344, 451, 81, 472, -30, - 303, 328, 333, 340, 400, 418, -30, -941, 436, 5344, - 444, 453, 461, 473, 477, 483, 486, 490, 491, 502, - 503, 505, -941, 511, -941, -941, 512, 513, 515, 516, - 517, 518, 520, 521, 523, 5344, 5344, 5344, 497, -941, - -941, 464, 188, 459, 11, 496, -11, -941, 484, -40, - -40, -40, -941, 556, 606, -40, -941, -40, -941, 471, - -40, -941, 2508, 590, 415, 271, 38, -941, -941, -40, - -941, -40, -941, 5344, -941, -40, 414, 557, -941, -941, - -941, -941, -941, -941, -941, 386, -941, -941, 148, -941, - -40, 522, 526, 528, 529, -40, 5344, -40, 563, -941, - 678, 626, 566, -941, -40, 534, -40, 568, 1283, 492, - -941, -40, -941, -941, -941, -941, -941, -941, -941, -941, - -40, -941, -40, -941, 525, -941, 296, -941, -40, -941, - 691, 6, -941, 55, -941, 2946, 3343, -40, 299, 5344, - -941, -40, 570, -40, 570, -40, -941, 356, -941, -40, - -40, -40, -941, -941, -40, -941, -941, -941, -941, -941, - -40, 5344, -941, 5344, -941, -40, 5138, -941, 363, -941, - -40, 570, -40, 5344, 24, -941, 5344, -941, 571, -941, - -941, -941, 662, -941, -941, 5344, 664, 374, -941, -941, - -941, -941, -941, 530, 2575, -941, 88, -941, -941, -941, - -941, -941, -941, -941, -941, -941, -941, -941, 5344, 5344, - 5344, 5344, 5344, 5344, -941, 5344, -941, 5344, 5344, 5344, - 37, 5344, 5344, 5344, 5344, 150, 151, 63, 5344, -941, - 5344, 5344, 5344, 5344, 5344, 5344, 5344, 5344, 5344, -941, - -941, 541, 272, 5344, 5344, 5344, 5344, 5344, 5344, 5344, - 5344, 5344, 5344, 5344, 5344, -941, -941, -941, 5344, -941, - -941, -941, -941, 543, 577, 579, -941, -941, -941, -941, - -40, 97, -941, -941, -941, -941, -941, -941, -941, -941, - -941, -941, -40, -40, 5344, -941, -941, 700, 705, 708, - 587, -941, -941, 5344, -40, -941, 5344, -40, -941, -941, - -941, -941, -941, -941, -941, -941, -941, -941, -941, 680, - 589, -40, 5344, -941, -941, -941, -941, -941, -941, -941, - -941, -941, -941, 2508, -941, 5344, -941, -40, -40, -40, - -941, 3479, -941, -941, 561, -941, 561, -941, -941, -941, - -941, -941, -941, -941, 410, -941, 659, -941, -941, -941, - -941, -941, -941, -941, -941, -941, -941, 5344, -941, 3615, - -40, -40, -941, -941, -941, 314, 362, 366, 432, 291, - -941, -941, 665, 53, -941, -941, -941, 565, 676, 570, - -941, 356, -941, 356, -941, 447, 570, -941, -941, -941, - -941, -941, 5344, -941, 363, 363, -941, -941, -941, -941, - -941, 356, -941, -941, -40, 601, -40, 293, -941, -941, - -941, 543, 2718, 374, 676, -941, -941, 664, 569, 572, - -941, -941, -941, -941, -941, -941, -40, 725, -941, 666, - 54, -941, 112, 573, -18, 114, 241, 206, 242, 42, - 580, 583, 584, 585, -941, 586, 29, 163, 260, 588, - 594, 595, 596, 604, 605, 607, 608, 609, 5344, 230, - 268, 269, 279, 281, 282, 237, 611, 612, -941, -941, - 706, -941, -941, -941, 464, 464, 188, 188, 367, 188, - 188, 459, 459, 5344, 5344, 5344, -941, 638, 370, -941, - -941, -941, -941, -40, -941, -941, -40, -941, -941, -40, - 244, 558, 641, 645, -941, -941, 647, 676, -941, 5344, - 676, -941, -40, 5071, -941, -941, -941, -941, 617, 618, - -941, -941, -941, -941, 619, -941, -941, -941, -941, -941, - 128, 660, 256, 5344, 5344, 5344, 5344, -941, -941, -941, - -941, -941, -941, -941, -941, 5344, -941, 620, 68, -941, - -941, 3751, -40, -40, -941, -40, -941, -40, 792, 794, - -40, 2785, -941, -941, -40, -40, -40, -941, -941, 763, - 356, -941, -941, -941, -941, -941, 619, -941, -941, 5344, - -941, 624, -941, -941, -941, -941, 5277, 5344, 5344, 752, - -941, 5344, -941, -941, -941, -941, 5344, 5344, 5344, -40, - 293, -941, 26, 19, 772, -941, 664, -941, -941, 5344, - 5344, -941, 530, 719, 663, -40, -40, -941, -941, -941, - 5344, 5344, -941, -941, 5344, -941, 632, -941, 668, 5344, - -941, -941, -941, -941, -941, 5344, -941, 5344, -941, -941, - -941, -941, -941, -941, -941, -941, -941, 5344, 633, 5344, - -941, -941, -941, -941, -941, 5344, -941, -941, -941, 5344, - 11, 496, 631, -941, -941, -941, 47, 49, -941, -941, - -941, 5344, 5344, -40, -941, -941, -941, 737, -941, -941, - -941, -941, -941, -40, -941, -941, 5071, -941, 637, -941, - -941, 643, -941, -941, -941, -941, -941, -941, -941, 74, - 5344, 5344, 640, -941, -941, -941, -941, -941, -941, 411, - -941, 677, 485, -941, -941, -941, -941, 676, 676, 676, - 676, 3887, 5344, -40, -941, -941, -40, -40, -941, -941, - 55, -941, -941, -941, -941, 5344, -941, -40, -40, -941, - 750, 421, 3082, -941, -941, -941, -941, -941, 5344, -941, - 5344, -40, 679, -941, -941, -941, -941, -941, 405, -941, - -941, -941, -941, -941, 767, -941, -941, -941, -941, 648, - 4023, -941, 4159, -941, -941, -40, 682, -941, -941, -941, - -941, 286, 294, 298, -941, 652, 228, 301, 305, 437, - -941, 320, 323, 188, -941, -40, 683, -941, -40, 681, - -941, 676, 676, -941, -941, -941, 5344, -941, 5344, -941, - -941, 47, 49, -941, 5344, -941, 635, -941, -40, 48, - -941, -941, -941, -941, 5344, -941, 485, -941, -941, 75, - 676, -941, -941, -17, 651, -941, -941, -941, 4295, -941, - -941, -941, -941, -941, 570, -941, -941, -941, -941, 405, - 797, -941, -941, -941, 797, -941, 5344, 5344, -4, -941, - 75, 75, 543, 543, -941, -941, 4431, 746, -941, -941, - -941, -941, -941, 5344, -941, -941, -941, 5344, -941, -941, - 5344, -941, -941, 446, -941, -941, -941, 467, -941, 799, - 655, -941, 5344, 655, -941, 676, 655, -941, -941, 676, - 20, 52, -941, 1668, 41, -40, -40, -40, -941, -941, - -941, -40, -40, -40, 657, -941, -40, -40, -941, -941, - -941, -941, -941, -941, 54, 4567, 356, 658, 5344, 732, - 732, -941, -941, -941, -941, -941, -941, -941, 370, 370, - 816, 5344, 758, 341, 355, -941, 5344, -40, 683, 5344, - -40, 681, 5344, -941, -941, 676, -40, -941, -941, -941, - -941, 382, -941, -40, -941, -941, 424, -941, -40, -941, - 5344, -40, -941, -941, -941, -941, 426, -941, -941, -941, - -941, -941, -941, -941, -941, -941, -941, -941, 275, -941, - 83, -941, 5344, -941, 5344, 766, -941, 4703, 789, -941, - -941, 83, -941, 5344, -941, -941, -941, -941, -941, -941, - -941, -941, 676, -941, 703, -941, 153, 153, 153, 311, - -941, -941, 153, 172, -941, -941, -40, -941, 153, 153, - 153, 393, -941, -941, -40, -40, -941, -941, -941, -941, - 5344, -941, 75, -941, -941, -941, -941, -941, -941, 736, - -941, -941, -941, -941, -941, -941, -941, -941, -941, -941, - -941, -941, -941, -941, 673, -941, -941, 756, -941, 709, - 782, -941, -40, 34, -941, -941, -941, -941, 686, 4828, - -941, 784, 5344, -941, 687, -941, -941, 4964, 833, 84, - -40, -40, -941, -941, -941, -941 + -964, 136, 325, -964, 3398, -51, 49, -964, -51, -1, + -964, -964, -964, 231, 1846, 2001, -964, 65, 2068, 127, + 131, 476, -964, 134, 138, -42, -964, -51, 2223, 220, + 5614, -51, -51, -64, 1611, -51, 84, -51, -51, -964, + -51, 366, 336, -964, -964, -964, -964, 204, 217, 2290, + 51, -964, -964, 75, -964, 139, 54, -964, -964, -964, + -964, -964, -964, 48, 292, 292, 144, 149, -964, -964, + -51, 288, -51, 1544, -964, 283, -964, -964, 33, 94, + 119, 150, -964, 69, 74, 205, -51, -51, 1208, 2445, + 152, -964, -964, 2512, -964, -964, 5614, -964, -964, -51, + -964, -964, -51, -964, 321, -964, -51, 275, 64, 262, + 362, 288, -51, 5614, -51, 5614, 417, 128, 577, -42, + 280, 368, 375, 379, 393, 415, 421, 437, -42, -964, + 440, 5614, 456, 458, 462, 470, 482, 487, 489, 499, + 502, 504, 506, 507, -964, 509, -964, -964, 510, 511, + 515, 516, 517, 519, 520, 521, 522, 5614, 5614, 5614, + 403, -964, -964, 485, -63, 380, 25, 407, 28, -964, + 45, -51, -51, -51, -964, 460, 467, -51, -964, -51, + -964, 343, -51, -964, 2667, 454, 471, 250, 227, -964, + -964, -51, -964, -51, -964, 5614, -964, -51, 466, 428, + -964, -964, -964, -964, -964, -964, -964, 497, -964, -964, + 155, -964, -51, 404, 523, 524, 525, -51, 5614, -51, + 554, -964, 677, 627, 561, -964, -51, 527, -51, 562, + 1383, 475, -964, -51, -964, -964, -964, -964, -964, -964, + -964, -964, -51, -964, -51, -964, 559, -964, 258, -964, + -51, -964, 685, 308, -964, 46, -964, 3118, 3538, -51, + 266, 5614, -964, -51, 564, -51, 564, -51, -964, 344, + -964, -51, -51, -51, -964, -964, -51, -964, -964, -964, + -964, -964, -51, 5614, -964, 5614, -964, -51, 5392, -964, + 349, -964, -51, 564, -51, 5614, 44, -964, 5614, -964, + 565, -964, -964, -964, 656, -964, -964, 5614, 657, 362, + -964, -964, -964, -964, -964, 538, 2734, -964, 39, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + 535, 537, 5614, 5614, 5614, 5614, 5614, 5614, -964, 5614, + -964, 5614, 5614, 5614, 20, 5614, 5614, 5614, 5614, 157, + 159, 233, 5614, -964, 5614, 5614, 5614, 5614, 5614, 5614, + 5614, 5614, 5614, -964, -964, 539, 263, 5614, 5614, 5614, + 5614, 5614, 5614, 5614, 5614, 5614, 5614, 5614, 5614, -964, + -964, -964, 5614, -964, -964, -964, -964, 540, 570, 574, + -964, -964, -964, -964, -51, 79, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -51, -51, 5614, -964, + -964, 695, 696, 699, 579, -964, -964, 5614, -51, -964, + 5614, -51, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, 672, 583, -51, 5614, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, 2667, -964, 5614, + -964, -51, -51, -51, -964, 3678, -964, -964, 553, -964, + 553, -964, -964, -964, -964, -964, -964, -964, 254, -964, + 645, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, 5614, -964, 3818, -51, -51, -964, -964, -964, 87, + 103, 309, 112, 314, -964, -964, 654, 24, -964, -964, + -964, 555, 662, 564, -964, 344, -964, 344, -964, 414, + 564, -964, -964, -964, -964, -964, 5614, -964, 349, 349, + -964, -964, -964, -964, -964, 344, -964, -964, -51, 588, + -51, 316, -964, -964, -964, 540, 2889, 362, 662, -964, + -964, 657, 556, 557, -964, -964, -964, -964, -964, -964, + -51, 713, -964, 650, 59, -964, -964, -964, -10, 563, + 5, -4, 260, 199, 261, 50, 566, 568, 569, 571, + -964, 572, 208, 213, 268, 573, 575, 576, 578, 580, + 582, 585, 586, 587, 5614, 229, 278, 281, 282, 290, + 291, 239, 589, 590, -964, -964, 680, -964, -964, -964, + 485, 485, -63, -63, 212, -63, -63, 380, 380, 5614, + 5614, 5614, -964, 597, 378, -964, -964, -964, -964, -51, + -964, -964, -51, -964, -964, -51, 249, 512, 602, 609, + -964, -964, 615, 662, -964, 5614, 662, -964, -51, 5325, + -964, -964, -964, -964, 591, 592, -964, -964, -964, -964, + 593, -964, -964, -964, -964, -964, 124, 683, 246, 5614, + 5614, 5614, 5614, -964, -964, -964, -964, -964, -964, -964, + -964, 5614, -964, 594, 63, -964, -964, 3958, -51, -51, + -964, -51, -964, -51, 769, 770, -51, 2956, -964, -964, + -51, -51, -51, -964, -964, 738, 344, -964, -964, -964, + -964, -964, 593, -964, -964, 5614, -964, 600, -964, -964, + -964, -964, 5547, 5614, 5614, 727, -964, 5614, -964, -964, + -964, -964, 5614, 5614, 5614, -51, 316, -964, 115, 38, + 747, -964, 657, -964, -964, 5614, 5614, -964, 538, 694, + 637, -51, -51, -964, -964, -964, 5614, 5614, -964, -964, + 5614, -964, 606, -964, 639, 5614, -964, -964, -964, -964, + -964, 5614, -964, 5614, -964, -964, -964, -964, -964, -964, + -964, -964, -964, 5614, 610, 5614, -964, -964, -964, -964, + -964, 5614, -964, -964, -964, 5614, 25, 407, 608, -964, + -964, -964, 30, 35, -964, -964, -964, 5614, 5614, -51, + -964, -964, -964, 709, -964, -964, -964, -964, -964, -51, + -964, -964, 5325, -964, 611, -964, -964, 616, -964, -964, + -964, -964, -964, -964, -964, 68, 5614, 5614, 614, -964, + -964, -964, -964, -964, -964, 384, -964, 648, 413, -964, + -964, -964, -964, 662, 662, 662, 662, 4098, 5614, -51, + -964, -964, -51, -51, -964, -964, 46, -964, -964, -964, + -964, 5614, -964, -51, -51, -964, 723, 550, 3258, -964, + -964, -964, -964, -964, 5614, -964, 5614, -51, 651, -964, + -964, -964, -964, -964, 359, -964, -964, -964, -964, -964, + 739, -964, -964, -964, -964, 620, 4238, -964, 4378, -964, + -964, -51, 655, -964, -964, -964, -964, 302, 303, 304, + -964, 622, 236, 327, 329, 432, -964, 330, 356, -63, + -964, -51, 658, -964, -51, 660, -964, 662, 662, -964, + -964, -964, 5614, -964, 5614, -964, -964, 30, 35, -964, + 5614, -964, 560, -964, -51, 121, -964, -964, -964, -964, + 5614, -964, 413, -964, -964, 71, 662, -964, -964, 182, + 567, -964, -964, -964, 4518, -964, -964, -964, -964, -964, + 564, -964, -964, -964, -964, 359, 768, -964, -964, -964, + 768, -964, 5614, 5614, 1, -964, 71, 71, 540, 540, + -964, -964, 4658, 717, -964, -964, -964, -964, -964, 5614, + -964, -964, -964, 5614, -964, -964, 5614, -964, -964, 463, + -964, -964, -964, 473, -964, 772, 628, -964, 5614, 628, + -964, 662, 628, -964, -964, 662, 18, 109, -964, 1772, + 56, -51, -51, -51, -964, -964, -964, -51, -51, -51, + 631, -964, -51, -51, -964, -964, -964, -964, -964, -964, + 59, 4798, 344, 632, 5614, 705, 705, -964, -964, -964, + -964, -964, -964, -964, 378, 378, 789, 5614, 733, 357, + 358, -964, 5614, -51, 658, 5614, -51, 660, 5614, -964, + -964, 662, -51, -964, -964, -964, -964, 392, -964, -51, + -964, -964, 406, -964, -51, -964, 5614, -51, -964, -964, + -964, -964, 420, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, 288, -964, 83, -964, 5614, -964, + 5614, 741, -964, 4938, 764, -964, -964, 83, -964, 5614, + -964, -964, -964, -964, -964, -964, -964, -964, 662, -964, + 679, -964, 252, 252, 252, 397, -964, -964, 252, -17, + -964, -964, -51, -964, 252, 252, 252, 422, -964, -964, + -51, -51, -964, -964, -964, -964, 5614, -964, 71, -964, + -964, -964, -964, -964, -964, 712, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + 644, -964, -964, 730, -964, 682, 757, -964, -51, 4, + -964, -964, -964, -964, 653, 5078, -964, 759, 5614, -964, + 661, -964, -964, 5218, 808, 72, -51, -51, -964, -964, + -964, -964 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1267,196 +1273,197 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 4, 0, 5, 1, 0, 0, 0, 539, 540, 0, - 89, 428, 430, 0, 0, 0, 432, 0, 0, 0, - 0, 0, 573, 0, 0, 94, 348, 258, 0, 393, + 4, 0, 5, 1, 0, 0, 0, 541, 542, 0, + 89, 430, 432, 0, 0, 0, 434, 0, 0, 0, + 0, 0, 575, 0, 0, 94, 350, 260, 0, 395, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, - 0, 0, 0, 622, 435, 436, 437, 0, 0, 0, - 0, 607, 608, 0, 374, 0, 0, 524, 3, 228, - 6, 8, 12, 0, 78, 78, 0, 0, 7, 331, - 0, 291, 0, 0, 299, 0, 214, 214, 0, 0, - 0, 0, 434, 0, 0, 0, 0, 0, 0, 0, - 0, 306, 308, 0, 309, 307, 0, 9, 335, 0, - 34, 323, 0, 93, 0, 91, 0, 0, 369, 0, - 591, 389, 0, 0, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 94, 125, 0, 0, + 0, 0, 0, 624, 437, 438, 439, 0, 0, 0, + 0, 609, 610, 0, 376, 0, 0, 526, 3, 230, + 6, 8, 12, 0, 78, 78, 0, 0, 7, 333, + 0, 293, 0, 0, 301, 0, 216, 216, 0, 0, + 0, 0, 436, 0, 0, 0, 0, 0, 0, 0, + 0, 308, 310, 0, 311, 309, 0, 9, 337, 0, + 34, 325, 0, 93, 0, 91, 0, 0, 371, 0, + 593, 391, 0, 0, 0, 0, 0, 0, 0, 94, + 0, 0, 0, 0, 0, 0, 0, 0, 94, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 124, 121, 123, 122, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 177, 180, - 184, 188, 191, 197, 200, 203, 206, 210, 0, 0, - 0, 0, 598, 0, 0, 0, 537, 0, 538, 0, - 0, 326, 0, 0, 0, 0, 0, 278, 279, 0, - 328, 0, 262, 0, 229, 0, 0, 0, 280, 230, - 288, 88, 427, 429, 431, 0, 572, 86, 0, 433, - 0, 0, 342, 0, 338, 0, 0, 0, 0, 527, - 0, 0, 0, 452, 0, 0, 0, 370, 0, 0, - 532, 0, 116, 114, 118, 113, 13, 79, 214, 214, - 0, 81, 0, 84, 366, 345, 0, 345, 0, 345, - 0, 382, 214, 0, 248, 0, 0, 0, 0, 0, - 238, 0, 0, 0, 0, 0, 403, 0, 401, 0, - 0, 0, 583, 231, 0, 546, 314, 528, 312, 310, - 0, 0, 545, 0, 316, 0, 212, 544, 0, 541, - 0, 0, 0, 0, 0, 36, 37, 10, 0, 11, - 252, 303, 0, 384, 296, 0, 0, 591, 390, 618, - 615, 613, 610, 656, 0, 631, 0, 627, 630, 629, - 417, 423, 421, 422, 416, 419, 420, 170, 0, 0, - 0, 0, 0, 0, 169, 0, 183, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 201, 204, 207, 0, 418, - 302, 301, 600, 0, 0, 0, 321, 322, 95, 281, - 0, 0, 259, 413, 412, 394, 395, 271, 327, 266, - 264, 284, 0, 0, 0, 272, 282, 0, 0, 0, - 0, 277, 340, 0, 0, 336, 0, 0, 270, 268, - 313, 526, 445, 385, 443, 375, 311, 530, 334, 0, - 0, 0, 172, 551, 554, 552, 558, 559, 560, 555, - 556, 553, 557, 0, 525, 0, 120, 0, 0, 0, - 77, 0, 76, 80, 96, 83, 96, 362, 358, 356, - 360, 367, 368, 332, 366, 354, 0, 289, 391, 392, - 292, 345, 293, 380, 596, 595, 452, 0, 381, 0, - 0, 0, 580, 247, 214, 0, 0, 0, 0, 0, - 215, 216, 408, 0, 242, 425, 426, 0, 74, 0, - 235, 0, 237, 0, 233, 405, 0, 232, 586, 584, - 585, 315, 0, 320, 0, 0, 325, 213, 542, 324, - 245, 0, 606, 602, 0, 0, 0, 39, 38, 75, - 92, 0, 0, 591, 592, 346, 294, 0, 0, 0, - 658, 662, 659, 661, 657, 660, 0, 0, 644, 0, - 0, 628, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 178, - 0, 185, 186, 187, 190, 189, 194, 195, 0, 192, - 193, 199, 198, 0, 0, 0, 211, 0, 0, 619, - 20, 16, 548, 0, 549, 547, 0, 275, 276, 0, - 0, 0, 0, 0, 441, 439, 0, 343, 329, 0, - 339, 330, 0, 448, 532, 371, 373, 287, 0, 173, - 174, 176, 261, 536, 533, 534, 117, 115, 119, 90, - 0, 0, 109, 0, 0, 0, 0, 214, 353, 352, - 351, 350, 355, 364, 290, 0, 377, 0, 0, 582, - 581, 0, 0, 0, 221, 0, 218, 0, 0, 0, - 0, 0, 411, 214, 0, 0, 0, 587, 246, 424, - 0, 234, 236, 404, 406, 402, 529, 319, 318, 0, - 244, 0, 257, 255, 623, 254, 0, 0, 0, 0, - 55, 0, 58, 59, 49, 48, 0, 0, 0, 0, - 40, 41, 591, 0, 564, 214, 0, 214, 298, 0, - 0, 626, 656, 648, 0, 0, 0, 653, 625, 135, - 0, 0, 150, 151, 0, 154, 0, 147, 0, 0, - 139, 166, 165, 144, 128, 0, 130, 0, 134, 163, - 162, 161, 160, 159, 157, 156, 158, 0, 0, 0, - 131, 132, 133, 136, 137, 0, 145, 146, 179, 0, - 202, 205, 0, 621, 599, 620, 0, 0, 550, 265, - 274, 0, 0, 0, 510, 508, 506, 503, 512, 500, - 501, 499, 505, 0, 18, 14, 448, 341, 0, 337, - 269, 0, 444, 447, 454, 446, 452, 593, 531, 0, - 0, 0, 104, 102, 103, 106, 108, 107, 97, 0, - 99, 0, 0, 111, 112, 110, 85, 363, 359, 357, - 361, 0, 0, 467, 454, 383, 0, 0, 574, 300, - 0, 224, 223, 214, 220, 0, 217, 0, 0, 225, - 0, 0, 0, 590, 588, 589, 240, 239, 0, 543, - 0, 0, 0, 46, 43, 44, 59, 53, 56, 52, - 50, 45, 35, 42, 0, 571, 570, 566, 561, 0, - 0, 297, 0, 616, 611, 0, 0, 214, 632, 655, - 654, 0, 0, 0, 149, 0, 0, 0, 0, 0, - 168, 0, 0, 196, 208, 0, 0, 21, 0, 0, - 17, 520, 519, 273, 516, 516, 0, 502, 0, 516, - 283, 0, 0, 440, 0, 594, 0, 450, 0, 0, - 396, 286, 175, 535, 0, 98, 0, 101, 82, 0, - 365, 468, 597, 386, 0, 576, 575, 249, 0, 214, - 226, 227, 415, 414, 0, 407, 603, 256, 47, 57, - 63, 62, 61, 60, 63, 304, 0, 0, 0, 567, - 0, 0, 0, 0, 647, 649, 0, 642, 155, 126, - 152, 148, 142, 0, 127, 129, 140, 0, 153, 138, - 0, 29, 32, 0, 30, 23, 26, 0, 24, 522, - 511, 514, 0, 509, 507, 504, 513, 19, 15, 344, - 0, 0, 449, 0, 0, 467, 467, 467, 455, 454, - 400, 0, 0, 0, 0, 100, 0, 0, 577, 333, - 387, 388, 378, 453, 0, 0, 0, 0, 0, 65, - 65, 214, 562, 569, 565, 568, 251, 347, 0, 0, - 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, - 0, 0, 0, 521, 516, 517, 0, 493, 487, 489, - 491, 467, 485, 0, 475, 473, 467, 471, 0, 470, - 0, 0, 484, 478, 480, 482, 467, 476, 462, 463, - 464, 451, 399, 397, 398, 105, 579, 578, 389, 222, - 0, 241, 0, 64, 0, 67, 51, 0, 0, 617, - 612, 0, 643, 0, 143, 141, 33, 28, 31, 27, - 22, 25, 523, 515, 0, 457, 0, 0, 0, 0, - 456, 461, 0, 0, 460, 466, 467, 459, 0, 0, - 0, 0, 458, 379, 0, 0, 650, 219, 604, 66, - 0, 54, 0, 563, 646, 633, 518, 496, 495, 497, - 488, 494, 490, 492, 486, 474, 472, 465, 479, 481, - 483, 477, 652, 651, 0, 68, 305, 0, 498, 0, - 70, 634, 0, 0, 69, 214, 605, 71, 0, 0, - 72, 0, 172, 636, 0, 214, 73, 0, 0, 0, - 0, 0, 639, 638, 641, 640 + 0, 0, 0, 0, 124, 121, 123, 122, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 179, 182, 186, 190, 193, 199, 202, 205, 208, 212, + 0, 0, 0, 0, 600, 0, 0, 0, 539, 0, + 540, 0, 0, 328, 0, 0, 0, 0, 0, 280, + 281, 0, 330, 0, 264, 0, 231, 0, 0, 0, + 282, 232, 290, 88, 429, 431, 433, 0, 574, 86, + 0, 435, 0, 0, 344, 0, 340, 0, 0, 0, + 0, 529, 0, 0, 0, 454, 0, 0, 0, 372, + 0, 0, 534, 0, 116, 114, 118, 113, 13, 79, + 216, 216, 0, 81, 0, 84, 368, 347, 0, 347, + 0, 347, 0, 384, 216, 0, 250, 0, 0, 0, + 0, 0, 240, 0, 0, 0, 0, 0, 405, 0, + 403, 0, 0, 0, 585, 233, 0, 548, 316, 530, + 314, 312, 0, 0, 547, 0, 318, 0, 214, 546, + 0, 543, 0, 0, 0, 0, 0, 36, 37, 10, + 0, 11, 254, 305, 0, 386, 298, 0, 0, 593, + 392, 620, 617, 615, 612, 658, 0, 633, 0, 629, + 632, 631, 419, 425, 423, 424, 418, 421, 422, 172, + 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, + 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 183, 184, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, + 206, 209, 0, 420, 304, 303, 602, 0, 0, 0, + 323, 324, 95, 283, 0, 0, 261, 415, 414, 396, + 397, 273, 329, 268, 266, 286, 0, 0, 0, 274, + 284, 0, 0, 0, 0, 279, 342, 0, 0, 338, + 0, 0, 272, 270, 315, 528, 447, 387, 445, 377, + 313, 532, 336, 0, 0, 0, 174, 553, 556, 554, + 560, 561, 562, 557, 558, 555, 559, 0, 527, 0, + 120, 0, 0, 0, 77, 0, 76, 80, 96, 83, + 96, 364, 360, 358, 362, 369, 370, 334, 368, 356, + 0, 291, 393, 394, 294, 347, 295, 382, 598, 597, + 454, 0, 383, 0, 0, 0, 582, 249, 216, 0, + 0, 0, 0, 0, 217, 218, 410, 0, 244, 427, + 428, 0, 74, 0, 237, 0, 239, 0, 235, 407, + 0, 234, 588, 586, 587, 317, 0, 322, 0, 0, + 327, 215, 544, 326, 247, 0, 608, 604, 0, 0, + 0, 39, 38, 75, 92, 0, 0, 593, 594, 348, + 296, 0, 0, 0, 660, 664, 661, 663, 659, 662, + 0, 0, 646, 0, 0, 630, 169, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 173, 180, 0, 187, 188, 189, + 192, 191, 196, 197, 0, 194, 195, 201, 200, 0, + 0, 0, 213, 0, 0, 621, 20, 16, 550, 0, + 551, 549, 0, 277, 278, 0, 0, 0, 0, 0, + 443, 441, 0, 345, 331, 0, 341, 332, 0, 450, + 534, 373, 375, 289, 0, 175, 176, 178, 263, 538, + 535, 536, 117, 115, 119, 90, 0, 0, 109, 0, + 0, 0, 0, 216, 355, 354, 353, 352, 357, 366, + 292, 0, 379, 0, 0, 584, 583, 0, 0, 0, + 223, 0, 220, 0, 0, 0, 0, 0, 413, 216, + 0, 0, 0, 589, 248, 426, 0, 236, 238, 406, + 408, 404, 531, 321, 320, 0, 246, 0, 259, 257, + 625, 256, 0, 0, 0, 0, 55, 0, 58, 59, + 49, 48, 0, 0, 0, 0, 40, 41, 593, 0, + 566, 216, 0, 216, 300, 0, 0, 628, 658, 650, + 0, 0, 0, 655, 627, 135, 0, 0, 150, 151, + 0, 154, 0, 147, 0, 0, 139, 166, 165, 144, + 128, 0, 130, 0, 134, 163, 162, 161, 160, 159, + 157, 156, 158, 0, 0, 0, 131, 132, 133, 136, + 137, 0, 145, 146, 181, 0, 204, 207, 0, 623, + 601, 622, 0, 0, 552, 267, 276, 0, 0, 0, + 512, 510, 508, 505, 514, 502, 503, 501, 507, 0, + 18, 14, 450, 343, 0, 339, 271, 0, 446, 449, + 456, 448, 454, 595, 533, 0, 0, 0, 104, 102, + 103, 106, 108, 107, 97, 0, 99, 0, 0, 111, + 112, 110, 85, 365, 361, 359, 363, 0, 0, 469, + 456, 385, 0, 0, 576, 302, 0, 226, 225, 216, + 222, 0, 219, 0, 0, 227, 0, 0, 0, 592, + 590, 591, 242, 241, 0, 545, 0, 0, 0, 46, + 43, 44, 59, 53, 56, 52, 50, 45, 35, 42, + 0, 573, 572, 568, 563, 0, 0, 299, 0, 618, + 613, 0, 0, 216, 634, 657, 656, 0, 0, 0, + 149, 0, 0, 0, 0, 0, 168, 0, 0, 198, + 210, 0, 0, 21, 0, 0, 17, 522, 521, 275, + 518, 518, 0, 504, 0, 518, 285, 0, 0, 442, + 0, 596, 0, 452, 0, 0, 398, 288, 177, 537, + 0, 98, 0, 101, 82, 0, 367, 470, 599, 388, + 0, 578, 577, 251, 0, 216, 228, 229, 417, 416, + 0, 409, 605, 258, 47, 57, 63, 62, 61, 60, + 63, 306, 0, 0, 0, 569, 0, 0, 0, 0, + 649, 651, 0, 644, 155, 126, 152, 148, 142, 0, + 127, 129, 140, 0, 153, 138, 0, 29, 32, 0, + 30, 23, 26, 0, 24, 524, 513, 516, 0, 511, + 509, 506, 515, 19, 15, 346, 0, 0, 451, 0, + 0, 469, 469, 469, 457, 456, 402, 0, 0, 0, + 0, 100, 0, 0, 579, 335, 389, 390, 380, 455, + 0, 0, 0, 0, 0, 65, 65, 216, 564, 571, + 567, 570, 253, 349, 0, 0, 0, 0, 0, 0, + 0, 211, 0, 0, 0, 0, 0, 0, 0, 523, + 518, 519, 0, 495, 489, 491, 493, 469, 487, 0, + 477, 475, 469, 473, 0, 472, 0, 0, 486, 480, + 482, 484, 469, 478, 464, 465, 466, 453, 401, 399, + 400, 105, 581, 580, 391, 224, 0, 243, 0, 64, + 0, 67, 51, 0, 0, 619, 614, 0, 645, 0, + 143, 141, 33, 28, 31, 27, 22, 25, 525, 517, + 0, 459, 0, 0, 0, 0, 458, 463, 0, 0, + 462, 468, 469, 461, 0, 0, 0, 0, 460, 381, + 0, 0, 652, 221, 606, 66, 0, 54, 0, 565, + 648, 635, 520, 498, 497, 499, 490, 496, 492, 494, + 488, 476, 474, 467, 481, 483, 485, 479, 654, 653, + 0, 68, 307, 0, 500, 0, 70, 636, 0, 0, + 69, 216, 607, 71, 0, 0, 72, 0, 174, 638, + 0, 216, 73, 0, 0, 0, 0, 0, 641, 640, + 643, 642 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -941, -941, -5, -941, -941, -941, -941, -941, -941, -941, - -941, -78, -941, -213, -941, -70, -941, -206, -941, -941, - -941, -941, -941, -941, 143, -941, -941, -12, -941, -109, - -183, -941, -941, -941, -941, -254, -285, -941, 803, -941, - -941, -941, -941, -941, -941, 634, -941, 574, 249, 420, - -941, -76, 39, -941, -941, -941, -941, -941, -941, -941, - -577, -941, 57, -941, 270, -93, -352, 278, 276, 274, - -941, -941, -941, -372, -941, -941, 419, 35, -67, -941, - -941, -941, 870, -941, -941, -941, -941, -941, -941, -941, - -941, -941, -941, -941, -941, -941, -941, -941, -941, -941, - -941, -941, -941, -941, -941, -941, -941, -941, -941, -941, - -941, -941, -941, -941, -941, -210, -513, -941, -941, -941, - -941, -941, 416, -941, -941, -941, -941, -941, -941, 862, - -941, -941, 868, -941, 773, -941, -941, -941, -941, -941, - -941, -941, -941, -225, 813, -941, -941, -260, 379, -941, - -941, -941, -941, -941, -941, -941, -941, 718, -941, -941, - -72, -941, -941, -941, -941, -29, -941, -941, -941, -941, - -941, 82, -941, -941, -941, -941, -461, -142, 79, -941, - -715, -941, -941, -252, -941, -941, -262, -941, -941, -941, - -941, -245, -941, -941, -941, -563, -941, -941, -941, -941, - -941, -941, -941, -783, -179, -941, -941, -941, -941, -941, - -941, -941, -941, -941, -941, -941, -941, 262, -941, 385, - 78, -941, -941, 283, -941, 199, -265, 555, 457, -941, - 396, -941, -941, -941, -941, -941, -941, -74, -941, -941, - -941, -940, 59, -941, -941, -293, -941, 656, -941, -941, - -941, -941, -941, -941, -941, -941, -941, -941, -941, -941, - -941, -941, -941, -941, -941, -518, -603, -941, 31, -941, - -941, -941, 592, -941, -941, -941, -941, -941, -941, -941, - -941, -941, -941, -941, -941, -941, -941, -209, -133, 182 + -964, -964, -5, -964, -964, -964, -964, -964, -964, -964, + -964, -109, -964, -247, -964, -106, -964, -242, -964, -964, + -964, -964, -964, -964, 108, -964, -964, -46, -964, -143, + -217, -964, -964, -964, -964, -314, -285, -964, 775, -964, + -964, -964, -964, -964, -964, 601, -964, 541, -23, 385, + -964, -103, 8, -964, -964, -964, -964, -964, -964, -964, + -580, -964, 27, -964, 297, -114, -334, 293, 241, 245, + -964, -964, -964, -381, -964, -964, 151, 659, -70, -964, + -964, -964, 852, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -203, -523, -964, -964, -964, + -964, -964, 389, -964, -964, -964, -964, -964, -964, 847, + -964, -964, 848, -964, 753, -964, -964, -964, -964, -964, + -964, -964, -964, -251, 793, -964, -964, -256, 355, -964, + -964, -964, -964, -964, -964, -964, -964, 697, -964, -964, + -68, -964, -964, -964, -964, -36, -964, -964, -964, -964, + -964, 57, -964, -964, -964, -964, -464, -169, 55, -964, + -716, -964, -964, -279, -964, -964, -286, -964, -964, -964, + -964, -269, -964, -964, -964, -558, -964, -964, -964, -964, + -964, -964, -964, -592, -202, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, 240, -964, 363, + 58, -964, -964, 341, -964, 176, -270, 581, 435, -964, + 374, -964, -964, -964, -964, -964, -964, -100, -964, -964, + -964, -963, 31, -964, -964, -295, -964, 633, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -520, -605, -964, 11, -964, + -964, -964, 584, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -238, -160, 153 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 59, 2, 4, 60, 61, 932, 787, 931, - 786, 920, 1007, 1008, 1069, 917, 1003, 1004, 1066, 62, - 296, 527, 719, 720, 721, 974, 970, 878, 973, 1049, - 1115, 1161, 1190, 1194, 1202, 497, 811, 63, 238, 64, - 454, 65, 456, 66, 67, 450, 104, 105, 180, 651, - 829, 830, 831, 836, 236, 448, 447, 449, 158, 578, - 638, 639, 640, 159, 160, 161, 162, 163, 164, 165, - 603, 166, 604, 167, 605, 1000, 286, 529, 451, 490, - 855, 853, 491, 499, 964, 291, 484, 302, 526, 871, - 182, 229, 193, 616, 216, 632, 620, 621, 432, 247, - 109, 533, 252, 531, 1051, 283, 244, 657, 214, 629, - 417, 212, 626, 414, 808, 467, 536, 727, 69, 463, - 661, 464, 465, 655, 654, 656, 653, 842, 466, 70, - 429, 430, 71, 223, 72, 251, 844, 1108, 476, 477, - 73, 221, 1042, 307, 308, 74, 941, 267, 268, 505, - 693, 868, 75, 682, 492, 76, 683, 325, 77, 326, - 260, 78, 79, 80, 81, 82, 83, 410, 806, 222, - 633, 812, 813, 814, 815, 1029, 425, 953, 954, 1028, - 952, 1090, 1086, 1087, 1142, 1096, 1097, 1148, 1149, 1150, - 1081, 1082, 1136, 1137, 1138, 1170, 1171, 803, 928, 926, - 925, 924, 929, 1010, 1011, 1012, 1134, 793, 1009, 1073, - 84, 230, 85, 86, 512, 87, 634, 444, 445, 644, - 645, 88, 89, 288, 699, 289, 284, 276, 392, 615, - 442, 443, 725, 976, 1118, 889, 978, 979, 887, 90, - 849, 1039, 483, 273, 688, 306, 816, 817, 665, 91, - 383, 92, 293, 701, 1047, 1184, 93, 94, 115, 539, - 983, 95, 113, 538, 982, 608, 609, 96, 705, 97, - 117, 316, 317, 318, 549, 987, 1187, 1195, 1201, 1205, - 1208, 1213, 1062, 319, 733, 1060, 897, 1157, 738, 546 + -1, 1, 59, 2, 4, 60, 61, 938, 793, 937, + 792, 926, 1013, 1014, 1075, 923, 1009, 1010, 1072, 62, + 298, 531, 725, 726, 727, 980, 976, 884, 979, 1055, + 1121, 1167, 1196, 1200, 1208, 501, 817, 63, 240, 64, + 458, 65, 460, 66, 67, 454, 104, 105, 182, 657, + 835, 836, 837, 842, 238, 452, 451, 453, 160, 584, + 644, 645, 646, 161, 162, 163, 164, 165, 166, 167, + 609, 168, 610, 169, 611, 1006, 288, 533, 455, 494, + 861, 859, 495, 503, 970, 293, 488, 304, 530, 877, + 184, 231, 195, 622, 218, 638, 626, 627, 436, 249, + 109, 537, 254, 535, 1057, 285, 246, 663, 216, 635, + 421, 214, 632, 418, 814, 471, 540, 733, 69, 467, + 667, 468, 469, 661, 660, 662, 659, 848, 470, 70, + 433, 434, 71, 225, 72, 253, 850, 1114, 480, 481, + 73, 223, 1048, 309, 310, 74, 947, 269, 270, 509, + 699, 874, 75, 688, 496, 76, 689, 327, 77, 328, + 262, 78, 79, 80, 81, 82, 83, 414, 812, 224, + 639, 818, 819, 820, 821, 1035, 429, 959, 960, 1034, + 958, 1096, 1092, 1093, 1148, 1102, 1103, 1154, 1155, 1156, + 1087, 1088, 1142, 1143, 1144, 1176, 1177, 809, 934, 932, + 931, 930, 935, 1016, 1017, 1018, 1140, 799, 1015, 1079, + 84, 232, 85, 86, 516, 87, 640, 448, 449, 650, + 651, 88, 89, 290, 705, 291, 286, 278, 396, 621, + 446, 447, 731, 982, 1124, 895, 984, 985, 893, 90, + 855, 1045, 487, 275, 694, 308, 822, 823, 671, 91, + 387, 92, 295, 707, 1053, 1190, 93, 94, 115, 543, + 989, 95, 113, 542, 988, 614, 615, 96, 711, 97, + 117, 318, 319, 320, 553, 993, 1193, 1201, 1207, 1211, + 1214, 1219, 1068, 321, 739, 1066, 903, 1163, 744, 550 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1464,1314 +1471,1369 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 98, 768, 501, 101, 503, 785, 606, 262, 264, 255, - 256, 528, 209, 722, 537, 666, 596, 597, 598, 599, - 600, 1076, 181, 519, 728, 524, 187, 188, 190, 192, - 194, 521, 198, 199, 257, 200, 336, 470, 562, 472, - 1056, 1057, 1091, 746, 99, 474, 378, 1054, 915, 1031, - 918, 376, 217, 1083, 684, 735, 480, 220, 235, 116, - 548, 231, 359, 360, 573, 245, 258, 249, 261, 846, - 885, 373, 269, 232, 102, 938, 1036, 3, 272, 275, - 253, 275, 275, 282, 1154, 1210, 736, 305, 685, 173, - 274, -624, 174, 378, 295, 263, 1032, 297, 613, 299, - 258, 300, 378, 169, 686, -2, 550, 309, 171, 311, - 1040, 574, 575, 189, 314, 218, 1155, 1197, 175, 785, - 481, 314, 58, 1041, 287, 298, 1037, 258, -384, 254, - 58, 294, 177, 224, 475, 58, 210, 240, 242, 265, - 847, 179, 1013, 290, 822, 823, 1016, 1077, 310, 409, - 312, 569, 571, 195, 233, 741, 939, 824, 196, 1078, - 1167, 1079, 103, 377, 380, 381, 382, 825, 1092, 977, - 386, 374, 387, -424, 1198, 389, 378, 563, 378, 1084, - 1093, 397, 1094, 100, 398, 479, 399, 1168, 1033, 58, - 401, 219, 361, 1085, -253, 1080, -442, 525, 270, 607, - 234, 754, 755, 576, 259, 411, -624, -424, 58, 564, - 418, 271, 420, 891, 747, 748, 1095, 391, 916, 426, - 919, 428, 1186, 58, 58, 58, 446, 378, 400, 315, - 58, 826, 1211, 782, -424, 453, 315, 455, 58, 690, - 726, 58, 170, 471, 58, 58, 226, 172, 482, 697, - 698, 419, 494, 58, 58, 827, 500, 176, 502, 58, - 504, 664, 507, 185, 508, 509, 510, 58, 237, 511, - 378, 178, 225, 594, 595, 513, 241, 243, 266, 197, - 516, 106, -243, 282, 739, 520, 742, 522, -438, 791, - 570, 572, 378, 1169, 378, -260, 706, 707, 708, 1084, - 828, 378, -250, -260, -260, 378, 378, 202, 203, 211, - 1098, 1099, 1100, 1085, -260, 672, 287, 107, 287, 395, - 204, 517, -260, -260, 378, 589, 709, 227, 523, 590, - 206, 792, 378, 378, 227, 756, 757, 710, 711, 712, - 713, 714, 715, 378, 468, 378, 378, 213, 833, 834, - 378, 366, 367, -349, 495, 937, -349, 246, 378, -349, - -349, -349, 378, 674, 553, 378, 1140, 676, 327, 378, - 277, 1144, 559, 560, 561, 334, 565, -349, -349, 744, - 716, 1152, 673, 577, 378, 612, 614, 378, 301, -260, - -260, -260, 586, 587, 44, 45, 46, 617, 618, 407, - 992, 993, 408, 769, 303, 378, 835, -295, 54, 628, - 775, 396, 631, 743, 745, -369, 228, 671, 208, 378, - 108, 873, 874, 875, 717, 718, 637, 913, 779, 884, - 675, 1177, 758, 881, 677, 305, 469, 168, 1077, 619, - 770, 771, 646, 647, 648, 678, 496, 184, 679, 186, - 1078, 772, 1079, 773, 774, 785, 785, 877, 988, 660, - 209, 658, 879, 880, 1058, 1059, 989, 641, 201, 313, - 990, 202, 203, 994, 328, 669, 670, 995, 391, 378, - 643, 394, 659, 457, 204, 378, 1080, 963, 687, 458, - 459, 460, 998, 205, 206, 999, 691, 433, 692, 329, - 680, 822, 823, 402, 330, 434, 435, 461, 462, 282, - 282, 331, 667, 1124, 824, 403, 700, 368, 369, 702, - 1092, 704, 370, 320, 825, 971, 58, 1125, 972, 506, - 366, 367, 1093, 58, 1094, 320, 518, 321, 322, 323, - 58, 731, 433, 607, 324, 737, 404, 643, 378, 207, - 434, 435, 58, 362, 405, 1139, 324, 375, 44, 45, - 46, 436, 540, 541, 514, 542, 515, 724, 1095, 437, - 438, 332, 794, 795, 1172, 1173, 384, 796, 797, 1175, - 58, 543, 208, 945, 946, 1178, 1179, 1180, 826, 333, - 841, 439, 440, 441, 58, 544, 58, 1143, 457, 1151, - 798, 959, 545, 784, 458, 459, 460, 335, 788, 996, - 997, 789, 827, 641, 790, 337, 862, 866, 1067, 1068, - 371, 372, 461, 462, 338, 1204, 385, 810, 1065, 363, - 364, 365, 339, 591, 592, 593, 439, 440, 441, 1070, - 1071, 278, 279, 388, 340, 799, 800, 801, 341, 1020, - 1021, 601, 602, 1022, 342, 1023, 393, 343, 890, 802, - 892, 344, 345, 848, 809, 1020, 1021, 851, 852, 1043, - 854, 1023, 856, 346, 347, 859, 348, 1024, 498, 863, - 864, 865, 349, 350, 351, 867, 352, 353, 354, 355, - 1034, 356, 357, 1024, 358, 412, 422, 406, 423, 413, - 843, 415, 416, 421, 1046, 1025, 424, 427, -372, 473, - 266, 103, 532, 588, 882, 535, 607, 610, 886, 611, - 622, 1025, 1026, 1027, 534, 623, 624, 625, 635, 636, - 899, 900, 650, 498, 287, 663, 681, 689, 1026, 1027, - 378, 703, 729, 732, 832, 730, 740, 552, 734, 554, - 555, 556, 557, 749, 558, 750, 751, 752, 753, 778, - 759, 566, 567, 568, 893, 894, 760, 761, 762, 579, - 580, 581, 582, 583, 584, 585, 763, 764, 783, 765, - 766, 804, 767, 776, 777, 805, 958, 807, 923, 819, - 845, 820, 821, 857, 1113, 858, 258, 870, 930, 876, - 888, 896, 909, 898, 904, 910, 914, 1122, 905, 927, - 934, 944, 1126, 935, 940, 1129, 962, 947, 975, 968, - 1006, 977, 985, 1002, 991, 1048, 1061, 1072, 1074, 1105, - 986, 1112, 627, 1114, 1121, 630, 1146, 1123, 951, 1160, - 1163, 955, 956, 1166, 1188, 482, 1189, 1191, 1193, 1192, - 1203, 1209, 960, 961, 1018, 641, 643, 1200, 1131, 1206, - 1159, 1017, 1128, 883, 969, 1050, 704, 1116, 239, 1165, - 1035, 948, 530, 452, 68, 110, 652, 942, 781, 780, - 662, 111, 304, 1153, 248, 695, 379, 1101, 933, 1181, - 984, 1176, 1045, 936, 1174, 1133, 818, 696, 869, 943, - 642, 694, 967, 965, 1055, 966, 1185, 478, 551, 957, - 1001, 1109, 1164, 1005, 895, 0, 0, 0, 0, 0, + 98, 612, 552, 101, 774, 211, 257, 258, 505, 791, + 507, 264, 266, 532, 541, 728, 672, 340, 734, 1082, + 523, 568, 183, 1062, 1063, 690, 189, 190, 192, 194, + 196, 921, 200, 201, 259, 202, 924, 525, 602, 603, + 604, 605, 606, 363, 364, 528, 474, 484, 476, 233, + 99, 752, 219, 102, 1060, 228, 382, 1097, 237, 554, + 741, 691, 382, 234, 852, 247, 116, 251, 260, 944, + 271, 382, 1042, 1216, 316, 276, 222, 692, 274, 277, + 619, 277, 277, 284, 1160, 197, 191, 377, 678, 1203, + 198, 891, 380, 742, 297, 263, 329, 299, 322, 301, + -626, 302, 370, 371, 680, 338, -262, 311, 58, 313, + 1089, 382, 1090, 485, -262, -262, -252, 220, 1161, 326, + 265, 58, 1037, 791, 1043, -262, 1091, 684, 171, 260, + 685, 181, 173, -262, -262, 177, 3, 853, 229, 179, + 226, 103, 828, 829, 235, 242, 1204, 1083, 229, -386, + 244, 267, 945, 292, 260, 830, 413, 679, 575, 1084, + 577, 1085, 569, 316, 745, 831, 384, 385, 386, 170, + 748, 1038, 390, 681, 391, -426, 983, 393, 307, 186, + 747, 188, 686, 401, 483, 1098, 402, 378, 403, 317, + 236, 100, 405, 221, 570, 1086, 58, 1099, 272, 1100, + -262, -262, -262, 922, 381, 1192, 261, 415, 925, 897, + 58, 273, 422, 199, 424, -626, -255, -444, 58, 529, + 58, 430, 1217, 432, 753, 754, -371, 230, 450, 832, + 788, 58, 106, 1101, 579, 58, -426, 457, 1090, 459, + 58, 58, 732, 58, 58, 475, 58, 696, 703, 704, + 486, 58, 1091, 833, 498, 58, 600, 601, 504, 1173, + 506, -426, 508, 1039, 511, 382, 512, 513, 514, 172, + 107, 515, 670, 174, 382, 785, 178, 517, 317, 382, + 180, 227, 520, 580, 581, 284, 243, 524, 1174, 526, + 613, 245, 268, 382, -245, 382, 797, -440, 834, 576, + 399, 578, 382, 255, 187, 382, -351, 664, 472, -351, + 682, 1046, -351, -351, -351, 1104, 1105, 1106, 595, 712, + 713, 714, 596, 499, 1047, -2, 382, 382, 665, 461, + -351, -351, 204, 205, 382, 462, 463, 464, 798, 1019, + 839, 840, 212, 1022, 382, 206, 213, 382, 382, 478, + 239, 715, 256, 465, 466, 208, 382, 382, 943, 215, + -297, 54, 716, 717, 718, 719, 720, 721, 382, 382, + 382, 1146, 248, 108, 750, 582, 1150, 370, 371, 683, + 279, 203, 760, 761, 204, 205, 1158, 762, 763, 618, + 620, 305, 400, 382, 1175, 382, 382, 206, 841, 58, + 473, 623, 624, 883, 775, 722, 207, 208, 885, 886, + 998, 999, 502, 634, 781, 500, 637, 303, 677, 44, + 45, 46, 382, 382, 382, 307, 58, 879, 880, 881, + 643, 828, 829, 890, 749, 751, 1183, 315, 479, 887, + 372, 373, 764, 210, 830, 374, 652, 653, 654, 723, + 724, 919, 776, 330, 831, 777, 778, 211, 538, 791, + 791, 366, 209, 666, 779, 780, 437, 502, 1064, 1065, + 379, 44, 45, 46, 438, 439, 994, 995, 996, 675, + 676, 977, 388, 558, 978, 560, 561, 562, 563, 389, + 564, 175, 693, 58, 176, 210, 300, 572, 573, 574, + 697, 1000, 698, 1001, 1004, 585, 586, 587, 588, 589, + 590, 591, 411, 284, 284, 412, 58, 392, 832, 510, + 706, 58, 397, 708, 522, 710, 1083, 437, 800, 801, + 1005, 1130, 1131, 802, 803, 438, 439, 382, 1084, 398, + 1085, 331, 833, 375, 376, 737, 440, 965, 332, 743, + 58, 1098, 333, 613, 441, 442, 804, 406, 951, 952, + 443, 444, 445, 1099, 58, 1100, 334, 1145, 633, 407, + 410, 636, 544, 545, 1086, 546, 1026, 1027, 58, 416, + 1028, 1149, 1029, 1026, 1027, 1178, 1179, 1049, 335, 1029, + 1181, 547, 58, 847, 336, 1157, 1184, 1185, 1186, 1101, + 408, 805, 806, 807, 1030, 548, 1002, 1003, 409, 790, + 337, 1030, 549, 339, 794, 808, 382, 795, 969, 868, + 796, 443, 444, 445, 518, 1071, 519, 872, 1210, 341, + 322, 342, 1031, 816, 461, 343, 1040, 1073, 1074, 1031, + 462, 463, 464, 344, 323, 324, 325, 1076, 1077, 1032, + 1033, 326, 367, 368, 369, 345, 1032, 1033, 465, 466, + 346, 896, 347, 898, 597, 598, 599, 280, 281, 854, + 607, 608, 348, 857, 858, 349, 860, 350, 862, 351, + 352, 865, 353, 354, 355, 869, 870, 871, 356, 357, + 358, 873, 359, 360, 361, 362, 425, 426, 417, 419, + 420, 427, 431, 428, -374, 477, 268, 103, 536, 556, + 539, 557, 616, 594, 1052, 613, 617, 628, 629, 630, + 888, 631, 641, 669, 892, 642, 656, 687, 382, 695, + 709, 735, 736, 738, 740, 784, 905, 906, 746, 789, + 1119, 755, 756, 757, 810, 758, 759, 765, 289, 766, + 767, 811, 768, 1128, 769, 296, 770, 813, 1132, 771, + 772, 1135, 773, 782, 783, 825, 851, 826, 827, 838, + 863, 864, 312, 260, 314, 876, 882, 894, 902, 904, + 910, 911, 1152, 933, 916, 920, 940, 950, 941, 964, + 953, 968, 981, 974, 929, 983, 997, 991, 1054, 1067, + 1008, 1012, 1078, 1080, 936, 1111, 1165, 1118, 1120, 1127, + 843, 844, 845, 846, 1129, 1171, 1166, 1169, 365, 1195, + 946, 1172, 1194, 1197, 1198, 1199, 1206, 1209, 1215, 1024, + 1137, 1023, 1134, 992, 889, 1212, 975, 1056, 867, 1122, + 241, 534, 456, 395, 957, 658, 954, 961, 962, 1041, + 786, 486, 1191, 948, 404, 787, 68, 668, 966, 967, + 110, 111, 306, 1159, 250, 701, 1107, 383, 502, 939, + 1182, 1187, 710, 502, 502, 942, 1180, 423, 1139, 702, + 824, 875, 648, 700, 1061, 949, 482, 963, 973, 1170, + 1115, 901, 0, 0, 0, 1051, 990, 907, 908, 0, + 0, 909, 555, 0, 0, 0, 912, 0, 0, 0, + 0, 0, 913, 0, 914, 0, 1007, 0, 0, 1011, + 0, 0, 0, 0, 0, 0, 917, 0, 0, 0, + 0, 0, 918, 0, 0, 0, 0, 0, 0, 1036, + 0, 0, 289, 0, 289, 0, 0, 521, 927, 928, + 1044, 0, 0, 0, 527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1030, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1038, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1014, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1038, 1038, 0, 0, 0, - 0, 0, 0, 0, 1117, 0, 0, 0, 0, 0, + 0, 1044, 1044, 0, 0, 0, 0, 1123, 0, 0, + 0, 0, 559, 0, 0, 0, 0, 0, 0, 956, + 565, 566, 567, 0, 571, 0, 0, 0, 0, 0, + 0, 583, 502, 0, 0, 0, 0, 0, 0, 0, + 592, 593, 0, 0, 0, 0, 957, 957, 957, 0, + 0, 0, 1108, 1109, 1110, 0, 0, 1112, 1113, 0, + 0, 0, 0, 0, 0, 743, 0, 1117, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1125, + 1126, 0, 0, 0, 0, 0, 0, 625, 1133, 0, + 0, 1136, 0, 0, 0, 0, 0, 1141, 0, 0, + 0, 0, 957, 0, 1147, 1021, 0, 957, 0, 1151, + 0, 1025, 1153, 0, 0, 647, 0, 957, 0, 0, + 0, 502, 0, 0, 0, 0, 395, 0, 649, 0, + 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1162, 0, 0, 0, 0, 0, 0, 0, + 0, 1205, 0, 0, 0, 0, 0, 0, 0, 0, + 673, 1213, 0, 0, 0, 0, 0, 957, 0, 0, + 1069, 0, 0, 0, 1070, 1188, 1189, 0, 0, 0, + 0, 0, 0, 1044, 0, 0, 0, 0, 0, 1081, + 0, 0, 0, 0, 0, 649, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1202, 0, 730, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 502, 0, 0, 0, 282, + 1218, 1220, 1221, 0, 0, -319, -319, 0, 502, 0, + 0, 0, -319, 502, 0, 0, 502, 0, 0, 1138, + 0, 0, -319, -319, 0, 0, -319, -319, 0, 0, + -319, -319, 0, 647, -319, 0, 0, 502, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1052, 1053, 0, 0, 0, 0, 0, 0, 0, - 951, 951, 951, 0, 0, 0, 1102, 1103, 1104, 0, - 0, 1106, 1107, 0, 0, 0, 0, 0, 0, 737, - 0, 1111, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1119, 1120, 0, 0, 0, 0, 0, - 0, 0, 1127, 0, 0, 1130, 0, 0, 0, 0, - 0, 1135, 837, 838, 839, 840, 951, 0, 1141, 0, - 0, 951, 0, 1145, 0, 0, 1147, 0, 0, 0, - 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, - 861, 0, 0, 0, 0, 1156, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1156, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1199, 0, - 498, 0, 0, 0, 0, 498, 498, 0, 1207, 0, - 0, 951, 0, 0, 0, 0, 0, 1158, 0, 1182, - 1183, 0, 0, 0, 0, 0, 0, 1038, 0, 901, - 902, 0, 0, 903, 0, 0, 0, 0, 906, 0, - 0, 0, 0, 0, 907, 0, 908, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1196, 911, 0, - 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1212, 1214, 1215, 0, 0, 0, - 921, 922, 0, 0, 0, 0, 0, 280, 0, 0, - 0, 0, 0, -317, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 641, -317, -317, - 0, 0, -317, -317, 0, 0, -317, -317, 0, 0, - -317, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 950, 0, 0, 0, 0, 0, 0, 0, -317, - -317, 0, 0, -317, 498, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 431, 0, 0, 0, 0, 0, - -285, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -285, -285, 0, 0, -285, - -285, 0, 0, -285, -285, 0, 0, -285, -317, 0, - 0, 0, 0, 0, 0, 0, 0, -317, 0, -317, - -317, -317, -317, -317, -317, -317, -285, -285, -317, 0, - -285, 0, -317, 0, 0, 0, -317, 1015, 0, 0, - 0, 0, 0, 1019, 0, -317, -317, -317, -317, 0, - 0, 0, 0, 498, 0, -317, 0, -317, -317, -317, - 0, -317, -317, -317, -317, -317, 0, 0, 0, -317, - 0, 0, 0, 0, -317, -285, 58, -317, 0, 281, - 0, 0, 0, 0, -285, 0, -285, -285, -285, -285, - -285, -285, -285, 0, 0, -285, 0, 0, 0, -285, - 0, 0, 1063, -285, 0, 0, 1064, 0, 0, 0, - 0, 0, -285, -285, -285, -285, 0, 0, 0, 0, - 0, 1075, -285, 0, -285, -285, -285, 0, -285, -285, - -285, -285, -285, 250, 0, 0, -285, 0, 0, -376, - 0, -285, 0, 0, -285, -285, 0, 0, 0, 0, - 0, 0, 0, 0, -376, -376, 0, 498, -376, -376, - 0, 0, -376, -376, 0, 0, -376, 0, 0, 0, - 498, -376, 0, 0, 0, 498, 0, 0, 498, 0, - 0, 1132, 0, 0, 0, -376, -376, 0, 0, -376, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 498, - 191, 0, 0, 0, 0, 0, -263, 0, 0, 0, + 0, 0, 0, -319, -319, 0, 0, -319, 0, 0, + 0, 502, 0, 0, 0, 0, 0, 0, 0, 0, + 502, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -263, -263, 498, 0, -263, -263, 0, 0, -263, - -263, 0, 498, -263, -376, 0, 0, 0, 0, 0, - 0, 0, 0, -376, 0, -376, -376, -376, -376, -376, - -376, -376, -263, -263, -376, 0, -263, 0, -376, 0, - -376, 0, -376, 0, 0, 0, 0, 0, 0, 498, - 0, -376, -376, -376, -376, 0, 0, 0, 0, 0, - 0, -376, 0, -376, -376, -376, 0, -376, -376, -376, - -376, -376, 0, 0, 0, -376, 0, 0, 0, 0, - -376, -263, 0, -376, 0, 0, 0, 0, 0, 0, - -263, 0, -263, -263, -263, -263, -263, -263, -263, 0, - 0, -263, 0, 0, 0, -263, 0, 0, 0, -263, - 0, 0, 0, 0, 0, 0, 0, 0, -263, -263, - -263, -263, 0, 0, 0, 0, 0, 0, -263, 0, - -263, -263, -263, 0, -263, -263, -263, -263, -263, 1088, - 0, 0, -263, 0, 0, -469, 0, -263, 0, 58, - -263, 0, 0, 1089, 0, 0, 0, 0, 0, 0, - -469, -469, 0, 0, -469, -469, 0, 0, -469, -469, - 0, 0, -469, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -319, 0, 0, 0, 0, 502, 0, 0, + 0, -319, 0, -319, -319, -319, -319, -319, -319, -319, + 849, 0, -319, 0, 0, 0, -319, 0, 0, 0, + -319, 0, 0, 0, 0, 0, 0, 0, 0, -319, + -319, -319, -319, 0, 0, 0, 0, 0, 0, -319, + 0, -319, -319, -319, 289, -319, -319, -319, -319, -319, + 0, 0, 0, -319, 0, 0, 0, 0, -319, 0, + 58, -319, 0, 283, 435, 0, 0, 0, 0, 0, + -287, -287, 0, 0, 899, 900, 0, -287, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -287, -287, 0, + 0, -287, -287, 0, 0, -287, -287, 0, 0, -287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -469, -469, 0, 0, -469, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, - 0, 0, -614, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -614, -614, 0, - 0, -614, -614, 0, 0, -614, -614, 0, 0, -614, - -469, 0, 0, 0, 0, 0, 0, 0, 0, -469, - 0, -469, -469, -469, -469, -469, -469, -469, -614, -614, - -469, 0, -614, 0, -469, 0, 0, 0, -469, 0, - 0, 0, 0, 0, 0, 0, 0, -469, -469, -469, - -469, 0, 0, 0, 0, 0, 0, -469, 0, -469, - -469, -469, 0, -469, -469, -469, -469, -469, 0, 0, - 0, -469, 0, 0, 0, 0, -469, -614, 0, -469, - 0, 0, 0, 0, 0, 0, -614, 0, -614, -614, - -614, -614, -614, -614, -614, 0, 0, -614, 0, 0, - 0, -614, 0, 0, 0, -614, 0, 0, 0, 0, - 0, 0, 0, 0, -614, -614, -614, -614, 0, 114, - 0, 0, 0, 0, -614, -609, -614, -614, -614, 0, - -614, -614, -614, -614, -614, 0, 0, 0, -614, 0, - -609, -609, 0, -614, -609, -609, -614, 0, -609, -609, - 0, 0, -609, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 915, 0, 0, 0, 0, 0, -287, -287, + 0, 0, -287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -609, -609, 0, 0, -609, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, - 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 120, 121, 0, - 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, - -609, 0, 0, 0, 0, 0, 0, 0, 0, -609, - 0, -609, -609, -609, -609, -609, -609, -609, 127, 128, - -609, 0, 129, 0, -609, 0, 0, 0, -609, 0, - 0, 0, 0, 0, 0, 0, 0, -609, -609, -609, - -609, 0, 0, 0, 0, 0, 0, -609, 0, -609, - -609, -609, 0, -609, -609, -609, -609, -609, 0, 0, - 0, -609, 0, 0, 0, 0, -609, 130, 0, -609, - 0, 0, 0, 0, 0, 0, 131, 0, 132, 133, - 134, 135, 136, 137, 138, 0, 0, 139, 0, 0, - 0, 140, 0, 0, 0, 141, 0, 0, 0, 0, - 0, 0, 0, 0, 142, 143, 144, 145, 0, 183, - 0, 0, 0, 0, 146, 119, 147, 148, 149, 0, - 150, 151, 152, 153, 154, 0, 0, 0, 155, 0, - 120, 121, 0, 156, 122, 123, 157, 0, 124, 125, - 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 128, 0, 0, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, - 0, 0, -267, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -267, -267, 0, - 0, -267, -267, 0, 0, -267, -267, 0, 0, -267, - 130, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 0, 132, 133, 134, 135, 136, 137, 138, -267, -267, - 139, 0, -267, 0, 140, 0, 0, 0, 141, 0, - 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, - 145, 0, 0, 0, 0, 0, 0, 146, 0, 147, - 148, 149, 0, 150, 151, 152, 153, 154, 0, 0, - 0, 155, 0, 0, 0, 0, 156, -267, 0, 157, - 0, 0, 0, 0, 0, 0, -267, 0, -267, -267, - -267, -267, -267, -267, -267, 0, 0, -267, 0, 0, - 0, -267, 0, 0, 0, -267, 0, 0, 0, 0, - 0, 0, 0, 0, -267, -267, -267, -267, 0, 285, - 0, 0, 0, 0, -267, 119, -267, -267, -267, 0, - -267, -267, -267, -267, -267, 0, 0, 0, -267, 0, - 120, 121, 0, -267, 122, 123, -267, 0, 124, 125, - 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 128, 0, 0, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 292, 0, 0, 0, - 0, 0, -601, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -601, -601, 0, - 0, -601, -601, 0, 0, -601, -601, 0, 0, -601, - 130, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 0, 132, 133, 134, 135, 136, 137, 138, -601, -601, - 139, 0, -601, 0, 140, 0, 0, 0, 141, 0, - 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, - 145, 0, 0, 0, 0, 0, 0, 146, 0, 147, - 148, 149, 0, 150, 151, 152, 153, 154, 0, 0, - 0, 155, 0, 0, 0, 0, 156, -601, 0, 157, - 0, 0, 0, 0, 0, 0, -601, 0, -601, -601, - -601, -601, -601, -601, -601, 0, 0, -601, 0, 0, - 0, -601, 0, 0, 0, -601, 0, 0, 0, 0, - 0, 0, 0, 0, -601, -601, -601, -601, 0, 390, - 0, 0, 0, 0, -601, 119, -601, -601, -601, 0, - -601, -601, -601, -601, -601, 0, 0, 0, -601, 0, - 120, 121, 0, -601, 122, 123, -601, 0, 124, 125, - 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 647, 649, -287, 0, 0, + 0, 0, 0, 0, 0, 0, -287, 0, -287, -287, + -287, -287, -287, -287, -287, 0, 0, -287, 0, 0, + 0, -287, 0, 0, 0, -287, 0, 0, 0, 0, + 0, 0, 0, 0, -287, -287, -287, -287, 0, 0, + 0, 0, 0, 971, -287, 972, -287, -287, -287, 0, + -287, -287, -287, -287, -287, 252, 0, 0, -287, 0, + 0, -378, -378, -287, 0, 0, -287, -287, -378, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -378, -378, + 0, 0, -378, -378, 0, 0, -378, -378, 0, 0, + -378, 0, 0, 0, 0, -378, 0, 0, 0, 0, + 0, 1020, 0, 0, 0, 0, 0, 0, 0, -378, + -378, 0, 0, -378, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 0, 0, 0, 0, 0, -265, -265, + 0, 0, 0, 0, 0, -265, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -265, -265, 0, 0, -265, + -265, 1058, 1059, -265, -265, 0, 0, -265, -378, 0, + 0, 0, 0, 0, 0, 0, 0, -378, 0, -378, + -378, -378, -378, -378, -378, -378, -265, -265, -378, 0, + -265, 0, -378, 0, -378, 0, -378, 0, 0, 0, + 0, 0, 0, 0, 0, -378, -378, -378, -378, 0, + 0, 0, 0, 0, 0, -378, 0, -378, -378, -378, + 0, -378, -378, -378, -378, -378, 0, 0, 0, -378, + 0, 0, 0, 0, -378, -265, 0, -378, 0, 0, + 0, 0, 0, 0, -265, 0, -265, -265, -265, -265, + -265, -265, -265, 0, 0, -265, 0, 0, 0, -265, + 0, 0, 0, -265, 0, 0, 0, 0, 0, 0, + 0, 0, -265, -265, -265, -265, 0, 0, 0, 0, + 0, 0, -265, 0, -265, -265, -265, 0, -265, -265, + -265, -265, -265, 1094, 0, 0, -265, 1164, 0, -471, + -471, -265, 0, 58, -265, 0, -471, 0, 0, 1095, + 0, 0, 0, 0, 0, 0, -471, -471, 0, 0, + -471, -471, 0, 0, -471, -471, 0, 0, -471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 128, 0, 0, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 547, 0, 0, 0, - 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 120, 121, 0, - 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, - 130, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 0, 132, 133, 134, 135, 136, 137, 138, 127, 128, - 139, 0, 129, 0, 140, 0, 0, 0, 141, 0, - 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, - 145, 0, 0, 0, 0, 0, 0, 146, 0, 147, - 148, 149, 0, 150, 151, 152, 153, 154, 0, 0, - 0, 155, 0, 0, 0, 0, 156, 130, 0, 157, - 0, 0, 0, 0, 0, 0, 131, 0, 132, 133, - 134, 135, 136, 137, 138, 0, 0, 139, 0, 0, - 0, 140, 0, 0, 0, 141, 0, 0, 0, 0, - 0, 0, 0, 0, 142, 143, 144, 145, 0, 723, - 0, 0, 0, 0, 146, 119, 147, 148, 149, 0, - 150, 151, 152, 153, 154, 0, 0, 0, 155, 0, - 120, 121, 0, 156, 122, 123, 157, 0, 124, 125, - 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -471, -471, 0, + 0, -471, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 112, 0, 0, + 0, 0, 0, -616, -616, 0, 0, 0, 0, 0, + -616, 0, 0, 0, 0, 0, 0, 647, 0, 0, + -616, -616, 0, 0, -616, -616, -471, 0, -616, -616, + 0, 0, -616, 0, 0, -471, 0, -471, -471, -471, + -471, -471, -471, -471, 0, 0, -471, 0, 0, 0, + -471, -616, -616, 0, -471, -616, 0, 0, 0, 0, + 0, 0, 0, -471, -471, -471, -471, 0, 0, 0, + 0, 0, 0, -471, 0, -471, -471, -471, 0, -471, + -471, -471, -471, -471, 0, 0, 0, -471, 0, 0, + 0, 0, -471, 0, 0, -471, 0, 0, 0, 0, + -616, 0, 0, 0, 0, 0, 0, 0, 0, -616, + 0, -616, -616, -616, -616, -616, -616, -616, 0, 0, + -616, 0, 0, 0, -616, 0, 0, 0, -616, 0, + 0, 0, 0, 0, 0, 0, 0, -616, -616, -616, + -616, 0, 0, 0, 0, 0, 0, -616, 0, -616, + -616, -616, 114, -616, -616, -616, -616, -616, -611, -611, + 0, -616, 0, 0, 0, -611, -616, 0, 0, -616, + 0, 0, 0, 0, 0, -611, -611, 0, 0, -611, + -611, 0, 0, -611, -611, 0, 0, -611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 128, 0, 0, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 860, 0, 0, 0, - 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 120, 121, 0, + 0, 0, 0, 0, 0, 0, -611, -611, 0, 0, + -611, 0, 0, 0, 0, 0, 0, 0, 0, 118, + 0, 0, 0, 0, 0, 119, 120, 0, 0, 0, + 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 122, 123, 0, 0, 124, 125, 0, 0, + 126, 127, 0, 0, 128, -611, 0, 0, 0, 0, + 0, 0, 0, 0, -611, 0, -611, -611, -611, -611, + -611, -611, -611, 129, 130, -611, 0, 131, 0, -611, + 0, 0, 0, -611, 0, 0, 0, 0, 0, 0, + 0, 0, -611, -611, -611, -611, 0, 0, 0, 0, + 0, 0, -611, 0, -611, -611, -611, 0, -611, -611, + -611, -611, -611, 0, 0, 0, -611, 0, 0, 0, + 0, -611, 132, 0, -611, 0, 0, 0, 0, 0, + 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, + 0, 0, 141, 0, 0, 0, 142, 0, 0, 0, + 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, + 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, + 0, 149, 150, 151, 185, 152, 153, 154, 155, 156, + 119, 120, 0, 157, 0, 0, 0, 121, 158, 0, + 0, 159, 0, 0, 0, 0, 0, 122, 123, 0, + 0, 124, 125, 0, 0, 126, 127, 0, 0, 128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, + 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, + 0, 217, 0, 0, 0, 0, 0, -269, -269, 0, + 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -269, -269, 0, 0, -269, -269, + 0, 0, -269, -269, 0, 0, -269, 132, 0, 0, + 0, 0, 0, 0, 0, 0, 133, 0, 134, 135, + 136, 137, 138, 139, 140, -269, -269, 141, 0, -269, + 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, + 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, + 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, + 152, 153, 154, 155, 156, 0, 0, 0, 157, 0, + 0, 0, 0, 158, -269, 0, 159, 0, 0, 0, + 0, 0, 0, -269, 0, -269, -269, -269, -269, -269, + -269, -269, 0, 0, -269, 0, 0, 0, -269, 0, + 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, + 0, -269, -269, -269, -269, 0, 0, 0, 0, 0, + 0, -269, 0, -269, -269, -269, 287, -269, -269, -269, + -269, -269, 119, 120, 0, -269, 0, 0, 0, 121, + -269, 0, 0, -269, 0, 0, 0, 0, 0, 122, + 123, 0, 0, 124, 125, 0, 0, 126, 127, 0, + 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 129, 130, 0, 0, 131, 0, 0, 0, 0, 0, + 0, 0, 0, 294, 0, 0, 0, 0, 0, -603, + -603, 0, 0, 0, 0, 0, -603, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -603, -603, 0, 0, + -603, -603, 0, 0, -603, -603, 0, 0, -603, 132, + 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, + 134, 135, 136, 137, 138, 139, 140, -603, -603, 141, + 0, -603, 0, 142, 0, 0, 0, 143, 0, 0, + 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, + 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, + 151, 0, 152, 153, 154, 155, 156, 0, 0, 0, + 157, 0, 0, 0, 0, 158, -603, 0, 159, 0, + 0, 0, 0, 0, 0, -603, 0, -603, -603, -603, + -603, -603, -603, -603, 0, 0, -603, 0, 0, 0, + -603, 0, 0, 0, -603, 0, 0, 0, 0, 0, + 0, 0, 0, -603, -603, -603, -603, 0, 0, 0, + 0, 0, 0, -603, 0, -603, -603, -603, 394, -603, + -603, -603, -603, -603, 119, 120, 0, -603, 0, 0, + 0, 121, -603, 0, 0, -603, 0, 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, - 130, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 0, 132, 133, 134, 135, 136, 137, 138, 127, 128, - 139, 0, 129, 0, 140, 0, 0, 0, 141, 0, - 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, - 145, 0, 0, 0, 0, 0, 0, 146, 0, 147, - 148, 149, 0, 150, 151, 152, 153, 154, 0, 0, - 0, 155, 0, 0, 0, 0, 156, 130, 0, 157, - 0, 0, 0, 0, 0, 0, 131, 0, 132, 133, - 134, 135, 136, 137, 138, 0, 0, 139, 0, 0, - 0, 140, 0, 0, 0, 141, 0, 0, 0, 0, - 0, 0, 0, 0, 142, 143, 144, 145, 0, 0, - 0, 0, 0, 0, 146, 0, 147, 148, 149, 0, - 150, 151, 152, 153, 154, 0, 0, 5, 155, 0, - 0, 0, 485, 156, 7, 8, 157, 0, 0, 0, - 0, 0, 11, 12, -410, 13, 0, 0, 0, 0, - 14, 15, 0, 0, 0, 16, 0, 0, 486, 487, - 0, 18, 19, 20, 488, 22, 23, 24, 0, 25, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, + 127, 0, 0, 128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, + 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, + 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, + 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, + 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 0, 134, 135, 136, 137, 138, 139, 140, 129, + 130, 141, 0, 131, 0, 142, 0, 0, 0, 143, + 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, + 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, + 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, + 0, 0, 157, 0, 0, 0, 0, 158, 132, 0, + 159, 0, 0, 0, 0, 0, 0, 133, 0, 134, + 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, + 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, + 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, + 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, + 729, 152, 153, 154, 155, 156, 119, 120, 0, 157, + 0, 0, 0, 121, 158, 0, 0, 159, 0, 0, + 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, + 0, 126, 127, 0, 0, 128, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 129, 130, 0, 0, 131, 0, + 0, 0, 0, 0, 0, 0, 0, 866, 0, 0, + 0, 0, 0, 119, 120, 0, 0, 0, 0, 0, + 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 122, 123, 0, 0, 124, 125, 0, 0, 126, 127, + 0, 0, 128, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 0, 134, 135, 136, 137, 138, 139, + 140, 129, 130, 141, 0, 131, 0, 142, 0, 0, + 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, + 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, + 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, + 156, 0, 0, 0, 157, 0, 0, 0, 0, 158, + 132, 0, 159, 0, 0, 0, 0, 0, 0, 133, + 0, 134, 135, 136, 137, 138, 139, 140, 0, 0, + 141, 0, 0, 0, 142, 0, 0, 0, 143, 0, + 0, 0, 0, 0, 0, 0, 0, 144, 145, 146, + 147, 0, 0, 0, 0, 0, 0, 148, 0, 149, + 150, 151, 0, 152, 153, 154, 155, 156, 0, 5, + 0, 157, 0, 0, 489, 0, 158, 7, 8, 159, + 0, 0, 0, 0, 0, 0, 11, 12, -412, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 0, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, -412, 0, 0, + 0, -412, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, -411, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, -411, 0, 0, + 0, -411, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 6, 0, 0, 7, 8, 9, + 0, 0, 0, 10, 0, 0, 11, 12, 0, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 17, 0, 0, 18, 19, 20, 21, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 39, 0, 40, 0, 0, 41, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 497, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 655, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 674, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 856, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 955, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 986, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, -410, 0, 0, 0, -410, 29, 30, - 31, 32, 0, 0, 0, 0, 0, 0, 0, 33, - 34, 35, 36, 0, 0, 0, 37, 0, 0, 38, - 0, 0, 40, 0, 0, 489, 0, 42, 43, 44, - 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, - 51, 52, 0, 53, 54, 0, 0, 0, 0, 0, - 0, 0, 55, 5, 0, 0, 56, 0, 485, 57, - 7, 8, 0, 0, 0, 0, 0, 0, 11, 12, - -409, 13, 0, 0, 0, 0, 14, 15, 0, 0, - 0, 16, 0, 0, 486, 487, 58, 18, 19, 20, - 488, 22, 23, 24, 0, 25, 0, 0, 0, 0, - 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 28, 0, -409, - 0, 0, 0, -409, 29, 30, 31, 32, 0, 0, - 0, 0, 0, 0, 0, 33, 34, 35, 36, 0, - 0, 0, 37, 0, 0, 38, 0, 0, 40, 0, - 0, 489, 0, 42, 43, 44, 45, 46, 47, 48, - 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 50, 0, 0, 51, 52, 5, 53, - 54, 0, 0, 6, 0, 7, 8, 9, 55, 0, - 10, 0, 56, 11, 12, 57, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 17, - 0, 0, 18, 19, 20, 21, 22, 23, 24, 0, - 25, 0, 58, 0, 0, 0, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 39, 0, 40, 0, 0, 41, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 0, 0, 0, 0, - 0, 0, 0, 55, 5, 0, 0, 56, 0, 485, - 57, 7, 8, 0, 0, 0, 0, 0, 0, 11, - 12, 493, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 486, 487, 58, 18, 19, - 20, 488, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 489, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 0, 0, 0, 0, 0, 0, 0, 55, - 5, 0, 0, 56, 0, 485, 57, 7, 8, 0, - 0, 0, 0, 0, 0, 11, 12, 649, 13, 0, - 0, 0, 0, 14, 15, 0, 0, 0, 16, 0, - 0, 486, 487, 58, 18, 19, 20, 488, 22, 23, - 24, 0, 25, 0, 0, 0, 0, 0, 0, 0, - 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, - 0, 29, 30, 31, 32, 0, 0, 0, 0, 0, - 0, 0, 33, 34, 35, 36, 0, 0, 0, 37, - 0, 0, 38, 0, 0, 40, 0, 0, 489, 0, - 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 987, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 50, 0, 0, 51, 52, 0, 53, 54, 0, 0, - 0, 0, 0, 0, 0, 55, 5, 0, 0, 56, - 0, 485, 57, 7, 8, 0, 0, 0, 0, 0, - 0, 11, 12, 668, 13, 0, 0, 0, 0, 14, - 15, 0, 0, 0, 16, 0, 0, 486, 487, 58, - 18, 19, 20, 488, 22, 23, 24, 0, 25, 0, - 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 1050, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 28, 0, 0, 0, 0, 0, 0, 29, 30, 31, - 32, 0, 0, 0, 0, 0, 0, 0, 33, 34, - 35, 36, 0, 0, 0, 37, 0, 0, 38, 0, - 0, 40, 0, 0, 489, 0, 42, 43, 44, 45, - 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 50, 0, 0, 51, - 52, 0, 53, 54, 0, 0, 0, 0, 0, 0, - 0, 55, 5, 0, 0, 56, 0, 485, 57, 7, - 8, 0, 0, 0, 0, 0, 0, 11, 12, 850, - 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, - 16, 0, 0, 486, 487, 58, 18, 19, 20, 488, - 22, 23, 24, 0, 25, 0, 0, 0, 0, 0, - 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, - 0, 0, 0, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 0, 33, 34, 35, 36, 0, 0, - 0, 37, 0, 0, 38, 0, 0, 40, 0, 0, - 489, 0, 42, 43, 44, 45, 46, 47, 48, 0, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, - 0, 0, 0, 0, 0, 0, 0, 55, 5, 0, - 0, 56, 0, 485, 57, 7, 8, 0, 0, 0, - 0, 0, 0, 11, 12, 949, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 486, - 487, 58, 18, 19, 20, 488, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 0, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 489, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 0, 0, 0, 0, - 0, 0, 0, 55, 5, 0, 0, 56, 0, 485, - 57, 7, 8, 0, 0, 0, 0, 0, 0, 11, - 12, 980, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 486, 487, 58, 18, 19, - 20, 488, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 489, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 0, 0, 0, 0, 0, 0, 0, 55, - 5, 0, 0, 56, 0, 485, 57, 7, 8, 0, - 0, 0, 0, 0, 0, 11, 12, 981, 13, 0, - 0, 0, 0, 14, 15, 0, 0, 0, 16, 0, - 0, 486, 487, 58, 18, 19, 20, 488, 22, 23, - 24, 0, 25, 0, 0, 0, 0, 0, 0, 0, - 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, - 0, 29, 30, 31, 32, 0, 0, 0, 0, 0, - 0, 0, 33, 34, 35, 36, 0, 0, 0, 37, - 0, 0, 38, 0, 0, 40, 0, 0, 489, 0, - 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, -647, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 50, 0, 0, 51, 52, 0, 53, 54, 0, 0, - 0, 0, 0, 0, 0, 55, 5, 0, 0, 56, - 0, 485, 57, 7, 8, 0, 0, 0, 0, 0, - 0, 11, 12, 1044, 13, 0, 0, 0, 0, 14, - 15, 0, 0, 0, 16, 0, 0, 486, 487, 58, - 18, 19, 20, 488, 22, 23, 24, 0, 25, 0, - 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 1116, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 28, 0, 0, 0, 0, 0, 0, 29, 30, 31, - 32, 0, 0, 0, 0, 0, 0, 0, 33, 34, - 35, 36, 0, 0, 0, 37, 0, 0, 38, 0, - 0, 40, 0, 0, 489, 0, 42, 43, 44, 45, - 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 50, 0, 0, 51, - 52, 0, 53, 54, 0, 0, 0, 0, 0, 0, - 0, 55, 5, 0, 0, 56, 0, 485, 57, 7, - 8, 0, 0, 0, 0, 0, 0, 11, 12, -645, - 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, - 16, 0, 0, 486, 487, 58, 18, 19, 20, 488, - 22, 23, 24, 0, 25, 0, 0, 0, 0, 0, - 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, - 0, 0, 0, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 0, 33, 34, 35, 36, 0, 0, - 0, 37, 0, 0, 38, 0, 0, 40, 0, 0, - 489, 0, 42, 43, 44, 45, 46, 47, 48, 0, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, - 0, 0, 0, 0, 0, 0, 0, 55, 5, 0, - 0, 56, 0, 485, 57, 7, 8, 0, 0, 0, - 0, 0, 0, 11, 12, 1110, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 486, - 487, 58, 18, 19, 20, 488, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 0, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 489, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 0, 0, 0, 0, - 0, 0, 0, 55, 5, 0, 0, 56, 0, 485, - 57, 7, 8, 0, 0, 0, 0, 0, 0, 11, - 12, 1162, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 486, 487, 58, 18, 19, - 20, 488, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 489, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 5, - 53, 54, 0, 0, 485, 0, 7, 8, 0, 55, - 0, 0, 0, 56, 11, 12, 57, 13, 0, 0, - 0, 0, 14, 15, 0, 0, 0, 16, 0, 0, - 486, 487, 0, 18, 19, 20, 488, 22, 23, 24, - 0, 25, 0, 58, 0, 0, 0, 0, 0, 26, - 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, -635, 0, 0, 0, 0, 0, - 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, - 0, 33, 34, 35, 36, 0, 0, 0, 37, 0, - 0, 38, 0, 0, 40, 0, 0, 489, 0, 42, - 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 0, 0, 51, 52, 0, 53, 54, 0, 0, 0, - 0, 0, 0, 0, 55, 5, 0, 0, 56, 0, - 485, 57, 7, 8, 0, 0, 0, 0, 0, 0, - 11, 12, -637, 13, 0, 0, 0, 0, 14, 15, - 0, 0, 0, 16, 0, 0, 486, 487, 58, 18, - 19, 20, 488, 22, 23, 24, 0, 25, 0, 0, - 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, - 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, - 0, 0, 0, 0, 0, 0, 0, 33, 34, 35, - 36, 0, 0, 0, 37, 0, 0, 38, 0, 0, - 40, 0, 0, 489, 0, 42, 43, 44, 45, 46, - 47, 48, 0, 49, 0, 0, 0, 0, 119, 0, - 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, - 0, 53, 54, 120, 121, 0, 0, 122, 123, 0, - 55, 124, 125, 0, 56, 126, 0, 57, 0, 0, - 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 128, 0, 0, 129, 0, - 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 1168, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 120, 121, 0, 0, 122, 123, 0, 0, 124, 125, - 0, 0, 126, 130, 0, 0, 0, 0, 0, 0, - 0, 0, 131, 0, 132, 133, 134, 135, 136, 137, - 138, 127, 128, 139, 0, 129, 0, 140, 0, 475, - 0, 141, 378, 0, 0, 0, 0, 0, 0, 0, - 142, 143, 144, 145, 0, 0, 0, 0, 0, 0, - 146, 0, 147, 148, 149, 0, 150, 151, 152, 153, - 154, 0, 0, 0, 155, 0, 0, 0, 0, 156, - 130, 0, 157, 0, 0, 0, 0, 0, 0, 131, - 0, 132, 133, 134, 135, 136, 137, 138, 0, 0, - 139, 0, 0, 0, 140, 0, 0, 0, 141, 0, - 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, - 145, 0, 0, 0, 119, 0, 0, 146, 0, 147, - 148, 149, 0, 150, 151, 152, 153, 154, 0, 120, - 121, 155, 0, 122, 123, 0, 156, 124, 125, 157, - 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 0, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, -637, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 128, 0, 0, 129, 0, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, + 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 11, 12, -639, 13, + 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, + 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, + 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, + 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, + 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, + 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 0, 119, 120, 0, 0, 0, 0, 0, 121, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 122, + 123, 0, 0, 124, 125, 0, 55, 126, 127, 0, + 56, 128, 0, 57, 0, 0, 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 120, 121, 0, 0, - 122, 123, 0, 0, 124, 125, 0, 0, 126, 130, - 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, - 132, 133, 134, 135, 136, 137, 138, 127, 128, 139, - 0, 129, 0, 140, 0, 0, 0, 141, 872, 0, - 0, 0, 0, 0, 0, 0, 142, 143, 144, 145, - 0, 0, 0, 0, 0, 0, 146, 0, 147, 148, - 149, 0, 150, 151, 152, 153, 154, 0, 0, 0, - 155, 0, 0, 0, 0, 156, 130, 0, 157, 0, - 0, 0, 0, 0, 0, 131, 0, 132, 133, 134, - 135, 136, 137, 138, 0, 0, 139, 0, 0, 0, - 140, 0, 0, 0, 141, 0, 0, 0, 0, 0, - 0, 0, 0, 142, 143, 144, 145, 0, 0, 0, - 0, 0, 0, 146, 0, 147, 148, 149, 0, 150, - 151, 152, 153, 154, 0, 0, 0, 155, 0, 0, - 0, 0, 156, 0, 0, 157 + 129, 130, 0, 0, 131, 0, 0, 0, 0, 0, + 58, 0, 0, 0, 0, 0, 0, 0, 0, 119, + 120, 0, 0, 0, 0, 0, 121, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, + 124, 125, 0, 0, 126, 127, 0, 0, 128, 132, + 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, + 134, 135, 136, 137, 138, 139, 140, 129, 130, 141, + 0, 131, 0, 142, 0, 479, 0, 143, 382, 0, + 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, + 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, + 151, 0, 152, 153, 154, 155, 156, 0, 0, 0, + 157, 0, 0, 0, 0, 158, 132, 0, 159, 0, + 0, 0, 0, 0, 0, 133, 0, 134, 135, 136, + 137, 138, 139, 140, 0, 0, 141, 0, 0, 0, + 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, + 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, + 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, + 153, 154, 155, 156, 119, 120, 0, 157, 0, 0, + 0, 121, 158, 0, 0, 159, 0, 0, 0, 0, + 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, + 127, 0, 0, 128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, + 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, + 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 0, 134, 135, 136, 137, 138, 139, 140, 129, + 130, 141, 0, 131, 0, 142, 0, 0, 0, 143, + 878, 0, 0, 0, 0, 0, 0, 0, 144, 145, + 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, + 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, + 0, 0, 157, 0, 0, 0, 0, 158, 132, 0, + 159, 0, 0, 0, 0, 0, 0, 133, 0, 134, + 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, + 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, + 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, + 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, + 0, 152, 153, 154, 155, 156, 0, 0, 0, 157, + 0, 0, 0, 0, 158, 0, 0, 159 }; static const yytype_int16 yycheck[] = { - 5, 578, 262, 8, 264, 608, 378, 79, 80, 76, - 77, 296, 41, 531, 307, 476, 368, 369, 370, 371, - 372, 1, 27, 288, 537, 1, 31, 32, 33, 34, - 35, 291, 37, 38, 1, 40, 129, 247, 1, 249, - 980, 981, 1, 1, 1, 39, 64, 51, 1, 1, - 1, 62, 1, 1, 1, 1, 1, 1, 63, 1, - 314, 1, 155, 156, 1, 70, 33, 72, 1, 1, - 51, 60, 1, 13, 52, 1, 1, 0, 83, 84, - 18, 86, 87, 88, 1, 1, 32, 61, 35, 13, - 1, 33, 16, 64, 99, 1, 48, 102, 1, 104, - 33, 106, 64, 1, 51, 0, 18, 112, 1, 114, - 127, 48, 49, 148, 33, 64, 33, 83, 1, 722, - 65, 33, 170, 140, 89, 173, 51, 33, 72, 67, - 170, 96, 1, 1, 128, 170, 6, 1, 1, 1, - 72, 171, 925, 1, 16, 17, 929, 127, 113, 1, - 115, 1, 1, 1, 94, 173, 82, 29, 6, 139, - 7, 141, 140, 174, 169, 170, 171, 39, 127, 173, - 175, 160, 177, 140, 140, 180, 64, 140, 64, 127, - 139, 186, 141, 140, 189, 252, 191, 34, 140, 170, - 195, 140, 157, 141, 170, 175, 140, 173, 127, 173, - 140, 172, 173, 140, 171, 210, 148, 140, 170, 172, - 215, 140, 217, 726, 172, 173, 175, 182, 171, 224, - 171, 226, 1162, 170, 170, 170, 231, 64, 193, 148, - 170, 103, 148, 605, 140, 240, 148, 242, 170, 499, - 533, 170, 140, 248, 170, 170, 1, 140, 253, 514, - 515, 216, 257, 170, 170, 127, 261, 140, 263, 170, - 265, 471, 267, 82, 269, 270, 271, 170, 56, 274, - 64, 140, 140, 366, 367, 280, 140, 140, 140, 127, - 285, 1, 140, 288, 172, 290, 172, 292, 140, 45, - 140, 140, 64, 140, 64, 50, 3, 4, 5, 127, - 172, 64, 50, 58, 59, 64, 64, 16, 17, 140, - 1025, 1026, 1027, 141, 69, 1, 281, 37, 283, 48, - 29, 286, 77, 78, 64, 53, 33, 82, 293, 57, - 39, 87, 64, 64, 82, 172, 173, 44, 45, 46, - 47, 48, 49, 64, 48, 64, 64, 140, 92, 93, - 64, 163, 164, 73, 55, 816, 76, 82, 64, 79, - 80, 81, 64, 1, 329, 64, 1081, 1, 119, 64, - 173, 1086, 337, 338, 339, 126, 341, 97, 98, 173, - 87, 1096, 68, 348, 64, 390, 391, 64, 140, 144, - 145, 146, 357, 358, 103, 104, 105, 402, 403, 13, - 172, 173, 16, 173, 127, 64, 150, 127, 128, 414, - 173, 140, 417, 172, 172, 170, 171, 484, 127, 64, - 140, 706, 707, 708, 131, 132, 431, 779, 61, 722, - 68, 1146, 172, 718, 68, 61, 140, 18, 127, 404, - 172, 172, 447, 448, 449, 13, 147, 28, 16, 30, - 139, 172, 141, 172, 172, 1058, 1059, 711, 172, 464, - 489, 51, 716, 717, 982, 983, 172, 432, 13, 18, - 172, 16, 17, 172, 171, 480, 481, 172, 443, 64, - 445, 66, 72, 73, 29, 64, 175, 66, 493, 79, - 80, 81, 172, 38, 39, 172, 501, 50, 503, 171, - 68, 16, 17, 89, 171, 58, 59, 97, 98, 514, - 515, 171, 477, 172, 29, 101, 521, 58, 59, 524, - 127, 526, 63, 51, 39, 120, 170, 172, 123, 173, - 163, 164, 139, 170, 141, 51, 173, 65, 66, 67, - 170, 546, 50, 173, 72, 550, 132, 512, 64, 94, - 58, 59, 170, 56, 140, 173, 72, 61, 103, 104, - 105, 69, 32, 33, 281, 35, 283, 532, 175, 77, - 78, 171, 14, 15, 1137, 1138, 20, 19, 20, 1142, - 170, 51, 127, 172, 173, 1148, 1149, 1150, 103, 171, - 657, 144, 145, 146, 170, 65, 170, 173, 73, 173, - 42, 855, 72, 608, 79, 80, 81, 171, 613, 172, - 173, 616, 127, 578, 619, 171, 683, 689, 172, 173, - 161, 162, 97, 98, 171, 1202, 20, 632, 1000, 165, - 166, 167, 171, 363, 364, 365, 144, 145, 146, 172, - 173, 86, 87, 172, 171, 87, 88, 89, 171, 14, - 15, 373, 374, 18, 171, 20, 66, 171, 725, 101, - 727, 171, 171, 668, 629, 14, 15, 672, 673, 18, - 675, 20, 677, 171, 171, 680, 171, 42, 259, 684, - 685, 686, 171, 171, 171, 690, 171, 171, 171, 171, - 944, 171, 171, 42, 171, 173, 18, 140, 72, 173, - 665, 173, 173, 140, 964, 70, 140, 173, 140, 18, - 140, 140, 50, 172, 719, 51, 173, 140, 723, 140, - 20, 70, 87, 88, 305, 20, 18, 140, 48, 140, - 735, 736, 171, 314, 699, 76, 71, 172, 87, 88, - 64, 140, 173, 18, 84, 173, 173, 328, 82, 330, - 331, 332, 333, 173, 335, 172, 172, 172, 172, 53, - 172, 342, 343, 344, 729, 730, 172, 172, 172, 350, - 351, 352, 353, 354, 355, 356, 172, 172, 140, 172, - 172, 140, 173, 172, 172, 140, 853, 140, 793, 172, - 170, 173, 173, 1, 1048, 1, 33, 173, 803, 47, - 28, 82, 767, 140, 172, 172, 175, 1061, 140, 72, - 173, 171, 1066, 170, 819, 1069, 66, 140, 51, 140, - 139, 173, 140, 140, 172, 28, 80, 28, 173, 172, - 897, 173, 413, 101, 18, 416, 1090, 79, 843, 73, - 51, 846, 847, 140, 108, 850, 173, 91, 66, 140, - 66, 18, 857, 858, 932, 820, 821, 171, 1071, 172, - 1114, 931, 1068, 720, 876, 974, 871, 1050, 65, 1123, - 946, 832, 298, 239, 4, 13, 456, 820, 604, 603, - 464, 13, 109, 1108, 71, 506, 168, 1029, 806, 1151, - 895, 1143, 959, 814, 1139, 1074, 634, 512, 699, 821, - 443, 505, 871, 868, 978, 870, 1160, 251, 316, 850, - 915, 1044, 1121, 918, 732, -1, -1, -1, -1, -1, + 5, 382, 316, 8, 584, 41, 76, 77, 264, 614, + 266, 79, 80, 298, 309, 535, 480, 131, 541, 1, + 290, 1, 27, 986, 987, 1, 31, 32, 33, 34, + 35, 1, 37, 38, 1, 40, 1, 293, 372, 373, + 374, 375, 376, 157, 158, 1, 249, 1, 251, 1, + 1, 1, 1, 54, 53, 1, 66, 1, 63, 20, + 1, 37, 66, 15, 1, 70, 1, 72, 35, 1, + 1, 66, 1, 1, 35, 1, 1, 53, 83, 84, + 1, 86, 87, 88, 1, 1, 150, 62, 1, 85, + 6, 53, 64, 34, 99, 1, 119, 102, 53, 104, + 35, 106, 165, 166, 1, 128, 52, 112, 172, 114, + 1, 66, 129, 67, 60, 61, 52, 66, 35, 74, + 1, 172, 1, 728, 53, 71, 143, 15, 1, 35, + 18, 173, 1, 79, 80, 1, 0, 74, 84, 1, + 1, 142, 18, 19, 96, 1, 142, 129, 84, 74, + 1, 1, 84, 1, 35, 31, 1, 70, 1, 141, + 1, 143, 142, 35, 174, 41, 171, 172, 173, 18, + 174, 50, 177, 70, 179, 142, 175, 182, 63, 28, + 175, 30, 70, 188, 254, 129, 191, 162, 193, 150, + 142, 142, 197, 142, 174, 177, 172, 141, 129, 143, + 146, 147, 148, 173, 176, 1168, 173, 212, 173, 732, + 172, 142, 217, 129, 219, 150, 172, 142, 172, 175, + 172, 226, 150, 228, 174, 175, 172, 173, 233, 105, + 611, 172, 1, 177, 1, 172, 142, 242, 129, 244, + 172, 172, 537, 172, 172, 250, 172, 503, 518, 519, + 255, 172, 143, 129, 259, 172, 370, 371, 263, 7, + 265, 142, 267, 142, 269, 66, 271, 272, 273, 142, + 39, 276, 475, 142, 66, 63, 142, 282, 150, 66, + 142, 142, 287, 50, 51, 290, 142, 292, 36, 294, + 175, 142, 142, 66, 142, 66, 47, 142, 174, 142, + 50, 142, 66, 20, 84, 66, 75, 53, 50, 78, + 1, 129, 81, 82, 83, 1031, 1032, 1033, 55, 3, + 4, 5, 59, 57, 142, 0, 66, 66, 74, 75, + 99, 100, 18, 19, 66, 81, 82, 83, 89, 931, + 94, 95, 6, 935, 66, 31, 142, 66, 66, 41, + 58, 35, 69, 99, 100, 41, 66, 66, 822, 142, + 129, 130, 46, 47, 48, 49, 50, 51, 66, 66, + 66, 1087, 84, 142, 175, 142, 1092, 165, 166, 70, + 175, 15, 174, 175, 18, 19, 1102, 174, 175, 394, + 395, 129, 142, 66, 142, 66, 66, 31, 152, 172, + 142, 406, 407, 717, 175, 89, 40, 41, 722, 723, + 174, 175, 261, 418, 175, 149, 421, 142, 488, 105, + 106, 107, 66, 66, 66, 63, 172, 712, 713, 714, + 435, 18, 19, 728, 174, 174, 1152, 20, 130, 724, + 60, 61, 174, 129, 31, 65, 451, 452, 453, 133, + 134, 785, 174, 173, 41, 174, 174, 493, 307, 1064, + 1065, 58, 96, 468, 174, 174, 52, 316, 988, 989, + 63, 105, 106, 107, 60, 61, 174, 174, 174, 484, + 485, 122, 22, 332, 125, 334, 335, 336, 337, 22, + 339, 15, 497, 172, 18, 129, 175, 346, 347, 348, + 505, 174, 507, 174, 174, 354, 355, 356, 357, 358, + 359, 360, 15, 518, 519, 18, 172, 174, 105, 175, + 525, 172, 68, 528, 175, 530, 129, 52, 16, 17, + 174, 174, 174, 21, 22, 60, 61, 66, 141, 68, + 143, 173, 129, 163, 164, 550, 71, 861, 173, 554, + 172, 129, 173, 175, 79, 80, 44, 91, 174, 175, + 146, 147, 148, 141, 172, 143, 173, 175, 417, 103, + 142, 420, 34, 35, 177, 37, 16, 17, 172, 175, + 20, 175, 22, 16, 17, 1143, 1144, 20, 173, 22, + 1148, 53, 172, 663, 173, 175, 1154, 1155, 1156, 177, + 134, 89, 90, 91, 44, 67, 174, 175, 142, 614, + 173, 44, 74, 173, 619, 103, 66, 622, 68, 689, + 625, 146, 147, 148, 283, 1006, 285, 695, 1208, 173, + 53, 173, 72, 638, 75, 173, 950, 174, 175, 72, + 81, 82, 83, 173, 67, 68, 69, 174, 175, 89, + 90, 74, 167, 168, 169, 173, 89, 90, 99, 100, + 173, 731, 173, 733, 367, 368, 369, 86, 87, 674, + 377, 378, 173, 678, 679, 173, 681, 173, 683, 173, + 173, 686, 173, 173, 173, 690, 691, 692, 173, 173, + 173, 696, 173, 173, 173, 173, 142, 20, 175, 175, + 175, 74, 175, 142, 142, 20, 142, 142, 52, 174, + 53, 174, 142, 174, 970, 175, 142, 22, 22, 20, + 725, 142, 50, 78, 729, 142, 173, 73, 66, 174, + 142, 175, 175, 20, 84, 55, 741, 742, 175, 142, + 1054, 175, 174, 174, 142, 174, 174, 174, 89, 174, + 174, 142, 174, 1067, 174, 96, 174, 142, 1072, 174, + 174, 1075, 175, 174, 174, 174, 172, 175, 175, 86, + 1, 1, 113, 35, 115, 175, 49, 30, 84, 142, + 174, 142, 1096, 74, 174, 177, 175, 173, 172, 859, + 142, 68, 53, 142, 799, 175, 174, 142, 30, 82, + 142, 141, 30, 175, 809, 174, 1120, 175, 103, 20, + 659, 660, 661, 662, 81, 1129, 75, 53, 159, 175, + 825, 142, 110, 93, 142, 68, 173, 68, 20, 938, + 1077, 937, 1074, 903, 726, 174, 882, 980, 687, 1056, + 65, 300, 241, 184, 849, 460, 838, 852, 853, 952, + 609, 856, 1166, 826, 195, 610, 4, 468, 863, 864, + 13, 13, 109, 1114, 71, 510, 1035, 170, 717, 812, + 1149, 1157, 877, 722, 723, 820, 1145, 218, 1080, 516, + 640, 705, 447, 509, 984, 827, 253, 856, 877, 1127, + 1050, 738, -1, -1, -1, 965, 901, 746, 747, -1, + -1, 750, 318, -1, -1, -1, 755, -1, -1, -1, + -1, -1, 761, -1, 763, -1, 921, -1, -1, 924, + -1, -1, -1, -1, -1, -1, 775, -1, -1, -1, + -1, -1, 781, -1, -1, -1, -1, -1, -1, 944, + -1, -1, 283, -1, 285, -1, -1, 288, 797, 798, + 955, -1, -1, -1, 295, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 986, 987, -1, -1, -1, -1, 1057, -1, -1, + -1, -1, 333, -1, -1, -1, -1, -1, -1, 848, + 341, 342, 343, -1, 345, -1, -1, -1, -1, -1, + -1, 352, 861, -1, -1, -1, -1, -1, -1, -1, + 361, 362, -1, -1, -1, -1, 1031, 1032, 1033, -1, + -1, -1, 1037, 1038, 1039, -1, -1, 1042, 1043, -1, + -1, -1, -1, -1, -1, 1050, -1, 1052, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1064, + 1065, -1, -1, -1, -1, -1, -1, 408, 1073, -1, + -1, 1076, -1, -1, -1, -1, -1, 1082, -1, -1, + -1, -1, 1087, -1, 1089, 934, -1, 1092, -1, 1094, + -1, 940, 1097, -1, -1, 436, -1, 1102, -1, -1, + -1, 950, -1, -1, -1, -1, 447, -1, 449, -1, + -1, 1116, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1127, -1, -1, -1, -1, -1, -1, -1, + -1, 1201, -1, -1, -1, -1, -1, -1, -1, -1, + 481, 1211, -1, -1, -1, -1, -1, 1152, -1, -1, + 999, -1, -1, -1, 1003, 1160, 1161, -1, -1, -1, + -1, -1, -1, 1168, -1, -1, -1, -1, -1, 1018, + -1, -1, -1, -1, -1, 516, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1198, -1, 536, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1054, -1, -1, -1, 1, + 1215, 1216, 1217, -1, -1, 7, 8, -1, 1067, -1, + -1, -1, 14, 1072, -1, -1, 1075, -1, -1, 1078, + -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, + 32, 33, -1, 584, 36, -1, -1, 1096, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, + -1, 1120, -1, -1, -1, -1, -1, -1, -1, -1, + 1129, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 635, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 104, -1, -1, -1, -1, 1166, -1, -1, + -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, + 671, -1, 124, -1, -1, -1, 128, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, + 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, + -1, 153, 154, 155, 705, 157, 158, 159, 160, 161, + -1, -1, -1, 165, -1, -1, -1, -1, 170, -1, + 172, 173, -1, 175, 1, -1, -1, -1, -1, -1, + 7, 8, -1, -1, 735, 736, -1, 14, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, + -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 773, -1, -1, -1, -1, -1, 55, 56, + -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 826, 827, 104, -1, -1, + -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, + 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, + -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, + -1, -1, -1, 874, 151, 876, 153, 154, 155, -1, + 157, 158, 159, 160, 161, 1, -1, -1, 165, -1, + -1, 7, 8, 170, -1, -1, 173, 174, 14, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, + -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, + 36, -1, -1, -1, -1, 41, -1, -1, -1, -1, + -1, 932, -1, -1, -1, -1, -1, -1, -1, 55, + 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, + -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, + -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, + 29, 982, 983, 32, 33, -1, -1, 36, 104, -1, + -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, + 116, 117, 118, 119, 120, 121, 55, 56, 124, -1, + 59, -1, 128, -1, 130, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, + -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, + -1, 157, 158, 159, 160, 161, -1, -1, -1, 165, + -1, -1, -1, -1, 170, 104, -1, 173, -1, -1, + -1, -1, -1, -1, 113, -1, 115, 116, 117, 118, + 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, + -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, + 159, 160, 161, 1, -1, -1, 165, 1118, -1, 7, + 8, 170, -1, 172, 173, -1, 14, -1, -1, 17, + -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, + 28, 29, -1, -1, 32, 33, -1, -1, 36, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, + -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, + 14, -1, -1, -1, -1, -1, -1, 1208, -1, -1, + 24, 25, -1, -1, 28, 29, 104, -1, 32, 33, + -1, -1, 36, -1, -1, 113, -1, 115, 116, 117, + 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, + 128, 55, 56, -1, 132, 59, -1, -1, -1, -1, + -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, + -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, + 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, + -1, -1, 170, -1, -1, 173, -1, -1, -1, -1, + 104, -1, -1, -1, -1, -1, -1, -1, -1, 113, + -1, 115, 116, 117, 118, 119, 120, 121, -1, -1, + 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, + 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, + 154, 155, 1, 157, 158, 159, 160, 161, 7, 8, + -1, 165, -1, -1, -1, 14, 170, -1, -1, 173, + -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, + 29, -1, -1, 32, 33, -1, -1, 36, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 55, 56, -1, -1, + 59, -1, -1, -1, -1, -1, -1, -1, -1, 1, + -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, + -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, + 32, 33, -1, -1, 36, 104, -1, -1, -1, -1, + -1, -1, -1, -1, 113, -1, 115, 116, 117, 118, + 119, 120, 121, 55, 56, 124, -1, 59, -1, 128, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, + -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, + 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, + -1, 170, 104, -1, 173, -1, -1, -1, -1, -1, + -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, + -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, + 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, + -1, 153, 154, 155, 1, 157, 158, 159, 160, 161, + 7, 8, -1, 165, -1, -1, -1, 14, 170, -1, + -1, 173, -1, -1, -1, -1, -1, 24, 25, -1, + -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, + -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, + -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, + -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, + -1, -1, 32, 33, -1, -1, 36, 104, -1, -1, + -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, + 117, 118, 119, 120, 121, 55, 56, 124, -1, 59, + -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, + -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, + 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, + -1, -1, -1, 170, 104, -1, 173, -1, -1, -1, + -1, -1, -1, 113, -1, 115, 116, 117, 118, 119, + 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, + -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, + -1, 151, -1, 153, 154, 155, 1, 157, 158, 159, + 160, 161, 7, 8, -1, 165, -1, -1, -1, 14, + 170, -1, -1, 173, -1, -1, -1, -1, -1, 24, + 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, + -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, + -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, + 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, + 28, 29, -1, -1, 32, 33, -1, -1, 36, 104, + -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, + 115, 116, 117, 118, 119, 120, 121, 55, 56, 124, + -1, 59, -1, 128, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, + -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, + 155, -1, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 104, -1, 173, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, + 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, + 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, + -1, -1, -1, 151, -1, 153, 154, 155, 1, 157, + 158, 159, 160, 161, 7, 8, -1, 165, -1, -1, + -1, 14, 170, -1, -1, 173, -1, -1, -1, -1, + -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, + 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 938, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 949, -1, -1, -1, -1, -1, + -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, + -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, + -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, + -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, + 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, + 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, + 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, + 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, + 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 104, -1, + 173, -1, -1, -1, -1, -1, -1, 113, -1, 115, + 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, + -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, + -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, + 1, 157, 158, 159, 160, 161, 7, 8, -1, 165, + -1, -1, -1, 14, 170, -1, -1, 173, -1, -1, + -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, + -1, 32, 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 926, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 980, 981, -1, -1, -1, - -1, -1, -1, -1, 1051, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, + -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, + -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, + 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, + -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, + -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, + 121, 55, 56, 124, -1, 59, -1, 128, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, + 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, + 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, + 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, + 104, -1, 173, -1, -1, -1, -1, -1, -1, 113, + -1, 115, 116, 117, 118, 119, 120, 121, -1, -1, + 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, + 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, + 154, 155, -1, 157, 158, 159, 160, 161, -1, 1, + -1, 165, -1, -1, 6, -1, 170, 9, 10, 173, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + -1, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, + -1, 73, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, + -1, 73, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 976, 977, -1, -1, -1, -1, -1, -1, -1, - 1025, 1026, 1027, -1, -1, -1, 1031, 1032, 1033, -1, - -1, 1036, 1037, -1, -1, -1, -1, -1, -1, 1044, - -1, 1046, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1058, 1059, -1, -1, -1, -1, -1, - -1, -1, 1067, -1, -1, 1070, -1, -1, -1, -1, - -1, 1076, 653, 654, 655, 656, 1081, -1, 1083, -1, - -1, 1086, -1, 1088, -1, -1, 1091, -1, -1, -1, - -1, 1096, -1, -1, -1, -1, -1, -1, -1, -1, - 681, -1, -1, -1, -1, 1110, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1121, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1195, -1, - 711, -1, -1, -1, -1, 716, 717, -1, 1205, -1, - -1, 1146, -1, -1, -1, -1, -1, 1112, -1, 1154, - 1155, -1, -1, -1, -1, -1, -1, 1162, -1, 740, - 741, -1, -1, 744, -1, -1, -1, -1, 749, -1, - -1, -1, -1, -1, 755, -1, 757, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1192, 769, -1, - -1, -1, -1, -1, 775, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1209, 1210, 1211, -1, -1, -1, - 791, 792, -1, -1, -1, -1, -1, 1, -1, -1, - -1, -1, -1, 7, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1202, 22, 23, - -1, -1, 26, 27, -1, -1, 30, 31, -1, -1, - 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 842, -1, -1, -1, -1, -1, -1, -1, 53, - 54, -1, -1, 57, 855, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, - 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, -1, -1, 26, - 27, -1, -1, 30, 31, -1, -1, 34, 102, -1, - -1, -1, -1, -1, -1, -1, -1, 111, -1, 113, - 114, 115, 116, 117, 118, 119, 53, 54, 122, -1, - 57, -1, 126, -1, -1, -1, 130, 928, -1, -1, - -1, -1, -1, 934, -1, 139, 140, 141, 142, -1, - -1, -1, -1, 944, -1, 149, -1, 151, 152, 153, - -1, 155, 156, 157, 158, 159, -1, -1, -1, 163, - -1, -1, -1, -1, 168, 102, 170, 171, -1, 173, - -1, -1, -1, -1, 111, -1, 113, 114, 115, 116, - 117, 118, 119, -1, -1, 122, -1, -1, -1, 126, - -1, -1, 993, 130, -1, -1, 997, -1, -1, -1, - -1, -1, 139, 140, 141, 142, -1, -1, -1, -1, - -1, 1012, 149, -1, 151, 152, 153, -1, 155, 156, - 157, 158, 159, 1, -1, -1, 163, -1, -1, 7, - -1, 168, -1, -1, 171, 172, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, -1, 1048, 26, 27, - -1, -1, 30, 31, -1, -1, 34, -1, -1, -1, - 1061, 39, -1, -1, -1, 1066, -1, -1, 1069, -1, - -1, 1072, -1, -1, -1, 53, 54, -1, -1, 57, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1090, - 1, -1, -1, -1, -1, -1, 7, -1, -1, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, 11, + -1, -1, -1, 15, -1, -1, 18, 19, -1, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, -1, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, 96, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 1114, -1, 26, 27, -1, -1, 30, - 31, -1, 1123, 34, 102, -1, -1, -1, -1, -1, - -1, -1, -1, 111, -1, 113, 114, 115, 116, 117, - 118, 119, 53, 54, 122, -1, 57, -1, 126, -1, - 128, -1, 130, -1, -1, -1, -1, -1, -1, 1160, - -1, 139, 140, 141, 142, -1, -1, -1, -1, -1, - -1, 149, -1, 151, 152, 153, -1, 155, 156, 157, - 158, 159, -1, -1, -1, 163, -1, -1, -1, -1, - 168, 102, -1, 171, -1, -1, -1, -1, -1, -1, - 111, -1, 113, 114, 115, 116, 117, 118, 119, -1, - -1, 122, -1, -1, -1, 126, -1, -1, -1, 130, - -1, -1, -1, -1, -1, -1, -1, -1, 139, 140, - 141, 142, -1, -1, -1, -1, -1, -1, 149, -1, - 151, 152, 153, -1, 155, 156, 157, 158, 159, 1, - -1, -1, 163, -1, -1, 7, -1, 168, -1, 170, - 171, -1, -1, 15, -1, -1, -1, -1, -1, -1, - 22, 23, -1, -1, 26, 27, -1, -1, 30, 31, - -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, - -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, - -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, - 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, - -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, - 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, - -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, - 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, - 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, - -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, - -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, - 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, - -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, - -1, -1, -1, -1, 139, 140, 141, 142, -1, 1, - -1, -1, -1, -1, 149, 7, 151, 152, 153, -1, - 155, 156, 157, 158, 159, -1, -1, -1, 163, -1, - 22, 23, -1, 168, 26, 27, 171, -1, 30, 31, - -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, - -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, - -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, - 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, - -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, - 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, - -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, - 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, - 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, - -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, - -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, - 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, - -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, - -1, -1, -1, -1, 139, 140, 141, 142, -1, 1, - -1, -1, -1, -1, 149, 7, 151, 152, 153, -1, - 155, 156, 157, 158, 159, -1, -1, -1, 163, -1, - 22, 23, -1, 168, 26, 27, 171, -1, 30, 31, - -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, - -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, - -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, - 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, - -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, - 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, - -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, - 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, - 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, - -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, - -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, - 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, - -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, - -1, -1, -1, -1, 139, 140, 141, 142, -1, 1, - -1, -1, -1, -1, 149, 7, 151, 152, 153, -1, - 155, 156, 157, 158, 159, -1, -1, -1, 163, -1, - 22, 23, -1, 168, 26, 27, 171, -1, 30, 31, - -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, - -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, - -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, - 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, - -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, - 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, - -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, - 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, - 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, - -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, - -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, - 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, - -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, - -1, -1, -1, -1, 139, 140, 141, 142, -1, 1, - -1, -1, -1, -1, 149, 7, 151, 152, 153, -1, - 155, 156, 157, 158, 159, -1, -1, -1, 163, -1, - 22, 23, -1, 168, 26, 27, 171, -1, 30, 31, - -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, - -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, - -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, - 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, - -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, - 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, - -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, - 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, - 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, - -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, - -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, - 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, - -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, - -1, -1, -1, -1, 139, 140, 141, 142, -1, 1, - -1, -1, -1, -1, 149, 7, 151, 152, 153, -1, - 155, 156, 157, 158, 159, -1, -1, -1, 163, -1, - 22, 23, -1, 168, 26, 27, 171, -1, 30, 31, - -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, - -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, - -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, - 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, - -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, - 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, - -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, - 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, - 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, - -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, - -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, - 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, - -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, - -1, -1, -1, -1, 139, 140, 141, 142, -1, -1, - -1, -1, -1, -1, 149, -1, 151, 152, 153, -1, - 155, 156, 157, 158, 159, -1, -1, 1, 163, -1, - -1, -1, 6, 168, 8, 9, 171, -1, -1, -1, - -1, -1, 16, 17, 18, 19, -1, -1, -1, -1, - 24, 25, -1, -1, -1, 29, -1, -1, 32, 33, - -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, - -1, -1, -1, -1, -1, -1, -1, 51, -1, 53, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, 67, -1, -1, -1, 71, 72, 73, - 74, 75, -1, -1, -1, -1, -1, -1, -1, 83, - 84, 85, 86, -1, -1, -1, 90, -1, -1, 93, - -1, -1, 96, -1, -1, 99, -1, 101, 102, 103, - 104, 105, 106, 107, -1, 109, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, - 124, 125, -1, 127, 128, -1, -1, -1, -1, -1, - -1, -1, 136, 1, -1, -1, 140, -1, 6, 143, - 8, 9, -1, -1, -1, -1, -1, -1, 16, 17, - 18, 19, -1, -1, -1, -1, 24, 25, -1, -1, - -1, 29, -1, -1, 32, 33, 170, 35, 36, 37, - 38, 39, 40, 41, -1, 43, -1, -1, -1, -1, - -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 65, -1, 67, - -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, - -1, -1, -1, -1, -1, 83, 84, 85, 86, -1, - -1, -1, 90, -1, -1, 93, -1, -1, 96, -1, - -1, 99, -1, 101, 102, 103, 104, 105, 106, 107, - -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 121, -1, -1, 124, 125, 1, 127, - 128, -1, -1, 6, -1, 8, 9, 10, 136, -1, - 13, -1, 140, 16, 17, 143, 19, -1, -1, -1, - -1, 24, 25, -1, -1, -1, 29, -1, -1, 32, - -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, - 43, -1, 170, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, - 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, - 83, 84, 85, 86, -1, -1, -1, 90, -1, -1, - 93, 94, -1, 96, -1, -1, 99, -1, 101, 102, - 103, 104, 105, 106, 107, -1, 109, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, - -1, 124, 125, -1, 127, 128, -1, -1, -1, -1, - -1, -1, -1, 136, 1, -1, -1, 140, -1, 6, - 143, 8, 9, -1, -1, -1, -1, -1, -1, 16, - 17, 18, 19, -1, -1, -1, -1, 24, 25, -1, - -1, -1, 29, -1, -1, 32, 33, 170, 35, 36, - 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, - -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, - -1, -1, -1, -1, -1, 72, 73, 74, 75, -1, - -1, -1, -1, -1, -1, -1, 83, 84, 85, 86, - -1, -1, -1, 90, -1, -1, 93, -1, -1, 96, - -1, -1, 99, -1, 101, 102, 103, 104, 105, 106, - 107, -1, 109, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 121, -1, -1, 124, 125, -1, - 127, 128, -1, -1, -1, -1, -1, -1, -1, 136, - 1, -1, -1, 140, -1, 6, 143, 8, 9, -1, - -1, -1, -1, -1, -1, 16, 17, 18, 19, -1, - -1, -1, -1, 24, 25, -1, -1, -1, 29, -1, - -1, 32, 33, 170, 35, 36, 37, 38, 39, 40, - 41, -1, 43, -1, -1, -1, -1, -1, -1, -1, - 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, - -1, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, 83, 84, 85, 86, -1, -1, -1, 90, - -1, -1, 93, -1, -1, 96, -1, -1, 99, -1, - 101, 102, 103, 104, 105, 106, 107, -1, 109, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 121, -1, -1, 124, 125, -1, 127, 128, -1, -1, - -1, -1, -1, -1, -1, 136, 1, -1, -1, 140, - -1, 6, 143, 8, 9, -1, -1, -1, -1, -1, - -1, 16, 17, 18, 19, -1, -1, -1, -1, 24, - 25, -1, -1, -1, 29, -1, -1, 32, 33, 170, - 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, - -1, -1, -1, -1, -1, -1, 51, -1, 53, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, - 75, -1, -1, -1, -1, -1, -1, -1, 83, 84, - 85, 86, -1, -1, -1, 90, -1, -1, 93, -1, - -1, 96, -1, -1, 99, -1, 101, 102, 103, 104, - 105, 106, 107, -1, 109, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 121, -1, -1, 124, - 125, -1, 127, 128, -1, -1, -1, -1, -1, -1, - -1, 136, 1, -1, -1, 140, -1, 6, 143, 8, - 9, -1, -1, -1, -1, -1, -1, 16, 17, 18, - 19, -1, -1, -1, -1, 24, 25, -1, -1, -1, - 29, -1, -1, 32, 33, 170, 35, 36, 37, 38, - 39, 40, 41, -1, 43, -1, -1, -1, -1, -1, - -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, -1, -1, -1, - -1, -1, -1, -1, 83, 84, 85, 86, -1, -1, - -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, - 99, -1, 101, 102, 103, 104, 105, 106, 107, -1, - 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 121, -1, -1, 124, 125, -1, 127, 128, - -1, -1, -1, -1, -1, -1, -1, 136, 1, -1, - -1, 140, -1, 6, 143, 8, 9, -1, -1, -1, - -1, -1, -1, 16, 17, 18, 19, -1, -1, -1, - -1, 24, 25, -1, -1, -1, 29, -1, -1, 32, - 33, 170, 35, 36, 37, 38, 39, 40, 41, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, - 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, - 83, 84, 85, 86, -1, -1, -1, 90, -1, -1, - 93, -1, -1, 96, -1, -1, 99, -1, 101, 102, - 103, 104, 105, 106, 107, -1, 109, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, - -1, 124, 125, -1, 127, 128, -1, -1, -1, -1, - -1, -1, -1, 136, 1, -1, -1, 140, -1, 6, - 143, 8, 9, -1, -1, -1, -1, -1, -1, 16, - 17, 18, 19, -1, -1, -1, -1, 24, 25, -1, - -1, -1, 29, -1, -1, 32, 33, 170, 35, 36, - 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, - -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, - -1, -1, -1, -1, -1, 72, 73, 74, 75, -1, - -1, -1, -1, -1, -1, -1, 83, 84, 85, 86, - -1, -1, -1, 90, -1, -1, 93, -1, -1, 96, - -1, -1, 99, -1, 101, 102, 103, 104, 105, 106, - 107, -1, 109, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 121, -1, -1, 124, 125, -1, - 127, 128, -1, -1, -1, -1, -1, -1, -1, 136, - 1, -1, -1, 140, -1, 6, 143, 8, 9, -1, - -1, -1, -1, -1, -1, 16, 17, 18, 19, -1, - -1, -1, -1, 24, 25, -1, -1, -1, 29, -1, - -1, 32, 33, 170, 35, 36, 37, 38, 39, 40, - 41, -1, 43, -1, -1, -1, -1, -1, -1, -1, - 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, - -1, 72, 73, 74, 75, -1, -1, -1, -1, -1, - -1, -1, 83, 84, 85, 86, -1, -1, -1, 90, - -1, -1, 93, -1, -1, 96, -1, -1, 99, -1, - 101, 102, 103, 104, 105, 106, 107, -1, 109, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 121, -1, -1, 124, 125, -1, 127, 128, -1, -1, - -1, -1, -1, -1, -1, 136, 1, -1, -1, 140, - -1, 6, 143, 8, 9, -1, -1, -1, -1, -1, - -1, 16, 17, 18, 19, -1, -1, -1, -1, 24, - 25, -1, -1, -1, 29, -1, -1, 32, 33, 170, - 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, - -1, -1, -1, -1, -1, -1, 51, -1, 53, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, - 75, -1, -1, -1, -1, -1, -1, -1, 83, 84, - 85, 86, -1, -1, -1, 90, -1, -1, 93, -1, - -1, 96, -1, -1, 99, -1, 101, 102, 103, 104, - 105, 106, 107, -1, 109, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 121, -1, -1, 124, - 125, -1, 127, 128, -1, -1, -1, -1, -1, -1, - -1, 136, 1, -1, -1, 140, -1, 6, 143, 8, - 9, -1, -1, -1, -1, -1, -1, 16, 17, 18, - 19, -1, -1, -1, -1, 24, 25, -1, -1, -1, - 29, -1, -1, 32, 33, 170, 35, 36, 37, 38, - 39, 40, 41, -1, 43, -1, -1, -1, -1, -1, - -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, -1, -1, -1, - -1, -1, -1, -1, 83, 84, 85, 86, -1, -1, - -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, - 99, -1, 101, 102, 103, 104, 105, 106, 107, -1, - 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 121, -1, -1, 124, 125, -1, 127, 128, - -1, -1, -1, -1, -1, -1, -1, 136, 1, -1, - -1, 140, -1, 6, 143, 8, 9, -1, -1, -1, - -1, -1, -1, 16, 17, 18, 19, -1, -1, -1, - -1, 24, 25, -1, -1, -1, 29, -1, -1, 32, - 33, 170, 35, 36, 37, 38, 39, 40, 41, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, - 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, - 83, 84, 85, 86, -1, -1, -1, 90, -1, -1, - 93, -1, -1, 96, -1, -1, 99, -1, 101, 102, - 103, 104, 105, 106, 107, -1, 109, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, - -1, 124, 125, -1, 127, 128, -1, -1, -1, -1, - -1, -1, -1, 136, 1, -1, -1, 140, -1, 6, - 143, 8, 9, -1, -1, -1, -1, -1, -1, 16, - 17, 18, 19, -1, -1, -1, -1, 24, 25, -1, - -1, -1, 29, -1, -1, 32, 33, 170, 35, 36, - 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, - -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, - -1, -1, -1, -1, -1, 72, 73, 74, 75, -1, - -1, -1, -1, -1, -1, -1, 83, 84, 85, 86, - -1, -1, -1, 90, -1, -1, 93, -1, -1, 96, - -1, -1, 99, -1, 101, 102, 103, 104, 105, 106, - 107, -1, 109, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 121, -1, -1, 124, 125, 1, - 127, 128, -1, -1, 6, -1, 8, 9, -1, 136, - -1, -1, -1, 140, 16, 17, 143, 19, -1, -1, - -1, -1, 24, 25, -1, -1, -1, 29, -1, -1, - 32, 33, -1, 35, 36, 37, 38, 39, 40, 41, - -1, 43, -1, 170, -1, -1, -1, -1, -1, 51, - -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, - 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, - -1, 83, 84, 85, 86, -1, -1, -1, 90, -1, - -1, 93, -1, -1, 96, -1, -1, 99, -1, 101, - 102, 103, 104, 105, 106, 107, -1, 109, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, - -1, -1, 124, 125, -1, 127, 128, -1, -1, -1, - -1, -1, -1, -1, 136, 1, -1, -1, 140, -1, - 6, 143, 8, 9, -1, -1, -1, -1, -1, -1, - 16, 17, 18, 19, -1, -1, -1, -1, 24, 25, - -1, -1, -1, 29, -1, -1, 32, 33, 170, 35, - 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, - -1, -1, -1, -1, -1, 51, -1, 53, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, - -1, -1, -1, -1, -1, -1, -1, 83, 84, 85, - 86, -1, -1, -1, 90, -1, -1, 93, -1, -1, - 96, -1, -1, 99, -1, 101, 102, 103, 104, 105, - 106, 107, -1, 109, -1, -1, -1, -1, 7, -1, - -1, -1, -1, -1, -1, 121, -1, -1, 124, 125, - -1, 127, 128, 22, 23, -1, -1, 26, 27, -1, - 136, 30, 31, -1, 140, 34, -1, 143, -1, -1, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 53, 54, -1, -1, 57, -1, - -1, -1, -1, -1, 170, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 7, -1, -1, -1, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, -1, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, 68, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, -1, -1, 26, 27, -1, -1, 30, 31, - -1, -1, 34, 102, -1, -1, -1, -1, -1, -1, - -1, -1, 111, -1, 113, 114, 115, 116, 117, 118, - 119, 53, 54, 122, -1, 57, -1, 126, -1, 128, - -1, 130, 64, -1, -1, -1, -1, -1, -1, -1, - 139, 140, 141, 142, -1, -1, -1, -1, -1, -1, - 149, -1, 151, 152, 153, -1, 155, 156, 157, 158, - 159, -1, -1, -1, 163, -1, -1, -1, -1, 168, - 102, -1, 171, -1, -1, -1, -1, -1, -1, 111, - -1, 113, 114, 115, 116, 117, 118, 119, -1, -1, - 122, -1, -1, -1, 126, -1, -1, -1, 130, -1, - -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, - 142, -1, -1, -1, 7, -1, -1, 149, -1, 151, - 152, 153, -1, 155, 156, 157, 158, 159, -1, 22, - 23, 163, -1, 26, 27, -1, 168, 30, 31, 171, - -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, + -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, + 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, + -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, + -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, + 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, + 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, + -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, + -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, + 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, + -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, + -1, -1, 7, 8, -1, -1, -1, -1, -1, 14, + -1, 123, -1, -1, 126, 127, -1, 129, 130, 24, + 25, -1, -1, 28, 29, -1, 138, 32, 33, -1, + 142, 36, -1, 145, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 53, 54, -1, -1, 57, -1, -1, -1, -1, -1, + 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, + 172, -1, -1, -1, -1, -1, -1, -1, -1, 7, + 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, + 28, 29, -1, -1, 32, 33, -1, -1, 36, 104, + -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, + 115, 116, 117, 118, 119, 120, 121, 55, 56, 124, + -1, 59, -1, 128, -1, 130, -1, 132, 66, -1, + -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, + -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, + 155, -1, 157, 158, 159, 160, 161, -1, -1, -1, + 165, -1, -1, -1, -1, 170, 104, -1, 173, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, + 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, + 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, + -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, + 158, 159, 160, 161, 7, 8, -1, 165, -1, -1, + -1, 14, 170, -1, -1, 173, -1, -1, -1, -1, + -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, + 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, -1, -1, - 26, 27, -1, -1, 30, 31, -1, -1, 34, 102, - -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, - 113, 114, 115, 116, 117, 118, 119, 53, 54, 122, - -1, 57, -1, 126, -1, -1, -1, 130, 131, -1, - -1, -1, -1, -1, -1, -1, 139, 140, 141, 142, - -1, -1, -1, -1, -1, -1, 149, -1, 151, 152, - 153, -1, 155, 156, 157, 158, 159, -1, -1, -1, - 163, -1, -1, -1, -1, 168, 102, -1, 171, -1, - -1, -1, -1, -1, -1, 111, -1, 113, 114, 115, - 116, 117, 118, 119, -1, -1, 122, -1, -1, -1, - 126, -1, -1, -1, 130, -1, -1, -1, -1, -1, - -1, -1, -1, 139, 140, 141, 142, -1, -1, -1, - -1, -1, -1, 149, -1, 151, 152, 153, -1, 155, - 156, 157, 158, 159, -1, -1, -1, 163, -1, -1, - -1, -1, 168, -1, -1, 171 + -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, + -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, + 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, + 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, + 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, + 133, -1, -1, -1, -1, -1, -1, -1, 141, 142, + 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, + 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, + -1, -1, 165, -1, -1, -1, -1, 170, 104, -1, + 173, -1, -1, -1, -1, -1, -1, 113, -1, 115, + 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, + -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, + -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, + -1, 157, 158, 159, 160, 161, -1, -1, -1, 165, + -1, -1, -1, -1, 170, -1, -1, 173 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 177, 179, 0, 180, 1, 6, 8, 9, 10, - 13, 16, 17, 19, 24, 25, 29, 32, 35, 36, - 37, 38, 39, 40, 41, 43, 51, 53, 65, 72, - 73, 74, 75, 83, 84, 85, 86, 90, 93, 94, - 96, 99, 101, 102, 103, 104, 105, 106, 107, 109, - 121, 124, 125, 127, 128, 136, 140, 143, 170, 178, - 181, 182, 195, 213, 215, 217, 219, 220, 258, 294, - 305, 308, 310, 316, 321, 328, 331, 334, 337, 338, - 339, 340, 341, 342, 386, 388, 389, 391, 397, 398, - 415, 425, 427, 432, 433, 437, 443, 445, 178, 1, - 140, 178, 52, 140, 222, 223, 1, 37, 140, 276, - 305, 308, 1, 438, 1, 434, 1, 446, 1, 7, - 22, 23, 26, 27, 30, 31, 34, 53, 54, 57, - 102, 111, 113, 114, 115, 116, 117, 118, 119, 122, - 126, 130, 139, 140, 141, 142, 149, 151, 152, 153, - 155, 156, 157, 158, 159, 163, 168, 171, 234, 239, - 240, 241, 242, 243, 244, 245, 247, 249, 252, 1, - 140, 1, 140, 13, 16, 1, 140, 1, 140, 171, - 224, 178, 266, 1, 252, 82, 252, 178, 178, 148, - 178, 1, 178, 268, 178, 1, 6, 127, 178, 178, - 178, 13, 16, 17, 29, 38, 39, 94, 127, 341, - 6, 140, 287, 140, 284, 1, 270, 1, 64, 140, - 1, 317, 345, 309, 1, 140, 1, 82, 171, 267, - 387, 1, 13, 94, 140, 178, 230, 56, 214, 214, - 1, 140, 1, 140, 282, 178, 82, 275, 320, 178, - 1, 311, 278, 18, 67, 254, 254, 1, 33, 171, - 336, 1, 336, 1, 336, 1, 140, 323, 324, 1, - 127, 140, 178, 419, 1, 178, 403, 173, 403, 403, - 1, 173, 178, 281, 402, 1, 252, 253, 399, 401, - 1, 261, 1, 428, 253, 178, 196, 178, 173, 178, - 178, 140, 263, 127, 310, 61, 421, 319, 320, 178, - 253, 178, 253, 18, 33, 148, 447, 448, 449, 459, - 51, 65, 66, 67, 72, 333, 335, 224, 171, 171, - 171, 171, 171, 171, 224, 171, 241, 171, 171, 171, - 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, - 171, 171, 171, 171, 171, 171, 171, 171, 171, 241, - 241, 253, 56, 165, 166, 167, 163, 164, 58, 59, - 63, 161, 162, 60, 160, 61, 62, 174, 64, 333, - 178, 178, 178, 426, 20, 20, 178, 178, 172, 178, - 1, 253, 404, 66, 66, 48, 140, 178, 178, 178, - 253, 178, 89, 101, 132, 140, 140, 13, 16, 1, - 343, 178, 173, 173, 289, 173, 173, 286, 178, 253, - 178, 140, 18, 72, 140, 352, 178, 173, 178, 306, - 307, 1, 274, 50, 58, 59, 69, 77, 78, 144, - 145, 146, 406, 407, 393, 394, 178, 232, 231, 233, - 221, 254, 221, 178, 216, 178, 218, 73, 79, 80, - 81, 97, 98, 295, 297, 298, 304, 291, 48, 140, - 291, 178, 291, 18, 39, 128, 314, 315, 423, 254, - 1, 65, 178, 418, 262, 6, 32, 33, 38, 99, - 255, 258, 330, 18, 178, 55, 147, 211, 252, 259, - 178, 323, 178, 323, 178, 325, 173, 178, 178, 178, - 178, 178, 390, 178, 399, 399, 178, 253, 173, 402, - 178, 323, 178, 253, 1, 173, 264, 197, 212, 253, - 223, 279, 50, 277, 252, 51, 292, 421, 439, 435, - 32, 33, 35, 51, 65, 72, 465, 1, 211, 450, - 18, 448, 252, 253, 252, 252, 252, 252, 252, 253, - 253, 253, 1, 140, 172, 253, 252, 252, 252, 1, - 140, 1, 140, 1, 48, 49, 140, 253, 235, 252, - 252, 252, 252, 252, 252, 252, 253, 253, 172, 53, - 57, 240, 240, 240, 241, 241, 242, 242, 242, 242, - 242, 243, 243, 246, 248, 250, 249, 173, 441, 442, - 140, 140, 178, 1, 178, 405, 269, 178, 178, 253, - 272, 273, 20, 20, 18, 140, 288, 252, 178, 285, - 252, 178, 271, 346, 392, 48, 140, 178, 236, 237, - 238, 253, 404, 253, 395, 396, 178, 178, 178, 18, - 171, 225, 225, 302, 300, 299, 301, 283, 51, 72, - 178, 296, 298, 76, 291, 424, 352, 253, 18, 178, - 178, 254, 1, 68, 1, 68, 1, 68, 13, 16, - 68, 71, 329, 332, 1, 35, 51, 178, 420, 172, - 323, 178, 178, 326, 406, 324, 395, 402, 402, 400, - 178, 429, 178, 140, 178, 444, 3, 4, 5, 33, - 44, 45, 46, 47, 48, 49, 87, 131, 132, 198, - 199, 200, 441, 1, 253, 408, 421, 293, 292, 173, - 173, 178, 18, 460, 82, 1, 32, 178, 464, 172, - 173, 173, 172, 172, 173, 172, 1, 172, 173, 173, - 172, 172, 172, 172, 172, 173, 172, 173, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 173, 236, 173, - 172, 172, 172, 172, 172, 173, 172, 172, 53, 61, - 244, 245, 249, 140, 178, 442, 186, 184, 178, 178, - 178, 45, 87, 383, 14, 15, 19, 20, 42, 87, - 88, 89, 101, 373, 140, 140, 344, 140, 290, 253, - 178, 212, 347, 348, 349, 350, 422, 423, 393, 172, - 173, 173, 16, 17, 29, 39, 103, 127, 172, 226, - 227, 228, 84, 92, 93, 150, 229, 252, 252, 252, - 252, 254, 303, 253, 312, 170, 1, 72, 178, 416, - 18, 178, 178, 257, 178, 256, 178, 1, 1, 178, - 1, 252, 254, 178, 178, 178, 336, 178, 327, 401, - 173, 265, 131, 212, 212, 212, 47, 211, 203, 211, - 211, 212, 178, 200, 421, 51, 178, 414, 28, 411, - 254, 292, 254, 253, 253, 465, 82, 462, 140, 178, - 178, 252, 252, 252, 172, 140, 252, 252, 252, 253, - 172, 252, 252, 242, 175, 1, 171, 191, 1, 171, - 187, 252, 252, 178, 377, 376, 375, 72, 374, 378, - 178, 185, 183, 347, 173, 170, 354, 352, 1, 82, - 178, 322, 238, 396, 171, 172, 173, 140, 228, 18, - 252, 178, 356, 353, 354, 178, 178, 418, 254, 211, - 178, 178, 66, 66, 260, 253, 253, 444, 140, 203, - 202, 120, 123, 204, 201, 51, 409, 173, 412, 413, - 18, 18, 440, 436, 178, 140, 254, 451, 172, 172, - 172, 172, 172, 173, 172, 172, 172, 173, 172, 172, - 251, 178, 140, 192, 193, 178, 139, 188, 189, 384, - 379, 380, 381, 379, 253, 252, 379, 191, 187, 252, - 14, 15, 18, 20, 42, 70, 87, 88, 355, 351, - 178, 1, 48, 140, 211, 227, 1, 51, 178, 417, - 127, 140, 318, 18, 18, 254, 323, 430, 28, 205, - 205, 280, 253, 253, 51, 413, 417, 417, 441, 441, - 461, 80, 458, 252, 252, 249, 194, 172, 173, 190, - 172, 173, 28, 385, 173, 252, 1, 127, 139, 141, - 175, 366, 367, 1, 127, 141, 358, 359, 1, 15, - 357, 1, 127, 139, 141, 175, 361, 362, 356, 356, - 356, 353, 178, 178, 178, 172, 178, 178, 313, 464, - 18, 178, 173, 211, 101, 206, 206, 254, 410, 178, - 178, 18, 211, 79, 172, 172, 211, 178, 193, 211, - 178, 189, 252, 380, 382, 178, 368, 369, 370, 173, - 356, 178, 360, 173, 356, 178, 211, 178, 363, 364, - 365, 173, 356, 319, 1, 33, 178, 463, 253, 211, - 73, 207, 18, 51, 463, 211, 140, 7, 34, 140, - 371, 372, 371, 371, 367, 371, 359, 356, 371, 371, - 371, 362, 178, 178, 431, 211, 417, 452, 108, 173, - 208, 91, 140, 66, 209, 453, 178, 83, 140, 254, - 171, 454, 210, 66, 236, 455, 172, 254, 456, 18, - 1, 148, 178, 457, 178, 178 + 0, 179, 181, 0, 182, 1, 6, 9, 10, 11, + 15, 18, 19, 21, 26, 27, 31, 34, 37, 38, + 39, 40, 41, 42, 43, 45, 53, 55, 67, 74, + 75, 76, 77, 85, 86, 87, 88, 92, 95, 96, + 98, 101, 103, 104, 105, 106, 107, 108, 109, 111, + 123, 126, 127, 129, 130, 138, 142, 145, 172, 180, + 183, 184, 197, 215, 217, 219, 221, 222, 260, 296, + 307, 310, 312, 318, 323, 330, 333, 336, 339, 340, + 341, 342, 343, 344, 388, 390, 391, 393, 399, 400, + 417, 427, 429, 434, 435, 439, 445, 447, 180, 1, + 142, 180, 54, 142, 224, 225, 1, 39, 142, 278, + 307, 310, 1, 440, 1, 436, 1, 448, 1, 7, + 8, 14, 24, 25, 28, 29, 32, 33, 36, 55, + 56, 59, 104, 113, 115, 116, 117, 118, 119, 120, + 121, 124, 128, 132, 141, 142, 143, 144, 151, 153, + 154, 155, 157, 158, 159, 160, 161, 165, 170, 173, + 236, 241, 242, 243, 244, 245, 246, 247, 249, 251, + 254, 1, 142, 1, 142, 15, 18, 1, 142, 1, + 142, 173, 226, 180, 268, 1, 254, 84, 254, 180, + 180, 150, 180, 1, 180, 270, 180, 1, 6, 129, + 180, 180, 180, 15, 18, 19, 31, 40, 41, 96, + 129, 343, 6, 142, 289, 142, 286, 1, 272, 1, + 66, 142, 1, 319, 347, 311, 1, 142, 1, 84, + 173, 269, 389, 1, 15, 96, 142, 180, 232, 58, + 216, 216, 1, 142, 1, 142, 284, 180, 84, 277, + 322, 180, 1, 313, 280, 20, 69, 256, 256, 1, + 35, 173, 338, 1, 338, 1, 338, 1, 142, 325, + 326, 1, 129, 142, 180, 421, 1, 180, 405, 175, + 405, 405, 1, 175, 180, 283, 404, 1, 254, 255, + 401, 403, 1, 263, 1, 430, 255, 180, 198, 180, + 175, 180, 180, 142, 265, 129, 312, 63, 423, 321, + 322, 180, 255, 180, 255, 20, 35, 150, 449, 450, + 451, 461, 53, 67, 68, 69, 74, 335, 337, 226, + 173, 173, 173, 173, 173, 173, 173, 173, 226, 173, + 243, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 243, 243, 255, 58, 167, 168, 169, + 165, 166, 60, 61, 65, 163, 164, 62, 162, 63, + 64, 176, 66, 335, 180, 180, 180, 428, 22, 22, + 180, 180, 174, 180, 1, 255, 406, 68, 68, 50, + 142, 180, 180, 180, 255, 180, 91, 103, 134, 142, + 142, 15, 18, 1, 345, 180, 175, 175, 291, 175, + 175, 288, 180, 255, 180, 142, 20, 74, 142, 354, + 180, 175, 180, 308, 309, 1, 276, 52, 60, 61, + 71, 79, 80, 146, 147, 148, 408, 409, 395, 396, + 180, 234, 233, 235, 223, 256, 223, 180, 218, 180, + 220, 75, 81, 82, 83, 99, 100, 297, 299, 300, + 306, 293, 50, 142, 293, 180, 293, 20, 41, 130, + 316, 317, 425, 256, 1, 67, 180, 420, 264, 6, + 34, 35, 40, 101, 257, 260, 332, 20, 180, 57, + 149, 213, 254, 261, 180, 325, 180, 325, 180, 327, + 175, 180, 180, 180, 180, 180, 392, 180, 401, 401, + 180, 255, 175, 404, 180, 325, 180, 255, 1, 175, + 266, 199, 214, 255, 225, 281, 52, 279, 254, 53, + 294, 423, 441, 437, 34, 35, 37, 53, 67, 74, + 467, 1, 213, 452, 20, 450, 174, 174, 254, 255, + 254, 254, 254, 254, 254, 255, 255, 255, 1, 142, + 174, 255, 254, 254, 254, 1, 142, 1, 142, 1, + 50, 51, 142, 255, 237, 254, 254, 254, 254, 254, + 254, 254, 255, 255, 174, 55, 59, 242, 242, 242, + 243, 243, 244, 244, 244, 244, 244, 245, 245, 248, + 250, 252, 251, 175, 443, 444, 142, 142, 180, 1, + 180, 407, 271, 180, 180, 255, 274, 275, 22, 22, + 20, 142, 290, 254, 180, 287, 254, 180, 273, 348, + 394, 50, 142, 180, 238, 239, 240, 255, 406, 255, + 397, 398, 180, 180, 180, 20, 173, 227, 227, 304, + 302, 301, 303, 285, 53, 74, 180, 298, 300, 78, + 293, 426, 354, 255, 20, 180, 180, 256, 1, 70, + 1, 70, 1, 70, 15, 18, 70, 73, 331, 334, + 1, 37, 53, 180, 422, 174, 325, 180, 180, 328, + 408, 326, 397, 404, 404, 402, 180, 431, 180, 142, + 180, 446, 3, 4, 5, 35, 46, 47, 48, 49, + 50, 51, 89, 133, 134, 200, 201, 202, 443, 1, + 255, 410, 423, 295, 294, 175, 175, 180, 20, 462, + 84, 1, 34, 180, 466, 174, 175, 175, 174, 174, + 175, 174, 1, 174, 175, 175, 174, 174, 174, 174, + 174, 175, 174, 175, 174, 174, 174, 174, 174, 174, + 174, 174, 174, 175, 238, 175, 174, 174, 174, 174, + 174, 175, 174, 174, 55, 63, 246, 247, 251, 142, + 180, 444, 188, 186, 180, 180, 180, 47, 89, 385, + 16, 17, 21, 22, 44, 89, 90, 91, 103, 375, + 142, 142, 346, 142, 292, 255, 180, 214, 349, 350, + 351, 352, 424, 425, 395, 174, 175, 175, 18, 19, + 31, 41, 105, 129, 174, 228, 229, 230, 86, 94, + 95, 152, 231, 254, 254, 254, 254, 256, 305, 255, + 314, 172, 1, 74, 180, 418, 20, 180, 180, 259, + 180, 258, 180, 1, 1, 180, 1, 254, 256, 180, + 180, 180, 338, 180, 329, 403, 175, 267, 133, 214, + 214, 214, 49, 213, 205, 213, 213, 214, 180, 202, + 423, 53, 180, 416, 30, 413, 256, 294, 256, 255, + 255, 467, 84, 464, 142, 180, 180, 254, 254, 254, + 174, 142, 254, 254, 254, 255, 174, 254, 254, 244, + 177, 1, 173, 193, 1, 173, 189, 254, 254, 180, + 379, 378, 377, 74, 376, 380, 180, 187, 185, 349, + 175, 172, 356, 354, 1, 84, 180, 324, 240, 398, + 173, 174, 175, 142, 230, 20, 254, 180, 358, 355, + 356, 180, 180, 420, 256, 213, 180, 180, 68, 68, + 262, 255, 255, 446, 142, 205, 204, 122, 125, 206, + 203, 53, 411, 175, 414, 415, 20, 20, 442, 438, + 180, 142, 256, 453, 174, 174, 174, 174, 174, 175, + 174, 174, 174, 175, 174, 174, 253, 180, 142, 194, + 195, 180, 141, 190, 191, 386, 381, 382, 383, 381, + 255, 254, 381, 193, 189, 254, 16, 17, 20, 22, + 44, 72, 89, 90, 357, 353, 180, 1, 50, 142, + 213, 229, 1, 53, 180, 419, 129, 142, 320, 20, + 20, 256, 325, 432, 30, 207, 207, 282, 255, 255, + 53, 415, 419, 419, 443, 443, 463, 82, 460, 254, + 254, 251, 196, 174, 175, 192, 174, 175, 30, 387, + 175, 254, 1, 129, 141, 143, 177, 368, 369, 1, + 129, 143, 360, 361, 1, 17, 359, 1, 129, 141, + 143, 177, 363, 364, 358, 358, 358, 355, 180, 180, + 180, 174, 180, 180, 315, 466, 20, 180, 175, 213, + 103, 208, 208, 256, 412, 180, 180, 20, 213, 81, + 174, 174, 213, 180, 195, 213, 180, 191, 254, 382, + 384, 180, 370, 371, 372, 175, 358, 180, 362, 175, + 358, 180, 213, 180, 365, 366, 367, 175, 358, 321, + 1, 35, 180, 465, 255, 213, 75, 209, 20, 53, + 465, 213, 142, 7, 36, 142, 373, 374, 373, 373, + 369, 373, 361, 358, 373, 373, 373, 364, 180, 180, + 433, 213, 419, 454, 110, 175, 210, 93, 142, 68, + 211, 455, 180, 85, 142, 256, 173, 456, 212, 68, + 238, 457, 174, 256, 458, 20, 1, 150, 180, 459, + 180, 180 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 176, 177, 178, 179, 180, 179, 181, 181, 181, - 181, 181, 182, 182, 183, 182, 184, 182, 185, 182, - 186, 182, 187, 187, 188, 188, 190, 189, 191, 191, - 192, 192, 194, 193, 196, 195, 195, 197, 197, 198, - 198, 199, 199, 200, 200, 200, 200, 200, 200, 200, - 201, 200, 200, 202, 200, 200, 200, 200, 200, 203, - 203, 204, 204, 205, 205, 206, 206, 207, 208, 207, - 209, 209, 210, 209, 211, 212, 213, 213, 214, 214, - 215, 216, 215, 217, 218, 217, 219, 219, 220, 220, - 221, 222, 222, 223, 224, 224, 225, 225, 225, 226, - 226, 227, 228, 228, 228, 228, 228, 228, 228, 229, - 229, 229, 229, 230, 231, 230, 232, 230, 233, 230, - 230, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 235, 234, 234, - 234, 234, 236, 236, 237, 237, 238, 239, 239, 239, - 240, 240, 240, 240, 241, 241, 241, 241, 242, 242, - 242, 243, 243, 243, 243, 243, 243, 244, 244, 244, - 245, 246, 245, 247, 248, 247, 249, 250, 251, 249, - 252, 252, 253, 253, 254, 254, 255, 255, 256, 255, - 255, 257, 255, 255, 255, 255, 255, 255, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 259, 258, - 260, 258, 258, 261, 258, 258, 258, 258, 262, 258, - 263, 258, 258, 264, 258, 265, 258, 258, 266, 258, - 267, 258, 258, 268, 269, 258, 258, 270, 271, 258, - 258, 258, 272, 258, 258, 258, 258, 258, 258, 258, - 258, 258, 273, 258, 258, 274, 258, 258, 258, 258, - 258, 275, 258, 258, 258, 276, 277, 258, 258, 278, - 258, 258, 258, 279, 280, 258, 258, 258, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 281, 258, 258, - 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, - 258, 282, 283, 258, 258, 258, 285, 284, 286, 286, - 288, 287, 289, 290, 289, 291, 293, 292, 294, 294, - 295, 296, 296, 296, 297, 297, 299, 298, 300, 298, - 301, 298, 302, 298, 303, 298, 304, 304, 304, 305, - 306, 305, 307, 305, 309, 308, 311, 312, 313, 310, - 310, 314, 315, 314, 317, 316, 318, 318, 318, 319, - 319, 320, 320, 321, 321, 321, 322, 322, 322, 322, - 322, 323, 323, 325, 324, 326, 327, 326, 328, 329, - 330, 330, 331, 331, 332, 332, 333, 333, 334, 334, - 334, 335, 335, 335, 336, 336, 336, 337, 337, 338, - 338, 339, 339, 340, 340, 341, 341, 341, 343, 344, - 342, 342, 345, 346, 342, 342, 347, 347, 349, 348, - 351, 350, 352, 353, 354, 354, 355, 355, 355, 355, - 355, 355, 355, 355, 355, 355, 355, 356, 356, 357, - 357, 358, 358, 360, 359, 359, 361, 361, 363, 362, - 364, 362, 365, 362, 362, 366, 366, 368, 367, 369, - 367, 370, 367, 367, 371, 372, 372, 372, 372, 373, - 373, 373, 373, 374, 373, 373, 375, 373, 376, 373, - 377, 373, 378, 373, 379, 379, 381, 382, 380, 383, - 384, 383, 385, 385, 387, 386, 388, 388, 390, 389, - 392, 391, 394, 393, 395, 395, 396, 397, 397, 398, - 398, 399, 400, 399, 401, 402, 403, 404, 404, 405, - 405, 406, 406, 406, 406, 406, 406, 407, 407, 407, - 407, 409, 410, 408, 411, 408, 408, 412, 412, 413, - 414, 414, 415, 415, 416, 416, 416, 417, 417, 417, - 418, 418, 418, 419, 419, 419, 419, 420, 420, 420, - 420, 421, 421, 422, 422, 423, 424, 423, 426, 425, - 425, 428, 429, 430, 431, 427, 427, 432, 432, 434, - 435, 436, 433, 433, 438, 439, 440, 437, 437, 441, - 441, 442, 443, 444, 446, 445, 445, 447, 447, 448, - 448, 450, 451, 452, 453, 454, 455, 456, 449, 457, - 457, 457, 458, 458, 460, 461, 459, 459, 462, 462, - 463, 463, 463, 464, 464, 464, 465, 465, 465, 465, - 465, 465, 465 + 0, 178, 179, 180, 181, 182, 181, 183, 183, 183, + 183, 183, 184, 184, 185, 184, 186, 184, 187, 184, + 188, 184, 189, 189, 190, 190, 192, 191, 193, 193, + 194, 194, 196, 195, 198, 197, 197, 199, 199, 200, + 200, 201, 201, 202, 202, 202, 202, 202, 202, 202, + 203, 202, 202, 204, 202, 202, 202, 202, 202, 205, + 205, 206, 206, 207, 207, 208, 208, 209, 210, 209, + 211, 211, 212, 211, 213, 214, 215, 215, 216, 216, + 217, 218, 217, 219, 220, 219, 221, 221, 222, 222, + 223, 224, 224, 225, 226, 226, 227, 227, 227, 228, + 228, 229, 230, 230, 230, 230, 230, 230, 230, 231, + 231, 231, 231, 232, 233, 232, 234, 232, 235, 232, + 232, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 237, 236, 236, + 236, 236, 236, 236, 238, 238, 239, 239, 240, 241, + 241, 241, 242, 242, 242, 242, 243, 243, 243, 243, + 244, 244, 244, 245, 245, 245, 245, 245, 245, 246, + 246, 246, 247, 248, 247, 249, 250, 249, 251, 252, + 253, 251, 254, 254, 255, 255, 256, 256, 257, 257, + 258, 257, 257, 259, 257, 257, 257, 257, 257, 257, + 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, + 261, 260, 262, 260, 260, 263, 260, 260, 260, 260, + 264, 260, 265, 260, 260, 266, 260, 267, 260, 260, + 268, 260, 269, 260, 260, 270, 271, 260, 260, 272, + 273, 260, 260, 260, 274, 260, 260, 260, 260, 260, + 260, 260, 260, 260, 275, 260, 260, 276, 260, 260, + 260, 260, 260, 277, 260, 260, 260, 278, 279, 260, + 260, 280, 260, 260, 260, 281, 282, 260, 260, 260, + 260, 260, 260, 260, 260, 260, 260, 260, 260, 283, + 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, + 260, 260, 260, 284, 285, 260, 260, 260, 287, 286, + 288, 288, 290, 289, 291, 292, 291, 293, 295, 294, + 296, 296, 297, 298, 298, 298, 299, 299, 301, 300, + 302, 300, 303, 300, 304, 300, 305, 300, 306, 306, + 306, 307, 308, 307, 309, 307, 311, 310, 313, 314, + 315, 312, 312, 316, 317, 316, 319, 318, 320, 320, + 320, 321, 321, 322, 322, 323, 323, 323, 324, 324, + 324, 324, 324, 325, 325, 327, 326, 328, 329, 328, + 330, 331, 332, 332, 333, 333, 334, 334, 335, 335, + 336, 336, 336, 337, 337, 337, 338, 338, 338, 339, + 339, 340, 340, 341, 341, 342, 342, 343, 343, 343, + 345, 346, 344, 344, 347, 348, 344, 344, 349, 349, + 351, 350, 353, 352, 354, 355, 356, 356, 357, 357, + 357, 357, 357, 357, 357, 357, 357, 357, 357, 358, + 358, 359, 359, 360, 360, 362, 361, 361, 363, 363, + 365, 364, 366, 364, 367, 364, 364, 368, 368, 370, + 369, 371, 369, 372, 369, 369, 373, 374, 374, 374, + 374, 375, 375, 375, 375, 376, 375, 375, 377, 375, + 378, 375, 379, 375, 380, 375, 381, 381, 383, 384, + 382, 385, 386, 385, 387, 387, 389, 388, 390, 390, + 392, 391, 394, 393, 396, 395, 397, 397, 398, 399, + 399, 400, 400, 401, 402, 401, 403, 404, 405, 406, + 406, 407, 407, 408, 408, 408, 408, 408, 408, 409, + 409, 409, 409, 411, 412, 410, 413, 410, 410, 414, + 414, 415, 416, 416, 417, 417, 418, 418, 418, 419, + 419, 419, 420, 420, 420, 421, 421, 421, 421, 422, + 422, 422, 422, 423, 423, 424, 424, 425, 426, 425, + 428, 427, 427, 430, 431, 432, 433, 429, 429, 434, + 434, 436, 437, 438, 435, 435, 440, 441, 442, 439, + 439, 443, 443, 444, 445, 446, 448, 447, 447, 449, + 449, 450, 450, 452, 453, 454, 455, 456, 457, 458, + 451, 459, 459, 459, 460, 460, 462, 463, 461, 461, + 464, 464, 465, 465, 465, 466, 466, 466, 467, 467, + 467, 467, 467, 467, 467 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -2793,57 +2855,57 @@ static const yytype_uint8 yyr2[] = 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, 6, 8, 6, 8, 4, 4, 4, 4, 6, 5, 4, 4, 6, 6, 4, 6, 4, 4, 4, 4, - 4, 4, 4, 4, 3, 4, 4, 0, 5, 2, - 2, 3, 0, 1, 1, 3, 1, 1, 3, 4, - 1, 2, 2, 2, 1, 3, 3, 3, 1, 3, - 3, 1, 3, 3, 3, 3, 5, 1, 3, 3, - 1, 0, 4, 1, 0, 4, 1, 0, 0, 7, - 1, 3, 1, 2, 0, 2, 1, 3, 0, 7, - 3, 0, 6, 3, 3, 3, 4, 4, 1, 2, - 2, 2, 3, 3, 4, 3, 4, 3, 0, 5, - 0, 8, 3, 0, 4, 3, 4, 3, 0, 6, - 0, 8, 3, 0, 4, 0, 6, 4, 0, 3, - 0, 4, 2, 0, 0, 5, 3, 0, 0, 5, - 3, 3, 0, 6, 5, 4, 4, 3, 2, 2, - 2, 3, 0, 6, 3, 0, 6, 4, 2, 3, - 4, 0, 3, 3, 4, 0, 0, 6, 5, 0, - 5, 3, 3, 0, 0, 11, 1, 1, 1, 1, - 2, 3, 2, 3, 2, 3, 2, 0, 4, 4, - 3, 3, 3, 2, 3, 3, 2, 3, 2, 4, - 4, 0, 0, 7, 3, 2, 0, 4, 0, 2, - 0, 4, 0, 0, 5, 0, 0, 5, 1, 1, - 2, 1, 1, 1, 1, 2, 0, 3, 0, 3, - 0, 3, 0, 3, 0, 4, 0, 1, 1, 1, - 0, 4, 0, 4, 0, 3, 0, 0, 0, 9, - 3, 1, 0, 3, 0, 3, 0, 1, 1, 0, - 1, 2, 2, 1, 3, 3, 1, 3, 3, 3, - 2, 1, 3, 0, 3, 0, 0, 3, 3, 2, - 0, 2, 3, 3, 3, 3, 1, 1, 3, 3, - 3, 1, 1, 1, 0, 2, 2, 2, 1, 2, - 1, 2, 1, 2, 1, 1, 1, 1, 0, 0, - 6, 4, 0, 0, 5, 3, 1, 1, 0, 3, - 0, 4, 0, 2, 0, 2, 3, 3, 3, 3, - 3, 3, 2, 2, 2, 4, 3, 0, 1, 0, - 1, 1, 3, 0, 3, 1, 1, 3, 0, 3, - 0, 3, 0, 3, 1, 1, 3, 0, 3, 0, - 3, 0, 3, 1, 1, 1, 1, 1, 2, 1, - 1, 1, 2, 0, 3, 1, 0, 3, 0, 3, - 0, 3, 0, 3, 1, 3, 0, 0, 4, 2, - 0, 4, 0, 2, 0, 3, 3, 2, 0, 4, - 0, 5, 0, 2, 1, 3, 1, 2, 2, 1, - 1, 1, 0, 4, 1, 1, 1, 2, 2, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 6, 0, 4, 2, 1, 2, 2, - 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, - 1, 2, 2, 1, 2, 2, 2, 1, 2, 2, - 2, 0, 2, 1, 2, 1, 0, 4, 0, 5, - 3, 0, 0, 0, 0, 13, 3, 1, 1, 0, - 0, 0, 9, 3, 0, 0, 0, 9, 3, 1, - 2, 2, 1, 1, 0, 5, 5, 1, 2, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 19, 1, - 2, 2, 0, 2, 0, 0, 8, 5, 0, 2, - 1, 2, 2, 1, 2, 2, 0, 1, 1, 1, - 1, 1, 1 + 4, 4, 4, 4, 3, 4, 4, 0, 5, 3, + 3, 2, 2, 3, 0, 1, 1, 3, 1, 1, + 3, 4, 1, 2, 2, 2, 1, 3, 3, 3, + 1, 3, 3, 1, 3, 3, 3, 3, 5, 1, + 3, 3, 1, 0, 4, 1, 0, 4, 1, 0, + 0, 7, 1, 3, 1, 2, 0, 2, 1, 3, + 0, 7, 3, 0, 6, 3, 3, 3, 4, 4, + 1, 2, 2, 2, 3, 3, 4, 3, 4, 3, + 0, 5, 0, 8, 3, 0, 4, 3, 4, 3, + 0, 6, 0, 8, 3, 0, 4, 0, 6, 4, + 0, 3, 0, 4, 2, 0, 0, 5, 3, 0, + 0, 5, 3, 3, 0, 6, 5, 4, 4, 3, + 2, 2, 2, 3, 0, 6, 3, 0, 6, 4, + 2, 3, 4, 0, 3, 3, 4, 0, 0, 6, + 5, 0, 5, 3, 3, 0, 0, 11, 1, 1, + 1, 1, 2, 3, 2, 3, 2, 3, 2, 0, + 4, 4, 3, 3, 3, 2, 3, 3, 2, 3, + 2, 4, 4, 0, 0, 7, 3, 2, 0, 4, + 0, 2, 0, 4, 0, 0, 5, 0, 0, 5, + 1, 1, 2, 1, 1, 1, 1, 2, 0, 3, + 0, 3, 0, 3, 0, 3, 0, 4, 0, 1, + 1, 1, 0, 4, 0, 4, 0, 3, 0, 0, + 0, 9, 3, 1, 0, 3, 0, 3, 0, 1, + 1, 0, 1, 2, 2, 1, 3, 3, 1, 3, + 3, 3, 2, 1, 3, 0, 3, 0, 0, 3, + 3, 2, 0, 2, 3, 3, 3, 3, 1, 1, + 3, 3, 3, 1, 1, 1, 0, 2, 2, 2, + 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, + 0, 0, 6, 4, 0, 0, 5, 3, 1, 1, + 0, 3, 0, 4, 0, 2, 0, 2, 3, 3, + 3, 3, 3, 3, 2, 2, 2, 4, 3, 0, + 1, 0, 1, 1, 3, 0, 3, 1, 1, 3, + 0, 3, 0, 3, 0, 3, 1, 1, 3, 0, + 3, 0, 3, 0, 3, 1, 1, 1, 1, 1, + 2, 1, 1, 1, 2, 0, 3, 1, 0, 3, + 0, 3, 0, 3, 0, 3, 1, 3, 0, 0, + 4, 2, 0, 4, 0, 2, 0, 3, 3, 2, + 0, 4, 0, 5, 0, 2, 1, 3, 1, 2, + 2, 1, 1, 1, 0, 4, 1, 1, 1, 2, + 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 0, 6, 0, 4, 2, 1, + 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, + 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, + 2, 2, 2, 0, 2, 1, 2, 1, 0, 4, + 0, 5, 3, 0, 0, 0, 0, 13, 3, 1, + 1, 0, 0, 0, 9, 3, 0, 0, 0, 9, + 3, 1, 2, 2, 1, 1, 0, 5, 5, 1, + 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, + 19, 1, 2, 2, 0, 2, 0, 0, 8, 5, + 0, 2, 1, 2, 2, 1, 2, 2, 0, 1, + 1, 1, 1, 1, 1 }; @@ -3526,47 +3588,47 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 526 "rwlparser.y" /* yacc.c:1646 */ +#line 529 "rwlparser.y" /* yacc.c:1646 */ { ; // we are done! } -#line 3534 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3596 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 3: -#line 532 "rwlparser.y" /* yacc.c:1646 */ +#line 535 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) YYABORT; } -#line 3540 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3602 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 5: -#line 538 "rwlparser.y" /* yacc.c:1646 */ +#line 541 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3612 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 6: -#line 544 "rwlparser.y" /* yacc.c:1646 */ +#line 547 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3560 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3622 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 10: -#line 559 "rwlparser.y" /* yacc.c:1646 */ +#line 562 "rwlparser.y" /* yacc.c:1646 */ { rwlprintallvars(rwm); } -#line 3566 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3628 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 13: -#line 570 "rwlparser.y" /* yacc.c:1646 */ +#line 573 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) rwlcodetail(rwm); @@ -3581,11 +3643,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->codename = 0; // we are no longer compiling code rwm->codeguess = RWL_VAR_NOGUESS; } -#line 3585 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3647 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 14: -#line 586 "rwlparser.y" /* yacc.c:1646 */ +#line 589 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3593,22 +3655,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3597 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3659 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 16: -#line 595 "rwlparser.y" /* yacc.c:1646 */ +#line 598 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3608 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3670 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 18: -#line 603 "rwlparser.y" /* yacc.c:1646 */ +#line 606 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3616,83 +3678,83 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3620 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3682 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 20: -#line 612 "rwlparser.y" /* yacc.c:1646 */ +#line 615 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3630 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3692 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 22: -#line 623 "rwlparser.y" /* yacc.c:1646 */ +#line 626 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3638 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3700 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 23: -#line 627 "rwlparser.y" /* yacc.c:1646 */ +#line 630 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAST); yyerrok; } -#line 3649 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3711 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 26: -#line 640 "rwlparser.y" /* yacc.c:1646 */ +#line 643 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->sval; } -#line 3655 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3717 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 27: -#line 642 "rwlparser.y" /* yacc.c:1646 */ +#line 645 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3661 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3723 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 28: -#line 648 "rwlparser.y" /* yacc.c:1646 */ +#line 651 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3669 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3731 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 29: -#line 652 "rwlparser.y" /* yacc.c:1646 */ +#line 655 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAPROC); yyerrok; } -#line 3680 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3742 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 32: -#line 664 "rwlparser.y" /* yacc.c:1646 */ +#line 667 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->inam; } -#line 3686 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3748 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 33: -#line 666 "rwlparser.y" /* yacc.c:1646 */ +#line 669 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3692 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3754 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 34: -#line 671 "rwlparser.y" /* yacc.c:1646 */ +#line 674 "rwlparser.y" /* yacc.c:1646 */ { // add identifier sb4 ld = rwladdvar(rwm, rwm->inam, RWL_TYPE_DB, 0); @@ -3709,11 +3771,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m2flags, RWL_P2_SOMEEXPFAIL); } -#line 3713 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3775 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 35: -#line 688 "rwlparser.y" /* yacc.c:1646 */ +#line 691 "rwlparser.y" /* yacc.c:1646 */ { // fix core dump, only call builddb if everything fine if (bit(rwm->m2flags, RWL_P2_SOMEEXPFAIL)) @@ -3769,17 +3831,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m3flags, RWL_P3_GENERATE_OK); } } -#line 3773 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3835 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 36: -#line 744 "rwlparser.y" /* yacc.c:1646 */ +#line 747 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DATABASE_WRONG); yyerrok; } -#line 3779 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3841 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 38: -#line 750 "rwlparser.y" /* yacc.c:1646 */ +#line 753 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3789,11 +3851,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3793 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3855 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 43: -#line 770 "rwlparser.y" /* yacc.c:1646 */ +#line 773 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3803,20 +3865,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3807 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3869 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 44: -#line 780 "rwlparser.y" /* yacc.c:1646 */ +#line 783 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) rwm->dbsav->password = rwlstrdup(rwm, rwm->pval.sval); } -#line 3816 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3878 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 45: -#line 785 "rwlparser.y" /* yacc.c:1646 */ +#line 788 "rwlparser.y" /* yacc.c:1646 */ { if (rwlcclassgood(rwm, (rwm->pval.sval))) { @@ -3824,11 +3886,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->cclass = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3828 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3890 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 46: -#line 793 "rwlparser.y" /* yacc.c:1646 */ +#line 796 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3841,11 +3903,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3845 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3907 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 47: -#line 806 "rwlparser.y" /* yacc.c:1646 */ +#line 809 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3876,11 +3938,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3880 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3942 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 48: -#line 837 "rwlparser.y" /* yacc.c:1646 */ +#line 840 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "results", rwm->resdb); @@ -3891,11 +3953,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->resdb = rwm->dbname; } } -#line 3895 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3957 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 49: -#line 848 "rwlparser.y" /* yacc.c:1646 */ +#line 851 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "default", rwm->defdb); @@ -3906,11 +3968,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->defdb = rwm->dbname; } } -#line 3910 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3972 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 50: -#line 859 "rwlparser.y" /* yacc.c:1646 */ +#line 862 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3924,11 +3986,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"connectionpool max size"; } } -#line 3928 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3990 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 52: -#line 875 "rwlparser.y" /* yacc.c:1646 */ +#line 878 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3937,11 +3999,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags, RWL_DB_CCACHUSER); } } -#line 3941 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4003 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 53: -#line 884 "rwlparser.y" /* yacc.c:1646 */ +#line 887 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3955,11 +4017,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"sessionpool max size"; } } -#line 3959 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4021 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 55: -#line 901 "rwlparser.y" /* yacc.c:1646 */ +#line 904 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3969,11 +4031,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "drcp pooled"; } } -#line 3973 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4035 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 56: -#line 911 "rwlparser.y" /* yacc.c:1646 */ +#line 914 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3983,11 +4045,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "dedicated"; } } -#line 3987 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4049 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 57: -#line 921 "rwlparser.y" /* yacc.c:1646 */ +#line 924 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3997,11 +4059,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "threads dedicated"; } } -#line 4001 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4063 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 58: -#line 931 "rwlparser.y" /* yacc.c:1646 */ +#line 934 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4011,11 +4073,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "reconnect"; } } -#line 4015 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4077 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 61: -#line 948 "rwlparser.y" /* yacc.c:1646 */ +#line 951 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "statemark",RWL_OCI_VERSION); @@ -4023,11 +4085,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_STATEMARK); #endif } -#line 4027 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4089 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 62: -#line 956 "rwlparser.y" /* yacc.c:1646 */ +#line 959 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "requestmark",RWL_OCI_VERSION); @@ -4035,11 +4097,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_REQMARK); #endif } -#line 4039 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4101 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 63: -#line 966 "rwlparser.y" /* yacc.c:1646 */ +#line 969 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4050,11 +4112,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4054 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4116 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 64: -#line 977 "rwlparser.y" /* yacc.c:1646 */ +#line 980 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4066,11 +4128,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4070 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4132 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 66: -#line 993 "rwlparser.y" /* yacc.c:1646 */ +#line 996 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4079,11 +4141,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , RWL_DBPOOL_DEFAULT_TIMEOUT, (text *)"release timeout"); } } -#line 4083 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4145 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 68: -#line 1006 "rwlparser.y" /* yacc.c:1646 */ +#line 1009 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) @@ -4092,20 +4154,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool wait attribute"); #endif } -#line 4096 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4158 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 71: -#line 1020 "rwlparser.y" /* yacc.c:1646 */ +#line 1023 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); } -#line 4105 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4167 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 72: -#line 1025 "rwlparser.y" /* yacc.c:1646 */ +#line 1028 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4116,11 +4178,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[0] = rwm->inam; rwlexprbeg(rwm); } -#line 4120 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4182 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 73: -#line 1036 "rwlparser.y" /* yacc.c:1646 */ +#line 1039 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; @@ -4132,27 +4194,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 4136 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4198 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 74: -#line 1053 "rwlparser.y" /* yacc.c:1646 */ +#line 1056 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4144 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4206 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 75: -#line 1060 "rwlparser.y" /* yacc.c:1646 */ +#line 1063 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4152 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4214 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 80: -#line 1076 "rwlparser.y" /* yacc.c:1646 */ +#line 1079 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4164,11 +4226,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4168 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4230 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 81: -#line 1088 "rwlparser.y" /* yacc.c:1646 */ +#line 1091 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_FUNC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) // e.g. out of space @@ -4183,11 +4245,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, at least 1 for return value */ } -#line 4187 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4249 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 82: -#line 1104 "rwlparser.y" /* yacc.c:1646 */ +#line 1107 "rwlparser.y" /* yacc.c:1646 */ { /* codeguess was set en rwlcodeaddp */ if (rwm->codeguess>=0 && rwm->dtype) @@ -4219,11 +4281,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->supsemerr = RWL_SUPSEM_FUNC; } -#line 4223 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4285 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 83: -#line 1140 "rwlparser.y" /* yacc.c:1646 */ +#line 1143 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4234,11 +4296,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4238 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4300 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 84: -#line 1151 "rwlparser.y" /* yacc.c:1646 */ +#line 1154 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_PROC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) /* e.g. out of space */ @@ -4250,54 +4312,54 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, return value space is wasted */ } -#line 4254 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4316 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 85: -#line 1164 "rwlparser.y" /* yacc.c:1646 */ +#line 1167 "rwlparser.y" /* yacc.c:1646 */ { rwm->mxq->evar[rwm->codeguess].v2val = rwm->facnt; rwm->supsemerr = RWL_SUPSEM_PROC; } -#line 4263 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4325 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 86: -#line 1172 "rwlparser.y" /* yacc.c:1646 */ +#line 1175 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4272 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4334 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 87: -#line 1177 "rwlparser.y" /* yacc.c:1646 */ +#line 1180 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4280 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4342 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 88: -#line 1184 "rwlparser.y" /* yacc.c:1646 */ +#line 1187 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4289 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4351 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 89: -#line 1189 "rwlparser.y" /* yacc.c:1646 */ +#line 1192 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4297 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4359 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 90: -#line 1196 "rwlparser.y" /* yacc.c:1646 */ +#line 1199 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) { @@ -4379,39 +4441,39 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } finishcodebody: ; } -#line 4383 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4445 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 93: -#line 1286 "rwlparser.y" /* yacc.c:1646 */ +#line 1289 "rwlparser.y" /* yacc.c:1646 */ { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) rwlprintvar(rwm->mxq, l); } -#line 4393 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4455 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 94: -#line 1294 "rwlparser.y" /* yacc.c:1646 */ +#line 1297 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4399 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4461 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 95: -#line 1295 "rwlparser.y" /* yacc.c:1646 */ +#line 1298 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4405 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4467 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 96: -#line 1298 "rwlparser.y" /* yacc.c:1646 */ +#line 1301 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_MISSING_DECL_BRACK); } -#line 4411 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4473 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 101: -#line 1310 "rwlparser.y" /* yacc.c:1646 */ +#line 1313 "rwlparser.y" /* yacc.c:1646 */ { sb4 la; if (rwm->dtype && @@ -4435,29 +4497,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4439 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4501 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 102: -#line 1338 "rwlparser.y" /* yacc.c:1646 */ +#line 1341 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4445 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4507 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 103: -#line 1340 "rwlparser.y" /* yacc.c:1646 */ +#line 1343 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4451 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4513 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 104: -#line 1342 "rwlparser.y" /* yacc.c:1646 */ +#line 1345 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4457 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4519 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 105: -#line 1344 "rwlparser.y" /* yacc.c:1646 */ +#line 1347 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -4472,50 +4534,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen=RWL_MAX_STRING_LENGTH; } } -#line 4476 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4538 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 106: -#line 1359 "rwlparser.y" /* yacc.c:1646 */ +#line 1362 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "file"); } -#line 4485 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4547 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 107: -#line 1364 "rwlparser.y" /* yacc.c:1646 */ +#line 1367 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "sql"); } -#line 4494 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4556 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 108: -#line 1369 "rwlparser.y" /* yacc.c:1646 */ +#line 1372 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "clob"); } -#line 4503 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4565 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 110: -#line 1378 "rwlparser.y" /* yacc.c:1646 */ +#line 1381 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_STATSONLY); } -#line 4509 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4571 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 111: -#line 1380 "rwlparser.y" /* yacc.c:1646 */ +#line 1383 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_PROCHASSQL); } -#line 4515 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4577 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 112: -#line 1382 "rwlparser.y" /* yacc.c:1646 */ +#line 1385 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; l = rwlfindvar(rwm->mxq, rwm->codename, RWL_VAR_NOGUESS); @@ -4531,11 +4593,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4535 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4597 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 114: -#line 1402 "rwlparser.y" /* yacc.c:1646 */ +#line 1405 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4549,11 +4611,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "procedure", rwm->codename); } } -#line 4553 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4615 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 116: -#line 1417 "rwlparser.y" /* yacc.c:1646 */ +#line 1420 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4567,11 +4629,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "function", rwm->codename); } } -#line 4571 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4633 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 118: -#line 1432 "rwlparser.y" /* yacc.c:1646 */ +#line 1435 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4586,11 +4648,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->codename); } } -#line 4590 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4652 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 120: -#line 1448 "rwlparser.y" /* yacc.c:1646 */ +#line 1451 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4606,11 +4668,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); yyerrok; } } -#line 4610 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4672 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 121: -#line 1491 "rwlparser.y" /* yacc.c:1646 */ +#line 1494 "rwlparser.y" /* yacc.c:1646 */ { /* There are cases where we have an expression followed @@ -4623,11 +4685,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam, RWL_STACK_VAR); } -#line 4627 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4689 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 122: -#line 1505 "rwlparser.y" /* yacc.c:1646 */ +#line 1508 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4641,11 +4703,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_DBL; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4645 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4707 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 123: -#line 1519 "rwlparser.y" /* yacc.c:1646 */ +#line 1522 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4659,11 +4721,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_INT; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4663 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4725 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 124: -#line 1533 "rwlparser.y" /* yacc.c:1646 */ +#line 1536 "rwlparser.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ @@ -4675,208 +4737,208 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_STR; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4679 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4741 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 125: -#line 1545 "rwlparser.y" /* yacc.c:1646 */ +#line 1548 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } -#line 4687 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4749 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 126: -#line 1548 "rwlparser.y" /* yacc.c:1646 */ +#line 1551 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_UNIFORM); } -#line 4693 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4755 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 127: -#line 1549 "rwlparser.y" /* yacc.c:1646 */ +#line 1552 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOGB); } -#line 4699 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4761 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 128: -#line 1550 "rwlparser.y" /* yacc.c:1646 */ +#line 1553 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOG); } -#line 4705 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4767 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 129: -#line 1551 "rwlparser.y" /* yacc.c:1646 */ +#line 1554 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXPB); } -#line 4711 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4773 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 130: -#line 1552 "rwlparser.y" /* yacc.c:1646 */ +#line 1555 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXP); } -#line 4717 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4779 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 131: -#line 1553 "rwlparser.y" /* yacc.c:1646 */ +#line 1556 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CEIL); } -#line 4723 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4785 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 132: -#line 1554 "rwlparser.y" /* yacc.c:1646 */ +#line 1557 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_TRUNC); } -#line 4729 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4791 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 133: -#line 1555 "rwlparser.y" /* yacc.c:1646 */ +#line 1558 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_FLOOR); } -#line 4735 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4797 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 134: -#line 1556 "rwlparser.y" /* yacc.c:1646 */ +#line 1559 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ROUND); } -#line 4741 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4803 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 135: -#line 1557 "rwlparser.y" /* yacc.c:1646 */ +#line 1560 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SQRT); } -#line 4747 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4809 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 136: -#line 1558 "rwlparser.y" /* yacc.c:1646 */ +#line 1561 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SIN); } -#line 4753 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4815 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 137: -#line 1559 "rwlparser.y" /* yacc.c:1646 */ +#line 1562 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_COS); } -#line 4759 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4821 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 138: -#line 1560 "rwlparser.y" /* yacc.c:1646 */ +#line 1563 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ATAN2); } -#line 4765 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4827 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 139: -#line 1561 "rwlparser.y" /* yacc.c:1646 */ +#line 1564 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LENGTHB); } -#line 4771 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4833 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 140: -#line 1563 "rwlparser.y" /* yacc.c:1646 */ +#line 1566 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB2); } -#line 4777 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4839 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 141: -#line 1565 "rwlparser.y" /* yacc.c:1646 */ +#line 1568 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB3); } -#line 4783 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4845 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 142: -#line 1567 "rwlparser.y" /* yacc.c:1646 */ +#line 1570 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB2); } -#line 4789 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4851 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 143: -#line 1569 "rwlparser.y" /* yacc.c:1646 */ +#line 1572 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB3); } -#line 4795 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4857 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 144: -#line 1570 "rwlparser.y" /* yacc.c:1646 */ +#line 1573 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GETENV); } -#line 4801 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4863 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 145: -#line 1571 "rwlparser.y" /* yacc.c:1646 */ +#line 1574 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2B); } -#line 4809 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4871 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 146: -#line 1574 "rwlparser.y" /* yacc.c:1646 */ +#line 1577 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2BB); } -#line 4817 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4879 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 147: -#line 1577 "rwlparser.y" /* yacc.c:1646 */ +#line 1580 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4823 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4885 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 148: -#line 1579 "rwlparser.y" /* yacc.c:1646 */ +#line 1582 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 4831 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4893 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 149: -#line 1583 "rwlparser.y" /* yacc.c:1646 */ +#line 1586 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4840 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4902 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 150: -#line 1587 "rwlparser.y" /* yacc.c:1646 */ +#line 1590 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG); } -#line 4846 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4908 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 151: -#line 1588 "rwlparser.y" /* yacc.c:1646 */ +#line 1591 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG2); } -#line 4852 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4914 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 152: -#line 1590 "rwlparser.y" /* yacc.c:1646 */ +#line 1593 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANGK); } -#line 4858 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4920 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 153: -#line 1592 "rwlparser.y" /* yacc.c:1646 */ +#line 1595 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NORMALRANDOM); } -#line 4864 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4926 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 154: -#line 1593 "rwlparser.y" /* yacc.c:1646 */ +#line 1596 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 4870 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4932 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 155: -#line 1595 "rwlparser.y" /* yacc.c:1646 */ +#line 1598 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ACCESS); } -#line 4876 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4938 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 156: -#line 1597 "rwlparser.y" /* yacc.c:1646 */ +#line 1600 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlexprpush(rwm, rwm->resdb, RWL_STACK_SERVERRELEASE); @@ -4887,11 +4949,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "results"); } } -#line 4891 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4953 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 157: -#line 1608 "rwlparser.y" /* yacc.c:1646 */ +#line 1611 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlexprpush(rwm, rwm->defdb, RWL_STACK_SERVERRELEASE); @@ -4902,92 +4964,92 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "default"); } } -#line 4906 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4968 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 158: -#line 1619 "rwlparser.y" /* yacc.c:1646 */ +#line 1622 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SERVERRELEASE); } -#line 4914 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4976 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 159: -#line 1623 "rwlparser.y" /* yacc.c:1646 */ +#line 1626 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "serverrelease"); yyerrok; } -#line 4924 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4986 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 160: -#line 1629 "rwlparser.y" /* yacc.c:1646 */ +#line 1632 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_OPENSESSIONCOUNT); } -#line 4932 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4994 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 161: -#line 1633 "rwlparser.y" /* yacc.c:1646 */ +#line 1636 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "opensessioncount"); yyerrok; } -#line 4942 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5004 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 162: -#line 1639 "rwlparser.y" /* yacc.c:1646 */ +#line 1642 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_ACTIVESESSIONCOUNT); } -#line 4950 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5012 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 163: -#line 1643 "rwlparser.y" /* yacc.c:1646 */ +#line 1646 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "activesessioncount"); yyerrok; } -#line 4960 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5022 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 164: -#line 1649 "rwlparser.y" /* yacc.c:1646 */ +#line 1652 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); } -#line 4969 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5031 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 165: -#line 1654 "rwlparser.y" /* yacc.c:1646 */ +#line 1657 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } -#line 4977 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5039 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 166: -#line 1658 "rwlparser.y" /* yacc.c:1646 */ +#line 1661 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_SQLID_NEED_IDENT); yyerrok; } -#line 4987 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5049 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 167: -#line 1665 "rwlparser.y" /* yacc.c:1646 */ +#line 1668 "rwlparser.y" /* yacc.c:1646 */ { /* element with furlev=0 is used by procedure call */ if (++rwm->furlev>=RWL_MAX_FUNC_RECURSION) @@ -5000,11 +5062,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[rwm->furlev] = (yychar == RWL_T_IDENTIFIER) ? rwm->previnam : rwm->inam; } -#line 5004 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5066 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 168: -#line 1679 "rwlparser.y" /* yacc.c:1646 */ +#line 1682 "rwlparser.y" /* yacc.c:1646 */ { /* syntactically, the number of arguments doesn't matter so we just provide the actual arg count to exprpush2 @@ -5016,139 +5078,155 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (rwm->furlev) rwm->furlev--; } -#line 5020 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5082 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 169: -#line 1691 "rwlparser.y" /* yacc.c:1646 */ +#line 1694 "rwlparser.y" /* yacc.c:1646 */ + { + rwlexprpush(rwm, 0, RWL_STACK_DBSECONDS); + } +#line 5090 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 170: +#line 1698 "rwlparser.y" /* yacc.c:1646 */ + { + rwlexprpush(rwm, 0, RWL_STACK_OCISECONDS); + } +#line 5098 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 171: +#line 1702 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "runseconds"); rwlexprpush(rwm, 0, RWL_STACK_RUNSECONDS); } -#line 5030 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5108 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 170: -#line 1697 "rwlparser.y" /* yacc.c:1646 */ + case 172: +#line 1708 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "epochseconds"); rwlexprpush(rwm, 0, RWL_STACK_EPOCHSECONDS); } -#line 5040 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5118 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 176: -#line 1716 "rwlparser.y" /* yacc.c:1646 */ + case 178: +#line 1727 "rwlparser.y" /* yacc.c:1646 */ { rwm->aacnt[rwm->furlev]++; } -#line 5046 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5124 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 178: -#line 1722 "rwlparser.y" /* yacc.c:1646 */ + case 180: +#line 1733 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5052 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5130 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 179: -#line 1723 "rwlparser.y" /* yacc.c:1646 */ + case 181: +#line 1734 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNOTNULL); } -#line 5058 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5136 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 181: -#line 1729 "rwlparser.y" /* yacc.c:1646 */ + case 183: +#line 1740 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MINUS); } -#line 5064 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5142 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 182: -#line 1730 "rwlparser.y" /* yacc.c:1646 */ + case 184: +#line 1741 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5070 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5148 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 183: -#line 1731 "rwlparser.y" /* yacc.c:1646 */ + case 185: +#line 1742 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5076 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5154 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 185: -#line 1736 "rwlparser.y" /* yacc.c:1646 */ + case 187: +#line 1747 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MUL); } -#line 5082 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5160 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 186: -#line 1737 "rwlparser.y" /* yacc.c:1646 */ + case 188: +#line 1748 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_DIV); } -#line 5088 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5166 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 187: -#line 1738 "rwlparser.y" /* yacc.c:1646 */ + case 189: +#line 1749 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MOD); } -#line 5094 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5172 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 189: -#line 1743 "rwlparser.y" /* yacc.c:1646 */ + case 191: +#line 1754 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ADD); } -#line 5100 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5178 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 190: -#line 1744 "rwlparser.y" /* yacc.c:1646 */ + case 192: +#line 1755 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUB); } -#line 5106 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5184 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 192: -#line 1749 "rwlparser.y" /* yacc.c:1646 */ + case 194: +#line 1760 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESS); } -#line 5112 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5190 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 193: -#line 1750 "rwlparser.y" /* yacc.c:1646 */ + case 195: +#line 1761 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATER); } -#line 5118 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5196 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 194: -#line 1751 "rwlparser.y" /* yacc.c:1646 */ + case 196: +#line 1762 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } -#line 5124 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5202 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 195: -#line 1752 "rwlparser.y" /* yacc.c:1646 */ + case 197: +#line 1763 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } -#line 5130 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5208 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 196: -#line 1753 "rwlparser.y" /* yacc.c:1646 */ + case 198: +#line 1764 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } -#line 5136 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5214 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 198: -#line 1758 "rwlparser.y" /* yacc.c:1646 */ + case 200: +#line 1769 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EQUAL); } -#line 5142 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5220 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 199: -#line 1759 "rwlparser.y" /* yacc.c:1646 */ + case 201: +#line 1770 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } -#line 5148 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5226 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 201: -#line 1765 "rwlparser.y" /* yacc.c:1646 */ + case 203: +#line 1776 "rwlparser.y" /* yacc.c:1646 */ { // With AND (and OR) skipdep is used to mark // the expression element we need to skip until @@ -5158,20 +5236,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-andskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5162 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5240 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 202: -#line 1775 "rwlparser.y" /* yacc.c:1646 */ + case 204: +#line 1786 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; } -#line 5171 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5249 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 204: -#line 1784 "rwlparser.y" /* yacc.c:1646 */ + case 206: +#line 1795 "rwlparser.y" /* yacc.c:1646 */ { // see comment above rwm->ptail->branchtype = RWL_EXP_ORBRANCH; @@ -5179,20 +5257,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-orskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5183 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5261 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 205: -#line 1792 "rwlparser.y" /* yacc.c:1646 */ + case 207: +#line 1803 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR ,rwm->skipdep); rwm->skipdep--; } -#line 5192 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5270 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 207: -#line 1801 "rwlparser.y" /* yacc.c:1646 */ + case 209: +#line 1812 "rwlparser.y" /* yacc.c:1646 */ { // With conditional execution we mark the condition // with RWL_EXP_CONDBRANCH1 @@ -5201,50 +5279,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-condskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5205 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5283 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 208: -#line 1810 "rwlparser.y" /* yacc.c:1646 */ + case 210: +#line 1821 "rwlparser.y" /* yacc.c:1646 */ { // and the place of ':' (really ELSE) with // RWL_EXP_CONDBRANCH2 rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; rwm->ptail->skipnxt = rwm->skipdep; } -#line 5216 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5294 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 209: -#line 1817 "rwlparser.y" /* yacc.c:1646 */ + case 211: +#line 1828 "rwlparser.y" /* yacc.c:1646 */ { // And the actual conditional is the "end if" place rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, rwm->skipdep); rwm->skipdep--; } -#line 5226 "rwlparser.tab.c" /* yacc.c:1646 */ - break; - - case 211: -#line 1826 "rwlparser.y" /* yacc.c:1646 */ - { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5232 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5304 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 213: -#line 1831 "rwlparser.y" /* yacc.c:1646 */ +#line 1837 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5238 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5310 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 215: #line 1842 "rwlparser.y" /* yacc.c:1646 */ + { rwlexprpush0(rwm,RWL_STACK_CONCAT); } +#line 5316 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 217: +#line 1853 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = 0; } -#line 5244 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5322 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 216: -#line 1847 "rwlparser.y" /* yacc.c:1646 */ + case 218: +#line 1858 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) { @@ -5252,65 +5330,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); YYACCEPT; } } -#line 5256 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5334 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 217: -#line 1855 "rwlparser.y" /* yacc.c:1646 */ + case 219: +#line 1866 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5262 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5340 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 218: -#line 1857 "rwlparser.y" /* yacc.c:1646 */ + case 220: +#line 1868 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "threads"); yyerrok; } -#line 5268 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5346 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 220: -#line 1864 "rwlparser.y" /* yacc.c:1646 */ + case 222: +#line 1875 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5274 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5352 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 221: -#line 1866 "rwlparser.y" /* yacc.c:1646 */ + case 223: +#line 1877 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "run"); yyerrok; } -#line 5280 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5358 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 223: -#line 1870 "rwlparser.y" /* yacc.c:1646 */ + case 225: +#line 1881 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5286 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5364 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 224: -#line 1872 "rwlparser.y" /* yacc.c:1646 */ + case 226: +#line 1883 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "database"); yyerrok; } -#line 5292 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5370 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 225: -#line 1874 "rwlparser.y" /* yacc.c:1646 */ + case 227: +#line 1885 "rwlparser.y" /* yacc.c:1646 */ { yyerrok ; } -#line 5298 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5376 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 226: -#line 1877 "rwlparser.y" /* yacc.c:1646 */ + case 228: +#line 1888 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random procedure array"); yyerrok; } -#line 5304 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5382 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 227: -#line 1880 "rwlparser.y" /* yacc.c:1646 */ + case 229: +#line 1891 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random string array"); yyerrok; } -#line 5310 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5388 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 228: -#line 1885 "rwlparser.y" /* yacc.c:1646 */ + case 230: +#line 1896 "rwlparser.y" /* yacc.c:1646 */ { switch(rwm->supsemerr) { @@ -5339,11 +5417,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 5343 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5421 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 229: -#line 1914 "rwlparser.y" /* yacc.c:1646 */ + case 231: +#line 1925 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5358,11 +5436,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_ABORT); } } -#line 5362 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5440 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 230: -#line 1929 "rwlparser.y" /* yacc.c:1646 */ + case 232: +#line 1940 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5373,37 +5451,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_NOSTATISTICS); } } -#line 5377 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5455 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 233: -#line 1946 "rwlparser.y" /* yacc.c:1646 */ + case 235: +#line 1957 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } -#line 5383 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5461 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 235: -#line 1953 "rwlparser.y" /* yacc.c:1646 */ + case 237: +#line 1964 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } -#line 5389 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5467 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 237: -#line 1959 "rwlparser.y" /* yacc.c:1646 */ + case 239: +#line 1970 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } -#line 5395 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5473 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 238: -#line 1961 "rwlparser.y" /* yacc.c:1646 */ + case 240: +#line 1972 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; } -#line 5403 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5481 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 240: -#line 1967 "rwlparser.y" /* yacc.c:1646 */ + case 242: +#line 1978 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) rwm->declslen = 1; // kind of a kludge, but this prevents doube @@ -5413,33 +5491,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen = rwm->pval.ival; } } -#line 5417 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5495 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 242: -#line 1981 "rwlparser.y" /* yacc.c:1646 */ + case 244: +#line 1992 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_STR); yyerrok; } -#line 5423 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5501 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 243: -#line 1983 "rwlparser.y" /* yacc.c:1646 */ + case 245: +#line 1994 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_FILE; //if (rwm->codename) // rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "file"); } -#line 5433 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5511 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 245: -#line 1992 "rwlparser.y" /* yacc.c:1646 */ + case 247: +#line 2003 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_FILE); yyerrok; } -#line 5439 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5517 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 246: -#line 1997 "rwlparser.y" /* yacc.c:1646 */ + case 248: +#line 2008 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5460,11 +5538,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5464 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5542 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 247: -#line 2020 "rwlparser.y" /* yacc.c:1646 */ + case 249: +#line 2031 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5487,17 +5565,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5491 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5569 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 248: -#line 2044 "rwlparser.y" /* yacc.c:1646 */ + case 250: +#line 2055 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rslerror) rwlcodeadd0(rwm, RWL_CODE_ELSE); } -#line 5497 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5575 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 249: -#line 2047 "rwlparser.y" /* yacc.c:1646 */ + case 251: +#line 2058 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5518,11 +5596,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5522 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5600 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 250: -#line 2070 "rwlparser.y" /* yacc.c:1646 */ + case 252: +#line 2081 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* start expression */ @@ -5559,11 +5637,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlexprbeg(rwm); } -#line 5563 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5641 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 251: -#line 2111 "rwlparser.y" /* yacc.c:1646 */ + case 253: +#line 2122 "rwlparser.y" /* yacc.c:1646 */ { switch (rwm->rsllityp[rwm->rsldepth]) { @@ -5631,65 +5709,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->rsldepth, rwm->rslmisc[rwm->rsldepth]); } } -#line 5635 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5713 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 252: -#line 2180 "rwlparser.y" /* yacc.c:1646 */ + case 254: +#line 2191 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwm->rsllityp[rwm->rsldepth] = RWL_LI_BAD; yyerrok; } -#line 5645 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5723 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 253: -#line 2187 "rwlparser.y" /* yacc.c:1646 */ + case 255: +#line 2198 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 5651 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5729 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 255: -#line 2190 "rwlparser.y" /* yacc.c:1646 */ + case 257: +#line 2201 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 5659 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5737 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 257: -#line 2195 "rwlparser.y" /* yacc.c:1646 */ + case 259: +#line 2206 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprclear(rwm); } -#line 5668 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5746 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 258: -#line 2200 "rwlparser.y" /* yacc.c:1646 */ + case 260: +#line 2211 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 5679 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5757 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 260: -#line 2209 "rwlparser.y" /* yacc.c:1646 */ + case 262: +#line 2220 "rwlparser.y" /* yacc.c:1646 */ { /* start expression for assign */ rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 5689 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5767 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 262: -#line 2218 "rwlparser.y" /* yacc.c:1646 */ + case 264: +#line 2229 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) rwlerror(rwm, RWL_ERROR_RETURN_OUTSIDE_CODE); @@ -5701,20 +5779,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_RETURN_NO_EXPR, rwm->codename); } } -#line 5705 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5783 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 263: -#line 2230 "rwlparser.y" /* yacc.c:1646 */ + case 265: +#line 2241 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5714 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5792 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 264: -#line 2235 "rwlparser.y" /* yacc.c:1646 */ + case 266: +#line 2246 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5743,30 +5821,30 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeaddpu(rwm, RWL_CODE_RETURN, rwm->codename, rwm->codeguess); } } -#line 5747 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5825 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 266: -#line 2264 "rwlparser.y" /* yacc.c:1646 */ + case 268: +#line 2275 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5757 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5835 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 267: -#line 2271 "rwlparser.y" /* yacc.c:1646 */ + case 269: +#line 2282 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5766 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5844 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 268: -#line 2276 "rwlparser.y" /* yacc.c:1646 */ + case 270: +#line 2287 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5795,21 +5873,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5799 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5877 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 270: -#line 2306 "rwlparser.y" /* yacc.c:1646 */ + case 272: +#line 2317 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5809 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5887 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 271: -#line 2314 "rwlparser.y" /* yacc.c:1646 */ + case 273: +#line 2325 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5823,11 +5901,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5827 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5905 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 272: -#line 2328 "rwlparser.y" /* yacc.c:1646 */ + case 274: +#line 2339 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbnam = rwm->inam; rwm->mdbvar = rwlfindvar2(rwm->mxq, rwm->mdbnam, RWL_VAR_NOGUESS, rwm->codename); @@ -5838,11 +5916,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mdbvar = RWL_VAR_INVALID; } } -#line 5842 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5920 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 274: -#line 2342 "rwlparser.y" /* yacc.c:1646 */ + case 276: +#line 2353 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5856,11 +5934,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5860 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5938 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 275: -#line 2358 "rwlparser.y" /* yacc.c:1646 */ + case 277: +#line 2369 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5870,29 +5948,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlcodeadd0(rwm, RWL_CODE_MODDBLEAK); } -#line 5874 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5952 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 276: -#line 2369 "rwlparser.y" /* yacc.c:1646 */ + case 278: +#line 2380 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 5883 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5961 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 277: -#line 2375 "rwlparser.y" /* yacc.c:1646 */ + case 279: +#line 2386 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 5892 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5970 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 278: -#line 2381 "rwlparser.y" /* yacc.c:1646 */ + case 280: +#line 2392 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_COMMIT); @@ -5903,11 +5981,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcommit(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 5907 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5985 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 279: -#line 2393 "rwlparser.y" /* yacc.c:1646 */ + case 281: +#line 2404 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_ROLLBACK); @@ -5918,11 +5996,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlrollback(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 5922 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6000 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 280: -#line 2405 "rwlparser.y" /* yacc.c:1646 */ + case 282: +#line 2416 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SHIFT); @@ -5930,11 +6008,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlshiftdollar(rwm->mxq, &rwm->loc); } -#line 5934 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6012 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 281: -#line 2414 "rwlparser.y" /* yacc.c:1646 */ + case 283: +#line 2425 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_GETRUSAGE); @@ -5942,11 +6020,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlgetrusage(rwm->mxq, 0); } -#line 5946 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6024 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 282: -#line 2423 "rwlparser.y" /* yacc.c:1646 */ + case 284: +#line 2434 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlinam = rwm->inam; rwm->mqbdtyp = 0; rwm->modsqlvar = rwlfindvar2(rwm->mxq, rwm->msqlinam, RWL_VAR_NOGUESS, rwm->codename); @@ -5957,17 +6035,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->modsqlvar = RWL_VAR_INVALID; } } -#line 5961 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6039 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 284: -#line 2436 "rwlparser.y" /* yacc.c:1646 */ + case 286: +#line 2447 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } -#line 5967 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6045 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 285: -#line 2441 "rwlparser.y" /* yacc.c:1646 */ + case 287: +#line 2452 "rwlparser.y" /* yacc.c:1646 */ { /* handle procedure call with arguments * as if it were a function call @@ -5997,11 +6075,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); : rwm->inam; rwlexprbeg(rwm); } -#line 6001 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6079 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 286: -#line 2473 "rwlparser.y" /* yacc.c:1646 */ + case 288: +#line 2484 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6086,22 +6164,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprclear(rwm); } } -#line 6090 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6168 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 287: -#line 2558 "rwlparser.y" /* yacc.c:1646 */ + case 289: +#line 2569 "rwlparser.y" /* yacc.c:1646 */ { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); rwlexprclear(rwm); yyerrok; } -#line 6101 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6179 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 288: -#line 2565 "rwlparser.y" /* yacc.c:1646 */ + case 290: +#line 2576 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6116,29 +6194,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 6120 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6198 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 291: -#line 2584 "rwlparser.y" /* yacc.c:1646 */ + case 293: +#line 2595 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = RWL_SUPSEM_EMBSQL; } -#line 6126 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6204 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 295: -#line 2590 "rwlparser.y" /* yacc.c:1646 */ + case 297: +#line 2601 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6132 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6210 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 296: -#line 2592 "rwlparser.y" /* yacc.c:1646 */ + case 298: +#line 2603 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6138 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6216 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 299: -#line 2598 "rwlparser.y" /* yacc.c:1646 */ + case 301: +#line 2609 "rwlparser.y" /* yacc.c:1646 */ { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below @@ -6221,11 +6299,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); --rwm->rsldepth; } } -#line 6225 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6303 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 300: -#line 2683 "rwlparser.y" /* yacc.c:1646 */ + case 302: +#line 2694 "rwlparser.y" /* yacc.c:1646 */ { --rwm->rsldepth; if (rwm->rslerror) @@ -6254,11 +6332,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6258 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6336 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 301: -#line 2713 "rwlparser.y" /* yacc.c:1646 */ + case 303: +#line 2724 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6290,20 +6368,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_INCORRECT_TYPE2, rwm->mxq->evar[l].stype, rwm->inam, "file"); } } -#line 6294 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6372 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 302: -#line 2746 "rwlparser.y" /* yacc.c:1646 */ + case 304: +#line 2757 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_FFLUSH); yyerrok; } -#line 6303 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6381 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 303: -#line 2753 "rwlparser.y" /* yacc.c:1646 */ + case 305: +#line 2764 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6326,11 +6404,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 6330 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6408 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 304: -#line 2778 "rwlparser.y" /* yacc.c:1646 */ + case 306: +#line 2789 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) { @@ -6359,11 +6437,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 6363 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6441 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 305: -#line 2809 "rwlparser.y" /* yacc.c:1646 */ + case 307: +#line 2820 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -6382,88 +6460,88 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6386 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6464 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 311: -#line 2837 "rwlparser.y" /* yacc.c:1646 */ + case 313: +#line 2848 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6397 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6475 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 313: -#line 2846 "rwlparser.y" /* yacc.c:1646 */ + case 315: +#line 2857 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_STRING_FOR_SPRINTF); rwlexprclear(rwm); yyerrok; } -#line 6408 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6486 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 315: -#line 2855 "rwlparser.y" /* yacc.c:1646 */ + case 317: +#line 2866 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6419 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6497 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 317: -#line 2865 "rwlparser.y" /* yacc.c:1646 */ + case 319: +#line 2876 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document this syntax without comma if (rwm->filenam) rwlerror(rwm, RWL_ERROR_COMMA_IS_RECOMMENDED, rwm->filenam , bit(rwm->mflags,RWL_P_PRINTLINE) ? "writeline" : "write"); } -#line 6430 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6508 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 320: -#line 2877 "rwlparser.y" /* yacc.c:1646 */ + case 322: +#line 2888 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6441 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6519 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 321: -#line 2885 "rwlparser.y" /* yacc.c:1646 */ + case 323: +#line 2896 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6452 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6530 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 322: -#line 2893 "rwlparser.y" /* yacc.c:1646 */ + case 324: +#line 2904 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6463 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6541 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 323: -#line 2901 "rwlparser.y" /* yacc.c:1646 */ + case 325: +#line 2912 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_NEWLINE); @@ -6471,22 +6549,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); fputs(bit(rwm->m4flags, RWL_P4_CRNLWRITELINE) ? "\r\n" : "\n", stdout); bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 6475 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6553 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 325: -#line 2911 "rwlparser.y" /* yacc.c:1646 */ + case 327: +#line 2922 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6486 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6564 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 327: -#line 2919 "rwlparser.y" /* yacc.c:1646 */ + case 329: +#line 2930 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6497,11 +6575,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_CQNBREAK); } } -#line 6501 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6579 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 328: -#line 2930 "rwlparser.y" /* yacc.c:1646 */ + case 330: +#line 2941 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6536,11 +6614,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6540 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6618 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 329: -#line 2966 "rwlparser.y" /* yacc.c:1646 */ + case 331: +#line 2977 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6576,11 +6654,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6580 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6658 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 330: -#line 3003 "rwlparser.y" /* yacc.c:1646 */ + case 332: +#line 3014 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6619,11 +6697,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_DONE_IN_MAIN, "writelob"); } } -#line 6623 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6701 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 331: -#line 3043 "rwlparser.y" /* yacc.c:1646 */ + case 333: +#line 3054 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_CBLOCK)) { @@ -6640,11 +6718,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m2flags, RWL_P2_THROPTS); /* clear all thread option flas */ bis(rwm->m2flags, RWL_P2_CBLOCK); } -#line 6644 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6722 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 332: -#line 3060 "rwlparser.y" /* yacc.c:1646 */ + case 334: +#line 3071 "rwlparser.y" /* yacc.c:1646 */ { if(!rwm->stoptime && !rwm->stopcount) { @@ -6665,11 +6743,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 6669 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6747 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 333: -#line 3083 "rwlparser.y" /* yacc.c:1646 */ + case 335: +#line 3094 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_CBLOCK_BAD)) rwlloopfinish(rwm); @@ -6687,26 +6765,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6691 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6769 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 334: -#line 3102 "rwlparser.y" /* yacc.c:1646 */ + case 336: +#line 3113 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_AFTER_IDENTIFIER); yyerrok; } -#line 6700 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6778 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 335: -#line 3109 "rwlparser.y" /* yacc.c:1646 */ + case 337: +#line 3120 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 6706 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6784 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 336: -#line 3115 "rwlparser.y" /* yacc.c:1646 */ + case 338: +#line 3126 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6730,28 +6808,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6734 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6812 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 337: -#line 3139 "rwlparser.y" /* yacc.c:1646 */ + case 339: +#line 3150 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobwritedata = rwlexprfinish(rwm); rwm->loboffset = 0; } -#line 6743 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6821 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 339: -#line 3148 "rwlparser.y" /* yacc.c:1646 */ + case 341: +#line 3159 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6751 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6829 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 340: -#line 3155 "rwlparser.y" /* yacc.c:1646 */ + case 342: +#line 3166 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6774,11 +6852,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6778 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6856 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 341: -#line 3178 "rwlparser.y" /* yacc.c:1646 */ + case 343: +#line 3189 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->loboffset = 0; @@ -6800,27 +6878,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6804 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6882 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 343: -#line 3204 "rwlparser.y" /* yacc.c:1646 */ + case 345: +#line 3215 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobreadlength = rwlexprfinish(rwm); } -#line 6812 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6890 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 344: -#line 3208 "rwlparser.y" /* yacc.c:1646 */ + case 346: +#line 3219 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6820 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6898 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 345: -#line 3214 "rwlparser.y" /* yacc.c:1646 */ + case 347: +#line 3225 "rwlparser.y" /* yacc.c:1646 */ { /* simple sql execute */ sb4 l; @@ -6966,11 +7044,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->loc.errlin = 0; } -#line 6970 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7048 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 346: -#line 3364 "rwlparser.y" /* yacc.c:1646 */ + case 348: +#line 3375 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; @@ -7080,11 +7158,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); failurecursor: rwm->loc.errlin = 0; } -#line 7084 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7162 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 347: -#line 3476 "rwlparser.y" /* yacc.c:1646 */ + case 349: +#line 3487 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -7117,27 +7195,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->loc.errlin = 0; } -#line 7121 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7199 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 348: -#line 3512 "rwlparser.y" /* yacc.c:1646 */ + case 350: +#line 3523 "rwlparser.y" /* yacc.c:1646 */ { // This syntax is not documented bic(rwm->m3flags, RWL_P3_CLHEADFOR); rwlerror(rwm, RWL_ERROR_LEGACY_CONTROLLOOP_SYNTAX); } -#line 7131 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7209 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 349: -#line 3517 "rwlparser.y" /* yacc.c:1646 */ + case 351: +#line 3528 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7137 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7215 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 350: -#line 3521 "rwlparser.y" /* yacc.c:1646 */ + case 352: +#line 3532 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document these two (legacy) syntax: // loop option .. .. ; @@ -7150,41 +7228,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // legacy and current syntax are mixed. bic(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7154 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7232 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 351: -#line 3537 "rwlparser.y" /* yacc.c:1646 */ + case 353: +#line 3548 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7162 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7240 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 352: -#line 3541 "rwlparser.y" /* yacc.c:1646 */ + case 354: +#line 3552 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7170 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7248 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 353: -#line 3545 "rwlparser.y" /* yacc.c:1646 */ + case 355: +#line 3556 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7178 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7256 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 356: -#line 3556 "rwlparser.y" /* yacc.c:1646 */ + case 358: +#line 3567 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7184 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7262 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 357: -#line 3558 "rwlparser.y" /* yacc.c:1646 */ + case 359: +#line 3569 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->starttime) { @@ -7197,17 +7275,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->starttime = rwlexprfinish(rwm); } } -#line 7201 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7279 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 358: -#line 3570 "rwlparser.y" /* yacc.c:1646 */ + case 360: +#line 3581 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7207 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7285 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 359: -#line 3572 "rwlparser.y" /* yacc.c:1646 */ + case 361: +#line 3583 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7222,17 +7300,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bis(rwm->m2flags, RWL_P2_STOP); } } -#line 7226 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7304 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 360: -#line 3586 "rwlparser.y" /* yacc.c:1646 */ + case 362: +#line 3597 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7232 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7310 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 361: -#line 3588 "rwlparser.y" /* yacc.c:1646 */ + case 363: +#line 3599 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7247,17 +7325,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bic(rwm->m2flags, RWL_P2_STOP); } } -#line 7251 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7329 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 362: -#line 3602 "rwlparser.y" /* yacc.c:1646 */ + case 364: +#line 3613 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7257 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7335 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 363: -#line 3604 "rwlparser.y" /* yacc.c:1646 */ + case 365: +#line 3615 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7270,17 +7348,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->waittime = rwlexprfinish(rwm); } } -#line 7274 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7352 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 364: -#line 3616 "rwlparser.y" /* yacc.c:1646 */ + case 366: +#line 3627 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7280 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7358 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 365: -#line 3618 "rwlparser.y" /* yacc.c:1646 */ + case 367: +#line 3629 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7306,55 +7384,55 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->everytime = rwlexprfinish(rwm); } } -#line 7310 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7388 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 366: -#line 3647 "rwlparser.y" /* yacc.c:1646 */ + case 368: +#line 3658 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = 0; } -#line 7316 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7394 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 367: -#line 3648 "rwlparser.y" /* yacc.c:1646 */ + case 369: +#line 3659 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_QUEUE_EVERY; } -#line 7322 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7400 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 368: -#line 3649 "rwlparser.y" /* yacc.c:1646 */ + case 370: +#line 3660 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_NOQUEUE_EVERY; } -#line 7328 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7406 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 369: -#line 3653 "rwlparser.y" /* yacc.c:1646 */ + case 371: +#line 3664 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7337 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7415 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 370: -#line 3658 "rwlparser.y" /* yacc.c:1646 */ + case 372: +#line 3669 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7346 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7424 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 371: -#line 3663 "rwlparser.y" /* yacc.c:1646 */ + case 373: +#line 3674 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7354 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7432 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 372: -#line 3667 "rwlparser.y" /* yacc.c:1646 */ + case 374: +#line 3678 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); // lookahead may have consumed the next identifier @@ -7362,20 +7440,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam; } -#line 7366 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7444 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 373: -#line 3675 "rwlparser.y" /* yacc.c:1646 */ + case 375: +#line 3686 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7375 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7453 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 374: -#line 3684 "rwlparser.y" /* yacc.c:1646 */ + case 376: +#line 3695 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; rwm->sqllino = rwm->sqltlin; // the line where we started sql scan @@ -7390,11 +7468,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->scname = rwm->sqname = rwlstrdup(rwm, sqlnam); rwm->sqllen = 0; } -#line 7394 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7472 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 375: -#line 3699 "rwlparser.y" /* yacc.c:1646 */ + case 377: +#line 3710 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); @@ -7422,11 +7500,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); rwm->sqlfile = 0; /* not from a file */ } -#line 7426 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7504 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 376: -#line 3731 "rwlparser.y" /* yacc.c:1646 */ + case 378: +#line 3742 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; snprintf((char *)sqlnam, sizeof(sqlnam), "sql#%05d", rwm->mxq->varcount); @@ -7440,11 +7518,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->msqlstk = 0; } -#line 7444 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7522 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 377: -#line 3746 "rwlparser.y" /* yacc.c:1646 */ + case 379: +#line 3757 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMEDSQL); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); @@ -7452,11 +7530,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (bit(rwm->m3flags,RWL_P3_IMPLCASE)) bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); } -#line 7456 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7534 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 378: -#line 3755 "rwlparser.y" /* yacc.c:1646 */ + case 380: +#line 3766 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_IMMISDYN) && bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -7493,26 +7571,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); cannotdoimm: ; } -#line 7497 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7575 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 380: -#line 3793 "rwlparser.y" /* yacc.c:1646 */ + case 382: +#line 3804 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG) ; yyerrok; } -#line 7506 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7584 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 382: -#line 3801 "rwlparser.y" /* yacc.c:1646 */ + case 384: +#line 3812 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7512 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7590 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 383: -#line 3802 "rwlparser.y" /* yacc.c:1646 */ + case 385: +#line 3813 "rwlparser.y" /* yacc.c:1646 */ { if ((rwm->msqlstk = rwlexprfinish(rwm))) bis(rwm->m3flags, RWL_P3_IMMISDYN); // now dynamic @@ -7522,99 +7600,99 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 7526 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7604 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 384: -#line 3814 "rwlparser.y" /* yacc.c:1646 */ + case 386: +#line 3825 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno; } -#line 7534 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7612 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 388: -#line 3823 "rwlparser.y" /* yacc.c:1646 */ + case 390: +#line 3834 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "sql") ; } -#line 7542 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7620 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 391: -#line 3834 "rwlparser.y" /* yacc.c:1646 */ + case 393: +#line 3845 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7628 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 392: -#line 3838 "rwlparser.y" /* yacc.c:1646 */ + case 394: +#line 3849 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7559 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7637 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 393: -#line 3846 "rwlparser.y" /* yacc.c:1646 */ + case 395: +#line 3857 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7567 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7645 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 394: -#line 3850 "rwlparser.y" /* yacc.c:1646 */ + case 396: +#line 3861 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7575 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7653 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 395: -#line 3854 "rwlparser.y" /* yacc.c:1646 */ + case 397: +#line 3865 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7584 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7662 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 397: -#line 3864 "rwlparser.y" /* yacc.c:1646 */ + case 399: +#line 3875 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = 0; bis(rwm->m2flags, RWL_P2_ATDEFAULT); /* explict choose standard DB */ } -#line 7593 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7671 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 398: -#line 3870 "rwlparser.y" /* yacc.c:1646 */ + case 400: +#line 3881 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); /* named DB */ } -#line 7602 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7680 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 399: -#line 3875 "rwlparser.y" /* yacc.c:1646 */ + case 401: +#line 3886 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_DATABASE_NAME); yyerrok; } -#line 7608 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7686 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 400: -#line 3877 "rwlparser.y" /* yacc.c:1646 */ + case 402: +#line 3888 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 7614 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7692 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 403: -#line 3885 "rwlparser.y" /* yacc.c:1646 */ + case 405: +#line 3896 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename || bit(rwm->addvarbits,RWL_IDENT_PRIVATE)) { @@ -7640,11 +7718,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 7644 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7722 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 404: -#line 3911 "rwlparser.y" /* yacc.c:1646 */ + case 406: +#line 3922 "rwlparser.y" /* yacc.c:1646 */ { // if compiling first file, see if there is a user arg if (bit(rwm->m2flags, RWL_P2_SCANFIRST) && rwm->decvarn >= 0) @@ -7717,20 +7795,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); donewithuserarg: ; } -#line 7721 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7799 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 406: -#line 3988 "rwlparser.y" /* yacc.c:1646 */ + case 408: +#line 3999 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 7730 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7808 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 407: -#line 3993 "rwlparser.y" /* yacc.c:1646 */ + case 409: +#line 4004 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->dtype) @@ -7777,11 +7855,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 7781 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7859 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 412: -#line 4056 "rwlparser.y" /* yacc.c:1646 */ + case 414: +#line 4067 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7796,22 +7874,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_IF, estk); } -#line 7800 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7878 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 413: -#line 4071 "rwlparser.y" /* yacc.c:1646 */ + case 415: +#line 4082 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7811 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7889 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 414: -#line 4080 "rwlparser.y" /* yacc.c:1646 */ + case 416: +#line 4091 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7826,38 +7904,38 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_ELSEIF, estk); } -#line 7830 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7908 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 415: -#line 4095 "rwlparser.y" /* yacc.c:1646 */ + case 417: +#line 4106 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7841 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7919 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 416: -#line 4104 "rwlparser.y" /* yacc.c:1646 */ + case 418: +#line 4115 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LEGACY_WHILE_SYNTAX); } -#line 7849 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7927 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 417: -#line 4108 "rwlparser.y" /* yacc.c:1646 */ + case 419: +#line 4119 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_WHILOP); } -#line 7857 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7935 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 418: -#line 4114 "rwlparser.y" /* yacc.c:1646 */ + case 420: +#line 4125 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7874,33 +7952,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 7878 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7956 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 419: -#line 4131 "rwlparser.y" /* yacc.c:1646 */ + case 421: +#line 4142 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7889 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7967 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 420: -#line 4138 "rwlparser.y" /* yacc.c:1646 */ + case 422: +#line 4149 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_KEYWORD, "loop"); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7900 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7978 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 425: -#line 4155 "rwlparser.y" /* yacc.c:1646 */ + case 427: +#line 4166 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -7916,120 +7994,120 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); nothreadssum: ; } -#line 7920 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7998 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 426: -#line 4171 "rwlparser.y" /* yacc.c:1646 */ + case 428: +#line 4182 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlerror(rwm, RWL_ERROR_NO_LOCAL_SUMGLOB); else bis(rwm->addvarbits,RWL_IDENT_GLOBAL); } -#line 7931 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8009 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 427: -#line 4181 "rwlparser.y" /* yacc.c:1646 */ + case 429: +#line 4192 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 7941 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8019 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 428: -#line 4187 "rwlparser.y" /* yacc.c:1646 */ + case 430: +#line 4198 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 7950 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8028 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 429: -#line 4195 "rwlparser.y" /* yacc.c:1646 */ + case 431: +#line 4206 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 7960 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8038 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 430: -#line 4201 "rwlparser.y" /* yacc.c:1646 */ + case 432: +#line 4212 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 7969 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8047 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 431: -#line 4209 "rwlparser.y" /* yacc.c:1646 */ + case 433: +#line 4220 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 7979 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8057 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 432: -#line 4215 "rwlparser.y" /* yacc.c:1646 */ + case 434: +#line 4226 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 7988 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8066 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 433: -#line 4223 "rwlparser.y" /* yacc.c:1646 */ + case 435: +#line 4234 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 7997 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8075 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 434: -#line 4228 "rwlparser.y" /* yacc.c:1646 */ + case 436: +#line 4239 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8005 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8083 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 435: -#line 4234 "rwlparser.y" /* yacc.c:1646 */ + case 437: +#line 4245 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_CLOB; } -#line 8011 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8089 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 436: -#line 4235 "rwlparser.y" /* yacc.c:1646 */ + case 438: +#line 4246 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_BLOB; } -#line 8017 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8095 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 437: -#line 4236 "rwlparser.y" /* yacc.c:1646 */ + case 439: +#line 4247 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_NCLOB; } -#line 8023 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8101 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 438: -#line 4240 "rwlparser.y" /* yacc.c:1646 */ + case 440: +#line 4251 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8029 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8107 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 439: -#line 4241 "rwlparser.y" /* yacc.c:1646 */ + case 441: +#line 4252 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8039,25 +8117,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8043 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8121 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 441: -#line 4252 "rwlparser.y" /* yacc.c:1646 */ + case 443: +#line 4263 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8051 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8129 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 442: -#line 4255 "rwlparser.y" /* yacc.c:1646 */ + case 444: +#line 4266 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8057 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8135 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 443: -#line 4256 "rwlparser.y" /* yacc.c:1646 */ + case 445: +#line 4267 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bic(rwm->m2flags, RWL_P2_BADSQLFILTXT); @@ -8066,19 +8144,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8070 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8148 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 445: -#line 4266 "rwlparser.y" /* yacc.c:1646 */ + case 447: +#line 4277 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8078 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8156 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 448: -#line 4276 "rwlparser.y" /* yacc.c:1646 */ + case 450: +#line 4287 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; @@ -8124,11 +8202,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8128 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8206 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 449: -#line 4323 "rwlparser.y" /* yacc.c:1646 */ + case 451: +#line 4334 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; @@ -8159,11 +8237,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_SQL_ARRAY_AND_IGNERR); } -#line 8163 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8241 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 450: -#line 4357 "rwlparser.y" /* yacc.c:1646 */ + case 452: +#line 4368 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -8172,11 +8250,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 8176 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8254 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 452: -#line 4370 "rwlparser.y" /* yacc.c:1646 */ + case 454: +#line 4381 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; ub4 iflag = bit(rwm->m3flags, RWL_P3_IMMEDSQL) ? RWL_IDENT_INTERNAL : 0; @@ -8250,11 +8328,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8254 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8332 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 453: -#line 4448 "rwlparser.y" /* yacc.c:1646 */ + case 455: +#line 4459 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; ub4 notyetcount = 0; @@ -8347,53 +8425,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8351 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8429 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 457: -#line 4551 "rwlparser.y" /* yacc.c:1646 */ + case 459: +#line 4562 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BIND); yyerrok; } -#line 8357 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8435 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 459: -#line 4555 "rwlparser.y" /* yacc.c:1646 */ + case 461: +#line 4566 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BINDOUT); yyerrok; } -#line 8363 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8441 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 461: -#line 4559 "rwlparser.y" /* yacc.c:1646 */ + case 463: +#line 4570 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DEFINE); yyerrok; } -#line 8369 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8447 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 462: -#line 4561 "rwlparser.y" /* yacc.c:1646 */ + case 464: +#line 4572 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_IGNERR); } -#line 8377 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8455 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 463: -#line 4565 "rwlparser.y" /* yacc.c:1646 */ + case 465: +#line 4576 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8385 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8463 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 464: -#line 4569 "rwlparser.y" /* yacc.c:1646 */ + case 466: +#line 4580 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8393 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8471 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 465: -#line 4574 "rwlparser.y" /* yacc.c:1646 */ + case 467: +#line 4585 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) { @@ -8411,34 +8489,34 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqsav->asiz = (ub4)rwm->pval.ival; } } -#line 8415 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8493 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 466: -#line 4593 "rwlparser.y" /* yacc.c:1646 */ + case 468: +#line 4604 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ARRAY); yyerrok; } -#line 8421 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8499 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 467: -#line 4598 "rwlparser.y" /* yacc.c:1646 */ + case 469: +#line 4609 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON_IN_SQL); } -#line 8427 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8505 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 470: -#line 4604 "rwlparser.y" /* yacc.c:1646 */ + case 472: +#line 4615 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQFLAG_DYNAMIC)) rwlerror(rwm, RWL_ERROR_DEFINE_ARRAY_NOT_DYNAMIC); else bis(rwm->sqsav->flags, RWL_SQFLAG_ARRAYD); } -#line 8438 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8516 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 473: -#line 4618 "rwlparser.y" /* yacc.c:1646 */ + case 475: +#line 4629 "rwlparser.y" /* yacc.c:1646 */ { // Note that it would not be too hard to replace // the integer constant here by an expression @@ -8446,27 +8524,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // can be done with modify sql for dynamic sql rwm->bdpos = rwm->ival; rwm->bdtyp=RWL_DEFINE; } -#line 8450 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8528 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 475: -#line 4627 "rwlparser.y" /* yacc.c:1646 */ + case 477: +#line 4638 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "define"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); } -#line 8460 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8538 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 478: -#line 4641 "rwlparser.y" /* yacc.c:1646 */ + case 480: +#line 4652 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BINDOUT_NAME; } -#line 8466 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8544 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 480: -#line 4643 "rwlparser.y" /* yacc.c:1646 */ + case 482: +#line 4654 "rwlparser.y" /* yacc.c:1646 */ { // We could also use expression here, but we would // of course need to check it was either a non-negative number @@ -8474,61 +8552,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BINDOUT_POS; } -#line 8478 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8556 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 482: -#line 4651 "rwlparser.y" /* yacc.c:1646 */ + case 484: +#line 4662 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BINDOUT_SAME; } -#line 8486 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8564 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 484: -#line 4655 "rwlparser.y" /* yacc.c:1646 */ + case 486: +#line 4666 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_IMPLICIT_NOT_BINDOUT); } -#line 8494 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8572 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 487: -#line 4666 "rwlparser.y" /* yacc.c:1646 */ + case 489: +#line 4677 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BIND_NAME; } -#line 8500 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8578 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 489: -#line 4668 "rwlparser.y" /* yacc.c:1646 */ + case 491: +#line 4679 "rwlparser.y" /* yacc.c:1646 */ { // same comment as above rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BIND_POS; } -#line 8510 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8588 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 491: -#line 4674 "rwlparser.y" /* yacc.c:1646 */ + case 493: +#line 4685 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BIND_SAME; } -#line 8518 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8596 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 493: -#line 4678 "rwlparser.y" /* yacc.c:1646 */ + case 495: +#line 4689 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "bind"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); } -#line 8528 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8606 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 494: -#line 4687 "rwlparser.y" /* yacc.c:1646 */ + case 496: +#line 4698 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; bd = rwlalloc(rwm, sizeof(rwl_bindef)); @@ -8622,41 +8700,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8626 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8704 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 495: -#line 4783 "rwlparser.y" /* yacc.c:1646 */ + case 497: +#line 4794 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "runseconds", "bind/define"); } -#line 8635 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8713 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 496: -#line 4788 "rwlparser.y" /* yacc.c:1646 */ + case 498: +#line 4799 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "epochseconds", "bind/define"); } -#line 8644 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8722 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 497: -#line 4792 "rwlparser.y" /* yacc.c:1646 */ + case 499: +#line 4803 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8650 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8728 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 498: -#line 4793 "rwlparser.y" /* yacc.c:1646 */ + case 500: +#line 4804 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8656 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8734 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 499: -#line 4797 "rwlparser.y" /* yacc.c:1646 */ + case 501: +#line 4808 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8673,11 +8751,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8677 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8755 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 500: -#line 4814 "rwlparser.y" /* yacc.c:1646 */ + case 502: +#line 4825 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8694,11 +8772,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8698 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8776 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 501: -#line 4831 "rwlparser.y" /* yacc.c:1646 */ + case 503: +#line 4842 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8715,11 +8793,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8719 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8797 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 502: -#line 4848 "rwlparser.y" /* yacc.c:1646 */ + case 504: +#line 4859 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8742,17 +8820,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8746 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8824 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 503: -#line 4870 "rwlparser.y" /* yacc.c:1646 */ + case 505: +#line 4881 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8752 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8830 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 504: -#line 4871 "rwlparser.y" /* yacc.c:1646 */ + case 506: +#line 4882 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8783,11 +8861,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8787 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8865 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 505: -#line 4902 "rwlparser.y" /* yacc.c:1646 */ + case 507: +#line 4913 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8808,17 +8886,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8812 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8890 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 506: -#line 4922 "rwlparser.y" /* yacc.c:1646 */ + case 508: +#line 4933 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8818 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8896 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 507: -#line 4923 "rwlparser.y" /* yacc.c:1646 */ + case 509: +#line 4934 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0 && (rwm->msqlstk = rwlexprfinish(rwm))) { @@ -8840,11 +8918,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8844 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8922 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 508: -#line 4945 "rwlparser.y" /* yacc.c:1646 */ + case 510: +#line 4956 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8859,11 +8937,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8863 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8941 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 510: -#line 4960 "rwlparser.y" /* yacc.c:1646 */ + case 512: +#line 4971 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8878,11 +8956,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8882 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8960 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 512: -#line 4975 "rwlparser.y" /* yacc.c:1646 */ + case 514: +#line 4986 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8897,23 +8975,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8901 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8979 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 516: -#line 4995 "rwlparser.y" /* yacc.c:1646 */ + case 518: +#line 5006 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8907 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8985 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 517: -#line 4997 "rwlparser.y" /* yacc.c:1646 */ + case 519: +#line 5008 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlstk = rwlexprfinish(rwm); } -#line 8913 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8991 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 518: -#line 4999 "rwlparser.y" /* yacc.c:1646 */ + case 520: +#line 5010 "rwlparser.y" /* yacc.c:1646 */ { sb4 l2; rwl_sql *sq; @@ -8964,11 +9042,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 8968 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9046 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 519: -#line 5052 "rwlparser.y" /* yacc.c:1646 */ + case 521: +#line 5063 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; rwl_estack *estk; @@ -8998,21 +9076,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbcache: ; } -#line 9002 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9080 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 520: -#line 5082 "rwlparser.y" /* yacc.c:1646 */ + case 522: +#line 5093 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbsphi = rwm->mdbsplo = rwlexprfinish(rwm); if (!rwm->mdbsplo) rwlexprclear(rwm); } -#line 9012 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9090 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 521: -#line 5088 "rwlparser.y" /* yacc.c:1646 */ + case 523: +#line 5099 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; // are lo/hi good @@ -9041,20 +9119,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbpool: rwm->mdbsphi = rwm->mdbsplo = 0; } -#line 9045 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9123 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 523: -#line 5120 "rwlparser.y" /* yacc.c:1646 */ + case 525: +#line 5131 "rwlparser.y" /* yacc.c:1646 */ { if (!(rwm->mdbsphi = rwlexprfinish(rwm))) rwlexprclear(rwm); } -#line 9054 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9132 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 524: -#line 5127 "rwlparser.y" /* yacc.c:1646 */ + case 526: +#line 5138 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9074,23 +9152,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9078 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9156 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 526: -#line 5150 "rwlparser.y" /* yacc.c:1646 */ + case 528: +#line 5161 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9084 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9162 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 527: -#line 5151 "rwlparser.y" /* yacc.c:1646 */ + case 529: +#line 5162 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9090 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9168 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 528: -#line 5155 "rwlparser.y" /* yacc.c:1646 */ + case 530: +#line 5166 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->strvarn = RWL_VAR_NOTFOUND; @@ -9110,11 +9188,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->conhead = rwm->contail = 0; } -#line 9114 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9192 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 529: -#line 5175 "rwlparser.y" /* yacc.c:1646 */ + case 531: +#line 5186 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpupu(rwm, RWL_CODE_SPRINTF, rwm->strvnam @@ -9128,11 +9206,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9132 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9210 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 530: -#line 5193 "rwlparser.y" /* yacc.c:1646 */ + case 532: +#line 5204 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9151,19 +9229,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9233 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 532: -#line 5215 "rwlparser.y" /* yacc.c:1646 */ + case 534: +#line 5226 "rwlparser.y" /* yacc.c:1646 */ { rwm->conhead = rwm->contail = 0; } -#line 9163 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9241 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 533: -#line 5219 "rwlparser.y" /* yacc.c:1646 */ + case 535: +#line 5230 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpup(rwm, RWL_CODE_FPRINTF, rwm->filenam @@ -9184,11 +9262,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9188 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9266 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 536: -#line 5247 "rwlparser.y" /* yacc.c:1646 */ + case 538: +#line 5258 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwl_conlist *newcon; @@ -9207,11 +9285,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9211 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9289 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 537: -#line 5268 "rwlparser.y" /* yacc.c:1646 */ + case 539: +#line 5279 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9232,11 +9310,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->mflags,RWL_P_PRINTLINE); } -#line 9236 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9314 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 538: -#line 5290 "rwlparser.y" /* yacc.c:1646 */ + case 540: +#line 5301 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9257,35 +9335,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_PRINTLINE); } -#line 9261 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9339 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 539: -#line 5314 "rwlparser.y" /* yacc.c:1646 */ + case 541: +#line 5325 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9270 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9348 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 540: -#line 5319 "rwlparser.y" /* yacc.c:1646 */ + case 542: +#line 5330 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9279 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9357 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 542: -#line 5327 "rwlparser.y" /* yacc.c:1646 */ + case 544: +#line 5338 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTBLANK); } -#line 9285 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9363 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 544: -#line 5332 "rwlparser.y" /* yacc.c:1646 */ + case 546: +#line 5343 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -9343,11 +9421,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9347 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9425 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 545: -#line 5393 "rwlparser.y" /* yacc.c:1646 */ + case 547: +#line 5404 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mflags,RWL_P_PRINTLINE)) { @@ -9379,11 +9457,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 9383 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9461 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 546: -#line 5428 "rwlparser.y" /* yacc.c:1646 */ + case 548: +#line 5439 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -9394,11 +9472,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ; } } -#line 9398 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9476 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 547: -#line 5443 "rwlparser.y" /* yacc.c:1646 */ + case 549: +#line 5454 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->assignoper) @@ -9441,95 +9519,95 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9445 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9523 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 548: -#line 5486 "rwlparser.y" /* yacc.c:1646 */ + case 550: +#line 5497 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 9455 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9533 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 550: -#line 5496 "rwlparser.y" /* yacc.c:1646 */ + case 552: +#line 5507 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 9464 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9542 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 551: -#line 5503 "rwlparser.y" /* yacc.c:1646 */ + case 553: +#line 5514 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASSIGN; } -#line 9470 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9548 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 552: -#line 5504 "rwlparser.y" /* yacc.c:1646 */ + case 554: +#line 5515 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_GREATEQ; } -#line 9476 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9554 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 553: -#line 5505 "rwlparser.y" /* yacc.c:1646 */ + case 555: +#line 5516 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_RSHIFTASSIGN; } -#line 9482 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9560 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 554: -#line 5506 "rwlparser.y" /* yacc.c:1646 */ + case 556: +#line 5517 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_LESSEQ; } -#line 9488 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9566 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 555: -#line 5507 "rwlparser.y" /* yacc.c:1646 */ + case 557: +#line 5518 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPEFROM; } -#line 9494 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9572 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 556: -#line 5508 "rwlparser.y" /* yacc.c:1646 */ + case 558: +#line 5519 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPETO; } -#line 9500 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9578 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 558: -#line 5512 "rwlparser.y" /* yacc.c:1646 */ + case 560: +#line 5523 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_APPEND; } -#line 9506 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9584 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 559: -#line 5513 "rwlparser.y" /* yacc.c:1646 */ + case 561: +#line 5524 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNADD; } -#line 9512 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9590 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 560: -#line 5514 "rwlparser.y" /* yacc.c:1646 */ + case 562: +#line 5525 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNSUB; } -#line 9518 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9596 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 561: -#line 5521 "rwlparser.y" /* yacc.c:1646 */ + case 563: +#line 5532 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } -#line 9529 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9607 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 562: -#line 5528 "rwlparser.y" /* yacc.c:1646 */ + case 564: +#line 5539 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; sb4 l; @@ -9555,11 +9633,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllityp[rwm->rsldepth] = RWL_LI_DOTDOT; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 9559 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9637 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 564: -#line 5554 "rwlparser.y" /* yacc.c:1646 */ + case 566: +#line 5565 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeadd0(rwm, RWL_CODE_LIBEG); rwm->rsllihead[rwm->rsldepth] @@ -9572,11 +9650,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); rwm->rsllitail[rwm->rsldepth]->listk = rwlexprfinish(rwm); } -#line 9576 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9654 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 566: -#line 5568 "rwlparser.y" /* yacc.c:1646 */ + case 568: +#line 5579 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwlexprclear(rwm); @@ -9586,11 +9664,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); yyerrok; } -#line 9590 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9668 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 569: -#line 5587 "rwlparser.y" /* yacc.c:1646 */ + case 571: +#line 5598 "rwlparser.y" /* yacc.c:1646 */ { rwl_lilist *thisli = rwlalloc(rwm, sizeof(rwl_lilist)); rwlexprpush(rwm, rwm->loopvar[rwm->rsldepth], RWL_STACK_ASN); @@ -9598,61 +9676,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllitail[rwm->rsldepth]->linxt = thisli; rwm->rsllitail[rwm->rsldepth] = thisli; } -#line 9602 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9680 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 572: -#line 5607 "rwlparser.y" /* yacc.c:1646 */ + case 574: +#line 5618 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 9611 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9689 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 573: -#line 5612 "rwlparser.y" /* yacc.c:1646 */ + case 575: +#line 5623 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 9619 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9697 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 576: -#line 5621 "rwlparser.y" /* yacc.c:1646 */ + case 578: +#line 5632 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "execute") ; } -#line 9625 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9703 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 579: -#line 5628 "rwlparser.y" /* yacc.c:1646 */ + case 581: +#line 5639 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; } -#line 9631 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9709 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 582: -#line 5635 "rwlparser.y" /* yacc.c:1646 */ + case 584: +#line 5646 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "if") ; yyerrok; } -#line 9637 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9715 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 585: -#line 5642 "rwlparser.y" /* yacc.c:1646 */ + case 587: +#line 5653 "rwlparser.y" /* yacc.c:1646 */ { if (0 != rwlstrcmp(rwm->inam, rwm->sqname)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname); } -#line 9646 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9724 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 586: -#line 5647 "rwlparser.y" /* yacc.c:1646 */ + case 588: +#line 5658 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname) ; yyerrok; } -#line 9652 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9730 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 588: -#line 5653 "rwlparser.y" /* yacc.c:1646 */ + case 590: +#line 5664 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile1]"); @@ -9663,11 +9741,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop"); } } -#line 9667 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9745 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 589: -#line 5664 "rwlparser.y" /* yacc.c:1646 */ + case 591: +#line 5675 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile2]"); @@ -9678,11 +9756,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while"); } } -#line 9682 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9760 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 590: -#line 5675 "rwlparser.y" /* yacc.c:1646 */ + case 592: +#line 5686 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->rslflags[rwm->rsldepth-1], RWL_RSLFLAG_WHILOP)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; @@ -9690,27 +9768,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while") ; yyerrok; } -#line 9694 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9772 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 591: -#line 5686 "rwlparser.y" /* yacc.c:1646 */ + case 593: +#line 5697 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = 0; } -#line 9702 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9780 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 592: -#line 5691 "rwlparser.y" /* yacc.c:1646 */ + case 594: +#line 5702 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = rwlexprfinish(rwm); } -#line 9710 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9788 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 594: -#line 5698 "rwlparser.y" /* yacc.c:1646 */ + case 596: +#line 5709 "rwlparser.y" /* yacc.c:1646 */ { char plsword[6]; /* check for "begin" or "decla" or "--" */ ub4 sb, pb, len; @@ -9765,28 +9843,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_SQLWASPLS); rwlerror(rwm, RWL_ERROR_WARN_COMPILETIME_SQLTEXT, rwm->sqname); } -#line 9769 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9847 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 595: -#line 5755 "rwlparser.y" /* yacc.c:1646 */ + case 597: +#line 5766 "rwlparser.y" /* yacc.c:1646 */ { rwm->loc.errlin = 0; rwm->sqlfile = 0; /* not from a file */ } -#line 9778 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9856 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 596: -#line 5760 "rwlparser.y" /* yacc.c:1646 */ + case 598: +#line 5771 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9786 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9864 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 597: -#line 5764 "rwlparser.y" /* yacc.c:1646 */ + case 599: +#line 5775 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; FILE *f ; @@ -9867,11 +9945,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9871 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9949 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 598: -#line 5847 "rwlparser.y" /* yacc.c:1646 */ + case 600: +#line 5858 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9891,11 +9969,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 9895 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9973 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 599: -#line 5867 "rwlparser.y" /* yacc.c:1646 */ + case 601: +#line 5878 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) // everything is good { @@ -9918,50 +9996,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9922 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10000 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 600: -#line 5891 "rwlparser.y" /* yacc.c:1646 */ + case 602: +#line 5902 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BAD_READLINE); yyerrok; } -#line 9931 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10009 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 601: -#line 5898 "rwlparser.y" /* yacc.c:1646 */ + case 603: +#line 5909 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = rwm->sub_estk = 0; } -#line 9937 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10015 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 602: -#line 5900 "rwlparser.y" /* yacc.c:1646 */ + case 604: +#line 5911 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 9945 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10023 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 603: -#line 5904 "rwlparser.y" /* yacc.c:1646 */ + case 605: +#line 5915 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); } -#line 9953 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10031 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 604: -#line 5908 "rwlparser.y" /* yacc.c:1646 */ + case 606: +#line 5919 "rwlparser.y" /* yacc.c:1646 */ { rwm->sub_estk = rwlexprfinish(rwm); } -#line 9961 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10039 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 605: -#line 5912 "rwlparser.y" /* yacc.c:1646 */ + case 607: +#line 5923 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->reg_estk && rwm->str_estk && rwm->sub_estk) { @@ -10000,60 +10078,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10004 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10082 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 606: -#line 5951 "rwlparser.y" /* yacc.c:1646 */ + case 608: +#line 5962 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10014 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10092 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 607: -#line 5960 "rwlparser.y" /* yacc.c:1646 */ + case 609: +#line 5971 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10022 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10100 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 608: -#line 5964 "rwlparser.y" /* yacc.c:1646 */ + case 610: +#line 5975 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10030 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10108 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 609: -#line 5970 "rwlparser.y" /* yacc.c:1646 */ + case 611: +#line 5981 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10036 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10114 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 610: -#line 5972 "rwlparser.y" /* yacc.c:1646 */ + case 612: +#line 5983 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10044 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10122 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 611: -#line 5976 "rwlparser.y" /* yacc.c:1646 */ + case 613: +#line 5987 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10053 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10131 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 612: -#line 5981 "rwlparser.y" /* yacc.c:1646 */ + case 614: +#line 5992 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10086,44 +10164,44 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10090 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10168 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 613: -#line 6015 "rwlparser.y" /* yacc.c:1646 */ + case 615: +#line 6026 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10100 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10178 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 614: -#line 6024 "rwlparser.y" /* yacc.c:1646 */ + case 616: +#line 6035 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10106 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10184 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 615: -#line 6026 "rwlparser.y" /* yacc.c:1646 */ + case 617: +#line 6037 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10114 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10192 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 616: -#line 6030 "rwlparser.y" /* yacc.c:1646 */ + case 618: +#line 6041 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10123 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10201 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 617: -#line 6035 "rwlparser.y" /* yacc.c:1646 */ + case 619: +#line 6046 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10156,21 +10234,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10160 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10238 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 618: -#line 6069 "rwlparser.y" /* yacc.c:1646 */ + case 620: +#line 6080 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10170 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10248 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 621: -#line 6082 "rwlparser.y" /* yacc.c:1646 */ + case 623: +#line 6093 "rwlparser.y" /* yacc.c:1646 */ { rwl_idlist *newid = rwlalloc(rwm, sizeof(rwl_idlist)); @@ -10211,22 +10289,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10215 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10293 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 622: -#line 6125 "rwlparser.y" /* yacc.c:1646 */ + case 624: +#line 6136 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that the system expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 10226 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10304 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 623: -#line 6134 "rwlparser.y" /* yacc.c:1646 */ + case 625: +#line 6145 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -10242,11 +10320,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10246 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10324 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 624: -#line 6159 "rwlparser.y" /* yacc.c:1646 */ + case 626: +#line 6170 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->threadlist) rwlsevere(rwm, "[rwlparser-thrlistnotclean]"); @@ -10257,11 +10335,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->totthr = 0; } -#line 10261 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10339 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 625: -#line 6171 "rwlparser.y" /* yacc.c:1646 */ + case 627: +#line 6182 "rwlparser.y" /* yacc.c:1646 */ { rwl_thrinfo *next; rwm->loc.errlin = rwm->lexlino; @@ -10280,26 +10358,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->threadlist = rwm->mythr = 0; rwm->loc.errlin = 0; } -#line 10284 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10362 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 626: -#line 6190 "rwlparser.y" /* yacc.c:1646 */ + case 628: +#line 6201 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10290 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10368 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 631: -#line 6204 "rwlparser.y" /* yacc.c:1646 */ + case 633: +#line 6215 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->cqnstop = 0.0; rwm->cqnnow = rwlclock(rwm->mxq,0); } -#line 10299 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10377 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 632: -#line 6209 "rwlparser.y" /* yacc.c:1646 */ + case 634: +#line 6220 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *cp; sb4 l; @@ -10323,11 +10401,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10327 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10405 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 633: -#line 6234 "rwlparser.y" /* yacc.c:1646 */ + case 635: +#line 6245 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstop = rwm->pval.dval; if (rwm->cqnstop < rwm->cqnstart || rwm->cqnstop < rwm->cqnnow) @@ -10336,11 +10414,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->cqnat = 0; } } -#line 10340 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10418 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 634: -#line 6243 "rwlparser.y" /* yacc.c:1646 */ + case 636: +#line 6254 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->cqnat) { @@ -10392,11 +10470,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; rwm->mythr->dbnam = rwm->cqnat; } -#line 10396 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10474 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 635: -#line 6295 "rwlparser.y" /* yacc.c:1646 */ + case 637: +#line 6306 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->cqnat) // no errors above { @@ -10421,11 +10499,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m4flags, RWL_P4_PROCHASSQL); } -#line 10425 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10503 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 636: -#line 6320 "rwlparser.y" /* yacc.c:1646 */ + case 638: +#line 6331 "rwlparser.y" /* yacc.c:1646 */ { rwlcodehead(rwm, 0); if (rwm->cqnat) // No error above @@ -10453,37 +10531,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_CQNTHEN; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10457 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10535 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 637: -#line 6348 "rwlparser.y" /* yacc.c:1646 */ + case 639: +#line 6359 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeaddu(rwm, RWL_CODE_CQNISCB, 0); // Is in callback rwlcodetail(rwm); } -#line 10466 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10544 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 641: -#line 6359 "rwlparser.y" /* yacc.c:1646 */ + case 643: +#line 6370 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "querynotification"); yyerrok; } -#line 10475 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10553 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 643: -#line 6368 "rwlparser.y" /* yacc.c:1646 */ + case 645: +#line 6379 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->pval.dval; } -#line 10483 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10561 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 644: -#line 6375 "rwlparser.y" /* yacc.c:1646 */ + case 646: +#line 6386 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m4flags, RWL_P4_PROCHASSQL); if (rwm->pval.ival < 0) @@ -10499,45 +10577,45 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_THREAD; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10503 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10581 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 645: -#line 6393 "rwlparser.y" /* yacc.c:1646 */ + case 647: +#line 6404 "rwlparser.y" /* yacc.c:1646 */ { rwlcodetail(rwm); } -#line 10511 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10589 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 647: -#line 6398 "rwlparser.y" /* yacc.c:1646 */ + case 649: +#line 6409 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10517 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10595 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 649: -#line 6403 "rwlparser.y" /* yacc.c:1646 */ + case 651: +#line 6414 "rwlparser.y" /* yacc.c:1646 */ { rwm->mythr->dbnam = rwm->inam; } -#line 10525 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10603 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 652: -#line 6412 "rwlparser.y" /* yacc.c:1646 */ + case 654: +#line 6423 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "threads") ; } -#line 10531 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10609 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 655: -#line 6420 "rwlparser.y" /* yacc.c:1646 */ + case 657: +#line 6431 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "run") ; } -#line 10537 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10615 "rwlparser.tab.c" /* yacc.c:1646 */ break; -#line 10541 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10619 "rwlparser.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/rwlparser.tab.h b/src/rwlparser.tab.h index 04ed8f47..3f7c61ee 100644 --- a/src/rwlparser.tab.h +++ b/src/rwlparser.tab.h @@ -58,159 +58,161 @@ extern int rwlydebug; RWL_T_PASSWORD = 260, RWL_T_DATABASE = 261, RWL_T_EPOCHSECONDS = 262, - RWL_T_PRINT = 263, - RWL_T_PRINTLINE = 264, - RWL_T_PRINTVAR = 265, - RWL_T_SHARDKEY = 266, - RWL_T_SUPERSHK = 267, - RWL_T_PROCEDURE = 268, - RWL_T_BIND = 269, - RWL_T_DEFINE = 270, - RWL_T_STRING = 271, - RWL_T_INTEGER = 272, - RWL_T_END = 273, - RWL_T_FOR = 274, - RWL_T_ARRAY = 275, - RWL_T_DATE = 276, - RWL_T_SQRT = 277, - RWL_T_ACCESS = 278, - RWL_T_REGEX = 279, - RWL_T_REGEXTRACT = 280, - RWL_T_UNIFORM = 281, - RWL_T_ERLANG = 282, - RWL_T_DOTDOT = 283, - RWL_T_DOUBLE = 284, - RWL_T_ERLANG2 = 285, - RWL_T_ERLANGK = 286, - RWL_T_RUN = 287, - RWL_T_THREADS = 288, - RWL_T_RUNSECONDS = 289, - RWL_T_WHILE = 290, - RWL_T_FFLUSH = 291, - RWL_T_READLINE = 292, - RWL_T_RANDOM = 293, - RWL_T_FILE = 294, - RWL_T_WRITE = 295, - RWL_T_WRITELINE = 296, - RWL_T_BINDOUT = 297, - RWL_T_GETRUSAGE = 298, - RWL_T_DRCP = 299, - RWL_T_SESSIONPOOL = 300, - RWL_T_RECONNECT = 301, - RWL_T_DEDICATED = 302, - RWL_T_DEFAULT = 303, - RWL_T_RESULTS = 304, - RWL_T_ASSIGN = 305, - RWL_T_LOOP = 306, - RWL_T_ALL = 307, - RWL_T_NULL = 308, - RWL_T_ISNULL = 309, - RWL_T_SUM = 310, - RWL_T_IS = 311, - RWL_T_NOT = 312, - RWL_T_LESSEQ = 313, - RWL_T_GREATEQ = 314, - RWL_T_NOTEQ = 315, - RWL_T_AND = 316, - RWL_T_OR = 317, - RWL_T_BETWEEN = 318, - RWL_T_CONCAT = 319, - RWL_T_IF = 320, - RWL_T_THEN = 321, - RWL_T_ELSE = 322, - RWL_T_NEVER = 323, - RWL_T_APPEND = 324, - RWL_T_IGNOREERROR = 325, - RWL_T_ELSEIF = 326, - RWL_T_EXECUTE = 327, - RWL_T_WAIT = 328, - RWL_T_COMMIT = 329, - RWL_T_ROLLBACK = 330, - RWL_T_EVERY = 331, - RWL_T_ASNADD = 332, - RWL_T_ASNSUB = 333, - RWL_T_STOP = 334, - RWL_T_START = 335, - RWL_T_COUNT = 336, - RWL_T_AT = 337, - RWL_T_BREAK = 338, - RWL_T_RETURN = 339, - RWL_T_ABORT = 340, - RWL_T_MODIFY = 341, - RWL_T_CURSORCACHE = 342, - RWL_T_NOCURSORCACHE = 343, - RWL_T_LEAK = 344, - RWL_T_SHIFT = 345, - RWL_T_WHEN = 346, - RWL_T_STATISTICS = 347, - RWL_T_NOSTATISTICS = 348, - RWL_T_FUNCTION = 349, - RWL_T_PUBLIC = 350, - RWL_T_OCIPING = 351, - RWL_T_QUEUE = 352, - RWL_T_NOQUEUE = 353, - RWL_T_PRIVATE = 354, - RWL_T_BEGIN = 355, - RWL_T_RELEASE = 356, - RWL_T_SYSTEM = 357, - RWL_T_CLOB = 358, - RWL_T_BLOB = 359, - RWL_T_NCLOB = 360, - RWL_T_READLOB = 361, - RWL_T_WRITELOB = 362, - RWL_T_RAW = 363, - RWL_T_EXIT = 364, - RWL_T_SUBSTR = 365, - RWL_T_SUBSTRB = 366, - RWL_T_LENGTH = 367, - RWL_T_LENGTHB = 368, - RWL_T_SQL_ID = 369, - RWL_T_GETENV = 370, - RWL_T_LOG = 371, - RWL_T_EXP = 372, - RWL_T_ROUND = 373, - RWL_T_ACTIVESESSIONCOUNT = 374, - RWL_T_REQUESTMARK = 375, - RWL_T_SPRINTF = 376, - RWL_T_OPENSESSIONCOUNT = 377, - RWL_T_STATEMARK = 378, - RWL_T_REGEXSUB = 379, - RWL_T_REGEXSUBG = 380, - RWL_T_SERVERRELEASE = 381, - RWL_T_SQL = 382, - RWL_T_SQL_TEXT = 383, - RWL_T_INSTR = 384, - RWL_T_INSTRB = 385, - RWL_T_CONNECTIONPOOL = 386, - RWL_T_CONNECTIONCLASS = 387, - RWL_T_UNSIGNED = 388, - RWL_T_HEXADECIMAL = 389, - RWL_T_OCTAL = 390, - RWL_T_FPRINTF = 391, - RWL_T_ENCODE = 392, - RWL_T_DECODE = 393, - RWL_T_STRING_CONST = 394, - RWL_T_IDENTIFIER = 395, - RWL_T_INTEGER_CONST = 396, - RWL_T_DOUBLE_CONST = 397, - RWL_T_PRINTF = 398, - RWL_T_PIPEFROM = 399, - RWL_T_PIPETO = 400, - RWL_T_RSHIFTASSIGN = 401, - RWL_T_GLOBAL = 402, - RWL_T_QUERYNOTIFICATION = 403, - RWL_T_NORMALRANDOM = 404, - RWL_T_STATISTICSONLY = 405, - RWL_T_CEIL = 406, - RWL_T_TRUNC = 407, - RWL_T_FLOOR = 408, - RWL_T_LOBPREFETCH = 409, - RWL_T_SIN = 410, - RWL_T_COS = 411, - RWL_T_ATAN2 = 412, - RWL_T_WINSLASHF2B = 413, - RWL_T_WINSLASHF2BB = 414, - RWL_T_UMINUS = 415 + RWL_T_DBSECONDS = 263, + RWL_T_PRINT = 264, + RWL_T_PRINTLINE = 265, + RWL_T_PRINTVAR = 266, + RWL_T_SHARDKEY = 267, + RWL_T_SUPERSHK = 268, + RWL_T_OCISECONDS = 269, + RWL_T_PROCEDURE = 270, + RWL_T_BIND = 271, + RWL_T_DEFINE = 272, + RWL_T_STRING = 273, + RWL_T_INTEGER = 274, + RWL_T_END = 275, + RWL_T_FOR = 276, + RWL_T_ARRAY = 277, + RWL_T_DATE = 278, + RWL_T_SQRT = 279, + RWL_T_ACCESS = 280, + RWL_T_REGEX = 281, + RWL_T_REGEXTRACT = 282, + RWL_T_UNIFORM = 283, + RWL_T_ERLANG = 284, + RWL_T_DOTDOT = 285, + RWL_T_DOUBLE = 286, + RWL_T_ERLANG2 = 287, + RWL_T_ERLANGK = 288, + RWL_T_RUN = 289, + RWL_T_THREADS = 290, + RWL_T_RUNSECONDS = 291, + RWL_T_WHILE = 292, + RWL_T_FFLUSH = 293, + RWL_T_READLINE = 294, + RWL_T_RANDOM = 295, + RWL_T_FILE = 296, + RWL_T_WRITE = 297, + RWL_T_WRITELINE = 298, + RWL_T_BINDOUT = 299, + RWL_T_GETRUSAGE = 300, + RWL_T_DRCP = 301, + RWL_T_SESSIONPOOL = 302, + RWL_T_RECONNECT = 303, + RWL_T_DEDICATED = 304, + RWL_T_DEFAULT = 305, + RWL_T_RESULTS = 306, + RWL_T_ASSIGN = 307, + RWL_T_LOOP = 308, + RWL_T_ALL = 309, + RWL_T_NULL = 310, + RWL_T_ISNULL = 311, + RWL_T_SUM = 312, + RWL_T_IS = 313, + RWL_T_NOT = 314, + RWL_T_LESSEQ = 315, + RWL_T_GREATEQ = 316, + RWL_T_NOTEQ = 317, + RWL_T_AND = 318, + RWL_T_OR = 319, + RWL_T_BETWEEN = 320, + RWL_T_CONCAT = 321, + RWL_T_IF = 322, + RWL_T_THEN = 323, + RWL_T_ELSE = 324, + RWL_T_NEVER = 325, + RWL_T_APPEND = 326, + RWL_T_IGNOREERROR = 327, + RWL_T_ELSEIF = 328, + RWL_T_EXECUTE = 329, + RWL_T_WAIT = 330, + RWL_T_COMMIT = 331, + RWL_T_ROLLBACK = 332, + RWL_T_EVERY = 333, + RWL_T_ASNADD = 334, + RWL_T_ASNSUB = 335, + RWL_T_STOP = 336, + RWL_T_START = 337, + RWL_T_COUNT = 338, + RWL_T_AT = 339, + RWL_T_BREAK = 340, + RWL_T_RETURN = 341, + RWL_T_ABORT = 342, + RWL_T_MODIFY = 343, + RWL_T_CURSORCACHE = 344, + RWL_T_NOCURSORCACHE = 345, + RWL_T_LEAK = 346, + RWL_T_SHIFT = 347, + RWL_T_WHEN = 348, + RWL_T_STATISTICS = 349, + RWL_T_NOSTATISTICS = 350, + RWL_T_FUNCTION = 351, + RWL_T_PUBLIC = 352, + RWL_T_OCIPING = 353, + RWL_T_QUEUE = 354, + RWL_T_NOQUEUE = 355, + RWL_T_PRIVATE = 356, + RWL_T_BEGIN = 357, + RWL_T_RELEASE = 358, + RWL_T_SYSTEM = 359, + RWL_T_CLOB = 360, + RWL_T_BLOB = 361, + RWL_T_NCLOB = 362, + RWL_T_READLOB = 363, + RWL_T_WRITELOB = 364, + RWL_T_RAW = 365, + RWL_T_EXIT = 366, + RWL_T_SUBSTR = 367, + RWL_T_SUBSTRB = 368, + RWL_T_LENGTH = 369, + RWL_T_LENGTHB = 370, + RWL_T_SQL_ID = 371, + RWL_T_GETENV = 372, + RWL_T_LOG = 373, + RWL_T_EXP = 374, + RWL_T_ROUND = 375, + RWL_T_ACTIVESESSIONCOUNT = 376, + RWL_T_REQUESTMARK = 377, + RWL_T_SPRINTF = 378, + RWL_T_OPENSESSIONCOUNT = 379, + RWL_T_STATEMARK = 380, + RWL_T_REGEXSUB = 381, + RWL_T_REGEXSUBG = 382, + RWL_T_SERVERRELEASE = 383, + RWL_T_SQL = 384, + RWL_T_SQL_TEXT = 385, + RWL_T_INSTR = 386, + RWL_T_INSTRB = 387, + RWL_T_CONNECTIONPOOL = 388, + RWL_T_CONNECTIONCLASS = 389, + RWL_T_UNSIGNED = 390, + RWL_T_HEXADECIMAL = 391, + RWL_T_OCTAL = 392, + RWL_T_FPRINTF = 393, + RWL_T_ENCODE = 394, + RWL_T_DECODE = 395, + RWL_T_STRING_CONST = 396, + RWL_T_IDENTIFIER = 397, + RWL_T_INTEGER_CONST = 398, + RWL_T_DOUBLE_CONST = 399, + RWL_T_PRINTF = 400, + RWL_T_PIPEFROM = 401, + RWL_T_PIPETO = 402, + RWL_T_RSHIFTASSIGN = 403, + RWL_T_GLOBAL = 404, + RWL_T_QUERYNOTIFICATION = 405, + RWL_T_NORMALRANDOM = 406, + RWL_T_STATISTICSONLY = 407, + RWL_T_CEIL = 408, + RWL_T_TRUNC = 409, + RWL_T_FLOOR = 410, + RWL_T_LOBPREFETCH = 411, + RWL_T_SIN = 412, + RWL_T_COS = 413, + RWL_T_ATAN2 = 414, + RWL_T_WINSLASHF2B = 415, + RWL_T_WINSLASHF2BB = 416, + RWL_T_UMINUS = 417 }; #endif @@ -219,7 +221,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 468 "rwlparser.y" /* yacc.c:1909 */ +#line 471 "rwlparser.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -233,7 +235,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 237 "rwlparser.tab.h" /* yacc.c:1909 */ +#line 239 "rwlparser.tab.h" /* yacc.c:1909 */ }; typedef union RWLYSTYPE RWLYSTYPE; diff --git a/src/rwlparser.y b/src/rwlparser.y index 33bc97ff..11ab272e 100644 --- a/src/rwlparser.y +++ b/src/rwlparser.y @@ -11,6 +11,7 @@ * * History * + * mkdash 12-aug-2024 - implement dbsec and ocisecond function * bengsig 17-apr-2024 - nostatistics statement * bengsig 16-apr-2024 - -= * bengsig 7-mar-2024 - a few lob changes @@ -202,6 +203,7 @@ static const rwl_yt2txt rwlyt2[] = , {"RWL_T_CURSORCACHE", "'cursorcache'"} , {"RWL_T_DATABASE", "'database'"} , {"RWL_T_DATE", "'date'"} + , {"RWL_T_DBSECONDS", "'dbseconds'"} , {"RWL_T_DECODE", "'decode'"} , {"RWL_T_DEDICATED", "'dedicated'"} , {"RWL_T_DEFAULT", "'default'"} @@ -259,6 +261,7 @@ static const rwl_yt2txt rwlyt2[] = , {"RWL_T_NOTEQ", "'!='"} , {"RWL_T_NULL", "'null'"} , {"RWL_T_OCIPING", "'ociping'"} + , {"RWL_T_OCISECONDS", "'ociseconds'"} , {"RWL_T_OCTAL", "'octal'"} , {"RWL_T_OPENSESSIONCOUNT", "'opensessioncount'"} , {"RWL_T_OR", "'or'"} @@ -481,8 +484,8 @@ rwlcomp(rwlparser_y, RWL_GCCFLAGS) // The tokens -%token RWL_T_CONNECT RWL_T_USERNAME RWL_T_PASSWORD RWL_T_DATABASE RWL_T_EPOCHSECONDS -%token RWL_T_PRINT RWL_T_PRINTLINE RWL_T_PRINTVAR RWL_T_SHARDKEY RWL_T_SUPERSHK +%token RWL_T_CONNECT RWL_T_USERNAME RWL_T_PASSWORD RWL_T_DATABASE RWL_T_EPOCHSECONDS RWL_T_DBSECONDS +%token RWL_T_PRINT RWL_T_PRINTLINE RWL_T_PRINTVAR RWL_T_SHARDKEY RWL_T_SUPERSHK RWL_T_OCISECONDS %token RWL_T_PROCEDURE RWL_T_BIND RWL_T_DEFINE RWL_T_STRING RWL_T_INTEGER RWL_T_END %token RWL_T_FOR RWL_T_ARRAY RWL_T_DATE RWL_T_SQRT RWL_T_ACCESS RWL_T_REGEX RWL_T_REGEXTRACT %token RWL_T_UNIFORM RWL_T_ERLANG RWL_T_DOTDOT RWL_T_DOUBLE RWL_T_ERLANG2 RWL_T_ERLANGK @@ -1687,6 +1690,14 @@ identifier_or_constant: if (rwm->furlev) rwm->furlev--; } + | RWL_T_DBSECONDS '(' ')' + { + rwlexprpush(rwm, 0, RWL_STACK_DBSECONDS); + } + | RWL_T_OCISECONDS '(' ')' + { + rwlexprpush(rwm, 0, RWL_STACK_OCISECONDS); + } | RWL_T_RUNSECONDS maybeemptybrackets { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) diff --git a/test/398.rwl b/test/398.rwl new file mode 100644 index 00000000..06978e2c --- /dev/null +++ b/test/398.rwl @@ -0,0 +1,57 @@ +# Test for ociseconds and dbseconds functions. +# + +$statsapptime:on +$statsdbtime:on + +$include:"testuserinfo.rwl" +$include:"testdefault.rwl" +integer human398 := 0; $userswitch:human398 + +string pf:= "%.2f"; + +if human398 then + pf:= "%.6f"; +end; + +double t0 := runseconds(); +double t1; + +double o0, o1, d0, d1; + + o0 := ociseconds(); + d0 := dbseconds(); + printf "dbseconds = " pf "\n", d0 ; + printf "ociseconds = " pf "\n", o0 ; + +procedure showtime(string txt) + t1 := runseconds(); + printf "%-20s " pf , txt, t1 - t0; + t0 := t1; + o1 := ociseconds(); + printf " ociseconds = " pf , o1 - o0; + o0 := o1; + + d1 := dbseconds(); + printf " dbseconds = " pf , d1 - d0; + d0 := d1; + printf "\n"; + +end; + +drop table rows10k purge; +showtime("drop table"); + +create table rows10k +( a number not null primary key +, b varchar2(20) +); +showtime("create table"); + +insert into rows10k +select rownum a, dbms_random.string('a',20) b +from dual connect by rownum <= 1e4 +/ +commit; +showtime("fill table"); + diff --git a/test/testres/398.err.good b/test/testres/398.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/398.out.good b/test/testres/398.out.good new file mode 100644 index 00000000..de564b8a --- /dev/null +++ b/test/testres/398.out.good @@ -0,0 +1,5 @@ +dbseconds = 0.00 +ociseconds = 0.00 +drop table 0.03 ociseconds = 0.03 dbseconds = 0.03 +create table 0.01 ociseconds = 0.01 dbseconds = 0.01 +fill table 0.16 ociseconds = 0.16 dbseconds = 0.16 From 47fcffb55a8734c20962d8595428c9bc98f94368 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 28 Aug 2024 14:27:32 +0000 Subject: [PATCH 091/118] Save OCISessionGet errors 22457, etc to orastats --- src/rwl.h | 2 ++ src/rwlerror.c | 82 +++++++++++++++++++++++++++++--------------------- src/rwlsql.c | 3 ++ 3 files changed, 53 insertions(+), 34 deletions(-) diff --git a/src/rwl.h b/src/rwl.h index 26c35c7e..61e45820 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 28-aug-2024 - Add rwloeradd function * mkdash 9-aug-2024 - Update Debugging functionality * bengsig 26-jul-2024 - Avoid unneeded logoff/logon * bengsig 9-jul-2024 - Development 3.1.4 @@ -2060,6 +2061,7 @@ extern void rwlstatsincr(rwl_xeqenv *, rwl_identifier *, rwl_location * , double, double, double, double, double); extern void rwlstatsflush(rwl_main *, rwl_stats *, text *); extern void rwloerflush(rwl_xeqenv *); +extern void rwloeradd(rwl_xeqenv *, rwl_location *, rwl_sql *, text *, text *, sb4); extern void rwlstrnncpy(text *, text *, ub8); // note that semantics is DIFFERENT from strncpy() extern text *rwlstrdup2(rwl_main *, text *, ub4); #define rwlstrdup(m,t) rwlstrdup2((m),(t),0) diff --git a/src/rwlerror.c b/src/rwlerror.c index 8602a095..196999ff 100644 --- a/src/rwlerror.c +++ b/src/rwlerror.c @@ -11,6 +11,7 @@ * * History * + * bengsig 28-aug-2024 - Add rwloeradd function * mkdash 9-aug-2024 - Update Debugging functionality * bengsig 4-jun-2024 - $ora01013:break * bengsig 4-apr-2024 - $oraerror:showoci directive @@ -554,44 +555,12 @@ void rwldberrorc3(rwl_xeqenv *xev, rwl_location * cloc rwlexecerror(xev, cloc, RWL_ERROR_PREVIOUS_WAS_OCI, errcode, ociname); } - xev->oercount++; if ( bit(xev->rwm->m2flags,RWL_P2_OERSTATS) - && !bit(dbe3f,RWL_DBE3_NOPRINT|RWL_DBE3_NOCTX) - && xev->oercount <= xev->rwm->oermaxstat) + && !bit(dbe3f,RWL_DBE3_NOPRINT|RWL_DBE3_NOCTX)) { // we are gathering oer statistics AND // we have context AND we want it printed, - // AND there aren't too many - rwl_oerstat *oers; - - oers = rwlalloc(xev->rwm, sizeof(rwl_oerstat)); - if (!xev->oerhead) - { // the first - xev->oerhead = oers; - } - else - { // make previous point to me - xev->oertail->nxtoes = oers; - } - xev->oertail = oers; - - // fill in fields - oers->oernum = errcode; - rwlstrnncpy(oers->oertxt, errbuf, RWL_OERSTAT_MAX_BUF); - oers->oersqn = sq ? sq->vname : (fname ? fname : (text *)"unknown"); - oers->oersec = rwlclock(xev, cloc); - - if (xev->curdb && xev->curdb->svchp) - { - text *insnam; - ub4 inlen; - if ((OCI_SUCCESS == OCIAttrGet(xev->curdb->svchp,OCI_HTYPE_SVCCTX - , &insnam, &inlen, OCI_ATTR_INSTNAME - , xev->errhp)) && insnam) - { - rwlstrnncpy(oers->oerinst, insnam, RWL_OERINST_MAX_BUF); - } - } + rwloeradd(xev, cloc, sq, fname, errbuf, errcode); } // if we have a database, should it be marked dead? if (xev->curdb) @@ -864,4 +833,49 @@ void rwlctrlc() { ; } // make gcc shut up } +// Save ORA- errors in statistics table +void rwloeradd(rwl_xeqenv *xev, rwl_location * cloc +, rwl_sql *sq, text *fname, text *errbuf, sb4 errcode) +{ + rwl_oerstat *oers; + + // just return if we aren't saving oer stats + if (!bit(xev->rwm->m2flags,RWL_P2_OERSTATS)) + return; + + // count ORA- errors but only save oermaxstat of them + if (++xev->oercount > xev->rwm->oermaxstat) + return; + + + oers = rwlalloc(xev->rwm, sizeof(rwl_oerstat)); + if (!xev->oerhead) + { // the first + xev->oerhead = oers; + } + else + { // make previous point to me + xev->oertail->nxtoes = oers; + } + xev->oertail = oers; + + // fill in fields + oers->oernum = errcode; + rwlstrnncpy(oers->oertxt, errbuf, RWL_OERSTAT_MAX_BUF); + oers->oersqn = sq ? sq->vname : (fname ? fname : (text *)"unknown"); + oers->oersec = rwlclock(xev, cloc); + + if (xev->curdb && xev->curdb->svchp) + { + text *insnam; + ub4 inlen; + if ((OCI_SUCCESS == OCIAttrGet(xev->curdb->svchp,OCI_HTYPE_SVCCTX + , &insnam, &inlen, OCI_ATTR_INSTNAME + , xev->errhp)) && insnam) + { + rwlstrnncpy(oers->oerinst, insnam, RWL_OERINST_MAX_BUF); + } + } +} + rwlcomp(rwlerror_c, RWL_GCCFLAGS) diff --git a/src/rwlsql.c b/src/rwlsql.c index 75009329..6201e5c1 100644 --- a/src/rwlsql.c +++ b/src/rwlsql.c @@ -11,6 +11,7 @@ * * History * + * bengsig 28-jul-2024 - Save OCISessionGet errors * bengsig 26-jul-2024 - Avoid unneeded logoff/logon * obakhir 24-jun-2024 - rwlreadlob does piecewise reading * bengsig 22-may-2024 - lobwrite: trim before write @@ -3471,6 +3472,8 @@ ub4 rwlensuresession2(rwl_xeqenv *xev rwlexpreval(db->tobreak, cloc, xev, 0); else rwlexecerror(xev, cloc, RWL_ERROR_SESPOOL_WAIT_TIMEOUT, db->wtimeout, db->vname, db->errcode); + if (bit(xev->rwm->m2flags,RWL_P2_OERSTATS)) + rwloeradd(xev, cloc, sq, fname, errbuf, errcode); return RWL_DBPOOL_UNAVAILABLE; } } From 699d5c45e06b45cb26d5c44e0d3943ed78096174 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 29 Aug 2024 15:41:37 +0000 Subject: [PATCH 092/118] Omar's bitwise code plus a few follow ons --- admin/.vim/syntax/rwl.vim | 1 + docs/ERRORLIST.md | 18 + docs/refman/concatenation.html | 152 +- docs/refman/constant.html | 152 +- docs/refman/directive.html | 22 +- docs/refman/directives.html | 22 +- docs/refman/expression.html | 152 +- docs/refman/function.html | 152 +- docs/refman/netthroughput.html | 2 +- docs/refman/oltpsetup.html | 2 +- docs/refman/oltpxcrun.html | 12 +- docs/refman/rwloadsim.html | 23 +- man/man1rwl/directive.1rwl | 13 + man/man1rwl/expression.1rwl | 108 +- src/lex.rwly.c | 4266 +++++++++++------------ src/lex.rwlz.c | 2094 ++++++------ src/rwl.h | 15 + src/rwldilex.l | 17 + src/rwldiprs.tab.c | 404 ++- src/rwldiprs.tab.h | 8 +- src/rwldiprs.y | 56 +- src/rwlerror.h | 23 + src/rwlexprcomp.c | 18 + src/rwlexpreval.c | 161 +- src/rwllexer.l | 35 +- src/rwlmain.c | 3 +- src/rwlmisc.c | 8 +- src/rwlparser.tab.c | 5871 ++++++++++++++++---------------- src/rwlparser.tab.h | 8 +- src/rwlparser.y | 52 +- src/rwlrast.c | 3 +- test/11.rwl | 2 +- test/393.rwl | 109 + test/395.rwl | 16 + test/398.rwl | 4 +- test/399.rwl | 17 + test/test.sh | 8 +- test/testres/11.err.good | 2 +- test/testres/393.err.good | 10 + test/testres/393.out.good | 12 + test/testres/394.err.good | 2 +- test/testres/395.err.good | 0 test/testres/395.out.good | 2 + test/testres/398.out.good | 11 +- test/testres/399.err.good | 0 test/testres/399.out.good | 4 + 46 files changed, 7637 insertions(+), 6435 deletions(-) create mode 100644 test/393.rwl create mode 100644 test/395.rwl create mode 100644 test/399.rwl create mode 100644 test/testres/393.err.good create mode 100644 test/testres/393.out.good create mode 100644 test/testres/395.err.good create mode 100644 test/testres/395.out.good create mode 100644 test/testres/399.err.good create mode 100644 test/testres/399.out.good diff --git a/admin/.vim/syntax/rwl.vim b/admin/.vim/syntax/rwl.vim index 8cbdce57..9011562d 100644 --- a/admin/.vim/syntax/rwl.vim +++ b/admin/.vim/syntax/rwl.vim @@ -39,6 +39,7 @@ syn match rwlNumber '\<\d\+' syn match rwlNumber '\<\d\+\.\d*' syn match rwlNumber '\<\d\+[Ee][+-]\?\d\+' syn match rwlNumber '\<\d\+\.\d*[Ee][+-]\?\d\+' +syn match rwlNumber '\<0x\([0-9]\|[a-f]\|[A-F]\)\+' syn match rwlComment "#.*$" syn region rwlString start=+"+ skip=+\\\n\|\\\\\|\\"+ end=+"+ diff --git a/docs/ERRORLIST.md b/docs/ERRORLIST.md index 5cc5a120..dddd4656 100644 --- a/docs/ERRORLIST.md +++ b/docs/ERRORLIST.md @@ -1320,6 +1320,24 @@ When performing the OCILobRead2 call, the clob in the database has more characters than would would fit in the string variable provided. The return value has been truncated to a lower of number of characters. +### RWL-324 error: "attempted bitwise NOT operation with non-integer operand" +The bitwise NOT operation requires the operand to be an integer, but the +provided operand is not an integer. You need to change your code to ensure the +operand is integer. + +### RWL-325 error: "attempted bitwise operation with non-integer operand(s)" +Bitwise operations require both operands to be integers, but one or both of +the provided operands are not integers. You need to change your code to ensure +the operand(s) are integer. + +### RWL-326 error: "bitwise shifting by a negative amount" +The right operand of the bitwise shift operation is negative which is not +allowed. + +### RWL-327 error: "bitwise shifting by an amount greater than or equal to the bit width" +The right operand of the bitwise shift operation is larger than or equal to +the bit width of the left operand. The right operand should be at most 63. + ### RWL-600 internal error: '%s' An abnormal situation caused an internal error in rwloadsim. This is in most cases due to a programming error and it diff --git a/docs/refman/concatenation.html b/docs/refman/concatenation.html index af9e942b..7a966fa8 100644 --- a/docs/refman/concatenation.html +++ b/docs/refman/concatenation.html @@ -1,5 +1,5 @@ - + @@ -68,6 +68,7 @@

SYNTAX | ( activesessioncount | opensessioncount ) ( identifier ) | ( serverrelease ) ( identifier | default | results ) | ( runseconds | epochseconds ) () +| ( dbseconds | ociseconds ) () | getenv ( expression ) | system ( concatenation [ , identifier ] ) | access ( concatenation , expression ) @@ -79,7 +80,7 @@

SYNTAX unary_expression ::= primary_expression [ is [ not ] null ] -| ( - | ! | not ) multiplication +| ( - | ! | not | ~) multiplication multiplication ::= unary_expression @@ -89,18 +90,34 @@

SYNTAX multiplication | addition ( + | - ) multiplication -comparison ::= +bitshift ::= addition -| comparison ( < | > | <= | >= ) addition -| comparison between addition and addition +| bitshift ( << | >> ) addition + +comparison ::= + bitshift +| comparison ( < | > | <= | >= ) bitshift +| comparison between bitshift and bitshift equality ::= comparison | equality ( = | != | <> ) comparison -logicaland ::= +bitand ::= equality -| logicaland and equality +| bitand & equality + +bitxor ::= + bitand +| bitxor ^ bitand + +bitor ::= + bitxor +| bitor | bitxor + +logicaland ::= + bitor +| logicaland and bitor logicalor ::= logicaland @@ -124,10 +141,15 @@

SYNTAX | digit { digit } { exponent } | null -integer ::= digit { digit } +integer ::= + digit { digit } +| 0x hexdigit { hexdigit } +| 0X hexdigit { hexdigit } digit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 +hexdigit ::= digit | a | A | b | B | c | C | d | D | e | E | f | F + exponent ::= e [ + | - ] digit { digit } string ::= @@ -171,9 +193,20 @@

DESCRIPTION

Strings are implicitly converted to integer or double without error -handling similar to how atoi(3) or atof(3) do it. If -complete control of this is needed, it is recommended to -only use variables and functions of one specific type in the +handling somewhat similar to how atoi(3) or atof(3) do it. +When a string is implicitly converted to an integer, a +leading 0x (or 0X) will cause the conversion to use +hexadecimal characters, except when the string is retrieved +from a database using define or bindout. In +rare cases, this implicit conversion may change existing +code that was written before hexadecimal input was added. +This handling of hexadecimal conversion from string can be +turned off using the $stringhexadecimal:off +directive.

+ +

If complete +control of data types is needed, it is recommended to only +use variables and functions of one specific type in the expression.

CONSTANTS @@ -184,7 +217,8 @@

CONSTANTS

In rwloadsim, you can have constants of type integer, double or string and the additional constant null. Integer constants are -sequences of digits, double constants are sequences of +sequences of digits or 0x (or 0X) followed by a sequence of +hexadecimal digits, double constants are sequences of digits, a decimal dot, and potentially another sequence of digits. Double constants can additionally have an exponent which is the letter e (or E), potentially followed by + or - @@ -261,7 +295,11 @@

OPERATORS All logical operators have the result 1 when true and 0 when false, and all operators operating on logic values use 0 as false and any other value as true. Except when noted, -operators are dyadic.

+operators are dyadic.
+is null is not null

+ +

Similar to their equivalents in +the SQL language; these are monadic and post-fix.

-

A double variable that is used in control loop. For -every loop, it is calculated as the expected time-stamp to -start the next loop.

@@ -305,7 +307,8 @@

SEE ALSO

simpledeclaration(1rwl), -statement(1rwl), declaration(1rwl) expression(1rwl)

+statement(1rwl), declaration(1rwl) expression(1rwl), +controlloop(1rwl)


diff --git a/docs/refman/variable.html b/docs/refman/variable.html index 8225d381..af31db84 100644 --- a/docs/refman/variable.html +++ b/docs/refman/variable.html @@ -1,5 +1,5 @@ - + @@ -73,7 +73,8 @@

PREDEFINED VARIABLES

The following -lists predefined variables that all are read only.

+lists predefined variables that are read only except when +explicitly noted.

@@ -141,9 +142,10 @@

PREDEFINED VARIABLES

+

A double variable that is used in control loop. When a +loop starts, it is set to the expected timestamp to start +the next loop. Your rwlprogram can set a different +value if required.

END fi -if test $cstormwidth -gt 0 + +if test $oercount -gt 0 then cat <> $awrdirectory$subdir$runnumber/index.html - + + + + + END fi -if test $oercount -gt 0 +if test $cstormwidth -gt 0 then cat <> $awrdirectory$subdir$runnumber/index.html - + + + + + + + + + + END fi + cat <> $awrdirectory$subdir$runnumber/index.html @@ -942,41 +958,44 @@ echo "proccount=$proccount" >> $awrdirectory$subdir$runnumber/index.html if test $cstormwidth -gt 0 then cat $resultsdir$subdir$runnumber/cstorm.html >> $awrdirectory$subdir$runnumber/index.html - cat > $resultsdir$subdir${runnumber}/cstorm.plot <> $resultsdir$subdir${runnumber}/cstorm.plot - fi - if test ! -z "$cstormtit2" - then - echo ", '$resultsdir$subdir$runnumber/cstorm.csv' using 1:6 with points ps 0.5 lc rgb 'blue' title '$cstormtit2' \\" >> $resultsdir$subdir${runnumber}/cstorm.plot - fi - if test ! -z "$cstormtit3" - then - echo ", '$resultsdir$subdir$runnumber/cstorm.csv' using 1:7 with points ps 0.5 lc rgb 'cyan' title '$cstormtit3' \\" >> $resultsdir$subdir${runnumber}/cstorm.plot - fi - if test $cstormabove3 = yes - then - echo ", '$resultsdir$subdir$runnumber/cstorm.csv' using 1:8 with points ps 0.5 lc rgb 'orange' title 'other error' \\" >> $resultsdir$subdir${runnumber}/cstorm.plot - fi - cat >> $resultsdir$subdir${runnumber}/cstorm.plot < $resultsdir$subdir${runnumber}/cstorm$plotorder.plot <> $resultsdir$subdir${runnumber}/cstorm$plotorder.plot + fi + if test ! -z "$cstormtit2" + then + echo ", '$resultsdir$subdir$runnumber/cstorm$plotorder.csv' using 1:6 with points ps 0.5 lc rgb 'blue' title '$cstormtit2' \\" >> $resultsdir$subdir${runnumber}/cstorm$plotorder.plot + fi + if test ! -z "$cstormtit3" + then + echo ", '$resultsdir$subdir$runnumber/cstorm$plotorder.csv' using 1:7 with points ps 0.5 lc rgb 'cyan' title '$cstormtit3' \\" >> $resultsdir$subdir${runnumber}/cstorm$plotorder.plot + fi + if test $cstormabove3 = yes + then + echo ", '$resultsdir$subdir$runnumber/cstorm$plotorder.csv' using 1:8 with points ps 0.5 lc rgb 'orange' title 'other error' \\" >> $resultsdir$subdir${runnumber}/cstorm$plotorder.plot + fi + cat >> $resultsdir$subdir${runnumber}/cstorm$plotorder.plot <> $awrdirectory$subdir$runnumber/index.html diff --git a/oltp/csvdata.rwl b/oltp/csvdata.rwl index 3b2eac88..df0237a4 100644 --- a/oltp/csvdata.rwl +++ b/oltp/csvdata.rwl @@ -1,7 +1,8 @@ -# Copyright (c) 2021 Oracle Corporation +# Copyright (c) 2017,2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 27-mar-2024 - cstorm by initiated and logged on # bengsig 20-mar-2024 - cstorm # bengsig 5-mar-2024 - dtime, atime # bengsig 24-jan-2024 - Include batch pool counts in cli.csv @@ -828,34 +829,37 @@ execute at rwloadsim errt := "-1 endt"; end if; - # Write the csv file using the SQL pieces just generated - plotfile >= resultsdir subdir runno "/cstorm.csv"; - rno := 0; - integer success := 0; - for - select threadnumber thrid - , begtime - :lowtime begtime - , endtime - :lowtime endtime - , errnum - , &err1. - , &err2. - , &err3. - , &errt. - from cstorm - where runnumber = :runno - order by begtime - / - loop - if errnum = 0 then - success += 1; - fprintf plotfile, "%d %d %.6f %.6f -1.0 -1.0 -1.0 -1.0\n", rno, thrid, begtime, endtime; - else - fprintf plotfile, "%d %d %.6f -1.0 %.6f %.6f %.6f %.6f\n", rno, thrid, begtime - , end1, end2, end3, endt; - end if; - rno += 1; + string plotorder; + for plotorder := "beg", "end" loop + # Write the csv files using the SQL pieces just generated + plotfile >= resultsdir subdir runno "/cstorm" plotorder ".csv"; + rno := 0; + integer success := 0; + for + select threadnumber thrid + , begtime - :lowtime begtime + , endtime - :lowtime endtime + , errnum + , &err1. + , &err2. + , &err3. + , &errt. + from cstorm + where runnumber = :runno + order by &plotorder.time + / + loop + if errnum = 0 then + success += 1; + fprintf plotfile, "%d %d %.6f %.6f -1.0 -1.0 -1.0 -1.0\n", rno, thrid, begtime, endtime; + else + fprintf plotfile, "%d %d %.6f -1.0 %.6f %.6f %.6f %.6f\n", rno, thrid, begtime + , end1, end2, end3, endt; + end if; + rno += 1; + end loop; + plotfile := null; end loop; - plotfile := null; plotfile >>= resultsdir subdir runno "/oerashvars.sh"; if rno > 600 then From 32b94d138121a057de9327afb3c8e2c8f1c7e253 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 2 Apr 2024 10:36:16 +0000 Subject: [PATCH 012/118] Add ora 12510 to dead database errors --- src/rwlerror.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/rwlerror.c b/src/rwlerror.c index 43c52af3..b910cf41 100644 --- a/src/rwlerror.c +++ b/src/rwlerror.c @@ -11,6 +11,7 @@ * * History * + * bengsig 27-mar-2024 - ora 12510 TNS:database temporarily lacks resources to handle the request * bengsig 15-mar-2024 - $connecterror:accept, 12537, 12547 * bengsig 12-feb-2024 - \r\n on Windows * bengsig 30-jan-2024 - All includes in rwl.h @@ -561,6 +562,7 @@ void rwldberror3(rwl_xeqenv *xev, rwl_location * cloc, rwl_sql *sq, text *fname, // Wait 3 to 4 seconds after these case 1109: // database not open + case 12510: // TNS:database temporarily lacks resources to handle the request case 12516: // TNS:listener could not find available handler with matching protocol stack case 12519: // TNS:no appropriate service handler found case 12530: // TNS:listener: rate limit reached From 850915cbd43b663adbd14bddaf2c77b084e1b12d Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 2 Apr 2024 10:53:33 +0000 Subject: [PATCH 013/118] Add oltpping --- bin/oltpping | 19 +++++++++ docs/refman/Makefile.refman | 3 +- docs/refman/oltp.html | 6 +-- docs/refman/oltpping.html | 81 +++++++++++++++++++++++++++++++++++++ docs/refman/oltpsetup.html | 2 +- man/man2rwl/oltp.2rwl | 2 +- man/man2rwl/oltpping.2rwl | 22 ++++++++++ 7 files changed, 129 insertions(+), 6 deletions(-) create mode 100755 bin/oltpping create mode 100644 docs/refman/oltpping.html create mode 100644 man/man2rwl/oltpping.2rwl diff --git a/bin/oltpping b/bin/oltpping new file mode 100755 index 00000000..9c3afa34 --- /dev/null +++ b/bin/oltpping @@ -0,0 +1,19 @@ +#!/bin/bash +# Copyright (c) 2021 Oracle Corporation +# Licensed under the Universal Permissive License v 1.0 +# as shown at https://oss.oracle.com/licenses/upl/ + +save_oracle_path="$ORACLE_PATH" + +. oltp-setup-env + +# This shell script will call ociping using username, password +# and connect string from your key file. +# + +eval `rwloadsim -q parameters2shell.rwl` + +export ORACLE_PATH="$save_oracle_path" + +echo ociping "$@" -l $rwl_run1_username/'******'@$normal_connect +exec ociping "$@" -l $rwl_run1_username/$rwl_run1_password@$normal_connect diff --git a/docs/refman/Makefile.refman b/docs/refman/Makefile.refman index 094849e3..6638a39b 100644 --- a/docs/refman/Makefile.refman +++ b/docs/refman/Makefile.refman @@ -21,7 +21,7 @@ ALL1=atclause.html bengsig.html compoundstatement.html conditional.html controlloop.html database.html databasedeclaration.html databasestatement.html declaration.html directive.html double.html expression.html filestatement.html histogram.html identifier.html include.html integer.html lob.html lobdeclaration.html multiprocess.html oerstats.html percentiles.html persec.html proceduredeclaration.html randomproceduredeclaration.html randomstringdeclaration.html regex.html runres.html rwlcpu.html rwlman.html rwloadsim.html rwlprogram.html rwlrun.html simpledeclaration.html sqldeclaration.html sqlexecution.html sqlstatement.html statement.html statistics.html string.html sysres.html threadexecution.html useroption.html rwlerror.html random.html procedure.html printfstatement.html cqnthread.html clob.html concatenation.html constant.html cursor.html cursorloop.html directives.html executionblock.html file.html forloop.html fractiles.html function.html functiondeclaration.html histogram_a.html if.html ifstatement.html longoption.html loop.html persec_a.html printline.html readline.html readlob.html readloop.html regexextract.html regexsearch.html regexsubstitute.html run.html runres_a.html rwl.html rwlcpu_a.html scalardeclaration.html sql.html statementlist.html thread.html threads.html userswitch.html variable.html while.html writeline.html writelob.html userhelp.html -ALL2=ashplot.html awrreport.html awreport.html awrdump.html connping.html nettest.html oltp.html oltpcheckkey.html oltpcore.html oltpcreate.html oltpday.html oltpdrop.html oltpfilloe.html oltpforever.html oltpparams.html oltpplot.html oltprun.html oltpscale.html oltpscalereport.html oltpverify.html ovid2.html sqlid2file.html sqlmonitor.html sqlmonitorawr.html ociping.html oltpsetup.html oltpawcols.html oltpplus.html utilities.html sqlreport.html netthroughput.html oltpxcset.html oltpxcrun.html oltpxc.html oltpdirectory.html oltpkomment.html ashdata.html rwlash.html filecommands.html +ALL2=ashplot.html awrreport.html awreport.html awrdump.html connping.html nettest.html oltp.html oltpcheckkey.html oltpcore.html oltpcreate.html oltpday.html oltpping.html oltpdrop.html oltpfilloe.html oltpforever.html oltpparams.html oltpplot.html oltprun.html oltpscale.html oltpscalereport.html oltpverify.html ovid2.html sqlid2file.html sqlmonitor.html sqlmonitorawr.html ociping.html oltpsetup.html oltpawcols.html oltpplus.html utilities.html sqlreport.html netthroughput.html oltpxcset.html oltpxcrun.html oltpxc.html oltpdirectory.html oltpkomment.html ashdata.html rwlash.html filecommands.html all: $(ALL1) $(ALL2) @@ -131,6 +131,7 @@ oltpcreate.html: ../../man/man2rwl/oltpcreate.2rwl oltpawcols.html: ../../man/man2rwl/oltpawcols.2rwl oltpday.html: ../../man/man2rwl/oltpday.2rwl oltpdrop.html: ../../man/man2rwl/oltpdrop.2rwl +oltpping.html: ../../man/man2rwl/oltpping.2rwl oltpfilloe.html: ../../man/man2rwl/oltpfilloe.2rwl oltpforever.html: ../../man/man2rwl/oltpforever.2rwl oltpparams.html: ../../man/man2rwl/oltpparams.2rwl diff --git a/docs/refman/oltp.html b/docs/refman/oltp.html index 9f59d81b..152ca6ee 100644 --- a/docs/refman/oltp.html +++ b/docs/refman/oltp.html @@ -1,5 +1,5 @@ - + @@ -279,8 +279,8 @@

SEE ALSO oltpforever2(2rwl), oltpparams(2rwl), oltpplot(2rwl), oltprun(2rwl), oltpscale(2rwl), oltpscalereport(2rwl), oltpsetup(2rwl), oltpverify(2rwl), oltpplus(2rwl), -rwloadsim(1rwl), oltpdirectory(2rwl), -oltprunnumber(2rwl)

+rwloadsim(1rwl), oltpdirectory(2rwl), oltprunnumber(2rwl), +oltpping(2rwl)


diff --git a/docs/refman/oltpping.html b/docs/refman/oltpping.html new file mode 100644 index 00000000..91b105e0 --- /dev/null +++ b/docs/refman/oltpping.html @@ -0,0 +1,81 @@ + + + + + + + + + +oltpping + + + + +

oltpping

+ +NAME
+SYNOPSIS
+USAGE
+COPYRIGHT
+SEE ALSO
+ +
+ + +

NAME + +

+ + +

oltpping +− Call ociping against the rwlrun1 schema

+ +

SYNOPSIS + +

+ + +

oltpping +[ociping options]

+ +

USAGE + +

+ + +

The +oltpping command will call ociping using the rwl_run1 +username and password and using the normal_connect string as +defined by your parameter file.

+ +

It has no +options itself, but all options are provided to ociping in +addition to the the -l option.

+ +

COPYRIGHT + +

+ + +

Copyright +© 2024 Oracle Corporation
+Licensed under the Universal Permissive License v 1.0 as +shown at https://oss.oracle.com/licenses/upl

+ +

SEE ALSO + +

+ + +

oltp(2rwl), +oltpsetup(2rwl), ociping(2rwl), oltpplus(2rwl)

+
+ + diff --git a/docs/refman/oltpsetup.html b/docs/refman/oltpsetup.html index 604f9bb6..6f9081ad 100644 --- a/docs/refman/oltpsetup.html +++ b/docs/refman/oltpsetup.html @@ -1,5 +1,5 @@ - + diff --git a/man/man2rwl/oltp.2rwl b/man/man2rwl/oltp.2rwl index 13ba4a07..fbd48dc2 100644 --- a/man/man2rwl/oltp.2rwl +++ b/man/man2rwl/oltp.2rwl @@ -159,4 +159,4 @@ Copyright \(co 2023 Oracle Corporation Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl .SH "SEE ALSO" -oltpcheckkey(2rwl), oltpcore(2rwl), oltpcreate(2rwl), oltpday(2rwl), oltpdrop(2rwl), oltpfilloe(2rwl), oltpforever(2rwl), oltpforever2(2rwl), oltpparams(2rwl), oltpplot(2rwl), oltprun(2rwl), oltpscale(2rwl), oltpscalereport(2rwl), oltpsetup(2rwl), oltpverify(2rwl), oltpplus(2rwl), rwloadsim(1rwl), oltpdirectory(2rwl), oltprunnumber(2rwl) +oltpcheckkey(2rwl), oltpcore(2rwl), oltpcreate(2rwl), oltpday(2rwl), oltpdrop(2rwl), oltpfilloe(2rwl), oltpforever(2rwl), oltpforever2(2rwl), oltpparams(2rwl), oltpplot(2rwl), oltprun(2rwl), oltpscale(2rwl), oltpscalereport(2rwl), oltpsetup(2rwl), oltpverify(2rwl), oltpplus(2rwl), rwloadsim(1rwl), oltpdirectory(2rwl), oltprunnumber(2rwl), oltpping(2rwl) diff --git a/man/man2rwl/oltpping.2rwl b/man/man2rwl/oltpping.2rwl new file mode 100644 index 00000000..38133229 --- /dev/null +++ b/man/man2rwl/oltpping.2rwl @@ -0,0 +1,22 @@ +.TH oltpping "2rwl" "April 2024" "RWP*Load Simulator" "Workload Syntax" +.SH NAME +oltpping \- Call ociping against the rwlrun1 schema +.SH SYNOPSIS +\fBoltpping [ociping options]\fR +.P +.SH USAGE +The +.B oltpping +command will call ociping using the rwl_run1 username and password and +using the normal_connect string +as defined by your parameter file. +.P +It has no options itself, but all options are provided to ociping +in addition to the the -l option. +.SH COPYRIGHT +Copyright \(co 2024 Oracle Corporation +.br +Licensed under the Universal Permissive License v 1.0 +as shown at https://oss.oracle.com/licenses/upl +.SH "SEE ALSO" +oltp(2rwl), oltpsetup(2rwl), ociping(2rwl), oltpplus(2rwl) From e3ea458de40dbf627db44647264bad6b7db199fa Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 3 Apr 2024 10:18:10 +0000 Subject: [PATCH 014/118] Distinguish thread/xtra storm --- docs/refman/oltpsetup.html | 28 ++++++++++++++++++---------- man/man2rwl/oltpsetup.2rwl | 15 +++++++++++---- oltp/cstorm_implementation.rwl | 5 +++-- oltp/oltp.rwl | 12 +++++++----- oltp/parameters.rwl | 17 +++++++++++++++-- 5 files changed, 54 insertions(+), 23 deletions(-) diff --git a/docs/refman/oltpsetup.html b/docs/refman/oltpsetup.html index 6f9081ad..e253ef65 100644 --- a/docs/refman/oltpsetup.html +++ b/docs/refman/oltpsetup.html @@ -1,5 +1,5 @@ - + @@ -785,21 +785,29 @@

CONNECTION STORMS

cstorm_start
-cstorm_threads
cstorm_period
+cstorm_threads
+cstorm_xtra_start
+cstorm_xtra_period
cstorm_xtra_logons
cstorm_xtra_rate

The first parameter sets the -time when the connection storm will start. The next two -parameters sets the count of threads that will block a -session and for how long that block will take place. If +time when the first type of connection storm will start. The +next two parameters sets for how long the block will last, +and the count of threads that will block a session. If cstorm_threads has its default value of zero, there -will be no storm from blocking sessions. The two last -parameters set the number of extra logons to establish, and -the rate in logons per second. If cstorm_xtra_logons -has its default value of zero, not extra logons will be -started.

+will be no storm from blocking sessions.

+ +

The +cstorm_xtra_start and cstorm_xtra_period +similarly control when the extra connections (that do not do +any actual work) will initiate and for how long they will +last. The default values are the same as for the start and +period of the blocking sessions. The two last parameters set +the number of extra logons to establish, and the rate in +logons per second. If cstorm_xtra_logons has its +default value of zero, not extra logons will be started.

You can combine the connection storm with the first type of burst mentioned diff --git a/man/man2rwl/oltpsetup.2rwl b/man/man2rwl/oltpsetup.2rwl index 786d8991..0893f3dc 100644 --- a/man/man2rwl/oltpsetup.2rwl +++ b/man/man2rwl/oltpsetup.2rwl @@ -555,16 +555,23 @@ The following parameters control connection storms: .P .nf \fBcstorm_start\fR -\fBcstorm_threads\fR \fBcstorm_period\fR +\fBcstorm_threads\fR +\fBcstorm_xtra_start\fR +\fBcstorm_xtra_period\fR \fBcstorm_xtra_logons\fR \fBcstorm_xtra_rate\fR .fi .RS 4 -The first parameter sets the time when the connection storm will start. -The next two parameters sets the count of threads that will block a session and for how long -that block will take place. +The first parameter sets the time when the first type of connection storm will start. +The next two parameters sets +for how long the block will last, and +the count of threads that will block a session. If \fBcstorm_threads\fR has its default value of zero, there will be no storm from blocking sessions. +.P +The \fBcstorm_xtra_start\fR and \fBcstorm_xtra_period\fR similarly control when the extra +connections (that do not do any actual work) will initiate and for how long they will last. +The default values are the same as for the start and period of the blocking sessions. The two last parameters set the number of extra logons to establish, and the rate in logons per second. If \fBcstorm_xtra_logons\fR has its default value of zero, not extra logons will be started. diff --git a/oltp/cstorm_implementation.rwl b/oltp/cstorm_implementation.rwl index 4b708696..c9c9fac2 100644 --- a/oltp/cstorm_implementation.rwl +++ b/oltp/cstorm_implementation.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 3-apr-2024 - Distinguish thread/xtra storm # bengsig 26-mar-2024 - Various fixes # bengsig 19-mar-2024 - Created # @@ -48,8 +49,8 @@ private procedure trylogon(double bt) nostatistics # If logon was succesfull, do a simple ociping ociping; end if; - wait cstorm_period; logofftime := runseconds(); + wait cstorm_xtra_period - (logofftime - cstorm_xtra_start); end; private procedure saveres @@ -71,7 +72,7 @@ fflush stdout; run threads cstorm_xtra_logons # separate the logon attempts by 1/cstorm_xtra_rate - for start cstorm_start + threadnumber / cstorm_xtra_rate count 1 loop + for start cstorm_xtra_start + threadnumber / cstorm_xtra_rate count 1 loop double btim := runseconds(); trylogon(btim) at rwl_run_storm; saveres(btim, logonend, logofftime, oraerror, oraerrortext) at storm_results; diff --git a/oltp/oltp.rwl b/oltp/oltp.rwl index f2b9911d..9fbeb004 100644 --- a/oltp/oltp.rwl +++ b/oltp/oltp.rwl @@ -416,11 +416,13 @@ rwl_daily_html := "daily.html"; # The actual impact is on the awindex_query transaction # Connection storm parameters -# cstorm_threads := 0; # 0 means don't do it -# cstorm_start := 120.0; # when does the storm start -# cstorm_period := 20; # how long does it last -# cstorm_xtra_logons := 100; # how many extra logons -# cstorm_xtra_rate := 100.0; # xtra logons per second rate +# cstorm_threads := 0; # 0 means don't do it +# cstorm_start := 120.0; # when does the storm start +# cstorm_period := 20; # how long does it last +# cstorm_xtra_logons := 100; # how many extra logons +# cstorm_xtra_rate := 100.0; # xtra logons per second rate +# cstorm_xtra_start := cstorm_start; # when does it start (default cstorm_start) +# cstorm_xtra_period := cstorm_period; # how long do they stay connectioned (default cstorm_period) # The following parameters rarely changed # rwl_min_pool := 3; diff --git a/oltp/parameters.rwl b/oltp/parameters.rwl index 257168bb..6e6d772a 100644 --- a/oltp/parameters.rwl +++ b/oltp/parameters.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 3-apr-2024 - Distinguish thread/xtra storm # bengsig 19-mar-2024 - Connection storm # bengsig 24-feb-2024 - Add waitsec, cpusec # bengsig 19-dec-2023 - put xc_ignore_parsefailure in oltpxc @@ -229,6 +230,8 @@ double cstorm_start := 120.0; # when does the storm start double cstorm_period := 20; # how long does it last integer cstorm_xtra_logons := 0; # how many extra logons double cstorm_xtra_rate := 100.0; # xtra logons per second rate +double cstorm_xtra_start; # when do xtra logons start (default cstorm_start) +double cstorm_xtra_period; # how long do they last (default cstorm_period) # The following are for svg gnuplotting @@ -378,6 +381,12 @@ end if; if cstorm_threads > threadcount-1 then cstorm_threads := threadcount-1 ; end if; +if cstorm_xtra_start is null then + cstorm_xtra_start := cstorm_start; +end if; +if cstorm_xtra_period is null then + cstorm_xtra_period := cstorm_period; +end if; # And here are some mode that only can be set via -d # but they can be used with -d on the oltprun/oltpcore command line @@ -588,10 +597,14 @@ if show_changed_values then if cstorm_threads then printf "%d sessions blocked from %.1fs to %.1fs\n" , cstorm_threads, cstorm_start, cstorm_start+cstorm_period; + if cstorm_threads >= rwl_max_pool-1 then + printf "WARNING: %d sessions blocked with only %d max sessions in pool\n" + , cstorm_threads, rwl_max_pool; + end if; end if; if cstorm_xtra_logons then - printf "%d extra logons created at %.0f logons per second starting at %.1fs\n" - , cstorm_xtra_logons, cstorm_xtra_rate, cstorm_start; + printf "%d extra logons created at %.0f logons per second starting at %.1fs logoff at %.1fs\n" + , cstorm_xtra_logons, cstorm_xtra_rate, cstorm_xtra_start, cstorm_xtra_start+cstorm_xtra_period; end if; printline "\nPooling information:"; if pool_type = "sessionpool" or pool_type = "connectionpool" then From d69efa9b543ced7fafae466d154ca9f3684aa7c4 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 3 Apr 2024 14:14:38 +0000 Subject: [PATCH 015/118] Improve plot description --- bin/oltpplot | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/bin/oltpplot b/bin/oltpplot index 4cd1f7e2..3598e13b 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 3-apr-2024 bengsig better graph label # 27-mar-2024 bengsig cstorm by initiated and logged on # 20-mar-2024 bengsig cstorm # 4-mar-2024 bengsig dtime, atime @@ -315,7 +316,7 @@ else set ytics nomirror set y2tics set y2label "db sessions per instance" - set ylabel "db, total, open/active in normal pool" + set ylabel "db, total open, open/active in normal pool" END else imgheight=320 @@ -326,7 +327,7 @@ END set xtics $xtics nomirror set xlabel "$xlabel" set ytics nomirror - set ylabel "db, total, open/active in normal pool" + set ylabel "db, total open, open/active in normal pool" END fi if test ! -z "$sesyrange" @@ -342,7 +343,7 @@ END plotses="'$resultsdir$subdir${runnumber}/instdist.csv' using 1:(\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9) with lines lw $lw lc rgb 'black' axes x1y1 title 'database' , \ $proccount*$rwl_min_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \ $proccount*$rwl_max_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \ - '$resultsdir$subdir${runnumber}/cli.csv' using 1:(\$6+\$7) with lines lw $lw lc rgb 'web-blue' axes x1y1 title 't' , \ + '$resultsdir$subdir${runnumber}/cli.csv' using 1:(\$6+\$7) with lines lw $lw lc rgb 'web-blue' axes x1y1 title 'total' , \ '$resultsdir$subdir${runnumber}/cli.csv' using 1:6 with lines lw $lw lc rgb 'dark-green' axes x1y1 title 'open' , \ '$resultsdir$subdir${runnumber}/cli.csv' using 1:4 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title 'active' " else @@ -912,6 +913,15 @@ cat <> $awrdirectory$subdir$runnumber/index.html

  • Scroll down to see graphs alligned on runperiod
  • Input for gnuplot at $resultsdir$subdir$runnumber
  • Generated files at $awrdirectory$subdir$runnumber
  • +
  • In the session count graphs, there are client and database side figures: +
      +
    • Client side total/t is the total open count in both pools (left y-axis) +
    • Client side open/o and active/a are open and active counts in the normal pool (left y-axis)
    • +
    • Horizontal lines show the min/max range in the normal pool (left y-axis)
    • +
    • Database side database/d is sum for all instances (left y-axis)
    • +
    • Database side 1/2/../8 is per instance and excluded with --ses-simplified (right y-axis)
    • +
    • The single letter names (d,t,a,o) are used when --ses-simplified is not given to oltpplot
    • +
    END tty -s && echo '
  • Stdout and stderr may not be available
  • ' >> $awrdirectory$subdir$runnumber/index.html echo '' >> $awrdirectory$subdir$runnumber/index.html From 8da0aea62d309c28e6281e10a3a70970db39e96c Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 4 Apr 2024 15:14:58 +0000 Subject: [PATCH 016/118] $oraerror:showoci directive --- admin/.vim/syntax/rwl.vim | 2 + man/man1rwl/directive.1rwl | 14 + src/lex.rwly.c | 2614 ++++++++++++++++++------------------ src/rwl.h | 18 +- src/rwlerror.c | 13 +- src/rwlerror.h | 6 + src/rwllexer.l | 9 + src/rwlsql.c | 88 +- test/383.rwl | 38 + test/384.rwl | 28 + test/385.rwl | 26 + test/test.sh | 2 +- test/testres/383.err.good | 4 + test/testres/383.out.good | 3 + test/testres/384.err.good | 4 + test/testres/384.out.good | 0 test/testres/385.err.good | 6 + test/testres/385.out.good | 0 18 files changed, 1539 insertions(+), 1336 deletions(-) create mode 100644 test/383.rwl create mode 100644 test/384.rwl create mode 100644 test/385.rwl create mode 100644 test/testres/383.err.good create mode 100644 test/testres/383.out.good create mode 100644 test/testres/384.err.good create mode 100644 test/testres/384.out.good create mode 100644 test/testres/385.err.good create mode 100644 test/testres/385.out.good diff --git a/admin/.vim/syntax/rwl.vim b/admin/.vim/syntax/rwl.vim index 548d4081..04b7e78f 100644 --- a/admin/.vim/syntax/rwl.vim +++ b/admin/.vim/syntax/rwl.vim @@ -141,6 +141,8 @@ syn match rwlDirective '\$maxmesg:\d\+' syn match rwlDirective '\$readbuffer:\d\+' syn match rwlDirective '\$ora01013:stop' syn match rwlDirective '\$ora01013:continue' +syn match rwlDirective '\$oraerror:showoci' +syn match rwlDirective '\$oraerror:noshowoci' syn match rwlDirective '\$oraerror:stop' syn match rwlDirective '\$oraerror:continue' syn match rwlDirective '\$oraerror:nocount' diff --git a/man/man1rwl/directive.1rwl b/man/man1rwl/directive.1rwl index e4da0be6..9671cf80 100644 --- a/man/man1rwl/directive.1rwl +++ b/man/man1rwl/directive.1rwl @@ -240,6 +240,20 @@ directives. You can reset the new behavior using the second directive. .RE .P +.B $oraerror:showoci +.br +.B $oraerror:noshowoci +.RS 4 +These directives are mostly used for debugging as they control extra information +when an ORA- error is generated. +The first directive tells rwloadsim to show the name of the Oracle Call Interface +call that was executed when an ORA- error was received. +Note that currently this is only enabled for a subset of OCI calls; as an +example, if an OCIAttrGet or OCIAttrSet call throws an ORA- error, this directive +will have no effect. +The second directive turns this extra error detail off. +.RE +.P .B $ora01013:continue .br .B $ora01013:stop diff --git a/src/lex.rwly.c b/src/lex.rwly.c index ac673012..237ec33b 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 348 -#define YY_END_OF_BUFFER 349 +#define YY_NUM_RULES 350 +#define YY_END_OF_BUFFER 351 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -352,24 +352,24 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1922] = +static yyconst flex_int16_t yy_accept[1935] = { 0, - 0, 0, 349, 347, 345, 344, 190, 347, 346, 340, - 182, 217, 347, 183, 184, 180, 178, 185, 179, 347, + 0, 0, 351, 349, 347, 346, 190, 349, 348, 342, + 182, 217, 349, 183, 184, 180, 178, 185, 179, 349, 181, 47, 192, 235, 188, 186, 189, 191, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 347, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 349, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 216, 218, 345, - 200, 0, 43, 0, 346, 341, 233, 232, 234, 341, - 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, - 341, 341, 341, 341, 341, 341, 341, 219, 0, 42, + 231, 231, 231, 231, 231, 231, 231, 216, 218, 347, + 200, 0, 43, 0, 348, 343, 233, 232, 234, 343, + 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, + 343, 343, 343, 343, 343, 343, 343, 219, 0, 42, 0, 222, 221, 203, 40, 225, 173, 41, 220, 223, 46, 47, 0, 202, 0, 197, 201, 0, 187, 198, 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 342, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 344, 0, 231, 231, 231, 231, 231, 89, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, @@ -387,7 +387,7 @@ static yyconst flex_int16_t yy_accept[1922] = 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 343, 231, 231, 231, 170, 194, 231, + 231, 231, 231, 345, 231, 231, 231, 170, 194, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 122, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 102, 231, 231, 231, 231, 231, 112, 231, 231, @@ -456,7 +456,7 @@ static yyconst flex_int16_t yy_accept[1922] = 231, 231, 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 23, 231, 231, 0, 35, 231, 231, 231, 0, 22, 231, 0, @@ -470,7 +470,7 @@ static yyconst flex_int16_t yy_accept[1922] = 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 231, 0, 0, 0, 0, 0, 0, 0, 231, 0, 231, 0, 231, @@ -491,8 +491,8 @@ static yyconst flex_int16_t yy_accept[1922] = 231, 231, 231, 231, 231, 231, 231, 231, 156, 91, 231, 108, 231, 152, 231, 231, 231, 231, 82, 231, 231, 148, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 323, 0, 0, 0, 0, 0, - 0, 0, 0, 321, 0, 0, 0, 0, 319, 0, + 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, + 0, 0, 0, 323, 0, 0, 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 4, 0, 0, @@ -501,71 +501,72 @@ static yyconst flex_int16_t yy_accept[1922] = 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 138, 231, 231, 117, 231, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 324, 323, 322, 0, 0, 0, 0, - 0, 0, 275, 321, 0, 0, 0, 0, 0, 0, - 273, 0, 0, 272, 0, 0, 319, 318, 0, 331, + 0, 0, 0, 326, 325, 324, 0, 0, 0, 0, + 0, 0, 277, 323, 0, 0, 0, 0, 0, 0, + 275, 0, 0, 274, 0, 0, 321, 320, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 325, 325, 0, 0, 0, 0, 0, 0, 0, 0, + 327, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 12, 231, 0, 0, 0, 0, 0, 231, 231, 231, 75, 231, 62, 74, 64, 231, 231, 231, 231, 231, 231, 231, 81, 231, 103, 231, 208, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 324, 322, 0, 0, 0, 0, 0, - 0, 275, 0, 0, 0, 0, 0, 0, 0, 272, - 0, 0, 318, 317, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, + 0, 0, 0, 326, 324, 0, 0, 0, 0, 0, + 0, 277, 0, 0, 0, 0, 0, 0, 0, 274, + 0, 0, 320, 319, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 231, 5, 0, 0, 0, 0, 231, 231, + 231, 139, 228, 231, 110, 119, 231, 231, 153, 231, + 231, 209, 318, 0, 252, 264, 265, 0, 329, 0, + 0, 0, 0, 0, 316, 0, 0, 0, 0, 254, + 0, 0, 0, 0, 0, 0, 0, 291, 236, 319, + 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 328, 322, 0, 0, 0, 249, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 238, 239, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 231, 231, + + 231, 76, 231, 231, 210, 231, 318, 253, 0, 330, + 0, 0, 0, 0, 312, 0, 316, 0, 0, 0, + 255, 0, 0, 288, 290, 0, 0, 0, 236, 0, + 0, 258, 261, 0, 0, 266, 0, 0, 0, 0, + 0, 270, 0, 0, 328, 322, 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 238, 0, 239, 0, 0, 0, 0, 17, + 0, 16, 0, 18, 0, 0, 0, 9, 0, 231, + 231, 104, 231, 231, 118, 0, 285, 330, 0, 0, + 305, 0, 313, 0, 0, 0, 276, 0, 278, 0, - 0, 231, 5, 0, 0, 0, 0, 231, 231, 231, - 139, 228, 231, 110, 119, 231, 231, 153, 231, 231, - 209, 316, 0, 252, 264, 265, 0, 327, 0, 0, - 0, 0, 0, 314, 0, 0, 0, 0, 254, 0, - 0, 0, 0, 0, 0, 0, 289, 236, 317, 0, - 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 326, 320, 0, 0, 0, 249, 0, 0, 0, + 0, 0, 0, 237, 259, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 231, 231, 231, 76, 231, - - 231, 210, 231, 316, 253, 0, 328, 0, 0, 0, - 0, 310, 0, 314, 0, 0, 0, 255, 0, 0, - 286, 288, 0, 0, 0, 236, 0, 0, 258, 261, - 0, 0, 266, 0, 0, 0, 270, 0, 0, 326, - 320, 0, 0, 251, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 238, 0, 239, - 0, 0, 0, 0, 17, 0, 16, 0, 18, 0, - 0, 0, 9, 0, 231, 231, 104, 231, 231, 118, - 0, 283, 328, 0, 0, 303, 0, 311, 0, 0, - 0, 274, 0, 276, 0, 0, 0, 0, 237, 259, - - 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 329, 248, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 0, 7, 11, 231, 105, 231, 231, 284, - 0, 0, 304, 0, 299, 0, 0, 0, 277, 0, - 287, 0, 0, 237, 282, 0, 0, 0, 0, 0, - 0, 0, 0, 250, 0, 297, 0, 0, 0, 0, - 330, 0, 0, 0, 305, 308, 0, 0, 0, 238, - 0, 0, 239, 0, 0, 0, 0, 15, 0, 0, - 231, 212, 231, 285, 0, 300, 0, 301, 0, 0, - - 0, 0, 0, 282, 0, 278, 0, 0, 269, 0, - 0, 0, 292, 0, 298, 0, 0, 0, 0, 330, - 246, 0, 306, 0, 0, 0, 0, 0, 0, 0, - 231, 214, 285, 0, 302, 0, 0, 0, 339, 0, - 291, 0, 279, 267, 271, 0, 0, 0, 293, 0, - 0, 0, 332, 333, 0, 0, 0, 0, 0, 0, - 0, 6, 213, 0, 281, 0, 290, 0, 294, 0, - 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, - 0, 0, 309, 281, 0, 295, 0, 0, 312, 0, - 0, 0, 338, 337, 0, 2, 0, 280, 296, 313, - - 0, 0, 335, 0, 0, 338, 337, 0, 0, 280, - 0, 256, 247, 0, 0, 257, 0, 3, 0, 1, - 0 + 338, 0, 331, 248, 0, 0, 0, 0, 309, 0, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, + 7, 11, 231, 105, 231, 231, 286, 0, 0, 306, + 0, 301, 0, 0, 0, 279, 0, 289, 0, 0, + 237, 284, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 250, 0, 299, 0, 0, 0, 0, 332, + 0, 0, 0, 307, 310, 0, 0, 0, 238, 0, + 0, 239, 0, 0, 0, 0, 15, 0, 0, 231, + + 212, 231, 287, 0, 302, 0, 303, 0, 0, 0, + 0, 0, 284, 0, 280, 0, 0, 269, 0, 272, + 0, 0, 0, 294, 0, 300, 0, 0, 0, 0, + 332, 246, 0, 308, 0, 0, 0, 0, 0, 0, + 0, 231, 214, 287, 0, 304, 0, 0, 0, 341, + 0, 293, 0, 281, 267, 271, 0, 0, 0, 0, + 295, 0, 0, 0, 334, 335, 0, 0, 0, 0, + 0, 0, 0, 6, 213, 0, 283, 0, 292, 273, + 0, 296, 0, 0, 0, 0, 0, 336, 0, 0, + 0, 0, 0, 0, 0, 311, 283, 0, 297, 0, + + 0, 314, 0, 0, 0, 340, 339, 0, 2, 0, + 282, 298, 315, 0, 0, 337, 0, 0, 340, 339, + 0, 0, 282, 0, 256, 247, 0, 0, 257, 0, + 3, 0, 1, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -613,105 +614,105 @@ static yyconst YY_CHAR yy_meta[88] = 21, 21, 22, 21, 21, 1, 1 } ; -static yyconst flex_uint16_t yy_base[1960] = +static yyconst flex_uint16_t yy_base[1973] = { 0, - 0, 0, 3374, 3375, 86, 3375, 3344, 83, 0, 141, - 3375, 3362, 80, 3375, 3375, 3342, 77, 3375, 76, 3352, - 80, 211, 3340, 3375, 209, 3339, 211, 3375, 207, 59, + 0, 0, 3387, 3388, 86, 3388, 3357, 83, 0, 141, + 3388, 3375, 80, 3388, 3388, 3355, 77, 3388, 76, 3365, + 80, 211, 3353, 3388, 209, 3352, 211, 3388, 207, 59, 66, 67, 41, 54, 51, 0, 56, 56, 68, 62, 59, 81, 212, 181, 196, 205, 110, 263, 213, 273, - 243, 283, 302, 250, 3303, 223, 200, 295, 220, 192, - 252, 3286, 319, 336, 313, 314, 346, 3279, 3375, 116, - 3375, 333, 3375, 0, 0, 3375, 3375, 404, 0, 50, - 3296, 275, 320, 359, 3295, 3288, 188, 3287, 268, 59, - 301, 3283, 3279, 73, 331, 188, 3280, 3375, 251, 3375, - - 3354, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375, - 421, 429, 446, 3375, 3327, 3375, 3375, 3326, 3375, 3375, - 3325, 3324, 0, 219, 251, 291, 285, 359, 367, 366, + 243, 283, 302, 250, 3316, 223, 200, 295, 220, 192, + 252, 3299, 319, 336, 313, 314, 346, 3292, 3388, 116, + 3388, 333, 3388, 0, 0, 3388, 3388, 404, 0, 50, + 3309, 275, 320, 359, 3308, 3301, 188, 3300, 268, 59, + 301, 3296, 3292, 73, 331, 188, 3293, 3388, 251, 3388, + + 3367, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, + 421, 429, 446, 3388, 3340, 3388, 3388, 3339, 3388, 3388, + 3338, 3337, 0, 219, 251, 291, 285, 359, 367, 366, 390, 412, 421, 406, 412, 412, 428, 440, 423, 440, - 426, 445, 429, 436, 426, 439, 428, 456, 443, 3375, - 3349, 3277, 295, 444, 464, 3273, 3289, 459, 3275, 3273, - 3282, 455, 3277, 3270, 467, 3266, 3263, 486, 3261, 468, - 3262, 335, 3265, 3267, 3273, 488, 3265, 3264, 472, 3257, - 3256, 3259, 3259, 3251, 3255, 3245, 0, 3254, 481, 3253, - 328, 500, 3262, 3245, 3252, 505, 3251, 340, 3257, 0, - - 3242, 476, 492, 3255, 439, 525, 484, 3245, 537, 468, - 3244, 3239, 500, 361, 482, 3247, 3236, 509, 520, 490, - 3249, 3244, 511, 538, 3243, 3281, 598, 0, 3227, 3233, - 3234, 3232, 3232, 3231, 3238, 3241, 3227, 3222, 3238, 3235, - 3220, 3232, 3224, 3216, 568, 3218, 3230, 3218, 3207, 514, - 3217, 3226, 3210, 3226, 3221, 3220, 3210, 256, 531, 3222, - 3210, 3220, 3215, 3210, 3213, 3375, 604, 624, 610, 630, - 3375, 3375, 3375, 3375, 596, 601, 595, 597, 616, 617, + 426, 445, 429, 436, 426, 439, 428, 456, 443, 3388, + 3362, 3290, 295, 444, 464, 3286, 3302, 459, 3288, 3286, + 3295, 455, 3290, 3283, 467, 3279, 3276, 486, 3274, 468, + 3275, 335, 3278, 3280, 3286, 488, 3278, 3277, 472, 3270, + 3269, 3272, 3272, 3264, 3268, 3258, 0, 3267, 481, 3266, + 328, 500, 3275, 3258, 3265, 505, 3264, 340, 3270, 0, + + 3255, 476, 492, 3268, 439, 525, 484, 3258, 537, 468, + 3257, 3252, 500, 361, 482, 3260, 3249, 509, 520, 490, + 3262, 3257, 511, 538, 3256, 3294, 598, 0, 3240, 3246, + 3247, 3245, 3245, 3244, 3251, 3254, 3240, 3235, 3251, 3248, + 3233, 3245, 3237, 3229, 568, 3231, 3243, 3231, 3220, 514, + 3230, 3239, 3223, 3239, 3234, 3233, 3223, 256, 531, 3235, + 3223, 3233, 3228, 3223, 3226, 3388, 604, 624, 610, 630, + 3388, 3388, 3388, 3388, 596, 601, 595, 597, 616, 617, 615, 615, 628, 618, 626, 631, 620, 626, 620, 627, 637, 632, 637, 624, 639, 646, 633, 644, 645, 690, - 637, 651, 657, 3375, 3199, 3211, 3206, 0, 0, 3213, - 3199, 3189, 3207, 3208, 3208, 3203, 3195, 3204, 655, 3191, - 0, 3190, 3184, 535, 669, 3193, 537, 3199, 3184, 3194, - 3183, 0, 3194, 3195, 3177, 3191, 3173, 670, 3171, 3186, - 3175, 0, 3180, 3185, 3174, 651, 3184, 3184, 3169, 678, - 3178, 3161, 3170, 3173, 3163, 0, 3162, 3168, 3171, 3160, - 3153, 3152, 3159, 3151, 0, 3158, 3153, 3167, 3153, 3147, - 644, 3162, 3152, 436, 3159, 0, 3158, 3146, 3155, 3154, - 3137, 3136, 3135, 3143, 3140, 3134, 3130, 3132, 3132, 3143, - 0, 3139, 3147, 3126, 639, 3129, 3135, 3124, 0, 3122, - - 3121, 3126, 3134, 674, 3132, 3128, 3118, 3115, 3120, 3121, - 3113, 3111, 3375, 3129, 3124, 3124, 3124, 3112, 3113, 3123, - 3102, 3104, 3116, 3115, 3110, 3103, 3103, 3111, 3095, 3165, - 712, 718, 713, 3101, 3100, 3104, 661, 3085, 3104, 3103, - 3102, 3087, 702, 3141, 3083, 3099, 3098, 3086, 3081, 3098, - 3079, 3085, 654, 3082, 3088, 3076, 714, 728, 685, 695, + 637, 651, 657, 3388, 3212, 3224, 3219, 0, 0, 3226, + 3212, 3202, 3220, 3221, 3221, 3216, 3208, 3217, 655, 3204, + 0, 3203, 3197, 535, 669, 3206, 537, 3212, 3197, 3207, + 3196, 0, 3207, 3208, 3190, 3204, 3186, 670, 3184, 3199, + 3188, 0, 3193, 3198, 3187, 651, 3197, 3197, 3182, 678, + 3191, 3174, 3183, 3186, 3176, 0, 3175, 3181, 3184, 3173, + 3166, 3165, 3172, 3164, 0, 3171, 3166, 3180, 3166, 3160, + 644, 3175, 3165, 436, 3172, 0, 3171, 3159, 3168, 3167, + 3150, 3149, 3148, 3156, 3153, 3147, 3143, 3145, 3145, 3156, + 0, 3152, 3160, 3139, 639, 3142, 3148, 3137, 0, 3135, + + 3134, 3139, 3147, 674, 3145, 3141, 3131, 3128, 3133, 3134, + 3126, 3124, 3388, 3142, 3137, 3137, 3137, 3125, 3126, 3136, + 3115, 3117, 3129, 3128, 3123, 3116, 3116, 3124, 3108, 3178, + 712, 718, 713, 3114, 3113, 3117, 661, 3098, 3117, 3116, + 3115, 3100, 702, 3154, 3096, 3112, 3111, 3099, 3094, 3111, + 3092, 3098, 654, 3095, 3101, 3089, 714, 728, 685, 695, 690, 720, 704, 711, 0, 723, 709, 729, 713, 715, 0, 735, 729, 718, 721, 773, 735, 738, 742, 735, - 738, 734, 751, 800, 752, 743, 0, 3073, 3073, 3069, - 3065, 3126, 3083, 3072, 0, 3075, 0, 0, 0, 764, - - 3080, 3064, 3068, 3080, 0, 3077, 3077, 3058, 3064, 3065, - 0, 3067, 3071, 3066, 3059, 3047, 3050, 0, 3051, 0, - 3051, 3054, 3047, 3065, 3051, 3043, 3062, 3058, 3043, 3042, - 3052, 3046, 0, 3037, 3038, 0, 3049, 3030, 3051, 3034, - 3046, 3049, 3048, 0, 3039, 3035, 3027, 3022, 3024, 3042, - 3037, 3032, 3015, 3034, 3023, 3025, 3022, 3011, 3033, 3028, - 3020, 3013, 3028, 3025, 3023, 3022, 3017, 3021, 3004, 3009, - 3013, 0, 3001, 747, 0, 3006, 2999, 3015, 3012, 0, - 3015, 771, 3000, 3007, 2999, 0, 0, 3007, 2999, 3005, - 2984, 2990, 2992, 2995, 3000, 753, 2995, 2996, 2989, 3375, - - 2997, 2994, 2981, 2978, 2985, 2982, 754, 802, 809, 3046, - 755, 2985, 2972, 2977, 2976, 2986, 2974, 2975, 3020, 2981, - 2984, 2964, 3021, 2964, 3019, 2975, 2960, 2976, 2963, 2967, - 2972, 2966, 2958, 2952, 534, 3375, 2956, 770, 772, 0, + 738, 734, 751, 800, 752, 743, 0, 3086, 3086, 3082, + 3078, 3139, 3096, 3085, 0, 3088, 0, 0, 0, 764, + + 3093, 3077, 3081, 3093, 0, 3090, 3090, 3071, 3077, 3078, + 0, 3080, 3084, 3079, 3072, 3060, 3063, 0, 3064, 0, + 3064, 3067, 3060, 3078, 3064, 3056, 3075, 3071, 3056, 3055, + 3065, 3059, 0, 3050, 3051, 0, 3062, 3043, 3064, 3047, + 3059, 3062, 3061, 0, 3052, 3048, 3040, 3035, 3037, 3055, + 3050, 3045, 3028, 3047, 3036, 3038, 3035, 3024, 3046, 3041, + 3033, 3026, 3041, 3038, 3036, 3035, 3030, 3034, 3017, 3022, + 3026, 0, 3014, 747, 0, 3019, 3012, 3028, 3025, 0, + 3028, 771, 3013, 3020, 3012, 0, 0, 3020, 3012, 3018, + 2997, 3003, 3005, 3008, 3013, 753, 3008, 3009, 3002, 3388, + + 3010, 3007, 2994, 2991, 2998, 2995, 754, 802, 809, 3059, + 755, 2998, 2985, 2990, 2989, 2999, 2987, 2988, 3033, 2994, + 2997, 2977, 3034, 2977, 3032, 2988, 2973, 2989, 2976, 2980, + 2985, 2979, 2971, 2965, 534, 3388, 2969, 770, 772, 0, 761, 784, 0, 0, 780, 790, 789, 803, 791, 802, 810, 0, 794, 853, 0, 807, 0, 814, 822, 813, - 810, 817, 818, 816, 836, 836, 0, 2951, 2964, 0, - 0, 2963, 2946, 0, 2946, 2962, 0, 2946, 2962, 2957, - 2960, 2936, 2921, 2899, 2877, 2877, 2862, 2867, 0, 2829, - 2819, 0, 2785, 2795, 2820, 2760, 2750, 2756, 2760, 2747, - - 2749, 2743, 2732, 2735, 2737, 2716, 808, 0, 2719, 2716, - 2724, 2709, 2714, 0, 2722, 2711, 830, 2705, 2720, 2719, - 2707, 0, 2707, 539, 2705, 812, 2693, 2682, 2673, 2678, - 2690, 0, 2687, 2669, 2671, 2674, 0, 2639, 2651, 0, - 2641, 2632, 2642, 2630, 2637, 2631, 2639, 848, 2590, 2593, - 2605, 0, 2600, 2587, 2579, 2578, 817, 2576, 2590, 2587, - 2586, 2568, 2569, 2568, 2559, 2572, 2568, 3375, 820, 2556, - 2560, 2564, 852, 876, 873, 2561, 2559, 2546, 2555, 2553, - 2554, 2534, 897, 2511, 2497, 2477, 2516, 2458, 2463, 872, - 2458, 2441, 2447, 2444, 2438, 2448, 2438, 2425, 2424, 760, - - 2422, 2425, 2413, 2405, 852, 870, 875, 858, 910, 874, + 810, 817, 818, 816, 836, 836, 0, 2964, 2977, 0, + 0, 2976, 2959, 0, 2959, 2975, 0, 2959, 2975, 2970, + 2973, 2961, 2967, 2966, 2964, 2964, 2949, 2960, 0, 2946, + 2957, 0, 2944, 2954, 2999, 2939, 2941, 2947, 2953, 2952, + + 2954, 2950, 2942, 2933, 2914, 2872, 808, 0, 2857, 2854, + 2862, 2847, 2828, 0, 2815, 2783, 830, 2777, 2772, 2772, + 2748, 0, 2748, 539, 2744, 812, 2726, 2725, 2721, 2723, + 2735, 0, 2732, 2716, 2716, 2719, 0, 2709, 2718, 0, + 2708, 2701, 2712, 2700, 2709, 2702, 2710, 848, 2695, 2698, + 2704, 0, 2693, 2674, 2666, 2665, 817, 2664, 2677, 2674, + 2673, 2632, 2630, 2635, 2629, 2641, 2637, 3388, 820, 2624, + 2628, 2635, 852, 876, 873, 2598, 2596, 2583, 2590, 2587, + 2588, 2588, 897, 2564, 2584, 2584, 2623, 2563, 2574, 872, + 2568, 2546, 2552, 2550, 2543, 2559, 2551, 2538, 2537, 760, + + 2541, 2547, 2535, 2527, 852, 870, 875, 858, 910, 874, 0, 877, 879, 893, 0, 894, 876, 0, 0, 888, - 0, 884, 888, 907, 889, 0, 0, 2388, 2371, 2351, - 0, 2350, 2366, 2337, 0, 2335, 2334, 0, 0, 0, - 0, 2306, 920, 2280, 0, 2278, 2268, 0, 0, 2281, - 0, 2278, 2275, 0, 2261, 0, 2275, 2269, 0, 2269, - 2267, 2256, 2265, 2251, 2259, 2260, 2247, 2247, 0, 2255, - 2262, 2257, 2240, 0, 2245, 0, 2245, 2213, 2208, 2188, - 2190, 2204, 2188, 2188, 0, 2203, 2190, 2184, 2187, 46, + 0, 884, 888, 907, 889, 0, 0, 2510, 2514, 2472, + 0, 2451, 2467, 2450, 0, 2442, 2436, 0, 0, 0, + 0, 2450, 920, 2449, 0, 2446, 2436, 0, 0, 2443, + 0, 2435, 2432, 0, 2418, 0, 2427, 2417, 0, 2417, + 2416, 2385, 2373, 2346, 2354, 2355, 2330, 2330, 0, 2338, + 2303, 2270, 2253, 0, 2258, 0, 2258, 2269, 2265, 2245, + 2247, 2254, 2238, 2236, 0, 2250, 2223, 2219, 2222, 46, 69, 0, 191, 177, 0, 225, 0, 0, 215, 299, 353, 427, 512, 876, 744, 834, 840, 836, 866, 867, @@ -736,14 +737,14 @@ static yyconst flex_uint16_t yy_base[1960] = 1077, 1074, 1082, 1080, 1088, 1078, 1122, 1123, 1158, 1111, 1132, 1125, 1117, 1135, 1119, 1129, 1168, 1131, 1131, 1127, - 1128, 3375, 1130, 0, 1098, 1107, 1120, 0, 1120, 1111, + 1128, 3388, 1130, 0, 1098, 1107, 1120, 0, 1120, 1111, 0, 1124, 1117, 1113, 1119, 0, 1135, 1138, 1132, 1130, 1142, 0, 1147, 0, 1149, 1146, 0, 1137, 1140, 1152, 1159, 0, 1157, 1150, 1148, 0, 1153, 1162, 0, 0, 1160, 1162, 0, 1148, 1165, 1165, 1170, 1154, 1156, 1157, 1164, 1163, 1173, 1174, 1213, 0, 1231, 1178, 1182, 1180, 1177, 1173, 1221, 1240, 1241, 1225, 1246, 1179, 1235, 1235, - 1184, 1237, 1191, 1186, 1188, 1242, 1243, 1206, 1206, 3375, + 1184, 1237, 1191, 1186, 1188, 1242, 1243, 1206, 1206, 3388, 1195, 1247, 1211, 1197, 1203, 1205, 1198, 1207, 1207, 1220, 1204, 1216, 1221, 1260, 1213, 1226, 1240, 1288, 1248, 1249, @@ -754,304 +755,308 @@ static yyconst flex_uint16_t yy_base[1960] = 1323, 0, 1282, 1321, 1269, 1277, 1271, 1274, 1292, 1285, 1288, 1284, 1278, 0, 0, 1339, 1286, 1285, 1298, 1341, 1303, 1309, 0, 1363, 1319, 1366, 1343, 1301, 1374, 1387, - 1349, 0, 1313, 1351, 1299, 1338, 1341, 1319, 3375, 1307, + 1349, 0, 1313, 1351, 1299, 1338, 1341, 1319, 3388, 1307, 1372, 1325, 1383, 1331, 1387, 1351, 1351, 1347, 1343, 1354, - 1351, 1346, 1421, 1355, 1362, 1436, 1445, 3375, 1396, 1400, + 1351, 1346, 1421, 1355, 1362, 1436, 1445, 3388, 1396, 1400, - 1384, 1448, 1393, 1402, 1403, 1406, 1393, 1413, 1451, 3375, + 1384, 1448, 1393, 1402, 1403, 1406, 1393, 1413, 1451, 3388, 1424, 1423, 1391, 1400, 1401, 1403, 1396, 1391, 1404, 1396, 1414, 1403, 1416, 1406, 1412, 1419, 1412, 0, 1423, 1416, 1414, 1428, 1464, 1417, 1466, 1429, 1468, 1422, 1427, 1426, 1474, 1433, 1477, 0, 0, 0, 1433, 1441, 1435, 1433, 1424, 1437, 0, 1524, 1442, 1447, 1448, 1439, 1450, 1511, - 3375, 1523, 1492, 3375, 1524, 1492, 1513, 1535, 1541, 0, - 1493, 1446, 1453, 1450, 1449, 1455, 1465, 1461, 1463, 1464, - 1497, 1513, 1544, 1551, 1501, 1499, 1497, 1549, 1514, 1552, - 1509, 1519, 1507, 1579, 1560, 1562, 1587, 1542, 1543, 3375, - - 1565, 1563, 1568, 1566, 1565, 3375, 1569, 1561, 1576, 1578, - 1571, 1561, 1527, 1538, 1539, 0, 1536, 0, 0, 0, - 1551, 1549, 1545, 1540, 1557, 1558, 1544, 0, 1546, 0, - 1553, 1571, 1621, 1582, 1628, 1609, 1638, 1573, 1625, 1588, - 1579, 1581, 1644, 0, 0, 1596, 1593, 1645, 1607, 1647, - 1610, 0, 1602, 1597, 1612, 1614, 1597, 1616, 1652, 1653, - 1682, 0, 1666, 1672, 1610, 1633, 1637, 1627, 1627, 1629, - 1641, 1630, 1627, 1639, 1653, 0, 1693, 1698, 1661, 1656, - 1658, 1644, 1665, 1646, 1666, 1664, 1705, 1648, 1728, 3375, - 0, 0, 0, 1699, 1705, 1698, 1692, 1695, 1706, 1710, - - 1710, 1745, 3375, 1699, 1718, 1707, 1713, 1681, 1695, 1682, - 0, 0, 1693, 0, 0, 1684, 1699, 0, 1696, 1690, - 0, 1767, 1697, 3375, 3375, 3375, 1690, 1775, 1741, 1694, - 1745, 1710, 1712, 1781, 1700, 1698, 1710, 1720, 3375, 1720, - 1781, 1745, 1742, 1742, 1736, 1748, 3375, 1784, 1794, 1755, - 1756, 3375, 1744, 1744, 1749, 1746, 1753, 1753, 1754, 1762, - 1759, 0, 1812, 1813, 1766, 1775, 3375, 1763, 1816, 1768, - 1776, 1780, 1767, 1821, 1777, 1789, 1782, 1825, 1778, 1827, - 1828, 1829, 1800, 1806, 1812, 1803, 1817, 1825, 1810, 1814, - 1862, 1835, 1825, 1818, 1824, 1809, 1794, 1802, 0, 1794, - - 1796, 0, 1792, 1857, 3375, 1827, 1881, 1823, 1834, 1819, - 1829, 3375, 1882, 1893, 1832, 1850, 1838, 3375, 1854, 1900, - 3375, 3375, 1853, 1866, 1852, 1901, 0, 1866, 3375, 3375, - 1906, 1865, 3375, 1866, 1856, 1856, 3375, 1871, 1870, 0, - 1921, 1913, 1873, 3375, 1884, 1875, 1875, 1880, 1887, 1890, - 1934, 1889, 1883, 1884, 1889, 1899, 1902, 1940, 1961, 1942, - 1963, 1971, 1930, 1926, 3375, 1944, 3375, 1928, 3375, 1927, - 1947, 1945, 3375, 1937, 1909, 1906, 0, 1912, 1918, 0, - 1922, 1962, 1969, 1933, 1931, 3375, 1938, 3375, 1923, 1940, - 1924, 3375, 1937, 3375, 1992, 1943, 1959, 1958, 0, 3375, - - 2001, 1954, 1955, 3375, 1956, 1957, 1958, 1958, 1974, 1955, - 1970, 1972, 1973, 3375, 1974, 2029, 3375, 1971, 1961, 1990, - 1976, 3375, 1978, 1984, 2039, 2040, 2055, 2006, 3375, 2026, - 2025, 2030, 2032, 3375, 3375, 1985, 0, 1987, 1993, 3375, - 0, 2006, 3375, 2004, 3375, 2005, 1987, 1995, 3375, 2067, - 3375, 1996, 2016, 0, 2080, 2012, 1999, 2000, 2002, 2056, - 2017, 2021, 2010, 3375, 2026, 3375, 2020, 2069, 2019, 2026, - 2087, 2051, 2040, 2050, 3375, 3375, 2050, 2054, 2112, 3375, - 0, 2113, 3375, 0, 2088, 2070, 2086, 3375, 2072, 2074, - 2052, 0, 2053, 0, 2064, 3375, 2064, 3375, 2104, 2071, - - 2126, 2069, 2056, 2115, 2076, 3375, 2078, 2079, 3375, 2071, - 2118, 2081, 3375, 2076, 3375, 2091, 2149, 2079, 2078, 2138, - 3375, 2098, 3375, 2088, 2098, 2122, 2128, 2170, 2129, 2139, - 2097, 0, 0, 2102, 3375, 2158, 2101, 2180, 3375, 2184, - 3375, 2124, 3375, 3375, 3375, 2125, 2129, 2117, 3375, 2131, - 2167, 2188, 3375, 3375, 2122, 2136, 2141, 2170, 2170, 2204, - 2155, 3375, 0, 2130, 2195, 2184, 3375, 2146, 3375, 2136, - 2156, 2196, 2217, 2218, 3375, 2222, 2166, 2163, 2155, 2193, - 2184, 2184, 3375, 2264, 2270, 3375, 2163, 2172, 3375, 2165, - 2238, 2168, 2164, 2165, 2213, 3375, 2213, 2277, 3375, 3375, - - 2183, 2248, 3375, 2275, 2179, 3375, 3375, 2236, 2248, 2291, - 2193, 3375, 3375, 2268, 2257, 3375, 2264, 3375, 2266, 3375, - 3375, 2345, 2367, 2389, 2404, 2419, 2441, 2463, 2478, 2493, - 2511, 2526, 2548, 2570, 2592, 2607, 2622, 2641, 2656, 2678, - 2693, 2715, 2720, 2735, 2743, 2754, 2771, 2786, 2800, 2817, - 2839, 2861, 2883, 2905, 2916, 2931, 2953, 2975, 2997 + 3388, 1523, 1492, 3388, 1524, 1492, 1513, 1535, 1541, 0, + 1493, 1446, 1453, 1450, 1449, 1455, 1465, 1473, 1463, 1464, + 1513, 1516, 1544, 1552, 1502, 1500, 1498, 1550, 1515, 1554, + 1509, 1519, 1507, 1579, 1560, 1562, 1587, 1542, 1543, 3388, + + 1565, 1564, 1570, 1567, 1567, 3388, 1570, 1563, 1578, 1579, + 1572, 1562, 1527, 1538, 1540, 0, 1537, 0, 0, 0, + 1552, 1550, 1546, 1541, 1558, 1561, 1545, 0, 1548, 0, + 1554, 1571, 1622, 1583, 1629, 1609, 1638, 1574, 1626, 1589, + 1580, 1582, 1644, 0, 0, 1610, 1594, 1646, 1608, 1648, + 1611, 0, 1603, 1598, 1613, 1615, 1598, 1617, 1653, 1654, + 1683, 0, 1667, 1673, 1611, 1634, 1638, 1628, 1628, 1630, + 1642, 1631, 1632, 1630, 1641, 1659, 0, 1701, 1694, 1657, + 1654, 1653, 1639, 1669, 1650, 1670, 1668, 1707, 1651, 1730, + 3388, 0, 0, 0, 1702, 1707, 1700, 1695, 1698, 1708, + + 1713, 1713, 1748, 3388, 1702, 1721, 1710, 1716, 1684, 1698, + 1685, 0, 0, 1696, 0, 0, 1687, 1702, 0, 1699, + 1693, 0, 1769, 1700, 3388, 3388, 3388, 1695, 1777, 1744, + 1697, 1749, 1713, 1715, 1783, 1703, 1701, 1713, 1731, 3388, + 1735, 1784, 1748, 1745, 1745, 1739, 1751, 3388, 1787, 1797, + 1758, 1759, 3388, 1747, 1747, 1752, 1749, 1756, 1756, 1765, + 1751, 1759, 1767, 1764, 0, 1817, 1818, 1771, 1780, 3388, + 1768, 1821, 1773, 1781, 1785, 1772, 1826, 1782, 1794, 1787, + 1830, 1783, 1832, 1833, 1834, 1805, 1811, 1817, 1808, 1822, + 1830, 1815, 1819, 1867, 1840, 1830, 1823, 1829, 1814, 1799, + + 1807, 0, 1799, 1801, 0, 1797, 1862, 3388, 1832, 1886, + 1828, 1839, 1824, 1834, 3388, 1887, 1898, 1837, 1855, 1843, + 3388, 1859, 1905, 3388, 3388, 1858, 1871, 1857, 1906, 0, + 1871, 3388, 3388, 1911, 1870, 3388, 1871, 1861, 1861, 1868, + 1869, 3388, 1878, 1878, 0, 1927, 1927, 1880, 3388, 1891, + 1882, 1882, 1887, 1894, 1897, 1941, 1896, 1890, 1891, 1896, + 1906, 1909, 1947, 1968, 1949, 1970, 1978, 1937, 1933, 3388, + 1951, 3388, 1935, 3388, 1934, 1954, 1952, 3388, 1944, 1916, + 1913, 0, 1919, 1925, 0, 1929, 1969, 1976, 1940, 1938, + 3388, 1945, 3388, 1930, 1947, 1931, 3388, 1944, 3388, 1999, + + 1950, 1966, 1965, 0, 3388, 2008, 1961, 1962, 3388, 1963, + 1955, 1976, 1966, 1967, 1967, 1983, 1964, 1979, 1981, 1982, + 3388, 1983, 2038, 3388, 1980, 1970, 1999, 1985, 3388, 1987, + 1993, 2048, 2049, 2064, 2015, 3388, 2035, 2034, 2039, 2041, + 3388, 3388, 1994, 0, 1996, 2002, 3388, 0, 2015, 3388, + 2013, 3388, 2014, 1996, 2004, 3388, 2077, 3388, 2006, 2025, + 0, 2089, 2021, 2008, 2009, 2011, 2017, 2024, 2069, 2030, + 2050, 2023, 3388, 2037, 3388, 2030, 2078, 2028, 2036, 2097, + 2062, 2051, 2061, 3388, 3388, 2061, 2065, 2123, 3388, 0, + 2124, 3388, 0, 2099, 2081, 2097, 3388, 2083, 2085, 2064, + + 0, 2065, 0, 2075, 3388, 2075, 3388, 2115, 2082, 2137, + 2080, 2067, 2126, 2087, 3388, 2089, 2090, 3388, 2093, 3388, + 2082, 2131, 2093, 3388, 2094, 3388, 2103, 2161, 2091, 2090, + 2150, 3388, 2110, 3388, 2100, 2110, 2134, 2140, 2181, 2146, + 2151, 2109, 0, 0, 2114, 3388, 2176, 2106, 2185, 3388, + 2189, 3388, 2129, 3388, 3388, 3388, 2126, 2137, 2143, 2130, + 3388, 2144, 2180, 2203, 3388, 3388, 2134, 2148, 2153, 2184, + 2184, 2219, 2170, 3388, 0, 2145, 2205, 2205, 3388, 3388, + 2167, 3388, 2156, 2169, 2209, 2230, 2231, 3388, 2235, 2179, + 2176, 2168, 2207, 2197, 2198, 3388, 2230, 2258, 3388, 2184, + + 2193, 3388, 2185, 2258, 2195, 2190, 2191, 2235, 3388, 2232, + 2281, 3388, 3388, 2220, 2268, 3388, 2283, 2198, 3388, 3388, + 2243, 2257, 2300, 2227, 3388, 3388, 2271, 2258, 3388, 2264, + 3388, 2259, 3388, 3388, 2338, 2360, 2382, 2397, 2412, 2434, + 2456, 2471, 2486, 2504, 2519, 2541, 2563, 2585, 2600, 2615, + 2634, 2649, 2671, 2686, 2708, 2713, 2728, 2736, 2747, 2764, + 2779, 2793, 2810, 2832, 2854, 2876, 2898, 2909, 2924, 2946, + 2968, 2990 } ; -static yyconst flex_int16_t yy_def[1960] = +static yyconst flex_int16_t yy_def[1973] = { 0, - 1921, 1, 1921, 1921, 1921, 1921, 1921, 1922, 1923, 1921, - 1921, 1921, 1924, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1921, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1921, 1921, 1921, - 1921, 1922, 1921, 1922, 1923, 1921, 1921, 1921, 1926, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1924, 1921, - - 1924, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1921, - 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1921, 1921, 1926, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1927, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - - 1925, 1925, 1925, 1921, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1927, - 1927, 1928, 1927, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1921, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - - 1921, 1921, 1921, 1921, 1921, 1921, 1927, 1928, 1928, 1927, - 1927, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1921, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1927, 1928, 1927, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - - 1921, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1921, 1925, 1925, 1925, 1925, - 1925, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - - 1925, 1925, 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1927, 1928, 1927, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1925, - 1925, 1921, 1925, 1925, 1925, 1925, 1921, 1925, 1925, 1921, - 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1927, 1928, 1927, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1925, 1921, 1925, 1921, 1925, - - 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1929, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1928, 1927, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1921, 1921, - - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1921, 1925, - 1921, 1925, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1930, 1931, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1932, 1927, 1921, 1933, 1934, 1921, 1921, 1921, - 1921, 1935, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1936, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1925, 1921, 1921, 1921, 1921, - - 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1921, 1921, 1921, - 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1937, 1931, 1938, 1921, 1921, 1921, 1921, - 1921, 1921, 1939, 1927, 1921, 1921, 1921, 1921, 1921, 1933, - 1921, 1933, 1934, 1921, 1940, 1921, 1921, 1921, 1921, 1935, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1941, 1941, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1942, 1921, 1921, 1921, 1921, 1921, 1921, - - 1921, 1921, 1921, 1921, 1921, 1921, 1925, 1921, 1921, 1921, - 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1937, 1938, 1921, 1921, 1921, 1921, 1921, - 1921, 1939, 1921, 1921, 1921, 1921, 1921, 1921, 1934, 1934, - 1940, 1943, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1941, 1944, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1942, 1921, - 1942, 1945, 1946, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - - 1921, 1925, 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925, - 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1947, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1948, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1949, 1950, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, - - 1925, 1925, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1947, 1951, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1948, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1949, 1921, 1950, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1925, 1925, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1952, 1921, - - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1953, 1954, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1925, 1925, 1925, 1925, 1921, - 1955, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1952, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1953, 1921, - 1953, 1954, 1921, 1954, 1921, 1921, 1921, 1921, 1921, 1921, - 1925, 1925, 1925, 1956, 1921, 1921, 1921, 1921, 1921, 1921, - - 1957, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1925, 1925, 1956, 1921, 1921, 1921, 1921, 1957, 1921, 1957, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1958, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1925, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1958, 1921, 1958, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1959, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - - 1921, 1959, 1921, 1959, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 0, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921 + 1934, 1, 1934, 1934, 1934, 1934, 1934, 1935, 1936, 1934, + 1934, 1934, 1937, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1934, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1934, 1934, 1934, + 1934, 1935, 1934, 1935, 1936, 1934, 1934, 1934, 1939, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1937, 1934, + + 1937, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1934, + 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1934, 1934, 1939, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1940, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + + 1938, 1938, 1938, 1934, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1940, + 1940, 1941, 1940, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1934, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + + 1934, 1934, 1934, 1934, 1934, 1934, 1940, 1941, 1941, 1940, + 1940, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1934, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1934, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1940, 1941, 1940, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + + 1934, 1934, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1934, 1938, 1938, 1938, 1938, + 1938, 1934, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + + 1938, 1938, 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1940, 1941, 1940, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, 1938, + 1938, 1934, 1938, 1938, 1938, 1938, 1934, 1938, 1938, 1934, + 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1940, 1941, 1940, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1938, 1934, 1938, 1934, 1938, + + 1934, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1942, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1941, 1940, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, 1934, 1934, + + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1934, 1938, + 1934, 1938, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1943, 1944, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1945, 1940, 1934, 1946, 1947, 1934, 1934, 1934, + 1934, 1948, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1949, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1938, 1934, 1934, 1934, 1934, + + 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1934, 1934, 1934, + 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1950, 1944, 1951, 1934, 1934, 1934, 1934, + 1934, 1934, 1952, 1940, 1934, 1934, 1934, 1934, 1934, 1946, + 1934, 1946, 1947, 1934, 1953, 1934, 1934, 1934, 1934, 1948, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1954, 1954, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1955, 1934, 1934, 1934, 1934, 1934, 1934, + + 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1934, 1934, 1934, + 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1950, 1951, 1934, 1934, 1934, 1934, 1934, + 1934, 1952, 1934, 1934, 1934, 1934, 1934, 1934, 1947, 1947, + 1953, 1956, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1954, 1957, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1955, + 1934, 1955, 1958, 1959, 1934, 1934, 1934, 1934, 1934, 1934, + + 1934, 1934, 1938, 1934, 1934, 1934, 1934, 1934, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, + 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1960, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1961, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1962, 1963, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, + + 1938, 1938, 1938, 1938, 1938, 1938, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1960, 1964, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1961, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1962, 1934, 1963, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, + 1938, 1938, 1938, 1938, 1938, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + + 1934, 1934, 1934, 1965, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1966, 1967, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1938, 1938, 1938, 1938, 1934, 1968, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1965, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1966, 1934, 1966, + 1967, 1934, 1967, 1934, 1934, 1934, 1934, 1934, 1934, 1938, + + 1938, 1938, 1969, 1934, 1934, 1934, 1934, 1934, 1934, 1970, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1938, 1938, 1969, 1934, 1934, 1934, 1934, 1970, 1934, + 1970, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1971, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1938, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1971, 1934, 1971, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + + 1934, 1934, 1934, 1972, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1972, 1934, 1972, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 0, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934 } ; -static yyconst flex_uint16_t yy_nxt[3463] = +static yyconst flex_uint16_t yy_nxt[3476] = { 0, 4, 5, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, @@ -1220,223 +1225,224 @@ static yyconst flex_uint16_t yy_nxt[3463] = 1442, 1410, 1443, 1446, 1447, 1448, 1449, 1450, 1451, 1453, 1455, 1456, 1457, 1409, 1458, 1454, 1361, 1462, 1465, 1466, - 1467, 1364, 1398, 1468, 1402, 1921, 1363, 1469, 1470, 1410, + 1467, 1364, 1398, 1468, 1402, 1934, 1363, 1469, 1470, 1410, 1354, 431, 1367, 1367, 1367, 1367, 1367, 1367, 1471, 1472, - 1473, 1354, 1474, 1354, 1354, 1354, 1354, 1354, 1354, 1365, - 1360, 1476, 1360, 1460, 1463, 1463, 1463, 1463, 1463, 1463, - 1464, 1464, 1464, 1464, 1464, 1464, 1354, 1921, 1362, 1477, - 1478, 1479, 1480, 1482, 1483, 1481, 1484, 1485, 1354, 1476, - 1486, 1461, 1487, 1488, 1490, 1492, 1354, 1493, 1397, 1397, - 1397, 1354, 1495, 1496, 1354, 1921, 1497, 1354, 1498, 1499, - - 1508, 1500, 1501, 1354, 1502, 1503, 1354, 1504, 1509, 1505, - 1506, 1507, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, - 1495, 1496, 1518, 1519, 1497, 1520, 1498, 1499, 1494, 1500, - 1501, 1521, 1502, 1503, 1527, 1504, 1491, 1505, 1506, 1507, - 1522, 1522, 1522, 1522, 1522, 1522, 1523, 1525, 1526, 1529, - 1530, 1531, 1532, 1533, 1524, 1535, 1494, 1528, 1528, 1528, - 1528, 1528, 1528, 1534, 1534, 1534, 1534, 1534, 1534, 1536, - 1537, 1538, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1539, - 1547, 1364, 1364, 1550, 1363, 1463, 1463, 1463, 1463, 1463, - 1463, 1549, 1549, 1549, 1549, 1549, 1549, 1551, 1553, 1554, - - 1555, 1556, 1558, 1559, 1560, 1552, 1561, 1921, 1557, 1365, - 1365, 1460, 1563, 1563, 1563, 1563, 1563, 1563, 1564, 1565, - 1566, 1568, 1569, 1574, 1570, 1575, 1576, 1578, 1567, 1571, - 1579, 1580, 1577, 1490, 1583, 1921, 1584, 1585, 1572, 1461, - 1586, 1587, 1573, 1588, 1589, 1590, 1591, 1591, 1591, 1592, - 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, - 1603, 1605, 1583, 1606, 1584, 1585, 1608, 1609, 1586, 1587, - 1610, 1588, 1589, 1590, 1611, 1613, 1615, 1592, 1593, 1594, - 1595, 1616, 1612, 1617, 1618, 1491, 1604, 1604, 1604, 1604, - 1604, 1604, 1607, 1619, 1528, 1528, 1528, 1528, 1528, 1528, - - 1614, 1614, 1614, 1614, 1614, 1614, 1620, 1621, 1622, 1623, - 1624, 1625, 1627, 1549, 1549, 1549, 1549, 1549, 1549, 1628, - 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1629, 1637, 1638, - 1639, 1641, 1641, 1641, 1641, 1641, 1641, 1642, 1643, 1644, - 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, - 1655, 1656, 1657, 1659, 1661, 1662, 1663, 1664, 1665, 1666, - 1667, 1668, 1669, 1591, 1591, 1591, 1671, 1672, 1673, 1674, - 1675, 1676, 1677, 1678, 1679, 1680, 1604, 1604, 1604, 1604, - 1604, 1604, 1684, 1662, 1663, 1664, 1665, 1666, 1667, 1668, - 1669, 1681, 1687, 1688, 1671, 1672, 1673, 1674, 1685, 1682, - - 1683, 1683, 1683, 1683, 1683, 1683, 1686, 1689, 1690, 1691, - 1692, 1670, 1614, 1614, 1614, 1614, 1614, 1614, 1693, 1695, - 1695, 1695, 1695, 1695, 1695, 1696, 1694, 1697, 1698, 1627, - 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1670, - 1641, 1641, 1641, 1641, 1641, 1641, 1709, 1710, 1711, 1712, - 1713, 1714, 1715, 1716, 1716, 1716, 1716, 1716, 1716, 1717, - 1718, 1719, 1720, 1721, 1723, 1659, 1725, 1661, 1726, 1728, - 1729, 1722, 1727, 1727, 1727, 1730, 1731, 1732, 1724, 1733, - 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1683, 1683, - 1683, 1683, 1683, 1683, 1742, 1743, 1746, 1728, 1729, 1747, - - 1748, 1749, 1744, 1730, 1731, 1732, 1751, 1733, 1734, 1735, - 1745, 1695, 1695, 1695, 1695, 1695, 1695, 1750, 1752, 1753, - 1755, 1755, 1755, 1755, 1755, 1755, 1757, 1758, 1759, 1760, - 1761, 1762, 1763, 1764, 1765, 1767, 1768, 1769, 1772, 1773, - 1776, 1777, 1766, 1778, 1780, 1783, 1771, 1770, 1716, 1716, - 1716, 1716, 1716, 1716, 1774, 1786, 1727, 1727, 1727, 1787, - 1788, 1789, 1775, 1790, 1791, 1792, 1793, 1795, 1796, 1797, - 1799, 1800, 1801, 1802, 1756, 1803, 1805, 1798, 1807, 1808, - 1809, 1810, 1811, 1786, 1806, 1812, 1814, 1787, 1788, 1789, - 1815, 1790, 1816, 1813, 1817, 1818, 1781, 1784, 1785, 1804, - - 1804, 1804, 1804, 1804, 1804, 1819, 1820, 1820, 1820, 1820, - 1820, 1820, 1821, 1822, 1823, 1824, 1825, 1780, 1783, 1826, - 1827, 1828, 1829, 1830, 1831, 1832, 1785, 1834, 1835, 1836, - 1837, 1839, 1841, 1842, 1804, 1804, 1804, 1804, 1804, 1804, - 1843, 1844, 1845, 1848, 1846, 1849, 1850, 1826, 1827, 1828, - 1829, 1830, 1847, 1851, 1852, 1853, 1854, 1820, 1820, 1820, - 1820, 1820, 1820, 1855, 1856, 1857, 1858, 1859, 1861, 1781, - 1784, 1860, 1860, 1860, 1862, 1863, 1864, 1865, 1865, 1865, - 1865, 1865, 1865, 1840, 1866, 1839, 1921, 1867, 1870, 1868, - 1871, 1872, 1873, 1875, 1858, 1859, 1861, 1869, 1877, 1878, - - 1879, 1880, 1862, 1881, 1882, 1860, 1860, 1860, 1883, 1885, - 1886, 1838, 1887, 1838, 1884, 1884, 1884, 1884, 1884, 1884, - 1888, 1890, 1891, 1875, 1921, 1892, 1893, 1894, 1889, 1880, - 1895, 1881, 1882, 1896, 1897, 1899, 1900, 1840, 1901, 1905, - 1090, 1906, 1907, 1903, 1091, 1876, 1092, 1911, 1908, 1874, - 1094, 1874, 1909, 1903, 1095, 1912, 1913, 1916, 1895, 1020, - 1019, 1896, 1897, 1018, 1017, 1016, 1015, 1014, 1090, 1013, - 1012, 1011, 1091, 1010, 1092, 1876, 1908, 1921, 1094, 1914, - 1909, 1915, 1095, 1884, 1884, 1884, 1884, 1884, 1884, 1898, - 1898, 1898, 1898, 1898, 1898, 1904, 1910, 1910, 1910, 1910, - - 1910, 1910, 1902, 1917, 1902, 1904, 1918, 1914, 1919, 1915, - 1910, 1910, 1910, 1910, 1910, 1910, 1920, 1009, 1008, 1007, - 1006, 1005, 1004, 1003, 1002, 1001, 1000, 999, 998, 997, - 996, 1917, 995, 994, 1918, 993, 1919, 992, 991, 990, - 989, 988, 987, 986, 1920, 72, 72, 72, 72, 72, + 1474, 1354, 1475, 1354, 1354, 1354, 1354, 1354, 1354, 1365, + 1360, 1473, 1360, 1460, 1463, 1463, 1463, 1463, 1463, 1463, + 1464, 1464, 1464, 1464, 1464, 1464, 1354, 1477, 1362, 1478, + 1934, 1479, 1480, 1481, 1483, 1484, 1482, 1485, 1354, 1486, + 1487, 1461, 1488, 1489, 1491, 1493, 1354, 1494, 1397, 1397, + 1397, 1354, 1496, 1497, 1354, 1477, 1498, 1354, 1934, 1499, + + 1509, 1500, 1501, 1354, 1502, 1503, 1354, 1504, 1510, 1505, + 1506, 1507, 1508, 1511, 1512, 1513, 1514, 1515, 1516, 1517, + 1496, 1497, 1518, 1519, 1498, 1520, 1521, 1499, 1495, 1500, + 1501, 1522, 1502, 1503, 1528, 1504, 1492, 1505, 1506, 1507, + 1508, 1523, 1523, 1523, 1523, 1523, 1523, 1524, 1526, 1527, + 1530, 1531, 1532, 1533, 1534, 1525, 1495, 1529, 1529, 1529, + 1529, 1529, 1529, 1535, 1535, 1535, 1535, 1535, 1535, 1536, + 1537, 1538, 1539, 1541, 1542, 1543, 1544, 1545, 1546, 1547, + 1540, 1548, 1364, 1364, 1551, 1363, 1463, 1463, 1463, 1463, + 1463, 1463, 1550, 1550, 1550, 1550, 1550, 1550, 1552, 1554, + + 1555, 1556, 1557, 1559, 1561, 1562, 1553, 1563, 1564, 1558, + 1365, 1365, 1460, 1934, 1567, 1568, 1571, 1572, 1569, 1560, + 1566, 1566, 1566, 1566, 1566, 1566, 1570, 1577, 1573, 1578, + 1579, 1581, 1582, 1574, 1583, 1491, 1580, 1586, 1587, 1588, + 1461, 1934, 1575, 1589, 1590, 1591, 1576, 1592, 1593, 1594, + 1594, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, + 1603, 1604, 1605, 1606, 1608, 1586, 1587, 1588, 1609, 1611, + 1612, 1589, 1590, 1591, 1613, 1592, 1593, 1614, 1616, 1618, + 1595, 1596, 1597, 1598, 1619, 1615, 1620, 1492, 1607, 1607, + 1607, 1607, 1607, 1607, 1610, 1621, 1529, 1529, 1529, 1529, + + 1529, 1529, 1617, 1617, 1617, 1617, 1617, 1617, 1622, 1623, + 1624, 1625, 1626, 1627, 1628, 1630, 1550, 1550, 1550, 1550, + 1550, 1550, 1631, 1633, 1634, 1635, 1636, 1637, 1638, 1639, + 1632, 1640, 1641, 1642, 1643, 1644, 1646, 1646, 1646, 1646, + 1646, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, + 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1664, 1666, + 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1594, 1594, + 1594, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, + 1685, 1607, 1607, 1607, 1607, 1607, 1607, 1689, 1667, 1668, + 1669, 1670, 1671, 1672, 1673, 1674, 1686, 1692, 1693, 1676, + + 1677, 1678, 1679, 1690, 1687, 1688, 1688, 1688, 1688, 1688, + 1688, 1691, 1694, 1695, 1696, 1697, 1675, 1617, 1617, 1617, + 1617, 1617, 1617, 1698, 1700, 1700, 1700, 1700, 1700, 1700, + 1701, 1699, 1702, 1703, 1630, 1705, 1706, 1707, 1708, 1709, + 1710, 1711, 1712, 1713, 1675, 1714, 1646, 1646, 1646, 1646, + 1646, 1646, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, + 1723, 1723, 1723, 1723, 1723, 1723, 1724, 1725, 1726, 1727, + 1728, 1730, 1664, 1732, 1666, 1733, 1735, 1736, 1729, 1734, + 1734, 1734, 1737, 1738, 1739, 1731, 1740, 1741, 1742, 1743, + 1744, 1745, 1746, 1747, 1748, 1688, 1688, 1688, 1688, 1688, + + 1688, 1749, 1750, 1753, 1735, 1736, 1754, 1755, 1756, 1751, + 1737, 1738, 1739, 1758, 1740, 1741, 1742, 1752, 1700, 1700, + 1700, 1700, 1700, 1700, 1757, 1759, 1760, 1762, 1762, 1762, + 1762, 1762, 1762, 1764, 1765, 1766, 1767, 1768, 1769, 1770, + 1771, 1772, 1773, 1774, 1776, 1777, 1778, 1781, 1782, 1785, + 1786, 1775, 1787, 1789, 1792, 1780, 1779, 1723, 1723, 1723, + 1723, 1723, 1723, 1783, 1795, 1734, 1734, 1734, 1796, 1797, + 1798, 1784, 1799, 1800, 1801, 1802, 1804, 1805, 1806, 1808, + 1809, 1763, 1810, 1811, 1812, 1814, 1807, 1816, 1817, 1818, + 1819, 1820, 1795, 1815, 1821, 1822, 1796, 1797, 1798, 1825, + + 1799, 1826, 1827, 1828, 1829, 1790, 1793, 1794, 1813, 1813, + 1813, 1813, 1813, 1813, 1823, 1830, 1831, 1831, 1831, 1831, + 1831, 1831, 1824, 1832, 1833, 1834, 1835, 1836, 1789, 1792, + 1837, 1838, 1839, 1840, 1841, 1794, 1842, 1843, 1845, 1846, + 1847, 1848, 1850, 1852, 1853, 1813, 1813, 1813, 1813, 1813, + 1813, 1854, 1855, 1856, 1857, 1858, 1860, 1861, 1837, 1838, + 1839, 1840, 1841, 1859, 1862, 1863, 1864, 1865, 1866, 1831, + 1831, 1831, 1831, 1831, 1831, 1867, 1868, 1869, 1870, 1871, + 1790, 1793, 1872, 1872, 1872, 1873, 1874, 1875, 1876, 1878, + 1850, 1934, 1879, 1880, 1851, 1877, 1877, 1877, 1877, 1877, + + 1877, 1881, 1883, 1884, 1885, 1886, 1870, 1871, 1888, 1882, + 1890, 1891, 1892, 1873, 1874, 1893, 1849, 1894, 1849, 1895, + 1872, 1872, 1872, 1896, 1897, 1897, 1897, 1897, 1897, 1897, + 1898, 1899, 1900, 1901, 1903, 1904, 1888, 1934, 1905, 1906, + 1907, 1902, 1851, 1893, 1908, 1894, 1909, 1895, 1910, 1897, + 1897, 1897, 1897, 1897, 1897, 1090, 1912, 1913, 1914, 1091, + 1889, 1092, 1887, 1916, 1887, 1094, 1918, 1919, 1920, 1095, + 1921, 1922, 1908, 1916, 1909, 1926, 1910, 1911, 1911, 1911, + 1911, 1911, 1911, 1090, 1924, 1934, 1927, 1091, 1889, 1092, + 1928, 1929, 1925, 1094, 1020, 1019, 1018, 1095, 1921, 1922, + + 1923, 1923, 1923, 1923, 1923, 1923, 1930, 1931, 1932, 1933, + 1915, 1017, 1915, 1016, 1927, 1917, 1015, 1014, 1928, 1923, + 1923, 1923, 1923, 1923, 1923, 1917, 1013, 1012, 1011, 1010, + 1009, 1008, 1007, 1006, 1930, 1931, 1932, 1933, 72, 72, + 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 75, 75, 982, + 75, 75, 1005, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 99, + 75, 75, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 123, 981, 980, 979, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 228, 978, 977, 976, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 430, 430, 975, 430, 430, 430, 430, 430, 430, + 99, 99, 99, 99, 123, 1004, 1003, 1002, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 228, + 1001, 1000, 999, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 430, 430, 998, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, - 430, 430, 430, 608, 608, 974, 608, 608, 608, 608, + 430, 430, 430, 430, 430, 430, 608, 608, 997, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 1255, 957, 956, 955, 1255, - 1255, 1255, 1255, 1255, 954, 1255, 1255, 1255, 1255, 1255, - - 1344, 951, 950, 949, 1344, 1344, 1344, 1344, 1344, 948, - 1344, 1344, 1344, 1344, 1344, 1345, 947, 946, 1345, 945, - 944, 943, 1345, 1345, 1345, 1345, 1345, 940, 1345, 1345, - 1345, 1345, 1345, 1353, 939, 938, 937, 1353, 1353, 1353, - 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1360, 1360, - 1360, 1360, 1360, 1360, 1360, 1360, 1360, 936, 1360, 1360, - 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, + 608, 608, 608, 608, 608, 608, 608, 608, 1255, 996, + 995, 994, 1255, 1255, 1255, 1255, 1255, 993, 1255, 1255, + 1255, 1255, 1255, 1344, 992, 991, 990, 1344, 1344, 1344, + + 1344, 1344, 989, 1344, 1344, 1344, 1344, 1344, 1345, 988, + 987, 1345, 986, 982, 981, 1345, 1345, 1345, 1345, 1345, + 980, 1345, 1345, 1345, 1345, 1345, 1353, 979, 978, 977, + 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, + 1353, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, + 976, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, + 1360, 1360, 1360, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, - 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, - 1363, 1363, 1370, 935, 933, 1370, 1370, 1370, 1370, 1370, - + 1363, 1363, 1363, 1363, 1363, 1370, 975, 974, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, - 1370, 1370, 1370, 1370, 1382, 932, 931, 930, 1382, 1382, - 929, 928, 927, 923, 1382, 1382, 1444, 922, 921, 1444, - 918, 917, 916, 1444, 1444, 1444, 1444, 1444, 915, 1444, - 1444, 1444, 1444, 1444, 1445, 914, 913, 1445, 1445, 912, - 911, 910, 1445, 909, 1445, 906, 905, 904, 1445, 903, - 1445, 1452, 1452, 1452, 902, 901, 900, 1452, 1452, 1452, - 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, + + 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1382, 957, 956, + 955, 1382, 1382, 954, 951, 950, 949, 1382, 1382, 1444, + 948, 947, 1444, 946, 945, 944, 1444, 1444, 1444, 1444, + 1444, 943, 1444, 1444, 1444, 1444, 1444, 1445, 940, 939, + 1445, 1445, 938, 937, 936, 1445, 935, 1445, 933, 932, + 931, 1445, 930, 1445, 1452, 1452, 1452, 929, 928, 927, + 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, + 1452, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, + 1459, 1459, 1459, 1476, 923, 922, 921, 1476, 1476, 918, + + 917, 1476, 916, 1476, 1476, 915, 914, 1476, 1490, 1490, + 913, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, + 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, + 1549, 1549, 1549, 1549, 1549, 1565, 912, 911, 910, 1565, + 1565, 909, 906, 905, 904, 1565, 1565, 1584, 1584, 1584, + 1584, 1584, 903, 1584, 1584, 1584, 1584, 1584, 1585, 1585, + 1585, 1585, 1585, 902, 1585, 1585, 1585, 1585, 1585, 1629, + 901, 900, 899, 898, 1629, 897, 896, 895, 894, 893, + 892, 1629, 1629, 1629, 1629, 1629, 1645, 891, 890, 889, + 1645, 1645, 888, 887, 886, 885, 1645, 1645, 1663, 884, + + 1663, 1663, 883, 882, 1663, 1663, 1663, 1663, 1663, 1663, + 1663, 1663, 1663, 1663, 1663, 1665, 879, 1665, 1665, 876, + 875, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, + 1665, 1665, 1704, 874, 873, 1704, 1704, 1704, 1704, 1704, + 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, + 1704, 1704, 1704, 1704, 1761, 872, 868, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, + 1761, 1761, 1761, 1761, 1761, 1761, 1788, 1788, 867, 1788, + 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, + 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1791, 1791, + + 866, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, + 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, + 1803, 1803, 1803, 1803, 1803, 865, 1803, 1803, 1803, 1803, + 1803, 1844, 864, 863, 862, 1844, 1844, 1844, 1844, 1844, + 1844, 1844, 1844, 1844, 1844, 1844, 1849, 1849, 1849, 1849, + 1849, 1849, 1849, 1849, 1849, 859, 1849, 1849, 1849, 1849, + 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1887, 1887, + 1887, 1887, 1887, 1887, 1887, 1887, 1887, 858, 1887, 1887, + 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, + 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 857, + + 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, + 1915, 1915, 856, 855, 854, 853, 852, 851, 850, 849, + 848, 847, 846, 845, 844, 843, 842, 841, 840, 839, + 838, 837, 836, 835, 834, 833, 832, 831, 830, 829, + 828, 827, 801, 798, 797, 796, 795, 794, 793, 792, + 791, 790, 789, 788, 787, 786, 785, 784, 783, 782, + 781, 780, 779, 778, 777, 776, 431, 772, 771, 770, + 769, 768, 767, 766, 765, 764, 759, 758, 757, 756, + 755, 754, 753, 752, 751, 750, 749, 747, 746, 745, + 744, 743, 740, 739, 738, 737, 736, 735, 734, 733, + + 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, + 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, + 712, 711, 710, 709, 708, 707, 706, 705, 704, 703, + 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, + 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, + 682, 681, 680, 679, 678, 677, 676, 674, 673, 672, + 671, 670, 669, 668, 667, 638, 637, 636, 633, 632, + 631, 630, 629, 628, 627, 626, 625, 622, 621, 620, + 619, 618, 614, 613, 612, 431, 606, 605, 604, 603, + 602, 601, 600, 599, 598, 597, 596, 595, 594, 593, + + 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, + 581, 580, 579, 578, 577, 576, 575, 572, 571, 570, + 569, 568, 567, 566, 565, 564, 563, 562, 561, 560, + 559, 558, 557, 556, 555, 552, 551, 548, 547, 546, + 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, + 535, 534, 533, 532, 531, 529, 528, 527, 524, 523, + 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, + 512, 511, 510, 507, 503, 502, 501, 499, 498, 497, + 496, 495, 494, 493, 492, 491, 490, 489, 488, 456, + 455, 454, 453, 452, 451, 446, 445, 444, 443, 442, + + 441, 440, 437, 436, 435, 434, 429, 428, 427, 426, + 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, + 415, 414, 413, 412, 408, 407, 401, 400, 392, 391, + 386, 374, 370, 369, 366, 360, 359, 358, 352, 349, + 348, 347, 346, 345, 344, 343, 342, 340, 339, 335, + 334, 333, 330, 328, 324, 323, 318, 317, 315, 314, + 313, 311, 310, 305, 304, 274, 273, 272, 271, 1934, + 265, 256, 255, 248, 244, 243, 231, 226, 204, 186, + 119, 114, 107, 102, 98, 71, 1934, 3, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1475, 899, 898, 897, 1475, 1475, 896, 895, 1475, 894, - 1475, 1475, 893, 892, 1475, 1489, 1489, 891, 1489, 1489, - 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, - 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1548, 1548, 1548, - 1548, 1548, 1562, 890, 889, 888, 1562, 1562, 887, 886, - 885, 884, 1562, 1562, 1581, 1581, 1581, 1581, 1581, 883, - 1581, 1581, 1581, 1581, 1581, 1582, 1582, 1582, 1582, 1582, - 882, 1582, 1582, 1582, 1582, 1582, 1626, 879, 876, 875, - 874, 1626, 873, 872, 868, 867, 866, 865, 1626, 1626, - 1626, 1626, 1626, 1640, 864, 863, 862, 1640, 1640, 859, - - 858, 857, 856, 1640, 1640, 1658, 855, 1658, 1658, 854, - 853, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1658, - 1658, 1658, 1660, 852, 1660, 1660, 851, 850, 1660, 1660, - 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1699, - 849, 848, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, - 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, - 1699, 1754, 847, 846, 1754, 1754, 1754, 1754, 1754, 1754, - 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, - 1754, 1754, 1754, 1779, 1779, 845, 1779, 1779, 1779, 1779, - 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, - - 1779, 1779, 1779, 1779, 1779, 1782, 1782, 844, 1782, 1782, - 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782, - 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1794, 1794, 1794, - 1794, 1794, 843, 1794, 1794, 1794, 1794, 1794, 1833, 842, - 841, 840, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, - 1833, 1833, 1833, 1838, 1838, 1838, 1838, 1838, 1838, 1838, - 1838, 1838, 839, 1838, 1838, 1838, 1838, 1838, 1838, 1838, - 1838, 1838, 1838, 1838, 1838, 1874, 1874, 1874, 1874, 1874, - 1874, 1874, 1874, 1874, 838, 1874, 1874, 1874, 1874, 1874, - 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1902, 1902, 1902, - - 1902, 1902, 1902, 1902, 1902, 1902, 837, 1902, 1902, 1902, - 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 836, - 835, 834, 833, 832, 831, 830, 829, 828, 827, 801, - 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, - 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, - 778, 777, 776, 431, 772, 771, 770, 769, 768, 767, - 766, 765, 764, 759, 758, 757, 756, 755, 754, 753, - 752, 751, 750, 749, 747, 746, 745, 744, 743, 740, - 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, - 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, - - 719, 718, 717, 716, 715, 714, 713, 712, 711, 710, - 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, - 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, - 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, - 679, 678, 677, 676, 674, 673, 672, 671, 670, 669, - 668, 667, 638, 637, 636, 633, 632, 631, 630, 629, - 628, 627, 626, 625, 622, 621, 620, 619, 618, 614, - 613, 612, 431, 606, 605, 604, 603, 602, 601, 600, - 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, - 589, 588, 587, 586, 585, 584, 583, 581, 580, 579, - - 578, 577, 576, 575, 572, 571, 570, 569, 568, 567, - 566, 565, 564, 563, 562, 561, 560, 559, 558, 557, - 556, 555, 552, 551, 548, 547, 546, 545, 544, 543, - 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, - 532, 531, 529, 528, 527, 524, 523, 522, 521, 520, - 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, - 507, 503, 502, 501, 499, 498, 497, 496, 495, 494, - 493, 492, 491, 490, 489, 488, 456, 455, 454, 453, - 452, 451, 446, 445, 444, 443, 442, 441, 440, 437, - 436, 435, 434, 429, 428, 427, 426, 425, 424, 423, - - 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, - 412, 408, 407, 401, 400, 392, 391, 386, 374, 370, - 369, 366, 360, 359, 358, 352, 349, 348, 347, 346, - 345, 344, 343, 342, 340, 339, 335, 334, 333, 330, - 328, 324, 323, 318, 317, 315, 314, 313, 311, 310, - 305, 304, 274, 273, 272, 271, 1921, 265, 256, 255, - 248, 244, 243, 231, 226, 204, 186, 119, 114, 107, - 102, 98, 71, 1921, 3, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921 + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934 } ; -static yyconst flex_int16_t yy_chk[3463] = +static yyconst flex_int16_t yy_chk[3476] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1608,217 +1614,218 @@ static yyconst flex_int16_t yy_chk[3463] = 1373, 1363, 1297, 1374, 1302, 1362, 1365, 1375, 1376, 1309, 1354, 1354, 1367, 1367, 1367, 1367, 1367, 1367, 1377, 1378, 1379, 1354, 1380, 1354, 1354, 1354, 1354, 1354, 1354, 1363, - 1362, 1381, 1362, 1365, 1368, 1368, 1368, 1368, 1368, 1368, - 1369, 1369, 1369, 1369, 1369, 1369, 1354, 1382, 1360, 1383, - 1384, 1385, 1386, 1387, 1388, 1386, 1389, 1390, 1354, 1381, + 1362, 1378, 1362, 1365, 1368, 1368, 1368, 1368, 1368, 1368, + 1369, 1369, 1369, 1369, 1369, 1369, 1354, 1381, 1360, 1383, + 1382, 1384, 1385, 1386, 1387, 1388, 1386, 1389, 1354, 1390, 1391, 1365, 1392, 1393, 1394, 1395, 1354, 1396, 1397, 1397, - 1397, 1354, 1398, 1399, 1354, 1382, 1401, 1354, 1402, 1403, - - 1413, 1404, 1405, 1354, 1407, 1408, 1354, 1409, 1414, 1410, - 1411, 1412, 1415, 1417, 1421, 1422, 1423, 1424, 1425, 1426, - 1398, 1399, 1427, 1429, 1401, 1431, 1402, 1403, 1397, 1404, - 1405, 1432, 1407, 1408, 1436, 1409, 1394, 1410, 1411, 1412, - 1433, 1433, 1433, 1433, 1433, 1433, 1434, 1435, 1435, 1438, - 1439, 1440, 1441, 1442, 1434, 1446, 1397, 1437, 1437, 1437, - 1437, 1437, 1437, 1443, 1443, 1443, 1443, 1443, 1443, 1447, - 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1457, 1449, - 1458, 1459, 1460, 1465, 1461, 1463, 1463, 1463, 1463, 1463, - 1463, 1464, 1464, 1464, 1464, 1464, 1464, 1466, 1467, 1468, - - 1469, 1470, 1471, 1472, 1473, 1466, 1474, 1475, 1470, 1459, - 1460, 1461, 1477, 1477, 1477, 1477, 1477, 1477, 1478, 1479, - 1480, 1481, 1482, 1484, 1483, 1485, 1485, 1486, 1480, 1483, - 1487, 1488, 1485, 1489, 1494, 1475, 1495, 1496, 1483, 1461, - 1497, 1498, 1483, 1499, 1500, 1501, 1502, 1502, 1502, 1504, - 1505, 1506, 1507, 1508, 1509, 1510, 1513, 1516, 1517, 1519, - 1520, 1523, 1494, 1527, 1495, 1496, 1529, 1530, 1497, 1498, - 1531, 1499, 1500, 1501, 1532, 1533, 1535, 1504, 1505, 1506, - 1507, 1536, 1532, 1537, 1538, 1489, 1522, 1522, 1522, 1522, - 1522, 1522, 1528, 1540, 1528, 1528, 1528, 1528, 1528, 1528, - - 1534, 1534, 1534, 1534, 1534, 1534, 1541, 1542, 1543, 1544, - 1545, 1546, 1548, 1549, 1549, 1549, 1549, 1549, 1549, 1550, - 1551, 1553, 1554, 1555, 1556, 1557, 1558, 1550, 1559, 1560, - 1561, 1563, 1563, 1563, 1563, 1563, 1563, 1564, 1565, 1566, - 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, - 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, - 1588, 1589, 1590, 1591, 1591, 1591, 1592, 1593, 1594, 1595, - 1596, 1597, 1598, 1600, 1601, 1603, 1604, 1604, 1604, 1604, - 1604, 1604, 1608, 1583, 1584, 1585, 1586, 1587, 1588, 1589, - 1590, 1606, 1610, 1611, 1592, 1593, 1594, 1595, 1609, 1606, - - 1607, 1607, 1607, 1607, 1607, 1607, 1609, 1613, 1615, 1616, - 1617, 1591, 1614, 1614, 1614, 1614, 1614, 1614, 1619, 1620, - 1620, 1620, 1620, 1620, 1620, 1623, 1619, 1624, 1625, 1626, - 1628, 1631, 1632, 1634, 1635, 1636, 1638, 1639, 1642, 1591, - 1641, 1641, 1641, 1641, 1641, 1641, 1643, 1645, 1646, 1647, - 1648, 1649, 1650, 1651, 1651, 1651, 1651, 1651, 1651, 1652, - 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1663, - 1664, 1656, 1662, 1662, 1662, 1666, 1668, 1670, 1657, 1671, - 1672, 1674, 1675, 1676, 1678, 1679, 1681, 1682, 1683, 1683, - 1683, 1683, 1683, 1683, 1684, 1685, 1689, 1663, 1664, 1690, - - 1691, 1693, 1687, 1666, 1668, 1670, 1696, 1671, 1672, 1674, - 1687, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1697, 1698, - 1701, 1701, 1701, 1701, 1701, 1701, 1702, 1703, 1705, 1706, - 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1715, 1718, 1719, - 1721, 1723, 1711, 1724, 1725, 1726, 1716, 1715, 1716, 1716, - 1716, 1716, 1716, 1716, 1720, 1728, 1727, 1727, 1727, 1730, - 1731, 1732, 1720, 1733, 1736, 1738, 1739, 1742, 1744, 1746, - 1747, 1748, 1750, 1752, 1701, 1753, 1756, 1746, 1757, 1758, - 1759, 1760, 1761, 1728, 1756, 1762, 1763, 1730, 1731, 1732, - 1765, 1733, 1767, 1762, 1768, 1769, 1725, 1726, 1727, 1755, - - 1755, 1755, 1755, 1755, 1755, 1770, 1771, 1771, 1771, 1771, - 1771, 1771, 1772, 1773, 1774, 1777, 1778, 1779, 1782, 1785, - 1786, 1787, 1789, 1790, 1791, 1793, 1727, 1795, 1797, 1799, - 1800, 1801, 1802, 1803, 1804, 1804, 1804, 1804, 1804, 1804, - 1805, 1807, 1808, 1811, 1810, 1812, 1814, 1785, 1786, 1787, - 1789, 1790, 1810, 1816, 1817, 1818, 1819, 1820, 1820, 1820, - 1820, 1820, 1820, 1822, 1824, 1825, 1826, 1827, 1829, 1779, - 1782, 1828, 1828, 1828, 1830, 1831, 1834, 1836, 1836, 1836, - 1836, 1836, 1836, 1801, 1837, 1838, 1840, 1842, 1847, 1846, - 1848, 1850, 1851, 1852, 1826, 1827, 1829, 1846, 1855, 1856, - - 1857, 1858, 1830, 1859, 1861, 1860, 1860, 1860, 1864, 1866, - 1868, 1840, 1870, 1840, 1865, 1865, 1865, 1865, 1865, 1865, - 1871, 1872, 1873, 1874, 1876, 1877, 1878, 1879, 1871, 1858, - 1880, 1859, 1861, 1881, 1882, 1887, 1888, 1838, 1890, 1892, - 1860, 1893, 1894, 1891, 1860, 1852, 1860, 1901, 1895, 1876, - 1860, 1876, 1897, 1902, 1860, 1901, 1905, 1911, 1880, 889, - 888, 1881, 1882, 887, 886, 884, 883, 882, 1860, 881, - 880, 879, 1860, 878, 1860, 1874, 1895, 1904, 1860, 1908, - 1897, 1909, 1860, 1884, 1884, 1884, 1884, 1884, 1884, 1885, - 1885, 1885, 1885, 1885, 1885, 1891, 1898, 1898, 1898, 1898, - - 1898, 1898, 1904, 1914, 1904, 1902, 1915, 1908, 1917, 1909, - 1910, 1910, 1910, 1910, 1910, 1910, 1919, 877, 875, 873, - 872, 871, 870, 868, 867, 866, 865, 864, 863, 862, - 861, 1914, 860, 858, 1915, 857, 1917, 855, 853, 852, - 850, 847, 846, 844, 1919, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1922, - 1922, 1922, 1922, 1922, 1922, 1922, 1922, 1923, 1923, 842, - 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, - 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1924, - 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, - - 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, 1924, - 1924, 1925, 837, 836, 834, 1925, 1925, 1925, 1925, 1925, - 1925, 1925, 1925, 1925, 1925, 1925, 1926, 833, 832, 830, - 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, - 1926, 1927, 1927, 829, 1927, 1927, 1927, 1927, 1927, 1927, - 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, - 1927, 1927, 1927, 1928, 1928, 828, 1928, 1928, 1928, 1928, - 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, 1928, - 1928, 1928, 1928, 1928, 1928, 1929, 804, 803, 802, 1929, - 1929, 1929, 1929, 1929, 801, 1929, 1929, 1929, 1929, 1929, - - 1930, 799, 798, 797, 1930, 1930, 1930, 1930, 1930, 796, - 1930, 1930, 1930, 1930, 1930, 1931, 795, 794, 1931, 793, - 792, 791, 1931, 1931, 1931, 1931, 1931, 789, 1931, 1931, - 1931, 1931, 1931, 1932, 788, 787, 786, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1933, 1933, - 1933, 1933, 1933, 1933, 1933, 1933, 1933, 785, 1933, 1933, - 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1935, 784, 782, 1935, 1935, 1935, 1935, 1935, - + 1397, 1354, 1398, 1399, 1354, 1381, 1401, 1354, 1382, 1402, + + 1413, 1403, 1404, 1354, 1405, 1407, 1354, 1408, 1414, 1409, + 1410, 1411, 1412, 1415, 1417, 1421, 1422, 1423, 1424, 1425, + 1398, 1399, 1426, 1427, 1401, 1429, 1431, 1402, 1397, 1403, + 1404, 1432, 1405, 1407, 1436, 1408, 1394, 1409, 1410, 1411, + 1412, 1433, 1433, 1433, 1433, 1433, 1433, 1434, 1435, 1435, + 1438, 1439, 1440, 1441, 1442, 1434, 1397, 1437, 1437, 1437, + 1437, 1437, 1437, 1443, 1443, 1443, 1443, 1443, 1443, 1446, + 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1457, + 1449, 1458, 1459, 1460, 1465, 1461, 1463, 1463, 1463, 1463, + 1463, 1463, 1464, 1464, 1464, 1464, 1464, 1464, 1466, 1467, + + 1468, 1469, 1470, 1471, 1472, 1473, 1466, 1474, 1475, 1470, + 1459, 1460, 1461, 1476, 1479, 1480, 1482, 1483, 1481, 1471, + 1478, 1478, 1478, 1478, 1478, 1478, 1481, 1485, 1484, 1486, + 1486, 1487, 1488, 1484, 1489, 1490, 1486, 1495, 1496, 1497, + 1461, 1476, 1484, 1498, 1499, 1500, 1484, 1501, 1502, 1503, + 1503, 1503, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1514, + 1517, 1518, 1520, 1521, 1524, 1495, 1496, 1497, 1528, 1530, + 1531, 1498, 1499, 1500, 1532, 1501, 1502, 1533, 1534, 1536, + 1505, 1506, 1507, 1508, 1537, 1533, 1538, 1490, 1523, 1523, + 1523, 1523, 1523, 1523, 1529, 1539, 1529, 1529, 1529, 1529, + + 1529, 1529, 1535, 1535, 1535, 1535, 1535, 1535, 1541, 1542, + 1543, 1544, 1545, 1546, 1547, 1549, 1550, 1550, 1550, 1550, + 1550, 1550, 1551, 1552, 1554, 1555, 1556, 1557, 1558, 1559, + 1551, 1560, 1561, 1562, 1563, 1564, 1566, 1566, 1566, 1566, + 1566, 1566, 1567, 1568, 1569, 1571, 1572, 1573, 1574, 1575, + 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, + 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1594, + 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1603, 1604, + 1606, 1607, 1607, 1607, 1607, 1607, 1607, 1611, 1586, 1587, + 1588, 1589, 1590, 1591, 1592, 1593, 1609, 1613, 1614, 1595, + + 1596, 1597, 1598, 1612, 1609, 1610, 1610, 1610, 1610, 1610, + 1610, 1612, 1616, 1618, 1619, 1620, 1594, 1617, 1617, 1617, + 1617, 1617, 1617, 1622, 1623, 1623, 1623, 1623, 1623, 1623, + 1626, 1622, 1627, 1628, 1629, 1631, 1634, 1635, 1637, 1638, + 1639, 1640, 1641, 1643, 1594, 1644, 1646, 1646, 1646, 1646, + 1646, 1646, 1647, 1648, 1650, 1651, 1652, 1653, 1654, 1655, + 1656, 1656, 1656, 1656, 1656, 1656, 1657, 1658, 1659, 1660, + 1661, 1662, 1663, 1664, 1665, 1666, 1668, 1669, 1661, 1667, + 1667, 1667, 1671, 1673, 1675, 1662, 1676, 1677, 1679, 1680, + 1681, 1683, 1684, 1686, 1687, 1688, 1688, 1688, 1688, 1688, + + 1688, 1689, 1690, 1694, 1668, 1669, 1695, 1696, 1698, 1692, + 1671, 1673, 1675, 1701, 1676, 1677, 1679, 1692, 1700, 1700, + 1700, 1700, 1700, 1700, 1700, 1702, 1703, 1706, 1706, 1706, + 1706, 1706, 1706, 1707, 1708, 1710, 1711, 1712, 1713, 1714, + 1715, 1716, 1717, 1718, 1719, 1720, 1722, 1725, 1726, 1728, + 1730, 1718, 1731, 1732, 1733, 1723, 1722, 1723, 1723, 1723, + 1723, 1723, 1723, 1727, 1735, 1734, 1734, 1734, 1737, 1738, + 1739, 1727, 1740, 1743, 1745, 1746, 1749, 1751, 1753, 1754, + 1755, 1706, 1757, 1759, 1760, 1763, 1753, 1764, 1765, 1766, + 1767, 1768, 1735, 1763, 1769, 1770, 1737, 1738, 1739, 1772, + + 1740, 1774, 1776, 1777, 1778, 1732, 1733, 1734, 1762, 1762, + 1762, 1762, 1762, 1762, 1771, 1779, 1780, 1780, 1780, 1780, + 1780, 1780, 1771, 1781, 1782, 1783, 1786, 1787, 1788, 1791, + 1794, 1795, 1796, 1798, 1799, 1734, 1800, 1802, 1804, 1806, + 1808, 1809, 1810, 1811, 1812, 1813, 1813, 1813, 1813, 1813, + 1813, 1814, 1816, 1817, 1819, 1821, 1822, 1823, 1794, 1795, + 1796, 1798, 1799, 1821, 1825, 1827, 1828, 1829, 1830, 1831, + 1831, 1831, 1831, 1831, 1831, 1833, 1835, 1836, 1837, 1838, + 1788, 1791, 1839, 1839, 1839, 1840, 1841, 1842, 1845, 1848, + 1849, 1851, 1853, 1857, 1810, 1847, 1847, 1847, 1847, 1847, + + 1847, 1858, 1859, 1860, 1862, 1863, 1837, 1838, 1864, 1858, + 1867, 1868, 1869, 1840, 1841, 1870, 1851, 1871, 1851, 1873, + 1872, 1872, 1872, 1876, 1877, 1877, 1877, 1877, 1877, 1877, + 1878, 1881, 1883, 1884, 1885, 1886, 1887, 1889, 1890, 1891, + 1892, 1884, 1849, 1870, 1893, 1871, 1894, 1873, 1895, 1897, + 1897, 1897, 1897, 1897, 1897, 1872, 1900, 1901, 1903, 1872, + 1864, 1872, 1889, 1904, 1889, 1872, 1905, 1906, 1907, 1872, + 1908, 1910, 1893, 1915, 1894, 1918, 1895, 1898, 1898, 1898, + 1898, 1898, 1898, 1872, 1914, 1917, 1921, 1872, 1887, 1872, + 1922, 1924, 1914, 1872, 889, 888, 887, 1872, 1908, 1910, + + 1911, 1911, 1911, 1911, 1911, 1911, 1927, 1928, 1930, 1932, + 1917, 886, 1917, 884, 1921, 1904, 883, 882, 1922, 1923, + 1923, 1923, 1923, 1923, 1923, 1915, 881, 880, 879, 878, + 877, 875, 873, 872, 1927, 1928, 1930, 1932, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, - 1935, 1935, 1935, 1935, 1936, 781, 780, 779, 1936, 1936, - 778, 777, 776, 772, 1936, 1936, 1937, 771, 770, 1937, - 767, 766, 765, 1937, 1937, 1937, 1937, 1937, 764, 1937, - 1937, 1937, 1937, 1937, 1938, 763, 762, 1938, 1938, 761, - 760, 759, 1938, 758, 1938, 756, 755, 754, 1938, 753, - 1938, 1939, 1939, 1939, 751, 750, 749, 1939, 1939, 1939, - 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1939, 1940, 1940, - 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, + 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, + 1936, 1936, 871, 1936, 1936, 1936, 1936, 1936, 1936, 1936, + 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, + 1936, 1936, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, + 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, + + 1937, 1937, 1937, 1937, 1938, 870, 868, 867, 1938, 1938, + 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1939, + 866, 865, 864, 1939, 1939, 1939, 1939, 1939, 1939, 1939, + 1939, 1939, 1939, 1939, 1940, 1940, 863, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, - - 1941, 747, 746, 745, 1941, 1941, 744, 743, 1941, 742, - 1941, 1941, 741, 739, 1941, 1942, 1942, 738, 1942, 1942, - 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1942, - 1942, 1942, 1942, 1942, 1942, 1942, 1942, 1943, 1943, 1943, - 1943, 1943, 1944, 736, 735, 734, 1944, 1944, 733, 731, - 730, 729, 1944, 1944, 1945, 1945, 1945, 1945, 1945, 728, - 1945, 1945, 1945, 1945, 1945, 1946, 1946, 1946, 1946, 1946, - 727, 1946, 1946, 1946, 1946, 1946, 1947, 725, 723, 721, - 720, 1947, 719, 718, 716, 715, 713, 712, 1947, 1947, - 1947, 1947, 1947, 1948, 711, 710, 709, 1948, 1948, 706, - - 705, 704, 703, 1948, 1948, 1949, 702, 1949, 1949, 701, - 700, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, - 1949, 1949, 1950, 699, 1950, 1950, 698, 697, 1950, 1950, - 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1951, - 696, 695, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1952, 694, 693, 1952, 1952, 1952, 1952, 1952, 1952, + 1940, 1940, 1940, 1940, 1940, 1940, 1941, 1941, 862, 1941, + 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, + 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1942, 861, + 860, 858, 1942, 1942, 1942, 1942, 1942, 857, 1942, 1942, + 1942, 1942, 1942, 1943, 855, 853, 852, 1943, 1943, 1943, + + 1943, 1943, 850, 1943, 1943, 1943, 1943, 1943, 1944, 847, + 846, 1944, 844, 842, 837, 1944, 1944, 1944, 1944, 1944, + 836, 1944, 1944, 1944, 1944, 1944, 1945, 834, 833, 832, + 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, + 1945, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, + 830, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, + 1946, 1946, 1946, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1948, 829, 828, 1948, 1948, + 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, + + 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1949, 804, 803, + 802, 1949, 1949, 801, 799, 798, 797, 1949, 1949, 1950, + 796, 795, 1950, 794, 793, 792, 1950, 1950, 1950, 1950, + 1950, 791, 1950, 1950, 1950, 1950, 1950, 1951, 789, 788, + 1951, 1951, 787, 786, 785, 1951, 784, 1951, 782, 781, + 780, 1951, 779, 1951, 1952, 1952, 1952, 778, 777, 776, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, - 1952, 1952, 1952, 1953, 1953, 691, 1953, 1953, 1953, 1953, + 1952, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, + 1953, 1953, 1953, 1954, 772, 771, 770, 1954, 1954, 767, + + 766, 1954, 765, 1954, 1954, 764, 763, 1954, 1955, 1955, + 762, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, + 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, + 1956, 1956, 1956, 1956, 1956, 1957, 761, 760, 759, 1957, + 1957, 758, 756, 755, 754, 1957, 1957, 1958, 1958, 1958, + 1958, 1958, 753, 1958, 1958, 1958, 1958, 1958, 1959, 1959, + 1959, 1959, 1959, 751, 1959, 1959, 1959, 1959, 1959, 1960, + 750, 749, 747, 746, 1960, 745, 744, 743, 742, 741, + 739, 1960, 1960, 1960, 1960, 1960, 1961, 738, 736, 735, + 1961, 1961, 734, 733, 731, 730, 1961, 1961, 1962, 729, + + 1962, 1962, 728, 727, 1962, 1962, 1962, 1962, 1962, 1962, + 1962, 1962, 1962, 1962, 1962, 1963, 725, 1963, 1963, 723, + 721, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, + 1963, 1963, 1964, 720, 719, 1964, 1964, 1964, 1964, 1964, + 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, + 1964, 1964, 1964, 1964, 1965, 718, 716, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1965, 1965, 1965, 1966, 1966, 715, 1966, + 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1967, 1967, + + 713, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, + 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, + 1968, 1968, 1968, 1968, 1968, 712, 1968, 1968, 1968, 1968, + 1968, 1969, 711, 710, 709, 1969, 1969, 1969, 1969, 1969, + 1969, 1969, 1969, 1969, 1969, 1969, 1970, 1970, 1970, 1970, + 1970, 1970, 1970, 1970, 1970, 706, 1970, 1970, 1970, 1970, + 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1971, 1971, + 1971, 1971, 1971, 1971, 1971, 1971, 1971, 705, 1971, 1971, + 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, + 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 704, + + 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, + 1972, 1972, 703, 702, 701, 700, 699, 698, 697, 696, + 695, 694, 693, 691, 690, 688, 687, 686, 685, 684, + 683, 682, 681, 680, 679, 678, 676, 675, 673, 672, + 669, 668, 637, 634, 633, 632, 631, 630, 629, 628, + 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, + 617, 616, 615, 614, 613, 612, 610, 606, 605, 604, + 603, 602, 601, 599, 598, 597, 595, 594, 593, 592, + 591, 590, 589, 588, 585, 584, 583, 581, 579, 578, + 577, 576, 573, 571, 570, 569, 568, 567, 566, 565, + + 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, + 554, 553, 552, 551, 550, 549, 548, 547, 546, 545, + 543, 542, 541, 540, 539, 538, 537, 535, 534, 532, + 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, + 521, 519, 517, 516, 515, 514, 513, 512, 510, 509, + 508, 507, 506, 504, 503, 502, 501, 496, 494, 493, + 492, 491, 490, 489, 488, 456, 455, 454, 452, 451, + 450, 449, 448, 447, 446, 445, 444, 442, 441, 440, + 439, 438, 436, 435, 434, 430, 429, 428, 427, 426, + 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, + + 415, 414, 412, 411, 410, 409, 408, 407, 406, 405, + 403, 402, 401, 400, 398, 397, 396, 394, 393, 392, + 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, + 380, 379, 378, 377, 375, 373, 372, 370, 369, 368, + 367, 366, 364, 363, 362, 361, 360, 359, 358, 357, + 355, 354, 353, 352, 351, 349, 348, 347, 345, 344, + 343, 341, 340, 339, 337, 336, 335, 334, 333, 331, + 330, 329, 328, 326, 323, 322, 320, 318, 317, 316, + 315, 314, 313, 312, 311, 310, 307, 306, 305, 265, + 264, 263, 262, 261, 260, 257, 256, 255, 254, 253, + + 252, 251, 249, 248, 247, 246, 244, 243, 242, 241, + 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, + 230, 229, 226, 225, 222, 221, 217, 216, 212, 211, + 208, 204, 201, 199, 197, 195, 194, 193, 190, 188, + 186, 185, 184, 183, 182, 181, 180, 178, 177, 175, + 174, 173, 171, 169, 167, 166, 164, 163, 161, 160, + 159, 157, 156, 152, 151, 122, 121, 118, 115, 101, + 97, 93, 92, 88, 86, 85, 81, 68, 62, 55, + 26, 23, 20, 16, 12, 7, 3, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1953, 1953, 1953, 1953, 1953, 1954, 1954, 690, 1954, 1954, - 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, - 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1955, 1955, 1955, - 1955, 1955, 688, 1955, 1955, 1955, 1955, 1955, 1956, 687, - 686, 685, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 684, 1957, 1957, 1957, 1957, 1957, 1957, 1957, - 1957, 1957, 1957, 1957, 1957, 1958, 1958, 1958, 1958, 1958, - 1958, 1958, 1958, 1958, 683, 1958, 1958, 1958, 1958, 1958, - 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1959, 1959, 1959, - - 1959, 1959, 1959, 1959, 1959, 1959, 682, 1959, 1959, 1959, - 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 681, - 680, 679, 678, 676, 675, 673, 672, 669, 668, 637, - 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, - 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, - 614, 613, 612, 610, 606, 605, 604, 603, 602, 601, - 599, 598, 597, 595, 594, 593, 592, 591, 590, 589, - 588, 585, 584, 583, 581, 579, 578, 577, 576, 573, - 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, - 561, 560, 559, 558, 557, 556, 555, 554, 553, 552, - - 551, 550, 549, 548, 547, 546, 545, 543, 542, 541, - 540, 539, 538, 537, 535, 534, 532, 531, 530, 529, - 528, 527, 526, 525, 524, 523, 522, 521, 519, 517, - 516, 515, 514, 513, 512, 510, 509, 508, 507, 506, - 504, 503, 502, 501, 496, 494, 493, 492, 491, 490, - 489, 488, 456, 455, 454, 452, 451, 450, 449, 448, - 447, 446, 445, 444, 442, 441, 440, 439, 438, 436, - 435, 434, 430, 429, 428, 427, 426, 425, 424, 423, - 422, 421, 420, 419, 418, 417, 416, 415, 414, 412, - 411, 410, 409, 408, 407, 406, 405, 403, 402, 401, - - 400, 398, 397, 396, 394, 393, 392, 390, 389, 388, - 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, - 377, 375, 373, 372, 370, 369, 368, 367, 366, 364, - 363, 362, 361, 360, 359, 358, 357, 355, 354, 353, - 352, 351, 349, 348, 347, 345, 344, 343, 341, 340, - 339, 337, 336, 335, 334, 333, 331, 330, 329, 328, - 326, 323, 322, 320, 318, 317, 316, 315, 314, 313, - 312, 311, 310, 307, 306, 305, 265, 264, 263, 262, - 261, 260, 257, 256, 255, 254, 253, 252, 251, 249, - 248, 247, 246, 244, 243, 242, 241, 240, 239, 238, - - 237, 236, 235, 234, 233, 232, 231, 230, 229, 226, - 225, 222, 221, 217, 216, 212, 211, 208, 204, 201, - 199, 197, 195, 194, 193, 190, 188, 186, 185, 184, - 183, 182, 181, 180, 178, 177, 175, 174, 173, 171, - 169, 167, 166, 164, 163, 161, 160, 159, 157, 156, - 152, 151, 122, 121, 118, 115, 101, 97, 93, 92, - 88, 86, 85, 81, 68, 62, 55, 26, 23, 20, - 16, 12, 7, 3, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921 + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, + 1934, 1934, 1934, 1934, 1934 } ; /* The intent behind this definition is that it'll catch @@ -1842,6 +1849,7 @@ static yyconst flex_int16_t yy_chk[3463] = * * History * + * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 15-mar-2024 - $connecterror:accept * bengsig 4-mar-2024 - atime, dtime * bengsig 29-feb-2024 - $filelinename directive @@ -1935,7 +1943,7 @@ static yyconst flex_int16_t yy_chk[3463] = * bengsig 06-feb-2018 - added ociping * bengsig 10-feb-2017 - creation */ -#line 109 "rwllexer.l" +#line 110 "rwllexer.l" #include "rwl.h" #include "rwlparser.tab.h" @@ -1948,7 +1956,7 @@ static yyconst flex_int16_t yy_chk[3463] = rwm->rwlytext = (text *)yytext; \ } -#line 1952 "lex.rwly.c" +#line 1960 "lex.rwly.c" #define INITIAL 0 @@ -2221,7 +2229,7 @@ YY_DECL } { -#line 127 "rwllexer.l" +#line 128 "rwllexer.l" @@ -2233,7 +2241,7 @@ YY_DECL /* **************************************************************** */ /*LEXTAG:RWL_T_SQL_TEXT*/ -#line 2237 "lex.rwly.c" +#line 2245 "lex.rwly.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2260,13 +2268,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1922 ) + if ( yy_current_state >= 1935 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 3375 ); + while ( yy_base[yy_current_state] != 3388 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -2292,128 +2300,128 @@ YY_DECL case 1: /* rule 1 can match eol */ -#line 139 "rwllexer.l" +#line 140 "rwllexer.l" case 2: /* rule 2 can match eol */ -#line 140 "rwllexer.l" +#line 141 "rwllexer.l" case 3: /* rule 3 can match eol */ -#line 141 "rwllexer.l" +#line 142 "rwllexer.l" case 4: /* rule 4 can match eol */ -#line 142 "rwllexer.l" +#line 143 "rwllexer.l" case 5: /* rule 5 can match eol */ -#line 143 "rwllexer.l" +#line 144 "rwllexer.l" case 6: /* rule 6 can match eol */ -#line 144 "rwllexer.l" +#line 145 "rwllexer.l" case 7: /* rule 7 can match eol */ -#line 145 "rwllexer.l" +#line 146 "rwllexer.l" case 8: /* rule 8 can match eol */ -#line 146 "rwllexer.l" +#line 147 "rwllexer.l" case 9: /* rule 9 can match eol */ -#line 147 "rwllexer.l" +#line 148 "rwllexer.l" case 10: /* rule 10 can match eol */ -#line 148 "rwllexer.l" +#line 149 "rwllexer.l" case 11: /* rule 11 can match eol */ -#line 149 "rwllexer.l" +#line 150 "rwllexer.l" case 12: /* rule 12 can match eol */ -#line 150 "rwllexer.l" +#line 151 "rwllexer.l" case 13: /* rule 13 can match eol */ -#line 151 "rwllexer.l" +#line 152 "rwllexer.l" case 14: /* rule 14 can match eol */ -#line 152 "rwllexer.l" +#line 153 "rwllexer.l" case 15: /* rule 15 can match eol */ -#line 153 "rwllexer.l" +#line 154 "rwllexer.l" case 16: /* rule 16 can match eol */ -#line 154 "rwllexer.l" +#line 155 "rwllexer.l" case 17: /* rule 17 can match eol */ -#line 155 "rwllexer.l" +#line 156 "rwllexer.l" case 18: /* rule 18 can match eol */ -#line 156 "rwllexer.l" +#line 157 "rwllexer.l" case 19: /* rule 19 can match eol */ -#line 157 "rwllexer.l" +#line 158 "rwllexer.l" case 20: /* rule 20 can match eol */ -#line 158 "rwllexer.l" +#line 159 "rwllexer.l" case 21: /* rule 21 can match eol */ -#line 159 "rwllexer.l" +#line 160 "rwllexer.l" case 22: /* rule 22 can match eol */ -#line 160 "rwllexer.l" +#line 161 "rwllexer.l" case 23: /* rule 23 can match eol */ -#line 161 "rwllexer.l" +#line 162 "rwllexer.l" case 24: /* rule 24 can match eol */ -#line 162 "rwllexer.l" +#line 163 "rwllexer.l" case 25: /* rule 25 can match eol */ -#line 163 "rwllexer.l" +#line 164 "rwllexer.l" case 26: /* rule 26 can match eol */ -#line 164 "rwllexer.l" +#line 165 "rwllexer.l" case 27: /* rule 27 can match eol */ -#line 165 "rwllexer.l" +#line 166 "rwllexer.l" case 28: /* rule 28 can match eol */ -#line 166 "rwllexer.l" +#line 167 "rwllexer.l" case 29: /* rule 29 can match eol */ -#line 167 "rwllexer.l" +#line 168 "rwllexer.l" case 30: /* rule 30 can match eol */ -#line 168 "rwllexer.l" +#line 169 "rwllexer.l" case 31: /* rule 31 can match eol */ -#line 169 "rwllexer.l" +#line 170 "rwllexer.l" case 32: /* rule 32 can match eol */ -#line 170 "rwllexer.l" +#line 171 "rwllexer.l" case 33: /* rule 33 can match eol */ -#line 171 "rwllexer.l" +#line 172 "rwllexer.l" case 34: /* rule 34 can match eol */ -#line 172 "rwllexer.l" +#line 173 "rwllexer.l" case 35: /* rule 35 can match eol */ -#line 173 "rwllexer.l" +#line 174 "rwllexer.l" case 36: /* rule 36 can match eol */ -#line 174 "rwllexer.l" +#line 175 "rwllexer.l" case 37: /* rule 37 can match eol */ -#line 175 "rwllexer.l" +#line 176 "rwllexer.l" case 38: /* rule 38 can match eol */ -#line 176 "rwllexer.l" +#line 177 "rwllexer.l" case 39: /* rule 39 can match eol */ -#line 177 "rwllexer.l" +#line 178 "rwllexer.l" case 40: /* rule 40 can match eol */ -#line 178 "rwllexer.l" +#line 179 "rwllexer.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP -#line 178 "rwllexer.l" +#line 179 "rwllexer.l" { /* we match anything that can initiate SQL or PL/SQL. @@ -2432,7 +2440,7 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 194 "rwllexer.l" +#line 195 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -2442,7 +2450,7 @@ YY_RULE_SETUP case 43: /* rule 43 can match eol */ YY_RULE_SETUP -#line 200 "rwllexer.l" +#line 201 "rwllexer.l" { // Note that this flex input means that the input // consist of any number of either of the following // any character @@ -2459,12 +2467,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_T_DOUBLE_CONST*/ case 44: -#line 216 "rwllexer.l" -case 45: #line 217 "rwllexer.l" +case 45: +#line 218 "rwllexer.l" case 46: YY_RULE_SETUP -#line 217 "rwllexer.l" +#line 218 "rwllexer.l" { /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -2475,7 +2483,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_INTEGER_CONST*/ case 47: YY_RULE_SETUP -#line 226 "rwllexer.l" +#line 227 "rwllexer.l" { /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -2485,7 +2493,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 233 "rwllexer.l" +#line 234 "rwllexer.l" { /* make .. be a token even after an integer so that 1..10 is scanned as 1 .. 10 and not as 1. . 10 @@ -2500,43 +2508,43 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FUNCTION*/ case 49: YY_RULE_SETUP -#line 247 "rwllexer.l" +#line 248 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FUNCTION; } YY_BREAK /*LEXTAG:RWL_T_RETURN*/ case 50: YY_RULE_SETUP -#line 249 "rwllexer.l" +#line 250 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_RETURN; } YY_BREAK /*LEXTAG:RWL_T_EXIT*/ case 51: YY_RULE_SETUP -#line 251 "rwllexer.l" +#line 252 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_EXIT; } YY_BREAK /*LEXTAG:RWL_T_READLOB*/ case 52: YY_RULE_SETUP -#line 253 "rwllexer.l" +#line 254 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_READLOB; } YY_BREAK /*LEXTAG:RWL_T_WRITELOB*/ case 53: YY_RULE_SETUP -#line 255 "rwllexer.l" +#line 256 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_WRITELOB; } YY_BREAK /*LEXTAG:RWL_T_CLOB*/ case 54: YY_RULE_SETUP -#line 257 "rwllexer.l" +#line 258 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_CLOB; } YY_BREAK /*LEXTAG:RWL_T_BLOB*/ case 55: YY_RULE_SETUP -#line 259 "rwllexer.l" +#line 260 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_BLOB; } @@ -2547,7 +2555,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RAW*/ case 56: YY_RULE_SETUP -#line 266 "rwllexer.l" +#line 267 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_RAW; } @@ -2558,7 +2566,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_NCLOB*/ case 57: YY_RULE_SETUP -#line 273 "rwllexer.l" +#line 274 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_NCLOB; @@ -2567,7 +2575,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PUBLIC*/ case 58: YY_RULE_SETUP -#line 278 "rwllexer.l" +#line 279 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_PUBLIC; @@ -2576,7 +2584,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATE*/ case 59: YY_RULE_SETUP -#line 283 "rwllexer.l" +#line 284 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DATE; @@ -2585,7 +2593,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BREAK*/ case 60: YY_RULE_SETUP -#line 288 "rwllexer.l" +#line 289 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_BREAK; } @@ -2593,7 +2601,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_UNSIGNED*/ case 61: YY_RULE_SETUP -#line 292 "rwllexer.l" +#line 293 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_UNSIGNED; @@ -2602,7 +2610,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_HEXADECIMAL*/ case 62: YY_RULE_SETUP -#line 297 "rwllexer.l" +#line 298 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_HEXADECIMAL; @@ -2611,7 +2619,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCTAL*/ case 63: YY_RULE_SETUP -#line 302 "rwllexer.l" +#line 303 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_OCTAL; @@ -2620,7 +2628,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LOBPREFETCH*/ case 64: YY_RULE_SETUP -#line 307 "rwllexer.l" +#line 308 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_LOBPREFETCH; @@ -2629,7 +2637,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PRINTF*/ case 65: YY_RULE_SETUP -#line 312 "rwllexer.l" +#line 313 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_PRINTF; } @@ -2637,7 +2645,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SPRINTF*/ case 66: YY_RULE_SETUP -#line 316 "rwllexer.l" +#line 317 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SPRINTF; } @@ -2645,7 +2653,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FPRINTF*/ case 67: YY_RULE_SETUP -#line 320 "rwllexer.l" +#line 321 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FPRINTF; } @@ -2653,7 +2661,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ENCODE*/ case 68: YY_RULE_SETUP -#line 324 "rwllexer.l" +#line 325 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_ENCODE; @@ -2662,7 +2670,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DECODE*/ case 69: YY_RULE_SETUP -#line 329 "rwllexer.l" +#line 330 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DECODE; @@ -2671,7 +2679,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LEAK*/ case 70: YY_RULE_SETUP -#line 334 "rwllexer.l" +#line 335 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_LEAK; } @@ -2679,19 +2687,19 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ABORT*/ case 71: YY_RULE_SETUP -#line 338 "rwllexer.l" +#line 339 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ABORT; YY_BREAK /*LEXTAG:RWL_T_MODIFY*/ case 72: YY_RULE_SETUP -#line 340 "rwllexer.l" +#line 341 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_MODIFY; YY_BREAK /*LEXTAG:RWL_T_SQL*/ case 73: YY_RULE_SETUP -#line 342 "rwllexer.l" +#line 343 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SQL; } @@ -2699,25 +2707,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IGNOREERROR*/ case 74: YY_RULE_SETUP -#line 346 "rwllexer.l" +#line 347 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IGNOREERROR; YY_BREAK /*LEXTAG:RWL_T_CURSORCACHE*/ case 75: YY_RULE_SETUP -#line 348 "rwllexer.l" +#line 349 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_NOCURSORCACHE*/ case 76: YY_RULE_SETUP -#line 350 "rwllexer.l" +#line 351 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOCURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_CONNECT*/ case 77: YY_RULE_SETUP -#line 352 "rwllexer.l" +#line 353 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2727,7 +2735,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_USERNAME*/ case 78: YY_RULE_SETUP -#line 358 "rwllexer.l" +#line 359 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2737,7 +2745,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PASSWORD*/ case 79: YY_RULE_SETUP -#line 364 "rwllexer.l" +#line 365 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2747,7 +2755,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATABASE*/ case 80: YY_RULE_SETUP -#line 370 "rwllexer.l" +#line 371 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2757,25 +2765,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_REQUESTMARK*/ case 81: YY_RULE_SETUP -#line 376 "rwllexer.l" +#line 377 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REQUESTMARK; YY_BREAK /*LEXTAG:RWL_T_STATEMARK*/ case 82: YY_RULE_SETUP -#line 378 "rwllexer.l" +#line 379 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATEMARK; YY_BREAK /*LEXTAG:RWL_T_RELEASE*/ case 83: YY_RULE_SETUP -#line 380 "rwllexer.l" +#line 381 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RELEASE; YY_BREAK /*LEXTAG:RWL_T_SHARDKEY*/ case 84: YY_RULE_SETUP -#line 382 "rwllexer.l" +#line 383 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_SHARDKEY; @@ -2784,67 +2792,67 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCIPING*/ case 85: YY_RULE_SETUP -#line 387 "rwllexer.l" +#line 388 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCIPING; YY_BREAK /*LEXTAG:RWL_T_COMMIT*/ case 86: YY_RULE_SETUP -#line 389 "rwllexer.l" +#line 390 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COMMIT; YY_BREAK /*LEXTAG:RWL_T_ROLLBACK*/ case 87: YY_RULE_SETUP -#line 391 "rwllexer.l" +#line 392 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROLLBACK; YY_BREAK /*LEXTAG:RWL_T_DEFAULT*/ case 88: YY_RULE_SETUP -#line 393 "rwllexer.l" +#line 394 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFAULT; YY_BREAK /*LEXTAG:RWL_T_AT*/ case 89: YY_RULE_SETUP -#line 395 "rwllexer.l" +#line 396 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AT; YY_BREAK /*LEXTAG:RWL_T_RESULTS*/ case 90: YY_RULE_SETUP -#line 397 "rwllexer.l" +#line 398 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RESULTS; YY_BREAK /*LEXTAG:RWL_T_PROCEDURE*/ case 91: YY_RULE_SETUP -#line 399 "rwllexer.l" +#line 400 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PROCEDURE; YY_BREAK /*LEXTAG:RWL_T_THREADS*/ case 92: YY_RULE_SETUP -#line 401 "rwllexer.l" +#line 402 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THREADS; YY_BREAK /*LEXTAG:RWL_T_GLOBAL*/ case 93: YY_RULE_SETUP -#line 403 "rwllexer.l" +#line 404 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GLOBAL; YY_BREAK /*LEXTAG:RWL_T_PRIVATE*/ case 94: YY_RULE_SETUP -#line 405 "rwllexer.l" +#line 406 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRIVATE; YY_BREAK /*LEXTAG:RWL_T_RUN*/ case 95: YY_RULE_SETUP -#line 407 "rwllexer.l" +#line 408 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -2854,167 +2862,167 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BIND*/ case 96: YY_RULE_SETUP -#line 413 "rwllexer.l" +#line 414 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BIND; YY_BREAK /*LEXTAG:RWL_T_BINDOUT*/ case 97: YY_RULE_SETUP -#line 415 "rwllexer.l" +#line 416 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BINDOUT; YY_BREAK /*LEXTAG:RWL_T_DEFINE*/ case 98: YY_RULE_SETUP -#line 417 "rwllexer.l" +#line 418 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFINE; YY_BREAK /*LEXTAG:RWL_T_START*/ case 99: YY_RULE_SETUP -#line 419 "rwllexer.l" +#line 420 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_START; YY_BREAK /*LEXTAG:RWL_T_COUNT*/ case 100: YY_RULE_SETUP -#line 421 "rwllexer.l" +#line 422 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COUNT; YY_BREAK /*LEXTAG:RWL_T_STOP*/ case 101: YY_RULE_SETUP -#line 423 "rwllexer.l" +#line 424 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STOP; YY_BREAK /*LEXTAG:RWL_T_END*/ case 102: YY_RULE_SETUP -#line 425 "rwllexer.l" +#line 426 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_END; YY_BREAK /*LEXTAG:RWL_T_SESSIONPOOL*/ case 103: YY_RULE_SETUP -#line 427 "rwllexer.l" +#line 428 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SESSIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONPOOL*/ case 104: YY_RULE_SETUP -#line 429 "rwllexer.l" +#line 430 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONCLASS*/ case 105: YY_RULE_SETUP -#line 431 "rwllexer.l" +#line 432 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONCLASS; YY_BREAK /*LEXTAG:RWL_T_DRCP*/ case 106: YY_RULE_SETUP -#line 433 "rwllexer.l" +#line 434 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DRCP; YY_BREAK /*LEXTAG:RWL_T_DEDICATED*/ case 107: YY_RULE_SETUP -#line 435 "rwllexer.l" +#line 436 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEDICATED; YY_BREAK /*LEXTAG:RWL_T_RECONNECT*/ case 108: YY_RULE_SETUP -#line 437 "rwllexer.l" +#line 438 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RECONNECT; YY_BREAK /*LEXTAG:RWL_T_UNIFORM*/ case 109: YY_RULE_SETUP -#line 439 "rwllexer.l" +#line 440 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_UNIFORM; YY_BREAK /*LEXTAG:RWL_T_NORMALRANDOM*/ case 110: YY_RULE_SETUP -#line 441 "rwllexer.l" +#line 442 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NORMALRANDOM; YY_BREAK /*LEXTAG:RWL_T_LOG*/ case 111: YY_RULE_SETUP -#line 443 "rwllexer.l" +#line 444 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LOG; YY_BREAK /*LEXTAG:RWL_T_EXP*/ case 112: YY_RULE_SETUP -#line 445 "rwllexer.l" +#line 446 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EXP; YY_BREAK /*LEXTAG:RWL_T_CEIL*/ case 113: YY_RULE_SETUP -#line 447 "rwllexer.l" +#line 448 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CEIL; YY_BREAK /*LEXTAG:RWL_T_TRUNC*/ case 114: YY_RULE_SETUP -#line 449 "rwllexer.l" +#line 450 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_TRUNC; YY_BREAK /*LEXTAG:RWL_T_FLOOR*/ case 115: YY_RULE_SETUP -#line 451 "rwllexer.l" +#line 452 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FLOOR; YY_BREAK /*LEXTAG:RWL_T_ROUND*/ case 116: YY_RULE_SETUP -#line 453 "rwllexer.l" +#line 454 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROUND; YY_BREAK /*LEXTAG:RWL_T_STATISTICS*/ case 117: YY_RULE_SETUP -#line 455 "rwllexer.l" +#line 456 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICS; YY_BREAK /*LEXTAG:RWL_T_STATISTICSONLY*/ case 118: YY_RULE_SETUP -#line 457 "rwllexer.l" +#line 458 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICSONLY; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 119: YY_RULE_SETUP -#line 459 "rwllexer.l" +#line 460 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOSTATISTICS; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 120: YY_RULE_SETUP -#line 461 "rwllexer.l" +#line 462 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SQRT; YY_BREAK case 121: YY_RULE_SETUP -#line 462 "rwllexer.l" +#line 463 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SIN; YY_BREAK case 122: YY_RULE_SETUP -#line 463 "rwllexer.l" +#line 464 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COS; YY_BREAK /*LEXTAG:RWL_T_INSTRB*/ case 123: YY_RULE_SETUP -#line 465 "rwllexer.l" +#line 466 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "instr", "instrb"); if (!rwm->ifdirbit) return RWL_T_INSTRB; @@ -3022,13 +3030,13 @@ YY_RULE_SETUP YY_BREAK case 124: YY_RULE_SETUP -#line 469 "rwllexer.l" +#line 470 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INSTRB; YY_BREAK /*LEXTAG:RWL_T_SUBSTRB*/ case 125: YY_RULE_SETUP -#line 471 "rwllexer.l" +#line 472 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "substr", "substrb"); if (!rwm->ifdirbit) return RWL_T_SUBSTRB; @@ -3037,13 +3045,13 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SUBSTRB*/ case 126: YY_RULE_SETUP -#line 476 "rwllexer.l" +#line 477 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUBSTRB; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 127: YY_RULE_SETUP -#line 478 "rwllexer.l" +#line 479 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "length", "lengthb"); if (!rwm->ifdirbit) return RWL_T_LENGTHB; @@ -3052,50 +3060,50 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_GETENV*/ case 128: YY_RULE_SETUP -#line 483 "rwllexer.l" +#line 484 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETENV; YY_BREAK /*LEXTAG:RWL_T_SYSTEM*/ case 129: YY_RULE_SETUP -#line 485 "rwllexer.l" +#line 486 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SYSTEM; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 130: YY_RULE_SETUP -#line 487 "rwllexer.l" +#line 488 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LENGTHB; YY_BREAK /*LEXTAG:RWL_T_ERLANG*/ case 131: -#line 490 "rwllexer.l" +#line 491 "rwllexer.l" case 132: YY_RULE_SETUP -#line 490 "rwllexer.l" +#line 491 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 133: YY_RULE_SETUP -#line 492 "rwllexer.l" +#line 493 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG2; YY_BREAK /*LEXTAG:RWL_T_ERLANGK*/ case 134: YY_RULE_SETUP -#line 494 "rwllexer.l" +#line 495 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANGK; YY_BREAK /*LEXTAG:RWL_T_ACCESS*/ case 135: YY_RULE_SETUP -#line 496 "rwllexer.l" +#line 497 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ACCESS; YY_BREAK case 136: YY_RULE_SETUP -#line 497 "rwllexer.l" +#line 498 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3104,7 +3112,7 @@ YY_RULE_SETUP YY_BREAK case 137: YY_RULE_SETUP -#line 502 "rwllexer.l" +#line 503 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3114,127 +3122,127 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RUNSECONDS*/ case 138: YY_RULE_SETUP -#line 508 "rwllexer.l" +#line 509 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RUNSECONDS; YY_BREAK /*LEXTAG:RWL_T_EPOCHSECONDS*/ case 139: YY_RULE_SETUP -#line 510 "rwllexer.l" +#line 511 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EPOCHSECONDS; YY_BREAK /*LEXTAG:RWL_T_GETRUSAGE*/ case 140: YY_RULE_SETUP -#line 512 "rwllexer.l" +#line 513 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETRUSAGE; YY_BREAK /*LEXTAG:RWL_T_DOUBLE*/ case 141: YY_RULE_SETUP -#line 514 "rwllexer.l" +#line 515 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOUBLE; YY_BREAK /*LEXTAG:RWL_T_INTEGER*/ case 142: YY_RULE_SETUP -#line 516 "rwllexer.l" +#line 517 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INTEGER; YY_BREAK /*LEXTAG:RWL_T_STRING*/ case 143: YY_RULE_SETUP -#line 518 "rwllexer.l" +#line 519 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STRING; YY_BREAK /*LEXTAG:RWL_T_RANDOM*/ case 144: YY_RULE_SETUP -#line 520 "rwllexer.l" +#line 521 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RANDOM; YY_BREAK /*LEXTAG:RWL_T_ARRAY*/ case 145: YY_RULE_SETUP -#line 522 "rwllexer.l" +#line 523 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ARRAY; YY_BREAK /*LEXTAG:RWL_T_FILE*/ case 146: YY_RULE_SETUP -#line 524 "rwllexer.l" +#line 525 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FILE; YY_BREAK /*LEXTAG:RWL_T_WRITE*/ case 147: YY_RULE_SETUP -#line 526 "rwllexer.l" +#line 527 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITE; YY_BREAK /*LEXTAG:RWL_T_WRITELINE*/ case 148: YY_RULE_SETUP -#line 528 "rwllexer.l" +#line 529 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITELINE; YY_BREAK /*LEXTAG:RWL_T_READLINE*/ case 149: YY_RULE_SETUP -#line 530 "rwllexer.l" +#line 531 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_READLINE; YY_BREAK /*LEXTAG:RWL_T_REGEX*/ case 150: YY_RULE_SETUP -#line 532 "rwllexer.l" +#line 533 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEX; YY_BREAK /*LEXTAG:RWL_T_REGEXSUB*/ case 151: YY_RULE_SETUP -#line 534 "rwllexer.l" +#line 535 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUB; YY_BREAK /*LEXTAG:RWL_T_REGEXSUBG*/ case 152: YY_RULE_SETUP -#line 536 "rwllexer.l" +#line 537 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUBG; YY_BREAK /*LEXTAG:RWL_T_REGEXTRACT*/ case 153: YY_RULE_SETUP -#line 538 "rwllexer.l" +#line 539 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXTRACT; YY_BREAK /*LEXTAG:RWL_T_FFLUSH*/ case 154: YY_RULE_SETUP -#line 540 "rwllexer.l" +#line 541 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FFLUSH; YY_BREAK /*LEXTAG:RWL_T_PRINT*/ case 155: YY_RULE_SETUP -#line 542 "rwllexer.l" +#line 543 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINT; YY_BREAK /*LEXTAG:RWL_T_PRINTLINE*/ case 156: YY_RULE_SETUP -#line 544 "rwllexer.l" +#line 545 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTLINE; YY_BREAK /*LEXTAG:RWL_T_PRINTVAR*/ case 157: YY_RULE_SETUP -#line 546 "rwllexer.l" +#line 547 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTVAR; YY_BREAK /*LEXTAG:RWL_T_IF*/ case 158: YY_RULE_SETUP -#line 548 "rwllexer.l" +#line 549 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3244,61 +3252,61 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_WHEN*/ case 159: YY_RULE_SETUP -#line 554 "rwllexer.l" +#line 555 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHEN; YY_BREAK /*LEXTAG:RWL_T_THEN*/ case 160: YY_RULE_SETUP -#line 556 "rwllexer.l" +#line 557 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THEN; YY_BREAK /*LEXTAG:RWL_T_ELSE*/ case 161: YY_RULE_SETUP -#line 558 "rwllexer.l" +#line 559 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSE; YY_BREAK /*LEXTAG:RWL_T_ELSEIF*/ case 162: YY_RULE_SETUP -#line 560 "rwllexer.l" +#line 561 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSEIF; YY_BREAK /*LEXTAG:RWL_T_WHILE*/ case 163: YY_RULE_SETUP -#line 562 "rwllexer.l" +#line 563 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHILE; YY_BREAK /*LEXTAG:RWL_T_WAIT*/ case 164: YY_RULE_SETUP -#line 564 "rwllexer.l" +#line 565 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WAIT; YY_BREAK /*LEXTAG:RWL_T_QUEUE*/ case 165: YY_RULE_SETUP -#line 566 "rwllexer.l" +#line 567 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_QUEUE; YY_BREAK /*LEXTAG:RWL_T_NOQUEUE*/ case 166: YY_RULE_SETUP -#line 568 "rwllexer.l" +#line 569 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOQUEUE; YY_BREAK /*LEXTAG:RWL_T_EVERY*/ case 167: YY_RULE_SETUP -#line 570 "rwllexer.l" +#line 571 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EVERY; YY_BREAK /*LEXTAG:RWL_T_LOOP*/ case 168: YY_RULE_SETUP -#line 572 "rwllexer.l" +#line 573 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3308,25 +3316,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FOR*/ case 169: YY_RULE_SETUP -#line 578 "rwllexer.l" +#line 579 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FOR; YY_BREAK /*LEXTAG:RWL_T_ALL*/ case 170: YY_RULE_SETUP -#line 580 "rwllexer.l" +#line 581 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ALL; YY_BREAK /*LEXTAG:RWL_T_SHIFT*/ case 171: YY_RULE_SETUP -#line 582 "rwllexer.l" +#line 583 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SHIFT; YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ case 172: YY_RULE_SETUP -#line 584 "rwllexer.l" +#line 585 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3336,25 +3344,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_EXECUTE*/ case 173: YY_RULE_SETUP -#line 590 "rwllexer.l" +#line 591 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOTDOT; /* see RWL_T_INTEGER_CONST above */ YY_BREAK /*LEXTAG:RWL_T_NULL*/ case 174: YY_RULE_SETUP -#line 592 "rwllexer.l" +#line 593 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NULL; YY_BREAK /*LEXTAG:RWL_T_SUM*/ case 175: YY_RULE_SETUP -#line 594 "rwllexer.l" +#line 595 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUM; YY_BREAK /*LEXTAG:RWL_T_ISNULL*/ case 176: YY_RULE_SETUP -#line 596 "rwllexer.l" +#line 597 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_ISNULL_DEPRECATED); @@ -3364,57 +3372,57 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IS*/ case 177: YY_RULE_SETUP -#line 602 "rwllexer.l" +#line 603 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IS; YY_BREAK case 178: YY_RULE_SETUP -#line 603 "rwllexer.l" +#line 604 "rwllexer.l" if (!rwm->ifdirbit) return '+'; YY_BREAK case 179: YY_RULE_SETUP -#line 604 "rwllexer.l" +#line 605 "rwllexer.l" if (!rwm->ifdirbit) return '-'; YY_BREAK case 180: YY_RULE_SETUP -#line 605 "rwllexer.l" +#line 606 "rwllexer.l" if (!rwm->ifdirbit) return '*'; YY_BREAK case 181: YY_RULE_SETUP -#line 606 "rwllexer.l" +#line 607 "rwllexer.l" if (!rwm->ifdirbit) return '/'; YY_BREAK case 182: YY_RULE_SETUP -#line 607 "rwllexer.l" +#line 608 "rwllexer.l" if (!rwm->ifdirbit) return '%'; YY_BREAK case 183: YY_RULE_SETUP -#line 608 "rwllexer.l" +#line 609 "rwllexer.l" if (!rwm->ifdirbit) return '('; YY_BREAK case 184: YY_RULE_SETUP -#line 609 "rwllexer.l" +#line 610 "rwllexer.l" if (!rwm->ifdirbit) return ')'; YY_BREAK case 185: YY_RULE_SETUP -#line 610 "rwllexer.l" +#line 611 "rwllexer.l" if (!rwm->ifdirbit) return ','; YY_BREAK case 186: YY_RULE_SETUP -#line 611 "rwllexer.l" +#line 612 "rwllexer.l" if (!rwm->ifdirbit) return '='; YY_BREAK case 187: YY_RULE_SETUP -#line 612 "rwllexer.l" +#line 613 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_EQUALEQUAL, rwm->rwlytext); if (!rwm->ifdirbit) return '='; @@ -3422,140 +3430,140 @@ YY_RULE_SETUP YY_BREAK case 188: YY_RULE_SETUP -#line 616 "rwllexer.l" +#line 617 "rwllexer.l" if (!rwm->ifdirbit) return '<'; YY_BREAK case 189: YY_RULE_SETUP -#line 617 "rwllexer.l" +#line 618 "rwllexer.l" if (!rwm->ifdirbit) return '>'; YY_BREAK case 190: YY_RULE_SETUP -#line 618 "rwllexer.l" +#line 619 "rwllexer.l" if (!rwm->ifdirbit) return '!'; YY_BREAK case 191: YY_RULE_SETUP -#line 619 "rwllexer.l" +#line 620 "rwllexer.l" if (!rwm->ifdirbit) return '?'; YY_BREAK case 192: YY_RULE_SETUP -#line 620 "rwllexer.l" +#line 621 "rwllexer.l" if (!rwm->ifdirbit) return ':'; YY_BREAK /*LEXTAG:RWL_T_NOT*/ case 193: YY_RULE_SETUP -#line 622 "rwllexer.l" +#line 623 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOT; YY_BREAK /*LEXTAG:RWL_T_AND*/ case 194: YY_RULE_SETUP -#line 624 "rwllexer.l" +#line 625 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AND; YY_BREAK /*LEXTAG:RWL_T_BETWEEN*/ case 195: YY_RULE_SETUP -#line 626 "rwllexer.l" +#line 627 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BETWEEN; YY_BREAK /*LEXTAG:RWL_T_OR*/ case 196: YY_RULE_SETUP -#line 628 "rwllexer.l" +#line 629 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OR; YY_BREAK /*LEXTAG:RWL_T_LESSEQ*/ case 197: YY_RULE_SETUP -#line 630 "rwllexer.l" +#line 631 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LESSEQ; YY_BREAK /*LEXTAG:RWL_T_GREATEQ*/ case 198: YY_RULE_SETUP -#line 632 "rwllexer.l" +#line 633 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GREATEQ; YY_BREAK /*LEXTAG:RWL_T_RSHIFTASSIGN*/ case 199: YY_RULE_SETUP -#line 634 "rwllexer.l" +#line 635 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RSHIFTASSIGN; YY_BREAK /*LEXTAG:RWL_T_NOTEQ*/ case 200: YY_RULE_SETUP -#line 636 "rwllexer.l" +#line 637 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK case 201: YY_RULE_SETUP -#line 637 "rwllexer.l" +#line 638 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK /*LEXTAG:RWL_T_ASSIGN*/ case 202: YY_RULE_SETUP -#line 639 "rwllexer.l" +#line 640 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASSIGN; YY_BREAK /*LEXTAG:RWL_T_ASNPLUS*/ case 203: YY_RULE_SETUP -#line 641 "rwllexer.l" +#line 642 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNPLUS; YY_BREAK /*LEXTAG:RWL_T_CONCAT*/ case 204: YY_RULE_SETUP -#line 643 "rwllexer.l" +#line 644 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONCAT; YY_BREAK /*LEXTAG:RWL_T_PIPETO*/ case 205: YY_RULE_SETUP -#line 645 "rwllexer.l" +#line 646 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPETO; YY_BREAK /*LEXTAG:RWL_T_PIPEFROM*/ case 206: YY_RULE_SETUP -#line 647 "rwllexer.l" +#line 648 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPEFROM; YY_BREAK /*LEXTAG:RWL_T_APPEND*/ case 207: YY_RULE_SETUP -#line 649 "rwllexer.l" +#line 650 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_APPEND; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2B*/ case 208: YY_RULE_SETUP -#line 651 "rwllexer.l" +#line 652 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2B; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2BB*/ case 209: YY_RULE_SETUP -#line 653 "rwllexer.l" +#line 654 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2BB; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 210: YY_RULE_SETUP -#line 655 "rwllexer.l" +#line 656 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SERVERRELEASE; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 211: YY_RULE_SETUP -#line 657 "rwllexer.l" +#line 658 "rwllexer.l" { # ifndef RWL_USE_SQL_ID rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3566,7 +3574,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OPENSESSIONCOUNT*/ case 212: YY_RULE_SETUP -#line 664 "rwllexer.l" +#line 665 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_OPENSESSIONCOUNT; } @@ -3574,7 +3582,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ACTIVESESSIONCOUNT*/ case 213: YY_RULE_SETUP -#line 668 "rwllexer.l" +#line 669 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_ACTIVESESSIONCOUNT; } @@ -3582,7 +3590,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_QUERYNOTIFICATION*/ case 214: YY_RULE_SETUP -#line 672 "rwllexer.l" +#line 673 "rwllexer.l" { #ifndef RWL_USE_CQN rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3593,18 +3601,18 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ATAN2*/ case 215: YY_RULE_SETUP -#line 679 "rwllexer.l" +#line 680 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ATAN2; YY_BREAK case 216: -#line 682 "rwllexer.l" -case 217: #line 683 "rwllexer.l" -case 218: +case 217: #line 684 "rwllexer.l" +case 218: +#line 685 "rwllexer.l" case 219: YY_RULE_SETUP -#line 684 "rwllexer.l" +#line 685 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); // return something so compilation continues @@ -3612,24 +3620,24 @@ YY_RULE_SETUP } YY_BREAK case 220: -#line 691 "rwllexer.l" +#line 692 "rwllexer.l" case 221: YY_RULE_SETUP -#line 691 "rwllexer.l" +#line 692 "rwllexer.l" { // note that "--" is the beginning of RWL_T_SQL_TEXT rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); } YY_BREAK case 222: -#line 696 "rwllexer.l" -case 223: #line 697 "rwllexer.l" -case 224: +case 223: #line 698 "rwllexer.l" +case 224: +#line 699 "rwllexer.l" case 225: YY_RULE_SETUP -#line 698 "rwllexer.l" +#line 699 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); // return something so compilation continues @@ -3637,16 +3645,16 @@ YY_RULE_SETUP } YY_BREAK case 226: -#line 705 "rwllexer.l" -case 227: #line 706 "rwllexer.l" -case 228: +case 227: #line 707 "rwllexer.l" -case 229: +case 228: #line 708 "rwllexer.l" +case 229: +#line 709 "rwllexer.l" case 230: YY_RULE_SETUP -#line 708 "rwllexer.l" +#line 709 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3661,7 +3669,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IDENTIFIER*/ case 231: YY_RULE_SETUP -#line 720 "rwllexer.l" +#line 721 "rwllexer.l" { /* previnam is used when the parser has been doing @@ -3681,7 +3689,7 @@ YY_RULE_SETUP YY_BREAK case 232: YY_RULE_SETUP -#line 737 "rwllexer.l" +#line 738 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3701,7 +3709,7 @@ YY_RULE_SETUP YY_BREAK case 233: YY_RULE_SETUP -#line 754 "rwllexer.l" +#line 755 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3714,7 +3722,7 @@ YY_RULE_SETUP YY_BREAK case 234: YY_RULE_SETUP -#line 764 "rwllexer.l" +#line 765 "rwllexer.l" { text *env = rwlgetenv((text *)rwm->rwlytext+1); if (!env) @@ -3738,18 +3746,18 @@ YY_RULE_SETUP YY_BREAK case 235: YY_RULE_SETUP -#line 786 "rwllexer.l" +#line 787 "rwllexer.l" if (!rwm->ifdirbit) return ';'; YY_BREAK case 236: -#line 789 "rwllexer.l" -case 237: #line 790 "rwllexer.l" -case 238: +case 237: #line 791 "rwllexer.l" +case 238: +#line 792 "rwllexer.l" case 239: YY_RULE_SETUP -#line 791 "rwllexer.l" +#line 792 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3764,7 +3772,7 @@ YY_RULE_SETUP YY_BREAK case 240: YY_RULE_SETUP -#line 803 "rwllexer.l" +#line 804 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3772,7 +3780,7 @@ YY_RULE_SETUP YY_BREAK case 241: YY_RULE_SETUP -#line 808 "rwllexer.l" +#line 809 "rwllexer.l" { // This is the documented syntax. Note that there is // no simple way to allow having $if and $then on separate // lines @@ -3792,14 +3800,14 @@ YY_RULE_SETUP YY_BREAK case 242: YY_RULE_SETUP -#line 825 "rwllexer.l" +#line 826 "rwllexer.l" { // this only happens if $if and $then aren't on the same line rwlzparsestring(rwm, (text *) "0;"); // behave like $if 0 $then would } YY_BREAK case 243: YY_RULE_SETUP -#line 829 "rwllexer.l" +#line 830 "rwllexer.l" { // This was the original syntax for $if which was // $if: ; // i.e. with the expression between : and ;. @@ -3820,7 +3828,7 @@ YY_RULE_SETUP YY_BREAK case 244: YY_RULE_SETUP -#line 847 "rwllexer.l" +#line 848 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "else"); @@ -3841,7 +3849,7 @@ YY_RULE_SETUP YY_BREAK case 245: YY_RULE_SETUP -#line 865 "rwllexer.l" +#line 866 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "endif"); @@ -3859,7 +3867,7 @@ YY_RULE_SETUP YY_BREAK case 246: YY_RULE_SETUP -#line 880 "rwllexer.l" +#line 881 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS); // all set in tflags as tfalgs HAS been copied from mflags @@ -3869,7 +3877,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 247: YY_RULE_SETUP -#line 887 "rwllexer.l" +#line 888 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); @@ -3878,7 +3886,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 248: YY_RULE_SETUP -#line 893 "rwllexer.l" +#line 894 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); @@ -3887,172 +3895,186 @@ if (!rwm->ifdirbit) { YY_BREAK case 249: YY_RULE_SETUP -#line 899 "rwllexer.l" +#line 900 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTION); } YY_BREAK case 250: YY_RULE_SETUP -#line 903 "rwllexer.l" +#line 904 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 251: YY_RULE_SETUP -#line 906 "rwllexer.l" +#line 907 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 252: YY_RULE_SETUP -#line 910 "rwllexer.l" +#line 911 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 253: YY_RULE_SETUP -#line 914 "rwllexer.l" +#line 915 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 254: YY_RULE_SETUP -#line 918 "rwllexer.l" +#line 919 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 255: YY_RULE_SETUP -#line 922 "rwllexer.l" +#line 923 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 256: YY_RULE_SETUP -#line 926 "rwllexer.l" +#line 927 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 257: YY_RULE_SETUP -#line 929 "rwllexer.l" +#line 930 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 258: YY_RULE_SETUP -#line 933 "rwllexer.l" +#line 934 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 259: YY_RULE_SETUP -#line 936 "rwllexer.l" +#line 937 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 260: YY_RULE_SETUP -#line 940 "rwllexer.l" +#line 941 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 261: YY_RULE_SETUP -#line 943 "rwllexer.l" +#line 944 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 262: YY_RULE_SETUP -#line 947 "rwllexer.l" +#line 948 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 263: YY_RULE_SETUP -#line 950 "rwllexer.l" +#line 951 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 264: YY_RULE_SETUP -#line 954 "rwllexer.l" +#line 955 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 265: YY_RULE_SETUP -#line 957 "rwllexer.l" +#line 958 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 266: YY_RULE_SETUP -#line 961 "rwllexer.l" +#line 962 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=0; } YY_BREAK case 267: YY_RULE_SETUP -#line 965 "rwllexer.l" +#line 966 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=1; } YY_BREAK case 268: YY_RULE_SETUP -#line 969 "rwllexer.l" +#line 970 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 269: YY_RULE_SETUP -#line 972 "rwllexer.l" +#line 973 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 270: YY_RULE_SETUP -#line 976 "rwllexer.l" +#line 977 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 271: YY_RULE_SETUP -#line 980 "rwllexer.l" +#line 981 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 272: -/* rule 272 can match eol */ +YY_RULE_SETUP #line 985 "rwllexer.l" +{ + if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_OERRSHOWOCI); + } + YY_BREAK case 273: -/* rule 273 can match eol */ YY_RULE_SETUP -#line 985 "rwllexer.l" +#line 989 "rwllexer.l" +{ + if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_OERRSHOWOCI); + } + YY_BREAK +case 274: +/* rule 274 can match eol */ +#line 994 "rwllexer.l" +case 275: +/* rule 275 can match eol */ +YY_RULE_SETUP +#line 994 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) // not while generating { @@ -4218,9 +4240,9 @@ YY_RULE_SETUP } } YY_BREAK -case 274: +case 276: YY_RULE_SETUP -#line 1150 "rwllexer.l" +#line 1159 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4231,9 +4253,9 @@ YY_RULE_SETUP } } YY_BREAK -case 275: +case 277: YY_RULE_SETUP -#line 1160 "rwllexer.l" +#line 1169 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -4245,9 +4267,9 @@ YY_RULE_SETUP } } YY_BREAK -case 276: +case 278: YY_RULE_SETUP -#line 1171 "rwllexer.l" +#line 1180 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4258,9 +4280,9 @@ YY_RULE_SETUP } } YY_BREAK -case 277: +case 279: YY_RULE_SETUP -#line 1181 "rwllexer.l" +#line 1190 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4271,9 +4293,9 @@ YY_RULE_SETUP } } YY_BREAK -case 278: +case 280: YY_RULE_SETUP -#line 1191 "rwllexer.l" +#line 1200 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4282,17 +4304,17 @@ YY_RULE_SETUP } } YY_BREAK -case 279: +case 281: YY_RULE_SETUP -#line 1199 "rwllexer.l" +#line 1208 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_OERSTATS); } YY_BREAK -case 280: +case 282: YY_RULE_SETUP -#line 1204 "rwllexer.l" +#line 1213 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4306,9 +4328,9 @@ YY_RULE_SETUP } } YY_BREAK -case 281: +case 283: YY_RULE_SETUP -#line 1217 "rwllexer.l" +#line 1226 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4322,9 +4344,9 @@ YY_RULE_SETUP } } YY_BREAK -case 282: +case 284: YY_RULE_SETUP -#line 1230 "rwllexer.l" +#line 1239 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4340,9 +4362,9 @@ YY_RULE_SETUP } } YY_BREAK -case 283: +case 285: YY_RULE_SETUP -#line 1245 "rwllexer.l" +#line 1254 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4351,9 +4373,9 @@ YY_RULE_SETUP } } YY_BREAK -case 284: +case 286: YY_RULE_SETUP -#line 1253 "rwllexer.l" +#line 1262 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4362,9 +4384,9 @@ YY_RULE_SETUP } } YY_BREAK -case 285: +case 287: YY_RULE_SETUP -#line 1261 "rwllexer.l" +#line 1270 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4373,9 +4395,9 @@ YY_RULE_SETUP } } YY_BREAK -case 286: +case 288: YY_RULE_SETUP -#line 1269 "rwllexer.l" +#line 1278 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4383,9 +4405,9 @@ YY_RULE_SETUP } } YY_BREAK -case 287: +case 289: YY_RULE_SETUP -#line 1275 "rwllexer.l" +#line 1284 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4393,9 +4415,9 @@ YY_RULE_SETUP } } YY_BREAK -case 288: +case 290: YY_RULE_SETUP -#line 1281 "rwllexer.l" +#line 1290 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4404,9 +4426,9 @@ YY_RULE_SETUP } } YY_BREAK -case 289: +case 291: YY_RULE_SETUP -#line 1288 "rwllexer.l" +#line 1297 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4415,9 +4437,9 @@ YY_RULE_SETUP } } YY_BREAK -case 290: +case 292: YY_RULE_SETUP -#line 1295 "rwllexer.l" +#line 1304 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4425,9 +4447,9 @@ YY_RULE_SETUP } } YY_BREAK -case 291: +case 293: YY_RULE_SETUP -#line 1301 "rwllexer.l" +#line 1310 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4435,9 +4457,9 @@ YY_RULE_SETUP } } YY_BREAK -case 292: +case 294: YY_RULE_SETUP -#line 1308 "rwllexer.l" +#line 1317 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4445,41 +4467,41 @@ YY_RULE_SETUP } } YY_BREAK -case 293: +case 295: YY_RULE_SETUP -#line 1315 "rwllexer.l" +#line 1324 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_RECON1017); } YY_BREAK -case 294: +case 296: YY_RULE_SETUP -#line 1320 "rwllexer.l" +#line 1329 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_ON; } YY_BREAK -case 295: +case 297: YY_RULE_SETUP -#line 1325 "rwllexer.l" +#line 1334 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_OFF; } YY_BREAK -case 296: +case 298: YY_RULE_SETUP -#line 1330 "rwllexer.l" +#line 1339 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_WARN; } YY_BREAK -case 297: +case 299: YY_RULE_SETUP -#line 1335 "rwllexer.l" +#line 1344 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4494,9 +4516,9 @@ YY_RULE_SETUP } } YY_BREAK -case 298: +case 300: YY_RULE_SETUP -#line 1349 "rwllexer.l" +#line 1358 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4507,41 +4529,41 @@ YY_RULE_SETUP } } YY_BREAK -case 299: +case 301: YY_RULE_SETUP -#line 1359 "rwllexer.l" +#line 1368 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLREADLINE); } YY_BREAK -case 300: +case 302: YY_RULE_SETUP -#line 1364 "rwllexer.l" +#line 1373 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLREADLINE); } YY_BREAK -case 301: +case 303: YY_RULE_SETUP -#line 1369 "rwllexer.l" +#line 1378 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLWRITELINE); } YY_BREAK -case 302: +case 304: YY_RULE_SETUP -#line 1374 "rwllexer.l" +#line 1383 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLWRITELINE); } YY_BREAK -case 303: +case 305: YY_RULE_SETUP -#line 1379 "rwllexer.l" +#line 1388 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4550,9 +4572,9 @@ YY_RULE_SETUP } } YY_BREAK -case 304: +case 306: YY_RULE_SETUP -#line 1387 "rwllexer.l" +#line 1396 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4561,9 +4583,9 @@ YY_RULE_SETUP } } YY_BREAK -case 305: +case 307: YY_RULE_SETUP -#line 1395 "rwllexer.l" +#line 1404 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4573,17 +4595,17 @@ YY_RULE_SETUP #endif } YY_BREAK -case 306: +case 308: YY_RULE_SETUP -#line 1404 "rwllexer.l" +#line 1413 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSATIME); } YY_BREAK -case 307: +case 309: YY_RULE_SETUP -#line 1409 "rwllexer.l" +#line 1418 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4593,57 +4615,57 @@ YY_RULE_SETUP #endif } YY_BREAK -case 308: +case 310: YY_RULE_SETUP -#line 1418 "rwllexer.l" +#line 1427 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSDTIME); } YY_BREAK -case 309: +case 311: YY_RULE_SETUP -#line 1423 "rwllexer.l" +#line 1432 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CONERROK); } YY_BREAK -case 310: +case 312: YY_RULE_SETUP -#line 1428 "rwllexer.l" +#line 1437 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 311: +case 313: YY_RULE_SETUP -#line 1433 "rwllexer.l" +#line 1442 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 312: +case 314: YY_RULE_SETUP -#line 1438 "rwllexer.l" +#line 1447 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 313: +case 315: YY_RULE_SETUP -#line 1443 "rwllexer.l" +#line 1452 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 314: +case 316: YY_RULE_SETUP -#line 1449 "rwllexer.l" +#line 1458 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4651,23 +4673,23 @@ YY_RULE_SETUP } } YY_BREAK -case 315: +case 317: YY_RULE_SETUP -#line 1456 "rwllexer.l" +#line 1465 "rwllexer.l" { if (!rwm->ifdirbit) rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+6),1 /* warn if !warning*/ ); } YY_BREAK -case 316: +case 318: YY_RULE_SETUP -#line 1460 "rwllexer.l" +#line 1469 "rwllexer.l" { rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+12),1 /* warn if !warning*/ ); } YY_BREAK -case 317: +case 319: YY_RULE_SETUP -#line 1464 "rwllexer.l" +#line 1473 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; newval = (ub4)rwlatoi(rwm->rwlytext+11) + 1; //+1 for the return value @@ -4682,9 +4704,9 @@ if (!rwm->ifdirbit) { } YY_BREAK -case 318: +case 320: YY_RULE_SETUP -#line 1478 "rwllexer.l" +#line 1487 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4700,9 +4722,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxident"); } YY_BREAK -case 319: +case 321: YY_RULE_SETUP -#line 1493 "rwllexer.l" +#line 1502 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4718,9 +4740,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxcode"); } YY_BREAK -case 320: +case 322: YY_RULE_SETUP -#line 1508 "rwllexer.l" +#line 1517 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4736,25 +4758,25 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "readbuffer"); } YY_BREAK -case 321: +case 323: YY_RULE_SETUP -#line 1523 "rwllexer.l" +#line 1532 "rwllexer.l" if (!rwm->ifdirbit) { rwm->iformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckiformat(rwm); } YY_BREAK -case 322: +case 324: YY_RULE_SETUP -#line 1527 "rwllexer.l" +#line 1536 "rwllexer.l" if (!rwm->ifdirbit) { rwm->dformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckdformat(rwm); } YY_BREAK -case 323: +case 325: YY_RULE_SETUP -#line 1532 "rwllexer.l" +#line 1541 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+9); bis(rwm->mflags, newdebug); @@ -4766,9 +4788,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 324: +case 326: YY_RULE_SETUP -#line 1543 "rwllexer.l" +#line 1552 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+10); // ub4 newdebug = (ub4) rwlhex2ub8(rwm->rwlytext+10, 2*sizeof(ub4)); @@ -4777,9 +4799,9 @@ if (!rwm->ifdirbit) { bic(rwm->mxq->tflags, newdebug); } YY_BREAK -case 325: +case 327: YY_RULE_SETUP -#line 1551 "rwllexer.l" +#line 1560 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+10,2*sizeof(unsigned short)); @@ -4795,9 +4817,9 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 326: +case 328: YY_RULE_SETUP -#line 1568 "rwllexer.l" +#line 1577 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+12, 2*sizeof(unsigned short)); @@ -4813,11 +4835,11 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 327: -#line 1584 "rwllexer.l" -case 328: +case 329: +#line 1593 "rwllexer.l" +case 330: YY_RULE_SETUP -#line 1584 "rwllexer.l" +#line 1593 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4828,11 +4850,11 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 329: -#line 1595 "rwllexer.l" -case 330: +case 331: +#line 1604 "rwllexer.l" +case 332: YY_RULE_SETUP -#line 1595 "rwllexer.l" +#line 1604 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4843,9 +4865,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 331: +case 333: YY_RULE_SETUP -#line 1605 "rwllexer.l" +#line 1614 "rwllexer.l" if (!rwm->ifdirbit) { { rwm->musymbol = rwlstrdup(rwm, rwm->rwlytext+10); @@ -4853,9 +4875,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 332: +case 334: YY_RULE_SETUP -#line 1612 "rwllexer.l" +#line 1621 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4867,9 +4889,9 @@ YY_RULE_SETUP } } YY_BREAK -case 333: +case 335: YY_RULE_SETUP -#line 1623 "rwllexer.l" +#line 1632 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4881,10 +4903,10 @@ YY_RULE_SETUP } } YY_BREAK -case 334: -/* rule 334 can match eol */ +case 336: +/* rule 336 can match eol */ YY_RULE_SETUP -#line 1634 "rwllexer.l" +#line 1643 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4915,10 +4937,10 @@ YY_RULE_SETUP } } YY_BREAK -case 335: -/* rule 335 can match eol */ +case 337: +/* rule 337 can match eol */ YY_RULE_SETUP -#line 1664 "rwllexer.l" +#line 1673 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4949,9 +4971,9 @@ YY_RULE_SETUP } } YY_BREAK -case 336: +case 338: YY_RULE_SETUP -#line 1694 "rwllexer.l" +#line 1703 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4962,24 +4984,24 @@ YY_RULE_SETUP } } YY_BREAK -case 337: +case 339: YY_RULE_SETUP -#line 1703 "rwllexer.l" +#line 1712 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 338: +case 340: YY_RULE_SETUP -#line 1706 "rwllexer.l" +#line 1715 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 339: -/* rule 339 can match eol */ +case 341: +/* rule 341 can match eol */ YY_RULE_SETUP -#line 1710 "rwllexer.l" +#line 1719 "rwllexer.l" { rwm->loc.fname = rwlstrdup(rwm, rwlstrchr(rwm->rwlytext,'"')); rwm->loc.fname[rwlstrlen(rwm->loc.fname)-1] = 0; @@ -4988,11 +5010,11 @@ YY_RULE_SETUP rwm->loc.errlin = 0; } YY_BREAK -case 340: -#line 1718 "rwllexer.l" -case 341: +case 342: +#line 1727 "rwllexer.l" +case 343: YY_RULE_SETUP -#line 1718 "rwllexer.l" +#line 1727 "rwllexer.l" { // bad directive char idbuf[100], c; ub4 i; @@ -5033,37 +5055,37 @@ YY_RULE_SETUP { rwm->loc.lineno++; rwm->loc.inpos=0; } } YY_BREAK -case 342: -/* rule 342 can match eol */ +case 344: +/* rule 344 can match eol */ YY_RULE_SETUP -#line 1759 "rwllexer.l" +#line 1768 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 343: -/* rule 343 can match eol */ +case 345: +/* rule 345 can match eol */ YY_RULE_SETUP -#line 1760 "rwllexer.l" +#line 1769 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 344: -/* rule 344 can match eol */ +case 346: +/* rule 346 can match eol */ YY_RULE_SETUP -#line 1761 "rwllexer.l" +#line 1770 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 345: +case 347: YY_RULE_SETUP -#line 1762 "rwllexer.l" +#line 1771 "rwllexer.l" /* nothing */ ; YY_BREAK -case 346: +case 348: YY_RULE_SETUP -#line 1763 "rwllexer.l" +#line 1772 "rwllexer.l" /* nothing */ ; YY_BREAK -case 347: +case 349: YY_RULE_SETUP -#line 1764 "rwllexer.l" +#line 1773 "rwllexer.l" { if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -5078,12 +5100,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII, rwm->loc.inpos, (ub1)rwm->rwlytext[0]); } YY_BREAK -case 348: +case 350: YY_RULE_SETUP -#line 1778 "rwllexer.l" +#line 1787 "rwllexer.l" ECHO; YY_BREAK -#line 5087 "lex.rwly.c" +#line 5109 "lex.rwly.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -5378,7 +5400,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1922 ) + if ( yy_current_state >= 1935 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; @@ -5407,11 +5429,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1922 ) + if ( yy_current_state >= 1935 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 1921); + yy_is_jam = (yy_current_state == 1934); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -6264,7 +6286,7 @@ void rwlyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1778 "rwllexer.l" +#line 1787 "rwllexer.l" diff --git a/src/rwl.h b/src/rwl.h index 5e9520f8..1287c03c 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 15-mar-2024 - $connecterror:accept * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 7-mar-2024 - Development is now 3.1.3 @@ -1119,6 +1120,7 @@ struct rwl_main #define RWL_P4_STATSATIME 0x00040000 // $statsapptime:on #define RWL_P4_STATSDTIME 0x00080000 // $statsdbtime:on #define RWL_P4_CONERROK 0x00100000 // $connecterror:accept +#define RWL_P4_OERRSHOWOCI 0x00200000 // show OCI call causing ORA- error FILE *sqllogfile; @@ -2128,11 +2130,17 @@ struct rwl_error void rwlerror(rwl_main *, ub4, ...); void rwlexecerror(rwl_xeqenv *, rwl_location *, ub4, ...); void rwlsqlerrlin(rwl_xeqenv *, rwl_location *, rwl_sql *, ub4); -void rwldberror3(rwl_xeqenv *, rwl_location *, rwl_sql *, text *, ub4); -#define rwldberror0(x,l) rwldberror3(x,l,0,0,0) -#define rwldberror(x,l,s) rwldberror3(x,l,s,0,0) -#define rwldberror1(x,l,f) rwldberror3(x,l,0,f,0) -#define rwldberror2(x,l,s,f) rwldberror3(x,l,s,f,0) +void rwldberrorc3(rwl_xeqenv *, rwl_location *, text *, rwl_sql *, text *, ub4); +#define rwldberrorc0(x,l,c) rwldberrorc3(x,l,c,0,0,0) +#define rwldberrorc(x,l,c,s) rwldberrorc3(x,l,c,s,0,0) +#define rwldberrorc1(x,l,c,f) rwldberrorc3(x,l,c,0,f,0) +#define rwldberrorc2(x,l,c,s,f) rwldberrorc3(x,l,c,s,f,0) +// #define rwldberrorc3(x,l,c,s,f,d) rwldberrorc3(x,l,c,s,f,d) +#define rwldberror0(x,l) rwldberrorc3(x,l,0,0,0,0) +#define rwldberror(x,l,s) rwldberrorc3(x,l,0,s,0,0) +#define rwldberror1(x,l,f) rwldberrorc3(x,l,0,0,f,0) +#define rwldberror2(x,l,s,f) rwldberrorc3(x,l,0,s,f,0) +#define rwldberror3(x,l,s,f,d) rwldberrorc3(x,l,0,s,f,d) #define RWL_DBE3_NOPRINT RWL_SQFLAG_IGNERR // do not print #define RWL_DBE3_NOCTX RWL_SQFLAG_NOCTX // no full context #include "rwlerror.h" diff --git a/src/rwlerror.c b/src/rwlerror.c index b910cf41..a8106c33 100644 --- a/src/rwlerror.c +++ b/src/rwlerror.c @@ -11,6 +11,7 @@ * * History * + * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 27-mar-2024 - ora 12510 TNS:database temporarily lacks resources to handle the request * bengsig 15-mar-2024 - $connecterror:accept, 12537, 12547 * bengsig 12-feb-2024 - \r\n on Windows @@ -424,7 +425,9 @@ void rwldebugcodenonl(rwl_main *rwm, rwl_location *cloc, char *format, ...) fflush(stderr); } -void rwldberror3(rwl_xeqenv *xev, rwl_location * cloc, rwl_sql *sq, text *fname, ub4 dbe3f) +void rwldberrorc3(rwl_xeqenv *xev, rwl_location * cloc +, text *ociname +, rwl_sql *sq, text *fname, ub4 dbe3f) { text errbuf[RWL_OCI_ERROR_MAXMSG]; char *other; @@ -477,11 +480,19 @@ void rwldberror3(rwl_xeqenv *xev, rwl_location * cloc, rwl_sql *sq, text *fname, if (sq) { if (!bit(dbe3f,RWL_DBE3_NOPRINT)) + { rwlexecerror(xev, cloc, RWL_ERROR_ORA_ERROR_SQL, errcode, sq->vname , tloc.fname, tloc.lineno, xev->rwm->lineend, errbuf); + if (bit(xev->rwm->m4flags, RWL_P4_OERRSHOWOCI) && ociname) + rwlexecerror(xev, cloc, RWL_ERROR_PREVIOUS_WAS_OCI, errcode, ociname); + } } else + { rwlexecerror(xev, cloc, RWL_ERROR_ORA_ERROR_NOSQL, errcode, xev->rwm->lineend, errbuf); + if (bit(xev->rwm->m4flags, RWL_P4_OERRSHOWOCI) && ociname) + rwlexecerror(xev, cloc, RWL_ERROR_PREVIOUS_WAS_OCI, errcode, ociname); + } xev->oercount++; if ( bit(xev->rwm->m2flags,RWL_P2_OERSTATS) diff --git a/src/rwlerror.h b/src/rwlerror.h index dee25427..493aebfe 100644 --- a/src/rwlerror.h +++ b/src/rwlerror.h @@ -1802,6 +1802,12 @@ RWLEDESC("You are using a feature that not (currently) is available on your Oper "System. If you find a way to enable it, please provide a fix as a github" RWL_LINEEND "merge request") +#define RWL_ERROR_PREVIOUS_WAS_OCI 320 +RWLERROR("The previous ORA-%05d error was from calling %s", RWL_ERROR_WARNING) +RWLEDESC("When the $oraerror:showoci directive is in effect, this warning will be output" RWL_LINEEND +"after each ORA- error to show which Oracle Call Interface call was causing the" RWL_LINEEND +"error") + // When adding new errors, add them before these lines // and make sure the #define follows a format like // #define RWL_ERROR_whatever_reasonable_here NNN diff --git a/src/rwllexer.l b/src/rwllexer.l index b2221e98..e3718c97 100644 --- a/src/rwllexer.l +++ b/src/rwllexer.l @@ -11,6 +11,7 @@ * * History * + * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 15-mar-2024 - $connecterror:accept * bengsig 4-mar-2024 - atime, dtime * bengsig 29-feb-2024 - $filelinename directive @@ -981,6 +982,14 @@ if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_STOPONORA); } +\$oraerror:showoci { + if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_OERRSHOWOCI); + } + +\$oraerror:noshowoci { + if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_OERRSHOWOCI); + } + \$include:<(\\.|[^\>])*> | \$include:\"(\\.|[^\\"<>])*\" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) // not while generating diff --git a/src/rwlsql.c b/src/rwlsql.c index 0786d669..e6d5cde5 100644 --- a/src/rwlsql.c +++ b/src/rwlsql.c @@ -11,6 +11,7 @@ * * History * + * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 21-mar-2024 - fix reconnect * bengsig 15-mar-2024 - Also sqllogging after error * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it @@ -115,6 +116,7 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) sb4 ocires; ub4 myses = 0; ub4 maxdead = xev->rwm->dbfailures; + text *ociname = 0; /*assert*/ if ((vno = rwlfindvar(xev, db->vname, RWL_VAR_NOGUESS))<0) @@ -170,6 +172,7 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) rwlexecsevere(xev, cloc, "[rwldbconnect-allocserver:%s;%d]", db->vname, xev->status); goto cleanupandcanceldb; } + ociname = (text *)"OCIServerAttach"; if (OCI_SUCCESS != (xev->status=OCIServerAttach( db->srvhp, xev->errhp, db->connect, (sb4) db->conlen , (bit(db->flags,RWL_DB_USECPOOL) ? OCI_CPOOL: OCI_DEFAULT) ))) @@ -199,6 +202,7 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) , db->sbmode|OCI_STMT_CACHE ))) ) { + ociname = (text *)"OCISessionBegin"; if (OCI_SUCCESS_WITH_INFO == xev->status) /* typically ORA-28002 */ rwldberror0(xev, cloc); else @@ -241,6 +245,7 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) , db->password, (ub4)rwlstrlen(db->password) , OCI_SPC_STMTCACHE|OCI_SPC_HOMOGENEOUS))) { + ociname = (text *)"OCISessionPoolCreate"; if (OCI_SUCCESS_WITH_INFO == xev->status) /* typically ORA-28002 */ rwldberror0(xev, cloc); else @@ -322,6 +327,7 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) , db->password, (ub4)rwlstrlen(db->password) , spcmode))) { + ociname = (text *)"OCISessionPoolCreate"; if (OCI_SUCCESS_WITH_INFO == xev->status) /* typically ORA-28002 */ rwldberror0(xev, cloc); else @@ -464,6 +470,7 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) , db->password, (sb4)rwlstrlen(db->password) , OCI_DEFAULT))) { + ociname = (text *)"OCIConnectionPoolCreate"; if (OCI_SUCCESS_WITH_INFO == xev->status) /* typically ORA-28002 */ rwldberror0(xev, cloc); else @@ -537,7 +544,7 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) , db->password, (ub4) rwlstrlen(db->password) , db->cpstring, db->cpslen , OCI_LOGON2_CPOOL)) && OCI_SUCCESS_WITH_INFO!=xev->status) - rwldberror0(xev, cloc); + rwldberrorc0(xev, cloc, (text *)"OCILogon2"); else { if (OCI_SUCCESS != (xev->status = RWLServerRelease ( db->svchp @@ -725,11 +732,13 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) ) { xev->status = OCISessionEnd(db->svchp, xev->errhp, db->seshp, OCI_DEFAULT); + ociname = (text *)"OCISessionEnd"; if (OCI_SUCCESS!=xev->status) goto handledberror; /* and disconnect */ xev->status = OCIServerDetach( db->srvhp, xev->errhp, OCI_DEFAULT ); + ociname = (text *)"OCIServerDetach"; if (OCI_SUCCESS!=xev->status) goto handledberror; } @@ -760,7 +769,10 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) return; handledberror: - rwldberror0(xev, cloc); + if (ociname) + rwldberrorc0(xev, cloc, ociname); + else + rwldberror0(xev, cloc); if (!bit(db->flags, RWL_DB_DEAD)) // if not a recoverable error goto cleanupandcanceldb; @@ -794,7 +806,7 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) { xev->status = OCIServerDetach( db->srvhp, xev->errhp, OCI_DEFAULT ); if (OCI_SUCCESS != xev->status) - rwldberror0(xev, cloc); + rwldberrorc0(xev, cloc, (text *)"OCIServerDetach"); OCIHandleFree(db->srvhp, OCI_HTYPE_SERVER); } db->srvhp = 0; @@ -828,7 +840,7 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) { xev->status = OCIServerDetach( db->srvhp, xev->errhp, OCI_DEFAULT ); if (OCI_SUCCESS != xev->status) - rwldberror0(xev, cloc); + rwldberrorc0(xev, cloc, (text *)"OCIServerDetach"); ocires = OCIHandleFree(db->srvhp, OCI_HTYPE_SERVER); if (OCI_SUCCESS != ocires) rwlexecsevere(xev, cloc, "[rwldbconnect-freserver:%s;%d]", db->vname, ocires); @@ -903,7 +915,7 @@ void rwlociping(rwl_xeqenv *xev xev->status = OCIPing(db->svchp , xev->errhp, OCI_DEFAULT); RWL_OATIME_END if(OCI_SUCCESS != xev->status) - rwldberror1(xev, cloc, fname); + rwldberrorc1(xev, cloc, (text *)"OCIPing", fname); } return; } @@ -969,7 +981,7 @@ void rwlcommit2(rwl_xeqenv *xev xev->status = OCITransCommit(db->svchp , xev->errhp, OCI_DEFAULT); RWL_OATIME_END if (OCI_SUCCESS != xev->status) - rwldberror1(xev, cloc, fname); + rwldberrorc1(xev, cloc, (text *)"OCITransCommit", fname); else { bic(db->flags, RWL_DB_DIDDML); /* Mark that DML has been taken care of */ @@ -1034,7 +1046,7 @@ void rwlrollback2(rwl_xeqenv *xev xev->status = OCITransRollback(db->svchp , xev->errhp, OCI_DEFAULT); RWL_OATIME_END if (OCI_SUCCESS != xev->status) - rwldberror1(xev, cloc, fname); + rwldberrorc1(xev, cloc, (text *)"OCITransRollback", fname); else { bic(db->flags, RWL_DB_DIDDML); /* Mark that DML has been taken care of */ @@ -1074,6 +1086,7 @@ static void rwlexecsql(rwl_xeqenv *xev sb4 st; rwl_bindef *bd = 0; rwl_value *pnum = 0; + text *ociname = 0; rwldbclearerr(xev); /* execute a SQL statement once */ @@ -1120,7 +1133,7 @@ static void rwlexecsql(rwl_xeqenv *xev fputs((char *)xev->rwm->lineend,stderr); fflush(stderr); } - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCIStmtPrepare2", sq, fname); if (bit(db->flags, RWL_DB_DEAD)) goto failure; if (!bit(sq->flags, RWL_SQFLAG_IGNERR) @@ -1488,7 +1501,7 @@ static void rwlexecsql(rwl_xeqenv *xev else { ub2 poffset = 0; - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCIStmtExecute", sq, fname); if (bit(xev->rwm->m4flags,RWL_P4_SQLLOGGING)) rwlsqllogging(xev, cloc, sq, fname); if (bit(db->flags, RWL_DB_DEAD)) @@ -1829,6 +1842,7 @@ static void rwlexecsql(rwl_xeqenv *xev RWL_OATIME_BEGIN(xev, cloc, db->seshp, sq, fname, 1) xev->status = OCIStmtFetch2(stmhp, xev->errhp, 1, OCI_FETCH_NEXT, 0, OCI_DEFAULT); RWL_OATIME_END + ociname = (text *)"OCIStmtFetch2"; } else { @@ -1850,6 +1864,7 @@ static void rwlexecsql(rwl_xeqenv *xev , 0, (CONST OCISnapshot*)NULL, (OCISnapshot*)NULL, OCI_DEFAULT ); RWL_OATIME_END + ociname = (text *)"OCIStmtExecute"; } } #ifdef RWL_USE_SQL_ID @@ -1906,7 +1921,7 @@ static void rwlexecsql(rwl_xeqenv *xev else if (xev->status != OCI_NO_DATA) { ub2 poffset = 0; - rwldberror3(xev, cloc, sq, fname, bit(sq->flags, RWL_SQFLAG_IGNERR)); + rwldberrorc3(xev, cloc, ociname, sq, fname, bit(sq->flags, RWL_SQFLAG_IGNERR)); if (bit(db->flags, RWL_DB_DEAD)) goto failure; if (!bit(sq->flags, RWL_SQFLAG_IGNERR) @@ -1919,7 +1934,7 @@ static void rwlexecsql(rwl_xeqenv *xev } else // OCI_NO_DATA { - rwldberror3(xev, cloc, sq, fname, RWL_DBE3_NOPRINT); + rwldberrorc3(xev, cloc, ociname, sq, fname, RWL_DBE3_NOPRINT); if (dasiz && rftchd > 0) // semi filled array fetch rowcnt = found=1; } @@ -2271,7 +2286,7 @@ static void rwlexecsql(rwl_xeqenv *xev { /* We have sometime seen spurious parse error offests */ ub2 poffset = 0; - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCIStmtFetch2", sq, fname); if (bit(db->flags, RWL_DB_DEAD)) goto failure; /* get parse error offset ignoring possible error */ @@ -2303,7 +2318,7 @@ static void rwlexecsql(rwl_xeqenv *xev { /* We have sometime seen spurious parse error offests */ ub2 poffset = 0; - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCIStmtFetch2", sq, fname); if (bit(db->flags, RWL_DB_DEAD)) goto failure; /* get parse error offset ignoring possible error */ @@ -2637,7 +2652,7 @@ void rwlflushsql2(rwl_xeqenv *xev OCI_DEFAULT ))) { ub2 poffset = 0; - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCIStmtPrepare2", sq, fname); if (bit(db->flags, RWL_DB_DEAD)) return; if (!bit(sq->flags, RWL_SQFLAG_IGNERR) @@ -2836,7 +2851,7 @@ void rwlflushsql2(rwl_xeqenv *xev ub2 poffset = 0; if (bit(xev->rwm->m4flags,RWL_P4_SQLLOGGING)) rwlsqllogging(xev, cloc, sq, fname); - rwldberror3(xev, cloc, sq, fname, bit(sq->flags, RWL_SQFLAG_IGNERR)); + rwldberrorc3(xev, cloc, (text *)"OCIStmtExecute", sq, fname, bit(sq->flags, RWL_SQFLAG_IGNERR)); if (bit(db->flags, RWL_DB_DEAD)) goto failure; if (!bit(sq->flags, RWL_SQFLAG_IGNERR) @@ -2980,7 +2995,7 @@ void rwlsimplesql2(rwl_xeqenv *xev OCI_DEFAULT ))) { ub2 poffset = 0; - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCIStmtPrepare2", sq, fname); if (bit(db->flags, RWL_DB_DEAD)) goto failure; if (!bit(sq->flags, RWL_SQFLAG_IGNERR) @@ -3219,7 +3234,7 @@ ub4 rwlensuresession2(rwl_xeqenv *xev (sb4) db->conlen , (bit(db->flags,RWL_DB_USECPOOL) ? OCI_CPOOL: OCI_DEFAULT) ))) { - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCIServerAttach", sq, fname); return 0; } if (bit(xev->tflags, RWL_THR_DSQL)) @@ -3233,7 +3248,7 @@ ub4 rwlensuresession2(rwl_xeqenv *xev , db->sbmode|OCI_STMT_CACHE ); if (OCI_SUCCESS_WITH_INFO == xev->status) { - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCISessionBegin", sq, fname); xev->status=OCI_SUCCESS; } if ( (OCI_SUCCESS != xev->status) @@ -3354,7 +3369,7 @@ ub4 rwlensuresession2(rwl_xeqenv *xev &db->seshp, 0, OCI_ATTR_SESSION, xev->errhp))) { - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCISessionGet", sq, fname); return 0; } @@ -3438,7 +3453,7 @@ ub4 rwlensuresession2(rwl_xeqenv *xev return RWL_DBPOOL_UNAVAILABLE; } } - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCISessionGet", sq, fname); OCIAttrGet(db->spool, OCI_HTYPE_SPOOL, &ub4attr, 0, OCI_ATTR_SPOOL_BUSY_COUNT, xev->errhp); @@ -3599,7 +3614,7 @@ void rwlreleasesession2(rwl_xeqenv *xev , xev->errhp , OCI_DEFAULT) )) { - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCIPing", sq, fname); } } @@ -3677,12 +3692,12 @@ void rwlreleasesession2(rwl_xeqenv *xev /* logoff immediatedly if reconnect */ xev->status = OCISessionEnd(db->svchp, xev->errhp, db->seshp, OCI_DEFAULT); if (OCI_SUCCESS!=xev->status) - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCISessionEnd", sq, fname); /* and disconnect */ xev->status = OCIServerDetach( db->srvhp, xev->errhp, OCI_DEFAULT ); if (OCI_SUCCESS!=xev->status) - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCIServerDetach", sq, fname); } bic(db->flags, RWL_DB_INUSE | RWL_DB_DEAD); break; @@ -3701,7 +3716,7 @@ void rwlreleasesession2(rwl_xeqenv *xev OCISessionRelease(db->svchp, xev->errhp, (OraText *)0, 0, sesrelo))) && !bit(db->flags, RWL_DB_DEAD) ) - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCISessionRelease", sq, fname); db->svchp = 0; db->seshp = 0; @@ -3731,7 +3746,7 @@ void rwlreleasesession2(rwl_xeqenv *xev OCISessionRelease(db->svchp, xev->errhp, (OraText *)0, 0, sesrelo))) && !bit(db->flags, RWL_DB_DEAD) ) - rwldberror2(xev, cloc, sq, fname); + rwldberrorc2(xev, cloc, (text *)"OCISessionRelease", sq, fname); } else { @@ -3820,6 +3835,7 @@ void rwldbdisconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) { sb4 vno; sb4 ocires; + text *ociname = 0; /*assert*/ if ((vno = rwlfindvar(xev, db->vname, RWL_VAR_NOGUESS))<0) @@ -3904,6 +3920,7 @@ void rwldbdisconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) && (OCI_SUCCESS != (ocires = OCIHandleFree(db->seshp, OCI_HTYPE_SESSION)))) rwlexecsevere(xev, cloc, "[rwldbdisconnect-freesession2:%s;%d]", db->vname, ocires); db->svchp = 0; db->seshp = 0; + ociname = (text *)"OCISessionEnd"; if (!bit(db->flags, RWL_DB_DEAD) && OCI_SUCCESS!=xev->status) goto handledberror; @@ -3913,6 +3930,7 @@ void rwldbdisconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) && (OCI_SUCCESS != (ocires = OCIHandleFree(db->srvhp, OCI_HTYPE_SERVER)))) rwlexecsevere(xev, cloc, "[rwldbdisconnect-freeserver:%s;%d]", db->vname, ocires); db->srvhp = 0; + ociname = (text *)"OCIServerDetach"; if (!bit(db->flags, RWL_DB_DEAD) && OCI_SUCCESS!=xev->status) goto handledberror; break; @@ -3971,6 +3989,7 @@ void rwldbdisconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) && (OCI_SUCCESS != (ocires = OCIHandleFree(db->spool, OCI_HTYPE_SPOOL)))) rwlexecsevere(xev, cloc, "[rwldbdisconnect-freespool:%s;%d]", db->vname, ocires); db->spool = 0; + ociname = (text *)"OCISessionPoolDestroy"; // Ignore errors if we are dropping with release if (OCI_SUCCESS != xev->status && !bit(xev->tflags, RWL_P_SESRELDROP)) @@ -4003,7 +4022,10 @@ void rwldbdisconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) return; handledberror: - rwldberror0(xev, cloc); + if (ociname) + rwldberrorc0(xev, cloc, ociname); + else + rwldberror0(xev, cloc); xev->evar[vno].vtype = RWL_TYPE_CANCELLED; xev->evar[vno].stype = "cancelled (db)"; return; @@ -4288,7 +4310,7 @@ void rwlwritelob(rwl_xeqenv *xev RWL_OATIME_END if (OCI_SUCCESS != xev->status) { - rwldberror1(xev, loc, fname); + rwldberrorc1(xev, loc, (text *)"OCILobWrite2", fname); } RWL_OATIME_BEGIN(xev, loc, db->seshp, 0, fname, 1) xev->status = OCILobTrim2(db->svchp, xev->errhp, (void *)lobp @@ -4296,7 +4318,7 @@ void rwlwritelob(rwl_xeqenv *xev RWL_OATIME_END if (OCI_SUCCESS != xev->status) { - rwldberror1(xev, loc, fname); + rwldberrorc1(xev, loc, (text *)"OCILobTrim2", fname); } } @@ -4332,13 +4354,13 @@ void rwlwritelobo(rwl_xeqenv *xev , 0,0 , (ub2) 0, (ub1) SQLCS_IMPLICIT))) { - rwldberror1(xev, loc, fname); + rwldberrorc1(xev, loc, (text *)"OCILobWrite2", fname); } if (OCI_SUCCESS != (xev->status= OCILobTrim2(db->svchp, xev->errhp, (void *)lobp , amtp + (ub8) poff->ival - 1 ))) { - rwldberror1(xev, loc, fname); + rwldberrorc1(xev, loc, (text *)"OCILobTrim2", fname); } } @@ -4372,7 +4394,7 @@ void rwlreadlob(rwl_xeqenv *xev RWL_OATIME_END if (OCI_SUCCESS != xev->status) { - rwldberror1(xev, loc, fname); + rwldberrorc1(xev, loc, (text *)"OCILobRead2", fname); pres->sval[0] = 0; pres->ival=0; pres->dval=0.0; @@ -4438,7 +4460,7 @@ void rwlreadloblo(rwl_xeqenv *xev RWL_OATIME_END if (OCI_SUCCESS != xev->status) { - rwldberror1(xev, loc, fname); + rwldberrorc1(xev, loc, (text *)"OCILobRead2", fname); pres->sval[0] = 0; pres->ival=0; pres->dval=0.0; @@ -5272,7 +5294,7 @@ void rwldbmodsesp(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db, ub4 newlo, , 0,0 // db->password, (ub4)rwlstrlen(db->password) , OCI_SPC_REINITIALIZE))) { - rwldberror0(xev, cloc); + rwldberrorc0(xev, cloc, (text *)"OCISessionPoolCreate"); goto exitfrommoddb; } diff --git a/test/383.rwl b/test/383.rwl new file mode 100644 index 00000000..a75b1904 --- /dev/null +++ b/test/383.rwl @@ -0,0 +1,38 @@ +# test defined on cancelled stuff +# and now also test +$oraerror:showoci + +$include:"testuserinfo.rwl" + +database baddb + username test_user + password test_pass "This the wrong password" + connect test_cstring + sessionpool 1..1; + +$if defined(baddb) $then + printline "baddb is good"; +$else + printline "baddb is bad"; +$endif + +database gooddb + username test_user + password test_pass + connect test_cstring + sessionpool 1..1; + +$if defined(gooddb) $then + printline "gooddb is good"; +$else + printline "gooddb is bad"; +$endif + +random string array badarray ( "abc" 0 ); + +$if defined(badarray) $then + printline "badarray is good"; +$else + printline "badarray is bad"; +$endif + diff --git a/test/384.rwl b/test/384.rwl new file mode 100644 index 00000000..738b67e1 --- /dev/null +++ b/test/384.rwl @@ -0,0 +1,28 @@ +# threads global errors +# and now also test +$oraerror:showoci + +$include:"testuserinfo.rwl" +$include:"testdefault.rwl" + +integer human := 0; $userswitch:human + +$if human $then + $debugon:0x800 +$endif + +string threads global ename; +integer empno; +string dname; +integer threads global deptno := 10; + +for + select e.empno, e.ename, d.dname + from emp e join dept d + on e.deptno = d.deptno + where d.deptno=:deptno + order by e.empno; +loop + printline empno, ename; +end loop; + diff --git a/test/385.rwl b/test/385.rwl new file mode 100644 index 00000000..d7d63f3c --- /dev/null +++ b/test/385.rwl @@ -0,0 +1,26 @@ +# Test incorrect SQL error +# and also test: +$oraerror:showoci + +$include:"testuserinfo.rwl" +$include:"testpool.rwl" + +procedure haserror() + + integer ordno; + sql ins_err + insert into rwl_demo_ord(ordno) values (:1); + bind 1 ordno; + array 5; + end; + + + + ins_err; + + commit; + +end; + +haserror() at testpool; + diff --git a/test/test.sh b/test/test.sh index 5f488904..7ad9a2d5 100755 --- a/test/test.sh +++ b/test/test.sh @@ -47,7 +47,7 @@ then testlist="$*" else # note that 323..326 test CQN which we don't currently compile in - testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 400 401' + testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 400 401' fi diffokcount=0; diff --git a/test/testres/383.err.good b/test/testres/383.err.good new file mode 100644 index 00000000..536f1214 --- /dev/null +++ b/test/testres/383.err.good @@ -0,0 +1,4 @@ +RWL-080: error at [383.rwl;11]: oracle error 1017 +ORA-01017: invalid username/password; logon denied +RWL-320: warning at [383.rwl;11]: The previous ORA-01017 error was from calling OCISessionPoolCreate +RWL-030: error at [383.rwl;31]: all entries in 'badarray' are zero diff --git a/test/testres/383.out.good b/test/testres/383.out.good new file mode 100644 index 00000000..ea31c7cc --- /dev/null +++ b/test/testres/383.out.good @@ -0,0 +1,3 @@ +baddb is bad +gooddb is good +badarray is bad diff --git a/test/testres/384.err.good b/test/testres/384.err.good new file mode 100644 index 00000000..af6e7302 --- /dev/null +++ b/test/testres/384.err.good @@ -0,0 +1,4 @@ +RWL-100: error at [384.rwl;25]<-[384.rwl;27]: cannot use integer threads global 'deptno' as bind +RWL-079: error at [384.rwl;25]<-[384.rwl;27]: oracle error 1008 in 'sql#00041' declared at [384.rwl;20] +ORA-01008: not all variables bound +RWL-320: warning at [384.rwl;25]<-[384.rwl;27]: The previous ORA-01008 error was from calling OCIStmtExecute diff --git a/test/testres/384.out.good b/test/testres/384.out.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/385.err.good b/test/testres/385.err.good new file mode 100644 index 00000000..b546d71b --- /dev/null +++ b/test/testres/385.err.good @@ -0,0 +1,6 @@ +RWL-079: error at [385.rwl;11]<-[385.rwl;21]<-[385.rwl;25]: oracle error 1400 in 'ins_err' declared at [385.rwl;11] +ORA-01400: cannot insert NULL into ("RWLTEST"."RWL_DEMO_ORD"."ORDNO") +RWL-320: warning at [385.rwl;11]<-[385.rwl;21]<-[385.rwl;25]: The previous ORA-01400 error was from calling OCIStmtExecute +RWL-087: error at [385.rwl;11]<-[385.rwl;21]<-[385.rwl;25]: previous error was at line 1 position 41: +insert into rwl_demo_ord(ordno) values (:1) + * diff --git a/test/testres/385.out.good b/test/testres/385.out.good new file mode 100644 index 00000000..e69de29b From 601b48e7072737b7647b4f14b8ba714add38d747 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Fri, 5 Apr 2024 16:08:07 +0000 Subject: [PATCH 017/118] Few missing grants/synonyms --- admin/rwlgrants.sql | 2 ++ admin/rwlsynonyms.sql | 4 +++- docs/ERRORLIST.md | 5 +++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/admin/rwlgrants.sql b/admin/rwlgrants.sql index 36f5f303..dd693ead 100644 --- a/admin/rwlgrants.sql +++ b/admin/rwlgrants.sql @@ -5,6 +5,7 @@ -- as shown at https://oss.oracle.com/licenses/upl/ -- History +-- bengsig 5-apr-2023 - oltpxc -- bengsig 19-mar-2023 - cstorm -- bengsig 8-aug-2023 - Missing grant to PERSEC -- bengsig 2017 - Creation @@ -39,5 +40,6 @@ grant insert,select on OERSTATS to rwlpublic; grant insert,select on ashdata to rwlpublic; grant insert,select on rwlash to rwlpublic; grant insert,select on cstorm to rwlpublic; +grant insert,update,select on oltpxc to rwlpublic; grant select on runnumber_seq to rwlpublic; diff --git a/admin/rwlsynonyms.sql b/admin/rwlsynonyms.sql index 68f294fc..2b64441d 100644 --- a/admin/rwlsynonyms.sql +++ b/admin/rwlsynonyms.sql @@ -5,6 +5,7 @@ -- as shown at https://oss.oracle.com/licenses/upl/ -- History +-- bengsig 5-apr-2024 - cstorm, oltpxc -- bengsig 03-dec-2020 - Add ash -- bengsig 2017 - Creation @@ -24,4 +25,5 @@ create or replace synonym rwlash for rwloadsim.rwlash; create or replace synonym ashdata for rwloadsim.ashdata; create or replace synonym oerstats for rwloadsim.oerstats; create or replace synonym runnumber_seq for rwloadsim.runnumber_seq; - +create or replace synonym cstorm for rwloadsim.cstorm; +create or replace synonym oltpxc for rwloadsim.oltpxc; diff --git a/docs/ERRORLIST.md b/docs/ERRORLIST.md index 634d14b9..9d71b16b 100644 --- a/docs/ERRORLIST.md +++ b/docs/ERRORLIST.md @@ -1302,6 +1302,11 @@ You are using a feature that not (currently) is available on your Operating System. If you find a way to enable it, please provide a fix as a github merge request. +### RWL-320 warning: "The previous ORA-%05d error was from calling %s" +When the $oraerror:showoci directive is in effect, this warning will be output +after each ORA- error to show which Oracle Call Interface call was causing the +error. + ### RWL-600 internal error: '%s' An abnormal situation caused an internal error in rwloadsim. This is in most cases due to a programming error and it From 7a1abb442adaac520950c42e23ecc52f3eab02e8 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 8 Apr 2024 13:35:27 +0000 Subject: [PATCH 018/118] New aw_cols skew calculation --- oltp/aw_declarations.rwl | 9 +++++---- oltp/aw_sizeinfo.rwl | 12 +++++++----- oltp/oltp.rwl | 8 ++++---- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/oltp/aw_declarations.rwl b/oltp/aw_declarations.rwl index 4ee8b957..8fe10df4 100644 --- a/oltp/aw_declarations.rwl +++ b/oltp/aw_declarations.rwl @@ -5,6 +5,7 @@ # This file declares everything used by the # various artificial workloads: +# bengsig 8-apr-2024 - changed aw cols skew # bengsig 19-mar-2024 - cstorm # bengsig 24-feb-2024 - waitsec, cpusec # bengsig 19-dec-2023 - put xc_ignore_parsefailure in oltpxc @@ -274,8 +275,8 @@ $iformat:%ld # Just a precaution, this is the default # the first 10 columns in aw_cols.rwl # make aw_cols_skew sensible -if aw_cols_skew is not null and aw_cols_skew <= 1 then - aw_cols_skew := 1; +if aw_cols_skew is not null and aw_cols_skew <= 0 then + aw_cols_skew := 0; end if; # The aw_cols_query_factor is roughly the same as the @@ -314,10 +315,10 @@ $endif ) ? 10*(uniform(0.0,1.0) Date: Tue, 9 Apr 2024 12:27:08 +0000 Subject: [PATCH 019/118] printf k and K specifiers --- docs/refman/directive.html | 17 +- docs/refman/directives.html | 17 +- docs/refman/printfstatement.html | 73 +++++- man/man1rwl/printfstatement.1rwl | 36 ++- oltp/aw_cols.rwl | 4 +- oltp/aw_sizeinfo.rwl | 4 +- src/rwlmisc.c | 93 +++++-- test/386.rwl | 8 + test/387.rwl | 33 +++ test/test.sh | 2 +- test/testres/386.err.good | 0 test/testres/386.out.good | 35 +++ test/testres/387.err.good | 0 test/testres/387.out.good | 406 +++++++++++++++++++++++++++++++ 14 files changed, 691 insertions(+), 37 deletions(-) create mode 100644 test/386.rwl create mode 100644 test/387.rwl create mode 100644 test/testres/386.err.good create mode 100644 test/testres/386.out.good create mode 100644 test/testres/387.err.good create mode 100644 test/testres/387.out.good diff --git a/docs/refman/directive.html b/docs/refman/directive.html index 952695bc..81ce555e 100644 --- a/docs/refman/directive.html +++ b/docs/refman/directive.html @@ -1,5 +1,5 @@ - + @@ -303,6 +303,21 @@

    DIRECTIVES behavior using the second directive.

    +

    $oraerror:showoci +
    +$oraerror:noshowoci

    + +

    These directives are mostly +used for debugging as they control extra information when an +ORA- error is generated. The first directive tells rwloadsim +to show the name of the Oracle Call Interface call that was +executed when an ORA- error was received. Note that +currently this is only enabled for a subset of OCI calls; as +an example, if an OCIAttrGet or OCIAttrSet call throws an +ORA- error, this directive will have no effect. The second +directive turns this extra error detail off.

    + +

    $ora01013:continue
    $ora01013:stop

    diff --git a/docs/refman/directives.html b/docs/refman/directives.html index aedda185..81ce555e 100644 --- a/docs/refman/directives.html +++ b/docs/refman/directives.html @@ -1,5 +1,5 @@ - + @@ -303,6 +303,21 @@

    DIRECTIVES behavior using the second directive.

    +

    $oraerror:showoci +
    +$oraerror:noshowoci

    + +

    These directives are mostly +used for debugging as they control extra information when an +ORA- error is generated. The first directive tells rwloadsim +to show the name of the Oracle Call Interface call that was +executed when an ORA- error was received. Note that +currently this is only enabled for a subset of OCI calls; as +an example, if an OCIAttrGet or OCIAttrSet call throws an +ORA- error, this directive will have no effect. The second +directive turns this extra error detail off.

    + +

    $ora01013:continue
    $ora01013:stop

    diff --git a/docs/refman/printfstatement.html b/docs/refman/printfstatement.html index 68bcc4b2..8a5f2dd0 100644 --- a/docs/refman/printfstatement.html +++ b/docs/refman/printfstatement.html @@ -1,5 +1,5 @@ - + @@ -25,8 +25,10 @@

    printfstatement

    DESCRIPTION
    USAGE
    ENGINEERING NOTATION
    +COMPUTING SIZES
    NULL
    EXAMPLES
    +BUGS
    COPYRIGHT
    SEE ALSO
    @@ -86,8 +88,8 @@

    USAGE conversion specifiers starting with a % character. To output a terminating newline, the newline must be part of this concatenation. The characters after the % character are -interpreted identical to the equivalents in C with some -minor changes:

    +interpreted as their equivalents in C with some minor +changes:

    The flags generally work like in C and e.g. 0, - are @@ -104,7 +106,9 @@

    USAGE

    Only a limited set of standard conversion specifiers are useful: d, i or x for integers, e, f, -g for doubles and s for strings.

    +g for doubles and s for strings. In addition, +you can use m, M, k, K for +doubles to output values with SI prefixes.

    ENGINEERING NOTATION @@ -120,7 +124,7 @@

    ENGINEERING NOTATION same effect as for the standard e conversion implying the output will be rounded and have one more significant digit than given by the precision. The precision must be 2 -or higher, and the field width should not be set.

    +or higher.

    The symbol for micro, µ, i.e. 1e-6 is by default using the UTF-8 @@ -140,6 +144,41 @@

    ENGINEERING NOTATION after it. This can only happen if the precision is 2 and the absolute value to be output is at least 100.

    +

    COMPUTING SIZES + +

    + + +

    If the value to +be output represents a number of bytes or similar figure +that really are powers of 1024, you can use the k or +K conversion specificer, to create the output using +the explanation at +https://en.wikipedia.org/wiki/Binary_prefix. The former is +for factors of 1000, the latter for factors of 1024.

    + +

    If you use the +k specificer, the output is the same as using the +m specifier with an additional letter ’i’ +after the SI prefix. Examples are Ki for kibi, Gi for gibi, +etc. Values less than zero or larger than 1e32 are output +using exponential notation, values between 0 and 1 are +output as an integer 0 and values between 1 and 1000 are +output as an integer with a space in stead of the +’i’.

    + +

    If you use the +K specificer, the output is scaled by a power of 1024 +before being output without an additional ’i’ +after the SI prefix. As just one example, the value 1025 is +output as 1.000K if the format is %.3K. Values less than +zero or larger than 1e32 are output using exponential +notation, values between 0 and 1 are output as an integer 0 +and values between 1 and 1024 are output as an integer.

    + +

    In either case, +there is no space between the value and the SI prefix.

    +

    NULL

    @@ -178,12 +217,15 @@

    EXAMPLES # are provided as parameters printf "|%-*.*f|\n", a/3,b,x; - # Show append to existing string # with negative field width causing # left justification sprintf || s,"=%*d|", -b, a; -printline s; +printline s; + + +# Show computer notation +printf "The speed is %.2Kbps\n", 2.5e9;

    the following @@ -192,7 +234,8 @@

    EXAMPLES
    |0000042||
     |0000042|null|
     |12.3457       |
    -fourtytwo=42  |
    +fourtytwo=42 | +The speed is 2.33Gbps

    The following @@ -216,20 +259,30 @@

    EXAMPLES printf "the time is %.3ms\n", tt; -

    while will +

    which will produce this output with the µ symbol in its UTF-8 representation.

    the time is 12.34µs
    +

    BUGS + +

    + + +

    Computing sizes +include the R and Q prefixes that not yet are officially in +use. Who knows when Ribi or even Qibi size computers will be +available?

    +

    COPYRIGHT

    Copyright -© 2023 Oracle Corporation
    +© 2024 Oracle Corporation
    Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl

    diff --git a/man/man1rwl/printfstatement.1rwl b/man/man1rwl/printfstatement.1rwl index 7fddabe3..850b5308 100644 --- a/man/man1rwl/printfstatement.1rwl +++ b/man/man1rwl/printfstatement.1rwl @@ -28,7 +28,7 @@ All four require at least one concatenation as argument which normally consists of characters to be output combined with conversion specifiers starting with a % character. To output a terminating newline, the newline must be part of this concatenation. -The characters after the % character are interpreted identical to the equivalents +The characters after the % character are interpreted as their equivalents in C with some minor changes: .P The flags generally work like in C and e.g. \fB0\fR, \fB-\fR are useful to 0-pad @@ -41,6 +41,8 @@ Neither of these can use an integer followed by \fB$\fR to ask for a specific ar .P Only a limited set of standard conversion specifiers are useful: \fBd\fR, \fBi\fR or \fBx\fR for integers, \fBe\fR, \fBf\fR, \fBg\fR for doubles and \fBs\fR for strings. +In addition, you can use \fBm\fR, \fBM\fR, \fBk\fR, \fBK\fR for doubles to output values with +SI prefixes. .SH "ENGINEERING NOTATION" You can output double values using engineering notation, i.e. with an SI prefix such as k for kilo, n for nano, etc. @@ -48,7 +50,7 @@ This is done using the \fBm\fR or \fBM\fR conversion specifier, and is useful wh the absolute value is in the range [1.0e-30;9.99e+32] or is exactly zero. The precision has the same effect as for the standard \fBe\fR conversion implying the output will be rounded and have one more significant digit than given by the precision. -The precision must be 2 or higher, and the field width should not be set. +The precision must be 2 or higher. .P The symbol for micro, \[mc], i.e. 1e-6 is by default using the UTF-8 encoding, which is the two hexadecimal values 0xc2 and 0xb5; you must use the $musymbol directive to change this if your terminal @@ -59,6 +61,25 @@ while the \fBm\fR outputs the SI-prefix directly after the number. .P The decimal point is not output if no significant digits are output after it. This can only happen if the precision is 2 and the absolute value to be output is at least 100. +.SH "COMPUTING SIZES" +If the value to be output represents a number of bytes or similar figure that really are powers of 1024, +you can use the \fBk\fR or \fBK\fR conversion specificer, +to create the output using the explanation at https://en.wikipedia.org/wiki/Binary_prefix. +The former is for factors of 1000, the latter for factors of 1024. +.P +If you use the \fBk\fR specificer, the output is the same as using the \fBm\fR specifier +with an additional letter 'i' after the SI prefix. +Examples are Ki for kibi, Gi for gibi, etc. +Values less than zero or larger than 1e32 are output using exponential notation, values between 0 and 1 +are output as an integer 0 and values between 1 and 1000 are output as an integer with a space in stead of the 'i'. +.P +If you use the \fBK\fR specificer, the output is scaled by a power of 1024 +before being output without an additional 'i' after the SI prefix. +As just one example, the value 1025 is output as 1.000K if the format is %.3K. +Values less than zero or larger than 1e32 are output using exponential notation, values between 0 and 1 +are output as an integer 0 and values between 1 and 1024 are output as an integer. +.P +In either case, there is no space between the value and the SI prefix. .SH NULL In rwloadsim, integer and double can be null and such values will by default be output as the empty string. @@ -91,6 +112,9 @@ printf "|%-*.*f|\\n", a/3,b,x; # left justification sprintf || s,"=%*d|", -b, a; printline s; + +# Show computer notation +printf "The speed is %.2Kbps\\n", 2.5e9; \fR .fi .P @@ -102,6 +126,7 @@ the following output will be produced |0000042|null| |12.3457 | fourtytwo=42 | +The speed is 2.33Gbps \fR .fi .P @@ -132,15 +157,18 @@ printf "the time is %.3ms\\n", tt; \fR .fi .P -while will produce this output with the \[mc] symbol in its UTF-8 representation. +which will produce this output with the \[mc] symbol in its UTF-8 representation. .P .nf \fC the time is 12.34\[mc]s \fR .fi +.SH BUGS +Computing sizes include the R and Q prefixes that not yet are officially in use. +Who knows when Ribi or even Qibi size computers will be available? .SH COPYRIGHT -Copyright \(co 2023 Oracle Corporation +Copyright \(co 2024 Oracle Corporation .br Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl diff --git a/oltp/aw_cols.rwl b/oltp/aw_cols.rwl index cea2925e..89cef083 100644 --- a/oltp/aw_cols.rwl +++ b/oltp/aw_cols.rwl @@ -221,7 +221,7 @@ execute at rwl_aw_create commit; cnt := cnt * 2; approxsize := approxsize * 2; - printf "%d rows out of %d (about %.2miB) in aw_cols\n", cnt, tot, approxsize; + printf "%d rows out of %d (about %.2KB) in aw_cols\n", cnt, tot, approxsize; end loop; # Gather statistics @@ -239,7 +239,7 @@ execute at rwl_aw_create define 1 aw_cols_size; end; aw_cols_mb_qry; - printf "Actual size for aw_cols is %.3miB\n",aw_cols_size; + printf "Actual size for aw_cols is %.3KB\n",aw_cols_size; printline "gather table statistics in aw_cols"; aw_stats; diff --git a/oltp/aw_sizeinfo.rwl b/oltp/aw_sizeinfo.rwl index 4ddb0780..aa313204 100644 --- a/oltp/aw_sizeinfo.rwl +++ b/oltp/aw_sizeinfo.rwl @@ -23,9 +23,9 @@ segment_name = 'AW_COLS' at rwl_aw1; if aw_cols_skew is null or aw_cols_skew <= 0 then - printf "Uniform access to %.2miB in aw_cols\n", aw_cols_size; + printf "Uniform access to %.2KB in aw_cols\n", aw_cols_size; else - printf "Skew access to %.2mB aw_cols: %.0f%% accesses %.2mB, %.0f%%: %.2mB, %.0f%%: %.2mB %.0f%%: %.2mB\n" + printf "Skew access to %.2KB aw_cols: %.0f%% accesses %.2KB, %.0f%%: %.2KB, %.0f%%: %.2KB %.0f%%: %.2KB\n" , aw_cols_size , 95, exp(0.95,1.0+aw_cols_skew)*aw_cols_size , 90, exp(0.90,1.0+aw_cols_skew)*aw_cols_size diff --git a/src/rwlmisc.c b/src/rwlmisc.c index f1ce026a..fa57079c 100644 --- a/src/rwlmisc.c +++ b/src/rwlmisc.c @@ -14,6 +14,7 @@ * * History * + * bengsig 9-apr-2024 - Add k K printf specifier for bytes/Bytes * bengsig 25-mar-2024 - everyuntil is not internal * bengsig 4-mar-2024 - atime, dtime * bengsig 29-feb-2024 - Fix rwlunixepoch, rwlgetrusage on Windows @@ -2995,6 +2996,11 @@ ub4 rwlreadline(rwl_xeqenv *xev, rwl_location *loc, rwl_identifier *fil, rwl_idl return 0; } +// bits used by rwlpfeng +#define RWL_PFE_UPPERKILO 0x0004 // use K for kilo +#define RWL_PFE_SCALE1024 0x0002 // scale by a power of 1.024 +#define RWL_PFE_ADDSPACE 0x0001 // add a space after value + /* * rwldoprintf implements both sprintf (to string) * and fprintf (to file) @@ -3392,6 +3398,8 @@ void rwldoprintf(rwl_xeqenv *xev case 'G': case 'M': case 'm': + case 'k': + case 'K': typ = RWL_TYPE_DBL; goto endofspecifier; @@ -3482,18 +3490,53 @@ void rwldoprintf(rwl_xeqenv *xev rwlcallpf(ytformat, null, 18); break; case RWL_NVL_ZERO: - rwlpfaddc((text)(('M'==c || 'm'==c) ? (text) 'f' : c), 19); + rwlpfaddc((text)(('M'==c || 'm'==c || 'K' == c || 'k'==c) ? (text) 'f' : c), 19); rwlcallpf(ytformat, 0.0, 20); break; } } else { - if ('M'==c || 'm'==c) + if ('K' == c || 'k'==c) + { + text engbuf[RWL_PFBUF]; + ub4 Kbit = ('K' == c ? RWL_PFE_SCALE1024 : 0); + if (anum.dval<0.0 || anum.dval>1e32) + { + rwlpfaddc('e', 27); + rwlpfaddc('i', 28); + rwlcallpf(ytformat, anum.dval, 29); + } + else if (anum.dval< (Kbit ? 1024.0 : 1000.0)) + { + if (dotpos) // no precision in string when ENG + yf = dotpos; + rwlpfaddc('l', 30); +#ifdef RWL_SB8PRINTFLENGTH + rwlpfaddc(RWL_SB8PRINTFLENGTH, 31); +#endif + rwlpfaddc('i', 32); + if (!Kbit) + rwlpfaddc(' ', 33); + rwlcallpf(ytformat, anum.ival, 34); + } + else + { + rwlpfeng(xev->rwm, engbuf, sizeof(engbuf), anum.dval + , prc <= 0 ? 3 : prc, RWL_PFE_UPPERKILO | Kbit ); + if (dotpos) // no precision in string when ENG + yf = dotpos; + rwlpfaddc('s', 21); + if (!Kbit) + rwlpfaddc('i',35); + rwlcallpf(ytformat, engbuf, 22); + } + } + else if ('M'==c || 'm'==c) { text engbuf[RWL_PFBUF]; rwlpfeng(xev->rwm, engbuf, sizeof(engbuf), anum.dval - , prc <= 0 ? 3 : prc,'M'==c); + , prc <= 0 ? 3 : prc, ('M'==c ? RWL_PFE_ADDSPACE : 0) ); if (dotpos) // no precision in string when ENG yf = dotpos; rwlpfaddc('s', 21); @@ -4669,7 +4712,7 @@ void rwlpfeng(rwl_main *rwm , ub4 len , double val , sb4 prc -, ub4 spc) +, ub4 fbits) { text *es, *expos, *dpos; sb4 exval, dmov; @@ -4682,14 +4725,6 @@ void rwlpfeng(rwl_main *rwm // do most of the work using snprintf snprintf((char *)buf, len, "%.*e", prc, val); - - // Does it fit? - // Can it hold minus, decimal point, e+NNN, prc+1 digits, null: - if ((ub4)prc+9 >len) - return; - // Can it hold minus, decimal point, musymbol, prc+1 digits, space, null: - if ((ub4)prc+5+rwm->musymlen >len) - return; // buf is now something like // -1.23456e+10 @@ -4703,6 +4738,32 @@ void rwlpfeng(rwl_main *rwm exval = atoi((char *)expos+1); // exponent as an integer + if (bit(fbits,0x2) && exval>=3) + { + sb4 d1024 = exval; + // divide by 1.024 exval/3 times + while (d1024>0) + { + val /= 1.024; + d1024 -= 3; + } + // re-format the modified value + snprintf((char *)buf, len, "%.*e", prc, val); + if (!((expos = rwlstrchr(buf, 'e')))) + return; + if (!((dpos = rwlstrchr(buf, '.')))) + return; + exval = atoi((char *)expos+1); + } + + // Does it fit? + // Can it hold minus, decimal point, e+NNN, prc+1 digits, null: + if ((ub4)prc+9 >len) + return; + // Can it hold minus, decimal point, musymbol, prc+1 digits, space, null: + if ((ub4)prc+5+rwm->musymlen >len) + return; + // In the proper range, set the SI prefix and the number of positions to move the decimal point switch (exval) { @@ -4750,9 +4811,9 @@ void rwlpfeng(rwl_main *rwm case 1: dmov=1; es = (text *)""; break; case 2: dmov=2; es = (text *)""; break; - case 3: dmov=0; es = (text *)"k"; break; - case 4: dmov=1; es = (text *)"k"; break; - case 5: dmov=2; es = (text *)"k"; break; + case 3: dmov=0; es = (text *) (bit(fbits,0x4) ? "K" : "k"); break; + case 4: dmov=1; es = (text *) (bit(fbits,0x4) ? "K" : "k"); break; + case 5: dmov=2; es = (text *) (bit(fbits,0x4) ? "K" : "k"); break; case 6: dmov=0; es = (text *)"M"; break; case 7: dmov=1; es = (text *)"M"; break; @@ -4819,7 +4880,7 @@ void rwlpfeng(rwl_main *rwm } // User was using %.NM for extra space - if (spc) + if (bit(fbits,0x1)) *expos++ = (text) ' '; // overwrite the exponent with the SI prefix diff --git a/test/386.rwl b/test/386.rwl new file mode 100644 index 00000000..74ccb7da --- /dev/null +++ b/test/386.rwl @@ -0,0 +1,8 @@ +# test k printf format for bytes + +double x := 0.001; + +while x < 1e35 loop + printf "%.20e %8.2kB %.3kB %.2kB %.3kB\n", x, x, x, x, -x; + x := x*13; +end loop; diff --git a/test/387.rwl b/test/387.rwl new file mode 100644 index 00000000..89f54c34 --- /dev/null +++ b/test/387.rwl @@ -0,0 +1,33 @@ +# test K printf format for bytes + +double x := 0.001; + +while x < 1e35 loop + printf "%.20e %8.2KB %.3KB %.2KB %.3KB\n", x, x, x, x, -x; + x := x*13; +end loop; + +x := 1.0e+3; +while x < 1.2e+3 loop + printf "%.20e %8.2KB %.3KB %.2KB %.3KB\n", x, x, x, x, -x; + x := x*1.002; +end loop; + +x := 1.0e+6; +while x < 1.2e+6 loop + printf "%.20e %8.2KB %.3KB %.2KB %.3KB\n", x, x, x, x, -x; + x := x*1.002; +end loop; + +x := 1.0e+9; +while x < 1.4e+9 loop + printf "%.20e %8.2KB %.3KB %.2KB %.3KB\n", x, x, x, x, -x; + x := x*1.002; +end loop; + +x := 1.0e+12; +while x < 2.4e+12 loop + printf "%.20e %8.2KB %.3KB %.2KB %.3KB\n", x, x, x, x, -x; + x := x*1.05; +end loop; + diff --git a/test/test.sh b/test/test.sh index 7ad9a2d5..a75c6df5 100755 --- a/test/test.sh +++ b/test/test.sh @@ -47,7 +47,7 @@ then testlist="$*" else # note that 323..326 test CQN which we don't currently compile in - testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 400 401' + testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 400 401' fi diffokcount=0; diff --git a/test/testres/386.err.good b/test/testres/386.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/386.out.good b/test/testres/386.out.good new file mode 100644 index 00000000..2f17e3bb --- /dev/null +++ b/test/testres/386.out.good @@ -0,0 +1,35 @@ +1.00000000000000002082e-03 0 B 0 B 0 B -1.000e-03iB +1.30000000000000011380e-02 0 B 0 B 0 B -1.300e-02iB +1.69000000000000011324e-01 0 B 0 B 0 B -1.690e-01iB +2.19700000000000006395e+00 2 B 2 B 2 B -2.197e+00iB +2.85609999999999999432e+01 28 B 28 B 28 B -2.856e+01iB +3.71293000000000006366e+02 371 B 371 B 371 B -3.713e+02iB +4.82680900000000019645e+03 4.83KiB 4.827KiB 4.83KiB -4.827e+03iB +6.27485169999999998254e+04 62.7KiB 62.75KiB 62.7KiB -6.275e+04iB +8.15730721000000019558e+05 816KiB 815.7KiB 816KiB -8.157e+05iB +1.06044993729999996722e+07 10.6MiB 10.60MiB 10.6MiB -1.060e+07iB +1.37858491849000006914e+08 138MiB 137.9MiB 138MiB -1.379e+08iB +1.79216039403700017929e+09 1.79GiB 1.792GiB 1.79GiB -1.792e+09iB +2.32980851224810028076e+10 23.3GiB 23.30GiB 23.3GiB -2.330e+10iB +3.02875106592253051758e+11 303GiB 302.9GiB 303GiB -3.029e+11iB +3.93737638569928955078e+12 3.94TiB 3.937TiB 3.94TiB -3.937e+12iB +5.11858930140907656250e+13 51.2TiB 51.19TiB 51.2TiB -5.119e+13iB +6.65416609183180000000e+14 665TiB 665.4TiB 665TiB -6.654e+14iB +8.65041591938134000000e+15 8.65PiB 8.650PiB 8.65PiB -8.650e+15iB +1.12455406951957424000e+17 112PiB 112.5PiB 112PiB -1.125e+17iB +1.46192029037544652800e+18 1.46EiB 1.462EiB 1.46EiB -1.462e+18iB +1.90049637748808048640e+19 19.0EiB 19.00EiB 19.0EiB -1.900e+19iB +2.47064529073450450944e+20 247EiB 247.1EiB 247EiB -2.471e+20iB +3.21183887795485566566e+21 3.21ZiB 3.212ZiB 3.21ZiB -3.212e+21iB +4.17539054134131257508e+22 41.8ZiB 41.75ZiB 41.8ZiB -4.175e+22iB +5.42800770374370617983e+23 543ZiB 542.8ZiB 543ZiB -5.428e+23iB +7.05641001486681803378e+24 7.06YiB 7.056YiB 7.06YiB -7.056e+24iB +9.17333301932686301442e+25 91.7YiB 91.73YiB 91.7YiB -9.173e+25iB +1.19253329251249215751e+27 1.19RiB 1.193RiB 1.19RiB -1.193e+27iB +1.55029328026623977728e+28 15.5RiB 15.50RiB 15.5RiB -1.550e+28iB +2.01538126434611188639e+29 202RiB 201.5RiB 202RiB -2.015e+29iB +2.61999564364994545230e+30 2.62QiB 2.620QiB 2.62QiB -2.620e+30iB +3.40599433674492897540e+31 34.1QiB 34.06QiB 34.1QiB -3.406e+31iB +4.42779263776840757795e+32 4.43e+32iB 4.428e+32iB 4.43e+32iB -4.428e+32iB +5.75613042909892999545e+33 5.76e+33iB 5.756e+33iB 5.76e+33iB -5.756e+33iB +7.48296955782860864821e+34 7.48e+34iB 7.483e+34iB 7.48e+34iB -7.483e+34iB diff --git a/test/testres/387.err.good b/test/testres/387.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/387.out.good b/test/testres/387.out.good new file mode 100644 index 00000000..7fb3b99e --- /dev/null +++ b/test/testres/387.out.good @@ -0,0 +1,406 @@ +1.00000000000000002082e-03 0B 0B 0B -1.000e-03iB +1.30000000000000011380e-02 0B 0B 0B -1.300e-02iB +1.69000000000000011324e-01 0B 0B 0B -1.690e-01iB +2.19700000000000006395e+00 2B 2B 2B -2.197e+00iB +2.85609999999999999432e+01 28B 28B 28B -2.856e+01iB +3.71293000000000006366e+02 371B 371B 371B -3.713e+02iB +4.82680900000000019645e+03 4.71KB 4.714KB 4.71KB -4.827e+03iB +6.27485169999999998254e+04 59.8KB 59.84KB 59.8KB -6.275e+04iB +8.15730721000000019558e+05 778KB 777.9KB 778KB -8.157e+05iB +1.06044993729999996722e+07 9.88MB 9.876MB 9.88MB -1.060e+07iB +1.37858491849000006914e+08 128MB 128.4MB 128MB -1.379e+08iB +1.79216039403700017929e+09 1.67GB 1.669GB 1.67GB -1.792e+09iB +2.32980851224810028076e+10 21.2GB 21.19GB 21.2GB -2.330e+10iB +3.02875106592253051758e+11 275GB 275.5GB 275GB -3.029e+11iB +3.93737638569928955078e+12 3.58TB 3.581TB 3.58TB -3.937e+12iB +5.11858930140907656250e+13 45.5TB 45.46TB 45.5TB -5.119e+13iB +6.65416609183180000000e+14 591TB 591.0TB 591TB -6.654e+14iB +8.65041591938134000000e+15 7.68PB 7.683PB 7.68PB -8.650e+15iB +1.12455406951957424000e+17 97.5PB 97.54PB 97.5PB -1.125e+17iB +1.46192029037544652800e+18 1.27EB 1.268EB 1.27EB -1.462e+18iB +1.90049637748808048640e+19 16.1EB 16.10EB 16.1EB -1.900e+19iB +2.47064529073450450944e+20 209EB 209.3EB 209EB -2.471e+20iB +3.21183887795485566566e+21 2.72ZB 2.721ZB 2.72ZB -3.212e+21iB +4.17539054134131257508e+22 34.5ZB 34.54ZB 34.5ZB -4.175e+22iB +5.42800770374370617983e+23 449ZB 449.0ZB 449ZB -5.428e+23iB +7.05641001486681803378e+24 5.84YB 5.837YB 5.84YB -7.056e+24iB +9.17333301932686301442e+25 74.1YB 74.10YB 74.1YB -9.173e+25iB +1.19253329251249215751e+27 963YB 963.3YB 963YB -1.193e+27iB +1.55029328026623977728e+28 12.2RB 12.23RB 12.2RB -1.550e+28iB +2.01538126434611188639e+29 159RB 159.0RB 159RB -2.015e+29iB +2.61999564364994545230e+30 2.07QB 2.067QB 2.07QB -2.620e+30iB +3.40599433674492897540e+31 26.2QB 26.24QB 26.2QB -3.406e+31iB +4.42779263776840757795e+32 4.43e+32iB 4.428e+32iB 4.43e+32iB -4.428e+32iB +5.75613042909892999545e+33 5.76e+33iB 5.756e+33iB 5.76e+33iB -5.756e+33iB +7.48296955782860864821e+34 7.48e+34iB 7.483e+34iB 7.48e+34iB -7.483e+34iB +1.00000000000000000000e+03 1000B 1000B 1000B -1.000e+03iB +1.00200000000000000000e+03 1002B 1002B 1002B -1.002e+03iB +1.00400400000000001910e+03 1004B 1004B 1004B -1.004e+03iB +1.00601200800000003710e+03 1006B 1006B 1006B -1.006e+03iB +1.00802403201600009197e+03 1008B 1008B 1008B -1.008e+03iB +1.01004008008003211216e+03 1010B 1010B 1010B -1.010e+03iB +1.01206016024019220367e+03 1012B 1012B 1012B -1.012e+03iB +1.01408428056067259604e+03 1014B 1014B 1014B -1.014e+03iB +1.01611244912179392941e+03 1016B 1016B 1016B -1.016e+03iB +1.01814467402003754160e+03 1018B 1018B 1018B -1.018e+03iB +1.02018096336807764146e+03 1020B 1020B 1020B -1.020e+03iB +1.02222132529481382335e+03 1022B 1022B 1022B -1.022e+03iB +1.02426576794540346782e+03 1.00KB 1.000KB 1.00KB -1.024e+03iB +1.02631429948129425611e+03 1.00KB 1.002KB 1.00KB -1.026e+03iB +1.02836692808025691193e+03 1.00KB 1.004KB 1.00KB -1.028e+03iB +1.03042366193641737482e+03 1.01KB 1.006KB 1.01KB -1.030e+03iB +1.03248450926029022412e+03 1.01KB 1.008KB 1.01KB -1.032e+03iB +1.03454947827881073863e+03 1.01KB 1.010KB 1.01KB -1.035e+03iB +1.03661857723536832054e+03 1.01KB 1.012KB 1.01KB -1.037e+03iB +1.03869181438983900989e+03 1.01KB 1.014KB 1.01KB -1.039e+03iB +1.04076919801861868109e+03 1.02KB 1.016KB 1.02KB -1.041e+03iB +1.04285073641465601213e+03 1.02KB 1.018KB 1.02KB -1.043e+03iB +1.04493643788748522638e+03 1.02KB 1.020KB 1.02KB -1.045e+03iB +1.04702631076326019866e+03 1.02KB 1.022KB 1.02KB -1.047e+03iB +1.04912036338478674224e+03 1.02KB 1.025KB 1.02KB -1.049e+03iB +1.05121860411155626025e+03 1.03KB 1.027KB 1.03KB -1.051e+03iB +1.05332104131977939687e+03 1.03KB 1.029KB 1.03KB -1.053e+03iB +1.05542768340241900660e+03 1.03KB 1.031KB 1.03KB -1.055e+03iB +1.05753853876922380550e+03 1.03KB 1.033KB 1.03KB -1.058e+03iB +1.05965361584676224993e+03 1.03KB 1.035KB 1.03KB -1.060e+03iB +1.06177292307845573305e+03 1.04KB 1.037KB 1.04KB -1.062e+03iB +1.06389646892461269090e+03 1.04KB 1.039KB 1.04KB -1.064e+03iB +1.06602426186246202633e+03 1.04KB 1.041KB 1.04KB -1.066e+03iB +1.06815631038618698767e+03 1.04KB 1.043KB 1.04KB -1.068e+03iB +1.07029262300695927479e+03 1.05KB 1.045KB 1.05KB -1.070e+03iB +1.07243320825297314514e+03 1.05KB 1.047KB 1.05KB -1.072e+03iB +1.07457807466947906505e+03 1.05KB 1.049KB 1.05KB -1.075e+03iB +1.07672723081881804319e+03 1.05KB 1.051KB 1.05KB -1.077e+03iB +1.07888068528045573657e+03 1.05KB 1.054KB 1.05KB -1.079e+03iB +1.08103844665101655664e+03 1.06KB 1.056KB 1.06KB -1.081e+03iB +1.08320052354431868480e+03 1.06KB 1.058KB 1.06KB -1.083e+03iB +1.08536692459140726896e+03 1.06KB 1.060KB 1.06KB -1.085e+03iB +1.08753765844059012124e+03 1.06KB 1.062KB 1.06KB -1.088e+03iB +1.08971273375747136924e+03 1.06KB 1.064KB 1.06KB -1.090e+03iB +1.09189215922498624423e+03 1.07KB 1.066KB 1.07KB -1.092e+03iB +1.09407594354343632403e+03 1.07KB 1.068KB 1.07KB -1.094e+03iB +1.09626409543052318440e+03 1.07KB 1.071KB 1.07KB -1.096e+03iB +1.09845662362138432400e+03 1.07KB 1.073KB 1.07KB -1.098e+03iB +1.10065353686862704308e+03 1.07KB 1.075KB 1.07KB -1.101e+03iB +1.10285484394236436856e+03 1.08KB 1.077KB 1.08KB -1.103e+03iB +1.10506055363024916005e+03 1.08KB 1.079KB 1.08KB -1.105e+03iB +1.10727067473750958015e+03 1.08KB 1.081KB 1.08KB -1.107e+03iB +1.10948521608698456475e+03 1.08KB 1.083KB 1.08KB -1.109e+03iB +1.11170418651915861119e+03 1.09KB 1.086KB 1.09KB -1.112e+03iB +1.11392759489219702118e+03 1.09KB 1.088KB 1.09KB -1.114e+03iB +1.11615545008198137111e+03 1.09KB 1.090KB 1.09KB -1.116e+03iB +1.11838776098214543708e+03 1.09KB 1.092KB 1.09KB -1.118e+03iB +1.12062453650410975570e+03 1.09KB 1.094KB 1.09KB -1.121e+03iB +1.12286578557711800386e+03 1.10KB 1.097KB 1.10KB -1.123e+03iB +1.12511151714827224168e+03 1.10KB 1.099KB 1.10KB -1.125e+03iB +1.12736174018256883755e+03 1.10KB 1.101KB 1.10KB -1.127e+03iB +1.12961646366293393839e+03 1.10KB 1.103KB 1.10KB -1.130e+03iB +1.13187569659025984947e+03 1.11KB 1.105KB 1.11KB -1.132e+03iB +1.13413944798344027731e+03 1.11KB 1.108KB 1.11KB -1.134e+03iB +1.13640772687940716423e+03 1.11KB 1.110KB 1.11KB -1.136e+03iB +1.13868054233316593127e+03 1.11KB 1.112KB 1.11KB -1.139e+03iB +1.14095790341783231270e+03 1.11KB 1.114KB 1.11KB -1.141e+03iB +1.14323981922466805372e+03 1.12KB 1.116KB 1.12KB -1.143e+03iB +1.14552629886311729024e+03 1.12KB 1.119KB 1.12KB -1.146e+03iB +1.14781735146084361077e+03 1.12KB 1.121KB 1.12KB -1.148e+03iB +1.15011298616376529935e+03 1.12KB 1.123KB 1.12KB -1.150e+03iB +1.15241321213609285223e+03 1.13KB 1.125KB 1.13KB -1.152e+03iB +1.15471803856036513025e+03 1.13KB 1.128KB 1.13KB -1.155e+03iB +1.15702747463748596601e+03 1.13KB 1.130KB 1.13KB -1.157e+03iB +1.15934152958676099843e+03 1.13KB 1.132KB 1.13KB -1.159e+03iB +1.16166021264593450724e+03 1.13KB 1.134KB 1.13KB -1.162e+03iB +1.16398353307122647493e+03 1.14KB 1.137KB 1.14KB -1.164e+03iB +1.16631150013736896653e+03 1.14KB 1.139KB 1.14KB -1.166e+03iB +1.16864412313764364626e+03 1.14KB 1.141KB 1.14KB -1.169e+03iB +1.17098141138391883942e+03 1.14KB 1.144KB 1.14KB -1.171e+03iB +1.17332337420668659433e+03 1.15KB 1.146KB 1.15KB -1.173e+03iB +1.17567002095509997162e+03 1.15KB 1.148KB 1.15KB -1.176e+03iB +1.17802136099701010608e+03 1.15KB 1.150KB 1.15KB -1.178e+03iB +1.18037740371900417813e+03 1.15KB 1.153KB 1.15KB -1.180e+03iB +1.18273815852644224833e+03 1.16KB 1.155KB 1.16KB -1.183e+03iB +1.18510363484349522878e+03 1.16KB 1.157KB 1.16KB -1.185e+03iB +1.18747384211318217240e+03 1.16KB 1.160KB 1.16KB -1.187e+03iB +1.18984878979740847171e+03 1.16KB 1.162KB 1.16KB -1.190e+03iB +1.19222848737700337551e+03 1.16KB 1.164KB 1.16KB -1.192e+03iB +1.19461294435175727813e+03 1.17KB 1.167KB 1.17KB -1.195e+03iB +1.19700217024046082770e+03 1.17KB 1.169KB 1.17KB -1.197e+03iB +1.19939617458094176072e+03 1.17KB 1.171KB 1.17KB -1.199e+03iB +1.00000000000000000000e+06 954KB 953.7KB 954KB -1.000e+06iB +1.00200000000000000000e+06 956KB 955.6KB 956KB -1.002e+06iB +1.00400400000000000000e+06 957KB 957.5KB 957KB -1.004e+06iB +1.00601200800000003073e+06 959KB 959.4KB 959KB -1.006e+06iB +1.00802403201600001194e+06 961KB 961.3KB 961KB -1.008e+06iB +1.01004008008003199939e+06 963KB 963.2KB 963KB -1.010e+06iB +1.01206016024019208271e+06 965KB 965.2KB 965KB -1.012e+06iB +1.01408428056067251600e+06 967KB 967.1KB 967KB -1.014e+06iB +1.01611244912179384846e+06 969KB 969.0KB 969KB -1.016e+06iB +1.01814467402003740426e+06 971KB 971.0KB 971KB -1.018e+06iB +1.02018096336807752959e+06 973KB 972.9KB 973KB -1.020e+06iB +1.02222132529481372330e+06 975KB 974.9KB 975KB -1.022e+06iB +1.02426576794540334959e+06 977KB 976.8KB 977KB -1.024e+06iB +1.02631429948129411787e+06 979KB 978.8KB 979KB -1.026e+06iB +1.02836692808025667910e+06 981KB 980.7KB 981KB -1.028e+06iB +1.03042366193641722202e+06 983KB 982.7KB 983KB -1.030e+06iB +1.03248450926029006951e+06 985KB 984.7KB 985KB -1.032e+06iB +1.03454947827881062403e+06 987KB 986.6KB 987KB -1.035e+06iB +1.03661857723536819685e+06 989KB 988.6KB 989KB -1.037e+06iB +1.03869181438983895350e+06 991KB 990.6KB 991KB -1.039e+06iB +1.04076919801861862652e+06 993KB 992.6KB 993KB -1.041e+06iB +1.04285073641465581022e+06 995KB 994.5KB 995KB -1.043e+06iB +1.04493643788748513907e+06 997KB 996.5KB 997KB -1.045e+06iB +1.04702631076326011680e+06 999KB 998.5KB 999KB -1.047e+06iB +1.04912036338478652760e+06 1.00MB 1.001MB 1.00MB -1.049e+06iB +1.05121860411155619659e+06 1.00MB 1.003MB 1.00MB -1.051e+06iB +1.05332104131977935322e+06 1.00MB 1.005MB 1.00MB -1.053e+06iB +1.05542768340241885744e+06 1.01MB 1.007MB 1.01MB -1.055e+06iB +1.05753853876922372729e+06 1.01MB 1.009MB 1.01MB -1.058e+06iB +1.05965361584676220082e+06 1.01MB 1.011MB 1.01MB -1.060e+06iB +1.06177292307845572941e+06 1.01MB 1.013MB 1.01MB -1.062e+06iB +1.06389646892461273819e+06 1.01MB 1.015MB 1.01MB -1.064e+06iB +1.06602426186246192083e+06 1.02MB 1.017MB 1.02MB -1.066e+06iB +1.06815631038618693128e+06 1.02MB 1.019MB 1.02MB -1.068e+06iB +1.07029262300695921294e+06 1.02MB 1.021MB 1.02MB -1.070e+06iB +1.07243320825297315605e+06 1.02MB 1.023MB 1.02MB -1.072e+06iB +1.07457807466947915964e+06 1.02MB 1.025MB 1.02MB -1.075e+06iB +1.07672723081881809048e+06 1.03MB 1.027MB 1.03MB -1.077e+06iB +1.07888068528045574203e+06 1.03MB 1.029MB 1.03MB -1.079e+06iB +1.08103844665101659484e+06 1.03MB 1.031MB 1.03MB -1.081e+06iB +1.08320052354431874119e+06 1.03MB 1.033MB 1.03MB -1.083e+06iB +1.08536692459140741266e+06 1.04MB 1.035MB 1.04MB -1.085e+06iB +1.08753765844059013762e+06 1.04MB 1.037MB 1.04MB -1.088e+06iB +1.08971273375747143291e+06 1.04MB 1.039MB 1.04MB -1.090e+06iB +1.09189215922498633154e+06 1.04MB 1.041MB 1.04MB -1.092e+06iB +1.09407594354343623854e+06 1.04MB 1.043MB 1.04MB -1.094e+06iB +1.09626409543052315712e+06 1.05MB 1.045MB 1.05MB -1.096e+06iB +1.09845662362138414755e+06 1.05MB 1.048MB 1.05MB -1.098e+06iB +1.10065353686862695031e+06 1.05MB 1.050MB 1.05MB -1.101e+06iB +1.10285484394236421213e+06 1.05MB 1.052MB 1.05MB -1.103e+06iB +1.10506055363024887629e+06 1.05MB 1.054MB 1.05MB -1.105e+06iB +1.10727067473750934005e+06 1.06MB 1.056MB 1.06MB -1.107e+06iB +1.10948521608698437922e+06 1.06MB 1.058MB 1.06MB -1.109e+06iB +1.11170418651915830560e+06 1.06MB 1.060MB 1.06MB -1.112e+06iB +1.11392759489219659008e+06 1.06MB 1.062MB 1.06MB -1.114e+06iB +1.11615545008198102005e+06 1.06MB 1.064MB 1.06MB -1.116e+06iB +1.11838776098214508966e+06 1.07MB 1.067MB 1.07MB -1.118e+06iB +1.12062453650410939008e+06 1.07MB 1.069MB 1.07MB -1.121e+06iB +1.12286578557711769827e+06 1.07MB 1.071MB 1.07MB -1.123e+06iB +1.12511151714827190153e+06 1.07MB 1.073MB 1.07MB -1.125e+06iB +1.12736174018256855197e+06 1.08MB 1.075MB 1.08MB -1.127e+06iB +1.12961646366293379106e+06 1.08MB 1.077MB 1.08MB -1.130e+06iB +1.13187569659025967121e+06 1.08MB 1.079MB 1.08MB -1.132e+06iB +1.13413944798344024457e+06 1.08MB 1.082MB 1.08MB -1.134e+06iB +1.13640772687940718606e+06 1.08MB 1.084MB 1.08MB -1.136e+06iB +1.13868054233316611499e+06 1.09MB 1.086MB 1.09MB -1.139e+06iB +1.14095790341783245094e+06 1.09MB 1.088MB 1.09MB -1.141e+06iB +1.14323981922466820106e+06 1.09MB 1.090MB 1.09MB -1.143e+06iB +1.14552629886311758310e+06 1.09MB 1.092MB 1.09MB -1.146e+06iB +1.14781735146084381267e+06 1.09MB 1.095MB 1.09MB -1.148e+06iB +1.15011298616376542486e+06 1.10MB 1.097MB 1.10MB -1.150e+06iB +1.15241321213609306142e+06 1.10MB 1.099MB 1.10MB -1.152e+06iB +1.15471803856036532670e+06 1.10MB 1.101MB 1.10MB -1.155e+06iB +1.15702747463748604059e+06 1.10MB 1.103MB 1.10MB -1.157e+06iB +1.15934152958676102571e+06 1.11MB 1.106MB 1.11MB -1.159e+06iB +1.16166021264593466185e+06 1.11MB 1.108MB 1.11MB -1.162e+06iB +1.16398353307122644037e+06 1.11MB 1.110MB 1.11MB -1.164e+06iB +1.16631150013736891560e+06 1.11MB 1.112MB 1.11MB -1.166e+06iB +1.16864412313764356077e+06 1.11MB 1.115MB 1.11MB -1.169e+06iB +1.17098141138391895220e+06 1.12MB 1.117MB 1.12MB -1.171e+06iB +1.17332337420668685809e+06 1.12MB 1.119MB 1.12MB -1.173e+06iB +1.17567002095510018989e+06 1.12MB 1.121MB 1.12MB -1.176e+06iB +1.17802136099701048806e+06 1.12MB 1.123MB 1.12MB -1.178e+06iB +1.18037740371900447644e+06 1.13MB 1.126MB 1.13MB -1.180e+06iB +1.18273815852644247934e+06 1.13MB 1.128MB 1.13MB -1.183e+06iB +1.18510363484349544160e+06 1.13MB 1.130MB 1.13MB -1.185e+06iB +1.18747384211318241432e+06 1.13MB 1.132MB 1.13MB -1.187e+06iB +1.18984878979740873910e+06 1.13MB 1.135MB 1.13MB -1.190e+06iB +1.19222848737700353377e+06 1.14MB 1.137MB 1.14MB -1.192e+06iB +1.19461294435175764374e+06 1.14MB 1.139MB 1.14MB -1.195e+06iB +1.19700217024046112783e+06 1.14MB 1.142MB 1.14MB -1.197e+06iB +1.19939617458094214089e+06 1.14MB 1.144MB 1.14MB -1.199e+06iB +1.00000000000000000000e+09 931MB 931.3MB 931MB -1.000e+09iB +1.00200000000000000000e+09 933MB 933.2MB 933MB -1.002e+09iB +1.00400400000000000000e+09 935MB 935.1MB 935MB -1.004e+09iB +1.00601200800000000000e+09 937MB 936.9MB 937MB -1.006e+09iB +1.00802403201600003242e+09 939MB 938.8MB 939MB -1.008e+09iB +1.01004008008003199100e+09 941MB 940.7MB 941MB -1.010e+09iB +1.01206016024019205570e+09 943MB 942.6MB 943MB -1.012e+09iB +1.01408428056067240238e+09 944MB 944.4MB 944MB -1.014e+09iB +1.01611244912179374695e+09 946MB 946.3MB 946MB -1.016e+09iB +1.01814467402003729343e+09 948MB 948.2MB 948MB -1.018e+09iB +1.02018096336807739735e+09 950MB 950.1MB 950MB -1.020e+09iB +1.02222132529481351376e+09 952MB 952.0MB 952MB -1.022e+09iB +1.02426576794540309906e+09 954MB 953.9MB 954MB -1.024e+09iB +1.02631429948129391670e+09 956MB 955.8MB 956MB -1.026e+09iB +1.02836692808025646210e+09 958MB 957.7MB 958MB -1.028e+09iB +1.03042366193641698360e+09 960MB 959.7MB 960MB -1.030e+09iB +1.03248450926028978825e+09 962MB 961.6MB 962MB -1.032e+09iB +1.03454947827881038189e+09 963MB 963.5MB 963MB -1.035e+09iB +1.03661857723536801338e+09 965MB 965.4MB 965MB -1.037e+09iB +1.03869181438983869553e+09 967MB 967.4MB 967MB -1.039e+09iB +1.04076919801861834526e+09 969MB 969.3MB 969MB -1.041e+09iB +1.04285073641465556622e+09 971MB 971.2MB 971MB -1.043e+09iB +1.04493643788748490810e+09 973MB 973.2MB 973MB -1.045e+09iB +1.04702631076325988770e+09 975MB 975.1MB 975MB -1.047e+09iB +1.04912036338478636742e+09 977MB 977.1MB 977MB -1.049e+09iB +1.05121860411155593395e+09 979MB 979.0MB 979MB -1.051e+09iB +1.05332104131977903843e+09 981MB 981.0MB 981MB -1.053e+09iB +1.05542768340241861343e+09 983MB 982.9MB 983MB -1.055e+09iB +1.05753853876922345161e+09 985MB 984.9MB 985MB -1.058e+09iB +1.05965361584676194191e+09 987MB 986.9MB 987MB -1.060e+09iB +1.06177292307845544815e+09 989MB 988.9MB 989MB -1.062e+09iB +1.06389646892461240292e+09 991MB 990.8MB 991MB -1.064e+09iB +1.06602426186246168613e+09 993MB 992.8MB 993MB -1.066e+09iB +1.06815631038618659973e+09 995MB 994.8MB 995MB -1.068e+09iB +1.07029262300695896149e+09 997MB 996.8MB 997MB -1.070e+09iB +1.07243320825297284126e+09 999MB 998.8MB 999MB -1.072e+09iB +1.07457807466947889328e+09 1.00GB 1.001GB 1.00GB -1.075e+09iB +1.07672723081881785393e+09 1.00GB 1.003GB 1.00GB -1.077e+09iB +1.07888068528045558929e+09 1.00GB 1.005GB 1.00GB -1.079e+09iB +1.08103844665101647377e+09 1.01GB 1.007GB 1.01GB -1.081e+09iB +1.08320052354431843758e+09 1.01GB 1.009GB 1.01GB -1.083e+09iB +1.08536692459140706062e+09 1.01GB 1.011GB 1.01GB -1.085e+09iB +1.08753765844058990479e+09 1.01GB 1.013GB 1.01GB -1.088e+09iB +1.08971273375747108459e+09 1.01GB 1.015GB 1.01GB -1.090e+09iB +1.09189215922498607635e+09 1.02GB 1.017GB 1.02GB -1.092e+09iB +1.09407594354343605042e+09 1.02GB 1.019GB 1.02GB -1.094e+09iB +1.09626409543052291870e+09 1.02GB 1.021GB 1.02GB -1.096e+09iB +1.09845662362138390541e+09 1.02GB 1.023GB 1.02GB -1.098e+09iB +1.10065353686862659454e+09 1.03GB 1.025GB 1.03GB -1.101e+09iB +1.10285484394236373901e+09 1.03GB 1.027GB 1.03GB -1.103e+09iB +1.10506055363024854660e+09 1.03GB 1.029GB 1.03GB -1.105e+09iB +1.10727067473750901222e+09 1.03GB 1.031GB 1.03GB -1.107e+09iB +1.10948521608698391914e+09 1.03GB 1.033GB 1.03GB -1.109e+09iB +1.11170418651915788651e+09 1.04GB 1.035GB 1.04GB -1.112e+09iB +1.11392759489219617844e+09 1.04GB 1.037GB 1.04GB -1.114e+09iB +1.11615545008198046684e+09 1.04GB 1.040GB 1.04GB -1.116e+09iB +1.11838776098214435577e+09 1.04GB 1.042GB 1.04GB -1.118e+09iB +1.12062453650410866737e+09 1.04GB 1.044GB 1.04GB -1.121e+09iB +1.12286578557711696625e+09 1.05GB 1.046GB 1.05GB -1.123e+09iB +1.12511151714827108383e+09 1.05GB 1.048GB 1.05GB -1.125e+09iB +1.12736174018256759644e+09 1.05GB 1.050GB 1.05GB -1.127e+09iB +1.12961646366293263435e+09 1.05GB 1.052GB 1.05GB -1.130e+09iB +1.13187569659025859833e+09 1.05GB 1.054GB 1.05GB -1.132e+09iB +1.13413944798343920708e+09 1.06GB 1.056GB 1.06GB -1.134e+09iB +1.13640772687940597534e+09 1.06GB 1.058GB 1.06GB -1.136e+09iB +1.13868054233316469193e+09 1.06GB 1.060GB 1.06GB -1.139e+09iB +1.14095790341783094406e+09 1.06GB 1.063GB 1.06GB -1.141e+09iB +1.14323981922466659546e+09 1.06GB 1.065GB 1.06GB -1.143e+09iB +1.14552629886311602592e+09 1.07GB 1.067GB 1.07GB -1.146e+09iB +1.14781735146084237099e+09 1.07GB 1.069GB 1.07GB -1.148e+09iB +1.15011298616376399994e+09 1.07GB 1.071GB 1.07GB -1.150e+09iB +1.15241321213609147072e+09 1.07GB 1.073GB 1.07GB -1.152e+09iB +1.15471803856036376953e+09 1.08GB 1.075GB 1.08GB -1.155e+09iB +1.15702747463748455048e+09 1.08GB 1.078GB 1.08GB -1.157e+09iB +1.15934152958675956726e+09 1.08GB 1.080GB 1.08GB -1.159e+09iB +1.16166021264593315125e+09 1.08GB 1.082GB 1.08GB -1.162e+09iB +1.16398353307122492790e+09 1.08GB 1.084GB 1.08GB -1.164e+09iB +1.16631150013736748695e+09 1.09GB 1.086GB 1.09GB -1.166e+09iB +1.16864412313764214516e+09 1.09GB 1.088GB 1.09GB -1.169e+09iB +1.17098141138391733170e+09 1.09GB 1.091GB 1.09GB -1.171e+09iB +1.17332337420668506622e+09 1.09GB 1.093GB 1.09GB -1.173e+09iB +1.17567002095509839058e+09 1.09GB 1.095GB 1.09GB -1.176e+09iB +1.17802136099700856209e+09 1.10GB 1.097GB 1.10GB -1.178e+09iB +1.18037740371900248528e+09 1.10GB 1.099GB 1.10GB -1.180e+09iB +1.18273815852644038200e+09 1.10GB 1.102GB 1.10GB -1.183e+09iB +1.18510363484349322319e+09 1.10GB 1.104GB 1.10GB -1.185e+09iB +1.18747384211318016052e+09 1.11GB 1.106GB 1.11GB -1.187e+09iB +1.18984878979740643501e+09 1.11GB 1.108GB 1.11GB -1.190e+09iB +1.19222848737700128555e+09 1.11GB 1.110GB 1.11GB -1.192e+09iB +1.19461294435175538063e+09 1.11GB 1.113GB 1.11GB -1.195e+09iB +1.19700217024045896530e+09 1.11GB 1.115GB 1.11GB -1.197e+09iB +1.19939617458093976974e+09 1.12GB 1.117GB 1.12GB -1.199e+09iB +1.20179496693010163307e+09 1.12GB 1.119GB 1.12GB -1.202e+09iB +1.20419855686396193504e+09 1.12GB 1.121GB 1.12GB -1.204e+09iB +1.20660695397768974304e+09 1.12GB 1.124GB 1.12GB -1.207e+09iB +1.20902016788564515114e+09 1.13GB 1.126GB 1.13GB -1.209e+09iB +1.21143820822141647339e+09 1.13GB 1.128GB 1.13GB -1.211e+09iB +1.21386108463785934448e+09 1.13GB 1.130GB 1.13GB -1.214e+09iB +1.21628880680713510513e+09 1.13GB 1.133GB 1.13GB -1.216e+09iB +1.21872138442074942589e+09 1.14GB 1.135GB 1.14GB -1.219e+09iB +1.22115882718959093094e+09 1.14GB 1.137GB 1.14GB -1.221e+09iB +1.22360114484397006035e+09 1.14GB 1.140GB 1.14GB -1.224e+09iB +1.22604834713365793228e+09 1.14GB 1.142GB 1.14GB -1.226e+09iB +1.22850044382792520523e+09 1.14GB 1.144GB 1.14GB -1.229e+09iB +1.23095744471558094025e+09 1.15GB 1.146GB 1.15GB -1.231e+09iB +1.23341935960501217842e+09 1.15GB 1.149GB 1.15GB -1.233e+09iB +1.23588619832422208786e+09 1.15GB 1.151GB 1.15GB -1.236e+09iB +1.23835797072087049484e+09 1.15GB 1.153GB 1.15GB -1.238e+09iB +1.24083468666231226921e+09 1.16GB 1.156GB 1.16GB -1.241e+09iB +1.24331635603563690186e+09 1.16GB 1.158GB 1.16GB -1.243e+09iB +1.24580298874770808220e+09 1.16GB 1.160GB 1.16GB -1.246e+09iB +1.24829459472520351410e+09 1.16GB 1.163GB 1.16GB -1.248e+09iB +1.25079118391465401649e+09 1.16GB 1.165GB 1.16GB -1.251e+09iB +1.25329276628248333931e+09 1.17GB 1.167GB 1.17GB -1.253e+09iB +1.25579935181504821777e+09 1.17GB 1.170GB 1.17GB -1.256e+09iB +1.25831095051867842674e+09 1.17GB 1.172GB 1.17GB -1.258e+09iB +1.26082757241971588135e+09 1.17GB 1.174GB 1.17GB -1.261e+09iB +1.26334922756455540657e+09 1.18GB 1.177GB 1.18GB -1.263e+09iB +1.26587592601968455315e+09 1.18GB 1.179GB 1.18GB -1.266e+09iB +1.26840767787172389030e+09 1.18GB 1.181GB 1.18GB -1.268e+09iB +1.27094449322746729851e+09 1.18GB 1.184GB 1.18GB -1.271e+09iB +1.27348638221392226219e+09 1.19GB 1.186GB 1.19GB -1.273e+09iB +1.27603335497835016251e+09 1.19GB 1.188GB 1.19GB -1.276e+09iB +1.27858542168830680847e+09 1.19GB 1.191GB 1.19GB -1.279e+09iB +1.28114259253168344498e+09 1.19GB 1.193GB 1.19GB -1.281e+09iB +1.28370487771674680710e+09 1.20GB 1.196GB 1.20GB -1.284e+09iB +1.28627228747218036652e+09 1.20GB 1.198GB 1.20GB -1.286e+09iB +1.28884483204712462425e+09 1.20GB 1.200GB 1.20GB -1.289e+09iB +1.29142252171121883392e+09 1.20GB 1.203GB 1.20GB -1.291e+09iB +1.29400536675464129448e+09 1.21GB 1.205GB 1.21GB -1.294e+09iB +1.29659337748815059662e+09 1.21GB 1.208GB 1.21GB -1.297e+09iB +1.29918656424312686920e+09 1.21GB 1.210GB 1.21GB -1.299e+09iB +1.30178493737161302567e+09 1.21GB 1.212GB 1.21GB -1.302e+09iB +1.30438850724635624886e+09 1.21GB 1.215GB 1.21GB -1.304e+09iB +1.30699728426084899902e+09 1.22GB 1.217GB 1.22GB -1.307e+09iB +1.30961127882937073708e+09 1.22GB 1.220GB 1.22GB -1.310e+09iB +1.31223050138702940941e+09 1.22GB 1.222GB 1.22GB -1.312e+09iB +1.31485496238980340958e+09 1.22GB 1.225GB 1.22GB -1.315e+09iB +1.31748467231458306313e+09 1.23GB 1.227GB 1.23GB -1.317e+09iB +1.32011964165921211243e+09 1.23GB 1.229GB 1.23GB -1.320e+09iB +1.32275988094253063202e+09 1.23GB 1.232GB 1.23GB -1.323e+09iB +1.32540540070441579819e+09 1.23GB 1.234GB 1.23GB -1.325e+09iB +1.32805621150582456589e+09 1.24GB 1.237GB 1.24GB -1.328e+09iB +1.33071232392883610725e+09 1.24GB 1.239GB 1.24GB -1.331e+09iB +1.33337374857669377327e+09 1.24GB 1.242GB 1.24GB -1.333e+09iB +1.33604049607384705544e+09 1.24GB 1.244GB 1.24GB -1.336e+09iB +1.33871257706599473953e+09 1.25GB 1.247GB 1.25GB -1.339e+09iB +1.34139000222012662888e+09 1.25GB 1.249GB 1.25GB -1.341e+09iB +1.34407278222456693649e+09 1.25GB 1.252GB 1.25GB -1.344e+09iB +1.34676092778901600838e+09 1.25GB 1.254GB 1.25GB -1.347e+09iB +1.34945444964459395409e+09 1.26GB 1.257GB 1.26GB -1.349e+09iB +1.35215335854388308525e+09 1.26GB 1.259GB 1.26GB -1.352e+09iB +1.35485766526097083092e+09 1.26GB 1.262GB 1.26GB -1.355e+09iB +1.35756738059149289131e+09 1.26GB 1.264GB 1.26GB -1.358e+09iB +1.36028251535267591476e+09 1.27GB 1.267GB 1.27GB -1.360e+09iB +1.36300308038338136673e+09 1.27GB 1.269GB 1.27GB -1.363e+09iB +1.36572908654414820671e+09 1.27GB 1.272GB 1.27GB -1.366e+09iB +1.36846054471723651886e+09 1.27GB 1.274GB 1.27GB -1.368e+09iB +1.37119746580667090416e+09 1.28GB 1.277GB 1.28GB -1.371e+09iB +1.37393986073828434944e+09 1.28GB 1.280GB 1.28GB -1.374e+09iB +1.37668774045976090431e+09 1.28GB 1.282GB 1.28GB -1.377e+09iB +1.37944111594068050385e+09 1.28GB 1.285GB 1.28GB -1.379e+09iB +1.38219999817256188393e+09 1.29GB 1.287GB 1.29GB -1.382e+09iB +1.38496439816890692711e+09 1.29GB 1.290GB 1.29GB -1.385e+09iB +1.38773432696524477005e+09 1.29GB 1.292GB 1.29GB -1.388e+09iB +1.39050979561917519569e+09 1.30GB 1.295GB 1.30GB -1.391e+09iB +1.39329081521041345596e+09 1.30GB 1.298GB 1.30GB -1.393e+09iB +1.39607739684083437920e+09 1.30GB 1.300GB 1.30GB -1.396e+09iB +1.39886955163451600075e+09 1.30GB 1.303GB 1.30GB -1.399e+09iB +1.00000000000000000000e+12 909GB 909.5GB 909GB -1.000e+12iB +1.05000000000000000000e+12 955GB 955.0GB 955GB -1.050e+12iB +1.10250000000000000000e+12 1.00TB 1.003TB 1.00TB -1.102e+12iB +1.15762500000000000000e+12 1.05TB 1.053TB 1.05TB -1.158e+12iB +1.21550625000000000000e+12 1.11TB 1.105TB 1.11TB -1.216e+12iB +1.27628156250000000000e+12 1.16TB 1.161TB 1.16TB -1.276e+12iB +1.34009564062500000000e+12 1.22TB 1.219TB 1.22TB -1.340e+12iB +1.40710042265625000000e+12 1.28TB 1.280TB 1.28TB -1.407e+12iB +1.47745544378906250000e+12 1.34TB 1.344TB 1.34TB -1.477e+12iB +1.55132821597851562500e+12 1.41TB 1.411TB 1.41TB -1.551e+12iB +1.62889462677744140625e+12 1.48TB 1.481TB 1.48TB -1.629e+12iB +1.71033935811631347656e+12 1.56TB 1.556TB 1.56TB -1.710e+12iB +1.79585632602212915039e+12 1.63TB 1.633TB 1.63TB -1.796e+12iB +1.88564914232323559570e+12 1.71TB 1.715TB 1.71TB -1.886e+12iB +1.97993159943939746094e+12 1.80TB 1.801TB 1.80TB -1.980e+12iB +2.07892817941136743164e+12 1.89TB 1.891TB 1.89TB -2.079e+12iB +2.18287458838193579102e+12 1.99TB 1.985TB 1.99TB -2.183e+12iB +2.29201831780103271484e+12 2.08TB 2.085TB 2.08TB -2.292e+12iB From 8c2ff5d35ac60acc746b95816dcf2bea12d0a567 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 9 Apr 2024 15:34:32 +0000 Subject: [PATCH 020/118] Fix a few printf k/K format issues --- docs/refman/printfstatement.html | 48 +- man/man1rwl/printfstatement.1rwl | 43 +- src/rwlmisc.c | 30 +- test/testres/386.out.good | 70 +-- test/testres/387.out.good | 812 +++++++++++++++---------------- 5 files changed, 513 insertions(+), 490 deletions(-) diff --git a/docs/refman/printfstatement.html b/docs/refman/printfstatement.html index 8a5f2dd0..c210d981 100644 --- a/docs/refman/printfstatement.html +++ b/docs/refman/printfstatement.html @@ -1,5 +1,5 @@ - + @@ -151,30 +151,34 @@

    COMPUTING SIZES

    If the value to be output represents a number of bytes or similar figure -that really are powers of 1024, you can use the k or -K conversion specificer, to create the output using -the explanation at -https://en.wikipedia.org/wiki/Binary_prefix. The former is -for factors of 1000, the latter for factors of 1024.

    +that really are powers of 1024 you can use the K or +k conversion specificer, to create the output using +the prefixes discussed at +https://en.wikipedia.org/wiki/Binary_prefix. The specifiers +should only be used if the value is positive and lower than +1e32.

    If you use the -k specificer, the output is the same as using the +K specificer, the output is using a prefix like the m specifier with an additional letter ’i’ -after the SI prefix. Examples are Ki for kibi, Gi for gibi, -etc. Values less than zero or larger than 1e32 are output -using exponential notation, values between 0 and 1 are -output as an integer 0 and values between 1 and 1000 are -output as an integer with a space in stead of the -’i’.

    +after the prefix, indicating the prefix is binary and based +on a power of 1024. The actual value output is therefore +scaled by a power of 1.024. Examples prefixes are Ki for +kibi with the value scaled by 1.024, Gi for gibi with the +value scaled by 1.024^3, etc. Values between 0 and 1 are +output as zero and without an ’i’. Values +between 1 and 1024 are output using Ki and are scaled by +1024. Values less than zero or larger than 1e32 are output +using exponential notation, are not scaled to a power +of 1024, and do not include the ’i’.

    If you use the -K specificer, the output is scaled by a power of 1024 -before being output without an additional ’i’ -after the SI prefix. As just one example, the value 1025 is -output as 1.000K if the format is %.3K. Values less than +k specificer, the output is as if it were using the +m specifier without any scaling, except values +between 1 and 1000 that are scaled by 1000 and output using +K. Value between 0 and 1 are output as 0. Values less than zero or larger than 1e32 are output using exponential -notation, values between 0 and 1 are output as an integer 0 -and values between 1 and 1024 are output as an integer.

    +notation,

    In either case, there is no space between the value and the SI prefix.

    @@ -235,7 +239,7 @@

    EXAMPLES |0000042|null| |12.3457 | fourtytwo=42 | -The speed is 2.33Gbps +The speed is 2.33Gibps

    The following @@ -273,8 +277,8 @@

    BUGS

    Computing sizes include the R and Q prefixes that not yet are officially in -use. Who knows when Ribi or even Qibi size computers will be -available?

    +use. Who knows when robi or even quebi size computers will +be available?

    COPYRIGHT diff --git a/man/man1rwl/printfstatement.1rwl b/man/man1rwl/printfstatement.1rwl index 850b5308..4350c74e 100644 --- a/man/man1rwl/printfstatement.1rwl +++ b/man/man1rwl/printfstatement.1rwl @@ -62,22 +62,29 @@ while the \fBm\fR outputs the SI-prefix directly after the number. The decimal point is not output if no significant digits are output after it. This can only happen if the precision is 2 and the absolute value to be output is at least 100. .SH "COMPUTING SIZES" -If the value to be output represents a number of bytes or similar figure that really are powers of 1024, -you can use the \fBk\fR or \fBK\fR conversion specificer, -to create the output using the explanation at https://en.wikipedia.org/wiki/Binary_prefix. -The former is for factors of 1000, the latter for factors of 1024. -.P -If you use the \fBk\fR specificer, the output is the same as using the \fBm\fR specifier -with an additional letter 'i' after the SI prefix. -Examples are Ki for kibi, Gi for gibi, etc. -Values less than zero or larger than 1e32 are output using exponential notation, values between 0 and 1 -are output as an integer 0 and values between 1 and 1000 are output as an integer with a space in stead of the 'i'. -.P -If you use the \fBK\fR specificer, the output is scaled by a power of 1024 -before being output without an additional 'i' after the SI prefix. -As just one example, the value 1025 is output as 1.000K if the format is %.3K. -Values less than zero or larger than 1e32 are output using exponential notation, values between 0 and 1 -are output as an integer 0 and values between 1 and 1024 are output as an integer. +If the value to be output represents a number of bytes or similar figure that really are powers of 1024 +you can use the \fBK\fR or \fBk\fR conversion specificer, +to create the output using the prefixes discussed at https://en.wikipedia.org/wiki/Binary_prefix. +The specifiers should only be used if the value is positive and lower than 1e32. +.P +If you use the \fBK\fR specificer, the output is using a prefix like the \fBm\fR specifier +with an additional letter 'i' after the prefix, +indicating the prefix is binary and based on a power of 1024. +The actual value output is therefore scaled by a power of 1.024. +Examples prefixes are Ki for kibi with the value scaled by 1.024, +Gi for gibi with the value scaled by 1.024^3, etc. +Values between 0 and 1 are output as zero and without an 'i'. +Values between 1 and 1024 are output using Ki and are scaled by 1024. +Values less than zero or larger than 1e32 are output using exponential notation, are +.I not +scaled to +a power of 1024, and do not include the 'i'. +.P +If you use the \fBk\fR specificer, the output is as if it were using the \fBm\fR specifier +without any scaling, except +values between 1 and 1000 that are scaled by 1000 and output using K. +Value between 0 and 1 are output as 0. +Values less than zero or larger than 1e32 are output using exponential notation, .P In either case, there is no space between the value and the SI prefix. .SH NULL @@ -126,7 +133,7 @@ the following output will be produced |0000042|null| |12.3457 | fourtytwo=42 | -The speed is 2.33Gbps +The speed is 2.33Gibps \fR .fi .P @@ -166,7 +173,7 @@ the time is 12.34\[mc]s .fi .SH BUGS Computing sizes include the R and Q prefixes that not yet are officially in use. -Who knows when Ribi or even Qibi size computers will be available? +Who knows when robi or even quebi size computers will be available? .SH COPYRIGHT Copyright \(co 2024 Oracle Corporation .br diff --git a/src/rwlmisc.c b/src/rwlmisc.c index fa57079c..3e32b9cd 100644 --- a/src/rwlmisc.c +++ b/src/rwlmisc.c @@ -3504,21 +3504,33 @@ void rwldoprintf(rwl_xeqenv *xev if (anum.dval<0.0 || anum.dval>1e32) { rwlpfaddc('e', 27); - rwlpfaddc('i', 28); + if (Kbit) + rwlpfaddc(' ', 28); rwlcallpf(ytformat, anum.dval, 29); } - else if (anum.dval< (Kbit ? 1024.0 : 1000.0)) + else if (anum.dval<1.0) { if (dotpos) // no precision in string when ENG yf = dotpos; - rwlpfaddc('l', 30); + rwlpfaddc('l', 11); #ifdef RWL_SB8PRINTFLENGTH - rwlpfaddc(RWL_SB8PRINTFLENGTH, 31); + rwlpfaddc(RWL_SB8PRINTFLENGTH, 27); #endif - rwlpfaddc('i', 32); - if (!Kbit) - rwlpfaddc(' ', 33); - rwlcallpf(ytformat, anum.ival, 34); + rwlpfaddc('i', 27); + if (Kbit) + rwlpfaddc(' ', 28); + rwlcallpf(ytformat, 0, 29); + } + else if (anum.dval< (Kbit ? 1024.0 : 1000.0)) + { + snprintf((char *)engbuf, sizeof(engbuf), "%.*fK", prc <= 0 ? 4 : prc+1 + , anum.dval/(Kbit ? 1024.0 : 1000.0)); + if (dotpos) // no precision in string when ENG + yf = dotpos; + rwlpfaddc('s', 32); + if (Kbit) + rwlpfaddc('i',35); + rwlcallpf(ytformat, engbuf, 34); } else { @@ -3527,7 +3539,7 @@ void rwldoprintf(rwl_xeqenv *xev if (dotpos) // no precision in string when ENG yf = dotpos; rwlpfaddc('s', 21); - if (!Kbit) + if (Kbit) rwlpfaddc('i',35); rwlcallpf(ytformat, engbuf, 22); } diff --git a/test/testres/386.out.good b/test/testres/386.out.good index 2f17e3bb..9c515836 100644 --- a/test/testres/386.out.good +++ b/test/testres/386.out.good @@ -1,35 +1,35 @@ -1.00000000000000002082e-03 0 B 0 B 0 B -1.000e-03iB -1.30000000000000011380e-02 0 B 0 B 0 B -1.300e-02iB -1.69000000000000011324e-01 0 B 0 B 0 B -1.690e-01iB -2.19700000000000006395e+00 2 B 2 B 2 B -2.197e+00iB -2.85609999999999999432e+01 28 B 28 B 28 B -2.856e+01iB -3.71293000000000006366e+02 371 B 371 B 371 B -3.713e+02iB -4.82680900000000019645e+03 4.83KiB 4.827KiB 4.83KiB -4.827e+03iB -6.27485169999999998254e+04 62.7KiB 62.75KiB 62.7KiB -6.275e+04iB -8.15730721000000019558e+05 816KiB 815.7KiB 816KiB -8.157e+05iB -1.06044993729999996722e+07 10.6MiB 10.60MiB 10.6MiB -1.060e+07iB -1.37858491849000006914e+08 138MiB 137.9MiB 138MiB -1.379e+08iB -1.79216039403700017929e+09 1.79GiB 1.792GiB 1.79GiB -1.792e+09iB -2.32980851224810028076e+10 23.3GiB 23.30GiB 23.3GiB -2.330e+10iB -3.02875106592253051758e+11 303GiB 302.9GiB 303GiB -3.029e+11iB -3.93737638569928955078e+12 3.94TiB 3.937TiB 3.94TiB -3.937e+12iB -5.11858930140907656250e+13 51.2TiB 51.19TiB 51.2TiB -5.119e+13iB -6.65416609183180000000e+14 665TiB 665.4TiB 665TiB -6.654e+14iB -8.65041591938134000000e+15 8.65PiB 8.650PiB 8.65PiB -8.650e+15iB -1.12455406951957424000e+17 112PiB 112.5PiB 112PiB -1.125e+17iB -1.46192029037544652800e+18 1.46EiB 1.462EiB 1.46EiB -1.462e+18iB -1.90049637748808048640e+19 19.0EiB 19.00EiB 19.0EiB -1.900e+19iB -2.47064529073450450944e+20 247EiB 247.1EiB 247EiB -2.471e+20iB -3.21183887795485566566e+21 3.21ZiB 3.212ZiB 3.21ZiB -3.212e+21iB -4.17539054134131257508e+22 41.8ZiB 41.75ZiB 41.8ZiB -4.175e+22iB -5.42800770374370617983e+23 543ZiB 542.8ZiB 543ZiB -5.428e+23iB -7.05641001486681803378e+24 7.06YiB 7.056YiB 7.06YiB -7.056e+24iB -9.17333301932686301442e+25 91.7YiB 91.73YiB 91.7YiB -9.173e+25iB -1.19253329251249215751e+27 1.19RiB 1.193RiB 1.19RiB -1.193e+27iB -1.55029328026623977728e+28 15.5RiB 15.50RiB 15.5RiB -1.550e+28iB -2.01538126434611188639e+29 202RiB 201.5RiB 202RiB -2.015e+29iB -2.61999564364994545230e+30 2.62QiB 2.620QiB 2.62QiB -2.620e+30iB -3.40599433674492897540e+31 34.1QiB 34.06QiB 34.1QiB -3.406e+31iB -4.42779263776840757795e+32 4.43e+32iB 4.428e+32iB 4.43e+32iB -4.428e+32iB -5.75613042909892999545e+33 5.76e+33iB 5.756e+33iB 5.76e+33iB -5.756e+33iB -7.48296955782860864821e+34 7.48e+34iB 7.483e+34iB 7.48e+34iB -7.483e+34iB +1.00000000000000002082e-03 0B 0B 0B -1.000e-03B +1.30000000000000011380e-02 0B 0B 0B -1.300e-02B +1.69000000000000011324e-01 0B 0B 0B -1.690e-01B +2.19700000000000006395e+00 0.002KB 0.0022KB 0.002KB -2.197e+00B +2.85609999999999999432e+01 0.029KB 0.0286KB 0.029KB -2.856e+01B +3.71293000000000006366e+02 0.371KB 0.3713KB 0.371KB -3.713e+02B +4.82680900000000019645e+03 4.83KB 4.827KB 4.83KB -4.827e+03B +6.27485169999999998254e+04 62.7KB 62.75KB 62.7KB -6.275e+04B +8.15730721000000019558e+05 816KB 815.7KB 816KB -8.157e+05B +1.06044993729999996722e+07 10.6MB 10.60MB 10.6MB -1.060e+07B +1.37858491849000006914e+08 138MB 137.9MB 138MB -1.379e+08B +1.79216039403700017929e+09 1.79GB 1.792GB 1.79GB -1.792e+09B +2.32980851224810028076e+10 23.3GB 23.30GB 23.3GB -2.330e+10B +3.02875106592253051758e+11 303GB 302.9GB 303GB -3.029e+11B +3.93737638569928955078e+12 3.94TB 3.937TB 3.94TB -3.937e+12B +5.11858930140907656250e+13 51.2TB 51.19TB 51.2TB -5.119e+13B +6.65416609183180000000e+14 665TB 665.4TB 665TB -6.654e+14B +8.65041591938134000000e+15 8.65PB 8.650PB 8.65PB -8.650e+15B +1.12455406951957424000e+17 112PB 112.5PB 112PB -1.125e+17B +1.46192029037544652800e+18 1.46EB 1.462EB 1.46EB -1.462e+18B +1.90049637748808048640e+19 19.0EB 19.00EB 19.0EB -1.900e+19B +2.47064529073450450944e+20 247EB 247.1EB 247EB -2.471e+20B +3.21183887795485566566e+21 3.21ZB 3.212ZB 3.21ZB -3.212e+21B +4.17539054134131257508e+22 41.8ZB 41.75ZB 41.8ZB -4.175e+22B +5.42800770374370617983e+23 543ZB 542.8ZB 543ZB -5.428e+23B +7.05641001486681803378e+24 7.06YB 7.056YB 7.06YB -7.056e+24B +9.17333301932686301442e+25 91.7YB 91.73YB 91.7YB -9.173e+25B +1.19253329251249215751e+27 1.19RB 1.193RB 1.19RB -1.193e+27B +1.55029328026623977728e+28 15.5RB 15.50RB 15.5RB -1.550e+28B +2.01538126434611188639e+29 202RB 201.5RB 202RB -2.015e+29B +2.61999564364994545230e+30 2.62QB 2.620QB 2.62QB -2.620e+30B +3.40599433674492897540e+31 34.1QB 34.06QB 34.1QB -3.406e+31B +4.42779263776840757795e+32 4.43e+32B 4.428e+32B 4.43e+32B -4.428e+32B +5.75613042909892999545e+33 5.76e+33B 5.756e+33B 5.76e+33B -5.756e+33B +7.48296955782860864821e+34 7.48e+34B 7.483e+34B 7.48e+34B -7.483e+34B diff --git a/test/testres/387.out.good b/test/testres/387.out.good index 7fb3b99e..33e27798 100644 --- a/test/testres/387.out.good +++ b/test/testres/387.out.good @@ -1,406 +1,406 @@ -1.00000000000000002082e-03 0B 0B 0B -1.000e-03iB -1.30000000000000011380e-02 0B 0B 0B -1.300e-02iB -1.69000000000000011324e-01 0B 0B 0B -1.690e-01iB -2.19700000000000006395e+00 2B 2B 2B -2.197e+00iB -2.85609999999999999432e+01 28B 28B 28B -2.856e+01iB -3.71293000000000006366e+02 371B 371B 371B -3.713e+02iB -4.82680900000000019645e+03 4.71KB 4.714KB 4.71KB -4.827e+03iB -6.27485169999999998254e+04 59.8KB 59.84KB 59.8KB -6.275e+04iB -8.15730721000000019558e+05 778KB 777.9KB 778KB -8.157e+05iB -1.06044993729999996722e+07 9.88MB 9.876MB 9.88MB -1.060e+07iB -1.37858491849000006914e+08 128MB 128.4MB 128MB -1.379e+08iB -1.79216039403700017929e+09 1.67GB 1.669GB 1.67GB -1.792e+09iB -2.32980851224810028076e+10 21.2GB 21.19GB 21.2GB -2.330e+10iB -3.02875106592253051758e+11 275GB 275.5GB 275GB -3.029e+11iB -3.93737638569928955078e+12 3.58TB 3.581TB 3.58TB -3.937e+12iB -5.11858930140907656250e+13 45.5TB 45.46TB 45.5TB -5.119e+13iB -6.65416609183180000000e+14 591TB 591.0TB 591TB -6.654e+14iB -8.65041591938134000000e+15 7.68PB 7.683PB 7.68PB -8.650e+15iB -1.12455406951957424000e+17 97.5PB 97.54PB 97.5PB -1.125e+17iB -1.46192029037544652800e+18 1.27EB 1.268EB 1.27EB -1.462e+18iB -1.90049637748808048640e+19 16.1EB 16.10EB 16.1EB -1.900e+19iB -2.47064529073450450944e+20 209EB 209.3EB 209EB -2.471e+20iB -3.21183887795485566566e+21 2.72ZB 2.721ZB 2.72ZB -3.212e+21iB -4.17539054134131257508e+22 34.5ZB 34.54ZB 34.5ZB -4.175e+22iB -5.42800770374370617983e+23 449ZB 449.0ZB 449ZB -5.428e+23iB -7.05641001486681803378e+24 5.84YB 5.837YB 5.84YB -7.056e+24iB -9.17333301932686301442e+25 74.1YB 74.10YB 74.1YB -9.173e+25iB -1.19253329251249215751e+27 963YB 963.3YB 963YB -1.193e+27iB -1.55029328026623977728e+28 12.2RB 12.23RB 12.2RB -1.550e+28iB -2.01538126434611188639e+29 159RB 159.0RB 159RB -2.015e+29iB -2.61999564364994545230e+30 2.07QB 2.067QB 2.07QB -2.620e+30iB -3.40599433674492897540e+31 26.2QB 26.24QB 26.2QB -3.406e+31iB -4.42779263776840757795e+32 4.43e+32iB 4.428e+32iB 4.43e+32iB -4.428e+32iB -5.75613042909892999545e+33 5.76e+33iB 5.756e+33iB 5.76e+33iB -5.756e+33iB -7.48296955782860864821e+34 7.48e+34iB 7.483e+34iB 7.48e+34iB -7.483e+34iB -1.00000000000000000000e+03 1000B 1000B 1000B -1.000e+03iB -1.00200000000000000000e+03 1002B 1002B 1002B -1.002e+03iB -1.00400400000000001910e+03 1004B 1004B 1004B -1.004e+03iB -1.00601200800000003710e+03 1006B 1006B 1006B -1.006e+03iB -1.00802403201600009197e+03 1008B 1008B 1008B -1.008e+03iB -1.01004008008003211216e+03 1010B 1010B 1010B -1.010e+03iB -1.01206016024019220367e+03 1012B 1012B 1012B -1.012e+03iB -1.01408428056067259604e+03 1014B 1014B 1014B -1.014e+03iB -1.01611244912179392941e+03 1016B 1016B 1016B -1.016e+03iB -1.01814467402003754160e+03 1018B 1018B 1018B -1.018e+03iB -1.02018096336807764146e+03 1020B 1020B 1020B -1.020e+03iB -1.02222132529481382335e+03 1022B 1022B 1022B -1.022e+03iB -1.02426576794540346782e+03 1.00KB 1.000KB 1.00KB -1.024e+03iB -1.02631429948129425611e+03 1.00KB 1.002KB 1.00KB -1.026e+03iB -1.02836692808025691193e+03 1.00KB 1.004KB 1.00KB -1.028e+03iB -1.03042366193641737482e+03 1.01KB 1.006KB 1.01KB -1.030e+03iB -1.03248450926029022412e+03 1.01KB 1.008KB 1.01KB -1.032e+03iB -1.03454947827881073863e+03 1.01KB 1.010KB 1.01KB -1.035e+03iB -1.03661857723536832054e+03 1.01KB 1.012KB 1.01KB -1.037e+03iB -1.03869181438983900989e+03 1.01KB 1.014KB 1.01KB -1.039e+03iB -1.04076919801861868109e+03 1.02KB 1.016KB 1.02KB -1.041e+03iB -1.04285073641465601213e+03 1.02KB 1.018KB 1.02KB -1.043e+03iB -1.04493643788748522638e+03 1.02KB 1.020KB 1.02KB -1.045e+03iB -1.04702631076326019866e+03 1.02KB 1.022KB 1.02KB -1.047e+03iB -1.04912036338478674224e+03 1.02KB 1.025KB 1.02KB -1.049e+03iB -1.05121860411155626025e+03 1.03KB 1.027KB 1.03KB -1.051e+03iB -1.05332104131977939687e+03 1.03KB 1.029KB 1.03KB -1.053e+03iB -1.05542768340241900660e+03 1.03KB 1.031KB 1.03KB -1.055e+03iB -1.05753853876922380550e+03 1.03KB 1.033KB 1.03KB -1.058e+03iB -1.05965361584676224993e+03 1.03KB 1.035KB 1.03KB -1.060e+03iB -1.06177292307845573305e+03 1.04KB 1.037KB 1.04KB -1.062e+03iB -1.06389646892461269090e+03 1.04KB 1.039KB 1.04KB -1.064e+03iB -1.06602426186246202633e+03 1.04KB 1.041KB 1.04KB -1.066e+03iB -1.06815631038618698767e+03 1.04KB 1.043KB 1.04KB -1.068e+03iB -1.07029262300695927479e+03 1.05KB 1.045KB 1.05KB -1.070e+03iB -1.07243320825297314514e+03 1.05KB 1.047KB 1.05KB -1.072e+03iB -1.07457807466947906505e+03 1.05KB 1.049KB 1.05KB -1.075e+03iB -1.07672723081881804319e+03 1.05KB 1.051KB 1.05KB -1.077e+03iB -1.07888068528045573657e+03 1.05KB 1.054KB 1.05KB -1.079e+03iB -1.08103844665101655664e+03 1.06KB 1.056KB 1.06KB -1.081e+03iB -1.08320052354431868480e+03 1.06KB 1.058KB 1.06KB -1.083e+03iB -1.08536692459140726896e+03 1.06KB 1.060KB 1.06KB -1.085e+03iB -1.08753765844059012124e+03 1.06KB 1.062KB 1.06KB -1.088e+03iB -1.08971273375747136924e+03 1.06KB 1.064KB 1.06KB -1.090e+03iB -1.09189215922498624423e+03 1.07KB 1.066KB 1.07KB -1.092e+03iB -1.09407594354343632403e+03 1.07KB 1.068KB 1.07KB -1.094e+03iB -1.09626409543052318440e+03 1.07KB 1.071KB 1.07KB -1.096e+03iB -1.09845662362138432400e+03 1.07KB 1.073KB 1.07KB -1.098e+03iB -1.10065353686862704308e+03 1.07KB 1.075KB 1.07KB -1.101e+03iB -1.10285484394236436856e+03 1.08KB 1.077KB 1.08KB -1.103e+03iB -1.10506055363024916005e+03 1.08KB 1.079KB 1.08KB -1.105e+03iB -1.10727067473750958015e+03 1.08KB 1.081KB 1.08KB -1.107e+03iB -1.10948521608698456475e+03 1.08KB 1.083KB 1.08KB -1.109e+03iB -1.11170418651915861119e+03 1.09KB 1.086KB 1.09KB -1.112e+03iB -1.11392759489219702118e+03 1.09KB 1.088KB 1.09KB -1.114e+03iB -1.11615545008198137111e+03 1.09KB 1.090KB 1.09KB -1.116e+03iB -1.11838776098214543708e+03 1.09KB 1.092KB 1.09KB -1.118e+03iB -1.12062453650410975570e+03 1.09KB 1.094KB 1.09KB -1.121e+03iB -1.12286578557711800386e+03 1.10KB 1.097KB 1.10KB -1.123e+03iB -1.12511151714827224168e+03 1.10KB 1.099KB 1.10KB -1.125e+03iB -1.12736174018256883755e+03 1.10KB 1.101KB 1.10KB -1.127e+03iB -1.12961646366293393839e+03 1.10KB 1.103KB 1.10KB -1.130e+03iB -1.13187569659025984947e+03 1.11KB 1.105KB 1.11KB -1.132e+03iB -1.13413944798344027731e+03 1.11KB 1.108KB 1.11KB -1.134e+03iB -1.13640772687940716423e+03 1.11KB 1.110KB 1.11KB -1.136e+03iB -1.13868054233316593127e+03 1.11KB 1.112KB 1.11KB -1.139e+03iB -1.14095790341783231270e+03 1.11KB 1.114KB 1.11KB -1.141e+03iB -1.14323981922466805372e+03 1.12KB 1.116KB 1.12KB -1.143e+03iB -1.14552629886311729024e+03 1.12KB 1.119KB 1.12KB -1.146e+03iB -1.14781735146084361077e+03 1.12KB 1.121KB 1.12KB -1.148e+03iB -1.15011298616376529935e+03 1.12KB 1.123KB 1.12KB -1.150e+03iB -1.15241321213609285223e+03 1.13KB 1.125KB 1.13KB -1.152e+03iB -1.15471803856036513025e+03 1.13KB 1.128KB 1.13KB -1.155e+03iB -1.15702747463748596601e+03 1.13KB 1.130KB 1.13KB -1.157e+03iB -1.15934152958676099843e+03 1.13KB 1.132KB 1.13KB -1.159e+03iB -1.16166021264593450724e+03 1.13KB 1.134KB 1.13KB -1.162e+03iB -1.16398353307122647493e+03 1.14KB 1.137KB 1.14KB -1.164e+03iB -1.16631150013736896653e+03 1.14KB 1.139KB 1.14KB -1.166e+03iB -1.16864412313764364626e+03 1.14KB 1.141KB 1.14KB -1.169e+03iB -1.17098141138391883942e+03 1.14KB 1.144KB 1.14KB -1.171e+03iB -1.17332337420668659433e+03 1.15KB 1.146KB 1.15KB -1.173e+03iB -1.17567002095509997162e+03 1.15KB 1.148KB 1.15KB -1.176e+03iB -1.17802136099701010608e+03 1.15KB 1.150KB 1.15KB -1.178e+03iB -1.18037740371900417813e+03 1.15KB 1.153KB 1.15KB -1.180e+03iB -1.18273815852644224833e+03 1.16KB 1.155KB 1.16KB -1.183e+03iB -1.18510363484349522878e+03 1.16KB 1.157KB 1.16KB -1.185e+03iB -1.18747384211318217240e+03 1.16KB 1.160KB 1.16KB -1.187e+03iB -1.18984878979740847171e+03 1.16KB 1.162KB 1.16KB -1.190e+03iB -1.19222848737700337551e+03 1.16KB 1.164KB 1.16KB -1.192e+03iB -1.19461294435175727813e+03 1.17KB 1.167KB 1.17KB -1.195e+03iB -1.19700217024046082770e+03 1.17KB 1.169KB 1.17KB -1.197e+03iB -1.19939617458094176072e+03 1.17KB 1.171KB 1.17KB -1.199e+03iB -1.00000000000000000000e+06 954KB 953.7KB 954KB -1.000e+06iB -1.00200000000000000000e+06 956KB 955.6KB 956KB -1.002e+06iB -1.00400400000000000000e+06 957KB 957.5KB 957KB -1.004e+06iB -1.00601200800000003073e+06 959KB 959.4KB 959KB -1.006e+06iB -1.00802403201600001194e+06 961KB 961.3KB 961KB -1.008e+06iB -1.01004008008003199939e+06 963KB 963.2KB 963KB -1.010e+06iB -1.01206016024019208271e+06 965KB 965.2KB 965KB -1.012e+06iB -1.01408428056067251600e+06 967KB 967.1KB 967KB -1.014e+06iB -1.01611244912179384846e+06 969KB 969.0KB 969KB -1.016e+06iB -1.01814467402003740426e+06 971KB 971.0KB 971KB -1.018e+06iB -1.02018096336807752959e+06 973KB 972.9KB 973KB -1.020e+06iB -1.02222132529481372330e+06 975KB 974.9KB 975KB -1.022e+06iB -1.02426576794540334959e+06 977KB 976.8KB 977KB -1.024e+06iB -1.02631429948129411787e+06 979KB 978.8KB 979KB -1.026e+06iB -1.02836692808025667910e+06 981KB 980.7KB 981KB -1.028e+06iB -1.03042366193641722202e+06 983KB 982.7KB 983KB -1.030e+06iB -1.03248450926029006951e+06 985KB 984.7KB 985KB -1.032e+06iB -1.03454947827881062403e+06 987KB 986.6KB 987KB -1.035e+06iB -1.03661857723536819685e+06 989KB 988.6KB 989KB -1.037e+06iB -1.03869181438983895350e+06 991KB 990.6KB 991KB -1.039e+06iB -1.04076919801861862652e+06 993KB 992.6KB 993KB -1.041e+06iB -1.04285073641465581022e+06 995KB 994.5KB 995KB -1.043e+06iB -1.04493643788748513907e+06 997KB 996.5KB 997KB -1.045e+06iB -1.04702631076326011680e+06 999KB 998.5KB 999KB -1.047e+06iB -1.04912036338478652760e+06 1.00MB 1.001MB 1.00MB -1.049e+06iB -1.05121860411155619659e+06 1.00MB 1.003MB 1.00MB -1.051e+06iB -1.05332104131977935322e+06 1.00MB 1.005MB 1.00MB -1.053e+06iB -1.05542768340241885744e+06 1.01MB 1.007MB 1.01MB -1.055e+06iB -1.05753853876922372729e+06 1.01MB 1.009MB 1.01MB -1.058e+06iB -1.05965361584676220082e+06 1.01MB 1.011MB 1.01MB -1.060e+06iB -1.06177292307845572941e+06 1.01MB 1.013MB 1.01MB -1.062e+06iB -1.06389646892461273819e+06 1.01MB 1.015MB 1.01MB -1.064e+06iB -1.06602426186246192083e+06 1.02MB 1.017MB 1.02MB -1.066e+06iB -1.06815631038618693128e+06 1.02MB 1.019MB 1.02MB -1.068e+06iB -1.07029262300695921294e+06 1.02MB 1.021MB 1.02MB -1.070e+06iB -1.07243320825297315605e+06 1.02MB 1.023MB 1.02MB -1.072e+06iB -1.07457807466947915964e+06 1.02MB 1.025MB 1.02MB -1.075e+06iB -1.07672723081881809048e+06 1.03MB 1.027MB 1.03MB -1.077e+06iB -1.07888068528045574203e+06 1.03MB 1.029MB 1.03MB -1.079e+06iB -1.08103844665101659484e+06 1.03MB 1.031MB 1.03MB -1.081e+06iB -1.08320052354431874119e+06 1.03MB 1.033MB 1.03MB -1.083e+06iB -1.08536692459140741266e+06 1.04MB 1.035MB 1.04MB -1.085e+06iB -1.08753765844059013762e+06 1.04MB 1.037MB 1.04MB -1.088e+06iB -1.08971273375747143291e+06 1.04MB 1.039MB 1.04MB -1.090e+06iB -1.09189215922498633154e+06 1.04MB 1.041MB 1.04MB -1.092e+06iB -1.09407594354343623854e+06 1.04MB 1.043MB 1.04MB -1.094e+06iB -1.09626409543052315712e+06 1.05MB 1.045MB 1.05MB -1.096e+06iB -1.09845662362138414755e+06 1.05MB 1.048MB 1.05MB -1.098e+06iB -1.10065353686862695031e+06 1.05MB 1.050MB 1.05MB -1.101e+06iB -1.10285484394236421213e+06 1.05MB 1.052MB 1.05MB -1.103e+06iB -1.10506055363024887629e+06 1.05MB 1.054MB 1.05MB -1.105e+06iB -1.10727067473750934005e+06 1.06MB 1.056MB 1.06MB -1.107e+06iB -1.10948521608698437922e+06 1.06MB 1.058MB 1.06MB -1.109e+06iB -1.11170418651915830560e+06 1.06MB 1.060MB 1.06MB -1.112e+06iB -1.11392759489219659008e+06 1.06MB 1.062MB 1.06MB -1.114e+06iB -1.11615545008198102005e+06 1.06MB 1.064MB 1.06MB -1.116e+06iB -1.11838776098214508966e+06 1.07MB 1.067MB 1.07MB -1.118e+06iB -1.12062453650410939008e+06 1.07MB 1.069MB 1.07MB -1.121e+06iB -1.12286578557711769827e+06 1.07MB 1.071MB 1.07MB -1.123e+06iB -1.12511151714827190153e+06 1.07MB 1.073MB 1.07MB -1.125e+06iB -1.12736174018256855197e+06 1.08MB 1.075MB 1.08MB -1.127e+06iB -1.12961646366293379106e+06 1.08MB 1.077MB 1.08MB -1.130e+06iB -1.13187569659025967121e+06 1.08MB 1.079MB 1.08MB -1.132e+06iB -1.13413944798344024457e+06 1.08MB 1.082MB 1.08MB -1.134e+06iB -1.13640772687940718606e+06 1.08MB 1.084MB 1.08MB -1.136e+06iB -1.13868054233316611499e+06 1.09MB 1.086MB 1.09MB -1.139e+06iB -1.14095790341783245094e+06 1.09MB 1.088MB 1.09MB -1.141e+06iB -1.14323981922466820106e+06 1.09MB 1.090MB 1.09MB -1.143e+06iB -1.14552629886311758310e+06 1.09MB 1.092MB 1.09MB -1.146e+06iB -1.14781735146084381267e+06 1.09MB 1.095MB 1.09MB -1.148e+06iB -1.15011298616376542486e+06 1.10MB 1.097MB 1.10MB -1.150e+06iB -1.15241321213609306142e+06 1.10MB 1.099MB 1.10MB -1.152e+06iB -1.15471803856036532670e+06 1.10MB 1.101MB 1.10MB -1.155e+06iB -1.15702747463748604059e+06 1.10MB 1.103MB 1.10MB -1.157e+06iB -1.15934152958676102571e+06 1.11MB 1.106MB 1.11MB -1.159e+06iB -1.16166021264593466185e+06 1.11MB 1.108MB 1.11MB -1.162e+06iB -1.16398353307122644037e+06 1.11MB 1.110MB 1.11MB -1.164e+06iB -1.16631150013736891560e+06 1.11MB 1.112MB 1.11MB -1.166e+06iB -1.16864412313764356077e+06 1.11MB 1.115MB 1.11MB -1.169e+06iB -1.17098141138391895220e+06 1.12MB 1.117MB 1.12MB -1.171e+06iB -1.17332337420668685809e+06 1.12MB 1.119MB 1.12MB -1.173e+06iB -1.17567002095510018989e+06 1.12MB 1.121MB 1.12MB -1.176e+06iB -1.17802136099701048806e+06 1.12MB 1.123MB 1.12MB -1.178e+06iB -1.18037740371900447644e+06 1.13MB 1.126MB 1.13MB -1.180e+06iB -1.18273815852644247934e+06 1.13MB 1.128MB 1.13MB -1.183e+06iB -1.18510363484349544160e+06 1.13MB 1.130MB 1.13MB -1.185e+06iB -1.18747384211318241432e+06 1.13MB 1.132MB 1.13MB -1.187e+06iB -1.18984878979740873910e+06 1.13MB 1.135MB 1.13MB -1.190e+06iB -1.19222848737700353377e+06 1.14MB 1.137MB 1.14MB -1.192e+06iB -1.19461294435175764374e+06 1.14MB 1.139MB 1.14MB -1.195e+06iB -1.19700217024046112783e+06 1.14MB 1.142MB 1.14MB -1.197e+06iB -1.19939617458094214089e+06 1.14MB 1.144MB 1.14MB -1.199e+06iB -1.00000000000000000000e+09 931MB 931.3MB 931MB -1.000e+09iB -1.00200000000000000000e+09 933MB 933.2MB 933MB -1.002e+09iB -1.00400400000000000000e+09 935MB 935.1MB 935MB -1.004e+09iB -1.00601200800000000000e+09 937MB 936.9MB 937MB -1.006e+09iB -1.00802403201600003242e+09 939MB 938.8MB 939MB -1.008e+09iB -1.01004008008003199100e+09 941MB 940.7MB 941MB -1.010e+09iB -1.01206016024019205570e+09 943MB 942.6MB 943MB -1.012e+09iB -1.01408428056067240238e+09 944MB 944.4MB 944MB -1.014e+09iB -1.01611244912179374695e+09 946MB 946.3MB 946MB -1.016e+09iB -1.01814467402003729343e+09 948MB 948.2MB 948MB -1.018e+09iB -1.02018096336807739735e+09 950MB 950.1MB 950MB -1.020e+09iB -1.02222132529481351376e+09 952MB 952.0MB 952MB -1.022e+09iB -1.02426576794540309906e+09 954MB 953.9MB 954MB -1.024e+09iB -1.02631429948129391670e+09 956MB 955.8MB 956MB -1.026e+09iB -1.02836692808025646210e+09 958MB 957.7MB 958MB -1.028e+09iB -1.03042366193641698360e+09 960MB 959.7MB 960MB -1.030e+09iB -1.03248450926028978825e+09 962MB 961.6MB 962MB -1.032e+09iB -1.03454947827881038189e+09 963MB 963.5MB 963MB -1.035e+09iB -1.03661857723536801338e+09 965MB 965.4MB 965MB -1.037e+09iB -1.03869181438983869553e+09 967MB 967.4MB 967MB -1.039e+09iB -1.04076919801861834526e+09 969MB 969.3MB 969MB -1.041e+09iB -1.04285073641465556622e+09 971MB 971.2MB 971MB -1.043e+09iB -1.04493643788748490810e+09 973MB 973.2MB 973MB -1.045e+09iB -1.04702631076325988770e+09 975MB 975.1MB 975MB -1.047e+09iB -1.04912036338478636742e+09 977MB 977.1MB 977MB -1.049e+09iB -1.05121860411155593395e+09 979MB 979.0MB 979MB -1.051e+09iB -1.05332104131977903843e+09 981MB 981.0MB 981MB -1.053e+09iB -1.05542768340241861343e+09 983MB 982.9MB 983MB -1.055e+09iB -1.05753853876922345161e+09 985MB 984.9MB 985MB -1.058e+09iB -1.05965361584676194191e+09 987MB 986.9MB 987MB -1.060e+09iB -1.06177292307845544815e+09 989MB 988.9MB 989MB -1.062e+09iB -1.06389646892461240292e+09 991MB 990.8MB 991MB -1.064e+09iB -1.06602426186246168613e+09 993MB 992.8MB 993MB -1.066e+09iB -1.06815631038618659973e+09 995MB 994.8MB 995MB -1.068e+09iB -1.07029262300695896149e+09 997MB 996.8MB 997MB -1.070e+09iB -1.07243320825297284126e+09 999MB 998.8MB 999MB -1.072e+09iB -1.07457807466947889328e+09 1.00GB 1.001GB 1.00GB -1.075e+09iB -1.07672723081881785393e+09 1.00GB 1.003GB 1.00GB -1.077e+09iB -1.07888068528045558929e+09 1.00GB 1.005GB 1.00GB -1.079e+09iB -1.08103844665101647377e+09 1.01GB 1.007GB 1.01GB -1.081e+09iB -1.08320052354431843758e+09 1.01GB 1.009GB 1.01GB -1.083e+09iB -1.08536692459140706062e+09 1.01GB 1.011GB 1.01GB -1.085e+09iB -1.08753765844058990479e+09 1.01GB 1.013GB 1.01GB -1.088e+09iB -1.08971273375747108459e+09 1.01GB 1.015GB 1.01GB -1.090e+09iB -1.09189215922498607635e+09 1.02GB 1.017GB 1.02GB -1.092e+09iB -1.09407594354343605042e+09 1.02GB 1.019GB 1.02GB -1.094e+09iB -1.09626409543052291870e+09 1.02GB 1.021GB 1.02GB -1.096e+09iB -1.09845662362138390541e+09 1.02GB 1.023GB 1.02GB -1.098e+09iB -1.10065353686862659454e+09 1.03GB 1.025GB 1.03GB -1.101e+09iB -1.10285484394236373901e+09 1.03GB 1.027GB 1.03GB -1.103e+09iB -1.10506055363024854660e+09 1.03GB 1.029GB 1.03GB -1.105e+09iB -1.10727067473750901222e+09 1.03GB 1.031GB 1.03GB -1.107e+09iB -1.10948521608698391914e+09 1.03GB 1.033GB 1.03GB -1.109e+09iB -1.11170418651915788651e+09 1.04GB 1.035GB 1.04GB -1.112e+09iB -1.11392759489219617844e+09 1.04GB 1.037GB 1.04GB -1.114e+09iB -1.11615545008198046684e+09 1.04GB 1.040GB 1.04GB -1.116e+09iB -1.11838776098214435577e+09 1.04GB 1.042GB 1.04GB -1.118e+09iB -1.12062453650410866737e+09 1.04GB 1.044GB 1.04GB -1.121e+09iB -1.12286578557711696625e+09 1.05GB 1.046GB 1.05GB -1.123e+09iB -1.12511151714827108383e+09 1.05GB 1.048GB 1.05GB -1.125e+09iB -1.12736174018256759644e+09 1.05GB 1.050GB 1.05GB -1.127e+09iB -1.12961646366293263435e+09 1.05GB 1.052GB 1.05GB -1.130e+09iB -1.13187569659025859833e+09 1.05GB 1.054GB 1.05GB -1.132e+09iB -1.13413944798343920708e+09 1.06GB 1.056GB 1.06GB -1.134e+09iB -1.13640772687940597534e+09 1.06GB 1.058GB 1.06GB -1.136e+09iB -1.13868054233316469193e+09 1.06GB 1.060GB 1.06GB -1.139e+09iB -1.14095790341783094406e+09 1.06GB 1.063GB 1.06GB -1.141e+09iB -1.14323981922466659546e+09 1.06GB 1.065GB 1.06GB -1.143e+09iB -1.14552629886311602592e+09 1.07GB 1.067GB 1.07GB -1.146e+09iB -1.14781735146084237099e+09 1.07GB 1.069GB 1.07GB -1.148e+09iB -1.15011298616376399994e+09 1.07GB 1.071GB 1.07GB -1.150e+09iB -1.15241321213609147072e+09 1.07GB 1.073GB 1.07GB -1.152e+09iB -1.15471803856036376953e+09 1.08GB 1.075GB 1.08GB -1.155e+09iB -1.15702747463748455048e+09 1.08GB 1.078GB 1.08GB -1.157e+09iB -1.15934152958675956726e+09 1.08GB 1.080GB 1.08GB -1.159e+09iB -1.16166021264593315125e+09 1.08GB 1.082GB 1.08GB -1.162e+09iB -1.16398353307122492790e+09 1.08GB 1.084GB 1.08GB -1.164e+09iB -1.16631150013736748695e+09 1.09GB 1.086GB 1.09GB -1.166e+09iB -1.16864412313764214516e+09 1.09GB 1.088GB 1.09GB -1.169e+09iB -1.17098141138391733170e+09 1.09GB 1.091GB 1.09GB -1.171e+09iB -1.17332337420668506622e+09 1.09GB 1.093GB 1.09GB -1.173e+09iB -1.17567002095509839058e+09 1.09GB 1.095GB 1.09GB -1.176e+09iB -1.17802136099700856209e+09 1.10GB 1.097GB 1.10GB -1.178e+09iB -1.18037740371900248528e+09 1.10GB 1.099GB 1.10GB -1.180e+09iB -1.18273815852644038200e+09 1.10GB 1.102GB 1.10GB -1.183e+09iB -1.18510363484349322319e+09 1.10GB 1.104GB 1.10GB -1.185e+09iB -1.18747384211318016052e+09 1.11GB 1.106GB 1.11GB -1.187e+09iB -1.18984878979740643501e+09 1.11GB 1.108GB 1.11GB -1.190e+09iB -1.19222848737700128555e+09 1.11GB 1.110GB 1.11GB -1.192e+09iB -1.19461294435175538063e+09 1.11GB 1.113GB 1.11GB -1.195e+09iB -1.19700217024045896530e+09 1.11GB 1.115GB 1.11GB -1.197e+09iB -1.19939617458093976974e+09 1.12GB 1.117GB 1.12GB -1.199e+09iB -1.20179496693010163307e+09 1.12GB 1.119GB 1.12GB -1.202e+09iB -1.20419855686396193504e+09 1.12GB 1.121GB 1.12GB -1.204e+09iB -1.20660695397768974304e+09 1.12GB 1.124GB 1.12GB -1.207e+09iB -1.20902016788564515114e+09 1.13GB 1.126GB 1.13GB -1.209e+09iB -1.21143820822141647339e+09 1.13GB 1.128GB 1.13GB -1.211e+09iB -1.21386108463785934448e+09 1.13GB 1.130GB 1.13GB -1.214e+09iB -1.21628880680713510513e+09 1.13GB 1.133GB 1.13GB -1.216e+09iB -1.21872138442074942589e+09 1.14GB 1.135GB 1.14GB -1.219e+09iB -1.22115882718959093094e+09 1.14GB 1.137GB 1.14GB -1.221e+09iB -1.22360114484397006035e+09 1.14GB 1.140GB 1.14GB -1.224e+09iB -1.22604834713365793228e+09 1.14GB 1.142GB 1.14GB -1.226e+09iB -1.22850044382792520523e+09 1.14GB 1.144GB 1.14GB -1.229e+09iB -1.23095744471558094025e+09 1.15GB 1.146GB 1.15GB -1.231e+09iB -1.23341935960501217842e+09 1.15GB 1.149GB 1.15GB -1.233e+09iB -1.23588619832422208786e+09 1.15GB 1.151GB 1.15GB -1.236e+09iB -1.23835797072087049484e+09 1.15GB 1.153GB 1.15GB -1.238e+09iB -1.24083468666231226921e+09 1.16GB 1.156GB 1.16GB -1.241e+09iB -1.24331635603563690186e+09 1.16GB 1.158GB 1.16GB -1.243e+09iB -1.24580298874770808220e+09 1.16GB 1.160GB 1.16GB -1.246e+09iB -1.24829459472520351410e+09 1.16GB 1.163GB 1.16GB -1.248e+09iB -1.25079118391465401649e+09 1.16GB 1.165GB 1.16GB -1.251e+09iB -1.25329276628248333931e+09 1.17GB 1.167GB 1.17GB -1.253e+09iB -1.25579935181504821777e+09 1.17GB 1.170GB 1.17GB -1.256e+09iB -1.25831095051867842674e+09 1.17GB 1.172GB 1.17GB -1.258e+09iB -1.26082757241971588135e+09 1.17GB 1.174GB 1.17GB -1.261e+09iB -1.26334922756455540657e+09 1.18GB 1.177GB 1.18GB -1.263e+09iB -1.26587592601968455315e+09 1.18GB 1.179GB 1.18GB -1.266e+09iB -1.26840767787172389030e+09 1.18GB 1.181GB 1.18GB -1.268e+09iB -1.27094449322746729851e+09 1.18GB 1.184GB 1.18GB -1.271e+09iB -1.27348638221392226219e+09 1.19GB 1.186GB 1.19GB -1.273e+09iB -1.27603335497835016251e+09 1.19GB 1.188GB 1.19GB -1.276e+09iB -1.27858542168830680847e+09 1.19GB 1.191GB 1.19GB -1.279e+09iB -1.28114259253168344498e+09 1.19GB 1.193GB 1.19GB -1.281e+09iB -1.28370487771674680710e+09 1.20GB 1.196GB 1.20GB -1.284e+09iB -1.28627228747218036652e+09 1.20GB 1.198GB 1.20GB -1.286e+09iB -1.28884483204712462425e+09 1.20GB 1.200GB 1.20GB -1.289e+09iB -1.29142252171121883392e+09 1.20GB 1.203GB 1.20GB -1.291e+09iB -1.29400536675464129448e+09 1.21GB 1.205GB 1.21GB -1.294e+09iB -1.29659337748815059662e+09 1.21GB 1.208GB 1.21GB -1.297e+09iB -1.29918656424312686920e+09 1.21GB 1.210GB 1.21GB -1.299e+09iB -1.30178493737161302567e+09 1.21GB 1.212GB 1.21GB -1.302e+09iB -1.30438850724635624886e+09 1.21GB 1.215GB 1.21GB -1.304e+09iB -1.30699728426084899902e+09 1.22GB 1.217GB 1.22GB -1.307e+09iB -1.30961127882937073708e+09 1.22GB 1.220GB 1.22GB -1.310e+09iB -1.31223050138702940941e+09 1.22GB 1.222GB 1.22GB -1.312e+09iB -1.31485496238980340958e+09 1.22GB 1.225GB 1.22GB -1.315e+09iB -1.31748467231458306313e+09 1.23GB 1.227GB 1.23GB -1.317e+09iB -1.32011964165921211243e+09 1.23GB 1.229GB 1.23GB -1.320e+09iB -1.32275988094253063202e+09 1.23GB 1.232GB 1.23GB -1.323e+09iB -1.32540540070441579819e+09 1.23GB 1.234GB 1.23GB -1.325e+09iB -1.32805621150582456589e+09 1.24GB 1.237GB 1.24GB -1.328e+09iB -1.33071232392883610725e+09 1.24GB 1.239GB 1.24GB -1.331e+09iB -1.33337374857669377327e+09 1.24GB 1.242GB 1.24GB -1.333e+09iB -1.33604049607384705544e+09 1.24GB 1.244GB 1.24GB -1.336e+09iB -1.33871257706599473953e+09 1.25GB 1.247GB 1.25GB -1.339e+09iB -1.34139000222012662888e+09 1.25GB 1.249GB 1.25GB -1.341e+09iB -1.34407278222456693649e+09 1.25GB 1.252GB 1.25GB -1.344e+09iB -1.34676092778901600838e+09 1.25GB 1.254GB 1.25GB -1.347e+09iB -1.34945444964459395409e+09 1.26GB 1.257GB 1.26GB -1.349e+09iB -1.35215335854388308525e+09 1.26GB 1.259GB 1.26GB -1.352e+09iB -1.35485766526097083092e+09 1.26GB 1.262GB 1.26GB -1.355e+09iB -1.35756738059149289131e+09 1.26GB 1.264GB 1.26GB -1.358e+09iB -1.36028251535267591476e+09 1.27GB 1.267GB 1.27GB -1.360e+09iB -1.36300308038338136673e+09 1.27GB 1.269GB 1.27GB -1.363e+09iB -1.36572908654414820671e+09 1.27GB 1.272GB 1.27GB -1.366e+09iB -1.36846054471723651886e+09 1.27GB 1.274GB 1.27GB -1.368e+09iB -1.37119746580667090416e+09 1.28GB 1.277GB 1.28GB -1.371e+09iB -1.37393986073828434944e+09 1.28GB 1.280GB 1.28GB -1.374e+09iB -1.37668774045976090431e+09 1.28GB 1.282GB 1.28GB -1.377e+09iB -1.37944111594068050385e+09 1.28GB 1.285GB 1.28GB -1.379e+09iB -1.38219999817256188393e+09 1.29GB 1.287GB 1.29GB -1.382e+09iB -1.38496439816890692711e+09 1.29GB 1.290GB 1.29GB -1.385e+09iB -1.38773432696524477005e+09 1.29GB 1.292GB 1.29GB -1.388e+09iB -1.39050979561917519569e+09 1.30GB 1.295GB 1.30GB -1.391e+09iB -1.39329081521041345596e+09 1.30GB 1.298GB 1.30GB -1.393e+09iB -1.39607739684083437920e+09 1.30GB 1.300GB 1.30GB -1.396e+09iB -1.39886955163451600075e+09 1.30GB 1.303GB 1.30GB -1.399e+09iB -1.00000000000000000000e+12 909GB 909.5GB 909GB -1.000e+12iB -1.05000000000000000000e+12 955GB 955.0GB 955GB -1.050e+12iB -1.10250000000000000000e+12 1.00TB 1.003TB 1.00TB -1.102e+12iB -1.15762500000000000000e+12 1.05TB 1.053TB 1.05TB -1.158e+12iB -1.21550625000000000000e+12 1.11TB 1.105TB 1.11TB -1.216e+12iB -1.27628156250000000000e+12 1.16TB 1.161TB 1.16TB -1.276e+12iB -1.34009564062500000000e+12 1.22TB 1.219TB 1.22TB -1.340e+12iB -1.40710042265625000000e+12 1.28TB 1.280TB 1.28TB -1.407e+12iB -1.47745544378906250000e+12 1.34TB 1.344TB 1.34TB -1.477e+12iB -1.55132821597851562500e+12 1.41TB 1.411TB 1.41TB -1.551e+12iB -1.62889462677744140625e+12 1.48TB 1.481TB 1.48TB -1.629e+12iB -1.71033935811631347656e+12 1.56TB 1.556TB 1.56TB -1.710e+12iB -1.79585632602212915039e+12 1.63TB 1.633TB 1.63TB -1.796e+12iB -1.88564914232323559570e+12 1.71TB 1.715TB 1.71TB -1.886e+12iB -1.97993159943939746094e+12 1.80TB 1.801TB 1.80TB -1.980e+12iB -2.07892817941136743164e+12 1.89TB 1.891TB 1.89TB -2.079e+12iB -2.18287458838193579102e+12 1.99TB 1.985TB 1.99TB -2.183e+12iB -2.29201831780103271484e+12 2.08TB 2.085TB 2.08TB -2.292e+12iB +1.00000000000000002082e-03 0 B 0 B 0 B -1.000e-03 B +1.30000000000000011380e-02 0 B 0 B 0 B -1.300e-02 B +1.69000000000000011324e-01 0 B 0 B 0 B -1.690e-01 B +2.19700000000000006395e+00 0.002KiB 0.0021KiB 0.002KiB -2.197e+00 B +2.85609999999999999432e+01 0.028KiB 0.0279KiB 0.028KiB -2.856e+01 B +3.71293000000000006366e+02 0.363KiB 0.3626KiB 0.363KiB -3.713e+02 B +4.82680900000000019645e+03 4.71KiB 4.714KiB 4.71KiB -4.827e+03 B +6.27485169999999998254e+04 59.8KiB 59.84KiB 59.8KiB -6.275e+04 B +8.15730721000000019558e+05 778KiB 777.9KiB 778KiB -8.157e+05 B +1.06044993729999996722e+07 9.88MiB 9.876MiB 9.88MiB -1.060e+07 B +1.37858491849000006914e+08 128MiB 128.4MiB 128MiB -1.379e+08 B +1.79216039403700017929e+09 1.67GiB 1.669GiB 1.67GiB -1.792e+09 B +2.32980851224810028076e+10 21.2GiB 21.19GiB 21.2GiB -2.330e+10 B +3.02875106592253051758e+11 275GiB 275.5GiB 275GiB -3.029e+11 B +3.93737638569928955078e+12 3.58TiB 3.581TiB 3.58TiB -3.937e+12 B +5.11858930140907656250e+13 45.5TiB 45.46TiB 45.5TiB -5.119e+13 B +6.65416609183180000000e+14 591TiB 591.0TiB 591TiB -6.654e+14 B +8.65041591938134000000e+15 7.68PiB 7.683PiB 7.68PiB -8.650e+15 B +1.12455406951957424000e+17 97.5PiB 97.54PiB 97.5PiB -1.125e+17 B +1.46192029037544652800e+18 1.27EiB 1.268EiB 1.27EiB -1.462e+18 B +1.90049637748808048640e+19 16.1EiB 16.10EiB 16.1EiB -1.900e+19 B +2.47064529073450450944e+20 209EiB 209.3EiB 209EiB -2.471e+20 B +3.21183887795485566566e+21 2.72ZiB 2.721ZiB 2.72ZiB -3.212e+21 B +4.17539054134131257508e+22 34.5ZiB 34.54ZiB 34.5ZiB -4.175e+22 B +5.42800770374370617983e+23 449ZiB 449.0ZiB 449ZiB -5.428e+23 B +7.05641001486681803378e+24 5.84YiB 5.837YiB 5.84YiB -7.056e+24 B +9.17333301932686301442e+25 74.1YiB 74.10YiB 74.1YiB -9.173e+25 B +1.19253329251249215751e+27 963YiB 963.3YiB 963YiB -1.193e+27 B +1.55029328026623977728e+28 12.2RiB 12.23RiB 12.2RiB -1.550e+28 B +2.01538126434611188639e+29 159RiB 159.0RiB 159RiB -2.015e+29 B +2.61999564364994545230e+30 2.07QiB 2.067QiB 2.07QiB -2.620e+30 B +3.40599433674492897540e+31 26.2QiB 26.24QiB 26.2QiB -3.406e+31 B +4.42779263776840757795e+32 4.43e+32 B 4.428e+32 B 4.43e+32 B -4.428e+32 B +5.75613042909892999545e+33 5.76e+33 B 5.756e+33 B 5.76e+33 B -5.756e+33 B +7.48296955782860864821e+34 7.48e+34 B 7.483e+34 B 7.48e+34 B -7.483e+34 B +1.00000000000000000000e+03 0.977KiB 0.9766KiB 0.977KiB -1.000e+03 B +1.00200000000000000000e+03 0.979KiB 0.9785KiB 0.979KiB -1.002e+03 B +1.00400400000000001910e+03 0.980KiB 0.9805KiB 0.980KiB -1.004e+03 B +1.00601200800000003710e+03 0.982KiB 0.9824KiB 0.982KiB -1.006e+03 B +1.00802403201600009197e+03 0.984KiB 0.9844KiB 0.984KiB -1.008e+03 B +1.01004008008003211216e+03 0.986KiB 0.9864KiB 0.986KiB -1.010e+03 B +1.01206016024019220367e+03 0.988KiB 0.9883KiB 0.988KiB -1.012e+03 B +1.01408428056067259604e+03 0.990KiB 0.9903KiB 0.990KiB -1.014e+03 B +1.01611244912179392941e+03 0.992KiB 0.9923KiB 0.992KiB -1.016e+03 B +1.01814467402003754160e+03 0.994KiB 0.9943KiB 0.994KiB -1.018e+03 B +1.02018096336807764146e+03 0.996KiB 0.9963KiB 0.996KiB -1.020e+03 B +1.02222132529481382335e+03 0.998KiB 0.9983KiB 0.998KiB -1.022e+03 B +1.02426576794540346782e+03 1.00KiB 1.000KiB 1.00KiB -1.024e+03 B +1.02631429948129425611e+03 1.00KiB 1.002KiB 1.00KiB -1.026e+03 B +1.02836692808025691193e+03 1.00KiB 1.004KiB 1.00KiB -1.028e+03 B +1.03042366193641737482e+03 1.01KiB 1.006KiB 1.01KiB -1.030e+03 B +1.03248450926029022412e+03 1.01KiB 1.008KiB 1.01KiB -1.032e+03 B +1.03454947827881073863e+03 1.01KiB 1.010KiB 1.01KiB -1.035e+03 B +1.03661857723536832054e+03 1.01KiB 1.012KiB 1.01KiB -1.037e+03 B +1.03869181438983900989e+03 1.01KiB 1.014KiB 1.01KiB -1.039e+03 B +1.04076919801861868109e+03 1.02KiB 1.016KiB 1.02KiB -1.041e+03 B +1.04285073641465601213e+03 1.02KiB 1.018KiB 1.02KiB -1.043e+03 B +1.04493643788748522638e+03 1.02KiB 1.020KiB 1.02KiB -1.045e+03 B +1.04702631076326019866e+03 1.02KiB 1.022KiB 1.02KiB -1.047e+03 B +1.04912036338478674224e+03 1.02KiB 1.025KiB 1.02KiB -1.049e+03 B +1.05121860411155626025e+03 1.03KiB 1.027KiB 1.03KiB -1.051e+03 B +1.05332104131977939687e+03 1.03KiB 1.029KiB 1.03KiB -1.053e+03 B +1.05542768340241900660e+03 1.03KiB 1.031KiB 1.03KiB -1.055e+03 B +1.05753853876922380550e+03 1.03KiB 1.033KiB 1.03KiB -1.058e+03 B +1.05965361584676224993e+03 1.03KiB 1.035KiB 1.03KiB -1.060e+03 B +1.06177292307845573305e+03 1.04KiB 1.037KiB 1.04KiB -1.062e+03 B +1.06389646892461269090e+03 1.04KiB 1.039KiB 1.04KiB -1.064e+03 B +1.06602426186246202633e+03 1.04KiB 1.041KiB 1.04KiB -1.066e+03 B +1.06815631038618698767e+03 1.04KiB 1.043KiB 1.04KiB -1.068e+03 B +1.07029262300695927479e+03 1.05KiB 1.045KiB 1.05KiB -1.070e+03 B +1.07243320825297314514e+03 1.05KiB 1.047KiB 1.05KiB -1.072e+03 B +1.07457807466947906505e+03 1.05KiB 1.049KiB 1.05KiB -1.075e+03 B +1.07672723081881804319e+03 1.05KiB 1.051KiB 1.05KiB -1.077e+03 B +1.07888068528045573657e+03 1.05KiB 1.054KiB 1.05KiB -1.079e+03 B +1.08103844665101655664e+03 1.06KiB 1.056KiB 1.06KiB -1.081e+03 B +1.08320052354431868480e+03 1.06KiB 1.058KiB 1.06KiB -1.083e+03 B +1.08536692459140726896e+03 1.06KiB 1.060KiB 1.06KiB -1.085e+03 B +1.08753765844059012124e+03 1.06KiB 1.062KiB 1.06KiB -1.088e+03 B +1.08971273375747136924e+03 1.06KiB 1.064KiB 1.06KiB -1.090e+03 B +1.09189215922498624423e+03 1.07KiB 1.066KiB 1.07KiB -1.092e+03 B +1.09407594354343632403e+03 1.07KiB 1.068KiB 1.07KiB -1.094e+03 B +1.09626409543052318440e+03 1.07KiB 1.071KiB 1.07KiB -1.096e+03 B +1.09845662362138432400e+03 1.07KiB 1.073KiB 1.07KiB -1.098e+03 B +1.10065353686862704308e+03 1.07KiB 1.075KiB 1.07KiB -1.101e+03 B +1.10285484394236436856e+03 1.08KiB 1.077KiB 1.08KiB -1.103e+03 B +1.10506055363024916005e+03 1.08KiB 1.079KiB 1.08KiB -1.105e+03 B +1.10727067473750958015e+03 1.08KiB 1.081KiB 1.08KiB -1.107e+03 B +1.10948521608698456475e+03 1.08KiB 1.083KiB 1.08KiB -1.109e+03 B +1.11170418651915861119e+03 1.09KiB 1.086KiB 1.09KiB -1.112e+03 B +1.11392759489219702118e+03 1.09KiB 1.088KiB 1.09KiB -1.114e+03 B +1.11615545008198137111e+03 1.09KiB 1.090KiB 1.09KiB -1.116e+03 B +1.11838776098214543708e+03 1.09KiB 1.092KiB 1.09KiB -1.118e+03 B +1.12062453650410975570e+03 1.09KiB 1.094KiB 1.09KiB -1.121e+03 B +1.12286578557711800386e+03 1.10KiB 1.097KiB 1.10KiB -1.123e+03 B +1.12511151714827224168e+03 1.10KiB 1.099KiB 1.10KiB -1.125e+03 B +1.12736174018256883755e+03 1.10KiB 1.101KiB 1.10KiB -1.127e+03 B +1.12961646366293393839e+03 1.10KiB 1.103KiB 1.10KiB -1.130e+03 B +1.13187569659025984947e+03 1.11KiB 1.105KiB 1.11KiB -1.132e+03 B +1.13413944798344027731e+03 1.11KiB 1.108KiB 1.11KiB -1.134e+03 B +1.13640772687940716423e+03 1.11KiB 1.110KiB 1.11KiB -1.136e+03 B +1.13868054233316593127e+03 1.11KiB 1.112KiB 1.11KiB -1.139e+03 B +1.14095790341783231270e+03 1.11KiB 1.114KiB 1.11KiB -1.141e+03 B +1.14323981922466805372e+03 1.12KiB 1.116KiB 1.12KiB -1.143e+03 B +1.14552629886311729024e+03 1.12KiB 1.119KiB 1.12KiB -1.146e+03 B +1.14781735146084361077e+03 1.12KiB 1.121KiB 1.12KiB -1.148e+03 B +1.15011298616376529935e+03 1.12KiB 1.123KiB 1.12KiB -1.150e+03 B +1.15241321213609285223e+03 1.13KiB 1.125KiB 1.13KiB -1.152e+03 B +1.15471803856036513025e+03 1.13KiB 1.128KiB 1.13KiB -1.155e+03 B +1.15702747463748596601e+03 1.13KiB 1.130KiB 1.13KiB -1.157e+03 B +1.15934152958676099843e+03 1.13KiB 1.132KiB 1.13KiB -1.159e+03 B +1.16166021264593450724e+03 1.13KiB 1.134KiB 1.13KiB -1.162e+03 B +1.16398353307122647493e+03 1.14KiB 1.137KiB 1.14KiB -1.164e+03 B +1.16631150013736896653e+03 1.14KiB 1.139KiB 1.14KiB -1.166e+03 B +1.16864412313764364626e+03 1.14KiB 1.141KiB 1.14KiB -1.169e+03 B +1.17098141138391883942e+03 1.14KiB 1.144KiB 1.14KiB -1.171e+03 B +1.17332337420668659433e+03 1.15KiB 1.146KiB 1.15KiB -1.173e+03 B +1.17567002095509997162e+03 1.15KiB 1.148KiB 1.15KiB -1.176e+03 B +1.17802136099701010608e+03 1.15KiB 1.150KiB 1.15KiB -1.178e+03 B +1.18037740371900417813e+03 1.15KiB 1.153KiB 1.15KiB -1.180e+03 B +1.18273815852644224833e+03 1.16KiB 1.155KiB 1.16KiB -1.183e+03 B +1.18510363484349522878e+03 1.16KiB 1.157KiB 1.16KiB -1.185e+03 B +1.18747384211318217240e+03 1.16KiB 1.160KiB 1.16KiB -1.187e+03 B +1.18984878979740847171e+03 1.16KiB 1.162KiB 1.16KiB -1.190e+03 B +1.19222848737700337551e+03 1.16KiB 1.164KiB 1.16KiB -1.192e+03 B +1.19461294435175727813e+03 1.17KiB 1.167KiB 1.17KiB -1.195e+03 B +1.19700217024046082770e+03 1.17KiB 1.169KiB 1.17KiB -1.197e+03 B +1.19939617458094176072e+03 1.17KiB 1.171KiB 1.17KiB -1.199e+03 B +1.00000000000000000000e+06 954KiB 953.7KiB 954KiB -1.000e+06 B +1.00200000000000000000e+06 956KiB 955.6KiB 956KiB -1.002e+06 B +1.00400400000000000000e+06 957KiB 957.5KiB 957KiB -1.004e+06 B +1.00601200800000003073e+06 959KiB 959.4KiB 959KiB -1.006e+06 B +1.00802403201600001194e+06 961KiB 961.3KiB 961KiB -1.008e+06 B +1.01004008008003199939e+06 963KiB 963.2KiB 963KiB -1.010e+06 B +1.01206016024019208271e+06 965KiB 965.2KiB 965KiB -1.012e+06 B +1.01408428056067251600e+06 967KiB 967.1KiB 967KiB -1.014e+06 B +1.01611244912179384846e+06 969KiB 969.0KiB 969KiB -1.016e+06 B +1.01814467402003740426e+06 971KiB 971.0KiB 971KiB -1.018e+06 B +1.02018096336807752959e+06 973KiB 972.9KiB 973KiB -1.020e+06 B +1.02222132529481372330e+06 975KiB 974.9KiB 975KiB -1.022e+06 B +1.02426576794540334959e+06 977KiB 976.8KiB 977KiB -1.024e+06 B +1.02631429948129411787e+06 979KiB 978.8KiB 979KiB -1.026e+06 B +1.02836692808025667910e+06 981KiB 980.7KiB 981KiB -1.028e+06 B +1.03042366193641722202e+06 983KiB 982.7KiB 983KiB -1.030e+06 B +1.03248450926029006951e+06 985KiB 984.7KiB 985KiB -1.032e+06 B +1.03454947827881062403e+06 987KiB 986.6KiB 987KiB -1.035e+06 B +1.03661857723536819685e+06 989KiB 988.6KiB 989KiB -1.037e+06 B +1.03869181438983895350e+06 991KiB 990.6KiB 991KiB -1.039e+06 B +1.04076919801861862652e+06 993KiB 992.6KiB 993KiB -1.041e+06 B +1.04285073641465581022e+06 995KiB 994.5KiB 995KiB -1.043e+06 B +1.04493643788748513907e+06 997KiB 996.5KiB 997KiB -1.045e+06 B +1.04702631076326011680e+06 999KiB 998.5KiB 999KiB -1.047e+06 B +1.04912036338478652760e+06 1.00MiB 1.001MiB 1.00MiB -1.049e+06 B +1.05121860411155619659e+06 1.00MiB 1.003MiB 1.00MiB -1.051e+06 B +1.05332104131977935322e+06 1.00MiB 1.005MiB 1.00MiB -1.053e+06 B +1.05542768340241885744e+06 1.01MiB 1.007MiB 1.01MiB -1.055e+06 B +1.05753853876922372729e+06 1.01MiB 1.009MiB 1.01MiB -1.058e+06 B +1.05965361584676220082e+06 1.01MiB 1.011MiB 1.01MiB -1.060e+06 B +1.06177292307845572941e+06 1.01MiB 1.013MiB 1.01MiB -1.062e+06 B +1.06389646892461273819e+06 1.01MiB 1.015MiB 1.01MiB -1.064e+06 B +1.06602426186246192083e+06 1.02MiB 1.017MiB 1.02MiB -1.066e+06 B +1.06815631038618693128e+06 1.02MiB 1.019MiB 1.02MiB -1.068e+06 B +1.07029262300695921294e+06 1.02MiB 1.021MiB 1.02MiB -1.070e+06 B +1.07243320825297315605e+06 1.02MiB 1.023MiB 1.02MiB -1.072e+06 B +1.07457807466947915964e+06 1.02MiB 1.025MiB 1.02MiB -1.075e+06 B +1.07672723081881809048e+06 1.03MiB 1.027MiB 1.03MiB -1.077e+06 B +1.07888068528045574203e+06 1.03MiB 1.029MiB 1.03MiB -1.079e+06 B +1.08103844665101659484e+06 1.03MiB 1.031MiB 1.03MiB -1.081e+06 B +1.08320052354431874119e+06 1.03MiB 1.033MiB 1.03MiB -1.083e+06 B +1.08536692459140741266e+06 1.04MiB 1.035MiB 1.04MiB -1.085e+06 B +1.08753765844059013762e+06 1.04MiB 1.037MiB 1.04MiB -1.088e+06 B +1.08971273375747143291e+06 1.04MiB 1.039MiB 1.04MiB -1.090e+06 B +1.09189215922498633154e+06 1.04MiB 1.041MiB 1.04MiB -1.092e+06 B +1.09407594354343623854e+06 1.04MiB 1.043MiB 1.04MiB -1.094e+06 B +1.09626409543052315712e+06 1.05MiB 1.045MiB 1.05MiB -1.096e+06 B +1.09845662362138414755e+06 1.05MiB 1.048MiB 1.05MiB -1.098e+06 B +1.10065353686862695031e+06 1.05MiB 1.050MiB 1.05MiB -1.101e+06 B +1.10285484394236421213e+06 1.05MiB 1.052MiB 1.05MiB -1.103e+06 B +1.10506055363024887629e+06 1.05MiB 1.054MiB 1.05MiB -1.105e+06 B +1.10727067473750934005e+06 1.06MiB 1.056MiB 1.06MiB -1.107e+06 B +1.10948521608698437922e+06 1.06MiB 1.058MiB 1.06MiB -1.109e+06 B +1.11170418651915830560e+06 1.06MiB 1.060MiB 1.06MiB -1.112e+06 B +1.11392759489219659008e+06 1.06MiB 1.062MiB 1.06MiB -1.114e+06 B +1.11615545008198102005e+06 1.06MiB 1.064MiB 1.06MiB -1.116e+06 B +1.11838776098214508966e+06 1.07MiB 1.067MiB 1.07MiB -1.118e+06 B +1.12062453650410939008e+06 1.07MiB 1.069MiB 1.07MiB -1.121e+06 B +1.12286578557711769827e+06 1.07MiB 1.071MiB 1.07MiB -1.123e+06 B +1.12511151714827190153e+06 1.07MiB 1.073MiB 1.07MiB -1.125e+06 B +1.12736174018256855197e+06 1.08MiB 1.075MiB 1.08MiB -1.127e+06 B +1.12961646366293379106e+06 1.08MiB 1.077MiB 1.08MiB -1.130e+06 B +1.13187569659025967121e+06 1.08MiB 1.079MiB 1.08MiB -1.132e+06 B +1.13413944798344024457e+06 1.08MiB 1.082MiB 1.08MiB -1.134e+06 B +1.13640772687940718606e+06 1.08MiB 1.084MiB 1.08MiB -1.136e+06 B +1.13868054233316611499e+06 1.09MiB 1.086MiB 1.09MiB -1.139e+06 B +1.14095790341783245094e+06 1.09MiB 1.088MiB 1.09MiB -1.141e+06 B +1.14323981922466820106e+06 1.09MiB 1.090MiB 1.09MiB -1.143e+06 B +1.14552629886311758310e+06 1.09MiB 1.092MiB 1.09MiB -1.146e+06 B +1.14781735146084381267e+06 1.09MiB 1.095MiB 1.09MiB -1.148e+06 B +1.15011298616376542486e+06 1.10MiB 1.097MiB 1.10MiB -1.150e+06 B +1.15241321213609306142e+06 1.10MiB 1.099MiB 1.10MiB -1.152e+06 B +1.15471803856036532670e+06 1.10MiB 1.101MiB 1.10MiB -1.155e+06 B +1.15702747463748604059e+06 1.10MiB 1.103MiB 1.10MiB -1.157e+06 B +1.15934152958676102571e+06 1.11MiB 1.106MiB 1.11MiB -1.159e+06 B +1.16166021264593466185e+06 1.11MiB 1.108MiB 1.11MiB -1.162e+06 B +1.16398353307122644037e+06 1.11MiB 1.110MiB 1.11MiB -1.164e+06 B +1.16631150013736891560e+06 1.11MiB 1.112MiB 1.11MiB -1.166e+06 B +1.16864412313764356077e+06 1.11MiB 1.115MiB 1.11MiB -1.169e+06 B +1.17098141138391895220e+06 1.12MiB 1.117MiB 1.12MiB -1.171e+06 B +1.17332337420668685809e+06 1.12MiB 1.119MiB 1.12MiB -1.173e+06 B +1.17567002095510018989e+06 1.12MiB 1.121MiB 1.12MiB -1.176e+06 B +1.17802136099701048806e+06 1.12MiB 1.123MiB 1.12MiB -1.178e+06 B +1.18037740371900447644e+06 1.13MiB 1.126MiB 1.13MiB -1.180e+06 B +1.18273815852644247934e+06 1.13MiB 1.128MiB 1.13MiB -1.183e+06 B +1.18510363484349544160e+06 1.13MiB 1.130MiB 1.13MiB -1.185e+06 B +1.18747384211318241432e+06 1.13MiB 1.132MiB 1.13MiB -1.187e+06 B +1.18984878979740873910e+06 1.13MiB 1.135MiB 1.13MiB -1.190e+06 B +1.19222848737700353377e+06 1.14MiB 1.137MiB 1.14MiB -1.192e+06 B +1.19461294435175764374e+06 1.14MiB 1.139MiB 1.14MiB -1.195e+06 B +1.19700217024046112783e+06 1.14MiB 1.142MiB 1.14MiB -1.197e+06 B +1.19939617458094214089e+06 1.14MiB 1.144MiB 1.14MiB -1.199e+06 B +1.00000000000000000000e+09 931MiB 931.3MiB 931MiB -1.000e+09 B +1.00200000000000000000e+09 933MiB 933.2MiB 933MiB -1.002e+09 B +1.00400400000000000000e+09 935MiB 935.1MiB 935MiB -1.004e+09 B +1.00601200800000000000e+09 937MiB 936.9MiB 937MiB -1.006e+09 B +1.00802403201600003242e+09 939MiB 938.8MiB 939MiB -1.008e+09 B +1.01004008008003199100e+09 941MiB 940.7MiB 941MiB -1.010e+09 B +1.01206016024019205570e+09 943MiB 942.6MiB 943MiB -1.012e+09 B +1.01408428056067240238e+09 944MiB 944.4MiB 944MiB -1.014e+09 B +1.01611244912179374695e+09 946MiB 946.3MiB 946MiB -1.016e+09 B +1.01814467402003729343e+09 948MiB 948.2MiB 948MiB -1.018e+09 B +1.02018096336807739735e+09 950MiB 950.1MiB 950MiB -1.020e+09 B +1.02222132529481351376e+09 952MiB 952.0MiB 952MiB -1.022e+09 B +1.02426576794540309906e+09 954MiB 953.9MiB 954MiB -1.024e+09 B +1.02631429948129391670e+09 956MiB 955.8MiB 956MiB -1.026e+09 B +1.02836692808025646210e+09 958MiB 957.7MiB 958MiB -1.028e+09 B +1.03042366193641698360e+09 960MiB 959.7MiB 960MiB -1.030e+09 B +1.03248450926028978825e+09 962MiB 961.6MiB 962MiB -1.032e+09 B +1.03454947827881038189e+09 963MiB 963.5MiB 963MiB -1.035e+09 B +1.03661857723536801338e+09 965MiB 965.4MiB 965MiB -1.037e+09 B +1.03869181438983869553e+09 967MiB 967.4MiB 967MiB -1.039e+09 B +1.04076919801861834526e+09 969MiB 969.3MiB 969MiB -1.041e+09 B +1.04285073641465556622e+09 971MiB 971.2MiB 971MiB -1.043e+09 B +1.04493643788748490810e+09 973MiB 973.2MiB 973MiB -1.045e+09 B +1.04702631076325988770e+09 975MiB 975.1MiB 975MiB -1.047e+09 B +1.04912036338478636742e+09 977MiB 977.1MiB 977MiB -1.049e+09 B +1.05121860411155593395e+09 979MiB 979.0MiB 979MiB -1.051e+09 B +1.05332104131977903843e+09 981MiB 981.0MiB 981MiB -1.053e+09 B +1.05542768340241861343e+09 983MiB 982.9MiB 983MiB -1.055e+09 B +1.05753853876922345161e+09 985MiB 984.9MiB 985MiB -1.058e+09 B +1.05965361584676194191e+09 987MiB 986.9MiB 987MiB -1.060e+09 B +1.06177292307845544815e+09 989MiB 988.9MiB 989MiB -1.062e+09 B +1.06389646892461240292e+09 991MiB 990.8MiB 991MiB -1.064e+09 B +1.06602426186246168613e+09 993MiB 992.8MiB 993MiB -1.066e+09 B +1.06815631038618659973e+09 995MiB 994.8MiB 995MiB -1.068e+09 B +1.07029262300695896149e+09 997MiB 996.8MiB 997MiB -1.070e+09 B +1.07243320825297284126e+09 999MiB 998.8MiB 999MiB -1.072e+09 B +1.07457807466947889328e+09 1.00GiB 1.001GiB 1.00GiB -1.075e+09 B +1.07672723081881785393e+09 1.00GiB 1.003GiB 1.00GiB -1.077e+09 B +1.07888068528045558929e+09 1.00GiB 1.005GiB 1.00GiB -1.079e+09 B +1.08103844665101647377e+09 1.01GiB 1.007GiB 1.01GiB -1.081e+09 B +1.08320052354431843758e+09 1.01GiB 1.009GiB 1.01GiB -1.083e+09 B +1.08536692459140706062e+09 1.01GiB 1.011GiB 1.01GiB -1.085e+09 B +1.08753765844058990479e+09 1.01GiB 1.013GiB 1.01GiB -1.088e+09 B +1.08971273375747108459e+09 1.01GiB 1.015GiB 1.01GiB -1.090e+09 B +1.09189215922498607635e+09 1.02GiB 1.017GiB 1.02GiB -1.092e+09 B +1.09407594354343605042e+09 1.02GiB 1.019GiB 1.02GiB -1.094e+09 B +1.09626409543052291870e+09 1.02GiB 1.021GiB 1.02GiB -1.096e+09 B +1.09845662362138390541e+09 1.02GiB 1.023GiB 1.02GiB -1.098e+09 B +1.10065353686862659454e+09 1.03GiB 1.025GiB 1.03GiB -1.101e+09 B +1.10285484394236373901e+09 1.03GiB 1.027GiB 1.03GiB -1.103e+09 B +1.10506055363024854660e+09 1.03GiB 1.029GiB 1.03GiB -1.105e+09 B +1.10727067473750901222e+09 1.03GiB 1.031GiB 1.03GiB -1.107e+09 B +1.10948521608698391914e+09 1.03GiB 1.033GiB 1.03GiB -1.109e+09 B +1.11170418651915788651e+09 1.04GiB 1.035GiB 1.04GiB -1.112e+09 B +1.11392759489219617844e+09 1.04GiB 1.037GiB 1.04GiB -1.114e+09 B +1.11615545008198046684e+09 1.04GiB 1.040GiB 1.04GiB -1.116e+09 B +1.11838776098214435577e+09 1.04GiB 1.042GiB 1.04GiB -1.118e+09 B +1.12062453650410866737e+09 1.04GiB 1.044GiB 1.04GiB -1.121e+09 B +1.12286578557711696625e+09 1.05GiB 1.046GiB 1.05GiB -1.123e+09 B +1.12511151714827108383e+09 1.05GiB 1.048GiB 1.05GiB -1.125e+09 B +1.12736174018256759644e+09 1.05GiB 1.050GiB 1.05GiB -1.127e+09 B +1.12961646366293263435e+09 1.05GiB 1.052GiB 1.05GiB -1.130e+09 B +1.13187569659025859833e+09 1.05GiB 1.054GiB 1.05GiB -1.132e+09 B +1.13413944798343920708e+09 1.06GiB 1.056GiB 1.06GiB -1.134e+09 B +1.13640772687940597534e+09 1.06GiB 1.058GiB 1.06GiB -1.136e+09 B +1.13868054233316469193e+09 1.06GiB 1.060GiB 1.06GiB -1.139e+09 B +1.14095790341783094406e+09 1.06GiB 1.063GiB 1.06GiB -1.141e+09 B +1.14323981922466659546e+09 1.06GiB 1.065GiB 1.06GiB -1.143e+09 B +1.14552629886311602592e+09 1.07GiB 1.067GiB 1.07GiB -1.146e+09 B +1.14781735146084237099e+09 1.07GiB 1.069GiB 1.07GiB -1.148e+09 B +1.15011298616376399994e+09 1.07GiB 1.071GiB 1.07GiB -1.150e+09 B +1.15241321213609147072e+09 1.07GiB 1.073GiB 1.07GiB -1.152e+09 B +1.15471803856036376953e+09 1.08GiB 1.075GiB 1.08GiB -1.155e+09 B +1.15702747463748455048e+09 1.08GiB 1.078GiB 1.08GiB -1.157e+09 B +1.15934152958675956726e+09 1.08GiB 1.080GiB 1.08GiB -1.159e+09 B +1.16166021264593315125e+09 1.08GiB 1.082GiB 1.08GiB -1.162e+09 B +1.16398353307122492790e+09 1.08GiB 1.084GiB 1.08GiB -1.164e+09 B +1.16631150013736748695e+09 1.09GiB 1.086GiB 1.09GiB -1.166e+09 B +1.16864412313764214516e+09 1.09GiB 1.088GiB 1.09GiB -1.169e+09 B +1.17098141138391733170e+09 1.09GiB 1.091GiB 1.09GiB -1.171e+09 B +1.17332337420668506622e+09 1.09GiB 1.093GiB 1.09GiB -1.173e+09 B +1.17567002095509839058e+09 1.09GiB 1.095GiB 1.09GiB -1.176e+09 B +1.17802136099700856209e+09 1.10GiB 1.097GiB 1.10GiB -1.178e+09 B +1.18037740371900248528e+09 1.10GiB 1.099GiB 1.10GiB -1.180e+09 B +1.18273815852644038200e+09 1.10GiB 1.102GiB 1.10GiB -1.183e+09 B +1.18510363484349322319e+09 1.10GiB 1.104GiB 1.10GiB -1.185e+09 B +1.18747384211318016052e+09 1.11GiB 1.106GiB 1.11GiB -1.187e+09 B +1.18984878979740643501e+09 1.11GiB 1.108GiB 1.11GiB -1.190e+09 B +1.19222848737700128555e+09 1.11GiB 1.110GiB 1.11GiB -1.192e+09 B +1.19461294435175538063e+09 1.11GiB 1.113GiB 1.11GiB -1.195e+09 B +1.19700217024045896530e+09 1.11GiB 1.115GiB 1.11GiB -1.197e+09 B +1.19939617458093976974e+09 1.12GiB 1.117GiB 1.12GiB -1.199e+09 B +1.20179496693010163307e+09 1.12GiB 1.119GiB 1.12GiB -1.202e+09 B +1.20419855686396193504e+09 1.12GiB 1.121GiB 1.12GiB -1.204e+09 B +1.20660695397768974304e+09 1.12GiB 1.124GiB 1.12GiB -1.207e+09 B +1.20902016788564515114e+09 1.13GiB 1.126GiB 1.13GiB -1.209e+09 B +1.21143820822141647339e+09 1.13GiB 1.128GiB 1.13GiB -1.211e+09 B +1.21386108463785934448e+09 1.13GiB 1.130GiB 1.13GiB -1.214e+09 B +1.21628880680713510513e+09 1.13GiB 1.133GiB 1.13GiB -1.216e+09 B +1.21872138442074942589e+09 1.14GiB 1.135GiB 1.14GiB -1.219e+09 B +1.22115882718959093094e+09 1.14GiB 1.137GiB 1.14GiB -1.221e+09 B +1.22360114484397006035e+09 1.14GiB 1.140GiB 1.14GiB -1.224e+09 B +1.22604834713365793228e+09 1.14GiB 1.142GiB 1.14GiB -1.226e+09 B +1.22850044382792520523e+09 1.14GiB 1.144GiB 1.14GiB -1.229e+09 B +1.23095744471558094025e+09 1.15GiB 1.146GiB 1.15GiB -1.231e+09 B +1.23341935960501217842e+09 1.15GiB 1.149GiB 1.15GiB -1.233e+09 B +1.23588619832422208786e+09 1.15GiB 1.151GiB 1.15GiB -1.236e+09 B +1.23835797072087049484e+09 1.15GiB 1.153GiB 1.15GiB -1.238e+09 B +1.24083468666231226921e+09 1.16GiB 1.156GiB 1.16GiB -1.241e+09 B +1.24331635603563690186e+09 1.16GiB 1.158GiB 1.16GiB -1.243e+09 B +1.24580298874770808220e+09 1.16GiB 1.160GiB 1.16GiB -1.246e+09 B +1.24829459472520351410e+09 1.16GiB 1.163GiB 1.16GiB -1.248e+09 B +1.25079118391465401649e+09 1.16GiB 1.165GiB 1.16GiB -1.251e+09 B +1.25329276628248333931e+09 1.17GiB 1.167GiB 1.17GiB -1.253e+09 B +1.25579935181504821777e+09 1.17GiB 1.170GiB 1.17GiB -1.256e+09 B +1.25831095051867842674e+09 1.17GiB 1.172GiB 1.17GiB -1.258e+09 B +1.26082757241971588135e+09 1.17GiB 1.174GiB 1.17GiB -1.261e+09 B +1.26334922756455540657e+09 1.18GiB 1.177GiB 1.18GiB -1.263e+09 B +1.26587592601968455315e+09 1.18GiB 1.179GiB 1.18GiB -1.266e+09 B +1.26840767787172389030e+09 1.18GiB 1.181GiB 1.18GiB -1.268e+09 B +1.27094449322746729851e+09 1.18GiB 1.184GiB 1.18GiB -1.271e+09 B +1.27348638221392226219e+09 1.19GiB 1.186GiB 1.19GiB -1.273e+09 B +1.27603335497835016251e+09 1.19GiB 1.188GiB 1.19GiB -1.276e+09 B +1.27858542168830680847e+09 1.19GiB 1.191GiB 1.19GiB -1.279e+09 B +1.28114259253168344498e+09 1.19GiB 1.193GiB 1.19GiB -1.281e+09 B +1.28370487771674680710e+09 1.20GiB 1.196GiB 1.20GiB -1.284e+09 B +1.28627228747218036652e+09 1.20GiB 1.198GiB 1.20GiB -1.286e+09 B +1.28884483204712462425e+09 1.20GiB 1.200GiB 1.20GiB -1.289e+09 B +1.29142252171121883392e+09 1.20GiB 1.203GiB 1.20GiB -1.291e+09 B +1.29400536675464129448e+09 1.21GiB 1.205GiB 1.21GiB -1.294e+09 B +1.29659337748815059662e+09 1.21GiB 1.208GiB 1.21GiB -1.297e+09 B +1.29918656424312686920e+09 1.21GiB 1.210GiB 1.21GiB -1.299e+09 B +1.30178493737161302567e+09 1.21GiB 1.212GiB 1.21GiB -1.302e+09 B +1.30438850724635624886e+09 1.21GiB 1.215GiB 1.21GiB -1.304e+09 B +1.30699728426084899902e+09 1.22GiB 1.217GiB 1.22GiB -1.307e+09 B +1.30961127882937073708e+09 1.22GiB 1.220GiB 1.22GiB -1.310e+09 B +1.31223050138702940941e+09 1.22GiB 1.222GiB 1.22GiB -1.312e+09 B +1.31485496238980340958e+09 1.22GiB 1.225GiB 1.22GiB -1.315e+09 B +1.31748467231458306313e+09 1.23GiB 1.227GiB 1.23GiB -1.317e+09 B +1.32011964165921211243e+09 1.23GiB 1.229GiB 1.23GiB -1.320e+09 B +1.32275988094253063202e+09 1.23GiB 1.232GiB 1.23GiB -1.323e+09 B +1.32540540070441579819e+09 1.23GiB 1.234GiB 1.23GiB -1.325e+09 B +1.32805621150582456589e+09 1.24GiB 1.237GiB 1.24GiB -1.328e+09 B +1.33071232392883610725e+09 1.24GiB 1.239GiB 1.24GiB -1.331e+09 B +1.33337374857669377327e+09 1.24GiB 1.242GiB 1.24GiB -1.333e+09 B +1.33604049607384705544e+09 1.24GiB 1.244GiB 1.24GiB -1.336e+09 B +1.33871257706599473953e+09 1.25GiB 1.247GiB 1.25GiB -1.339e+09 B +1.34139000222012662888e+09 1.25GiB 1.249GiB 1.25GiB -1.341e+09 B +1.34407278222456693649e+09 1.25GiB 1.252GiB 1.25GiB -1.344e+09 B +1.34676092778901600838e+09 1.25GiB 1.254GiB 1.25GiB -1.347e+09 B +1.34945444964459395409e+09 1.26GiB 1.257GiB 1.26GiB -1.349e+09 B +1.35215335854388308525e+09 1.26GiB 1.259GiB 1.26GiB -1.352e+09 B +1.35485766526097083092e+09 1.26GiB 1.262GiB 1.26GiB -1.355e+09 B +1.35756738059149289131e+09 1.26GiB 1.264GiB 1.26GiB -1.358e+09 B +1.36028251535267591476e+09 1.27GiB 1.267GiB 1.27GiB -1.360e+09 B +1.36300308038338136673e+09 1.27GiB 1.269GiB 1.27GiB -1.363e+09 B +1.36572908654414820671e+09 1.27GiB 1.272GiB 1.27GiB -1.366e+09 B +1.36846054471723651886e+09 1.27GiB 1.274GiB 1.27GiB -1.368e+09 B +1.37119746580667090416e+09 1.28GiB 1.277GiB 1.28GiB -1.371e+09 B +1.37393986073828434944e+09 1.28GiB 1.280GiB 1.28GiB -1.374e+09 B +1.37668774045976090431e+09 1.28GiB 1.282GiB 1.28GiB -1.377e+09 B +1.37944111594068050385e+09 1.28GiB 1.285GiB 1.28GiB -1.379e+09 B +1.38219999817256188393e+09 1.29GiB 1.287GiB 1.29GiB -1.382e+09 B +1.38496439816890692711e+09 1.29GiB 1.290GiB 1.29GiB -1.385e+09 B +1.38773432696524477005e+09 1.29GiB 1.292GiB 1.29GiB -1.388e+09 B +1.39050979561917519569e+09 1.30GiB 1.295GiB 1.30GiB -1.391e+09 B +1.39329081521041345596e+09 1.30GiB 1.298GiB 1.30GiB -1.393e+09 B +1.39607739684083437920e+09 1.30GiB 1.300GiB 1.30GiB -1.396e+09 B +1.39886955163451600075e+09 1.30GiB 1.303GiB 1.30GiB -1.399e+09 B +1.00000000000000000000e+12 909GiB 909.5GiB 909GiB -1.000e+12 B +1.05000000000000000000e+12 955GiB 955.0GiB 955GiB -1.050e+12 B +1.10250000000000000000e+12 1.00TiB 1.003TiB 1.00TiB -1.102e+12 B +1.15762500000000000000e+12 1.05TiB 1.053TiB 1.05TiB -1.158e+12 B +1.21550625000000000000e+12 1.11TiB 1.105TiB 1.11TiB -1.216e+12 B +1.27628156250000000000e+12 1.16TiB 1.161TiB 1.16TiB -1.276e+12 B +1.34009564062500000000e+12 1.22TiB 1.219TiB 1.22TiB -1.340e+12 B +1.40710042265625000000e+12 1.28TiB 1.280TiB 1.28TiB -1.407e+12 B +1.47745544378906250000e+12 1.34TiB 1.344TiB 1.34TiB -1.477e+12 B +1.55132821597851562500e+12 1.41TiB 1.411TiB 1.41TiB -1.551e+12 B +1.62889462677744140625e+12 1.48TiB 1.481TiB 1.48TiB -1.629e+12 B +1.71033935811631347656e+12 1.56TiB 1.556TiB 1.56TiB -1.710e+12 B +1.79585632602212915039e+12 1.63TiB 1.633TiB 1.63TiB -1.796e+12 B +1.88564914232323559570e+12 1.71TiB 1.715TiB 1.71TiB -1.886e+12 B +1.97993159943939746094e+12 1.80TiB 1.801TiB 1.80TiB -1.980e+12 B +2.07892817941136743164e+12 1.89TiB 1.891TiB 1.89TiB -2.079e+12 B +2.18287458838193579102e+12 1.99TiB 1.985TiB 1.99TiB -2.183e+12 B +2.29201831780103271484e+12 2.08TiB 2.085TiB 2.08TiB -2.292e+12 B From b1edeab8ed7b65883b684b6b291d73a5ce945d8d Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 9 Apr 2024 16:51:43 +0000 Subject: [PATCH 021/118] Yet another printf k fix --- docs/refman/printfstatement.html | 8 ++++---- man/man1rwl/printfstatement.1rwl | 2 +- src/rwlmisc.c | 21 ++++++++++++++------- test/testres/386.out.good | 12 ++++++------ 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/docs/refman/printfstatement.html b/docs/refman/printfstatement.html index c210d981..9f8e0a29 100644 --- a/docs/refman/printfstatement.html +++ b/docs/refman/printfstatement.html @@ -1,5 +1,5 @@ - + @@ -176,9 +176,9 @@

    COMPUTING SIZES k specificer, the output is as if it were using the m specifier without any scaling, except values between 1 and 1000 that are scaled by 1000 and output using -K. Value between 0 and 1 are output as 0. Values less than -zero or larger than 1e32 are output using exponential -notation,

    +k (for kilo). Value between 0 and 1 are output as 0. Values +less than zero or larger than 1e32 are output using +exponential notation,

    In either case, there is no space between the value and the SI prefix.

    diff --git a/man/man1rwl/printfstatement.1rwl b/man/man1rwl/printfstatement.1rwl index 4350c74e..8f79e833 100644 --- a/man/man1rwl/printfstatement.1rwl +++ b/man/man1rwl/printfstatement.1rwl @@ -82,7 +82,7 @@ a power of 1024, and do not include the 'i'. .P If you use the \fBk\fR specificer, the output is as if it were using the \fBm\fR specifier without any scaling, except -values between 1 and 1000 that are scaled by 1000 and output using K. +values between 1 and 1000 that are scaled by 1000 and output using k (for kilo). Value between 0 and 1 are output as 0. Values less than zero or larger than 1e32 are output using exponential notation, .P diff --git a/src/rwlmisc.c b/src/rwlmisc.c index 3e32b9cd..c2416960 100644 --- a/src/rwlmisc.c +++ b/src/rwlmisc.c @@ -3523,8 +3523,12 @@ void rwldoprintf(rwl_xeqenv *xev } else if (anum.dval< (Kbit ? 1024.0 : 1000.0)) { - snprintf((char *)engbuf, sizeof(engbuf), "%.*fK", prc <= 0 ? 4 : prc+1 - , anum.dval/(Kbit ? 1024.0 : 1000.0)); + if (Kbit) + snprintf((char *)engbuf, sizeof(engbuf), "%.*fK", prc <= 0 ? 4 : prc+1 + , anum.dval/1024.0); + else + snprintf((char *)engbuf, sizeof(engbuf), "%.*fk", prc <= 0 ? 4 : prc+1 + , anum.dval/1000.0); if (dotpos) // no precision in string when ENG yf = dotpos; rwlpfaddc('s', 32); @@ -4750,7 +4754,7 @@ void rwlpfeng(rwl_main *rwm exval = atoi((char *)expos+1); // exponent as an integer - if (bit(fbits,0x2) && exval>=3) + if (bit(fbits,RWL_PFE_SCALE1024) && exval>=3) { sb4 d1024 = exval; // divide by 1.024 exval/3 times @@ -4823,9 +4827,12 @@ void rwlpfeng(rwl_main *rwm case 1: dmov=1; es = (text *)""; break; case 2: dmov=2; es = (text *)""; break; - case 3: dmov=0; es = (text *) (bit(fbits,0x4) ? "K" : "k"); break; - case 4: dmov=1; es = (text *) (bit(fbits,0x4) ? "K" : "k"); break; - case 5: dmov=2; es = (text *) (bit(fbits,0x4) ? "K" : "k"); break; + case 3: dmov=0; es = (text *) + (bit(fbits,RWL_PFE_UPPERKILO)&&bit(fbits,RWL_PFE_SCALE1024) ? "K" : "k"); break; + case 4: dmov=1; es = (text *) + (bit(fbits,RWL_PFE_UPPERKILO)&&bit(fbits,RWL_PFE_SCALE1024) ? "K" : "k"); break; + case 5: dmov=2; es = (text *) + (bit(fbits,RWL_PFE_UPPERKILO)&&bit(fbits,RWL_PFE_SCALE1024) ? "K" : "k"); break; case 6: dmov=0; es = (text *)"M"; break; case 7: dmov=1; es = (text *)"M"; break; @@ -4892,7 +4899,7 @@ void rwlpfeng(rwl_main *rwm } // User was using %.NM for extra space - if (bit(fbits,0x1)) + if (bit(fbits,RWL_PFE_ADDSPACE)) *expos++ = (text) ' '; // overwrite the exponent with the SI prefix diff --git a/test/testres/386.out.good b/test/testres/386.out.good index 9c515836..6997ce32 100644 --- a/test/testres/386.out.good +++ b/test/testres/386.out.good @@ -1,12 +1,12 @@ 1.00000000000000002082e-03 0B 0B 0B -1.000e-03B 1.30000000000000011380e-02 0B 0B 0B -1.300e-02B 1.69000000000000011324e-01 0B 0B 0B -1.690e-01B -2.19700000000000006395e+00 0.002KB 0.0022KB 0.002KB -2.197e+00B -2.85609999999999999432e+01 0.029KB 0.0286KB 0.029KB -2.856e+01B -3.71293000000000006366e+02 0.371KB 0.3713KB 0.371KB -3.713e+02B -4.82680900000000019645e+03 4.83KB 4.827KB 4.83KB -4.827e+03B -6.27485169999999998254e+04 62.7KB 62.75KB 62.7KB -6.275e+04B -8.15730721000000019558e+05 816KB 815.7KB 816KB -8.157e+05B +2.19700000000000006395e+00 0.002kB 0.0022kB 0.002kB -2.197e+00B +2.85609999999999999432e+01 0.029kB 0.0286kB 0.029kB -2.856e+01B +3.71293000000000006366e+02 0.371kB 0.3713kB 0.371kB -3.713e+02B +4.82680900000000019645e+03 4.83kB 4.827kB 4.83kB -4.827e+03B +6.27485169999999998254e+04 62.7kB 62.75kB 62.7kB -6.275e+04B +8.15730721000000019558e+05 816kB 815.7kB 816kB -8.157e+05B 1.06044993729999996722e+07 10.6MB 10.60MB 10.6MB -1.060e+07B 1.37858491849000006914e+08 138MB 137.9MB 138MB -1.379e+08B 1.79216039403700017929e+09 1.79GB 1.792GB 1.79GB -1.792e+09B From 619c4ac6fc2ad8df7be377a3204c74ff730333d2 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 10 Apr 2024 09:01:33 +0000 Subject: [PATCH 022/118] Final fixes for k/K format --- docs/refman/printfstatement.html | 31 +- man/man1rwl/printfstatement.1rwl | 14 +- src/rwlmisc.c | 92 ++-- test/387.rwl | 10 +- test/testres/386.out.good | 6 +- test/testres/387.out.good | 812 +++++++++++++++---------------- 6 files changed, 480 insertions(+), 485 deletions(-) diff --git a/docs/refman/printfstatement.html b/docs/refman/printfstatement.html index 9f8e0a29..1ae62a6d 100644 --- a/docs/refman/printfstatement.html +++ b/docs/refman/printfstatement.html @@ -1,5 +1,5 @@ - + @@ -150,13 +150,13 @@

    COMPUTING SIZES

    If the value to -be output represents a number of bytes or similar figure -that really are powers of 1024 you can use the K or -k conversion specificer, to create the output using +be output represents a number of bytes or a similar value +assumed to be a power of 1024, you can use the K or +k conversion specificer to create the output using the prefixes discussed at https://en.wikipedia.org/wiki/Binary_prefix. The specifiers -should only be used if the value is positive and lower than -1e32.

    +should only be used if the value is expected to be positive +and lower than 1e32.

    If you use the K specificer, the output is using a prefix like the @@ -165,19 +165,18 @@

    COMPUTING SIZES on a power of 1024. The actual value output is therefore scaled by a power of 1.024. Examples prefixes are Ki for kibi with the value scaled by 1.024, Gi for gibi with the -value scaled by 1.024^3, etc. Values between 0 and 1 are -output as zero and without an ’i’. Values -between 1 and 1024 are output using Ki and are scaled by -1024. Values less than zero or larger than 1e32 are output -using exponential notation, are not scaled to a power -of 1024, and do not include the ’i’.

    +value scaled by 1.024^3, etc. Non-negative values less than +1024 are rounded to integer and output without an +’i’. Negative values or values larger than 1e32 +are output using exponential notation, are not scaled +to a power of 1024, and do not include the +’i’.

    If you use the k specificer, the output is as if it were using the -m specifier without any scaling, except values -between 1 and 1000 that are scaled by 1000 and output using -k (for kilo). Value between 0 and 1 are output as 0. Values -less than zero or larger than 1e32 are output using +m specifier without any scaling, except non-negative +values less than 1000 that are output rounded to integer. +Values less than zero or larger than 1e32 are output using exponential notation,

    In either case, diff --git a/man/man1rwl/printfstatement.1rwl b/man/man1rwl/printfstatement.1rwl index 8f79e833..2fbf172e 100644 --- a/man/man1rwl/printfstatement.1rwl +++ b/man/man1rwl/printfstatement.1rwl @@ -62,10 +62,10 @@ while the \fBm\fR outputs the SI-prefix directly after the number. The decimal point is not output if no significant digits are output after it. This can only happen if the precision is 2 and the absolute value to be output is at least 100. .SH "COMPUTING SIZES" -If the value to be output represents a number of bytes or similar figure that really are powers of 1024 -you can use the \fBK\fR or \fBk\fR conversion specificer, +If the value to be output represents a number of bytes or a similar value assumed to be a power of 1024, +you can use the \fBK\fR or \fBk\fR conversion specificer to create the output using the prefixes discussed at https://en.wikipedia.org/wiki/Binary_prefix. -The specifiers should only be used if the value is positive and lower than 1e32. +The specifiers should only be used if the value is expected to be positive and lower than 1e32. .P If you use the \fBK\fR specificer, the output is using a prefix like the \fBm\fR specifier with an additional letter 'i' after the prefix, @@ -73,17 +73,15 @@ indicating the prefix is binary and based on a power of 1024. The actual value output is therefore scaled by a power of 1.024. Examples prefixes are Ki for kibi with the value scaled by 1.024, Gi for gibi with the value scaled by 1.024^3, etc. -Values between 0 and 1 are output as zero and without an 'i'. -Values between 1 and 1024 are output using Ki and are scaled by 1024. -Values less than zero or larger than 1e32 are output using exponential notation, are +Non-negative values less than 1024 are rounded to integer and output without an 'i'. +Negative values or values larger than 1e32 are output using exponential notation, are .I not scaled to a power of 1024, and do not include the 'i'. .P If you use the \fBk\fR specificer, the output is as if it were using the \fBm\fR specifier without any scaling, except -values between 1 and 1000 that are scaled by 1000 and output using k (for kilo). -Value between 0 and 1 are output as 0. +non-negative values less than 1000 that are output rounded to integer. Values less than zero or larger than 1e32 are output using exponential notation, .P In either case, there is no space between the value and the SI prefix. diff --git a/src/rwlmisc.c b/src/rwlmisc.c index c2416960..b50e268f 100644 --- a/src/rwlmisc.c +++ b/src/rwlmisc.c @@ -2996,11 +2996,6 @@ ub4 rwlreadline(rwl_xeqenv *xev, rwl_location *loc, rwl_identifier *fil, rwl_idl return 0; } -// bits used by rwlpfeng -#define RWL_PFE_UPPERKILO 0x0004 // use K for kilo -#define RWL_PFE_SCALE1024 0x0002 // scale by a power of 1.024 -#define RWL_PFE_ADDSPACE 0x0001 // add a space after value - /* * rwldoprintf implements both sprintf (to string) * and fprintf (to file) @@ -3500,7 +3495,7 @@ void rwldoprintf(rwl_xeqenv *xev if ('K' == c || 'k'==c) { text engbuf[RWL_PFBUF]; - ub4 Kbit = ('K' == c ? RWL_PFE_SCALE1024 : 0); + ub4 Kbit = ('K' == c); if (anum.dval<0.0 || anum.dval>1e32) { rwlpfaddc('e', 27); @@ -3508,7 +3503,7 @@ void rwldoprintf(rwl_xeqenv *xev rwlpfaddc(' ', 28); rwlcallpf(ytformat, anum.dval, 29); } - else if (anum.dval<1.0) + else if (anum.dval< (Kbit ? 1024.0 : 1000.0)) { if (dotpos) // no precision in string when ENG yf = dotpos; @@ -3519,15 +3514,16 @@ void rwldoprintf(rwl_xeqenv *xev rwlpfaddc('i', 27); if (Kbit) rwlpfaddc(' ', 28); - rwlcallpf(ytformat, 0, 29); + rwlcallpf(ytformat, (sb8) round(anum.dval), 29); } + /* else if (anum.dval< (Kbit ? 1024.0 : 1000.0)) { if (Kbit) - snprintf((char *)engbuf, sizeof(engbuf), "%.*fK", prc <= 0 ? 4 : prc+1 + snprintf((char *)engbuf, sizeof(engbuf), "%.*fK", prc <= 0 ? 2 : prc+1 , anum.dval/1024.0); else - snprintf((char *)engbuf, sizeof(engbuf), "%.*fk", prc <= 0 ? 4 : prc+1 + snprintf((char *)engbuf, sizeof(engbuf), "%.*fk", prc <= 0 ? 2 : prc+1 , anum.dval/1000.0); if (dotpos) // no precision in string when ENG yf = dotpos; @@ -3536,10 +3532,33 @@ void rwldoprintf(rwl_xeqenv *xev rwlpfaddc('i',35); rwlcallpf(ytformat, engbuf, 34); } + */ else { - rwlpfeng(xev->rwm, engbuf, sizeof(engbuf), anum.dval - , prc <= 0 ? 3 : prc, RWL_PFE_UPPERKILO | Kbit ); + if (Kbit) + { + char echar[] = " KMGTPEZYRQ"; + ub4 p10 = 0; + double rval = anum.dval; + while (rval > 1024.0) + { + rval /= 1024.0; + p10++; + } + if (rval<10.0) + snprintf((char *)engbuf, sizeof(engbuf), "%.*f%c", prc <= 0 ? 1 : prc, rval, echar[p10]); + else if (rval<100.0) + snprintf((char *)engbuf, sizeof(engbuf), "%.*f%c", prc <= 1 ? 0 : prc-1, rval, echar[p10]); + else if (prc<2) + snprintf((char *)engbuf, sizeof(engbuf), "%.0f0%c", rval/10.0, echar[p10]); + else + snprintf((char *)engbuf, sizeof(engbuf), "%.*f%c", prc-2, rval, echar[p10]); + } + else + { + rwlpfeng(xev->rwm, engbuf, sizeof(engbuf), anum.dval + , prc <= 0 ? 3 : prc, 0 ); + } if (dotpos) // no precision in string when ENG yf = dotpos; rwlpfaddc('s', 21); @@ -3552,7 +3571,7 @@ void rwldoprintf(rwl_xeqenv *xev { text engbuf[RWL_PFBUF]; rwlpfeng(xev->rwm, engbuf, sizeof(engbuf), anum.dval - , prc <= 0 ? 3 : prc, ('M'==c ? RWL_PFE_ADDSPACE : 0) ); + , prc <= 0 ? 3 : prc, ('M'==c) ); if (dotpos) // no precision in string when ENG yf = dotpos; rwlpfaddc('s', 21); @@ -4728,7 +4747,7 @@ void rwlpfeng(rwl_main *rwm , ub4 len , double val , sb4 prc -, ub4 fbits) +, ub4 spc) { text *es, *expos, *dpos; sb4 exval, dmov; @@ -4741,6 +4760,14 @@ void rwlpfeng(rwl_main *rwm // do most of the work using snprintf snprintf((char *)buf, len, "%.*e", prc, val); + + // Does it fit? + // Can it hold minus, decimal point, e+NNN, prc+1 digits, null: + if ((ub4)prc+9 >len) + return; + // Can it hold minus, decimal point, musymbol, prc+1 digits, space, null: + if ((ub4)prc+5+rwm->musymlen >len) + return; // buf is now something like // -1.23456e+10 @@ -4754,32 +4781,6 @@ void rwlpfeng(rwl_main *rwm exval = atoi((char *)expos+1); // exponent as an integer - if (bit(fbits,RWL_PFE_SCALE1024) && exval>=3) - { - sb4 d1024 = exval; - // divide by 1.024 exval/3 times - while (d1024>0) - { - val /= 1.024; - d1024 -= 3; - } - // re-format the modified value - snprintf((char *)buf, len, "%.*e", prc, val); - if (!((expos = rwlstrchr(buf, 'e')))) - return; - if (!((dpos = rwlstrchr(buf, '.')))) - return; - exval = atoi((char *)expos+1); - } - - // Does it fit? - // Can it hold minus, decimal point, e+NNN, prc+1 digits, null: - if ((ub4)prc+9 >len) - return; - // Can it hold minus, decimal point, musymbol, prc+1 digits, space, null: - if ((ub4)prc+5+rwm->musymlen >len) - return; - // In the proper range, set the SI prefix and the number of positions to move the decimal point switch (exval) { @@ -4827,12 +4828,9 @@ void rwlpfeng(rwl_main *rwm case 1: dmov=1; es = (text *)""; break; case 2: dmov=2; es = (text *)""; break; - case 3: dmov=0; es = (text *) - (bit(fbits,RWL_PFE_UPPERKILO)&&bit(fbits,RWL_PFE_SCALE1024) ? "K" : "k"); break; - case 4: dmov=1; es = (text *) - (bit(fbits,RWL_PFE_UPPERKILO)&&bit(fbits,RWL_PFE_SCALE1024) ? "K" : "k"); break; - case 5: dmov=2; es = (text *) - (bit(fbits,RWL_PFE_UPPERKILO)&&bit(fbits,RWL_PFE_SCALE1024) ? "K" : "k"); break; + case 3: dmov=0; es = (text *)"k"; break; + case 4: dmov=1; es = (text *)"k"; break; + case 5: dmov=2; es = (text *)"k"; break; case 6: dmov=0; es = (text *)"M"; break; case 7: dmov=1; es = (text *)"M"; break; @@ -4899,7 +4897,7 @@ void rwlpfeng(rwl_main *rwm } // User was using %.NM for extra space - if (bit(fbits,RWL_PFE_ADDSPACE)) + if (spc) *expos++ = (text) ' '; // overwrite the exponent with the SI prefix diff --git a/test/387.rwl b/test/387.rwl index 89f54c34..72702fa1 100644 --- a/test/387.rwl +++ b/test/387.rwl @@ -3,31 +3,31 @@ double x := 0.001; while x < 1e35 loop - printf "%.20e %8.2KB %.3KB %.2KB %.3KB\n", x, x, x, x, -x; + printf "%.20e %8.2KB %.3KB %.1KB %10KB\n", x, x, x, x, x; x := x*13; end loop; x := 1.0e+3; while x < 1.2e+3 loop - printf "%.20e %8.2KB %.3KB %.2KB %.3KB\n", x, x, x, x, -x; + printf "%.20e %8.2KB %.3KB %.1KB %10KB\n", x, x, x, x, x; x := x*1.002; end loop; x := 1.0e+6; while x < 1.2e+6 loop - printf "%.20e %8.2KB %.3KB %.2KB %.3KB\n", x, x, x, x, -x; + printf "%.20e %8.2KB %.3KB %.1KB %10KB\n", x, x, x, x, x; x := x*1.002; end loop; x := 1.0e+9; while x < 1.4e+9 loop - printf "%.20e %8.2KB %.3KB %.2KB %.3KB\n", x, x, x, x, -x; + printf "%.20e %8.2KB %.3KB %.1KB %10KB\n", x, x, x, x, x; x := x*1.002; end loop; x := 1.0e+12; while x < 2.4e+12 loop - printf "%.20e %8.2KB %.3KB %.2KB %.3KB\n", x, x, x, x, -x; + printf "%.20e %8.2KB %.3KB %.1KB %10KB\n", x, x, x, x, x; x := x*1.05; end loop; diff --git a/test/testres/386.out.good b/test/testres/386.out.good index 6997ce32..8280aa44 100644 --- a/test/testres/386.out.good +++ b/test/testres/386.out.good @@ -1,9 +1,9 @@ 1.00000000000000002082e-03 0B 0B 0B -1.000e-03B 1.30000000000000011380e-02 0B 0B 0B -1.300e-02B 1.69000000000000011324e-01 0B 0B 0B -1.690e-01B -2.19700000000000006395e+00 0.002kB 0.0022kB 0.002kB -2.197e+00B -2.85609999999999999432e+01 0.029kB 0.0286kB 0.029kB -2.856e+01B -3.71293000000000006366e+02 0.371kB 0.3713kB 0.371kB -3.713e+02B +2.19700000000000006395e+00 2B 2B 2B -2.197e+00B +2.85609999999999999432e+01 29B 29B 29B -2.856e+01B +3.71293000000000006366e+02 371B 371B 371B -3.713e+02B 4.82680900000000019645e+03 4.83kB 4.827kB 4.83kB -4.827e+03B 6.27485169999999998254e+04 62.7kB 62.75kB 62.7kB -6.275e+04B 8.15730721000000019558e+05 816kB 815.7kB 816kB -8.157e+05B diff --git a/test/testres/387.out.good b/test/testres/387.out.good index 33e27798..76facfe3 100644 --- a/test/testres/387.out.good +++ b/test/testres/387.out.good @@ -1,406 +1,406 @@ -1.00000000000000002082e-03 0 B 0 B 0 B -1.000e-03 B -1.30000000000000011380e-02 0 B 0 B 0 B -1.300e-02 B -1.69000000000000011324e-01 0 B 0 B 0 B -1.690e-01 B -2.19700000000000006395e+00 0.002KiB 0.0021KiB 0.002KiB -2.197e+00 B -2.85609999999999999432e+01 0.028KiB 0.0279KiB 0.028KiB -2.856e+01 B -3.71293000000000006366e+02 0.363KiB 0.3626KiB 0.363KiB -3.713e+02 B -4.82680900000000019645e+03 4.71KiB 4.714KiB 4.71KiB -4.827e+03 B -6.27485169999999998254e+04 59.8KiB 59.84KiB 59.8KiB -6.275e+04 B -8.15730721000000019558e+05 778KiB 777.9KiB 778KiB -8.157e+05 B -1.06044993729999996722e+07 9.88MiB 9.876MiB 9.88MiB -1.060e+07 B -1.37858491849000006914e+08 128MiB 128.4MiB 128MiB -1.379e+08 B -1.79216039403700017929e+09 1.67GiB 1.669GiB 1.67GiB -1.792e+09 B -2.32980851224810028076e+10 21.2GiB 21.19GiB 21.2GiB -2.330e+10 B -3.02875106592253051758e+11 275GiB 275.5GiB 275GiB -3.029e+11 B -3.93737638569928955078e+12 3.58TiB 3.581TiB 3.58TiB -3.937e+12 B -5.11858930140907656250e+13 45.5TiB 45.46TiB 45.5TiB -5.119e+13 B -6.65416609183180000000e+14 591TiB 591.0TiB 591TiB -6.654e+14 B -8.65041591938134000000e+15 7.68PiB 7.683PiB 7.68PiB -8.650e+15 B -1.12455406951957424000e+17 97.5PiB 97.54PiB 97.5PiB -1.125e+17 B -1.46192029037544652800e+18 1.27EiB 1.268EiB 1.27EiB -1.462e+18 B -1.90049637748808048640e+19 16.1EiB 16.10EiB 16.1EiB -1.900e+19 B -2.47064529073450450944e+20 209EiB 209.3EiB 209EiB -2.471e+20 B -3.21183887795485566566e+21 2.72ZiB 2.721ZiB 2.72ZiB -3.212e+21 B -4.17539054134131257508e+22 34.5ZiB 34.54ZiB 34.5ZiB -4.175e+22 B -5.42800770374370617983e+23 449ZiB 449.0ZiB 449ZiB -5.428e+23 B -7.05641001486681803378e+24 5.84YiB 5.837YiB 5.84YiB -7.056e+24 B -9.17333301932686301442e+25 74.1YiB 74.10YiB 74.1YiB -9.173e+25 B -1.19253329251249215751e+27 963YiB 963.3YiB 963YiB -1.193e+27 B -1.55029328026623977728e+28 12.2RiB 12.23RiB 12.2RiB -1.550e+28 B -2.01538126434611188639e+29 159RiB 159.0RiB 159RiB -2.015e+29 B -2.61999564364994545230e+30 2.07QiB 2.067QiB 2.07QiB -2.620e+30 B -3.40599433674492897540e+31 26.2QiB 26.24QiB 26.2QiB -3.406e+31 B -4.42779263776840757795e+32 4.43e+32 B 4.428e+32 B 4.43e+32 B -4.428e+32 B -5.75613042909892999545e+33 5.76e+33 B 5.756e+33 B 5.76e+33 B -5.756e+33 B -7.48296955782860864821e+34 7.48e+34 B 7.483e+34 B 7.48e+34 B -7.483e+34 B -1.00000000000000000000e+03 0.977KiB 0.9766KiB 0.977KiB -1.000e+03 B -1.00200000000000000000e+03 0.979KiB 0.9785KiB 0.979KiB -1.002e+03 B -1.00400400000000001910e+03 0.980KiB 0.9805KiB 0.980KiB -1.004e+03 B -1.00601200800000003710e+03 0.982KiB 0.9824KiB 0.982KiB -1.006e+03 B -1.00802403201600009197e+03 0.984KiB 0.9844KiB 0.984KiB -1.008e+03 B -1.01004008008003211216e+03 0.986KiB 0.9864KiB 0.986KiB -1.010e+03 B -1.01206016024019220367e+03 0.988KiB 0.9883KiB 0.988KiB -1.012e+03 B -1.01408428056067259604e+03 0.990KiB 0.9903KiB 0.990KiB -1.014e+03 B -1.01611244912179392941e+03 0.992KiB 0.9923KiB 0.992KiB -1.016e+03 B -1.01814467402003754160e+03 0.994KiB 0.9943KiB 0.994KiB -1.018e+03 B -1.02018096336807764146e+03 0.996KiB 0.9963KiB 0.996KiB -1.020e+03 B -1.02222132529481382335e+03 0.998KiB 0.9983KiB 0.998KiB -1.022e+03 B -1.02426576794540346782e+03 1.00KiB 1.000KiB 1.00KiB -1.024e+03 B -1.02631429948129425611e+03 1.00KiB 1.002KiB 1.00KiB -1.026e+03 B -1.02836692808025691193e+03 1.00KiB 1.004KiB 1.00KiB -1.028e+03 B -1.03042366193641737482e+03 1.01KiB 1.006KiB 1.01KiB -1.030e+03 B -1.03248450926029022412e+03 1.01KiB 1.008KiB 1.01KiB -1.032e+03 B -1.03454947827881073863e+03 1.01KiB 1.010KiB 1.01KiB -1.035e+03 B -1.03661857723536832054e+03 1.01KiB 1.012KiB 1.01KiB -1.037e+03 B -1.03869181438983900989e+03 1.01KiB 1.014KiB 1.01KiB -1.039e+03 B -1.04076919801861868109e+03 1.02KiB 1.016KiB 1.02KiB -1.041e+03 B -1.04285073641465601213e+03 1.02KiB 1.018KiB 1.02KiB -1.043e+03 B -1.04493643788748522638e+03 1.02KiB 1.020KiB 1.02KiB -1.045e+03 B -1.04702631076326019866e+03 1.02KiB 1.022KiB 1.02KiB -1.047e+03 B -1.04912036338478674224e+03 1.02KiB 1.025KiB 1.02KiB -1.049e+03 B -1.05121860411155626025e+03 1.03KiB 1.027KiB 1.03KiB -1.051e+03 B -1.05332104131977939687e+03 1.03KiB 1.029KiB 1.03KiB -1.053e+03 B -1.05542768340241900660e+03 1.03KiB 1.031KiB 1.03KiB -1.055e+03 B -1.05753853876922380550e+03 1.03KiB 1.033KiB 1.03KiB -1.058e+03 B -1.05965361584676224993e+03 1.03KiB 1.035KiB 1.03KiB -1.060e+03 B -1.06177292307845573305e+03 1.04KiB 1.037KiB 1.04KiB -1.062e+03 B -1.06389646892461269090e+03 1.04KiB 1.039KiB 1.04KiB -1.064e+03 B -1.06602426186246202633e+03 1.04KiB 1.041KiB 1.04KiB -1.066e+03 B -1.06815631038618698767e+03 1.04KiB 1.043KiB 1.04KiB -1.068e+03 B -1.07029262300695927479e+03 1.05KiB 1.045KiB 1.05KiB -1.070e+03 B -1.07243320825297314514e+03 1.05KiB 1.047KiB 1.05KiB -1.072e+03 B -1.07457807466947906505e+03 1.05KiB 1.049KiB 1.05KiB -1.075e+03 B -1.07672723081881804319e+03 1.05KiB 1.051KiB 1.05KiB -1.077e+03 B -1.07888068528045573657e+03 1.05KiB 1.054KiB 1.05KiB -1.079e+03 B -1.08103844665101655664e+03 1.06KiB 1.056KiB 1.06KiB -1.081e+03 B -1.08320052354431868480e+03 1.06KiB 1.058KiB 1.06KiB -1.083e+03 B -1.08536692459140726896e+03 1.06KiB 1.060KiB 1.06KiB -1.085e+03 B -1.08753765844059012124e+03 1.06KiB 1.062KiB 1.06KiB -1.088e+03 B -1.08971273375747136924e+03 1.06KiB 1.064KiB 1.06KiB -1.090e+03 B -1.09189215922498624423e+03 1.07KiB 1.066KiB 1.07KiB -1.092e+03 B -1.09407594354343632403e+03 1.07KiB 1.068KiB 1.07KiB -1.094e+03 B -1.09626409543052318440e+03 1.07KiB 1.071KiB 1.07KiB -1.096e+03 B -1.09845662362138432400e+03 1.07KiB 1.073KiB 1.07KiB -1.098e+03 B -1.10065353686862704308e+03 1.07KiB 1.075KiB 1.07KiB -1.101e+03 B -1.10285484394236436856e+03 1.08KiB 1.077KiB 1.08KiB -1.103e+03 B -1.10506055363024916005e+03 1.08KiB 1.079KiB 1.08KiB -1.105e+03 B -1.10727067473750958015e+03 1.08KiB 1.081KiB 1.08KiB -1.107e+03 B -1.10948521608698456475e+03 1.08KiB 1.083KiB 1.08KiB -1.109e+03 B -1.11170418651915861119e+03 1.09KiB 1.086KiB 1.09KiB -1.112e+03 B -1.11392759489219702118e+03 1.09KiB 1.088KiB 1.09KiB -1.114e+03 B -1.11615545008198137111e+03 1.09KiB 1.090KiB 1.09KiB -1.116e+03 B -1.11838776098214543708e+03 1.09KiB 1.092KiB 1.09KiB -1.118e+03 B -1.12062453650410975570e+03 1.09KiB 1.094KiB 1.09KiB -1.121e+03 B -1.12286578557711800386e+03 1.10KiB 1.097KiB 1.10KiB -1.123e+03 B -1.12511151714827224168e+03 1.10KiB 1.099KiB 1.10KiB -1.125e+03 B -1.12736174018256883755e+03 1.10KiB 1.101KiB 1.10KiB -1.127e+03 B -1.12961646366293393839e+03 1.10KiB 1.103KiB 1.10KiB -1.130e+03 B -1.13187569659025984947e+03 1.11KiB 1.105KiB 1.11KiB -1.132e+03 B -1.13413944798344027731e+03 1.11KiB 1.108KiB 1.11KiB -1.134e+03 B -1.13640772687940716423e+03 1.11KiB 1.110KiB 1.11KiB -1.136e+03 B -1.13868054233316593127e+03 1.11KiB 1.112KiB 1.11KiB -1.139e+03 B -1.14095790341783231270e+03 1.11KiB 1.114KiB 1.11KiB -1.141e+03 B -1.14323981922466805372e+03 1.12KiB 1.116KiB 1.12KiB -1.143e+03 B -1.14552629886311729024e+03 1.12KiB 1.119KiB 1.12KiB -1.146e+03 B -1.14781735146084361077e+03 1.12KiB 1.121KiB 1.12KiB -1.148e+03 B -1.15011298616376529935e+03 1.12KiB 1.123KiB 1.12KiB -1.150e+03 B -1.15241321213609285223e+03 1.13KiB 1.125KiB 1.13KiB -1.152e+03 B -1.15471803856036513025e+03 1.13KiB 1.128KiB 1.13KiB -1.155e+03 B -1.15702747463748596601e+03 1.13KiB 1.130KiB 1.13KiB -1.157e+03 B -1.15934152958676099843e+03 1.13KiB 1.132KiB 1.13KiB -1.159e+03 B -1.16166021264593450724e+03 1.13KiB 1.134KiB 1.13KiB -1.162e+03 B -1.16398353307122647493e+03 1.14KiB 1.137KiB 1.14KiB -1.164e+03 B -1.16631150013736896653e+03 1.14KiB 1.139KiB 1.14KiB -1.166e+03 B -1.16864412313764364626e+03 1.14KiB 1.141KiB 1.14KiB -1.169e+03 B -1.17098141138391883942e+03 1.14KiB 1.144KiB 1.14KiB -1.171e+03 B -1.17332337420668659433e+03 1.15KiB 1.146KiB 1.15KiB -1.173e+03 B -1.17567002095509997162e+03 1.15KiB 1.148KiB 1.15KiB -1.176e+03 B -1.17802136099701010608e+03 1.15KiB 1.150KiB 1.15KiB -1.178e+03 B -1.18037740371900417813e+03 1.15KiB 1.153KiB 1.15KiB -1.180e+03 B -1.18273815852644224833e+03 1.16KiB 1.155KiB 1.16KiB -1.183e+03 B -1.18510363484349522878e+03 1.16KiB 1.157KiB 1.16KiB -1.185e+03 B -1.18747384211318217240e+03 1.16KiB 1.160KiB 1.16KiB -1.187e+03 B -1.18984878979740847171e+03 1.16KiB 1.162KiB 1.16KiB -1.190e+03 B -1.19222848737700337551e+03 1.16KiB 1.164KiB 1.16KiB -1.192e+03 B -1.19461294435175727813e+03 1.17KiB 1.167KiB 1.17KiB -1.195e+03 B -1.19700217024046082770e+03 1.17KiB 1.169KiB 1.17KiB -1.197e+03 B -1.19939617458094176072e+03 1.17KiB 1.171KiB 1.17KiB -1.199e+03 B -1.00000000000000000000e+06 954KiB 953.7KiB 954KiB -1.000e+06 B -1.00200000000000000000e+06 956KiB 955.6KiB 956KiB -1.002e+06 B -1.00400400000000000000e+06 957KiB 957.5KiB 957KiB -1.004e+06 B -1.00601200800000003073e+06 959KiB 959.4KiB 959KiB -1.006e+06 B -1.00802403201600001194e+06 961KiB 961.3KiB 961KiB -1.008e+06 B -1.01004008008003199939e+06 963KiB 963.2KiB 963KiB -1.010e+06 B -1.01206016024019208271e+06 965KiB 965.2KiB 965KiB -1.012e+06 B -1.01408428056067251600e+06 967KiB 967.1KiB 967KiB -1.014e+06 B -1.01611244912179384846e+06 969KiB 969.0KiB 969KiB -1.016e+06 B -1.01814467402003740426e+06 971KiB 971.0KiB 971KiB -1.018e+06 B -1.02018096336807752959e+06 973KiB 972.9KiB 973KiB -1.020e+06 B -1.02222132529481372330e+06 975KiB 974.9KiB 975KiB -1.022e+06 B -1.02426576794540334959e+06 977KiB 976.8KiB 977KiB -1.024e+06 B -1.02631429948129411787e+06 979KiB 978.8KiB 979KiB -1.026e+06 B -1.02836692808025667910e+06 981KiB 980.7KiB 981KiB -1.028e+06 B -1.03042366193641722202e+06 983KiB 982.7KiB 983KiB -1.030e+06 B -1.03248450926029006951e+06 985KiB 984.7KiB 985KiB -1.032e+06 B -1.03454947827881062403e+06 987KiB 986.6KiB 987KiB -1.035e+06 B -1.03661857723536819685e+06 989KiB 988.6KiB 989KiB -1.037e+06 B -1.03869181438983895350e+06 991KiB 990.6KiB 991KiB -1.039e+06 B -1.04076919801861862652e+06 993KiB 992.6KiB 993KiB -1.041e+06 B -1.04285073641465581022e+06 995KiB 994.5KiB 995KiB -1.043e+06 B -1.04493643788748513907e+06 997KiB 996.5KiB 997KiB -1.045e+06 B -1.04702631076326011680e+06 999KiB 998.5KiB 999KiB -1.047e+06 B -1.04912036338478652760e+06 1.00MiB 1.001MiB 1.00MiB -1.049e+06 B -1.05121860411155619659e+06 1.00MiB 1.003MiB 1.00MiB -1.051e+06 B -1.05332104131977935322e+06 1.00MiB 1.005MiB 1.00MiB -1.053e+06 B -1.05542768340241885744e+06 1.01MiB 1.007MiB 1.01MiB -1.055e+06 B -1.05753853876922372729e+06 1.01MiB 1.009MiB 1.01MiB -1.058e+06 B -1.05965361584676220082e+06 1.01MiB 1.011MiB 1.01MiB -1.060e+06 B -1.06177292307845572941e+06 1.01MiB 1.013MiB 1.01MiB -1.062e+06 B -1.06389646892461273819e+06 1.01MiB 1.015MiB 1.01MiB -1.064e+06 B -1.06602426186246192083e+06 1.02MiB 1.017MiB 1.02MiB -1.066e+06 B -1.06815631038618693128e+06 1.02MiB 1.019MiB 1.02MiB -1.068e+06 B -1.07029262300695921294e+06 1.02MiB 1.021MiB 1.02MiB -1.070e+06 B -1.07243320825297315605e+06 1.02MiB 1.023MiB 1.02MiB -1.072e+06 B -1.07457807466947915964e+06 1.02MiB 1.025MiB 1.02MiB -1.075e+06 B -1.07672723081881809048e+06 1.03MiB 1.027MiB 1.03MiB -1.077e+06 B -1.07888068528045574203e+06 1.03MiB 1.029MiB 1.03MiB -1.079e+06 B -1.08103844665101659484e+06 1.03MiB 1.031MiB 1.03MiB -1.081e+06 B -1.08320052354431874119e+06 1.03MiB 1.033MiB 1.03MiB -1.083e+06 B -1.08536692459140741266e+06 1.04MiB 1.035MiB 1.04MiB -1.085e+06 B -1.08753765844059013762e+06 1.04MiB 1.037MiB 1.04MiB -1.088e+06 B -1.08971273375747143291e+06 1.04MiB 1.039MiB 1.04MiB -1.090e+06 B -1.09189215922498633154e+06 1.04MiB 1.041MiB 1.04MiB -1.092e+06 B -1.09407594354343623854e+06 1.04MiB 1.043MiB 1.04MiB -1.094e+06 B -1.09626409543052315712e+06 1.05MiB 1.045MiB 1.05MiB -1.096e+06 B -1.09845662362138414755e+06 1.05MiB 1.048MiB 1.05MiB -1.098e+06 B -1.10065353686862695031e+06 1.05MiB 1.050MiB 1.05MiB -1.101e+06 B -1.10285484394236421213e+06 1.05MiB 1.052MiB 1.05MiB -1.103e+06 B -1.10506055363024887629e+06 1.05MiB 1.054MiB 1.05MiB -1.105e+06 B -1.10727067473750934005e+06 1.06MiB 1.056MiB 1.06MiB -1.107e+06 B -1.10948521608698437922e+06 1.06MiB 1.058MiB 1.06MiB -1.109e+06 B -1.11170418651915830560e+06 1.06MiB 1.060MiB 1.06MiB -1.112e+06 B -1.11392759489219659008e+06 1.06MiB 1.062MiB 1.06MiB -1.114e+06 B -1.11615545008198102005e+06 1.06MiB 1.064MiB 1.06MiB -1.116e+06 B -1.11838776098214508966e+06 1.07MiB 1.067MiB 1.07MiB -1.118e+06 B -1.12062453650410939008e+06 1.07MiB 1.069MiB 1.07MiB -1.121e+06 B -1.12286578557711769827e+06 1.07MiB 1.071MiB 1.07MiB -1.123e+06 B -1.12511151714827190153e+06 1.07MiB 1.073MiB 1.07MiB -1.125e+06 B -1.12736174018256855197e+06 1.08MiB 1.075MiB 1.08MiB -1.127e+06 B -1.12961646366293379106e+06 1.08MiB 1.077MiB 1.08MiB -1.130e+06 B -1.13187569659025967121e+06 1.08MiB 1.079MiB 1.08MiB -1.132e+06 B -1.13413944798344024457e+06 1.08MiB 1.082MiB 1.08MiB -1.134e+06 B -1.13640772687940718606e+06 1.08MiB 1.084MiB 1.08MiB -1.136e+06 B -1.13868054233316611499e+06 1.09MiB 1.086MiB 1.09MiB -1.139e+06 B -1.14095790341783245094e+06 1.09MiB 1.088MiB 1.09MiB -1.141e+06 B -1.14323981922466820106e+06 1.09MiB 1.090MiB 1.09MiB -1.143e+06 B -1.14552629886311758310e+06 1.09MiB 1.092MiB 1.09MiB -1.146e+06 B -1.14781735146084381267e+06 1.09MiB 1.095MiB 1.09MiB -1.148e+06 B -1.15011298616376542486e+06 1.10MiB 1.097MiB 1.10MiB -1.150e+06 B -1.15241321213609306142e+06 1.10MiB 1.099MiB 1.10MiB -1.152e+06 B -1.15471803856036532670e+06 1.10MiB 1.101MiB 1.10MiB -1.155e+06 B -1.15702747463748604059e+06 1.10MiB 1.103MiB 1.10MiB -1.157e+06 B -1.15934152958676102571e+06 1.11MiB 1.106MiB 1.11MiB -1.159e+06 B -1.16166021264593466185e+06 1.11MiB 1.108MiB 1.11MiB -1.162e+06 B -1.16398353307122644037e+06 1.11MiB 1.110MiB 1.11MiB -1.164e+06 B -1.16631150013736891560e+06 1.11MiB 1.112MiB 1.11MiB -1.166e+06 B -1.16864412313764356077e+06 1.11MiB 1.115MiB 1.11MiB -1.169e+06 B -1.17098141138391895220e+06 1.12MiB 1.117MiB 1.12MiB -1.171e+06 B -1.17332337420668685809e+06 1.12MiB 1.119MiB 1.12MiB -1.173e+06 B -1.17567002095510018989e+06 1.12MiB 1.121MiB 1.12MiB -1.176e+06 B -1.17802136099701048806e+06 1.12MiB 1.123MiB 1.12MiB -1.178e+06 B -1.18037740371900447644e+06 1.13MiB 1.126MiB 1.13MiB -1.180e+06 B -1.18273815852644247934e+06 1.13MiB 1.128MiB 1.13MiB -1.183e+06 B -1.18510363484349544160e+06 1.13MiB 1.130MiB 1.13MiB -1.185e+06 B -1.18747384211318241432e+06 1.13MiB 1.132MiB 1.13MiB -1.187e+06 B -1.18984878979740873910e+06 1.13MiB 1.135MiB 1.13MiB -1.190e+06 B -1.19222848737700353377e+06 1.14MiB 1.137MiB 1.14MiB -1.192e+06 B -1.19461294435175764374e+06 1.14MiB 1.139MiB 1.14MiB -1.195e+06 B -1.19700217024046112783e+06 1.14MiB 1.142MiB 1.14MiB -1.197e+06 B -1.19939617458094214089e+06 1.14MiB 1.144MiB 1.14MiB -1.199e+06 B -1.00000000000000000000e+09 931MiB 931.3MiB 931MiB -1.000e+09 B -1.00200000000000000000e+09 933MiB 933.2MiB 933MiB -1.002e+09 B -1.00400400000000000000e+09 935MiB 935.1MiB 935MiB -1.004e+09 B -1.00601200800000000000e+09 937MiB 936.9MiB 937MiB -1.006e+09 B -1.00802403201600003242e+09 939MiB 938.8MiB 939MiB -1.008e+09 B -1.01004008008003199100e+09 941MiB 940.7MiB 941MiB -1.010e+09 B -1.01206016024019205570e+09 943MiB 942.6MiB 943MiB -1.012e+09 B -1.01408428056067240238e+09 944MiB 944.4MiB 944MiB -1.014e+09 B -1.01611244912179374695e+09 946MiB 946.3MiB 946MiB -1.016e+09 B -1.01814467402003729343e+09 948MiB 948.2MiB 948MiB -1.018e+09 B -1.02018096336807739735e+09 950MiB 950.1MiB 950MiB -1.020e+09 B -1.02222132529481351376e+09 952MiB 952.0MiB 952MiB -1.022e+09 B -1.02426576794540309906e+09 954MiB 953.9MiB 954MiB -1.024e+09 B -1.02631429948129391670e+09 956MiB 955.8MiB 956MiB -1.026e+09 B -1.02836692808025646210e+09 958MiB 957.7MiB 958MiB -1.028e+09 B -1.03042366193641698360e+09 960MiB 959.7MiB 960MiB -1.030e+09 B -1.03248450926028978825e+09 962MiB 961.6MiB 962MiB -1.032e+09 B -1.03454947827881038189e+09 963MiB 963.5MiB 963MiB -1.035e+09 B -1.03661857723536801338e+09 965MiB 965.4MiB 965MiB -1.037e+09 B -1.03869181438983869553e+09 967MiB 967.4MiB 967MiB -1.039e+09 B -1.04076919801861834526e+09 969MiB 969.3MiB 969MiB -1.041e+09 B -1.04285073641465556622e+09 971MiB 971.2MiB 971MiB -1.043e+09 B -1.04493643788748490810e+09 973MiB 973.2MiB 973MiB -1.045e+09 B -1.04702631076325988770e+09 975MiB 975.1MiB 975MiB -1.047e+09 B -1.04912036338478636742e+09 977MiB 977.1MiB 977MiB -1.049e+09 B -1.05121860411155593395e+09 979MiB 979.0MiB 979MiB -1.051e+09 B -1.05332104131977903843e+09 981MiB 981.0MiB 981MiB -1.053e+09 B -1.05542768340241861343e+09 983MiB 982.9MiB 983MiB -1.055e+09 B -1.05753853876922345161e+09 985MiB 984.9MiB 985MiB -1.058e+09 B -1.05965361584676194191e+09 987MiB 986.9MiB 987MiB -1.060e+09 B -1.06177292307845544815e+09 989MiB 988.9MiB 989MiB -1.062e+09 B -1.06389646892461240292e+09 991MiB 990.8MiB 991MiB -1.064e+09 B -1.06602426186246168613e+09 993MiB 992.8MiB 993MiB -1.066e+09 B -1.06815631038618659973e+09 995MiB 994.8MiB 995MiB -1.068e+09 B -1.07029262300695896149e+09 997MiB 996.8MiB 997MiB -1.070e+09 B -1.07243320825297284126e+09 999MiB 998.8MiB 999MiB -1.072e+09 B -1.07457807466947889328e+09 1.00GiB 1.001GiB 1.00GiB -1.075e+09 B -1.07672723081881785393e+09 1.00GiB 1.003GiB 1.00GiB -1.077e+09 B -1.07888068528045558929e+09 1.00GiB 1.005GiB 1.00GiB -1.079e+09 B -1.08103844665101647377e+09 1.01GiB 1.007GiB 1.01GiB -1.081e+09 B -1.08320052354431843758e+09 1.01GiB 1.009GiB 1.01GiB -1.083e+09 B -1.08536692459140706062e+09 1.01GiB 1.011GiB 1.01GiB -1.085e+09 B -1.08753765844058990479e+09 1.01GiB 1.013GiB 1.01GiB -1.088e+09 B -1.08971273375747108459e+09 1.01GiB 1.015GiB 1.01GiB -1.090e+09 B -1.09189215922498607635e+09 1.02GiB 1.017GiB 1.02GiB -1.092e+09 B -1.09407594354343605042e+09 1.02GiB 1.019GiB 1.02GiB -1.094e+09 B -1.09626409543052291870e+09 1.02GiB 1.021GiB 1.02GiB -1.096e+09 B -1.09845662362138390541e+09 1.02GiB 1.023GiB 1.02GiB -1.098e+09 B -1.10065353686862659454e+09 1.03GiB 1.025GiB 1.03GiB -1.101e+09 B -1.10285484394236373901e+09 1.03GiB 1.027GiB 1.03GiB -1.103e+09 B -1.10506055363024854660e+09 1.03GiB 1.029GiB 1.03GiB -1.105e+09 B -1.10727067473750901222e+09 1.03GiB 1.031GiB 1.03GiB -1.107e+09 B -1.10948521608698391914e+09 1.03GiB 1.033GiB 1.03GiB -1.109e+09 B -1.11170418651915788651e+09 1.04GiB 1.035GiB 1.04GiB -1.112e+09 B -1.11392759489219617844e+09 1.04GiB 1.037GiB 1.04GiB -1.114e+09 B -1.11615545008198046684e+09 1.04GiB 1.040GiB 1.04GiB -1.116e+09 B -1.11838776098214435577e+09 1.04GiB 1.042GiB 1.04GiB -1.118e+09 B -1.12062453650410866737e+09 1.04GiB 1.044GiB 1.04GiB -1.121e+09 B -1.12286578557711696625e+09 1.05GiB 1.046GiB 1.05GiB -1.123e+09 B -1.12511151714827108383e+09 1.05GiB 1.048GiB 1.05GiB -1.125e+09 B -1.12736174018256759644e+09 1.05GiB 1.050GiB 1.05GiB -1.127e+09 B -1.12961646366293263435e+09 1.05GiB 1.052GiB 1.05GiB -1.130e+09 B -1.13187569659025859833e+09 1.05GiB 1.054GiB 1.05GiB -1.132e+09 B -1.13413944798343920708e+09 1.06GiB 1.056GiB 1.06GiB -1.134e+09 B -1.13640772687940597534e+09 1.06GiB 1.058GiB 1.06GiB -1.136e+09 B -1.13868054233316469193e+09 1.06GiB 1.060GiB 1.06GiB -1.139e+09 B -1.14095790341783094406e+09 1.06GiB 1.063GiB 1.06GiB -1.141e+09 B -1.14323981922466659546e+09 1.06GiB 1.065GiB 1.06GiB -1.143e+09 B -1.14552629886311602592e+09 1.07GiB 1.067GiB 1.07GiB -1.146e+09 B -1.14781735146084237099e+09 1.07GiB 1.069GiB 1.07GiB -1.148e+09 B -1.15011298616376399994e+09 1.07GiB 1.071GiB 1.07GiB -1.150e+09 B -1.15241321213609147072e+09 1.07GiB 1.073GiB 1.07GiB -1.152e+09 B -1.15471803856036376953e+09 1.08GiB 1.075GiB 1.08GiB -1.155e+09 B -1.15702747463748455048e+09 1.08GiB 1.078GiB 1.08GiB -1.157e+09 B -1.15934152958675956726e+09 1.08GiB 1.080GiB 1.08GiB -1.159e+09 B -1.16166021264593315125e+09 1.08GiB 1.082GiB 1.08GiB -1.162e+09 B -1.16398353307122492790e+09 1.08GiB 1.084GiB 1.08GiB -1.164e+09 B -1.16631150013736748695e+09 1.09GiB 1.086GiB 1.09GiB -1.166e+09 B -1.16864412313764214516e+09 1.09GiB 1.088GiB 1.09GiB -1.169e+09 B -1.17098141138391733170e+09 1.09GiB 1.091GiB 1.09GiB -1.171e+09 B -1.17332337420668506622e+09 1.09GiB 1.093GiB 1.09GiB -1.173e+09 B -1.17567002095509839058e+09 1.09GiB 1.095GiB 1.09GiB -1.176e+09 B -1.17802136099700856209e+09 1.10GiB 1.097GiB 1.10GiB -1.178e+09 B -1.18037740371900248528e+09 1.10GiB 1.099GiB 1.10GiB -1.180e+09 B -1.18273815852644038200e+09 1.10GiB 1.102GiB 1.10GiB -1.183e+09 B -1.18510363484349322319e+09 1.10GiB 1.104GiB 1.10GiB -1.185e+09 B -1.18747384211318016052e+09 1.11GiB 1.106GiB 1.11GiB -1.187e+09 B -1.18984878979740643501e+09 1.11GiB 1.108GiB 1.11GiB -1.190e+09 B -1.19222848737700128555e+09 1.11GiB 1.110GiB 1.11GiB -1.192e+09 B -1.19461294435175538063e+09 1.11GiB 1.113GiB 1.11GiB -1.195e+09 B -1.19700217024045896530e+09 1.11GiB 1.115GiB 1.11GiB -1.197e+09 B -1.19939617458093976974e+09 1.12GiB 1.117GiB 1.12GiB -1.199e+09 B -1.20179496693010163307e+09 1.12GiB 1.119GiB 1.12GiB -1.202e+09 B -1.20419855686396193504e+09 1.12GiB 1.121GiB 1.12GiB -1.204e+09 B -1.20660695397768974304e+09 1.12GiB 1.124GiB 1.12GiB -1.207e+09 B -1.20902016788564515114e+09 1.13GiB 1.126GiB 1.13GiB -1.209e+09 B -1.21143820822141647339e+09 1.13GiB 1.128GiB 1.13GiB -1.211e+09 B -1.21386108463785934448e+09 1.13GiB 1.130GiB 1.13GiB -1.214e+09 B -1.21628880680713510513e+09 1.13GiB 1.133GiB 1.13GiB -1.216e+09 B -1.21872138442074942589e+09 1.14GiB 1.135GiB 1.14GiB -1.219e+09 B -1.22115882718959093094e+09 1.14GiB 1.137GiB 1.14GiB -1.221e+09 B -1.22360114484397006035e+09 1.14GiB 1.140GiB 1.14GiB -1.224e+09 B -1.22604834713365793228e+09 1.14GiB 1.142GiB 1.14GiB -1.226e+09 B -1.22850044382792520523e+09 1.14GiB 1.144GiB 1.14GiB -1.229e+09 B -1.23095744471558094025e+09 1.15GiB 1.146GiB 1.15GiB -1.231e+09 B -1.23341935960501217842e+09 1.15GiB 1.149GiB 1.15GiB -1.233e+09 B -1.23588619832422208786e+09 1.15GiB 1.151GiB 1.15GiB -1.236e+09 B -1.23835797072087049484e+09 1.15GiB 1.153GiB 1.15GiB -1.238e+09 B -1.24083468666231226921e+09 1.16GiB 1.156GiB 1.16GiB -1.241e+09 B -1.24331635603563690186e+09 1.16GiB 1.158GiB 1.16GiB -1.243e+09 B -1.24580298874770808220e+09 1.16GiB 1.160GiB 1.16GiB -1.246e+09 B -1.24829459472520351410e+09 1.16GiB 1.163GiB 1.16GiB -1.248e+09 B -1.25079118391465401649e+09 1.16GiB 1.165GiB 1.16GiB -1.251e+09 B -1.25329276628248333931e+09 1.17GiB 1.167GiB 1.17GiB -1.253e+09 B -1.25579935181504821777e+09 1.17GiB 1.170GiB 1.17GiB -1.256e+09 B -1.25831095051867842674e+09 1.17GiB 1.172GiB 1.17GiB -1.258e+09 B -1.26082757241971588135e+09 1.17GiB 1.174GiB 1.17GiB -1.261e+09 B -1.26334922756455540657e+09 1.18GiB 1.177GiB 1.18GiB -1.263e+09 B -1.26587592601968455315e+09 1.18GiB 1.179GiB 1.18GiB -1.266e+09 B -1.26840767787172389030e+09 1.18GiB 1.181GiB 1.18GiB -1.268e+09 B -1.27094449322746729851e+09 1.18GiB 1.184GiB 1.18GiB -1.271e+09 B -1.27348638221392226219e+09 1.19GiB 1.186GiB 1.19GiB -1.273e+09 B -1.27603335497835016251e+09 1.19GiB 1.188GiB 1.19GiB -1.276e+09 B -1.27858542168830680847e+09 1.19GiB 1.191GiB 1.19GiB -1.279e+09 B -1.28114259253168344498e+09 1.19GiB 1.193GiB 1.19GiB -1.281e+09 B -1.28370487771674680710e+09 1.20GiB 1.196GiB 1.20GiB -1.284e+09 B -1.28627228747218036652e+09 1.20GiB 1.198GiB 1.20GiB -1.286e+09 B -1.28884483204712462425e+09 1.20GiB 1.200GiB 1.20GiB -1.289e+09 B -1.29142252171121883392e+09 1.20GiB 1.203GiB 1.20GiB -1.291e+09 B -1.29400536675464129448e+09 1.21GiB 1.205GiB 1.21GiB -1.294e+09 B -1.29659337748815059662e+09 1.21GiB 1.208GiB 1.21GiB -1.297e+09 B -1.29918656424312686920e+09 1.21GiB 1.210GiB 1.21GiB -1.299e+09 B -1.30178493737161302567e+09 1.21GiB 1.212GiB 1.21GiB -1.302e+09 B -1.30438850724635624886e+09 1.21GiB 1.215GiB 1.21GiB -1.304e+09 B -1.30699728426084899902e+09 1.22GiB 1.217GiB 1.22GiB -1.307e+09 B -1.30961127882937073708e+09 1.22GiB 1.220GiB 1.22GiB -1.310e+09 B -1.31223050138702940941e+09 1.22GiB 1.222GiB 1.22GiB -1.312e+09 B -1.31485496238980340958e+09 1.22GiB 1.225GiB 1.22GiB -1.315e+09 B -1.31748467231458306313e+09 1.23GiB 1.227GiB 1.23GiB -1.317e+09 B -1.32011964165921211243e+09 1.23GiB 1.229GiB 1.23GiB -1.320e+09 B -1.32275988094253063202e+09 1.23GiB 1.232GiB 1.23GiB -1.323e+09 B -1.32540540070441579819e+09 1.23GiB 1.234GiB 1.23GiB -1.325e+09 B -1.32805621150582456589e+09 1.24GiB 1.237GiB 1.24GiB -1.328e+09 B -1.33071232392883610725e+09 1.24GiB 1.239GiB 1.24GiB -1.331e+09 B -1.33337374857669377327e+09 1.24GiB 1.242GiB 1.24GiB -1.333e+09 B -1.33604049607384705544e+09 1.24GiB 1.244GiB 1.24GiB -1.336e+09 B -1.33871257706599473953e+09 1.25GiB 1.247GiB 1.25GiB -1.339e+09 B -1.34139000222012662888e+09 1.25GiB 1.249GiB 1.25GiB -1.341e+09 B -1.34407278222456693649e+09 1.25GiB 1.252GiB 1.25GiB -1.344e+09 B -1.34676092778901600838e+09 1.25GiB 1.254GiB 1.25GiB -1.347e+09 B -1.34945444964459395409e+09 1.26GiB 1.257GiB 1.26GiB -1.349e+09 B -1.35215335854388308525e+09 1.26GiB 1.259GiB 1.26GiB -1.352e+09 B -1.35485766526097083092e+09 1.26GiB 1.262GiB 1.26GiB -1.355e+09 B -1.35756738059149289131e+09 1.26GiB 1.264GiB 1.26GiB -1.358e+09 B -1.36028251535267591476e+09 1.27GiB 1.267GiB 1.27GiB -1.360e+09 B -1.36300308038338136673e+09 1.27GiB 1.269GiB 1.27GiB -1.363e+09 B -1.36572908654414820671e+09 1.27GiB 1.272GiB 1.27GiB -1.366e+09 B -1.36846054471723651886e+09 1.27GiB 1.274GiB 1.27GiB -1.368e+09 B -1.37119746580667090416e+09 1.28GiB 1.277GiB 1.28GiB -1.371e+09 B -1.37393986073828434944e+09 1.28GiB 1.280GiB 1.28GiB -1.374e+09 B -1.37668774045976090431e+09 1.28GiB 1.282GiB 1.28GiB -1.377e+09 B -1.37944111594068050385e+09 1.28GiB 1.285GiB 1.28GiB -1.379e+09 B -1.38219999817256188393e+09 1.29GiB 1.287GiB 1.29GiB -1.382e+09 B -1.38496439816890692711e+09 1.29GiB 1.290GiB 1.29GiB -1.385e+09 B -1.38773432696524477005e+09 1.29GiB 1.292GiB 1.29GiB -1.388e+09 B -1.39050979561917519569e+09 1.30GiB 1.295GiB 1.30GiB -1.391e+09 B -1.39329081521041345596e+09 1.30GiB 1.298GiB 1.30GiB -1.393e+09 B -1.39607739684083437920e+09 1.30GiB 1.300GiB 1.30GiB -1.396e+09 B -1.39886955163451600075e+09 1.30GiB 1.303GiB 1.30GiB -1.399e+09 B -1.00000000000000000000e+12 909GiB 909.5GiB 909GiB -1.000e+12 B -1.05000000000000000000e+12 955GiB 955.0GiB 955GiB -1.050e+12 B -1.10250000000000000000e+12 1.00TiB 1.003TiB 1.00TiB -1.102e+12 B -1.15762500000000000000e+12 1.05TiB 1.053TiB 1.05TiB -1.158e+12 B -1.21550625000000000000e+12 1.11TiB 1.105TiB 1.11TiB -1.216e+12 B -1.27628156250000000000e+12 1.16TiB 1.161TiB 1.16TiB -1.276e+12 B -1.34009564062500000000e+12 1.22TiB 1.219TiB 1.22TiB -1.340e+12 B -1.40710042265625000000e+12 1.28TiB 1.280TiB 1.28TiB -1.407e+12 B -1.47745544378906250000e+12 1.34TiB 1.344TiB 1.34TiB -1.477e+12 B -1.55132821597851562500e+12 1.41TiB 1.411TiB 1.41TiB -1.551e+12 B -1.62889462677744140625e+12 1.48TiB 1.481TiB 1.48TiB -1.629e+12 B -1.71033935811631347656e+12 1.56TiB 1.556TiB 1.56TiB -1.710e+12 B -1.79585632602212915039e+12 1.63TiB 1.633TiB 1.63TiB -1.796e+12 B -1.88564914232323559570e+12 1.71TiB 1.715TiB 1.71TiB -1.886e+12 B -1.97993159943939746094e+12 1.80TiB 1.801TiB 1.80TiB -1.980e+12 B -2.07892817941136743164e+12 1.89TiB 1.891TiB 1.89TiB -2.079e+12 B -2.18287458838193579102e+12 1.99TiB 1.985TiB 1.99TiB -2.183e+12 B -2.29201831780103271484e+12 2.08TiB 2.085TiB 2.08TiB -2.292e+12 B +1.00000000000000002082e-03 0 B 0 B 0 B 0 B +1.30000000000000011380e-02 0 B 0 B 0 B 0 B +1.69000000000000011324e-01 0 B 0 B 0 B 0 B +2.19700000000000006395e+00 2 B 2 B 2 B 2 B +2.85609999999999999432e+01 29 B 29 B 29 B 29 B +3.71293000000000006366e+02 371 B 371 B 371 B 371 B +4.82680900000000019645e+03 4.71KiB 4.714KiB 4.7KiB 4.7KiB +6.27485169999999998254e+04 61.3KiB 61.28KiB 61KiB 61KiB +8.15730721000000019558e+05 797KiB 796.6KiB 800KiB 800KiB +1.06044993729999996722e+07 10.1MiB 10.11MiB 10MiB 10MiB +1.37858491849000006914e+08 131MiB 131.5MiB 130MiB 130MiB +1.79216039403700017929e+09 1.67GiB 1.669GiB 1.7GiB 1.7GiB +2.32980851224810028076e+10 21.7GiB 21.70GiB 22GiB 22GiB +3.02875106592253051758e+11 282GiB 282.1GiB 280GiB 280GiB +3.93737638569928955078e+12 3.58TiB 3.581TiB 3.6TiB 3.6TiB +5.11858930140907656250e+13 46.6TiB 46.55TiB 47TiB 47TiB +6.65416609183180000000e+14 605TiB 605.2TiB 610TiB 610TiB +8.65041591938134000000e+15 7.68PiB 7.683PiB 7.7PiB 7.7PiB +1.12455406951957424000e+17 99.9PiB 99.88PiB 100PiB 100PiB +1.46192029037544652800e+18 1.27EiB 1.268EiB 1.3EiB 1.3EiB +1.90049637748808048640e+19 16.5EiB 16.48EiB 16EiB 16EiB +2.47064529073450450944e+20 214EiB 214.3EiB 210EiB 210EiB +3.21183887795485566566e+21 2.72ZiB 2.721ZiB 2.7ZiB 2.7ZiB +4.17539054134131257508e+22 35.4ZiB 35.37ZiB 35ZiB 35ZiB +5.42800770374370617983e+23 460ZiB 459.8ZiB 460ZiB 460ZiB +7.05641001486681803378e+24 5.84YiB 5.837YiB 5.8YiB 5.8YiB +9.17333301932686301442e+25 75.9YiB 75.88YiB 76YiB 76YiB +1.19253329251249215751e+27 986YiB 986.4YiB 990YiB 990YiB +1.55029328026623977728e+28 12.5RiB 12.52RiB 13RiB 13RiB +2.01538126434611188639e+29 163RiB 162.8RiB 160RiB 160RiB +2.61999564364994545230e+30 2.07QiB 2.067QiB 2.1QiB 2.1QiB +3.40599433674492897540e+31 26.9QiB 26.87QiB 27QiB 27QiB +4.42779263776840757795e+32 4.43e+32 B 4.428e+32 B 4.4e+32 B 4.427793e+32 B +5.75613042909892999545e+33 5.76e+33 B 5.756e+33 B 5.8e+33 B 5.756130e+33 B +7.48296955782860864821e+34 7.48e+34 B 7.483e+34 B 7.5e+34 B 7.482970e+34 B +1.00000000000000000000e+03 1000 B 1000 B 1000 B 1000 B +1.00200000000000000000e+03 1002 B 1002 B 1002 B 1002 B +1.00400400000000001910e+03 1004 B 1004 B 1004 B 1004 B +1.00601200800000003710e+03 1006 B 1006 B 1006 B 1006 B +1.00802403201600009197e+03 1008 B 1008 B 1008 B 1008 B +1.01004008008003211216e+03 1010 B 1010 B 1010 B 1010 B +1.01206016024019220367e+03 1012 B 1012 B 1012 B 1012 B +1.01408428056067259604e+03 1014 B 1014 B 1014 B 1014 B +1.01611244912179392941e+03 1016 B 1016 B 1016 B 1016 B +1.01814467402003754160e+03 1018 B 1018 B 1018 B 1018 B +1.02018096336807764146e+03 1020 B 1020 B 1020 B 1020 B +1.02222132529481382335e+03 1022 B 1022 B 1022 B 1022 B +1.02426576794540346782e+03 1.00KiB 1.000KiB 1.0KiB 1.0KiB +1.02631429948129425611e+03 1.00KiB 1.002KiB 1.0KiB 1.0KiB +1.02836692808025691193e+03 1.00KiB 1.004KiB 1.0KiB 1.0KiB +1.03042366193641737482e+03 1.01KiB 1.006KiB 1.0KiB 1.0KiB +1.03248450926029022412e+03 1.01KiB 1.008KiB 1.0KiB 1.0KiB +1.03454947827881073863e+03 1.01KiB 1.010KiB 1.0KiB 1.0KiB +1.03661857723536832054e+03 1.01KiB 1.012KiB 1.0KiB 1.0KiB +1.03869181438983900989e+03 1.01KiB 1.014KiB 1.0KiB 1.0KiB +1.04076919801861868109e+03 1.02KiB 1.016KiB 1.0KiB 1.0KiB +1.04285073641465601213e+03 1.02KiB 1.018KiB 1.0KiB 1.0KiB +1.04493643788748522638e+03 1.02KiB 1.020KiB 1.0KiB 1.0KiB +1.04702631076326019866e+03 1.02KiB 1.022KiB 1.0KiB 1.0KiB +1.04912036338478674224e+03 1.02KiB 1.025KiB 1.0KiB 1.0KiB +1.05121860411155626025e+03 1.03KiB 1.027KiB 1.0KiB 1.0KiB +1.05332104131977939687e+03 1.03KiB 1.029KiB 1.0KiB 1.0KiB +1.05542768340241900660e+03 1.03KiB 1.031KiB 1.0KiB 1.0KiB +1.05753853876922380550e+03 1.03KiB 1.033KiB 1.0KiB 1.0KiB +1.05965361584676224993e+03 1.03KiB 1.035KiB 1.0KiB 1.0KiB +1.06177292307845573305e+03 1.04KiB 1.037KiB 1.0KiB 1.0KiB +1.06389646892461269090e+03 1.04KiB 1.039KiB 1.0KiB 1.0KiB +1.06602426186246202633e+03 1.04KiB 1.041KiB 1.0KiB 1.0KiB +1.06815631038618698767e+03 1.04KiB 1.043KiB 1.0KiB 1.0KiB +1.07029262300695927479e+03 1.05KiB 1.045KiB 1.0KiB 1.0KiB +1.07243320825297314514e+03 1.05KiB 1.047KiB 1.0KiB 1.0KiB +1.07457807466947906505e+03 1.05KiB 1.049KiB 1.0KiB 1.0KiB +1.07672723081881804319e+03 1.05KiB 1.051KiB 1.1KiB 1.1KiB +1.07888068528045573657e+03 1.05KiB 1.054KiB 1.1KiB 1.1KiB +1.08103844665101655664e+03 1.06KiB 1.056KiB 1.1KiB 1.1KiB +1.08320052354431868480e+03 1.06KiB 1.058KiB 1.1KiB 1.1KiB +1.08536692459140726896e+03 1.06KiB 1.060KiB 1.1KiB 1.1KiB +1.08753765844059012124e+03 1.06KiB 1.062KiB 1.1KiB 1.1KiB +1.08971273375747136924e+03 1.06KiB 1.064KiB 1.1KiB 1.1KiB +1.09189215922498624423e+03 1.07KiB 1.066KiB 1.1KiB 1.1KiB +1.09407594354343632403e+03 1.07KiB 1.068KiB 1.1KiB 1.1KiB +1.09626409543052318440e+03 1.07KiB 1.071KiB 1.1KiB 1.1KiB +1.09845662362138432400e+03 1.07KiB 1.073KiB 1.1KiB 1.1KiB +1.10065353686862704308e+03 1.07KiB 1.075KiB 1.1KiB 1.1KiB +1.10285484394236436856e+03 1.08KiB 1.077KiB 1.1KiB 1.1KiB +1.10506055363024916005e+03 1.08KiB 1.079KiB 1.1KiB 1.1KiB +1.10727067473750958015e+03 1.08KiB 1.081KiB 1.1KiB 1.1KiB +1.10948521608698456475e+03 1.08KiB 1.083KiB 1.1KiB 1.1KiB +1.11170418651915861119e+03 1.09KiB 1.086KiB 1.1KiB 1.1KiB +1.11392759489219702118e+03 1.09KiB 1.088KiB 1.1KiB 1.1KiB +1.11615545008198137111e+03 1.09KiB 1.090KiB 1.1KiB 1.1KiB +1.11838776098214543708e+03 1.09KiB 1.092KiB 1.1KiB 1.1KiB +1.12062453650410975570e+03 1.09KiB 1.094KiB 1.1KiB 1.1KiB +1.12286578557711800386e+03 1.10KiB 1.097KiB 1.1KiB 1.1KiB +1.12511151714827224168e+03 1.10KiB 1.099KiB 1.1KiB 1.1KiB +1.12736174018256883755e+03 1.10KiB 1.101KiB 1.1KiB 1.1KiB +1.12961646366293393839e+03 1.10KiB 1.103KiB 1.1KiB 1.1KiB +1.13187569659025984947e+03 1.11KiB 1.105KiB 1.1KiB 1.1KiB +1.13413944798344027731e+03 1.11KiB 1.108KiB 1.1KiB 1.1KiB +1.13640772687940716423e+03 1.11KiB 1.110KiB 1.1KiB 1.1KiB +1.13868054233316593127e+03 1.11KiB 1.112KiB 1.1KiB 1.1KiB +1.14095790341783231270e+03 1.11KiB 1.114KiB 1.1KiB 1.1KiB +1.14323981922466805372e+03 1.12KiB 1.116KiB 1.1KiB 1.1KiB +1.14552629886311729024e+03 1.12KiB 1.119KiB 1.1KiB 1.1KiB +1.14781735146084361077e+03 1.12KiB 1.121KiB 1.1KiB 1.1KiB +1.15011298616376529935e+03 1.12KiB 1.123KiB 1.1KiB 1.1KiB +1.15241321213609285223e+03 1.13KiB 1.125KiB 1.1KiB 1.1KiB +1.15471803856036513025e+03 1.13KiB 1.128KiB 1.1KiB 1.1KiB +1.15702747463748596601e+03 1.13KiB 1.130KiB 1.1KiB 1.1KiB +1.15934152958676099843e+03 1.13KiB 1.132KiB 1.1KiB 1.1KiB +1.16166021264593450724e+03 1.13KiB 1.134KiB 1.1KiB 1.1KiB +1.16398353307122647493e+03 1.14KiB 1.137KiB 1.1KiB 1.1KiB +1.16631150013736896653e+03 1.14KiB 1.139KiB 1.1KiB 1.1KiB +1.16864412313764364626e+03 1.14KiB 1.141KiB 1.1KiB 1.1KiB +1.17098141138391883942e+03 1.14KiB 1.144KiB 1.1KiB 1.1KiB +1.17332337420668659433e+03 1.15KiB 1.146KiB 1.1KiB 1.1KiB +1.17567002095509997162e+03 1.15KiB 1.148KiB 1.1KiB 1.1KiB +1.17802136099701010608e+03 1.15KiB 1.150KiB 1.2KiB 1.2KiB +1.18037740371900417813e+03 1.15KiB 1.153KiB 1.2KiB 1.2KiB +1.18273815852644224833e+03 1.16KiB 1.155KiB 1.2KiB 1.2KiB +1.18510363484349522878e+03 1.16KiB 1.157KiB 1.2KiB 1.2KiB +1.18747384211318217240e+03 1.16KiB 1.160KiB 1.2KiB 1.2KiB +1.18984878979740847171e+03 1.16KiB 1.162KiB 1.2KiB 1.2KiB +1.19222848737700337551e+03 1.16KiB 1.164KiB 1.2KiB 1.2KiB +1.19461294435175727813e+03 1.17KiB 1.167KiB 1.2KiB 1.2KiB +1.19700217024046082770e+03 1.17KiB 1.169KiB 1.2KiB 1.2KiB +1.19939617458094176072e+03 1.17KiB 1.171KiB 1.2KiB 1.2KiB +1.00000000000000000000e+06 977KiB 976.6KiB 980KiB 980KiB +1.00200000000000000000e+06 979KiB 978.5KiB 980KiB 980KiB +1.00400400000000000000e+06 980KiB 980.5KiB 980KiB 980KiB +1.00601200800000003073e+06 982KiB 982.4KiB 980KiB 980KiB +1.00802403201600001194e+06 984KiB 984.4KiB 980KiB 980KiB +1.01004008008003199939e+06 986KiB 986.4KiB 990KiB 990KiB +1.01206016024019208271e+06 988KiB 988.3KiB 990KiB 990KiB +1.01408428056067251600e+06 990KiB 990.3KiB 990KiB 990KiB +1.01611244912179384846e+06 992KiB 992.3KiB 990KiB 990KiB +1.01814467402003740426e+06 994KiB 994.3KiB 990KiB 990KiB +1.02018096336807752959e+06 996KiB 996.3KiB 1000KiB 1000KiB +1.02222132529481372330e+06 998KiB 998.3KiB 1000KiB 1000KiB +1.02426576794540334959e+06 1000KiB 1000.3KiB 1000KiB 1000KiB +1.02631429948129411787e+06 1002KiB 1002.3KiB 1000KiB 1000KiB +1.02836692808025667910e+06 1004KiB 1004.3KiB 1000KiB 1000KiB +1.03042366193641722202e+06 1006KiB 1006.3KiB 1010KiB 1010KiB +1.03248450926029006951e+06 1008KiB 1008.3KiB 1010KiB 1010KiB +1.03454947827881062403e+06 1010KiB 1010.3KiB 1010KiB 1010KiB +1.03661857723536819685e+06 1012KiB 1012.3KiB 1010KiB 1010KiB +1.03869181438983895350e+06 1014KiB 1014.3KiB 1010KiB 1010KiB +1.04076919801861862652e+06 1016KiB 1016.4KiB 1020KiB 1020KiB +1.04285073641465581022e+06 1018KiB 1018.4KiB 1020KiB 1020KiB +1.04493643788748513907e+06 1020KiB 1020.4KiB 1020KiB 1020KiB +1.04702631076326011680e+06 1022KiB 1022.5KiB 1020KiB 1020KiB +1.04912036338478652760e+06 1.00MiB 1.001MiB 1.0MiB 1.0MiB +1.05121860411155619659e+06 1.00MiB 1.003MiB 1.0MiB 1.0MiB +1.05332104131977935322e+06 1.00MiB 1.005MiB 1.0MiB 1.0MiB +1.05542768340241885744e+06 1.01MiB 1.007MiB 1.0MiB 1.0MiB +1.05753853876922372729e+06 1.01MiB 1.009MiB 1.0MiB 1.0MiB +1.05965361584676220082e+06 1.01MiB 1.011MiB 1.0MiB 1.0MiB +1.06177292307845572941e+06 1.01MiB 1.013MiB 1.0MiB 1.0MiB +1.06389646892461273819e+06 1.01MiB 1.015MiB 1.0MiB 1.0MiB +1.06602426186246192083e+06 1.02MiB 1.017MiB 1.0MiB 1.0MiB +1.06815631038618693128e+06 1.02MiB 1.019MiB 1.0MiB 1.0MiB +1.07029262300695921294e+06 1.02MiB 1.021MiB 1.0MiB 1.0MiB +1.07243320825297315605e+06 1.02MiB 1.023MiB 1.0MiB 1.0MiB +1.07457807466947915964e+06 1.02MiB 1.025MiB 1.0MiB 1.0MiB +1.07672723081881809048e+06 1.03MiB 1.027MiB 1.0MiB 1.0MiB +1.07888068528045574203e+06 1.03MiB 1.029MiB 1.0MiB 1.0MiB +1.08103844665101659484e+06 1.03MiB 1.031MiB 1.0MiB 1.0MiB +1.08320052354431874119e+06 1.03MiB 1.033MiB 1.0MiB 1.0MiB +1.08536692459140741266e+06 1.04MiB 1.035MiB 1.0MiB 1.0MiB +1.08753765844059013762e+06 1.04MiB 1.037MiB 1.0MiB 1.0MiB +1.08971273375747143291e+06 1.04MiB 1.039MiB 1.0MiB 1.0MiB +1.09189215922498633154e+06 1.04MiB 1.041MiB 1.0MiB 1.0MiB +1.09407594354343623854e+06 1.04MiB 1.043MiB 1.0MiB 1.0MiB +1.09626409543052315712e+06 1.05MiB 1.045MiB 1.0MiB 1.0MiB +1.09845662362138414755e+06 1.05MiB 1.048MiB 1.0MiB 1.0MiB +1.10065353686862695031e+06 1.05MiB 1.050MiB 1.0MiB 1.0MiB +1.10285484394236421213e+06 1.05MiB 1.052MiB 1.1MiB 1.1MiB +1.10506055363024887629e+06 1.05MiB 1.054MiB 1.1MiB 1.1MiB +1.10727067473750934005e+06 1.06MiB 1.056MiB 1.1MiB 1.1MiB +1.10948521608698437922e+06 1.06MiB 1.058MiB 1.1MiB 1.1MiB +1.11170418651915830560e+06 1.06MiB 1.060MiB 1.1MiB 1.1MiB +1.11392759489219659008e+06 1.06MiB 1.062MiB 1.1MiB 1.1MiB +1.11615545008198102005e+06 1.06MiB 1.064MiB 1.1MiB 1.1MiB +1.11838776098214508966e+06 1.07MiB 1.067MiB 1.1MiB 1.1MiB +1.12062453650410939008e+06 1.07MiB 1.069MiB 1.1MiB 1.1MiB +1.12286578557711769827e+06 1.07MiB 1.071MiB 1.1MiB 1.1MiB +1.12511151714827190153e+06 1.07MiB 1.073MiB 1.1MiB 1.1MiB +1.12736174018256855197e+06 1.08MiB 1.075MiB 1.1MiB 1.1MiB +1.12961646366293379106e+06 1.08MiB 1.077MiB 1.1MiB 1.1MiB +1.13187569659025967121e+06 1.08MiB 1.079MiB 1.1MiB 1.1MiB +1.13413944798344024457e+06 1.08MiB 1.082MiB 1.1MiB 1.1MiB +1.13640772687940718606e+06 1.08MiB 1.084MiB 1.1MiB 1.1MiB +1.13868054233316611499e+06 1.09MiB 1.086MiB 1.1MiB 1.1MiB +1.14095790341783245094e+06 1.09MiB 1.088MiB 1.1MiB 1.1MiB +1.14323981922466820106e+06 1.09MiB 1.090MiB 1.1MiB 1.1MiB +1.14552629886311758310e+06 1.09MiB 1.092MiB 1.1MiB 1.1MiB +1.14781735146084381267e+06 1.09MiB 1.095MiB 1.1MiB 1.1MiB +1.15011298616376542486e+06 1.10MiB 1.097MiB 1.1MiB 1.1MiB +1.15241321213609306142e+06 1.10MiB 1.099MiB 1.1MiB 1.1MiB +1.15471803856036532670e+06 1.10MiB 1.101MiB 1.1MiB 1.1MiB +1.15702747463748604059e+06 1.10MiB 1.103MiB 1.1MiB 1.1MiB +1.15934152958676102571e+06 1.11MiB 1.106MiB 1.1MiB 1.1MiB +1.16166021264593466185e+06 1.11MiB 1.108MiB 1.1MiB 1.1MiB +1.16398353307122644037e+06 1.11MiB 1.110MiB 1.1MiB 1.1MiB +1.16631150013736891560e+06 1.11MiB 1.112MiB 1.1MiB 1.1MiB +1.16864412313764356077e+06 1.11MiB 1.115MiB 1.1MiB 1.1MiB +1.17098141138391895220e+06 1.12MiB 1.117MiB 1.1MiB 1.1MiB +1.17332337420668685809e+06 1.12MiB 1.119MiB 1.1MiB 1.1MiB +1.17567002095510018989e+06 1.12MiB 1.121MiB 1.1MiB 1.1MiB +1.17802136099701048806e+06 1.12MiB 1.123MiB 1.1MiB 1.1MiB +1.18037740371900447644e+06 1.13MiB 1.126MiB 1.1MiB 1.1MiB +1.18273815852644247934e+06 1.13MiB 1.128MiB 1.1MiB 1.1MiB +1.18510363484349544160e+06 1.13MiB 1.130MiB 1.1MiB 1.1MiB +1.18747384211318241432e+06 1.13MiB 1.132MiB 1.1MiB 1.1MiB +1.18984878979740873910e+06 1.13MiB 1.135MiB 1.1MiB 1.1MiB +1.19222848737700353377e+06 1.14MiB 1.137MiB 1.1MiB 1.1MiB +1.19461294435175764374e+06 1.14MiB 1.139MiB 1.1MiB 1.1MiB +1.19700217024046112783e+06 1.14MiB 1.142MiB 1.1MiB 1.1MiB +1.19939617458094214089e+06 1.14MiB 1.144MiB 1.1MiB 1.1MiB +1.00000000000000000000e+09 954MiB 953.7MiB 950MiB 950MiB +1.00200000000000000000e+09 956MiB 955.6MiB 960MiB 960MiB +1.00400400000000000000e+09 957MiB 957.5MiB 960MiB 960MiB +1.00601200800000000000e+09 959MiB 959.4MiB 960MiB 960MiB +1.00802403201600003242e+09 961MiB 961.3MiB 960MiB 960MiB +1.01004008008003199100e+09 963MiB 963.2MiB 960MiB 960MiB +1.01206016024019205570e+09 965MiB 965.2MiB 970MiB 970MiB +1.01408428056067240238e+09 967MiB 967.1MiB 970MiB 970MiB +1.01611244912179374695e+09 969MiB 969.0MiB 970MiB 970MiB +1.01814467402003729343e+09 971MiB 971.0MiB 970MiB 970MiB +1.02018096336807739735e+09 973MiB 972.9MiB 970MiB 970MiB +1.02222132529481351376e+09 975MiB 974.9MiB 970MiB 970MiB +1.02426576794540309906e+09 977MiB 976.8MiB 980MiB 980MiB +1.02631429948129391670e+09 979MiB 978.8MiB 980MiB 980MiB +1.02836692808025646210e+09 981MiB 980.7MiB 980MiB 980MiB +1.03042366193641698360e+09 983MiB 982.7MiB 980MiB 980MiB +1.03248450926028978825e+09 985MiB 984.7MiB 980MiB 980MiB +1.03454947827881038189e+09 987MiB 986.6MiB 990MiB 990MiB +1.03661857723536801338e+09 989MiB 988.6MiB 990MiB 990MiB +1.03869181438983869553e+09 991MiB 990.6MiB 990MiB 990MiB +1.04076919801861834526e+09 993MiB 992.6MiB 990MiB 990MiB +1.04285073641465556622e+09 995MiB 994.5MiB 990MiB 990MiB +1.04493643788748490810e+09 997MiB 996.5MiB 1000MiB 1000MiB +1.04702631076325988770e+09 999MiB 998.5MiB 1000MiB 1000MiB +1.04912036338478636742e+09 1001MiB 1000.5MiB 1000MiB 1000MiB +1.05121860411155593395e+09 1003MiB 1002.5MiB 1000MiB 1000MiB +1.05332104131977903843e+09 1005MiB 1004.5MiB 1000MiB 1000MiB +1.05542768340241861343e+09 1007MiB 1006.5MiB 1010MiB 1010MiB +1.05753853876922345161e+09 1009MiB 1008.5MiB 1010MiB 1010MiB +1.05965361584676194191e+09 1011MiB 1010.6MiB 1010MiB 1010MiB +1.06177292307845544815e+09 1013MiB 1012.6MiB 1010MiB 1010MiB +1.06389646892461240292e+09 1015MiB 1014.6MiB 1010MiB 1010MiB +1.06602426186246168613e+09 1017MiB 1016.6MiB 1020MiB 1020MiB +1.06815631038618659973e+09 1019MiB 1018.7MiB 1020MiB 1020MiB +1.07029262300695896149e+09 1021MiB 1020.7MiB 1020MiB 1020MiB +1.07243320825297284126e+09 1023MiB 1022.8MiB 1020MiB 1020MiB +1.07457807466947889328e+09 1.00GiB 1.001GiB 1.0GiB 1.0GiB +1.07672723081881785393e+09 1.00GiB 1.003GiB 1.0GiB 1.0GiB +1.07888068528045558929e+09 1.00GiB 1.005GiB 1.0GiB 1.0GiB +1.08103844665101647377e+09 1.01GiB 1.007GiB 1.0GiB 1.0GiB +1.08320052354431843758e+09 1.01GiB 1.009GiB 1.0GiB 1.0GiB +1.08536692459140706062e+09 1.01GiB 1.011GiB 1.0GiB 1.0GiB +1.08753765844058990479e+09 1.01GiB 1.013GiB 1.0GiB 1.0GiB +1.08971273375747108459e+09 1.01GiB 1.015GiB 1.0GiB 1.0GiB +1.09189215922498607635e+09 1.02GiB 1.017GiB 1.0GiB 1.0GiB +1.09407594354343605042e+09 1.02GiB 1.019GiB 1.0GiB 1.0GiB +1.09626409543052291870e+09 1.02GiB 1.021GiB 1.0GiB 1.0GiB +1.09845662362138390541e+09 1.02GiB 1.023GiB 1.0GiB 1.0GiB +1.10065353686862659454e+09 1.03GiB 1.025GiB 1.0GiB 1.0GiB +1.10285484394236373901e+09 1.03GiB 1.027GiB 1.0GiB 1.0GiB +1.10506055363024854660e+09 1.03GiB 1.029GiB 1.0GiB 1.0GiB +1.10727067473750901222e+09 1.03GiB 1.031GiB 1.0GiB 1.0GiB +1.10948521608698391914e+09 1.03GiB 1.033GiB 1.0GiB 1.0GiB +1.11170418651915788651e+09 1.04GiB 1.035GiB 1.0GiB 1.0GiB +1.11392759489219617844e+09 1.04GiB 1.037GiB 1.0GiB 1.0GiB +1.11615545008198046684e+09 1.04GiB 1.040GiB 1.0GiB 1.0GiB +1.11838776098214435577e+09 1.04GiB 1.042GiB 1.0GiB 1.0GiB +1.12062453650410866737e+09 1.04GiB 1.044GiB 1.0GiB 1.0GiB +1.12286578557711696625e+09 1.05GiB 1.046GiB 1.0GiB 1.0GiB +1.12511151714827108383e+09 1.05GiB 1.048GiB 1.0GiB 1.0GiB +1.12736174018256759644e+09 1.05GiB 1.050GiB 1.0GiB 1.0GiB +1.12961646366293263435e+09 1.05GiB 1.052GiB 1.1GiB 1.1GiB +1.13187569659025859833e+09 1.05GiB 1.054GiB 1.1GiB 1.1GiB +1.13413944798343920708e+09 1.06GiB 1.056GiB 1.1GiB 1.1GiB +1.13640772687940597534e+09 1.06GiB 1.058GiB 1.1GiB 1.1GiB +1.13868054233316469193e+09 1.06GiB 1.060GiB 1.1GiB 1.1GiB +1.14095790341783094406e+09 1.06GiB 1.063GiB 1.1GiB 1.1GiB +1.14323981922466659546e+09 1.06GiB 1.065GiB 1.1GiB 1.1GiB +1.14552629886311602592e+09 1.07GiB 1.067GiB 1.1GiB 1.1GiB +1.14781735146084237099e+09 1.07GiB 1.069GiB 1.1GiB 1.1GiB +1.15011298616376399994e+09 1.07GiB 1.071GiB 1.1GiB 1.1GiB +1.15241321213609147072e+09 1.07GiB 1.073GiB 1.1GiB 1.1GiB +1.15471803856036376953e+09 1.08GiB 1.075GiB 1.1GiB 1.1GiB +1.15702747463748455048e+09 1.08GiB 1.078GiB 1.1GiB 1.1GiB +1.15934152958675956726e+09 1.08GiB 1.080GiB 1.1GiB 1.1GiB +1.16166021264593315125e+09 1.08GiB 1.082GiB 1.1GiB 1.1GiB +1.16398353307122492790e+09 1.08GiB 1.084GiB 1.1GiB 1.1GiB +1.16631150013736748695e+09 1.09GiB 1.086GiB 1.1GiB 1.1GiB +1.16864412313764214516e+09 1.09GiB 1.088GiB 1.1GiB 1.1GiB +1.17098141138391733170e+09 1.09GiB 1.091GiB 1.1GiB 1.1GiB +1.17332337420668506622e+09 1.09GiB 1.093GiB 1.1GiB 1.1GiB +1.17567002095509839058e+09 1.09GiB 1.095GiB 1.1GiB 1.1GiB +1.17802136099700856209e+09 1.10GiB 1.097GiB 1.1GiB 1.1GiB +1.18037740371900248528e+09 1.10GiB 1.099GiB 1.1GiB 1.1GiB +1.18273815852644038200e+09 1.10GiB 1.102GiB 1.1GiB 1.1GiB +1.18510363484349322319e+09 1.10GiB 1.104GiB 1.1GiB 1.1GiB +1.18747384211318016052e+09 1.11GiB 1.106GiB 1.1GiB 1.1GiB +1.18984878979740643501e+09 1.11GiB 1.108GiB 1.1GiB 1.1GiB +1.19222848737700128555e+09 1.11GiB 1.110GiB 1.1GiB 1.1GiB +1.19461294435175538063e+09 1.11GiB 1.113GiB 1.1GiB 1.1GiB +1.19700217024045896530e+09 1.11GiB 1.115GiB 1.1GiB 1.1GiB +1.19939617458093976974e+09 1.12GiB 1.117GiB 1.1GiB 1.1GiB +1.20179496693010163307e+09 1.12GiB 1.119GiB 1.1GiB 1.1GiB +1.20419855686396193504e+09 1.12GiB 1.121GiB 1.1GiB 1.1GiB +1.20660695397768974304e+09 1.12GiB 1.124GiB 1.1GiB 1.1GiB +1.20902016788564515114e+09 1.13GiB 1.126GiB 1.1GiB 1.1GiB +1.21143820822141647339e+09 1.13GiB 1.128GiB 1.1GiB 1.1GiB +1.21386108463785934448e+09 1.13GiB 1.130GiB 1.1GiB 1.1GiB +1.21628880680713510513e+09 1.13GiB 1.133GiB 1.1GiB 1.1GiB +1.21872138442074942589e+09 1.14GiB 1.135GiB 1.1GiB 1.1GiB +1.22115882718959093094e+09 1.14GiB 1.137GiB 1.1GiB 1.1GiB +1.22360114484397006035e+09 1.14GiB 1.140GiB 1.1GiB 1.1GiB +1.22604834713365793228e+09 1.14GiB 1.142GiB 1.1GiB 1.1GiB +1.22850044382792520523e+09 1.14GiB 1.144GiB 1.1GiB 1.1GiB +1.23095744471558094025e+09 1.15GiB 1.146GiB 1.1GiB 1.1GiB +1.23341935960501217842e+09 1.15GiB 1.149GiB 1.1GiB 1.1GiB +1.23588619832422208786e+09 1.15GiB 1.151GiB 1.2GiB 1.2GiB +1.23835797072087049484e+09 1.15GiB 1.153GiB 1.2GiB 1.2GiB +1.24083468666231226921e+09 1.16GiB 1.156GiB 1.2GiB 1.2GiB +1.24331635603563690186e+09 1.16GiB 1.158GiB 1.2GiB 1.2GiB +1.24580298874770808220e+09 1.16GiB 1.160GiB 1.2GiB 1.2GiB +1.24829459472520351410e+09 1.16GiB 1.163GiB 1.2GiB 1.2GiB +1.25079118391465401649e+09 1.16GiB 1.165GiB 1.2GiB 1.2GiB +1.25329276628248333931e+09 1.17GiB 1.167GiB 1.2GiB 1.2GiB +1.25579935181504821777e+09 1.17GiB 1.170GiB 1.2GiB 1.2GiB +1.25831095051867842674e+09 1.17GiB 1.172GiB 1.2GiB 1.2GiB +1.26082757241971588135e+09 1.17GiB 1.174GiB 1.2GiB 1.2GiB +1.26334922756455540657e+09 1.18GiB 1.177GiB 1.2GiB 1.2GiB +1.26587592601968455315e+09 1.18GiB 1.179GiB 1.2GiB 1.2GiB +1.26840767787172389030e+09 1.18GiB 1.181GiB 1.2GiB 1.2GiB +1.27094449322746729851e+09 1.18GiB 1.184GiB 1.2GiB 1.2GiB +1.27348638221392226219e+09 1.19GiB 1.186GiB 1.2GiB 1.2GiB +1.27603335497835016251e+09 1.19GiB 1.188GiB 1.2GiB 1.2GiB +1.27858542168830680847e+09 1.19GiB 1.191GiB 1.2GiB 1.2GiB +1.28114259253168344498e+09 1.19GiB 1.193GiB 1.2GiB 1.2GiB +1.28370487771674680710e+09 1.20GiB 1.196GiB 1.2GiB 1.2GiB +1.28627228747218036652e+09 1.20GiB 1.198GiB 1.2GiB 1.2GiB +1.28884483204712462425e+09 1.20GiB 1.200GiB 1.2GiB 1.2GiB +1.29142252171121883392e+09 1.20GiB 1.203GiB 1.2GiB 1.2GiB +1.29400536675464129448e+09 1.21GiB 1.205GiB 1.2GiB 1.2GiB +1.29659337748815059662e+09 1.21GiB 1.208GiB 1.2GiB 1.2GiB +1.29918656424312686920e+09 1.21GiB 1.210GiB 1.2GiB 1.2GiB +1.30178493737161302567e+09 1.21GiB 1.212GiB 1.2GiB 1.2GiB +1.30438850724635624886e+09 1.21GiB 1.215GiB 1.2GiB 1.2GiB +1.30699728426084899902e+09 1.22GiB 1.217GiB 1.2GiB 1.2GiB +1.30961127882937073708e+09 1.22GiB 1.220GiB 1.2GiB 1.2GiB +1.31223050138702940941e+09 1.22GiB 1.222GiB 1.2GiB 1.2GiB +1.31485496238980340958e+09 1.22GiB 1.225GiB 1.2GiB 1.2GiB +1.31748467231458306313e+09 1.23GiB 1.227GiB 1.2GiB 1.2GiB +1.32011964165921211243e+09 1.23GiB 1.229GiB 1.2GiB 1.2GiB +1.32275988094253063202e+09 1.23GiB 1.232GiB 1.2GiB 1.2GiB +1.32540540070441579819e+09 1.23GiB 1.234GiB 1.2GiB 1.2GiB +1.32805621150582456589e+09 1.24GiB 1.237GiB 1.2GiB 1.2GiB +1.33071232392883610725e+09 1.24GiB 1.239GiB 1.2GiB 1.2GiB +1.33337374857669377327e+09 1.24GiB 1.242GiB 1.2GiB 1.2GiB +1.33604049607384705544e+09 1.24GiB 1.244GiB 1.2GiB 1.2GiB +1.33871257706599473953e+09 1.25GiB 1.247GiB 1.2GiB 1.2GiB +1.34139000222012662888e+09 1.25GiB 1.249GiB 1.2GiB 1.2GiB +1.34407278222456693649e+09 1.25GiB 1.252GiB 1.3GiB 1.3GiB +1.34676092778901600838e+09 1.25GiB 1.254GiB 1.3GiB 1.3GiB +1.34945444964459395409e+09 1.26GiB 1.257GiB 1.3GiB 1.3GiB +1.35215335854388308525e+09 1.26GiB 1.259GiB 1.3GiB 1.3GiB +1.35485766526097083092e+09 1.26GiB 1.262GiB 1.3GiB 1.3GiB +1.35756738059149289131e+09 1.26GiB 1.264GiB 1.3GiB 1.3GiB +1.36028251535267591476e+09 1.27GiB 1.267GiB 1.3GiB 1.3GiB +1.36300308038338136673e+09 1.27GiB 1.269GiB 1.3GiB 1.3GiB +1.36572908654414820671e+09 1.27GiB 1.272GiB 1.3GiB 1.3GiB +1.36846054471723651886e+09 1.27GiB 1.274GiB 1.3GiB 1.3GiB +1.37119746580667090416e+09 1.28GiB 1.277GiB 1.3GiB 1.3GiB +1.37393986073828434944e+09 1.28GiB 1.280GiB 1.3GiB 1.3GiB +1.37668774045976090431e+09 1.28GiB 1.282GiB 1.3GiB 1.3GiB +1.37944111594068050385e+09 1.28GiB 1.285GiB 1.3GiB 1.3GiB +1.38219999817256188393e+09 1.29GiB 1.287GiB 1.3GiB 1.3GiB +1.38496439816890692711e+09 1.29GiB 1.290GiB 1.3GiB 1.3GiB +1.38773432696524477005e+09 1.29GiB 1.292GiB 1.3GiB 1.3GiB +1.39050979561917519569e+09 1.30GiB 1.295GiB 1.3GiB 1.3GiB +1.39329081521041345596e+09 1.30GiB 1.298GiB 1.3GiB 1.3GiB +1.39607739684083437920e+09 1.30GiB 1.300GiB 1.3GiB 1.3GiB +1.39886955163451600075e+09 1.30GiB 1.303GiB 1.3GiB 1.3GiB +1.00000000000000000000e+12 931GiB 931.3GiB 930GiB 930GiB +1.05000000000000000000e+12 978GiB 977.9GiB 980GiB 980GiB +1.10250000000000000000e+12 1.00TiB 1.003TiB 1.0TiB 1.0TiB +1.15762500000000000000e+12 1.05TiB 1.053TiB 1.1TiB 1.1TiB +1.21550625000000000000e+12 1.11TiB 1.105TiB 1.1TiB 1.1TiB +1.27628156250000000000e+12 1.16TiB 1.161TiB 1.2TiB 1.2TiB +1.34009564062500000000e+12 1.22TiB 1.219TiB 1.2TiB 1.2TiB +1.40710042265625000000e+12 1.28TiB 1.280TiB 1.3TiB 1.3TiB +1.47745544378906250000e+12 1.34TiB 1.344TiB 1.3TiB 1.3TiB +1.55132821597851562500e+12 1.41TiB 1.411TiB 1.4TiB 1.4TiB +1.62889462677744140625e+12 1.48TiB 1.481TiB 1.5TiB 1.5TiB +1.71033935811631347656e+12 1.56TiB 1.556TiB 1.6TiB 1.6TiB +1.79585632602212915039e+12 1.63TiB 1.633TiB 1.6TiB 1.6TiB +1.88564914232323559570e+12 1.71TiB 1.715TiB 1.7TiB 1.7TiB +1.97993159943939746094e+12 1.80TiB 1.801TiB 1.8TiB 1.8TiB +2.07892817941136743164e+12 1.89TiB 1.891TiB 1.9TiB 1.9TiB +2.18287458838193579102e+12 1.99TiB 1.985TiB 2.0TiB 2.0TiB +2.29201831780103271484e+12 2.08TiB 2.085TiB 2.1TiB 2.1TiB From 559fb38010468f05684c0ae6a6e1123e577fc80e Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Fri, 12 Apr 2024 15:38:24 +0000 Subject: [PATCH 023/118] Add end2end timing for mass insert --- bin/mtitplot | 30 ++++++++++++++++++++++++++++++ oltp/csvmtit.rwl | 21 +++++++++++++++++++++ oltp/mtit_declarations.rwl | 5 +++-- oltp/mtitrun.rwl | 3 +++ 4 files changed, 57 insertions(+), 2 deletions(-) diff --git a/bin/mtitplot b/bin/mtitplot index 839095e5..35e0f79b 100755 --- a/bin/mtitplot +++ b/bin/mtitplot @@ -5,6 +5,7 @@ # Changes: # +# bengsig 12-apr-2024 end2end timing # bengsig 17-jul-2023 Modify plot colors # bengsig 10-may-2023 Creation @@ -217,6 +218,7 @@ gnuplot -persist $resultsdir$subdir${runnumber}/instdist.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/time.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/tp.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/ash.plot +cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/e2e.plot # make the primary plot called res.svg/res.png cat >> $resultsdir$subdir$runnumber/res.plot <> $resultsdir$subdir${runnumber}/e2e.plot <> $resultsdir$subdir${runnumber}/ash.plot << END @@ -328,6 +356,7 @@ cat < $awrdirectory$subdir$runnumber/index.html

    + END if test $ashcsvcount -gt 0 then @@ -363,6 +392,7 @@ cat <> $awrdirectory$subdir$runnumber/index.html

    Plots for $komment at $rundate



    +
    END if test $ashcsvcount -gt 0 diff --git a/oltp/csvmtit.rwl b/oltp/csvmtit.rwl index 901f5da6..e8dff22d 100644 --- a/oltp/csvmtit.rwl +++ b/oltp/csvmtit.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 12-apr-2024 - end2end timing data # bengsig 26-apr-2023 - Creation with many parts from csvdata.rwl $include:"parameters.rwl" @@ -263,6 +264,26 @@ execute at rwloadsim array 65; end; + # Create the end2end time model csv file + plotfile := resultsdir subdir runno "/e2e.csv"; + double wtime, avge, avga, avgd; + integer scount; + writeline plotfile, "sec count wtime avge avga avgd"; + for + select second, scount, wtime --, etime, atime, dtime + , 1000*etime/scount avge + , 1000*atime/scount avga + , 1000*dtime/scount avgd + from persec_a + where vname = 'mtit_ins_rows' + and runnumber = :runno + order by second + / + loop + fprintf plotfile, "%.1f %d %.3f %.3f %.3f %.3f\n", second, scount, wtime, avge, avga, avgd; + end loop; + plotfile := null; + # Create the CPU plot file plotfile := resultsdir subdir runno "/cli.csv"; writeline plotfile, "sec cliusr clisys"; diff --git a/oltp/mtit_declarations.rwl b/oltp/mtit_declarations.rwl index 4ac928d7..895fbe58 100644 --- a/oltp/mtit_declarations.rwl +++ b/oltp/mtit_declarations.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 12-apr-2024 - Do gather stats # bengsig 15-sep-2023 - use affinity 1 or 2 in seq based insert # bengsig 7-sep-2023 - Fix incorrect comment # bengsig 5-sep-2023 - Some sequence changes @@ -121,8 +122,8 @@ procedure mtit_set_type() nostatistics end; end; -# don't gather statistics in the real procedure -procedure mtit_ins_rows() nostatistics +# Do the actual insert +procedure mtit_ins_rows() integer rno, wholeaffin; double val; string(2000) payload; diff --git a/oltp/mtitrun.rwl b/oltp/mtitrun.rwl index 2f823ffc..3ab20bf7 100644 --- a/oltp/mtitrun.rwl +++ b/oltp/mtitrun.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 12-apr-2024 - Do gather stats # bengsig 9-nov-2023 - support multiple application servers # bengsig 17-jul-2023 - Call mtit_initialize in each thread # bengsig 23-apr-2023 - Creation @@ -9,6 +10,8 @@ # make the MTIT run $statistics:all +$statsdbtime:on +$statsapptime:on $include:"parameters.rwl" From b416a82baca9e8462e31aa8b6d3215189911799c Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Fri, 12 Apr 2024 15:49:47 +0000 Subject: [PATCH 024/118] Fix mtitplot e2e --- bin/mtitplot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/mtitplot b/bin/mtitplot index 35e0f79b..e8456149 100755 --- a/bin/mtitplot +++ b/bin/mtitplot @@ -300,8 +300,8 @@ set output "$awrdirectory$subdir$runnumber/${runnumber}_e2e.png" plot "$resultsdir$subdir${runnumber}/e2e.csv" using 1:4 with lines lw $lw lc rgb "green" title "elapsed", \ "$resultsdir$subdir${runnumber}/e2e.csv" using 1:5 with lines lw $lw lc rgb "cyan" title "application", \ - "$resultsdir$subdir${runnumber}/e2e.csv" using 1:4 with lines lw $lw lc rgb "magenta" title "database", \ - "$resultsdir$subdir${runnumber}/e2e.csv" using 1:2 with lines lw $lw lc rgb "red" axes x1y2 title "troughput" + "$resultsdir$subdir${runnumber}/e2e.csv" using 1:6 with lines lw $lw lc rgb "magenta" title "database", \ + "$resultsdir$subdir${runnumber}/e2e.csv" using 1:2 with lines lw $lw lc rgb "light-salmon" axes x1y2 title "troughput" set terminal svg $svgmouse size imgwidth,480 $dynamic set output "$awrdirectory$subdir$runnumber/${runnumber}_e2e.svg" From 35a99206f8a67b8a26f4e2f8c55c460069f9da88 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Fri, 12 Apr 2024 16:01:39 +0000 Subject: [PATCH 025/118] e2e is logscale --- bin/mtitplot | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/bin/mtitplot b/bin/mtitplot index e8456149..b572013b 100755 --- a/bin/mtitplot +++ b/bin/mtitplot @@ -285,23 +285,24 @@ gnuplot -persist $resultsdir$subdir${runnumber}/tp.plot cat >> $resultsdir$subdir${runnumber}/e2e.plot < Date: Wed, 17 Apr 2024 09:27:41 +0000 Subject: [PATCH 026/118] -= operator, clflags bits, nostatistics statement --- CHANGELOG.md | 6 + docs/ERRORLIST.md | 3 + docs/refman/statement.html | 32 +- docs/refman/statementlist.html | 32 +- man/man1rwl/statement.1rwl | 16 +- oltp/mtit_declarations.rwl | 3 + src/lex.rwly.c | 783 ++--- src/lex.rwlz.c | 795 ++--- src/rwl.h | 73 +- src/rwlcodeadd.c | 23 +- src/rwlcoderun.c | 70 +- src/rwldilex.l | 2 + src/rwlerror.h | 5 + src/rwlexprcomp.c | 50 +- src/rwlexpreval.c | 40 +- src/rwllexer.l | 12 +- src/rwlmisc.c | 14 + src/rwlparser.tab.c | 5912 ++++++++++++++++---------------- src/rwlparser.tab.h | 171 +- src/rwlparser.y | 30 +- test/388.rwl | 16 + test/389.rwl | 105 + test/test.sh | 2 +- test/testres/388.err.good | 1 + test/testres/388.out.good | 2 + test/testres/389.err.good | 0 test/testres/389.out.good | 15 + 27 files changed, 4349 insertions(+), 3864 deletions(-) create mode 100644 test/388.rwl create mode 100644 test/389.rwl create mode 100644 test/testres/388.err.good create mode 100644 test/testres/388.out.good create mode 100644 test/testres/389.err.good create mode 100644 test/testres/389.out.good diff --git a/CHANGELOG.md b/CHANGELOG.md index db02c287..85724c6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # RWP\*Load Simulator Release Notes +## 3.1.3 + +* Bug fixes +* Printf format for KiB, MiB, etc +* Oltp workload can show connection storm effects + ## 3.1.2 * Bug fixes diff --git a/docs/ERRORLIST.md b/docs/ERRORLIST.md index 9d71b16b..d65765f9 100644 --- a/docs/ERRORLIST.md +++ b/docs/ERRORLIST.md @@ -1307,6 +1307,9 @@ When the $oraerror:showoci directive is in effect, this warning will be output after each ORA- error to show which Oracle Call Interface call was causing the error. +### RWL-321 warning: "nostatistics has no effect here" +The nostatistics statement only has an effect inside a declared proedure. + ### RWL-600 internal error: '%s' An abnormal situation caused an internal error in rwloadsim. This is in most cases due to a programming error and it diff --git a/docs/refman/statement.html b/docs/refman/statement.html index cafb42ed..d2558d61 100644 --- a/docs/refman/statement.html +++ b/docs/refman/statement.html @@ -1,5 +1,5 @@ - + @@ -46,13 +46,14 @@

    SYNTAX
    statement ::=
       simpledeclaration
     | identifier ( [ concatenation { , concatenation } ] ) [ atclause ]
    -| identifier ( := | ||= | += ) concatenation
    +| identifier ( := | ||= | += | -= ) concatenation
     | identifier ( <= | >= | >>= | >|= | <|= ) concatenation
     | null [ concatenation ]
     | return [ concatenation ]
     | exit concatenation
     | break
     | shift
    +| nostatistics
     | wait expression
     | system concatenation [ , identifier ]
     | getrusage
    @@ -107,13 +108,13 @@ 

    SIMPLE STATEMENTS

    An identifier followed by one of the assignment operators and a concatenation modifies the variable on the left side. The := operator is an -ordinary assignment, the += operator adds the value -of the concatenation to the variable, the ||= -operator appends the value of the concatenation to the -variable. Data types can be freely mixed in rwloadsim, and -if you assign an empty string or a string that contains only -white space characters to an integer or a double, the -variable will be set to null.

    +ordinary assignment, the += or -= operators +adds respectively subtracts the value of the concatenation +to the variable, the ||= operator appends the value +of the concatenation to the variable. Data types can be +freely mixed in rwloadsim, and if you assign an empty string +or a string that contains only white space characters to an +integer or a double, the variable will be set to null.

    Assignments are not expressions, so you cannot do something like:

    @@ -172,6 +173,16 @@

    SIMPLE STATEMENTS unchanged.

    +

    nostatistics

    + +

    When statistics are gathered in +a procedure, each call to the procedure will be included in +the statistics values saved to tables such as runres +or persec. To make statistics for one particular call +to be excluded, execute the nostatistics statement at +any place in the procedure.

    + +

    wait

    Suspend execution for a number @@ -254,7 +265,8 @@

    SEE ALSO printfstatement(1rwl), sqldeclaration(1rwl), sqlexecution(1rwl), sqlstatement(1rwl), atclause(1rwl), databasestatement(1rwl), expression(1rwl), -concatenation(1rwl), rwloadsim(1rwl), conditional(1rwl)

    +concatenation(1rwl), rwloadsim(1rwl), conditional(1rwl), +statistics(1rwl)


    diff --git a/docs/refman/statementlist.html b/docs/refman/statementlist.html index ebd58fc1..e2949085 100644 --- a/docs/refman/statementlist.html +++ b/docs/refman/statementlist.html @@ -1,5 +1,5 @@ - + @@ -46,13 +46,14 @@

    SYNTAX
    statement ::=
       simpledeclaration
     | identifier ( [ concatenation { , concatenation } ] ) [ atclause ]
    -| identifier ( := | ||= | += ) concatenation
    +| identifier ( := | ||= | += | -= ) concatenation
     | identifier ( <= | >= | >>= | >|= | <|= ) concatenation
     | null [ concatenation ]
     | return [ concatenation ]
     | exit concatenation
     | break
     | shift
    +| nostatistics
     | wait expression
     | system concatenation [ , identifier ]
     | getrusage
    @@ -107,13 +108,13 @@ 

    SIMPLE STATEMENTS

    An identifier followed by one of the assignment operators and a concatenation modifies the variable on the left side. The := operator is an -ordinary assignment, the += operator adds the value -of the concatenation to the variable, the ||= -operator appends the value of the concatenation to the -variable. Data types can be freely mixed in rwloadsim, and -if you assign an empty string or a string that contains only -white space characters to an integer or a double, the -variable will be set to null.

    +ordinary assignment, the += or -= operators +adds respectively subtracts the value of the concatenation +to the variable, the ||= operator appends the value +of the concatenation to the variable. Data types can be +freely mixed in rwloadsim, and if you assign an empty string +or a string that contains only white space characters to an +integer or a double, the variable will be set to null.

    Assignments are not expressions, so you cannot do something like:

    @@ -172,6 +173,16 @@

    SIMPLE STATEMENTS unchanged.

    +

    nostatistics

    + +

    When statistics are gathered in +a procedure, each call to the procedure will be included in +the statistics values saved to tables such as runres +or persec. To make statistics for one particular call +to be excluded, execute the nostatistics statement at +any place in the procedure.

    + +

    wait

    Suspend execution for a number @@ -254,7 +265,8 @@

    SEE ALSO printfstatement(1rwl), sqldeclaration(1rwl), sqlexecution(1rwl), sqlstatement(1rwl), atclause(1rwl), databasestatement(1rwl), expression(1rwl), -concatenation(1rwl), rwloadsim(1rwl), conditional(1rwl)

    +concatenation(1rwl), rwloadsim(1rwl), conditional(1rwl), +statistics(1rwl)


    diff --git a/man/man1rwl/statement.1rwl b/man/man1rwl/statement.1rwl index 38b989aa..aa2b2181 100644 --- a/man/man1rwl/statement.1rwl +++ b/man/man1rwl/statement.1rwl @@ -7,13 +7,14 @@ statement \- RWP*Load Simulator statement syntax statement ::= simpledeclaration | identifier \fB(\fR [ concatenation { \fB,\fR concatenation } ] \fB)\fR [ atclause ] -| identifier ( \fB:=\fR | \fB||=\fR | \fB+=\fR ) concatenation +| identifier ( \fB:=\fR | \fB||=\fR | \fB+=\fR | \fB-=\fR ) concatenation | identifier ( \fB<=\fR | \fB>=\fR | \fB>>=\fR | \fB>|=\fR | \fB<|=\fR ) concatenation | \fBnull\fR [ concatenation ] | \fBreturn\fR [ concatenation ] | \fBexit\fR concatenation | \fBbreak\fR | \fBshift\fR +| \fBnostatistics\fR | \fBwait\fR expression | \fBsystem\fR concatenation [ \fB,\fR identifier ] | \fBgetrusage\fR @@ -57,7 +58,8 @@ If an at clause is provided, the execution will be against the specified databas .RS 4 An identifier followed by one of the assignment operators and a concatenation modifies the variable on the left side. -The \fB:=\fR operator is an ordinary assignment, the \fB+=\fR operator adds the value +The \fB:=\fR operator is an ordinary assignment, +the \fB+=\fR or \fB-=\fR operators adds respectively subtracts the value of the concatenation to the variable, the \fB||=\fR operator appends the value of the concatenation to the variable. Data types can be freely mixed in rwloadsim, and if you assign an empty string @@ -112,6 +114,14 @@ counter $# by one. Note that the right most argument will stay unchanged. .RE .PP +\fBnostatistics\fR +.RS 4 +When statistics are gathered in a procedure, each call to the procedure will be included in the +statistics values saved to tables such as \fBrunres\fR or \fBpersec\fR. +To make statistics for one particular call to be excluded, +execute the \fBnostatistics\fR statement at any place in the procedure. +.RE +.PP \fBwait\fR .RS 4 Suspend execution for a number of seconds which is a double. @@ -170,4 +180,4 @@ as shown at https://oss.oracle.com/licenses/upl rwlprogram(1rwl), simpledeclaration(1rwl), regexsearch(1rwl), regexsubstitute(1rwl), regexextract(1rwl), compoundstatement(1rwl), filestatement(1rwl), printfstatement(1rwl), sqldeclaration(1rwl), sqlexecution(1rwl), sqlstatement(1rwl), atclause(1rwl), databasestatement(1rwl), -expression(1rwl), concatenation(1rwl), rwloadsim(1rwl), conditional(1rwl) +expression(1rwl), concatenation(1rwl), rwloadsim(1rwl), conditional(1rwl), statistics(1rwl) diff --git a/oltp/mtit_declarations.rwl b/oltp/mtit_declarations.rwl index 895fbe58..ed6c8ba7 100644 --- a/oltp/mtit_declarations.rwl +++ b/oltp/mtit_declarations.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 17-apr-2024 - no stats when idling # bengsig 12-apr-2024 - Do gather stats # bengsig 15-sep-2023 - use affinity 1 or 2 in seq based insert # bengsig 7-sep-2023 - Fix incorrect comment @@ -169,6 +170,7 @@ procedure mtit_ins_rows() wholeaffin := round(mtit_affinity); if (wholeaffin between 1 and 2) and mtit_instance > wholeaffin then # Simply avoid doing anything in 2 or 3 instances + nostatistics; wait 1; else for rno := 1 .. mtit_rows_per_exec loop @@ -197,6 +199,7 @@ procedure mtit_ins_rows() procminus1 := procnumber-1; if (wholeaffin between 1 and 2) and mtit_instance > wholeaffin then # Simply avoid doing anything in 2 or 3 instances + nostatistics; wait 1; else # If only some process (instances) are active, we need to make diff --git a/src/lex.rwly.c b/src/lex.rwly.c index 237ec33b..543e5098 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -355,17 +355,17 @@ struct yy_trans_info static yyconst flex_int16_t yy_accept[1935] = { 0, 0, 0, 351, 349, 347, 346, 190, 349, 348, 342, - 182, 217, 349, 183, 184, 180, 178, 185, 179, 349, + 182, 218, 349, 183, 184, 180, 178, 185, 179, 349, 181, 47, 192, 235, 188, 186, 189, 191, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 349, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 216, 218, 347, + 231, 231, 231, 231, 231, 231, 231, 217, 219, 347, 200, 0, 43, 0, 348, 343, 233, 232, 234, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, - 343, 343, 343, 343, 343, 343, 343, 219, 0, 42, + 343, 343, 343, 343, 343, 343, 343, 220, 0, 42, - 0, 222, 221, 203, 40, 225, 173, 41, 220, 223, + 0, 223, 222, 203, 40, 204, 173, 41, 221, 224, 46, 47, 0, 202, 0, 197, 201, 0, 187, 198, 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, @@ -378,12 +378,12 @@ static yyconst flex_int16_t yy_accept[1935] = 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 204, 232, 234, 0, 0, + 231, 231, 231, 231, 231, 205, 232, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 46, 0, 0, 44, - 224, 206, 199, 205, 231, 231, 231, 231, 231, 231, + 225, 207, 199, 206, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, @@ -399,7 +399,7 @@ static yyconst flex_int16_t yy_accept[1935] = 121, 231, 73, 231, 231, 231, 231, 231, 175, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 207, 0, 0, 0, 0, 0, 0, 0, + 231, 231, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -427,7 +427,7 @@ static yyconst flex_int16_t yy_accept[1935] = 231, 231, 21, 34, 231, 231, 231, 231, 231, 231, 231, 20, 231, 0, 31, 231, 24, 231, 231, 231, 231, 0, 0, 0, 231, 231, 71, 231, 231, 145, - 215, 231, 231, 60, 231, 231, 100, 231, 231, 231, + 216, 231, 231, 60, 231, 231, 100, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 167, 231, 231, 115, 231, 231, 136, 231, 231, 231, 231, 231, @@ -451,7 +451,7 @@ static yyconst flex_int16_t yy_accept[1935] = 231, 231, 231, 231, 231, 231, 231, 231, 65, 231, 231, 231, 231, 58, 231, 144, 231, 231, 231, 231, 231, 231, 231, 231, 50, 231, 231, 231, 231, 231, - 231, 211, 231, 231, 143, 125, 229, 129, 231, 231, + 231, 212, 231, 231, 143, 125, 229, 129, 231, 231, 231, 231, 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -511,7 +511,7 @@ static yyconst flex_int16_t yy_accept[1935] = 0, 0, 0, 0, 0, 12, 231, 0, 0, 0, 0, 0, 231, 231, 231, 75, 231, 62, 74, 64, 231, 231, 231, 231, 231, 231, 231, 81, 231, 103, - 231, 208, 0, 0, 0, 0, 0, 0, 0, 0, + 231, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 324, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 320, 319, 0, 0, 0, 0, 0, 0, @@ -521,7 +521,7 @@ static yyconst flex_int16_t yy_accept[1935] = 0, 0, 231, 5, 0, 0, 0, 0, 231, 231, 231, 139, 228, 231, 110, 119, 231, 231, 153, 231, - 231, 209, 318, 0, 252, 264, 265, 0, 329, 0, + 231, 210, 318, 0, 252, 264, 265, 0, 329, 0, 0, 0, 0, 0, 316, 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 291, 236, 319, 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, @@ -530,7 +530,7 @@ static yyconst flex_int16_t yy_accept[1935] = 0, 0, 0, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 231, - 231, 76, 231, 231, 210, 231, 318, 253, 0, 330, + 231, 76, 231, 231, 211, 231, 318, 253, 0, 330, 0, 0, 0, 0, 312, 0, 316, 0, 0, 0, 255, 0, 0, 288, 290, 0, 0, 0, 236, 0, 0, 258, 261, 0, 0, 266, 0, 0, 0, 0, @@ -552,14 +552,14 @@ static yyconst flex_int16_t yy_accept[1935] = 0, 0, 0, 307, 310, 0, 0, 0, 238, 0, 0, 239, 0, 0, 0, 0, 15, 0, 0, 231, - 212, 231, 287, 0, 302, 0, 303, 0, 0, 0, + 213, 231, 287, 0, 302, 0, 303, 0, 0, 0, 0, 0, 284, 0, 280, 0, 0, 269, 0, 272, 0, 0, 0, 294, 0, 300, 0, 0, 0, 0, 332, 246, 0, 308, 0, 0, 0, 0, 0, 0, - 0, 231, 214, 287, 0, 304, 0, 0, 0, 341, + 0, 231, 215, 287, 0, 304, 0, 0, 0, 341, 0, 293, 0, 281, 267, 271, 0, 0, 0, 0, 295, 0, 0, 0, 334, 335, 0, 0, 0, 0, - 0, 0, 0, 6, 213, 0, 283, 0, 292, 273, + 0, 0, 0, 6, 214, 0, 283, 0, 292, 273, 0, 296, 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, 0, 0, 0, 311, 283, 0, 297, 0, @@ -1849,6 +1849,7 @@ static yyconst flex_int16_t yy_chk[3476] = * * History * + * bengsig 17-apr-2024 - -= * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 15-mar-2024 - $connecterror:accept * bengsig 4-mar-2024 - atime, dtime @@ -1943,7 +1944,7 @@ static yyconst flex_int16_t yy_chk[3476] = * bengsig 06-feb-2018 - added ociping * bengsig 10-feb-2017 - creation */ -#line 110 "rwllexer.l" +#line 111 "rwllexer.l" #include "rwl.h" #include "rwlparser.tab.h" @@ -1956,7 +1957,7 @@ static yyconst flex_int16_t yy_chk[3476] = rwm->rwlytext = (text *)yytext; \ } -#line 1960 "lex.rwly.c" +#line 1961 "lex.rwly.c" #define INITIAL 0 @@ -2229,7 +2230,7 @@ YY_DECL } { -#line 128 "rwllexer.l" +#line 129 "rwllexer.l" @@ -2241,7 +2242,7 @@ YY_DECL /* **************************************************************** */ /*LEXTAG:RWL_T_SQL_TEXT*/ -#line 2245 "lex.rwly.c" +#line 2246 "lex.rwly.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2300,128 +2301,128 @@ YY_DECL case 1: /* rule 1 can match eol */ -#line 140 "rwllexer.l" +#line 141 "rwllexer.l" case 2: /* rule 2 can match eol */ -#line 141 "rwllexer.l" +#line 142 "rwllexer.l" case 3: /* rule 3 can match eol */ -#line 142 "rwllexer.l" +#line 143 "rwllexer.l" case 4: /* rule 4 can match eol */ -#line 143 "rwllexer.l" +#line 144 "rwllexer.l" case 5: /* rule 5 can match eol */ -#line 144 "rwllexer.l" +#line 145 "rwllexer.l" case 6: /* rule 6 can match eol */ -#line 145 "rwllexer.l" +#line 146 "rwllexer.l" case 7: /* rule 7 can match eol */ -#line 146 "rwllexer.l" +#line 147 "rwllexer.l" case 8: /* rule 8 can match eol */ -#line 147 "rwllexer.l" +#line 148 "rwllexer.l" case 9: /* rule 9 can match eol */ -#line 148 "rwllexer.l" +#line 149 "rwllexer.l" case 10: /* rule 10 can match eol */ -#line 149 "rwllexer.l" +#line 150 "rwllexer.l" case 11: /* rule 11 can match eol */ -#line 150 "rwllexer.l" +#line 151 "rwllexer.l" case 12: /* rule 12 can match eol */ -#line 151 "rwllexer.l" +#line 152 "rwllexer.l" case 13: /* rule 13 can match eol */ -#line 152 "rwllexer.l" +#line 153 "rwllexer.l" case 14: /* rule 14 can match eol */ -#line 153 "rwllexer.l" +#line 154 "rwllexer.l" case 15: /* rule 15 can match eol */ -#line 154 "rwllexer.l" +#line 155 "rwllexer.l" case 16: /* rule 16 can match eol */ -#line 155 "rwllexer.l" +#line 156 "rwllexer.l" case 17: /* rule 17 can match eol */ -#line 156 "rwllexer.l" +#line 157 "rwllexer.l" case 18: /* rule 18 can match eol */ -#line 157 "rwllexer.l" +#line 158 "rwllexer.l" case 19: /* rule 19 can match eol */ -#line 158 "rwllexer.l" +#line 159 "rwllexer.l" case 20: /* rule 20 can match eol */ -#line 159 "rwllexer.l" +#line 160 "rwllexer.l" case 21: /* rule 21 can match eol */ -#line 160 "rwllexer.l" +#line 161 "rwllexer.l" case 22: /* rule 22 can match eol */ -#line 161 "rwllexer.l" +#line 162 "rwllexer.l" case 23: /* rule 23 can match eol */ -#line 162 "rwllexer.l" +#line 163 "rwllexer.l" case 24: /* rule 24 can match eol */ -#line 163 "rwllexer.l" +#line 164 "rwllexer.l" case 25: /* rule 25 can match eol */ -#line 164 "rwllexer.l" +#line 165 "rwllexer.l" case 26: /* rule 26 can match eol */ -#line 165 "rwllexer.l" +#line 166 "rwllexer.l" case 27: /* rule 27 can match eol */ -#line 166 "rwllexer.l" +#line 167 "rwllexer.l" case 28: /* rule 28 can match eol */ -#line 167 "rwllexer.l" +#line 168 "rwllexer.l" case 29: /* rule 29 can match eol */ -#line 168 "rwllexer.l" +#line 169 "rwllexer.l" case 30: /* rule 30 can match eol */ -#line 169 "rwllexer.l" +#line 170 "rwllexer.l" case 31: /* rule 31 can match eol */ -#line 170 "rwllexer.l" +#line 171 "rwllexer.l" case 32: /* rule 32 can match eol */ -#line 171 "rwllexer.l" +#line 172 "rwllexer.l" case 33: /* rule 33 can match eol */ -#line 172 "rwllexer.l" +#line 173 "rwllexer.l" case 34: /* rule 34 can match eol */ -#line 173 "rwllexer.l" +#line 174 "rwllexer.l" case 35: /* rule 35 can match eol */ -#line 174 "rwllexer.l" +#line 175 "rwllexer.l" case 36: /* rule 36 can match eol */ -#line 175 "rwllexer.l" +#line 176 "rwllexer.l" case 37: /* rule 37 can match eol */ -#line 176 "rwllexer.l" +#line 177 "rwllexer.l" case 38: /* rule 38 can match eol */ -#line 177 "rwllexer.l" +#line 178 "rwllexer.l" case 39: /* rule 39 can match eol */ -#line 178 "rwllexer.l" +#line 179 "rwllexer.l" case 40: /* rule 40 can match eol */ -#line 179 "rwllexer.l" +#line 180 "rwllexer.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP -#line 179 "rwllexer.l" +#line 180 "rwllexer.l" { /* we match anything that can initiate SQL or PL/SQL. @@ -2440,7 +2441,7 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 195 "rwllexer.l" +#line 196 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -2450,7 +2451,7 @@ YY_RULE_SETUP case 43: /* rule 43 can match eol */ YY_RULE_SETUP -#line 201 "rwllexer.l" +#line 202 "rwllexer.l" { // Note that this flex input means that the input // consist of any number of either of the following // any character @@ -2467,12 +2468,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_T_DOUBLE_CONST*/ case 44: -#line 217 "rwllexer.l" -case 45: #line 218 "rwllexer.l" +case 45: +#line 219 "rwllexer.l" case 46: YY_RULE_SETUP -#line 218 "rwllexer.l" +#line 219 "rwllexer.l" { /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -2483,7 +2484,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_INTEGER_CONST*/ case 47: YY_RULE_SETUP -#line 227 "rwllexer.l" +#line 228 "rwllexer.l" { /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -2493,7 +2494,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 234 "rwllexer.l" +#line 235 "rwllexer.l" { /* make .. be a token even after an integer so that 1..10 is scanned as 1 .. 10 and not as 1. . 10 @@ -2508,43 +2509,43 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FUNCTION*/ case 49: YY_RULE_SETUP -#line 248 "rwllexer.l" +#line 249 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FUNCTION; } YY_BREAK /*LEXTAG:RWL_T_RETURN*/ case 50: YY_RULE_SETUP -#line 250 "rwllexer.l" +#line 251 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_RETURN; } YY_BREAK /*LEXTAG:RWL_T_EXIT*/ case 51: YY_RULE_SETUP -#line 252 "rwllexer.l" +#line 253 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_EXIT; } YY_BREAK /*LEXTAG:RWL_T_READLOB*/ case 52: YY_RULE_SETUP -#line 254 "rwllexer.l" +#line 255 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_READLOB; } YY_BREAK /*LEXTAG:RWL_T_WRITELOB*/ case 53: YY_RULE_SETUP -#line 256 "rwllexer.l" +#line 257 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_WRITELOB; } YY_BREAK /*LEXTAG:RWL_T_CLOB*/ case 54: YY_RULE_SETUP -#line 258 "rwllexer.l" +#line 259 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_CLOB; } YY_BREAK /*LEXTAG:RWL_T_BLOB*/ case 55: YY_RULE_SETUP -#line 260 "rwllexer.l" +#line 261 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_BLOB; } @@ -2555,7 +2556,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RAW*/ case 56: YY_RULE_SETUP -#line 267 "rwllexer.l" +#line 268 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_RAW; } @@ -2566,7 +2567,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_NCLOB*/ case 57: YY_RULE_SETUP -#line 274 "rwllexer.l" +#line 275 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_NCLOB; @@ -2575,7 +2576,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PUBLIC*/ case 58: YY_RULE_SETUP -#line 279 "rwllexer.l" +#line 280 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_PUBLIC; @@ -2584,7 +2585,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATE*/ case 59: YY_RULE_SETUP -#line 284 "rwllexer.l" +#line 285 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DATE; @@ -2593,7 +2594,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BREAK*/ case 60: YY_RULE_SETUP -#line 289 "rwllexer.l" +#line 290 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_BREAK; } @@ -2601,7 +2602,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_UNSIGNED*/ case 61: YY_RULE_SETUP -#line 293 "rwllexer.l" +#line 294 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_UNSIGNED; @@ -2610,7 +2611,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_HEXADECIMAL*/ case 62: YY_RULE_SETUP -#line 298 "rwllexer.l" +#line 299 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_HEXADECIMAL; @@ -2619,7 +2620,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCTAL*/ case 63: YY_RULE_SETUP -#line 303 "rwllexer.l" +#line 304 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_OCTAL; @@ -2628,7 +2629,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LOBPREFETCH*/ case 64: YY_RULE_SETUP -#line 308 "rwllexer.l" +#line 309 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_LOBPREFETCH; @@ -2637,7 +2638,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PRINTF*/ case 65: YY_RULE_SETUP -#line 313 "rwllexer.l" +#line 314 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_PRINTF; } @@ -2645,7 +2646,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SPRINTF*/ case 66: YY_RULE_SETUP -#line 317 "rwllexer.l" +#line 318 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SPRINTF; } @@ -2653,7 +2654,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FPRINTF*/ case 67: YY_RULE_SETUP -#line 321 "rwllexer.l" +#line 322 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FPRINTF; } @@ -2661,7 +2662,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ENCODE*/ case 68: YY_RULE_SETUP -#line 325 "rwllexer.l" +#line 326 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_ENCODE; @@ -2670,7 +2671,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DECODE*/ case 69: YY_RULE_SETUP -#line 330 "rwllexer.l" +#line 331 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DECODE; @@ -2679,7 +2680,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LEAK*/ case 70: YY_RULE_SETUP -#line 335 "rwllexer.l" +#line 336 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_LEAK; } @@ -2687,19 +2688,19 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ABORT*/ case 71: YY_RULE_SETUP -#line 339 "rwllexer.l" +#line 340 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ABORT; YY_BREAK /*LEXTAG:RWL_T_MODIFY*/ case 72: YY_RULE_SETUP -#line 341 "rwllexer.l" +#line 342 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_MODIFY; YY_BREAK /*LEXTAG:RWL_T_SQL*/ case 73: YY_RULE_SETUP -#line 343 "rwllexer.l" +#line 344 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SQL; } @@ -2707,25 +2708,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IGNOREERROR*/ case 74: YY_RULE_SETUP -#line 347 "rwllexer.l" +#line 348 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IGNOREERROR; YY_BREAK /*LEXTAG:RWL_T_CURSORCACHE*/ case 75: YY_RULE_SETUP -#line 349 "rwllexer.l" +#line 350 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_NOCURSORCACHE*/ case 76: YY_RULE_SETUP -#line 351 "rwllexer.l" +#line 352 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOCURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_CONNECT*/ case 77: YY_RULE_SETUP -#line 353 "rwllexer.l" +#line 354 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2735,7 +2736,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_USERNAME*/ case 78: YY_RULE_SETUP -#line 359 "rwllexer.l" +#line 360 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2745,7 +2746,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PASSWORD*/ case 79: YY_RULE_SETUP -#line 365 "rwllexer.l" +#line 366 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2755,7 +2756,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATABASE*/ case 80: YY_RULE_SETUP -#line 371 "rwllexer.l" +#line 372 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2765,25 +2766,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_REQUESTMARK*/ case 81: YY_RULE_SETUP -#line 377 "rwllexer.l" +#line 378 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REQUESTMARK; YY_BREAK /*LEXTAG:RWL_T_STATEMARK*/ case 82: YY_RULE_SETUP -#line 379 "rwllexer.l" +#line 380 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATEMARK; YY_BREAK /*LEXTAG:RWL_T_RELEASE*/ case 83: YY_RULE_SETUP -#line 381 "rwllexer.l" +#line 382 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RELEASE; YY_BREAK /*LEXTAG:RWL_T_SHARDKEY*/ case 84: YY_RULE_SETUP -#line 383 "rwllexer.l" +#line 384 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_SHARDKEY; @@ -2792,67 +2793,67 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCIPING*/ case 85: YY_RULE_SETUP -#line 388 "rwllexer.l" +#line 389 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCIPING; YY_BREAK /*LEXTAG:RWL_T_COMMIT*/ case 86: YY_RULE_SETUP -#line 390 "rwllexer.l" +#line 391 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COMMIT; YY_BREAK /*LEXTAG:RWL_T_ROLLBACK*/ case 87: YY_RULE_SETUP -#line 392 "rwllexer.l" +#line 393 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROLLBACK; YY_BREAK /*LEXTAG:RWL_T_DEFAULT*/ case 88: YY_RULE_SETUP -#line 394 "rwllexer.l" +#line 395 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFAULT; YY_BREAK /*LEXTAG:RWL_T_AT*/ case 89: YY_RULE_SETUP -#line 396 "rwllexer.l" +#line 397 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AT; YY_BREAK /*LEXTAG:RWL_T_RESULTS*/ case 90: YY_RULE_SETUP -#line 398 "rwllexer.l" +#line 399 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RESULTS; YY_BREAK /*LEXTAG:RWL_T_PROCEDURE*/ case 91: YY_RULE_SETUP -#line 400 "rwllexer.l" +#line 401 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PROCEDURE; YY_BREAK /*LEXTAG:RWL_T_THREADS*/ case 92: YY_RULE_SETUP -#line 402 "rwllexer.l" +#line 403 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THREADS; YY_BREAK /*LEXTAG:RWL_T_GLOBAL*/ case 93: YY_RULE_SETUP -#line 404 "rwllexer.l" +#line 405 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GLOBAL; YY_BREAK /*LEXTAG:RWL_T_PRIVATE*/ case 94: YY_RULE_SETUP -#line 406 "rwllexer.l" +#line 407 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRIVATE; YY_BREAK /*LEXTAG:RWL_T_RUN*/ case 95: YY_RULE_SETUP -#line 408 "rwllexer.l" +#line 409 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -2862,167 +2863,167 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BIND*/ case 96: YY_RULE_SETUP -#line 414 "rwllexer.l" +#line 415 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BIND; YY_BREAK /*LEXTAG:RWL_T_BINDOUT*/ case 97: YY_RULE_SETUP -#line 416 "rwllexer.l" +#line 417 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BINDOUT; YY_BREAK /*LEXTAG:RWL_T_DEFINE*/ case 98: YY_RULE_SETUP -#line 418 "rwllexer.l" +#line 419 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFINE; YY_BREAK /*LEXTAG:RWL_T_START*/ case 99: YY_RULE_SETUP -#line 420 "rwllexer.l" +#line 421 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_START; YY_BREAK /*LEXTAG:RWL_T_COUNT*/ case 100: YY_RULE_SETUP -#line 422 "rwllexer.l" +#line 423 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COUNT; YY_BREAK /*LEXTAG:RWL_T_STOP*/ case 101: YY_RULE_SETUP -#line 424 "rwllexer.l" +#line 425 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STOP; YY_BREAK /*LEXTAG:RWL_T_END*/ case 102: YY_RULE_SETUP -#line 426 "rwllexer.l" +#line 427 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_END; YY_BREAK /*LEXTAG:RWL_T_SESSIONPOOL*/ case 103: YY_RULE_SETUP -#line 428 "rwllexer.l" +#line 429 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SESSIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONPOOL*/ case 104: YY_RULE_SETUP -#line 430 "rwllexer.l" +#line 431 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONCLASS*/ case 105: YY_RULE_SETUP -#line 432 "rwllexer.l" +#line 433 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONCLASS; YY_BREAK /*LEXTAG:RWL_T_DRCP*/ case 106: YY_RULE_SETUP -#line 434 "rwllexer.l" +#line 435 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DRCP; YY_BREAK /*LEXTAG:RWL_T_DEDICATED*/ case 107: YY_RULE_SETUP -#line 436 "rwllexer.l" +#line 437 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEDICATED; YY_BREAK /*LEXTAG:RWL_T_RECONNECT*/ case 108: YY_RULE_SETUP -#line 438 "rwllexer.l" +#line 439 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RECONNECT; YY_BREAK /*LEXTAG:RWL_T_UNIFORM*/ case 109: YY_RULE_SETUP -#line 440 "rwllexer.l" +#line 441 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_UNIFORM; YY_BREAK /*LEXTAG:RWL_T_NORMALRANDOM*/ case 110: YY_RULE_SETUP -#line 442 "rwllexer.l" +#line 443 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NORMALRANDOM; YY_BREAK /*LEXTAG:RWL_T_LOG*/ case 111: YY_RULE_SETUP -#line 444 "rwllexer.l" +#line 445 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LOG; YY_BREAK /*LEXTAG:RWL_T_EXP*/ case 112: YY_RULE_SETUP -#line 446 "rwllexer.l" +#line 447 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EXP; YY_BREAK /*LEXTAG:RWL_T_CEIL*/ case 113: YY_RULE_SETUP -#line 448 "rwllexer.l" +#line 449 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CEIL; YY_BREAK /*LEXTAG:RWL_T_TRUNC*/ case 114: YY_RULE_SETUP -#line 450 "rwllexer.l" +#line 451 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_TRUNC; YY_BREAK /*LEXTAG:RWL_T_FLOOR*/ case 115: YY_RULE_SETUP -#line 452 "rwllexer.l" +#line 453 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FLOOR; YY_BREAK /*LEXTAG:RWL_T_ROUND*/ case 116: YY_RULE_SETUP -#line 454 "rwllexer.l" +#line 455 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROUND; YY_BREAK /*LEXTAG:RWL_T_STATISTICS*/ case 117: YY_RULE_SETUP -#line 456 "rwllexer.l" +#line 457 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICS; YY_BREAK /*LEXTAG:RWL_T_STATISTICSONLY*/ case 118: YY_RULE_SETUP -#line 458 "rwllexer.l" +#line 459 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICSONLY; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 119: YY_RULE_SETUP -#line 460 "rwllexer.l" +#line 461 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOSTATISTICS; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 120: YY_RULE_SETUP -#line 462 "rwllexer.l" +#line 463 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SQRT; YY_BREAK case 121: YY_RULE_SETUP -#line 463 "rwllexer.l" +#line 464 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SIN; YY_BREAK case 122: YY_RULE_SETUP -#line 464 "rwllexer.l" +#line 465 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COS; YY_BREAK /*LEXTAG:RWL_T_INSTRB*/ case 123: YY_RULE_SETUP -#line 466 "rwllexer.l" +#line 467 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "instr", "instrb"); if (!rwm->ifdirbit) return RWL_T_INSTRB; @@ -3030,13 +3031,13 @@ YY_RULE_SETUP YY_BREAK case 124: YY_RULE_SETUP -#line 470 "rwllexer.l" +#line 471 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INSTRB; YY_BREAK /*LEXTAG:RWL_T_SUBSTRB*/ case 125: YY_RULE_SETUP -#line 472 "rwllexer.l" +#line 473 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "substr", "substrb"); if (!rwm->ifdirbit) return RWL_T_SUBSTRB; @@ -3045,13 +3046,13 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SUBSTRB*/ case 126: YY_RULE_SETUP -#line 477 "rwllexer.l" +#line 478 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUBSTRB; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 127: YY_RULE_SETUP -#line 479 "rwllexer.l" +#line 480 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "length", "lengthb"); if (!rwm->ifdirbit) return RWL_T_LENGTHB; @@ -3060,50 +3061,50 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_GETENV*/ case 128: YY_RULE_SETUP -#line 484 "rwllexer.l" +#line 485 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETENV; YY_BREAK /*LEXTAG:RWL_T_SYSTEM*/ case 129: YY_RULE_SETUP -#line 486 "rwllexer.l" +#line 487 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SYSTEM; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 130: YY_RULE_SETUP -#line 488 "rwllexer.l" +#line 489 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LENGTHB; YY_BREAK /*LEXTAG:RWL_T_ERLANG*/ case 131: -#line 491 "rwllexer.l" +#line 492 "rwllexer.l" case 132: YY_RULE_SETUP -#line 491 "rwllexer.l" +#line 492 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 133: YY_RULE_SETUP -#line 493 "rwllexer.l" +#line 494 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG2; YY_BREAK /*LEXTAG:RWL_T_ERLANGK*/ case 134: YY_RULE_SETUP -#line 495 "rwllexer.l" +#line 496 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANGK; YY_BREAK /*LEXTAG:RWL_T_ACCESS*/ case 135: YY_RULE_SETUP -#line 497 "rwllexer.l" +#line 498 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ACCESS; YY_BREAK case 136: YY_RULE_SETUP -#line 498 "rwllexer.l" +#line 499 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3112,7 +3113,7 @@ YY_RULE_SETUP YY_BREAK case 137: YY_RULE_SETUP -#line 503 "rwllexer.l" +#line 504 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3122,127 +3123,127 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RUNSECONDS*/ case 138: YY_RULE_SETUP -#line 509 "rwllexer.l" +#line 510 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RUNSECONDS; YY_BREAK /*LEXTAG:RWL_T_EPOCHSECONDS*/ case 139: YY_RULE_SETUP -#line 511 "rwllexer.l" +#line 512 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EPOCHSECONDS; YY_BREAK /*LEXTAG:RWL_T_GETRUSAGE*/ case 140: YY_RULE_SETUP -#line 513 "rwllexer.l" +#line 514 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETRUSAGE; YY_BREAK /*LEXTAG:RWL_T_DOUBLE*/ case 141: YY_RULE_SETUP -#line 515 "rwllexer.l" +#line 516 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOUBLE; YY_BREAK /*LEXTAG:RWL_T_INTEGER*/ case 142: YY_RULE_SETUP -#line 517 "rwllexer.l" +#line 518 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INTEGER; YY_BREAK /*LEXTAG:RWL_T_STRING*/ case 143: YY_RULE_SETUP -#line 519 "rwllexer.l" +#line 520 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STRING; YY_BREAK /*LEXTAG:RWL_T_RANDOM*/ case 144: YY_RULE_SETUP -#line 521 "rwllexer.l" +#line 522 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RANDOM; YY_BREAK /*LEXTAG:RWL_T_ARRAY*/ case 145: YY_RULE_SETUP -#line 523 "rwllexer.l" +#line 524 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ARRAY; YY_BREAK /*LEXTAG:RWL_T_FILE*/ case 146: YY_RULE_SETUP -#line 525 "rwllexer.l" +#line 526 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FILE; YY_BREAK /*LEXTAG:RWL_T_WRITE*/ case 147: YY_RULE_SETUP -#line 527 "rwllexer.l" +#line 528 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITE; YY_BREAK /*LEXTAG:RWL_T_WRITELINE*/ case 148: YY_RULE_SETUP -#line 529 "rwllexer.l" +#line 530 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITELINE; YY_BREAK /*LEXTAG:RWL_T_READLINE*/ case 149: YY_RULE_SETUP -#line 531 "rwllexer.l" +#line 532 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_READLINE; YY_BREAK /*LEXTAG:RWL_T_REGEX*/ case 150: YY_RULE_SETUP -#line 533 "rwllexer.l" +#line 534 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEX; YY_BREAK /*LEXTAG:RWL_T_REGEXSUB*/ case 151: YY_RULE_SETUP -#line 535 "rwllexer.l" +#line 536 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUB; YY_BREAK /*LEXTAG:RWL_T_REGEXSUBG*/ case 152: YY_RULE_SETUP -#line 537 "rwllexer.l" +#line 538 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUBG; YY_BREAK /*LEXTAG:RWL_T_REGEXTRACT*/ case 153: YY_RULE_SETUP -#line 539 "rwllexer.l" +#line 540 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXTRACT; YY_BREAK /*LEXTAG:RWL_T_FFLUSH*/ case 154: YY_RULE_SETUP -#line 541 "rwllexer.l" +#line 542 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FFLUSH; YY_BREAK /*LEXTAG:RWL_T_PRINT*/ case 155: YY_RULE_SETUP -#line 543 "rwllexer.l" +#line 544 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINT; YY_BREAK /*LEXTAG:RWL_T_PRINTLINE*/ case 156: YY_RULE_SETUP -#line 545 "rwllexer.l" +#line 546 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTLINE; YY_BREAK /*LEXTAG:RWL_T_PRINTVAR*/ case 157: YY_RULE_SETUP -#line 547 "rwllexer.l" +#line 548 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTVAR; YY_BREAK /*LEXTAG:RWL_T_IF*/ case 158: YY_RULE_SETUP -#line 549 "rwllexer.l" +#line 550 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3252,61 +3253,61 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_WHEN*/ case 159: YY_RULE_SETUP -#line 555 "rwllexer.l" +#line 556 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHEN; YY_BREAK /*LEXTAG:RWL_T_THEN*/ case 160: YY_RULE_SETUP -#line 557 "rwllexer.l" +#line 558 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THEN; YY_BREAK /*LEXTAG:RWL_T_ELSE*/ case 161: YY_RULE_SETUP -#line 559 "rwllexer.l" +#line 560 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSE; YY_BREAK /*LEXTAG:RWL_T_ELSEIF*/ case 162: YY_RULE_SETUP -#line 561 "rwllexer.l" +#line 562 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSEIF; YY_BREAK /*LEXTAG:RWL_T_WHILE*/ case 163: YY_RULE_SETUP -#line 563 "rwllexer.l" +#line 564 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHILE; YY_BREAK /*LEXTAG:RWL_T_WAIT*/ case 164: YY_RULE_SETUP -#line 565 "rwllexer.l" +#line 566 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WAIT; YY_BREAK /*LEXTAG:RWL_T_QUEUE*/ case 165: YY_RULE_SETUP -#line 567 "rwllexer.l" +#line 568 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_QUEUE; YY_BREAK /*LEXTAG:RWL_T_NOQUEUE*/ case 166: YY_RULE_SETUP -#line 569 "rwllexer.l" +#line 570 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOQUEUE; YY_BREAK /*LEXTAG:RWL_T_EVERY*/ case 167: YY_RULE_SETUP -#line 571 "rwllexer.l" +#line 572 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EVERY; YY_BREAK /*LEXTAG:RWL_T_LOOP*/ case 168: YY_RULE_SETUP -#line 573 "rwllexer.l" +#line 574 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3316,25 +3317,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FOR*/ case 169: YY_RULE_SETUP -#line 579 "rwllexer.l" +#line 580 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FOR; YY_BREAK /*LEXTAG:RWL_T_ALL*/ case 170: YY_RULE_SETUP -#line 581 "rwllexer.l" +#line 582 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ALL; YY_BREAK /*LEXTAG:RWL_T_SHIFT*/ case 171: YY_RULE_SETUP -#line 583 "rwllexer.l" +#line 584 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SHIFT; YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ case 172: YY_RULE_SETUP -#line 585 "rwllexer.l" +#line 586 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3344,25 +3345,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_EXECUTE*/ case 173: YY_RULE_SETUP -#line 591 "rwllexer.l" +#line 592 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOTDOT; /* see RWL_T_INTEGER_CONST above */ YY_BREAK /*LEXTAG:RWL_T_NULL*/ case 174: YY_RULE_SETUP -#line 593 "rwllexer.l" +#line 594 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NULL; YY_BREAK /*LEXTAG:RWL_T_SUM*/ case 175: YY_RULE_SETUP -#line 595 "rwllexer.l" +#line 596 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUM; YY_BREAK /*LEXTAG:RWL_T_ISNULL*/ case 176: YY_RULE_SETUP -#line 597 "rwllexer.l" +#line 598 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_ISNULL_DEPRECATED); @@ -3372,57 +3373,57 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IS*/ case 177: YY_RULE_SETUP -#line 603 "rwllexer.l" +#line 604 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IS; YY_BREAK case 178: YY_RULE_SETUP -#line 604 "rwllexer.l" +#line 605 "rwllexer.l" if (!rwm->ifdirbit) return '+'; YY_BREAK case 179: YY_RULE_SETUP -#line 605 "rwllexer.l" +#line 606 "rwllexer.l" if (!rwm->ifdirbit) return '-'; YY_BREAK case 180: YY_RULE_SETUP -#line 606 "rwllexer.l" +#line 607 "rwllexer.l" if (!rwm->ifdirbit) return '*'; YY_BREAK case 181: YY_RULE_SETUP -#line 607 "rwllexer.l" +#line 608 "rwllexer.l" if (!rwm->ifdirbit) return '/'; YY_BREAK case 182: YY_RULE_SETUP -#line 608 "rwllexer.l" +#line 609 "rwllexer.l" if (!rwm->ifdirbit) return '%'; YY_BREAK case 183: YY_RULE_SETUP -#line 609 "rwllexer.l" +#line 610 "rwllexer.l" if (!rwm->ifdirbit) return '('; YY_BREAK case 184: YY_RULE_SETUP -#line 610 "rwllexer.l" +#line 611 "rwllexer.l" if (!rwm->ifdirbit) return ')'; YY_BREAK case 185: YY_RULE_SETUP -#line 611 "rwllexer.l" +#line 612 "rwllexer.l" if (!rwm->ifdirbit) return ','; YY_BREAK case 186: YY_RULE_SETUP -#line 612 "rwllexer.l" +#line 613 "rwllexer.l" if (!rwm->ifdirbit) return '='; YY_BREAK case 187: YY_RULE_SETUP -#line 613 "rwllexer.l" +#line 614 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_EQUALEQUAL, rwm->rwlytext); if (!rwm->ifdirbit) return '='; @@ -3430,140 +3431,146 @@ YY_RULE_SETUP YY_BREAK case 188: YY_RULE_SETUP -#line 617 "rwllexer.l" +#line 618 "rwllexer.l" if (!rwm->ifdirbit) return '<'; YY_BREAK case 189: YY_RULE_SETUP -#line 618 "rwllexer.l" +#line 619 "rwllexer.l" if (!rwm->ifdirbit) return '>'; YY_BREAK case 190: YY_RULE_SETUP -#line 619 "rwllexer.l" +#line 620 "rwllexer.l" if (!rwm->ifdirbit) return '!'; YY_BREAK case 191: YY_RULE_SETUP -#line 620 "rwllexer.l" +#line 621 "rwllexer.l" if (!rwm->ifdirbit) return '?'; YY_BREAK case 192: YY_RULE_SETUP -#line 621 "rwllexer.l" +#line 622 "rwllexer.l" if (!rwm->ifdirbit) return ':'; YY_BREAK /*LEXTAG:RWL_T_NOT*/ case 193: YY_RULE_SETUP -#line 623 "rwllexer.l" +#line 624 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOT; YY_BREAK /*LEXTAG:RWL_T_AND*/ case 194: YY_RULE_SETUP -#line 625 "rwllexer.l" +#line 626 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AND; YY_BREAK /*LEXTAG:RWL_T_BETWEEN*/ case 195: YY_RULE_SETUP -#line 627 "rwllexer.l" +#line 628 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BETWEEN; YY_BREAK /*LEXTAG:RWL_T_OR*/ case 196: YY_RULE_SETUP -#line 629 "rwllexer.l" +#line 630 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OR; YY_BREAK /*LEXTAG:RWL_T_LESSEQ*/ case 197: YY_RULE_SETUP -#line 631 "rwllexer.l" +#line 632 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LESSEQ; YY_BREAK /*LEXTAG:RWL_T_GREATEQ*/ case 198: YY_RULE_SETUP -#line 633 "rwllexer.l" +#line 634 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GREATEQ; YY_BREAK /*LEXTAG:RWL_T_RSHIFTASSIGN*/ case 199: YY_RULE_SETUP -#line 635 "rwllexer.l" +#line 636 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RSHIFTASSIGN; YY_BREAK /*LEXTAG:RWL_T_NOTEQ*/ case 200: YY_RULE_SETUP -#line 637 "rwllexer.l" +#line 638 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK case 201: YY_RULE_SETUP -#line 638 "rwllexer.l" +#line 639 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK /*LEXTAG:RWL_T_ASSIGN*/ case 202: YY_RULE_SETUP -#line 640 "rwllexer.l" +#line 641 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASSIGN; YY_BREAK -/*LEXTAG:RWL_T_ASNPLUS*/ +/*LEXTAG:RWL_T_ASNADD*/ case 203: YY_RULE_SETUP -#line 642 "rwllexer.l" -if (!rwm->ifdirbit) return RWL_T_ASNPLUS; +#line 643 "rwllexer.l" +if (!rwm->ifdirbit) return RWL_T_ASNADD; YY_BREAK -/*LEXTAG:RWL_T_CONCAT*/ +/*LEXTAG:RWL_T_ASNSUB*/ case 204: YY_RULE_SETUP -#line 644 "rwllexer.l" +#line 645 "rwllexer.l" +if (!rwm->ifdirbit) return RWL_T_ASNSUB; + YY_BREAK +/*LEXTAG:RWL_T_CONCAT*/ +case 205: +YY_RULE_SETUP +#line 647 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONCAT; YY_BREAK /*LEXTAG:RWL_T_PIPETO*/ -case 205: +case 206: YY_RULE_SETUP -#line 646 "rwllexer.l" +#line 649 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPETO; YY_BREAK /*LEXTAG:RWL_T_PIPEFROM*/ -case 206: +case 207: YY_RULE_SETUP -#line 648 "rwllexer.l" +#line 651 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPEFROM; YY_BREAK /*LEXTAG:RWL_T_APPEND*/ -case 207: +case 208: YY_RULE_SETUP -#line 650 "rwllexer.l" +#line 653 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_APPEND; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2B*/ -case 208: +case 209: YY_RULE_SETUP -#line 652 "rwllexer.l" +#line 655 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2B; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2BB*/ -case 209: +case 210: YY_RULE_SETUP -#line 654 "rwllexer.l" +#line 657 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2BB; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ -case 210: +case 211: YY_RULE_SETUP -#line 656 "rwllexer.l" +#line 659 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SERVERRELEASE; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ -case 211: +case 212: YY_RULE_SETUP -#line 658 "rwllexer.l" +#line 661 "rwllexer.l" { # ifndef RWL_USE_SQL_ID rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3572,25 +3579,25 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_OPENSESSIONCOUNT*/ -case 212: +case 213: YY_RULE_SETUP -#line 665 "rwllexer.l" +#line 668 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_OPENSESSIONCOUNT; } YY_BREAK /*LEXTAG:RWL_T_ACTIVESESSIONCOUNT*/ -case 213: +case 214: YY_RULE_SETUP -#line 669 "rwllexer.l" +#line 672 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_ACTIVESESSIONCOUNT; } YY_BREAK /*LEXTAG:RWL_T_QUERYNOTIFICATION*/ -case 214: +case 215: YY_RULE_SETUP -#line 673 "rwllexer.l" +#line 676 "rwllexer.l" { #ifndef RWL_USE_CQN rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3599,62 +3606,60 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_ATAN2*/ -case 215: +case 216: YY_RULE_SETUP -#line 680 "rwllexer.l" +#line 683 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ATAN2; YY_BREAK -case 216: -#line 683 "rwllexer.l" case 217: -#line 684 "rwllexer.l" +#line 686 "rwllexer.l" case 218: -#line 685 "rwllexer.l" +#line 687 "rwllexer.l" case 219: +#line 688 "rwllexer.l" +case 220: YY_RULE_SETUP -#line 685 "rwllexer.l" +#line 688 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); // return something so compilation continues if (!rwm->ifdirbit) return '+'; } YY_BREAK -case 220: -#line 692 "rwllexer.l" case 221: +#line 695 "rwllexer.l" +case 222: YY_RULE_SETUP -#line 692 "rwllexer.l" +#line 695 "rwllexer.l" { // note that "--" is the beginning of RWL_T_SQL_TEXT rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); } YY_BREAK -case 222: -#line 697 "rwllexer.l" case 223: -#line 698 "rwllexer.l" +#line 700 "rwllexer.l" case 224: -#line 699 "rwllexer.l" +#line 701 "rwllexer.l" case 225: YY_RULE_SETUP -#line 699 "rwllexer.l" +#line 701 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); // return something so compilation continues - if (!rwm->ifdirbit) return RWL_T_ASNPLUS; + if (!rwm->ifdirbit) return RWL_T_ASNADD; } YY_BREAK case 226: -#line 706 "rwllexer.l" +#line 708 "rwllexer.l" case 227: -#line 707 "rwllexer.l" +#line 709 "rwllexer.l" case 228: -#line 708 "rwllexer.l" +#line 710 "rwllexer.l" case 229: -#line 709 "rwllexer.l" +#line 711 "rwllexer.l" case 230: YY_RULE_SETUP -#line 709 "rwllexer.l" +#line 711 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3669,7 +3674,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IDENTIFIER*/ case 231: YY_RULE_SETUP -#line 721 "rwllexer.l" +#line 723 "rwllexer.l" { /* previnam is used when the parser has been doing @@ -3689,7 +3694,7 @@ YY_RULE_SETUP YY_BREAK case 232: YY_RULE_SETUP -#line 738 "rwllexer.l" +#line 740 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3709,7 +3714,7 @@ YY_RULE_SETUP YY_BREAK case 233: YY_RULE_SETUP -#line 755 "rwllexer.l" +#line 757 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3722,7 +3727,7 @@ YY_RULE_SETUP YY_BREAK case 234: YY_RULE_SETUP -#line 765 "rwllexer.l" +#line 767 "rwllexer.l" { text *env = rwlgetenv((text *)rwm->rwlytext+1); if (!env) @@ -3746,18 +3751,18 @@ YY_RULE_SETUP YY_BREAK case 235: YY_RULE_SETUP -#line 787 "rwllexer.l" +#line 789 "rwllexer.l" if (!rwm->ifdirbit) return ';'; YY_BREAK case 236: -#line 790 "rwllexer.l" +#line 792 "rwllexer.l" case 237: -#line 791 "rwllexer.l" +#line 793 "rwllexer.l" case 238: -#line 792 "rwllexer.l" +#line 794 "rwllexer.l" case 239: YY_RULE_SETUP -#line 792 "rwllexer.l" +#line 794 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3772,7 +3777,7 @@ YY_RULE_SETUP YY_BREAK case 240: YY_RULE_SETUP -#line 804 "rwllexer.l" +#line 806 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3780,7 +3785,7 @@ YY_RULE_SETUP YY_BREAK case 241: YY_RULE_SETUP -#line 809 "rwllexer.l" +#line 811 "rwllexer.l" { // This is the documented syntax. Note that there is // no simple way to allow having $if and $then on separate // lines @@ -3800,14 +3805,14 @@ YY_RULE_SETUP YY_BREAK case 242: YY_RULE_SETUP -#line 826 "rwllexer.l" +#line 828 "rwllexer.l" { // this only happens if $if and $then aren't on the same line rwlzparsestring(rwm, (text *) "0;"); // behave like $if 0 $then would } YY_BREAK case 243: YY_RULE_SETUP -#line 830 "rwllexer.l" +#line 832 "rwllexer.l" { // This was the original syntax for $if which was // $if: ; // i.e. with the expression between : and ;. @@ -3828,7 +3833,7 @@ YY_RULE_SETUP YY_BREAK case 244: YY_RULE_SETUP -#line 848 "rwllexer.l" +#line 850 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "else"); @@ -3849,7 +3854,7 @@ YY_RULE_SETUP YY_BREAK case 245: YY_RULE_SETUP -#line 866 "rwllexer.l" +#line 868 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "endif"); @@ -3867,7 +3872,7 @@ YY_RULE_SETUP YY_BREAK case 246: YY_RULE_SETUP -#line 881 "rwllexer.l" +#line 883 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS); // all set in tflags as tfalgs HAS been copied from mflags @@ -3877,7 +3882,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 247: YY_RULE_SETUP -#line 888 "rwllexer.l" +#line 890 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); @@ -3886,7 +3891,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 248: YY_RULE_SETUP -#line 894 "rwllexer.l" +#line 896 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); @@ -3895,186 +3900,186 @@ if (!rwm->ifdirbit) { YY_BREAK case 249: YY_RULE_SETUP -#line 900 "rwllexer.l" +#line 902 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTION); } YY_BREAK case 250: YY_RULE_SETUP -#line 904 "rwllexer.l" +#line 906 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 251: YY_RULE_SETUP -#line 907 "rwllexer.l" +#line 909 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 252: YY_RULE_SETUP -#line 911 "rwllexer.l" +#line 913 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 253: YY_RULE_SETUP -#line 915 "rwllexer.l" +#line 917 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 254: YY_RULE_SETUP -#line 919 "rwllexer.l" +#line 921 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 255: YY_RULE_SETUP -#line 923 "rwllexer.l" +#line 925 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 256: YY_RULE_SETUP -#line 927 "rwllexer.l" +#line 929 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 257: YY_RULE_SETUP -#line 930 "rwllexer.l" +#line 932 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 258: YY_RULE_SETUP -#line 934 "rwllexer.l" +#line 936 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 259: YY_RULE_SETUP -#line 937 "rwllexer.l" +#line 939 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 260: YY_RULE_SETUP -#line 941 "rwllexer.l" +#line 943 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 261: YY_RULE_SETUP -#line 944 "rwllexer.l" +#line 946 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 262: YY_RULE_SETUP -#line 948 "rwllexer.l" +#line 950 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 263: YY_RULE_SETUP -#line 951 "rwllexer.l" +#line 953 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 264: YY_RULE_SETUP -#line 955 "rwllexer.l" +#line 957 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 265: YY_RULE_SETUP -#line 958 "rwllexer.l" +#line 960 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 266: YY_RULE_SETUP -#line 962 "rwllexer.l" +#line 964 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=0; } YY_BREAK case 267: YY_RULE_SETUP -#line 966 "rwllexer.l" +#line 968 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=1; } YY_BREAK case 268: YY_RULE_SETUP -#line 970 "rwllexer.l" +#line 972 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 269: YY_RULE_SETUP -#line 973 "rwllexer.l" +#line 975 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 270: YY_RULE_SETUP -#line 977 "rwllexer.l" +#line 979 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 271: YY_RULE_SETUP -#line 981 "rwllexer.l" +#line 983 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 272: YY_RULE_SETUP -#line 985 "rwllexer.l" +#line 987 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK case 273: YY_RULE_SETUP -#line 989 "rwllexer.l" +#line 991 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK case 274: /* rule 274 can match eol */ -#line 994 "rwllexer.l" +#line 996 "rwllexer.l" case 275: /* rule 275 can match eol */ YY_RULE_SETUP -#line 994 "rwllexer.l" +#line 996 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) // not while generating { @@ -4242,7 +4247,7 @@ YY_RULE_SETUP YY_BREAK case 276: YY_RULE_SETUP -#line 1159 "rwllexer.l" +#line 1161 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4255,7 +4260,7 @@ YY_RULE_SETUP YY_BREAK case 277: YY_RULE_SETUP -#line 1169 "rwllexer.l" +#line 1171 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -4269,7 +4274,7 @@ YY_RULE_SETUP YY_BREAK case 278: YY_RULE_SETUP -#line 1180 "rwllexer.l" +#line 1182 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4282,7 +4287,7 @@ YY_RULE_SETUP YY_BREAK case 279: YY_RULE_SETUP -#line 1190 "rwllexer.l" +#line 1192 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4295,7 +4300,7 @@ YY_RULE_SETUP YY_BREAK case 280: YY_RULE_SETUP -#line 1200 "rwllexer.l" +#line 1202 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4306,7 +4311,7 @@ YY_RULE_SETUP YY_BREAK case 281: YY_RULE_SETUP -#line 1208 "rwllexer.l" +#line 1210 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_OERSTATS); @@ -4314,7 +4319,7 @@ YY_RULE_SETUP YY_BREAK case 282: YY_RULE_SETUP -#line 1213 "rwllexer.l" +#line 1215 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4330,7 +4335,7 @@ YY_RULE_SETUP YY_BREAK case 283: YY_RULE_SETUP -#line 1226 "rwllexer.l" +#line 1228 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4346,7 +4351,7 @@ YY_RULE_SETUP YY_BREAK case 284: YY_RULE_SETUP -#line 1239 "rwllexer.l" +#line 1241 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4364,7 +4369,7 @@ YY_RULE_SETUP YY_BREAK case 285: YY_RULE_SETUP -#line 1254 "rwllexer.l" +#line 1256 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4375,7 +4380,7 @@ YY_RULE_SETUP YY_BREAK case 286: YY_RULE_SETUP -#line 1262 "rwllexer.l" +#line 1264 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4386,7 +4391,7 @@ YY_RULE_SETUP YY_BREAK case 287: YY_RULE_SETUP -#line 1270 "rwllexer.l" +#line 1272 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4397,7 +4402,7 @@ YY_RULE_SETUP YY_BREAK case 288: YY_RULE_SETUP -#line 1278 "rwllexer.l" +#line 1280 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4407,7 +4412,7 @@ YY_RULE_SETUP YY_BREAK case 289: YY_RULE_SETUP -#line 1284 "rwllexer.l" +#line 1286 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4417,7 +4422,7 @@ YY_RULE_SETUP YY_BREAK case 290: YY_RULE_SETUP -#line 1290 "rwllexer.l" +#line 1292 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4428,7 +4433,7 @@ YY_RULE_SETUP YY_BREAK case 291: YY_RULE_SETUP -#line 1297 "rwllexer.l" +#line 1299 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4439,7 +4444,7 @@ YY_RULE_SETUP YY_BREAK case 292: YY_RULE_SETUP -#line 1304 "rwllexer.l" +#line 1306 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4449,7 +4454,7 @@ YY_RULE_SETUP YY_BREAK case 293: YY_RULE_SETUP -#line 1310 "rwllexer.l" +#line 1312 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4459,7 +4464,7 @@ YY_RULE_SETUP YY_BREAK case 294: YY_RULE_SETUP -#line 1317 "rwllexer.l" +#line 1319 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4469,7 +4474,7 @@ YY_RULE_SETUP YY_BREAK case 295: YY_RULE_SETUP -#line 1324 "rwllexer.l" +#line 1326 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_RECON1017); @@ -4477,7 +4482,7 @@ YY_RULE_SETUP YY_BREAK case 296: YY_RULE_SETUP -#line 1329 "rwllexer.l" +#line 1331 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_ON; @@ -4485,7 +4490,7 @@ YY_RULE_SETUP YY_BREAK case 297: YY_RULE_SETUP -#line 1334 "rwllexer.l" +#line 1336 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_OFF; @@ -4493,7 +4498,7 @@ YY_RULE_SETUP YY_BREAK case 298: YY_RULE_SETUP -#line 1339 "rwllexer.l" +#line 1341 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_WARN; @@ -4501,7 +4506,7 @@ YY_RULE_SETUP YY_BREAK case 299: YY_RULE_SETUP -#line 1344 "rwllexer.l" +#line 1346 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4518,7 +4523,7 @@ YY_RULE_SETUP YY_BREAK case 300: YY_RULE_SETUP -#line 1358 "rwllexer.l" +#line 1360 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4531,7 +4536,7 @@ YY_RULE_SETUP YY_BREAK case 301: YY_RULE_SETUP -#line 1368 "rwllexer.l" +#line 1370 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLREADLINE); @@ -4539,7 +4544,7 @@ YY_RULE_SETUP YY_BREAK case 302: YY_RULE_SETUP -#line 1373 "rwllexer.l" +#line 1375 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLREADLINE); @@ -4547,7 +4552,7 @@ YY_RULE_SETUP YY_BREAK case 303: YY_RULE_SETUP -#line 1378 "rwllexer.l" +#line 1380 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLWRITELINE); @@ -4555,7 +4560,7 @@ YY_RULE_SETUP YY_BREAK case 304: YY_RULE_SETUP -#line 1383 "rwllexer.l" +#line 1385 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLWRITELINE); @@ -4563,7 +4568,7 @@ YY_RULE_SETUP YY_BREAK case 305: YY_RULE_SETUP -#line 1388 "rwllexer.l" +#line 1390 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4574,7 +4579,7 @@ YY_RULE_SETUP YY_BREAK case 306: YY_RULE_SETUP -#line 1396 "rwllexer.l" +#line 1398 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4585,7 +4590,7 @@ YY_RULE_SETUP YY_BREAK case 307: YY_RULE_SETUP -#line 1404 "rwllexer.l" +#line 1406 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4597,7 +4602,7 @@ YY_RULE_SETUP YY_BREAK case 308: YY_RULE_SETUP -#line 1413 "rwllexer.l" +#line 1415 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSATIME); @@ -4605,7 +4610,7 @@ YY_RULE_SETUP YY_BREAK case 309: YY_RULE_SETUP -#line 1418 "rwllexer.l" +#line 1420 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4617,7 +4622,7 @@ YY_RULE_SETUP YY_BREAK case 310: YY_RULE_SETUP -#line 1427 "rwllexer.l" +#line 1429 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSDTIME); @@ -4625,7 +4630,7 @@ YY_RULE_SETUP YY_BREAK case 311: YY_RULE_SETUP -#line 1432 "rwllexer.l" +#line 1434 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CONERROK); @@ -4633,7 +4638,7 @@ YY_RULE_SETUP YY_BREAK case 312: YY_RULE_SETUP -#line 1437 "rwllexer.l" +#line 1439 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLSTRING); @@ -4641,7 +4646,7 @@ YY_RULE_SETUP YY_BREAK case 313: YY_RULE_SETUP -#line 1442 "rwllexer.l" +#line 1444 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLSTRING); @@ -4649,7 +4654,7 @@ YY_RULE_SETUP YY_BREAK case 314: YY_RULE_SETUP -#line 1447 "rwllexer.l" +#line 1449 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_QETIMES); @@ -4657,7 +4662,7 @@ YY_RULE_SETUP YY_BREAK case 315: YY_RULE_SETUP -#line 1452 "rwllexer.l" +#line 1454 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_QETIMES); @@ -4665,7 +4670,7 @@ YY_RULE_SETUP YY_BREAK case 316: YY_RULE_SETUP -#line 1458 "rwllexer.l" +#line 1460 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4675,21 +4680,21 @@ YY_RULE_SETUP YY_BREAK case 317: YY_RULE_SETUP -#line 1465 "rwllexer.l" +#line 1467 "rwllexer.l" { if (!rwm->ifdirbit) rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+6),1 /* warn if !warning*/ ); } YY_BREAK case 318: YY_RULE_SETUP -#line 1469 "rwllexer.l" +#line 1471 "rwllexer.l" { rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+12),1 /* warn if !warning*/ ); } YY_BREAK case 319: YY_RULE_SETUP -#line 1473 "rwllexer.l" +#line 1475 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; newval = (ub4)rwlatoi(rwm->rwlytext+11) + 1; //+1 for the return value @@ -4706,7 +4711,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 320: YY_RULE_SETUP -#line 1487 "rwllexer.l" +#line 1489 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4724,7 +4729,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 321: YY_RULE_SETUP -#line 1502 "rwllexer.l" +#line 1504 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4742,7 +4747,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 322: YY_RULE_SETUP -#line 1517 "rwllexer.l" +#line 1519 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4760,7 +4765,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 323: YY_RULE_SETUP -#line 1532 "rwllexer.l" +#line 1534 "rwllexer.l" if (!rwm->ifdirbit) { rwm->iformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckiformat(rwm); @@ -4768,7 +4773,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 324: YY_RULE_SETUP -#line 1536 "rwllexer.l" +#line 1538 "rwllexer.l" if (!rwm->ifdirbit) { rwm->dformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckdformat(rwm); @@ -4776,7 +4781,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 325: YY_RULE_SETUP -#line 1541 "rwllexer.l" +#line 1543 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+9); bis(rwm->mflags, newdebug); @@ -4790,7 +4795,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 326: YY_RULE_SETUP -#line 1552 "rwllexer.l" +#line 1554 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+10); // ub4 newdebug = (ub4) rwlhex2ub8(rwm->rwlytext+10, 2*sizeof(ub4)); @@ -4801,7 +4806,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 327: YY_RULE_SETUP -#line 1560 "rwllexer.l" +#line 1562 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+10,2*sizeof(unsigned short)); @@ -4819,7 +4824,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 328: YY_RULE_SETUP -#line 1577 "rwllexer.l" +#line 1579 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+12, 2*sizeof(unsigned short)); @@ -4836,10 +4841,10 @@ if (!rwm->ifdirbit) { } YY_BREAK case 329: -#line 1593 "rwllexer.l" +#line 1595 "rwllexer.l" case 330: YY_RULE_SETUP -#line 1593 "rwllexer.l" +#line 1595 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4851,10 +4856,10 @@ if (!rwm->ifdirbit) { } YY_BREAK case 331: -#line 1604 "rwllexer.l" +#line 1606 "rwllexer.l" case 332: YY_RULE_SETUP -#line 1604 "rwllexer.l" +#line 1606 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4867,7 +4872,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 333: YY_RULE_SETUP -#line 1614 "rwllexer.l" +#line 1616 "rwllexer.l" if (!rwm->ifdirbit) { { rwm->musymbol = rwlstrdup(rwm, rwm->rwlytext+10); @@ -4877,7 +4882,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 334: YY_RULE_SETUP -#line 1621 "rwllexer.l" +#line 1623 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4891,7 +4896,7 @@ YY_RULE_SETUP YY_BREAK case 335: YY_RULE_SETUP -#line 1632 "rwllexer.l" +#line 1634 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4906,7 +4911,7 @@ YY_RULE_SETUP case 336: /* rule 336 can match eol */ YY_RULE_SETUP -#line 1643 "rwllexer.l" +#line 1645 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4940,7 +4945,7 @@ YY_RULE_SETUP case 337: /* rule 337 can match eol */ YY_RULE_SETUP -#line 1673 "rwllexer.l" +#line 1675 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4973,7 +4978,7 @@ YY_RULE_SETUP YY_BREAK case 338: YY_RULE_SETUP -#line 1703 "rwllexer.l" +#line 1705 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4986,14 +4991,14 @@ YY_RULE_SETUP YY_BREAK case 339: YY_RULE_SETUP -#line 1712 "rwllexer.l" +#line 1714 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK case 340: YY_RULE_SETUP -#line 1715 "rwllexer.l" +#line 1717 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_TRIGRAD); } @@ -5001,7 +5006,7 @@ YY_RULE_SETUP case 341: /* rule 341 can match eol */ YY_RULE_SETUP -#line 1719 "rwllexer.l" +#line 1721 "rwllexer.l" { rwm->loc.fname = rwlstrdup(rwm, rwlstrchr(rwm->rwlytext,'"')); rwm->loc.fname[rwlstrlen(rwm->loc.fname)-1] = 0; @@ -5011,10 +5016,10 @@ YY_RULE_SETUP } YY_BREAK case 342: -#line 1727 "rwllexer.l" +#line 1729 "rwllexer.l" case 343: YY_RULE_SETUP -#line 1727 "rwllexer.l" +#line 1729 "rwllexer.l" { // bad directive char idbuf[100], c; ub4 i; @@ -5058,34 +5063,34 @@ YY_RULE_SETUP case 344: /* rule 344 can match eol */ YY_RULE_SETUP -#line 1768 "rwllexer.l" +#line 1770 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 345: /* rule 345 can match eol */ YY_RULE_SETUP -#line 1769 "rwllexer.l" +#line 1771 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 346: /* rule 346 can match eol */ YY_RULE_SETUP -#line 1770 "rwllexer.l" +#line 1772 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 347: YY_RULE_SETUP -#line 1771 "rwllexer.l" +#line 1773 "rwllexer.l" /* nothing */ ; YY_BREAK case 348: YY_RULE_SETUP -#line 1772 "rwllexer.l" +#line 1774 "rwllexer.l" /* nothing */ ; YY_BREAK case 349: YY_RULE_SETUP -#line 1773 "rwllexer.l" +#line 1775 "rwllexer.l" { if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -5102,10 +5107,10 @@ YY_RULE_SETUP YY_BREAK case 350: YY_RULE_SETUP -#line 1787 "rwllexer.l" +#line 1789 "rwllexer.l" ECHO; YY_BREAK -#line 5109 "lex.rwly.c" +#line 5114 "lex.rwly.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -6286,7 +6291,7 @@ void rwlyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1787 "rwllexer.l" +#line 1789 "rwllexer.l" diff --git a/src/lex.rwlz.c b/src/lex.rwlz.c index 6e7a1614..c868d824 100644 --- a/src/lex.rwlz.c +++ b/src/lex.rwlz.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 230 -#define YY_END_OF_BUFFER 231 +#define YY_NUM_RULES 231 +#define YY_END_OF_BUFFER 232 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -354,122 +354,122 @@ struct yy_trans_info }; static yyconst flex_int16_t yy_accept[1058] = { 0, - 0, 0, 231, 229, 225, 226, 206, 229, 227, 229, - 199, 229, 200, 201, 197, 195, 202, 196, 229, 198, - 6, 208, 209, 204, 203, 205, 207, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 229, 225, 216, 0, 2, - 0, 227, 223, 222, 224, 228, 228, 228, 228, 228, - 0, 1, 0, 148, 135, 189, 150, 127, 190, 149, - 5, 6, 0, 130, 0, 214, 217, 0, 215, 0, - - 0, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 51, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 112, 221, 221, 194, 221, 221, 221, 221, - 221, 221, 221, 221, 213, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 218, 222, - - 224, 228, 228, 228, 228, 228, 5, 0, 0, 3, - 132, 134, 131, 133, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 124, 211, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 143, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 64, 221, - 221, 221, 221, 221, 145, 221, 221, 221, 123, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 144, 221, 221, 221, 221, 221, 221, 221, 210, - - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 29, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 57, 221, 221, 221, 221, 142, 221, 37, 221, 221, - 221, 221, 221, 128, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 129, 228, 228, 228, 228, - 0, 4, 221, 221, 221, 221, 221, 221, 186, 221, - 221, 221, 221, 221, 185, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 0, 221, 221, 187, - 221, 221, 221, 221, 221, 221, 58, 28, 221, 138, - 27, 221, 221, 221, 221, 221, 32, 221, 221, 221, - - 221, 221, 68, 115, 221, 221, 221, 221, 221, 24, - 221, 100, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 34, 221, 221, 122, 221, 221, 221, - 221, 221, 221, 193, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 76, 221, 221, 63, 221, 221, 113, 221, 221, - 221, 221, 221, 118, 114, 221, 221, 221, 228, 228, - 228, 228, 221, 182, 221, 221, 171, 180, 221, 221, - 221, 221, 221, 221, 221, 170, 221, 0, 183, 221, - - 174, 221, 221, 221, 0, 0, 0, 221, 221, 35, - 221, 221, 99, 146, 221, 221, 33, 221, 221, 62, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 121, 221, 221, 139, 221, 221, 90, 221, 221, - 221, 221, 221, 80, 221, 221, 221, 221, 30, 221, - 221, 221, 221, 221, 13, 221, 221, 109, 221, 221, - 221, 221, 119, 221, 221, 221, 104, 221, 221, 221, - 221, 221, 141, 221, 221, 221, 221, 125, 221, 221, - 61, 221, 221, 221, 221, 221, 140, 221, 221, 221, - 117, 221, 101, 10, 7, 228, 228, 221, 221, 221, - - 221, 169, 221, 184, 221, 221, 221, 179, 0, 221, - 175, 221, 177, 0, 0, 0, 221, 178, 220, 221, - 221, 221, 49, 221, 221, 221, 18, 221, 221, 60, - 95, 116, 17, 221, 86, 221, 108, 221, 221, 91, - 82, 221, 56, 221, 221, 79, 221, 81, 221, 36, - 221, 221, 221, 221, 221, 221, 221, 16, 221, 221, - 221, 221, 31, 221, 98, 221, 221, 221, 221, 221, - 221, 221, 221, 23, 221, 221, 221, 221, 221, 221, - 136, 221, 221, 97, 77, 221, 221, 221, 221, 221, - 221, 228, 228, 221, 173, 221, 221, 0, 181, 221, - - 221, 221, 0, 172, 221, 0, 0, 0, 221, 221, - 212, 59, 41, 221, 221, 221, 192, 219, 221, 87, - 88, 89, 126, 14, 221, 221, 221, 221, 96, 85, - 221, 221, 120, 221, 221, 48, 221, 221, 221, 221, - 55, 221, 221, 221, 25, 221, 221, 221, 46, 221, - 52, 221, 221, 221, 221, 221, 15, 221, 221, 78, - 54, 71, 221, 221, 221, 221, 221, 9, 8, 221, - 221, 0, 0, 0, 0, 0, 0, 0, 221, 0, - 221, 0, 221, 0, 160, 0, 188, 221, 221, 221, - 191, 221, 221, 22, 221, 221, 221, 221, 221, 221, - - 221, 221, 43, 221, 111, 221, 221, 103, 221, 221, - 105, 221, 50, 221, 221, 221, 47, 221, 221, 11, - 42, 221, 221, 26, 221, 221, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 221, 0, 221, 0, 176, - 0, 0, 221, 221, 221, 69, 221, 94, 221, 221, - 221, 221, 221, 221, 221, 110, 53, 221, 70, 221, - 106, 221, 221, 221, 221, 45, 221, 221, 102, 221, - 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, - 221, 0, 0, 158, 0, 0, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - - 92, 221, 221, 73, 221, 0, 0, 0, 163, 0, - 0, 0, 0, 0, 162, 221, 0, 0, 0, 0, - 0, 221, 221, 221, 39, 221, 12, 38, 147, 221, - 221, 221, 221, 221, 221, 44, 221, 67, 221, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 221, 155, - 0, 0, 0, 0, 221, 221, 221, 93, 221, 72, - 75, 221, 221, 107, 221, 221, 84, 0, 0, 0, + 0, 0, 232, 230, 226, 227, 207, 230, 228, 230, + 200, 230, 201, 202, 198, 196, 203, 197, 230, 199, + 6, 209, 210, 205, 204, 206, 208, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 230, 226, 217, 0, 2, + 0, 228, 224, 223, 225, 229, 229, 229, 229, 229, + 0, 1, 0, 149, 135, 190, 136, 127, 191, 150, + 5, 6, 0, 130, 0, 215, 218, 0, 216, 0, + + 0, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 51, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 112, 222, 222, 195, 222, 222, 222, 222, + 222, 222, 222, 222, 214, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 219, 223, + + 225, 229, 229, 229, 229, 229, 5, 0, 0, 3, + 132, 134, 131, 133, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 124, 212, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 144, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 64, 222, + 222, 222, 222, 222, 146, 222, 222, 222, 123, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 145, 222, 222, 222, 222, 222, 222, 222, 211, + + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 29, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 57, 222, 222, 222, 222, 143, 222, 37, 222, 222, + 222, 222, 222, 128, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 129, 229, 229, 229, 229, + 0, 4, 222, 222, 222, 222, 222, 222, 187, 222, + 222, 222, 222, 222, 186, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 0, 222, 222, 188, + 222, 222, 222, 222, 222, 222, 58, 28, 222, 139, + 27, 222, 222, 222, 222, 222, 32, 222, 222, 222, + + 222, 222, 68, 115, 222, 222, 222, 222, 222, 24, + 222, 100, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 34, 222, 222, 122, 222, 222, 222, + 222, 222, 222, 194, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 76, 222, 222, 63, 222, 222, 113, 222, 222, + 222, 222, 222, 118, 114, 222, 222, 222, 229, 229, + 229, 229, 222, 183, 222, 222, 172, 181, 222, 222, + 222, 222, 222, 222, 222, 171, 222, 0, 184, 222, + + 175, 222, 222, 222, 0, 0, 0, 222, 222, 35, + 222, 222, 99, 147, 222, 222, 33, 222, 222, 62, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 121, 222, 222, 140, 222, 222, 90, 222, 222, + 222, 222, 222, 80, 222, 222, 222, 222, 30, 222, + 222, 222, 222, 222, 13, 222, 222, 109, 222, 222, + 222, 222, 119, 222, 222, 222, 104, 222, 222, 222, + 222, 222, 142, 222, 222, 222, 222, 125, 222, 222, + 61, 222, 222, 222, 222, 222, 141, 222, 222, 222, + 117, 222, 101, 10, 7, 229, 229, 222, 222, 222, + + 222, 170, 222, 185, 222, 222, 222, 180, 0, 222, + 176, 222, 178, 0, 0, 0, 222, 179, 221, 222, + 222, 222, 49, 222, 222, 222, 18, 222, 222, 60, + 95, 116, 17, 222, 86, 222, 108, 222, 222, 91, + 82, 222, 56, 222, 222, 79, 222, 81, 222, 36, + 222, 222, 222, 222, 222, 222, 222, 16, 222, 222, + 222, 222, 31, 222, 98, 222, 222, 222, 222, 222, + 222, 222, 222, 23, 222, 222, 222, 222, 222, 222, + 137, 222, 222, 97, 77, 222, 222, 222, 222, 222, + 222, 229, 229, 222, 174, 222, 222, 0, 182, 222, + + 222, 222, 0, 173, 222, 0, 0, 0, 222, 222, + 213, 59, 41, 222, 222, 222, 193, 220, 222, 87, + 88, 89, 126, 14, 222, 222, 222, 222, 96, 85, + 222, 222, 120, 222, 222, 48, 222, 222, 222, 222, + 55, 222, 222, 222, 25, 222, 222, 222, 46, 222, + 52, 222, 222, 222, 222, 222, 15, 222, 222, 78, + 54, 71, 222, 222, 222, 222, 222, 9, 8, 222, + 222, 0, 0, 0, 0, 0, 0, 0, 222, 0, + 222, 0, 222, 0, 161, 0, 189, 222, 222, 222, + 192, 222, 222, 22, 222, 222, 222, 222, 222, 222, + + 222, 222, 43, 222, 111, 222, 222, 103, 222, 222, + 105, 222, 50, 222, 222, 222, 47, 222, 222, 11, + 42, 222, 222, 26, 222, 222, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 222, 0, 222, 0, 177, + 0, 0, 222, 222, 222, 69, 222, 94, 222, 222, + 222, 222, 222, 222, 222, 110, 53, 222, 70, 222, + 106, 222, 222, 222, 222, 45, 222, 222, 102, 222, + 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, + 222, 0, 0, 159, 0, 0, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + + 92, 222, 222, 73, 222, 0, 0, 0, 164, 0, + 0, 0, 0, 0, 163, 222, 0, 0, 0, 0, + 0, 222, 222, 222, 39, 222, 12, 38, 148, 222, + 222, 222, 222, 222, 222, 44, 222, 67, 222, 83, + 0, 0, 0, 0, 0, 0, 0, 0, 222, 156, + 0, 0, 0, 0, 222, 222, 222, 93, 222, 72, + 75, 222, 222, 107, 222, 222, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 221, 221, 221, 40, 221, 221, 137, 221, 0, 0, - 0, 167, 0, 166, 0, 168, 0, 0, 0, 159, - - 0, 221, 221, 65, 221, 221, 74, 0, 0, 164, - 0, 0, 0, 0, 157, 161, 221, 66, 221, 221, - 0, 0, 0, 165, 0, 0, 221, 19, 221, 0, - 0, 0, 0, 0, 221, 21, 0, 0, 0, 0, - 156, 20, 0, 0, 0, 0, 152, 0, 0, 0, - 0, 0, 0, 153, 0, 151, 0 + 222, 222, 222, 40, 222, 222, 138, 222, 0, 0, + 0, 168, 0, 167, 0, 169, 0, 0, 0, 160, + + 0, 222, 222, 65, 222, 222, 74, 0, 0, 165, + 0, 0, 0, 0, 158, 162, 222, 66, 222, 222, + 0, 0, 0, 166, 0, 0, 222, 19, 222, 0, + 0, 0, 0, 0, 222, 21, 0, 0, 0, 0, + 157, 20, 0, 0, 0, 0, 153, 0, 0, 0, + 0, 0, 0, 154, 0, 152, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -1159,6 +1159,7 @@ static yyconst flex_int16_t yy_chk[1672] = * * History * + * bengsig 16-apr-2024 - -= * bengsig 27-feb-2024 - winslashf2b functions * bengsig 14-feb-2024 - yy* -> rwm->rwly* * bengsig 10-jan-2024 - $linux etc @@ -1188,7 +1189,7 @@ static yyconst flex_int16_t yy_chk[1672] = * bengsig 24-feb-2020 - Access function * bengsig 22-aug-2019 - Creation */ -#line 48 "rwldilex.l" +#line 49 "rwldilex.l" #include "rwl.h" #include "rwldiprs.tab.h" @@ -1206,7 +1207,7 @@ static yyconst flex_int16_t yy_chk[1672] = #define RWL_IN_DILEX // make rwlscanstring.c do the right thing -#line 1210 "lex.rwlz.c" +#line 1211 "lex.rwlz.c" #define INITIAL 0 @@ -1479,14 +1480,14 @@ YY_DECL } { -#line 71 "rwldilex.l" +#line 72 "rwldilex.l" rwl_main *rwm = 0; // will be set using YY_USER_ACTION -#line 1490 "lex.rwlz.c" +#line 1491 "lex.rwlz.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1546,7 +1547,7 @@ YY_DECL case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 77 "rwldilex.l" +#line 78 "rwldilex.l" { // copy from rwllexer.l rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -1556,7 +1557,7 @@ YY_RULE_SETUP case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 83 "rwldilex.l" +#line 84 "rwldilex.l" { // Use this tag in vi: rwlscanstring #include "rwlscanstring.c" @@ -1564,12 +1565,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_Z_DOUBLE_CONST*/ case 3: -#line 90 "rwldilex.l" -case 4: #line 91 "rwldilex.l" +case 4: +#line 92 "rwldilex.l" case 5: YY_RULE_SETUP -#line 91 "rwldilex.l" +#line 92 "rwldilex.l" { // copy from rwllexer.l /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -1580,7 +1581,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_Z_INTEGER_CONST*/ case 6: YY_RULE_SETUP -#line 100 "rwldilex.l" +#line 101 "rwldilex.l" { // copy from rwllexer.l /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -1590,7 +1591,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 107 "rwldilex.l" +#line 108 "rwldilex.l" { # if RWL_OS==RWL_MACH rwm->ival = 1; @@ -1604,7 +1605,7 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 118 "rwldilex.l" +#line 119 "rwldilex.l" { # if RWL_OS==RWL_WINDOWS rwm->ival = 1; @@ -1618,7 +1619,7 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 129 "rwldilex.l" +#line 130 "rwldilex.l" { # if RWL_OS==RWL_SOLARIS rwm->ival = 1; @@ -1632,7 +1633,7 @@ YY_RULE_SETUP YY_BREAK case 10: YY_RULE_SETUP -#line 140 "rwldilex.l" +#line 141 "rwldilex.l" { # if RWL_OS==RWL_LINUX rwm->ival = 1; @@ -1645,406 +1646,408 @@ YY_RULE_SETUP } YY_BREAK case 11: -#line 152 "rwldilex.l" -case 12: #line 153 "rwldilex.l" -case 13: +case 12: #line 154 "rwldilex.l" -case 14: +case 13: #line 155 "rwldilex.l" -case 15: +case 14: #line 156 "rwldilex.l" -case 16: +case 15: #line 157 "rwldilex.l" -case 17: +case 16: #line 158 "rwldilex.l" -case 18: +case 17: #line 159 "rwldilex.l" -case 19: +case 18: #line 160 "rwldilex.l" -case 20: +case 19: #line 161 "rwldilex.l" -case 21: +case 20: #line 162 "rwldilex.l" -case 22: +case 21: #line 163 "rwldilex.l" -case 23: +case 22: #line 164 "rwldilex.l" -case 24: +case 23: #line 165 "rwldilex.l" -case 25: +case 24: #line 166 "rwldilex.l" -case 26: +case 25: #line 167 "rwldilex.l" -case 27: +case 26: #line 168 "rwldilex.l" -case 28: +case 27: #line 169 "rwldilex.l" -case 29: +case 28: #line 170 "rwldilex.l" -case 30: +case 29: #line 171 "rwldilex.l" -case 31: +case 30: #line 172 "rwldilex.l" -case 32: +case 31: #line 173 "rwldilex.l" -case 33: +case 32: #line 174 "rwldilex.l" -case 34: +case 33: #line 175 "rwldilex.l" -case 35: +case 34: #line 176 "rwldilex.l" -case 36: +case 35: #line 177 "rwldilex.l" -case 37: +case 36: #line 178 "rwldilex.l" -case 38: +case 37: #line 179 "rwldilex.l" -case 39: +case 38: #line 180 "rwldilex.l" -case 40: +case 39: #line 181 "rwldilex.l" -case 41: +case 40: #line 182 "rwldilex.l" -case 42: +case 41: #line 183 "rwldilex.l" -case 43: +case 42: #line 184 "rwldilex.l" -case 44: +case 43: #line 185 "rwldilex.l" -case 45: +case 44: #line 186 "rwldilex.l" -case 46: +case 45: #line 187 "rwldilex.l" -case 47: +case 46: #line 188 "rwldilex.l" -case 48: +case 47: #line 189 "rwldilex.l" -case 49: +case 48: #line 190 "rwldilex.l" -case 50: +case 49: #line 191 "rwldilex.l" -case 51: +case 50: #line 192 "rwldilex.l" -case 52: +case 51: #line 193 "rwldilex.l" -case 53: +case 52: #line 194 "rwldilex.l" -case 54: +case 53: #line 195 "rwldilex.l" -case 55: +case 54: #line 196 "rwldilex.l" -case 56: +case 55: #line 197 "rwldilex.l" -case 57: +case 56: #line 198 "rwldilex.l" -case 58: +case 57: #line 199 "rwldilex.l" -case 59: +case 58: #line 200 "rwldilex.l" -case 60: +case 59: #line 201 "rwldilex.l" -case 61: +case 60: #line 202 "rwldilex.l" -case 62: +case 61: #line 203 "rwldilex.l" -case 63: +case 62: #line 204 "rwldilex.l" -case 64: +case 63: #line 205 "rwldilex.l" -case 65: +case 64: #line 206 "rwldilex.l" -case 66: +case 65: #line 207 "rwldilex.l" -case 67: +case 66: #line 208 "rwldilex.l" -case 68: +case 67: #line 209 "rwldilex.l" -case 69: +case 68: #line 210 "rwldilex.l" -case 70: +case 69: #line 211 "rwldilex.l" -case 71: +case 70: #line 212 "rwldilex.l" -case 72: +case 71: #line 213 "rwldilex.l" -case 73: +case 72: #line 214 "rwldilex.l" -case 74: +case 73: #line 215 "rwldilex.l" -case 75: +case 74: #line 216 "rwldilex.l" -case 76: +case 75: #line 217 "rwldilex.l" -case 77: +case 76: #line 218 "rwldilex.l" -case 78: +case 77: #line 219 "rwldilex.l" -case 79: +case 78: #line 220 "rwldilex.l" -case 80: +case 79: #line 221 "rwldilex.l" -case 81: +case 80: #line 222 "rwldilex.l" -case 82: +case 81: #line 223 "rwldilex.l" -case 83: +case 82: #line 224 "rwldilex.l" -case 84: +case 83: #line 225 "rwldilex.l" -case 85: +case 84: #line 226 "rwldilex.l" -case 86: +case 85: #line 227 "rwldilex.l" -case 87: +case 86: #line 228 "rwldilex.l" -case 88: +case 87: #line 229 "rwldilex.l" -case 89: +case 88: #line 230 "rwldilex.l" -case 90: +case 89: #line 231 "rwldilex.l" -case 91: +case 90: #line 232 "rwldilex.l" -case 92: +case 91: #line 233 "rwldilex.l" -case 93: +case 92: #line 234 "rwldilex.l" -case 94: +case 93: #line 235 "rwldilex.l" -case 95: +case 94: #line 236 "rwldilex.l" -case 96: +case 95: #line 237 "rwldilex.l" -case 97: +case 96: #line 238 "rwldilex.l" -case 98: +case 97: #line 239 "rwldilex.l" -case 99: +case 98: #line 240 "rwldilex.l" -case 100: +case 99: #line 241 "rwldilex.l" -case 101: +case 100: #line 242 "rwldilex.l" -case 102: +case 101: #line 243 "rwldilex.l" -case 103: +case 102: #line 244 "rwldilex.l" -case 104: +case 103: #line 245 "rwldilex.l" -case 105: +case 104: #line 246 "rwldilex.l" -case 106: +case 105: #line 247 "rwldilex.l" -case 107: +case 106: #line 248 "rwldilex.l" -case 108: +case 107: #line 249 "rwldilex.l" -case 109: +case 108: #line 250 "rwldilex.l" -case 110: +case 109: #line 251 "rwldilex.l" -case 111: +case 110: #line 252 "rwldilex.l" -case 112: +case 111: #line 253 "rwldilex.l" -case 113: +case 112: #line 254 "rwldilex.l" -case 114: +case 113: #line 255 "rwldilex.l" -case 115: +case 114: #line 256 "rwldilex.l" -case 116: +case 115: #line 257 "rwldilex.l" -case 117: +case 116: #line 258 "rwldilex.l" -case 118: +case 117: #line 259 "rwldilex.l" -case 119: +case 118: #line 260 "rwldilex.l" -case 120: +case 119: #line 261 "rwldilex.l" -case 121: +case 120: #line 262 "rwldilex.l" -case 122: +case 121: #line 263 "rwldilex.l" -case 123: +case 122: #line 264 "rwldilex.l" -case 124: +case 123: #line 265 "rwldilex.l" -case 125: +case 124: #line 266 "rwldilex.l" -case 126: +case 125: #line 267 "rwldilex.l" -case 127: +case 126: #line 268 "rwldilex.l" -case 128: +case 127: #line 269 "rwldilex.l" -case 129: +case 128: #line 270 "rwldilex.l" -case 130: +case 129: #line 271 "rwldilex.l" -case 131: +case 130: #line 272 "rwldilex.l" -case 132: +case 131: #line 273 "rwldilex.l" -case 133: +case 132: #line 274 "rwldilex.l" -case 134: +case 133: #line 275 "rwldilex.l" -case 135: +case 134: #line 276 "rwldilex.l" -case 136: +case 135: #line 277 "rwldilex.l" -case 137: +case 136: #line 278 "rwldilex.l" -case 138: +case 137: #line 279 "rwldilex.l" -case 139: +case 138: #line 280 "rwldilex.l" -case 140: +case 139: #line 281 "rwldilex.l" -case 141: +case 140: #line 282 "rwldilex.l" -case 142: +case 141: #line 283 "rwldilex.l" -case 143: +case 142: #line 284 "rwldilex.l" -case 144: +case 143: #line 285 "rwldilex.l" -case 145: +case 144: #line 286 "rwldilex.l" -case 146: +case 145: #line 287 "rwldilex.l" -case 147: +case 146: #line 288 "rwldilex.l" -case 148: +case 147: #line 289 "rwldilex.l" -case 149: +case 148: #line 290 "rwldilex.l" -case 150: +case 149: #line 291 "rwldilex.l" -case 151: -/* rule 151 can match eol */ +case 150: #line 292 "rwldilex.l" +case 151: +#line 293 "rwldilex.l" case 152: /* rule 152 can match eol */ -#line 293 "rwldilex.l" +#line 294 "rwldilex.l" case 153: /* rule 153 can match eol */ -#line 294 "rwldilex.l" +#line 295 "rwldilex.l" case 154: /* rule 154 can match eol */ -#line 295 "rwldilex.l" +#line 296 "rwldilex.l" case 155: /* rule 155 can match eol */ -#line 296 "rwldilex.l" +#line 297 "rwldilex.l" case 156: /* rule 156 can match eol */ -#line 297 "rwldilex.l" +#line 298 "rwldilex.l" case 157: /* rule 157 can match eol */ -#line 298 "rwldilex.l" +#line 299 "rwldilex.l" case 158: /* rule 158 can match eol */ -#line 299 "rwldilex.l" +#line 300 "rwldilex.l" case 159: /* rule 159 can match eol */ -#line 300 "rwldilex.l" +#line 301 "rwldilex.l" case 160: /* rule 160 can match eol */ -#line 301 "rwldilex.l" +#line 302 "rwldilex.l" case 161: /* rule 161 can match eol */ -#line 302 "rwldilex.l" +#line 303 "rwldilex.l" case 162: /* rule 162 can match eol */ -#line 303 "rwldilex.l" +#line 304 "rwldilex.l" case 163: /* rule 163 can match eol */ -#line 304 "rwldilex.l" +#line 305 "rwldilex.l" case 164: /* rule 164 can match eol */ -#line 305 "rwldilex.l" +#line 306 "rwldilex.l" case 165: /* rule 165 can match eol */ -#line 306 "rwldilex.l" +#line 307 "rwldilex.l" case 166: /* rule 166 can match eol */ -#line 307 "rwldilex.l" +#line 308 "rwldilex.l" case 167: /* rule 167 can match eol */ -#line 308 "rwldilex.l" +#line 309 "rwldilex.l" case 168: /* rule 168 can match eol */ -#line 309 "rwldilex.l" +#line 310 "rwldilex.l" case 169: /* rule 169 can match eol */ -#line 310 "rwldilex.l" +#line 311 "rwldilex.l" case 170: /* rule 170 can match eol */ -#line 311 "rwldilex.l" +#line 312 "rwldilex.l" case 171: /* rule 171 can match eol */ -#line 312 "rwldilex.l" +#line 313 "rwldilex.l" case 172: /* rule 172 can match eol */ -#line 313 "rwldilex.l" +#line 314 "rwldilex.l" case 173: /* rule 173 can match eol */ -#line 314 "rwldilex.l" +#line 315 "rwldilex.l" case 174: /* rule 174 can match eol */ -#line 315 "rwldilex.l" +#line 316 "rwldilex.l" case 175: /* rule 175 can match eol */ -#line 316 "rwldilex.l" +#line 317 "rwldilex.l" case 176: /* rule 176 can match eol */ -#line 317 "rwldilex.l" +#line 318 "rwldilex.l" case 177: /* rule 177 can match eol */ -#line 318 "rwldilex.l" +#line 319 "rwldilex.l" case 178: /* rule 178 can match eol */ -#line 319 "rwldilex.l" +#line 320 "rwldilex.l" case 179: /* rule 179 can match eol */ -#line 320 "rwldilex.l" +#line 321 "rwldilex.l" case 180: /* rule 180 can match eol */ -#line 321 "rwldilex.l" +#line 322 "rwldilex.l" case 181: /* rule 181 can match eol */ -#line 322 "rwldilex.l" +#line 323 "rwldilex.l" case 182: /* rule 182 can match eol */ -#line 323 "rwldilex.l" +#line 324 "rwldilex.l" case 183: /* rule 183 can match eol */ -#line 324 "rwldilex.l" +#line 325 "rwldilex.l" case 184: /* rule 184 can match eol */ -#line 325 "rwldilex.l" +#line 326 "rwldilex.l" case 185: /* rule 185 can match eol */ -#line 326 "rwldilex.l" +#line 327 "rwldilex.l" case 186: /* rule 186 can match eol */ -#line 327 "rwldilex.l" +#line 328 "rwldilex.l" case 187: /* rule 187 can match eol */ -#line 328 "rwldilex.l" +#line 329 "rwldilex.l" case 188: /* rule 188 can match eol */ -#line 329 "rwldilex.l" +#line 330 "rwldilex.l" case 189: /* rule 189 can match eol */ -#line 330 "rwldilex.l" +#line 331 "rwldilex.l" case 190: /* rule 190 can match eol */ +#line 332 "rwldilex.l" +case 191: +/* rule 191 can match eol */ YY_RULE_SETUP -#line 330 "rwldilex.l" +#line 332 "rwldilex.l" { // All of these cannot be used in $if() directive // but they should also not give a "variable not found" error @@ -2053,173 +2056,173 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_Z_DATABASE*/ -case 191: +case 192: YY_RULE_SETUP -#line 339 "rwldilex.l" +#line 341 "rwldilex.l" return RWL_Z_DATABASE; YY_BREAK /*LEXTAG:RWL_Z_DEFAULT*/ -case 192: +case 193: YY_RULE_SETUP -#line 341 "rwldilex.l" +#line 343 "rwldilex.l" return RWL_Z_DEFAULT; YY_BREAK /*LEXTAG:RWL_Z_NULL*/ -case 193: +case 194: YY_RULE_SETUP -#line 343 "rwldilex.l" +#line 345 "rwldilex.l" return RWL_Z_NULL; YY_BREAK /*LEXTAG:RWL_Z_IS*/ -case 194: +case 195: YY_RULE_SETUP -#line 345 "rwldilex.l" +#line 347 "rwldilex.l" return RWL_Z_IS; YY_BREAK -case 195: +case 196: YY_RULE_SETUP -#line 346 "rwldilex.l" +#line 348 "rwldilex.l" return '+'; YY_BREAK -case 196: +case 197: YY_RULE_SETUP -#line 347 "rwldilex.l" +#line 349 "rwldilex.l" return '-'; YY_BREAK -case 197: +case 198: YY_RULE_SETUP -#line 348 "rwldilex.l" +#line 350 "rwldilex.l" return '*'; YY_BREAK -case 198: +case 199: YY_RULE_SETUP -#line 349 "rwldilex.l" +#line 351 "rwldilex.l" return '/'; YY_BREAK -case 199: +case 200: YY_RULE_SETUP -#line 350 "rwldilex.l" +#line 352 "rwldilex.l" return '%'; YY_BREAK -case 200: +case 201: YY_RULE_SETUP -#line 351 "rwldilex.l" +#line 353 "rwldilex.l" return '('; YY_BREAK -case 201: +case 202: YY_RULE_SETUP -#line 352 "rwldilex.l" +#line 354 "rwldilex.l" return ')'; YY_BREAK -case 202: +case 203: YY_RULE_SETUP -#line 353 "rwldilex.l" +#line 355 "rwldilex.l" return ','; YY_BREAK -case 203: +case 204: YY_RULE_SETUP -#line 354 "rwldilex.l" +#line 356 "rwldilex.l" return '='; YY_BREAK -case 204: +case 205: YY_RULE_SETUP -#line 355 "rwldilex.l" +#line 357 "rwldilex.l" return '<'; YY_BREAK -case 205: +case 206: YY_RULE_SETUP -#line 356 "rwldilex.l" +#line 358 "rwldilex.l" return '>'; YY_BREAK -case 206: +case 207: YY_RULE_SETUP -#line 357 "rwldilex.l" +#line 359 "rwldilex.l" return '!'; YY_BREAK -case 207: +case 208: YY_RULE_SETUP -#line 358 "rwldilex.l" +#line 360 "rwldilex.l" return '?'; YY_BREAK -case 208: +case 209: YY_RULE_SETUP -#line 359 "rwldilex.l" +#line 361 "rwldilex.l" return ':'; YY_BREAK -case 209: +case 210: YY_RULE_SETUP -#line 360 "rwldilex.l" +#line 362 "rwldilex.l" return ';'; YY_BREAK /*LEXTAG:RWL_Z_NOT*/ -case 210: +case 211: YY_RULE_SETUP -#line 362 "rwldilex.l" +#line 364 "rwldilex.l" return RWL_Z_NOT; YY_BREAK /*LEXTAG:RWL_Z_AND*/ -case 211: +case 212: YY_RULE_SETUP -#line 364 "rwldilex.l" +#line 366 "rwldilex.l" return RWL_Z_AND; YY_BREAK /*LEXTAG:RWL_Z_BETWEEN*/ -case 212: +case 213: YY_RULE_SETUP -#line 366 "rwldilex.l" +#line 368 "rwldilex.l" return RWL_Z_BETWEEN; YY_BREAK /*LEXTAG:RWL_Z_OR*/ -case 213: +case 214: YY_RULE_SETUP -#line 368 "rwldilex.l" +#line 370 "rwldilex.l" return RWL_Z_OR; YY_BREAK /*LEXTAG:RWL_Z_LESSEQ*/ -case 214: +case 215: YY_RULE_SETUP -#line 370 "rwldilex.l" +#line 372 "rwldilex.l" return RWL_Z_LESSEQ; YY_BREAK /*LEXTAG:RWL_Z_GREATEQ*/ -case 215: +case 216: YY_RULE_SETUP -#line 372 "rwldilex.l" +#line 374 "rwldilex.l" return RWL_Z_GREATEQ; YY_BREAK /*LEXTAG:RWL_Z_NOTEQ*/ -case 216: +case 217: YY_RULE_SETUP -#line 374 "rwldilex.l" +#line 376 "rwldilex.l" return RWL_Z_NOTEQ; YY_BREAK -case 217: +case 218: YY_RULE_SETUP -#line 375 "rwldilex.l" +#line 377 "rwldilex.l" return RWL_Z_NOTEQ; YY_BREAK /*LEXTAG:RWL_Z_CONCAT*/ -case 218: +case 219: YY_RULE_SETUP -#line 377 "rwldilex.l" +#line 379 "rwldilex.l" return RWL_Z_CONCAT; YY_BREAK /*LEXTAG:RWL_Z_DEFINED*/ -case 219: +case 220: YY_RULE_SETUP -#line 379 "rwldilex.l" +#line 381 "rwldilex.l" return RWL_Z_DEFINED; YY_BREAK /*LEXTAG:RWL_Z_ACCESS*/ -case 220: +case 221: YY_RULE_SETUP -#line 381 "rwldilex.l" +#line 383 "rwldilex.l" return RWL_Z_ACCESS; YY_BREAK /*LEXTAG:RWL_Z_IDENTIFIER*/ -case 221: +case 222: YY_RULE_SETUP -#line 384 "rwldilex.l" +#line 386 "rwldilex.l" { // Copy from normal /* previnam is used when the parser has been doing @@ -2232,9 +2235,9 @@ YY_RULE_SETUP return RWL_Z_IDENTIFIER; } YY_BREAK -case 222: +case 223: YY_RULE_SETUP -#line 396 "rwldilex.l" +#line 398 "rwldilex.l" { //rwm->previnam = rwm->inam; if ((ub4)rwlatoi(rwm->rwlytext+1) > rwm->posargs) @@ -2248,18 +2251,18 @@ YY_RULE_SETUP return RWL_Z_IDENTIFIER; } YY_BREAK -case 223: +case 224: YY_RULE_SETUP -#line 409 "rwldilex.l" +#line 411 "rwldilex.l" { //rwm->previnam = rwm->inam; rwm->zinam = rwlstrdup(rwm, rwm->rwlytext); return RWL_Z_IDENTIFIER; } YY_BREAK -case 224: +case 225: YY_RULE_SETUP -#line 415 "rwldilex.l" +#line 417 "rwldilex.l" { text *env = rwlgetenv(rwm->rwlytext+1); if (!env) @@ -2280,20 +2283,20 @@ YY_RULE_SETUP return RWL_Z_STRING_CONST; } YY_BREAK -case 225: +case 226: YY_RULE_SETUP -#line 435 "rwldilex.l" +#line 437 "rwldilex.l" /* nothing */ ; YY_BREAK -case 226: -/* rule 226 can match eol */ +case 227: +/* rule 227 can match eol */ YY_RULE_SETUP -#line 437 "rwldilex.l" +#line 439 "rwldilex.l" { rwm->loc.lineno++; } YY_BREAK -case 227: +case 228: YY_RULE_SETUP -#line 440 "rwldilex.l" +#line 442 "rwldilex.l" { // We never actually come here because comments are // allowed inside $if() directive /* just make gcc shut up about unput not being used */ @@ -2301,17 +2304,17 @@ YY_RULE_SETUP unput(0); } YY_BREAK -case 228: -/* rule 228 can match eol */ +case 229: +/* rule 229 can match eol */ YY_RULE_SETUP -#line 447 "rwldilex.l" +#line 449 "rwldilex.l" { // Attempt directive inside $if $then rwlerror(rwm, RWL_ERROR_NO_DIRECTIVE_DOLLARIF); } YY_BREAK -case 229: +case 230: YY_RULE_SETUP -#line 451 "rwldilex.l" +#line 453 "rwldilex.l" { // bad chars as in rwllexer if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -2326,12 +2329,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII_NOPOS, rwm->rwlytext[0]); } YY_BREAK -case 230: +case 231: YY_RULE_SETUP -#line 465 "rwldilex.l" +#line 467 "rwldilex.l" ECHO; YY_BREAK -#line 2335 "lex.rwlz.c" +#line 2338 "lex.rwlz.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -3512,7 +3515,7 @@ void rwlzfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 465 "rwldilex.l" +#line 467 "rwldilex.l" diff --git a/src/rwl.h b/src/rwl.h index 1287c03c..869c424c 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,8 @@ * * History * + * bengsig 17-apr-2024 - nostatistics statement + * bengsig 16-apr-2024 - bit operation on clflags, -= * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 15-mar-2024 - $connecterror:accept * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it @@ -543,11 +545,15 @@ extern const rwl_value rwl_null; // NULL as an integer extern const rwl_value rwl_blank; // blank string that is not null extern const rwl_value rwl_zero; // The value 0 extern const rwl_value rwl_one; // The value 1 +extern const rwl_value rwl_two; // The value 2 +extern const rwl_value rwl_four; // The value 4 // And pointers to them #define rwl_nullp (&rwl_null) #define rwl_blankp (&rwl_blank) #define rwl_zerop (&rwl_zero) #define rwl_onep (&rwl_one) +#define rwl_twop (&rwl_two) +#define rwl_fourp (&rwl_four) // save statistics about ORA- errors @@ -1355,6 +1361,7 @@ struct rwl_identifier #define RWL_IDENT_PRIVATE 0x0080 /* Private variable */ #define RWL_IDENT_GLOBAL 0x0100 /* Global variable */ #define RWL_IDENT_STATSONLY 0x0200 /* a statisticsonly procedure */ +#define RWL_IDENT_NOSTATNOW 0x0400 /* the nostatistics statement was called */ #define RWL_IDENT_THRSPEC (RWL_IDENT_GLOBAL|RWL_IDENT_PRIVATE|RWL_IDENT_THRSUM) char *stype; /* string representation for debug and error messages*/ rwl_stats *stats; /* allocated when statistics are collected */ @@ -1418,15 +1425,18 @@ enum rwl_stack_t , RWL_STACK_NOV /* a variable that does not exist */ , RWL_STACK_ASNINT /* assign to an interllay created variable */ , RWL_STACK_APP /* append assignment operator */ -, RWL_STACK_ASNPLUS /* += assignment operator */ +, RWL_STACK_ASNADD /* += assignment operator */ +, RWL_STACK_ASNSUB /* -= assignment operator */ #define RWL_STACK_IS_ASSIGN(x) \ ( RWL_STACK_ASN==(x) \ ||RWL_STACK_APP==(x) \ - ||RWL_STACK_ASNPLUS==(x)) + ||RWL_STACK_ASNSUB==(x) \ + ||RWL_STACK_ASNADD==(x)) #define RWL_STACK_ASSIGN_TEXT(x) \ (RWL_STACK_APP==(x) ? "append" \ - : (RWL_STACK_ASNPLUS==(x) ? "add-assign" \ - : "assignment" )) + : (RWL_STACK_ASNADD==(x) ? "add-assign" \ + : (RWL_STACK_ASNSUB==(x) ? "sub-assign" \ + : "assignment" ))) /* calculations */ , RWL_STACK_ADD /* add function */ , RWL_STACK_MUL /* multiply function */ @@ -1511,8 +1521,8 @@ struct rwl_pstack rwl_value psnum; /* if a constant */ rwl_stack_t elemtype; /* what kind of element is it */ - ub1 skipnxt; - ub1 skipend; + ub2 skipnxt; + ub2 skipend; ub1 branchtype; /* see also below */ #define RWL_EXP_ORBRANCH 1 /* end of left or branch */ #define RWL_EXP_ANDBRANCH 2 /* end of left and branch */ @@ -1543,8 +1553,8 @@ struct rwl_estack rwl_value esnum; /* constant value if a constant */ rwl_stack_t elemtype; /* a value, and operator, etc */ rwl_type evaltype; // The type use for e.g. comparison - ub1 skipnxt; - ub1 skipend; + ub2 skipnxt; + ub2 skipend; ub1 branchtype; ub4 filasn; }; @@ -1644,6 +1654,7 @@ enum rwl_code_t , RWL_CODE_LIBEG // loop iterator begin , RWL_CODE_LITOP // loop iterator top of loop , RWL_CODE_LIEND // loop iterator end of loop +, RWL_CODE_NOSTATISTICS // make this call not save statistics // these MUST come last for rwlprintvar , RWL_CODE_END // return/finish */ @@ -1795,6 +1806,52 @@ extern void rwlexprclear(rwl_main *); extern void rwlexpreval(rwl_estack *, rwl_location *, rwl_xeqenv *, rwl_value *); extern void rwlexprprint(rwl_estack *, rwl_location *, rwl_xeqenv *, FILE *); extern void rwlexprdestroy(rwl_main *, rwl_estack *); + +// The following two macros implement bit and bis on a variable +// given by the first argument for a bit given be the second argument +// The real implementation are these +// rwlexprbis: vvv += (vvv/bbb)%2 ? 0 : bbb +// rwlexprbic: vvv -= (vvv/bbb)%2 ? bbb : 0 +// note that bbb must be rwl_onep, rwl_twop, rwl_fourp, etc +// +#define rwlexprbis(rwm, vvv, bbb) \ + /* vvv */ rwlexprpush(rwm, vvv, RWL_STACK_VAR); \ + /* bbb */ rwlexprpush(rwm, bbb, RWL_STACK_NUM); \ + /* / */ rwlexprpush0(rwm, RWL_STACK_DIV); \ + /* 2 */ rwlexprpush(rwm, rwl_twop, RWL_STACK_NUM); \ + /* % */ rwlexprpush0(rwm, RWL_STACK_MOD); \ + rwm->skipdep++; \ + rwm->ptail->branchtype = RWL_EXP_CONDBRANCH1; \ + rwm->ptail->skipnxt = rwm->skipdep; \ + /* 0 */ rwlexprpush(rwm, rwl_zerop, RWL_STACK_NUM); \ + rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; \ + rwm->ptail->skipnxt = rwm->skipdep; \ + /* bbb */ rwlexprpush(rwm, bbb, RWL_STACK_NUM); \ + /* ?: */ rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, \ + rwm->skipdep); \ + /*vvv+=*/ rwlexprpush(rwm, vvv, RWL_STACK_ASNADD); \ + rwm->skipdep-- + +#define rwlexprbic(rwm, vvv, bbb) \ + /* vvv */ rwlexprpush(rwm, vvv, RWL_STACK_VAR); \ + /* bbb */ rwlexprpush(rwm, bbb, RWL_STACK_NUM); \ + /* / */ rwlexprpush0(rwm, RWL_STACK_DIV); \ + /* 2 */ rwlexprpush(rwm, rwl_twop, RWL_STACK_NUM); \ + /* % */ rwlexprpush0(rwm, RWL_STACK_MOD); \ + rwm->skipdep++; \ + rwm->ptail->branchtype = RWL_EXP_CONDBRANCH1; \ + rwm->ptail->skipnxt = rwm->skipdep; \ + /* bbb */ rwlexprpush(rwm, bbb, RWL_STACK_NUM); \ + rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; \ + rwm->ptail->skipnxt = rwm->skipdep; \ + /* 0 */ rwlexprpush(rwm, rwl_zerop, RWL_STACK_NUM); \ + /* ?: */ rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, \ + rwm->skipdep); \ + /*vvv-=*/ rwlexprpush(rwm, vvv, RWL_STACK_ASNSUB); \ + rwm->skipdep-- + + + extern void rwlprintallvars(rwl_main *); extern void rwlprintvar(rwl_xeqenv *, ub4); extern void rwlvitags(rwl_main *); diff --git a/src/rwlcodeadd.c b/src/rwlcodeadd.c index b76dbf6b..84131430 100644 --- a/src/rwlcodeadd.c +++ b/src/rwlcodeadd.c @@ -13,6 +13,8 @@ * * History * + * bengsig 17-apr-2024 - nostatistics statement + * bengsig 16-apr-2024 - bit operation on clflags, -= * bengsig 7-mar-2024 - a few lob changes * johnkenn 06-mar-2024 - writelob offset * bengsig 30-jan-2024 - All includes in rwl.h @@ -183,6 +185,7 @@ void rwlcodeadd(rwl_main *rwm, rwl_code_t ctype, void *parg1 case RWL_CODE_CQNREGDONE : rwm->code[rwm->ccount].cname = "cqnregdone"; break; case RWL_CODE_CQNUNREG : rwm->code[rwm->ccount].cname = "cqnunreg"; break; case RWL_CODE_CQNBREAK : rwm->code[rwm->ccount].cname = "cqnbrk"; break; + case RWL_CODE_NOSTATISTICS : rwm->code[rwm->ccount].cname = "nostat"; break; default: rwlsevere(rwm, "[rwlcodeadd-badctype:%d]", ctype); } @@ -197,6 +200,7 @@ void rwlcodeadd(rwl_main *rwm, rwl_code_t ctype, void *parg1 rwm->code[rwm->ccount].ceint4 = (sb4) arg4; break; + case RWL_CODE_NOSTATISTICS: case RWL_CODE_ABORT: case RWL_CODE_END: case RWL_CODE_SHIFT: @@ -800,19 +804,9 @@ void rwlloophead(rwl_main *rwm) estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); - /* clflags := 1 - * - * This is used in rwlcoderun for SQLHEAD when using a dedicated database - * to imply we should assume the database was only gotten "now", while we - * wanted to get it earlier. The real affect of this is that even dedicated - * databases will simulate a queue on the incoming side if actual execution time - * is longer than the time expecected. - * - * see rwlcoderun for where this is used - */ + /* bis(clflags,1) */ rwlexprbeg(rwm); - rwlexprpush(rwm, rwl_onep, RWL_STACK_NUM); - rwlexprpush(rwm, RWL_CLFLAGS_VAR, RWL_STACK_ASNINT); + rwlexprbis(rwm, RWL_CLFLAGS_VAR, rwl_onep); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } @@ -929,10 +923,9 @@ void rwlloopfinish(rwl_main *rwm) if ( rwm->everytime && rwlqueueevery(rwm)) { - /* clflags := 0 */ + /* bic(clflags,1) */ rwlexprbeg(rwm); - rwlexprpush(rwm, rwl_zerop, RWL_STACK_NUM); - rwlexprpush(rwm, RWL_CLFLAGS_VAR, RWL_STACK_ASNINT); + rwlexprbic(rwm, RWL_CLFLAGS_VAR, rwl_onep); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } diff --git a/src/rwlcoderun.c b/src/rwlcoderun.c index bedaa75a..26d62aa8 100644 --- a/src/rwlcoderun.c +++ b/src/rwlcoderun.c @@ -14,6 +14,7 @@ * * History * + * bengsig 17-apr-2024 - nostatistics statement * bengsig 21-mar-2024 - reconnect database fix * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 7-mar-2024 - a few lob changes @@ -113,7 +114,7 @@ void *rwlcoderun ( rwl_xeqenv *xev) // tend is the time at which the procedure terminates // texec is the second the is the registration time, i.e. the second column of persec text *codename; - rwl_identifier *pproc; + rwl_identifier *pproc = 0; pc = xev->start[xev->pcdepth]; codename = xev->xqcname[xev->pcdepth]; @@ -142,6 +143,7 @@ void *rwlcoderun ( rwl_xeqenv *xev) rwlcoderun_return; } pproc = xev->evar+pvnum; + bic(pproc->flags, RWL_IDENT_NOSTATNOW); } break; @@ -300,6 +302,13 @@ void *rwlcoderun ( rwl_xeqenv *xev) break; case RWL_CODE_HEAD: + if (!pproc) + { + rwlexecsevere(xev, &xev->rwm->code[pc].cloc + , "[rwlcoderun-headnoproc:%d]", pc); + } + else + bic(pproc->flags, RWL_IDENT_NOSTATNOW); if (bit(xev->rwm->mflags, RWL_DEBUG_EXECUTE)) rwldebug(xev->rwm, "at recursive depth %d, pc=%d, pvar=%d executing HEAD %s" , xev->pcdepth @@ -311,6 +320,13 @@ void *rwlcoderun ( rwl_xeqenv *xev) break; case RWL_CODE_HEADSTATS: + if (!pproc) + { + rwlexecsevere(xev, &xev->rwm->code[pc].cloc + , "[rwlcoderun-headstatsnoproc:%d]", pc); + } + else + bic(pproc->flags, RWL_IDENT_NOSTATNOW); if (bit(xev->rwm->mflags, RWL_DEBUG_EXECUTE)) rwldebug(xev->rwm, "at recursive depth %d, pc=%d, pvar=%d executing HEADSTATS %s" , xev->pcdepth @@ -321,7 +337,7 @@ void *rwlcoderun ( rwl_xeqenv *xev) // when the procedure starts // wattim = 0.0; tgotdb = rwlclock(xev, &xev->rwm->code[pc].cloc); - if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && *xev->pclflags) + if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && bit(*xev->pclflags,0x1)) // Set the start of the procedure to the time we really // would have wanted it to start if we have // $queueeverytime:on in effect @@ -335,6 +351,13 @@ void *rwlcoderun ( rwl_xeqenv *xev) case RWL_CODE_SQLHEAD: { + if (!pproc) + { + rwlexecsevere(xev, &xev->rwm->code[pc].cloc + , "[rwlcoderun-sqlheadnoproc:%d]", pc); + } + else + bic(pproc->flags, RWL_IDENT_NOSTATNOW); /* database calls needed */ if (bit(xev->rwm->mflags, RWL_DEBUG_EXECUTE)) rwldebug(xev->rwm, "at recursive depth %d, pc=%d, pvar=%d executing SQLHEAD %s dead=%d" @@ -357,7 +380,7 @@ void *rwlcoderun ( rwl_xeqenv *xev) && !bit(xev->tflags, RWL_P_ISMAIN) ) { - if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && *xev->pclflags) + if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && bit(*xev->pclflags,0x1)) // Set the start of the procedure to the time we really // would have wanted it to start if we have // $queueeverytime:on in effect @@ -427,7 +450,7 @@ void *rwlcoderun ( rwl_xeqenv *xev) // When $queueeverytimes:on is in effect, we adjust the time // when we say we got the database although it is possibly only // a tiny bit more than what it was - if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && *xev->pclflags) + if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && bit(*xev->pclflags,0x1)) tgotdb = rwlclock(xev, &xev->rwm->code[pc].cloc); else tgotdb = thead; @@ -586,15 +609,25 @@ void *rwlcoderun ( rwl_xeqenv *xev) } } - rwlstatsincr(xev, xev->evar+l3, &xev->rwm->code[pc].cloc - , tgotdb - thead, tend - tgotdb, texec - , bit(xev->rwm->m4flags, RWL_P4_STATSATIME) - ? tend - tgotdb - (xev->otimesum - begocitime) - : 0.0 - , bit(xev->rwm->m4flags, RWL_P4_STATSDTIME) - ? xev->dtimesum - begdbtime - : 0.0 - ); + if (!pproc) + { + rwlexecsevere(xev, &xev->rwm->code[pc].cloc + , "[rwlcoderun-statsincrnoproc:%d]", pc); + } + else + { + if (!bit(pproc->flags, RWL_IDENT_NOSTATNOW)) + rwlstatsincr(xev, xev->evar+l3, &xev->rwm->code[pc].cloc + , tgotdb - thead, tend - tgotdb, texec + , bit(xev->rwm->m4flags, RWL_P4_STATSATIME) + ? tend - tgotdb - (xev->otimesum - begocitime) + : 0.0 + , bit(xev->rwm->m4flags, RWL_P4_STATSDTIME) + ? xev->dtimesum - begdbtime + : 0.0 + ); + bic(pproc->flags, RWL_IDENT_NOSTATNOW); + } xev->oraerrcount = 0; } } @@ -730,6 +763,17 @@ void *rwlcoderun ( rwl_xeqenv *xev) } pc ++; break; + + case RWL_CODE_NOSTATISTICS: + if (!pproc) + { + rwlexecsevere(xev, &xev->rwm->code[pc].cloc + , "[rwlcoderun-codenostatnoproc:%d]", pc); + } + else + bis(pproc->flags, RWL_IDENT_NOSTATNOW); + pc++; + break; case RWL_CODE_DYNBINDEF: { diff --git a/src/rwldilex.l b/src/rwldilex.l index d069eebf..5d74a884 100644 --- a/src/rwldilex.l +++ b/src/rwldilex.l @@ -14,6 +14,7 @@ * * History * + * bengsig 16-apr-2024 - -= * bengsig 27-feb-2024 - winslashf2b functions * bengsig 14-feb-2024 - yy* -> rwm->rwly* * bengsig 10-jan-2024 - $linux etc @@ -273,6 +274,7 @@ ">|=" | "<|=" | "+=" | +"-=" | "sql_id" | "serverrelease" | "ceil" | diff --git a/src/rwlerror.h b/src/rwlerror.h index 493aebfe..905db24a 100644 --- a/src/rwlerror.h +++ b/src/rwlerror.h @@ -11,6 +11,7 @@ * * History * + * bengsig 17-apr-2024 - nostatistics statement * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 5-mar-2024 - atime, dtime * bengsig 20-feb-2024 - A few windows related errors @@ -1808,6 +1809,10 @@ RWLEDESC("When the $oraerror:showoci directive is in effect, this warning will b "after each ORA- error to show which Oracle Call Interface call was causing the" RWL_LINEEND "error") +#define RWL_ERROR_NOSTATS_NO_EFFECT 321 +RWLERROR("nostatistics has no effect here", RWL_ERROR_WARNING) +RWLEDESC("The nostatistics statement only has an effect inside a declared proedure") + // When adding new errors, add them before these lines // and make sure the #define follows a format like // #define RWL_ERROR_whatever_reasonable_here NNN diff --git a/src/rwlexprcomp.c b/src/rwlexprcomp.c index ee47c3ac..114a8f97 100644 --- a/src/rwlexprcomp.c +++ b/src/rwlexprcomp.c @@ -19,6 +19,7 @@ * * History * + * bengsig 16-apr-2024 - -= * bengsig 27-feb-2024 - winslashf2b functions * bengsig 30-jan-2024 - All includes in rwl.h, use *rand_r functions on Linux * johnkenn 02-nov-2023 - Add sin and cos @@ -116,6 +117,36 @@ const rwl_value rwl_one = , 0 // alen }; +const rwl_value rwl_two = +{ + 2.0 // dval +, 2 // ival +, 0 // vptr +, 0 // v2prt +, (text*) "2" // sval +, 2 // slen (sizeof("1")) +, RWL_SVALLOC_CONST +, RWL_TYPE_INT // vtype +, 0 // valflags +, 0 // isnull +, 0 // alen +}; + +const rwl_value rwl_four = +{ + 4.0 // dval +, 4 // ival +, 0 // vptr +, 0 // v2prt +, (text*) "4" // sval +, 2 // slen (sizeof("1")) +, RWL_SVALLOC_CONST +, RWL_TYPE_INT // vtype +, 0 // valflags +, 0 // isnull +, 0 // alen +}; + /* parse time: start expression stack */ void rwlexprbeg(rwl_main *rwm) { @@ -194,7 +225,8 @@ void rwlexprpush2(rwl_main *rwm, const void *elem, rwl_stack_t etype, ub4 arg2) case RWL_STACK_VAR: case RWL_STACK_ASN: - case RWL_STACK_ASNPLUS: + case RWL_STACK_ASNADD: + case RWL_STACK_ASNSUB: case RWL_STACK_APP: case RWL_STACK_ASNINT: @@ -236,7 +268,7 @@ void rwlexprpush2(rwl_main *rwm, const void *elem, rwl_stack_t etype, ub4 arg2) , RWL_STACK_ASSIGN_TEXT(etype)); etype = RWL_STACK_NOV; } - if ((RWL_STACK_ASN == etype || RWL_STACK_ASNPLUS == etype) + if ((RWL_STACK_ASN == etype || RWL_STACK_ASNADD == etype || RWL_STACK_ASNSUB == etype) && bit(rwm->mxq->evar[varloc].flags,RWL_IDENT_INTERNAL)) { /* cannot assign to internally created variables */ @@ -256,9 +288,10 @@ void rwlexprpush2(rwl_main *rwm, const void *elem, rwl_stack_t etype, ub4 arg2) , "file-assign"); etype = RWL_STACK_NOV; } - if (RWL_STACK_ASNPLUS == etype && !bit(rwm->mxq->evar[varloc].flags,RWL_IDENT_INTERNAL)) + if ((RWL_STACK_ASNADD==etype || RWL_STACK_ASNSUB==etype) + && !bit(rwm->mxq->evar[varloc].flags,RWL_IDENT_INTERNAL)) { - /* cannot += to string */ + /* cannot += or -= to string */ rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2 , rwm->mxq->evar[varloc].stype , rwm->mxq->evar[varloc].vname @@ -563,7 +596,8 @@ void rwlexprpush2(rwl_main *rwm, const void *elem, rwl_stack_t etype, ub4 arg2) /* fall thru */ case RWL_STACK_APP: /* append to a variable */ case RWL_STACK_ASNINT: - case RWL_STACK_ASNPLUS: /* += variable */ + case RWL_STACK_ASNADD: /* += variable */ + case RWL_STACK_ASNSUB: /* -= variable */ case RWL_STACK_VAR: /* read a variable */ case RWL_STACK_SQL_ID: /* get the sql_id of a sql */ case RWL_STACK_ACTIVESESSIONCOUNT: /* get the count of sessions in a database */ @@ -662,7 +696,8 @@ rwl_estack *rwlexprfinish(rwl_main *rwm) case RWL_STACK_ASN: estk[i].filasn = pstk->filasn; /* fall thru */ - case RWL_STACK_ASNPLUS: + case RWL_STACK_ASNADD: + case RWL_STACK_ASNSUB: case RWL_STACK_APP: estk[i].esname = pstk->psvar.vname; @@ -786,7 +821,8 @@ rwl_estack *rwlexprfinish(rwl_main *rwm) rwlerror(rwm, RWL_ERROR_GLOB_ASSIGN_IN_EXP, estk[i].esname); //FALLTHROUGH case RWL_STACK_ASN: - case RWL_STACK_ASNPLUS: + case RWL_STACK_ASNADD: + case RWL_STACK_ASNSUB: case RWL_STACK_ASNINT: estk[i].evaltype = tstk[i] = rwm->mxq->evar[estk[i].esvar].vtype; break; diff --git a/src/rwlexpreval.c b/src/rwlexpreval.c index c9c2e5da..a6926ad1 100644 --- a/src/rwlexpreval.c +++ b/src/rwlexpreval.c @@ -14,6 +14,7 @@ * * History * + * bengsig 16-apr-2024 - -= * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 27-feb-2024 - winslashf2b functions * bengsig 21-feb-2024 - pclose -> rwlpclose @@ -188,7 +189,8 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v break; case RWL_STACK_ASN: case RWL_STACK_APP: - case RWL_STACK_ASNPLUS: + case RWL_STACK_ASNADD: + case RWL_STACK_ASNSUB: case RWL_STACK_ASNINT: //vv = &xev->evar[stk[explen].esvar]; vv = rwlidgetmx(xev, loc, stk[explen].esvar); @@ -370,9 +372,14 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v vv = &xev->evar[stk[j].esvar]; fprintf(stderr," APP:%s", vv->vname); break; - case RWL_STACK_ASNPLUS: + case RWL_STACK_ASNADD: vv = &xev->evar[stk[j].esvar]; - fprintf(stderr," ASNPLUS:%s", vv->vname); + fprintf(stderr," ASNADD:%s", vv->vname); + break; + break; + case RWL_STACK_ASNSUB: + vv = &xev->evar[stk[j].esvar]; + fprintf(stderr," ASNSUB:%s", vv->vname); break; break; case RWL_STACK_ASN: @@ -835,7 +842,8 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v break; case RWL_STACK_ASN: - case RWL_STACK_ASNPLUS: + case RWL_STACK_ASNADD: + case RWL_STACK_ASNSUB: case RWL_STACK_ASNINT: if (i<1) goto stack1short; vv = rwlidgetmx(xev,loc,stk[i].esvar); @@ -1111,7 +1119,7 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v else /* handle anything else than FILE */ { /* add or copy actual values */ - if (RWL_STACK_ASNPLUS == stk[i].elemtype) + if (RWL_STACK_ASNADD == stk[i].elemtype) { if (nn->vtype == RWL_TYPE_DBL) { @@ -1124,6 +1132,19 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v nn->dval = (double) nn->ival; } } + else if (RWL_STACK_ASNSUB == stk[i].elemtype) + { + if (nn->vtype == RWL_TYPE_DBL) + { + nn->dval -= cnp->dval; + nn->ival = (sb8) trunc(nn->dval); + } + else + { + nn->ival -= cnp->ival; + nn->dval = (double) nn->ival; + } + } else { nn->dval = cnp->dval; @@ -1150,7 +1171,8 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v , nn->vsalloc); else { - if (RWL_STACK_ASNPLUS == stk[i].elemtype + if (RWL_STACK_ASNADD == stk[i].elemtype + || RWL_STACK_ASNSUB == stk[i].elemtype || RWL_TYPE_INT == stk[i].evaltype || RWL_TYPE_DBL == stk[i].evaltype) { @@ -2176,10 +2198,12 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v if (tainted || (skip && skip != stk[i].skipend)) goto pop_three; skip=0; if (bit(xev->tflags,RWL_THR_DEVAL)) - rwldebugcode(xev->rwm, loc, "at %d: " RWL_SB8PRINTF "/%.2f ? " RWL_SB8PRINTF "/%.2f : " RWL_SB8PRINTF "/%.2f", i + rwldebugcode(xev->rwm, loc, "at %d: " RWL_SB8PRINTF "/%.2f ? " RWL_SB8PRINTF "/%.2f : " RWL_SB8PRINTF "/%.2f %d %d %d", i , cstak[i-3].ival, cstak[i-3].dval , cstak[i-2].ival, cstak[i-2].dval - , cstak[i-1].ival, cstak[i-1].dval); + , cstak[i-1].ival, cstak[i-1].dval + , cstak[i-3].isnull, cstak[i-2].isnull, cstak[i-1].isnull + ); if( cstak[i-3].isnull) { diff --git a/src/rwllexer.l b/src/rwllexer.l index e3718c97..35b14b0a 100644 --- a/src/rwllexer.l +++ b/src/rwllexer.l @@ -11,6 +11,7 @@ * * History * + * bengsig 17-apr-2024 - -= * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 15-mar-2024 - $connecterror:accept * bengsig 4-mar-2024 - atime, dtime @@ -638,8 +639,10 @@ "<>" if (!rwm->ifdirbit) return RWL_T_NOTEQ; /*LEXTAG:RWL_T_ASSIGN*/ ":=" if (!rwm->ifdirbit) return RWL_T_ASSIGN; - /*LEXTAG:RWL_T_ASNPLUS*/ -"+=" if (!rwm->ifdirbit) return RWL_T_ASNPLUS; + /*LEXTAG:RWL_T_ASNADD*/ +"+=" if (!rwm->ifdirbit) return RWL_T_ASNADD; + /*LEXTAG:RWL_T_ASNSUB*/ +"-=" if (!rwm->ifdirbit) return RWL_T_ASNSUB; /*LEXTAG:RWL_T_CONCAT*/ "||" if (!rwm->ifdirbit) return RWL_T_CONCAT; /*LEXTAG:RWL_T_PIPETO*/ @@ -695,11 +698,10 @@ } "*=" | "/=" | -"<<=" | -"-=" { +"<<=" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); // return something so compilation continues - if (!rwm->ifdirbit) return RWL_T_ASNPLUS; + if (!rwm->ifdirbit) return RWL_T_ASNADD; } "mutex" | diff --git a/src/rwlmisc.c b/src/rwlmisc.c index b50e268f..55fd2a67 100644 --- a/src/rwlmisc.c +++ b/src/rwlmisc.c @@ -14,6 +14,7 @@ * * History * + * bengsig 16-apr-2024 - bit operation on clflags * bengsig 9-apr-2024 - Add k K printf specifier for bytes/Bytes * bengsig 25-mar-2024 - everyuntil is not internal * bengsig 4-mar-2024 - atime, dtime @@ -340,6 +341,7 @@ void rwlinit3(rwl_main *rwm) char buf[RWL_PFBUF]; time_t sinceepoch; struct tm *tstamp; + rwl_estack *estk = 0; FILE *urandom; #if RWL_OS == RWL_WINDOWS signal(SIGINT, rwlctrlc); @@ -585,6 +587,18 @@ void rwlinit3(rwl_main *rwm) l = rwladdvar(rwm, RWL_CLFLAGS_VAR , RWL_TYPE_INT, RWL_IDENT_NOPRINT); if (l<0) rwlsevere(rwm,"[rwlinit-internk:%s;%d]", RWL_CLFLAGS_VAR, l); + // assign 0 to it initially + rwlexprbeg(rwm); + rwlexprpush(rwm, rwl_zerop, RWL_STACK_NUM); + rwlexprpush(rwm, RWL_CLFLAGS_VAR, RWL_STACK_ASNINT); + if ((estk = rwlexprfinish(rwm))) + { + rwlexpreval(estk, &rwm->loc, rwm->mxq, 0); + rwlexprdestroy(rwm, estk); + } + else + rwlsevere(rwm,"[rwlinit3-zeroclflags:%s;%d]", RWL_CLFLAGS_VAR, l); + l = rwladdvar(rwm, RWL_ARRIVETIME_VAR, RWL_TYPE_DBL, RWL_IDENT_NOPRINT); if (l<0) rwlsevere(rwm,"[rwlinit-internl%s;%d]", RWL_ARRIVETIME_VAR, l); diff --git a/src/rwlparser.tab.c b/src/rwlparser.tab.c index ea71ed11..7492e065 100644 --- a/src/rwlparser.tab.c +++ b/src/rwlparser.tab.c @@ -69,7 +69,7 @@ /* Copy the first part of user declarations. */ -#line 153 "rwlparser.y" /* yacc.c:339 */ +#line 155 "rwlparser.y" /* yacc.c:339 */ #include "rwl.h" @@ -95,7 +95,8 @@ static const rwl_yt2txt rwlyt2[] = , {"RWL_T_AND", "'and'"} , {"RWL_T_APPEND", "'||='"} , {"RWL_T_ARRAY", "'array'"} - , {"RWL_T_ASNPLUS", "'+='"} + , {"RWL_T_ASNADD", "'+='"} + , {"RWL_T_ASNSUB", "'-='"} , {"RWL_T_ASSIGN", "':='"} , {"RWL_T_AT", "'at'"} , {"RWL_T_ATAN2", "'atan2'"} @@ -362,7 +363,7 @@ static void rwlyerror(rwl_main *rwm, const char *in) rwlcomp(rwlparser_y, RWL_GCCFLAGS) -#line 366 "rwlparser.tab.c" /* yacc.c:339 */ +#line 367 "rwlparser.tab.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -479,89 +480,90 @@ extern int rwlydebug; RWL_T_COMMIT = 329, RWL_T_ROLLBACK = 330, RWL_T_EVERY = 331, - RWL_T_ASNPLUS = 332, - RWL_T_STOP = 333, - RWL_T_START = 334, - RWL_T_COUNT = 335, - RWL_T_AT = 336, - RWL_T_BREAK = 337, - RWL_T_RETURN = 338, - RWL_T_ABORT = 339, - RWL_T_MODIFY = 340, - RWL_T_CURSORCACHE = 341, - RWL_T_NOCURSORCACHE = 342, - RWL_T_LEAK = 343, - RWL_T_SHIFT = 344, - RWL_T_WHEN = 345, - RWL_T_STATISTICS = 346, - RWL_T_NOSTATISTICS = 347, - RWL_T_FUNCTION = 348, - RWL_T_PUBLIC = 349, - RWL_T_OCIPING = 350, - RWL_T_QUEUE = 351, - RWL_T_NOQUEUE = 352, - RWL_T_PRIVATE = 353, - RWL_T_BEGIN = 354, - RWL_T_RELEASE = 355, - RWL_T_SYSTEM = 356, - RWL_T_CLOB = 357, - RWL_T_BLOB = 358, - RWL_T_NCLOB = 359, - RWL_T_READLOB = 360, - RWL_T_WRITELOB = 361, - RWL_T_RAW = 362, - RWL_T_EXIT = 363, - RWL_T_SUBSTR = 364, - RWL_T_SUBSTRB = 365, - RWL_T_LENGTH = 366, - RWL_T_LENGTHB = 367, - RWL_T_SQL_ID = 368, - RWL_T_GETENV = 369, - RWL_T_LOG = 370, - RWL_T_EXP = 371, - RWL_T_ROUND = 372, - RWL_T_ACTIVESESSIONCOUNT = 373, - RWL_T_REQUESTMARK = 374, - RWL_T_SPRINTF = 375, - RWL_T_OPENSESSIONCOUNT = 376, - RWL_T_STATEMARK = 377, - RWL_T_REGEXSUB = 378, - RWL_T_REGEXSUBG = 379, - RWL_T_SERVERRELEASE = 380, - RWL_T_SQL = 381, - RWL_T_SQL_TEXT = 382, - RWL_T_INSTR = 383, - RWL_T_INSTRB = 384, - RWL_T_CONNECTIONPOOL = 385, - RWL_T_CONNECTIONCLASS = 386, - RWL_T_UNSIGNED = 387, - RWL_T_HEXADECIMAL = 388, - RWL_T_OCTAL = 389, - RWL_T_FPRINTF = 390, - RWL_T_ENCODE = 391, - RWL_T_DECODE = 392, - RWL_T_STRING_CONST = 393, - RWL_T_IDENTIFIER = 394, - RWL_T_INTEGER_CONST = 395, - RWL_T_DOUBLE_CONST = 396, - RWL_T_PRINTF = 397, - RWL_T_PIPEFROM = 398, - RWL_T_PIPETO = 399, - RWL_T_RSHIFTASSIGN = 400, - RWL_T_GLOBAL = 401, - RWL_T_QUERYNOTIFICATION = 402, - RWL_T_NORMALRANDOM = 403, - RWL_T_STATISTICSONLY = 404, - RWL_T_CEIL = 405, - RWL_T_TRUNC = 406, - RWL_T_FLOOR = 407, - RWL_T_LOBPREFETCH = 408, - RWL_T_SIN = 409, - RWL_T_COS = 410, - RWL_T_ATAN2 = 411, - RWL_T_WINSLASHF2B = 412, - RWL_T_WINSLASHF2BB = 413, - RWL_T_UMINUS = 414 + RWL_T_ASNADD = 332, + RWL_T_ASNSUB = 333, + RWL_T_STOP = 334, + RWL_T_START = 335, + RWL_T_COUNT = 336, + RWL_T_AT = 337, + RWL_T_BREAK = 338, + RWL_T_RETURN = 339, + RWL_T_ABORT = 340, + RWL_T_MODIFY = 341, + RWL_T_CURSORCACHE = 342, + RWL_T_NOCURSORCACHE = 343, + RWL_T_LEAK = 344, + RWL_T_SHIFT = 345, + RWL_T_WHEN = 346, + RWL_T_STATISTICS = 347, + RWL_T_NOSTATISTICS = 348, + RWL_T_FUNCTION = 349, + RWL_T_PUBLIC = 350, + RWL_T_OCIPING = 351, + RWL_T_QUEUE = 352, + RWL_T_NOQUEUE = 353, + RWL_T_PRIVATE = 354, + RWL_T_BEGIN = 355, + RWL_T_RELEASE = 356, + RWL_T_SYSTEM = 357, + RWL_T_CLOB = 358, + RWL_T_BLOB = 359, + RWL_T_NCLOB = 360, + RWL_T_READLOB = 361, + RWL_T_WRITELOB = 362, + RWL_T_RAW = 363, + RWL_T_EXIT = 364, + RWL_T_SUBSTR = 365, + RWL_T_SUBSTRB = 366, + RWL_T_LENGTH = 367, + RWL_T_LENGTHB = 368, + RWL_T_SQL_ID = 369, + RWL_T_GETENV = 370, + RWL_T_LOG = 371, + RWL_T_EXP = 372, + RWL_T_ROUND = 373, + RWL_T_ACTIVESESSIONCOUNT = 374, + RWL_T_REQUESTMARK = 375, + RWL_T_SPRINTF = 376, + RWL_T_OPENSESSIONCOUNT = 377, + RWL_T_STATEMARK = 378, + RWL_T_REGEXSUB = 379, + RWL_T_REGEXSUBG = 380, + RWL_T_SERVERRELEASE = 381, + RWL_T_SQL = 382, + RWL_T_SQL_TEXT = 383, + RWL_T_INSTR = 384, + RWL_T_INSTRB = 385, + RWL_T_CONNECTIONPOOL = 386, + RWL_T_CONNECTIONCLASS = 387, + RWL_T_UNSIGNED = 388, + RWL_T_HEXADECIMAL = 389, + RWL_T_OCTAL = 390, + RWL_T_FPRINTF = 391, + RWL_T_ENCODE = 392, + RWL_T_DECODE = 393, + RWL_T_STRING_CONST = 394, + RWL_T_IDENTIFIER = 395, + RWL_T_INTEGER_CONST = 396, + RWL_T_DOUBLE_CONST = 397, + RWL_T_PRINTF = 398, + RWL_T_PIPEFROM = 399, + RWL_T_PIPETO = 400, + RWL_T_RSHIFTASSIGN = 401, + RWL_T_GLOBAL = 402, + RWL_T_QUERYNOTIFICATION = 403, + RWL_T_NORMALRANDOM = 404, + RWL_T_STATISTICSONLY = 405, + RWL_T_CEIL = 406, + RWL_T_TRUNC = 407, + RWL_T_FLOOR = 408, + RWL_T_LOBPREFETCH = 409, + RWL_T_SIN = 410, + RWL_T_COS = 411, + RWL_T_ATAN2 = 412, + RWL_T_WINSLASHF2B = 413, + RWL_T_WINSLASHF2BB = 414, + RWL_T_UMINUS = 415 }; #endif @@ -570,7 +572,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 462 "rwlparser.y" /* yacc.c:355 */ +#line 465 "rwlparser.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -584,7 +586,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 588 "rwlparser.tab.c" /* yacc.c:355 */ +#line 590 "rwlparser.tab.c" /* yacc.c:355 */ }; typedef union RWLYSTYPE RWLYSTYPE; @@ -600,7 +602,7 @@ int rwlyparse (rwl_main *rwm); /* Copy the second part of user declarations. */ -#line 604 "rwlparser.tab.c" /* yacc.c:358 */ +#line 606 "rwlparser.tab.c" /* yacc.c:358 */ #ifdef short # undef short @@ -842,21 +844,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 5161 +#define YYLAST 5515 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 175 +#define YYNTOKENS 176 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 290 /* YYNRULES -- Number of rules. */ -#define YYNRULES 660 +#define YYNRULES 662 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1213 +#define YYNSTATES 1216 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 414 +#define YYMAXUTOK 415 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -868,10 +870,10 @@ 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, 167, 2, 2, 2, 166, 2, 2, - 170, 171, 164, 163, 172, 162, 2, 165, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 174, 169, - 160, 159, 161, 173, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 168, 2, 2, 2, 167, 2, 2, + 171, 172, 165, 164, 173, 163, 2, 166, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 175, 170, + 161, 160, 162, 174, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -906,80 +908,80 @@ static const yytype_uint8 yytranslate[] = 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 168 + 155, 156, 157, 158, 159, 169 }; #if RWLYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 519, 519, 526, 530, 532, 531, 552, 553, 554, - 556, 559, 567, 569, 586, 585, 595, 594, 603, 602, - 612, 611, 621, 626, 635, 636, 640, 639, 646, 651, - 659, 660, 664, 663, 671, 670, 743, 748, 749, 761, - 762, 765, 766, 769, 779, 784, 792, 805, 836, 847, - 897, 896, 912, 922, 921, 938, 948, 958, 968, 981, - 982, 985, 993, 1003, 1014, 1029, 1030, 1042, 1044, 1043, - 1056, 1057, 1063, 1062, 1090, 1097, 1104, 1105, 1109, 1110, - 1113, 1126, 1125, 1177, 1189, 1188, 1209, 1214, 1221, 1226, - 1233, 1318, 1319, 1323, 1332, 1333, 1336, 1337, 1338, 1342, - 1343, 1347, 1375, 1377, 1379, 1381, 1396, 1401, 1406, 1414, - 1415, 1417, 1419, 1438, 1440, 1439, 1455, 1454, 1470, 1469, - 1485, 1528, 1542, 1556, 1570, 1582, 1586, 1587, 1588, 1589, - 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, - 1600, 1602, 1604, 1606, 1608, 1609, 1612, 1615, 1616, 1620, - 1625, 1626, 1627, 1629, 1631, 1632, 1634, 1645, 1656, 1660, - 1666, 1670, 1676, 1680, 1686, 1691, 1695, 1703, 1701, 1728, - 1734, 1740, 1744, 1745, 1749, 1750, 1754, 1759, 1760, 1761, - 1766, 1767, 1768, 1769, 1773, 1774, 1775, 1776, 1780, 1781, - 1782, 1786, 1787, 1788, 1789, 1790, 1791, 1795, 1796, 1797, - 1801, 1803, 1802, 1820, 1822, 1821, 1837, 1839, 1848, 1838, - 1863, 1864, 1868, 1869, 1879, 1880, 1884, 1892, 1895, 1894, - 1901, 1904, 1903, 1907, 1909, 1911, 1913, 1916, 1922, 1951, - 1968, 1970, 1971, 1975, 1977, 1981, 1983, 1988, 1987, 1994, - 1993, 2005, 2010, 2009, 2017, 2021, 2045, 2071, 2069, 2097, - 2095, 2205, 2214, 2213, 2217, 2216, 2221, 2227, 2226, 2236, - 2235, 2244, 2257, 2262, 2256, 2290, 2298, 2303, 2297, 2332, - 2339, 2355, 2354, 2367, 2383, 2394, 2400, 2406, 2418, 2430, - 2440, 2450, 2449, 2462, 2468, 2466, 2584, 2591, 2607, 2609, - 2611, 2611, 2612, 2615, 2617, 2619, 2616, 2621, 2625, 2624, - 2739, 2772, 2780, 2805, 2779, 2856, 2857, 2858, 2859, 2861, - 2862, 2870, 2871, 2879, 2880, 2889, 2892, 2891, 2900, 2902, - 2910, 2918, 2927, 2935, 2937, 2944, 2945, 2956, 2992, 3029, - 3070, 3087, 3069, 3128, 3135, 3142, 3141, 3173, 3174, 3182, - 3181, 3229, 3231, 3230, 3240, 3391, 3390, 3538, 3544, 3547, - 3563, 3567, 3571, 3578, 3579, 3583, 3583, 3597, 3597, 3613, - 3613, 3629, 3629, 3643, 3643, 3674, 3675, 3676, 3679, 3685, - 3684, 3694, 3693, 3711, 3710, 3758, 3773, 3782, 3757, 3819, - 3827, 3828, 3828, 3841, 3840, 3847, 3848, 3849, 3855, 3856, - 3860, 3864, 3872, 3876, 3880, 3888, 3889, 3895, 3901, 3903, - 3906, 3907, 3912, 3911, 4013, 4015, 4014, 4069, 4073, 4077, - 4078, 4082, 4097, 4106, 4121, 4130, 4134, 4140, 4157, 4164, - 4174, 4175, 4176, 4180, 4181, 4197, 4207, 4213, 4221, 4227, - 4235, 4241, 4249, 4254, 4261, 4262, 4263, 4267, 4268, 4267, - 4278, 4282, 4283, 4282, 4292, 4299, 4300, 4303, 4303, 4384, - 4382, 4396, 4473, 4570, 4571, 4575, 4576, 4579, 4580, 4583, - 4584, 4587, 4591, 4595, 4599, 4618, 4624, 4626, 4629, 4630, - 4639, 4640, 4645, 4644, 4653, 4663, 4664, 4668, 4668, 4670, - 4669, 4678, 4677, 4681, 4688, 4689, 4693, 4693, 4695, 4694, - 4701, 4700, 4704, 4713, 4809, 4814, 4819, 4820, 4823, 4840, - 4857, 4874, 4897, 4897, 4928, 4949, 4949, 4972, 4971, 4987, - 4986, 5002, 5001, 5018, 5019, 5022, 5024, 5022, 5078, 5109, - 5108, 5145, 5146, 5154, 5153, 5177, 5178, 5182, 5181, 5220, - 5219, 5242, 5242, 5269, 5270, 5273, 5294, 5316, 5340, 5345, - 5353, 5354, 5354, 5358, 5419, 5454, 5469, 5509, 5518, 5519, - 5527, 5528, 5529, 5530, 5531, 5532, 5535, 5536, 5537, 5544, - 5551, 5542, 5577, 5577, 5590, 5603, 5604, 5608, 5621, 5622, - 5629, 5634, 5641, 5642, 5643, 5648, 5649, 5650, 5655, 5656, - 5657, 5662, 5663, 5664, 5669, 5674, 5675, 5686, 5697, 5708, - 5712, 5719, 5720, 5777, 5783, 5782, 5870, 5869, 5913, 5921, - 5923, 5927, 5931, 5920, 5973, 5982, 5986, 5993, 5995, 5999, - 5992, 6037, 6047, 6049, 6053, 6046, 6091, 6100, 6101, 6104, - 6147, 6156, 6182, 6181, 6212, 6218, 6219, 6222, 6223, 6227, - 6232, 6257, 6266, 6318, 6343, 6371, 6226, 6379, 6380, 6381, - 6389, 6390, 6398, 6416, 6397, 6420, 6424, 6425, 6432, 6433, - 6434, 6440, 6441, 6442, 6447, 6448, 6449, 6450, 6451, 6452, - 6453 + 0, 522, 522, 529, 533, 535, 534, 555, 556, 557, + 559, 562, 570, 572, 589, 588, 598, 597, 606, 605, + 615, 614, 624, 629, 638, 639, 643, 642, 649, 654, + 662, 663, 667, 666, 674, 673, 746, 751, 752, 764, + 765, 768, 769, 772, 782, 787, 795, 808, 839, 850, + 900, 899, 915, 925, 924, 941, 951, 961, 971, 984, + 985, 988, 996, 1006, 1017, 1032, 1033, 1045, 1047, 1046, + 1059, 1060, 1066, 1065, 1093, 1100, 1107, 1108, 1112, 1113, + 1116, 1129, 1128, 1180, 1192, 1191, 1212, 1217, 1224, 1229, + 1236, 1321, 1322, 1326, 1335, 1336, 1339, 1340, 1341, 1345, + 1346, 1350, 1378, 1380, 1382, 1384, 1399, 1404, 1409, 1417, + 1418, 1420, 1422, 1441, 1443, 1442, 1458, 1457, 1473, 1472, + 1488, 1531, 1545, 1559, 1573, 1585, 1589, 1590, 1591, 1592, + 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, + 1603, 1605, 1607, 1609, 1611, 1612, 1615, 1618, 1619, 1623, + 1628, 1629, 1630, 1632, 1634, 1635, 1637, 1648, 1659, 1663, + 1669, 1673, 1679, 1683, 1689, 1694, 1698, 1706, 1704, 1731, + 1737, 1743, 1747, 1748, 1752, 1753, 1757, 1762, 1763, 1764, + 1769, 1770, 1771, 1772, 1776, 1777, 1778, 1779, 1783, 1784, + 1785, 1789, 1790, 1791, 1792, 1793, 1794, 1798, 1799, 1800, + 1804, 1806, 1805, 1823, 1825, 1824, 1840, 1842, 1851, 1841, + 1866, 1867, 1871, 1872, 1882, 1883, 1887, 1895, 1898, 1897, + 1904, 1907, 1906, 1910, 1912, 1914, 1916, 1919, 1925, 1954, + 1969, 1982, 1984, 1985, 1989, 1991, 1995, 1997, 2002, 2001, + 2008, 2007, 2019, 2024, 2023, 2031, 2035, 2059, 2085, 2083, + 2111, 2109, 2219, 2228, 2227, 2231, 2230, 2235, 2241, 2240, + 2250, 2249, 2258, 2271, 2276, 2270, 2304, 2312, 2317, 2311, + 2346, 2353, 2369, 2368, 2381, 2397, 2408, 2414, 2420, 2432, + 2444, 2454, 2464, 2463, 2476, 2482, 2480, 2598, 2605, 2621, + 2623, 2625, 2625, 2626, 2629, 2631, 2633, 2630, 2635, 2639, + 2638, 2753, 2786, 2794, 2819, 2793, 2870, 2871, 2872, 2873, + 2875, 2876, 2884, 2885, 2893, 2894, 2903, 2906, 2905, 2914, + 2916, 2924, 2932, 2941, 2949, 2951, 2958, 2959, 2970, 3006, + 3043, 3084, 3101, 3083, 3142, 3149, 3156, 3155, 3187, 3188, + 3196, 3195, 3243, 3245, 3244, 3254, 3405, 3404, 3552, 3558, + 3561, 3577, 3581, 3585, 3592, 3593, 3597, 3597, 3611, 3611, + 3627, 3627, 3643, 3643, 3657, 3657, 3688, 3689, 3690, 3693, + 3699, 3698, 3708, 3707, 3725, 3724, 3772, 3787, 3796, 3771, + 3833, 3841, 3842, 3842, 3855, 3854, 3861, 3862, 3863, 3869, + 3870, 3874, 3878, 3886, 3890, 3894, 3902, 3903, 3909, 3915, + 3917, 3920, 3921, 3926, 3925, 4027, 4029, 4028, 4083, 4087, + 4091, 4092, 4096, 4111, 4120, 4135, 4144, 4148, 4154, 4171, + 4178, 4188, 4189, 4190, 4194, 4195, 4211, 4221, 4227, 4235, + 4241, 4249, 4255, 4263, 4268, 4275, 4276, 4277, 4281, 4282, + 4281, 4292, 4296, 4297, 4296, 4306, 4313, 4314, 4317, 4317, + 4398, 4396, 4410, 4487, 4584, 4585, 4589, 4590, 4593, 4594, + 4597, 4598, 4601, 4605, 4609, 4613, 4632, 4638, 4640, 4643, + 4644, 4653, 4654, 4659, 4658, 4667, 4677, 4678, 4682, 4682, + 4684, 4683, 4692, 4691, 4695, 4702, 4703, 4707, 4707, 4709, + 4708, 4715, 4714, 4718, 4727, 4823, 4828, 4833, 4834, 4837, + 4854, 4871, 4888, 4911, 4911, 4942, 4963, 4963, 4986, 4985, + 5001, 5000, 5016, 5015, 5032, 5033, 5036, 5038, 5036, 5092, + 5123, 5122, 5159, 5160, 5168, 5167, 5191, 5192, 5196, 5195, + 5234, 5233, 5256, 5256, 5283, 5284, 5287, 5308, 5330, 5354, + 5359, 5367, 5368, 5368, 5372, 5433, 5468, 5483, 5526, 5535, + 5536, 5544, 5545, 5546, 5547, 5548, 5549, 5552, 5553, 5554, + 5555, 5562, 5569, 5560, 5595, 5595, 5608, 5621, 5622, 5626, + 5639, 5640, 5647, 5652, 5659, 5660, 5661, 5666, 5667, 5668, + 5673, 5674, 5675, 5680, 5681, 5682, 5687, 5692, 5693, 5704, + 5715, 5726, 5730, 5737, 5738, 5795, 5801, 5800, 5888, 5887, + 5931, 5939, 5941, 5945, 5949, 5938, 5991, 6000, 6004, 6011, + 6013, 6017, 6010, 6055, 6065, 6067, 6071, 6064, 6109, 6118, + 6119, 6122, 6165, 6174, 6200, 6199, 6230, 6236, 6237, 6240, + 6241, 6245, 6250, 6275, 6284, 6336, 6361, 6389, 6244, 6397, + 6398, 6399, 6407, 6408, 6416, 6434, 6415, 6438, 6442, 6443, + 6450, 6451, 6452, 6458, 6459, 6460, 6465, 6466, 6467, 6468, + 6469, 6470, 6471 }; #endif @@ -1005,11 +1007,11 @@ static const char *const yytname[] = "RWL_T_NOTEQ", "RWL_T_AND", "RWL_T_OR", "RWL_T_BETWEEN", "RWL_T_CONCAT", "RWL_T_IF", "RWL_T_THEN", "RWL_T_ELSE", "RWL_T_NEVER", "RWL_T_APPEND", "RWL_T_IGNOREERROR", "RWL_T_ELSEIF", "RWL_T_EXECUTE", "RWL_T_WAIT", - "RWL_T_COMMIT", "RWL_T_ROLLBACK", "RWL_T_EVERY", "RWL_T_ASNPLUS", - "RWL_T_STOP", "RWL_T_START", "RWL_T_COUNT", "RWL_T_AT", "RWL_T_BREAK", - "RWL_T_RETURN", "RWL_T_ABORT", "RWL_T_MODIFY", "RWL_T_CURSORCACHE", - "RWL_T_NOCURSORCACHE", "RWL_T_LEAK", "RWL_T_SHIFT", "RWL_T_WHEN", - "RWL_T_STATISTICS", "RWL_T_NOSTATISTICS", "RWL_T_FUNCTION", + "RWL_T_COMMIT", "RWL_T_ROLLBACK", "RWL_T_EVERY", "RWL_T_ASNADD", + "RWL_T_ASNSUB", "RWL_T_STOP", "RWL_T_START", "RWL_T_COUNT", "RWL_T_AT", + "RWL_T_BREAK", "RWL_T_RETURN", "RWL_T_ABORT", "RWL_T_MODIFY", + "RWL_T_CURSORCACHE", "RWL_T_NOCURSORCACHE", "RWL_T_LEAK", "RWL_T_SHIFT", + "RWL_T_WHEN", "RWL_T_STATISTICS", "RWL_T_NOSTATISTICS", "RWL_T_FUNCTION", "RWL_T_PUBLIC", "RWL_T_OCIPING", "RWL_T_QUEUE", "RWL_T_NOQUEUE", "RWL_T_PRIVATE", "RWL_T_BEGIN", "RWL_T_RELEASE", "RWL_T_SYSTEM", "RWL_T_CLOB", "RWL_T_BLOB", "RWL_T_NCLOB", "RWL_T_READLOB", @@ -1113,18 +1115,18 @@ static const yytype_uint16 yytoknum[] = 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 61, - 60, 62, 45, 43, 42, 47, 37, 33, 414, 59, - 40, 41, 44, 63, 58 + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 61, 60, 62, 45, 43, 42, 47, 37, 33, 415, + 59, 40, 41, 44, 63, 58 }; # endif -#define YYPACT_NINF -959 +#define YYPACT_NINF -941 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-959))) + (!!((Yystate) == (-941))) -#define YYTABLE_NINF -644 +#define YYTABLE_NINF -646 #define yytable_value_is_error(Yytable_value) \ 0 @@ -1133,128 +1135,128 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -959, 117, 173, -959, 2861, -67, 120, -959, -67, -8, - -959, -959, -959, 278, 1712, 1785, -959, 53, 1858, 126, - 133, 81, -959, 145, 147, 96, -959, -67, 1931, 196, - 4991, -67, -67, -43, 1481, -67, 44, -67, -959, -67, - 488, 287, -959, -959, -959, -959, 179, 183, 2004, 89, - -959, -959, 72, -959, 148, 61, -959, -959, -959, -959, - -959, -959, 52, 288, 288, 151, 153, -959, -959, -67, - 274, -67, 1404, -959, 129, -959, -959, 39, 106, 122, - 155, -959, 86, 83, 156, -67, -67, 1110, 2077, 157, - -959, -959, 2150, -959, -959, 4991, -959, -959, -67, -959, - -959, -67, -959, 311, -959, -67, 276, 328, 323, 339, - 274, -67, 4991, -67, 4991, 404, 110, 632, 96, 280, - 305, 309, 324, 386, 401, 96, -959, 429, 4991, 432, - 437, 439, 440, 455, 456, 458, 462, 464, 466, 474, - 476, -959, 482, -959, -959, 483, 485, 487, 491, 493, - 498, 500, 501, 504, 4991, 4991, 4991, 412, -959, -959, - 168, -30, 394, -9, 590, 14, -959, 266, -67, -67, - -67, -959, 603, 655, -67, -959, -67, -959, 510, -67, - -959, 2223, 618, 434, -2, 218, -959, -959, -67, -959, - -67, -959, 4991, -959, -67, 446, 546, -959, -959, -959, - -959, -959, -959, 486, -959, -959, 160, -959, -67, 514, - 516, 522, 524, -67, 4991, -67, 550, -959, 682, 633, - 568, -959, -67, 536, -67, 570, 1262, 453, -959, -67, - -959, -959, -959, -959, -959, -959, -959, -959, -67, -959, - -67, -959, 562, -959, 226, -959, -67, -959, 692, 281, - -959, 47, -959, 2602, 2996, -67, 240, 4991, -959, -67, - 577, -67, 577, -67, -959, 351, -959, -67, -67, -67, - -959, -959, -67, -959, -959, -959, -959, -959, -67, 4991, - -959, 4991, -959, -67, 4780, -959, 352, -959, -67, 577, - -67, 4991, 23, -959, 4991, -959, 578, -959, -959, -959, - 669, -959, -959, 4991, 670, 339, -959, -959, -959, -959, - -959, 615, 2296, -959, 142, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, 4991, 4991, 4991, 4991, - 4991, 4991, -959, 4991, -959, 4991, 4991, 4991, 51, 4991, - 4991, 4991, 4991, 161, 165, 87, 4991, -959, 4991, 4991, - 4991, 4991, 4991, 4991, 4991, 4991, 4991, -959, -959, 549, - 140, 4991, 4991, 4991, 4991, 4991, 4991, 4991, 4991, 4991, - 4991, 4991, 4991, -959, -959, -959, 4991, -959, -959, -959, - -959, 551, 583, 585, -959, -959, -959, -959, -67, 84, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -67, -67, 4991, -959, -959, 705, 706, 711, 591, -959, - -959, 4991, -67, -959, 4991, -67, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, 683, 593, -67, - 4991, -959, -959, -959, -959, -959, -959, -959, -959, -959, - 2223, -959, 4991, -959, -67, -67, -67, -959, 3131, -959, - -959, 563, -959, 563, -959, -959, -959, -959, -959, -959, - -959, 229, -959, 659, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, 4991, -959, 3266, -67, -67, -959, - -959, -959, 73, 100, 108, 512, 480, -959, -959, 665, - 54, -959, -959, -959, 566, 674, 577, -959, 351, -959, - 351, -959, 419, 577, -959, -959, -959, -959, -959, 4991, - -959, 352, 352, -959, -959, -959, -959, -959, 351, -959, - -959, -67, 600, -67, 443, -959, -959, -959, 551, 2369, - 339, 674, -959, -959, 670, 569, 571, -959, -959, -959, - -959, -959, -959, -67, 722, -959, 661, 60, -959, 241, - 572, 204, 249, 250, 227, 252, 42, 573, 575, 579, - 580, -959, 586, 27, 170, 257, 587, 588, 592, 595, - 596, 597, 598, 599, 584, 4991, 239, 260, 263, 265, - 267, 271, 242, 602, 604, -959, -959, 696, -959, -959, - -959, 168, 168, -30, -30, 298, -30, -30, 394, 394, - 4991, 4991, 4991, -959, 622, 364, -959, -959, -959, -959, - -67, -959, -959, -67, -959, -959, -67, 30, 533, 625, - 635, -959, -959, 640, 674, -959, 4991, 674, -959, -67, - 4642, -959, -959, -959, -959, 609, 611, -959, -959, -959, - -959, 612, -959, -959, -959, -959, -959, 259, 688, 390, - 4991, 4991, 4991, 4991, -959, -959, -959, -959, -959, -959, - -959, -959, 4991, -959, 619, 68, -959, -959, 3401, -67, - -67, -959, -67, -959, -67, 786, 788, -67, 2442, -959, - -959, -67, -67, -67, -959, -959, 757, 351, -959, -959, - -959, -959, -959, 612, -959, -959, 4991, -959, 621, -959, - -959, -959, -959, 4853, 4991, 4991, 744, -959, 4991, -959, - -959, -959, -959, 4991, 4991, 4991, -67, 443, -959, 64, - -10, 768, -959, 670, -959, -959, 4991, 4991, -959, 615, - 716, 660, -67, -67, -959, -959, -959, 4991, 4991, -959, - -959, 4991, -959, 627, -959, 662, 4991, -959, -959, -959, - -959, -959, 4991, -959, 4991, -959, -959, -959, -959, -959, - -959, -959, -959, -959, 4991, 631, 4991, -959, -959, -959, - -959, -959, 4991, -959, -959, -959, 4991, -9, 590, 629, - -959, -959, -959, 24, 48, -959, -959, -959, 4991, 4991, - -67, -959, -959, -959, 732, -959, -959, -959, -959, -959, - -67, -959, -959, 4642, -959, 638, -959, -959, 636, -959, - -959, -959, -959, -959, -959, -959, 70, 4991, 4991, 637, - -959, -959, -959, -959, -959, -959, 261, -959, 675, 333, - -959, -959, -959, -959, 674, 674, 674, 674, 3536, 4991, - -67, -959, -959, -67, -67, -959, -959, 47, -959, -959, - -959, -959, 4991, -959, -67, -67, -959, 747, 444, 2737, - -959, -959, -959, -959, -959, 4991, -959, 4991, -67, 676, - -959, -959, -959, -959, -959, 421, -959, -959, -959, -959, - -959, 770, -959, -959, -959, -959, 647, 3671, -959, 3806, - -959, -959, -67, 684, -959, -959, -959, -959, 272, 273, - 284, -959, 651, 247, 296, 299, 343, -959, 300, 303, - -30, -959, -67, 685, -959, -67, 687, -959, 674, 674, - -959, -959, -959, 4991, -959, 4991, -959, -959, 24, 48, - -959, 4991, -959, 517, -959, -67, 109, -959, -959, -959, - -959, 4991, -959, 333, -959, -959, 78, 674, -959, -959, - 184, 552, -959, -959, -959, 3941, -959, -959, -959, -959, - -959, 577, -959, -959, -959, -959, 421, 802, -959, -959, - -959, 802, -959, 4991, 4991, 5, -959, 78, 78, 551, - 551, -959, -959, 4076, 752, -959, -959, -959, -959, -959, - 4991, -959, -959, -959, 4991, -959, -959, 4991, -959, -959, - 373, -959, -959, -959, 407, -959, 804, 668, -959, 4991, - 668, -959, 674, 668, -959, -959, 674, 41, 62, -959, - 1639, 46, -67, -67, -67, -959, -959, -959, -67, -67, - -67, 663, -959, -67, -67, -959, -959, -959, -959, -959, - -959, 60, 4211, 351, 671, 4991, 733, 733, -959, -959, - -959, -959, -959, -959, -959, 364, 364, 823, 4991, 766, - 313, 315, -959, 4991, -67, 685, 4991, -67, 687, 4991, - -959, -959, 674, -67, -959, -959, -959, -959, 388, -959, - -67, -959, -959, 389, -959, -67, -959, 4991, -67, -959, - -959, -959, -959, 396, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, 274, -959, 82, -959, 4991, - -959, 4991, 772, -959, 4346, 796, -959, -959, 82, -959, - 4991, -959, -959, -959, -959, -959, -959, -959, -959, 674, - -959, 709, -959, 88, 88, 88, 475, -959, -959, 88, - -27, -959, -959, -67, -959, 88, 88, 88, 505, -959, - -959, -67, -67, -959, -959, -959, -959, 4991, -959, 78, - -959, -959, -959, -959, -959, -959, 745, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, 679, -959, -959, 763, -959, 715, 789, -959, -67, - -15, -959, -959, -959, -959, 686, 4470, -959, 791, 4991, - -959, 689, -959, -959, 4605, 840, 102, -67, -67, -959, - -959, -959, -959 + -941, 77, 105, -941, 3207, -40, 43, -941, -40, 22, + -941, -941, -941, 280, 1735, 1878, -941, 58, 1945, 102, + 107, 76, -941, 117, 131, -30, -941, -40, 2088, 181, + 5344, -40, -40, -35, 1509, -40, 152, -40, -40, -941, + -40, 455, 130, -941, -941, -941, -941, 169, 207, 2155, + 51, -941, -941, 56, -941, 132, 245, -941, -941, -941, + -941, -941, -941, 60, 212, 212, 136, 137, -941, -941, + -40, 275, -40, 1442, -941, 62, -941, -941, 33, 67, + 94, 138, -941, 71, 89, 197, -40, -40, 1216, 2298, + 142, -941, -941, 2365, -941, -941, 5344, -941, -941, -40, + -941, -941, -40, -941, -48, -941, -40, 248, 252, 277, + 374, 275, -40, 5344, -40, 5344, 451, 81, 472, -30, + 303, 328, 333, 340, 400, 418, -30, -941, 436, 5344, + 444, 453, 461, 473, 477, 483, 486, 490, 491, 502, + 503, 505, -941, 511, -941, -941, 512, 513, 515, 516, + 517, 518, 520, 521, 523, 5344, 5344, 5344, 497, -941, + -941, 464, 188, 459, 11, 496, -11, -941, 484, -40, + -40, -40, -941, 556, 606, -40, -941, -40, -941, 471, + -40, -941, 2508, 590, 415, 271, 38, -941, -941, -40, + -941, -40, -941, 5344, -941, -40, 414, 557, -941, -941, + -941, -941, -941, -941, -941, 386, -941, -941, 148, -941, + -40, 522, 526, 528, 529, -40, 5344, -40, 563, -941, + 678, 626, 566, -941, -40, 534, -40, 568, 1283, 492, + -941, -40, -941, -941, -941, -941, -941, -941, -941, -941, + -40, -941, -40, -941, 525, -941, 296, -941, -40, -941, + 691, 6, -941, 55, -941, 2946, 3343, -40, 299, 5344, + -941, -40, 570, -40, 570, -40, -941, 356, -941, -40, + -40, -40, -941, -941, -40, -941, -941, -941, -941, -941, + -40, 5344, -941, 5344, -941, -40, 5138, -941, 363, -941, + -40, 570, -40, 5344, 24, -941, 5344, -941, 571, -941, + -941, -941, 662, -941, -941, 5344, 664, 374, -941, -941, + -941, -941, -941, 530, 2575, -941, 88, -941, -941, -941, + -941, -941, -941, -941, -941, -941, -941, -941, 5344, 5344, + 5344, 5344, 5344, 5344, -941, 5344, -941, 5344, 5344, 5344, + 37, 5344, 5344, 5344, 5344, 150, 151, 63, 5344, -941, + 5344, 5344, 5344, 5344, 5344, 5344, 5344, 5344, 5344, -941, + -941, 541, 272, 5344, 5344, 5344, 5344, 5344, 5344, 5344, + 5344, 5344, 5344, 5344, 5344, -941, -941, -941, 5344, -941, + -941, -941, -941, 543, 577, 579, -941, -941, -941, -941, + -40, 97, -941, -941, -941, -941, -941, -941, -941, -941, + -941, -941, -40, -40, 5344, -941, -941, 700, 705, 708, + 587, -941, -941, 5344, -40, -941, 5344, -40, -941, -941, + -941, -941, -941, -941, -941, -941, -941, -941, -941, 680, + 589, -40, 5344, -941, -941, -941, -941, -941, -941, -941, + -941, -941, -941, 2508, -941, 5344, -941, -40, -40, -40, + -941, 3479, -941, -941, 561, -941, 561, -941, -941, -941, + -941, -941, -941, -941, 410, -941, 659, -941, -941, -941, + -941, -941, -941, -941, -941, -941, -941, 5344, -941, 3615, + -40, -40, -941, -941, -941, 314, 362, 366, 432, 291, + -941, -941, 665, 53, -941, -941, -941, 565, 676, 570, + -941, 356, -941, 356, -941, 447, 570, -941, -941, -941, + -941, -941, 5344, -941, 363, 363, -941, -941, -941, -941, + -941, 356, -941, -941, -40, 601, -40, 293, -941, -941, + -941, 543, 2718, 374, 676, -941, -941, 664, 569, 572, + -941, -941, -941, -941, -941, -941, -40, 725, -941, 666, + 54, -941, 112, 573, -18, 114, 241, 206, 242, 42, + 580, 583, 584, 585, -941, 586, 29, 163, 260, 588, + 594, 595, 596, 604, 605, 607, 608, 609, 5344, 230, + 268, 269, 279, 281, 282, 237, 611, 612, -941, -941, + 706, -941, -941, -941, 464, 464, 188, 188, 367, 188, + 188, 459, 459, 5344, 5344, 5344, -941, 638, 370, -941, + -941, -941, -941, -40, -941, -941, -40, -941, -941, -40, + 244, 558, 641, 645, -941, -941, 647, 676, -941, 5344, + 676, -941, -40, 5071, -941, -941, -941, -941, 617, 618, + -941, -941, -941, -941, 619, -941, -941, -941, -941, -941, + 128, 660, 256, 5344, 5344, 5344, 5344, -941, -941, -941, + -941, -941, -941, -941, -941, 5344, -941, 620, 68, -941, + -941, 3751, -40, -40, -941, -40, -941, -40, 792, 794, + -40, 2785, -941, -941, -40, -40, -40, -941, -941, 763, + 356, -941, -941, -941, -941, -941, 619, -941, -941, 5344, + -941, 624, -941, -941, -941, -941, 5277, 5344, 5344, 752, + -941, 5344, -941, -941, -941, -941, 5344, 5344, 5344, -40, + 293, -941, 26, 19, 772, -941, 664, -941, -941, 5344, + 5344, -941, 530, 719, 663, -40, -40, -941, -941, -941, + 5344, 5344, -941, -941, 5344, -941, 632, -941, 668, 5344, + -941, -941, -941, -941, -941, 5344, -941, 5344, -941, -941, + -941, -941, -941, -941, -941, -941, -941, 5344, 633, 5344, + -941, -941, -941, -941, -941, 5344, -941, -941, -941, 5344, + 11, 496, 631, -941, -941, -941, 47, 49, -941, -941, + -941, 5344, 5344, -40, -941, -941, -941, 737, -941, -941, + -941, -941, -941, -40, -941, -941, 5071, -941, 637, -941, + -941, 643, -941, -941, -941, -941, -941, -941, -941, 74, + 5344, 5344, 640, -941, -941, -941, -941, -941, -941, 411, + -941, 677, 485, -941, -941, -941, -941, 676, 676, 676, + 676, 3887, 5344, -40, -941, -941, -40, -40, -941, -941, + 55, -941, -941, -941, -941, 5344, -941, -40, -40, -941, + 750, 421, 3082, -941, -941, -941, -941, -941, 5344, -941, + 5344, -40, 679, -941, -941, -941, -941, -941, 405, -941, + -941, -941, -941, -941, 767, -941, -941, -941, -941, 648, + 4023, -941, 4159, -941, -941, -40, 682, -941, -941, -941, + -941, 286, 294, 298, -941, 652, 228, 301, 305, 437, + -941, 320, 323, 188, -941, -40, 683, -941, -40, 681, + -941, 676, 676, -941, -941, -941, 5344, -941, 5344, -941, + -941, 47, 49, -941, 5344, -941, 635, -941, -40, 48, + -941, -941, -941, -941, 5344, -941, 485, -941, -941, 75, + 676, -941, -941, -17, 651, -941, -941, -941, 4295, -941, + -941, -941, -941, -941, 570, -941, -941, -941, -941, 405, + 797, -941, -941, -941, 797, -941, 5344, 5344, -4, -941, + 75, 75, 543, 543, -941, -941, 4431, 746, -941, -941, + -941, -941, -941, 5344, -941, -941, -941, 5344, -941, -941, + 5344, -941, -941, 446, -941, -941, -941, 467, -941, 799, + 655, -941, 5344, 655, -941, 676, 655, -941, -941, 676, + 20, 52, -941, 1668, 41, -40, -40, -40, -941, -941, + -941, -40, -40, -40, 657, -941, -40, -40, -941, -941, + -941, -941, -941, -941, 54, 4567, 356, 658, 5344, 732, + 732, -941, -941, -941, -941, -941, -941, -941, 370, 370, + 816, 5344, 758, 341, 355, -941, 5344, -40, 683, 5344, + -40, 681, 5344, -941, -941, 676, -40, -941, -941, -941, + -941, 382, -941, -40, -941, -941, 424, -941, -40, -941, + 5344, -40, -941, -941, -941, -941, 426, -941, -941, -941, + -941, -941, -941, -941, -941, -941, -941, -941, 275, -941, + 83, -941, 5344, -941, 5344, 766, -941, 4703, 789, -941, + -941, 83, -941, 5344, -941, -941, -941, -941, -941, -941, + -941, -941, 676, -941, 703, -941, 153, 153, 153, 311, + -941, -941, 153, 172, -941, -941, -40, -941, 153, 153, + 153, 393, -941, -941, -40, -40, -941, -941, -941, -941, + 5344, -941, 75, -941, -941, -941, -941, -941, -941, 736, + -941, -941, -941, -941, -941, -941, -941, -941, -941, -941, + -941, -941, -941, -941, 673, -941, -941, 756, -941, 709, + 782, -941, -40, 34, -941, -941, -941, -941, 686, 4828, + -941, 784, 5344, -941, 687, -941, -941, 4964, 833, 84, + -40, -40, -941, -941, -941, -941 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1262,196 +1264,196 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 4, 0, 5, 1, 0, 0, 0, 538, 539, 0, - 89, 427, 429, 0, 0, 0, 431, 0, 0, 0, - 0, 0, 571, 0, 0, 94, 347, 257, 0, 392, - 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, - 0, 0, 620, 434, 435, 436, 0, 0, 0, 0, - 605, 606, 0, 373, 0, 0, 523, 3, 228, 6, - 8, 12, 0, 78, 78, 0, 0, 7, 330, 0, - 290, 0, 0, 298, 0, 214, 214, 0, 0, 0, - 0, 433, 0, 0, 0, 0, 0, 0, 0, 0, - 305, 307, 0, 308, 306, 0, 9, 334, 0, 34, - 322, 0, 93, 0, 91, 0, 0, 368, 0, 589, - 388, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 0, 0, 0, 0, 94, 125, 0, 0, 0, + 4, 0, 5, 1, 0, 0, 0, 539, 540, 0, + 89, 428, 430, 0, 0, 0, 432, 0, 0, 0, + 0, 0, 573, 0, 0, 94, 348, 258, 0, 393, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, + 0, 0, 0, 622, 435, 436, 437, 0, 0, 0, + 0, 607, 608, 0, 374, 0, 0, 524, 3, 228, + 6, 8, 12, 0, 78, 78, 0, 0, 7, 331, + 0, 291, 0, 0, 299, 0, 214, 214, 0, 0, + 0, 0, 434, 0, 0, 0, 0, 0, 0, 0, + 0, 306, 308, 0, 309, 307, 0, 9, 335, 0, + 34, 323, 0, 93, 0, 91, 0, 0, 369, 0, + 591, 389, 0, 0, 0, 0, 0, 0, 0, 94, + 0, 0, 0, 0, 0, 0, 94, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 124, 121, 123, 122, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 177, 180, 184, - 188, 191, 197, 200, 203, 206, 210, 0, 0, 0, - 0, 596, 0, 0, 0, 536, 0, 537, 0, 0, - 325, 0, 0, 0, 0, 0, 277, 278, 0, 327, - 0, 261, 0, 229, 0, 0, 0, 279, 287, 88, - 426, 428, 430, 0, 570, 86, 0, 432, 0, 0, - 341, 0, 337, 0, 0, 0, 0, 526, 0, 0, - 0, 451, 0, 0, 0, 369, 0, 0, 531, 0, - 116, 114, 118, 113, 13, 79, 214, 214, 0, 81, - 0, 84, 365, 344, 0, 344, 0, 344, 0, 381, - 214, 0, 247, 0, 0, 0, 0, 0, 237, 0, - 0, 0, 0, 0, 402, 0, 400, 0, 0, 0, - 581, 230, 0, 545, 313, 527, 311, 309, 0, 0, - 544, 0, 315, 0, 212, 543, 0, 540, 0, 0, - 0, 0, 0, 36, 37, 10, 0, 11, 251, 302, - 0, 383, 295, 0, 0, 589, 389, 616, 613, 611, - 608, 654, 0, 629, 0, 625, 628, 627, 416, 422, - 420, 421, 415, 418, 419, 170, 0, 0, 0, 0, - 0, 0, 169, 0, 183, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 181, 182, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 201, 204, 207, 0, 417, 301, 300, - 598, 0, 0, 0, 320, 321, 95, 280, 0, 0, - 258, 412, 411, 393, 394, 270, 326, 265, 263, 283, - 0, 0, 0, 271, 281, 0, 0, 0, 0, 276, - 339, 0, 0, 335, 0, 0, 269, 267, 312, 525, - 444, 384, 442, 374, 310, 529, 333, 0, 0, 0, - 172, 550, 553, 551, 557, 558, 554, 555, 552, 556, - 0, 524, 0, 120, 0, 0, 0, 77, 0, 76, - 80, 96, 83, 96, 361, 357, 355, 359, 366, 367, - 331, 365, 353, 0, 288, 390, 391, 291, 344, 292, - 379, 594, 593, 451, 0, 380, 0, 0, 0, 578, - 246, 214, 0, 0, 0, 0, 0, 215, 216, 407, - 0, 241, 424, 425, 0, 74, 0, 234, 0, 236, - 0, 232, 404, 0, 231, 584, 582, 583, 314, 0, - 319, 0, 0, 324, 213, 541, 323, 244, 0, 604, - 600, 0, 0, 0, 39, 38, 75, 92, 0, 0, - 589, 590, 345, 293, 0, 0, 0, 656, 660, 657, - 659, 655, 658, 0, 0, 642, 0, 0, 626, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 171, 178, 0, 185, 186, - 187, 190, 189, 194, 195, 0, 192, 193, 199, 198, - 0, 0, 0, 211, 0, 0, 617, 20, 16, 547, - 0, 548, 546, 0, 274, 275, 0, 0, 0, 0, - 0, 440, 438, 0, 342, 328, 0, 338, 329, 0, - 447, 531, 370, 372, 286, 0, 173, 174, 176, 260, - 535, 532, 533, 117, 115, 119, 90, 0, 0, 109, - 0, 0, 0, 0, 214, 352, 351, 350, 349, 354, - 363, 289, 0, 376, 0, 0, 580, 579, 0, 0, - 0, 221, 0, 218, 0, 0, 0, 0, 0, 410, - 214, 0, 0, 0, 585, 245, 423, 0, 233, 235, - 403, 405, 401, 528, 318, 317, 0, 243, 0, 256, - 254, 621, 253, 0, 0, 0, 0, 55, 0, 58, - 59, 49, 48, 0, 0, 0, 0, 40, 41, 589, - 0, 562, 214, 0, 214, 297, 0, 0, 624, 654, - 646, 0, 0, 0, 651, 623, 135, 0, 0, 150, - 151, 0, 154, 0, 147, 0, 0, 139, 166, 165, - 144, 128, 0, 130, 0, 134, 163, 162, 161, 160, - 159, 157, 156, 158, 0, 0, 0, 131, 132, 133, - 136, 137, 0, 145, 146, 179, 0, 202, 205, 0, - 619, 597, 618, 0, 0, 549, 264, 273, 0, 0, - 0, 509, 507, 505, 502, 511, 499, 500, 498, 504, - 0, 18, 14, 447, 340, 0, 336, 268, 0, 443, - 446, 453, 445, 451, 591, 530, 0, 0, 0, 104, - 102, 103, 106, 108, 107, 97, 0, 99, 0, 0, - 111, 112, 110, 85, 362, 358, 356, 360, 0, 0, - 466, 453, 382, 0, 0, 572, 299, 0, 224, 223, - 214, 220, 0, 217, 0, 0, 225, 0, 0, 0, - 588, 586, 587, 239, 238, 0, 542, 0, 0, 0, - 46, 43, 44, 59, 53, 56, 52, 50, 45, 35, - 42, 0, 569, 568, 564, 559, 0, 0, 296, 0, - 614, 609, 0, 0, 214, 630, 653, 652, 0, 0, - 0, 149, 0, 0, 0, 0, 0, 168, 0, 0, - 196, 208, 0, 0, 21, 0, 0, 17, 519, 518, - 272, 515, 515, 0, 501, 0, 515, 282, 0, 0, - 439, 0, 592, 0, 449, 0, 0, 395, 285, 175, - 534, 0, 98, 0, 101, 82, 0, 364, 467, 595, - 385, 0, 574, 573, 248, 0, 214, 226, 227, 414, - 413, 0, 406, 601, 255, 47, 57, 63, 62, 61, - 60, 63, 303, 0, 0, 0, 565, 0, 0, 0, - 0, 645, 647, 0, 640, 155, 126, 152, 148, 142, - 0, 127, 129, 140, 0, 153, 138, 0, 29, 32, - 0, 30, 23, 26, 0, 24, 521, 510, 513, 0, - 508, 506, 503, 512, 19, 15, 343, 0, 0, 448, - 0, 0, 466, 466, 466, 454, 453, 399, 0, 0, - 0, 0, 100, 0, 0, 575, 332, 386, 387, 377, - 452, 0, 0, 0, 0, 0, 65, 65, 214, 560, - 567, 563, 566, 250, 346, 0, 0, 0, 0, 0, - 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, - 520, 515, 516, 0, 492, 486, 488, 490, 466, 484, - 0, 474, 472, 466, 470, 0, 469, 0, 0, 483, - 477, 479, 481, 466, 475, 461, 462, 463, 450, 398, - 396, 397, 105, 577, 576, 388, 222, 0, 240, 0, - 64, 0, 67, 51, 0, 0, 615, 610, 0, 641, - 0, 143, 141, 33, 28, 31, 27, 22, 25, 522, - 514, 0, 456, 0, 0, 0, 0, 455, 460, 0, - 0, 459, 465, 466, 458, 0, 0, 0, 0, 457, - 378, 0, 0, 648, 219, 602, 66, 0, 54, 0, - 561, 644, 631, 517, 495, 494, 496, 487, 493, 489, - 491, 485, 473, 471, 464, 478, 480, 482, 476, 650, - 649, 0, 68, 304, 0, 497, 0, 70, 632, 0, - 0, 69, 214, 603, 71, 0, 0, 72, 0, 172, - 634, 0, 214, 73, 0, 0, 0, 0, 0, 637, - 636, 639, 638 + 0, 0, 124, 121, 123, 122, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 177, 180, + 184, 188, 191, 197, 200, 203, 206, 210, 0, 0, + 0, 0, 598, 0, 0, 0, 537, 0, 538, 0, + 0, 326, 0, 0, 0, 0, 0, 278, 279, 0, + 328, 0, 262, 0, 229, 0, 0, 0, 280, 230, + 288, 88, 427, 429, 431, 0, 572, 86, 0, 433, + 0, 0, 342, 0, 338, 0, 0, 0, 0, 527, + 0, 0, 0, 452, 0, 0, 0, 370, 0, 0, + 532, 0, 116, 114, 118, 113, 13, 79, 214, 214, + 0, 81, 0, 84, 366, 345, 0, 345, 0, 345, + 0, 382, 214, 0, 248, 0, 0, 0, 0, 0, + 238, 0, 0, 0, 0, 0, 403, 0, 401, 0, + 0, 0, 583, 231, 0, 546, 314, 528, 312, 310, + 0, 0, 545, 0, 316, 0, 212, 544, 0, 541, + 0, 0, 0, 0, 0, 36, 37, 10, 0, 11, + 252, 303, 0, 384, 296, 0, 0, 591, 390, 618, + 615, 613, 610, 656, 0, 631, 0, 627, 630, 629, + 417, 423, 421, 422, 416, 419, 420, 170, 0, 0, + 0, 0, 0, 0, 169, 0, 183, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, + 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 201, 204, 207, 0, 418, + 302, 301, 600, 0, 0, 0, 321, 322, 95, 281, + 0, 0, 259, 413, 412, 394, 395, 271, 327, 266, + 264, 284, 0, 0, 0, 272, 282, 0, 0, 0, + 0, 277, 340, 0, 0, 336, 0, 0, 270, 268, + 313, 526, 445, 385, 443, 375, 311, 530, 334, 0, + 0, 0, 172, 551, 554, 552, 558, 559, 560, 555, + 556, 553, 557, 0, 525, 0, 120, 0, 0, 0, + 77, 0, 76, 80, 96, 83, 96, 362, 358, 356, + 360, 367, 368, 332, 366, 354, 0, 289, 391, 392, + 292, 345, 293, 380, 596, 595, 452, 0, 381, 0, + 0, 0, 580, 247, 214, 0, 0, 0, 0, 0, + 215, 216, 408, 0, 242, 425, 426, 0, 74, 0, + 235, 0, 237, 0, 233, 405, 0, 232, 586, 584, + 585, 315, 0, 320, 0, 0, 325, 213, 542, 324, + 245, 0, 606, 602, 0, 0, 0, 39, 38, 75, + 92, 0, 0, 591, 592, 346, 294, 0, 0, 0, + 658, 662, 659, 661, 657, 660, 0, 0, 644, 0, + 0, 628, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 171, 178, + 0, 185, 186, 187, 190, 189, 194, 195, 0, 192, + 193, 199, 198, 0, 0, 0, 211, 0, 0, 619, + 20, 16, 548, 0, 549, 547, 0, 275, 276, 0, + 0, 0, 0, 0, 441, 439, 0, 343, 329, 0, + 339, 330, 0, 448, 532, 371, 373, 287, 0, 173, + 174, 176, 261, 536, 533, 534, 117, 115, 119, 90, + 0, 0, 109, 0, 0, 0, 0, 214, 353, 352, + 351, 350, 355, 364, 290, 0, 377, 0, 0, 582, + 581, 0, 0, 0, 221, 0, 218, 0, 0, 0, + 0, 0, 411, 214, 0, 0, 0, 587, 246, 424, + 0, 234, 236, 404, 406, 402, 529, 319, 318, 0, + 244, 0, 257, 255, 623, 254, 0, 0, 0, 0, + 55, 0, 58, 59, 49, 48, 0, 0, 0, 0, + 40, 41, 591, 0, 564, 214, 0, 214, 298, 0, + 0, 626, 656, 648, 0, 0, 0, 653, 625, 135, + 0, 0, 150, 151, 0, 154, 0, 147, 0, 0, + 139, 166, 165, 144, 128, 0, 130, 0, 134, 163, + 162, 161, 160, 159, 157, 156, 158, 0, 0, 0, + 131, 132, 133, 136, 137, 0, 145, 146, 179, 0, + 202, 205, 0, 621, 599, 620, 0, 0, 550, 265, + 274, 0, 0, 0, 510, 508, 506, 503, 512, 500, + 501, 499, 505, 0, 18, 14, 448, 341, 0, 337, + 269, 0, 444, 447, 454, 446, 452, 593, 531, 0, + 0, 0, 104, 102, 103, 106, 108, 107, 97, 0, + 99, 0, 0, 111, 112, 110, 85, 363, 359, 357, + 361, 0, 0, 467, 454, 383, 0, 0, 574, 300, + 0, 224, 223, 214, 220, 0, 217, 0, 0, 225, + 0, 0, 0, 590, 588, 589, 240, 239, 0, 543, + 0, 0, 0, 46, 43, 44, 59, 53, 56, 52, + 50, 45, 35, 42, 0, 571, 570, 566, 561, 0, + 0, 297, 0, 616, 611, 0, 0, 214, 632, 655, + 654, 0, 0, 0, 149, 0, 0, 0, 0, 0, + 168, 0, 0, 196, 208, 0, 0, 21, 0, 0, + 17, 520, 519, 273, 516, 516, 0, 502, 0, 516, + 283, 0, 0, 440, 0, 594, 0, 450, 0, 0, + 396, 286, 175, 535, 0, 98, 0, 101, 82, 0, + 365, 468, 597, 386, 0, 576, 575, 249, 0, 214, + 226, 227, 415, 414, 0, 407, 603, 256, 47, 57, + 63, 62, 61, 60, 63, 304, 0, 0, 0, 567, + 0, 0, 0, 0, 647, 649, 0, 642, 155, 126, + 152, 148, 142, 0, 127, 129, 140, 0, 153, 138, + 0, 29, 32, 0, 30, 23, 26, 0, 24, 522, + 511, 514, 0, 509, 507, 504, 513, 19, 15, 344, + 0, 0, 449, 0, 0, 467, 467, 467, 455, 454, + 400, 0, 0, 0, 0, 100, 0, 0, 577, 333, + 387, 388, 378, 453, 0, 0, 0, 0, 0, 65, + 65, 214, 562, 569, 565, 568, 251, 347, 0, 0, + 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, + 0, 0, 0, 521, 516, 517, 0, 493, 487, 489, + 491, 467, 485, 0, 475, 473, 467, 471, 0, 470, + 0, 0, 484, 478, 480, 482, 467, 476, 462, 463, + 464, 451, 399, 397, 398, 105, 579, 578, 389, 222, + 0, 241, 0, 64, 0, 67, 51, 0, 0, 617, + 612, 0, 643, 0, 143, 141, 33, 28, 31, 27, + 22, 25, 523, 515, 0, 457, 0, 0, 0, 0, + 456, 461, 0, 0, 460, 466, 467, 459, 0, 0, + 0, 0, 458, 379, 0, 0, 650, 219, 604, 66, + 0, 54, 0, 563, 646, 633, 518, 496, 495, 497, + 488, 494, 490, 492, 486, 474, 472, 465, 479, 481, + 483, 477, 652, 651, 0, 68, 305, 0, 498, 0, + 70, 634, 0, 0, 69, 214, 605, 71, 0, 0, + 72, 0, 172, 636, 0, 214, 73, 0, 0, 0, + 0, 0, 639, 638, 641, 640 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -959, -959, -5, -959, -959, -959, -959, -959, -959, -959, - -959, -70, -959, -207, -959, -66, -959, -201, -959, -959, - -959, -959, -959, -959, 149, -959, -959, -6, -959, -106, - -179, -959, -959, -959, -959, -311, -278, -959, 805, -959, - -959, -959, -959, -959, -959, 634, -959, 574, 194, 420, - -959, -71, 45, -959, -959, -959, -959, -959, -959, -959, - -570, -959, 58, -959, 188, -95, -331, -32, 277, 275, - -959, -959, -959, -370, -959, -959, 40, 481, -68, -959, - -959, -959, 874, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -224, -516, -959, -959, -959, - -959, -959, 423, -959, -959, -959, -959, -959, -959, 867, - -959, -959, 868, -959, 774, -959, -959, -959, -959, -959, - -959, -959, -959, -220, 816, -959, -959, -258, 387, -959, - -959, -959, -959, -959, -959, -959, -959, 724, -959, -959, - -69, -959, -959, -959, -959, -28, -959, -959, -959, -959, - -959, 90, -959, -959, -959, -959, -460, -137, 85, -959, - -677, -959, -959, -246, -959, -959, -253, -959, -959, -959, - -959, -239, -959, -959, -959, -433, -959, -959, -959, -959, - -959, -959, -959, -808, -173, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, 268, -959, 391, - 91, -959, -959, 337, -959, 205, -269, 503, 463, -959, - 400, -959, -959, -959, -959, -959, -959, -63, -959, -959, - -959, -958, 57, -959, -959, -290, -959, 656, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -517, -591, -959, 38, -959, - -959, -959, 594, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -205, -127, 186 + -941, -941, -5, -941, -941, -941, -941, -941, -941, -941, + -941, -78, -941, -213, -941, -70, -941, -206, -941, -941, + -941, -941, -941, -941, 143, -941, -941, -12, -941, -109, + -183, -941, -941, -941, -941, -254, -285, -941, 803, -941, + -941, -941, -941, -941, -941, 634, -941, 574, 249, 420, + -941, -76, 39, -941, -941, -941, -941, -941, -941, -941, + -577, -941, 57, -941, 270, -93, -352, 278, 276, 274, + -941, -941, -941, -372, -941, -941, 419, 35, -67, -941, + -941, -941, 870, -941, -941, -941, -941, -941, -941, -941, + -941, -941, -941, -941, -941, -941, -941, -941, -941, -941, + -941, -941, -941, -941, -941, -941, -941, -941, -941, -941, + -941, -941, -941, -941, -941, -210, -513, -941, -941, -941, + -941, -941, 416, -941, -941, -941, -941, -941, -941, 862, + -941, -941, 868, -941, 773, -941, -941, -941, -941, -941, + -941, -941, -941, -225, 813, -941, -941, -260, 379, -941, + -941, -941, -941, -941, -941, -941, -941, 718, -941, -941, + -72, -941, -941, -941, -941, -29, -941, -941, -941, -941, + -941, 82, -941, -941, -941, -941, -461, -142, 79, -941, + -715, -941, -941, -252, -941, -941, -262, -941, -941, -941, + -941, -245, -941, -941, -941, -563, -941, -941, -941, -941, + -941, -941, -941, -783, -179, -941, -941, -941, -941, -941, + -941, -941, -941, -941, -941, -941, -941, 262, -941, 385, + 78, -941, -941, 283, -941, 199, -265, 555, 457, -941, + 396, -941, -941, -941, -941, -941, -941, -74, -941, -941, + -941, -940, 59, -941, -941, -293, -941, 656, -941, -941, + -941, -941, -941, -941, -941, -941, -941, -941, -941, -941, + -941, -941, -941, -941, -941, -518, -603, -941, 31, -941, + -941, -941, 592, -941, -941, -941, -941, -941, -941, -941, + -941, -941, -941, -941, -941, -941, -941, -209, -133, 182 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 58, 2, 4, 59, 60, 929, 784, 928, - 783, 917, 1004, 1005, 1066, 914, 1000, 1001, 1063, 61, - 294, 524, 716, 717, 718, 971, 967, 875, 970, 1046, - 1112, 1158, 1187, 1191, 1199, 494, 808, 62, 236, 63, - 451, 64, 453, 65, 66, 447, 103, 104, 179, 648, - 826, 827, 828, 833, 234, 445, 444, 446, 157, 575, - 635, 636, 637, 158, 159, 160, 161, 162, 163, 164, - 600, 165, 601, 166, 602, 997, 284, 526, 448, 487, - 852, 850, 488, 496, 961, 289, 481, 300, 523, 868, - 181, 227, 192, 613, 214, 629, 617, 618, 430, 245, - 108, 530, 250, 528, 1048, 281, 242, 654, 212, 626, - 415, 210, 623, 412, 805, 464, 533, 724, 68, 460, - 658, 461, 462, 652, 651, 653, 650, 839, 463, 69, - 427, 428, 70, 221, 71, 249, 841, 1105, 473, 474, - 72, 219, 1039, 305, 306, 73, 938, 265, 266, 502, - 690, 865, 74, 679, 489, 75, 680, 323, 76, 324, - 258, 77, 78, 79, 80, 81, 82, 408, 803, 220, - 630, 809, 810, 811, 812, 1026, 423, 950, 951, 1025, - 949, 1087, 1083, 1084, 1139, 1093, 1094, 1145, 1146, 1147, - 1078, 1079, 1133, 1134, 1135, 1167, 1168, 800, 925, 923, - 922, 921, 926, 1007, 1008, 1009, 1131, 790, 1006, 1070, - 83, 228, 84, 85, 509, 86, 631, 441, 442, 641, - 642, 87, 88, 286, 696, 287, 282, 274, 390, 612, - 439, 440, 722, 973, 1115, 886, 975, 976, 884, 89, - 846, 1036, 480, 271, 685, 304, 813, 814, 662, 90, - 381, 91, 291, 698, 1044, 1181, 92, 93, 114, 536, - 980, 94, 112, 535, 979, 605, 606, 95, 702, 96, - 116, 314, 315, 316, 546, 984, 1184, 1192, 1198, 1202, - 1205, 1210, 1059, 317, 730, 1057, 894, 1154, 735, 543 + -1, 1, 59, 2, 4, 60, 61, 932, 787, 931, + 786, 920, 1007, 1008, 1069, 917, 1003, 1004, 1066, 62, + 296, 527, 719, 720, 721, 974, 970, 878, 973, 1049, + 1115, 1161, 1190, 1194, 1202, 497, 811, 63, 238, 64, + 454, 65, 456, 66, 67, 450, 104, 105, 180, 651, + 829, 830, 831, 836, 236, 448, 447, 449, 158, 578, + 638, 639, 640, 159, 160, 161, 162, 163, 164, 165, + 603, 166, 604, 167, 605, 1000, 286, 529, 451, 490, + 855, 853, 491, 499, 964, 291, 484, 302, 526, 871, + 182, 229, 193, 616, 216, 632, 620, 621, 432, 247, + 109, 533, 252, 531, 1051, 283, 244, 657, 214, 629, + 417, 212, 626, 414, 808, 467, 536, 727, 69, 463, + 661, 464, 465, 655, 654, 656, 653, 842, 466, 70, + 429, 430, 71, 223, 72, 251, 844, 1108, 476, 477, + 73, 221, 1042, 307, 308, 74, 941, 267, 268, 505, + 693, 868, 75, 682, 492, 76, 683, 325, 77, 326, + 260, 78, 79, 80, 81, 82, 83, 410, 806, 222, + 633, 812, 813, 814, 815, 1029, 425, 953, 954, 1028, + 952, 1090, 1086, 1087, 1142, 1096, 1097, 1148, 1149, 1150, + 1081, 1082, 1136, 1137, 1138, 1170, 1171, 803, 928, 926, + 925, 924, 929, 1010, 1011, 1012, 1134, 793, 1009, 1073, + 84, 230, 85, 86, 512, 87, 634, 444, 445, 644, + 645, 88, 89, 288, 699, 289, 284, 276, 392, 615, + 442, 443, 725, 976, 1118, 889, 978, 979, 887, 90, + 849, 1039, 483, 273, 688, 306, 816, 817, 665, 91, + 383, 92, 293, 701, 1047, 1184, 93, 94, 115, 539, + 983, 95, 113, 538, 982, 608, 609, 96, 705, 97, + 117, 316, 317, 318, 549, 987, 1187, 1195, 1201, 1205, + 1208, 1213, 1062, 319, 733, 1060, 897, 1157, 738, 546 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1459,1244 +1461,1314 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 97, 545, 498, 100, 500, 765, 603, 253, 254, 260, - 262, 719, 207, 663, 782, 534, 525, 516, 725, 1053, - 1054, 467, 180, 469, 521, 912, 186, 187, 189, 191, - 193, 518, 197, 334, 198, 593, 594, 595, 596, 597, - 255, 882, 1073, 743, 101, 194, 393, 1088, 477, 915, - 195, 371, 559, 229, 115, 681, 1051, 233, 167, 357, - 358, 732, 224, 1080, 243, 230, 247, 1194, 183, 843, - 185, 935, 256, 218, 669, 788, 374, 270, 273, 1033, - 273, 273, 280, 1151, 272, 610, -622, 267, 570, 682, - 215, 376, 733, 293, 172, 1164, 295, 173, 297, 1081, - 298, 671, 57, 1207, 188, 683, 307, 259, 309, 673, - 1028, -259, 478, 1082, 1010, 1152, 789, 3, 1013, -259, - -259, 98, 1165, 261, 1195, 303, 57, 168, 782, 1034, - -259, 102, 364, 365, 170, 571, 572, 394, -259, 256, - 844, 670, 225, 312, -383, 231, 174, 251, 176, 222, - 372, 936, 238, 216, 240, 256, 263, 1029, 288, 57, - 547, 407, 566, 378, 379, 380, 568, 1074, 672, 384, - 196, 385, 1089, -2, 387, 312, 674, 974, -423, 1075, - 395, 1076, 476, 396, 1090, 397, 1091, 375, 1081, 399, - 560, 232, -252, 586, 913, 522, 252, 587, 751, 752, - -622, 1183, 1082, 409, -259, -259, -259, 888, 416, 257, - 418, -441, 268, 744, 745, 1077, 57, 424, 916, 426, - 1092, 57, 561, 57, 443, 269, 573, 1166, 217, 57, - -368, 226, 779, 450, 376, 452, 604, 57, 687, 57, - 723, 468, 694, 695, 661, -423, 479, 57, 1030, 1208, - 491, 57, 57, 57, 497, 57, 499, 313, 501, 99, - 504, -423, 505, 506, 507, 169, 178, 508, 376, 591, - 592, 57, 171, 510, 465, 819, 820, 184, 513, 105, - 655, 280, 376, 517, 175, 519, 177, 223, 821, 313, - 239, 376, 241, 208, 264, 492, -242, 495, 822, -437, - 567, 656, 454, 376, 569, 376, 376, 455, 456, 457, - 1037, 376, 325, 376, 376, 106, 376, 318, 209, 332, - 471, 376, 211, 1038, 376, 458, 459, 376, 275, 376, - 376, 376, 361, 362, 363, 376, 376, 376, 322, 598, - 599, 753, 754, 531, 235, 1095, 1096, 1097, 376, 819, - 820, -348, 495, 934, -348, 244, -348, -348, -348, 776, - 376, 823, 821, 376, 376, 466, 549, 376, 551, 552, - 553, 554, 822, 555, -348, -348, 738, 376, -249, 376, - 563, 564, 565, 609, 611, 824, 493, 57, 576, 577, - 578, 579, 580, 581, 582, 614, 615, 874, 57, 741, - 303, 1137, 876, 877, -294, 53, 1141, 625, 472, 225, - 628, 766, 736, 668, 772, 299, 1149, 107, 989, 990, - 739, 740, 311, 742, 634, 870, 871, 872, 755, 881, - 825, 767, 942, 943, 768, 823, 769, 878, 770, 643, - 644, 645, 771, 985, 986, 910, 703, 704, 705, 301, - 326, 624, 366, 367, 627, 987, 657, 368, 207, 824, - 364, 365, 1055, 1056, 782, 782, 1174, 991, 360, 431, - 992, 995, 666, 667, 996, 327, 706, 432, 433, 328, - 57, 830, 831, 296, 1121, 684, 1122, 707, 708, 709, - 710, 711, 712, 688, 329, 689, 200, 201, 376, 405, - 392, 199, 406, 431, 200, 201, 280, 280, 376, 202, - 960, 432, 433, 697, 993, 994, 699, 202, 701, 204, - 57, 57, 434, 503, 515, 675, 203, 204, 676, 713, - 435, 1017, 1018, 57, 400, 1019, 604, 1020, 728, 832, - 968, 956, 734, 969, 1064, 1065, 401, 791, 792, 588, - 589, 590, 793, 794, 369, 370, 330, 57, 57, 1021, - 1136, 1140, 436, 437, 438, 57, 1017, 1018, 1148, 285, - 1040, 331, 1020, 714, 715, 795, 292, 402, 1067, 1068, - 677, 205, 43, 44, 45, 403, 838, 1022, 276, 277, - 43, 44, 45, 308, 1021, 310, 436, 437, 438, 333, - 781, 1074, 335, 1023, 1024, 785, 206, 336, 786, 337, - 338, 787, 859, 1075, 206, 1076, 511, 863, 512, 796, - 797, 798, 1022, 382, 807, 339, 340, 1062, 341, 1201, - 1031, 1089, 342, 799, 343, 454, 344, 359, 1023, 1024, - 455, 456, 457, 1090, 345, 1091, 346, 537, 538, 1077, - 539, 373, 347, 348, 887, 349, 889, 350, 458, 459, - 845, 351, 389, 352, 848, 849, 540, 851, 353, 853, - 354, 355, 856, 398, 356, 383, 860, 861, 862, 1092, - 541, 386, 864, 318, 391, 404, 410, 542, 411, 419, - 834, 835, 836, 837, 413, 417, 414, 319, 320, 321, - 420, 1169, 1170, 1043, 322, 421, 1172, 422, 425, -371, - 470, 879, 1175, 1176, 1177, 883, 264, 102, 858, 529, - 585, 532, 607, 604, 608, 619, 620, 896, 897, 621, - 622, 632, 633, 647, 1110, 660, 678, 686, 376, 700, - 729, 726, 731, 727, 737, 746, 747, 1119, 495, 775, - 748, 749, 1123, 495, 495, 1126, 764, 750, 756, 757, - 285, 780, 285, 758, 801, 514, 759, 760, 761, 762, - 763, 829, 520, 773, 802, 774, 1143, 898, 899, 804, - 816, 900, 955, 817, 818, 920, 903, 854, 842, 855, - 256, 873, 904, 867, 905, 927, 885, 893, 901, 895, - 1156, 902, 907, 911, 924, 932, 908, 941, 550, 1162, - 931, 937, 909, 959, 944, 965, 556, 557, 558, 974, - 562, 972, 988, 982, 999, 1003, 983, 574, 918, 919, - 1045, 1058, 1069, 1111, 1102, 948, 583, 584, 952, 953, - 1071, 1118, 479, 1109, 1120, 1157, 1182, 1160, 1163, 957, - 958, 1186, 1185, 1188, 1189, 1190, 1197, 1200, 1206, 1015, - 1203, 1128, 1014, 701, 1125, 1047, 880, 966, 1113, 237, - 527, 449, 1032, 649, 945, 939, 778, 777, 67, 947, - 109, 110, 302, 616, 659, 1150, 246, 981, 1042, 1098, - 692, 377, 495, 930, 1173, 1178, 933, 1171, 1130, 815, - 693, 866, 691, 639, 954, 475, 964, 998, 548, 940, - 1002, 638, 1052, 1161, 1106, 892, 0, 0, 0, 0, - 0, 389, 0, 640, 0, 0, 0, 0, 0, 0, - 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1035, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1012, 0, 0, 0, 0, - 0, 1016, 1035, 1035, 0, 0, 0, 0, 0, 0, - 1114, 495, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 98, 768, 501, 101, 503, 785, 606, 262, 264, 255, + 256, 528, 209, 722, 537, 666, 596, 597, 598, 599, + 600, 1076, 181, 519, 728, 524, 187, 188, 190, 192, + 194, 521, 198, 199, 257, 200, 336, 470, 562, 472, + 1056, 1057, 1091, 746, 99, 474, 378, 1054, 915, 1031, + 918, 376, 217, 1083, 684, 735, 480, 220, 235, 116, + 548, 231, 359, 360, 573, 245, 258, 249, 261, 846, + 885, 373, 269, 232, 102, 938, 1036, 3, 272, 275, + 253, 275, 275, 282, 1154, 1210, 736, 305, 685, 173, + 274, -624, 174, 378, 295, 263, 1032, 297, 613, 299, + 258, 300, 378, 169, 686, -2, 550, 309, 171, 311, + 1040, 574, 575, 189, 314, 218, 1155, 1197, 175, 785, + 481, 314, 58, 1041, 287, 298, 1037, 258, -384, 254, + 58, 294, 177, 224, 475, 58, 210, 240, 242, 265, + 847, 179, 1013, 290, 822, 823, 1016, 1077, 310, 409, + 312, 569, 571, 195, 233, 741, 939, 824, 196, 1078, + 1167, 1079, 103, 377, 380, 381, 382, 825, 1092, 977, + 386, 374, 387, -424, 1198, 389, 378, 563, 378, 1084, + 1093, 397, 1094, 100, 398, 479, 399, 1168, 1033, 58, + 401, 219, 361, 1085, -253, 1080, -442, 525, 270, 607, + 234, 754, 755, 576, 259, 411, -624, -424, 58, 564, + 418, 271, 420, 891, 747, 748, 1095, 391, 916, 426, + 919, 428, 1186, 58, 58, 58, 446, 378, 400, 315, + 58, 826, 1211, 782, -424, 453, 315, 455, 58, 690, + 726, 58, 170, 471, 58, 58, 226, 172, 482, 697, + 698, 419, 494, 58, 58, 827, 500, 176, 502, 58, + 504, 664, 507, 185, 508, 509, 510, 58, 237, 511, + 378, 178, 225, 594, 595, 513, 241, 243, 266, 197, + 516, 106, -243, 282, 739, 520, 742, 522, -438, 791, + 570, 572, 378, 1169, 378, -260, 706, 707, 708, 1084, + 828, 378, -250, -260, -260, 378, 378, 202, 203, 211, + 1098, 1099, 1100, 1085, -260, 672, 287, 107, 287, 395, + 204, 517, -260, -260, 378, 589, 709, 227, 523, 590, + 206, 792, 378, 378, 227, 756, 757, 710, 711, 712, + 713, 714, 715, 378, 468, 378, 378, 213, 833, 834, + 378, 366, 367, -349, 495, 937, -349, 246, 378, -349, + -349, -349, 378, 674, 553, 378, 1140, 676, 327, 378, + 277, 1144, 559, 560, 561, 334, 565, -349, -349, 744, + 716, 1152, 673, 577, 378, 612, 614, 378, 301, -260, + -260, -260, 586, 587, 44, 45, 46, 617, 618, 407, + 992, 993, 408, 769, 303, 378, 835, -295, 54, 628, + 775, 396, 631, 743, 745, -369, 228, 671, 208, 378, + 108, 873, 874, 875, 717, 718, 637, 913, 779, 884, + 675, 1177, 758, 881, 677, 305, 469, 168, 1077, 619, + 770, 771, 646, 647, 648, 678, 496, 184, 679, 186, + 1078, 772, 1079, 773, 774, 785, 785, 877, 988, 660, + 209, 658, 879, 880, 1058, 1059, 989, 641, 201, 313, + 990, 202, 203, 994, 328, 669, 670, 995, 391, 378, + 643, 394, 659, 457, 204, 378, 1080, 963, 687, 458, + 459, 460, 998, 205, 206, 999, 691, 433, 692, 329, + 680, 822, 823, 402, 330, 434, 435, 461, 462, 282, + 282, 331, 667, 1124, 824, 403, 700, 368, 369, 702, + 1092, 704, 370, 320, 825, 971, 58, 1125, 972, 506, + 366, 367, 1093, 58, 1094, 320, 518, 321, 322, 323, + 58, 731, 433, 607, 324, 737, 404, 643, 378, 207, + 434, 435, 58, 362, 405, 1139, 324, 375, 44, 45, + 46, 436, 540, 541, 514, 542, 515, 724, 1095, 437, + 438, 332, 794, 795, 1172, 1173, 384, 796, 797, 1175, + 58, 543, 208, 945, 946, 1178, 1179, 1180, 826, 333, + 841, 439, 440, 441, 58, 544, 58, 1143, 457, 1151, + 798, 959, 545, 784, 458, 459, 460, 335, 788, 996, + 997, 789, 827, 641, 790, 337, 862, 866, 1067, 1068, + 371, 372, 461, 462, 338, 1204, 385, 810, 1065, 363, + 364, 365, 339, 591, 592, 593, 439, 440, 441, 1070, + 1071, 278, 279, 388, 340, 799, 800, 801, 341, 1020, + 1021, 601, 602, 1022, 342, 1023, 393, 343, 890, 802, + 892, 344, 345, 848, 809, 1020, 1021, 851, 852, 1043, + 854, 1023, 856, 346, 347, 859, 348, 1024, 498, 863, + 864, 865, 349, 350, 351, 867, 352, 353, 354, 355, + 1034, 356, 357, 1024, 358, 412, 422, 406, 423, 413, + 843, 415, 416, 421, 1046, 1025, 424, 427, -372, 473, + 266, 103, 532, 588, 882, 535, 607, 610, 886, 611, + 622, 1025, 1026, 1027, 534, 623, 624, 625, 635, 636, + 899, 900, 650, 498, 287, 663, 681, 689, 1026, 1027, + 378, 703, 729, 732, 832, 730, 740, 552, 734, 554, + 555, 556, 557, 749, 558, 750, 751, 752, 753, 778, + 759, 566, 567, 568, 893, 894, 760, 761, 762, 579, + 580, 581, 582, 583, 584, 585, 763, 764, 783, 765, + 766, 804, 767, 776, 777, 805, 958, 807, 923, 819, + 845, 820, 821, 857, 1113, 858, 258, 870, 930, 876, + 888, 896, 909, 898, 904, 910, 914, 1122, 905, 927, + 934, 944, 1126, 935, 940, 1129, 962, 947, 975, 968, + 1006, 977, 985, 1002, 991, 1048, 1061, 1072, 1074, 1105, + 986, 1112, 627, 1114, 1121, 630, 1146, 1123, 951, 1160, + 1163, 955, 956, 1166, 1188, 482, 1189, 1191, 1193, 1192, + 1203, 1209, 960, 961, 1018, 641, 643, 1200, 1131, 1206, + 1159, 1017, 1128, 883, 969, 1050, 704, 1116, 239, 1165, + 1035, 948, 530, 452, 68, 110, 652, 942, 781, 780, + 662, 111, 304, 1153, 248, 695, 379, 1101, 933, 1181, + 984, 1176, 1045, 936, 1174, 1133, 818, 696, 869, 943, + 642, 694, 967, 965, 1055, 966, 1185, 478, 551, 957, + 1001, 1109, 1164, 1005, 895, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1030, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1038, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1014, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1038, 1038, 0, 0, 0, + 0, 0, 0, 0, 1117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 721, 0, 0, 0, 0, 0, 0, 948, 948, 948, - 0, 0, 0, 1099, 1100, 1101, 0, 0, 1103, 1104, - 1060, 0, 0, 0, 1061, 0, 734, 0, 1108, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, - 1116, 1117, 0, 0, 0, 0, 638, 0, 0, 1124, - 0, 0, 1127, 0, 0, 0, 0, 0, 1132, 0, - 0, 0, 0, 948, 0, 1138, 0, 0, 948, 0, - 1142, 0, 0, 1144, 0, 495, 0, 0, 948, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, - 0, 0, 1153, 495, 0, 0, 495, 806, 0, 1129, - 0, 278, 0, 1153, 0, 0, 0, -316, 0, 0, - 0, 0, 0, 0, 1196, 0, 0, 495, 0, 0, - 0, 0, -316, -316, 1204, 0, -316, -316, 948, 0, - -316, -316, 0, 840, -316, 0, 1179, 1180, 0, 0, - 0, 495, 0, 0, 1035, 0, 0, 0, 0, 0, - 495, 0, 0, -316, -316, 0, 0, -316, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 285, 0, 0, - 0, 0, 0, 0, 1193, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, - 0, 1209, 1211, 1212, 0, 0, 0, 890, 891, 0, - 0, -316, 0, 0, 0, 0, 0, 0, 0, 0, - -316, 0, -316, -316, -316, -316, -316, -316, -316, 0, - 0, -316, 0, 0, 0, -316, 0, 0, 0, -316, - 0, 0, 0, 0, 0, 906, 0, 0, -316, -316, - -316, -316, 0, 0, 0, 0, 0, 0, -316, 0, - -316, -316, -316, 429, -316, -316, -316, -316, -316, -284, - 0, 0, -316, 0, 0, 0, 0, -316, 0, 57, - -316, 0, 279, 0, -284, -284, 0, 0, -284, -284, - 0, 0, -284, -284, 0, 0, -284, 0, 638, 640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -284, -284, 0, 0, -284, + 0, 1052, 1053, 0, 0, 0, 0, 0, 0, 0, + 951, 951, 951, 0, 0, 0, 1102, 1103, 1104, 0, + 0, 1106, 1107, 0, 0, 0, 0, 0, 0, 737, + 0, 1111, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1119, 1120, 0, 0, 0, 0, 0, + 0, 0, 1127, 0, 0, 1130, 0, 0, 0, 0, + 0, 1135, 837, 838, 839, 840, 951, 0, 1141, 0, + 0, 951, 0, 1145, 0, 0, 1147, 0, 0, 0, + 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, + 861, 0, 0, 0, 0, 1156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1156, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1199, 0, + 498, 0, 0, 0, 0, 498, 498, 0, 1207, 0, + 0, 951, 0, 0, 0, 0, 0, 1158, 0, 1182, + 1183, 0, 0, 0, 0, 0, 0, 1038, 0, 901, + 902, 0, 0, 903, 0, 0, 0, 0, 906, 0, + 0, 0, 0, 0, 907, 0, 908, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1196, 911, 0, + 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1212, 1214, 1215, 0, 0, 0, + 921, 922, 0, 0, 0, 0, 0, 280, 0, 0, + 0, 0, 0, -317, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 641, -317, -317, + 0, 0, -317, -317, 0, 0, -317, -317, 0, 0, + -317, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 950, 0, 0, 0, 0, 0, 0, 0, -317, + -317, 0, 0, -317, 498, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 431, 0, 0, 0, 0, 0, + -285, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -285, -285, 0, 0, -285, + -285, 0, 0, -285, -285, 0, 0, -285, -317, 0, + 0, 0, 0, 0, 0, 0, 0, -317, 0, -317, + -317, -317, -317, -317, -317, -317, -285, -285, -317, 0, + -285, 0, -317, 0, 0, 0, -317, 1015, 0, 0, + 0, 0, 0, 1019, 0, -317, -317, -317, -317, 0, + 0, 0, 0, 498, 0, -317, 0, -317, -317, -317, + 0, -317, -317, -317, -317, -317, 0, 0, 0, -317, + 0, 0, 0, 0, -317, -285, 58, -317, 0, 281, + 0, 0, 0, 0, -285, 0, -285, -285, -285, -285, + -285, -285, -285, 0, 0, -285, 0, 0, 0, -285, + 0, 0, 1063, -285, 0, 0, 1064, 0, 0, 0, + 0, 0, -285, -285, -285, -285, 0, 0, 0, 0, + 0, 1075, -285, 0, -285, -285, -285, 0, -285, -285, + -285, -285, -285, 250, 0, 0, -285, 0, 0, -376, + 0, -285, 0, 0, -285, -285, 0, 0, 0, 0, + 0, 0, 0, 0, -376, -376, 0, 498, -376, -376, + 0, 0, -376, -376, 0, 0, -376, 0, 0, 0, + 498, -376, 0, 0, 0, 498, 0, 0, 498, 0, + 0, 1132, 0, 0, 0, -376, -376, 0, 0, -376, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 498, + 191, 0, 0, 0, 0, 0, -263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -263, -263, 498, 0, -263, -263, 0, 0, -263, + -263, 0, 498, -263, -376, 0, 0, 0, 0, 0, + 0, 0, 0, -376, 0, -376, -376, -376, -376, -376, + -376, -376, -263, -263, -376, 0, -263, 0, -376, 0, + -376, 0, -376, 0, 0, 0, 0, 0, 0, 498, + 0, -376, -376, -376, -376, 0, 0, 0, 0, 0, + 0, -376, 0, -376, -376, -376, 0, -376, -376, -376, + -376, -376, 0, 0, 0, -376, 0, 0, 0, 0, + -376, -263, 0, -376, 0, 0, 0, 0, 0, 0, + -263, 0, -263, -263, -263, -263, -263, -263, -263, 0, + 0, -263, 0, 0, 0, -263, 0, 0, 0, -263, + 0, 0, 0, 0, 0, 0, 0, 0, -263, -263, + -263, -263, 0, 0, 0, 0, 0, 0, -263, 0, + -263, -263, -263, 0, -263, -263, -263, -263, -263, 1088, + 0, 0, -263, 0, 0, -469, 0, -263, 0, 58, + -263, 0, 0, 1089, 0, 0, 0, 0, 0, 0, + -469, -469, 0, 0, -469, -469, 0, 0, -469, -469, + 0, 0, -469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 962, 0, 963, 0, + 0, -469, -469, 0, 0, -469, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, + 0, 0, -614, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -614, -614, 0, + 0, -614, -614, 0, 0, -614, -614, 0, 0, -614, + -469, 0, 0, 0, 0, 0, 0, 0, 0, -469, + 0, -469, -469, -469, -469, -469, -469, -469, -614, -614, + -469, 0, -614, 0, -469, 0, 0, 0, -469, 0, + 0, 0, 0, 0, 0, 0, 0, -469, -469, -469, + -469, 0, 0, 0, 0, 0, 0, -469, 0, -469, + -469, -469, 0, -469, -469, -469, -469, -469, 0, 0, + 0, -469, 0, 0, 0, 0, -469, -614, 0, -469, + 0, 0, 0, 0, 0, 0, -614, 0, -614, -614, + -614, -614, -614, -614, -614, 0, 0, -614, 0, 0, + 0, -614, 0, 0, 0, -614, 0, 0, 0, 0, + 0, 0, 0, 0, -614, -614, -614, -614, 0, 114, + 0, 0, 0, 0, -614, -609, -614, -614, -614, 0, + -614, -614, -614, -614, -614, 0, 0, 0, -614, 0, + -609, -609, 0, -614, -609, -609, -614, 0, -609, -609, + 0, 0, -609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, - 0, 0, -284, 0, -284, -284, -284, -284, -284, -284, - -284, 0, 0, -284, 0, 0, 0, -284, 0, 0, - 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, - -284, -284, -284, -284, 1011, 248, 0, 0, 0, 0, - -284, -375, -284, -284, -284, 0, -284, -284, -284, -284, - -284, 0, 0, 0, -284, 0, -375, -375, 0, -284, - -375, -375, -284, -284, -375, -375, 0, 0, -375, 0, - 0, 0, 0, -375, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1049, 1050, 0, -375, -375, 0, - 0, -375, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -609, -609, 0, 0, -609, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, + 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 120, 121, 0, + 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, + -609, 0, 0, 0, 0, 0, 0, 0, 0, -609, + 0, -609, -609, -609, -609, -609, -609, -609, 127, 128, + -609, 0, 129, 0, -609, 0, 0, 0, -609, 0, + 0, 0, 0, 0, 0, 0, 0, -609, -609, -609, + -609, 0, 0, 0, 0, 0, 0, -609, 0, -609, + -609, -609, 0, -609, -609, -609, -609, -609, 0, 0, + 0, -609, 0, 0, 0, 0, -609, 130, 0, -609, + 0, 0, 0, 0, 0, 0, 131, 0, 132, 133, + 134, 135, 136, 137, 138, 0, 0, 139, 0, 0, + 0, 140, 0, 0, 0, 141, 0, 0, 0, 0, + 0, 0, 0, 0, 142, 143, 144, 145, 0, 183, + 0, 0, 0, 0, 146, 119, 147, 148, 149, 0, + 150, 151, 152, 153, 154, 0, 0, 0, 155, 0, + 120, 121, 0, 156, 122, 123, 157, 0, 124, 125, + 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 190, 0, 0, 0, 0, 0, -262, 0, + 0, 127, 128, 0, 0, 129, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, + 0, 0, -267, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -267, -267, 0, + 0, -267, -267, 0, 0, -267, -267, 0, 0, -267, + 130, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 0, 132, 133, 134, 135, 136, 137, 138, -267, -267, + 139, 0, -267, 0, 140, 0, 0, 0, 141, 0, + 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, + 145, 0, 0, 0, 0, 0, 0, 146, 0, 147, + 148, 149, 0, 150, 151, 152, 153, 154, 0, 0, + 0, 155, 0, 0, 0, 0, 156, -267, 0, 157, + 0, 0, 0, 0, 0, 0, -267, 0, -267, -267, + -267, -267, -267, -267, -267, 0, 0, -267, 0, 0, + 0, -267, 0, 0, 0, -267, 0, 0, 0, 0, + 0, 0, 0, 0, -267, -267, -267, -267, 0, 285, + 0, 0, 0, 0, -267, 119, -267, -267, -267, 0, + -267, -267, -267, -267, -267, 0, 0, 0, -267, 0, + 120, 121, 0, -267, 122, 123, -267, 0, 124, 125, + 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -262, -262, -375, 0, -262, -262, 0, - 0, -262, -262, 0, -375, -262, -375, -375, -375, -375, - -375, -375, -375, 0, 0, -375, 0, 0, 0, -375, - 0, -375, 0, -375, -262, -262, 0, 0, -262, 0, - 0, 0, -375, -375, -375, -375, 0, 0, 0, 0, - 0, 0, -375, 0, -375, -375, -375, 0, -375, -375, - -375, -375, -375, 0, 0, 0, -375, 0, 0, 0, - 0, -375, 0, 0, -375, 0, 0, 0, 0, 0, - 0, 0, -262, 0, 0, 0, 0, 0, 0, 0, - 1155, -262, 0, -262, -262, -262, -262, -262, -262, -262, - 0, 0, -262, 0, 0, 0, -262, 0, 0, 0, - -262, 0, 0, 0, 0, 0, 0, 0, 0, -262, - -262, -262, -262, 0, 0, 0, 0, 0, 0, -262, - 0, -262, -262, -262, 0, -262, -262, -262, -262, -262, - 1085, 0, 0, -262, 0, 0, -468, 0, -262, 0, - 57, -262, 0, 0, 1086, 0, 0, 0, 0, 0, - 0, -468, -468, 0, 0, -468, -468, 0, 0, -468, - -468, 0, 0, -468, 0, 0, 0, 0, 0, 0, - 638, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -468, -468, 0, 0, -468, 0, 0, 0, + 0, 127, 128, 0, 0, 129, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 292, 0, 0, 0, + 0, 0, -601, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -601, -601, 0, + 0, -601, -601, 0, 0, -601, -601, 0, 0, -601, + 130, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 0, 132, 133, 134, 135, 136, 137, 138, -601, -601, + 139, 0, -601, 0, 140, 0, 0, 0, 141, 0, + 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, + 145, 0, 0, 0, 0, 0, 0, 146, 0, 147, + 148, 149, 0, 150, 151, 152, 153, 154, 0, 0, + 0, 155, 0, 0, 0, 0, 156, -601, 0, 157, + 0, 0, 0, 0, 0, 0, -601, 0, -601, -601, + -601, -601, -601, -601, -601, 0, 0, -601, 0, 0, + 0, -601, 0, 0, 0, -601, 0, 0, 0, 0, + 0, 0, 0, 0, -601, -601, -601, -601, 0, 390, + 0, 0, 0, 0, -601, 119, -601, -601, -601, 0, + -601, -601, -601, -601, -601, 0, 0, 0, -601, 0, + 120, 121, 0, -601, 122, 123, -601, 0, 124, 125, + 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 111, 0, 0, 0, 0, 0, -612, + 0, 127, 128, 0, 0, 129, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 547, 0, 0, 0, + 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 120, 121, 0, + 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, + 130, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 0, 132, 133, 134, 135, 136, 137, 138, 127, 128, + 139, 0, 129, 0, 140, 0, 0, 0, 141, 0, + 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, + 145, 0, 0, 0, 0, 0, 0, 146, 0, 147, + 148, 149, 0, 150, 151, 152, 153, 154, 0, 0, + 0, 155, 0, 0, 0, 0, 156, 130, 0, 157, + 0, 0, 0, 0, 0, 0, 131, 0, 132, 133, + 134, 135, 136, 137, 138, 0, 0, 139, 0, 0, + 0, 140, 0, 0, 0, 141, 0, 0, 0, 0, + 0, 0, 0, 0, 142, 143, 144, 145, 0, 723, + 0, 0, 0, 0, 146, 119, 147, 148, 149, 0, + 150, 151, 152, 153, 154, 0, 0, 0, 155, 0, + 120, 121, 0, 156, 122, 123, 157, 0, 124, 125, + 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -612, -612, 0, 0, -612, -612, - -468, 0, -612, -612, 0, 0, -612, 0, 0, -468, - 0, -468, -468, -468, -468, -468, -468, -468, 0, 0, - -468, 0, 0, 0, -468, -612, -612, 0, -468, -612, - 0, 0, 0, 0, 0, 0, 0, -468, -468, -468, - -468, 0, 0, 0, 0, 0, 113, -468, 0, -468, - -468, -468, -607, -468, -468, -468, -468, -468, 0, 0, - 0, -468, 0, 0, 0, 0, -468, -607, -607, -468, - 0, -607, -607, -612, 0, -607, -607, 0, 0, -607, - 0, 0, -612, 0, -612, -612, -612, -612, -612, -612, - -612, 0, 0, -612, 0, 0, 0, -612, -607, -607, - 0, -612, -607, 0, 0, 0, 0, 0, 0, 0, - -612, -612, -612, -612, 0, 0, 0, 0, 0, 117, - -612, 0, -612, -612, -612, 118, -612, -612, -612, -612, - -612, 0, 0, 0, -612, 0, 0, 0, 0, -612, - 119, 120, -612, 0, 121, 122, -607, 0, 123, 124, - 0, 0, 125, 0, 0, -607, 0, -607, -607, -607, - -607, -607, -607, -607, 0, 0, -607, 0, 0, 0, - -607, 126, 127, 0, -607, 128, 0, 0, 0, 0, - 0, 0, 0, -607, -607, -607, -607, 0, 0, 0, - 0, 0, 182, -607, 0, -607, -607, -607, 118, -607, - -607, -607, -607, -607, 0, 0, 0, -607, 0, 0, - 0, 0, -607, 119, 120, -607, 0, 121, 122, 129, - 0, 123, 124, 0, 0, 125, 0, 0, 130, 0, - 131, 132, 133, 134, 135, 136, 137, 0, 0, 138, - 0, 0, 0, 139, 126, 127, 0, 140, 128, 0, - 0, 0, 0, 0, 0, 0, 141, 142, 143, 144, - 0, 0, 0, 0, 0, 213, 145, 0, 146, 147, - 148, -266, 149, 150, 151, 152, 153, 0, 0, 0, - 154, 0, 0, 0, 0, 155, -266, -266, 156, 0, - -266, -266, 129, 0, -266, -266, 0, 0, -266, 0, - 0, 130, 0, 131, 132, 133, 134, 135, 136, 137, - 0, 0, 138, 0, 0, 0, 139, -266, -266, 0, - 140, -266, 0, 0, 0, 0, 0, 0, 0, 141, - 142, 143, 144, 0, 0, 0, 0, 0, 283, 145, - 0, 146, 147, 148, 118, 149, 150, 151, 152, 153, - 0, 0, 0, 154, 0, 0, 0, 0, 155, 119, - 120, 156, 0, 121, 122, -266, 0, 123, 124, 0, - 0, 125, 0, 0, -266, 0, -266, -266, -266, -266, - -266, -266, -266, 0, 0, -266, 0, 0, 0, -266, - 126, 127, 0, -266, 128, 0, 0, 0, 0, 0, - 0, 0, -266, -266, -266, -266, 0, 0, 0, 0, - 0, 290, -266, 0, -266, -266, -266, -599, -266, -266, - -266, -266, -266, 0, 0, 0, -266, 0, 0, 0, - 0, -266, -599, -599, -266, 0, -599, -599, 129, 0, - -599, -599, 0, 0, -599, 0, 0, 130, 0, 131, - 132, 133, 134, 135, 136, 137, 0, 0, 138, 0, - 0, 0, 139, -599, -599, 0, 140, -599, 0, 0, - 0, 0, 0, 0, 0, 141, 142, 143, 144, 0, - 0, 0, 0, 0, 388, 145, 0, 146, 147, 148, - 118, 149, 150, 151, 152, 153, 0, 0, 0, 154, - 0, 0, 0, 0, 155, 119, 120, 156, 0, 121, - 122, -599, 0, 123, 124, 0, 0, 125, 0, 0, - -599, 0, -599, -599, -599, -599, -599, -599, -599, 0, - 0, -599, 0, 0, 0, -599, 126, 127, 0, -599, - 128, 0, 0, 0, 0, 0, 0, 0, -599, -599, - -599, -599, 0, 0, 0, 0, 0, 544, -599, 0, - -599, -599, -599, 118, -599, -599, -599, -599, -599, 0, - 0, 0, -599, 0, 0, 0, 0, -599, 119, 120, - -599, 0, 121, 122, 129, 0, 123, 124, 0, 0, - 125, 0, 0, 130, 0, 131, 132, 133, 134, 135, - 136, 137, 0, 0, 138, 0, 0, 0, 139, 126, - 127, 0, 140, 128, 0, 0, 0, 0, 0, 0, - 0, 141, 142, 143, 144, 0, 0, 0, 0, 0, - 720, 145, 0, 146, 147, 148, 118, 149, 150, 151, - 152, 153, 0, 0, 0, 154, 0, 0, 0, 0, - 155, 119, 120, 156, 0, 121, 122, 129, 0, 123, - 124, 0, 0, 125, 0, 0, 130, 0, 131, 132, - 133, 134, 135, 136, 137, 0, 0, 138, 0, 0, - 0, 139, 126, 127, 0, 140, 128, 0, 0, 0, - 0, 0, 0, 0, 141, 142, 143, 144, 0, 0, - 0, 0, 0, 857, 145, 0, 146, 147, 148, 118, - 149, 150, 151, 152, 153, 0, 0, 0, 154, 0, - 0, 0, 0, 155, 119, 120, 156, 0, 121, 122, - 129, 0, 123, 124, 0, 0, 125, 0, 0, 130, - 0, 131, 132, 133, 134, 135, 136, 137, 0, 0, - 138, 0, 0, 0, 139, 126, 127, 0, 140, 128, - 0, 0, 0, 0, 0, 0, 0, 141, 142, 143, - 144, 0, 0, 0, 0, 0, 0, 145, 0, 146, - 147, 148, 0, 149, 150, 151, 152, 153, 0, 0, - 0, 154, 0, 0, 0, 0, 155, 0, 0, 156, - 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, - 0, 0, 130, 0, 131, 132, 133, 134, 135, 136, - 137, 0, 0, 138, 0, 0, 0, 139, 0, 0, - 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, - 141, 142, 143, 144, 0, 0, 0, 0, 0, 0, - 145, 0, 146, 147, 148, 0, 149, 150, 151, 152, - 153, 0, 0, 5, 154, 0, 0, 0, 482, 155, - 7, 8, 156, 0, 0, 0, 0, 0, 11, 12, + 0, 127, 128, 0, 0, 129, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 860, 0, 0, 0, + 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 120, 121, 0, + 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, + 130, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 0, 132, 133, 134, 135, 136, 137, 138, 127, 128, + 139, 0, 129, 0, 140, 0, 0, 0, 141, 0, + 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, + 145, 0, 0, 0, 0, 0, 0, 146, 0, 147, + 148, 149, 0, 150, 151, 152, 153, 154, 0, 0, + 0, 155, 0, 0, 0, 0, 156, 130, 0, 157, + 0, 0, 0, 0, 0, 0, 131, 0, 132, 133, + 134, 135, 136, 137, 138, 0, 0, 139, 0, 0, + 0, 140, 0, 0, 0, 141, 0, 0, 0, 0, + 0, 0, 0, 0, 142, 143, 144, 145, 0, 0, + 0, 0, 0, 0, 146, 0, 147, 148, 149, 0, + 150, 151, 152, 153, 154, 0, 0, 5, 155, 0, + 0, 0, 485, 156, 7, 8, 157, 0, 0, 0, + 0, 0, 11, 12, -410, 13, 0, 0, 0, 0, + 14, 15, 0, 0, 0, 16, 0, 0, 486, 487, + 0, 18, 19, 20, 488, 22, 23, 24, 0, 25, + 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 28, 0, -410, 0, 0, 0, -410, 29, 30, + 31, 32, 0, 0, 0, 0, 0, 0, 0, 33, + 34, 35, 36, 0, 0, 0, 37, 0, 0, 38, + 0, 0, 40, 0, 0, 489, 0, 42, 43, 44, + 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, + 51, 52, 0, 53, 54, 0, 0, 0, 0, 0, + 0, 0, 55, 5, 0, 0, 56, 0, 485, 57, + 7, 8, 0, 0, 0, 0, 0, 0, 11, 12, -409, 13, 0, 0, 0, 0, 14, 15, 0, 0, - 0, 16, 0, 0, 483, 484, 0, 18, 19, 20, - 485, 22, 23, 24, 0, 25, 0, 0, 0, 0, + 0, 16, 0, 0, 486, 487, 58, 18, 19, 20, + 488, 22, 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, -409, 0, 0, 0, -409, 29, 30, 31, 32, 0, 0, - 0, 0, 0, 0, 33, 34, 35, 36, 0, 0, - 0, 37, 0, 0, 0, 0, 0, 39, 0, 0, - 486, 0, 41, 42, 43, 44, 45, 46, 47, 0, - 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 49, 0, 0, 50, 51, 0, 52, 53, - 0, 0, 0, 0, 0, 0, 0, 54, 5, 0, - 0, 55, 0, 482, 56, 7, 8, 0, 0, 0, - 0, 0, 0, 11, 12, -408, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 483, - 484, 57, 18, 19, 20, 485, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 0, 0, 0, 26, 0, + 0, 0, 0, 0, 0, 33, 34, 35, 36, 0, + 0, 0, 37, 0, 0, 38, 0, 0, 40, 0, + 0, 489, 0, 42, 43, 44, 45, 46, 47, 48, + 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 50, 0, 0, 51, 52, 5, 53, + 54, 0, 0, 6, 0, 7, 8, 9, 55, 0, + 10, 0, 56, 11, 12, 57, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 17, + 0, 0, 18, 19, 20, 21, 22, 23, 24, 0, + 25, 0, 58, 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, -408, 0, 0, 0, -408, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 33, - 34, 35, 36, 0, 0, 0, 37, 0, 0, 0, - 0, 0, 39, 0, 0, 486, 0, 41, 42, 43, - 44, 45, 46, 47, 0, 48, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, - 50, 51, 5, 52, 53, 0, 0, 6, 0, 7, - 8, 9, 54, 0, 10, 0, 55, 11, 12, 56, - 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, - 16, 0, 0, 17, 0, 0, 18, 19, 20, 21, - 22, 23, 24, 0, 25, 0, 57, 0, 0, 0, - 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, - 0, 0, 0, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 0, 38, 0, 39, 0, 0, 40, - 0, 41, 42, 43, 44, 45, 46, 47, 0, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 49, 0, 0, 50, 51, 0, 52, 53, 0, - 0, 0, 0, 0, 0, 0, 54, 5, 0, 0, - 55, 0, 482, 56, 7, 8, 0, 0, 0, 0, - 0, 0, 11, 12, 490, 13, 0, 0, 0, 0, - 14, 15, 0, 0, 0, 16, 0, 0, 483, 484, - 57, 18, 19, 20, 485, 22, 23, 24, 0, 25, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 0, 0, 0, 29, 30, - 31, 32, 0, 0, 0, 0, 0, 0, 33, 34, - 35, 36, 0, 0, 0, 37, 0, 0, 0, 0, - 0, 39, 0, 0, 486, 0, 41, 42, 43, 44, - 45, 46, 47, 0, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 49, 0, 0, 50, - 51, 0, 52, 53, 0, 0, 0, 0, 0, 0, - 0, 54, 5, 0, 0, 55, 0, 482, 56, 7, - 8, 0, 0, 0, 0, 0, 0, 11, 12, 646, - 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, - 16, 0, 0, 483, 484, 57, 18, 19, 20, 485, - 22, 23, 24, 0, 25, 0, 0, 0, 0, 0, - 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, - 0, 0, 0, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 0, 0, 0, 39, 0, 0, 486, - 0, 41, 42, 43, 44, 45, 46, 47, 0, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 49, 0, 0, 50, 51, 0, 52, 53, 0, - 0, 0, 0, 0, 0, 0, 54, 5, 0, 0, - 55, 0, 482, 56, 7, 8, 0, 0, 0, 0, - 0, 0, 11, 12, 665, 13, 0, 0, 0, 0, - 14, 15, 0, 0, 0, 16, 0, 0, 483, 484, - 57, 18, 19, 20, 485, 22, 23, 24, 0, 25, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 0, 0, 0, 29, 30, - 31, 32, 0, 0, 0, 0, 0, 0, 33, 34, - 35, 36, 0, 0, 0, 37, 0, 0, 0, 0, - 0, 39, 0, 0, 486, 0, 41, 42, 43, 44, - 45, 46, 47, 0, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 49, 0, 0, 50, - 51, 0, 52, 53, 0, 0, 0, 0, 0, 0, - 0, 54, 5, 0, 0, 55, 0, 482, 56, 7, - 8, 0, 0, 0, 0, 0, 0, 11, 12, 847, - 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, - 16, 0, 0, 483, 484, 57, 18, 19, 20, 485, - 22, 23, 24, 0, 25, 0, 0, 0, 0, 0, - 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, - 0, 0, 0, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 0, 0, 0, 39, 0, 0, 486, - 0, 41, 42, 43, 44, 45, 46, 47, 0, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 49, 0, 0, 50, 51, 0, 52, 53, 0, - 0, 0, 0, 0, 0, 0, 54, 5, 0, 0, - 55, 0, 482, 56, 7, 8, 0, 0, 0, 0, - 0, 0, 11, 12, 946, 13, 0, 0, 0, 0, - 14, 15, 0, 0, 0, 16, 0, 0, 483, 484, - 57, 18, 19, 20, 485, 22, 23, 24, 0, 25, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 0, 0, 0, 29, 30, - 31, 32, 0, 0, 0, 0, 0, 0, 33, 34, - 35, 36, 0, 0, 0, 37, 0, 0, 0, 0, - 0, 39, 0, 0, 486, 0, 41, 42, 43, 44, - 45, 46, 47, 0, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 49, 0, 0, 50, - 51, 0, 52, 53, 0, 0, 0, 0, 0, 0, - 0, 54, 5, 0, 0, 55, 0, 482, 56, 7, - 8, 0, 0, 0, 0, 0, 0, 11, 12, 977, - 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, - 16, 0, 0, 483, 484, 57, 18, 19, 20, 485, - 22, 23, 24, 0, 25, 0, 0, 0, 0, 0, - 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, - 0, 0, 0, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 0, 0, 0, 39, 0, 0, 486, - 0, 41, 42, 43, 44, 45, 46, 47, 0, 48, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 39, 0, 40, 0, 0, 41, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 0, 0, 0, 0, + 0, 0, 0, 55, 5, 0, 0, 56, 0, 485, + 57, 7, 8, 0, 0, 0, 0, 0, 0, 11, + 12, 493, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 486, 487, 58, 18, 19, + 20, 488, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 489, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 0, 0, 0, 0, 0, 0, 0, 55, + 5, 0, 0, 56, 0, 485, 57, 7, 8, 0, + 0, 0, 0, 0, 0, 11, 12, 649, 13, 0, + 0, 0, 0, 14, 15, 0, 0, 0, 16, 0, + 0, 486, 487, 58, 18, 19, 20, 488, 22, 23, + 24, 0, 25, 0, 0, 0, 0, 0, 0, 0, + 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 29, 30, 31, 32, 0, 0, 0, 0, 0, + 0, 0, 33, 34, 35, 36, 0, 0, 0, 37, + 0, 0, 38, 0, 0, 40, 0, 0, 489, 0, + 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 49, 0, 0, 50, 51, 0, 52, 53, 0, - 0, 0, 0, 0, 0, 0, 54, 5, 0, 0, - 55, 0, 482, 56, 7, 8, 0, 0, 0, 0, - 0, 0, 11, 12, 978, 13, 0, 0, 0, 0, - 14, 15, 0, 0, 0, 16, 0, 0, 483, 484, - 57, 18, 19, 20, 485, 22, 23, 24, 0, 25, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, + 50, 0, 0, 51, 52, 0, 53, 54, 0, 0, + 0, 0, 0, 0, 0, 55, 5, 0, 0, 56, + 0, 485, 57, 7, 8, 0, 0, 0, 0, 0, + 0, 11, 12, 668, 13, 0, 0, 0, 0, 14, + 15, 0, 0, 0, 16, 0, 0, 486, 487, 58, + 18, 19, 20, 488, 22, 23, 24, 0, 25, 0, + 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 0, 0, 0, 29, 30, - 31, 32, 0, 0, 0, 0, 0, 0, 33, 34, - 35, 36, 0, 0, 0, 37, 0, 0, 0, 0, - 0, 39, 0, 0, 486, 0, 41, 42, 43, 44, - 45, 46, 47, 0, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 49, 0, 0, 50, - 51, 0, 52, 53, 0, 0, 0, 0, 0, 0, - 0, 54, 5, 0, 0, 55, 0, 482, 56, 7, - 8, 0, 0, 0, 0, 0, 0, 11, 12, 1041, + 28, 0, 0, 0, 0, 0, 0, 29, 30, 31, + 32, 0, 0, 0, 0, 0, 0, 0, 33, 34, + 35, 36, 0, 0, 0, 37, 0, 0, 38, 0, + 0, 40, 0, 0, 489, 0, 42, 43, 44, 45, + 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 50, 0, 0, 51, + 52, 0, 53, 54, 0, 0, 0, 0, 0, 0, + 0, 55, 5, 0, 0, 56, 0, 485, 57, 7, + 8, 0, 0, 0, 0, 0, 0, 11, 12, 850, 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, - 16, 0, 0, 483, 484, 57, 18, 19, 20, 485, + 16, 0, 0, 486, 487, 58, 18, 19, 20, 488, 22, 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 0, 0, 0, 39, 0, 0, 486, - 0, 41, 42, 43, 44, 45, 46, 47, 0, 48, + 0, 0, 0, 0, 33, 34, 35, 36, 0, 0, + 0, 37, 0, 0, 38, 0, 0, 40, 0, 0, + 489, 0, 42, 43, 44, 45, 46, 47, 48, 0, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, + 0, 0, 0, 0, 0, 0, 0, 55, 5, 0, + 0, 56, 0, 485, 57, 7, 8, 0, 0, 0, + 0, 0, 0, 11, 12, 949, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 486, + 487, 58, 18, 19, 20, 488, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 0, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 489, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 0, 0, 0, 0, + 0, 0, 0, 55, 5, 0, 0, 56, 0, 485, + 57, 7, 8, 0, 0, 0, 0, 0, 0, 11, + 12, 980, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 486, 487, 58, 18, 19, + 20, 488, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 489, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 0, 0, 0, 0, 0, 0, 0, 55, + 5, 0, 0, 56, 0, 485, 57, 7, 8, 0, + 0, 0, 0, 0, 0, 11, 12, 981, 13, 0, + 0, 0, 0, 14, 15, 0, 0, 0, 16, 0, + 0, 486, 487, 58, 18, 19, 20, 488, 22, 23, + 24, 0, 25, 0, 0, 0, 0, 0, 0, 0, + 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 29, 30, 31, 32, 0, 0, 0, 0, 0, + 0, 0, 33, 34, 35, 36, 0, 0, 0, 37, + 0, 0, 38, 0, 0, 40, 0, 0, 489, 0, + 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 49, 0, 0, 50, 51, 0, 52, 53, 0, - 0, 0, 0, 0, 0, 0, 54, 5, 0, 0, - 55, 0, 482, 56, 7, 8, 0, 0, 0, 0, - 0, 0, 11, 12, -643, 13, 0, 0, 0, 0, - 14, 15, 0, 0, 0, 16, 0, 0, 483, 484, - 57, 18, 19, 20, 485, 22, 23, 24, 0, 25, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, + 50, 0, 0, 51, 52, 0, 53, 54, 0, 0, + 0, 0, 0, 0, 0, 55, 5, 0, 0, 56, + 0, 485, 57, 7, 8, 0, 0, 0, 0, 0, + 0, 11, 12, 1044, 13, 0, 0, 0, 0, 14, + 15, 0, 0, 0, 16, 0, 0, 486, 487, 58, + 18, 19, 20, 488, 22, 23, 24, 0, 25, 0, + 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 0, 0, 0, 29, 30, - 31, 32, 0, 0, 0, 0, 0, 0, 33, 34, - 35, 36, 0, 0, 0, 37, 0, 0, 0, 0, - 0, 39, 0, 0, 486, 0, 41, 42, 43, 44, - 45, 46, 47, 0, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 49, 0, 0, 50, - 51, 0, 52, 53, 0, 0, 0, 0, 0, 0, - 0, 54, 5, 0, 0, 55, 0, 482, 56, 7, - 8, 0, 0, 0, 0, 0, 0, 11, 12, 1107, + 28, 0, 0, 0, 0, 0, 0, 29, 30, 31, + 32, 0, 0, 0, 0, 0, 0, 0, 33, 34, + 35, 36, 0, 0, 0, 37, 0, 0, 38, 0, + 0, 40, 0, 0, 489, 0, 42, 43, 44, 45, + 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 50, 0, 0, 51, + 52, 0, 53, 54, 0, 0, 0, 0, 0, 0, + 0, 55, 5, 0, 0, 56, 0, 485, 57, 7, + 8, 0, 0, 0, 0, 0, 0, 11, 12, -645, 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, - 16, 0, 0, 483, 484, 57, 18, 19, 20, 485, + 16, 0, 0, 486, 487, 58, 18, 19, 20, 488, 22, 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 0, 0, 0, 39, 0, 0, 486, - 0, 41, 42, 43, 44, 45, 46, 47, 0, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 49, 0, 0, 50, 51, 0, 52, 53, 0, - 0, 0, 0, 0, 0, 0, 54, 5, 0, 0, - 55, 0, 482, 56, 7, 8, 0, 0, 0, 0, - 0, 0, 11, 12, 1159, 13, 0, 0, 0, 0, - 14, 15, 0, 0, 0, 16, 0, 0, 483, 484, - 57, 18, 19, 20, 485, 22, 23, 24, 0, 25, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 0, 0, 0, 29, 30, - 31, 32, 0, 0, 0, 0, 0, 0, 33, 34, - 35, 36, 0, 0, 0, 37, 0, 0, 0, 0, - 0, 39, 0, 0, 486, 0, 41, 42, 43, 44, - 45, 46, 47, 0, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 49, 0, 0, 50, - 51, 5, 52, 53, 0, 0, 482, 0, 7, 8, - 0, 54, 0, 0, 0, 55, 11, 12, 56, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 0, 0, 483, 484, 0, 18, 19, 20, 485, 22, - 23, 24, 0, 25, 0, 57, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, -633, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 33, 34, 35, 36, 0, 0, 0, 37, - 0, 0, 0, 0, 0, 39, 0, 0, 486, 0, - 41, 42, 43, 44, 45, 46, 47, 0, 48, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 49, 0, 0, 50, 51, 0, 52, 53, 0, 0, - 0, 0, 0, 0, 0, 54, 5, 0, 0, 55, - 0, 482, 56, 7, 8, 0, 0, 0, 0, 0, - 0, 11, 12, -635, 13, 0, 0, 0, 0, 14, - 15, 0, 0, 0, 16, 0, 0, 483, 484, 57, - 18, 19, 20, 485, 22, 23, 24, 0, 25, 118, - 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, - 0, 0, 0, 0, 119, 120, 0, 0, 121, 122, - 28, 0, 123, 124, 0, 0, 125, 29, 30, 31, - 32, 471, 0, 0, 0, 0, 0, 33, 34, 35, - 36, 0, 0, 0, 37, 126, 127, 0, 0, 128, - 39, 0, 0, 486, 0, 41, 42, 43, 44, 45, - 46, 47, 0, 48, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 49, 0, 0, 50, 51, - 0, 52, 53, 0, 0, 0, 0, 0, 0, 0, - 54, 0, 0, 129, 55, 0, 0, 56, 0, 0, - 0, 0, 130, 0, 131, 132, 133, 134, 135, 136, - 137, 0, 0, 138, 0, 0, 0, 139, 0, 472, - 0, 140, 0, 0, 57, 0, 0, 0, 0, 0, - 141, 142, 143, 144, 0, 0, 0, 118, 0, 0, - 145, 0, 146, 147, 148, 0, 149, 150, 151, 152, - 153, 0, 119, 120, 154, 0, 121, 122, 0, 155, - 123, 124, 156, 0, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 126, 127, 0, 0, 128, 0, 0, - 0, 0, 0, 0, 376, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 120, 0, 0, 121, - 122, 129, 0, 123, 124, 0, 0, 125, 0, 0, - 130, 0, 131, 132, 133, 134, 135, 136, 137, 0, - 0, 138, 0, 0, 0, 139, 126, 127, 0, 140, - 128, 0, 0, 0, 0, 0, 0, 0, 141, 142, - 143, 144, 0, 0, 0, 0, 0, 0, 145, 0, - 146, 147, 148, 0, 149, 150, 151, 152, 153, 0, - 0, 0, 154, 0, 0, 0, 0, 155, 0, 0, - 156, 0, 0, 0, 129, 0, 0, 0, 0, 0, - 0, 0, 0, 130, 0, 131, 132, 133, 134, 135, - 136, 137, 0, 0, 138, 0, 0, 0, 139, 0, - 0, 0, 140, 869, 0, 0, 0, 0, 0, 0, - 0, 141, 142, 143, 144, 0, 0, 0, 118, 0, - 0, 145, 0, 146, 147, 148, 0, 149, 150, 151, - 152, 153, 0, 119, 120, 154, 0, 121, 122, 0, - 155, 123, 124, 156, 0, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 127, 0, 0, 128, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 34, 35, 36, 0, 0, + 0, 37, 0, 0, 38, 0, 0, 40, 0, 0, + 489, 0, 42, 43, 44, 45, 46, 47, 48, 0, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, + 0, 0, 0, 0, 0, 0, 0, 55, 5, 0, + 0, 56, 0, 485, 57, 7, 8, 0, 0, 0, + 0, 0, 0, 11, 12, 1110, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 486, + 487, 58, 18, 19, 20, 488, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 0, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 489, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 0, 0, 0, 0, + 0, 0, 0, 55, 5, 0, 0, 56, 0, 485, + 57, 7, 8, 0, 0, 0, 0, 0, 0, 11, + 12, 1162, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 486, 487, 58, 18, 19, + 20, 488, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 489, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 5, + 53, 54, 0, 0, 485, 0, 7, 8, 0, 55, + 0, 0, 0, 56, 11, 12, 57, 13, 0, 0, + 0, 0, 14, 15, 0, 0, 0, 16, 0, 0, + 486, 487, 0, 18, 19, 20, 488, 22, 23, 24, + 0, 25, 0, 58, 0, 0, 0, 0, 0, 26, + 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 28, -635, 0, 0, 0, 0, 0, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, + 0, 33, 34, 35, 36, 0, 0, 0, 37, 0, + 0, 38, 0, 0, 40, 0, 0, 489, 0, 42, + 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, + 0, 0, 51, 52, 0, 53, 54, 0, 0, 0, + 0, 0, 0, 0, 55, 5, 0, 0, 56, 0, + 485, 57, 7, 8, 0, 0, 0, 0, 0, 0, + 11, 12, -637, 13, 0, 0, 0, 0, 14, 15, + 0, 0, 0, 16, 0, 0, 486, 487, 58, 18, + 19, 20, 488, 22, 23, 24, 0, 25, 0, 0, + 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, + 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, + 0, 0, 0, 0, 0, 0, 0, 33, 34, 35, + 36, 0, 0, 0, 37, 0, 0, 38, 0, 0, + 40, 0, 0, 489, 0, 42, 43, 44, 45, 46, + 47, 48, 0, 49, 0, 0, 0, 0, 119, 0, + 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, + 0, 53, 54, 120, 121, 0, 0, 122, 123, 0, + 55, 124, 125, 0, 56, 126, 0, 57, 0, 0, + 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 127, 128, 0, 0, 129, 0, + 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 121, 0, 0, 122, 123, 0, 0, 124, 125, + 0, 0, 126, 130, 0, 0, 0, 0, 0, 0, + 0, 0, 131, 0, 132, 133, 134, 135, 136, 137, + 138, 127, 128, 139, 0, 129, 0, 140, 0, 475, + 0, 141, 378, 0, 0, 0, 0, 0, 0, 0, + 142, 143, 144, 145, 0, 0, 0, 0, 0, 0, + 146, 0, 147, 148, 149, 0, 150, 151, 152, 153, + 154, 0, 0, 0, 155, 0, 0, 0, 0, 156, + 130, 0, 157, 0, 0, 0, 0, 0, 0, 131, + 0, 132, 133, 134, 135, 136, 137, 138, 0, 0, + 139, 0, 0, 0, 140, 0, 0, 0, 141, 0, + 0, 0, 0, 0, 0, 0, 0, 142, 143, 144, + 145, 0, 0, 0, 119, 0, 0, 146, 0, 147, + 148, 149, 0, 150, 151, 152, 153, 154, 0, 120, + 121, 155, 0, 122, 123, 0, 156, 124, 125, 157, + 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 127, 128, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, - 0, 130, 0, 131, 132, 133, 134, 135, 136, 137, - 0, 0, 138, 0, 0, 0, 139, 0, 0, 0, - 140, 0, 0, 0, 0, 0, 0, 0, 0, 141, - 142, 143, 144, 0, 0, 0, 0, 0, 0, 145, - 0, 146, 147, 148, 0, 149, 150, 151, 152, 153, - 0, 0, 0, 154, 0, 0, 0, 0, 155, 0, - 0, 156 + 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 120, 121, 0, 0, + 122, 123, 0, 0, 124, 125, 0, 0, 126, 130, + 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, + 132, 133, 134, 135, 136, 137, 138, 127, 128, 139, + 0, 129, 0, 140, 0, 0, 0, 141, 872, 0, + 0, 0, 0, 0, 0, 0, 142, 143, 144, 145, + 0, 0, 0, 0, 0, 0, 146, 0, 147, 148, + 149, 0, 150, 151, 152, 153, 154, 0, 0, 0, + 155, 0, 0, 0, 0, 156, 130, 0, 157, 0, + 0, 0, 0, 0, 0, 131, 0, 132, 133, 134, + 135, 136, 137, 138, 0, 0, 139, 0, 0, 0, + 140, 0, 0, 0, 141, 0, 0, 0, 0, 0, + 0, 0, 0, 142, 143, 144, 145, 0, 0, 0, + 0, 0, 0, 146, 0, 147, 148, 149, 0, 150, + 151, 152, 153, 154, 0, 0, 0, 155, 0, 0, + 0, 0, 156, 0, 0, 157 }; static const yytype_int16 yycheck[] = { - 5, 312, 260, 8, 262, 575, 376, 75, 76, 78, - 79, 528, 40, 473, 605, 305, 294, 286, 534, 977, - 978, 245, 27, 247, 1, 1, 31, 32, 33, 34, - 35, 289, 37, 128, 39, 366, 367, 368, 369, 370, - 1, 51, 1, 1, 52, 1, 48, 1, 1, 1, - 6, 60, 1, 1, 1, 1, 51, 62, 18, 154, - 155, 1, 1, 1, 69, 13, 71, 82, 28, 1, - 30, 1, 33, 1, 1, 45, 62, 82, 83, 1, - 85, 86, 87, 1, 1, 1, 33, 1, 1, 35, - 1, 64, 32, 98, 13, 7, 101, 16, 103, 126, - 105, 1, 169, 1, 147, 51, 111, 1, 113, 1, - 1, 50, 65, 140, 922, 33, 86, 0, 926, 58, - 59, 1, 34, 1, 139, 61, 169, 1, 719, 51, - 69, 139, 162, 163, 1, 48, 49, 139, 77, 33, - 72, 68, 81, 33, 72, 93, 1, 18, 1, 1, - 159, 81, 1, 64, 1, 33, 1, 48, 1, 169, - 18, 1, 1, 168, 169, 170, 1, 126, 68, 174, - 126, 176, 126, 0, 179, 33, 68, 172, 139, 138, - 185, 140, 250, 188, 138, 190, 140, 173, 126, 194, - 139, 139, 169, 53, 170, 172, 67, 57, 171, 172, - 147, 1159, 140, 208, 143, 144, 145, 723, 213, 170, - 215, 139, 126, 171, 172, 174, 169, 222, 170, 224, - 174, 169, 171, 169, 229, 139, 139, 139, 139, 169, - 169, 170, 602, 238, 64, 240, 172, 169, 496, 169, - 530, 246, 511, 512, 468, 139, 251, 169, 139, 147, - 255, 169, 169, 169, 259, 169, 261, 147, 263, 139, - 265, 139, 267, 268, 269, 139, 170, 272, 64, 364, - 365, 169, 139, 278, 48, 16, 17, 81, 283, 1, - 51, 286, 64, 288, 139, 290, 139, 139, 29, 147, - 139, 64, 139, 6, 139, 55, 139, 257, 39, 139, - 139, 72, 73, 64, 139, 64, 64, 78, 79, 80, - 126, 64, 118, 64, 64, 37, 64, 51, 139, 125, - 39, 64, 139, 139, 64, 96, 97, 64, 172, 64, - 64, 64, 164, 165, 166, 64, 64, 64, 72, 371, - 372, 171, 172, 303, 56, 1022, 1023, 1024, 64, 16, - 17, 73, 312, 813, 76, 81, 78, 79, 80, 61, - 64, 102, 29, 64, 64, 139, 326, 64, 328, 329, - 330, 331, 39, 333, 96, 97, 172, 64, 50, 64, - 340, 341, 342, 388, 389, 126, 146, 169, 348, 349, - 350, 351, 352, 353, 354, 400, 401, 708, 169, 172, - 61, 1078, 713, 714, 126, 127, 1083, 412, 127, 81, - 415, 172, 171, 481, 172, 139, 1093, 139, 171, 172, - 171, 171, 18, 171, 429, 703, 704, 705, 171, 719, - 171, 171, 171, 172, 171, 102, 171, 715, 171, 444, - 445, 446, 171, 171, 171, 776, 3, 4, 5, 126, - 170, 411, 58, 59, 414, 171, 461, 63, 486, 126, - 162, 163, 979, 980, 1055, 1056, 1143, 171, 56, 50, - 171, 171, 477, 478, 171, 170, 33, 58, 59, 170, - 169, 91, 92, 172, 171, 490, 171, 44, 45, 46, - 47, 48, 49, 498, 170, 500, 16, 17, 64, 13, - 66, 13, 16, 50, 16, 17, 511, 512, 64, 29, - 66, 58, 59, 518, 171, 172, 521, 29, 523, 39, - 169, 169, 69, 172, 172, 13, 38, 39, 16, 86, - 77, 14, 15, 169, 88, 18, 172, 20, 543, 149, - 119, 852, 547, 122, 171, 172, 100, 14, 15, 361, - 362, 363, 19, 20, 160, 161, 170, 169, 169, 42, - 172, 172, 143, 144, 145, 169, 14, 15, 172, 88, - 18, 170, 20, 130, 131, 42, 95, 131, 171, 172, - 68, 93, 102, 103, 104, 139, 654, 70, 85, 86, - 102, 103, 104, 112, 42, 114, 143, 144, 145, 170, - 605, 126, 170, 86, 87, 610, 126, 170, 613, 170, - 170, 616, 680, 138, 126, 140, 279, 686, 281, 86, - 87, 88, 70, 20, 629, 170, 170, 997, 170, 1199, - 941, 126, 170, 100, 170, 73, 170, 156, 86, 87, - 78, 79, 80, 138, 170, 140, 170, 32, 33, 174, - 35, 61, 170, 170, 722, 170, 724, 170, 96, 97, - 665, 170, 181, 170, 669, 670, 51, 672, 170, 674, - 170, 170, 677, 192, 170, 20, 681, 682, 683, 174, - 65, 171, 687, 51, 66, 139, 172, 72, 172, 139, - 650, 651, 652, 653, 172, 214, 172, 65, 66, 67, - 18, 1134, 1135, 961, 72, 72, 1139, 139, 172, 139, - 18, 716, 1145, 1146, 1147, 720, 139, 139, 678, 50, - 171, 51, 139, 172, 139, 20, 20, 732, 733, 18, - 139, 48, 139, 170, 1045, 76, 71, 171, 64, 139, - 18, 172, 81, 172, 172, 172, 171, 1058, 708, 53, - 171, 171, 1063, 713, 714, 1066, 172, 171, 171, 171, - 279, 139, 281, 171, 139, 284, 171, 171, 171, 171, - 171, 83, 291, 171, 139, 171, 1087, 737, 738, 139, - 171, 741, 850, 172, 172, 790, 746, 1, 169, 1, - 33, 47, 752, 172, 754, 800, 28, 81, 171, 139, - 1111, 139, 171, 174, 72, 169, 766, 170, 327, 1120, - 172, 816, 772, 66, 139, 139, 335, 336, 337, 172, - 339, 51, 171, 139, 139, 138, 894, 346, 788, 789, - 28, 79, 28, 100, 171, 840, 355, 356, 843, 844, - 172, 18, 847, 172, 78, 73, 1157, 51, 139, 854, - 855, 172, 107, 90, 139, 66, 170, 66, 18, 929, - 171, 1068, 928, 868, 1065, 971, 717, 873, 1047, 64, - 296, 237, 943, 453, 829, 817, 601, 600, 4, 839, - 13, 13, 108, 402, 461, 1105, 70, 892, 956, 1026, - 503, 167, 852, 803, 1140, 1148, 811, 1136, 1071, 631, - 509, 696, 502, 440, 847, 249, 868, 912, 314, 818, - 915, 430, 975, 1118, 1041, 729, -1, -1, -1, -1, - -1, 440, -1, 442, -1, -1, -1, -1, -1, -1, - 935, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 946, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 474, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 925, -1, -1, -1, -1, - -1, 931, 977, 978, -1, -1, -1, -1, -1, -1, - 1048, 941, -1, -1, -1, -1, -1, -1, -1, -1, - 509, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5, 578, 262, 8, 264, 608, 378, 79, 80, 76, + 77, 296, 41, 531, 307, 476, 368, 369, 370, 371, + 372, 1, 27, 288, 537, 1, 31, 32, 33, 34, + 35, 291, 37, 38, 1, 40, 129, 247, 1, 249, + 980, 981, 1, 1, 1, 39, 64, 51, 1, 1, + 1, 62, 1, 1, 1, 1, 1, 1, 63, 1, + 314, 1, 155, 156, 1, 70, 33, 72, 1, 1, + 51, 60, 1, 13, 52, 1, 1, 0, 83, 84, + 18, 86, 87, 88, 1, 1, 32, 61, 35, 13, + 1, 33, 16, 64, 99, 1, 48, 102, 1, 104, + 33, 106, 64, 1, 51, 0, 18, 112, 1, 114, + 127, 48, 49, 148, 33, 64, 33, 83, 1, 722, + 65, 33, 170, 140, 89, 173, 51, 33, 72, 67, + 170, 96, 1, 1, 128, 170, 6, 1, 1, 1, + 72, 171, 925, 1, 16, 17, 929, 127, 113, 1, + 115, 1, 1, 1, 94, 173, 82, 29, 6, 139, + 7, 141, 140, 174, 169, 170, 171, 39, 127, 173, + 175, 160, 177, 140, 140, 180, 64, 140, 64, 127, + 139, 186, 141, 140, 189, 252, 191, 34, 140, 170, + 195, 140, 157, 141, 170, 175, 140, 173, 127, 173, + 140, 172, 173, 140, 171, 210, 148, 140, 170, 172, + 215, 140, 217, 726, 172, 173, 175, 182, 171, 224, + 171, 226, 1162, 170, 170, 170, 231, 64, 193, 148, + 170, 103, 148, 605, 140, 240, 148, 242, 170, 499, + 533, 170, 140, 248, 170, 170, 1, 140, 253, 514, + 515, 216, 257, 170, 170, 127, 261, 140, 263, 170, + 265, 471, 267, 82, 269, 270, 271, 170, 56, 274, + 64, 140, 140, 366, 367, 280, 140, 140, 140, 127, + 285, 1, 140, 288, 172, 290, 172, 292, 140, 45, + 140, 140, 64, 140, 64, 50, 3, 4, 5, 127, + 172, 64, 50, 58, 59, 64, 64, 16, 17, 140, + 1025, 1026, 1027, 141, 69, 1, 281, 37, 283, 48, + 29, 286, 77, 78, 64, 53, 33, 82, 293, 57, + 39, 87, 64, 64, 82, 172, 173, 44, 45, 46, + 47, 48, 49, 64, 48, 64, 64, 140, 92, 93, + 64, 163, 164, 73, 55, 816, 76, 82, 64, 79, + 80, 81, 64, 1, 329, 64, 1081, 1, 119, 64, + 173, 1086, 337, 338, 339, 126, 341, 97, 98, 173, + 87, 1096, 68, 348, 64, 390, 391, 64, 140, 144, + 145, 146, 357, 358, 103, 104, 105, 402, 403, 13, + 172, 173, 16, 173, 127, 64, 150, 127, 128, 414, + 173, 140, 417, 172, 172, 170, 171, 484, 127, 64, + 140, 706, 707, 708, 131, 132, 431, 779, 61, 722, + 68, 1146, 172, 718, 68, 61, 140, 18, 127, 404, + 172, 172, 447, 448, 449, 13, 147, 28, 16, 30, + 139, 172, 141, 172, 172, 1058, 1059, 711, 172, 464, + 489, 51, 716, 717, 982, 983, 172, 432, 13, 18, + 172, 16, 17, 172, 171, 480, 481, 172, 443, 64, + 445, 66, 72, 73, 29, 64, 175, 66, 493, 79, + 80, 81, 172, 38, 39, 172, 501, 50, 503, 171, + 68, 16, 17, 89, 171, 58, 59, 97, 98, 514, + 515, 171, 477, 172, 29, 101, 521, 58, 59, 524, + 127, 526, 63, 51, 39, 120, 170, 172, 123, 173, + 163, 164, 139, 170, 141, 51, 173, 65, 66, 67, + 170, 546, 50, 173, 72, 550, 132, 512, 64, 94, + 58, 59, 170, 56, 140, 173, 72, 61, 103, 104, + 105, 69, 32, 33, 281, 35, 283, 532, 175, 77, + 78, 171, 14, 15, 1137, 1138, 20, 19, 20, 1142, + 170, 51, 127, 172, 173, 1148, 1149, 1150, 103, 171, + 657, 144, 145, 146, 170, 65, 170, 173, 73, 173, + 42, 855, 72, 608, 79, 80, 81, 171, 613, 172, + 173, 616, 127, 578, 619, 171, 683, 689, 172, 173, + 161, 162, 97, 98, 171, 1202, 20, 632, 1000, 165, + 166, 167, 171, 363, 364, 365, 144, 145, 146, 172, + 173, 86, 87, 172, 171, 87, 88, 89, 171, 14, + 15, 373, 374, 18, 171, 20, 66, 171, 725, 101, + 727, 171, 171, 668, 629, 14, 15, 672, 673, 18, + 675, 20, 677, 171, 171, 680, 171, 42, 259, 684, + 685, 686, 171, 171, 171, 690, 171, 171, 171, 171, + 944, 171, 171, 42, 171, 173, 18, 140, 72, 173, + 665, 173, 173, 140, 964, 70, 140, 173, 140, 18, + 140, 140, 50, 172, 719, 51, 173, 140, 723, 140, + 20, 70, 87, 88, 305, 20, 18, 140, 48, 140, + 735, 736, 171, 314, 699, 76, 71, 172, 87, 88, + 64, 140, 173, 18, 84, 173, 173, 328, 82, 330, + 331, 332, 333, 173, 335, 172, 172, 172, 172, 53, + 172, 342, 343, 344, 729, 730, 172, 172, 172, 350, + 351, 352, 353, 354, 355, 356, 172, 172, 140, 172, + 172, 140, 173, 172, 172, 140, 853, 140, 793, 172, + 170, 173, 173, 1, 1048, 1, 33, 173, 803, 47, + 28, 82, 767, 140, 172, 172, 175, 1061, 140, 72, + 173, 171, 1066, 170, 819, 1069, 66, 140, 51, 140, + 139, 173, 140, 140, 172, 28, 80, 28, 173, 172, + 897, 173, 413, 101, 18, 416, 1090, 79, 843, 73, + 51, 846, 847, 140, 108, 850, 173, 91, 66, 140, + 66, 18, 857, 858, 932, 820, 821, 171, 1071, 172, + 1114, 931, 1068, 720, 876, 974, 871, 1050, 65, 1123, + 946, 832, 298, 239, 4, 13, 456, 820, 604, 603, + 464, 13, 109, 1108, 71, 506, 168, 1029, 806, 1151, + 895, 1143, 959, 814, 1139, 1074, 634, 512, 699, 821, + 443, 505, 871, 868, 978, 870, 1160, 251, 316, 850, + 915, 1044, 1121, 918, 732, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 938, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 949, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 926, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 980, 981, -1, -1, -1, + -1, -1, -1, -1, 1051, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 529, -1, -1, -1, -1, -1, -1, 1022, 1023, 1024, - -1, -1, -1, 1028, 1029, 1030, -1, -1, 1033, 1034, - 990, -1, -1, -1, 994, -1, 1041, -1, 1043, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1009, - 1055, 1056, -1, -1, -1, -1, 575, -1, -1, 1064, - -1, -1, 1067, -1, -1, -1, -1, -1, 1073, -1, - -1, -1, -1, 1078, -1, 1080, -1, -1, 1083, -1, - 1085, -1, -1, 1088, -1, 1045, -1, -1, 1093, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1058, -1, - -1, -1, 1107, 1063, -1, -1, 1066, 626, -1, 1069, - -1, 1, -1, 1118, -1, -1, -1, 7, -1, -1, - -1, -1, -1, -1, 1192, -1, -1, 1087, -1, -1, - -1, -1, 22, 23, 1202, -1, 26, 27, 1143, -1, - 30, 31, -1, 662, 34, -1, 1151, 1152, -1, -1, - -1, 1111, -1, -1, 1159, -1, -1, -1, -1, -1, - 1120, -1, -1, 53, 54, -1, -1, 57, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 696, -1, -1, - -1, -1, -1, -1, 1189, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1157, -1, -1, - -1, 1206, 1207, 1208, -1, -1, -1, 726, 727, -1, - -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, - 110, -1, 112, 113, 114, 115, 116, 117, 118, -1, - -1, 121, -1, -1, -1, 125, -1, -1, -1, 129, - -1, -1, -1, -1, -1, 764, -1, -1, 138, 139, - 140, 141, -1, -1, -1, -1, -1, -1, 148, -1, - 150, 151, 152, 1, 154, 155, 156, 157, 158, 7, - -1, -1, 162, -1, -1, -1, -1, 167, -1, 169, - 170, -1, 172, -1, 22, 23, -1, -1, 26, 27, - -1, -1, 30, 31, -1, -1, 34, -1, 817, 818, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 53, 54, -1, -1, 57, + -1, 976, 977, -1, -1, -1, -1, -1, -1, -1, + 1025, 1026, 1027, -1, -1, -1, 1031, 1032, 1033, -1, + -1, 1036, 1037, -1, -1, -1, -1, -1, -1, 1044, + -1, 1046, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1058, 1059, -1, -1, -1, -1, -1, + -1, -1, 1067, -1, -1, 1070, -1, -1, -1, -1, + -1, 1076, 653, 654, 655, 656, 1081, -1, 1083, -1, + -1, 1086, -1, 1088, -1, -1, 1091, -1, -1, -1, + -1, 1096, -1, -1, -1, -1, -1, -1, -1, -1, + 681, -1, -1, -1, -1, 1110, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1121, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1195, -1, + 711, -1, -1, -1, -1, 716, 717, -1, 1205, -1, + -1, 1146, -1, -1, -1, -1, -1, 1112, -1, 1154, + 1155, -1, -1, -1, -1, -1, -1, 1162, -1, 740, + 741, -1, -1, 744, -1, -1, -1, -1, 749, -1, + -1, -1, -1, -1, 755, -1, 757, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1192, 769, -1, + -1, -1, -1, -1, 775, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1209, 1210, 1211, -1, -1, -1, + 791, 792, -1, -1, -1, -1, -1, 1, -1, -1, + -1, -1, -1, 7, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1202, 22, 23, + -1, -1, 26, 27, -1, -1, 30, 31, -1, -1, + 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 842, -1, -1, -1, -1, -1, -1, -1, 53, + 54, -1, -1, 57, 855, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, + 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 22, 23, -1, -1, 26, + 27, -1, -1, 30, 31, -1, -1, 34, 102, -1, + -1, -1, -1, -1, -1, -1, -1, 111, -1, 113, + 114, 115, 116, 117, 118, 119, 53, 54, 122, -1, + 57, -1, 126, -1, -1, -1, 130, 928, -1, -1, + -1, -1, -1, 934, -1, 139, 140, 141, 142, -1, + -1, -1, -1, 944, -1, 149, -1, 151, 152, 153, + -1, 155, 156, 157, 158, 159, -1, -1, -1, 163, + -1, -1, -1, -1, 168, 102, 170, 171, -1, 173, + -1, -1, -1, -1, 111, -1, 113, 114, 115, 116, + 117, 118, 119, -1, -1, 122, -1, -1, -1, 126, + -1, -1, 993, 130, -1, -1, 997, -1, -1, -1, + -1, -1, 139, 140, 141, 142, -1, -1, -1, -1, + -1, 1012, 149, -1, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 1, -1, -1, 163, -1, -1, 7, + -1, 168, -1, -1, 171, 172, -1, -1, -1, -1, + -1, -1, -1, -1, 22, 23, -1, 1048, 26, 27, + -1, -1, 30, 31, -1, -1, 34, -1, -1, -1, + 1061, 39, -1, -1, -1, 1066, -1, -1, 1069, -1, + -1, 1072, -1, -1, -1, 53, 54, -1, -1, 57, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1090, + 1, -1, -1, -1, -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 22, 23, 1114, -1, 26, 27, -1, -1, 30, + 31, -1, 1123, 34, 102, -1, -1, -1, -1, -1, + -1, -1, -1, 111, -1, 113, 114, 115, 116, 117, + 118, 119, 53, 54, 122, -1, 57, -1, 126, -1, + 128, -1, 130, -1, -1, -1, -1, -1, -1, 1160, + -1, 139, 140, 141, 142, -1, -1, -1, -1, -1, + -1, 149, -1, 151, 152, 153, -1, 155, 156, 157, + 158, 159, -1, -1, -1, 163, -1, -1, -1, -1, + 168, 102, -1, 171, -1, -1, -1, -1, -1, -1, + 111, -1, 113, 114, 115, 116, 117, 118, 119, -1, + -1, 122, -1, -1, -1, 126, -1, -1, -1, 130, + -1, -1, -1, -1, -1, -1, -1, -1, 139, 140, + 141, 142, -1, -1, -1, -1, -1, -1, 149, -1, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 1, + -1, -1, 163, -1, -1, 7, -1, 168, -1, 170, + 171, -1, -1, 15, -1, -1, -1, -1, -1, -1, + 22, 23, -1, -1, 26, 27, -1, -1, 30, 31, + -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 865, -1, 867, -1, + -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, + -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, + -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, + 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, + -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, + 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, + -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, + 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, + -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, + -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, + 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, + -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, + -1, -1, -1, -1, 139, 140, 141, 142, -1, 1, + -1, -1, -1, -1, 149, 7, 151, 152, 153, -1, + 155, 156, 157, 158, 159, -1, -1, -1, 163, -1, + 22, 23, -1, 168, 26, 27, 171, -1, 30, 31, + -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, - -1, -1, 110, -1, 112, 113, 114, 115, 116, 117, - 118, -1, -1, 121, -1, -1, -1, 125, -1, -1, - -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, - 138, 139, 140, 141, 923, 1, -1, -1, -1, -1, - 148, 7, 150, 151, 152, -1, 154, 155, 156, 157, - 158, -1, -1, -1, 162, -1, 22, 23, -1, 167, - 26, 27, 170, 171, 30, 31, -1, -1, 34, -1, - -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 973, 974, -1, 53, 54, -1, - -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, + -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, + -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, + 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, + -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, + 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, + -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, + 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, + -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, + -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, + 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, + -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, + -1, -1, -1, -1, 139, 140, 141, 142, -1, 1, + -1, -1, -1, -1, 149, 7, 151, 152, 153, -1, + 155, 156, 157, 158, 159, -1, -1, -1, 163, -1, + 22, 23, -1, 168, 26, 27, 171, -1, 30, 31, + -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, -1, -1, -1, -1, -1, 7, -1, + -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, + -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, + -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, + 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, + -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, + 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, + -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, + 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, + -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, + -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, + 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, + -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, + -1, -1, -1, -1, 139, 140, 141, 142, -1, 1, + -1, -1, -1, -1, 149, 7, 151, 152, 153, -1, + 155, 156, 157, 158, 159, -1, -1, -1, 163, -1, + 22, 23, -1, 168, 26, 27, 171, -1, 30, 31, + -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 22, 23, 101, -1, 26, 27, -1, - -1, 30, 31, -1, 110, 34, 112, 113, 114, 115, - 116, 117, 118, -1, -1, 121, -1, -1, -1, 125, - -1, 127, -1, 129, 53, 54, -1, -1, 57, -1, - -1, -1, 138, 139, 140, 141, -1, -1, -1, -1, - -1, -1, 148, -1, 150, 151, 152, -1, 154, 155, - 156, 157, 158, -1, -1, -1, 162, -1, -1, -1, - -1, 167, -1, -1, 170, -1, -1, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, - 1109, 110, -1, 112, 113, 114, 115, 116, 117, 118, - -1, -1, 121, -1, -1, -1, 125, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, -1, -1, 138, - 139, 140, 141, -1, -1, -1, -1, -1, -1, 148, - -1, 150, 151, 152, -1, 154, 155, 156, 157, 158, - 1, -1, -1, 162, -1, -1, 7, -1, 167, -1, - 169, 170, -1, -1, 15, -1, -1, -1, -1, -1, - -1, 22, 23, -1, -1, 26, 27, -1, -1, 30, - 31, -1, -1, 34, -1, -1, -1, -1, -1, -1, - 1199, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 53, 54, -1, -1, 57, -1, -1, -1, + -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, + -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, + -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, + 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, + -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, + 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, + -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, + 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, + -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, + -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, + 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, + -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, + -1, -1, -1, -1, 139, 140, 141, 142, -1, 1, + -1, -1, -1, -1, 149, 7, 151, 152, 153, -1, + 155, 156, 157, 158, 159, -1, -1, -1, 163, -1, + 22, 23, -1, 168, 26, 27, 171, -1, 30, 31, + -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, + -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, + -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, + -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, + 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, + -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, + 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, + -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, + 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, + -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, + -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, + 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, + -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, + -1, -1, -1, -1, 139, 140, 141, 142, -1, 1, + -1, -1, -1, -1, 149, 7, 151, 152, 153, -1, + 155, 156, 157, 158, 159, -1, -1, -1, 163, -1, + 22, 23, -1, 168, 26, 27, 171, -1, 30, 31, + -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 53, 54, -1, -1, 57, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, + -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, -1, + -1, 26, 27, -1, -1, 30, 31, -1, -1, 34, + 102, -1, -1, -1, -1, -1, -1, -1, -1, 111, + -1, 113, 114, 115, 116, 117, 118, 119, 53, 54, + 122, -1, 57, -1, 126, -1, -1, -1, 130, -1, + -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, -1, -1, -1, 149, -1, 151, + 152, 153, -1, 155, 156, 157, 158, 159, -1, -1, + -1, 163, -1, -1, -1, -1, 168, 102, -1, 171, + -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, + 115, 116, 117, 118, 119, -1, -1, 122, -1, -1, + -1, 126, -1, -1, -1, 130, -1, -1, -1, -1, + -1, -1, -1, -1, 139, 140, 141, 142, -1, -1, + -1, -1, -1, -1, 149, -1, 151, 152, 153, -1, + 155, 156, 157, 158, 159, -1, -1, 1, 163, -1, + -1, -1, 6, 168, 8, 9, 171, -1, -1, -1, + -1, -1, 16, 17, 18, 19, -1, -1, -1, -1, + 24, 25, -1, -1, -1, 29, -1, -1, 32, 33, + -1, 35, 36, 37, 38, 39, 40, 41, -1, 43, + -1, -1, -1, -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, -1, -1, 26, 27, - 101, -1, 30, 31, -1, -1, 34, -1, -1, 110, - -1, 112, 113, 114, 115, 116, 117, 118, -1, -1, - 121, -1, -1, -1, 125, 53, 54, -1, 129, 57, - -1, -1, -1, -1, -1, -1, -1, 138, 139, 140, - 141, -1, -1, -1, -1, -1, 1, 148, -1, 150, - 151, 152, 7, 154, 155, 156, 157, 158, -1, -1, - -1, 162, -1, -1, -1, -1, 167, 22, 23, 170, - -1, 26, 27, 101, -1, 30, 31, -1, -1, 34, - -1, -1, 110, -1, 112, 113, 114, 115, 116, 117, - 118, -1, -1, 121, -1, -1, -1, 125, 53, 54, - -1, 129, 57, -1, -1, -1, -1, -1, -1, -1, - 138, 139, 140, 141, -1, -1, -1, -1, -1, 1, - 148, -1, 150, 151, 152, 7, 154, 155, 156, 157, - 158, -1, -1, -1, 162, -1, -1, -1, -1, 167, - 22, 23, 170, -1, 26, 27, 101, -1, 30, 31, - -1, -1, 34, -1, -1, 110, -1, 112, 113, 114, - 115, 116, 117, 118, -1, -1, 121, -1, -1, -1, - 125, 53, 54, -1, 129, 57, -1, -1, -1, -1, - -1, -1, -1, 138, 139, 140, 141, -1, -1, -1, - -1, -1, 1, 148, -1, 150, 151, 152, 7, 154, - 155, 156, 157, 158, -1, -1, -1, 162, -1, -1, - -1, -1, 167, 22, 23, 170, -1, 26, 27, 101, - -1, 30, 31, -1, -1, 34, -1, -1, 110, -1, - 112, 113, 114, 115, 116, 117, 118, -1, -1, 121, - -1, -1, -1, 125, 53, 54, -1, 129, 57, -1, - -1, -1, -1, -1, -1, -1, 138, 139, 140, 141, - -1, -1, -1, -1, -1, 1, 148, -1, 150, 151, - 152, 7, 154, 155, 156, 157, 158, -1, -1, -1, - 162, -1, -1, -1, -1, 167, 22, 23, 170, -1, - 26, 27, 101, -1, 30, 31, -1, -1, 34, -1, - -1, 110, -1, 112, 113, 114, 115, 116, 117, 118, - -1, -1, 121, -1, -1, -1, 125, 53, 54, -1, - 129, 57, -1, -1, -1, -1, -1, -1, -1, 138, - 139, 140, 141, -1, -1, -1, -1, -1, 1, 148, - -1, 150, 151, 152, 7, 154, 155, 156, 157, 158, - -1, -1, -1, 162, -1, -1, -1, -1, 167, 22, - 23, 170, -1, 26, 27, 101, -1, 30, 31, -1, - -1, 34, -1, -1, 110, -1, 112, 113, 114, 115, - 116, 117, 118, -1, -1, 121, -1, -1, -1, 125, - 53, 54, -1, 129, 57, -1, -1, -1, -1, -1, - -1, -1, 138, 139, 140, 141, -1, -1, -1, -1, - -1, 1, 148, -1, 150, 151, 152, 7, 154, 155, - 156, 157, 158, -1, -1, -1, 162, -1, -1, -1, - -1, 167, 22, 23, 170, -1, 26, 27, 101, -1, - 30, 31, -1, -1, 34, -1, -1, 110, -1, 112, - 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, - -1, -1, 125, 53, 54, -1, 129, 57, -1, -1, - -1, -1, -1, -1, -1, 138, 139, 140, 141, -1, - -1, -1, -1, -1, 1, 148, -1, 150, 151, 152, - 7, 154, 155, 156, 157, 158, -1, -1, -1, 162, - -1, -1, -1, -1, 167, 22, 23, 170, -1, 26, - 27, 101, -1, 30, 31, -1, -1, 34, -1, -1, - 110, -1, 112, 113, 114, 115, 116, 117, 118, -1, - -1, 121, -1, -1, -1, 125, 53, 54, -1, 129, - 57, -1, -1, -1, -1, -1, -1, -1, 138, 139, - 140, 141, -1, -1, -1, -1, -1, 1, 148, -1, - 150, 151, 152, 7, 154, 155, 156, 157, 158, -1, - -1, -1, 162, -1, -1, -1, -1, 167, 22, 23, - 170, -1, 26, 27, 101, -1, 30, 31, -1, -1, - 34, -1, -1, 110, -1, 112, 113, 114, 115, 116, - 117, 118, -1, -1, 121, -1, -1, -1, 125, 53, - 54, -1, 129, 57, -1, -1, -1, -1, -1, -1, - -1, 138, 139, 140, 141, -1, -1, -1, -1, -1, - 1, 148, -1, 150, 151, 152, 7, 154, 155, 156, - 157, 158, -1, -1, -1, 162, -1, -1, -1, -1, - 167, 22, 23, 170, -1, 26, 27, 101, -1, 30, - 31, -1, -1, 34, -1, -1, 110, -1, 112, 113, - 114, 115, 116, 117, 118, -1, -1, 121, -1, -1, - -1, 125, 53, 54, -1, 129, 57, -1, -1, -1, - -1, -1, -1, -1, 138, 139, 140, 141, -1, -1, - -1, -1, -1, 1, 148, -1, 150, 151, 152, 7, - 154, 155, 156, 157, 158, -1, -1, -1, 162, -1, - -1, -1, -1, 167, 22, 23, 170, -1, 26, 27, - 101, -1, 30, 31, -1, -1, 34, -1, -1, 110, - -1, 112, 113, 114, 115, 116, 117, 118, -1, -1, - 121, -1, -1, -1, 125, 53, 54, -1, 129, 57, - -1, -1, -1, -1, -1, -1, -1, 138, 139, 140, - 141, -1, -1, -1, -1, -1, -1, 148, -1, 150, - 151, 152, -1, 154, 155, 156, 157, 158, -1, -1, - -1, 162, -1, -1, -1, -1, 167, -1, -1, 170, - -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, - -1, -1, 110, -1, 112, 113, 114, 115, 116, 117, - 118, -1, -1, 121, -1, -1, -1, 125, -1, -1, - -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, - 138, 139, 140, 141, -1, -1, -1, -1, -1, -1, - 148, -1, 150, 151, 152, -1, 154, 155, 156, 157, - 158, -1, -1, 1, 162, -1, -1, -1, 6, 167, - 8, 9, 170, -1, -1, -1, -1, -1, 16, 17, + -1, 65, -1, 67, -1, -1, -1, 71, 72, 73, + 74, 75, -1, -1, -1, -1, -1, -1, -1, 83, + 84, 85, 86, -1, -1, -1, 90, -1, -1, 93, + -1, -1, 96, -1, -1, 99, -1, 101, 102, 103, + 104, 105, 106, 107, -1, 109, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, + 124, 125, -1, 127, 128, -1, -1, -1, -1, -1, + -1, -1, 136, 1, -1, -1, 140, -1, 6, 143, + 8, 9, -1, -1, -1, -1, -1, -1, 16, 17, 18, 19, -1, -1, -1, -1, 24, 25, -1, -1, - -1, 29, -1, -1, 32, 33, -1, 35, 36, 37, + -1, 29, -1, -1, 32, 33, 170, 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, 67, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, - -1, -1, -1, -1, 82, 83, 84, 85, -1, -1, - -1, 89, -1, -1, -1, -1, -1, 95, -1, -1, - 98, -1, 100, 101, 102, 103, 104, 105, 106, -1, - 108, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 120, -1, -1, 123, 124, -1, 126, 127, - -1, -1, -1, -1, -1, -1, -1, 135, 1, -1, - -1, 139, -1, 6, 142, 8, 9, -1, -1, -1, - -1, -1, -1, 16, 17, 18, 19, -1, -1, -1, + -1, -1, -1, -1, -1, 83, 84, 85, 86, -1, + -1, -1, 90, -1, -1, 93, -1, -1, 96, -1, + -1, 99, -1, 101, 102, 103, 104, 105, 106, 107, + -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 121, -1, -1, 124, 125, 1, 127, + 128, -1, -1, 6, -1, 8, 9, 10, 136, -1, + 13, -1, 140, 16, 17, 143, 19, -1, -1, -1, -1, 24, 25, -1, -1, -1, 29, -1, -1, 32, - 33, 169, 35, 36, 37, 38, 39, 40, 41, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, + -1, -1, 35, 36, 37, 38, 39, 40, 41, -1, + 43, -1, 170, -1, -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 65, -1, 67, -1, -1, -1, 71, 72, - 73, 74, 75, -1, -1, -1, -1, -1, -1, 82, - 83, 84, 85, -1, -1, -1, 89, -1, -1, -1, - -1, -1, 95, -1, -1, 98, -1, 100, 101, 102, - 103, 104, 105, 106, -1, 108, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - 123, 124, 1, 126, 127, -1, -1, 6, -1, 8, - 9, 10, 135, -1, 13, -1, 139, 16, 17, 142, - 19, -1, -1, -1, -1, 24, 25, -1, -1, -1, - 29, -1, -1, 32, -1, -1, 35, 36, 37, 38, - 39, 40, 41, -1, 43, -1, 169, -1, -1, -1, - -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, -1, -1, -1, - 89, -1, -1, -1, 93, -1, 95, -1, -1, 98, - -1, 100, 101, 102, 103, 104, 105, 106, -1, 108, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, 124, -1, 126, 127, -1, - -1, -1, -1, -1, -1, -1, 135, 1, -1, -1, - 139, -1, 6, 142, 8, 9, -1, -1, -1, -1, - -1, -1, 16, 17, 18, 19, -1, -1, -1, -1, - 24, 25, -1, -1, -1, 29, -1, -1, 32, 33, - 169, 35, 36, 37, 38, 39, 40, 41, -1, 43, - -1, -1, -1, -1, -1, -1, -1, 51, -1, 53, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, -1, -1, -1, 89, -1, -1, -1, -1, - -1, 95, -1, -1, 98, -1, 100, 101, 102, 103, - 104, 105, 106, -1, 108, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 120, -1, -1, 123, - 124, -1, 126, 127, -1, -1, -1, -1, -1, -1, - -1, 135, 1, -1, -1, 139, -1, 6, 142, 8, - 9, -1, -1, -1, -1, -1, -1, 16, 17, 18, - 19, -1, -1, -1, -1, 24, 25, -1, -1, -1, - 29, -1, -1, 32, 33, 169, 35, 36, 37, 38, - 39, 40, 41, -1, 43, -1, -1, -1, -1, -1, - -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, -1, -1, -1, - 89, -1, -1, -1, -1, -1, 95, -1, -1, 98, - -1, 100, 101, 102, 103, 104, 105, 106, -1, 108, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, 124, -1, 126, 127, -1, - -1, -1, -1, -1, -1, -1, 135, 1, -1, -1, - 139, -1, 6, 142, 8, 9, -1, -1, -1, -1, - -1, -1, 16, 17, 18, 19, -1, -1, -1, -1, - 24, 25, -1, -1, -1, 29, -1, -1, 32, 33, - 169, 35, 36, 37, 38, 39, 40, 41, -1, 43, - -1, -1, -1, -1, -1, -1, -1, 51, -1, 53, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, -1, -1, -1, 89, -1, -1, -1, -1, - -1, 95, -1, -1, 98, -1, 100, 101, 102, 103, - 104, 105, 106, -1, 108, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 120, -1, -1, 123, - 124, -1, 126, 127, -1, -1, -1, -1, -1, -1, - -1, 135, 1, -1, -1, 139, -1, 6, 142, 8, - 9, -1, -1, -1, -1, -1, -1, 16, 17, 18, - 19, -1, -1, -1, -1, 24, 25, -1, -1, -1, - 29, -1, -1, 32, 33, 169, 35, 36, 37, 38, - 39, 40, 41, -1, 43, -1, -1, -1, -1, -1, - -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, -1, -1, -1, - 89, -1, -1, -1, -1, -1, 95, -1, -1, 98, - -1, 100, 101, 102, 103, 104, 105, 106, -1, 108, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, 124, -1, 126, 127, -1, - -1, -1, -1, -1, -1, -1, 135, 1, -1, -1, - 139, -1, 6, 142, 8, 9, -1, -1, -1, -1, - -1, -1, 16, 17, 18, 19, -1, -1, -1, -1, - 24, 25, -1, -1, -1, 29, -1, -1, 32, 33, - 169, 35, 36, 37, 38, 39, 40, 41, -1, 43, - -1, -1, -1, -1, -1, -1, -1, 51, -1, 53, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, -1, -1, -1, 89, -1, -1, -1, -1, - -1, 95, -1, -1, 98, -1, 100, 101, 102, 103, - 104, 105, 106, -1, 108, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 120, -1, -1, 123, - 124, -1, 126, 127, -1, -1, -1, -1, -1, -1, - -1, 135, 1, -1, -1, 139, -1, 6, 142, 8, - 9, -1, -1, -1, -1, -1, -1, 16, 17, 18, - 19, -1, -1, -1, -1, 24, 25, -1, -1, -1, - 29, -1, -1, 32, 33, 169, 35, 36, 37, 38, - 39, 40, 41, -1, 43, -1, -1, -1, -1, -1, - -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, - -1, -1, -1, 72, 73, 74, 75, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, -1, -1, -1, - 89, -1, -1, -1, -1, -1, 95, -1, -1, 98, - -1, 100, 101, 102, 103, 104, 105, 106, -1, 108, + -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, + 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, + 83, 84, 85, 86, -1, -1, -1, 90, -1, -1, + 93, 94, -1, 96, -1, -1, 99, -1, 101, 102, + 103, 104, 105, 106, 107, -1, 109, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, + -1, 124, 125, -1, 127, 128, -1, -1, -1, -1, + -1, -1, -1, 136, 1, -1, -1, 140, -1, 6, + 143, 8, 9, -1, -1, -1, -1, -1, -1, 16, + 17, 18, 19, -1, -1, -1, -1, 24, 25, -1, + -1, -1, 29, -1, -1, 32, 33, 170, 35, 36, + 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, + -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, + -1, -1, -1, -1, -1, 72, 73, 74, 75, -1, + -1, -1, -1, -1, -1, -1, 83, 84, 85, 86, + -1, -1, -1, 90, -1, -1, 93, -1, -1, 96, + -1, -1, 99, -1, 101, 102, 103, 104, 105, 106, + 107, -1, 109, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 121, -1, -1, 124, 125, -1, + 127, 128, -1, -1, -1, -1, -1, -1, -1, 136, + 1, -1, -1, 140, -1, 6, 143, 8, 9, -1, + -1, -1, -1, -1, -1, 16, 17, 18, 19, -1, + -1, -1, -1, 24, 25, -1, -1, -1, 29, -1, + -1, 32, 33, 170, 35, 36, 37, 38, 39, 40, + 41, -1, 43, -1, -1, -1, -1, -1, -1, -1, + 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, + -1, 72, 73, 74, 75, -1, -1, -1, -1, -1, + -1, -1, 83, 84, 85, 86, -1, -1, -1, 90, + -1, -1, 93, -1, -1, 96, -1, -1, 99, -1, + 101, 102, 103, 104, 105, 106, 107, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, 124, -1, 126, 127, -1, - -1, -1, -1, -1, -1, -1, 135, 1, -1, -1, - 139, -1, 6, 142, 8, 9, -1, -1, -1, -1, - -1, -1, 16, 17, 18, 19, -1, -1, -1, -1, - 24, 25, -1, -1, -1, 29, -1, -1, 32, 33, - 169, 35, 36, 37, 38, 39, 40, 41, -1, 43, - -1, -1, -1, -1, -1, -1, -1, 51, -1, 53, + 121, -1, -1, 124, 125, -1, 127, 128, -1, -1, + -1, -1, -1, -1, -1, 136, 1, -1, -1, 140, + -1, 6, 143, 8, 9, -1, -1, -1, -1, -1, + -1, 16, 17, 18, 19, -1, -1, -1, -1, 24, + 25, -1, -1, -1, 29, -1, -1, 32, 33, 170, + 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, + -1, -1, -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, -1, -1, -1, 89, -1, -1, -1, -1, - -1, 95, -1, -1, 98, -1, 100, 101, 102, 103, - 104, 105, 106, -1, 108, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 120, -1, -1, 123, - 124, -1, 126, 127, -1, -1, -1, -1, -1, -1, - -1, 135, 1, -1, -1, 139, -1, 6, 142, 8, + 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, + 75, -1, -1, -1, -1, -1, -1, -1, 83, 84, + 85, 86, -1, -1, -1, 90, -1, -1, 93, -1, + -1, 96, -1, -1, 99, -1, 101, 102, 103, 104, + 105, 106, 107, -1, 109, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 121, -1, -1, 124, + 125, -1, 127, 128, -1, -1, -1, -1, -1, -1, + -1, 136, 1, -1, -1, 140, -1, 6, 143, 8, 9, -1, -1, -1, -1, -1, -1, 16, 17, 18, 19, -1, -1, -1, -1, 24, 25, -1, -1, -1, - 29, -1, -1, 32, 33, 169, 35, 36, 37, 38, + 29, -1, -1, 32, 33, 170, 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, -1, -1, -1, - 89, -1, -1, -1, -1, -1, 95, -1, -1, 98, - -1, 100, 101, 102, 103, 104, 105, 106, -1, 108, + -1, -1, -1, -1, 83, 84, 85, 86, -1, -1, + -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, + 99, -1, 101, 102, 103, 104, 105, 106, 107, -1, + 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 121, -1, -1, 124, 125, -1, 127, 128, + -1, -1, -1, -1, -1, -1, -1, 136, 1, -1, + -1, 140, -1, 6, 143, 8, 9, -1, -1, -1, + -1, -1, -1, 16, 17, 18, 19, -1, -1, -1, + -1, 24, 25, -1, -1, -1, 29, -1, -1, 32, + 33, 170, 35, 36, 37, 38, 39, 40, 41, -1, + 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, + 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, + 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, + 83, 84, 85, 86, -1, -1, -1, 90, -1, -1, + 93, -1, -1, 96, -1, -1, 99, -1, 101, 102, + 103, 104, 105, 106, 107, -1, 109, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, + -1, 124, 125, -1, 127, 128, -1, -1, -1, -1, + -1, -1, -1, 136, 1, -1, -1, 140, -1, 6, + 143, 8, 9, -1, -1, -1, -1, -1, -1, 16, + 17, 18, 19, -1, -1, -1, -1, 24, 25, -1, + -1, -1, 29, -1, -1, 32, 33, 170, 35, 36, + 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, + -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, + -1, -1, -1, -1, -1, 72, 73, 74, 75, -1, + -1, -1, -1, -1, -1, -1, 83, 84, 85, 86, + -1, -1, -1, 90, -1, -1, 93, -1, -1, 96, + -1, -1, 99, -1, 101, 102, 103, 104, 105, 106, + 107, -1, 109, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 121, -1, -1, 124, 125, -1, + 127, 128, -1, -1, -1, -1, -1, -1, -1, 136, + 1, -1, -1, 140, -1, 6, 143, 8, 9, -1, + -1, -1, -1, -1, -1, 16, 17, 18, 19, -1, + -1, -1, -1, 24, 25, -1, -1, -1, 29, -1, + -1, 32, 33, 170, 35, 36, 37, 38, 39, 40, + 41, -1, 43, -1, -1, -1, -1, -1, -1, -1, + 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, + -1, 72, 73, 74, 75, -1, -1, -1, -1, -1, + -1, -1, 83, 84, 85, 86, -1, -1, -1, 90, + -1, -1, 93, -1, -1, 96, -1, -1, 99, -1, + 101, 102, 103, 104, 105, 106, 107, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, 124, -1, 126, 127, -1, - -1, -1, -1, -1, -1, -1, 135, 1, -1, -1, - 139, -1, 6, 142, 8, 9, -1, -1, -1, -1, - -1, -1, 16, 17, 18, 19, -1, -1, -1, -1, - 24, 25, -1, -1, -1, 29, -1, -1, 32, 33, - 169, 35, 36, 37, 38, 39, 40, 41, -1, 43, - -1, -1, -1, -1, -1, -1, -1, 51, -1, 53, + 121, -1, -1, 124, 125, -1, 127, 128, -1, -1, + -1, -1, -1, -1, -1, 136, 1, -1, -1, 140, + -1, 6, 143, 8, 9, -1, -1, -1, -1, -1, + -1, 16, 17, 18, 19, -1, -1, -1, -1, 24, + 25, -1, -1, -1, 29, -1, -1, 32, 33, 170, + 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, + -1, -1, -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, -1, -1, -1, 89, -1, -1, -1, -1, - -1, 95, -1, -1, 98, -1, 100, 101, 102, 103, - 104, 105, 106, -1, 108, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 120, -1, -1, 123, - 124, -1, 126, 127, -1, -1, -1, -1, -1, -1, - -1, 135, 1, -1, -1, 139, -1, 6, 142, 8, + 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, + 75, -1, -1, -1, -1, -1, -1, -1, 83, 84, + 85, 86, -1, -1, -1, 90, -1, -1, 93, -1, + -1, 96, -1, -1, 99, -1, 101, 102, 103, 104, + 105, 106, 107, -1, 109, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 121, -1, -1, 124, + 125, -1, 127, 128, -1, -1, -1, -1, -1, -1, + -1, 136, 1, -1, -1, 140, -1, 6, 143, 8, 9, -1, -1, -1, -1, -1, -1, 16, 17, 18, 19, -1, -1, -1, -1, 24, 25, -1, -1, -1, - 29, -1, -1, 32, 33, 169, 35, 36, 37, 38, + 29, -1, -1, 32, 33, 170, 35, 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, -1, -1, -1, - -1, -1, -1, 82, 83, 84, 85, -1, -1, -1, - 89, -1, -1, -1, -1, -1, 95, -1, -1, 98, - -1, 100, 101, 102, 103, 104, 105, 106, -1, 108, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, 124, -1, 126, 127, -1, - -1, -1, -1, -1, -1, -1, 135, 1, -1, -1, - 139, -1, 6, 142, 8, 9, -1, -1, -1, -1, - -1, -1, 16, 17, 18, 19, -1, -1, -1, -1, - 24, 25, -1, -1, -1, 29, -1, -1, 32, 33, - 169, 35, 36, 37, 38, 39, 40, 41, -1, 43, - -1, -1, -1, -1, -1, -1, -1, 51, -1, 53, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, -1, -1, -1, -1, -1, -1, 82, 83, - 84, 85, -1, -1, -1, 89, -1, -1, -1, -1, - -1, 95, -1, -1, 98, -1, 100, 101, 102, 103, - 104, 105, 106, -1, 108, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 120, -1, -1, 123, - 124, 1, 126, 127, -1, -1, 6, -1, 8, 9, - -1, 135, -1, -1, -1, 139, 16, 17, 142, 19, - -1, -1, -1, -1, 24, 25, -1, -1, -1, 29, - -1, -1, 32, 33, -1, 35, 36, 37, 38, 39, - 40, 41, -1, 43, -1, 169, -1, -1, -1, -1, - -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, 66, -1, -1, -1, - -1, -1, 72, 73, 74, 75, -1, -1, -1, -1, - -1, -1, 82, 83, 84, 85, -1, -1, -1, 89, - -1, -1, -1, -1, -1, 95, -1, -1, 98, -1, - 100, 101, 102, 103, 104, 105, 106, -1, 108, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 120, -1, -1, 123, 124, -1, 126, 127, -1, -1, - -1, -1, -1, -1, -1, 135, 1, -1, -1, 139, - -1, 6, 142, 8, 9, -1, -1, -1, -1, -1, - -1, 16, 17, 18, 19, -1, -1, -1, -1, 24, - 25, -1, -1, -1, 29, -1, -1, 32, 33, 169, - 35, 36, 37, 38, 39, 40, 41, -1, 43, 7, - -1, -1, -1, -1, -1, -1, 51, -1, 53, -1, - -1, -1, -1, -1, 22, 23, -1, -1, 26, 27, - 65, -1, 30, 31, -1, -1, 34, 72, 73, 74, - 75, 39, -1, -1, -1, -1, -1, 82, 83, 84, - 85, -1, -1, -1, 89, 53, 54, -1, -1, 57, - 95, -1, -1, 98, -1, 100, 101, 102, 103, 104, - 105, 106, -1, 108, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, 124, - -1, 126, 127, -1, -1, -1, -1, -1, -1, -1, - 135, -1, -1, 101, 139, -1, -1, 142, -1, -1, - -1, -1, 110, -1, 112, 113, 114, 115, 116, 117, - 118, -1, -1, 121, -1, -1, -1, 125, -1, 127, - -1, 129, -1, -1, 169, -1, -1, -1, -1, -1, - 138, 139, 140, 141, -1, -1, -1, 7, -1, -1, - 148, -1, 150, 151, 152, -1, 154, 155, 156, 157, - 158, -1, 22, 23, 162, -1, 26, 27, -1, 167, - 30, 31, 170, -1, 34, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 53, 54, -1, -1, 57, -1, -1, - -1, -1, -1, -1, 64, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, -1, -1, 26, - 27, 101, -1, 30, 31, -1, -1, 34, -1, -1, - 110, -1, 112, 113, 114, 115, 116, 117, 118, -1, - -1, 121, -1, -1, -1, 125, 53, 54, -1, 129, - 57, -1, -1, -1, -1, -1, -1, -1, 138, 139, - 140, 141, -1, -1, -1, -1, -1, -1, 148, -1, - 150, 151, 152, -1, 154, 155, 156, 157, 158, -1, - -1, -1, 162, -1, -1, -1, -1, 167, -1, -1, - 170, -1, -1, -1, 101, -1, -1, -1, -1, -1, - -1, -1, -1, 110, -1, 112, 113, 114, 115, 116, - 117, 118, -1, -1, 121, -1, -1, -1, 125, -1, - -1, -1, 129, 130, -1, -1, -1, -1, -1, -1, - -1, 138, 139, 140, 141, -1, -1, -1, 7, -1, - -1, 148, -1, 150, 151, 152, -1, 154, 155, 156, - 157, 158, -1, 22, 23, 162, -1, 26, 27, -1, - 167, 30, 31, 170, -1, 34, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 83, 84, 85, 86, -1, -1, + -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, + 99, -1, 101, 102, 103, 104, 105, 106, 107, -1, + 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 121, -1, -1, 124, 125, -1, 127, 128, + -1, -1, -1, -1, -1, -1, -1, 136, 1, -1, + -1, 140, -1, 6, 143, 8, 9, -1, -1, -1, + -1, -1, -1, 16, 17, 18, 19, -1, -1, -1, + -1, 24, 25, -1, -1, -1, 29, -1, -1, 32, + 33, 170, 35, 36, 37, 38, 39, 40, 41, -1, + 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, + 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, + 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, + 83, 84, 85, 86, -1, -1, -1, 90, -1, -1, + 93, -1, -1, 96, -1, -1, 99, -1, 101, 102, + 103, 104, 105, 106, 107, -1, 109, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, + -1, 124, 125, -1, 127, 128, -1, -1, -1, -1, + -1, -1, -1, 136, 1, -1, -1, 140, -1, 6, + 143, 8, 9, -1, -1, -1, -1, -1, -1, 16, + 17, 18, 19, -1, -1, -1, -1, 24, 25, -1, + -1, -1, 29, -1, -1, 32, 33, 170, 35, 36, + 37, 38, 39, 40, 41, -1, 43, -1, -1, -1, + -1, -1, -1, -1, 51, -1, 53, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, + -1, -1, -1, -1, -1, 72, 73, 74, 75, -1, + -1, -1, -1, -1, -1, -1, 83, 84, 85, 86, + -1, -1, -1, 90, -1, -1, 93, -1, -1, 96, + -1, -1, 99, -1, 101, 102, 103, 104, 105, 106, + 107, -1, 109, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 121, -1, -1, 124, 125, 1, + 127, 128, -1, -1, 6, -1, 8, 9, -1, 136, + -1, -1, -1, 140, 16, 17, 143, 19, -1, -1, + -1, -1, 24, 25, -1, -1, -1, 29, -1, -1, + 32, 33, -1, 35, 36, 37, 38, 39, 40, 41, + -1, 43, -1, 170, -1, -1, -1, -1, -1, 51, + -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 65, 66, -1, -1, -1, -1, -1, + 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, + -1, 83, 84, 85, 86, -1, -1, -1, 90, -1, + -1, 93, -1, -1, 96, -1, -1, 99, -1, 101, + 102, 103, 104, 105, 106, 107, -1, 109, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, + -1, -1, 124, 125, -1, 127, 128, -1, -1, -1, + -1, -1, -1, -1, 136, 1, -1, -1, 140, -1, + 6, 143, 8, 9, -1, -1, -1, -1, -1, -1, + 16, 17, 18, 19, -1, -1, -1, -1, 24, 25, + -1, -1, -1, 29, -1, -1, 32, 33, 170, 35, + 36, 37, 38, 39, 40, 41, -1, 43, -1, -1, + -1, -1, -1, -1, -1, 51, -1, 53, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, + -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, + -1, -1, -1, -1, -1, -1, -1, 83, 84, 85, + 86, -1, -1, -1, 90, -1, -1, 93, -1, -1, + 96, -1, -1, 99, -1, 101, 102, 103, 104, 105, + 106, 107, -1, 109, -1, -1, -1, -1, 7, -1, + -1, -1, -1, -1, -1, 121, -1, -1, 124, 125, + -1, 127, 128, 22, 23, -1, -1, 26, 27, -1, + 136, 30, 31, -1, 140, 34, -1, 143, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, 54, -1, -1, 57, -1, + -1, -1, -1, -1, 170, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 22, 23, -1, -1, 26, 27, -1, -1, 30, 31, + -1, -1, 34, 102, -1, -1, -1, -1, -1, -1, + -1, -1, 111, -1, 113, 114, 115, 116, 117, 118, + 119, 53, 54, 122, -1, 57, -1, 126, -1, 128, + -1, 130, 64, -1, -1, -1, -1, -1, -1, -1, + 139, 140, 141, 142, -1, -1, -1, -1, -1, -1, + 149, -1, 151, 152, 153, -1, 155, 156, 157, 158, + 159, -1, -1, -1, 163, -1, -1, -1, -1, 168, + 102, -1, 171, -1, -1, -1, -1, -1, -1, 111, + -1, 113, 114, 115, 116, 117, 118, 119, -1, -1, + 122, -1, -1, -1, 126, -1, -1, -1, 130, -1, + -1, -1, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, 7, -1, -1, 149, -1, 151, + 152, 153, -1, 155, 156, 157, 158, 159, -1, 22, + 23, 163, -1, 26, 27, -1, 168, 30, 31, 171, + -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 53, 54, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, - -1, 110, -1, 112, 113, 114, 115, 116, 117, 118, - -1, -1, 121, -1, -1, -1, 125, -1, -1, -1, - 129, -1, -1, -1, -1, -1, -1, -1, -1, 138, - 139, 140, 141, -1, -1, -1, -1, -1, -1, 148, - -1, 150, 151, 152, -1, 154, 155, 156, 157, 158, - -1, -1, -1, 162, -1, -1, -1, -1, 167, -1, - -1, 170 + -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 22, 23, -1, -1, + 26, 27, -1, -1, 30, 31, -1, -1, 34, 102, + -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, + 113, 114, 115, 116, 117, 118, 119, 53, 54, 122, + -1, 57, -1, 126, -1, -1, -1, 130, 131, -1, + -1, -1, -1, -1, -1, -1, 139, 140, 141, 142, + -1, -1, -1, -1, -1, -1, 149, -1, 151, 152, + 153, -1, 155, 156, 157, 158, 159, -1, -1, -1, + 163, -1, -1, -1, -1, 168, 102, -1, 171, -1, + -1, -1, -1, -1, -1, 111, -1, 113, 114, 115, + 116, 117, 118, 119, -1, -1, 122, -1, -1, -1, + 126, -1, -1, -1, 130, -1, -1, -1, -1, -1, + -1, -1, -1, 139, 140, 141, 142, -1, -1, -1, + -1, -1, -1, 149, -1, 151, 152, 153, -1, 155, + 156, 157, 158, 159, -1, -1, -1, 163, -1, -1, + -1, -1, 168, -1, -1, 171 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 176, 178, 0, 179, 1, 6, 8, 9, 10, + 0, 177, 179, 0, 180, 1, 6, 8, 9, 10, 13, 16, 17, 19, 24, 25, 29, 32, 35, 36, 37, 38, 39, 40, 41, 43, 51, 53, 65, 72, - 73, 74, 75, 82, 83, 84, 85, 89, 93, 95, - 98, 100, 101, 102, 103, 104, 105, 106, 108, 120, - 123, 124, 126, 127, 135, 139, 142, 169, 177, 180, - 181, 194, 212, 214, 216, 218, 219, 257, 293, 304, - 307, 309, 315, 320, 327, 330, 333, 336, 337, 338, - 339, 340, 341, 385, 387, 388, 390, 396, 397, 414, - 424, 426, 431, 432, 436, 442, 444, 177, 1, 139, - 177, 52, 139, 221, 222, 1, 37, 139, 275, 304, - 307, 1, 437, 1, 433, 1, 445, 1, 7, 22, - 23, 26, 27, 30, 31, 34, 53, 54, 57, 101, - 110, 112, 113, 114, 115, 116, 117, 118, 121, 125, - 129, 138, 139, 140, 141, 148, 150, 151, 152, 154, - 155, 156, 157, 158, 162, 167, 170, 233, 238, 239, - 240, 241, 242, 243, 244, 246, 248, 251, 1, 139, - 1, 139, 13, 16, 1, 139, 1, 139, 170, 223, - 177, 265, 1, 251, 81, 251, 177, 177, 147, 177, - 1, 177, 267, 177, 1, 6, 126, 177, 177, 13, - 16, 17, 29, 38, 39, 93, 126, 340, 6, 139, - 286, 139, 283, 1, 269, 1, 64, 139, 1, 316, - 344, 308, 1, 139, 1, 81, 170, 266, 386, 1, - 13, 93, 139, 177, 229, 56, 213, 213, 1, 139, - 1, 139, 281, 177, 81, 274, 319, 177, 1, 310, - 277, 18, 67, 253, 253, 1, 33, 170, 335, 1, - 335, 1, 335, 1, 139, 322, 323, 1, 126, 139, - 177, 418, 1, 177, 402, 172, 402, 402, 1, 172, - 177, 280, 401, 1, 251, 252, 398, 400, 1, 260, - 1, 427, 252, 177, 195, 177, 172, 177, 177, 139, - 262, 126, 309, 61, 420, 318, 319, 177, 252, 177, - 252, 18, 33, 147, 446, 447, 448, 458, 51, 65, - 66, 67, 72, 332, 334, 223, 170, 170, 170, 170, - 170, 170, 223, 170, 240, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 240, 240, 252, - 56, 164, 165, 166, 162, 163, 58, 59, 63, 160, - 161, 60, 159, 61, 62, 173, 64, 332, 177, 177, - 177, 425, 20, 20, 177, 177, 171, 177, 1, 252, - 403, 66, 66, 48, 139, 177, 177, 177, 252, 177, - 88, 100, 131, 139, 139, 13, 16, 1, 342, 177, - 172, 172, 288, 172, 172, 285, 177, 252, 177, 139, - 18, 72, 139, 351, 177, 172, 177, 305, 306, 1, - 273, 50, 58, 59, 69, 77, 143, 144, 145, 405, - 406, 392, 393, 177, 231, 230, 232, 220, 253, 220, - 177, 215, 177, 217, 73, 78, 79, 80, 96, 97, - 294, 296, 297, 303, 290, 48, 139, 290, 177, 290, - 18, 39, 127, 313, 314, 422, 253, 1, 65, 177, - 417, 261, 6, 32, 33, 38, 98, 254, 257, 329, - 18, 177, 55, 146, 210, 251, 258, 177, 322, 177, - 322, 177, 324, 172, 177, 177, 177, 177, 177, 389, - 177, 398, 398, 177, 252, 172, 401, 177, 322, 177, - 252, 1, 172, 263, 196, 211, 252, 222, 278, 50, - 276, 251, 51, 291, 420, 438, 434, 32, 33, 35, - 51, 65, 72, 464, 1, 210, 449, 18, 447, 251, - 252, 251, 251, 251, 251, 251, 252, 252, 252, 1, - 139, 171, 252, 251, 251, 251, 1, 139, 1, 139, - 1, 48, 49, 139, 252, 234, 251, 251, 251, 251, - 251, 251, 251, 252, 252, 171, 53, 57, 239, 239, - 239, 240, 240, 241, 241, 241, 241, 241, 242, 242, - 245, 247, 249, 248, 172, 440, 441, 139, 139, 177, - 1, 177, 404, 268, 177, 177, 252, 271, 272, 20, - 20, 18, 139, 287, 251, 177, 284, 251, 177, 270, - 345, 391, 48, 139, 177, 235, 236, 237, 252, 403, - 252, 394, 395, 177, 177, 177, 18, 170, 224, 224, - 301, 299, 298, 300, 282, 51, 72, 177, 295, 297, - 76, 290, 423, 351, 252, 18, 177, 177, 253, 1, - 68, 1, 68, 1, 68, 13, 16, 68, 71, 328, - 331, 1, 35, 51, 177, 419, 171, 322, 177, 177, - 325, 405, 323, 394, 401, 401, 399, 177, 428, 177, - 139, 177, 443, 3, 4, 5, 33, 44, 45, 46, - 47, 48, 49, 86, 130, 131, 197, 198, 199, 440, - 1, 252, 407, 420, 292, 291, 172, 172, 177, 18, - 459, 81, 1, 32, 177, 463, 171, 172, 172, 171, - 171, 172, 171, 1, 171, 172, 172, 171, 171, 171, - 171, 171, 172, 171, 172, 171, 171, 171, 171, 171, - 171, 171, 171, 171, 172, 235, 172, 171, 171, 171, - 171, 171, 172, 171, 171, 53, 61, 243, 244, 248, - 139, 177, 441, 185, 183, 177, 177, 177, 45, 86, - 382, 14, 15, 19, 20, 42, 86, 87, 88, 100, - 372, 139, 139, 343, 139, 289, 252, 177, 211, 346, - 347, 348, 349, 421, 422, 392, 171, 172, 172, 16, - 17, 29, 39, 102, 126, 171, 225, 226, 227, 83, - 91, 92, 149, 228, 251, 251, 251, 251, 253, 302, - 252, 311, 169, 1, 72, 177, 415, 18, 177, 177, - 256, 177, 255, 177, 1, 1, 177, 1, 251, 253, - 177, 177, 177, 335, 177, 326, 400, 172, 264, 130, - 211, 211, 211, 47, 210, 202, 210, 210, 211, 177, - 199, 420, 51, 177, 413, 28, 410, 253, 291, 253, - 252, 252, 464, 81, 461, 139, 177, 177, 251, 251, - 251, 171, 139, 251, 251, 251, 252, 171, 251, 251, - 241, 174, 1, 170, 190, 1, 170, 186, 251, 251, - 177, 376, 375, 374, 72, 373, 377, 177, 184, 182, - 346, 172, 169, 353, 351, 1, 81, 177, 321, 237, - 395, 170, 171, 172, 139, 227, 18, 251, 177, 355, - 352, 353, 177, 177, 417, 253, 210, 177, 177, 66, - 66, 259, 252, 252, 443, 139, 202, 201, 119, 122, - 203, 200, 51, 408, 172, 411, 412, 18, 18, 439, - 435, 177, 139, 253, 450, 171, 171, 171, 171, 171, - 172, 171, 171, 171, 172, 171, 171, 250, 177, 139, - 191, 192, 177, 138, 187, 188, 383, 378, 379, 380, - 378, 252, 251, 378, 190, 186, 251, 14, 15, 18, - 20, 42, 70, 86, 87, 354, 350, 177, 1, 48, - 139, 210, 226, 1, 51, 177, 416, 126, 139, 317, - 18, 18, 253, 322, 429, 28, 204, 204, 279, 252, - 252, 51, 412, 416, 416, 440, 440, 460, 79, 457, - 251, 251, 248, 193, 171, 172, 189, 171, 172, 28, - 384, 172, 251, 1, 126, 138, 140, 174, 365, 366, - 1, 126, 140, 357, 358, 1, 15, 356, 1, 126, - 138, 140, 174, 360, 361, 355, 355, 355, 352, 177, - 177, 177, 171, 177, 177, 312, 463, 18, 177, 172, - 210, 100, 205, 205, 253, 409, 177, 177, 18, 210, - 78, 171, 171, 210, 177, 192, 210, 177, 188, 251, - 379, 381, 177, 367, 368, 369, 172, 355, 177, 359, - 172, 355, 177, 210, 177, 362, 363, 364, 172, 355, - 318, 1, 33, 177, 462, 252, 210, 73, 206, 18, - 51, 462, 210, 139, 7, 34, 139, 370, 371, 370, - 370, 366, 370, 358, 355, 370, 370, 370, 361, 177, - 177, 430, 210, 416, 451, 107, 172, 207, 90, 139, - 66, 208, 452, 177, 82, 139, 253, 170, 453, 209, - 66, 235, 454, 171, 253, 455, 18, 1, 147, 177, - 456, 177, 177 + 73, 74, 75, 83, 84, 85, 86, 90, 93, 94, + 96, 99, 101, 102, 103, 104, 105, 106, 107, 109, + 121, 124, 125, 127, 128, 136, 140, 143, 170, 178, + 181, 182, 195, 213, 215, 217, 219, 220, 258, 294, + 305, 308, 310, 316, 321, 328, 331, 334, 337, 338, + 339, 340, 341, 342, 386, 388, 389, 391, 397, 398, + 415, 425, 427, 432, 433, 437, 443, 445, 178, 1, + 140, 178, 52, 140, 222, 223, 1, 37, 140, 276, + 305, 308, 1, 438, 1, 434, 1, 446, 1, 7, + 22, 23, 26, 27, 30, 31, 34, 53, 54, 57, + 102, 111, 113, 114, 115, 116, 117, 118, 119, 122, + 126, 130, 139, 140, 141, 142, 149, 151, 152, 153, + 155, 156, 157, 158, 159, 163, 168, 171, 234, 239, + 240, 241, 242, 243, 244, 245, 247, 249, 252, 1, + 140, 1, 140, 13, 16, 1, 140, 1, 140, 171, + 224, 178, 266, 1, 252, 82, 252, 178, 178, 148, + 178, 1, 178, 268, 178, 1, 6, 127, 178, 178, + 178, 13, 16, 17, 29, 38, 39, 94, 127, 341, + 6, 140, 287, 140, 284, 1, 270, 1, 64, 140, + 1, 317, 345, 309, 1, 140, 1, 82, 171, 267, + 387, 1, 13, 94, 140, 178, 230, 56, 214, 214, + 1, 140, 1, 140, 282, 178, 82, 275, 320, 178, + 1, 311, 278, 18, 67, 254, 254, 1, 33, 171, + 336, 1, 336, 1, 336, 1, 140, 323, 324, 1, + 127, 140, 178, 419, 1, 178, 403, 173, 403, 403, + 1, 173, 178, 281, 402, 1, 252, 253, 399, 401, + 1, 261, 1, 428, 253, 178, 196, 178, 173, 178, + 178, 140, 263, 127, 310, 61, 421, 319, 320, 178, + 253, 178, 253, 18, 33, 148, 447, 448, 449, 459, + 51, 65, 66, 67, 72, 333, 335, 224, 171, 171, + 171, 171, 171, 171, 224, 171, 241, 171, 171, 171, + 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, + 171, 171, 171, 171, 171, 171, 171, 171, 171, 241, + 241, 253, 56, 165, 166, 167, 163, 164, 58, 59, + 63, 161, 162, 60, 160, 61, 62, 174, 64, 333, + 178, 178, 178, 426, 20, 20, 178, 178, 172, 178, + 1, 253, 404, 66, 66, 48, 140, 178, 178, 178, + 253, 178, 89, 101, 132, 140, 140, 13, 16, 1, + 343, 178, 173, 173, 289, 173, 173, 286, 178, 253, + 178, 140, 18, 72, 140, 352, 178, 173, 178, 306, + 307, 1, 274, 50, 58, 59, 69, 77, 78, 144, + 145, 146, 406, 407, 393, 394, 178, 232, 231, 233, + 221, 254, 221, 178, 216, 178, 218, 73, 79, 80, + 81, 97, 98, 295, 297, 298, 304, 291, 48, 140, + 291, 178, 291, 18, 39, 128, 314, 315, 423, 254, + 1, 65, 178, 418, 262, 6, 32, 33, 38, 99, + 255, 258, 330, 18, 178, 55, 147, 211, 252, 259, + 178, 323, 178, 323, 178, 325, 173, 178, 178, 178, + 178, 178, 390, 178, 399, 399, 178, 253, 173, 402, + 178, 323, 178, 253, 1, 173, 264, 197, 212, 253, + 223, 279, 50, 277, 252, 51, 292, 421, 439, 435, + 32, 33, 35, 51, 65, 72, 465, 1, 211, 450, + 18, 448, 252, 253, 252, 252, 252, 252, 252, 253, + 253, 253, 1, 140, 172, 253, 252, 252, 252, 1, + 140, 1, 140, 1, 48, 49, 140, 253, 235, 252, + 252, 252, 252, 252, 252, 252, 253, 253, 172, 53, + 57, 240, 240, 240, 241, 241, 242, 242, 242, 242, + 242, 243, 243, 246, 248, 250, 249, 173, 441, 442, + 140, 140, 178, 1, 178, 405, 269, 178, 178, 253, + 272, 273, 20, 20, 18, 140, 288, 252, 178, 285, + 252, 178, 271, 346, 392, 48, 140, 178, 236, 237, + 238, 253, 404, 253, 395, 396, 178, 178, 178, 18, + 171, 225, 225, 302, 300, 299, 301, 283, 51, 72, + 178, 296, 298, 76, 291, 424, 352, 253, 18, 178, + 178, 254, 1, 68, 1, 68, 1, 68, 13, 16, + 68, 71, 329, 332, 1, 35, 51, 178, 420, 172, + 323, 178, 178, 326, 406, 324, 395, 402, 402, 400, + 178, 429, 178, 140, 178, 444, 3, 4, 5, 33, + 44, 45, 46, 47, 48, 49, 87, 131, 132, 198, + 199, 200, 441, 1, 253, 408, 421, 293, 292, 173, + 173, 178, 18, 460, 82, 1, 32, 178, 464, 172, + 173, 173, 172, 172, 173, 172, 1, 172, 173, 173, + 172, 172, 172, 172, 172, 173, 172, 173, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 173, 236, 173, + 172, 172, 172, 172, 172, 173, 172, 172, 53, 61, + 244, 245, 249, 140, 178, 442, 186, 184, 178, 178, + 178, 45, 87, 383, 14, 15, 19, 20, 42, 87, + 88, 89, 101, 373, 140, 140, 344, 140, 290, 253, + 178, 212, 347, 348, 349, 350, 422, 423, 393, 172, + 173, 173, 16, 17, 29, 39, 103, 127, 172, 226, + 227, 228, 84, 92, 93, 150, 229, 252, 252, 252, + 252, 254, 303, 253, 312, 170, 1, 72, 178, 416, + 18, 178, 178, 257, 178, 256, 178, 1, 1, 178, + 1, 252, 254, 178, 178, 178, 336, 178, 327, 401, + 173, 265, 131, 212, 212, 212, 47, 211, 203, 211, + 211, 212, 178, 200, 421, 51, 178, 414, 28, 411, + 254, 292, 254, 253, 253, 465, 82, 462, 140, 178, + 178, 252, 252, 252, 172, 140, 252, 252, 252, 253, + 172, 252, 252, 242, 175, 1, 171, 191, 1, 171, + 187, 252, 252, 178, 377, 376, 375, 72, 374, 378, + 178, 185, 183, 347, 173, 170, 354, 352, 1, 82, + 178, 322, 238, 396, 171, 172, 173, 140, 228, 18, + 252, 178, 356, 353, 354, 178, 178, 418, 254, 211, + 178, 178, 66, 66, 260, 253, 253, 444, 140, 203, + 202, 120, 123, 204, 201, 51, 409, 173, 412, 413, + 18, 18, 440, 436, 178, 140, 254, 451, 172, 172, + 172, 172, 172, 173, 172, 172, 172, 173, 172, 172, + 251, 178, 140, 192, 193, 178, 139, 188, 189, 384, + 379, 380, 381, 379, 253, 252, 379, 191, 187, 252, + 14, 15, 18, 20, 42, 70, 87, 88, 355, 351, + 178, 1, 48, 140, 211, 227, 1, 51, 178, 417, + 127, 140, 318, 18, 18, 254, 323, 430, 28, 205, + 205, 280, 253, 253, 51, 413, 417, 417, 441, 441, + 461, 80, 458, 252, 252, 249, 194, 172, 173, 190, + 172, 173, 28, 385, 173, 252, 1, 127, 139, 141, + 175, 366, 367, 1, 127, 141, 358, 359, 1, 15, + 357, 1, 127, 139, 141, 175, 361, 362, 356, 356, + 356, 353, 178, 178, 178, 172, 178, 178, 313, 464, + 18, 178, 173, 211, 101, 206, 206, 254, 410, 178, + 178, 18, 211, 79, 172, 172, 211, 178, 193, 211, + 178, 189, 252, 380, 382, 178, 368, 369, 370, 173, + 356, 178, 360, 173, 356, 178, 211, 178, 363, 364, + 365, 173, 356, 319, 1, 33, 178, 463, 253, 211, + 73, 207, 18, 51, 463, 211, 140, 7, 34, 140, + 371, 372, 371, 371, 367, 371, 359, 356, 371, 371, + 371, 362, 178, 178, 431, 211, 417, 452, 108, 173, + 208, 91, 140, 66, 209, 453, 178, 83, 140, 254, + 171, 454, 210, 66, 236, 455, 172, 254, 456, 18, + 1, 148, 178, 457, 178, 178 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 175, 176, 177, 178, 179, 178, 180, 180, 180, - 180, 180, 181, 181, 182, 181, 183, 181, 184, 181, - 185, 181, 186, 186, 187, 187, 189, 188, 190, 190, - 191, 191, 193, 192, 195, 194, 194, 196, 196, 197, - 197, 198, 198, 199, 199, 199, 199, 199, 199, 199, - 200, 199, 199, 201, 199, 199, 199, 199, 199, 202, - 202, 203, 203, 204, 204, 205, 205, 206, 207, 206, - 208, 208, 209, 208, 210, 211, 212, 212, 213, 213, - 214, 215, 214, 216, 217, 216, 218, 218, 219, 219, - 220, 221, 221, 222, 223, 223, 224, 224, 224, 225, - 225, 226, 227, 227, 227, 227, 227, 227, 227, 228, - 228, 228, 228, 229, 230, 229, 231, 229, 232, 229, - 229, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 234, 233, 233, - 233, 233, 235, 235, 236, 236, 237, 238, 238, 238, - 239, 239, 239, 239, 240, 240, 240, 240, 241, 241, - 241, 242, 242, 242, 242, 242, 242, 243, 243, 243, - 244, 245, 244, 246, 247, 246, 248, 249, 250, 248, - 251, 251, 252, 252, 253, 253, 254, 254, 255, 254, - 254, 256, 254, 254, 254, 254, 254, 254, 257, 257, - 257, 257, 257, 257, 257, 257, 257, 258, 257, 259, - 257, 257, 260, 257, 257, 257, 257, 261, 257, 262, - 257, 257, 263, 257, 264, 257, 257, 265, 257, 266, - 257, 257, 267, 268, 257, 257, 269, 270, 257, 257, - 257, 271, 257, 257, 257, 257, 257, 257, 257, 257, - 257, 272, 257, 257, 273, 257, 257, 257, 257, 257, - 274, 257, 257, 257, 275, 276, 257, 257, 277, 257, - 257, 257, 278, 279, 257, 257, 257, 257, 257, 257, - 257, 257, 257, 257, 257, 257, 280, 257, 257, 257, - 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, - 281, 282, 257, 257, 257, 284, 283, 285, 285, 287, - 286, 288, 289, 288, 290, 292, 291, 293, 293, 294, - 295, 295, 295, 296, 296, 298, 297, 299, 297, 300, - 297, 301, 297, 302, 297, 303, 303, 303, 304, 305, - 304, 306, 304, 308, 307, 310, 311, 312, 309, 309, - 313, 314, 313, 316, 315, 317, 317, 317, 318, 318, - 319, 319, 320, 320, 320, 321, 321, 321, 321, 321, - 322, 322, 324, 323, 325, 326, 325, 327, 328, 329, - 329, 330, 330, 331, 331, 332, 332, 333, 333, 333, - 334, 334, 334, 335, 335, 335, 336, 336, 337, 337, - 338, 338, 339, 339, 340, 340, 340, 342, 343, 341, - 341, 344, 345, 341, 341, 346, 346, 348, 347, 350, - 349, 351, 352, 353, 353, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 355, 355, 356, 356, - 357, 357, 359, 358, 358, 360, 360, 362, 361, 363, - 361, 364, 361, 361, 365, 365, 367, 366, 368, 366, - 369, 366, 366, 370, 371, 371, 371, 371, 372, 372, - 372, 372, 373, 372, 372, 374, 372, 375, 372, 376, - 372, 377, 372, 378, 378, 380, 381, 379, 382, 383, - 382, 384, 384, 386, 385, 387, 387, 389, 388, 391, - 390, 393, 392, 394, 394, 395, 396, 396, 397, 397, - 398, 399, 398, 400, 401, 402, 403, 403, 404, 404, - 405, 405, 405, 405, 405, 405, 406, 406, 406, 408, - 409, 407, 410, 407, 407, 411, 411, 412, 413, 413, - 414, 414, 415, 415, 415, 416, 416, 416, 417, 417, - 417, 418, 418, 418, 418, 419, 419, 419, 419, 420, - 420, 421, 421, 422, 423, 422, 425, 424, 424, 427, - 428, 429, 430, 426, 426, 431, 431, 433, 434, 435, - 432, 432, 437, 438, 439, 436, 436, 440, 440, 441, - 442, 443, 445, 444, 444, 446, 446, 447, 447, 449, - 450, 451, 452, 453, 454, 455, 448, 456, 456, 456, - 457, 457, 459, 460, 458, 458, 461, 461, 462, 462, - 462, 463, 463, 463, 464, 464, 464, 464, 464, 464, - 464 + 0, 176, 177, 178, 179, 180, 179, 181, 181, 181, + 181, 181, 182, 182, 183, 182, 184, 182, 185, 182, + 186, 182, 187, 187, 188, 188, 190, 189, 191, 191, + 192, 192, 194, 193, 196, 195, 195, 197, 197, 198, + 198, 199, 199, 200, 200, 200, 200, 200, 200, 200, + 201, 200, 200, 202, 200, 200, 200, 200, 200, 203, + 203, 204, 204, 205, 205, 206, 206, 207, 208, 207, + 209, 209, 210, 209, 211, 212, 213, 213, 214, 214, + 215, 216, 215, 217, 218, 217, 219, 219, 220, 220, + 221, 222, 222, 223, 224, 224, 225, 225, 225, 226, + 226, 227, 228, 228, 228, 228, 228, 228, 228, 229, + 229, 229, 229, 230, 231, 230, 232, 230, 233, 230, + 230, 234, 234, 234, 234, 234, 234, 234, 234, 234, + 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, + 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, + 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, + 234, 234, 234, 234, 234, 234, 234, 235, 234, 234, + 234, 234, 236, 236, 237, 237, 238, 239, 239, 239, + 240, 240, 240, 240, 241, 241, 241, 241, 242, 242, + 242, 243, 243, 243, 243, 243, 243, 244, 244, 244, + 245, 246, 245, 247, 248, 247, 249, 250, 251, 249, + 252, 252, 253, 253, 254, 254, 255, 255, 256, 255, + 255, 257, 255, 255, 255, 255, 255, 255, 258, 258, + 258, 258, 258, 258, 258, 258, 258, 258, 259, 258, + 260, 258, 258, 261, 258, 258, 258, 258, 262, 258, + 263, 258, 258, 264, 258, 265, 258, 258, 266, 258, + 267, 258, 258, 268, 269, 258, 258, 270, 271, 258, + 258, 258, 272, 258, 258, 258, 258, 258, 258, 258, + 258, 258, 273, 258, 258, 274, 258, 258, 258, 258, + 258, 275, 258, 258, 258, 276, 277, 258, 258, 278, + 258, 258, 258, 279, 280, 258, 258, 258, 258, 258, + 258, 258, 258, 258, 258, 258, 258, 281, 258, 258, + 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, + 258, 282, 283, 258, 258, 258, 285, 284, 286, 286, + 288, 287, 289, 290, 289, 291, 293, 292, 294, 294, + 295, 296, 296, 296, 297, 297, 299, 298, 300, 298, + 301, 298, 302, 298, 303, 298, 304, 304, 304, 305, + 306, 305, 307, 305, 309, 308, 311, 312, 313, 310, + 310, 314, 315, 314, 317, 316, 318, 318, 318, 319, + 319, 320, 320, 321, 321, 321, 322, 322, 322, 322, + 322, 323, 323, 325, 324, 326, 327, 326, 328, 329, + 330, 330, 331, 331, 332, 332, 333, 333, 334, 334, + 334, 335, 335, 335, 336, 336, 336, 337, 337, 338, + 338, 339, 339, 340, 340, 341, 341, 341, 343, 344, + 342, 342, 345, 346, 342, 342, 347, 347, 349, 348, + 351, 350, 352, 353, 354, 354, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 356, 356, 357, + 357, 358, 358, 360, 359, 359, 361, 361, 363, 362, + 364, 362, 365, 362, 362, 366, 366, 368, 367, 369, + 367, 370, 367, 367, 371, 372, 372, 372, 372, 373, + 373, 373, 373, 374, 373, 373, 375, 373, 376, 373, + 377, 373, 378, 373, 379, 379, 381, 382, 380, 383, + 384, 383, 385, 385, 387, 386, 388, 388, 390, 389, + 392, 391, 394, 393, 395, 395, 396, 397, 397, 398, + 398, 399, 400, 399, 401, 402, 403, 404, 404, 405, + 405, 406, 406, 406, 406, 406, 406, 407, 407, 407, + 407, 409, 410, 408, 411, 408, 408, 412, 412, 413, + 414, 414, 415, 415, 416, 416, 416, 417, 417, 417, + 418, 418, 418, 419, 419, 419, 419, 420, 420, 420, + 420, 421, 421, 422, 422, 423, 424, 423, 426, 425, + 425, 428, 429, 430, 431, 427, 427, 432, 432, 434, + 435, 436, 433, 433, 438, 439, 440, 437, 437, 441, + 441, 442, 443, 444, 446, 445, 445, 447, 447, 448, + 448, 450, 451, 452, 453, 454, 455, 456, 449, 457, + 457, 457, 458, 458, 460, 461, 459, 459, 462, 462, + 463, 463, 463, 464, 464, 464, 465, 465, 465, 465, + 465, 465, 465 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -2725,50 +2797,50 @@ static const yytype_uint8 yyr2[] = 1, 0, 4, 1, 0, 4, 1, 0, 0, 7, 1, 3, 1, 2, 0, 2, 1, 3, 0, 7, 3, 0, 6, 3, 3, 3, 4, 4, 1, 2, - 2, 3, 3, 4, 3, 4, 3, 0, 5, 0, - 8, 3, 0, 4, 3, 4, 3, 0, 6, 0, - 8, 3, 0, 4, 0, 6, 4, 0, 3, 0, - 4, 2, 0, 0, 5, 3, 0, 0, 5, 3, - 3, 0, 6, 5, 4, 4, 3, 2, 2, 2, - 3, 0, 6, 3, 0, 6, 4, 2, 3, 4, - 0, 3, 3, 4, 0, 0, 6, 5, 0, 5, - 3, 3, 0, 0, 11, 1, 1, 1, 1, 2, - 3, 2, 3, 2, 3, 2, 0, 4, 4, 3, - 3, 3, 2, 3, 3, 2, 3, 2, 4, 4, - 0, 0, 7, 3, 2, 0, 4, 0, 2, 0, - 4, 0, 0, 5, 0, 0, 5, 1, 1, 2, - 1, 1, 1, 1, 2, 0, 3, 0, 3, 0, - 3, 0, 3, 0, 4, 0, 1, 1, 1, 0, - 4, 0, 4, 0, 3, 0, 0, 0, 9, 3, - 1, 0, 3, 0, 3, 0, 1, 1, 0, 1, - 2, 2, 1, 3, 3, 1, 3, 3, 3, 2, - 1, 3, 0, 3, 0, 0, 3, 3, 2, 0, - 2, 3, 3, 3, 3, 1, 1, 3, 3, 3, - 1, 1, 1, 0, 2, 2, 2, 1, 2, 1, - 2, 1, 2, 1, 1, 1, 1, 0, 0, 6, - 4, 0, 0, 5, 3, 1, 1, 0, 3, 0, - 4, 0, 2, 0, 2, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 4, 3, 0, 1, 0, 1, - 1, 3, 0, 3, 1, 1, 3, 0, 3, 0, - 3, 0, 3, 1, 1, 3, 0, 3, 0, 3, - 0, 3, 1, 1, 1, 1, 1, 2, 1, 1, - 1, 2, 0, 3, 1, 0, 3, 0, 3, 0, - 3, 0, 3, 1, 3, 0, 0, 4, 2, 0, - 4, 0, 2, 0, 3, 3, 2, 0, 4, 0, - 5, 0, 2, 1, 3, 1, 2, 2, 1, 1, - 1, 0, 4, 1, 1, 1, 2, 2, 1, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 6, 0, 4, 2, 1, 2, 2, 1, 1, - 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, - 2, 1, 2, 2, 2, 1, 2, 2, 2, 0, - 2, 1, 2, 1, 0, 4, 0, 5, 3, 0, - 0, 0, 0, 13, 3, 1, 1, 0, 0, 0, - 9, 3, 0, 0, 0, 9, 3, 1, 2, 2, - 1, 1, 0, 5, 5, 1, 2, 1, 1, 0, - 0, 0, 0, 0, 0, 0, 19, 1, 2, 2, - 0, 2, 0, 0, 8, 5, 0, 2, 1, 2, - 2, 1, 2, 2, 0, 1, 1, 1, 1, 1, - 1 + 2, 2, 3, 3, 4, 3, 4, 3, 0, 5, + 0, 8, 3, 0, 4, 3, 4, 3, 0, 6, + 0, 8, 3, 0, 4, 0, 6, 4, 0, 3, + 0, 4, 2, 0, 0, 5, 3, 0, 0, 5, + 3, 3, 0, 6, 5, 4, 4, 3, 2, 2, + 2, 3, 0, 6, 3, 0, 6, 4, 2, 3, + 4, 0, 3, 3, 4, 0, 0, 6, 5, 0, + 5, 3, 3, 0, 0, 11, 1, 1, 1, 1, + 2, 3, 2, 3, 2, 3, 2, 0, 4, 4, + 3, 3, 3, 2, 3, 3, 2, 3, 2, 4, + 4, 0, 0, 7, 3, 2, 0, 4, 0, 2, + 0, 4, 0, 0, 5, 0, 0, 5, 1, 1, + 2, 1, 1, 1, 1, 2, 0, 3, 0, 3, + 0, 3, 0, 3, 0, 4, 0, 1, 1, 1, + 0, 4, 0, 4, 0, 3, 0, 0, 0, 9, + 3, 1, 0, 3, 0, 3, 0, 1, 1, 0, + 1, 2, 2, 1, 3, 3, 1, 3, 3, 3, + 2, 1, 3, 0, 3, 0, 0, 3, 3, 2, + 0, 2, 3, 3, 3, 3, 1, 1, 3, 3, + 3, 1, 1, 1, 0, 2, 2, 2, 1, 2, + 1, 2, 1, 2, 1, 1, 1, 1, 0, 0, + 6, 4, 0, 0, 5, 3, 1, 1, 0, 3, + 0, 4, 0, 2, 0, 2, 3, 3, 3, 3, + 3, 3, 2, 2, 2, 4, 3, 0, 1, 0, + 1, 1, 3, 0, 3, 1, 1, 3, 0, 3, + 0, 3, 0, 3, 1, 1, 3, 0, 3, 0, + 3, 0, 3, 1, 1, 1, 1, 1, 2, 1, + 1, 1, 2, 0, 3, 1, 0, 3, 0, 3, + 0, 3, 0, 3, 1, 3, 0, 0, 4, 2, + 0, 4, 0, 2, 0, 3, 3, 2, 0, 4, + 0, 5, 0, 2, 1, 3, 1, 2, 2, 1, + 1, 1, 0, 4, 1, 1, 1, 2, 2, 1, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 6, 0, 4, 2, 1, 2, 2, + 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, + 1, 2, 2, 1, 2, 2, 2, 1, 2, 2, + 2, 0, 2, 1, 2, 1, 0, 4, 0, 5, + 3, 0, 0, 0, 0, 13, 3, 1, 1, 0, + 0, 0, 9, 3, 0, 0, 0, 9, 3, 1, + 2, 2, 1, 1, 0, 5, 5, 1, 2, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 19, 1, + 2, 2, 0, 2, 0, 0, 8, 5, 0, 2, + 1, 2, 2, 1, 2, 2, 0, 1, 1, 1, + 1, 1, 1 }; @@ -3451,47 +3523,47 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 520 "rwlparser.y" /* yacc.c:1646 */ +#line 523 "rwlparser.y" /* yacc.c:1646 */ { ; // we are done! } -#line 3459 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3531 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 3: -#line 526 "rwlparser.y" /* yacc.c:1646 */ +#line 529 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) YYABORT; } -#line 3465 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3537 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 5: -#line 532 "rwlparser.y" /* yacc.c:1646 */ +#line 535 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3475 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3547 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 6: -#line 538 "rwlparser.y" /* yacc.c:1646 */ +#line 541 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3485 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3557 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 10: -#line 558 "rwlparser.y" /* yacc.c:1646 */ +#line 561 "rwlparser.y" /* yacc.c:1646 */ { rwlprintallvars(rwm); } -#line 3491 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3563 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 13: -#line 570 "rwlparser.y" /* yacc.c:1646 */ +#line 573 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) rwlcodetail(rwm); @@ -3506,11 +3578,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->codename = 0; // we are no longer compiling code rwm->codeguess = RWL_VAR_NOGUESS; } -#line 3510 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3582 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 14: -#line 586 "rwlparser.y" /* yacc.c:1646 */ +#line 589 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3518,22 +3590,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3522 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3594 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 16: -#line 595 "rwlparser.y" /* yacc.c:1646 */ +#line 598 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3533 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3605 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 18: -#line 603 "rwlparser.y" /* yacc.c:1646 */ +#line 606 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3541,83 +3613,83 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3545 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3617 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 20: -#line 612 "rwlparser.y" /* yacc.c:1646 */ +#line 615 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3555 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3627 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 22: -#line 623 "rwlparser.y" /* yacc.c:1646 */ +#line 626 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3563 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3635 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 23: -#line 627 "rwlparser.y" /* yacc.c:1646 */ +#line 630 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAST); yyerrok; } -#line 3574 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3646 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 26: -#line 640 "rwlparser.y" /* yacc.c:1646 */ +#line 643 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->sval; } -#line 3580 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3652 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 27: -#line 642 "rwlparser.y" /* yacc.c:1646 */ +#line 645 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3586 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3658 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 28: -#line 648 "rwlparser.y" /* yacc.c:1646 */ +#line 651 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3594 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3666 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 29: -#line 652 "rwlparser.y" /* yacc.c:1646 */ +#line 655 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAPROC); yyerrok; } -#line 3605 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3677 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 32: -#line 664 "rwlparser.y" /* yacc.c:1646 */ +#line 667 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->inam; } -#line 3611 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3683 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 33: -#line 666 "rwlparser.y" /* yacc.c:1646 */ +#line 669 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3617 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3689 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 34: -#line 671 "rwlparser.y" /* yacc.c:1646 */ +#line 674 "rwlparser.y" /* yacc.c:1646 */ { // add identifier sb4 ld = rwladdvar(rwm, rwm->inam, RWL_TYPE_DB, 0); @@ -3634,11 +3706,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m2flags, RWL_P2_SOMEEXPFAIL); } -#line 3638 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3710 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 35: -#line 688 "rwlparser.y" /* yacc.c:1646 */ +#line 691 "rwlparser.y" /* yacc.c:1646 */ { // fix core dump, only call builddb if everything fine if (bit(rwm->m2flags, RWL_P2_SOMEEXPFAIL)) @@ -3694,17 +3766,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m3flags, RWL_P3_GENERATE_OK); } } -#line 3698 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3770 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 36: -#line 744 "rwlparser.y" /* yacc.c:1646 */ +#line 747 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DATABASE_WRONG); yyerrok; } -#line 3704 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3776 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 38: -#line 750 "rwlparser.y" /* yacc.c:1646 */ +#line 753 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3714,11 +3786,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3718 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3790 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 43: -#line 770 "rwlparser.y" /* yacc.c:1646 */ +#line 773 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3728,20 +3800,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3732 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3804 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 44: -#line 780 "rwlparser.y" /* yacc.c:1646 */ +#line 783 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) rwm->dbsav->password = rwlstrdup(rwm, rwm->pval.sval); } -#line 3741 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3813 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 45: -#line 785 "rwlparser.y" /* yacc.c:1646 */ +#line 788 "rwlparser.y" /* yacc.c:1646 */ { if (rwlcclassgood(rwm, (rwm->pval.sval))) { @@ -3749,11 +3821,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->cclass = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3753 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3825 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 46: -#line 793 "rwlparser.y" /* yacc.c:1646 */ +#line 796 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3766,11 +3838,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3770 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3842 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 47: -#line 806 "rwlparser.y" /* yacc.c:1646 */ +#line 809 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3801,11 +3873,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3805 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3877 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 48: -#line 837 "rwlparser.y" /* yacc.c:1646 */ +#line 840 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "results", rwm->resdb); @@ -3816,11 +3888,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->resdb = rwm->dbname; } } -#line 3820 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3892 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 49: -#line 848 "rwlparser.y" /* yacc.c:1646 */ +#line 851 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "default", rwm->defdb); @@ -3869,11 +3941,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); #endif } } -#line 3873 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3945 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 50: -#line 897 "rwlparser.y" /* yacc.c:1646 */ +#line 900 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3887,11 +3959,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"connectionpool max size"; } } -#line 3891 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3963 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 52: -#line 913 "rwlparser.y" /* yacc.c:1646 */ +#line 916 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3900,11 +3972,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags, RWL_DB_CCACHUSER); } } -#line 3904 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3976 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 53: -#line 922 "rwlparser.y" /* yacc.c:1646 */ +#line 925 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3918,11 +3990,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"sessionpool max size"; } } -#line 3922 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3994 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 55: -#line 939 "rwlparser.y" /* yacc.c:1646 */ +#line 942 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3932,11 +4004,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "drcp pooled"; } } -#line 3936 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4008 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 56: -#line 949 "rwlparser.y" /* yacc.c:1646 */ +#line 952 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3946,11 +4018,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "dedicated"; } } -#line 3950 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4022 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 57: -#line 959 "rwlparser.y" /* yacc.c:1646 */ +#line 962 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3960,11 +4032,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "threads dedicated"; } } -#line 3964 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4036 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 58: -#line 969 "rwlparser.y" /* yacc.c:1646 */ +#line 972 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3974,11 +4046,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "reconnect"; } } -#line 3978 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4050 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 61: -#line 986 "rwlparser.y" /* yacc.c:1646 */ +#line 989 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "statemark",RWL_OCI_VERSION); @@ -3986,11 +4058,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_STATEMARK); #endif } -#line 3990 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4062 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 62: -#line 994 "rwlparser.y" /* yacc.c:1646 */ +#line 997 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "requestmark",RWL_OCI_VERSION); @@ -3998,11 +4070,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_REQMARK); #endif } -#line 4002 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4074 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 63: -#line 1004 "rwlparser.y" /* yacc.c:1646 */ +#line 1007 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4013,11 +4085,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4017 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4089 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 64: -#line 1015 "rwlparser.y" /* yacc.c:1646 */ +#line 1018 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4029,11 +4101,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4033 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4105 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 66: -#line 1031 "rwlparser.y" /* yacc.c:1646 */ +#line 1034 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4042,11 +4114,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , RWL_DBPOOL_DEFAULT_TIMEOUT, (text *)"release timeout"); } } -#line 4046 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4118 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 68: -#line 1044 "rwlparser.y" /* yacc.c:1646 */ +#line 1047 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) @@ -4055,20 +4127,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool wait attribute"); #endif } -#line 4059 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4131 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 71: -#line 1058 "rwlparser.y" /* yacc.c:1646 */ +#line 1061 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); } -#line 4068 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4140 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 72: -#line 1063 "rwlparser.y" /* yacc.c:1646 */ +#line 1066 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4079,11 +4151,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[0] = rwm->inam; rwlexprbeg(rwm); } -#line 4083 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4155 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 73: -#line 1074 "rwlparser.y" /* yacc.c:1646 */ +#line 1077 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; @@ -4095,27 +4167,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 4099 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4171 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 74: -#line 1091 "rwlparser.y" /* yacc.c:1646 */ +#line 1094 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4107 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4179 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 75: -#line 1098 "rwlparser.y" /* yacc.c:1646 */ +#line 1101 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4115 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4187 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 80: -#line 1114 "rwlparser.y" /* yacc.c:1646 */ +#line 1117 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4127,11 +4199,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4131 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4203 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 81: -#line 1126 "rwlparser.y" /* yacc.c:1646 */ +#line 1129 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_FUNC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) // e.g. out of space @@ -4146,11 +4218,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, at least 1 for return value */ } -#line 4150 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4222 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 82: -#line 1142 "rwlparser.y" /* yacc.c:1646 */ +#line 1145 "rwlparser.y" /* yacc.c:1646 */ { /* codeguess was set en rwlcodeaddp */ if (rwm->codeguess>=0 && rwm->dtype) @@ -4182,11 +4254,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->supsemerr = RWL_SUPSEM_FUNC; } -#line 4186 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4258 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 83: -#line 1178 "rwlparser.y" /* yacc.c:1646 */ +#line 1181 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4197,11 +4269,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4201 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4273 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 84: -#line 1189 "rwlparser.y" /* yacc.c:1646 */ +#line 1192 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_PROC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) /* e.g. out of space */ @@ -4213,54 +4285,54 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, return value space is wasted */ } -#line 4217 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4289 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 85: -#line 1202 "rwlparser.y" /* yacc.c:1646 */ +#line 1205 "rwlparser.y" /* yacc.c:1646 */ { rwm->mxq->evar[rwm->codeguess].v2val = rwm->facnt; rwm->supsemerr = RWL_SUPSEM_PROC; } -#line 4226 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4298 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 86: -#line 1210 "rwlparser.y" /* yacc.c:1646 */ +#line 1213 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4235 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4307 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 87: -#line 1215 "rwlparser.y" /* yacc.c:1646 */ +#line 1218 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4243 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4315 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 88: -#line 1222 "rwlparser.y" /* yacc.c:1646 */ +#line 1225 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4252 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4324 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 89: -#line 1227 "rwlparser.y" /* yacc.c:1646 */ +#line 1230 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4260 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4332 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 90: -#line 1234 "rwlparser.y" /* yacc.c:1646 */ +#line 1237 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) { @@ -4342,39 +4414,39 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } finishcodebody: ; } -#line 4346 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4418 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 93: -#line 1324 "rwlparser.y" /* yacc.c:1646 */ +#line 1327 "rwlparser.y" /* yacc.c:1646 */ { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) rwlprintvar(rwm->mxq, l); } -#line 4356 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4428 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 94: -#line 1332 "rwlparser.y" /* yacc.c:1646 */ +#line 1335 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4362 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4434 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 95: -#line 1333 "rwlparser.y" /* yacc.c:1646 */ +#line 1336 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4368 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4440 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 96: -#line 1336 "rwlparser.y" /* yacc.c:1646 */ +#line 1339 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_MISSING_DECL_BRACK); } -#line 4374 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4446 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 101: -#line 1348 "rwlparser.y" /* yacc.c:1646 */ +#line 1351 "rwlparser.y" /* yacc.c:1646 */ { sb4 la; if (rwm->dtype && @@ -4398,29 +4470,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4402 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4474 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 102: -#line 1376 "rwlparser.y" /* yacc.c:1646 */ +#line 1379 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4408 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4480 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 103: -#line 1378 "rwlparser.y" /* yacc.c:1646 */ +#line 1381 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4414 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4486 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 104: -#line 1380 "rwlparser.y" /* yacc.c:1646 */ +#line 1383 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4420 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4492 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 105: -#line 1382 "rwlparser.y" /* yacc.c:1646 */ +#line 1385 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -4435,50 +4507,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen=RWL_MAX_STRING_LENGTH; } } -#line 4439 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4511 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 106: -#line 1397 "rwlparser.y" /* yacc.c:1646 */ +#line 1400 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "file"); } -#line 4448 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4520 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 107: -#line 1402 "rwlparser.y" /* yacc.c:1646 */ +#line 1405 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "sql"); } -#line 4457 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4529 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 108: -#line 1407 "rwlparser.y" /* yacc.c:1646 */ +#line 1410 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "clob"); } -#line 4466 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4538 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 110: -#line 1416 "rwlparser.y" /* yacc.c:1646 */ +#line 1419 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_STATSONLY); } -#line 4472 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4544 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 111: -#line 1418 "rwlparser.y" /* yacc.c:1646 */ +#line 1421 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_PROCHASSQL); } -#line 4478 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4550 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 112: -#line 1420 "rwlparser.y" /* yacc.c:1646 */ +#line 1423 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; l = rwlfindvar(rwm->mxq, rwm->codename, RWL_VAR_NOGUESS); @@ -4494,11 +4566,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4498 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4570 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 114: -#line 1440 "rwlparser.y" /* yacc.c:1646 */ +#line 1443 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4512,11 +4584,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "procedure", rwm->codename); } } -#line 4516 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4588 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 116: -#line 1455 "rwlparser.y" /* yacc.c:1646 */ +#line 1458 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4530,11 +4602,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "function", rwm->codename); } } -#line 4534 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4606 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 118: -#line 1470 "rwlparser.y" /* yacc.c:1646 */ +#line 1473 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4549,11 +4621,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->codename); } } -#line 4553 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4625 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 120: -#line 1486 "rwlparser.y" /* yacc.c:1646 */ +#line 1489 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4569,11 +4641,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); yyerrok; } } -#line 4573 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4645 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 121: -#line 1529 "rwlparser.y" /* yacc.c:1646 */ +#line 1532 "rwlparser.y" /* yacc.c:1646 */ { /* There are cases where we have an expression followed @@ -4586,11 +4658,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam, RWL_STACK_VAR); } -#line 4590 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4662 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 122: -#line 1543 "rwlparser.y" /* yacc.c:1646 */ +#line 1546 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4604,11 +4676,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_DBL; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4608 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4680 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 123: -#line 1557 "rwlparser.y" /* yacc.c:1646 */ +#line 1560 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4622,11 +4694,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_INT; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4626 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4698 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 124: -#line 1571 "rwlparser.y" /* yacc.c:1646 */ +#line 1574 "rwlparser.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ @@ -4638,208 +4710,208 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_STR; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4642 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4714 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 125: -#line 1583 "rwlparser.y" /* yacc.c:1646 */ +#line 1586 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } -#line 4650 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4722 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 126: -#line 1586 "rwlparser.y" /* yacc.c:1646 */ +#line 1589 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_UNIFORM); } -#line 4656 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4728 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 127: -#line 1587 "rwlparser.y" /* yacc.c:1646 */ +#line 1590 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOGB); } -#line 4662 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4734 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 128: -#line 1588 "rwlparser.y" /* yacc.c:1646 */ +#line 1591 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOG); } -#line 4668 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4740 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 129: -#line 1589 "rwlparser.y" /* yacc.c:1646 */ +#line 1592 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXPB); } -#line 4674 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4746 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 130: -#line 1590 "rwlparser.y" /* yacc.c:1646 */ +#line 1593 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXP); } -#line 4680 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4752 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 131: -#line 1591 "rwlparser.y" /* yacc.c:1646 */ +#line 1594 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CEIL); } -#line 4686 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4758 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 132: -#line 1592 "rwlparser.y" /* yacc.c:1646 */ +#line 1595 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_TRUNC); } -#line 4692 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4764 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 133: -#line 1593 "rwlparser.y" /* yacc.c:1646 */ +#line 1596 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_FLOOR); } -#line 4698 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4770 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 134: -#line 1594 "rwlparser.y" /* yacc.c:1646 */ +#line 1597 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ROUND); } -#line 4704 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4776 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 135: -#line 1595 "rwlparser.y" /* yacc.c:1646 */ +#line 1598 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SQRT); } -#line 4710 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4782 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 136: -#line 1596 "rwlparser.y" /* yacc.c:1646 */ +#line 1599 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SIN); } -#line 4716 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4788 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 137: -#line 1597 "rwlparser.y" /* yacc.c:1646 */ +#line 1600 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_COS); } -#line 4722 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4794 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 138: -#line 1598 "rwlparser.y" /* yacc.c:1646 */ +#line 1601 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ATAN2); } -#line 4728 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4800 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 139: -#line 1599 "rwlparser.y" /* yacc.c:1646 */ +#line 1602 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LENGTHB); } -#line 4734 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4806 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 140: -#line 1601 "rwlparser.y" /* yacc.c:1646 */ +#line 1604 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB2); } -#line 4740 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4812 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 141: -#line 1603 "rwlparser.y" /* yacc.c:1646 */ +#line 1606 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB3); } -#line 4746 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4818 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 142: -#line 1605 "rwlparser.y" /* yacc.c:1646 */ +#line 1608 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB2); } -#line 4752 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4824 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 143: -#line 1607 "rwlparser.y" /* yacc.c:1646 */ +#line 1610 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB3); } -#line 4758 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4830 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 144: -#line 1608 "rwlparser.y" /* yacc.c:1646 */ +#line 1611 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GETENV); } -#line 4764 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4836 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 145: -#line 1609 "rwlparser.y" /* yacc.c:1646 */ +#line 1612 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2B); } -#line 4772 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4844 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 146: -#line 1612 "rwlparser.y" /* yacc.c:1646 */ +#line 1615 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2BB); } -#line 4780 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4852 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 147: -#line 1615 "rwlparser.y" /* yacc.c:1646 */ +#line 1618 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4786 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4858 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 148: -#line 1617 "rwlparser.y" /* yacc.c:1646 */ +#line 1620 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 4794 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4866 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 149: -#line 1621 "rwlparser.y" /* yacc.c:1646 */ +#line 1624 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4803 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4875 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 150: -#line 1625 "rwlparser.y" /* yacc.c:1646 */ +#line 1628 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG); } -#line 4809 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4881 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 151: -#line 1626 "rwlparser.y" /* yacc.c:1646 */ +#line 1629 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG2); } -#line 4815 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4887 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 152: -#line 1628 "rwlparser.y" /* yacc.c:1646 */ +#line 1631 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANGK); } -#line 4821 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4893 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 153: -#line 1630 "rwlparser.y" /* yacc.c:1646 */ +#line 1633 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NORMALRANDOM); } -#line 4827 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4899 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 154: -#line 1631 "rwlparser.y" /* yacc.c:1646 */ +#line 1634 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 4833 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4905 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 155: -#line 1633 "rwlparser.y" /* yacc.c:1646 */ +#line 1636 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ACCESS); } -#line 4839 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4911 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 156: -#line 1635 "rwlparser.y" /* yacc.c:1646 */ +#line 1638 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlexprpush(rwm, rwm->resdb, RWL_STACK_SERVERRELEASE); @@ -4850,11 +4922,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "results"); } } -#line 4854 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4926 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 157: -#line 1646 "rwlparser.y" /* yacc.c:1646 */ +#line 1649 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlexprpush(rwm, rwm->defdb, RWL_STACK_SERVERRELEASE); @@ -4865,92 +4937,92 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "default"); } } -#line 4869 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4941 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 158: -#line 1657 "rwlparser.y" /* yacc.c:1646 */ +#line 1660 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SERVERRELEASE); } -#line 4877 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4949 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 159: -#line 1661 "rwlparser.y" /* yacc.c:1646 */ +#line 1664 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "serverrelease"); yyerrok; } -#line 4887 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4959 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 160: -#line 1667 "rwlparser.y" /* yacc.c:1646 */ +#line 1670 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_OPENSESSIONCOUNT); } -#line 4895 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4967 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 161: -#line 1671 "rwlparser.y" /* yacc.c:1646 */ +#line 1674 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "opensessioncount"); yyerrok; } -#line 4905 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4977 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 162: -#line 1677 "rwlparser.y" /* yacc.c:1646 */ +#line 1680 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_ACTIVESESSIONCOUNT); } -#line 4913 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4985 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 163: -#line 1681 "rwlparser.y" /* yacc.c:1646 */ +#line 1684 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "activesessioncount"); yyerrok; } -#line 4923 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4995 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 164: -#line 1687 "rwlparser.y" /* yacc.c:1646 */ +#line 1690 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); } -#line 4932 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5004 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 165: -#line 1692 "rwlparser.y" /* yacc.c:1646 */ +#line 1695 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } -#line 4940 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5012 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 166: -#line 1696 "rwlparser.y" /* yacc.c:1646 */ +#line 1699 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_SQLID_NEED_IDENT); yyerrok; } -#line 4950 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5022 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 167: -#line 1703 "rwlparser.y" /* yacc.c:1646 */ +#line 1706 "rwlparser.y" /* yacc.c:1646 */ { /* element with furlev=0 is used by procedure call */ if (++rwm->furlev>=RWL_MAX_FUNC_RECURSION) @@ -4963,11 +5035,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[rwm->furlev] = (yychar == RWL_T_IDENTIFIER) ? rwm->previnam : rwm->inam; } -#line 4967 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5039 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 168: -#line 1717 "rwlparser.y" /* yacc.c:1646 */ +#line 1720 "rwlparser.y" /* yacc.c:1646 */ { /* syntactically, the number of arguments doesn't matter so we just provide the actual arg count to exprpush2 @@ -4979,139 +5051,139 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (rwm->furlev) rwm->furlev--; } -#line 4983 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5055 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 169: -#line 1729 "rwlparser.y" /* yacc.c:1646 */ +#line 1732 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "runseconds"); rwlexprpush(rwm, 0, RWL_STACK_RUNSECONDS); } -#line 4993 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5065 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 170: -#line 1735 "rwlparser.y" /* yacc.c:1646 */ +#line 1738 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "epochseconds"); rwlexprpush(rwm, 0, RWL_STACK_EPOCHSECONDS); } -#line 5003 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5075 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 176: -#line 1754 "rwlparser.y" /* yacc.c:1646 */ +#line 1757 "rwlparser.y" /* yacc.c:1646 */ { rwm->aacnt[rwm->furlev]++; } -#line 5009 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5081 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 178: -#line 1760 "rwlparser.y" /* yacc.c:1646 */ +#line 1763 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5015 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5087 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 179: -#line 1761 "rwlparser.y" /* yacc.c:1646 */ +#line 1764 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNOTNULL); } -#line 5021 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5093 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 181: -#line 1767 "rwlparser.y" /* yacc.c:1646 */ +#line 1770 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MINUS); } -#line 5027 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5099 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 182: -#line 1768 "rwlparser.y" /* yacc.c:1646 */ +#line 1771 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5033 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5105 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 183: -#line 1769 "rwlparser.y" /* yacc.c:1646 */ +#line 1772 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5039 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5111 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 185: -#line 1774 "rwlparser.y" /* yacc.c:1646 */ +#line 1777 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MUL); } -#line 5045 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5117 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 186: -#line 1775 "rwlparser.y" /* yacc.c:1646 */ +#line 1778 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_DIV); } -#line 5051 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5123 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 187: -#line 1776 "rwlparser.y" /* yacc.c:1646 */ +#line 1779 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MOD); } -#line 5057 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5129 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 189: -#line 1781 "rwlparser.y" /* yacc.c:1646 */ +#line 1784 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ADD); } -#line 5063 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5135 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 190: -#line 1782 "rwlparser.y" /* yacc.c:1646 */ +#line 1785 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUB); } -#line 5069 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5141 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 192: -#line 1787 "rwlparser.y" /* yacc.c:1646 */ +#line 1790 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESS); } -#line 5075 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5147 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 193: -#line 1788 "rwlparser.y" /* yacc.c:1646 */ +#line 1791 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATER); } -#line 5081 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5153 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 194: -#line 1789 "rwlparser.y" /* yacc.c:1646 */ +#line 1792 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } -#line 5087 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5159 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 195: -#line 1790 "rwlparser.y" /* yacc.c:1646 */ +#line 1793 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } -#line 5093 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5165 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 196: -#line 1791 "rwlparser.y" /* yacc.c:1646 */ +#line 1794 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } -#line 5099 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5171 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 198: -#line 1796 "rwlparser.y" /* yacc.c:1646 */ +#line 1799 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EQUAL); } -#line 5105 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5177 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 199: -#line 1797 "rwlparser.y" /* yacc.c:1646 */ +#line 1800 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } -#line 5111 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5183 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 201: -#line 1803 "rwlparser.y" /* yacc.c:1646 */ +#line 1806 "rwlparser.y" /* yacc.c:1646 */ { // With AND (and OR) skipdep is used to mark // the expression element we need to skip until @@ -5121,20 +5193,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-andskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5125 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5197 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 202: -#line 1813 "rwlparser.y" /* yacc.c:1646 */ +#line 1816 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; } -#line 5134 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5206 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 204: -#line 1822 "rwlparser.y" /* yacc.c:1646 */ +#line 1825 "rwlparser.y" /* yacc.c:1646 */ { // see comment above rwm->ptail->branchtype = RWL_EXP_ORBRANCH; @@ -5142,20 +5214,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-orskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5146 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5218 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 205: -#line 1830 "rwlparser.y" /* yacc.c:1646 */ +#line 1833 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR ,rwm->skipdep); rwm->skipdep--; } -#line 5155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5227 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 207: -#line 1839 "rwlparser.y" /* yacc.c:1646 */ +#line 1842 "rwlparser.y" /* yacc.c:1646 */ { // With conditional execution we mark the condition // with RWL_EXP_CONDBRANCH1 @@ -5164,50 +5236,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-condskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5168 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5240 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 208: -#line 1848 "rwlparser.y" /* yacc.c:1646 */ +#line 1851 "rwlparser.y" /* yacc.c:1646 */ { // and the place of ':' (really ELSE) with // RWL_EXP_CONDBRANCH2 rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; rwm->ptail->skipnxt = rwm->skipdep; } -#line 5179 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5251 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 209: -#line 1855 "rwlparser.y" /* yacc.c:1646 */ +#line 1858 "rwlparser.y" /* yacc.c:1646 */ { // And the actual conditional is the "end if" place rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, rwm->skipdep); rwm->skipdep--; } -#line 5189 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5261 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 211: -#line 1864 "rwlparser.y" /* yacc.c:1646 */ +#line 1867 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5195 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5267 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 213: -#line 1869 "rwlparser.y" /* yacc.c:1646 */ +#line 1872 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5201 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5273 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 215: -#line 1880 "rwlparser.y" /* yacc.c:1646 */ +#line 1883 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = 0; } -#line 5207 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5279 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 216: -#line 1885 "rwlparser.y" /* yacc.c:1646 */ +#line 1888 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) { @@ -5215,65 +5287,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); YYACCEPT; } } -#line 5219 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5291 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 217: -#line 1893 "rwlparser.y" /* yacc.c:1646 */ +#line 1896 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5225 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5297 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 218: -#line 1895 "rwlparser.y" /* yacc.c:1646 */ +#line 1898 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "threads"); yyerrok; } -#line 5231 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5303 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 220: -#line 1902 "rwlparser.y" /* yacc.c:1646 */ +#line 1905 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5237 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5309 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 221: -#line 1904 "rwlparser.y" /* yacc.c:1646 */ +#line 1907 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "run"); yyerrok; } -#line 5243 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5315 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 223: -#line 1908 "rwlparser.y" /* yacc.c:1646 */ +#line 1911 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5249 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5321 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 224: -#line 1910 "rwlparser.y" /* yacc.c:1646 */ +#line 1913 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "database"); yyerrok; } -#line 5255 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5327 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 225: -#line 1912 "rwlparser.y" /* yacc.c:1646 */ +#line 1915 "rwlparser.y" /* yacc.c:1646 */ { yyerrok ; } -#line 5261 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5333 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 226: -#line 1915 "rwlparser.y" /* yacc.c:1646 */ +#line 1918 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random procedure array"); yyerrok; } -#line 5267 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5339 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 227: -#line 1918 "rwlparser.y" /* yacc.c:1646 */ +#line 1921 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random string array"); yyerrok; } -#line 5273 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5345 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 228: -#line 1923 "rwlparser.y" /* yacc.c:1646 */ +#line 1926 "rwlparser.y" /* yacc.c:1646 */ { switch(rwm->supsemerr) { @@ -5302,11 +5374,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 5306 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5378 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 229: -#line 1952 "rwlparser.y" /* yacc.c:1646 */ +#line 1955 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5321,37 +5393,52 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_ABORT); } } -#line 5325 "rwlparser.tab.c" /* yacc.c:1646 */ - break; - - case 232: -#line 1973 "rwlparser.y" /* yacc.c:1646 */ - { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } -#line 5331 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5397 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 234: -#line 1980 "rwlparser.y" /* yacc.c:1646 */ - { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } -#line 5337 "rwlparser.tab.c" /* yacc.c:1646 */ - break; - - case 236: -#line 1986 "rwlparser.y" /* yacc.c:1646 */ - { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } -#line 5343 "rwlparser.tab.c" /* yacc.c:1646 */ + case 230: +#line 1970 "rwlparser.y" /* yacc.c:1646 */ + { + if (!rwm->codename) + { + rwlerror(rwm, RWL_ERROR_NOSTATS_NO_EFFECT); + } + else + { + rwlcodeadd0(rwm, RWL_CODE_NOSTATISTICS); + } + } +#line 5412 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 233: +#line 1987 "rwlparser.y" /* yacc.c:1646 */ + { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } +#line 5418 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 235: +#line 1994 "rwlparser.y" /* yacc.c:1646 */ + { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } +#line 5424 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 237: -#line 1988 "rwlparser.y" /* yacc.c:1646 */ +#line 2000 "rwlparser.y" /* yacc.c:1646 */ + { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } +#line 5430 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 238: +#line 2002 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; } -#line 5351 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5438 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 239: -#line 1994 "rwlparser.y" /* yacc.c:1646 */ + case 240: +#line 2008 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) rwm->declslen = 1; // kind of a kludge, but this prevents doube @@ -5361,33 +5448,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen = rwm->pval.ival; } } -#line 5365 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5452 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 241: -#line 2008 "rwlparser.y" /* yacc.c:1646 */ + case 242: +#line 2022 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_STR); yyerrok; } -#line 5371 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5458 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 242: -#line 2010 "rwlparser.y" /* yacc.c:1646 */ + case 243: +#line 2024 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_FILE; //if (rwm->codename) // rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "file"); } -#line 5381 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5468 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 244: -#line 2019 "rwlparser.y" /* yacc.c:1646 */ + case 245: +#line 2033 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_FILE); yyerrok; } -#line 5387 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5474 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 245: -#line 2024 "rwlparser.y" /* yacc.c:1646 */ + case 246: +#line 2038 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5408,11 +5495,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5412 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5499 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 246: -#line 2047 "rwlparser.y" /* yacc.c:1646 */ + case 247: +#line 2061 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5435,17 +5522,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5439 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5526 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 247: -#line 2071 "rwlparser.y" /* yacc.c:1646 */ + case 248: +#line 2085 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rslerror) rwlcodeadd0(rwm, RWL_CODE_ELSE); } -#line 5445 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5532 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 248: -#line 2074 "rwlparser.y" /* yacc.c:1646 */ + case 249: +#line 2088 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5466,11 +5553,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5470 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5557 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 249: -#line 2097 "rwlparser.y" /* yacc.c:1646 */ + case 250: +#line 2111 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* start expression */ @@ -5507,11 +5594,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlexprbeg(rwm); } -#line 5511 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5598 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 250: -#line 2138 "rwlparser.y" /* yacc.c:1646 */ + case 251: +#line 2152 "rwlparser.y" /* yacc.c:1646 */ { switch (rwm->rsllityp[rwm->rsldepth]) { @@ -5579,65 +5666,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->rsldepth, rwm->rslmisc[rwm->rsldepth]); } } -#line 5583 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5670 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 251: -#line 2207 "rwlparser.y" /* yacc.c:1646 */ + case 252: +#line 2221 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwm->rsllityp[rwm->rsldepth] = RWL_LI_BAD; yyerrok; } -#line 5593 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5680 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 252: -#line 2214 "rwlparser.y" /* yacc.c:1646 */ + case 253: +#line 2228 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 5599 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5686 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 254: -#line 2217 "rwlparser.y" /* yacc.c:1646 */ + case 255: +#line 2231 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 5607 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5694 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 256: -#line 2222 "rwlparser.y" /* yacc.c:1646 */ + case 257: +#line 2236 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprclear(rwm); } -#line 5616 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5703 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 257: -#line 2227 "rwlparser.y" /* yacc.c:1646 */ + case 258: +#line 2241 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 5627 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5714 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 259: -#line 2236 "rwlparser.y" /* yacc.c:1646 */ + case 260: +#line 2250 "rwlparser.y" /* yacc.c:1646 */ { /* start expression for assign */ rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 5637 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5724 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 261: -#line 2245 "rwlparser.y" /* yacc.c:1646 */ + case 262: +#line 2259 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) rwlerror(rwm, RWL_ERROR_RETURN_OUTSIDE_CODE); @@ -5649,20 +5736,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_RETURN_NO_EXPR, rwm->codename); } } -#line 5653 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5740 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 262: -#line 2257 "rwlparser.y" /* yacc.c:1646 */ + case 263: +#line 2271 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5662 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5749 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 263: -#line 2262 "rwlparser.y" /* yacc.c:1646 */ + case 264: +#line 2276 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5691,30 +5778,30 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeaddpu(rwm, RWL_CODE_RETURN, rwm->codename, rwm->codeguess); } } -#line 5695 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5782 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 265: -#line 2291 "rwlparser.y" /* yacc.c:1646 */ + case 266: +#line 2305 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5705 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5792 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 266: -#line 2298 "rwlparser.y" /* yacc.c:1646 */ + case 267: +#line 2312 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5714 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5801 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 267: -#line 2303 "rwlparser.y" /* yacc.c:1646 */ + case 268: +#line 2317 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5743,21 +5830,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5747 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5834 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 269: -#line 2333 "rwlparser.y" /* yacc.c:1646 */ + case 270: +#line 2347 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5757 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5844 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 270: -#line 2341 "rwlparser.y" /* yacc.c:1646 */ + case 271: +#line 2355 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5771,11 +5858,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5775 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5862 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 271: -#line 2355 "rwlparser.y" /* yacc.c:1646 */ + case 272: +#line 2369 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbnam = rwm->inam; rwm->mdbvar = rwlfindvar2(rwm->mxq, rwm->mdbnam, RWL_VAR_NOGUESS, rwm->codename); @@ -5786,11 +5873,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mdbvar = RWL_VAR_INVALID; } } -#line 5790 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5877 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 273: -#line 2369 "rwlparser.y" /* yacc.c:1646 */ + case 274: +#line 2383 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5804,11 +5891,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5808 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5895 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 274: -#line 2385 "rwlparser.y" /* yacc.c:1646 */ + case 275: +#line 2399 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5818,29 +5905,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlcodeadd0(rwm, RWL_CODE_MODDBLEAK); } -#line 5822 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5909 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 275: -#line 2396 "rwlparser.y" /* yacc.c:1646 */ + case 276: +#line 2410 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 5831 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5918 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 276: -#line 2402 "rwlparser.y" /* yacc.c:1646 */ + case 277: +#line 2416 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 5840 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5927 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 277: -#line 2408 "rwlparser.y" /* yacc.c:1646 */ + case 278: +#line 2422 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_COMMIT); @@ -5851,11 +5938,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcommit(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 5855 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5942 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 278: -#line 2420 "rwlparser.y" /* yacc.c:1646 */ + case 279: +#line 2434 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_ROLLBACK); @@ -5866,11 +5953,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlrollback(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 5870 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5957 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 279: -#line 2432 "rwlparser.y" /* yacc.c:1646 */ + case 280: +#line 2446 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SHIFT); @@ -5878,11 +5965,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlshiftdollar(rwm->mxq, &rwm->loc); } -#line 5882 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5969 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 280: -#line 2441 "rwlparser.y" /* yacc.c:1646 */ + case 281: +#line 2455 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_GETRUSAGE); @@ -5890,11 +5977,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlgetrusage(rwm->mxq, 0); } -#line 5894 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5981 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 281: -#line 2450 "rwlparser.y" /* yacc.c:1646 */ + case 282: +#line 2464 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlinam = rwm->inam; rwm->mqbdtyp = 0; rwm->modsqlvar = rwlfindvar2(rwm->mxq, rwm->msqlinam, RWL_VAR_NOGUESS, rwm->codename); @@ -5905,17 +5992,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->modsqlvar = RWL_VAR_INVALID; } } -#line 5909 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5996 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 283: -#line 2463 "rwlparser.y" /* yacc.c:1646 */ + case 284: +#line 2477 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } -#line 5915 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6002 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 284: -#line 2468 "rwlparser.y" /* yacc.c:1646 */ + case 285: +#line 2482 "rwlparser.y" /* yacc.c:1646 */ { /* handle procedure call with arguments * as if it were a function call @@ -5945,11 +6032,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); : rwm->inam; rwlexprbeg(rwm); } -#line 5949 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6036 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 285: -#line 2500 "rwlparser.y" /* yacc.c:1646 */ + case 286: +#line 2514 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6034,22 +6121,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprclear(rwm); } } -#line 6038 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6125 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 286: -#line 2585 "rwlparser.y" /* yacc.c:1646 */ + case 287: +#line 2599 "rwlparser.y" /* yacc.c:1646 */ { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); rwlexprclear(rwm); yyerrok; } -#line 6049 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6136 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 287: -#line 2592 "rwlparser.y" /* yacc.c:1646 */ + case 288: +#line 2606 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6064,29 +6151,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 6068 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6155 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 290: -#line 2611 "rwlparser.y" /* yacc.c:1646 */ + case 291: +#line 2625 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = RWL_SUPSEM_EMBSQL; } -#line 6074 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6161 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 294: -#line 2617 "rwlparser.y" /* yacc.c:1646 */ + case 295: +#line 2631 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6080 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6167 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 295: -#line 2619 "rwlparser.y" /* yacc.c:1646 */ + case 296: +#line 2633 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6086 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6173 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 298: -#line 2625 "rwlparser.y" /* yacc.c:1646 */ + case 299: +#line 2639 "rwlparser.y" /* yacc.c:1646 */ { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below @@ -6169,11 +6256,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); --rwm->rsldepth; } } -#line 6173 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6260 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 299: -#line 2710 "rwlparser.y" /* yacc.c:1646 */ + case 300: +#line 2724 "rwlparser.y" /* yacc.c:1646 */ { --rwm->rsldepth; if (rwm->rslerror) @@ -6202,11 +6289,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6206 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6293 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 300: -#line 2740 "rwlparser.y" /* yacc.c:1646 */ + case 301: +#line 2754 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6238,20 +6325,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_INCORRECT_TYPE2, rwm->mxq->evar[l].stype, rwm->inam, "file"); } } -#line 6242 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6329 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 301: -#line 2773 "rwlparser.y" /* yacc.c:1646 */ + case 302: +#line 2787 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_FFLUSH); yyerrok; } -#line 6251 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6338 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 302: -#line 2780 "rwlparser.y" /* yacc.c:1646 */ + case 303: +#line 2794 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6274,11 +6361,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 6278 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6365 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 303: -#line 2805 "rwlparser.y" /* yacc.c:1646 */ + case 304: +#line 2819 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) { @@ -6307,11 +6394,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 6311 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6398 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 304: -#line 2836 "rwlparser.y" /* yacc.c:1646 */ + case 305: +#line 2850 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -6330,88 +6417,88 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6334 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6421 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 310: -#line 2864 "rwlparser.y" /* yacc.c:1646 */ + case 311: +#line 2878 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6345 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6432 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 312: -#line 2873 "rwlparser.y" /* yacc.c:1646 */ + case 313: +#line 2887 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_STRING_FOR_SPRINTF); rwlexprclear(rwm); yyerrok; } -#line 6356 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6443 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 314: -#line 2882 "rwlparser.y" /* yacc.c:1646 */ + case 315: +#line 2896 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6367 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6454 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 316: -#line 2892 "rwlparser.y" /* yacc.c:1646 */ + case 317: +#line 2906 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document this syntax without comma if (rwm->filenam) rwlerror(rwm, RWL_ERROR_COMMA_IS_RECOMMENDED, rwm->filenam , bit(rwm->mflags,RWL_P_PRINTLINE) ? "writeline" : "write"); } -#line 6378 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6465 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 319: -#line 2904 "rwlparser.y" /* yacc.c:1646 */ + case 320: +#line 2918 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6389 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6476 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 320: -#line 2912 "rwlparser.y" /* yacc.c:1646 */ + case 321: +#line 2926 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6400 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6487 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 321: -#line 2920 "rwlparser.y" /* yacc.c:1646 */ + case 322: +#line 2934 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6411 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6498 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 322: -#line 2928 "rwlparser.y" /* yacc.c:1646 */ + case 323: +#line 2942 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_NEWLINE); @@ -6419,22 +6506,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); fputs(bit(rwm->m4flags, RWL_P4_CRNLWRITELINE) ? "\r\n" : "\n", stdout); bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 6423 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6510 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 324: -#line 2938 "rwlparser.y" /* yacc.c:1646 */ + case 325: +#line 2952 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6434 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6521 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 326: -#line 2946 "rwlparser.y" /* yacc.c:1646 */ + case 327: +#line 2960 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6445,11 +6532,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_CQNBREAK); } } -#line 6449 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6536 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 327: -#line 2957 "rwlparser.y" /* yacc.c:1646 */ + case 328: +#line 2971 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6484,11 +6571,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6488 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6575 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 328: -#line 2993 "rwlparser.y" /* yacc.c:1646 */ + case 329: +#line 3007 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6524,11 +6611,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6528 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6615 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 329: -#line 3030 "rwlparser.y" /* yacc.c:1646 */ + case 330: +#line 3044 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6567,11 +6654,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_DONE_IN_MAIN, "writelob"); } } -#line 6571 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6658 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 330: -#line 3070 "rwlparser.y" /* yacc.c:1646 */ + case 331: +#line 3084 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_CBLOCK)) { @@ -6588,11 +6675,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m2flags, RWL_P2_THROPTS); /* clear all thread option flas */ bis(rwm->m2flags, RWL_P2_CBLOCK); } -#line 6592 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6679 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 331: -#line 3087 "rwlparser.y" /* yacc.c:1646 */ + case 332: +#line 3101 "rwlparser.y" /* yacc.c:1646 */ { if(!rwm->stoptime && !rwm->stopcount) { @@ -6613,11 +6700,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 6617 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6704 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 332: -#line 3110 "rwlparser.y" /* yacc.c:1646 */ + case 333: +#line 3124 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_CBLOCK_BAD)) rwlloopfinish(rwm); @@ -6635,26 +6722,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6639 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6726 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 333: -#line 3129 "rwlparser.y" /* yacc.c:1646 */ + case 334: +#line 3143 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_AFTER_IDENTIFIER); yyerrok; } -#line 6648 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6735 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 334: -#line 3136 "rwlparser.y" /* yacc.c:1646 */ + case 335: +#line 3150 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 6654 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6741 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 335: -#line 3142 "rwlparser.y" /* yacc.c:1646 */ + case 336: +#line 3156 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6678,28 +6765,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6682 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6769 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 336: -#line 3166 "rwlparser.y" /* yacc.c:1646 */ + case 337: +#line 3180 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobwritedata = rwlexprfinish(rwm); rwm->loboffset = 0; } -#line 6691 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6778 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 338: -#line 3175 "rwlparser.y" /* yacc.c:1646 */ + case 339: +#line 3189 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6699 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6786 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 339: -#line 3182 "rwlparser.y" /* yacc.c:1646 */ + case 340: +#line 3196 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6722,11 +6809,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6726 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6813 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 340: -#line 3205 "rwlparser.y" /* yacc.c:1646 */ + case 341: +#line 3219 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->loboffset = 0; @@ -6748,27 +6835,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6752 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6839 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 342: -#line 3231 "rwlparser.y" /* yacc.c:1646 */ + case 343: +#line 3245 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobreadlength = rwlexprfinish(rwm); } -#line 6760 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6847 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 343: -#line 3235 "rwlparser.y" /* yacc.c:1646 */ + case 344: +#line 3249 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6768 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6855 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 344: -#line 3241 "rwlparser.y" /* yacc.c:1646 */ + case 345: +#line 3255 "rwlparser.y" /* yacc.c:1646 */ { /* simple sql execute */ sb4 l; @@ -6914,11 +7001,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->loc.errlin = 0; } -#line 6918 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7005 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 345: -#line 3391 "rwlparser.y" /* yacc.c:1646 */ + case 346: +#line 3405 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; @@ -7028,11 +7115,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); failurecursor: rwm->loc.errlin = 0; } -#line 7032 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7119 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 346: -#line 3503 "rwlparser.y" /* yacc.c:1646 */ + case 347: +#line 3517 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -7065,27 +7152,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->loc.errlin = 0; } -#line 7069 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7156 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 347: -#line 3539 "rwlparser.y" /* yacc.c:1646 */ + case 348: +#line 3553 "rwlparser.y" /* yacc.c:1646 */ { // This syntax is not documented bic(rwm->m3flags, RWL_P3_CLHEADFOR); rwlerror(rwm, RWL_ERROR_LEGACY_CONTROLLOOP_SYNTAX); } -#line 7079 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7166 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 348: -#line 3544 "rwlparser.y" /* yacc.c:1646 */ + case 349: +#line 3558 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7085 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7172 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 349: -#line 3548 "rwlparser.y" /* yacc.c:1646 */ + case 350: +#line 3562 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document these two (legacy) syntax: // loop option .. .. ; @@ -7098,41 +7185,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // legacy and current syntax are mixed. bic(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7102 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7189 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 350: -#line 3564 "rwlparser.y" /* yacc.c:1646 */ + case 351: +#line 3578 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7110 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7197 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 351: -#line 3568 "rwlparser.y" /* yacc.c:1646 */ + case 352: +#line 3582 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7118 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7205 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 352: -#line 3572 "rwlparser.y" /* yacc.c:1646 */ + case 353: +#line 3586 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7126 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7213 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 355: -#line 3583 "rwlparser.y" /* yacc.c:1646 */ + case 356: +#line 3597 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7132 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7219 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 356: -#line 3585 "rwlparser.y" /* yacc.c:1646 */ + case 357: +#line 3599 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->starttime) { @@ -7145,17 +7232,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->starttime = rwlexprfinish(rwm); } } -#line 7149 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7236 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 357: -#line 3597 "rwlparser.y" /* yacc.c:1646 */ + case 358: +#line 3611 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7242 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 358: -#line 3599 "rwlparser.y" /* yacc.c:1646 */ + case 359: +#line 3613 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7170,17 +7257,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bis(rwm->m2flags, RWL_P2_STOP); } } -#line 7174 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7261 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 359: -#line 3613 "rwlparser.y" /* yacc.c:1646 */ + case 360: +#line 3627 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7180 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7267 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 360: -#line 3615 "rwlparser.y" /* yacc.c:1646 */ + case 361: +#line 3629 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7195,17 +7282,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bic(rwm->m2flags, RWL_P2_STOP); } } -#line 7199 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7286 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 361: -#line 3629 "rwlparser.y" /* yacc.c:1646 */ + case 362: +#line 3643 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7205 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7292 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 362: -#line 3631 "rwlparser.y" /* yacc.c:1646 */ + case 363: +#line 3645 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7218,17 +7305,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->waittime = rwlexprfinish(rwm); } } -#line 7222 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7309 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 363: -#line 3643 "rwlparser.y" /* yacc.c:1646 */ + case 364: +#line 3657 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7228 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7315 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 364: -#line 3645 "rwlparser.y" /* yacc.c:1646 */ + case 365: +#line 3659 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7254,55 +7341,55 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->everytime = rwlexprfinish(rwm); } } -#line 7258 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7345 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 365: -#line 3674 "rwlparser.y" /* yacc.c:1646 */ + case 366: +#line 3688 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = 0; } -#line 7264 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7351 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 366: -#line 3675 "rwlparser.y" /* yacc.c:1646 */ + case 367: +#line 3689 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_QUEUE_EVERY; } -#line 7270 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7357 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 367: -#line 3676 "rwlparser.y" /* yacc.c:1646 */ + case 368: +#line 3690 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_NOQUEUE_EVERY; } -#line 7276 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7363 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 368: -#line 3680 "rwlparser.y" /* yacc.c:1646 */ + case 369: +#line 3694 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7285 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7372 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 369: -#line 3685 "rwlparser.y" /* yacc.c:1646 */ + case 370: +#line 3699 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7294 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7381 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 370: -#line 3690 "rwlparser.y" /* yacc.c:1646 */ + case 371: +#line 3704 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7302 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7389 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 371: -#line 3694 "rwlparser.y" /* yacc.c:1646 */ + case 372: +#line 3708 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); // lookahead may have consumed the next identifier @@ -7310,20 +7397,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam; } -#line 7314 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7401 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 372: -#line 3702 "rwlparser.y" /* yacc.c:1646 */ + case 373: +#line 3716 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7323 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7410 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 373: -#line 3711 "rwlparser.y" /* yacc.c:1646 */ + case 374: +#line 3725 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; rwm->sqllino = rwm->sqltlin; // the line where we started sql scan @@ -7338,11 +7425,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->scname = rwm->sqname = rwlstrdup(rwm, sqlnam); rwm->sqllen = 0; } -#line 7342 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7429 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 374: -#line 3726 "rwlparser.y" /* yacc.c:1646 */ + case 375: +#line 3740 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); @@ -7370,11 +7457,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); rwm->sqlfile = 0; /* not from a file */ } -#line 7374 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7461 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 375: -#line 3758 "rwlparser.y" /* yacc.c:1646 */ + case 376: +#line 3772 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; snprintf((char *)sqlnam, sizeof(sqlnam), "sql#%05d", rwm->mxq->varcount); @@ -7388,11 +7475,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->msqlstk = 0; } -#line 7392 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7479 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 376: -#line 3773 "rwlparser.y" /* yacc.c:1646 */ + case 377: +#line 3787 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMEDSQL); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); @@ -7400,11 +7487,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (bit(rwm->m3flags,RWL_P3_IMPLCASE)) bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); } -#line 7404 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7491 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 377: -#line 3782 "rwlparser.y" /* yacc.c:1646 */ + case 378: +#line 3796 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_IMMISDYN) && bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -7441,26 +7528,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); cannotdoimm: ; } -#line 7445 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7532 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 379: -#line 3820 "rwlparser.y" /* yacc.c:1646 */ + case 380: +#line 3834 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG) ; yyerrok; } -#line 7454 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7541 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 381: -#line 3828 "rwlparser.y" /* yacc.c:1646 */ + case 382: +#line 3842 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7460 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7547 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 382: -#line 3829 "rwlparser.y" /* yacc.c:1646 */ + case 383: +#line 3843 "rwlparser.y" /* yacc.c:1646 */ { if ((rwm->msqlstk = rwlexprfinish(rwm))) bis(rwm->m3flags, RWL_P3_IMMISDYN); // now dynamic @@ -7470,99 +7557,99 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 7474 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7561 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 383: -#line 3841 "rwlparser.y" /* yacc.c:1646 */ + case 384: +#line 3855 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno; } -#line 7482 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7569 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 387: -#line 3850 "rwlparser.y" /* yacc.c:1646 */ + case 388: +#line 3864 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "sql") ; } -#line 7490 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7577 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 390: -#line 3861 "rwlparser.y" /* yacc.c:1646 */ + case 391: +#line 3875 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7498 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7585 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 391: -#line 3865 "rwlparser.y" /* yacc.c:1646 */ + case 392: +#line 3879 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7507 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7594 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 392: -#line 3873 "rwlparser.y" /* yacc.c:1646 */ + case 393: +#line 3887 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7515 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7602 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 393: -#line 3877 "rwlparser.y" /* yacc.c:1646 */ + case 394: +#line 3891 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7523 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7610 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 394: -#line 3881 "rwlparser.y" /* yacc.c:1646 */ + case 395: +#line 3895 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7532 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7619 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 396: -#line 3891 "rwlparser.y" /* yacc.c:1646 */ + case 397: +#line 3905 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = 0; bis(rwm->m2flags, RWL_P2_ATDEFAULT); /* explict choose standard DB */ } -#line 7541 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7628 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 397: -#line 3897 "rwlparser.y" /* yacc.c:1646 */ + case 398: +#line 3911 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); /* named DB */ } -#line 7550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7637 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 398: -#line 3902 "rwlparser.y" /* yacc.c:1646 */ + case 399: +#line 3916 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_DATABASE_NAME); yyerrok; } -#line 7556 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7643 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 399: -#line 3904 "rwlparser.y" /* yacc.c:1646 */ + case 400: +#line 3918 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 7562 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7649 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 402: -#line 3912 "rwlparser.y" /* yacc.c:1646 */ + case 403: +#line 3926 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename || bit(rwm->addvarbits,RWL_IDENT_PRIVATE)) { @@ -7588,11 +7675,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 7592 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7679 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 403: -#line 3938 "rwlparser.y" /* yacc.c:1646 */ + case 404: +#line 3952 "rwlparser.y" /* yacc.c:1646 */ { // if compiling first file, see if there is a user arg if (bit(rwm->m2flags, RWL_P2_SCANFIRST) && rwm->decvarn >= 0) @@ -7665,20 +7752,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); donewithuserarg: ; } -#line 7669 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7756 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 405: -#line 4015 "rwlparser.y" /* yacc.c:1646 */ + case 406: +#line 4029 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 7678 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7765 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 406: -#line 4020 "rwlparser.y" /* yacc.c:1646 */ + case 407: +#line 4034 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->dtype) @@ -7725,11 +7812,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 7729 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7816 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 411: -#line 4083 "rwlparser.y" /* yacc.c:1646 */ + case 412: +#line 4097 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7744,22 +7831,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_IF, estk); } -#line 7748 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7835 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 412: -#line 4098 "rwlparser.y" /* yacc.c:1646 */ + case 413: +#line 4112 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7759 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7846 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 413: -#line 4107 "rwlparser.y" /* yacc.c:1646 */ + case 414: +#line 4121 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7774,38 +7861,38 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_ELSEIF, estk); } -#line 7778 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7865 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 414: -#line 4122 "rwlparser.y" /* yacc.c:1646 */ + case 415: +#line 4136 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7789 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7876 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 415: -#line 4131 "rwlparser.y" /* yacc.c:1646 */ + case 416: +#line 4145 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LEGACY_WHILE_SYNTAX); } -#line 7797 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7884 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 416: -#line 4135 "rwlparser.y" /* yacc.c:1646 */ + case 417: +#line 4149 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_WHILOP); } -#line 7805 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7892 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 417: -#line 4141 "rwlparser.y" /* yacc.c:1646 */ + case 418: +#line 4155 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7822,33 +7909,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 7826 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7913 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 418: -#line 4158 "rwlparser.y" /* yacc.c:1646 */ + case 419: +#line 4172 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7837 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7924 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 419: -#line 4165 "rwlparser.y" /* yacc.c:1646 */ + case 420: +#line 4179 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_KEYWORD, "loop"); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7848 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7935 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 424: -#line 4182 "rwlparser.y" /* yacc.c:1646 */ + case 425: +#line 4196 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -7864,120 +7951,120 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); nothreadssum: ; } -#line 7868 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7955 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 425: -#line 4198 "rwlparser.y" /* yacc.c:1646 */ + case 426: +#line 4212 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlerror(rwm, RWL_ERROR_NO_LOCAL_SUMGLOB); else bis(rwm->addvarbits,RWL_IDENT_GLOBAL); } -#line 7879 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7966 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 426: -#line 4208 "rwlparser.y" /* yacc.c:1646 */ + case 427: +#line 4222 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 7889 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7976 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 427: -#line 4214 "rwlparser.y" /* yacc.c:1646 */ + case 428: +#line 4228 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 7898 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7985 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 428: -#line 4222 "rwlparser.y" /* yacc.c:1646 */ + case 429: +#line 4236 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 7908 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7995 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 429: -#line 4228 "rwlparser.y" /* yacc.c:1646 */ + case 430: +#line 4242 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 7917 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8004 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 430: -#line 4236 "rwlparser.y" /* yacc.c:1646 */ + case 431: +#line 4250 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 7927 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8014 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 431: -#line 4242 "rwlparser.y" /* yacc.c:1646 */ + case 432: +#line 4256 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 7936 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8023 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 432: -#line 4250 "rwlparser.y" /* yacc.c:1646 */ + case 433: +#line 4264 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 7945 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8032 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 433: -#line 4255 "rwlparser.y" /* yacc.c:1646 */ + case 434: +#line 4269 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 7953 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8040 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 434: -#line 4261 "rwlparser.y" /* yacc.c:1646 */ + case 435: +#line 4275 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_CLOB; } -#line 7959 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8046 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 435: -#line 4262 "rwlparser.y" /* yacc.c:1646 */ + case 436: +#line 4276 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_BLOB; } -#line 7965 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8052 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 436: -#line 4263 "rwlparser.y" /* yacc.c:1646 */ + case 437: +#line 4277 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_NCLOB; } -#line 7971 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8058 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 437: -#line 4267 "rwlparser.y" /* yacc.c:1646 */ + case 438: +#line 4281 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 7977 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8064 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 438: -#line 4268 "rwlparser.y" /* yacc.c:1646 */ + case 439: +#line 4282 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -7987,25 +8074,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 7991 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8078 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 440: -#line 4279 "rwlparser.y" /* yacc.c:1646 */ + case 441: +#line 4293 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 7999 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8086 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 441: -#line 4282 "rwlparser.y" /* yacc.c:1646 */ + case 442: +#line 4296 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8005 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8092 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 442: -#line 4283 "rwlparser.y" /* yacc.c:1646 */ + case 443: +#line 4297 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bic(rwm->m2flags, RWL_P2_BADSQLFILTXT); @@ -8014,19 +8101,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8018 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8105 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 444: -#line 4293 "rwlparser.y" /* yacc.c:1646 */ + case 445: +#line 4307 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8026 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8113 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 447: -#line 4303 "rwlparser.y" /* yacc.c:1646 */ + case 448: +#line 4317 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; @@ -8072,11 +8159,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8076 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8163 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 448: -#line 4350 "rwlparser.y" /* yacc.c:1646 */ + case 449: +#line 4364 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; @@ -8107,11 +8194,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_SQL_ARRAY_AND_IGNERR); } -#line 8111 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8198 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 449: -#line 4384 "rwlparser.y" /* yacc.c:1646 */ + case 450: +#line 4398 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -8120,11 +8207,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 8124 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8211 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 451: -#line 4397 "rwlparser.y" /* yacc.c:1646 */ + case 452: +#line 4411 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; ub4 iflag = bit(rwm->m3flags, RWL_P3_IMMEDSQL) ? RWL_IDENT_INTERNAL : 0; @@ -8198,11 +8285,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8202 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8289 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 452: -#line 4475 "rwlparser.y" /* yacc.c:1646 */ + case 453: +#line 4489 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; ub4 notyetcount = 0; @@ -8295,53 +8382,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8299 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8386 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 456: -#line 4578 "rwlparser.y" /* yacc.c:1646 */ + case 457: +#line 4592 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BIND); yyerrok; } -#line 8305 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8392 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 458: -#line 4582 "rwlparser.y" /* yacc.c:1646 */ + case 459: +#line 4596 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BINDOUT); yyerrok; } -#line 8311 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8398 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 460: -#line 4586 "rwlparser.y" /* yacc.c:1646 */ + case 461: +#line 4600 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DEFINE); yyerrok; } -#line 8317 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8404 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 461: -#line 4588 "rwlparser.y" /* yacc.c:1646 */ + case 462: +#line 4602 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_IGNERR); } -#line 8325 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8412 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 462: -#line 4592 "rwlparser.y" /* yacc.c:1646 */ + case 463: +#line 4606 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8333 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8420 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 463: -#line 4596 "rwlparser.y" /* yacc.c:1646 */ + case 464: +#line 4610 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8341 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8428 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 464: -#line 4601 "rwlparser.y" /* yacc.c:1646 */ + case 465: +#line 4615 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) { @@ -8359,34 +8446,34 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqsav->asiz = (ub4)rwm->pval.ival; } } -#line 8363 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8450 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 465: -#line 4620 "rwlparser.y" /* yacc.c:1646 */ + case 466: +#line 4634 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ARRAY); yyerrok; } -#line 8369 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8456 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 466: -#line 4625 "rwlparser.y" /* yacc.c:1646 */ + case 467: +#line 4639 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON_IN_SQL); } -#line 8375 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8462 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 469: -#line 4631 "rwlparser.y" /* yacc.c:1646 */ + case 470: +#line 4645 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQFLAG_DYNAMIC)) rwlerror(rwm, RWL_ERROR_DEFINE_ARRAY_NOT_DYNAMIC); else bis(rwm->sqsav->flags, RWL_SQFLAG_ARRAYD); } -#line 8386 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8473 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 472: -#line 4645 "rwlparser.y" /* yacc.c:1646 */ + case 473: +#line 4659 "rwlparser.y" /* yacc.c:1646 */ { // Note that it would not be too hard to replace // the integer constant here by an expression @@ -8394,27 +8481,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // can be done with modify sql for dynamic sql rwm->bdpos = rwm->ival; rwm->bdtyp=RWL_DEFINE; } -#line 8398 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8485 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 474: -#line 4654 "rwlparser.y" /* yacc.c:1646 */ + case 475: +#line 4668 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "define"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); } -#line 8408 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8495 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 477: -#line 4668 "rwlparser.y" /* yacc.c:1646 */ + case 478: +#line 4682 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BINDOUT_NAME; } -#line 8414 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8501 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 479: -#line 4670 "rwlparser.y" /* yacc.c:1646 */ + case 480: +#line 4684 "rwlparser.y" /* yacc.c:1646 */ { // We could also use expression here, but we would // of course need to check it was either a non-negative number @@ -8422,61 +8509,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BINDOUT_POS; } -#line 8426 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8513 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 481: -#line 4678 "rwlparser.y" /* yacc.c:1646 */ + case 482: +#line 4692 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BINDOUT_SAME; } -#line 8434 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8521 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 483: -#line 4682 "rwlparser.y" /* yacc.c:1646 */ + case 484: +#line 4696 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_IMPLICIT_NOT_BINDOUT); } -#line 8442 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8529 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 486: -#line 4693 "rwlparser.y" /* yacc.c:1646 */ + case 487: +#line 4707 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BIND_NAME; } -#line 8448 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8535 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 488: -#line 4695 "rwlparser.y" /* yacc.c:1646 */ + case 489: +#line 4709 "rwlparser.y" /* yacc.c:1646 */ { // same comment as above rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BIND_POS; } -#line 8458 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8545 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 490: -#line 4701 "rwlparser.y" /* yacc.c:1646 */ + case 491: +#line 4715 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BIND_SAME; } -#line 8466 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8553 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 492: -#line 4705 "rwlparser.y" /* yacc.c:1646 */ + case 493: +#line 4719 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "bind"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); } -#line 8476 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8563 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 493: -#line 4714 "rwlparser.y" /* yacc.c:1646 */ + case 494: +#line 4728 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; bd = rwlalloc(rwm, sizeof(rwl_bindef)); @@ -8570,41 +8657,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8574 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8661 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 494: -#line 4810 "rwlparser.y" /* yacc.c:1646 */ + case 495: +#line 4824 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "runseconds", "bind/define"); } -#line 8583 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8670 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 495: -#line 4815 "rwlparser.y" /* yacc.c:1646 */ + case 496: +#line 4829 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "epochseconds", "bind/define"); } -#line 8592 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8679 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 496: -#line 4819 "rwlparser.y" /* yacc.c:1646 */ + case 497: +#line 4833 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8598 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8685 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 497: -#line 4820 "rwlparser.y" /* yacc.c:1646 */ + case 498: +#line 4834 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8604 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8691 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 498: -#line 4824 "rwlparser.y" /* yacc.c:1646 */ + case 499: +#line 4838 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8621,11 +8708,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8625 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8712 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 499: -#line 4841 "rwlparser.y" /* yacc.c:1646 */ + case 500: +#line 4855 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8642,11 +8729,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8646 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8733 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 500: -#line 4858 "rwlparser.y" /* yacc.c:1646 */ + case 501: +#line 4872 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8663,11 +8750,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8667 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8754 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 501: -#line 4875 "rwlparser.y" /* yacc.c:1646 */ + case 502: +#line 4889 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8690,17 +8777,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8694 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8781 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 502: -#line 4897 "rwlparser.y" /* yacc.c:1646 */ + case 503: +#line 4911 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8700 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8787 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 503: -#line 4898 "rwlparser.y" /* yacc.c:1646 */ + case 504: +#line 4912 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8731,11 +8818,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8735 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8822 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 504: -#line 4929 "rwlparser.y" /* yacc.c:1646 */ + case 505: +#line 4943 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8756,17 +8843,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8760 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8847 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 505: -#line 4949 "rwlparser.y" /* yacc.c:1646 */ + case 506: +#line 4963 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8766 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8853 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 506: -#line 4950 "rwlparser.y" /* yacc.c:1646 */ + case 507: +#line 4964 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0 && (rwm->msqlstk = rwlexprfinish(rwm))) { @@ -8788,11 +8875,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8792 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8879 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 507: -#line 4972 "rwlparser.y" /* yacc.c:1646 */ + case 508: +#line 4986 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8807,11 +8894,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8811 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8898 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 509: -#line 4987 "rwlparser.y" /* yacc.c:1646 */ + case 510: +#line 5001 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8826,11 +8913,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8830 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8917 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 511: -#line 5002 "rwlparser.y" /* yacc.c:1646 */ + case 512: +#line 5016 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8845,23 +8932,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8849 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8936 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 515: -#line 5022 "rwlparser.y" /* yacc.c:1646 */ + case 516: +#line 5036 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8855 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8942 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 516: -#line 5024 "rwlparser.y" /* yacc.c:1646 */ + case 517: +#line 5038 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlstk = rwlexprfinish(rwm); } -#line 8861 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8948 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 517: -#line 5026 "rwlparser.y" /* yacc.c:1646 */ + case 518: +#line 5040 "rwlparser.y" /* yacc.c:1646 */ { sb4 l2; rwl_sql *sq; @@ -8912,11 +8999,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 8916 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9003 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 518: -#line 5079 "rwlparser.y" /* yacc.c:1646 */ + case 519: +#line 5093 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; rwl_estack *estk; @@ -8946,21 +9033,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbcache: ; } -#line 8950 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9037 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 519: -#line 5109 "rwlparser.y" /* yacc.c:1646 */ + case 520: +#line 5123 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbsphi = rwm->mdbsplo = rwlexprfinish(rwm); if (!rwm->mdbsplo) rwlexprclear(rwm); } -#line 8960 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9047 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 520: -#line 5115 "rwlparser.y" /* yacc.c:1646 */ + case 521: +#line 5129 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; // are lo/hi good @@ -8989,20 +9076,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbpool: rwm->mdbsphi = rwm->mdbsplo = 0; } -#line 8993 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9080 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 522: -#line 5147 "rwlparser.y" /* yacc.c:1646 */ + case 523: +#line 5161 "rwlparser.y" /* yacc.c:1646 */ { if (!(rwm->mdbsphi = rwlexprfinish(rwm))) rwlexprclear(rwm); } -#line 9002 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9089 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 523: -#line 5154 "rwlparser.y" /* yacc.c:1646 */ + case 524: +#line 5168 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9022,23 +9109,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9026 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9113 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 525: -#line 5177 "rwlparser.y" /* yacc.c:1646 */ + case 526: +#line 5191 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9032 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9119 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 526: -#line 5178 "rwlparser.y" /* yacc.c:1646 */ + case 527: +#line 5192 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9038 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9125 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 527: -#line 5182 "rwlparser.y" /* yacc.c:1646 */ + case 528: +#line 5196 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->strvarn = RWL_VAR_NOTFOUND; @@ -9058,11 +9145,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->conhead = rwm->contail = 0; } -#line 9062 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9149 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 528: -#line 5202 "rwlparser.y" /* yacc.c:1646 */ + case 529: +#line 5216 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpupu(rwm, RWL_CODE_SPRINTF, rwm->strvnam @@ -9076,11 +9163,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9080 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9167 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 529: -#line 5220 "rwlparser.y" /* yacc.c:1646 */ + case 530: +#line 5234 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9099,19 +9186,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9103 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9190 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 531: -#line 5242 "rwlparser.y" /* yacc.c:1646 */ + case 532: +#line 5256 "rwlparser.y" /* yacc.c:1646 */ { rwm->conhead = rwm->contail = 0; } -#line 9111 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9198 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 532: -#line 5246 "rwlparser.y" /* yacc.c:1646 */ + case 533: +#line 5260 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpup(rwm, RWL_CODE_FPRINTF, rwm->filenam @@ -9132,11 +9219,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9136 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9223 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 535: -#line 5274 "rwlparser.y" /* yacc.c:1646 */ + case 536: +#line 5288 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwl_conlist *newcon; @@ -9155,11 +9242,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9159 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9246 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 536: -#line 5295 "rwlparser.y" /* yacc.c:1646 */ + case 537: +#line 5309 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9180,11 +9267,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->mflags,RWL_P_PRINTLINE); } -#line 9184 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9271 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 537: -#line 5317 "rwlparser.y" /* yacc.c:1646 */ + case 538: +#line 5331 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9205,35 +9292,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_PRINTLINE); } -#line 9209 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9296 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 538: -#line 5341 "rwlparser.y" /* yacc.c:1646 */ + case 539: +#line 5355 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9218 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9305 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 539: -#line 5346 "rwlparser.y" /* yacc.c:1646 */ + case 540: +#line 5360 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9227 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9314 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 541: -#line 5354 "rwlparser.y" /* yacc.c:1646 */ + case 542: +#line 5368 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTBLANK); } -#line 9233 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9320 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 543: -#line 5359 "rwlparser.y" /* yacc.c:1646 */ + case 544: +#line 5373 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -9291,11 +9378,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9295 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9382 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 544: -#line 5420 "rwlparser.y" /* yacc.c:1646 */ + case 545: +#line 5434 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mflags,RWL_P_PRINTLINE)) { @@ -9327,11 +9414,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 9331 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9418 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 545: -#line 5455 "rwlparser.y" /* yacc.c:1646 */ + case 546: +#line 5469 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -9342,17 +9429,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ; } } -#line 9346 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9433 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 546: -#line 5470 "rwlparser.y" /* yacc.c:1646 */ + case 547: +#line 5484 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->assignoper) { - case RWL_T_ASNPLUS: - rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNPLUS); + case RWL_T_ASNSUB: + rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNSUB); + break; + case RWL_T_ASNADD: + rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNADD); break; case RWL_T_ASSIGN: rwlexprpush2(rwm, rwm->assignvar, RWL_STACK_ASN, 0); @@ -9386,89 +9476,95 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9390 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9480 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 547: -#line 5510 "rwlparser.y" /* yacc.c:1646 */ + case 548: +#line 5527 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 9400 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9490 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 549: -#line 5520 "rwlparser.y" /* yacc.c:1646 */ + case 550: +#line 5537 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 9409 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9499 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 550: -#line 5527 "rwlparser.y" /* yacc.c:1646 */ + case 551: +#line 5544 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASSIGN; } -#line 9415 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9505 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 551: -#line 5528 "rwlparser.y" /* yacc.c:1646 */ + case 552: +#line 5545 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_GREATEQ; } -#line 9421 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9511 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 552: -#line 5529 "rwlparser.y" /* yacc.c:1646 */ + case 553: +#line 5546 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_RSHIFTASSIGN; } -#line 9427 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9517 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 553: -#line 5530 "rwlparser.y" /* yacc.c:1646 */ + case 554: +#line 5547 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_LESSEQ; } -#line 9433 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9523 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 554: -#line 5531 "rwlparser.y" /* yacc.c:1646 */ + case 555: +#line 5548 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPEFROM; } -#line 9439 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9529 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 555: -#line 5532 "rwlparser.y" /* yacc.c:1646 */ + case 556: +#line 5549 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPETO; } -#line 9445 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9535 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 557: -#line 5536 "rwlparser.y" /* yacc.c:1646 */ + case 558: +#line 5553 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_APPEND; } -#line 9451 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9541 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 558: -#line 5537 "rwlparser.y" /* yacc.c:1646 */ - { rwm->assignoper = RWL_T_ASNPLUS; } -#line 9457 "rwlparser.tab.c" /* yacc.c:1646 */ + case 559: +#line 5554 "rwlparser.y" /* yacc.c:1646 */ + { rwm->assignoper = RWL_T_ASNADD; } +#line 9547 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 559: -#line 5544 "rwlparser.y" /* yacc.c:1646 */ + case 560: +#line 5555 "rwlparser.y" /* yacc.c:1646 */ + { rwm->assignoper = RWL_T_ASNSUB; } +#line 9553 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 561: +#line 5562 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } -#line 9468 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9564 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 560: -#line 5551 "rwlparser.y" /* yacc.c:1646 */ + case 562: +#line 5569 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; sb4 l; @@ -9494,11 +9590,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllityp[rwm->rsldepth] = RWL_LI_DOTDOT; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 9498 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9594 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 562: -#line 5577 "rwlparser.y" /* yacc.c:1646 */ + case 564: +#line 5595 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeadd0(rwm, RWL_CODE_LIBEG); rwm->rsllihead[rwm->rsldepth] @@ -9511,11 +9607,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); rwm->rsllitail[rwm->rsldepth]->listk = rwlexprfinish(rwm); } -#line 9515 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9611 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 564: -#line 5591 "rwlparser.y" /* yacc.c:1646 */ + case 566: +#line 5609 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwlexprclear(rwm); @@ -9525,11 +9621,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); yyerrok; } -#line 9529 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9625 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 567: -#line 5610 "rwlparser.y" /* yacc.c:1646 */ + case 569: +#line 5628 "rwlparser.y" /* yacc.c:1646 */ { rwl_lilist *thisli = rwlalloc(rwm, sizeof(rwl_lilist)); rwlexprpush(rwm, rwm->loopvar[rwm->rsldepth], RWL_STACK_ASN); @@ -9537,61 +9633,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllitail[rwm->rsldepth]->linxt = thisli; rwm->rsllitail[rwm->rsldepth] = thisli; } -#line 9541 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9637 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 570: -#line 5630 "rwlparser.y" /* yacc.c:1646 */ + case 572: +#line 5648 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 9550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9646 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 571: -#line 5635 "rwlparser.y" /* yacc.c:1646 */ + case 573: +#line 5653 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 9558 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9654 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 574: -#line 5644 "rwlparser.y" /* yacc.c:1646 */ + case 576: +#line 5662 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "execute") ; } -#line 9564 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9660 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 577: -#line 5651 "rwlparser.y" /* yacc.c:1646 */ + case 579: +#line 5669 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; } -#line 9570 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9666 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 580: -#line 5658 "rwlparser.y" /* yacc.c:1646 */ + case 582: +#line 5676 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "if") ; yyerrok; } -#line 9576 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9672 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 583: -#line 5665 "rwlparser.y" /* yacc.c:1646 */ + case 585: +#line 5683 "rwlparser.y" /* yacc.c:1646 */ { if (0 != rwlstrcmp(rwm->inam, rwm->sqname)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname); } -#line 9585 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9681 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 584: -#line 5670 "rwlparser.y" /* yacc.c:1646 */ + case 586: +#line 5688 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname) ; yyerrok; } -#line 9591 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9687 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 586: -#line 5676 "rwlparser.y" /* yacc.c:1646 */ + case 588: +#line 5694 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile1]"); @@ -9602,11 +9698,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop"); } } -#line 9606 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9702 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 587: -#line 5687 "rwlparser.y" /* yacc.c:1646 */ + case 589: +#line 5705 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile2]"); @@ -9617,11 +9713,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while"); } } -#line 9621 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9717 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 588: -#line 5698 "rwlparser.y" /* yacc.c:1646 */ + case 590: +#line 5716 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->rslflags[rwm->rsldepth-1], RWL_RSLFLAG_WHILOP)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; @@ -9629,27 +9725,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while") ; yyerrok; } -#line 9633 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9729 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 589: -#line 5709 "rwlparser.y" /* yacc.c:1646 */ + case 591: +#line 5727 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = 0; } -#line 9641 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9737 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 590: -#line 5714 "rwlparser.y" /* yacc.c:1646 */ + case 592: +#line 5732 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = rwlexprfinish(rwm); } -#line 9649 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9745 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 592: -#line 5721 "rwlparser.y" /* yacc.c:1646 */ + case 594: +#line 5739 "rwlparser.y" /* yacc.c:1646 */ { char plsword[6]; /* check for "begin" or "decla" or "--" */ ub4 sb, pb, len; @@ -9704,28 +9800,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_SQLWASPLS); rwlerror(rwm, RWL_ERROR_WARN_COMPILETIME_SQLTEXT, rwm->sqname); } -#line 9708 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9804 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 593: -#line 5778 "rwlparser.y" /* yacc.c:1646 */ + case 595: +#line 5796 "rwlparser.y" /* yacc.c:1646 */ { rwm->loc.errlin = 0; rwm->sqlfile = 0; /* not from a file */ } -#line 9717 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9813 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 594: -#line 5783 "rwlparser.y" /* yacc.c:1646 */ + case 596: +#line 5801 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9725 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9821 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 595: -#line 5787 "rwlparser.y" /* yacc.c:1646 */ + case 597: +#line 5805 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; FILE *f ; @@ -9806,11 +9902,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9810 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9906 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 596: -#line 5870 "rwlparser.y" /* yacc.c:1646 */ + case 598: +#line 5888 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9830,11 +9926,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 9834 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9930 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 597: -#line 5890 "rwlparser.y" /* yacc.c:1646 */ + case 599: +#line 5908 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) // everything is good { @@ -9857,50 +9953,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9861 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9957 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 598: -#line 5914 "rwlparser.y" /* yacc.c:1646 */ + case 600: +#line 5932 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BAD_READLINE); yyerrok; } -#line 9870 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9966 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 599: -#line 5921 "rwlparser.y" /* yacc.c:1646 */ + case 601: +#line 5939 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = rwm->sub_estk = 0; } -#line 9876 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9972 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 600: -#line 5923 "rwlparser.y" /* yacc.c:1646 */ + case 602: +#line 5941 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 9884 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9980 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 601: -#line 5927 "rwlparser.y" /* yacc.c:1646 */ + case 603: +#line 5945 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); } -#line 9892 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9988 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 602: -#line 5931 "rwlparser.y" /* yacc.c:1646 */ + case 604: +#line 5949 "rwlparser.y" /* yacc.c:1646 */ { rwm->sub_estk = rwlexprfinish(rwm); } -#line 9900 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9996 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 603: -#line 5935 "rwlparser.y" /* yacc.c:1646 */ + case 605: +#line 5953 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->reg_estk && rwm->str_estk && rwm->sub_estk) { @@ -9939,60 +10035,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9943 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10039 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 604: -#line 5974 "rwlparser.y" /* yacc.c:1646 */ + case 606: +#line 5992 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 9953 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10049 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 605: -#line 5983 "rwlparser.y" /* yacc.c:1646 */ + case 607: +#line 6001 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 9961 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10057 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 606: -#line 5987 "rwlparser.y" /* yacc.c:1646 */ + case 608: +#line 6005 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 9969 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10065 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 607: -#line 5993 "rwlparser.y" /* yacc.c:1646 */ + case 609: +#line 6011 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 9975 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10071 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 608: -#line 5995 "rwlparser.y" /* yacc.c:1646 */ + case 610: +#line 6013 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 9983 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10079 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 609: -#line 5999 "rwlparser.y" /* yacc.c:1646 */ + case 611: +#line 6017 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 9992 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10088 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 610: -#line 6004 "rwlparser.y" /* yacc.c:1646 */ + case 612: +#line 6022 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10025,44 +10121,44 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10029 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10125 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 611: -#line 6038 "rwlparser.y" /* yacc.c:1646 */ + case 613: +#line 6056 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10039 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10135 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 612: -#line 6047 "rwlparser.y" /* yacc.c:1646 */ + case 614: +#line 6065 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10045 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10141 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 613: -#line 6049 "rwlparser.y" /* yacc.c:1646 */ + case 615: +#line 6067 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10053 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10149 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 614: -#line 6053 "rwlparser.y" /* yacc.c:1646 */ + case 616: +#line 6071 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10062 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10158 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 615: -#line 6058 "rwlparser.y" /* yacc.c:1646 */ + case 617: +#line 6076 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10095,21 +10191,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10099 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10195 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 616: -#line 6092 "rwlparser.y" /* yacc.c:1646 */ + case 618: +#line 6110 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10109 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10205 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 619: -#line 6105 "rwlparser.y" /* yacc.c:1646 */ + case 621: +#line 6123 "rwlparser.y" /* yacc.c:1646 */ { rwl_idlist *newid = rwlalloc(rwm, sizeof(rwl_idlist)); @@ -10150,22 +10246,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10154 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10250 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 620: -#line 6148 "rwlparser.y" /* yacc.c:1646 */ + case 622: +#line 6166 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that the system expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 10165 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10261 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 621: -#line 6157 "rwlparser.y" /* yacc.c:1646 */ + case 623: +#line 6175 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -10181,11 +10277,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10185 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10281 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 622: -#line 6182 "rwlparser.y" /* yacc.c:1646 */ + case 624: +#line 6200 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->threadlist) rwlsevere(rwm, "[rwlparser-thrlistnotclean]"); @@ -10196,11 +10292,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->totthr = 0; } -#line 10200 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10296 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 623: -#line 6194 "rwlparser.y" /* yacc.c:1646 */ + case 625: +#line 6212 "rwlparser.y" /* yacc.c:1646 */ { rwl_thrinfo *next; rwm->loc.errlin = rwm->lexlino; @@ -10219,26 +10315,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->threadlist = rwm->mythr = 0; rwm->loc.errlin = 0; } -#line 10223 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10319 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 624: -#line 6213 "rwlparser.y" /* yacc.c:1646 */ + case 626: +#line 6231 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10229 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10325 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 629: -#line 6227 "rwlparser.y" /* yacc.c:1646 */ + case 631: +#line 6245 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->cqnstop = 0.0; rwm->cqnnow = rwlclock(rwm->mxq,0); } -#line 10238 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10334 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 630: -#line 6232 "rwlparser.y" /* yacc.c:1646 */ + case 632: +#line 6250 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *cp; sb4 l; @@ -10262,11 +10358,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10266 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10362 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 631: -#line 6257 "rwlparser.y" /* yacc.c:1646 */ + case 633: +#line 6275 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstop = rwm->pval.dval; if (rwm->cqnstop < rwm->cqnstart || rwm->cqnstop < rwm->cqnnow) @@ -10275,11 +10371,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->cqnat = 0; } } -#line 10279 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10375 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 632: -#line 6266 "rwlparser.y" /* yacc.c:1646 */ + case 634: +#line 6284 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->cqnat) { @@ -10331,11 +10427,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; rwm->mythr->dbnam = rwm->cqnat; } -#line 10335 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10431 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 633: -#line 6318 "rwlparser.y" /* yacc.c:1646 */ + case 635: +#line 6336 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->cqnat) // no errors above { @@ -10360,11 +10456,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m4flags, RWL_P4_PROCHASSQL); } -#line 10364 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10460 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 634: -#line 6343 "rwlparser.y" /* yacc.c:1646 */ + case 636: +#line 6361 "rwlparser.y" /* yacc.c:1646 */ { rwlcodehead(rwm, 0); if (rwm->cqnat) // No error above @@ -10392,37 +10488,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_CQNTHEN; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10396 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10492 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 635: -#line 6371 "rwlparser.y" /* yacc.c:1646 */ + case 637: +#line 6389 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeaddu(rwm, RWL_CODE_CQNISCB, 0); // Is in callback rwlcodetail(rwm); } -#line 10405 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10501 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 639: -#line 6382 "rwlparser.y" /* yacc.c:1646 */ + case 641: +#line 6400 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "querynotification"); yyerrok; } -#line 10414 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10510 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 641: -#line 6391 "rwlparser.y" /* yacc.c:1646 */ + case 643: +#line 6409 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->pval.dval; } -#line 10422 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10518 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 642: -#line 6398 "rwlparser.y" /* yacc.c:1646 */ + case 644: +#line 6416 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m4flags, RWL_P4_PROCHASSQL); if (rwm->pval.ival < 0) @@ -10438,45 +10534,45 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_THREAD; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10442 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10538 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 643: -#line 6416 "rwlparser.y" /* yacc.c:1646 */ + case 645: +#line 6434 "rwlparser.y" /* yacc.c:1646 */ { rwlcodetail(rwm); } -#line 10450 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10546 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 645: -#line 6421 "rwlparser.y" /* yacc.c:1646 */ + case 647: +#line 6439 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10456 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10552 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 647: -#line 6426 "rwlparser.y" /* yacc.c:1646 */ + case 649: +#line 6444 "rwlparser.y" /* yacc.c:1646 */ { rwm->mythr->dbnam = rwm->inam; } -#line 10464 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10560 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 650: -#line 6435 "rwlparser.y" /* yacc.c:1646 */ + case 652: +#line 6453 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "threads") ; } -#line 10470 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10566 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 653: -#line 6443 "rwlparser.y" /* yacc.c:1646 */ + case 655: +#line 6461 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "run") ; } -#line 10476 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10572 "rwlparser.tab.c" /* yacc.c:1646 */ break; -#line 10480 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10576 "rwlparser.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/rwlparser.tab.h b/src/rwlparser.tab.h index 066e8b9d..e0287a35 100644 --- a/src/rwlparser.tab.h +++ b/src/rwlparser.tab.h @@ -127,89 +127,90 @@ extern int rwlydebug; RWL_T_COMMIT = 329, RWL_T_ROLLBACK = 330, RWL_T_EVERY = 331, - RWL_T_ASNPLUS = 332, - RWL_T_STOP = 333, - RWL_T_START = 334, - RWL_T_COUNT = 335, - RWL_T_AT = 336, - RWL_T_BREAK = 337, - RWL_T_RETURN = 338, - RWL_T_ABORT = 339, - RWL_T_MODIFY = 340, - RWL_T_CURSORCACHE = 341, - RWL_T_NOCURSORCACHE = 342, - RWL_T_LEAK = 343, - RWL_T_SHIFT = 344, - RWL_T_WHEN = 345, - RWL_T_STATISTICS = 346, - RWL_T_NOSTATISTICS = 347, - RWL_T_FUNCTION = 348, - RWL_T_PUBLIC = 349, - RWL_T_OCIPING = 350, - RWL_T_QUEUE = 351, - RWL_T_NOQUEUE = 352, - RWL_T_PRIVATE = 353, - RWL_T_BEGIN = 354, - RWL_T_RELEASE = 355, - RWL_T_SYSTEM = 356, - RWL_T_CLOB = 357, - RWL_T_BLOB = 358, - RWL_T_NCLOB = 359, - RWL_T_READLOB = 360, - RWL_T_WRITELOB = 361, - RWL_T_RAW = 362, - RWL_T_EXIT = 363, - RWL_T_SUBSTR = 364, - RWL_T_SUBSTRB = 365, - RWL_T_LENGTH = 366, - RWL_T_LENGTHB = 367, - RWL_T_SQL_ID = 368, - RWL_T_GETENV = 369, - RWL_T_LOG = 370, - RWL_T_EXP = 371, - RWL_T_ROUND = 372, - RWL_T_ACTIVESESSIONCOUNT = 373, - RWL_T_REQUESTMARK = 374, - RWL_T_SPRINTF = 375, - RWL_T_OPENSESSIONCOUNT = 376, - RWL_T_STATEMARK = 377, - RWL_T_REGEXSUB = 378, - RWL_T_REGEXSUBG = 379, - RWL_T_SERVERRELEASE = 380, - RWL_T_SQL = 381, - RWL_T_SQL_TEXT = 382, - RWL_T_INSTR = 383, - RWL_T_INSTRB = 384, - RWL_T_CONNECTIONPOOL = 385, - RWL_T_CONNECTIONCLASS = 386, - RWL_T_UNSIGNED = 387, - RWL_T_HEXADECIMAL = 388, - RWL_T_OCTAL = 389, - RWL_T_FPRINTF = 390, - RWL_T_ENCODE = 391, - RWL_T_DECODE = 392, - RWL_T_STRING_CONST = 393, - RWL_T_IDENTIFIER = 394, - RWL_T_INTEGER_CONST = 395, - RWL_T_DOUBLE_CONST = 396, - RWL_T_PRINTF = 397, - RWL_T_PIPEFROM = 398, - RWL_T_PIPETO = 399, - RWL_T_RSHIFTASSIGN = 400, - RWL_T_GLOBAL = 401, - RWL_T_QUERYNOTIFICATION = 402, - RWL_T_NORMALRANDOM = 403, - RWL_T_STATISTICSONLY = 404, - RWL_T_CEIL = 405, - RWL_T_TRUNC = 406, - RWL_T_FLOOR = 407, - RWL_T_LOBPREFETCH = 408, - RWL_T_SIN = 409, - RWL_T_COS = 410, - RWL_T_ATAN2 = 411, - RWL_T_WINSLASHF2B = 412, - RWL_T_WINSLASHF2BB = 413, - RWL_T_UMINUS = 414 + RWL_T_ASNADD = 332, + RWL_T_ASNSUB = 333, + RWL_T_STOP = 334, + RWL_T_START = 335, + RWL_T_COUNT = 336, + RWL_T_AT = 337, + RWL_T_BREAK = 338, + RWL_T_RETURN = 339, + RWL_T_ABORT = 340, + RWL_T_MODIFY = 341, + RWL_T_CURSORCACHE = 342, + RWL_T_NOCURSORCACHE = 343, + RWL_T_LEAK = 344, + RWL_T_SHIFT = 345, + RWL_T_WHEN = 346, + RWL_T_STATISTICS = 347, + RWL_T_NOSTATISTICS = 348, + RWL_T_FUNCTION = 349, + RWL_T_PUBLIC = 350, + RWL_T_OCIPING = 351, + RWL_T_QUEUE = 352, + RWL_T_NOQUEUE = 353, + RWL_T_PRIVATE = 354, + RWL_T_BEGIN = 355, + RWL_T_RELEASE = 356, + RWL_T_SYSTEM = 357, + RWL_T_CLOB = 358, + RWL_T_BLOB = 359, + RWL_T_NCLOB = 360, + RWL_T_READLOB = 361, + RWL_T_WRITELOB = 362, + RWL_T_RAW = 363, + RWL_T_EXIT = 364, + RWL_T_SUBSTR = 365, + RWL_T_SUBSTRB = 366, + RWL_T_LENGTH = 367, + RWL_T_LENGTHB = 368, + RWL_T_SQL_ID = 369, + RWL_T_GETENV = 370, + RWL_T_LOG = 371, + RWL_T_EXP = 372, + RWL_T_ROUND = 373, + RWL_T_ACTIVESESSIONCOUNT = 374, + RWL_T_REQUESTMARK = 375, + RWL_T_SPRINTF = 376, + RWL_T_OPENSESSIONCOUNT = 377, + RWL_T_STATEMARK = 378, + RWL_T_REGEXSUB = 379, + RWL_T_REGEXSUBG = 380, + RWL_T_SERVERRELEASE = 381, + RWL_T_SQL = 382, + RWL_T_SQL_TEXT = 383, + RWL_T_INSTR = 384, + RWL_T_INSTRB = 385, + RWL_T_CONNECTIONPOOL = 386, + RWL_T_CONNECTIONCLASS = 387, + RWL_T_UNSIGNED = 388, + RWL_T_HEXADECIMAL = 389, + RWL_T_OCTAL = 390, + RWL_T_FPRINTF = 391, + RWL_T_ENCODE = 392, + RWL_T_DECODE = 393, + RWL_T_STRING_CONST = 394, + RWL_T_IDENTIFIER = 395, + RWL_T_INTEGER_CONST = 396, + RWL_T_DOUBLE_CONST = 397, + RWL_T_PRINTF = 398, + RWL_T_PIPEFROM = 399, + RWL_T_PIPETO = 400, + RWL_T_RSHIFTASSIGN = 401, + RWL_T_GLOBAL = 402, + RWL_T_QUERYNOTIFICATION = 403, + RWL_T_NORMALRANDOM = 404, + RWL_T_STATISTICSONLY = 405, + RWL_T_CEIL = 406, + RWL_T_TRUNC = 407, + RWL_T_FLOOR = 408, + RWL_T_LOBPREFETCH = 409, + RWL_T_SIN = 410, + RWL_T_COS = 411, + RWL_T_ATAN2 = 412, + RWL_T_WINSLASHF2B = 413, + RWL_T_WINSLASHF2BB = 414, + RWL_T_UMINUS = 415 }; #endif @@ -218,7 +219,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 462 "rwlparser.y" /* yacc.c:1909 */ +#line 465 "rwlparser.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -232,7 +233,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 236 "rwlparser.tab.h" /* yacc.c:1909 */ +#line 237 "rwlparser.tab.h" /* yacc.c:1909 */ }; typedef union RWLYSTYPE RWLYSTYPE; diff --git a/src/rwlparser.y b/src/rwlparser.y index 75972ba4..cf0bc613 100644 --- a/src/rwlparser.y +++ b/src/rwlparser.y @@ -11,6 +11,8 @@ * * History * + * bengsig 17-apr-2024 - nostatistics statement + * bengsig 16-apr-2024 - -= * bengsig 7-mar-2024 - a few lob changes * johnkenn 06-mar-2024 - writelob with offset * bengsig 27-feb-2024 - winslashf2b functions @@ -175,7 +177,8 @@ static const rwl_yt2txt rwlyt2[] = , {"RWL_T_AND", "'and'"} , {"RWL_T_APPEND", "'||='"} , {"RWL_T_ARRAY", "'array'"} - , {"RWL_T_ASNPLUS", "'+='"} + , {"RWL_T_ASNADD", "'+='"} + , {"RWL_T_ASNSUB", "'-='"} , {"RWL_T_ASSIGN", "':='"} , {"RWL_T_AT", "'at'"} , {"RWL_T_ATAN2", "'atan2'"} @@ -456,7 +459,7 @@ rwlcomp(rwlparser_y, RWL_GCCFLAGS) %define parse.error verbose // Four conflicts from concatenation without || -%expect 4 +%expect 5 %union { @@ -486,7 +489,7 @@ rwlcomp(rwlparser_y, RWL_GCCFLAGS) %token RWL_T_ASSIGN RWL_T_LOOP RWL_T_ALL RWL_T_NULL RWL_T_ISNULL RWL_T_SUM RWL_T_IS RWL_T_NOT %token RWL_T_LESSEQ RWL_T_GREATEQ RWL_T_NOTEQ RWL_T_AND RWL_T_OR RWL_T_BETWEEN RWL_T_CONCAT %token RWL_T_IF RWL_T_THEN RWL_T_ELSE RWL_T_NEVER RWL_T_APPEND RWL_T_IGNOREERROR RWL_T_ELSEIF -%token RWL_T_EXECUTE RWL_T_WAIT RWL_T_COMMIT RWL_T_ROLLBACK RWL_T_EVERY RWL_T_ASNPLUS +%token RWL_T_EXECUTE RWL_T_WAIT RWL_T_COMMIT RWL_T_ROLLBACK RWL_T_EVERY RWL_T_ASNADD RWL_T_ASNSUB %token RWL_T_STOP RWL_T_START RWL_T_COUNT RWL_T_AT RWL_T_BREAK RWL_T_RETURN RWL_T_ABORT %token RWL_T_MODIFY RWL_T_CURSORCACHE RWL_T_NOCURSORCACHE RWL_T_LEAK RWL_T_SHIFT RWL_T_WHEN %token RWL_T_STATISTICS RWL_T_NOSTATISTICS RWL_T_FUNCTION RWL_T_PUBLIC RWL_T_OCIPING @@ -1963,6 +1966,17 @@ statement: rwlcodeadd0(rwm, RWL_CODE_ABORT); } } + | RWL_T_NOSTATISTICS terminator + { + if (!rwm->codename) + { + rwlerror(rwm, RWL_ERROR_NOSTATS_NO_EFFECT); + } + else + { + rwlcodeadd0(rwm, RWL_CODE_NOSTATISTICS); + } + } // local declarations | sqldeclaration sqlterminator @@ -5471,8 +5485,11 @@ assignrightside: rwl_estack *estk; switch (rwm->assignoper) { - case RWL_T_ASNPLUS: - rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNPLUS); + case RWL_T_ASNSUB: + rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNSUB); + break; + case RWL_T_ASNADD: + rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNADD); break; case RWL_T_ASSIGN: rwlexprpush2(rwm, rwm->assignvar, RWL_STACK_ASN, 0); @@ -5534,7 +5551,8 @@ declassignoperator: assignoperator: declassignoperator | RWL_T_APPEND { rwm->assignoper = RWL_T_APPEND; } - | RWL_T_ASNPLUS { rwm->assignoper = RWL_T_ASNPLUS; } + | RWL_T_ASNADD { rwm->assignoper = RWL_T_ASNADD; } + | RWL_T_ASNSUB { rwm->assignoper = RWL_T_ASNSUB; } ; diff --git a/test/388.rwl b/test/388.rwl new file mode 100644 index 00000000..b19080cd --- /dev/null +++ b/test/388.rwl @@ -0,0 +1,16 @@ +# test -= + +string x; +integer a; + +a := 43; +a -= 1; + +printline a; + +if 1 then + a -= 20; + printline a; +end if; + +x -= "hello"; diff --git a/test/389.rwl b/test/389.rwl new file mode 100644 index 00000000..4bfbc4c8 --- /dev/null +++ b/test/389.rwl @@ -0,0 +1,105 @@ +# test nostatistics statement + +$statistics:all +$statsdbtime:on +$statsapptime:on +$clockstart:1 +$include:"testuserinfo.rwl" +$include:"testresults.rwl" +$include:"testpool.rwl" +$embeddedqueryarray:3 + +integer human389 := 0; $userswitch:human389 + + +procedure procns() + begin + dbms_session.sleep(0.01); + end; + / + if loopnumber % 19 = 18 then + nostatistics; + wait 0.2; + end if; +end; + +procedure procas() + begin + dbms_session.sleep(0.01); + end; + / + if loopnumber % 19 = 18 then + # nostatistics; + wait 0.2; + end if; +end; + +run + threads 1 at testpool + for queue every 0.05 count 100 loop + procns(); + end loop; + end; + threads 1 at testpool + for queue every 0.05 count 100 loop + procas(); + end loop; + end; +end; + +double second, wtime, etime, atime, dtime; +integer scount, ecount; + +double avgw, avge, avga, avgd; + +execute at testresults + string vn; + printline " wtime etime atime dtime"; + for + select ecount + , vname vn + , avgw + , avge + , avga, avgd + , wtime + , etime + , atime, dtime + from runres_a + where runnumber = :runnumber + and vname like 'proc__' + / + loop + printf (human389 + ? "%6s %3d %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f %8.5f\n" + : "%6s %3d %8.1f %8.1f %8.1f %8.1f %8.1f %8.1f %8.1f %8.1f\n") + , vn + , ecount + , wtime, etime, atime, dtime + , avgw, avge, avga, avgd; + end loop; + printline; + for + select vname vn, second, scount + , wtime + , etime + , atime + , dtime + from persec where runnumber =:runnumber + order by vname,second + / + loop + printf (human389 + ? "%6s %3d %8.5f %8.5f %8.5f %8.5f %5.1f\n" + : "%6s %3d %8.1f %8.2f %8.2f %8.2f %5.1f\n") + , vn + , scount + , wtime, etime, atime, dtime + , second; + end loop; + if human389 then + printline "runnumber=" runnumber; + else + printline "run with --human389 if you are a human"; + end; +end; + diff --git a/test/test.sh b/test/test.sh index a75c6df5..57064b48 100755 --- a/test/test.sh +++ b/test/test.sh @@ -47,7 +47,7 @@ then testlist="$*" else # note that 323..326 test CQN which we don't currently compile in - testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 400 401' + testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 400 401' fi diffokcount=0; diff --git a/test/testres/388.err.good b/test/testres/388.err.good new file mode 100644 index 00000000..13482889 --- /dev/null +++ b/test/testres/388.err.good @@ -0,0 +1 @@ +RWL-100: error at [388.rwl;16]: cannot use string 'x' as sub-assign diff --git a/test/testres/388.out.good b/test/testres/388.out.good new file mode 100644 index 00000000..0a0797a0 --- /dev/null +++ b/test/testres/388.out.good @@ -0,0 +1,2 @@ +42 +22 diff --git a/test/testres/389.err.good b/test/testres/389.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/389.out.good b/test/testres/389.out.good new file mode 100644 index 00000000..88a48881 --- /dev/null +++ b/test/testres/389.out.good @@ -0,0 +1,15 @@ + wtime etime atime dtime +procas 100 0.0 2.0 1.0 1.0 0.0 0.0 0.0 0.0 +procns 95 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 + +procas 17 0.0 0.18 0.00 0.17 1.0 +procas 19 0.0 0.40 0.20 0.19 2.0 +procas 23 0.0 0.64 0.40 0.23 3.0 +procas 21 0.0 0.42 0.20 0.21 4.0 +procas 20 0.0 0.41 0.20 0.20 5.0 +procns 17 0.0 0.18 0.00 0.17 1.0 +procns 18 0.0 0.19 0.00 0.18 2.0 +procns 21 0.0 0.22 0.00 0.21 3.0 +procns 20 0.0 0.21 0.00 0.20 4.0 +procns 19 0.0 0.20 0.00 0.19 5.0 +run with --human389 if you are a human From 5d8b58b5c326e531906fd2fd97c7931b8815c330 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 18 Apr 2024 15:40:30 +0000 Subject: [PATCH 027/118] Elaborate on ?: being right associative --- docs/refman/concatenation.html | 15 +++++++++++---- docs/refman/constant.html | 15 +++++++++++---- docs/refman/expression.html | 15 +++++++++++---- docs/refman/function.html | 15 +++++++++++---- man/man1rwl/expression.1rwl | 9 ++++++++- test/390.rwl | 22 ++++++++++++++++++++++ test/test.sh | 2 +- test/testres/390.err.good | 0 test/testres/390.out.good | 10 ++++++++++ 9 files changed, 85 insertions(+), 18 deletions(-) create mode 100644 test/390.rwl create mode 100644 test/testres/390.err.good create mode 100644 test/testres/390.out.good diff --git a/docs/refman/concatenation.html b/docs/refman/concatenation.html index 49a7111a..fd294443 100644 --- a/docs/refman/concatenation.html +++ b/docs/refman/concatenation.html @@ -1,5 +1,5 @@ - + @@ -406,7 +406,8 @@

    OPERATORS

    Comparison operator as found in the C programming language. Only one of the second and third operand is -calculated depending on the value of the first.

    +calculated depending on the value of the first, and the +operator is right associative.

    +calculated depending on the value of the first, and the +operator is right associative.

    +calculated depending on the value of the first, and the +operator is right associative.

    +calculated depending on the value of the first, and the +operator is right associative.

    END + +if test -f $awrdirectory$subdir$runnumber/${runnumber}_osstat.svg +then + osstatembed='
    ' + cat >> $awrdirectory$subdir$runnumber/index.html < +
    + + + +END +else + osstatembed='' +fi + + if test $ashcsvcount -gt 0 then cat <> $awrdirectory$subdir$runnumber/index.html @@ -402,6 +423,7 @@ then fi cat <> $awrdirectory$subdir$runnumber/index.html +$osstatembed
    END diff --git a/bin/oltpplot b/bin/oltpplot index 3598e13b..63b6a6be 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 28-apr-2024 bengsig osstat # 3-apr-2024 bengsig better graph label # 27-mar-2024 bengsig cstorm by initiated and logged on # 20-mar-2024 bengsig cstorm @@ -277,6 +278,9 @@ fi cat $resultsdir$subdir$runnumber/header.plot >> $resultsdir$subdir$runnumber/res.plot +cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/osstat.plot +# source the file that does it +. osstat-plot-include cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/instdist.plot # Plot instance distribution if test x$plotactive = xno @@ -858,6 +862,20 @@ cat < $awrdirectory$subdir$runnumber/index.html
    END +if test -f $awrdirectory$subdir$runnumber/${runnumber}_osstat.svg +then + osstatembed='
    ' + cat <> $awrdirectory$subdir$runnumber/index.html +
    + + + + +END +else + osstatembed='' +fi + if test $ashcsvcount -gt 0 then cat <> $awrdirectory$subdir$runnumber/index.html @@ -1019,7 +1037,7 @@ then fi cat <> $awrdirectory$subdir$runnumber/index.html -
    +$osstatembed

    END diff --git a/bin/osstat-plot-include b/bin/osstat-plot-include new file mode 100644 index 00000000..f28871bd --- /dev/null +++ b/bin/osstat-plot-include @@ -0,0 +1,50 @@ +# Copyright (c) 2024 Oracle Corporation +# Licensed under the Universal Permissive License v 1.0 +# as shown at https://oss.oracle.com/licenses/upl/ +# +# This file is sourced from oltpplot and mtitplot +# It cannot be called directly from the command line +# +# History +# bengsig 28-apr-2024 - Created +# + +# Does csv exist and has 5 lines or more +if test -f $resultsdir$subdir$runnumber/osstat.csv +then + if test $(wc -l < $resultsdir$subdir$runnumber/osstat.csv) -gt 4 + then + cat >> $resultsdir$subdir$runnumber/osstat.plot < +$endif + # generate the gnuplot files execute at rwloadsim diff --git a/oltp/csvmtit.rwl b/oltp/csvmtit.rwl index e8dff22d..f2d2410b 100644 --- a/oltp/csvmtit.rwl +++ b/oltp/csvmtit.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 29-apr-2024 - osstat # bengsig 12-apr-2024 - end2end timing data # bengsig 26-apr-2023 - Creation with many parts from csvdata.rwl @@ -57,6 +58,10 @@ function xseconds(string xtim) return double return retval; end xseconds; +$if doosstat $then +$include: +$endif + # generate the gnuplot files execute at rwloadsim diff --git a/oltp/csvosstat.rwl b/oltp/csvosstat.rwl new file mode 100644 index 00000000..a64a7f26 --- /dev/null +++ b/oltp/csvosstat.rwl @@ -0,0 +1,41 @@ +# Copyright (c) 2024 Oracle Corporation +# Licensed under the Universal Permissive License v 1.0 +# as shown at https://oss.oracle.com/licenses/upl/ + +# bengsig 26-apr-2024 - Created + +# Note that this cannot be used stand alone - it can only +# be included from csvdata.rwl or csvmtit.rwl + +# generate csv from osstat table + +execute at rwloadsim + double usr1, usr2, usr3, usr4, usr5, usr6, usr7, usr8; + double sys1, sys2, sys3, sys4, sys5, sys6, sys7, sys8; + double second; + + plotfile := resultsdir subdir runno "/osstat.csv"; + writeline plotfile, "second " + "sys1 sys2 sys3 sys4 sys5 sys6 sys7 sys8 " + "usr1 usr2 usr3 usr4 usr5 usr6 usr7 usr8 "; + for + select second + , usr1, usr2, usr3, usr4, usr5, usr6, usr7, usr8 + , sys1, sys2, sys3, sys4, sys5, sys6, sys7, sys8 + from osstat + where runnumber = :runno + order by second + / + loop + fprintf plotfile, "%.2f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f " + "%.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f\n" + , second + , sys1, sys2, sys3, sys4, sys5, sys6, sys7, sys8 + , usr1, usr2, usr3, usr4, usr5, usr6, usr7, usr8; + end loop; + plotfile := null; +end; + + + + diff --git a/oltp/oltp.rwl b/oltp/oltp.rwl index 5f44cf30..856ff1ad 100644 --- a/oltp/oltp.rwl +++ b/oltp/oltp.rwl @@ -1,4 +1,4 @@ -# Copyright (c) 2021 Oracle Corporation +# Copyright (c) 2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ # @@ -446,6 +446,11 @@ rwl_daily_html := "daily.html"; # database, increase the following parameter. # query_factor := 1.0; +# The following are used to control what is being generated: +# doawr := 1; # set to 0 if you don't want awr to be generated +# globalawr := 0; # set to 1 if you also want global awr +# doosstat := 0; # set to 1 to get db server usr/sys from gv$osstat + # The rest should almost never be changed unless you are # developing this code. For details, see parameters.rwl # makeorder_weight := 15.0; # create orders, i.e. DML and query diff --git a/oltp/parameters.rwl b/oltp/parameters.rwl index 6e6d772a..506acc45 100644 --- a/oltp/parameters.rwl +++ b/oltp/parameters.rwl @@ -1,7 +1,8 @@ -# Copyright (c) 2021 Oracle Corporation +# Copyright (c) 2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 26-apr-2024 - gv$osstat # bengsig 3-apr-2024 - Distinguish thread/xtra storm # bengsig 19-mar-2024 - Connection storm # bengsig 24-feb-2024 - Add waitsec, cpusec @@ -223,6 +224,7 @@ double s24h_scan_prb := 0.00; # probability of actually doing full scan integer doawr := 1; # set to 0 if you don't want awr to be generated integer globalawr := 0; # set to 1 if you also want global awr +integer doosstat := 0; # set to 1 to get db server usr/sys from gv$osstat # Connection storm parameters integer cstorm_threads := 0; # 0 means don't do it diff --git a/oltp/runsys.rwl b/oltp/runsys.rwl index d0f27af7..0e9711da 100644 --- a/oltp/runsys.rwl +++ b/oltp/runsys.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 29-apr-2024 - osstat # bengsig 29-sep-2023 - no ashstep if no doawr # bengsig 26-apr-2023 - Make sure ashstep1 is performed # bengsig 25-oct-2022 - External control @@ -215,6 +216,9 @@ $endif # keep in sync with --flush-every in run.sh for the gnuplot input for every syssave_interval stop runperiod+syssave_interval loop timemodel_save(); + if doosstat then + osstat_save(); + end if; instdist_save(rwl_run_like); $if xc_enabled $then if xc_stopnow=1 or xc_stopnow=2 then break; end if; $endif end loop; diff --git a/oltp/tags b/oltp/tags index a3aeb1c5..9ff7b6de 100644 --- a/oltp/tags +++ b/oltp/tags @@ -27,78 +27,81 @@ a8sum col_averages.rwl 26 a9 col_averages.rwl 18 a9cnt col_averages.rwl 36 a9sum col_averages.rwl 27 -above3 csvdata.rwl 778 -aburst_post_factor parameters.rwl 181 -aburst_pre_factor parameters.rwl 180 -aburst_start parameters.rwl 182 -aburst_workers parameters.rwl 179 -actbatch csvdata.rwl 258 -actbatch mtitrun.rwl 80 -actbatch run.rwl 549 +above3 csvdata.rwl 783 +aburst_post_factor parameters.rwl 183 +aburst_pre_factor parameters.rwl 182 +aburst_start parameters.rwl 184 +aburst_workers parameters.rwl 181 +actbatch csvdata.rwl 263 +actbatch mtitrun.rwl 83 +actbatch run.rwl 561 action runsys.rwl 50 activeses plotfigures.rwl 56 -actpool csvdata.rwl 258 -actpool mtitrun.rwl 80 -actpool run.rwl 549 +actpool csvdata.rwl 263 +actpool mtitrun.rwl 83 +actpool run.rwl 561 add_inventory oe_handle_products.rwl 57 affinity xcchange.rwl 44 -affinratio mtit_declarations.rwl 192 -ai_atim csvdata.rwl 420 +affinratio mtit_declarations.rwl 195 +ai_atim csvdata.rwl 425 ai_cnt plotrunwetim.rwl 45 -ai_dtim csvdata.rwl 420 +ai_dtim csvdata.rwl 425 ai_et plotrunwetim.rwl 45 -ai_exec csvdata.rwl 418 -ai_sleep_avg parameters.rwl 354 -ai_sleep_fac parameters.rwl 358 -ai_wait csvdata.rwl 418 +ai_exec csvdata.rwl 423 +ai_sleep_avg parameters.rwl 359 +ai_sleep_fac parameters.rwl 363 +ai_wait csvdata.rwl 423 ai_wt plotrunwetim.rwl 45 al1 oe_fillcustomers.rwl 11 al2 oe_fillcustomers.rwl 11 al3 oe_fillcustomers.rwl 11 aosecond plotfigures.rwl 56 approxsize aw_cols.rwl 214 -ashcpu csvdata.rwl 566 -ashcpu csvmtit.rwl 292 -ashcsv csvdata.rwl 571 -ashcsv csvmtit.rwl 297 -ashcsvcount csvdata.rwl 652 -ashcsvcount csvmtit.rwl 378 -ashevents csvdata.rwl 602 -ashevents csvmtit.rwl 328 +ashcpu csvdata.rwl 571 +ashcpu csvmtit.rwl 313 +ashcsv csvdata.rwl 576 +ashcsv csvmtit.rwl 318 +ashcsvcount csvdata.rwl 657 +ashcsvcount csvmtit.rwl 399 +ashevents csvdata.rwl 607 +ashevents csvmtit.rwl 349 ashstep1 ashstep1.rwl 31 -atime plotinfo.rwl 20 +atime plotinfo.rwl 21 +avga csvmtit.rwl 269 +avgd csvmtit.rwl 269 +avge csvmtit.rwl 269 avgw histdata.rwl 80 avgw scalefract.rwl 33 -aw_atim csvdata.rwl 420 -aw_cols_256MB_doublings parameters.rwl 144 +aw_atim csvdata.rwl 425 +aw_cols_256MB_doublings parameters.rwl 146 aw_cols_dbl aw_cols.rwl 19 aw_cols_mb_qry aw_cols.rwl 236 -aw_cols_query_factor parameters.rwl 153 +aw_cols_query_factor parameters.rwl 155 aw_cols_size aw_cols.rwl 235 -aw_cols_size aw_sizeinfo.rwl 16 -aw_cols_skew parameters.rwl 151 -aw_dtim csvdata.rwl 420 -aw_exec csvdata.rwl 418 -aw_instances aw_declarations.rwl 121 -aw_instances parameters.rwl 164 -aw_myinst aw_declarations.rwl 123 -aw_sleep_avg parameters.rwl 354 -aw_sleep_fac parameters.rwl 357 +aw_cols_size aw_sizeinfo.rwl 17 +aw_cols_skew parameters.rwl 153 +aw_dtim csvdata.rwl 425 +aw_exec csvdata.rwl 423 +aw_instances aw_declarations.rwl 122 +aw_instances parameters.rwl 166 +aw_myinst aw_declarations.rwl 124 +aw_sleep_avg parameters.rwl 359 +aw_sleep_fac parameters.rwl 362 aw_stats aw_cols.rwl 228 -aw_transaction aw_declarations.rwl 129 -aw_transaction_weight parameters.rwl 109 -aw_transactions_made aw_declarations.rwl 21 +aw_transaction aw_declarations.rwl 130 +aw_transaction_weight parameters.rwl 111 +aw_transactions_made aw_declarations.rwl 22 aw_truncate aw_truncate.rwl 13 -aw_verbose parameters.rwl 157 -aw_wait csvdata.rwl 418 +aw_verbose parameters.rwl 159 +aw_wait csvdata.rwl 423 awc_parallel aw_cols.rwl 189 -awindex_query aw_declarations.rwl 285 -awindex_query_weight parameters.rwl 110 -awlen aw_declarations.rwl 283 -awqry aw_declarations.rwl 294 +awindex_query aw_declarations.rwl 286 +awindex_query_weight parameters.rwl 112 +awlen aw_declarations.rwl 284 +awqry aw_declarations.rwl 295 awrbb_tim runsys.rwl 179 awrbe_tim runsys.rwl 179 -awrdirectory parameters.rwl 272 +awrdirectory parameters.rwl 277 awreb_tim runsys.rwl 179 awree_tim runsys.rwl 179 awrinfo oltpawr.rwl 112 @@ -107,83 +110,85 @@ awrline oltpawr.rwl 55 awrmode oltpawr.rwl 22 awrout oltpawr.rwl 20 awrtim_save oltpawr.rwl 228 -b_fill aw_declarations.rwl 27 -b_rwnum aw_declarations.rwl 24 -b_tokid aw_declarations.rwl 23 -b_val aw_declarations.rwl 26 +b_fill aw_declarations.rwl 28 +b_rwnum aw_declarations.rwl 25 +b_tokid aw_declarations.rwl 24 +b_val aw_declarations.rwl 27 badplan xcchange.rwl 29 -batch_connect parameters.rwl 293 -batch_type parameters.rwl 294 -bb csvdata.rwl 175 -bb csvmtit.rwl 151 +batch_connect parameters.rwl 298 +batch_type parameters.rwl 299 +bb csvdata.rwl 180 +bb csvmtit.rwl 152 bb oltpawr.rwl 228 -be csvdata.rwl 175 -be csvmtit.rwl 151 +be csvdata.rwl 180 +be csvmtit.rwl 152 be oltpawr.rwl 228 begawrsql oltpawr.rwl 26 beginawr oltpawr.rwl 85 begsnap oltpawr.rwl 19 -begtime cstorm_implementation.rwl 56 -begtime csvdata.rwl 776 -bgcpu csvdata.rwl 98 -bgcpu csvmtit.rwl 77 +begtime cstorm_implementation.rwl 57 +begtime csvdata.rwl 781 +bgcpu csvdata.rwl 103 +bgcpu csvmtit.rwl 78 bgcpu plotfigures.rwl 87 bgcpu timemodel.rwl 110 -bt cstorm_implementation.rwl 45 -btim cstorm_implementation.rwl 75 +bt cstorm_implementation.rwl 46 +btim cstorm_implementation.rwl 76 bucktim histdata.rwl 21 -burst_factor parameters.rwl 170 -burst_length parameters.rwl 169 -burst_repeat parameters.rwl 171 -burst_start parameters.rwl 168 -c aw_declarations.rwl 289 -calf csvdata.rwl 273 +burst_factor parameters.rwl 172 +burst_function /home/bengsig/myoltp/myoltp.rwl 184 +burst_length parameters.rwl 171 +burst_repeat parameters.rwl 173 +burst_start parameters.rwl 170 +c aw_declarations.rwl 290 +calf csvdata.rwl 278 call_failure run_user.rwl 17 -call_real run.rwl 121 +call_real run.rwl 122 +call_real_or_timeout run.rwl 139 can_ship oe_handle_orders.rwl 498 category_id oe_handle_products.rwl 21 ccnt oe_fillcustomers.rwl 15 check_results create_schemas.rwl 52 -chi aw_declarations.rwl 288 +chi aw_declarations.rwl 289 cid oe_fillcustomers.rwl 8 cid oe_fillproducts.rwl 11 cliaft timemodel.rwl 111 clibef timemodel.rwl 111 clim oe_fillcustomers.rwl 12 -clisys csvdata.rwl 257 -clisys csvmtit.rwl 216 -cliusr csvdata.rwl 257 -cliusr csvmtit.rwl 216 -clo aw_declarations.rwl 288 +clisys csvdata.rwl 262 +clisys csvmtit.rwl 217 +cliusr csvdata.rwl 262 +cliusr csvmtit.rwl 217 +clo aw_declarations.rwl 289 cnt aw_cols.rwl 210 -cnt aw_declarations.rwl 289 +cnt aw_declarations.rwl 290 cnt check_for_key.rwl 18 cnt oe_long_session.rwl 11 cnt oerhtml.rwl 16 -cnt1 csvmtit.rwl 226 +cnt1 csvmtit.rwl 227 cnt1 mtitplotwe.rwl 41 -cnt2 csvmtit.rwl 226 +cnt2 csvmtit.rwl 227 cnt2 mtitplotwe.rwl 41 -cnt3 csvmtit.rwl 226 +cnt3 csvmtit.rwl 227 cnt3 mtitplotwe.rwl 41 -cnt4 csvmtit.rwl 226 +cnt4 csvmtit.rwl 227 cnt4 mtitplotwe.rwl 41 -cnt5 csvmtit.rwl 226 +cnt5 csvmtit.rwl 227 cnt5 mtitplotwe.rwl 41 -cnt6 csvmtit.rwl 226 +cnt6 csvmtit.rwl 227 cnt6 mtitplotwe.rwl 41 -cnt7 csvmtit.rwl 226 +cnt7 csvmtit.rwl 227 cnt7 mtitplotwe.rwl 41 -cnt8 csvmtit.rwl 226 +cnt8 csvmtit.rwl 227 cnt8 mtitplotwe.rwl 41 cntfail plotruntp.rwl 43 cntl oe_handle_orders.rwl 694 comment aw_cols.rwl 29 complex_count oe_handle_orders.rwl 686 complex_query oe_handle_orders.rwl 688 -complex_query_weight parameters.rwl 107 +complex_query_weight parameters.rwl 109 complex_sum oe_handle_orders.rwl 685 -cone aw_declarations.rwl 288 +cone aw_declarations.rwl 289 could_not_ship oe_handle_orders.rwl 378 count1 histdata.rwl 21 count1 plotruntp.rwl 43 @@ -201,47 +206,49 @@ count7 histdata.rwl 21 count7 plotruntp.rwl 43 count8 histdata.rwl 21 count8 plotruntp.rwl 43 -countentries csvdata.rwl 93 -countentries csvmtit.rwl 72 +countentries csvdata.rwl 98 +countentries csvmtit.rwl 73 countres plotfigures.rwl 28 country oe_fillcustomers.rwl 42 cpusec xcchange.rwl 30 -cq_atim csvdata.rwl 420 -cq_dtim csvdata.rwl 419 -cq_exec csvdata.rwl 417 -cq_wait csvdata.rwl 418 +cq_atim csvdata.rwl 425 +cq_dtim csvdata.rwl 424 +cq_exec csvdata.rwl 422 +cq_wait csvdata.rwl 423 create_aw_cols aw_cols.rwl 55 create_aw_seq aw_cols.rwl 51 -cruser_connect parameters.rwl 278 -cruser_password parameters.rwl 280 +cruser_connect parameters.rwl 283 +cruser_password parameters.rwl 285 cruser_username command line 1 -cruser_username parameters.rwl 279 +cruser_username parameters.rwl 284 cruserdb cruserdb.rwl 8 -cstorm_period parameters.rwl 229 -cstorm_start parameters.rwl 228 -cstorm_threads parameters.rwl 227 -cstorm_xtra_logons parameters.rwl 230 -cstorm_xtra_rate parameters.rwl 231 -csvline csvdata.rwl 561 -csvline csvmtit.rwl 15 +cstorm_period parameters.rwl 232 +cstorm_start parameters.rwl 231 +cstorm_threads parameters.rwl 230 +cstorm_xtra_logons parameters.rwl 233 +cstorm_xtra_period parameters.rwl 236 +cstorm_xtra_rate parameters.rwl 234 +cstorm_xtra_start parameters.rwl 235 +csvline csvdata.rwl 566 +csvline csvmtit.rwl 16 csvname scalefract.rwl 21 -ctwo aw_declarations.rwl 288 -cursor_cache_size parameters.rwl 65 +ctwo aw_declarations.rwl 289 +cursor_cache_size parameters.rwl 67 cursorleak xcchange.rwl 23 customer_id oe_handle_orders.rwl 383 customer_id oe_handle_orders.rwl 623 customer_id oe_handle_orders.rwl 752 customer_id oe_handle_orders.rwl 83 -d csvdata.rwl 618 -d csvmtit.rwl 344 -d_fill aw_declarations.rwl 27 -d_rwnum aw_declarations.rwl 24 -d_tokid aw_declarations.rwl 23 -d_val aw_declarations.rwl 26 -datediff csvdata.rwl 53 -datediff csvmtit.rwl 32 -dbcpu csvdata.rwl 98 -dbcpu csvmtit.rwl 77 +d csvdata.rwl 623 +d csvmtit.rwl 365 +d_fill aw_declarations.rwl 28 +d_rwnum aw_declarations.rwl 25 +d_tokid aw_declarations.rwl 24 +d_val aw_declarations.rwl 27 +datediff csvdata.rwl 54 +datediff csvmtit.rwl 33 +dbcpu csvdata.rwl 103 +dbcpu csvmtit.rwl 78 dbcpu plotfigures.rwl 87 dbcpu timemodel.rwl 108 dbcpusum plotfigures.rwl 22 @@ -250,8 +257,8 @@ dbid oltpawr.rwl 19 dbl aw_cols.rwl 210 dbname prepare.rwl 76 dbtim timemodel.rwl 109 -dbtime csvdata.rwl 98 -dbtime csvmtit.rwl 77 +dbtime csvdata.rwl 103 +dbtime csvmtit.rwl 78 dbtime plotfigures.rwl 87 dbtimesum plotfigures.rwl 22 dbversion prepare.rwl 71 @@ -259,11 +266,11 @@ ddl aw_cols.rwl 29 ddl create_schemas.rwl 19 ddl drop_schemas.rwl 15 debug_products oe_handle_products.rwl 12 -default_tablespace parameters.rwl 284 -delay_length parameters.rwl 186 -delay_max_pool parameters.rwl 189 -delay_min_pool parameters.rwl 188 -delay_start parameters.rwl 187 +default_tablespace parameters.rwl 289 +delay_length parameters.rwl 188 +delay_max_pool parameters.rwl 191 +delay_min_pool parameters.rwl 190 +delay_start parameters.rwl 189 deltmpitem oepartalloc.rwl 43 deltmpord oepartalloc.rwl 37 descl oe_handle_orders.rwl 752 @@ -273,80 +280,82 @@ dist_count runsys.rwl 48 dist_inst runsys.rwl 48 dist_usrn runsys.rwl 49 do_hardparse oe_handle_orders.rwl 194 -doawr parameters.rwl 223 -doeither run.rwl 138 -dontdo_batch1 parameters.rwl 411 -dontdo_batch2 parameters.rwl 412 -dontdo_batch3 parameters.rwl 413 -dontdo_batch4 parameters.rwl 414 -dontdolong parameters.rwl 94 -doociping run.rwl 252 +doawr parameters.rwl 225 +doeither run.rwl 153 +dontdo_batch1 parameters.rwl 422 +dontdo_batch2 parameters.rwl 423 +dontdo_batch3 parameters.rwl 424 +dontdo_batch4 parameters.rwl 425 +dontdolong parameters.rwl 96 +doociping run.rwl 264 +doosstat parameters.rwl 227 drop_aw_cols aw_cols.rwl 41 drop_aw_seq aw_cols.rwl 46 dropuser drop_schemas.rwl 13 -dtime plotinfo.rwl 20 +dtime plotinfo.rwl 21 duping runping.rwl 34 eatcpu eatcpu.rwl 9 -eb csvdata.rwl 175 -eb csvmtit.rwl 151 +eb csvdata.rwl 180 +eb csvmtit.rwl 152 eb oltpawr.rwl 228 ecount ashstep1.rwl 34 -ee csvdata.rwl 175 -ee csvmtit.rwl 151 +ee csvdata.rwl 180 +ee csvmtit.rwl 152 ee oltpawr.rwl 228 email oe_fillcustomers.rwl 13 -end1 csvdata.rwl 776 -end2 csvdata.rwl 776 -end3 csvdata.rwl 776 +end1 csvdata.rwl 781 +end2 csvdata.rwl 781 +end3 csvdata.rwl 781 endawr oltpawr.rwl 93 endawrsql oltpawr.rwl 39 endsnap oltpawr.rwl 19 -endt csvdata.rwl 776 -endtime cstorm_implementation.rwl 57 -endtime csvdata.rwl 776 -entries csvmtit.rwl 275 +endt csvdata.rwl 781 +endtime cstorm_implementation.rwl 58 +endtime csvdata.rwl 781 +entries csvmtit.rwl 296 entries mtitplotwe.rwl 28 entries plotfigures.rwl 29 entries plotruntp.rwl 25 entries plotrunwetim.rwl 25 enum ashstep1.rwl 51 envline kommentops.rwl 18 -err1 csvdata.rwl 780 -err2 csvdata.rwl 780 -err3 csvdata.rwl 780 -errcnt csvdata.rwl 778 -errnum cstorm_implementation.rwl 59 -errnum csvdata.rwl 777 -errt csvdata.rwl 780 -errtxt cstorm_implementation.rwl 60 -errtxt csvdata.rwl 779 -esum csvdata.rwl 568 -esum csvmtit.rwl 294 +err1 csvdata.rwl 785 +err2 csvdata.rwl 785 +err3 csvdata.rwl 785 +errcnt csvdata.rwl 783 +errnum cstorm_implementation.rwl 60 +errnum csvdata.rwl 782 +errt csvdata.rwl 785 +errtxt cstorm_implementation.rwl 61 +errtxt csvdata.rwl 784 +esum csvdata.rwl 573 +esum csvmtit.rwl 315 event ashstep1.rwl 33 -event csvdata.rwl 594 -event csvmtit.rwl 320 +event csvdata.rwl 599 +event csvmtit.rwl 341 +everyuntil "program startup" 0 evgroup ashstep1.rwl 36 -extrapct aw_declarations.rwl 118 +extrapct aw_declarations.rwl 119 fail_cnt plotrunwetim.rwl 46 filnam x2range.rwl 24 finishtime prepare.rwl 21 first1530 aw_cols.rwl 83 first_instances oerhtmlday.rwl 25 -fix_cursorleak parameters.rwl 334 -fix_hardparse parameters.rwl 333 -fix_logoffrate parameters.rwl 335 +fix_cursorleak parameters.rwl 339 +fix_hardparse parameters.rwl 338 +fix_logoffrate parameters.rwl 340 fna oe_fillcustomers.rwl 9 -forever_proccount parameters.rwl 77 +forever_proccount parameters.rwl 79 found kommentops.rwl 17 fulldir kommentops.rwl 20 fullname prepare.rwl 70 fulltitle prepare.rwl 14 -g_fill aw_declarations.rwl 27 -g_rwnum aw_declarations.rwl 24 -g_tokid aw_declarations.rwl 23 -g_val aw_declarations.rwl 26 +g_fill aw_declarations.rwl 28 +g_rwnum aw_declarations.rwl 25 +g_tokid aw_declarations.rwl 24 +g_val aw_declarations.rwl 27 generateawr oltpawr.rwl 109 -get_inst aw_declarations.rwl 125 +get_inst aw_declarations.rwl 126 get_pcount runtrunc.rwl 42 get_pref_inst oltpawr.rwl 124 getawrglobal oltpawr.rwl 74 @@ -355,58 +364,58 @@ getawrtext oltpawr.rwl 58 getdbname prepare.rwl 78 getpoolsizes runsys.rwl 93 getrdate prepare.rwl 29 -getres_sql csvmtit.rwl 228 +getres_sql csvmtit.rwl 229 getres_sql mtitplotwe.rwl 43 getres_sql plotrunwetim.rwl 48 -globalawr parameters.rwl 224 -gnuplotjs parameters.rwl 263 -grab_session run.rwl 133 +globalawr parameters.rwl 226 +gnuplotjs parameters.rwl 268 +grab_session run.rwl 134 grp check_directories.rwl 10 hadit oerhtmlday.rwl 92 -halfperiod parameters.rwl 417 +halfperiod parameters.rwl 428 hardparse xcchange.rwl 26 -heartbeat run.rwl 244 -highcount csvdata.rwl 654 -highcount csvmtit.rwl 380 -highinst csvmtit.rwl 445 +heartbeat run.rwl 256 +highcount csvdata.rwl 659 +highcount csvmtit.rwl 401 +highinst csvmtit.rwl 466 histrow histdata.rwl 62 htmlformat mtit_showparam.rwl 9 -htmlline csvdata.rwl 751 +htmlline csvdata.rwl 756 htmlxtra oltpawr.rwl 81 htmlxtrawrap oltpawr.rwl 82 human parameters2shell.rwl 25 i /home/bengsig/rwloadsim/public/ovid2.rwl 7077 i aw_cols.rwl 210 -i1 csvdata.rwl 235 -i1 csvmtit.rwl 194 +i1 csvdata.rwl 240 +i1 csvmtit.rwl 195 i1 instdist.rwl 12 i1 oerhtmlday.rwl 17 -i2 csvdata.rwl 235 -i2 csvmtit.rwl 194 +i2 csvdata.rwl 240 +i2 csvmtit.rwl 195 i2 instdist.rwl 12 i2 oerhtmlday.rwl 17 -i3 csvdata.rwl 235 -i3 csvmtit.rwl 194 +i3 csvdata.rwl 240 +i3 csvmtit.rwl 195 i3 instdist.rwl 12 i3 oerhtmlday.rwl 17 -i4 csvdata.rwl 235 -i4 csvmtit.rwl 194 +i4 csvdata.rwl 240 +i4 csvmtit.rwl 195 i4 instdist.rwl 12 i4 oerhtmlday.rwl 17 -i5 csvdata.rwl 235 -i5 csvmtit.rwl 194 +i5 csvdata.rwl 240 +i5 csvmtit.rwl 195 i5 instdist.rwl 12 i5 oerhtmlday.rwl 17 -i6 csvdata.rwl 235 -i6 csvmtit.rwl 194 +i6 csvdata.rwl 240 +i6 csvmtit.rwl 195 i6 instdist.rwl 12 i6 oerhtmlday.rwl 17 -i7 csvdata.rwl 235 -i7 csvmtit.rwl 194 +i7 csvdata.rwl 240 +i7 csvmtit.rwl 195 i7 instdist.rwl 12 i7 oerhtmlday.rwl 17 -i8 csvdata.rwl 235 -i8 csvmtit.rwl 194 +i8 csvdata.rwl 240 +i8 csvmtit.rwl 195 i8 instdist.rwl 12 i8 oerhtmlday.rwl 17 icnt instdist.rwl 16 @@ -416,26 +425,26 @@ ientries plotfigures.rwl 29 ientries plotruntp.rwl 25 ientries plotrunwetim.rwl 25 ignore_parsefailure xcchange.rwl 28 -iii mtit_declarations.rwl 192 +iii mtit_declarations.rwl 195 inacdist runsys.rwl 44 inacdistfile runsys.rwl 40 index_name mtit_create.rwl 22 input col_averages.rwl 17 ins_awrtim oltpawr.rwl 232 ins_customer oe_fillcustomers.rwl 20 -ins_det_sql aw_declarations.rwl 60 +ins_det_sql aw_declarations.rwl 61 ins_inventory oe_handle_products.rwl 91 ins_item oe_handle_orders.rwl 119 ins_order oe_handle_orders.rwl 91 ins_product oe_fillproducts.rwl 18 ins_warehouse oe_fillwarehouses.rwl 12 -ins_xin_sql aw_declarations.rwl 84 -ins_xtr_sql aw_declarations.rwl 102 +ins_xin_sql aw_declarations.rwl 85 +ins_xtr_sql aw_declarations.rwl 103 insevname ashstep1.rwl 53 insinv oe_fillwarehouses.rwl 36 inspoolsizes runsys.rwl 128 -insrwlcpu mtitrun.rwl 83 -insrwlcpu run.rwl 552 +insrwlcpu mtitrun.rwl 86 +insrwlcpu run.rwl 564 inst oerhtml.rwl 17 inst1 plotfigures.rwl 71 inst2 plotfigures.rwl 71 @@ -458,14 +467,30 @@ inum instdist.rwl 16 inv_rowid oe_handle_orders.rwl 450 inv_rowid oe_handle_products.rwl 63 invoices_made oe_handle_orders.rwl 621 -ioer csvdata.rwl 488 +ioer csvdata.rwl 493 isecond plotfigures.rwl 71 isgood check_directories.rwl 14 +isys1 timemodel.rwl 243 +isys2 timemodel.rwl 243 +isys3 timemodel.rwl 243 +isys4 timemodel.rwl 243 +isys5 timemodel.rwl 243 +isys6 timemodel.rwl 243 +isys7 timemodel.rwl 243 +isys8 timemodel.rwl 243 item_count oe_handle_orders.rwl 384 +iusr1 timemodel.rwl 242 +iusr2 timemodel.rwl 242 +iusr3 timemodel.rwl 242 +iusr4 timemodel.rwl 242 +iusr5 timemodel.rwl 242 +iusr6 timemodel.rwl 242 +iusr7 timemodel.rwl 242 +iusr8 timemodel.rwl 242 key check_for_key.rwl 12 key oerhtmlday.rwl 11 key scalefract.rwl 16 -key_to_show parameters.rwl 36 +key_to_show parameters.rwl 38 killmsg xc_implementation.rwl 310 kom check_for_key.rwl 15 komment kommentops.rwl 18 @@ -534,15 +559,15 @@ l_stop xcvalues.rwl 30 l_wsec xc_implementation.rwl 52 l_wsec xcdefault.rwl 20 l_wsec xcvalues.rwl 29 -largeashok parameters.rwl 246 -lastsec mtitrun.rwl 78 -lastsec run.rwl 547 -lastsys mtitrun.rwl 78 -lastsys run.rwl 547 -lastusr mtitrun.rwl 78 -lastusr run.rwl 547 -lc csvdata.rwl 618 -lc csvmtit.rwl 344 +largeashok parameters.rwl 251 +lastsec mtitrun.rwl 81 +lastsec run.rwl 559 +lastsys mtitrun.rwl 81 +lastsys run.rwl 559 +lastusr mtitrun.rwl 81 +lastusr run.rwl 559 +lc csvdata.rwl 623 +lc csvmtit.rwl 365 lcsec xcdefault.rwl 20 leaf_blocks mtit_create.rwl 119 li oe_handle_orders.rwl 260 @@ -557,57 +582,57 @@ lna oe_fillcustomers.rwl 10 loadfactor xcchange.rwl 22 loc oe_fillwarehouses.rwl 9 logoffrate xcchange.rwl 38 -logofftime cstorm_implementation.rwl 35 -logonend cstorm_implementation.rwl 34 +logofftime cstorm_implementation.rwl 36 +logonend cstorm_implementation.rwl 35 longdeddml oe_long_session.rwl 70 longdedqry oe_long_session.rwl 60 longpooldml oe_long_session.rwl 65 longpoolqry oe_long_session.rwl 55 longsession oe_long_session.rwl 9 -lowtime csvdata.rwl 776 +lowtime csvdata.rwl 781 lpri oe_fillproducts.rwl 13 m_price oe_long_session.rwl 12 make_invoices oe_handle_orders.rwl 623 make_order oe_handle_orders.rwl 83 makeawr oltpawr.rwl 223 -makeinvoices run.rwl 86 -makeinvoices_weight parameters.rwl 106 -makeorder run.rwl 82 -makeorder_weight parameters.rwl 103 -markerfile csvdata.rwl 37 -markerfile csvmtit.rwl 17 -markerfile mtitrun.rwl 22 -markerfile run.rwl 76 +makeinvoices run.rwl 87 +makeinvoices_weight parameters.rwl 108 +makeorder run.rwl 83 +makeorder_weight parameters.rwl 105 +markerfile csvdata.rwl 38 +markerfile csvmtit.rwl 18 +markerfile mtitrun.rwl 25 +markerfile run.rwl 77 markerfile xc_implementation.rwl 31 -markrunning run.rwl 256 -max_customer parameters.rwl 122 +markrunning run.rwl 268 +max_customer parameters.rwl 124 max_item oe_handle_orders.rwl 207 max_order_id oe_handle_orders.rwl 24 max_order_ship oe_handle_orders.rwl 25 -max_product parameters.rwl 121 -max_sessionwait parameters.rwl 62 -max_warehouse parameters.rwl 120 -maxactpool csvdata.rwl 317 -maxdbcpu csvdata.rwl 92 -maxesum csvdata.rwl 569 -maxesum csvmtit.rwl 295 +max_product parameters.rwl 123 +max_sessionwait parameters.rwl 64 +max_warehouse parameters.rwl 122 +maxactpool csvdata.rwl 322 +maxdbcpu csvdata.rwl 97 +maxesum csvdata.rwl 574 +maxesum csvmtit.rwl 316 maxl /home/bengsig/rwloadsim/public/ovid2.rwl 7085 maxo oe_handle_orders.rwl 556 maxpool xcchange.rwl 33 -maxseq mtit_declarations.rwl 192 -maxsessions aw_declarations.rwl 113 +maxseq mtit_declarations.rwl 195 +maxsessions aw_declarations.rwl 114 maxsql oe_handle_orders.rwl 41 -maxtot run.rwl 212 +maxtot run.rwl 224 maxtot runsys.rwl 38 -maxyrange csvdata.rwl 214 -maxyrange csvmtit.rwl 178 +maxyrange csvdata.rwl 219 +maxyrange csvmtit.rwl 179 mf xc_implementation.rwl 44 -mfil csvdata.rwl 147 -mfil csvmtit.rwl 123 -mi_atim csvdata.rwl 419 -mi_dtim csvdata.rwl 419 -mi_exec csvdata.rwl 417 -mi_wait csvdata.rwl 417 +mfil csvdata.rwl 152 +mfil csvmtit.rwl 124 +mi_atim csvdata.rwl 424 +mi_dtim csvdata.rwl 424 +mi_exec csvdata.rwl 422 +mi_wait csvdata.rwl 422 min_order_id oe_handle_orders.rwl 24 min_order_query oe_handle_orders.rwl 26 min_order_ship oe_handle_orders.rwl 25 @@ -619,56 +644,56 @@ minsec plotruntp.rwl 24 minsec plotrunwetim.rwl 24 minsql oe_handle_orders.rwl 34 mkuser create_schemas.rwl 17 -mo_atim csvdata.rwl 419 +mo_atim csvdata.rwl 424 mo_cnt plotrunwetim.rwl 43 -mo_dtim csvdata.rwl 419 +mo_dtim csvdata.rwl 424 mo_et plotrunwetim.rwl 43 -mo_exec csvdata.rwl 417 -mo_sleep_avg parameters.rwl 354 -mo_sleep_fac parameters.rwl 355 -mo_wait csvdata.rwl 417 +mo_exec csvdata.rwl 422 +mo_sleep_avg parameters.rwl 359 +mo_sleep_fac parameters.rwl 360 +mo_wait csvdata.rwl 422 mo_wt plotrunwetim.rwl 43 mpri oe_fillproducts.rwl 14 -mrkleft run.rwl 185 -mrklen run.rwl 185 -msec csvdata.rwl 146 -msec csvmtit.rwl 122 +mrkleft run.rwl 197 +mrklen run.rwl 197 +msec csvdata.rwl 151 +msec csvmtit.rwl 123 msg run_user.rwl 17 -msping csvdata.rwl 98 -msping csvmtit.rwl 77 +msping csvdata.rwl 103 +msping csvmtit.rwl 78 msping plotfigures.rwl 87 msping runping.rwl 34 msping timemodel.rwl 111 -mtim csvdata.rwl 145 -mtim csvmtit.rwl 121 +mtim csvdata.rwl 150 +mtim csvmtit.rwl 122 mtit xcvalues.rwl 22 -mtit_affinity parameters.rwl 367 -mtit_array_size parameters.rwl 365 -mtit_count_ins_rows mtit_declarations.rwl 68 -mtit_get_seq mtit_declarations.rwl 133 -mtit_initialize mtit_declarations.rwl 57 -mtit_ins_rows mtit_declarations.rwl 125 -mtit_ins_sql mtit_declarations.rwl 137 -mtit_instance mtit_declarations.rwl 56 -mtit_max_payload mtit_declarations.rwl 54 -mtit_rev_double parameters.rwl 370 -mtit_rows_per_exec parameters.rwl 364 -mtit_seq mtit_declarations.rwl 72 -mtit_set_type mtit_declarations.rwl 74 -mtit_tab mtit_declarations.rwl 72 -mtit_threads parameters.rwl 363 -mtit_type parameters.rwl 366 -mtit_type_text parameters.rwl 371 -mtit_xc parameters.rwl 369 +mtit_affinity parameters.rwl 372 +mtit_array_size parameters.rwl 370 +mtit_count_ins_rows mtit_declarations.rwl 70 +mtit_get_seq mtit_declarations.rwl 135 +mtit_initialize mtit_declarations.rwl 59 +mtit_ins_rows mtit_declarations.rwl 127 +mtit_ins_sql mtit_declarations.rwl 139 +mtit_instance mtit_declarations.rwl 58 +mtit_max_payload mtit_declarations.rwl 56 +mtit_rev_double parameters.rwl 375 +mtit_rows_per_exec parameters.rwl 369 +mtit_seq mtit_declarations.rwl 74 +mtit_set_type mtit_declarations.rwl 76 +mtit_tab mtit_declarations.rwl 74 +mtit_threads parameters.rwl 368 +mtit_type parameters.rwl 371 +mtit_type_text parameters.rwl 376 +mtit_xc parameters.rwl 374 mtittype xcchange.rwl 41 -mtxt csvdata.rwl 145 -mtxt csvmtit.rwl 121 -mtyp csvdata.rwl 145 -mtyp csvmtit.rwl 121 -my_loop aw_declarations.rwl 110 -my_thread aw_declarations.rwl 110 +mtxt csvdata.rwl 150 +mtxt csvmtit.rwl 122 +mtyp csvdata.rwl 150 +mtyp csvmtit.rwl 122 +my_loop aw_declarations.rwl 111 +my_thread aw_declarations.rwl 111 myarraysize xcchange.rwl 43 -mycstormsid cstorm_implementation.rwl 38 +mycstormsid cstorm_implementation.rwl 39 mycursorcache xcchange.rwl 34 mydate oerhtmlday.rwl 11 myhost xcchange.rwl 20 @@ -687,8 +712,8 @@ mykomment plotrunwetim.rwl 17 myproccount xcchange.rwl 35 myratefactor xcchange.rwl 24 myrunnumber kommentops.rwl 16 -myrunnumber plotinfo.rwl 15 -myrunsec aw_declarations.rwl 291 +myrunnumber plotinfo.rwl 16 +myrunsec aw_declarations.rwl 292 myrunsec oe_handle_orders.rwl 193 myrunsec oe_handle_orders.rwl 934 myrunsec oe_handle_orders.rwl 994 @@ -698,30 +723,30 @@ nam oe_long_session.rwl 9 newenv kommentops.rwl 56 newkomment kommentops.rwl 14 nextdouble aw_cols.rwl 132 -no_awr_interval csvdata.rwl 40 +no_awr_interval csvdata.rwl 41 nopool xcchange.rwl 37 nopool xccoreparam.rwl 17 -normal_connect parameters.rwl 290 -normal_stddev parameters.rwl 344 -notused csvdata.rwl 489 +normal_connect parameters.rwl 295 +normal_stddev parameters.rwl 349 +notused csvdata.rwl 494 num_rows mtit_create.rwl 119 -nvlstring csvdata.rwl 484 +nvlstring csvdata.rwl 489 o1 oe_handle_orders.rwl 694 o2 oe_handle_orders.rwl 694 -oercount csvdata.rwl 29 -oercount csvmtit.rwl 10 -oerheader csvdata.rwl 35 -oerlist csvdata.rwl 34 +oercount csvdata.rwl 30 +oercount csvmtit.rwl 11 +oerheader csvdata.rwl 36 +oerlist csvdata.rwl 35 oerlist oerhtmlday.rwl 77 oerlisting oerhtmlday.rwl 75 -oerpivot csvdata.rwl 735 -oerpivotsql csvdata.rwl 532 -oerreverse csvdata.rwl 36 -oerrow csvdata.rwl 485 -oertable csvdata.rwl 754 -oertablesql csvdata.rwl 544 -offtime cstorm_implementation.rwl 58 -offtime csvdata.rwl 776 +oerpivot csvdata.rwl 740 +oerpivotsql csvdata.rwl 537 +oerreverse csvdata.rwl 37 +oerrow csvdata.rwl 490 +oertable csvdata.rwl 759 +oertablesql csvdata.rwl 549 +offtime cstorm_implementation.rwl 59 +offtime csvdata.rwl 781 oldenv kommentops.rwl 57 olines oerhtmlday.rwl 15 one runping.rwl 30 @@ -730,11 +755,11 @@ only_directories parameters2shell.rwl 19 only_plus parameters2shell.rwl 16 onlyone latest.rwl 22 onrac timemodel.rwl 41 -openbatch csvdata.rwl 258 -openbatch run.rwl 549 -openpool csvdata.rwl 258 -openpool mtitrun.rwl 80 -openpool run.rwl 549 +openbatch csvdata.rwl 263 +openbatch run.rwl 561 +openpool csvdata.rwl 263 +openpool mtitrun.rwl 83 +openpool run.rwl 561 openses plotfigures.rwl 56 ord_rowid oe_handle_orders.rwl 385 order_date oe_handle_orders.rwl 626 @@ -753,14 +778,16 @@ order_total oe_handle_orders.rwl 695 order_total oe_handle_orders.rwl 754 order_total oe_handle_orders.rwl 89 orderby latest.rwl 21 -orders_hashcount parameters.rwl 130 +orders_hashcount parameters.rwl 132 orders_made oe_handle_orders.rwl 81 ordid oepartalloc.rwl 21 +osstat_getres timemodel.rwl 202 +osstat_save timemodel.rwl 241 otherterm timemodel.rwl 39 out create_schemas.rwl 15 out_order_id oe_handle_orders.rwl 86 outf scalefract.rwl 24 -ovid2load mtit_declarations.rwl 129 +ovid2load mtit_declarations.rwl 131 ovidarray /home/bengsig/rwloadsim/public/ovid2.rwl 69 ovidstring /home/bengsig/rwloadsim/public/ovid2.rwl 7073 ovidstring2 /home/bengsig/rwloadsim/public/ovid2.rwl 7085 @@ -769,7 +796,7 @@ p_user create_schemas.rwl 17 p_user drop_schemas.rwl 13 parsefailure xcchange.rwl 27 passwords parameters2shell.rwl 22 -payload mtit_declarations.rwl 128 +payload mtit_declarations.rwl 130 pcnt oe_fillproducts.rwl 15 pcode oe_fillcustomers.rwl 14 pcount runtrunc.rwl 40 @@ -790,13 +817,13 @@ pid oe_fillproducts.rwl 8 pid oe_fillwarehouses.rwl 6 pingbegt timemodel.rwl 111 pingcsv runping.rwl 32 -pivotstring csvdata.rwl 486 +pivotstring csvdata.rwl 491 plot_cpu_only plotfigures.rwl 23 plotfigures plotfigures.rwl 25 -plotfil2 csvdata.rwl 32 -plotfil2 csvmtit.rwl 13 -plotfile csvdata.rwl 32 -plotfile csvmtit.rwl 13 +plotfil2 csvdata.rwl 33 +plotfil2 csvmtit.rwl 14 +plotfile csvdata.rwl 33 +plotfile csvmtit.rwl 14 plotfile histdata.rwl 16 plotfile mtitplotwe.rwl 23 plotfile plotfigures.rwl 21 @@ -804,13 +831,14 @@ plotfile plotruntp.rwl 20 plotfile plotrunwetim.rwl 20 plotfile prepare.rwl 12 plotfile runsys.rwl 34 -plotline csvdata.rwl 562 -plotline csvmtit.rwl 16 +plotline csvdata.rwl 567 +plotline csvmtit.rwl 17 +plotorder csvdata.rwl 836 plotruntp plotruntp.rwl 22 plotweres mtitplotwe.rwl 25 plotweres plotrunwetim.rwl 22 pna oe_fillproducts.rwl 9 -pool_connect parameters.rwl 292 +pool_connect parameters.rwl 297 pool_mb1 runsys.rwl 90 pool_mb2 runsys.rwl 90 pool_mb3 runsys.rwl 90 @@ -821,13 +849,13 @@ pool_mb7 runsys.rwl 91 pool_mb8 runsys.rwl 91 pool_name runsys.rwl 92 pool_rs runsys.rwl 90 -pool_size_interval parameters.rwl 268 -pool_type parameters.rwl 291 +pool_size_interval parameters.rwl 273 +pool_type parameters.rwl 296 prefinst oltpawr.rwl 123 probystat oe_fillproducts.rwl 64 -proccount parameters.rwl 73 -procminus1 mtit_declarations.rwl 192 -procnumber parameters.rwl 72 +proccount parameters.rwl 75 +procminus1 mtit_declarations.rwl 195 +procnumber parameters.rwl 74 prod_id oe_long_session.rwl 11 product_description oe_handle_orders.rwl 649 product_description oe_handle_orders.rwl 696 @@ -848,18 +876,35 @@ prvdbcpu timemodel.rwl 108 prvdbtim timemodel.rwl 109 pstat oe_fillproducts.rwl 12 pstat oe_fillwarehouses.rwl 8 +psys1 timemodel.rwl 199 +psys2 timemodel.rwl 199 +psys3 timemodel.rwl 199 +psys4 timemodel.rwl 199 +psys5 timemodel.rwl 199 +psys6 timemodel.rwl 199 +psys7 timemodel.rwl 199 +psys8 timemodel.rwl 199 +pusr1 timemodel.rwl 198 +pusr2 timemodel.rwl 198 +pusr3 timemodel.rwl 198 +pusr4 timemodel.rwl 198 +pusr5 timemodel.rwl 198 +pusr6 timemodel.rwl 198 +pusr7 timemodel.rwl 198 +pusr8 timemodel.rwl 198 +pusrsystim timemodel.rwl 200 q aw_cols.rwl 31 -qo_atim csvdata.rwl 420 +qo_atim csvdata.rwl 425 qo_cnt plotrunwetim.rwl 44 -qo_dtim csvdata.rwl 420 +qo_dtim csvdata.rwl 425 qo_et plotrunwetim.rwl 44 -qo_exec csvdata.rwl 418 -qo_sleep_avg parameters.rwl 354 -qo_sleep_fac parameters.rwl 356 -qo_wait csvdata.rwl 418 +qo_exec csvdata.rwl 423 +qo_sleep_avg parameters.rwl 359 +qo_sleep_fac parameters.rwl 361 +qo_wait csvdata.rwl 423 qo_wt plotrunwetim.rwl 44 -qry_awrtim csvdata.rwl 176 -qry_awrtim csvmtit.rwl 152 +qry_awrtim csvdata.rwl 181 +qry_awrtim csvmtit.rwl 153 qrysec timemodel.rwl 124 qtt oe_fillwarehouses.rwl 33 quantity oe_handle_orders.rwl 117 @@ -870,20 +915,20 @@ quantity oe_handle_orders.rwl 758 quantity oe_handle_products.rwl 60 quantity_on_hand oe_handle_orders.rwl 383 quantity_on_hand oe_handle_products.rwl 62 -query_factor parameters.rwl 99 +query_factor parameters.rwl 101 query_order oe_handle_orders.rwl 751 query_order_count oe_handle_orders.rwl 747 query_order_items oe_handle_orders.rwl 748 -query_order_max_limit parameters.rwl 137 -queryorder run.rwl 102 -queryorder_weight parameters.rwl 104 +query_order_max_limit parameters.rwl 139 +queryorder run.rwl 103 +queryorder_weight parameters.rwl 106 r_key prepare.rwl 23 -rampfactor parameters.rwl 54 +rampfactor parameters.rwl 56 rampup parameters2shell.rwl 78 -ratefactor parameters.rwl 42 -ratefactor_divisor parameters.rwl 391 -ratefactor_multiplier parameters.rwl 389 -rategradient parameters.rwl 49 +ratefactor parameters.rwl 44 +ratefactor_divisor parameters.rwl 402 +ratefactor_multiplier parameters.rwl 400 +rategradient parameters.rwl 51 rcnt xcdefault.rwl 46 rda check_for_key.rwl 16 rdate kommentops.rwl 18 @@ -891,32 +936,32 @@ rdate oerhtmlday.rwl 11 rdate prepare.rwl 20 repchg xc_implementation.rwl 51 rescre create_schemas.rwl 51 -resname csvdata.rwl 336 +resname csvdata.rwl 341 resok timemodel.rwl 113 -results_connect parameters.rwl 287 -results_in_test parameters.rwl 285 -results_password parameters.rwl 289 -results_username parameters.rwl 288 -resultsdir parameters.rwl 273 -retval csvdata.rwl 48 -retval csvmtit.rwl 27 +results_connect parameters.rwl 292 +results_in_test parameters.rwl 290 +results_password parameters.rwl 294 +results_username parameters.rwl 293 +resultsdir parameters.rwl 278 +retval csvdata.rwl 49 +retval csvmtit.rwl 28 rixd mtit_create.rwl 104 rn runping.rwl 41 rno check_for_key.rwl 14 -rno csvdata.rwl 777 +rno csvdata.rwl 782 rno latest.rwl 30 -rno mtit_declarations.rwl 126 +rno mtit_declarations.rwl 128 rowspins xcchange.rwl 42 -run cstorm_implementation.rwl 72 -run mtitrun.rwl 62 -run run.rwl 281 +run cstorm_implementation.rwl 73 +run mtitrun.rwl 65 +run run.rwl 293 run runping.rwl 81 run runsys.rwl 178 run runtrunc.rwl 58 -runcstorm_implementation cstorm_implementation.rwl 72 -runmtitrun mtitrun.rwl 62 -runno csvdata.rwl 29 -runno csvmtit.rwl 10 +runcstorm_implementation cstorm_implementation.rwl 73 +runmtitrun mtitrun.rwl 65 +runno csvdata.rwl 30 +runno csvmtit.rwl 11 runno histdata.rwl 13 runno markdone.rwl 8 runno mtitplotwe.rwl 21 @@ -929,87 +974,90 @@ runno plotrunwetim.rwl 18 runno scalefract.rwl 18 runno subdir.rwl 6 runno x2range.rwl 21 -runperiod parameters.rwl 127 -runplot_width parameters.rwl 236 -runrun run.rwl 281 +runperiod parameters.rwl 129 +runplot_width parameters.rwl 241 +runrun run.rwl 293 runrunping runping.rwl 81 runrunsys runsys.rwl 178 runruntrunc runtrunc.rwl 58 -runsecmul mtit_declarations.rwl 192 +runsec /home/bengsig/myoltp/myoltp.rwl 184 +runsecmul mtit_declarations.rwl 195 rwl_aw aw_user.rwl 14 -rwl_aw1 aw_sizeinfo.rwl 10 -rwl_aw1_password parameters.rwl 296 -rwl_aw1_username parameters.rwl 295 -rwl_aw2_password parameters.rwl 298 -rwl_aw2_username parameters.rwl 297 +rwl_aw1 aw_sizeinfo.rwl 11 +rwl_aw1_password parameters.rwl 301 +rwl_aw1_username parameters.rwl 300 +rwl_aw2_password parameters.rwl 303 +rwl_aw2_username parameters.rwl 302 rwl_aw_create aw_cols.rwl 13 -rwl_daily_html parameters.rwl 81 -rwl_heading parameters.rwl 79 -rwl_max_batch parameters.rwl 90 -rwl_max_pool parameters.rwl 60 -rwl_min_batch parameters.rwl 89 -rwl_min_pool parameters.rwl 59 -rwl_oe_password parameters.rwl 300 +rwl_daily_html parameters.rwl 83 +rwl_heading parameters.rwl 81 +rwl_max_batch parameters.rwl 92 +rwl_max_pool parameters.rwl 62 +rwl_min_batch parameters.rwl 91 +rwl_min_pool parameters.rwl 61 +rwl_oe_password parameters.rwl 305 rwl_oe_pool oe_user.rwl 8 -rwl_oe_username parameters.rwl 299 +rwl_oe_username parameters.rwl 304 rwl_ping runping.rwl 24 -rwl_pool_release parameters.rwl 61 +rwl_pool_release parameters.rwl 63 rwl_run run_user.rwl 122 -rwl_run1_password parameters.rwl 302 -rwl_run1_username parameters.rwl 301 -rwl_run2_password parameters.rwl 304 -rwl_run2_username parameters.rwl 303 +rwl_run1_password parameters.rwl 307 +rwl_run1_username parameters.rwl 306 +rwl_run2_password parameters.rwl 309 +rwl_run2_username parameters.rwl 308 rwl_run_batch run_user.rwl 164 -rwl_run_like parameters.rwl 305 +rwl_run_like parameters.rwl 310 rwl_run_mtit mtit_user.rwl 11 rwl_run_pool run_user.rwl 129 -rwl_run_storm cstorm_implementation.rwl 16 -rwl_title parameters.rwl 306 +rwl_run_storm cstorm_implementation.rwl 18 +rwl_title parameters.rwl 311 rwloadsim results.rwl 8 -rwloadsimdir parameters.rwl 286 +rwloadsimdir parameters.rwl 291 s /home/bengsig/rwloadsim/public/ovid2.rwl 7089 -s run.rwl 113 -s24h_hard_avg parameters.rwl 209 -s24h_hard_beg parameters.rwl 211 -s24h_hard_end parameters.rwl 212 -s24h_hard_prb parameters.rwl 214 -s24h_hard_skp parameters.rwl 213 -s24h_hard_std parameters.rwl 210 -s24h_high_beg parameters.rwl 201 -s24h_high_end parameters.rwl 202 -s24h_high_std parameters.rwl 203 -s24h_load_hi parameters.rwl 204 -s24h_load_lo parameters.rwl 205 -s24h_load_std parameters.rwl 206 -s24h_scan_avg parameters.rwl 216 -s24h_scan_beg parameters.rwl 218 -s24h_scan_end parameters.rwl 219 -s24h_scan_prb parameters.rwl 221 -s24h_scan_skp parameters.rwl 220 -s24h_scan_std parameters.rwl 217 -s24hour parameters.rwl 195 -s24line csvdata.rwl 205 -s24markerfile csvdata.rwl 204 -s24markers run.rwl 184 +s run.rwl 114 +s24h_hard_avg parameters.rwl 211 +s24h_hard_beg parameters.rwl 213 +s24h_hard_end parameters.rwl 214 +s24h_hard_prb parameters.rwl 216 +s24h_hard_skp parameters.rwl 215 +s24h_hard_std parameters.rwl 212 +s24h_high_beg parameters.rwl 203 +s24h_high_end parameters.rwl 204 +s24h_high_std parameters.rwl 205 +s24h_load_hi parameters.rwl 206 +s24h_load_lo parameters.rwl 207 +s24h_load_std parameters.rwl 208 +s24h_scan_avg parameters.rwl 218 +s24h_scan_beg parameters.rwl 220 +s24h_scan_end parameters.rwl 221 +s24h_scan_prb parameters.rwl 223 +s24h_scan_skp parameters.rwl 222 +s24h_scan_std parameters.rwl 219 +s24hour parameters.rwl 197 +s24line csvdata.rwl 210 +s24markerfile csvdata.rwl 209 +s24markers run.rwl 196 s_afty xc_implementation.rwl 226 -s_col1 aw_declarations.rwl 25 -s_rowid aw_declarations.rwl 28 -s_tokid aw_declarations.rwl 23 +s_col1 aw_declarations.rwl 26 +s_rowid aw_declarations.rwl 29 +s_tokid aw_declarations.rwl 24 savecaches runsys.rwl 89 -saveres cstorm_implementation.rwl 55 +saveres cstorm_implementation.rwl 56 savtim oltpawr.rwl 230 -script_ramp parameters.rwl 68 +scount csvmtit.rwl 270 +script_ramp parameters.rwl 70 search_products oe_handle_products.rwl 15 searches_made oe_handle_products.rwl 9 -searchproduct run.rwl 98 -searchproduct_weight parameters.rwl 105 +searchproduct run.rwl 99 +searchproduct_weight parameters.rwl 107 searchtext oe_handle_products.rwl 15 sec eatcpu.rwl 9 -sec mtitrun.rwl 79 -sec run.rwl 548 +sec mtitrun.rwl 82 +sec run.rwl 560 secnow timemodel.rwl 111 -second csvdata.rwl 98 -second csvmtit.rwl 77 +second csvdata.rwl 103 +second csvmtit.rwl 78 +second csvosstat.rwl 15 second mtitplotwe.rwl 40 second plotfigures.rwl 87 second plotruntp.rwl 43 @@ -1032,18 +1080,18 @@ sel_order_to_ship oe_handle_orders.rwl 388 sel_product oe_handle_orders.rwl 138 sel_product_failure oe_handle_orders.rwl 149 sel_shipped_orders oe_handle_orders.rwl 629 -sel_tok_sql aw_declarations.rwl 37 +sel_tok_sql aw_declarations.rwl 38 sel_toship oe_handle_orders.rwl 576 sel_tot_orders oe_handle_orders.rwl 564 -sel_xtr_sql aw_declarations.rwl 92 +sel_xtr_sql aw_declarations.rwl 93 selaos_sql plotfigures.rwl 57 -selcli csvdata.rwl 260 -selcli csvmtit.rwl 217 +selcli csvdata.rwl 265 +selcli csvmtit.rwl 218 selcountres_sql plotfigures.rwl 31 selfract histdata.rwl 83 selhist_sql histdata.rwl 22 -selinst_sql csvdata.rwl 236 -selinst_sql csvmtit.rwl 195 +selinst_sql csvdata.rwl 241 +selinst_sql csvmtit.rwl 196 selinst_sql plotfigures.rwl 72 selinv oe_fillwarehouses.rwl 93 selk check_for_key.rwl 21 @@ -1052,75 +1100,91 @@ selminsec_sql plotfigures.rwl 40 selminsec_sql plotruntp.rwl 27 selminsec_sql plotrunwetim.rwl 27 seloer oerhtml.rwl 19 -seloercnt csvdata.rwl 491 +seloercnt csvdata.rwl 496 selprod oe_long_session.rwl 14 selpstat oe_fillwarehouses.rwl 26 -seltimm_sql csvdata.rwl 99 -seltimm_sql csvmtit.rwl 78 +seltimm_sql csvdata.rwl 104 +seltimm_sql csvmtit.rwl 79 seltimm_sql plotfigures.rwl 88 -seltps_sql csvdata.rwl 274 +seltps_sql csvdata.rwl 279 seltps_sql plotruntp.rwl 45 selvkdat scalefract.rwl 35 -seq mtit_declarations.rwl 131 -seqplace mtit_declarations.rwl 75 +seq mtit_declarations.rwl 133 +seqplace mtit_declarations.rwl 77 ses_parallel aw_cols.rwl 193 sessionleak xcchange.rwl 25 setdbname prepare.rwl 93 ship_many_orders oe_handle_orders.rwl 556 ship_order oe_handle_orders.rwl 381 -shiporder_weight parameters.rwl 114 -shiporders run.rwl 90 +shiporder_weight parameters.rwl 116 +shiporders run.rwl 91 shipped_items oe_handle_orders.rwl 499 -show_changed_values parameters.rwl 160 +show_changed_values parameters.rwl 162 showall latest.rwl 18 -showstart run.rwl 173 +showstart run.rwl 185 showthem oe_fillcustomers.rwl 71 -simulatebatch parameters.rwl 96 +simulatebatch parameters.rwl 98 skipnegative col_averages.rwl 11 sltp oe_handle_orders.rwl 695 snap oltpawr.rwl 19 -soer csvdata.rwl 487 -sp_atim csvdata.rwl 419 -sp_dtim csvdata.rwl 419 -sp_exec csvdata.rwl 417 -sp_wait csvdata.rwl 417 +soer csvdata.rwl 492 +sp_atim csvdata.rwl 424 +sp_dtim csvdata.rwl 424 +sp_exec csvdata.rwl 422 +sp_wait csvdata.rwl 422 space create_schemas.rwl 17 sqlddl create_schemas.rwl 20 sqlddl drop_schemas.rwl 16 -sqrt_query_factor parameters.rwl 465 +sqrt_query_factor parameters.rwl 476 src_products oe_handle_products.rwl 25 starttime ashstep1.rwl 31 -starttime csvdata.rwl 38 -starttime csvmtit.rwl 18 +starttime csvdata.rwl 39 +starttime csvmtit.rwl 19 starttime prepare.rwl 22 stock_added oe_handle_products.rwl 54 stock_increased oe_handle_products.rwl 53 -stocks run.rwl 113 -stockup run.rwl 111 -stockup_weight parameters.rwl 108 +stocks run.rwl 114 +stockup run.rwl 112 +stockup_weight parameters.rwl 110 stopnow xcchange.rwl 36 stopnow xccoreparam.rwl 16 -storm_results cstorm_implementation.rwl 25 +storm_results cstorm_implementation.rwl 27 str /home/bengsig/rwloadsim/public/ovid2.rwl 7076 str /home/bengsig/rwloadsim/public/ovid2.rwl 7088 -subdir parameters.rwl 274 -success csvdata.rwl 834 +subdir parameters.rwl 279 +success csvdata.rwl 841 suggest check_directories.rwl 12 -sumdbtime csvdata.rwl 92 -sumdbtime csvmtit.rwl 71 +sumdbtime csvdata.rwl 97 +sumdbtime csvmtit.rwl 72 sume oe_handle_orders.rwl 695 -svgmouse parameters.rwl 723 -sys mtitrun.rwl 79 -sys run.rwl 548 -sysawr_connect parameters.rwl 281 -sysawr_password parameters.rwl 283 -sysawr_username parameters.rwl 282 +svgmouse parameters.rwl 738 +sys mtitrun.rwl 82 +sys run.rwl 560 +sys1 csvosstat.rwl 14 +sys1 timemodel.rwl 197 +sys2 csvosstat.rwl 14 +sys2 timemodel.rwl 197 +sys3 csvosstat.rwl 14 +sys3 timemodel.rwl 197 +sys4 csvosstat.rwl 14 +sys4 timemodel.rwl 197 +sys5 csvosstat.rwl 14 +sys5 timemodel.rwl 197 +sys6 csvosstat.rwl 14 +sys6 timemodel.rwl 197 +sys7 csvosstat.rwl 14 +sys7 timemodel.rwl 197 +sys8 csvosstat.rwl 14 +sys8 timemodel.rwl 197 +sysawr_connect parameters.rwl 286 +sysawr_password parameters.rwl 288 +sysawr_username parameters.rwl 287 sysawrdb systemdb.rwl 14 sysres scalefract.rwl 95 -syssave_interval parameters.rwl 239 -system_connect parameters.rwl 275 -system_password parameters.rwl 277 -system_username parameters.rwl 276 +syssave_interval parameters.rwl 244 +system_connect parameters.rwl 280 +system_password parameters.rwl 282 +system_username parameters.rwl 281 systemdb systemdb.rwl 8 t_dbsystim timemodel.rwl 36 t_name timemodel.rwl 34 @@ -1128,40 +1192,40 @@ t_pingqry timemodel.rwl 101 t_query timemodel.rwl 44 t_query_gv timemodel.rwl 72 t_val timemodel.rwl 35 -t_val1 timemodel.rwl 203 -t_val2 timemodel.rwl 203 -t_val3 timemodel.rwl 203 +t_val1 timemodel.rwl 303 +t_val2 timemodel.rwl 303 +t_val3 timemodel.rwl 303 takehere oe_handle_orders.rwl 477 tellnoawr runsys.rwl 83 -termdist timemodel.rwl 203 +termdist timemodel.rwl 303 termdist_query timemodel.rwl 60 termdist_query_gv timemodel.rwl 88 -test_aw_transaction aw_declarations.rwl 254 -testdebug parameters.rwl 156 -thissec mtitrun.rwl 78 -thissec run.rwl 547 -thissys mtitrun.rwl 78 -thissys run.rwl 547 +test_aw_transaction aw_declarations.rwl 255 +testdebug parameters.rwl 158 +thissec mtitrun.rwl 81 +thissec run.rwl 559 +thissys mtitrun.rwl 81 +thissys run.rwl 559 thisterm timemodel.rwl 39 -thisusr mtitrun.rwl 78 -thisusr run.rwl 547 -threadcount parameters.rwl 92 -threadcount_divisor parameters.rwl 392 -threadcount_multiplier parameters.rwl 390 -thrid csvdata.rwl 775 +thisusr mtitrun.rwl 81 +thisusr run.rwl 559 +threadcount parameters.rwl 94 +threadcount_divisor parameters.rwl 403 +threadcount_multiplier parameters.rwl 401 +thrid csvdata.rwl 780 tim1 runping.rwl 34 tim2 runping.rwl 34 tim3 runping.rwl 34 -time_out parameters.rwl 45 +time_out parameters.rwl 47 timemodel_getres timemodel.rwl 116 -timemodel_insert timemodel.rwl 208 -timemodel_save timemodel.rwl 201 +timemodel_insert timemodel.rwl 308 +timemodel_save timemodel.rwl 301 timenow eatcpu.rwl 10 -tit1 csvdata.rwl 780 -tit2 csvdata.rwl 780 -tit3 csvdata.rwl 780 -tmatch csvdata.rwl 47 -tmatch csvmtit.rwl 26 +tit1 csvdata.rwl 785 +tit2 csvdata.rwl 785 +tit3 csvdata.rwl 785 +tmatch csvdata.rwl 48 +tmatch csvmtit.rwl 27 to_be_shipped oe_handle_orders.rwl 559 tot /home/bengsig/rwloadsim/public/ovid2.rwl 7090 tot aw_cols.rwl 212 @@ -1171,16 +1235,16 @@ total oerhtml.rwl 15 total_cnt plotrunwetim.rwl 46 total_on_hand oe_handle_orders.rwl 424 totaltime prepare.rwl 28 -totashcpu csvdata.rwl 653 -totashcpu csvmtit.rwl 379 +totashcpu csvdata.rwl 658 +totashcpu csvmtit.rwl 400 totinv oe_fillwarehouses.rwl 92 trunctables runtrunc.rwl 20 -trylogon cstorm_implementation.rwl 45 +trylogon cstorm_implementation.rwl 46 tshi x2range.rwl 27 tslo x2range.rwl 27 -tstamp csvdata.rwl 259 +tstamp csvdata.rwl 264 txt aw_cols.rwl 29 -txt aw_declarations.rwl 287 +txt aw_declarations.rwl 288 txt oerhtml.rwl 17 txt xc_implementation.rwl 39 uname instdist.rwl 14 @@ -1188,92 +1252,111 @@ uname instdist.rwl 43 unit_price oe_handle_orders.rwl 117 unit_price oe_handle_orders.rwl 650 unit_price oe_handle_orders.rwl 757 -upd_det_sql aw_declarations.rwl 76 +upd_det_sql aw_declarations.rwl 77 upd_inventory oe_handle_orders.rwl 480 upd_inventory oe_handle_products.rwl 80 upd_order oe_handle_orders.rwl 107 upd_ship_order oe_handle_orders.rwl 415 -upd_tok_sql aw_declarations.rwl 43 -upd_tok_sql_failure aw_declarations.rwl 50 -upd_xtr_sql aw_declarations.rwl 68 +upd_tok_sql aw_declarations.rwl 44 +upd_tok_sql_failure aw_declarations.rwl 51 +upd_xtr_sql aw_declarations.rwl 69 updprod oe_long_session.rwl 28 usr check_directories.rwl 10 -usr mtitrun.rwl 79 -usr run.rwl 548 -val mtit_declarations.rwl 127 -val1 csvdata.rwl 273 -val2 csvdata.rwl 273 -val3 csvdata.rwl 273 -val4 csvdata.rwl 273 -val5 csvdata.rwl 273 -val6 csvdata.rwl 273 -val7 csvdata.rwl 273 -val8 csvdata.rwl 273 -val9 csvdata.rwl 273 +usr mtitrun.rwl 82 +usr run.rwl 560 +usr1 csvosstat.rwl 13 +usr1 timemodel.rwl 196 +usr2 csvosstat.rwl 13 +usr2 timemodel.rwl 196 +usr3 csvosstat.rwl 13 +usr3 timemodel.rwl 196 +usr4 csvosstat.rwl 13 +usr4 timemodel.rwl 196 +usr5 csvosstat.rwl 13 +usr5 timemodel.rwl 196 +usr6 csvosstat.rwl 13 +usr6 timemodel.rwl 196 +usr7 csvosstat.rwl 13 +usr7 timemodel.rwl 196 +usr8 csvosstat.rwl 13 +usr8 timemodel.rwl 196 +usrsystim timemodel.rwl 200 +ustsdif timemodel.rwl 244 +val mtit_declarations.rwl 129 +val1 csvdata.rwl 278 +val2 csvdata.rwl 278 +val3 csvdata.rwl 278 +val4 csvdata.rwl 278 +val5 csvdata.rwl 278 +val6 csvdata.rwl 278 +val7 csvdata.rwl 278 +val8 csvdata.rwl 278 +val9 csvdata.rwl 278 vname histdata.rwl 81 vname scalefract.rwl 17 waitsec xcchange.rwl 31 warehouse_id oe_handle_products.rwl 58 -warehouse_id run.rwl 112 -warehouse_received run.rwl 107 +warehouse_id run.rwl 113 +warehouse_received run.rwl 108 was_shipped oe_handle_orders.rwl 379 wburst_count command line 1 -wburst_count parameters.rwl 174 -wburst_length parameters.rwl 176 -wburst_run run.rwl 225 -wburst_start parameters.rwl 175 -wburst_wait run.rwl 218 +wburst_count parameters.rwl 176 +wburst_length parameters.rwl 178 +wburst_run run.rwl 237 +wburst_start parameters.rwl 177 +wburst_wait run.rwl 230 wcount /home/bengsig/rwloadsim/public/ovid2.rwl 7073 -wholeaffin mtit_declarations.rwl 126 +wholeaffin mtit_declarations.rwl 128 wid oe_fillwarehouses.rwl 5 withdesc oe_handle_orders.rwl 751 withdml oe_long_session.rwl 9 -wma10 csvdata.rwl 404 -wmavg csvdata.rwl 404 -wmcount csvdata.rwl 367 -wmcount csvmtit.rwl 275 -wmean csvdata.rwl 366 -wmean csvmtit.rwl 274 -wmeantot csvdata.rwl 366 -wmeantot csvmtit.rwl 274 +wma10 csvdata.rwl 409 +wmavg csvdata.rwl 409 +wmcount csvdata.rwl 372 +wmcount csvmtit.rwl 296 +wmean csvdata.rwl 371 +wmean csvmtit.rwl 295 +wmeantot csvdata.rwl 371 +wmeantot csvmtit.rwl 295 wna oe_fillwarehouses.rwl 7 wrapfetch runping.rwl 42 writeping runping.rwl 48 -xc_badplan parameters.rwl 324 -xc_cpusec parameters.rwl 326 -xc_cursorcache parameters.rwl 319 -xc_cursorleak parameters.rwl 320 -xc_enabled parameters.rwl 310 -xc_hardparse parameters.rwl 315 -xc_ignore_parsefailure parameters.rwl 330 +wtime csvmtit.rwl 269 +xc_badplan parameters.rwl 329 +xc_cpusec parameters.rwl 331 +xc_cursorcache parameters.rwl 324 +xc_cursorleak parameters.rwl 325 +xc_enabled parameters.rwl 315 +xc_hardparse parameters.rwl 320 +xc_ignore_parsefailure parameters.rwl 335 xc_kill xc_implementation.rwl 310 -xc_loadfactor parameters.rwl 314 -xc_logoffrate parameters.rwl 323 +xc_loadfactor parameters.rwl 319 +xc_logoffrate parameters.rwl 328 xc_marker xc_implementation.rwl 39 -xc_maxpool parameters.rwl 318 -xc_minpool parameters.rwl 317 -xc_nopool parameters.rwl 328 -xc_parsefailure parameters.rwl 316 -xc_proccount parameters.rwl 327 -xc_ratefactor parameters.rwl 313 +xc_maxpool parameters.rwl 323 +xc_minpool parameters.rwl 322 +xc_nopool parameters.rwl 333 +xc_parsefailure parameters.rwl 321 +xc_proccount parameters.rwl 332 +xc_ratefactor parameters.rwl 318 xc_read xc_implementation.rwl 51 -xc_refresh parameters.rwl 312 -xc_run_dedicated run.rwl 24 -xc_sessionleak parameters.rwl 321 -xc_sessionwait parameters.rwl 329 -xc_stopnow parameters.rwl 322 -xc_waitsec parameters.rwl 325 -xcolor csvdata.rwl 39 -xcolor csvmtit.rwl 19 -xeqpsec parameters.rwl 499 -xeqpshi parameters.rwl 505 -xeqpslo parameters.rwl 504 +xc_refresh parameters.rwl 317 +xc_run_dedicated run.rwl 25 +xc_sessionleak parameters.rwl 326 +xc_sessionwait parameters.rwl 334 +xc_stopnow parameters.rwl 327 +xc_waitsec parameters.rwl 330 +xcolor csvdata.rwl 40 +xcolor csvmtit.rwl 20 +xeqpsec parameters.rwl 510 +xeqpshi parameters.rwl 516 +xeqpslo parameters.rwl 515 xhi x2range.rwl 23 xlo x2range.rwl 22 -xseconds csvdata.rwl 46 -xseconds csvmtit.rwl 25 -xtim csvdata.rwl 46 -xtim csvmtit.rwl 25 +xseconds csvdata.rwl 47 +xseconds csvmtit.rwl 26 +xtim csvdata.rwl 47 +xtim csvmtit.rwl 26 xwidth mtitplotwe.rwl 25 xwidth plotfigures.rwl 25 xwidth plotruntp.rwl 22 diff --git a/oltp/timemodel.rwl b/oltp/timemodel.rwl index faf0ea2c..71e86067 100644 --- a/oltp/timemodel.rwl +++ b/oltp/timemodel.rwl @@ -4,6 +4,7 @@ # History # +# bengsig 29-apr-2024 - osstat # bengsig 7-aug-2023 - Exclude negative dbcpu, dbtime # bengsig 2019 - Creation @@ -193,6 +194,106 @@ end; # execute once initially to get first set of values timemodel_getres() at systemdb; +private double usr1:=0, usr2:=0, usr3:=0, usr4:=0, usr5:=0, usr6:=0, usr7:=0, usr8:=0; +private double sys1:=0, sys2:=0, sys3:=0, sys4:=0, sys5:=0, sys6:=0, sys7:=0, sys8:=0; +private double pusr1, pusr2, pusr3, pusr4, pusr5, pusr6, pusr7, pusr8; +private double psys1, psys2, psys3, psys4, psys5, psys6, psys7, psys8; +private double usrsystim := runseconds(), pusrsystim; + +private procedure osstat_getres() + pusr1 := usr1; pusr2 := usr2; pusr3 := usr3; pusr4 := usr4; + pusr5 := usr5; pusr6 := usr6; pusr7 := usr7; pusr8 := usr8; + psys1 := sys1; psys2 := sys2; psys3 := sys3; psys4 := sys4; + psys5 := sys5; psys6 := sys6; psys7 := sys7; psys8 := sys8; + pusrsystim := usrsystim; + usrsystim := runseconds(); + + select + nvl(usr1,0) usr1 , nvl(usr2,0) usr2 , nvl(usr3,0) usr3 , nvl(usr4,0) usr4 + , nvl(usr5,0) usr5 , nvl(usr6,0) usr6 , nvl(usr8,0) usr7 , nvl(usr8,0) usr8 + , nvl(sys1,0) sys1 , nvl(sys2,0) sys2 , nvl(sys3,0) sys3 , nvl(sys4,0) sys4 + , nvl(sys5,0) sys5 , nvl(sys6,0) sys6 , nvl(sys8,0) sys7 , nvl(sys8,0) sys8 + from + ( + ( + select inst_id, stat_name, value/100 cpuseconds + from gv$osstat + where stat_name in ('SYS_TIME','USER_TIME') + and inst_id <= 8 and con_id = 0 + ) + pivot (sum(cpuseconds) + for + (inst_id, stat_name) in + ( (1,'SYS_TIME') as sys1 , (2,'SYS_TIME') as sys2 , (3,'SYS_TIME') as sys3 , (4,'SYS_TIME') as sys4 + , (5,'SYS_TIME') as sys5 , (6,'SYS_TIME') as sys6 , (7,'SYS_TIME') as sys7 , (8,'SYS_TIME') as sys8 + , (1,'USER_TIME') as usr1 , (2,'USER_TIME') as usr2 , (3,'USER_TIME') as usr3 , (4,'USER_TIME') as usr4 + , (5,'USER_TIME') as usr5 , (6,'USER_TIME') as usr6 , (7,'USER_TIME') as usr7 , (8,'USER_TIME') as usr8 + ) + ) + ) + / +end osstat_getres; + +if doosstat then + osstat_getres() at systemdb; +end if; + +# insert into osstat +procedure osstat_save() nostatistics + double iusr1, iusr2, iusr3, iusr4, iusr5, iusr6, iusr7, iusr8; + double isys1, isys2, isys3, isys4, isys5, isys6, isys7, isys8; + double ustsdif; + osstat_getres() at systemdb; + + ustsdif := usrsystim - pusrsystim; + if ustsdif > 0 then + iusr1 := (usr1-pusr1)/ustsdif; iusr2 := (usr2-pusr2)/ustsdif; + iusr3 := (usr3-pusr3)/ustsdif; iusr4 := (usr4-pusr4)/ustsdif; + iusr5 := (usr5-pusr5)/ustsdif; iusr6 := (usr6-pusr6)/ustsdif; + iusr7 := (usr7-pusr7)/ustsdif; iusr8 := (usr8-pusr8)/ustsdif; + isys1 := (sys1-psys1)/ustsdif; isys2 := (sys2-psys2)/ustsdif; + isys3 := (sys3-psys3)/ustsdif; isys4 := (sys4-psys4)/ustsdif; + isys5 := (sys5-psys5)/ustsdif; isys6 := (sys6-psys6)/ustsdif; + isys7 := (sys7-psys7)/ustsdif; isys8 := (sys8-psys8)/ustsdif; + + if + iusr1>=0 and + iusr2>=0 and + iusr3>=0 and + iusr4>=0 and + iusr5>=0 and + iusr6>=0 and + iusr7>=0 and + iusr8>=0 and + isys1>=0 and + isys2>=0 and + isys3>=0 and + isys4>=0 and + isys5>=0 and + isys6>=0 and + isys7>=0 and + isys8>=0 + then + insert into osstat + (runnumber, second + , usr1, usr2, usr3, usr4 + , usr5, usr6, usr7, usr8 + , sys1, sys2, sys3, sys4 + , sys5, sys6, sys7, sys8 + ) + values + ( :runnumber, :usrsystim + , :iusr1, :iusr2, :iusr3, :iusr4 + , :iusr5, :iusr6, :iusr7, :iusr8 + , :isys1, :isys2, :isys3, :isys4 + , :isys5, :isys6, :isys7, :isys8 + ) + / + commit; + end if; + end if; +end osstat_save; + # insert values into the repository database # call this once per second as a thread in # your "run" command. Note that if using From d39a8bffea0edd244b7c114a9de88cbe028d5c8d Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 29 Apr 2024 10:13:48 +0000 Subject: [PATCH 031/118] Fix png files for osstat --- bin/gnuplot-check-version | 28 ++++++++++++++++++++++++++++ bin/mtitplot | 3 +++ bin/oltpplot | 4 ++++ bin/osstat-plot-include | 20 ++++++++++---------- docs/refman/oltpsetup.html | 19 ++++++------------- man/man2rwl/oltpsetup.2rwl | 15 ++++----------- 6 files changed, 55 insertions(+), 34 deletions(-) create mode 100644 bin/gnuplot-check-version diff --git a/bin/gnuplot-check-version b/bin/gnuplot-check-version new file mode 100644 index 00000000..e25582b2 --- /dev/null +++ b/bin/gnuplot-check-version @@ -0,0 +1,28 @@ +# Copyright (c) 2024 Oracle Corporation +# Licensed under the Universal Permissive License v 1.0 +# as shown at https://oss.oracle.com/licenses/upl/ +# +# This file is sourced from oltpplot and mtitplot +# It cannot be called directly from the command line +# +# History +# bengsig 28-apr-2024 - Created +# + +# check gnuplot version +# + +gnuplotversion=$(gnuplot --version | awk '{print $2}') +gnuplotversion10=$(gnuplot --version | awk '{print 10 * $2}') + +if test $gnuplotversion10 -lt 50 +then + svgmouse="mouse jsdir '/usr/share/gnuplot/"$gnuplotversion"/js'" + pngtype=png + dashes="dots lw $lw" +else + svgmouse='mouse standalone' + pngtype=pngcairo + dashes="lines lw $lw dt '-'" +fi + diff --git a/bin/mtitplot b/bin/mtitplot index 77a7e7bc..4abfdb9e 100755 --- a/bin/mtitplot +++ b/bin/mtitplot @@ -92,6 +92,9 @@ fi eval `rwloadsim -q parameters2shell.rwl` eval `rwloadsim -q -A 1 subdir.rwl $runnumber` +# note that this will overwrite gnuplotjs that we no longer use +. gnuplot-check-version + # note that subdir always both starts and ends with '/' # and that is has no blanks. # Hence something like $resultsdir$subdir$runnumber diff --git a/bin/oltpplot b/bin/oltpplot index 63b6a6be..1d47e03b 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -173,6 +173,7 @@ export RWL_NO_SYSTEM_NEEDED=YES lw=1 # becomes the linewidth in all plots dynamic='' # mousing only works without it + if test $# -eq 1 then runnumber=$1 @@ -188,6 +189,9 @@ eval `rwloadsim -q parameters2shell.rwl` eval `rwloadsim -q -A 1 subdir.rwl $runnumber` eval `rwloadsim -q plotinfo.rwl --myrunnumber=$runnumber` +# note that this will overwrite gnuplotjs that we no longer use +. gnuplot-check-version + # note that subdir always both starts and ends with '/' # and that is has no blanks. # Hence something like $resultsdir$subdir$runnumber diff --git a/bin/osstat-plot-include b/bin/osstat-plot-include index f28871bd..d3b03780 100644 --- a/bin/osstat-plot-include +++ b/bin/osstat-plot-include @@ -21,24 +21,24 @@ then set xtics $xtics set xlabel "$xlabel" set ylabel "sys (dashed) and sys+usr CPU s/s" - plot '$resultsdir$subdir$runnumber/osstat.csv' using 1:2 with lines lw $lw dt "-" lc rgb 'magenta' notitle \\ + set terminal $pngtype size imgwidth,480 + set output "$awrdirectory$subdir$runnumber/${runnumber}_osstat.png" + plot '$resultsdir$subdir$runnumber/osstat.csv' using 1:2 with $dashes lc rgb 'magenta' notitle \\ , '$resultsdir$subdir$runnumber/osstat.csv' using 1:(\$2+\$10) with lines lw $lw lc rgb 'magenta' title '1' \\ - , '$resultsdir$subdir$runnumber/osstat.csv' using 1:3 with lines lw $lw dt "-" lc rgb 'dark-red' notitle \\ + , '$resultsdir$subdir$runnumber/osstat.csv' using 1:3 with $dashes lc rgb 'dark-red' notitle \\ , '$resultsdir$subdir$runnumber/osstat.csv' using 1:(\$3+\$11) with lines lw $lw lc rgb 'dark-red' title '2' \\ - , '$resultsdir$subdir$runnumber/osstat.csv' using 1:4 with lines lw $lw dt "-" lc rgb 'dark-green' notitle \\ + , '$resultsdir$subdir$runnumber/osstat.csv' using 1:4 with $dashes lc rgb 'dark-green' notitle \\ , '$resultsdir$subdir$runnumber/osstat.csv' using 1:(\$4+\$12) with lines lw $lw lc rgb 'dark-green' title '3' \\ - , '$resultsdir$subdir$runnumber/osstat.csv' using 1:5 with lines lw $lw dt "-" lc rgb 'light-salmon' notitle \\ + , '$resultsdir$subdir$runnumber/osstat.csv' using 1:5 with $dashes lc rgb 'light-salmon' notitle \\ , '$resultsdir$subdir$runnumber/osstat.csv' using 1:(\$5+\$13) with lines lw $lw lc rgb 'light-salmon' title '4' \\ - , '$resultsdir$subdir$runnumber/osstat.csv' using 1:6 with lines lw $lw dt "-" lc rgb 'dark-yellow' notitle \\ + , '$resultsdir$subdir$runnumber/osstat.csv' using 1:6 with $dashes lc rgb 'dark-yellow' notitle \\ , '$resultsdir$subdir$runnumber/osstat.csv' using 1:(\$6+\$14) with lines lw $lw lc rgb 'dark-yellow' title '5' \\ - , '$resultsdir$subdir$runnumber/osstat.csv' using 1:7 with lines lw $lw dt "-" lc rgb 'light-green' notitle \\ + , '$resultsdir$subdir$runnumber/osstat.csv' using 1:7 with $dashes lc rgb 'light-green' notitle \\ , '$resultsdir$subdir$runnumber/osstat.csv' using 1:(\$7+\$15) with lines lw $lw lc rgb 'light-green' title '6' \\ - , '$resultsdir$subdir$runnumber/osstat.csv' using 1:8 with lines lw $lw dt "-" lc rgb 'dark-orange' notitle \\ + , '$resultsdir$subdir$runnumber/osstat.csv' using 1:8 with $dashes lc rgb 'dark-orange' notitle \\ , '$resultsdir$subdir$runnumber/osstat.csv' using 1:(\$8+\$16) with lines lw $lw lc rgb 'dark-orange' title '7' \\ - , '$resultsdir$subdir$runnumber/osstat.csv' using 1:9 with lines lw $lw dt "-" lc rgb 'skyblue' notitle \\ + , '$resultsdir$subdir$runnumber/osstat.csv' using 1:9 with $dashes lc rgb 'skyblue' notitle \\ , '$resultsdir$subdir$runnumber/osstat.csv' using 1:(\$9+\$17) with lines lw $lw lc rgb 'skyblue' title '8' - set terminal png size imgwidth,480 - set output "$awrdirectory$subdir$runnumber/${runnumber}_osstat.png" set terminal svg $svgmouse size imgwidth,480 $dynamic set output "$awrdirectory$subdir$runnumber/${runnumber}_osstat.svg" diff --git a/docs/refman/oltpsetup.html b/docs/refman/oltpsetup.html index e253ef65..0838f183 100644 --- a/docs/refman/oltpsetup.html +++ b/docs/refman/oltpsetup.html @@ -1,5 +1,5 @@ - + @@ -582,18 +582,11 @@

    PARAMETERS

    gnuplotjs

    -

    To generate clickable svg -files, your browser must expose a copy of certain javascript -files from your distribution of gnuplot. This is done -automatically using the "mousing standalone" which -is available starting gnuplot version 5.2. For earlier -versions, this parameter sets the name of the directory -where the javascript files are stored seen from the browsers -perspective. If you are using gnuplot version 4.6 and have -copied the contents of /usr/share/gnuplot/4.6/js/* to -usr/share/gnuplot/4.6/js/ (seen from the root of your http -daemon), the value should be -"/usr/share/gnuplot/4.6/js".

    +

    This parameter is no longer +used. However, if you are using gnuplot version 4.6 you need +to make the contents of /usr/share/gnuplot/4.6/js/* +available at usr/share/gnuplot/4.6/js/ seen from the root of +your http daemon.

    globalawr

    diff --git a/man/man2rwl/oltpsetup.2rwl b/man/man2rwl/oltpsetup.2rwl index 0893f3dc..6092c199 100644 --- a/man/man2rwl/oltpsetup.2rwl +++ b/man/man2rwl/oltpsetup.2rwl @@ -411,17 +411,10 @@ of activity, unless this parameter is set to a different value. .RE \fBgnuplotjs\fR .RS 4 -To generate clickable svg files, your browser must expose a copy of certain javascript files from -your distribution of gnuplot. -This is done automatically using the "mousing standalone" which is available starting -gnuplot version 5.2. -For earlier versions, this parameter sets the name of the directory where the javascript -files are -stored seen from the browsers -perspective. -If you are using gnuplot version 4.6 and have copied the contents of /usr/share/gnuplot/4.6/js/* -to usr/share/gnuplot/4.6/js/ (seen from the root of your http daemon), the value should be -"/usr/share/gnuplot/4.6/js". +This parameter is no longer used. +However, if you are using gnuplot version 4.6 you need to make +the contents of /usr/share/gnuplot/4.6/js/* +available at usr/share/gnuplot/4.6/js/ seen from the root of your http daemon. .P .RE .nf From 1e31e26bec88cc60f5c263d844c1be718dd115a3 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 1 May 2024 11:19:44 +0000 Subject: [PATCH 032/118] Updating changelong and 3.1 news --- CHANGELOG.md | 3 +++ docs/NEWS31.md | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85724c6e..5cff7996 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ * Bug fixes * Printf format for KiB, MiB, etc * Oltp workload can show connection storm effects +* Oltp workload can optionally query gv$osstat to usr/sys on db server +* Added -= assignment +* Various improvements to statistics gathering ## 3.1.2 diff --git a/docs/NEWS31.md b/docs/NEWS31.md index cc360bc6..0118d2de 100644 --- a/docs/NEWS31.md +++ b/docs/NEWS31.md @@ -1,3 +1,35 @@ +## News and updates for version 3.1.3 of the RWP\*Load Simulator + +The most important changes in version 3.1.3 are: + +### Improvements to statistics gathering + +A number of changes makes statistics gathering more versatile: + +Your rwl program can change the value of the everyuntil variable inside a control loop, +and such a change will modify the expected start time of the next loop. + +If you call the new nostatistics statement inside a procedure that otherwise has +statistics gathered, the statistics for the current call will not be save in the +various repository tables. +As an example, this can be used if your procedure gets into some error situation and +you therefore not want statistics to be excluded. + +### Printf format to output values as powers of 1024 + +If you need to output values that are "computer sizes", you can use the 'K' specifier. +As an example, the format string "%.2KB" will output the value 1030 as 1.01KiB. + +### Various changes to the standard oltp workload + +The oltp workload has had several changes including the ability to gather and output +database server user and system cpu values +from gv$osstat and more possibilities for emulating connection storms. + +### New operators + +A -= assignment opertor has been added doing what it does in the C language. + ## News and updates for version 3.1.2 of the RWP\*Load Simulator The most important changes in version 3.1.2 are: From b83989ff59af113e37faa7f8deb2e7a1f6cf0ff3 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 2 May 2024 14:06:18 +0000 Subject: [PATCH 033/118] oltpplot --fractiles-dropped option --- bin/mtitplot | 5 +++-- bin/oltpplot | 17 +++++++++++++---- man/man2rwl/oltpplot.2rwl | 15 ++++++++++++++- oltp/histdata.rwl | 29 +++++++++++++++++------------ 4 files changed, 47 insertions(+), 19 deletions(-) diff --git a/bin/mtitplot b/bin/mtitplot index 4abfdb9e..3571744c 100755 --- a/bin/mtitplot +++ b/bin/mtitplot @@ -1,10 +1,11 @@ #!/bin/bash -# Copyright (c) 2021, 2023 Oracle Corporation +# Copyright (c) 2021, 2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ # Changes: # +# bengsig 2-may-2024 --fractiles-dropped option to oltpplot # bengsig 28-apr-2024 osstat # bengsig 12-apr-2024 end2end timing # bengsig 17-jul-2023 Modify plot colors @@ -259,7 +260,7 @@ gnuplot $resultsdir$subdir$runnumber/res.plot # generate csv file for histograms and fractiles -rwloadsim -q -A 1 histdata.rwl $runnumber +rwloadsim -q -A 2 histdata.rwl $runnumber no cat >> $resultsdir$subdir${runnumber}/tp.plot < $resultsdir$subdir${runnumber}/hist.plot <> $awrdirectory$subdir$runnumber/index.html -

    + diff --git a/man/man2rwl/oltpplot.2rwl b/man/man2rwl/oltpplot.2rwl index 88a1b866..267e299d 100644 --- a/man/man2rwl/oltpplot.2rwl +++ b/man/man2rwl/oltpplot.2rwl @@ -2,7 +2,7 @@ .SH NAME oltpplot \- Create html and graphics for a single run .SH SYNOPSIS -\fBoltpplot [--xfile|--Xfile filename] [-x|-X|--xmarker|--xline 'time text'] [-c|--xcolor rgbname] [--ses-y{2}range '[ .. ]'] [--ses-simplified] [--res-y{2}range '[ .. ]'] [--ash-yrange '[ .. ]'] [--gnuplot-extra file] [--no-awr-interval] [--no-titlerunnumber] [--no-client-cpu] [--xlabel 'text'] [--no-x2label] [--titletext 'text'] [--e2e-no-logscale] [-k|--key key] [-l|--latest|[-r] runnumber]\fR +\fBoltpplot [--xfile|--Xfile filename] [-x|-X|--xmarker|--xline 'time text'] [-c|--xcolor rgbname] [--ses-y{2}range '[ .. ]'] [--ses-simplified] [--res-y{2}range '[ .. ]'] [--ash-yrange '[ .. ]'] [--gnuplot-extra file] [--no-awr-interval] [--no-titlerunnumber] [--no-client-cpu] [--xlabel 'text'] [--no-x2label] [--titletext 'text'] [--e2e-no-logscale] [--fractiles-dropped] [-k|--key key] [-l|--latest|[-r] runnumber]\fR .P Recreate the report that was created using .B oltprun @@ -131,6 +131,19 @@ If you do not have such large variations or differences, you can use this option to use a regular linear scale. .RE .P +.B --fractiles-dropped +.RS 4 +Whenever your run is with a time_out value set, there might by dropped transactions. +When generating the plot of execution time fractiles, +such dropped transactions are +.I not +included. +Whether this is the correct thing to do or not is surely debatable. +By using this option, dropped transactions are +assumed to "cost" 2s, typically causing the high range fractiles (e.g. 98%, 99%) to be +very high. +.RE +.P .B --titletext 'some text' .RS 4 By default, all generated graphics has that title that include the key and the komment from running oltprun. diff --git a/oltp/histdata.rwl b/oltp/histdata.rwl index 60f89dcf..70d2e3be 100644 --- a/oltp/histdata.rwl +++ b/oltp/histdata.rwl @@ -1,7 +1,8 @@ -# Copyright (c) 2021 Oracle Corporation +# Copyright (c) 2019,2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 2-may-2024 --fractiles-dropped option to oltpplot # bengsig 23-jan-2024 - use percentiles_oltp # bengsig 2019 - Creation @@ -11,6 +12,12 @@ $include:"results.rwl" $dformat:%.6f integer runno := $1; +string perview := "percentiles"; + +if $2 = "yes" then + perview := "percentiles_oltp"; +end if; + subdir:="/r" runno/1000 "/"; file plotfile; @@ -80,16 +87,19 @@ execute at rwloadsim double pct50, pct90, pct95, pct98, pct99, avgw; string vname; - sql selfract + plotfile := resultsdir subdir runno "/fractiles.csv"; + for select p.vname, p.pct50, p.pct90, p.pct95, p.pct98, p.pct99 , r.avgw - from percentiles_oltp p + from &perview. p join runres_a r on r.runnumber = p.runnumber and r.vname = p.vname - where p.runnumber = :1 + where p.runnumber = :runno and p.vname not in ( 'ship_many_orders' + , 'osstat_getres' + , 'call_failure' , 'heartbeat' ) order by decode (p.vname @@ -102,14 +112,9 @@ execute at rwloadsim , 'stockup' , 7 , 'aw_transaction' , 8 , 'awindex_query' , 9 - , 999); - array 20; - define 1 vname, 2 pct50, 3 pct90, 4 pct95, 5 pct98, 6 pct99; - define 7 avgw; - bind 1 runno; - end; - plotfile := resultsdir subdir runno "/fractiles.csv"; - for selfract loop + , 999) + / + loop writeline plotfile, vname, pct50, pct90, pct95, pct98, pct99, avgw; end loop; plotfile := null; From 25f4cf0d5cd6dd6f8c721c1eb13bfe49aa5e55fc Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 2 May 2024 14:46:14 +0000 Subject: [PATCH 034/118] $ampersand:on in histdata.rwl --- oltp/histdata.rwl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/oltp/histdata.rwl b/oltp/histdata.rwl index 70d2e3be..6ac14470 100644 --- a/oltp/histdata.rwl +++ b/oltp/histdata.rwl @@ -18,6 +18,8 @@ if $2 = "yes" then perview := "percentiles_oltp"; end if; +$ampersand:on + subdir:="/r" runno/1000 "/"; file plotfile; From 2fd0528c900c2589f5dc2d00f71bafffa4abb8c8 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 8 May 2024 13:55:06 +0000 Subject: [PATCH 035/118] Global osstat --- bin/mtitplot | 8 +++++++- bin/oltpplot | 8 +++++++- bin/osstat-plot-include | 22 +++++++++++++++++++++- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/bin/mtitplot b/bin/mtitplot index 3571744c..674636af 100755 --- a/bin/mtitplot +++ b/bin/mtitplot @@ -5,6 +5,7 @@ # Changes: # +# bengsig 8-may-2024 global osstat # bengsig 2-may-2024 --fractiles-dropped option to oltpplot # bengsig 28-apr-2024 osstat # bengsig 12-apr-2024 end2end timing @@ -374,10 +375,15 @@ then osstatembed='
    ' cat >> $awrdirectory$subdir$runnumber/index.html < -
    + + + + + + END else osstatembed='' diff --git a/bin/oltpplot b/bin/oltpplot index 85ffd019..0a6a13d4 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 8-may-2024 bengsig global osstat # 2-may-2024 bengsig --fractiles-dropped option to oltpplot # 28-apr-2024 bengsig osstat # 3-apr-2024 bengsig better graph label @@ -880,10 +881,15 @@ then osstatembed='
    ' cat <> $awrdirectory$subdir$runnumber/index.html
    - + + + + + + END else osstatembed='' diff --git a/bin/osstat-plot-include b/bin/osstat-plot-include index d3b03780..5ea8e097 100644 --- a/bin/osstat-plot-include +++ b/bin/osstat-plot-include @@ -6,6 +6,7 @@ # It cannot be called directly from the command line # # History +# bengsig 8-may-2024 - Global osstat # bengsig 28-apr-2024 - Created # @@ -15,7 +16,7 @@ then if test $(wc -l < $resultsdir$subdir$runnumber/osstat.csv) -gt 4 then cat >> $resultsdir$subdir$runnumber/osstat.plot < Date: Wed, 8 May 2024 14:17:49 +0000 Subject: [PATCH 036/118] Add sys% usr% to global osstat graph --- bin/osstat-plot-include | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/bin/osstat-plot-include b/bin/osstat-plot-include index 5ea8e097..bb053467 100644 --- a/bin/osstat-plot-include +++ b/bin/osstat-plot-include @@ -50,14 +50,24 @@ then set key bmargin horizontal set xtics $xtics set xlabel "$xlabel" + set ytics nomirror set ylabel "sys, usr and sys+usr CPU s/s" + set y2range [0:100] + set y2tics 20 + set y2label "sys%, usr%" set terminal $pngtype size imgwidth,480 set output "$awrdirectory$subdir$runnumber/${runnumber}_osstatg.png" plot '$resultsdir$subdir$runnumber/osstat.csv' using 1:(\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9) with lines lw $lw lc rgb 'red' title 'sys' \\ , '$resultsdir$subdir$runnumber/osstat.csv' using 1:(\$10+\$11+\$12+\$13+\$14+\$15+\$16+\$17) \\ with lines lw $lw lc rgb 'dark-green' title 'usr' \\ + , '$resultsdir$subdir$runnumber/osstat.csv' using 1:((\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9)*100/ \\ + (\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9+\$10+\$11+\$12+\$13+\$14+\$15+\$16+\$17)) \\ + with lines axes x1y2 lw $lw lc rgb 'salmon' title 'sys%' \\ + , '$resultsdir$subdir$runnumber/osstat.csv' using 1:((\$10+\$11+\$12+\$13+\$14+\$15+\$16+\$17)*100 / \\ + (\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9+\$10+\$11+\$12+\$13+\$14+\$15+\$16+\$17)) \\ + with lines axes x1y2 lw $lw lc rgb 'green' title 'usr%' \\ , '$resultsdir$subdir$runnumber/osstat.csv' using 1:(\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9+\$10+\$11+\$12+\$13+\$14+\$15+\$16+\$17)\\ - with lines lw $lw lc rgb 'blue' title 'sys+usr' + with lines lw $lw lc rgb 'cyan' title 'sys+usr' set terminal svg $svgmouse size imgwidth,480 $dynamic set output "$awrdirectory$subdir$runnumber/${runnumber}_osstatg.svg" From f965dfb9c5cb488068184d2671a04317ea04be7f Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 8 May 2024 16:28:47 +0000 Subject: [PATCH 037/118] Add drop% --- bin/oltpplot | 9 +++++++-- oltp/plotinfo.rwl | 31 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/bin/oltpplot b/bin/oltpplot index 0a6a13d4..243b61e6 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 9-may-2024 bengsig add drop% # 8-may-2024 bengsig global osstat # 2-may-2024 bengsig --fractiles-dropped option to oltpplot # 28-apr-2024 bengsig osstat @@ -66,14 +67,12 @@ titletext='' clientcpu=yes e2esettings='set yrange [0.05:*]; set logscale y' fractdrop=no -fracttext='Execution time fractiles (excluding dropped)' while test $1 != '--' do case $1 in --fractiles-dropped) fractdrop=yes - fracttext='Execution time fractiles (dropped "cost" 2s)' shift; ;; --e2e-no-logscale) @@ -199,6 +198,12 @@ eval `rwloadsim -q parameters2shell.rwl` eval `rwloadsim -q -A 1 subdir.rwl $runnumber` eval `rwloadsim -q plotinfo.rwl --myrunnumber=$runnumber` +if test $fractdrop = no +then + fracttext="Execution time fractiles ($droppct% dropped)" +else + fracttext='Execution time fractiles (dropped "cost" 2s)' +fi # note that this will overwrite gnuplotjs that we no longer use . gnuplot-check-version diff --git a/oltp/plotinfo.rwl b/oltp/plotinfo.rwl index 273b472c..8ed7a952 100644 --- a/oltp/plotinfo.rwl +++ b/oltp/plotinfo.rwl @@ -6,6 +6,7 @@ # # Return some shell variables needed for oltpplot +# bengsig 9-may-2024 - Add drop% # bengsig 19-mar-2024 - Better adtime check # bengsig 5-mar-2024 - Creation @@ -36,5 +37,35 @@ execute at rwloadsim else printline "adtime=no"; end if; + + string forg; + double fgcount, failcount, goodcount; + for + select decode(vname,'call_failure','FAIL','GOOD') forg, sum(ecount) fgcount + from runres where runnumber = :myrunnumber + and vname in + ('call_failure' + ,'make_order' + ,'awindex_query' + ,'aw_transaction' + ,'query_order' + ,'complex_query' + ) + group by decode(vname,'call_failure','FAIL','GOOD') + / + loop + if forg = "FAIL" then failcount := fgcount; end if; + if forg = "GOOD" then goodcount := fgcount; end if; + end loop; + if failcount is not null and goodcount is not null then + if failcount > 0.98 * goodcount then + printf "droppct=%.0f\n", 100*failcount/goodcount; + else + printf "droppct=%.2m\n", 100*failcount/goodcount; + end if; + else + printf "droppct=0\n"; + end if; + end; From 6afceb3607181e7163688091ff05ba1e99475e4c Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 8 May 2024 16:34:58 +0000 Subject: [PATCH 038/118] Fix < 1% drops --- oltp/plotinfo.rwl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/oltp/plotinfo.rwl b/oltp/plotinfo.rwl index 8ed7a952..70c8f8ae 100644 --- a/oltp/plotinfo.rwl +++ b/oltp/plotinfo.rwl @@ -60,8 +60,10 @@ execute at rwloadsim if failcount is not null and goodcount is not null then if failcount > 0.98 * goodcount then printf "droppct=%.0f\n", 100*failcount/goodcount; + elseif failcount > 0.1 * goodcount then + printf "droppct=%.1f\n", 100*failcount/goodcount; else - printf "droppct=%.2m\n", 100*failcount/goodcount; + printf "droppct=%.2f\n", 100*failcount/goodcount; end if; else printf "droppct=0\n"; From 25aaeb09da9528efca687d81a1da919418560031 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 9 May 2024 08:24:40 +0000 Subject: [PATCH 039/118] Use exec in shell scripts --- bin/ashplot | 5 +++-- bin/awrdump | 5 +++-- bin/connping | 5 +++-- bin/netthroughput | 5 +++-- bin/ociping | 5 +++-- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/bin/ashplot b/bin/ashplot index 7801c2d2..10004cf3 100755 --- a/bin/ashplot +++ b/bin/ashplot @@ -2,12 +2,13 @@ # RWP*Load Simulator # -# Copyright (c) 2021 Oracle Corporation +# Copyright (c) 2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ # # call rwloadsim -u ashplot.rwl +# bengsig 9-may-2024 - Use exec # bengsig 27-nov-2023 - Creation -rwloadsim --pretend-gen-banner='RWP*ASH Plot' -u ashplot.rwl "$@" +exec rwloadsim --pretend-gen-banner='RWP*ASH Plot' -u ashplot.rwl "$@" diff --git a/bin/awrdump b/bin/awrdump index 114f3d06..7befbf65 100755 --- a/bin/awrdump +++ b/bin/awrdump @@ -2,12 +2,13 @@ # RWP*Load Simulator # -# Copyright (c) 2021 Oracle Corporation +# Copyright (c) 2022,2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ # # call rwloadsim -u awrdump.rwl +# bengsig 9-may-2024 - Use exec # bengsig 23-nov-2022 - Creation -rwloadsim --pretend-gen-banner='RWP*AWR Dump Repository' -u awrdump.rwl "$@" +exec rwloadsim --pretend-gen-banner='RWP*AWR Dump Repository' -u awrdump.rwl "$@" diff --git a/bin/connping b/bin/connping index ba1ba392..7cd9beb0 100755 --- a/bin/connping +++ b/bin/connping @@ -2,12 +2,13 @@ # RWP*Load Simulator # -# Copyright (c) 2021 Oracle Corporation +# Copyright (c) 2022,2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ # # call rwloadsim -u connping.rwl +# bengsig 9-may-2024 - Use exec # bengsig 23-nov-2022 - Creation -rwloadsim --pretend-gen-banner='RWP*Connect/OCIPing' -u connping.rwl "$@" +exec rwloadsim --pretend-gen-banner='RWP*Connect/OCIPing' -u connping.rwl "$@" diff --git a/bin/netthroughput b/bin/netthroughput index e2231d3c..dd432713 100755 --- a/bin/netthroughput +++ b/bin/netthroughput @@ -2,12 +2,13 @@ # RWP*Load Simulator # -# Copyright (c) 2021 Oracle Corporation +# Copyright (c) 2022,2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ # # call rwloadsim -u netthroughput.rwl +# bengsig 9-may-2024 - Use exec # bengsig 23-nov-2022 - Creation -rwloadsim --pretend-gen-banner='RWP*Oracle Net Throughput' -u netthroughput.rwl "$@" +exec rwloadsim --pretend-gen-banner='RWP*Oracle Net Throughput' -u netthroughput.rwl "$@" diff --git a/bin/ociping b/bin/ociping index 9bb5a8ae..ed75d339 100755 --- a/bin/ociping +++ b/bin/ociping @@ -2,12 +2,13 @@ # RWP*Load Simulator # -# Copyright (c) 2021 Oracle Corporation +# Copyright (c) 2022,2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ # # call rwloadsim -u ociping.rwl +# bengsig 5-may-2024 - Use exec # bengsig 23-nov-2022 - Creation -rwloadsim --pretend-gen-banner='RWP*OCIPing' -u ociping.rwl "$@" +exec rwloadsim --pretend-gen-banner='RWP*OCIPing' -u ociping.rwl "$@" From 8084f43c11134f228c60215d4dd653be9a9e0641 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Fri, 10 May 2024 13:27:25 +0000 Subject: [PATCH 040/118] Remove extra -= in rwldilex --- src/lex.rwlz.c | 711 ++++++++++++++++++++++++------------------------- src/rwldilex.l | 2 +- 2 files changed, 356 insertions(+), 357 deletions(-) diff --git a/src/lex.rwlz.c b/src/lex.rwlz.c index c868d824..46982640 100644 --- a/src/lex.rwlz.c +++ b/src/lex.rwlz.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 231 -#define YY_END_OF_BUFFER 232 +#define YY_NUM_RULES 230 +#define YY_END_OF_BUFFER 231 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -354,122 +354,122 @@ struct yy_trans_info }; static yyconst flex_int16_t yy_accept[1058] = { 0, - 0, 0, 232, 230, 226, 227, 207, 230, 228, 230, - 200, 230, 201, 202, 198, 196, 203, 197, 230, 199, - 6, 209, 210, 205, 204, 206, 208, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 230, 226, 217, 0, 2, - 0, 228, 224, 223, 225, 229, 229, 229, 229, 229, - 0, 1, 0, 149, 135, 190, 136, 127, 191, 150, - 5, 6, 0, 130, 0, 215, 218, 0, 216, 0, - - 0, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 51, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 112, 222, 222, 195, 222, 222, 222, 222, - 222, 222, 222, 222, 214, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 219, 223, - - 225, 229, 229, 229, 229, 229, 5, 0, 0, 3, - 132, 134, 131, 133, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 124, 212, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 144, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 64, 222, - 222, 222, 222, 222, 146, 222, 222, 222, 123, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 145, 222, 222, 222, 222, 222, 222, 222, 211, - - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 29, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 57, 222, 222, 222, 222, 143, 222, 37, 222, 222, - 222, 222, 222, 128, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 129, 229, 229, 229, 229, - 0, 4, 222, 222, 222, 222, 222, 222, 187, 222, - 222, 222, 222, 222, 186, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 0, 222, 222, 188, - 222, 222, 222, 222, 222, 222, 58, 28, 222, 139, - 27, 222, 222, 222, 222, 222, 32, 222, 222, 222, - - 222, 222, 68, 115, 222, 222, 222, 222, 222, 24, - 222, 100, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 34, 222, 222, 122, 222, 222, 222, - 222, 222, 222, 194, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 76, 222, 222, 63, 222, 222, 113, 222, 222, - 222, 222, 222, 118, 114, 222, 222, 222, 229, 229, - 229, 229, 222, 183, 222, 222, 172, 181, 222, 222, - 222, 222, 222, 222, 222, 171, 222, 0, 184, 222, - - 175, 222, 222, 222, 0, 0, 0, 222, 222, 35, - 222, 222, 99, 147, 222, 222, 33, 222, 222, 62, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 121, 222, 222, 140, 222, 222, 90, 222, 222, - 222, 222, 222, 80, 222, 222, 222, 222, 30, 222, - 222, 222, 222, 222, 13, 222, 222, 109, 222, 222, - 222, 222, 119, 222, 222, 222, 104, 222, 222, 222, - 222, 222, 142, 222, 222, 222, 222, 125, 222, 222, - 61, 222, 222, 222, 222, 222, 141, 222, 222, 222, - 117, 222, 101, 10, 7, 229, 229, 222, 222, 222, - - 222, 170, 222, 185, 222, 222, 222, 180, 0, 222, - 176, 222, 178, 0, 0, 0, 222, 179, 221, 222, - 222, 222, 49, 222, 222, 222, 18, 222, 222, 60, - 95, 116, 17, 222, 86, 222, 108, 222, 222, 91, - 82, 222, 56, 222, 222, 79, 222, 81, 222, 36, - 222, 222, 222, 222, 222, 222, 222, 16, 222, 222, - 222, 222, 31, 222, 98, 222, 222, 222, 222, 222, - 222, 222, 222, 23, 222, 222, 222, 222, 222, 222, - 137, 222, 222, 97, 77, 222, 222, 222, 222, 222, - 222, 229, 229, 222, 174, 222, 222, 0, 182, 222, - - 222, 222, 0, 173, 222, 0, 0, 0, 222, 222, - 213, 59, 41, 222, 222, 222, 193, 220, 222, 87, - 88, 89, 126, 14, 222, 222, 222, 222, 96, 85, - 222, 222, 120, 222, 222, 48, 222, 222, 222, 222, - 55, 222, 222, 222, 25, 222, 222, 222, 46, 222, - 52, 222, 222, 222, 222, 222, 15, 222, 222, 78, - 54, 71, 222, 222, 222, 222, 222, 9, 8, 222, - 222, 0, 0, 0, 0, 0, 0, 0, 222, 0, - 222, 0, 222, 0, 161, 0, 189, 222, 222, 222, - 192, 222, 222, 22, 222, 222, 222, 222, 222, 222, - - 222, 222, 43, 222, 111, 222, 222, 103, 222, 222, - 105, 222, 50, 222, 222, 222, 47, 222, 222, 11, - 42, 222, 222, 26, 222, 222, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 222, 0, 222, 0, 177, - 0, 0, 222, 222, 222, 69, 222, 94, 222, 222, - 222, 222, 222, 222, 222, 110, 53, 222, 70, 222, - 106, 222, 222, 222, 222, 45, 222, 222, 102, 222, - 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, - 222, 0, 0, 159, 0, 0, 222, 222, 222, 222, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - - 92, 222, 222, 73, 222, 0, 0, 0, 164, 0, - 0, 0, 0, 0, 163, 222, 0, 0, 0, 0, - 0, 222, 222, 222, 39, 222, 12, 38, 148, 222, - 222, 222, 222, 222, 222, 44, 222, 67, 222, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 222, 156, - 0, 0, 0, 0, 222, 222, 222, 93, 222, 72, - 75, 222, 222, 107, 222, 222, 84, 0, 0, 0, + 0, 0, 231, 229, 225, 226, 206, 229, 227, 229, + 199, 229, 200, 201, 197, 195, 202, 196, 229, 198, + 6, 208, 209, 204, 203, 205, 207, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 229, 225, 216, 0, 2, + 0, 227, 223, 222, 224, 228, 228, 228, 228, 228, + 0, 1, 0, 149, 135, 189, 136, 127, 190, 150, + 5, 6, 0, 130, 0, 214, 217, 0, 215, 0, + + 0, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 51, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 112, 221, 221, 194, 221, 221, 221, 221, + 221, 221, 221, 221, 213, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 218, 222, + + 224, 228, 228, 228, 228, 228, 5, 0, 0, 3, + 132, 134, 131, 133, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 124, 211, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 144, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 64, 221, + 221, 221, 221, 221, 146, 221, 221, 221, 123, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 145, 221, 221, 221, 221, 221, 221, 221, 210, + + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 29, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 57, 221, 221, 221, 221, 143, 221, 37, 221, 221, + 221, 221, 221, 128, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 129, 228, 228, 228, 228, + 0, 4, 221, 221, 221, 221, 221, 221, 186, 221, + 221, 221, 221, 221, 185, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 0, 221, 221, 187, + 221, 221, 221, 221, 221, 221, 58, 28, 221, 139, + 27, 221, 221, 221, 221, 221, 32, 221, 221, 221, + + 221, 221, 68, 115, 221, 221, 221, 221, 221, 24, + 221, 100, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 34, 221, 221, 122, 221, 221, 221, + 221, 221, 221, 193, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 76, 221, 221, 63, 221, 221, 113, 221, 221, + 221, 221, 221, 118, 114, 221, 221, 221, 228, 228, + 228, 228, 221, 182, 221, 221, 171, 180, 221, 221, + 221, 221, 221, 221, 221, 170, 221, 0, 183, 221, + + 174, 221, 221, 221, 0, 0, 0, 221, 221, 35, + 221, 221, 99, 147, 221, 221, 33, 221, 221, 62, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 121, 221, 221, 140, 221, 221, 90, 221, 221, + 221, 221, 221, 80, 221, 221, 221, 221, 30, 221, + 221, 221, 221, 221, 13, 221, 221, 109, 221, 221, + 221, 221, 119, 221, 221, 221, 104, 221, 221, 221, + 221, 221, 142, 221, 221, 221, 221, 125, 221, 221, + 61, 221, 221, 221, 221, 221, 141, 221, 221, 221, + 117, 221, 101, 10, 7, 228, 228, 221, 221, 221, + + 221, 169, 221, 184, 221, 221, 221, 179, 0, 221, + 175, 221, 177, 0, 0, 0, 221, 178, 220, 221, + 221, 221, 49, 221, 221, 221, 18, 221, 221, 60, + 95, 116, 17, 221, 86, 221, 108, 221, 221, 91, + 82, 221, 56, 221, 221, 79, 221, 81, 221, 36, + 221, 221, 221, 221, 221, 221, 221, 16, 221, 221, + 221, 221, 31, 221, 98, 221, 221, 221, 221, 221, + 221, 221, 221, 23, 221, 221, 221, 221, 221, 221, + 137, 221, 221, 97, 77, 221, 221, 221, 221, 221, + 221, 228, 228, 221, 173, 221, 221, 0, 181, 221, + + 221, 221, 0, 172, 221, 0, 0, 0, 221, 221, + 212, 59, 41, 221, 221, 221, 192, 219, 221, 87, + 88, 89, 126, 14, 221, 221, 221, 221, 96, 85, + 221, 221, 120, 221, 221, 48, 221, 221, 221, 221, + 55, 221, 221, 221, 25, 221, 221, 221, 46, 221, + 52, 221, 221, 221, 221, 221, 15, 221, 221, 78, + 54, 71, 221, 221, 221, 221, 221, 9, 8, 221, + 221, 0, 0, 0, 0, 0, 0, 0, 221, 0, + 221, 0, 221, 0, 160, 0, 188, 221, 221, 221, + 191, 221, 221, 22, 221, 221, 221, 221, 221, 221, + + 221, 221, 43, 221, 111, 221, 221, 103, 221, 221, + 105, 221, 50, 221, 221, 221, 47, 221, 221, 11, + 42, 221, 221, 26, 221, 221, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 221, 0, 221, 0, 176, + 0, 0, 221, 221, 221, 69, 221, 94, 221, 221, + 221, 221, 221, 221, 221, 110, 53, 221, 70, 221, + 106, 221, 221, 221, 221, 45, 221, 221, 102, 221, + 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, + 221, 0, 0, 158, 0, 0, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + + 92, 221, 221, 73, 221, 0, 0, 0, 163, 0, + 0, 0, 0, 0, 162, 221, 0, 0, 0, 0, + 0, 221, 221, 221, 39, 221, 12, 38, 148, 221, + 221, 221, 221, 221, 221, 44, 221, 67, 221, 83, + 0, 0, 0, 0, 0, 0, 0, 0, 221, 155, + 0, 0, 0, 0, 221, 221, 221, 93, 221, 72, + 75, 221, 221, 107, 221, 221, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 222, 222, 222, 40, 222, 222, 138, 222, 0, 0, - 0, 168, 0, 167, 0, 169, 0, 0, 0, 160, - - 0, 222, 222, 65, 222, 222, 74, 0, 0, 165, - 0, 0, 0, 0, 158, 162, 222, 66, 222, 222, - 0, 0, 0, 166, 0, 0, 222, 19, 222, 0, - 0, 0, 0, 0, 222, 21, 0, 0, 0, 0, - 157, 20, 0, 0, 0, 0, 153, 0, 0, 0, - 0, 0, 0, 154, 0, 152, 0 + 221, 221, 221, 40, 221, 221, 138, 221, 0, 0, + 0, 167, 0, 166, 0, 168, 0, 0, 0, 159, + + 0, 221, 221, 65, 221, 221, 74, 0, 0, 164, + 0, 0, 0, 0, 157, 161, 221, 66, 221, 221, + 0, 0, 0, 165, 0, 0, 221, 19, 221, 0, + 0, 0, 0, 0, 221, 21, 0, 0, 0, 0, + 156, 20, 0, 0, 0, 0, 152, 0, 0, 0, + 0, 0, 0, 153, 0, 151, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -1159,6 +1159,7 @@ static yyconst flex_int16_t yy_chk[1672] = * * History * + * bengsig 9-may-2024 - remove extra -= * bengsig 16-apr-2024 - -= * bengsig 27-feb-2024 - winslashf2b functions * bengsig 14-feb-2024 - yy* -> rwm->rwly* @@ -1189,7 +1190,7 @@ static yyconst flex_int16_t yy_chk[1672] = * bengsig 24-feb-2020 - Access function * bengsig 22-aug-2019 - Creation */ -#line 49 "rwldilex.l" +#line 50 "rwldilex.l" #include "rwl.h" #include "rwldiprs.tab.h" @@ -1207,7 +1208,7 @@ static yyconst flex_int16_t yy_chk[1672] = #define RWL_IN_DILEX // make rwlscanstring.c do the right thing -#line 1211 "lex.rwlz.c" +#line 1212 "lex.rwlz.c" #define INITIAL 0 @@ -1480,14 +1481,14 @@ YY_DECL } { -#line 72 "rwldilex.l" +#line 73 "rwldilex.l" rwl_main *rwm = 0; // will be set using YY_USER_ACTION -#line 1491 "lex.rwlz.c" +#line 1492 "lex.rwlz.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1547,7 +1548,7 @@ YY_DECL case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 78 "rwldilex.l" +#line 79 "rwldilex.l" { // copy from rwllexer.l rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -1557,7 +1558,7 @@ YY_RULE_SETUP case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 84 "rwldilex.l" +#line 85 "rwldilex.l" { // Use this tag in vi: rwlscanstring #include "rwlscanstring.c" @@ -1565,12 +1566,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_Z_DOUBLE_CONST*/ case 3: -#line 91 "rwldilex.l" -case 4: #line 92 "rwldilex.l" +case 4: +#line 93 "rwldilex.l" case 5: YY_RULE_SETUP -#line 92 "rwldilex.l" +#line 93 "rwldilex.l" { // copy from rwllexer.l /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -1581,7 +1582,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_Z_INTEGER_CONST*/ case 6: YY_RULE_SETUP -#line 101 "rwldilex.l" +#line 102 "rwldilex.l" { // copy from rwllexer.l /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -1591,7 +1592,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 108 "rwldilex.l" +#line 109 "rwldilex.l" { # if RWL_OS==RWL_MACH rwm->ival = 1; @@ -1605,7 +1606,7 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 119 "rwldilex.l" +#line 120 "rwldilex.l" { # if RWL_OS==RWL_WINDOWS rwm->ival = 1; @@ -1619,7 +1620,7 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 130 "rwldilex.l" +#line 131 "rwldilex.l" { # if RWL_OS==RWL_SOLARIS rwm->ival = 1; @@ -1633,7 +1634,7 @@ YY_RULE_SETUP YY_BREAK case 10: YY_RULE_SETUP -#line 141 "rwldilex.l" +#line 142 "rwldilex.l" { # if RWL_OS==RWL_LINUX rwm->ival = 1; @@ -1646,406 +1647,404 @@ YY_RULE_SETUP } YY_BREAK case 11: -#line 153 "rwldilex.l" -case 12: #line 154 "rwldilex.l" -case 13: +case 12: #line 155 "rwldilex.l" -case 14: +case 13: #line 156 "rwldilex.l" -case 15: +case 14: #line 157 "rwldilex.l" -case 16: +case 15: #line 158 "rwldilex.l" -case 17: +case 16: #line 159 "rwldilex.l" -case 18: +case 17: #line 160 "rwldilex.l" -case 19: +case 18: #line 161 "rwldilex.l" -case 20: +case 19: #line 162 "rwldilex.l" -case 21: +case 20: #line 163 "rwldilex.l" -case 22: +case 21: #line 164 "rwldilex.l" -case 23: +case 22: #line 165 "rwldilex.l" -case 24: +case 23: #line 166 "rwldilex.l" -case 25: +case 24: #line 167 "rwldilex.l" -case 26: +case 25: #line 168 "rwldilex.l" -case 27: +case 26: #line 169 "rwldilex.l" -case 28: +case 27: #line 170 "rwldilex.l" -case 29: +case 28: #line 171 "rwldilex.l" -case 30: +case 29: #line 172 "rwldilex.l" -case 31: +case 30: #line 173 "rwldilex.l" -case 32: +case 31: #line 174 "rwldilex.l" -case 33: +case 32: #line 175 "rwldilex.l" -case 34: +case 33: #line 176 "rwldilex.l" -case 35: +case 34: #line 177 "rwldilex.l" -case 36: +case 35: #line 178 "rwldilex.l" -case 37: +case 36: #line 179 "rwldilex.l" -case 38: +case 37: #line 180 "rwldilex.l" -case 39: +case 38: #line 181 "rwldilex.l" -case 40: +case 39: #line 182 "rwldilex.l" -case 41: +case 40: #line 183 "rwldilex.l" -case 42: +case 41: #line 184 "rwldilex.l" -case 43: +case 42: #line 185 "rwldilex.l" -case 44: +case 43: #line 186 "rwldilex.l" -case 45: +case 44: #line 187 "rwldilex.l" -case 46: +case 45: #line 188 "rwldilex.l" -case 47: +case 46: #line 189 "rwldilex.l" -case 48: +case 47: #line 190 "rwldilex.l" -case 49: +case 48: #line 191 "rwldilex.l" -case 50: +case 49: #line 192 "rwldilex.l" -case 51: +case 50: #line 193 "rwldilex.l" -case 52: +case 51: #line 194 "rwldilex.l" -case 53: +case 52: #line 195 "rwldilex.l" -case 54: +case 53: #line 196 "rwldilex.l" -case 55: +case 54: #line 197 "rwldilex.l" -case 56: +case 55: #line 198 "rwldilex.l" -case 57: +case 56: #line 199 "rwldilex.l" -case 58: +case 57: #line 200 "rwldilex.l" -case 59: +case 58: #line 201 "rwldilex.l" -case 60: +case 59: #line 202 "rwldilex.l" -case 61: +case 60: #line 203 "rwldilex.l" -case 62: +case 61: #line 204 "rwldilex.l" -case 63: +case 62: #line 205 "rwldilex.l" -case 64: +case 63: #line 206 "rwldilex.l" -case 65: +case 64: #line 207 "rwldilex.l" -case 66: +case 65: #line 208 "rwldilex.l" -case 67: +case 66: #line 209 "rwldilex.l" -case 68: +case 67: #line 210 "rwldilex.l" -case 69: +case 68: #line 211 "rwldilex.l" -case 70: +case 69: #line 212 "rwldilex.l" -case 71: +case 70: #line 213 "rwldilex.l" -case 72: +case 71: #line 214 "rwldilex.l" -case 73: +case 72: #line 215 "rwldilex.l" -case 74: +case 73: #line 216 "rwldilex.l" -case 75: +case 74: #line 217 "rwldilex.l" -case 76: +case 75: #line 218 "rwldilex.l" -case 77: +case 76: #line 219 "rwldilex.l" -case 78: +case 77: #line 220 "rwldilex.l" -case 79: +case 78: #line 221 "rwldilex.l" -case 80: +case 79: #line 222 "rwldilex.l" -case 81: +case 80: #line 223 "rwldilex.l" -case 82: +case 81: #line 224 "rwldilex.l" -case 83: +case 82: #line 225 "rwldilex.l" -case 84: +case 83: #line 226 "rwldilex.l" -case 85: +case 84: #line 227 "rwldilex.l" -case 86: +case 85: #line 228 "rwldilex.l" -case 87: +case 86: #line 229 "rwldilex.l" -case 88: +case 87: #line 230 "rwldilex.l" -case 89: +case 88: #line 231 "rwldilex.l" -case 90: +case 89: #line 232 "rwldilex.l" -case 91: +case 90: #line 233 "rwldilex.l" -case 92: +case 91: #line 234 "rwldilex.l" -case 93: +case 92: #line 235 "rwldilex.l" -case 94: +case 93: #line 236 "rwldilex.l" -case 95: +case 94: #line 237 "rwldilex.l" -case 96: +case 95: #line 238 "rwldilex.l" -case 97: +case 96: #line 239 "rwldilex.l" -case 98: +case 97: #line 240 "rwldilex.l" -case 99: +case 98: #line 241 "rwldilex.l" -case 100: +case 99: #line 242 "rwldilex.l" -case 101: +case 100: #line 243 "rwldilex.l" -case 102: +case 101: #line 244 "rwldilex.l" -case 103: +case 102: #line 245 "rwldilex.l" -case 104: +case 103: #line 246 "rwldilex.l" -case 105: +case 104: #line 247 "rwldilex.l" -case 106: +case 105: #line 248 "rwldilex.l" -case 107: +case 106: #line 249 "rwldilex.l" -case 108: +case 107: #line 250 "rwldilex.l" -case 109: +case 108: #line 251 "rwldilex.l" -case 110: +case 109: #line 252 "rwldilex.l" -case 111: +case 110: #line 253 "rwldilex.l" -case 112: +case 111: #line 254 "rwldilex.l" -case 113: +case 112: #line 255 "rwldilex.l" -case 114: +case 113: #line 256 "rwldilex.l" -case 115: +case 114: #line 257 "rwldilex.l" -case 116: +case 115: #line 258 "rwldilex.l" -case 117: +case 116: #line 259 "rwldilex.l" -case 118: +case 117: #line 260 "rwldilex.l" -case 119: +case 118: #line 261 "rwldilex.l" -case 120: +case 119: #line 262 "rwldilex.l" -case 121: +case 120: #line 263 "rwldilex.l" -case 122: +case 121: #line 264 "rwldilex.l" -case 123: +case 122: #line 265 "rwldilex.l" -case 124: +case 123: #line 266 "rwldilex.l" -case 125: +case 124: #line 267 "rwldilex.l" -case 126: +case 125: #line 268 "rwldilex.l" -case 127: +case 126: #line 269 "rwldilex.l" -case 128: +case 127: #line 270 "rwldilex.l" -case 129: +case 128: #line 271 "rwldilex.l" -case 130: +case 129: #line 272 "rwldilex.l" -case 131: +case 130: #line 273 "rwldilex.l" -case 132: +case 131: #line 274 "rwldilex.l" -case 133: +case 132: #line 275 "rwldilex.l" -case 134: +case 133: #line 276 "rwldilex.l" -case 135: +case 134: #line 277 "rwldilex.l" -case 136: +case 135: #line 278 "rwldilex.l" -case 137: +case 136: #line 279 "rwldilex.l" -case 138: +case 137: #line 280 "rwldilex.l" -case 139: +case 138: #line 281 "rwldilex.l" -case 140: +case 139: #line 282 "rwldilex.l" -case 141: +case 140: #line 283 "rwldilex.l" -case 142: +case 141: #line 284 "rwldilex.l" -case 143: +case 142: #line 285 "rwldilex.l" -case 144: +case 143: #line 286 "rwldilex.l" -case 145: +case 144: #line 287 "rwldilex.l" -case 146: +case 145: #line 288 "rwldilex.l" -case 147: +case 146: #line 289 "rwldilex.l" -case 148: +case 147: #line 290 "rwldilex.l" -case 149: +case 148: #line 291 "rwldilex.l" -case 150: +case 149: #line 292 "rwldilex.l" -case 151: +case 150: #line 293 "rwldilex.l" +case 151: +/* rule 151 can match eol */ +#line 294 "rwldilex.l" case 152: /* rule 152 can match eol */ -#line 294 "rwldilex.l" +#line 295 "rwldilex.l" case 153: /* rule 153 can match eol */ -#line 295 "rwldilex.l" +#line 296 "rwldilex.l" case 154: /* rule 154 can match eol */ -#line 296 "rwldilex.l" +#line 297 "rwldilex.l" case 155: /* rule 155 can match eol */ -#line 297 "rwldilex.l" +#line 298 "rwldilex.l" case 156: /* rule 156 can match eol */ -#line 298 "rwldilex.l" +#line 299 "rwldilex.l" case 157: /* rule 157 can match eol */ -#line 299 "rwldilex.l" +#line 300 "rwldilex.l" case 158: /* rule 158 can match eol */ -#line 300 "rwldilex.l" +#line 301 "rwldilex.l" case 159: /* rule 159 can match eol */ -#line 301 "rwldilex.l" +#line 302 "rwldilex.l" case 160: /* rule 160 can match eol */ -#line 302 "rwldilex.l" +#line 303 "rwldilex.l" case 161: /* rule 161 can match eol */ -#line 303 "rwldilex.l" +#line 304 "rwldilex.l" case 162: /* rule 162 can match eol */ -#line 304 "rwldilex.l" +#line 305 "rwldilex.l" case 163: /* rule 163 can match eol */ -#line 305 "rwldilex.l" +#line 306 "rwldilex.l" case 164: /* rule 164 can match eol */ -#line 306 "rwldilex.l" +#line 307 "rwldilex.l" case 165: /* rule 165 can match eol */ -#line 307 "rwldilex.l" +#line 308 "rwldilex.l" case 166: /* rule 166 can match eol */ -#line 308 "rwldilex.l" +#line 309 "rwldilex.l" case 167: /* rule 167 can match eol */ -#line 309 "rwldilex.l" +#line 310 "rwldilex.l" case 168: /* rule 168 can match eol */ -#line 310 "rwldilex.l" +#line 311 "rwldilex.l" case 169: /* rule 169 can match eol */ -#line 311 "rwldilex.l" +#line 312 "rwldilex.l" case 170: /* rule 170 can match eol */ -#line 312 "rwldilex.l" +#line 313 "rwldilex.l" case 171: /* rule 171 can match eol */ -#line 313 "rwldilex.l" +#line 314 "rwldilex.l" case 172: /* rule 172 can match eol */ -#line 314 "rwldilex.l" +#line 315 "rwldilex.l" case 173: /* rule 173 can match eol */ -#line 315 "rwldilex.l" +#line 316 "rwldilex.l" case 174: /* rule 174 can match eol */ -#line 316 "rwldilex.l" +#line 317 "rwldilex.l" case 175: /* rule 175 can match eol */ -#line 317 "rwldilex.l" +#line 318 "rwldilex.l" case 176: /* rule 176 can match eol */ -#line 318 "rwldilex.l" +#line 319 "rwldilex.l" case 177: /* rule 177 can match eol */ -#line 319 "rwldilex.l" +#line 320 "rwldilex.l" case 178: /* rule 178 can match eol */ -#line 320 "rwldilex.l" +#line 321 "rwldilex.l" case 179: /* rule 179 can match eol */ -#line 321 "rwldilex.l" +#line 322 "rwldilex.l" case 180: /* rule 180 can match eol */ -#line 322 "rwldilex.l" +#line 323 "rwldilex.l" case 181: /* rule 181 can match eol */ -#line 323 "rwldilex.l" +#line 324 "rwldilex.l" case 182: /* rule 182 can match eol */ -#line 324 "rwldilex.l" +#line 325 "rwldilex.l" case 183: /* rule 183 can match eol */ -#line 325 "rwldilex.l" +#line 326 "rwldilex.l" case 184: /* rule 184 can match eol */ -#line 326 "rwldilex.l" +#line 327 "rwldilex.l" case 185: /* rule 185 can match eol */ -#line 327 "rwldilex.l" +#line 328 "rwldilex.l" case 186: /* rule 186 can match eol */ -#line 328 "rwldilex.l" +#line 329 "rwldilex.l" case 187: /* rule 187 can match eol */ -#line 329 "rwldilex.l" +#line 330 "rwldilex.l" case 188: /* rule 188 can match eol */ -#line 330 "rwldilex.l" +#line 331 "rwldilex.l" case 189: /* rule 189 can match eol */ -#line 331 "rwldilex.l" +#line 332 "rwldilex.l" case 190: /* rule 190 can match eol */ -#line 332 "rwldilex.l" -case 191: -/* rule 191 can match eol */ YY_RULE_SETUP #line 332 "rwldilex.l" { @@ -2056,171 +2055,171 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_Z_DATABASE*/ -case 192: +case 191: YY_RULE_SETUP #line 341 "rwldilex.l" return RWL_Z_DATABASE; YY_BREAK /*LEXTAG:RWL_Z_DEFAULT*/ -case 193: +case 192: YY_RULE_SETUP #line 343 "rwldilex.l" return RWL_Z_DEFAULT; YY_BREAK /*LEXTAG:RWL_Z_NULL*/ -case 194: +case 193: YY_RULE_SETUP #line 345 "rwldilex.l" return RWL_Z_NULL; YY_BREAK /*LEXTAG:RWL_Z_IS*/ -case 195: +case 194: YY_RULE_SETUP #line 347 "rwldilex.l" return RWL_Z_IS; YY_BREAK -case 196: +case 195: YY_RULE_SETUP #line 348 "rwldilex.l" return '+'; YY_BREAK -case 197: +case 196: YY_RULE_SETUP #line 349 "rwldilex.l" return '-'; YY_BREAK -case 198: +case 197: YY_RULE_SETUP #line 350 "rwldilex.l" return '*'; YY_BREAK -case 199: +case 198: YY_RULE_SETUP #line 351 "rwldilex.l" return '/'; YY_BREAK -case 200: +case 199: YY_RULE_SETUP #line 352 "rwldilex.l" return '%'; YY_BREAK -case 201: +case 200: YY_RULE_SETUP #line 353 "rwldilex.l" return '('; YY_BREAK -case 202: +case 201: YY_RULE_SETUP #line 354 "rwldilex.l" return ')'; YY_BREAK -case 203: +case 202: YY_RULE_SETUP #line 355 "rwldilex.l" return ','; YY_BREAK -case 204: +case 203: YY_RULE_SETUP #line 356 "rwldilex.l" return '='; YY_BREAK -case 205: +case 204: YY_RULE_SETUP #line 357 "rwldilex.l" return '<'; YY_BREAK -case 206: +case 205: YY_RULE_SETUP #line 358 "rwldilex.l" return '>'; YY_BREAK -case 207: +case 206: YY_RULE_SETUP #line 359 "rwldilex.l" return '!'; YY_BREAK -case 208: +case 207: YY_RULE_SETUP #line 360 "rwldilex.l" return '?'; YY_BREAK -case 209: +case 208: YY_RULE_SETUP #line 361 "rwldilex.l" return ':'; YY_BREAK -case 210: +case 209: YY_RULE_SETUP #line 362 "rwldilex.l" return ';'; YY_BREAK /*LEXTAG:RWL_Z_NOT*/ -case 211: +case 210: YY_RULE_SETUP #line 364 "rwldilex.l" return RWL_Z_NOT; YY_BREAK /*LEXTAG:RWL_Z_AND*/ -case 212: +case 211: YY_RULE_SETUP #line 366 "rwldilex.l" return RWL_Z_AND; YY_BREAK /*LEXTAG:RWL_Z_BETWEEN*/ -case 213: +case 212: YY_RULE_SETUP #line 368 "rwldilex.l" return RWL_Z_BETWEEN; YY_BREAK /*LEXTAG:RWL_Z_OR*/ -case 214: +case 213: YY_RULE_SETUP #line 370 "rwldilex.l" return RWL_Z_OR; YY_BREAK /*LEXTAG:RWL_Z_LESSEQ*/ -case 215: +case 214: YY_RULE_SETUP #line 372 "rwldilex.l" return RWL_Z_LESSEQ; YY_BREAK /*LEXTAG:RWL_Z_GREATEQ*/ -case 216: +case 215: YY_RULE_SETUP #line 374 "rwldilex.l" return RWL_Z_GREATEQ; YY_BREAK /*LEXTAG:RWL_Z_NOTEQ*/ -case 217: +case 216: YY_RULE_SETUP #line 376 "rwldilex.l" return RWL_Z_NOTEQ; YY_BREAK -case 218: +case 217: YY_RULE_SETUP #line 377 "rwldilex.l" return RWL_Z_NOTEQ; YY_BREAK /*LEXTAG:RWL_Z_CONCAT*/ -case 219: +case 218: YY_RULE_SETUP #line 379 "rwldilex.l" return RWL_Z_CONCAT; YY_BREAK /*LEXTAG:RWL_Z_DEFINED*/ -case 220: +case 219: YY_RULE_SETUP #line 381 "rwldilex.l" return RWL_Z_DEFINED; YY_BREAK /*LEXTAG:RWL_Z_ACCESS*/ -case 221: +case 220: YY_RULE_SETUP #line 383 "rwldilex.l" return RWL_Z_ACCESS; YY_BREAK /*LEXTAG:RWL_Z_IDENTIFIER*/ -case 222: +case 221: YY_RULE_SETUP #line 386 "rwldilex.l" { // Copy from normal @@ -2235,7 +2234,7 @@ YY_RULE_SETUP return RWL_Z_IDENTIFIER; } YY_BREAK -case 223: +case 222: YY_RULE_SETUP #line 398 "rwldilex.l" { @@ -2251,7 +2250,7 @@ YY_RULE_SETUP return RWL_Z_IDENTIFIER; } YY_BREAK -case 224: +case 223: YY_RULE_SETUP #line 411 "rwldilex.l" { @@ -2260,7 +2259,7 @@ YY_RULE_SETUP return RWL_Z_IDENTIFIER; } YY_BREAK -case 225: +case 224: YY_RULE_SETUP #line 417 "rwldilex.l" { @@ -2283,18 +2282,18 @@ YY_RULE_SETUP return RWL_Z_STRING_CONST; } YY_BREAK -case 226: +case 225: YY_RULE_SETUP #line 437 "rwldilex.l" /* nothing */ ; YY_BREAK -case 227: -/* rule 227 can match eol */ +case 226: +/* rule 226 can match eol */ YY_RULE_SETUP #line 439 "rwldilex.l" { rwm->loc.lineno++; } YY_BREAK -case 228: +case 227: YY_RULE_SETUP #line 442 "rwldilex.l" { // We never actually come here because comments are @@ -2304,15 +2303,15 @@ YY_RULE_SETUP unput(0); } YY_BREAK -case 229: -/* rule 229 can match eol */ +case 228: +/* rule 228 can match eol */ YY_RULE_SETUP #line 449 "rwldilex.l" { // Attempt directive inside $if $then rwlerror(rwm, RWL_ERROR_NO_DIRECTIVE_DOLLARIF); } YY_BREAK -case 230: +case 229: YY_RULE_SETUP #line 453 "rwldilex.l" { // bad chars as in rwllexer @@ -2329,12 +2328,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII_NOPOS, rwm->rwlytext[0]); } YY_BREAK -case 231: +case 230: YY_RULE_SETUP #line 467 "rwldilex.l" ECHO; YY_BREAK -#line 2338 "lex.rwlz.c" +#line 2337 "lex.rwlz.c" case YY_STATE_EOF(INITIAL): yyterminate(); diff --git a/src/rwldilex.l b/src/rwldilex.l index 5d74a884..7828282b 100644 --- a/src/rwldilex.l +++ b/src/rwldilex.l @@ -14,6 +14,7 @@ * * History * + * bengsig 9-may-2024 - remove extra -= * bengsig 16-apr-2024 - -= * bengsig 27-feb-2024 - winslashf2b functions * bengsig 14-feb-2024 - yy* -> rwm->rwly* @@ -289,7 +290,6 @@ "lobprefetch" | "*=" | "/=" | -"-=" | (?i:administer[ \r\n]+key[ \r\n]+management) | (?i:associate[ \r\n]+statistics) | (?i:disassociate[ \r\n]+statistics) | From 948e9eb16278e8a9a4b121f6a4d1bc789b4c940b Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Fri, 10 May 2024 14:14:02 +0000 Subject: [PATCH 041/118] $musymbolfromstring directive --- admin/.vim/syntax/rwl.vim | 1 + man/man1rwl/directive.1rwl | 9 +- src/lex.rwly.c | 2015 ++++++++++++++++++------------------ src/rwllexer.l | 20 + test/391.rwl | 38 + test/test.sh | 2 +- test/testres/391.err.good | 0 test/testres/391.out.good | 1 + 8 files changed, 1092 insertions(+), 994 deletions(-) create mode 100644 test/391.rwl create mode 100644 test/testres/391.err.good create mode 100644 test/testres/391.out.good diff --git a/admin/.vim/syntax/rwl.vim b/admin/.vim/syntax/rwl.vim index 04b7e78f..73361fae 100644 --- a/admin/.vim/syntax/rwl.vim +++ b/admin/.vim/syntax/rwl.vim @@ -194,6 +194,7 @@ syn match rwlDirective '\$bindoutname:on' syn match rwlDirective '\$bindoutname:on:[a-zA-Z][0-9a-zA-Z_]*' syn match rwlDirective '\$bindoutname:off' syn match rwlDirective '\$musymbol:[^ ][^ ]*' +syn match rwlDirective '\$musymbolfromstring:[a-zA-Z][a-zA-Z0-9_]*' syn match rwlDirective '\$hostname:[a-zA-Z0-9_][-a-zA-Z0-9_\.]*' syn match rwlDirective '\$slashconvert:on' syn match rwlDirective '\$slashconvert:off' diff --git a/man/man1rwl/directive.1rwl b/man/man1rwl/directive.1rwl index 9671cf80..74dfcce9 100644 --- a/man/man1rwl/directive.1rwl +++ b/man/man1rwl/directive.1rwl @@ -495,13 +495,18 @@ the calculated time. .RE .P .B $musymbol: +.br +.B $musymbolfromstring:stringvar .RS 4 When using the \fBm\fR or \fBM\fR conversion specifier in a printf statement, the \[mc] symbol is by default output as its UTF-8 representation. -This directive can be used to set any other text string, including potentially +These directive can be used to set any other text string, including potentially other characters outside the ASCII character set. -There is no escape processing, so you must be able to enter the appropriate value +The first directive uses the value provided after the colon, +and there is no escape processing, so you must be able to enter the appropriate value using an editor. +The second directive takes the actual value of the named string variable, +which cannot be a local variable. .RE .P .B $hostname: diff --git a/src/lex.rwly.c b/src/lex.rwly.c index 543e5098..aa45ce0a 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 350 -#define YY_END_OF_BUFFER 351 +#define YY_NUM_RULES 351 +#define YY_END_OF_BUFFER 352 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -352,24 +352,24 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1935] = +static yyconst flex_int16_t yy_accept[1948] = { 0, - 0, 0, 351, 349, 347, 346, 190, 349, 348, 342, - 182, 218, 349, 183, 184, 180, 178, 185, 179, 349, + 0, 0, 352, 350, 348, 347, 190, 350, 349, 343, + 182, 218, 350, 183, 184, 180, 178, 185, 179, 350, 181, 47, 192, 235, 188, 186, 189, 191, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 349, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 350, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 217, 219, 347, - 200, 0, 43, 0, 348, 343, 233, 232, 234, 343, - 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, - 343, 343, 343, 343, 343, 343, 343, 220, 0, 42, + 231, 231, 231, 231, 231, 231, 231, 217, 219, 348, + 200, 0, 43, 0, 349, 344, 233, 232, 234, 344, + 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, + 344, 344, 344, 344, 344, 344, 344, 220, 0, 42, 0, 223, 222, 203, 40, 204, 173, 41, 221, 224, 46, 47, 0, 202, 0, 197, 201, 0, 187, 198, 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 344, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 345, 0, 231, 231, 231, 231, 231, 89, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, @@ -387,7 +387,7 @@ static yyconst flex_int16_t yy_accept[1935] = 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 345, 231, 231, 231, 170, 194, 231, + 231, 231, 231, 346, 231, 231, 231, 170, 194, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 122, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 102, 231, 231, 231, 231, 231, 112, 231, 231, @@ -493,80 +493,81 @@ static yyconst flex_int16_t yy_accept[1935] = 231, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, 0, 0, 0, 323, 0, 0, 0, 0, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 231, 0, 4, 0, 0, - - 0, 0, 0, 0, 0, 0, 231, 0, 0, 8, - 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 138, 231, 231, - 117, 231, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 326, 325, 324, 0, 0, 0, 0, - 0, 0, 277, 323, 0, 0, 0, 0, 0, 0, - 275, 0, 0, 274, 0, 0, 321, 320, 0, 333, + 0, 0, 0, 0, 0, 0, 231, 0, 4, 0, + + 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, + 8, 0, 0, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 138, 231, + 231, 117, 231, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 326, 325, 324, 0, 0, 0, + 0, 0, 0, 277, 323, 0, 0, 0, 0, 0, + 0, 275, 0, 0, 274, 0, 0, 321, 320, 0, + 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 327, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 327, 327, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, - - 0, 0, 0, 0, 0, 12, 231, 0, 0, 0, - 0, 0, 231, 231, 231, 75, 231, 62, 74, 64, - 231, 231, 231, 231, 231, 231, 231, 81, 231, 103, - 231, 209, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 326, 324, 0, 0, 0, 0, 0, - 0, 277, 0, 0, 0, 0, 0, 0, 0, 274, - 0, 0, 320, 319, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 231, 5, 0, 0, 0, 0, 231, 231, - 231, 139, 228, 231, 110, 119, 231, 231, 153, 231, - 231, 210, 318, 0, 252, 264, 265, 0, 329, 0, - 0, 0, 0, 0, 316, 0, 0, 0, 0, 254, - 0, 0, 0, 0, 0, 0, 0, 291, 236, 319, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 328, 322, 0, 0, 0, 249, + + 0, 13, 0, 0, 0, 0, 0, 12, 231, 0, + 0, 0, 0, 0, 231, 231, 231, 75, 231, 62, + 74, 64, 231, 231, 231, 231, 231, 231, 231, 81, + 231, 103, 231, 209, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 326, 324, 0, 0, 0, + 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, + 0, 274, 0, 0, 320, 319, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 238, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 231, 231, - - 231, 76, 231, 231, 211, 231, 318, 253, 0, 330, - 0, 0, 0, 0, 312, 0, 316, 0, 0, 0, - 255, 0, 0, 288, 290, 0, 0, 0, 236, 0, - 0, 258, 261, 0, 0, 266, 0, 0, 0, 0, - 0, 270, 0, 0, 328, 322, 0, 0, 251, 0, + 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 231, 5, 0, 0, 0, + 0, 231, 231, 231, 139, 228, 231, 110, 119, 231, + 231, 153, 231, 231, 210, 318, 0, 252, 264, 265, + 0, 329, 0, 0, 0, 0, 0, 316, 0, 0, + 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, + 291, 236, 319, 0, 0, 0, 260, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 328, 322, + 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 238, 0, 239, 0, 0, 0, 0, 17, - 0, 16, 0, 18, 0, 0, 0, 9, 0, 231, - 231, 104, 231, 231, 118, 0, 285, 330, 0, 0, - 305, 0, 313, 0, 0, 0, 276, 0, 278, 0, - 0, 0, 0, 237, 259, 0, 0, 0, 268, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 338, 0, 331, 248, 0, 0, 0, 0, 309, 0, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, - 7, 11, 231, 105, 231, 231, 286, 0, 0, 306, - 0, 301, 0, 0, 0, 279, 0, 289, 0, 0, - 237, 284, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 250, 0, 299, 0, 0, 0, 0, 332, - 0, 0, 0, 307, 310, 0, 0, 0, 238, 0, - 0, 239, 0, 0, 0, 0, 15, 0, 0, 231, - - 213, 231, 287, 0, 302, 0, 303, 0, 0, 0, - 0, 0, 284, 0, 280, 0, 0, 269, 0, 272, - 0, 0, 0, 294, 0, 300, 0, 0, 0, 0, - 332, 246, 0, 308, 0, 0, 0, 0, 0, 0, - 0, 231, 215, 287, 0, 304, 0, 0, 0, 341, - 0, 293, 0, 281, 267, 271, 0, 0, 0, 0, - 295, 0, 0, 0, 334, 335, 0, 0, 0, 0, - 0, 0, 0, 6, 214, 0, 283, 0, 292, 273, - 0, 296, 0, 0, 0, 0, 0, 336, 0, 0, - 0, 0, 0, 0, 0, 311, 283, 0, 297, 0, - - 0, 314, 0, 0, 0, 340, 339, 0, 2, 0, - 282, 298, 315, 0, 0, 337, 0, 0, 340, 339, - 0, 0, 282, 0, 256, 247, 0, 0, 257, 0, - 3, 0, 1, 0 + 0, 0, 231, 231, 231, 76, 231, 231, 211, 231, + 318, 253, 0, 330, 0, 0, 0, 0, 312, 0, + 316, 0, 0, 0, 255, 0, 0, 288, 290, 0, + 0, 0, 236, 0, 0, 0, 258, 261, 0, 0, + 266, 0, 0, 0, 0, 0, 270, 0, 0, 328, + 322, 0, 0, 251, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 238, 0, 239, + 0, 0, 0, 0, 17, 0, 16, 0, 18, 0, + 0, 0, 9, 0, 231, 231, 104, 231, 231, 118, + 0, 285, 330, 0, 0, 305, 0, 313, 0, 0, + + 0, 276, 0, 278, 0, 0, 0, 0, 237, 0, + 259, 0, 0, 0, 268, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 339, 0, 331, 248, + 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, + 0, 14, 0, 0, 0, 0, 7, 11, 231, 105, + 231, 231, 286, 0, 0, 306, 0, 301, 0, 0, + 0, 279, 0, 289, 0, 0, 237, 0, 284, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, + 0, 299, 0, 0, 0, 0, 332, 0, 0, 0, + 307, 310, 0, 0, 0, 238, 0, 0, 239, 0, + + 0, 0, 0, 15, 0, 0, 231, 213, 231, 287, + 0, 302, 0, 303, 0, 0, 0, 0, 0, 0, + 284, 0, 280, 0, 0, 269, 0, 272, 0, 0, + 0, 294, 0, 300, 0, 0, 0, 0, 332, 246, + 0, 308, 0, 0, 0, 0, 0, 0, 0, 231, + 215, 287, 0, 304, 0, 0, 0, 342, 0, 293, + 0, 0, 281, 267, 271, 0, 0, 0, 0, 295, + 0, 0, 0, 335, 336, 0, 0, 0, 0, 0, + 0, 0, 6, 214, 0, 283, 0, 292, 0, 273, + 0, 296, 0, 0, 0, 0, 0, 337, 0, 0, + + 0, 0, 0, 0, 0, 311, 283, 0, 0, 297, + 0, 0, 314, 0, 0, 0, 341, 340, 0, 2, + 0, 282, 334, 298, 315, 0, 0, 338, 0, 0, + 341, 340, 0, 0, 282, 334, 0, 256, 247, 0, + 0, 257, 0, 3, 0, 1, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -614,105 +615,105 @@ static yyconst YY_CHAR yy_meta[88] = 21, 21, 22, 21, 21, 1, 1 } ; -static yyconst flex_uint16_t yy_base[1973] = +static yyconst flex_uint16_t yy_base[1988] = { 0, - 0, 0, 3387, 3388, 86, 3388, 3357, 83, 0, 141, - 3388, 3375, 80, 3388, 3388, 3355, 77, 3388, 76, 3365, - 80, 211, 3353, 3388, 209, 3352, 211, 3388, 207, 59, + 0, 0, 3421, 3422, 86, 3422, 3391, 83, 0, 141, + 3422, 3409, 80, 3422, 3422, 3389, 77, 3422, 76, 3399, + 80, 211, 3387, 3422, 209, 3386, 211, 3422, 207, 59, 66, 67, 41, 54, 51, 0, 56, 56, 68, 62, 59, 81, 212, 181, 196, 205, 110, 263, 213, 273, - 243, 283, 302, 250, 3316, 223, 200, 295, 220, 192, - 252, 3299, 319, 336, 313, 314, 346, 3292, 3388, 116, - 3388, 333, 3388, 0, 0, 3388, 3388, 404, 0, 50, - 3309, 275, 320, 359, 3308, 3301, 188, 3300, 268, 59, - 301, 3296, 3292, 73, 331, 188, 3293, 3388, 251, 3388, - - 3367, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, - 421, 429, 446, 3388, 3340, 3388, 3388, 3339, 3388, 3388, - 3338, 3337, 0, 219, 251, 291, 285, 359, 367, 366, + 243, 283, 302, 250, 3350, 223, 200, 295, 220, 192, + 252, 3333, 319, 336, 313, 314, 346, 3326, 3422, 116, + 3422, 333, 3422, 0, 0, 3422, 3422, 404, 0, 50, + 3343, 275, 320, 359, 3342, 3335, 188, 3334, 268, 59, + 301, 3330, 3326, 73, 331, 188, 3327, 3422, 251, 3422, + + 3401, 3422, 3422, 3422, 3422, 3422, 3422, 3422, 3422, 3422, + 421, 429, 446, 3422, 3374, 3422, 3422, 3373, 3422, 3422, + 3372, 3371, 0, 219, 251, 291, 285, 359, 367, 366, 390, 412, 421, 406, 412, 412, 428, 440, 423, 440, - 426, 445, 429, 436, 426, 439, 428, 456, 443, 3388, - 3362, 3290, 295, 444, 464, 3286, 3302, 459, 3288, 3286, - 3295, 455, 3290, 3283, 467, 3279, 3276, 486, 3274, 468, - 3275, 335, 3278, 3280, 3286, 488, 3278, 3277, 472, 3270, - 3269, 3272, 3272, 3264, 3268, 3258, 0, 3267, 481, 3266, - 328, 500, 3275, 3258, 3265, 505, 3264, 340, 3270, 0, - - 3255, 476, 492, 3268, 439, 525, 484, 3258, 537, 468, - 3257, 3252, 500, 361, 482, 3260, 3249, 509, 520, 490, - 3262, 3257, 511, 538, 3256, 3294, 598, 0, 3240, 3246, - 3247, 3245, 3245, 3244, 3251, 3254, 3240, 3235, 3251, 3248, - 3233, 3245, 3237, 3229, 568, 3231, 3243, 3231, 3220, 514, - 3230, 3239, 3223, 3239, 3234, 3233, 3223, 256, 531, 3235, - 3223, 3233, 3228, 3223, 3226, 3388, 604, 624, 610, 630, - 3388, 3388, 3388, 3388, 596, 601, 595, 597, 616, 617, + 426, 445, 429, 436, 426, 439, 428, 456, 443, 3422, + 3396, 3324, 295, 444, 464, 3320, 3336, 459, 3322, 3320, + 3329, 455, 3324, 3317, 467, 3313, 3310, 486, 3308, 468, + 3309, 335, 3312, 3314, 3320, 488, 3312, 3311, 472, 3304, + 3303, 3306, 3306, 3298, 3302, 3292, 0, 3301, 481, 3300, + 328, 500, 3309, 3292, 3299, 505, 3298, 340, 3304, 0, + + 3289, 476, 492, 3302, 439, 525, 484, 3292, 537, 468, + 3291, 3286, 500, 361, 482, 3294, 3283, 509, 520, 490, + 3296, 3291, 511, 538, 3290, 3328, 598, 0, 3274, 3280, + 3281, 3279, 3279, 3278, 3285, 3288, 3274, 3269, 3285, 3282, + 3267, 3279, 3271, 3263, 568, 3265, 3277, 3265, 3254, 514, + 3264, 3273, 3257, 3273, 3268, 3267, 3257, 256, 531, 3269, + 3257, 3267, 3262, 3257, 3260, 3422, 604, 624, 610, 630, + 3422, 3422, 3422, 3422, 596, 601, 595, 597, 616, 617, 615, 615, 628, 618, 626, 631, 620, 626, 620, 627, 637, 632, 637, 624, 639, 646, 633, 644, 645, 690, - 637, 651, 657, 3388, 3212, 3224, 3219, 0, 0, 3226, - 3212, 3202, 3220, 3221, 3221, 3216, 3208, 3217, 655, 3204, - 0, 3203, 3197, 535, 669, 3206, 537, 3212, 3197, 3207, - 3196, 0, 3207, 3208, 3190, 3204, 3186, 670, 3184, 3199, - 3188, 0, 3193, 3198, 3187, 651, 3197, 3197, 3182, 678, - 3191, 3174, 3183, 3186, 3176, 0, 3175, 3181, 3184, 3173, - 3166, 3165, 3172, 3164, 0, 3171, 3166, 3180, 3166, 3160, - 644, 3175, 3165, 436, 3172, 0, 3171, 3159, 3168, 3167, - 3150, 3149, 3148, 3156, 3153, 3147, 3143, 3145, 3145, 3156, - 0, 3152, 3160, 3139, 639, 3142, 3148, 3137, 0, 3135, - - 3134, 3139, 3147, 674, 3145, 3141, 3131, 3128, 3133, 3134, - 3126, 3124, 3388, 3142, 3137, 3137, 3137, 3125, 3126, 3136, - 3115, 3117, 3129, 3128, 3123, 3116, 3116, 3124, 3108, 3178, - 712, 718, 713, 3114, 3113, 3117, 661, 3098, 3117, 3116, - 3115, 3100, 702, 3154, 3096, 3112, 3111, 3099, 3094, 3111, - 3092, 3098, 654, 3095, 3101, 3089, 714, 728, 685, 695, + 637, 651, 657, 3422, 3246, 3258, 3253, 0, 0, 3260, + 3246, 3236, 3254, 3255, 3255, 3250, 3242, 3251, 655, 3238, + 0, 3237, 3231, 535, 669, 3240, 537, 3246, 3231, 3241, + 3230, 0, 3241, 3242, 3224, 3238, 3220, 670, 3218, 3233, + 3222, 0, 3227, 3232, 3221, 651, 3231, 3231, 3216, 678, + 3225, 3208, 3217, 3220, 3210, 0, 3209, 3215, 3218, 3207, + 3200, 3199, 3206, 3198, 0, 3205, 3200, 3214, 3200, 3194, + 644, 3209, 3199, 436, 3206, 0, 3205, 3193, 3202, 3201, + 3184, 3183, 3182, 3190, 3187, 3181, 3177, 3179, 3179, 3190, + 0, 3186, 3194, 3173, 639, 3176, 3182, 3171, 0, 3169, + + 3168, 3173, 3181, 674, 3179, 3175, 3165, 3162, 3167, 3168, + 3160, 3158, 3422, 3176, 3171, 3171, 3171, 3159, 3160, 3170, + 3149, 3151, 3163, 3162, 3157, 3150, 3150, 3158, 3142, 3212, + 712, 718, 713, 3148, 3147, 3151, 661, 3132, 3151, 3150, + 3149, 3134, 702, 3188, 3130, 3146, 3145, 3133, 3128, 3145, + 3126, 3132, 654, 3129, 3135, 3123, 714, 728, 685, 695, 690, 720, 704, 711, 0, 723, 709, 729, 713, 715, 0, 735, 729, 718, 721, 773, 735, 738, 742, 735, - 738, 734, 751, 800, 752, 743, 0, 3086, 3086, 3082, - 3078, 3139, 3096, 3085, 0, 3088, 0, 0, 0, 764, - - 3093, 3077, 3081, 3093, 0, 3090, 3090, 3071, 3077, 3078, - 0, 3080, 3084, 3079, 3072, 3060, 3063, 0, 3064, 0, - 3064, 3067, 3060, 3078, 3064, 3056, 3075, 3071, 3056, 3055, - 3065, 3059, 0, 3050, 3051, 0, 3062, 3043, 3064, 3047, - 3059, 3062, 3061, 0, 3052, 3048, 3040, 3035, 3037, 3055, - 3050, 3045, 3028, 3047, 3036, 3038, 3035, 3024, 3046, 3041, - 3033, 3026, 3041, 3038, 3036, 3035, 3030, 3034, 3017, 3022, - 3026, 0, 3014, 747, 0, 3019, 3012, 3028, 3025, 0, - 3028, 771, 3013, 3020, 3012, 0, 0, 3020, 3012, 3018, - 2997, 3003, 3005, 3008, 3013, 753, 3008, 3009, 3002, 3388, - - 3010, 3007, 2994, 2991, 2998, 2995, 754, 802, 809, 3059, - 755, 2998, 2985, 2990, 2989, 2999, 2987, 2988, 3033, 2994, - 2997, 2977, 3034, 2977, 3032, 2988, 2973, 2989, 2976, 2980, - 2985, 2979, 2971, 2965, 534, 3388, 2969, 770, 772, 0, + 738, 734, 751, 800, 752, 743, 0, 3120, 3120, 3116, + 3112, 3173, 3130, 3119, 0, 3122, 0, 0, 0, 764, + + 3127, 3111, 3115, 3127, 0, 3124, 3124, 3105, 3111, 3112, + 0, 3114, 3118, 3113, 3106, 3094, 3097, 0, 3098, 0, + 3098, 3101, 3094, 3112, 3098, 3090, 3109, 3105, 3090, 3089, + 3099, 3093, 0, 3084, 3085, 0, 3096, 3077, 3098, 3081, + 3093, 3096, 3095, 0, 3086, 3082, 3074, 3069, 3071, 3089, + 3084, 3079, 3062, 3081, 3070, 3072, 3069, 3058, 3080, 3075, + 3067, 3060, 3075, 3072, 3070, 3069, 3064, 3068, 3051, 3056, + 3060, 0, 3048, 747, 0, 3053, 3046, 3062, 3059, 0, + 3062, 771, 3047, 3054, 3046, 0, 0, 3054, 3046, 3052, + 3031, 3037, 3039, 3042, 3047, 753, 3042, 3043, 3036, 3422, + + 3044, 3041, 3028, 3025, 3032, 3029, 754, 802, 809, 3093, + 755, 3032, 3019, 3024, 3023, 3033, 3021, 3022, 3067, 3028, + 3031, 3011, 3068, 3011, 3066, 3022, 3007, 3023, 3010, 3014, + 3019, 3013, 3005, 2999, 534, 3422, 3003, 770, 772, 0, 761, 784, 0, 0, 780, 790, 789, 803, 791, 802, 810, 0, 794, 853, 0, 807, 0, 814, 822, 813, - 810, 817, 818, 816, 836, 836, 0, 2964, 2977, 0, - 0, 2976, 2959, 0, 2959, 2975, 0, 2959, 2975, 2970, - 2973, 2961, 2967, 2966, 2964, 2964, 2949, 2960, 0, 2946, - 2957, 0, 2944, 2954, 2999, 2939, 2941, 2947, 2953, 2952, - - 2954, 2950, 2942, 2933, 2914, 2872, 808, 0, 2857, 2854, - 2862, 2847, 2828, 0, 2815, 2783, 830, 2777, 2772, 2772, - 2748, 0, 2748, 539, 2744, 812, 2726, 2725, 2721, 2723, - 2735, 0, 2732, 2716, 2716, 2719, 0, 2709, 2718, 0, - 2708, 2701, 2712, 2700, 2709, 2702, 2710, 848, 2695, 2698, - 2704, 0, 2693, 2674, 2666, 2665, 817, 2664, 2677, 2674, - 2673, 2632, 2630, 2635, 2629, 2641, 2637, 3388, 820, 2624, - 2628, 2635, 852, 876, 873, 2598, 2596, 2583, 2590, 2587, - 2588, 2588, 897, 2564, 2584, 2584, 2623, 2563, 2574, 872, - 2568, 2546, 2552, 2550, 2543, 2559, 2551, 2538, 2537, 760, - - 2541, 2547, 2535, 2527, 852, 870, 875, 858, 910, 874, + 810, 817, 818, 816, 836, 836, 0, 2998, 3011, 0, + 0, 3010, 2993, 0, 2993, 3009, 0, 2993, 2998, 2993, + 2996, 2971, 2945, 2923, 2901, 2901, 2886, 2891, 0, 2853, + 2843, 0, 2809, 2819, 2844, 2784, 2774, 2780, 2784, 2771, + + 2773, 2767, 2756, 2759, 2761, 2740, 808, 0, 2743, 2740, + 2748, 2733, 2738, 0, 2746, 2735, 830, 2729, 2744, 2743, + 2731, 0, 2731, 539, 2729, 812, 2717, 2706, 2697, 2702, + 2714, 0, 2711, 2693, 2695, 2698, 0, 2663, 2675, 0, + 2665, 2656, 2666, 2654, 2661, 2655, 2663, 848, 2614, 2617, + 2629, 0, 2624, 2611, 2603, 2602, 817, 2600, 2614, 2611, + 2610, 2592, 2593, 2592, 2583, 2596, 2592, 3422, 820, 2580, + 2584, 2588, 852, 876, 873, 2585, 2583, 2570, 2579, 2577, + 2578, 2558, 897, 2535, 2521, 2501, 2540, 2482, 2487, 872, + 2482, 2465, 2471, 2468, 2462, 2472, 2462, 2449, 2448, 760, + + 2446, 2449, 2437, 2429, 852, 870, 875, 858, 910, 874, 0, 877, 879, 893, 0, 894, 876, 0, 0, 888, - 0, 884, 888, 907, 889, 0, 0, 2510, 2514, 2472, - 0, 2451, 2467, 2450, 0, 2442, 2436, 0, 0, 0, - 0, 2450, 920, 2449, 0, 2446, 2436, 0, 0, 2443, - 0, 2435, 2432, 0, 2418, 0, 2427, 2417, 0, 2417, - 2416, 2385, 2373, 2346, 2354, 2355, 2330, 2330, 0, 2338, - 2303, 2270, 2253, 0, 2258, 0, 2258, 2269, 2265, 2245, - 2247, 2254, 2238, 2236, 0, 2250, 2223, 2219, 2222, 46, + 0, 884, 888, 907, 889, 0, 0, 2412, 2395, 2375, + 0, 2374, 2390, 2361, 0, 2359, 2358, 0, 0, 0, + 0, 2330, 920, 2304, 0, 2302, 2292, 0, 0, 2305, + 0, 2302, 2299, 0, 2285, 0, 2299, 2293, 0, 2293, + 2291, 2280, 2289, 2275, 2283, 2284, 2271, 2271, 0, 2279, + 2286, 2281, 2264, 0, 2269, 0, 2269, 2237, 2232, 2212, + 2214, 2228, 2212, 2212, 0, 2227, 2214, 2208, 2210, 46, 69, 0, 191, 177, 0, 225, 0, 0, 215, 299, 353, 427, 512, 876, 744, 834, 840, 836, 866, 867, @@ -737,326 +738,328 @@ static yyconst flex_uint16_t yy_base[1973] = 1077, 1074, 1082, 1080, 1088, 1078, 1122, 1123, 1158, 1111, 1132, 1125, 1117, 1135, 1119, 1129, 1168, 1131, 1131, 1127, - 1128, 3388, 1130, 0, 1098, 1107, 1120, 0, 1120, 1111, + 1128, 3422, 1130, 0, 1098, 1107, 1120, 0, 1120, 1111, 0, 1124, 1117, 1113, 1119, 0, 1135, 1138, 1132, 1130, 1142, 0, 1147, 0, 1149, 1146, 0, 1137, 1140, 1152, 1159, 0, 1157, 1150, 1148, 0, 1153, 1162, 0, 0, 1160, 1162, 0, 1148, 1165, 1165, 1170, 1154, 1156, 1157, 1164, 1163, 1173, 1174, 1213, 0, 1231, 1178, 1182, 1180, 1177, 1173, 1221, 1240, 1241, 1225, 1246, 1179, 1235, 1235, - 1184, 1237, 1191, 1186, 1188, 1242, 1243, 1206, 1206, 3388, + 1184, 1237, 1191, 1186, 1188, 1242, 1243, 1206, 1206, 3422, 1195, 1247, 1211, 1197, 1203, 1205, 1198, 1207, 1207, 1220, 1204, 1216, 1221, 1260, 1213, 1226, 1240, 1288, 1248, 1249, - 1242, 1263, 1295, 1266, 1255, 1262, 1256, 1272, 1262, 1304, - 1273, 0, 1261, 1279, 1234, 1240, 1247, 0, 1242, 0, - 1256, 1244, 1257, 1260, 1265, 1263, 1259, 1260, 0, 0, - 1270, 0, 1276, 0, 1263, 1263, 1278, 1269, 0, 1266, - 1323, 0, 1282, 1321, 1269, 1277, 1271, 1274, 1292, 1285, - 1288, 1284, 1278, 0, 0, 1339, 1286, 1285, 1298, 1341, - 1303, 1309, 0, 1363, 1319, 1366, 1343, 1301, 1374, 1387, - 1349, 0, 1313, 1351, 1299, 1338, 1341, 1319, 3388, 1307, - 1372, 1325, 1383, 1331, 1387, 1351, 1351, 1347, 1343, 1354, - 1351, 1346, 1421, 1355, 1362, 1436, 1445, 3388, 1396, 1400, - - 1384, 1448, 1393, 1402, 1403, 1406, 1393, 1413, 1451, 3388, - 1424, 1423, 1391, 1400, 1401, 1403, 1396, 1391, 1404, 1396, - 1414, 1403, 1416, 1406, 1412, 1419, 1412, 0, 1423, 1416, - 1414, 1428, 1464, 1417, 1466, 1429, 1468, 1422, 1427, 1426, - 1474, 1433, 1477, 0, 0, 0, 1433, 1441, 1435, 1433, - 1424, 1437, 0, 1524, 1442, 1447, 1448, 1439, 1450, 1511, - 3388, 1523, 1492, 3388, 1524, 1492, 1513, 1535, 1541, 0, - 1493, 1446, 1453, 1450, 1449, 1455, 1465, 1473, 1463, 1464, - 1513, 1516, 1544, 1552, 1502, 1500, 1498, 1550, 1515, 1554, - 1509, 1519, 1507, 1579, 1560, 1562, 1587, 1542, 1543, 3388, - - 1565, 1564, 1570, 1567, 1567, 3388, 1570, 1563, 1578, 1579, - 1572, 1562, 1527, 1538, 1540, 0, 1537, 0, 0, 0, - 1552, 1550, 1546, 1541, 1558, 1561, 1545, 0, 1548, 0, - 1554, 1571, 1622, 1583, 1629, 1609, 1638, 1574, 1626, 1589, - 1580, 1582, 1644, 0, 0, 1610, 1594, 1646, 1608, 1648, - 1611, 0, 1603, 1598, 1613, 1615, 1598, 1617, 1653, 1654, - 1683, 0, 1667, 1673, 1611, 1634, 1638, 1628, 1628, 1630, - 1642, 1631, 1632, 1630, 1641, 1659, 0, 1701, 1694, 1657, - 1654, 1653, 1639, 1669, 1650, 1670, 1668, 1707, 1651, 1730, - 3388, 0, 0, 0, 1702, 1707, 1700, 1695, 1698, 1708, - - 1713, 1713, 1748, 3388, 1702, 1721, 1710, 1716, 1684, 1698, - 1685, 0, 0, 1696, 0, 0, 1687, 1702, 0, 1699, - 1693, 0, 1769, 1700, 3388, 3388, 3388, 1695, 1777, 1744, - 1697, 1749, 1713, 1715, 1783, 1703, 1701, 1713, 1731, 3388, - 1735, 1784, 1748, 1745, 1745, 1739, 1751, 3388, 1787, 1797, - 1758, 1759, 3388, 1747, 1747, 1752, 1749, 1756, 1756, 1765, - 1751, 1759, 1767, 1764, 0, 1817, 1818, 1771, 1780, 3388, - 1768, 1821, 1773, 1781, 1785, 1772, 1826, 1782, 1794, 1787, - 1830, 1783, 1832, 1833, 1834, 1805, 1811, 1817, 1808, 1822, - 1830, 1815, 1819, 1867, 1840, 1830, 1823, 1829, 1814, 1799, - - 1807, 0, 1799, 1801, 0, 1797, 1862, 3388, 1832, 1886, - 1828, 1839, 1824, 1834, 3388, 1887, 1898, 1837, 1855, 1843, - 3388, 1859, 1905, 3388, 3388, 1858, 1871, 1857, 1906, 0, - 1871, 3388, 3388, 1911, 1870, 3388, 1871, 1861, 1861, 1868, - 1869, 3388, 1878, 1878, 0, 1927, 1927, 1880, 3388, 1891, - 1882, 1882, 1887, 1894, 1897, 1941, 1896, 1890, 1891, 1896, - 1906, 1909, 1947, 1968, 1949, 1970, 1978, 1937, 1933, 3388, - 1951, 3388, 1935, 3388, 1934, 1954, 1952, 3388, 1944, 1916, - 1913, 0, 1919, 1925, 0, 1929, 1969, 1976, 1940, 1938, - 3388, 1945, 3388, 1930, 1947, 1931, 3388, 1944, 3388, 1999, - - 1950, 1966, 1965, 0, 3388, 2008, 1961, 1962, 3388, 1963, - 1955, 1976, 1966, 1967, 1967, 1983, 1964, 1979, 1981, 1982, - 3388, 1983, 2038, 3388, 1980, 1970, 1999, 1985, 3388, 1987, - 1993, 2048, 2049, 2064, 2015, 3388, 2035, 2034, 2039, 2041, - 3388, 3388, 1994, 0, 1996, 2002, 3388, 0, 2015, 3388, - 2013, 3388, 2014, 1996, 2004, 3388, 2077, 3388, 2006, 2025, - 0, 2089, 2021, 2008, 2009, 2011, 2017, 2024, 2069, 2030, - 2050, 2023, 3388, 2037, 3388, 2030, 2078, 2028, 2036, 2097, - 2062, 2051, 2061, 3388, 3388, 2061, 2065, 2123, 3388, 0, - 2124, 3388, 0, 2099, 2081, 2097, 3388, 2083, 2085, 2064, - - 0, 2065, 0, 2075, 3388, 2075, 3388, 2115, 2082, 2137, - 2080, 2067, 2126, 2087, 3388, 2089, 2090, 3388, 2093, 3388, - 2082, 2131, 2093, 3388, 2094, 3388, 2103, 2161, 2091, 2090, - 2150, 3388, 2110, 3388, 2100, 2110, 2134, 2140, 2181, 2146, - 2151, 2109, 0, 0, 2114, 3388, 2176, 2106, 2185, 3388, - 2189, 3388, 2129, 3388, 3388, 3388, 2126, 2137, 2143, 2130, - 3388, 2144, 2180, 2203, 3388, 3388, 2134, 2148, 2153, 2184, - 2184, 2219, 2170, 3388, 0, 2145, 2205, 2205, 3388, 3388, - 2167, 3388, 2156, 2169, 2209, 2230, 2231, 3388, 2235, 2179, - 2176, 2168, 2207, 2197, 2198, 3388, 2230, 2258, 3388, 2184, - - 2193, 3388, 2185, 2258, 2195, 2190, 2191, 2235, 3388, 2232, - 2281, 3388, 3388, 2220, 2268, 3388, 2283, 2198, 3388, 3388, - 2243, 2257, 2300, 2227, 3388, 3388, 2271, 2258, 3388, 2264, - 3388, 2259, 3388, 3388, 2338, 2360, 2382, 2397, 2412, 2434, - 2456, 2471, 2486, 2504, 2519, 2541, 2563, 2585, 2600, 2615, - 2634, 2649, 2671, 2686, 2708, 2713, 2728, 2736, 2747, 2764, - 2779, 2793, 2810, 2832, 2854, 2876, 2898, 2909, 2924, 2946, - 2968, 2990 + 1242, 1263, 1295, 1266, 1255, 1263, 1257, 1273, 1263, 1305, + 1274, 0, 1262, 1280, 1235, 1241, 1248, 0, 1243, 0, + 1258, 1245, 1258, 1265, 1266, 1264, 1262, 1261, 0, 0, + 1271, 0, 1277, 0, 1264, 1264, 1279, 1270, 0, 1267, + 1324, 0, 1283, 1322, 1270, 1278, 1272, 1275, 1293, 1286, + 1289, 1285, 1279, 0, 0, 1340, 1287, 1286, 1299, 1342, + 1304, 1310, 0, 1364, 1320, 1367, 1344, 1302, 1375, 1388, + 1350, 0, 1300, 1315, 1353, 1301, 1339, 1342, 1332, 3422, + 1309, 1383, 1328, 1385, 1340, 1390, 1354, 1355, 1349, 1345, + 1356, 1354, 1349, 1423, 1357, 1364, 1437, 1446, 3422, 1399, + + 1402, 1387, 1449, 1395, 1408, 1405, 1409, 1395, 1422, 1453, + 3422, 1426, 1425, 1392, 1401, 1402, 1404, 1397, 1392, 1405, + 1397, 1415, 1404, 1417, 1407, 1413, 1421, 1414, 0, 1425, + 1418, 1416, 1430, 1466, 1419, 1468, 1431, 1471, 1425, 1429, + 1428, 1476, 1435, 1479, 0, 0, 0, 1435, 1443, 1437, + 1435, 1426, 1439, 0, 1526, 1444, 1449, 1450, 1441, 1452, + 1513, 3422, 1524, 1495, 3422, 1525, 1494, 1515, 1536, 1542, + 0, 1447, 1496, 1449, 1461, 1456, 1452, 1467, 1468, 1501, + 1465, 1466, 1515, 1518, 1546, 1554, 1504, 1502, 1500, 1552, + 1519, 1558, 1513, 1522, 1510, 1582, 1564, 1565, 1600, 1541, + + 1542, 3422, 1563, 1560, 1567, 1569, 1569, 3422, 1572, 1565, + 1579, 1581, 1575, 1565, 1538, 1543, 1543, 0, 1540, 0, + 0, 0, 1555, 1555, 1553, 1548, 1566, 1567, 1551, 0, + 1553, 0, 1559, 1573, 1625, 1586, 1632, 1611, 1640, 1577, + 1629, 1592, 1583, 1585, 1651, 0, 0, 1606, 1590, 1642, + 1604, 1652, 1615, 0, 1607, 1602, 1617, 1619, 1602, 1620, + 1656, 1657, 1686, 0, 1670, 1676, 1616, 1628, 1638, 1642, + 1632, 1632, 1637, 1645, 1634, 1635, 1634, 1645, 1663, 0, + 1704, 1698, 1661, 1657, 1657, 1652, 1673, 1654, 1674, 1672, + 1711, 1655, 1734, 3422, 0, 0, 0, 1706, 1711, 1705, + + 1699, 1702, 1712, 1717, 1717, 1752, 3422, 1706, 1725, 1714, + 1720, 1688, 1702, 1689, 0, 0, 1700, 0, 0, 1691, + 1706, 0, 1703, 1697, 0, 1773, 1704, 3422, 3422, 3422, + 1698, 1781, 1748, 1701, 1753, 1717, 1719, 1787, 1707, 1705, + 1717, 1735, 3422, 1739, 1788, 1752, 1749, 1749, 1743, 1755, + 3422, 1791, 1801, 1749, 1763, 1764, 3422, 1752, 1752, 1757, + 1754, 1761, 1761, 1770, 1756, 1764, 1772, 1769, 0, 1822, + 1823, 1776, 1785, 3422, 1773, 1826, 1778, 1786, 1790, 1777, + 1831, 1787, 1799, 1792, 1835, 1788, 1837, 1838, 1839, 1810, + 1816, 1822, 1813, 1827, 1835, 1820, 1824, 1872, 1845, 1835, + + 1828, 1834, 1819, 1804, 1812, 0, 1804, 1806, 0, 1802, + 1867, 3422, 1837, 1891, 1833, 1844, 1829, 1839, 3422, 1892, + 1903, 1842, 1860, 1848, 3422, 1864, 1910, 3422, 3422, 1863, + 1876, 1862, 1911, 0, 1862, 1877, 3422, 3422, 1917, 1876, + 3422, 1877, 1867, 1867, 1874, 1875, 3422, 1885, 1884, 0, + 1933, 1933, 1886, 3422, 1897, 1888, 1888, 1893, 1900, 1903, + 1947, 1902, 1896, 1897, 1902, 1912, 1915, 1953, 1974, 1955, + 1976, 1984, 1943, 1939, 3422, 1957, 3422, 1941, 3422, 1940, + 1960, 1958, 3422, 1950, 1922, 1919, 0, 1925, 1931, 0, + 1935, 1975, 1982, 1946, 1944, 3422, 1951, 3422, 1936, 1953, + + 1937, 3422, 1950, 3422, 2005, 1956, 1972, 1971, 0, 1957, + 3422, 2015, 1968, 1969, 3422, 1970, 1962, 1983, 1973, 1974, + 1974, 1990, 1971, 1986, 1988, 1989, 3422, 1990, 2045, 3422, + 1987, 1977, 2006, 1992, 3422, 1994, 2000, 2055, 2056, 2071, + 2022, 3422, 2042, 2041, 2046, 2048, 3422, 3422, 2001, 0, + 2003, 2009, 3422, 0, 2022, 3422, 2020, 3422, 2021, 2003, + 2011, 3422, 2084, 3422, 2013, 2032, 0, 2025, 2096, 2030, + 2016, 2017, 2019, 2025, 2033, 2076, 2041, 2057, 2032, 3422, + 2045, 3422, 2038, 2086, 2046, 2044, 2111, 2063, 2052, 2062, + 3422, 3422, 2062, 2066, 2131, 3422, 0, 2132, 3422, 0, + + 2107, 2089, 2105, 3422, 2091, 2094, 2072, 0, 2073, 0, + 2083, 3422, 2083, 3422, 2123, 2090, 2145, 2088, 2075, 2081, + 2135, 2096, 3422, 2098, 2099, 3422, 2102, 3422, 2091, 2140, + 2106, 3422, 2103, 3422, 2112, 2170, 2100, 2099, 2159, 3422, + 2119, 3422, 2109, 2119, 2143, 2151, 2190, 2155, 2160, 2118, + 0, 0, 2123, 3422, 2184, 2115, 2194, 3422, 2198, 3422, + 2138, 2144, 3422, 3422, 3422, 2143, 2147, 2153, 2140, 3422, + 2154, 2191, 2212, 3422, 3422, 2144, 2158, 2165, 2195, 2195, + 2228, 2183, 3422, 0, 2155, 2215, 2215, 3422, 2216, 3422, + 2178, 3422, 2167, 2180, 2220, 2241, 2242, 3422, 2246, 2190, + + 2187, 2181, 2218, 2208, 2208, 3422, 2288, 2294, 0, 3422, + 2187, 2197, 3422, 2189, 2262, 2192, 2188, 2189, 2237, 3422, + 2237, 2301, 0, 3422, 3422, 2207, 2272, 3422, 2299, 2203, + 3422, 3422, 2260, 2272, 2315, 0, 2217, 3422, 3422, 2292, + 2281, 3422, 2288, 3422, 2290, 3422, 3422, 2369, 2391, 2413, + 2428, 2443, 2465, 2487, 2502, 2517, 2535, 2550, 2572, 2594, + 2616, 2631, 2646, 2665, 2680, 2702, 2717, 2739, 2744, 2759, + 2767, 2778, 2795, 2810, 2824, 2841, 2863, 2885, 2907, 2929, + 2940, 2955, 2977, 2999, 3010, 3032, 3047 } ; -static yyconst flex_int16_t yy_def[1973] = +static yyconst flex_int16_t yy_def[1988] = { 0, - 1934, 1, 1934, 1934, 1934, 1934, 1934, 1935, 1936, 1934, - 1934, 1934, 1937, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1934, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1934, 1934, 1934, - 1934, 1935, 1934, 1935, 1936, 1934, 1934, 1934, 1939, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1937, 1934, - - 1937, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1934, - 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1934, 1934, 1939, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1940, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - - 1938, 1938, 1938, 1934, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1940, - 1940, 1941, 1940, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1934, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - - 1934, 1934, 1934, 1934, 1934, 1934, 1940, 1941, 1941, 1940, - 1940, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1934, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1934, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1940, 1941, 1940, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - - 1934, 1934, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1934, 1938, 1938, 1938, 1938, - 1938, 1934, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - - 1938, 1938, 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1940, 1941, 1940, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, 1938, - 1938, 1934, 1938, 1938, 1938, 1938, 1934, 1938, 1938, 1934, - 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1940, 1941, 1940, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1938, 1934, 1938, 1934, 1938, - - 1934, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1942, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1941, 1940, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, 1934, 1934, - - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1934, 1938, - 1934, 1938, 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1943, 1944, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1945, 1940, 1934, 1946, 1947, 1934, 1934, 1934, - 1934, 1948, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1949, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1938, 1934, 1934, 1934, 1934, - - 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1934, 1934, 1934, - 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1950, 1944, 1951, 1934, 1934, 1934, 1934, - 1934, 1934, 1952, 1940, 1934, 1934, 1934, 1934, 1934, 1946, - 1934, 1946, 1947, 1934, 1953, 1934, 1934, 1934, 1934, 1948, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1954, 1954, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1955, 1934, 1934, 1934, 1934, 1934, 1934, - - 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1934, 1934, 1934, - 1934, 1934, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1950, 1951, 1934, 1934, 1934, 1934, 1934, - 1934, 1952, 1934, 1934, 1934, 1934, 1934, 1934, 1947, 1947, - 1953, 1956, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1954, 1957, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1955, - 1934, 1955, 1958, 1959, 1934, 1934, 1934, 1934, 1934, 1934, - - 1934, 1934, 1938, 1934, 1934, 1934, 1934, 1934, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, - 1938, 1938, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1960, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1961, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1962, 1963, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, 1938, - - 1938, 1938, 1938, 1938, 1938, 1938, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1960, 1964, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1961, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1962, 1934, 1963, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1938, - 1938, 1938, 1938, 1938, 1938, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - - 1934, 1934, 1934, 1965, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1966, 1967, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1938, 1938, 1938, 1938, 1934, 1968, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1965, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1966, 1934, 1966, - 1967, 1934, 1967, 1934, 1934, 1934, 1934, 1934, 1934, 1938, - - 1938, 1938, 1969, 1934, 1934, 1934, 1934, 1934, 1934, 1970, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1938, 1938, 1969, 1934, 1934, 1934, 1934, 1970, 1934, - 1970, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1971, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1938, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1971, 1934, 1971, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - - 1934, 1934, 1934, 1972, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1972, 1934, 1972, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 0, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934 + 1947, 1, 1947, 1947, 1947, 1947, 1947, 1948, 1949, 1947, + 1947, 1947, 1950, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1947, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1947, 1947, 1947, + 1947, 1948, 1947, 1948, 1949, 1947, 1947, 1947, 1952, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1950, 1947, + + 1950, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1947, + 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1947, 1947, 1952, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1953, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + + 1951, 1951, 1951, 1947, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1953, + 1953, 1954, 1953, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1947, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + + 1947, 1947, 1947, 1947, 1947, 1947, 1953, 1954, 1954, 1953, + 1953, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1947, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1953, 1954, 1953, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + + 1947, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1947, 1951, 1951, 1951, 1951, + 1951, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + + 1951, 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1953, 1954, 1953, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, 1951, + 1951, 1947, 1951, 1951, 1951, 1951, 1947, 1951, 1951, 1947, + 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1953, 1954, 1953, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1951, 1947, 1951, 1947, 1951, + + 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1955, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1954, 1953, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, 1947, 1947, + + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1947, 1951, + 1947, 1951, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1956, 1957, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1958, 1953, 1947, 1959, 1960, 1947, 1947, 1947, + 1947, 1961, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1962, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1947, 1947, 1947, + + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1947, 1947, + 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1963, 1957, 1964, 1947, 1947, 1947, + 1947, 1947, 1947, 1965, 1953, 1947, 1947, 1947, 1947, 1947, + 1959, 1947, 1959, 1960, 1947, 1966, 1947, 1947, 1947, 1947, + 1961, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1967, 1967, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1968, 1947, 1947, 1947, 1947, + + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1947, + 1947, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1963, 1964, 1947, 1947, 1947, + 1947, 1947, 1947, 1965, 1947, 1947, 1947, 1947, 1947, 1947, + 1960, 1960, 1966, 1969, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1967, 1970, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1968, 1947, 1968, 1971, 1972, 1947, 1947, 1947, + + 1947, 1947, 1947, 1947, 1947, 1951, 1947, 1947, 1947, 1947, + 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1951, 1951, 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1973, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1974, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1975, 1976, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + + 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1973, 1977, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1974, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1975, 1947, 1976, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1978, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1979, 1980, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, + 1951, 1951, 1947, 1981, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1978, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1979, 1947, 1979, 1980, 1947, 1980, + + 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, 1951, 1982, + 1947, 1947, 1947, 1947, 1947, 1947, 1983, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, + 1951, 1982, 1947, 1947, 1947, 1947, 1983, 1947, 1983, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1984, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1951, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1984, 1947, 1984, 1947, + + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1985, 1947, + 1947, 1947, 1947, 1947, 1986, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1987, 1947, 1947, 1947, 1986, 1947, 1986, 1947, + 1947, 1947, 1947, 1947, 1947, 1987, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 0, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947 } ; -static yyconst flex_uint16_t yy_nxt[3476] = +static yyconst flex_uint16_t yy_nxt[3510] = { 0, 4, 5, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, @@ -1196,253 +1199,257 @@ static yyconst flex_uint16_t yy_nxt[3476] = 1247, 1199, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1256, 1257, 1259, 1209, 1260, 1261, 1262, 1263, 609, 431, 1264, 1265, 1266, 1268, 1258, 1269, 1269, 1269, 1269, 1269, 1269, - 1270, 1271, 1272, 1273, 1274, 1275, 610, 1276, 1277, 1278, - 1279, 1280, 1281, 1267, 1282, 1283, 1284, 1285, 1286, 1287, - 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, - 1297, 1297, 1298, 1299, 1300, 1301, 1302, 1302, 1302, 1303, - - 1304, 1305, 1306, 1307, 1308, 1309, 1309, 1309, 1310, 1311, - 1312, 1313, 1314, 1315, 1316, 1317, 1296, 1318, 1319, 1320, - 1298, 1299, 1300, 1301, 1321, 1322, 1323, 1303, 1304, 1305, - 1306, 1307, 1308, 1324, 1325, 1326, 1310, 1311, 1312, 1327, + 1270, 1271, 1272, 1274, 1275, 1276, 610, 1277, 1278, 1279, + 1280, 1281, 1282, 1267, 1283, 1284, 1285, 1286, 1287, 1288, + 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, + 1298, 1298, 1299, 1300, 1301, 1302, 1303, 1303, 1303, 1304, + + 1305, 1273, 1306, 1307, 1308, 1309, 1310, 1310, 1310, 1311, + 1312, 1313, 1314, 1315, 1316, 1317, 1297, 1318, 1319, 1320, + 1299, 1300, 1301, 1302, 1321, 1322, 1323, 1304, 1305, 1324, + 1306, 1307, 1308, 1309, 1325, 1326, 1327, 1311, 1312, 1313, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, - 1338, 1339, 1340, 1341, 1342, 1343, 1346, 1347, 1346, 1346, - 1346, 1346, 1346, 1346, 1348, 1349, 1350, 1351, 1352, 1354, - 431, 1361, 1364, 1366, 1369, 1371, 1372, 1373, 1379, 1355, - 1354, 1356, 1354, 1354, 1354, 1354, 1354, 1354, 1357, 1358, - 1380, 1381, 1359, 1367, 1367, 1367, 1367, 1367, 1367, 1374, - - 1365, 1383, 1376, 1384, 1385, 1354, 1368, 1368, 1368, 1368, - 1368, 1368, 1386, 1377, 1387, 1375, 1388, 1354, 1378, 1389, - 1390, 1391, 1392, 1362, 1393, 1354, 1394, 1395, 1396, 1399, - 1354, 1400, 1401, 1354, 1403, 1404, 1354, 1397, 1397, 1397, - 1405, 1406, 1354, 1407, 1408, 1354, 1297, 1297, 1297, 1302, - 1302, 1302, 1309, 1309, 1309, 1411, 1412, 1399, 1413, 1400, - 1401, 1414, 1403, 1404, 1416, 1417, 1418, 1419, 1405, 1406, - 1420, 1407, 1408, 1421, 1415, 1422, 1423, 1424, 1425, 1426, - 1427, 1428, 1429, 1411, 1412, 1409, 1430, 1431, 1432, 1433, - 1434, 1435, 1436, 1437, 1398, 1438, 1402, 1439, 1440, 1441, - - 1442, 1410, 1443, 1446, 1447, 1448, 1449, 1450, 1451, 1453, - 1455, 1456, 1457, 1409, 1458, 1454, 1361, 1462, 1465, 1466, - 1467, 1364, 1398, 1468, 1402, 1934, 1363, 1469, 1470, 1410, - 1354, 431, 1367, 1367, 1367, 1367, 1367, 1367, 1471, 1472, - 1474, 1354, 1475, 1354, 1354, 1354, 1354, 1354, 1354, 1365, - 1360, 1473, 1360, 1460, 1463, 1463, 1463, 1463, 1463, 1463, - 1464, 1464, 1464, 1464, 1464, 1464, 1354, 1477, 1362, 1478, - 1934, 1479, 1480, 1481, 1483, 1484, 1482, 1485, 1354, 1486, - 1487, 1461, 1488, 1489, 1491, 1493, 1354, 1494, 1397, 1397, - 1397, 1354, 1496, 1497, 1354, 1477, 1498, 1354, 1934, 1499, - - 1509, 1500, 1501, 1354, 1502, 1503, 1354, 1504, 1510, 1505, - 1506, 1507, 1508, 1511, 1512, 1513, 1514, 1515, 1516, 1517, - 1496, 1497, 1518, 1519, 1498, 1520, 1521, 1499, 1495, 1500, - 1501, 1522, 1502, 1503, 1528, 1504, 1492, 1505, 1506, 1507, - 1508, 1523, 1523, 1523, 1523, 1523, 1523, 1524, 1526, 1527, - 1530, 1531, 1532, 1533, 1534, 1525, 1495, 1529, 1529, 1529, - 1529, 1529, 1529, 1535, 1535, 1535, 1535, 1535, 1535, 1536, - 1537, 1538, 1539, 1541, 1542, 1543, 1544, 1545, 1546, 1547, - 1540, 1548, 1364, 1364, 1551, 1363, 1463, 1463, 1463, 1463, - 1463, 1463, 1550, 1550, 1550, 1550, 1550, 1550, 1552, 1554, - - 1555, 1556, 1557, 1559, 1561, 1562, 1553, 1563, 1564, 1558, - 1365, 1365, 1460, 1934, 1567, 1568, 1571, 1572, 1569, 1560, - 1566, 1566, 1566, 1566, 1566, 1566, 1570, 1577, 1573, 1578, - 1579, 1581, 1582, 1574, 1583, 1491, 1580, 1586, 1587, 1588, - 1461, 1934, 1575, 1589, 1590, 1591, 1576, 1592, 1593, 1594, - 1594, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, - 1603, 1604, 1605, 1606, 1608, 1586, 1587, 1588, 1609, 1611, - 1612, 1589, 1590, 1591, 1613, 1592, 1593, 1614, 1616, 1618, - 1595, 1596, 1597, 1598, 1619, 1615, 1620, 1492, 1607, 1607, - 1607, 1607, 1607, 1607, 1610, 1621, 1529, 1529, 1529, 1529, - - 1529, 1529, 1617, 1617, 1617, 1617, 1617, 1617, 1622, 1623, - 1624, 1625, 1626, 1627, 1628, 1630, 1550, 1550, 1550, 1550, - 1550, 1550, 1631, 1633, 1634, 1635, 1636, 1637, 1638, 1639, - 1632, 1640, 1641, 1642, 1643, 1644, 1646, 1646, 1646, 1646, - 1646, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, - 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1664, 1666, - 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1594, 1594, - 1594, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, - 1685, 1607, 1607, 1607, 1607, 1607, 1607, 1689, 1667, 1668, - 1669, 1670, 1671, 1672, 1673, 1674, 1686, 1692, 1693, 1676, - - 1677, 1678, 1679, 1690, 1687, 1688, 1688, 1688, 1688, 1688, - 1688, 1691, 1694, 1695, 1696, 1697, 1675, 1617, 1617, 1617, - 1617, 1617, 1617, 1698, 1700, 1700, 1700, 1700, 1700, 1700, - 1701, 1699, 1702, 1703, 1630, 1705, 1706, 1707, 1708, 1709, - 1710, 1711, 1712, 1713, 1675, 1714, 1646, 1646, 1646, 1646, - 1646, 1646, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, - 1723, 1723, 1723, 1723, 1723, 1723, 1724, 1725, 1726, 1727, - 1728, 1730, 1664, 1732, 1666, 1733, 1735, 1736, 1729, 1734, - 1734, 1734, 1737, 1738, 1739, 1731, 1740, 1741, 1742, 1743, - 1744, 1745, 1746, 1747, 1748, 1688, 1688, 1688, 1688, 1688, - - 1688, 1749, 1750, 1753, 1735, 1736, 1754, 1755, 1756, 1751, - 1737, 1738, 1739, 1758, 1740, 1741, 1742, 1752, 1700, 1700, - 1700, 1700, 1700, 1700, 1757, 1759, 1760, 1762, 1762, 1762, - 1762, 1762, 1762, 1764, 1765, 1766, 1767, 1768, 1769, 1770, - 1771, 1772, 1773, 1774, 1776, 1777, 1778, 1781, 1782, 1785, - 1786, 1775, 1787, 1789, 1792, 1780, 1779, 1723, 1723, 1723, - 1723, 1723, 1723, 1783, 1795, 1734, 1734, 1734, 1796, 1797, - 1798, 1784, 1799, 1800, 1801, 1802, 1804, 1805, 1806, 1808, - 1809, 1763, 1810, 1811, 1812, 1814, 1807, 1816, 1817, 1818, - 1819, 1820, 1795, 1815, 1821, 1822, 1796, 1797, 1798, 1825, - - 1799, 1826, 1827, 1828, 1829, 1790, 1793, 1794, 1813, 1813, - 1813, 1813, 1813, 1813, 1823, 1830, 1831, 1831, 1831, 1831, - 1831, 1831, 1824, 1832, 1833, 1834, 1835, 1836, 1789, 1792, - 1837, 1838, 1839, 1840, 1841, 1794, 1842, 1843, 1845, 1846, - 1847, 1848, 1850, 1852, 1853, 1813, 1813, 1813, 1813, 1813, - 1813, 1854, 1855, 1856, 1857, 1858, 1860, 1861, 1837, 1838, - 1839, 1840, 1841, 1859, 1862, 1863, 1864, 1865, 1866, 1831, - 1831, 1831, 1831, 1831, 1831, 1867, 1868, 1869, 1870, 1871, - 1790, 1793, 1872, 1872, 1872, 1873, 1874, 1875, 1876, 1878, - 1850, 1934, 1879, 1880, 1851, 1877, 1877, 1877, 1877, 1877, - - 1877, 1881, 1883, 1884, 1885, 1886, 1870, 1871, 1888, 1882, - 1890, 1891, 1892, 1873, 1874, 1893, 1849, 1894, 1849, 1895, - 1872, 1872, 1872, 1896, 1897, 1897, 1897, 1897, 1897, 1897, - 1898, 1899, 1900, 1901, 1903, 1904, 1888, 1934, 1905, 1906, - 1907, 1902, 1851, 1893, 1908, 1894, 1909, 1895, 1910, 1897, - 1897, 1897, 1897, 1897, 1897, 1090, 1912, 1913, 1914, 1091, - 1889, 1092, 1887, 1916, 1887, 1094, 1918, 1919, 1920, 1095, - 1921, 1922, 1908, 1916, 1909, 1926, 1910, 1911, 1911, 1911, - 1911, 1911, 1911, 1090, 1924, 1934, 1927, 1091, 1889, 1092, - 1928, 1929, 1925, 1094, 1020, 1019, 1018, 1095, 1921, 1922, - - 1923, 1923, 1923, 1923, 1923, 1923, 1930, 1931, 1932, 1933, - 1915, 1017, 1915, 1016, 1927, 1917, 1015, 1014, 1928, 1923, - 1923, 1923, 1923, 1923, 1923, 1917, 1013, 1012, 1011, 1010, - 1009, 1008, 1007, 1006, 1930, 1931, 1932, 1933, 72, 72, + 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1347, 1348, 1347, + 1347, 1347, 1347, 1347, 1347, 1349, 1350, 1351, 1352, 1353, + 1355, 431, 1362, 1365, 1367, 1370, 1372, 1373, 1374, 1375, + 1356, 1355, 1357, 1355, 1355, 1355, 1355, 1355, 1355, 1358, + 1359, 1381, 1382, 1360, 1368, 1368, 1368, 1368, 1368, 1368, + + 1376, 1366, 1383, 1378, 1385, 1386, 1355, 1369, 1369, 1369, + 1369, 1369, 1369, 1387, 1379, 1388, 1377, 1389, 1355, 1380, + 1390, 1391, 1392, 1393, 1363, 1394, 1355, 1395, 1396, 1397, + 1398, 1355, 1401, 1402, 1355, 1403, 1405, 1355, 1399, 1399, + 1399, 1406, 1407, 1355, 1408, 1409, 1355, 1298, 1298, 1298, + 1303, 1303, 1303, 1410, 1310, 1310, 1310, 1413, 1414, 1415, + 1401, 1402, 1416, 1403, 1405, 1418, 1419, 1420, 1421, 1406, + 1407, 1422, 1408, 1409, 1423, 1417, 1424, 1425, 1426, 1427, + 1428, 1410, 1429, 1430, 1431, 1413, 1414, 1411, 1432, 1433, + 1434, 1435, 1436, 1437, 1438, 1400, 1439, 1404, 1440, 1441, + + 1442, 1443, 1444, 1412, 1445, 1448, 1449, 1450, 1451, 1452, + 1453, 1455, 1457, 1458, 1459, 1411, 1460, 1456, 1362, 1464, + 1467, 1468, 1469, 1400, 1365, 1404, 1947, 1364, 1470, 1471, + 1472, 1412, 1355, 431, 1368, 1368, 1368, 1368, 1368, 1368, + 1473, 1474, 1477, 1355, 1478, 1355, 1355, 1355, 1355, 1355, + 1355, 1361, 1366, 1361, 1462, 1465, 1465, 1465, 1465, 1465, + 1465, 1466, 1466, 1466, 1466, 1466, 1466, 1475, 1355, 1480, + 1363, 1481, 1947, 1482, 1483, 1484, 1486, 1487, 1485, 1476, + 1355, 1488, 1463, 1489, 1490, 1491, 1492, 1494, 1355, 1496, + 1497, 1499, 1500, 1355, 1501, 1502, 1355, 1480, 1503, 1355, + + 1947, 1399, 1399, 1399, 1504, 1355, 1505, 1506, 1355, 1507, + 1508, 1512, 1509, 1513, 1510, 1511, 1514, 1515, 1516, 1499, + 1500, 1517, 1501, 1502, 1518, 1519, 1503, 1520, 1521, 1522, + 1523, 1524, 1504, 1525, 1505, 1506, 1531, 1507, 1508, 1495, + 1509, 1498, 1510, 1511, 1526, 1526, 1526, 1526, 1526, 1526, + 1527, 1529, 1530, 1533, 1534, 1535, 1536, 1537, 1528, 1532, + 1532, 1532, 1532, 1532, 1532, 1539, 1540, 1541, 1542, 1498, + 1538, 1538, 1538, 1538, 1538, 1538, 1543, 1544, 1545, 1546, + 1547, 1548, 1549, 1550, 1551, 1365, 1365, 1554, 1364, 1465, + 1465, 1465, 1465, 1465, 1465, 1553, 1553, 1553, 1553, 1553, + + 1553, 1555, 1556, 1558, 1559, 1560, 1563, 1565, 1566, 1561, + 1557, 1567, 1568, 1366, 1366, 1462, 1562, 1947, 1571, 1572, + 1575, 1573, 1564, 1570, 1570, 1570, 1570, 1570, 1570, 1574, + 1576, 1581, 1577, 1582, 1583, 1585, 1586, 1578, 1587, 1494, + 1584, 1590, 1591, 1463, 1592, 1947, 1579, 1593, 1594, 1595, + 1580, 1596, 1597, 1598, 1598, 1598, 1599, 1600, 1601, 1602, + 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1612, 1590, + 1591, 1613, 1592, 1615, 1616, 1593, 1594, 1595, 1617, 1596, + 1597, 1618, 1620, 1622, 1599, 1600, 1601, 1602, 1623, 1619, + 1624, 1495, 1611, 1611, 1611, 1611, 1611, 1611, 1614, 1625, + + 1532, 1532, 1532, 1532, 1532, 1532, 1621, 1621, 1621, 1621, + 1621, 1621, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1634, + 1553, 1553, 1553, 1553, 1553, 1553, 1635, 1636, 1638, 1639, + 1640, 1641, 1642, 1643, 1644, 1637, 1645, 1646, 1647, 1648, + 1649, 1651, 1651, 1651, 1651, 1651, 1651, 1652, 1653, 1654, + 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, + 1665, 1666, 1667, 1669, 1671, 1672, 1673, 1674, 1675, 1676, + 1677, 1678, 1679, 1598, 1598, 1598, 1681, 1682, 1683, 1684, + 1685, 1686, 1687, 1688, 1689, 1690, 1611, 1611, 1611, 1611, + 1611, 1611, 1694, 1672, 1673, 1674, 1675, 1676, 1677, 1678, + + 1679, 1691, 1697, 1698, 1681, 1682, 1683, 1684, 1695, 1692, + 1693, 1693, 1693, 1693, 1693, 1693, 1696, 1699, 1700, 1701, + 1702, 1680, 1621, 1621, 1621, 1621, 1621, 1621, 1703, 1705, + 1705, 1705, 1705, 1705, 1705, 1706, 1704, 1707, 1708, 1634, + 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1680, + 1719, 1720, 1651, 1651, 1651, 1651, 1651, 1651, 1721, 1722, + 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1729, 1729, 1729, + 1729, 1729, 1730, 1731, 1732, 1733, 1734, 1736, 1669, 1738, + 1671, 1739, 1741, 1742, 1735, 1740, 1740, 1740, 1743, 1744, + 1745, 1737, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, + + 1754, 1693, 1693, 1693, 1693, 1693, 1693, 1755, 1756, 1759, + 1741, 1742, 1760, 1761, 1762, 1757, 1743, 1744, 1745, 1764, + 1746, 1747, 1748, 1758, 1705, 1705, 1705, 1705, 1705, 1705, + 1763, 1765, 1766, 1768, 1769, 1769, 1769, 1769, 1769, 1769, + 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, + 1781, 1783, 1784, 1785, 1788, 1789, 1792, 1793, 1782, 1794, + 1796, 1799, 1787, 1786, 1729, 1729, 1729, 1729, 1729, 1729, + 1790, 1802, 1740, 1740, 1740, 1803, 1804, 1805, 1791, 1806, + 1807, 1808, 1809, 1811, 1812, 1813, 1815, 1816, 1770, 1817, + 1818, 1819, 1820, 1814, 1822, 1824, 1825, 1826, 1827, 1802, + + 1828, 1829, 1823, 1803, 1804, 1805, 1830, 1806, 1833, 1834, + 1835, 1836, 1797, 1800, 1801, 1821, 1821, 1821, 1821, 1821, + 1821, 1831, 1837, 1838, 1840, 1841, 1842, 1843, 1844, 1832, + 1839, 1839, 1839, 1839, 1839, 1839, 1796, 1799, 1845, 1846, + 1847, 1848, 1801, 1849, 1850, 1851, 1853, 1854, 1855, 1856, + 1858, 1860, 1861, 1862, 1821, 1821, 1821, 1821, 1821, 1821, + 1863, 1864, 1865, 1866, 1867, 1869, 1845, 1846, 1847, 1848, + 1870, 1849, 1868, 1871, 1872, 1873, 1874, 1875, 1839, 1839, + 1839, 1839, 1839, 1839, 1876, 1877, 1878, 1879, 1797, 1800, + 1880, 1881, 1881, 1881, 1882, 1883, 1884, 1885, 1887, 1858, + + 1947, 1888, 1859, 1886, 1886, 1886, 1886, 1886, 1886, 1889, + 1890, 1891, 1893, 1894, 1895, 1879, 1896, 1898, 1880, 1892, + 1900, 1901, 1882, 1883, 1902, 1857, 1903, 1857, 1904, 1881, + 1881, 1881, 1905, 1906, 1907, 1907, 1907, 1907, 1907, 1907, + 1908, 1909, 1910, 1911, 1912, 1914, 1915, 1898, 1947, 1916, + 1917, 1859, 1913, 1918, 1903, 1919, 1904, 1920, 1921, 1924, + 1905, 1925, 1926, 1930, 1090, 1931, 1932, 1928, 1091, 1899, + 1092, 1937, 1933, 1897, 1094, 1897, 1934, 1928, 1095, 1938, + 1939, 1942, 1020, 1919, 1019, 1920, 1921, 1018, 1017, 1016, + 1015, 1014, 1090, 1013, 1012, 1011, 1091, 1010, 1092, 1899, + + 1933, 1947, 1094, 1940, 1934, 1941, 1095, 1907, 1907, 1907, + 1907, 1907, 1907, 1922, 1922, 1922, 1922, 1922, 1922, 1929, + 1935, 1935, 1935, 1935, 1935, 1935, 1927, 1943, 1927, 1929, + 1944, 1940, 1945, 1941, 1935, 1935, 1935, 1935, 1935, 1935, + 1946, 1009, 1008, 1007, 1006, 1005, 1004, 1003, 1002, 1001, + 1000, 999, 998, 997, 996, 1943, 995, 994, 1944, 993, + 1945, 992, 991, 990, 989, 988, 987, 986, 1946, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 75, 75, 1005, 75, 75, 75, 75, 75, 75, 75, + 72, 75, 75, 982, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 99, 99, 99, 99, 99, 99, 99, 99, + 75, 75, 75, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - - 99, 99, 99, 99, 123, 1004, 1003, 1002, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 228, - 1001, 1000, 999, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 430, 430, 998, 430, 430, 430, + 99, 99, 99, 99, 99, 123, 981, 980, 979, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 228, 978, 977, 976, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 430, 430, 975, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, - 430, 430, 430, 430, 430, 430, 608, 608, 997, 608, + 430, 430, 430, 430, 430, 430, 430, 608, 608, 974, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, - 608, 608, 608, 608, 608, 608, 608, 608, 1255, 996, - 995, 994, 1255, 1255, 1255, 1255, 1255, 993, 1255, 1255, - 1255, 1255, 1255, 1344, 992, 991, 990, 1344, 1344, 1344, - - 1344, 1344, 989, 1344, 1344, 1344, 1344, 1344, 1345, 988, - 987, 1345, 986, 982, 981, 1345, 1345, 1345, 1345, 1345, - 980, 1345, 1345, 1345, 1345, 1345, 1353, 979, 978, 977, - 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, - 1353, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, - 976, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, - 1360, 1360, 1360, 1363, 1363, 1363, 1363, 1363, 1363, 1363, - 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, - 1363, 1363, 1363, 1363, 1363, 1370, 975, 974, 1370, 1370, - 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, - - 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1382, 957, 956, - 955, 1382, 1382, 954, 951, 950, 949, 1382, 1382, 1444, - 948, 947, 1444, 946, 945, 944, 1444, 1444, 1444, 1444, - 1444, 943, 1444, 1444, 1444, 1444, 1444, 1445, 940, 939, - 1445, 1445, 938, 937, 936, 1445, 935, 1445, 933, 932, - 931, 1445, 930, 1445, 1452, 1452, 1452, 929, 928, 927, - 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, - 1452, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1459, 1459, 1476, 923, 922, 921, 1476, 1476, 918, - - 917, 1476, 916, 1476, 1476, 915, 914, 1476, 1490, 1490, - 913, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, - 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, - 1549, 1549, 1549, 1549, 1549, 1565, 912, 911, 910, 1565, - 1565, 909, 906, 905, 904, 1565, 1565, 1584, 1584, 1584, - 1584, 1584, 903, 1584, 1584, 1584, 1584, 1584, 1585, 1585, - 1585, 1585, 1585, 902, 1585, 1585, 1585, 1585, 1585, 1629, - 901, 900, 899, 898, 1629, 897, 896, 895, 894, 893, - 892, 1629, 1629, 1629, 1629, 1629, 1645, 891, 890, 889, - 1645, 1645, 888, 887, 886, 885, 1645, 1645, 1663, 884, - - 1663, 1663, 883, 882, 1663, 1663, 1663, 1663, 1663, 1663, - 1663, 1663, 1663, 1663, 1663, 1665, 879, 1665, 1665, 876, - 875, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - 1665, 1665, 1704, 874, 873, 1704, 1704, 1704, 1704, 1704, - 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, - 1704, 1704, 1704, 1704, 1761, 872, 868, 1761, 1761, 1761, - 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, - 1761, 1761, 1761, 1761, 1761, 1761, 1788, 1788, 867, 1788, - 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, - 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1791, 1791, - - 866, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, - 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, - 1803, 1803, 1803, 1803, 1803, 865, 1803, 1803, 1803, 1803, - 1803, 1844, 864, 863, 862, 1844, 1844, 1844, 1844, 1844, - 1844, 1844, 1844, 1844, 1844, 1844, 1849, 1849, 1849, 1849, - 1849, 1849, 1849, 1849, 1849, 859, 1849, 1849, 1849, 1849, - 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 858, 1887, 1887, - 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, - 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 857, - - 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, - 1915, 1915, 856, 855, 854, 853, 852, 851, 850, 849, - 848, 847, 846, 845, 844, 843, 842, 841, 840, 839, - 838, 837, 836, 835, 834, 833, 832, 831, 830, 829, - 828, 827, 801, 798, 797, 796, 795, 794, 793, 792, - 791, 790, 789, 788, 787, 786, 785, 784, 783, 782, - 781, 780, 779, 778, 777, 776, 431, 772, 771, 770, - 769, 768, 767, 766, 765, 764, 759, 758, 757, 756, - 755, 754, 753, 752, 751, 750, 749, 747, 746, 745, - 744, 743, 740, 739, 738, 737, 736, 735, 734, 733, - - 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, - 722, 721, 720, 719, 718, 717, 716, 715, 714, 713, - 712, 711, 710, 709, 708, 707, 706, 705, 704, 703, - 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, - 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, - 682, 681, 680, 679, 678, 677, 676, 674, 673, 672, - 671, 670, 669, 668, 667, 638, 637, 636, 633, 632, - 631, 630, 629, 628, 627, 626, 625, 622, 621, 620, - 619, 618, 614, 613, 612, 431, 606, 605, 604, 603, - 602, 601, 600, 599, 598, 597, 596, 595, 594, 593, - - 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, - 581, 580, 579, 578, 577, 576, 575, 572, 571, 570, - 569, 568, 567, 566, 565, 564, 563, 562, 561, 560, - 559, 558, 557, 556, 555, 552, 551, 548, 547, 546, - 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, - 535, 534, 533, 532, 531, 529, 528, 527, 524, 523, - 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, - 512, 511, 510, 507, 503, 502, 501, 499, 498, 497, - 496, 495, 494, 493, 492, 491, 490, 489, 488, 456, - 455, 454, 453, 452, 451, 446, 445, 444, 443, 442, - - 441, 440, 437, 436, 435, 434, 429, 428, 427, 426, - 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, - 415, 414, 413, 412, 408, 407, 401, 400, 392, 391, - 386, 374, 370, 369, 366, 360, 359, 358, 352, 349, - 348, 347, 346, 345, 344, 343, 342, 340, 339, 335, - 334, 333, 330, 328, 324, 323, 318, 317, 315, 314, - 313, 311, 310, 305, 304, 274, 273, 272, 271, 1934, - 265, 256, 255, 248, 244, 243, 231, 226, 204, 186, - 119, 114, 107, 102, 98, 71, 1934, 3, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934 + + 608, 608, 608, 608, 608, 608, 608, 608, 608, 1255, + 957, 956, 955, 1255, 1255, 1255, 1255, 1255, 954, 1255, + 1255, 1255, 1255, 1255, 1345, 951, 950, 949, 1345, 1345, + 1345, 1345, 1345, 948, 1345, 1345, 1345, 1345, 1345, 1346, + 947, 946, 1346, 945, 944, 943, 1346, 1346, 1346, 1346, + 1346, 940, 1346, 1346, 1346, 1346, 1346, 1354, 939, 938, + 937, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, + 1354, 1354, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, + 1361, 936, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, + 1361, 1361, 1361, 1361, 1364, 1364, 1364, 1364, 1364, 1364, + + 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, + 1364, 1364, 1364, 1364, 1364, 1364, 1371, 935, 933, 1371, + 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, + 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1384, 932, + 931, 930, 1384, 1384, 929, 928, 927, 923, 1384, 1384, + 1446, 922, 921, 1446, 918, 917, 916, 1446, 1446, 1446, + 1446, 1446, 915, 1446, 1446, 1446, 1446, 1446, 1447, 914, + 913, 1447, 1447, 912, 911, 910, 1447, 909, 1447, 906, + 905, 904, 1447, 903, 1447, 1454, 1454, 1454, 902, 901, + 900, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, + + 1454, 1454, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, + 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, + 1461, 1461, 1461, 1461, 1479, 899, 898, 897, 1479, 1479, + 896, 895, 1479, 894, 1479, 1479, 893, 892, 1479, 1493, + 1493, 891, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, + 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, + 1493, 1552, 1552, 1552, 1552, 1552, 1569, 890, 889, 888, + 1569, 1569, 887, 886, 885, 884, 1569, 1569, 1588, 1588, + 1588, 1588, 1588, 883, 1588, 1588, 1588, 1588, 1588, 1589, + 1589, 1589, 1589, 1589, 882, 1589, 1589, 1589, 1589, 1589, + + 1633, 879, 876, 875, 874, 1633, 873, 872, 868, 867, + 866, 865, 1633, 1633, 1633, 1633, 1633, 1650, 864, 863, + 862, 1650, 1650, 859, 858, 857, 856, 1650, 1650, 1668, + 855, 1668, 1668, 854, 853, 1668, 1668, 1668, 1668, 1668, + 1668, 1668, 1668, 1668, 1668, 1668, 1670, 852, 1670, 1670, + 851, 850, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + 1670, 1670, 1670, 1709, 849, 848, 1709, 1709, 1709, 1709, + 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, + 1709, 1709, 1709, 1709, 1709, 1767, 847, 846, 1767, 1767, + 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, + + 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1795, 1795, 845, + 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, + 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1798, + 1798, 844, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, + 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, + 1798, 1810, 1810, 1810, 1810, 1810, 843, 1810, 1810, 1810, + 1810, 1810, 1852, 842, 841, 840, 1852, 1852, 1852, 1852, + 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1857, 1857, 1857, + 1857, 1857, 1857, 1857, 1857, 1857, 839, 1857, 1857, 1857, + 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1897, + + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 838, 1897, + 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, + 1897, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, + 1923, 1923, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, + 1927, 837, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, + 1927, 1927, 1927, 1927, 1936, 836, 835, 834, 1936, 1936, + 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 833, + 832, 831, 830, 829, 828, 827, 801, 798, 797, 796, + 795, 794, 793, 792, 791, 790, 789, 788, 787, 786, + 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, + + 431, 772, 771, 770, 769, 768, 767, 766, 765, 764, + 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, + 749, 747, 746, 745, 744, 743, 740, 739, 738, 737, + 736, 735, 734, 733, 732, 731, 730, 729, 728, 727, + 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, + 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, + 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, + 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, + 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, + 676, 674, 673, 672, 671, 670, 669, 668, 667, 638, + + 637, 636, 633, 632, 631, 630, 629, 628, 627, 626, + 625, 622, 621, 620, 619, 618, 614, 613, 612, 431, + 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, + 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, + 586, 585, 584, 583, 581, 580, 579, 578, 577, 576, + 575, 572, 571, 570, 569, 568, 567, 566, 565, 564, + 563, 562, 561, 560, 559, 558, 557, 556, 555, 552, + 551, 548, 547, 546, 545, 544, 543, 542, 541, 540, + 539, 538, 537, 536, 535, 534, 533, 532, 531, 529, + 528, 527, 524, 523, 522, 521, 520, 519, 518, 517, + + 516, 515, 514, 513, 512, 511, 510, 507, 503, 502, + 501, 499, 498, 497, 496, 495, 494, 493, 492, 491, + 490, 489, 488, 456, 455, 454, 453, 452, 451, 446, + 445, 444, 443, 442, 441, 440, 437, 436, 435, 434, + 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, + 419, 418, 417, 416, 415, 414, 413, 412, 408, 407, + 401, 400, 392, 391, 386, 374, 370, 369, 366, 360, + 359, 358, 352, 349, 348, 347, 346, 345, 344, 343, + 342, 340, 339, 335, 334, 333, 330, 328, 324, 323, + 318, 317, 315, 314, 313, 311, 310, 305, 304, 274, + + 273, 272, 271, 1947, 265, 256, 255, 248, 244, 243, + 231, 226, 204, 186, 119, 114, 107, 102, 98, 71, + 1947, 3, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947 } ; -static yyconst flex_int16_t yy_chk[3476] = +static yyconst flex_int16_t yy_chk[3510] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1587,245 +1594,249 @@ static yyconst flex_int16_t yy_chk[3476] = 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1198, 1198, 1199, 1200, 1201, 1202, 1203, 1203, 1203, 1204, - 1205, 1206, 1207, 1208, 1209, 1210, 1210, 1210, 1211, 1213, - 1214, 1215, 1216, 1217, 1219, 1221, 1197, 1222, 1223, 1224, - 1199, 1200, 1201, 1202, 1225, 1226, 1227, 1204, 1205, 1206, - 1207, 1208, 1209, 1228, 1231, 1233, 1211, 1213, 1214, 1235, - 1236, 1237, 1238, 1240, 1241, 1243, 1244, 1245, 1246, 1247, - 1248, 1249, 1250, 1251, 1252, 1253, 1256, 1257, 1256, 1256, - 1256, 1256, 1256, 1256, 1258, 1259, 1260, 1261, 1262, 1264, - 1264, 1266, 1267, 1268, 1271, 1273, 1274, 1275, 1278, 1265, - 1264, 1265, 1264, 1264, 1264, 1264, 1264, 1264, 1265, 1265, - 1280, 1281, 1265, 1269, 1269, 1269, 1269, 1269, 1269, 1276, - - 1267, 1282, 1277, 1283, 1284, 1264, 1270, 1270, 1270, 1270, - 1270, 1270, 1285, 1277, 1286, 1276, 1287, 1264, 1277, 1288, - 1289, 1290, 1291, 1266, 1292, 1264, 1293, 1294, 1295, 1299, - 1264, 1300, 1301, 1264, 1303, 1304, 1264, 1296, 1296, 1296, - 1305, 1306, 1264, 1307, 1308, 1264, 1297, 1297, 1297, 1302, - 1302, 1302, 1309, 1309, 1309, 1311, 1312, 1299, 1313, 1300, - 1301, 1314, 1303, 1304, 1315, 1316, 1317, 1318, 1305, 1306, - 1319, 1307, 1308, 1320, 1314, 1321, 1322, 1323, 1324, 1325, - 1326, 1327, 1329, 1311, 1312, 1309, 1330, 1331, 1332, 1333, - 1334, 1335, 1336, 1337, 1297, 1338, 1302, 1339, 1340, 1341, - - 1342, 1309, 1343, 1347, 1348, 1349, 1350, 1351, 1352, 1355, - 1356, 1357, 1358, 1309, 1359, 1355, 1360, 1366, 1371, 1372, - 1373, 1363, 1297, 1374, 1302, 1362, 1365, 1375, 1376, 1309, - 1354, 1354, 1367, 1367, 1367, 1367, 1367, 1367, 1377, 1378, - 1379, 1354, 1380, 1354, 1354, 1354, 1354, 1354, 1354, 1363, - 1362, 1378, 1362, 1365, 1368, 1368, 1368, 1368, 1368, 1368, - 1369, 1369, 1369, 1369, 1369, 1369, 1354, 1381, 1360, 1383, - 1382, 1384, 1385, 1386, 1387, 1388, 1386, 1389, 1354, 1390, - 1391, 1365, 1392, 1393, 1394, 1395, 1354, 1396, 1397, 1397, - 1397, 1354, 1398, 1399, 1354, 1381, 1401, 1354, 1382, 1402, - - 1413, 1403, 1404, 1354, 1405, 1407, 1354, 1408, 1414, 1409, - 1410, 1411, 1412, 1415, 1417, 1421, 1422, 1423, 1424, 1425, - 1398, 1399, 1426, 1427, 1401, 1429, 1431, 1402, 1397, 1403, - 1404, 1432, 1405, 1407, 1436, 1408, 1394, 1409, 1410, 1411, - 1412, 1433, 1433, 1433, 1433, 1433, 1433, 1434, 1435, 1435, - 1438, 1439, 1440, 1441, 1442, 1434, 1397, 1437, 1437, 1437, - 1437, 1437, 1437, 1443, 1443, 1443, 1443, 1443, 1443, 1446, - 1447, 1448, 1449, 1450, 1451, 1453, 1454, 1455, 1456, 1457, - 1449, 1458, 1459, 1460, 1465, 1461, 1463, 1463, 1463, 1463, - 1463, 1463, 1464, 1464, 1464, 1464, 1464, 1464, 1466, 1467, - - 1468, 1469, 1470, 1471, 1472, 1473, 1466, 1474, 1475, 1470, - 1459, 1460, 1461, 1476, 1479, 1480, 1482, 1483, 1481, 1471, - 1478, 1478, 1478, 1478, 1478, 1478, 1481, 1485, 1484, 1486, - 1486, 1487, 1488, 1484, 1489, 1490, 1486, 1495, 1496, 1497, - 1461, 1476, 1484, 1498, 1499, 1500, 1484, 1501, 1502, 1503, - 1503, 1503, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1514, - 1517, 1518, 1520, 1521, 1524, 1495, 1496, 1497, 1528, 1530, - 1531, 1498, 1499, 1500, 1532, 1501, 1502, 1533, 1534, 1536, - 1505, 1506, 1507, 1508, 1537, 1533, 1538, 1490, 1523, 1523, - 1523, 1523, 1523, 1523, 1529, 1539, 1529, 1529, 1529, 1529, - - 1529, 1529, 1535, 1535, 1535, 1535, 1535, 1535, 1541, 1542, - 1543, 1544, 1545, 1546, 1547, 1549, 1550, 1550, 1550, 1550, - 1550, 1550, 1551, 1552, 1554, 1555, 1556, 1557, 1558, 1559, - 1551, 1560, 1561, 1562, 1563, 1564, 1566, 1566, 1566, 1566, - 1566, 1566, 1567, 1568, 1569, 1571, 1572, 1573, 1574, 1575, - 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, - 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1594, - 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1603, 1604, - 1606, 1607, 1607, 1607, 1607, 1607, 1607, 1611, 1586, 1587, - 1588, 1589, 1590, 1591, 1592, 1593, 1609, 1613, 1614, 1595, - - 1596, 1597, 1598, 1612, 1609, 1610, 1610, 1610, 1610, 1610, - 1610, 1612, 1616, 1618, 1619, 1620, 1594, 1617, 1617, 1617, - 1617, 1617, 1617, 1622, 1623, 1623, 1623, 1623, 1623, 1623, - 1626, 1622, 1627, 1628, 1629, 1631, 1634, 1635, 1637, 1638, - 1639, 1640, 1641, 1643, 1594, 1644, 1646, 1646, 1646, 1646, - 1646, 1646, 1647, 1648, 1650, 1651, 1652, 1653, 1654, 1655, - 1656, 1656, 1656, 1656, 1656, 1656, 1657, 1658, 1659, 1660, - 1661, 1662, 1663, 1664, 1665, 1666, 1668, 1669, 1661, 1667, - 1667, 1667, 1671, 1673, 1675, 1662, 1676, 1677, 1679, 1680, - 1681, 1683, 1684, 1686, 1687, 1688, 1688, 1688, 1688, 1688, - - 1688, 1689, 1690, 1694, 1668, 1669, 1695, 1696, 1698, 1692, - 1671, 1673, 1675, 1701, 1676, 1677, 1679, 1692, 1700, 1700, - 1700, 1700, 1700, 1700, 1700, 1702, 1703, 1706, 1706, 1706, - 1706, 1706, 1706, 1707, 1708, 1710, 1711, 1712, 1713, 1714, - 1715, 1716, 1717, 1718, 1719, 1720, 1722, 1725, 1726, 1728, - 1730, 1718, 1731, 1732, 1733, 1723, 1722, 1723, 1723, 1723, - 1723, 1723, 1723, 1727, 1735, 1734, 1734, 1734, 1737, 1738, - 1739, 1727, 1740, 1743, 1745, 1746, 1749, 1751, 1753, 1754, - 1755, 1706, 1757, 1759, 1760, 1763, 1753, 1764, 1765, 1766, - 1767, 1768, 1735, 1763, 1769, 1770, 1737, 1738, 1739, 1772, - - 1740, 1774, 1776, 1777, 1778, 1732, 1733, 1734, 1762, 1762, - 1762, 1762, 1762, 1762, 1771, 1779, 1780, 1780, 1780, 1780, - 1780, 1780, 1771, 1781, 1782, 1783, 1786, 1787, 1788, 1791, - 1794, 1795, 1796, 1798, 1799, 1734, 1800, 1802, 1804, 1806, - 1808, 1809, 1810, 1811, 1812, 1813, 1813, 1813, 1813, 1813, - 1813, 1814, 1816, 1817, 1819, 1821, 1822, 1823, 1794, 1795, - 1796, 1798, 1799, 1821, 1825, 1827, 1828, 1829, 1830, 1831, - 1831, 1831, 1831, 1831, 1831, 1833, 1835, 1836, 1837, 1838, - 1788, 1791, 1839, 1839, 1839, 1840, 1841, 1842, 1845, 1848, - 1849, 1851, 1853, 1857, 1810, 1847, 1847, 1847, 1847, 1847, - - 1847, 1858, 1859, 1860, 1862, 1863, 1837, 1838, 1864, 1858, - 1867, 1868, 1869, 1840, 1841, 1870, 1851, 1871, 1851, 1873, - 1872, 1872, 1872, 1876, 1877, 1877, 1877, 1877, 1877, 1877, - 1878, 1881, 1883, 1884, 1885, 1886, 1887, 1889, 1890, 1891, - 1892, 1884, 1849, 1870, 1893, 1871, 1894, 1873, 1895, 1897, - 1897, 1897, 1897, 1897, 1897, 1872, 1900, 1901, 1903, 1872, - 1864, 1872, 1889, 1904, 1889, 1872, 1905, 1906, 1907, 1872, - 1908, 1910, 1893, 1915, 1894, 1918, 1895, 1898, 1898, 1898, - 1898, 1898, 1898, 1872, 1914, 1917, 1921, 1872, 1887, 1872, - 1922, 1924, 1914, 1872, 889, 888, 887, 1872, 1908, 1910, - - 1911, 1911, 1911, 1911, 1911, 1911, 1927, 1928, 1930, 1932, - 1917, 886, 1917, 884, 1921, 1904, 883, 882, 1922, 1923, - 1923, 1923, 1923, 1923, 1923, 1915, 881, 880, 879, 878, - 877, 875, 873, 872, 1927, 1928, 1930, 1932, 1935, 1935, - 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, - 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, - 1936, 1936, 871, 1936, 1936, 1936, 1936, 1936, 1936, 1936, - 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, - 1936, 1936, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, - 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, - - 1937, 1937, 1937, 1937, 1938, 870, 868, 867, 1938, 1938, - 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1939, - 866, 865, 864, 1939, 1939, 1939, 1939, 1939, 1939, 1939, - 1939, 1939, 1939, 1939, 1940, 1940, 863, 1940, 1940, 1940, - 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, - 1940, 1940, 1940, 1940, 1940, 1940, 1941, 1941, 862, 1941, - 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, - 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1941, 1942, 861, - 860, 858, 1942, 1942, 1942, 1942, 1942, 857, 1942, 1942, - 1942, 1942, 1942, 1943, 855, 853, 852, 1943, 1943, 1943, - - 1943, 1943, 850, 1943, 1943, 1943, 1943, 1943, 1944, 847, - 846, 1944, 844, 842, 837, 1944, 1944, 1944, 1944, 1944, - 836, 1944, 1944, 1944, 1944, 1944, 1945, 834, 833, 832, - 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, 1945, - 1945, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, - 830, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, - 1946, 1946, 1946, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1948, 829, 828, 1948, 1948, + 1205, 1172, 1206, 1207, 1208, 1209, 1210, 1210, 1210, 1211, + 1213, 1214, 1215, 1216, 1217, 1219, 1197, 1221, 1222, 1223, + 1199, 1200, 1201, 1202, 1224, 1225, 1226, 1204, 1205, 1227, + 1206, 1207, 1208, 1209, 1228, 1231, 1233, 1211, 1213, 1214, + 1235, 1236, 1237, 1238, 1240, 1241, 1243, 1244, 1245, 1246, + 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1256, 1257, 1256, + 1256, 1256, 1256, 1256, 1256, 1258, 1259, 1260, 1261, 1262, + 1264, 1264, 1266, 1267, 1268, 1271, 1273, 1274, 1275, 1276, + 1265, 1264, 1265, 1264, 1264, 1264, 1264, 1264, 1264, 1265, + 1265, 1279, 1281, 1265, 1269, 1269, 1269, 1269, 1269, 1269, + + 1277, 1267, 1282, 1278, 1283, 1284, 1264, 1270, 1270, 1270, + 1270, 1270, 1270, 1285, 1278, 1286, 1277, 1287, 1264, 1278, + 1288, 1289, 1290, 1291, 1266, 1292, 1264, 1293, 1294, 1295, + 1296, 1264, 1300, 1301, 1264, 1302, 1304, 1264, 1297, 1297, + 1297, 1305, 1306, 1264, 1307, 1308, 1264, 1298, 1298, 1298, + 1303, 1303, 1303, 1309, 1310, 1310, 1310, 1312, 1313, 1314, + 1300, 1301, 1315, 1302, 1304, 1316, 1317, 1318, 1319, 1305, + 1306, 1320, 1307, 1308, 1321, 1315, 1322, 1323, 1324, 1325, + 1326, 1309, 1327, 1328, 1330, 1312, 1313, 1310, 1331, 1332, + 1333, 1334, 1335, 1336, 1337, 1298, 1338, 1303, 1339, 1340, + + 1341, 1342, 1343, 1310, 1344, 1348, 1349, 1350, 1351, 1352, + 1353, 1356, 1357, 1358, 1359, 1310, 1360, 1356, 1361, 1367, + 1372, 1373, 1374, 1298, 1364, 1303, 1363, 1366, 1375, 1376, + 1377, 1310, 1355, 1355, 1368, 1368, 1368, 1368, 1368, 1368, + 1378, 1379, 1381, 1355, 1382, 1355, 1355, 1355, 1355, 1355, + 1355, 1363, 1364, 1363, 1366, 1369, 1369, 1369, 1369, 1369, + 1369, 1370, 1370, 1370, 1370, 1370, 1370, 1380, 1355, 1383, + 1361, 1385, 1384, 1386, 1387, 1388, 1389, 1390, 1388, 1380, + 1355, 1391, 1366, 1392, 1393, 1394, 1395, 1396, 1355, 1397, + 1398, 1400, 1401, 1355, 1403, 1404, 1355, 1383, 1405, 1355, + + 1384, 1399, 1399, 1399, 1406, 1355, 1407, 1409, 1355, 1410, + 1411, 1415, 1412, 1416, 1413, 1414, 1417, 1419, 1423, 1400, + 1401, 1424, 1403, 1404, 1425, 1426, 1405, 1427, 1428, 1429, + 1431, 1433, 1406, 1434, 1407, 1409, 1438, 1410, 1411, 1396, + 1412, 1399, 1413, 1414, 1435, 1435, 1435, 1435, 1435, 1435, + 1436, 1437, 1437, 1440, 1441, 1442, 1443, 1444, 1436, 1439, + 1439, 1439, 1439, 1439, 1439, 1448, 1449, 1450, 1451, 1399, + 1445, 1445, 1445, 1445, 1445, 1445, 1451, 1452, 1453, 1455, + 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1467, 1463, 1465, + 1465, 1465, 1465, 1465, 1465, 1466, 1466, 1466, 1466, 1466, + + 1466, 1468, 1469, 1470, 1471, 1472, 1474, 1475, 1476, 1473, + 1469, 1477, 1478, 1461, 1462, 1463, 1473, 1479, 1482, 1483, + 1485, 1484, 1474, 1481, 1481, 1481, 1481, 1481, 1481, 1484, + 1486, 1488, 1487, 1489, 1489, 1490, 1491, 1487, 1492, 1493, + 1489, 1498, 1499, 1463, 1500, 1479, 1487, 1501, 1502, 1503, + 1487, 1504, 1505, 1506, 1506, 1506, 1508, 1509, 1510, 1511, + 1512, 1513, 1514, 1517, 1520, 1521, 1523, 1524, 1527, 1498, + 1499, 1531, 1500, 1533, 1534, 1501, 1502, 1503, 1535, 1504, + 1505, 1536, 1537, 1539, 1508, 1509, 1510, 1511, 1540, 1536, + 1541, 1493, 1526, 1526, 1526, 1526, 1526, 1526, 1532, 1542, + + 1532, 1532, 1532, 1532, 1532, 1532, 1538, 1538, 1538, 1538, + 1538, 1538, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1552, + 1553, 1553, 1553, 1553, 1553, 1553, 1554, 1555, 1556, 1558, + 1559, 1560, 1561, 1562, 1563, 1555, 1564, 1565, 1566, 1567, + 1568, 1570, 1570, 1570, 1570, 1570, 1570, 1571, 1572, 1573, + 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, + 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, + 1595, 1596, 1597, 1598, 1598, 1598, 1599, 1600, 1601, 1602, + 1603, 1604, 1605, 1607, 1608, 1610, 1611, 1611, 1611, 1611, + 1611, 1611, 1615, 1590, 1591, 1592, 1593, 1594, 1595, 1596, + + 1597, 1613, 1617, 1618, 1599, 1600, 1601, 1602, 1616, 1613, + 1614, 1614, 1614, 1614, 1614, 1614, 1616, 1620, 1622, 1623, + 1624, 1598, 1621, 1621, 1621, 1621, 1621, 1621, 1626, 1627, + 1627, 1627, 1627, 1627, 1627, 1630, 1626, 1631, 1632, 1633, + 1635, 1636, 1639, 1640, 1642, 1643, 1644, 1645, 1646, 1598, + 1648, 1649, 1651, 1651, 1651, 1651, 1651, 1651, 1652, 1653, + 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1661, 1661, 1661, + 1661, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, + 1670, 1671, 1673, 1674, 1666, 1672, 1672, 1672, 1676, 1678, + 1680, 1667, 1681, 1682, 1684, 1685, 1686, 1688, 1689, 1691, + + 1692, 1693, 1693, 1693, 1693, 1693, 1693, 1694, 1695, 1699, + 1673, 1674, 1700, 1701, 1703, 1697, 1676, 1678, 1680, 1706, + 1681, 1682, 1684, 1697, 1705, 1705, 1705, 1705, 1705, 1705, + 1705, 1707, 1708, 1710, 1712, 1712, 1712, 1712, 1712, 1712, + 1713, 1714, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, + 1724, 1725, 1726, 1728, 1731, 1732, 1734, 1736, 1724, 1737, + 1738, 1739, 1729, 1728, 1729, 1729, 1729, 1729, 1729, 1729, + 1733, 1741, 1740, 1740, 1740, 1743, 1744, 1745, 1733, 1746, + 1749, 1751, 1752, 1755, 1757, 1759, 1760, 1761, 1712, 1763, + 1765, 1766, 1768, 1759, 1770, 1771, 1772, 1773, 1774, 1741, + + 1775, 1776, 1770, 1743, 1744, 1745, 1777, 1746, 1779, 1781, + 1783, 1784, 1738, 1739, 1740, 1769, 1769, 1769, 1769, 1769, + 1769, 1778, 1785, 1786, 1788, 1789, 1790, 1793, 1794, 1778, + 1787, 1787, 1787, 1787, 1787, 1787, 1795, 1798, 1801, 1802, + 1803, 1805, 1740, 1806, 1807, 1809, 1811, 1813, 1815, 1816, + 1817, 1818, 1819, 1820, 1821, 1821, 1821, 1821, 1821, 1821, + 1822, 1824, 1825, 1827, 1829, 1830, 1801, 1802, 1803, 1805, + 1831, 1806, 1829, 1833, 1835, 1836, 1837, 1838, 1839, 1839, + 1839, 1839, 1839, 1839, 1841, 1843, 1844, 1845, 1795, 1798, + 1846, 1847, 1847, 1847, 1848, 1849, 1850, 1853, 1856, 1857, + + 1859, 1861, 1817, 1855, 1855, 1855, 1855, 1855, 1855, 1862, + 1866, 1867, 1868, 1869, 1871, 1845, 1872, 1873, 1846, 1867, + 1876, 1877, 1848, 1849, 1878, 1859, 1879, 1859, 1880, 1881, + 1881, 1881, 1882, 1885, 1886, 1886, 1886, 1886, 1886, 1886, + 1887, 1889, 1891, 1893, 1894, 1895, 1896, 1897, 1899, 1900, + 1901, 1857, 1894, 1902, 1879, 1903, 1880, 1904, 1905, 1911, + 1882, 1912, 1914, 1916, 1881, 1917, 1918, 1915, 1881, 1873, + 1881, 1926, 1919, 1899, 1881, 1899, 1921, 1927, 1881, 1926, + 1930, 1937, 889, 1903, 888, 1904, 1905, 887, 886, 884, + 883, 882, 1881, 881, 880, 879, 1881, 878, 1881, 1897, + + 1919, 1929, 1881, 1933, 1921, 1934, 1881, 1907, 1907, 1907, + 1907, 1907, 1907, 1908, 1908, 1908, 1908, 1908, 1908, 1915, + 1922, 1922, 1922, 1922, 1922, 1922, 1929, 1940, 1929, 1927, + 1941, 1933, 1943, 1934, 1935, 1935, 1935, 1935, 1935, 1935, + 1945, 877, 875, 873, 872, 871, 870, 868, 867, 866, + 865, 864, 863, 862, 861, 1940, 860, 858, 1941, 857, + 1943, 855, 853, 852, 850, 847, 846, 844, 1945, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, - - 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1949, 804, 803, - 802, 1949, 1949, 801, 799, 798, 797, 1949, 1949, 1950, - 796, 795, 1950, 794, 793, 792, 1950, 1950, 1950, 1950, - 1950, 791, 1950, 1950, 1950, 1950, 1950, 1951, 789, 788, - 1951, 1951, 787, 786, 785, 1951, 784, 1951, 782, 781, - 780, 1951, 779, 1951, 1952, 1952, 1952, 778, 777, 776, - 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, - 1952, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, + 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, + 1948, 1949, 1949, 842, 1949, 1949, 1949, 1949, 1949, 1949, + + 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, + 1949, 1949, 1949, 1950, 1950, 1950, 1950, 1950, 1950, 1950, + 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, + 1950, 1950, 1950, 1950, 1950, 1951, 837, 836, 834, 1951, + 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, + 1952, 833, 832, 830, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1953, 1953, 829, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, - 1953, 1953, 1953, 1954, 772, 771, 770, 1954, 1954, 767, - - 766, 1954, 765, 1954, 1954, 764, 763, 1954, 1955, 1955, - 762, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, 1955, - 1956, 1956, 1956, 1956, 1956, 1957, 761, 760, 759, 1957, - 1957, 758, 756, 755, 754, 1957, 1957, 1958, 1958, 1958, - 1958, 1958, 753, 1958, 1958, 1958, 1958, 1958, 1959, 1959, - 1959, 1959, 1959, 751, 1959, 1959, 1959, 1959, 1959, 1960, - 750, 749, 747, 746, 1960, 745, 744, 743, 742, 741, - 739, 1960, 1960, 1960, 1960, 1960, 1961, 738, 736, 735, - 1961, 1961, 734, 733, 731, 730, 1961, 1961, 1962, 729, - - 1962, 1962, 728, 727, 1962, 1962, 1962, 1962, 1962, 1962, - 1962, 1962, 1962, 1962, 1962, 1963, 725, 1963, 1963, 723, - 721, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, - 1963, 1963, 1964, 720, 719, 1964, 1964, 1964, 1964, 1964, - 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, - 1964, 1964, 1964, 1964, 1965, 718, 716, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1966, 1966, 715, 1966, + 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1954, 1954, 828, + 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, + + 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1955, + 804, 803, 802, 1955, 1955, 1955, 1955, 1955, 801, 1955, + 1955, 1955, 1955, 1955, 1956, 799, 798, 797, 1956, 1956, + 1956, 1956, 1956, 796, 1956, 1956, 1956, 1956, 1956, 1957, + 795, 794, 1957, 793, 792, 791, 1957, 1957, 1957, 1957, + 1957, 789, 1957, 1957, 1957, 1957, 1957, 1958, 788, 787, + 786, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, + 1958, 1958, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, + 1959, 785, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, + 1959, 1959, 1959, 1959, 1960, 1960, 1960, 1960, 1960, 1960, + + 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, + 1960, 1960, 1960, 1960, 1960, 1960, 1961, 784, 782, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1962, 781, + 780, 779, 1962, 1962, 778, 777, 776, 772, 1962, 1962, + 1963, 771, 770, 1963, 767, 766, 765, 1963, 1963, 1963, + 1963, 1963, 764, 1963, 1963, 1963, 1963, 1963, 1964, 763, + 762, 1964, 1964, 761, 760, 759, 1964, 758, 1964, 756, + 755, 754, 1964, 753, 1964, 1965, 1965, 1965, 751, 750, + 749, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, + + 1965, 1965, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1967, 1967, - - 713, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, - 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, 1967, - 1968, 1968, 1968, 1968, 1968, 712, 1968, 1968, 1968, 1968, - 1968, 1969, 711, 710, 709, 1969, 1969, 1969, 1969, 1969, - 1969, 1969, 1969, 1969, 1969, 1969, 1970, 1970, 1970, 1970, - 1970, 1970, 1970, 1970, 1970, 706, 1970, 1970, 1970, 1970, - 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1971, 1971, - 1971, 1971, 1971, 1971, 1971, 1971, 1971, 705, 1971, 1971, - 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, - 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 704, - - 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, 1972, - 1972, 1972, 703, 702, 701, 700, 699, 698, 697, 696, - 695, 694, 693, 691, 690, 688, 687, 686, 685, 684, - 683, 682, 681, 680, 679, 678, 676, 675, 673, 672, - 669, 668, 637, 634, 633, 632, 631, 630, 629, 628, - 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, - 617, 616, 615, 614, 613, 612, 610, 606, 605, 604, - 603, 602, 601, 599, 598, 597, 595, 594, 593, 592, - 591, 590, 589, 588, 585, 584, 583, 581, 579, 578, - 577, 576, 573, 571, 570, 569, 568, 567, 566, 565, - - 564, 563, 562, 561, 560, 559, 558, 557, 556, 555, - 554, 553, 552, 551, 550, 549, 548, 547, 546, 545, - 543, 542, 541, 540, 539, 538, 537, 535, 534, 532, - 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, - 521, 519, 517, 516, 515, 514, 513, 512, 510, 509, - 508, 507, 506, 504, 503, 502, 501, 496, 494, 493, - 492, 491, 490, 489, 488, 456, 455, 454, 452, 451, - 450, 449, 448, 447, 446, 445, 444, 442, 441, 440, - 439, 438, 436, 435, 434, 430, 429, 428, 427, 426, - 425, 424, 423, 422, 421, 420, 419, 418, 417, 416, - - 415, 414, 412, 411, 410, 409, 408, 407, 406, 405, - 403, 402, 401, 400, 398, 397, 396, 394, 393, 392, - 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, - 380, 379, 378, 377, 375, 373, 372, 370, 369, 368, - 367, 366, 364, 363, 362, 361, 360, 359, 358, 357, - 355, 354, 353, 352, 351, 349, 348, 347, 345, 344, - 343, 341, 340, 339, 337, 336, 335, 334, 333, 331, - 330, 329, 328, 326, 323, 322, 320, 318, 317, 316, - 315, 314, 313, 312, 311, 310, 307, 306, 305, 265, - 264, 263, 262, 261, 260, 257, 256, 255, 254, 253, - - 252, 251, 249, 248, 247, 246, 244, 243, 242, 241, - 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, - 230, 229, 226, 225, 222, 221, 217, 216, 212, 211, - 208, 204, 201, 199, 197, 195, 194, 193, 190, 188, - 186, 185, 184, 183, 182, 181, 180, 178, 177, 175, - 174, 173, 171, 169, 167, 166, 164, 163, 161, 160, - 159, 157, 156, 152, 151, 122, 121, 118, 115, 101, - 97, 93, 92, 88, 86, 85, 81, 68, 62, 55, - 26, 23, 20, 16, 12, 7, 3, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, 1934, - 1934, 1934, 1934, 1934, 1934 + 1966, 1966, 1966, 1966, 1967, 747, 746, 745, 1967, 1967, + 744, 743, 1967, 742, 1967, 1967, 741, 739, 1967, 1968, + 1968, 738, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1969, 1969, 1969, 1969, 1969, 1970, 736, 735, 734, + 1970, 1970, 733, 731, 730, 729, 1970, 1970, 1971, 1971, + 1971, 1971, 1971, 728, 1971, 1971, 1971, 1971, 1971, 1972, + 1972, 1972, 1972, 1972, 727, 1972, 1972, 1972, 1972, 1972, + + 1973, 725, 723, 721, 720, 1973, 719, 718, 716, 715, + 713, 712, 1973, 1973, 1973, 1973, 1973, 1974, 711, 710, + 709, 1974, 1974, 706, 705, 704, 703, 1974, 1974, 1975, + 702, 1975, 1975, 701, 700, 1975, 1975, 1975, 1975, 1975, + 1975, 1975, 1975, 1975, 1975, 1975, 1976, 699, 1976, 1976, + 698, 697, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1977, 696, 695, 1977, 1977, 1977, 1977, + 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, + 1977, 1977, 1977, 1977, 1977, 1978, 694, 693, 1978, 1978, + 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, + + 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1979, 1979, 691, + 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, + 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1980, + 1980, 690, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, + 1980, 1981, 1981, 1981, 1981, 1981, 688, 1981, 1981, 1981, + 1981, 1981, 1982, 687, 686, 685, 1982, 1982, 1982, 1982, + 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1983, 1983, 1983, + 1983, 1983, 1983, 1983, 1983, 1983, 684, 1983, 1983, 1983, + 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1984, + + 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 683, 1984, + 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, + 1984, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, + 1985, 1985, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, + 1986, 682, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, + 1986, 1986, 1986, 1986, 1987, 681, 680, 679, 1987, 1987, + 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 678, + 676, 675, 673, 672, 669, 668, 637, 634, 633, 632, + 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, + 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, + + 610, 606, 605, 604, 603, 602, 601, 599, 598, 597, + 595, 594, 593, 592, 591, 590, 589, 588, 585, 584, + 583, 581, 579, 578, 577, 576, 573, 571, 570, 569, + 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, + 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, + 548, 547, 546, 545, 543, 542, 541, 540, 539, 538, + 537, 535, 534, 532, 531, 530, 529, 528, 527, 526, + 525, 524, 523, 522, 521, 519, 517, 516, 515, 514, + 513, 512, 510, 509, 508, 507, 506, 504, 503, 502, + 501, 496, 494, 493, 492, 491, 490, 489, 488, 456, + + 455, 454, 452, 451, 450, 449, 448, 447, 446, 445, + 444, 442, 441, 440, 439, 438, 436, 435, 434, 430, + 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, + 419, 418, 417, 416, 415, 414, 412, 411, 410, 409, + 408, 407, 406, 405, 403, 402, 401, 400, 398, 397, + 396, 394, 393, 392, 390, 389, 388, 387, 386, 385, + 384, 383, 382, 381, 380, 379, 378, 377, 375, 373, + 372, 370, 369, 368, 367, 366, 364, 363, 362, 361, + 360, 359, 358, 357, 355, 354, 353, 352, 351, 349, + 348, 347, 345, 344, 343, 341, 340, 339, 337, 336, + + 335, 334, 333, 331, 330, 329, 328, 326, 323, 322, + 320, 318, 317, 316, 315, 314, 313, 312, 311, 310, + 307, 306, 305, 265, 264, 263, 262, 261, 260, 257, + 256, 255, 254, 253, 252, 251, 249, 248, 247, 246, + 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, + 234, 233, 232, 231, 230, 229, 226, 225, 222, 221, + 217, 216, 212, 211, 208, 204, 201, 199, 197, 195, + 194, 193, 190, 188, 186, 185, 184, 183, 182, 181, + 180, 178, 177, 175, 174, 173, 171, 169, 167, 166, + 164, 163, 161, 160, 159, 157, 156, 152, 151, 122, + + 121, 118, 115, 101, 97, 93, 92, 88, 86, 85, + 81, 68, 62, 55, 26, 23, 20, 16, 12, 7, + 3, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, + + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947 } ; /* The intent behind this definition is that it'll catch @@ -1957,7 +1968,7 @@ static yyconst flex_int16_t yy_chk[3476] = rwm->rwlytext = (text *)yytext; \ } -#line 1961 "lex.rwly.c" +#line 1972 "lex.rwly.c" #define INITIAL 0 @@ -2242,7 +2253,7 @@ YY_DECL /* **************************************************************** */ /*LEXTAG:RWL_T_SQL_TEXT*/ -#line 2246 "lex.rwly.c" +#line 2257 "lex.rwly.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2269,13 +2280,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1935 ) + if ( yy_current_state >= 1948 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 3388 ); + while ( yy_base[yy_current_state] != 3422 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -4883,6 +4894,28 @@ if (!rwm->ifdirbit) { case 334: YY_RULE_SETUP #line 1623 "rwllexer.l" +{ + if (!rwm->ifdirbit) + { + text *nam = (text *) rwm->rwlytext+20; + sb4 l = rwlfindvar(rwm->mxq, nam, RWL_VAR_NOGUESS); + if (l>=0) + { + if (RWL_TYPE_STR == rwm->mxq->evar[l].vtype) + { + rwm->musymbol = rwlstrdup(rwm, rwm->mxq->evar[l].num.sval); + rwm->musymlen = (ub4) rwlstrlen(rwm->musymbol); + } + else + rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2 + , rwm->mxq->evar[l].stype, nam, "musymbol"); + } + } + } + YY_BREAK +case 335: +YY_RULE_SETUP +#line 1642 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4894,9 +4927,9 @@ YY_RULE_SETUP } } YY_BREAK -case 335: +case 336: YY_RULE_SETUP -#line 1634 "rwllexer.l" +#line 1653 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4908,10 +4941,10 @@ YY_RULE_SETUP } } YY_BREAK -case 336: -/* rule 336 can match eol */ +case 337: +/* rule 337 can match eol */ YY_RULE_SETUP -#line 1645 "rwllexer.l" +#line 1664 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4942,10 +4975,10 @@ YY_RULE_SETUP } } YY_BREAK -case 337: -/* rule 337 can match eol */ +case 338: +/* rule 338 can match eol */ YY_RULE_SETUP -#line 1675 "rwllexer.l" +#line 1694 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4976,9 +5009,9 @@ YY_RULE_SETUP } } YY_BREAK -case 338: +case 339: YY_RULE_SETUP -#line 1705 "rwllexer.l" +#line 1724 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4989,24 +5022,24 @@ YY_RULE_SETUP } } YY_BREAK -case 339: +case 340: YY_RULE_SETUP -#line 1714 "rwllexer.l" +#line 1733 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 340: +case 341: YY_RULE_SETUP -#line 1717 "rwllexer.l" +#line 1736 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 341: -/* rule 341 can match eol */ +case 342: +/* rule 342 can match eol */ YY_RULE_SETUP -#line 1721 "rwllexer.l" +#line 1740 "rwllexer.l" { rwm->loc.fname = rwlstrdup(rwm, rwlstrchr(rwm->rwlytext,'"')); rwm->loc.fname[rwlstrlen(rwm->loc.fname)-1] = 0; @@ -5015,11 +5048,11 @@ YY_RULE_SETUP rwm->loc.errlin = 0; } YY_BREAK -case 342: -#line 1729 "rwllexer.l" case 343: +#line 1748 "rwllexer.l" +case 344: YY_RULE_SETUP -#line 1729 "rwllexer.l" +#line 1748 "rwllexer.l" { // bad directive char idbuf[100], c; ub4 i; @@ -5060,37 +5093,37 @@ YY_RULE_SETUP { rwm->loc.lineno++; rwm->loc.inpos=0; } } YY_BREAK -case 344: -/* rule 344 can match eol */ -YY_RULE_SETUP -#line 1770 "rwllexer.l" -{ rwm->loc.lineno++; rwm->loc.inpos=0; } - YY_BREAK case 345: /* rule 345 can match eol */ YY_RULE_SETUP -#line 1771 "rwllexer.l" +#line 1789 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 346: /* rule 346 can match eol */ YY_RULE_SETUP -#line 1772 "rwllexer.l" +#line 1790 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 347: +/* rule 347 can match eol */ YY_RULE_SETUP -#line 1773 "rwllexer.l" -/* nothing */ ; +#line 1791 "rwllexer.l" +{ rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 348: YY_RULE_SETUP -#line 1774 "rwllexer.l" +#line 1792 "rwllexer.l" /* nothing */ ; YY_BREAK case 349: YY_RULE_SETUP -#line 1775 "rwllexer.l" +#line 1793 "rwllexer.l" +/* nothing */ ; + YY_BREAK +case 350: +YY_RULE_SETUP +#line 1794 "rwllexer.l" { if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -5105,12 +5138,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII, rwm->loc.inpos, (ub1)rwm->rwlytext[0]); } YY_BREAK -case 350: +case 351: YY_RULE_SETUP -#line 1789 "rwllexer.l" +#line 1808 "rwllexer.l" ECHO; YY_BREAK -#line 5114 "lex.rwly.c" +#line 5147 "lex.rwly.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -5405,7 +5438,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1935 ) + if ( yy_current_state >= 1948 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; @@ -5434,11 +5467,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1935 ) + if ( yy_current_state >= 1948 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 1934); + yy_is_jam = (yy_current_state == 1947); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -6291,7 +6324,7 @@ void rwlyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1789 "rwllexer.l" +#line 1808 "rwllexer.l" diff --git a/src/rwllexer.l b/src/rwllexer.l index 35b14b0a..266a4f98 100644 --- a/src/rwllexer.l +++ b/src/rwllexer.l @@ -11,6 +11,7 @@ * * History * + * bengsig 10-may-2023 - $musymbolfromstring directive * bengsig 17-apr-2024 - -= * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 15-mar-2024 - $connecterror:accept @@ -1620,6 +1621,25 @@ } } +\$musymbolfromstring:[a-zA-Z_][a-zA-Z0-9_]* { + if (!rwm->ifdirbit) + { + text *nam = (text *) rwm->rwlytext+20; + sb4 l = rwlfindvar(rwm->mxq, nam, RWL_VAR_NOGUESS); + if (l>=0) + { + if (RWL_TYPE_STR == rwm->mxq->evar[l].vtype) + { + rwm->musymbol = rwlstrdup(rwm, rwm->mxq->evar[l].num.sval); + rwm->musymlen = (ub4) rwlstrlen(rwm->musymbol); + } + else + rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2 + , rwm->mxq->evar[l].stype, nam, "musymbol"); + } + } + } + \$sqllogging:stderr { if (!rwm->ifdirbit) { diff --git a/test/391.rwl b/test/391.rwl new file mode 100644 index 00000000..4a18daa2 --- /dev/null +++ b/test/391.rwl @@ -0,0 +1,38 @@ +# test $musymbolfromstring directive + +# note that this tests result expects the character set of the client +# to be AL32UTF8 and NLS_LANG to be set accordingly + +$include:"testuserinfo.rwl" +$include:"testdefault.rwl" + +string musymbol; +integer valset := 0, cspos; +string charset, nls_lang; + +$musymbol:u + +nls_lang := getenv("NLS_LANG"); +cspos := instrb(nls_lang,"."); +if cspos then + charset := substrb(nls_lang,cspos+1); + select count(*) valset from v$nls_valid_values + where parameter = 'CHARACTERSET' + and value = upper(:charset) + / +end if; +$if valset $then + sql execute + begin + -- the mu symbol is B5 in iso8859p1 + :1 := utl_raw.cast_to_varchar2(utl_raw.convert('B5',:2,'WE8ISO8859P1')); + end; + / + bindout 1 musymbol; + bind 2 charset; + end; + $musymbolfromstring:musymbol +$endif + +printf "%.3m\n", 1e-4; + diff --git a/test/test.sh b/test/test.sh index c549e4a8..c53a8ff5 100755 --- a/test/test.sh +++ b/test/test.sh @@ -47,7 +47,7 @@ then testlist="$*" else # note that 323..326 test CQN which we don't currently compile in - testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 400 401' + testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 400 401' fi diffokcount=0; diff --git a/test/testres/391.err.good b/test/testres/391.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/391.out.good b/test/testres/391.out.good new file mode 100644 index 00000000..10621ea6 --- /dev/null +++ b/test/testres/391.out.good @@ -0,0 +1 @@ +100.0µ From 700ff1d7f930d865cf3ac7218c57a683cadebbf1 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 13 May 2024 13:25:27 +0000 Subject: [PATCH 042/118] Add xc_hardparse to aw_transaction and awindex_query --- oltp/aw_declarations.rwl | 86 ++++- oltp/tags | 793 ++++++++++++++++++++------------------- 2 files changed, 469 insertions(+), 410 deletions(-) diff --git a/oltp/aw_declarations.rwl b/oltp/aw_declarations.rwl index 8fe10df4..df5642df 100644 --- a/oltp/aw_declarations.rwl +++ b/oltp/aw_declarations.rwl @@ -29,6 +29,7 @@ private string(100) d_fill, b_fill, g_fill; private string(100) s_rowid; $implicit:both +$ampersand:on $if xc_enabled and !defined(eatcpu) $then $include:"eatcpu.rwl" @@ -175,13 +176,34 @@ $endif # run the normal part # lock the session row - sel_tok_sql; + $if xc_enabled $then + if uniform(0.0,1.0) < xc_hardparse then + select rowid s_rowid from aw_tok where tokid=&s_tokid. for update + /* aw_declaration.rwl SQL 1 HARD */ + / + else + $endif + sel_tok_sql; + $if xc_enabled $then + end if; + $endif # insert the aw_row d_fill := "abc" || uniform(0.0,123456789.0) || "efg"; d_val := erlang2(1.0); d_tokid := s_tokid; - ins_det_sql; + $if xc_enabled $then + if uniform(0.0,1.0) < xc_hardparse then + insert into aw_row(tokid, dat, fill, rwnum, runid, val) + values(&d_tokid., sysdate, '&d_fill.', &d_rwnum., &runnumber., &d_val.) + /* aw_declaration.rwl SQL 3 HARD */ + / + else + $endif + ins_det_sql; + $if xc_enabled $then + end if; + $endif # update the token s_col1 := uniform(1,1000000); @@ -189,7 +211,13 @@ $if xc_enabled $then if uniform(0.0,1.0) < xc_parsefailure then upd_tok_sql_failure; else - upd_tok_sql; + if uniform(0.0,1.0) < xc_hardparse then + update aw_tok set col1=&s_col1. where rowid=:s_rowid + /* aw_declaration.rwl SQL 2 HARD */ + / + else + upd_tok_sql; + end if; end if; if xc_cpusec > 0 then @@ -221,7 +249,17 @@ $endif ins_xtr_sql; # lock the token - sel_tok_sql; + $if xc_enabled $then + if uniform(0.0,1.0) < xc_hardparse then + select rowid s_rowid from aw_tok where tokid=&s_tokid. for update + /* aw_declaration.rwl SQL 1 HARD */ + / + else + $endif + sel_tok_sql; + $if xc_enabled $then + end if; + $endif sel_xtr_sql; b_tokid := s_tokid; b_rwnum := d_rwnum; @@ -326,17 +364,35 @@ $endif # scan may kick in using storage index # and we want this to be regular buffered # access - if c>=10 then - modify sql awqry for - "select /* aw no index on c" c ")*/ c0 cone, c" c " ctwo, txt - from aw_cols awc - where c" c " between :clo and :chi"; - else - modify sql awqry for - "select /*+index(awc AW_COLS_I" c ")*/ c0 cone, c" c " ctwo, txt - from aw_cols awc - where c" c " between :clo and :chi"; - end if; + $if xc_enabled $then + if uniform(0.0,1.0) < xc_hardparse then + string whereclause; + sprintf whereclause, " where c%d between %.9f and %.9f", c, clo, chi; + if c>=10 then + modify sql awqry for + "select /* aw no index on c" c ")*/ c0 cone, c" c " ctwo, txt + from aw_cols awc " whereclause; + else + modify sql awqry for + "select /*+index(awc AW_COLS_I" c ")*/ c0 cone, c" c " ctwo, txt + from aw_cols awc " whereclause; + end if; + else + $endif + if c>=10 then + modify sql awqry for + "select /* aw no index on c" c ")*/ c0 cone, c" c " ctwo, txt + from aw_cols awc + where c" c " between :clo and :chi"; + else + modify sql awqry for + "select /*+index(awc AW_COLS_I" c ")*/ c0 cone, c" c " ctwo, txt + from aw_cols awc + where c" c " between :clo and :chi"; + end if; + $if xc_enabled $then + end if; + $endif cnt := 0; for awqry loop diff --git a/oltp/tags b/oltp/tags index 9ff7b6de..9881ae6f 100644 --- a/oltp/tags +++ b/oltp/tags @@ -27,52 +27,52 @@ a8sum col_averages.rwl 26 a9 col_averages.rwl 18 a9cnt col_averages.rwl 36 a9sum col_averages.rwl 27 -above3 csvdata.rwl 783 +above3 csvdata.rwl 784 aburst_post_factor parameters.rwl 183 aburst_pre_factor parameters.rwl 182 aburst_start parameters.rwl 184 aburst_workers parameters.rwl 181 -actbatch csvdata.rwl 263 +actbatch csvdata.rwl 264 actbatch mtitrun.rwl 83 actbatch run.rwl 561 -action runsys.rwl 50 +action runsys.rwl 51 activeses plotfigures.rwl 56 -actpool csvdata.rwl 263 +actpool csvdata.rwl 264 actpool mtitrun.rwl 83 actpool run.rwl 561 add_inventory oe_handle_products.rwl 57 affinity xcchange.rwl 44 affinratio mtit_declarations.rwl 195 -ai_atim csvdata.rwl 425 +ai_atim csvdata.rwl 426 ai_cnt plotrunwetim.rwl 45 -ai_dtim csvdata.rwl 425 +ai_dtim csvdata.rwl 426 ai_et plotrunwetim.rwl 45 -ai_exec csvdata.rwl 423 +ai_exec csvdata.rwl 424 ai_sleep_avg parameters.rwl 359 ai_sleep_fac parameters.rwl 363 -ai_wait csvdata.rwl 423 +ai_wait csvdata.rwl 424 ai_wt plotrunwetim.rwl 45 al1 oe_fillcustomers.rwl 11 al2 oe_fillcustomers.rwl 11 al3 oe_fillcustomers.rwl 11 aosecond plotfigures.rwl 56 approxsize aw_cols.rwl 214 -ashcpu csvdata.rwl 571 -ashcpu csvmtit.rwl 313 -ashcsv csvdata.rwl 576 -ashcsv csvmtit.rwl 318 -ashcsvcount csvdata.rwl 657 -ashcsvcount csvmtit.rwl 399 -ashevents csvdata.rwl 607 -ashevents csvmtit.rwl 349 +ashcpu csvdata.rwl 572 +ashcpu csvmtit.rwl 318 +ashcsv csvdata.rwl 577 +ashcsv csvmtit.rwl 323 +ashcsvcount csvdata.rwl 658 +ashcsvcount csvmtit.rwl 404 +ashevents csvdata.rwl 608 +ashevents csvmtit.rwl 354 ashstep1 ashstep1.rwl 31 -atime plotinfo.rwl 21 -avga csvmtit.rwl 269 -avgd csvmtit.rwl 269 -avge csvmtit.rwl 269 -avgw histdata.rwl 80 +atime plotinfo.rwl 22 +avga csvmtit.rwl 274 +avgd csvmtit.rwl 274 +avge csvmtit.rwl 274 +avgw histdata.rwl 89 avgw scalefract.rwl 33 -aw_atim csvdata.rwl 425 +aw_atim csvdata.rwl 426 aw_cols_256MB_doublings parameters.rwl 146 aw_cols_dbl aw_cols.rwl 19 aw_cols_mb_qry aw_cols.rwl 236 @@ -80,30 +80,30 @@ aw_cols_query_factor parameters.rwl 155 aw_cols_size aw_cols.rwl 235 aw_cols_size aw_sizeinfo.rwl 17 aw_cols_skew parameters.rwl 153 -aw_dtim csvdata.rwl 425 -aw_exec csvdata.rwl 423 -aw_instances aw_declarations.rwl 122 +aw_dtim csvdata.rwl 426 +aw_exec csvdata.rwl 424 +aw_instances aw_declarations.rwl 123 aw_instances parameters.rwl 166 -aw_myinst aw_declarations.rwl 124 +aw_myinst aw_declarations.rwl 125 aw_sleep_avg parameters.rwl 359 aw_sleep_fac parameters.rwl 362 aw_stats aw_cols.rwl 228 -aw_transaction aw_declarations.rwl 130 +aw_transaction aw_declarations.rwl 131 aw_transaction_weight parameters.rwl 111 aw_transactions_made aw_declarations.rwl 22 aw_truncate aw_truncate.rwl 13 aw_verbose parameters.rwl 159 -aw_wait csvdata.rwl 423 +aw_wait csvdata.rwl 424 awc_parallel aw_cols.rwl 189 -awindex_query aw_declarations.rwl 286 +awindex_query aw_declarations.rwl 324 awindex_query_weight parameters.rwl 112 -awlen aw_declarations.rwl 284 -awqry aw_declarations.rwl 295 -awrbb_tim runsys.rwl 179 -awrbe_tim runsys.rwl 179 +awlen aw_declarations.rwl 322 +awqry aw_declarations.rwl 333 +awrbb_tim runsys.rwl 180 +awrbe_tim runsys.rwl 180 awrdirectory parameters.rwl 277 -awreb_tim runsys.rwl 179 -awree_tim runsys.rwl 179 +awreb_tim runsys.rwl 180 +awree_tim runsys.rwl 180 awrinfo oltpawr.rwl 112 awrinfo oltpawr.rwl 99 awrline oltpawr.rwl 55 @@ -117,31 +117,30 @@ b_val aw_declarations.rwl 27 badplan xcchange.rwl 29 batch_connect parameters.rwl 298 batch_type parameters.rwl 299 -bb csvdata.rwl 180 -bb csvmtit.rwl 152 +bb csvdata.rwl 181 +bb csvmtit.rwl 157 bb oltpawr.rwl 228 -be csvdata.rwl 180 -be csvmtit.rwl 152 +be csvdata.rwl 181 +be csvmtit.rwl 157 be oltpawr.rwl 228 begawrsql oltpawr.rwl 26 beginawr oltpawr.rwl 85 begsnap oltpawr.rwl 19 begtime cstorm_implementation.rwl 57 -begtime csvdata.rwl 781 -bgcpu csvdata.rwl 103 -bgcpu csvmtit.rwl 78 +begtime csvdata.rwl 782 +bgcpu csvdata.rwl 104 +bgcpu csvmtit.rwl 83 bgcpu plotfigures.rwl 87 -bgcpu timemodel.rwl 110 +bgcpu timemodel.rwl 111 bt cstorm_implementation.rwl 46 btim cstorm_implementation.rwl 76 -bucktim histdata.rwl 21 +bucktim histdata.rwl 30 burst_factor parameters.rwl 172 -burst_function /home/bengsig/myoltp/myoltp.rwl 184 burst_length parameters.rwl 171 burst_repeat parameters.rwl 173 burst_start parameters.rwl 170 -c aw_declarations.rwl 290 -calf csvdata.rwl 278 +c aw_declarations.rwl 328 +calf csvdata.rwl 279 call_failure run_user.rwl 17 call_real run.rwl 122 call_real_or_timeout run.rwl 139 @@ -149,37 +148,37 @@ can_ship oe_handle_orders.rwl 498 category_id oe_handle_products.rwl 21 ccnt oe_fillcustomers.rwl 15 check_results create_schemas.rwl 52 -chi aw_declarations.rwl 289 +chi aw_declarations.rwl 327 cid oe_fillcustomers.rwl 8 cid oe_fillproducts.rwl 11 -cliaft timemodel.rwl 111 -clibef timemodel.rwl 111 +cliaft timemodel.rwl 112 +clibef timemodel.rwl 112 clim oe_fillcustomers.rwl 12 -clisys csvdata.rwl 262 -clisys csvmtit.rwl 217 -cliusr csvdata.rwl 262 -cliusr csvmtit.rwl 217 -clo aw_declarations.rwl 289 +clisys csvdata.rwl 263 +clisys csvmtit.rwl 222 +cliusr csvdata.rwl 263 +cliusr csvmtit.rwl 222 +clo aw_declarations.rwl 327 cnt aw_cols.rwl 210 -cnt aw_declarations.rwl 290 +cnt aw_declarations.rwl 328 cnt check_for_key.rwl 18 cnt oe_long_session.rwl 11 cnt oerhtml.rwl 16 -cnt1 csvmtit.rwl 227 +cnt1 csvmtit.rwl 232 cnt1 mtitplotwe.rwl 41 -cnt2 csvmtit.rwl 227 +cnt2 csvmtit.rwl 232 cnt2 mtitplotwe.rwl 41 -cnt3 csvmtit.rwl 227 +cnt3 csvmtit.rwl 232 cnt3 mtitplotwe.rwl 41 -cnt4 csvmtit.rwl 227 +cnt4 csvmtit.rwl 232 cnt4 mtitplotwe.rwl 41 -cnt5 csvmtit.rwl 227 +cnt5 csvmtit.rwl 232 cnt5 mtitplotwe.rwl 41 -cnt6 csvmtit.rwl 227 +cnt6 csvmtit.rwl 232 cnt6 mtitplotwe.rwl 41 -cnt7 csvmtit.rwl 227 +cnt7 csvmtit.rwl 232 cnt7 mtitplotwe.rwl 41 -cnt8 csvmtit.rwl 227 +cnt8 csvmtit.rwl 232 cnt8 mtitplotwe.rwl 41 cntfail plotruntp.rwl 43 cntl oe_handle_orders.rwl 694 @@ -188,33 +187,33 @@ complex_count oe_handle_orders.rwl 686 complex_query oe_handle_orders.rwl 688 complex_query_weight parameters.rwl 109 complex_sum oe_handle_orders.rwl 685 -cone aw_declarations.rwl 289 +cone aw_declarations.rwl 327 could_not_ship oe_handle_orders.rwl 378 -count1 histdata.rwl 21 +count1 histdata.rwl 30 count1 plotruntp.rwl 43 -count2 histdata.rwl 21 +count2 histdata.rwl 30 count2 plotruntp.rwl 43 -count3 histdata.rwl 21 +count3 histdata.rwl 30 count3 plotruntp.rwl 43 -count4 histdata.rwl 21 +count4 histdata.rwl 30 count4 plotruntp.rwl 43 -count5 histdata.rwl 21 +count5 histdata.rwl 30 count5 plotruntp.rwl 43 -count6 histdata.rwl 21 +count6 histdata.rwl 30 count6 plotruntp.rwl 43 -count7 histdata.rwl 21 +count7 histdata.rwl 30 count7 plotruntp.rwl 43 -count8 histdata.rwl 21 +count8 histdata.rwl 30 count8 plotruntp.rwl 43 -countentries csvdata.rwl 98 -countentries csvmtit.rwl 73 +countentries csvdata.rwl 99 +countentries csvmtit.rwl 78 countres plotfigures.rwl 28 country oe_fillcustomers.rwl 42 cpusec xcchange.rwl 30 -cq_atim csvdata.rwl 425 -cq_dtim csvdata.rwl 424 -cq_exec csvdata.rwl 422 -cq_wait csvdata.rwl 423 +cq_atim csvdata.rwl 426 +cq_dtim csvdata.rwl 425 +cq_exec csvdata.rwl 423 +cq_wait csvdata.rwl 424 create_aw_cols aw_cols.rwl 55 create_aw_seq aw_cols.rwl 51 cruser_connect parameters.rwl 283 @@ -229,36 +228,36 @@ cstorm_xtra_logons parameters.rwl 233 cstorm_xtra_period parameters.rwl 236 cstorm_xtra_rate parameters.rwl 234 cstorm_xtra_start parameters.rwl 235 -csvline csvdata.rwl 566 -csvline csvmtit.rwl 16 +csvline csvdata.rwl 567 +csvline csvmtit.rwl 17 csvname scalefract.rwl 21 -ctwo aw_declarations.rwl 289 +ctwo aw_declarations.rwl 327 cursor_cache_size parameters.rwl 67 cursorleak xcchange.rwl 23 customer_id oe_handle_orders.rwl 383 customer_id oe_handle_orders.rwl 623 customer_id oe_handle_orders.rwl 752 customer_id oe_handle_orders.rwl 83 -d csvdata.rwl 623 -d csvmtit.rwl 365 +d csvdata.rwl 624 +d csvmtit.rwl 370 d_fill aw_declarations.rwl 28 d_rwnum aw_declarations.rwl 25 d_tokid aw_declarations.rwl 24 d_val aw_declarations.rwl 27 -datediff csvdata.rwl 54 -datediff csvmtit.rwl 33 -dbcpu csvdata.rwl 103 -dbcpu csvmtit.rwl 78 +datediff csvdata.rwl 55 +datediff csvmtit.rwl 34 +dbcpu csvdata.rwl 104 +dbcpu csvmtit.rwl 83 dbcpu plotfigures.rwl 87 -dbcpu timemodel.rwl 108 +dbcpu timemodel.rwl 109 dbcpusum plotfigures.rwl 22 dbdomain prepare.rwl 77 dbid oltpawr.rwl 19 dbl aw_cols.rwl 210 dbname prepare.rwl 76 -dbtim timemodel.rwl 109 -dbtime csvdata.rwl 103 -dbtime csvmtit.rwl 78 +dbtim timemodel.rwl 110 +dbtime csvdata.rwl 104 +dbtime csvmtit.rwl 83 dbtime plotfigures.rwl 87 dbtimesum plotfigures.rwl 22 dbversion prepare.rwl 71 @@ -276,9 +275,9 @@ deltmpord oepartalloc.rwl 37 descl oe_handle_orders.rwl 752 dfac mtit_create.rwl 104 disable_bloom oltpawr.rwl 48 -dist_count runsys.rwl 48 -dist_inst runsys.rwl 48 -dist_usrn runsys.rwl 49 +dist_count runsys.rwl 49 +dist_inst runsys.rwl 49 +dist_usrn runsys.rwl 50 do_hardparse oe_handle_orders.rwl 194 doawr parameters.rwl 225 doeither run.rwl 153 @@ -292,51 +291,53 @@ doosstat parameters.rwl 227 drop_aw_cols aw_cols.rwl 41 drop_aw_seq aw_cols.rwl 46 dropuser drop_schemas.rwl 13 -dtime plotinfo.rwl 21 +dtime plotinfo.rwl 22 duping runping.rwl 34 eatcpu eatcpu.rwl 9 -eb csvdata.rwl 180 -eb csvmtit.rwl 152 +eb csvdata.rwl 181 +eb csvmtit.rwl 157 eb oltpawr.rwl 228 ecount ashstep1.rwl 34 -ee csvdata.rwl 180 -ee csvmtit.rwl 152 +ee csvdata.rwl 181 +ee csvmtit.rwl 157 ee oltpawr.rwl 228 email oe_fillcustomers.rwl 13 -end1 csvdata.rwl 781 -end2 csvdata.rwl 781 -end3 csvdata.rwl 781 +end1 csvdata.rwl 782 +end2 csvdata.rwl 782 +end3 csvdata.rwl 782 endawr oltpawr.rwl 93 endawrsql oltpawr.rwl 39 endsnap oltpawr.rwl 19 -endt csvdata.rwl 781 +endt csvdata.rwl 782 endtime cstorm_implementation.rwl 58 -endtime csvdata.rwl 781 -entries csvmtit.rwl 296 +endtime csvdata.rwl 782 +entries csvmtit.rwl 301 entries mtitplotwe.rwl 28 entries plotfigures.rwl 29 entries plotruntp.rwl 25 entries plotrunwetim.rwl 25 enum ashstep1.rwl 51 envline kommentops.rwl 18 -err1 csvdata.rwl 785 -err2 csvdata.rwl 785 -err3 csvdata.rwl 785 -errcnt csvdata.rwl 783 +err1 csvdata.rwl 786 +err2 csvdata.rwl 786 +err3 csvdata.rwl 786 +errcnt csvdata.rwl 784 errnum cstorm_implementation.rwl 60 -errnum csvdata.rwl 782 -errt csvdata.rwl 785 +errnum csvdata.rwl 783 +errt csvdata.rwl 786 errtxt cstorm_implementation.rwl 61 -errtxt csvdata.rwl 784 -esum csvdata.rwl 573 -esum csvmtit.rwl 315 +errtxt csvdata.rwl 785 +esum csvdata.rwl 574 +esum csvmtit.rwl 320 event ashstep1.rwl 33 -event csvdata.rwl 599 -event csvmtit.rwl 341 +event csvdata.rwl 600 +event csvmtit.rwl 346 everyuntil "program startup" 0 evgroup ashstep1.rwl 36 -extrapct aw_declarations.rwl 119 +extrapct aw_declarations.rwl 120 fail_cnt plotrunwetim.rwl 46 +failcount plotinfo.rwl 42 +fgcount plotinfo.rwl 42 filnam x2range.rwl 24 finishtime prepare.rwl 21 first1530 aw_cols.rwl 83 @@ -346,6 +347,7 @@ fix_hardparse parameters.rwl 338 fix_logoffrate parameters.rwl 340 fna oe_fillcustomers.rwl 9 forever_proccount parameters.rwl 79 +forg plotinfo.rwl 41 found kommentops.rwl 17 fulldir kommentops.rwl 20 fullname prepare.rwl 70 @@ -355,67 +357,68 @@ g_rwnum aw_declarations.rwl 25 g_tokid aw_declarations.rwl 24 g_val aw_declarations.rwl 27 generateawr oltpawr.rwl 109 -get_inst aw_declarations.rwl 126 +get_inst aw_declarations.rwl 127 get_pcount runtrunc.rwl 42 get_pref_inst oltpawr.rwl 124 getawrglobal oltpawr.rwl 74 getawrhtml oltpawr.rwl 66 getawrtext oltpawr.rwl 58 getdbname prepare.rwl 78 -getpoolsizes runsys.rwl 93 +getpoolsizes runsys.rwl 94 getrdate prepare.rwl 29 -getres_sql csvmtit.rwl 229 +getres_sql csvmtit.rwl 234 getres_sql mtitplotwe.rwl 43 getres_sql plotrunwetim.rwl 48 globalawr parameters.rwl 226 gnuplotjs parameters.rwl 268 +goodcount plotinfo.rwl 42 grab_session run.rwl 134 grp check_directories.rwl 10 hadit oerhtmlday.rwl 92 halfperiod parameters.rwl 428 hardparse xcchange.rwl 26 heartbeat run.rwl 256 -highcount csvdata.rwl 659 -highcount csvmtit.rwl 401 -highinst csvmtit.rwl 466 -histrow histdata.rwl 62 +highcount csvdata.rwl 660 +highcount csvmtit.rwl 406 +highinst csvmtit.rwl 471 +histrow histdata.rwl 71 htmlformat mtit_showparam.rwl 9 -htmlline csvdata.rwl 756 +htmlline csvdata.rwl 757 htmlxtra oltpawr.rwl 81 htmlxtrawrap oltpawr.rwl 82 human parameters2shell.rwl 25 i /home/bengsig/rwloadsim/public/ovid2.rwl 7077 i aw_cols.rwl 210 -i1 csvdata.rwl 240 -i1 csvmtit.rwl 195 +i1 csvdata.rwl 241 +i1 csvmtit.rwl 200 i1 instdist.rwl 12 i1 oerhtmlday.rwl 17 -i2 csvdata.rwl 240 -i2 csvmtit.rwl 195 +i2 csvdata.rwl 241 +i2 csvmtit.rwl 200 i2 instdist.rwl 12 i2 oerhtmlday.rwl 17 -i3 csvdata.rwl 240 -i3 csvmtit.rwl 195 +i3 csvdata.rwl 241 +i3 csvmtit.rwl 200 i3 instdist.rwl 12 i3 oerhtmlday.rwl 17 -i4 csvdata.rwl 240 -i4 csvmtit.rwl 195 +i4 csvdata.rwl 241 +i4 csvmtit.rwl 200 i4 instdist.rwl 12 i4 oerhtmlday.rwl 17 -i5 csvdata.rwl 240 -i5 csvmtit.rwl 195 +i5 csvdata.rwl 241 +i5 csvmtit.rwl 200 i5 instdist.rwl 12 i5 oerhtmlday.rwl 17 -i6 csvdata.rwl 240 -i6 csvmtit.rwl 195 +i6 csvdata.rwl 241 +i6 csvmtit.rwl 200 i6 instdist.rwl 12 i6 oerhtmlday.rwl 17 -i7 csvdata.rwl 240 -i7 csvmtit.rwl 195 +i7 csvdata.rwl 241 +i7 csvmtit.rwl 200 i7 instdist.rwl 12 i7 oerhtmlday.rwl 17 -i8 csvdata.rwl 240 -i8 csvmtit.rwl 195 +i8 csvdata.rwl 241 +i8 csvmtit.rwl 200 i8 instdist.rwl 12 i8 oerhtmlday.rwl 17 icnt instdist.rwl 16 @@ -426,23 +429,23 @@ ientries plotruntp.rwl 25 ientries plotrunwetim.rwl 25 ignore_parsefailure xcchange.rwl 28 iii mtit_declarations.rwl 195 -inacdist runsys.rwl 44 -inacdistfile runsys.rwl 40 +inacdist runsys.rwl 45 +inacdistfile runsys.rwl 41 index_name mtit_create.rwl 22 input col_averages.rwl 17 ins_awrtim oltpawr.rwl 232 ins_customer oe_fillcustomers.rwl 20 -ins_det_sql aw_declarations.rwl 61 +ins_det_sql aw_declarations.rwl 62 ins_inventory oe_handle_products.rwl 91 ins_item oe_handle_orders.rwl 119 ins_order oe_handle_orders.rwl 91 ins_product oe_fillproducts.rwl 18 ins_warehouse oe_fillwarehouses.rwl 12 -ins_xin_sql aw_declarations.rwl 85 -ins_xtr_sql aw_declarations.rwl 103 +ins_xin_sql aw_declarations.rwl 86 +ins_xtr_sql aw_declarations.rwl 104 insevname ashstep1.rwl 53 insinv oe_fillwarehouses.rwl 36 -inspoolsizes runsys.rwl 128 +inspoolsizes runsys.rwl 129 insrwlcpu mtitrun.rwl 86 insrwlcpu run.rwl 564 inst oerhtml.rwl 17 @@ -454,7 +457,7 @@ inst5 plotfigures.rwl 71 inst6 plotfigures.rwl 71 inst7 plotfigures.rwl 71 inst8 plotfigures.rwl 71 -inst_dist_sql runsys.rwl 51 +inst_dist_sql runsys.rwl 52 instdist_get instdist.rwl 14 instdist_qry instdist.rwl 18 instdist_sav instdist.rwl 47 @@ -467,26 +470,26 @@ inum instdist.rwl 16 inv_rowid oe_handle_orders.rwl 450 inv_rowid oe_handle_products.rwl 63 invoices_made oe_handle_orders.rwl 621 -ioer csvdata.rwl 493 +ioer csvdata.rwl 494 isecond plotfigures.rwl 71 isgood check_directories.rwl 14 -isys1 timemodel.rwl 243 -isys2 timemodel.rwl 243 -isys3 timemodel.rwl 243 -isys4 timemodel.rwl 243 -isys5 timemodel.rwl 243 -isys6 timemodel.rwl 243 -isys7 timemodel.rwl 243 -isys8 timemodel.rwl 243 +isys1 timemodel.rwl 244 +isys2 timemodel.rwl 244 +isys3 timemodel.rwl 244 +isys4 timemodel.rwl 244 +isys5 timemodel.rwl 244 +isys6 timemodel.rwl 244 +isys7 timemodel.rwl 244 +isys8 timemodel.rwl 244 item_count oe_handle_orders.rwl 384 -iusr1 timemodel.rwl 242 -iusr2 timemodel.rwl 242 -iusr3 timemodel.rwl 242 -iusr4 timemodel.rwl 242 -iusr5 timemodel.rwl 242 -iusr6 timemodel.rwl 242 -iusr7 timemodel.rwl 242 -iusr8 timemodel.rwl 242 +iusr1 timemodel.rwl 243 +iusr2 timemodel.rwl 243 +iusr3 timemodel.rwl 243 +iusr4 timemodel.rwl 243 +iusr5 timemodel.rwl 243 +iusr6 timemodel.rwl 243 +iusr7 timemodel.rwl 243 +iusr8 timemodel.rwl 243 key check_for_key.rwl 12 key oerhtmlday.rwl 11 key scalefract.rwl 16 @@ -566,8 +569,8 @@ lastsys mtitrun.rwl 81 lastsys run.rwl 559 lastusr mtitrun.rwl 81 lastusr run.rwl 559 -lc csvdata.rwl 623 -lc csvmtit.rwl 365 +lc csvdata.rwl 624 +lc csvmtit.rwl 370 lcsec xcdefault.rwl 20 leaf_blocks mtit_create.rwl 119 li oe_handle_orders.rwl 260 @@ -589,7 +592,7 @@ longdedqry oe_long_session.rwl 60 longpooldml oe_long_session.rwl 65 longpoolqry oe_long_session.rwl 55 longsession oe_long_session.rwl 9 -lowtime csvdata.rwl 781 +lowtime csvdata.rwl 782 lpri oe_fillproducts.rwl 13 m_price oe_long_session.rwl 12 make_invoices oe_handle_orders.rwl 623 @@ -599,8 +602,8 @@ makeinvoices run.rwl 87 makeinvoices_weight parameters.rwl 108 makeorder run.rwl 83 makeorder_weight parameters.rwl 105 -markerfile csvdata.rwl 38 -markerfile csvmtit.rwl 18 +markerfile csvdata.rwl 39 +markerfile csvmtit.rwl 19 markerfile mtitrun.rwl 25 markerfile run.rwl 77 markerfile xc_implementation.rwl 31 @@ -612,27 +615,27 @@ max_order_ship oe_handle_orders.rwl 25 max_product parameters.rwl 123 max_sessionwait parameters.rwl 64 max_warehouse parameters.rwl 122 -maxactpool csvdata.rwl 322 -maxdbcpu csvdata.rwl 97 -maxesum csvdata.rwl 574 -maxesum csvmtit.rwl 316 +maxactpool csvdata.rwl 323 +maxdbcpu csvdata.rwl 98 +maxesum csvdata.rwl 575 +maxesum csvmtit.rwl 321 maxl /home/bengsig/rwloadsim/public/ovid2.rwl 7085 maxo oe_handle_orders.rwl 556 maxpool xcchange.rwl 33 maxseq mtit_declarations.rwl 195 -maxsessions aw_declarations.rwl 114 +maxsessions aw_declarations.rwl 115 maxsql oe_handle_orders.rwl 41 maxtot run.rwl 224 -maxtot runsys.rwl 38 -maxyrange csvdata.rwl 219 -maxyrange csvmtit.rwl 179 +maxtot runsys.rwl 39 +maxyrange csvdata.rwl 220 +maxyrange csvmtit.rwl 184 mf xc_implementation.rwl 44 -mfil csvdata.rwl 152 -mfil csvmtit.rwl 124 -mi_atim csvdata.rwl 424 -mi_dtim csvdata.rwl 424 -mi_exec csvdata.rwl 422 -mi_wait csvdata.rwl 422 +mfil csvdata.rwl 153 +mfil csvmtit.rwl 129 +mi_atim csvdata.rwl 425 +mi_dtim csvdata.rwl 425 +mi_exec csvdata.rwl 423 +mi_wait csvdata.rwl 423 min_order_id oe_handle_orders.rwl 24 min_order_query oe_handle_orders.rwl 26 min_order_ship oe_handle_orders.rwl 25 @@ -644,28 +647,28 @@ minsec plotruntp.rwl 24 minsec plotrunwetim.rwl 24 minsql oe_handle_orders.rwl 34 mkuser create_schemas.rwl 17 -mo_atim csvdata.rwl 424 +mo_atim csvdata.rwl 425 mo_cnt plotrunwetim.rwl 43 -mo_dtim csvdata.rwl 424 +mo_dtim csvdata.rwl 425 mo_et plotrunwetim.rwl 43 -mo_exec csvdata.rwl 422 +mo_exec csvdata.rwl 423 mo_sleep_avg parameters.rwl 359 mo_sleep_fac parameters.rwl 360 -mo_wait csvdata.rwl 422 +mo_wait csvdata.rwl 423 mo_wt plotrunwetim.rwl 43 mpri oe_fillproducts.rwl 14 mrkleft run.rwl 197 mrklen run.rwl 197 -msec csvdata.rwl 151 -msec csvmtit.rwl 123 +msec csvdata.rwl 152 +msec csvmtit.rwl 128 msg run_user.rwl 17 -msping csvdata.rwl 103 -msping csvmtit.rwl 78 +msping csvdata.rwl 104 +msping csvmtit.rwl 83 msping plotfigures.rwl 87 msping runping.rwl 34 -msping timemodel.rwl 111 -mtim csvdata.rwl 150 -mtim csvmtit.rwl 122 +msping timemodel.rwl 112 +mtim csvdata.rwl 151 +mtim csvmtit.rwl 127 mtit xcvalues.rwl 22 mtit_affinity parameters.rwl 372 mtit_array_size parameters.rwl 370 @@ -686,12 +689,12 @@ mtit_type parameters.rwl 371 mtit_type_text parameters.rwl 376 mtit_xc parameters.rwl 374 mtittype xcchange.rwl 41 -mtxt csvdata.rwl 150 -mtxt csvmtit.rwl 122 -mtyp csvdata.rwl 150 -mtyp csvmtit.rwl 122 -my_loop aw_declarations.rwl 111 -my_thread aw_declarations.rwl 111 +mtxt csvdata.rwl 151 +mtxt csvmtit.rwl 127 +mtyp csvdata.rwl 151 +mtyp csvmtit.rwl 127 +my_loop aw_declarations.rwl 112 +my_thread aw_declarations.rwl 112 myarraysize xcchange.rwl 43 mycstormsid cstorm_implementation.rwl 39 mycursorcache xcchange.rwl 34 @@ -712,8 +715,8 @@ mykomment plotrunwetim.rwl 17 myproccount xcchange.rwl 35 myratefactor xcchange.rwl 24 myrunnumber kommentops.rwl 16 -myrunnumber plotinfo.rwl 16 -myrunsec aw_declarations.rwl 292 +myrunnumber plotinfo.rwl 17 +myrunsec aw_declarations.rwl 330 myrunsec oe_handle_orders.rwl 193 myrunsec oe_handle_orders.rwl 934 myrunsec oe_handle_orders.rwl 994 @@ -723,41 +726,41 @@ nam oe_long_session.rwl 9 newenv kommentops.rwl 56 newkomment kommentops.rwl 14 nextdouble aw_cols.rwl 132 -no_awr_interval csvdata.rwl 41 +no_awr_interval csvdata.rwl 42 nopool xcchange.rwl 37 nopool xccoreparam.rwl 17 normal_connect parameters.rwl 295 normal_stddev parameters.rwl 349 -notused csvdata.rwl 494 +notused csvdata.rwl 495 num_rows mtit_create.rwl 119 -nvlstring csvdata.rwl 489 +nvlstring csvdata.rwl 490 o1 oe_handle_orders.rwl 694 o2 oe_handle_orders.rwl 694 -oercount csvdata.rwl 30 -oercount csvmtit.rwl 11 -oerheader csvdata.rwl 36 -oerlist csvdata.rwl 35 +oercount csvdata.rwl 31 +oercount csvmtit.rwl 12 +oerheader csvdata.rwl 37 +oerlist csvdata.rwl 36 oerlist oerhtmlday.rwl 77 oerlisting oerhtmlday.rwl 75 -oerpivot csvdata.rwl 740 -oerpivotsql csvdata.rwl 537 -oerreverse csvdata.rwl 37 -oerrow csvdata.rwl 490 -oertable csvdata.rwl 759 -oertablesql csvdata.rwl 549 +oerpivot csvdata.rwl 741 +oerpivotsql csvdata.rwl 538 +oerreverse csvdata.rwl 38 +oerrow csvdata.rwl 491 +oertable csvdata.rwl 760 +oertablesql csvdata.rwl 550 offtime cstorm_implementation.rwl 59 -offtime csvdata.rwl 781 +offtime csvdata.rwl 782 oldenv kommentops.rwl 57 olines oerhtmlday.rwl 15 one runping.rwl 30 -one timemodel.rwl 99 +one timemodel.rwl 100 only_directories parameters2shell.rwl 19 only_plus parameters2shell.rwl 16 onlyone latest.rwl 22 -onrac timemodel.rwl 41 -openbatch csvdata.rwl 263 +onrac timemodel.rwl 42 +openbatch csvdata.rwl 264 openbatch run.rwl 561 -openpool csvdata.rwl 263 +openpool csvdata.rwl 264 openpool mtitrun.rwl 83 openpool run.rwl 561 openses plotfigures.rwl 56 @@ -781,9 +784,9 @@ orderby latest.rwl 21 orders_hashcount parameters.rwl 132 orders_made oe_handle_orders.rwl 81 ordid oepartalloc.rwl 21 -osstat_getres timemodel.rwl 202 -osstat_save timemodel.rwl 241 -otherterm timemodel.rwl 39 +osstat_getres timemodel.rwl 203 +osstat_save timemodel.rwl 242 +otherterm timemodel.rwl 40 out create_schemas.rwl 15 out_order_id oe_handle_orders.rwl 86 outf scalefract.rwl 24 @@ -802,53 +805,54 @@ pcode oe_fillcustomers.rwl 14 pcount runtrunc.rwl 40 pcount scalefract.rwl 32 pct oe_handle_orders.rwl 556 -pct50 histdata.rwl 80 +pct50 histdata.rwl 89 pct50 scalefract.rwl 33 -pct90 histdata.rwl 80 +pct90 histdata.rwl 89 pct90 scalefract.rwl 33 -pct95 histdata.rwl 80 +pct95 histdata.rwl 89 pct95 scalefract.rwl 33 -pct98 histdata.rwl 80 +pct98 histdata.rwl 89 pct98 scalefract.rwl 33 -pct99 histdata.rwl 80 +pct99 histdata.rwl 89 pct99 scalefract.rwl 33 pdesc oe_fillproducts.rwl 10 +perview histdata.rwl 15 pid oe_fillproducts.rwl 8 pid oe_fillwarehouses.rwl 6 -pingbegt timemodel.rwl 111 +pingbegt timemodel.rwl 112 pingcsv runping.rwl 32 -pivotstring csvdata.rwl 491 +pivotstring csvdata.rwl 492 plot_cpu_only plotfigures.rwl 23 plotfigures plotfigures.rwl 25 -plotfil2 csvdata.rwl 33 -plotfil2 csvmtit.rwl 14 -plotfile csvdata.rwl 33 -plotfile csvmtit.rwl 14 -plotfile histdata.rwl 16 +plotfil2 csvdata.rwl 34 +plotfil2 csvmtit.rwl 15 +plotfile csvdata.rwl 34 +plotfile csvmtit.rwl 15 +plotfile histdata.rwl 25 plotfile mtitplotwe.rwl 23 plotfile plotfigures.rwl 21 plotfile plotruntp.rwl 20 plotfile plotrunwetim.rwl 20 plotfile prepare.rwl 12 -plotfile runsys.rwl 34 -plotline csvdata.rwl 567 -plotline csvmtit.rwl 17 -plotorder csvdata.rwl 836 +plotfile runsys.rwl 35 +plotline csvdata.rwl 568 +plotline csvmtit.rwl 18 +plotorder csvdata.rwl 837 plotruntp plotruntp.rwl 22 plotweres mtitplotwe.rwl 25 plotweres plotrunwetim.rwl 22 pna oe_fillproducts.rwl 9 pool_connect parameters.rwl 297 -pool_mb1 runsys.rwl 90 -pool_mb2 runsys.rwl 90 -pool_mb3 runsys.rwl 90 -pool_mb4 runsys.rwl 90 -pool_mb5 runsys.rwl 91 -pool_mb6 runsys.rwl 91 -pool_mb7 runsys.rwl 91 -pool_mb8 runsys.rwl 91 -pool_name runsys.rwl 92 -pool_rs runsys.rwl 90 +pool_mb1 runsys.rwl 91 +pool_mb2 runsys.rwl 91 +pool_mb3 runsys.rwl 91 +pool_mb4 runsys.rwl 91 +pool_mb5 runsys.rwl 92 +pool_mb6 runsys.rwl 92 +pool_mb7 runsys.rwl 92 +pool_mb8 runsys.rwl 92 +pool_name runsys.rwl 93 +pool_rs runsys.rwl 91 pool_size_interval parameters.rwl 273 pool_type parameters.rwl 296 prefinst oltpawr.rwl 123 @@ -871,41 +875,41 @@ product_name oe_handle_products.rwl 19 product_status oe_fillproducts.rwl 38 product_status oe_handle_orders.rwl 136 products_found oe_handle_products.rwl 10 -prvbgcpu timemodel.rwl 110 -prvdbcpu timemodel.rwl 108 -prvdbtim timemodel.rwl 109 +prvbgcpu timemodel.rwl 111 +prvdbcpu timemodel.rwl 109 +prvdbtim timemodel.rwl 110 pstat oe_fillproducts.rwl 12 pstat oe_fillwarehouses.rwl 8 -psys1 timemodel.rwl 199 -psys2 timemodel.rwl 199 -psys3 timemodel.rwl 199 -psys4 timemodel.rwl 199 -psys5 timemodel.rwl 199 -psys6 timemodel.rwl 199 -psys7 timemodel.rwl 199 -psys8 timemodel.rwl 199 -pusr1 timemodel.rwl 198 -pusr2 timemodel.rwl 198 -pusr3 timemodel.rwl 198 -pusr4 timemodel.rwl 198 -pusr5 timemodel.rwl 198 -pusr6 timemodel.rwl 198 -pusr7 timemodel.rwl 198 -pusr8 timemodel.rwl 198 -pusrsystim timemodel.rwl 200 +psys1 timemodel.rwl 200 +psys2 timemodel.rwl 200 +psys3 timemodel.rwl 200 +psys4 timemodel.rwl 200 +psys5 timemodel.rwl 200 +psys6 timemodel.rwl 200 +psys7 timemodel.rwl 200 +psys8 timemodel.rwl 200 +pusr1 timemodel.rwl 199 +pusr2 timemodel.rwl 199 +pusr3 timemodel.rwl 199 +pusr4 timemodel.rwl 199 +pusr5 timemodel.rwl 199 +pusr6 timemodel.rwl 199 +pusr7 timemodel.rwl 199 +pusr8 timemodel.rwl 199 +pusrsystim timemodel.rwl 201 q aw_cols.rwl 31 -qo_atim csvdata.rwl 425 +qo_atim csvdata.rwl 426 qo_cnt plotrunwetim.rwl 44 -qo_dtim csvdata.rwl 425 +qo_dtim csvdata.rwl 426 qo_et plotrunwetim.rwl 44 -qo_exec csvdata.rwl 423 +qo_exec csvdata.rwl 424 qo_sleep_avg parameters.rwl 359 qo_sleep_fac parameters.rwl 361 -qo_wait csvdata.rwl 423 +qo_wait csvdata.rwl 424 qo_wt plotrunwetim.rwl 44 -qry_awrtim csvdata.rwl 181 -qry_awrtim csvmtit.rwl 153 -qrysec timemodel.rwl 124 +qry_awrtim csvdata.rwl 182 +qry_awrtim csvmtit.rwl 158 +qrysec timemodel.rwl 125 qtt oe_fillwarehouses.rwl 33 quantity oe_handle_orders.rwl 117 quantity oe_handle_orders.rwl 383 @@ -936,19 +940,19 @@ rdate oerhtmlday.rwl 11 rdate prepare.rwl 20 repchg xc_implementation.rwl 51 rescre create_schemas.rwl 51 -resname csvdata.rwl 341 -resok timemodel.rwl 113 +resname csvdata.rwl 342 +resok timemodel.rwl 114 results_connect parameters.rwl 292 results_in_test parameters.rwl 290 results_password parameters.rwl 294 results_username parameters.rwl 293 resultsdir parameters.rwl 278 -retval csvdata.rwl 49 -retval csvmtit.rwl 28 +retval csvdata.rwl 50 +retval csvmtit.rwl 29 rixd mtit_create.rwl 104 rn runping.rwl 41 rno check_for_key.rwl 14 -rno csvdata.rwl 782 +rno csvdata.rwl 783 rno latest.rwl 30 rno mtit_declarations.rwl 128 rowspins xcchange.rwl 42 @@ -956,13 +960,13 @@ run cstorm_implementation.rwl 73 run mtitrun.rwl 65 run run.rwl 293 run runping.rwl 81 -run runsys.rwl 178 +run runsys.rwl 179 run runtrunc.rwl 58 runcstorm_implementation cstorm_implementation.rwl 73 runmtitrun mtitrun.rwl 65 -runno csvdata.rwl 30 -runno csvmtit.rwl 11 -runno histdata.rwl 13 +runno csvdata.rwl 31 +runno csvmtit.rwl 12 +runno histdata.rwl 14 runno markdone.rwl 8 runno mtitplotwe.rwl 21 runno oerhtml.rwl 9 @@ -978,9 +982,8 @@ runperiod parameters.rwl 129 runplot_width parameters.rwl 241 runrun run.rwl 293 runrunping runping.rwl 81 -runrunsys runsys.rwl 178 +runrunsys runsys.rwl 179 runruntrunc runtrunc.rwl 58 -runsec /home/bengsig/myoltp/myoltp.rwl 184 runsecmul mtit_declarations.rwl 195 rwl_aw aw_user.rwl 14 rwl_aw1 aw_sizeinfo.rwl 11 @@ -1034,17 +1037,17 @@ s24h_scan_prb parameters.rwl 223 s24h_scan_skp parameters.rwl 222 s24h_scan_std parameters.rwl 219 s24hour parameters.rwl 197 -s24line csvdata.rwl 210 -s24markerfile csvdata.rwl 209 +s24line csvdata.rwl 211 +s24markerfile csvdata.rwl 210 s24markers run.rwl 196 s_afty xc_implementation.rwl 226 s_col1 aw_declarations.rwl 26 s_rowid aw_declarations.rwl 29 s_tokid aw_declarations.rwl 24 -savecaches runsys.rwl 89 +savecaches runsys.rwl 90 saveres cstorm_implementation.rwl 56 savtim oltpawr.rwl 230 -scount csvmtit.rwl 270 +scount csvmtit.rwl 275 script_ramp parameters.rwl 70 search_products oe_handle_products.rwl 15 searches_made oe_handle_products.rwl 9 @@ -1054,15 +1057,15 @@ searchtext oe_handle_products.rwl 15 sec eatcpu.rwl 9 sec mtitrun.rwl 82 sec run.rwl 560 -secnow timemodel.rwl 111 -second csvdata.rwl 103 -second csvmtit.rwl 78 +secnow timemodel.rwl 112 +second csvdata.rwl 104 +second csvmtit.rwl 83 second csvosstat.rwl 15 second mtitplotwe.rwl 40 second plotfigures.rwl 87 second plotruntp.rwl 43 second plotrunwetim.rwl 43 -secprv timemodel.rwl 111 +secprv timemodel.rwl 112 sel1dual runping.rwl 36 sel_complex oe_handle_orders.rwl 699 sel_icount oe_handle_orders.rwl 404 @@ -1080,18 +1083,17 @@ sel_order_to_ship oe_handle_orders.rwl 388 sel_product oe_handle_orders.rwl 138 sel_product_failure oe_handle_orders.rwl 149 sel_shipped_orders oe_handle_orders.rwl 629 -sel_tok_sql aw_declarations.rwl 38 +sel_tok_sql aw_declarations.rwl 39 sel_toship oe_handle_orders.rwl 576 sel_tot_orders oe_handle_orders.rwl 564 -sel_xtr_sql aw_declarations.rwl 93 +sel_xtr_sql aw_declarations.rwl 94 selaos_sql plotfigures.rwl 57 -selcli csvdata.rwl 265 -selcli csvmtit.rwl 218 +selcli csvdata.rwl 266 +selcli csvmtit.rwl 223 selcountres_sql plotfigures.rwl 31 -selfract histdata.rwl 83 -selhist_sql histdata.rwl 22 -selinst_sql csvdata.rwl 241 -selinst_sql csvmtit.rwl 196 +selhist_sql histdata.rwl 31 +selinst_sql csvdata.rwl 242 +selinst_sql csvmtit.rwl 201 selinst_sql plotfigures.rwl 72 selinv oe_fillwarehouses.rwl 93 selk check_for_key.rwl 21 @@ -1100,13 +1102,13 @@ selminsec_sql plotfigures.rwl 40 selminsec_sql plotruntp.rwl 27 selminsec_sql plotrunwetim.rwl 27 seloer oerhtml.rwl 19 -seloercnt csvdata.rwl 496 +seloercnt csvdata.rwl 497 selprod oe_long_session.rwl 14 selpstat oe_fillwarehouses.rwl 26 -seltimm_sql csvdata.rwl 104 -seltimm_sql csvmtit.rwl 79 +seltimm_sql csvdata.rwl 105 +seltimm_sql csvmtit.rwl 84 seltimm_sql plotfigures.rwl 88 -seltps_sql csvdata.rwl 279 +seltps_sql csvdata.rwl 280 seltps_sql plotruntp.rwl 45 selvkdat scalefract.rwl 35 seq mtit_declarations.rwl 133 @@ -1127,19 +1129,19 @@ simulatebatch parameters.rwl 98 skipnegative col_averages.rwl 11 sltp oe_handle_orders.rwl 695 snap oltpawr.rwl 19 -soer csvdata.rwl 492 -sp_atim csvdata.rwl 424 -sp_dtim csvdata.rwl 424 -sp_exec csvdata.rwl 422 -sp_wait csvdata.rwl 422 +soer csvdata.rwl 493 +sp_atim csvdata.rwl 425 +sp_dtim csvdata.rwl 425 +sp_exec csvdata.rwl 423 +sp_wait csvdata.rwl 423 space create_schemas.rwl 17 sqlddl create_schemas.rwl 20 sqlddl drop_schemas.rwl 16 sqrt_query_factor parameters.rwl 476 src_products oe_handle_products.rwl 25 starttime ashstep1.rwl 31 -starttime csvdata.rwl 39 -starttime csvmtit.rwl 19 +starttime csvdata.rwl 40 +starttime csvmtit.rwl 20 starttime prepare.rwl 22 stock_added oe_handle_products.rwl 54 stock_increased oe_handle_products.rwl 53 @@ -1152,30 +1154,30 @@ storm_results cstorm_implementation.rwl 27 str /home/bengsig/rwloadsim/public/ovid2.rwl 7076 str /home/bengsig/rwloadsim/public/ovid2.rwl 7088 subdir parameters.rwl 279 -success csvdata.rwl 841 +success csvdata.rwl 842 suggest check_directories.rwl 12 -sumdbtime csvdata.rwl 97 -sumdbtime csvmtit.rwl 72 +sumdbtime csvdata.rwl 98 +sumdbtime csvmtit.rwl 77 sume oe_handle_orders.rwl 695 svgmouse parameters.rwl 738 sys mtitrun.rwl 82 sys run.rwl 560 sys1 csvosstat.rwl 14 -sys1 timemodel.rwl 197 +sys1 timemodel.rwl 198 sys2 csvosstat.rwl 14 -sys2 timemodel.rwl 197 +sys2 timemodel.rwl 198 sys3 csvosstat.rwl 14 -sys3 timemodel.rwl 197 +sys3 timemodel.rwl 198 sys4 csvosstat.rwl 14 -sys4 timemodel.rwl 197 +sys4 timemodel.rwl 198 sys5 csvosstat.rwl 14 -sys5 timemodel.rwl 197 +sys5 timemodel.rwl 198 sys6 csvosstat.rwl 14 -sys6 timemodel.rwl 197 +sys6 timemodel.rwl 198 sys7 csvosstat.rwl 14 -sys7 timemodel.rwl 197 +sys7 timemodel.rwl 198 sys8 csvosstat.rwl 14 -sys8 timemodel.rwl 197 +sys8 timemodel.rwl 198 sysawr_connect parameters.rwl 286 sysawr_password parameters.rwl 288 sysawr_username parameters.rwl 287 @@ -1186,65 +1188,65 @@ system_connect parameters.rwl 280 system_password parameters.rwl 282 system_username parameters.rwl 281 systemdb systemdb.rwl 8 -t_dbsystim timemodel.rwl 36 -t_name timemodel.rwl 34 -t_pingqry timemodel.rwl 101 -t_query timemodel.rwl 44 -t_query_gv timemodel.rwl 72 -t_val timemodel.rwl 35 -t_val1 timemodel.rwl 303 -t_val2 timemodel.rwl 303 -t_val3 timemodel.rwl 303 +t_dbsystim timemodel.rwl 37 +t_name timemodel.rwl 35 +t_pingqry timemodel.rwl 102 +t_query timemodel.rwl 45 +t_query_gv timemodel.rwl 73 +t_val timemodel.rwl 36 +t_val1 timemodel.rwl 304 +t_val2 timemodel.rwl 304 +t_val3 timemodel.rwl 304 takehere oe_handle_orders.rwl 477 -tellnoawr runsys.rwl 83 -termdist timemodel.rwl 303 -termdist_query timemodel.rwl 60 -termdist_query_gv timemodel.rwl 88 -test_aw_transaction aw_declarations.rwl 255 +tellnoawr runsys.rwl 84 +termdist timemodel.rwl 304 +termdist_query timemodel.rwl 61 +termdist_query_gv timemodel.rwl 89 +test_aw_transaction aw_declarations.rwl 293 testdebug parameters.rwl 158 thissec mtitrun.rwl 81 thissec run.rwl 559 thissys mtitrun.rwl 81 thissys run.rwl 559 -thisterm timemodel.rwl 39 +thisterm timemodel.rwl 40 thisusr mtitrun.rwl 81 thisusr run.rwl 559 threadcount parameters.rwl 94 threadcount_divisor parameters.rwl 403 threadcount_multiplier parameters.rwl 401 -thrid csvdata.rwl 780 +thrid csvdata.rwl 781 tim1 runping.rwl 34 tim2 runping.rwl 34 tim3 runping.rwl 34 time_out parameters.rwl 47 -timemodel_getres timemodel.rwl 116 -timemodel_insert timemodel.rwl 308 -timemodel_save timemodel.rwl 301 +timemodel_getres timemodel.rwl 117 +timemodel_insert timemodel.rwl 309 +timemodel_save timemodel.rwl 302 timenow eatcpu.rwl 10 -tit1 csvdata.rwl 785 -tit2 csvdata.rwl 785 -tit3 csvdata.rwl 785 -tmatch csvdata.rwl 48 -tmatch csvmtit.rwl 27 +tit1 csvdata.rwl 786 +tit2 csvdata.rwl 786 +tit3 csvdata.rwl 786 +tmatch csvdata.rwl 49 +tmatch csvmtit.rwl 28 to_be_shipped oe_handle_orders.rwl 559 tot /home/bengsig/rwloadsim/public/ovid2.rwl 7090 tot aw_cols.rwl 212 -tot runsys.rwl 48 +tot runsys.rwl 49 tot_orders oe_handle_orders.rwl 559 total oerhtml.rwl 15 total_cnt plotrunwetim.rwl 46 total_on_hand oe_handle_orders.rwl 424 totaltime prepare.rwl 28 -totashcpu csvdata.rwl 658 -totashcpu csvmtit.rwl 400 +totashcpu csvdata.rwl 659 +totashcpu csvmtit.rwl 405 totinv oe_fillwarehouses.rwl 92 trunctables runtrunc.rwl 20 trylogon cstorm_implementation.rwl 46 tshi x2range.rwl 27 tslo x2range.rwl 27 -tstamp csvdata.rwl 264 +tstamp csvdata.rwl 265 txt aw_cols.rwl 29 -txt aw_declarations.rwl 288 +txt aw_declarations.rwl 326 txt oerhtml.rwl 17 txt xc_implementation.rwl 39 uname instdist.rwl 14 @@ -1252,47 +1254,47 @@ uname instdist.rwl 43 unit_price oe_handle_orders.rwl 117 unit_price oe_handle_orders.rwl 650 unit_price oe_handle_orders.rwl 757 -upd_det_sql aw_declarations.rwl 77 +upd_det_sql aw_declarations.rwl 78 upd_inventory oe_handle_orders.rwl 480 upd_inventory oe_handle_products.rwl 80 upd_order oe_handle_orders.rwl 107 upd_ship_order oe_handle_orders.rwl 415 -upd_tok_sql aw_declarations.rwl 44 -upd_tok_sql_failure aw_declarations.rwl 51 -upd_xtr_sql aw_declarations.rwl 69 +upd_tok_sql aw_declarations.rwl 45 +upd_tok_sql_failure aw_declarations.rwl 52 +upd_xtr_sql aw_declarations.rwl 70 updprod oe_long_session.rwl 28 usr check_directories.rwl 10 usr mtitrun.rwl 82 usr run.rwl 560 usr1 csvosstat.rwl 13 -usr1 timemodel.rwl 196 +usr1 timemodel.rwl 197 usr2 csvosstat.rwl 13 -usr2 timemodel.rwl 196 +usr2 timemodel.rwl 197 usr3 csvosstat.rwl 13 -usr3 timemodel.rwl 196 +usr3 timemodel.rwl 197 usr4 csvosstat.rwl 13 -usr4 timemodel.rwl 196 +usr4 timemodel.rwl 197 usr5 csvosstat.rwl 13 -usr5 timemodel.rwl 196 +usr5 timemodel.rwl 197 usr6 csvosstat.rwl 13 -usr6 timemodel.rwl 196 +usr6 timemodel.rwl 197 usr7 csvosstat.rwl 13 -usr7 timemodel.rwl 196 +usr7 timemodel.rwl 197 usr8 csvosstat.rwl 13 -usr8 timemodel.rwl 196 -usrsystim timemodel.rwl 200 -ustsdif timemodel.rwl 244 +usr8 timemodel.rwl 197 +usrsystim timemodel.rwl 201 +ustsdif timemodel.rwl 245 val mtit_declarations.rwl 129 -val1 csvdata.rwl 278 -val2 csvdata.rwl 278 -val3 csvdata.rwl 278 -val4 csvdata.rwl 278 -val5 csvdata.rwl 278 -val6 csvdata.rwl 278 -val7 csvdata.rwl 278 -val8 csvdata.rwl 278 -val9 csvdata.rwl 278 -vname histdata.rwl 81 +val1 csvdata.rwl 279 +val2 csvdata.rwl 279 +val3 csvdata.rwl 279 +val4 csvdata.rwl 279 +val5 csvdata.rwl 279 +val6 csvdata.rwl 279 +val7 csvdata.rwl 279 +val8 csvdata.rwl 279 +val9 csvdata.rwl 279 +vname histdata.rwl 90 vname scalefract.rwl 17 waitsec xcchange.rwl 31 warehouse_id oe_handle_products.rwl 58 @@ -1306,22 +1308,23 @@ wburst_run run.rwl 237 wburst_start parameters.rwl 177 wburst_wait run.rwl 230 wcount /home/bengsig/rwloadsim/public/ovid2.rwl 7073 +whereclause aw_declarations.rwl 369 wholeaffin mtit_declarations.rwl 128 wid oe_fillwarehouses.rwl 5 withdesc oe_handle_orders.rwl 751 withdml oe_long_session.rwl 9 -wma10 csvdata.rwl 409 -wmavg csvdata.rwl 409 -wmcount csvdata.rwl 372 -wmcount csvmtit.rwl 296 -wmean csvdata.rwl 371 -wmean csvmtit.rwl 295 -wmeantot csvdata.rwl 371 -wmeantot csvmtit.rwl 295 +wma10 csvdata.rwl 410 +wmavg csvdata.rwl 410 +wmcount csvdata.rwl 373 +wmcount csvmtit.rwl 301 +wmean csvdata.rwl 372 +wmean csvmtit.rwl 300 +wmeantot csvdata.rwl 372 +wmeantot csvmtit.rwl 300 wna oe_fillwarehouses.rwl 7 wrapfetch runping.rwl 42 writeping runping.rwl 48 -wtime csvmtit.rwl 269 +wtime csvmtit.rwl 274 xc_badplan parameters.rwl 329 xc_cpusec parameters.rwl 331 xc_cursorcache parameters.rwl 324 @@ -1346,17 +1349,17 @@ xc_sessionleak parameters.rwl 326 xc_sessionwait parameters.rwl 334 xc_stopnow parameters.rwl 327 xc_waitsec parameters.rwl 330 -xcolor csvdata.rwl 40 -xcolor csvmtit.rwl 20 +xcolor csvdata.rwl 41 +xcolor csvmtit.rwl 21 xeqpsec parameters.rwl 510 xeqpshi parameters.rwl 516 xeqpslo parameters.rwl 515 xhi x2range.rwl 23 xlo x2range.rwl 22 -xseconds csvdata.rwl 47 -xseconds csvmtit.rwl 26 -xtim csvdata.rwl 47 -xtim csvmtit.rwl 26 +xseconds csvdata.rwl 48 +xseconds csvmtit.rwl 27 +xtim csvdata.rwl 48 +xtim csvmtit.rwl 27 xwidth mtitplotwe.rwl 25 xwidth plotfigures.rwl 25 xwidth plotruntp.rwl 22 From 6a6a29aa1fa6cf790c751c4a735df9e6b2cc458c Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Fri, 17 May 2024 09:20:25 +0000 Subject: [PATCH 043/118] Add keyring to doc, also gather PGA --- bin/oltpplot | 88 +++++++++++++++++++++++++++++++++---- docs/refman/directive.html | 16 ++++--- docs/refman/directives.html | 16 ++++--- docs/refman/oltpplot.html | 19 ++++++-- docs/refman/oltpsetup.html | 26 ++++++++++- man/man2rwl/oltpsetup.2rwl | 13 ++++++ oltp/csvdata.rwl | 17 ++++--- oltp/oltp.rwl | 57 +++++++++++++++++++++++- oltp/runsys.rwl | 4 +- 9 files changed, 223 insertions(+), 33 deletions(-) diff --git a/bin/oltpplot b/bin/oltpplot index 243b61e6..5e4ec0ec 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 17-may-2024 bengsig add PGA # 9-may-2024 bengsig add drop% # 8-may-2024 bengsig global osstat # 2-may-2024 bengsig --fractiles-dropped option to oltpplot @@ -420,7 +421,9 @@ cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/time. cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/tp.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/ash.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/bcache.plot +cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/memory.plot cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/sharedp.plot +cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/pga.plot for vname in mo mi sp aw qo ai cq do cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/${vname}_waitexec.plot @@ -492,9 +495,37 @@ replot END gnuplot -persist $resultsdir$subdir${runnumber}/fractiles.plot +# buffer cache plot +cat >> $resultsdir$subdir${runnumber}/bcache.plot <> $resultsdir$subdir${runnumber}/sharedp.plot <> $resultsdir$subdir${runnumber}/pga.plot <> $resultsdir$subdir${runnumber}/bcache.plot <> $resultsdir$subdir${runnumber}/memory.plot <> $resultsdir$subdir${runnumber}/tp.plot < $awrdirectory$subdir$runnumber/index.html $xtraawrs - + + + + END diff --git a/docs/refman/directive.html b/docs/refman/directive.html index 81ce555e..91dc7546 100644 --- a/docs/refman/directive.html +++ b/docs/refman/directive.html @@ -1,5 +1,5 @@ - + @@ -564,16 +564,20 @@

    DIRECTIVES starts after the calculated time.

    -

    $musymbol:<text>

    +

    $musymbol:<text> +
    +$musymbolfromstring:stringvar

    When using the m or M conversion specifier in a printf statement, the µ symbol is by default output as its UTF-8 -representation. This directive can be used to set any other +representation. These directive can be used to set any other text string, including potentially other characters outside -the ASCII character set. There is no escape processing, so -you must be able to enter the appropriate value using an -editor.

    +the ASCII character set. The first directive uses the value +provided after the colon, and there is no escape processing, +so you must be able to enter the appropriate value using an +editor. The second directive takes the actual value of the +named string variable, which cannot be a local variable.

    $hostname:<text>

    diff --git a/docs/refman/directives.html b/docs/refman/directives.html index 81ce555e..3e530f8a 100644 --- a/docs/refman/directives.html +++ b/docs/refman/directives.html @@ -1,5 +1,5 @@ - + @@ -564,16 +564,20 @@

    DIRECTIVES starts after the calculated time.

    -

    $musymbol:<text>

    +

    $musymbol:<text> +
    +$musymbolfromstring:stringvar

    When using the m or M conversion specifier in a printf statement, the µ symbol is by default output as its UTF-8 -representation. This directive can be used to set any other +representation. These directive can be used to set any other text string, including potentially other characters outside -the ASCII character set. There is no escape processing, so -you must be able to enter the appropriate value using an -editor.

    +the ASCII character set. The first directive uses the value +provided after the colon, and there is no escape processing, +so you must be able to enter the appropriate value using an +editor. The second directive takes the actual value of the +named string variable, which cannot be a local variable.

    $hostname:<text>

    diff --git a/docs/refman/oltpplot.html b/docs/refman/oltpplot.html index 9fd0b3f8..350cb12c 100644 --- a/docs/refman/oltpplot.html +++ b/docs/refman/oltpplot.html @@ -1,5 +1,5 @@ - + @@ -53,8 +53,9 @@

    SYNOPSIS ’[ .. ]’] [--gnuplot-extra file] [--no-awr-interval] [--no-titlerunnumber] [--no-client-cpu] [--xlabel ’text’] [--no-x2label] [--titletext -’text’] [--e2e-no-logscale] [-k|--key key] -[-l|--latest|[-r] runnumber]

    +’text’] [--e2e-no-logscale] +[--fractiles-dropped] [-k|--key key] [-l|--latest|[-r] +runnumber]

    Recreate the report that was created using oltprun with possible @@ -213,6 +214,18 @@

    OPTIONS differences, you can use this option to use a regular linear scale.

    + +

    --fractiles-dropped

    + +

    Whenever your run is with a +time_out value set, there might by dropped transactions. +When generating the plot of execution time fractiles, such +dropped transactions are not included. Whether this +is the correct thing to do or not is surely debatable. By +using this option, dropped transactions are assumed to +"cost" 2s, typically causing the high range +fractiles (e.g. 98%, 99%) to be very high.

    +

    --titletext ’some text’

    diff --git a/docs/refman/oltpsetup.html b/docs/refman/oltpsetup.html index 0838f183..ff918ef3 100644 --- a/docs/refman/oltpsetup.html +++ b/docs/refman/oltpsetup.html @@ -1,5 +1,5 @@ - + @@ -31,6 +31,7 @@

    oltpsetup

    24H SIMULATION
    VERIFICATION
    REMOTE EXECUTION
    +SAVING PASSWORDS IN KEYRING
    UNDOCUMENTED PARAMETERS
    BUGS
    COPYRIGHT
    @@ -933,6 +934,29 @@

    REMOTE EXECUTION rwloadsim will be started locally. This is always used for process number 1, as it must run locally.

    +

    SAVING PASSWORDS IN KEYRING + +

    + + +

    If you have +gnome keyring available, you can use that to save passwords +rather than having them in your $RWLOLTP_NAME.rwl file. To +do so, enter the needed passwords using secret-tool +store with the attributes connect and +username for the connect string and usernames +respectively. The sample oltp.rwl file has a function +called keyring_password that will use secret-tool to +lookup the password. To use it, you need to uncomment the +relevant lines in your $RWLOLTP_NAME.rwl file.

    + +

    The primary use +of this is to safely show your $RWLOLTP_NAME.rwl file in +e.g. Zoom calls or in screen dumps. Note that passwords will +still be visible if you call oltpparams with the --human +option or if somebody can log in to your account and your +gnome keyring.

    +

    UNDOCUMENTED PARAMETERS

    diff --git a/man/man2rwl/oltpsetup.2rwl b/man/man2rwl/oltpsetup.2rwl index 6092c199..062f86df 100644 --- a/man/man2rwl/oltpsetup.2rwl +++ b/man/man2rwl/oltpsetup.2rwl @@ -657,6 +657,19 @@ If the procedure is not declared, the following will be used .P implying rwloadsim will be started locally. This is always used for process number 1, as it must run locally. +.SH "SAVING PASSWORDS IN KEYRING" +If you have gnome keyring available, you can use that to save passwords rather than having them +in your $RWLOLTP_NAME.rwl file. +To do so, enter the needed passwords using \fBsecret-tool store\fR with the attributes \fBconnect\fR and +\fBusername\fR for the connect string and usernames respectively. +The sample \fBoltp.rwl\fR file has a function called \fBkeyring_password\fR that will use secret-tool +to lookup the password. +To use it, you need to uncomment the relevant lines in your $RWLOLTP_NAME.rwl file. +.P +The primary use of this is to safely show your $RWLOLTP_NAME.rwl file in e.g. Zoom calls +or in screen dumps. +Note that passwords will still be visible if you call oltpparams with the --human option or if +somebody can log in to your account and your gnome keyring. .SH "UNDOCUMENTED PARAMETERS" There are some extra parameters, that you can set in either your \fBkey.rwl\fR file or using -i or -d on the oltprun command line. diff --git a/oltp/csvdata.rwl b/oltp/csvdata.rwl index 52ca5f10..abd9d2f4 100644 --- a/oltp/csvdata.rwl +++ b/oltp/csvdata.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 17-may-2024 - PGA # bengsig 29-apr-2024 - osstat # bengsig 27-mar-2024 - cstorm by initiated and logged on # bengsig 20-mar-2024 - cstorm @@ -31,7 +32,7 @@ $ampersand:on integer runno := 0, oercount; subdir:="/r" runno/1000 "/"; -file plotfile, plotfil2; +file plotfile, plotfil2, plotfil3; string(1000) oerlist; string(1000) oerheader; @@ -335,10 +336,12 @@ execute at rwloadsim plotfile := null; # generate bcache, sharedp - plotfile := resultsdir subdir runno "/bcache.csv"; - plotfil2 := resultsdir subdir runno "/sharedp.csv"; + plotfile >= resultsdir subdir runno "/bcache.csv"; + plotfil2 >= resultsdir subdir runno "/sharedp.csv"; + plotfil3 >= resultsdir subdir runno "/pga.csv"; writeline plotfile, "#sec i1 i2 i3 i4 i5 i6 i7 i8"; writeline plotfil2, "#sec i1 i2 i3 i4 i5 i6 i7 i8"; + writeline plotfil3, "#sec i1 i2 i3 i4 i5 i6 i7 i8"; string resname; for select resname, second @@ -353,21 +356,25 @@ execute at rwloadsim , nvl(val7,-1e4)/1024 val7 , nvl(val8,-1e4)/1024 val8 from sysres where runnumber = :runno - and resname in ('BCACHE','SHAREDP') + and resname in ('BCACHE','SHAREDP', 'PGA') order by second, resname / loop if resname = "BCACHE" then fprintf plotfile, "%.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f\n" , second, val1, val2, val3, val4, val5, val6, val7, val8; - else + elseif resname = "SHAREDP" then fprintf plotfil2, "%.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f\n" , second, val1, val2, val3, val4, val5, val6, val7, val8; + else + fprintf plotfil3, "%.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f %.3f\n" + , second, val1, val2, val3, val4, val5, val6, val7, val8; end if; end loop; plotfile := null; plotfil2 := null; + plotfil3 := null; double wmean, wmeantot := 0.0; integer wmcount := 0; diff --git a/oltp/oltp.rwl b/oltp/oltp.rwl index 856ff1ad..bc02499c 100644 --- a/oltp/oltp.rwl +++ b/oltp/oltp.rwl @@ -26,6 +26,49 @@ resultsdir:="/NOTSET/home/results/key"; # file. You can also use //host/service style # connect strings. +# The following function can be used to retrieve +# passwords from gnome keyring if available. +# This will prevent passwords from being visible in this +# file. However, anybody who can get access to your +# account and the gnome keyring password can still +# find passwords. It is therefore NOT a secure +# password store. The primary use of this is to be able to +# hide passwords in e.g. Zoom sessions or screen dumps where +# you may want to show the contents of your $RWLOLTP_NAME.rwl +# file. +# Also note, that oltpparams --human will still show the passwords. + +private function keyring_password(string con, string usr) +return string +is + string pwd; + system "secret-tool lookup connect " con " username " usr , pwd; + return pwd; +end; + +# To use it, you first need to enter the password for all required +# combinations of usernames and connect strings, which includes +# all the xxxxx_username and xxxxx_connect variables below. +# Note that the keyring will use the attributes 'connect' and +# 'username' to store the password. To e.g. store the password +# ThisIsSecret for this combination +# +# normal_connect := "sample_tp"; +# rwl_run1_username := "RWLRUN1"; +# +# you need to execute either of these +# +# echo -n ThisIsSecret | secret-tool store --label=rwloadsim connect sample_tp username RWLRUN1 +# secret-tool store --label=rwloadsim connect sample_tp username RWLRUN1 +# +# and if using the latter typing ThisIsSecret at the Password: prompt. +# +# You can then subsequently use the following to set the rwl_run1_password: +# +# rwl_run1_password := keyring_password(rwl_run1_connect, normal_connect); +# +# All these xxxx_password settings are included below as comments. + # Connect string normal, dedicated connections # that will not be using a session pool: normal_connect := "sample_tp"; @@ -71,6 +114,8 @@ batch_connect := "sample_tp"; cruser_connect := "sample_tpurgent"; cruser_username := "system"; cruser_password := "{password}"; +# cruser_password := keyring_password(cruser_connect, cruser_username); + # The default tablespace to be used for all test data default_tablespace := "data"; @@ -82,6 +127,7 @@ default_tablespace := "data"; system_connect := "sample_tp"; system_username := "system"; system_password := "{password}"; +# system_password := keyring_password(system_connect, system_username); # The next three are used for awr snapshots # and reporting. If not set (i.e. set to the empty string) @@ -107,8 +153,6 @@ results_in_test := 1; # Set username, password and connect string for # the RWP*Load Simulator repository # results_username must be upper case -results_username := "RWLOADSIM"; -results_password := "{password}"; if results_in_test then results_connect := "sample_tp"; @@ -118,6 +162,9 @@ if results_in_test then else results_connect := "//server/database"; end if; +results_username := "RWLOADSIM"; +results_password := "{password}"; +# results_password := keyring_password(results_connect, results_username); # There will be five ordinary users created in your # database under test. These are set here. @@ -127,18 +174,24 @@ end if; # tables: rwl_aw1_username := "RWLAW1"; rwl_aw1_password := "{password}"; +# rwl_aw1_password := keyring_password(normal_connect, rwl_aw1_username); rwl_aw2_username := "RWLAW2"; rwl_aw2_password := "{password}"; +# rwl_aw2_password := keyring_password(normal_connect, rwl_aw2_username); # This is the schema containing the OE tables rwl_oe_username := "RWLOE"; rwl_oe_password := "{password}"; +# rwl_oe_password := keyring_password(normal_connect, rwl_oe_username); # And finally two runtime users rwl_run1_username := "RWLRUN1"; rwl_run1_password := "{password}"; +# rwl_run1_password := keyring_password(normal_connect, rwl_run1_username); rwl_run2_username := "RWLRUN2"; rwl_run2_password := "{password}"; +# rwl_run2_password := keyring_password(normal_connect, rwl_run2_username); + # We need to be able to do various queries against # gv$session (and others) with a predicate that # returns our actual sessions. For this, we diff --git a/oltp/runsys.rwl b/oltp/runsys.rwl index 0e9711da..ca1b543c 100644 --- a/oltp/runsys.rwl +++ b/oltp/runsys.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 17-may-2024 - PGA # bengsig 29-apr-2024 - osstat # bengsig 29-sep-2023 - no ashstep if no doawr # bengsig 26-apr-2023 - Make sure ashstep1 is performed @@ -102,11 +103,12 @@ procedure savecaches() nostatistics select inst_id , buffer_cache_bytes/1024/1024 buffer_mb , shared_pool_bytes/1024/1024 shared_mb + , pga_bytes/1024/1024 pga_mb from gv$rsrcpdbmetric ) unpivot (sp_megabytes for pool_name - in (buffer_mb as 'BCACHE', shared_mb as 'SHAREDP') + in (buffer_mb as 'BCACHE', shared_mb as 'SHAREDP', pga_mb as 'PGA') ) ) pivot(sum(sp_megabytes) From dcdd58d1989c1e1fd4f5bf93514730823580a6e4 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 21 May 2024 13:21:35 +0000 Subject: [PATCH 044/118] Memory plot is using logscale --- bin/oltpplot | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/bin/oltpplot b/bin/oltpplot index 5e4ec0ec..d2ce260b 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 21-may-2024 bengsig memory is logscale due to large differences # 17-may-2024 bengsig add PGA # 9-may-2024 bengsig add drop% # 8-may-2024 bengsig global osstat @@ -582,7 +583,7 @@ gnuplot -persist $resultsdir$subdir${runnumber}/pga.plot # buffer cache plot cat >> $resultsdir$subdir${runnumber}/memory.plot < Date: Tue, 21 May 2024 16:11:36 +0000 Subject: [PATCH 045/118] Add check for time difference --- bin/oltpcore | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/oltpcore b/bin/oltpcore index e69a00d8..9693d4bf 100755 --- a/bin/oltpcore +++ b/bin/oltpcore @@ -247,6 +247,7 @@ fi rwloadsim $oltpsetxc -q $extra_args -i simulatebatch:=$simulatebatch -i runperiod:=$runperiod -i proccount:=$procs -i show_changed_values:=1 -x 'string key_to_show := "'$key'";' parameters.rwl > $resultsdir/$subdir/$runnumber/parmatstart.txt # add size of aw_cols and skewness in access rwloadsim -q aw_sizeinfo.rwl >> $resultsdir/$subdir/$runnumber/parmatstart.txt +rwloadsim -q checkepoch.rwl | tee -a $resultsdir/$subdir/$runnumber/parmatstart.txt # Start ping gather and also ask for event notification rwloadsim $extra_args $oltpsetxc $mute59 -u -E -q -R $prepfile -i simulatebatch:=$simulatebatch -i runperiod:=$runperiod runping.rwl & From 7009a273c1447b86c43b90ff70560241cc71ee46 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 21 May 2024 16:14:03 +0000 Subject: [PATCH 046/118] Add checkepoch.rwl --- oltp/checkepoch.rwl | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 oltp/checkepoch.rwl diff --git a/oltp/checkepoch.rwl b/oltp/checkepoch.rwl new file mode 100644 index 00000000..71d0f7a9 --- /dev/null +++ b/oltp/checkepoch.rwl @@ -0,0 +1,40 @@ +# Copyright (c) 2021 Oracle Corporation +# Licensed under the Universal Permissive License v 1.0 +# as shown at https://oss.oracle.com/licenses/upl/ + +# Check the time difference between the client and the database + +# bengsig 21-may-2024 - Creation + +$include:"parameters.rwl" + +database rwl_run1 + username rwl_run1_username + password rwl_run1_password + connect normal_connect + dedicated + default; + +string fulldate, unixstart; +integer secpos; +double oraepoch, clientepoch := epochseconds(); + +select + to_char(sys_extract_utc(systimestamp),'J-SSSSS.FF') fulldate +, to_char(to_date('1970.01.01.00:00:00','YYYY.MM.DD.HH24:MI:SS'),'J') unixstart +from dual +/ + +secpos := instrb(fulldate,"-"); + +oraepoch := 86400.0 * substrb(fulldate,1,secpos-1) + + substrb(fulldate,secpos+1) + - 86400.0*unixstart; + +if oraepoch - clientepoch between -1 and 1 then + printf "datebase and client differ in UTC time by %.2fms\n", (oraepoch - clientepoch)*1000.0; +elseif oraepoch - clientepoch between -10 and 10 then + printf "WARNING: datebase and client differ in UTC time by %.3fs\n", oraepoch - clientepoch; +else + printf "HIGH TIME SHIFT: datebase and client differ in UTC time by %.3fs\n", oraepoch - clientepoch; +end if; From 668a3257b64cad4beb9b2fa18e119ddeeb5e97c0 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 22 May 2024 08:05:51 +0000 Subject: [PATCH 047/118] Split long lines --- bin/oltpplot | 207 ++++++++++++++++++++++++++------------------------- 1 file changed, 104 insertions(+), 103 deletions(-) diff --git a/bin/oltpplot b/bin/oltpplot index d2ce260b..75759bcd 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 22-may-2024 bengsig Split long gnuplot lines # 21-may-2024 bengsig memory is logscale due to large differences # 17-may-2024 bengsig add PGA # 9-may-2024 bengsig add drop% @@ -315,13 +316,13 @@ then set ylabel "db sessions per instance" END imgheight=480 - plotses="'$resultsdir$subdir${runnumber}/instdist.csv' using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y1 title '1', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y1 title '2', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y1 title '3', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y1 title '4', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y1 title '5', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y1 title '6', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title '7', \ + plotses="'$resultsdir$subdir${runnumber}/instdist.csv' using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y1 title '1', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y1 title '2', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y1 title '3', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y1 title '4', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y1 title '5', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y1 title '6', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title '7', \\ '$resultsdir$subdir${runnumber}/instdist.csv' using 1:9 with lines lw $lw lc rgb 'skyblue' axes x1y1 title '8'" else if test $sessimplified = no @@ -365,26 +366,26 @@ END fi if test $sessimplified = yes then - plotses="'$resultsdir$subdir${runnumber}/instdist.csv' using 1:(\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9) with lines lw $lw lc rgb 'black' axes x1y1 title 'database' , \ - $proccount*$rwl_min_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \ - $proccount*$rwl_max_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \ - '$resultsdir$subdir${runnumber}/cli.csv' using 1:(\$6+\$7) with lines lw $lw lc rgb 'web-blue' axes x1y1 title 'total' , \ - '$resultsdir$subdir${runnumber}/cli.csv' using 1:6 with lines lw $lw lc rgb 'dark-green' axes x1y1 title 'open' , \ + plotses="'$resultsdir$subdir${runnumber}/instdist.csv' using 1:(\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9) with lines lw $lw lc rgb 'black' axes x1y1 title 'database' , \\ + $proccount*$rwl_min_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \\ + $proccount*$rwl_max_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \\ + '$resultsdir$subdir${runnumber}/cli.csv' using 1:(\$6+\$7) with lines lw $lw lc rgb 'web-blue' axes x1y1 title 'total' , \\ + '$resultsdir$subdir${runnumber}/cli.csv' using 1:6 with lines lw $lw lc rgb 'dark-green' axes x1y1 title 'open' , \\ '$resultsdir$subdir${runnumber}/cli.csv' using 1:4 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title 'active' " else - plotses="'$resultsdir$subdir${runnumber}/instdist.csv' using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y2 title '1', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y2 title '2', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y2 title '3', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y2 title '4', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y2 title '5', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y2 title '6', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y2 title '7', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:9 with lines lw $lw lc rgb 'skyblue' axes x1y2 title '8', \ - '$resultsdir$subdir${runnumber}/instdist.csv' using 1:(\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9) with lines lw $lw lc rgb 'black' axes x1y1 title 'd' , \ - $proccount*$rwl_min_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \ - $proccount*$rwl_max_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \ - '$resultsdir$subdir${runnumber}/cli.csv' using 1:(\$6+\$7) with lines lw $lw lc rgb 'web-blue' axes x1y1 title 't' , \ - '$resultsdir$subdir${runnumber}/cli.csv' using 1:6 with lines lw $lw lc rgb 'grey70' axes x1y1 title 'o' , \ + plotses="'$resultsdir$subdir${runnumber}/instdist.csv' using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y2 title '1', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y2 title '2', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y2 title '3', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y2 title '4', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y2 title '5', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y2 title '6', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y2 title '7', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:9 with lines lw $lw lc rgb 'skyblue' axes x1y2 title '8', \\ + '$resultsdir$subdir${runnumber}/instdist.csv' using 1:(\$2+\$3+\$4+\$5+\$6+\$7+\$8+\$9) with lines lw $lw lc rgb 'black' axes x1y1 title 'd' , \\ + $proccount*$rwl_min_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \\ + $proccount*$rwl_max_pool with lines lw $lw lc rgb 'grey90' axes x1y1 notitle, \\ + '$resultsdir$subdir${runnumber}/cli.csv' using 1:(\$6+\$7) with lines lw $lw lc rgb 'web-blue' axes x1y1 title 't' , \\ + '$resultsdir$subdir${runnumber}/cli.csv' using 1:6 with lines lw $lw lc rgb 'grey70' axes x1y1 title 'o' , \\ '$resultsdir$subdir${runnumber}/cli.csv' using 1:4 with lines lw $lw lc rgb 'grey50' axes x1y1 title 'a' " fi @@ -450,13 +451,13 @@ set pointsize 0.01 set terminal png set output "$awrdirectory$subdir$runnumber/${runnumber}_hist.png" -plot "$resultsdir$subdir${runnumber}/hist.csv" using 1:2:(\$1/2):(\$1) with xerrorbars lw $lw axes x1y1 title "makeorder", \ - "$resultsdir$subdir${runnumber}/hist.csv" using 1:9:(\$1/2):(\$1) with xerrorbars lw $lw axes x1y1 title "queryorder", \ - "$resultsdir$subdir${runnumber}/hist.csv" using 1:3:(\$1/2):(\$1) with xerrorbars lw $lw axes x1y1 title "shiporder", \ - "$resultsdir$subdir${runnumber}/hist.csv" using 1:4:(\$1/2):(\$1) with xerrorbars lw $lw axes x1y1 title "makeinvoices", \ - "$resultsdir$subdir${runnumber}/hist.csv" using 1:6:(\$1/2):(\$1) with xerrorbars lw $lw lc rgb "grey" axes x1y1 title "complex_query", \ - "$resultsdir$subdir${runnumber}/hist.csv" using 1:5:(\$1/2):(\$1) with xerrorbars lw $lw lc rgb "brown" axes x1y1 title "searchproducts", \ - "$resultsdir$subdir${runnumber}/hist.csv" using 1:7:(\$1/2):(\$1) with xerrorbars lw $lw axes x1y1 title "stockup", \ +plot "$resultsdir$subdir${runnumber}/hist.csv" using 1:2:(\$1/2):(\$1) with xerrorbars lw $lw axes x1y1 title "makeorder", \\ + "$resultsdir$subdir${runnumber}/hist.csv" using 1:9:(\$1/2):(\$1) with xerrorbars lw $lw axes x1y1 title "queryorder", \\ + "$resultsdir$subdir${runnumber}/hist.csv" using 1:3:(\$1/2):(\$1) with xerrorbars lw $lw axes x1y1 title "shiporder", \\ + "$resultsdir$subdir${runnumber}/hist.csv" using 1:4:(\$1/2):(\$1) with xerrorbars lw $lw axes x1y1 title "makeinvoices", \\ + "$resultsdir$subdir${runnumber}/hist.csv" using 1:6:(\$1/2):(\$1) with xerrorbars lw $lw lc rgb "grey" axes x1y1 title "complex_query", \\ + "$resultsdir$subdir${runnumber}/hist.csv" using 1:5:(\$1/2):(\$1) with xerrorbars lw $lw lc rgb "brown" axes x1y1 title "searchproducts", \\ + "$resultsdir$subdir${runnumber}/hist.csv" using 1:7:(\$1/2):(\$1) with xerrorbars lw $lw axes x1y1 title "stockup", \\ "$resultsdir$subdir${runnumber}/hist.csv" using 1:8:(\$1/2):(\$1) with xerrorbars lw $lw axes x1y1 title "aw_transaction" set terminal svg $svgmouse $dynamic @@ -483,11 +484,11 @@ set pointsize 0.01 set terminal png set output "$awrdirectory$subdir$runnumber/${runnumber}_fractiles.png" -plot "$resultsdir$subdir${runnumber}/fractiles.csv" using 6:xtic(1) with boxes title ' 99%' lc rgb 'red' \ -, "$resultsdir$subdir${runnumber}/fractiles.csv" using 5:xtic(1) with boxes title ' 98%' lc rgb 'blue' \ -, "$resultsdir$subdir${runnumber}/fractiles.csv" using 4:xtic(1) with boxes title ' 95%' lc rgb 'web-blue' \ -, "$resultsdir$subdir${runnumber}/fractiles.csv" using 3:xtic(1) with boxes title ' 90%' lc rgb 'light-blue' \ -, "$resultsdir$subdir${runnumber}/fractiles.csv" using 2:xtic(1) with boxes title ' 50%' lc rgb 'pink' \ +plot "$resultsdir$subdir${runnumber}/fractiles.csv" using 6:xtic(1) with boxes title ' 99%' lc rgb 'red' \\ +, "$resultsdir$subdir${runnumber}/fractiles.csv" using 5:xtic(1) with boxes title ' 98%' lc rgb 'blue' \\ +, "$resultsdir$subdir${runnumber}/fractiles.csv" using 4:xtic(1) with boxes title ' 95%' lc rgb 'web-blue' \\ +, "$resultsdir$subdir${runnumber}/fractiles.csv" using 3:xtic(1) with boxes title ' 90%' lc rgb 'light-blue' \\ +, "$resultsdir$subdir${runnumber}/fractiles.csv" using 2:xtic(1) with boxes title ' 50%' lc rgb 'pink' \\ , "$resultsdir$subdir${runnumber}/fractiles.csv" using 7:xtic(1) with impulses title ' avgw' lw 7 lc rgb 'light-green' set terminal svg $svgmouse $dynamic @@ -509,13 +510,13 @@ set xlabel "$xlabel" set terminal png size imgwidth,480 set output "$awrdirectory$subdir$runnumber/${runnumber}_bcache.png" -plot "$resultsdir$subdir${runnumber}/bcache.csv" using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y1 title "1", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y1 title "2", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y1 title "3", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y1 title "4", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y1 title "5", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y1 title "6", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title "7", \ +plot "$resultsdir$subdir${runnumber}/bcache.csv" using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y1 title "1", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y1 title "2", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y1 title "3", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y1 title "4", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y1 title "5", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y1 title "6", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title "7", \\ "$resultsdir$subdir${runnumber}/bcache.csv" using 1:9 with lines lw $lw lc rgb 'skyblue' axes x1y1 title "8" set terminal svg $svgmouse size imgwidth,480 $dynamic @@ -537,13 +538,13 @@ set xlabel "$xlabel" set terminal png size imgwidth,480 set output "$awrdirectory$subdir$runnumber/${runnumber}_sharedp.png" -plot "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y1 title "1", \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y1 title "2", \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y1 title "3", \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y1 title "4", \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y1 title "5", \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y1 title "6", \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title "7", \ +plot "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y1 title "1", \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y1 title "2", \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y1 title "3", \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y1 title "4", \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y1 title "5", \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y1 title "6", \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title "7", \\ "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:9 with lines lw $lw lc rgb 'skyblue' axes x1y1 title "8" set terminal svg $svgmouse size imgwidth,480 $dynamic @@ -565,13 +566,13 @@ set xlabel "$xlabel" set terminal png size imgwidth,480 set output "$awrdirectory$subdir$runnumber/${runnumber}_pga.png" -plot "$resultsdir$subdir${runnumber}/pga.csv" using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y1 title "1", \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y1 title "2", \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y1 title "3", \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y1 title "4", \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y1 title "5", \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y1 title "6", \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title "7", \ +plot "$resultsdir$subdir${runnumber}/pga.csv" using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y1 title "1", \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y1 title "2", \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y1 title "3", \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y1 title "4", \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y1 title "5", \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y1 title "6", \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title "7", \\ "$resultsdir$subdir${runnumber}/pga.csv" using 1:9 with lines lw $lw lc rgb 'skyblue' axes x1y1 title "8" set terminal svg $svgmouse size imgwidth,480 $dynamic @@ -592,30 +593,30 @@ set xlabel "$xlabel" set terminal png size imgwidth,480 set output "$awrdirectory$subdir$runnumber/${runnumber}_memory.png" -plot "$resultsdir$subdir${runnumber}/bcache.csv" using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y1 title "bc 1", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y1 title "2", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y1 title "3", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y1 title "4", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y1 title "5", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y1 title "6", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title "7", \ - "$resultsdir$subdir${runnumber}/bcache.csv" using 1:9 with lines lw $lw lc rgb 'skyblue' axes x1y1 title "8", \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:2 with linespoints pt 4 lw $lw ps 0.5 lc rgb 'magenta' axes x1y1 title "sp 1", \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:3 with linespoints pt 4 lw $lw lc rgb 'dark-red' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:4 with linespoints pt 4 lw $lw lc rgb 'dark-green' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:5 with linespoints pt 4 lw $lw lc rgb 'light-salmon' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:6 with linespoints pt 4 lw $lw lc rgb 'dark-yellow' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:7 with linespoints pt 4 lw $lw lc rgb 'light-green' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:8 with linespoints pt 4 lw $lw lc rgb 'dark-orange' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:9 with linespoints pt 4 lw $lw lc rgb 'skyblue' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:2 with linespoints pt 3 lw $lw ps 0.5 lc rgb 'magenta' axes x1y1 title "pga 1", \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:3 with linespoints pt 3 lw $lw lc rgb 'dark-red' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:4 with linespoints pt 3 lw $lw lc rgb 'dark-green' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:5 with linespoints pt 3 lw $lw lc rgb 'light-salmon' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:6 with linespoints pt 3 lw $lw lc rgb 'dark-yellow' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:7 with linespoints pt 3 lw $lw lc rgb 'light-green' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:8 with linespoints pt 3 lw $lw lc rgb 'dark-orange' axes x1y1 notitle, \ - "$resultsdir$subdir${runnumber}/pga.csv" using 1:9 with linespoints pt 3 lw $lw lc rgb 'skyblue' axes x1y1 notitle +plot "$resultsdir$subdir${runnumber}/bcache.csv" using 1:2 with lines lw $lw lc rgb 'magenta' axes x1y1 title "bc 1", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:3 with lines lw $lw lc rgb 'dark-red' axes x1y1 title "2", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:4 with lines lw $lw lc rgb 'dark-green' axes x1y1 title "3", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:5 with lines lw $lw lc rgb 'light-salmon' axes x1y1 title "4", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:6 with lines lw $lw lc rgb 'dark-yellow' axes x1y1 title "5", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:7 with lines lw $lw lc rgb 'light-green' axes x1y1 title "6", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:8 with lines lw $lw lc rgb 'dark-orange' axes x1y1 title "7", \\ + "$resultsdir$subdir${runnumber}/bcache.csv" using 1:9 with lines lw $lw lc rgb 'skyblue' axes x1y1 title "8", \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:2 with linespoints pt 4 lw $lw ps 0.5 lc rgb 'magenta' axes x1y1 title "sp 1", \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:3 with linespoints pt 4 lw $lw ps 0.5 lc rgb 'dark-red' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:4 with linespoints pt 4 lw $lw ps 0.5 lc rgb 'dark-green' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:5 with linespoints pt 4 lw $lw ps 0.5 lc rgb 'light-salmon' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:6 with linespoints pt 4 lw $lw ps 0.5 lc rgb 'dark-yellow' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:7 with linespoints pt 4 lw $lw ps 0.5 lc rgb 'light-green' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:8 with linespoints pt 4 lw $lw ps 0.5 lc rgb 'dark-orange' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/sharedp.csv" using 1:9 with linespoints pt 4 lw $lw ps 0.5 lc rgb 'skyblue' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:2 with linespoints pt 3 lw $lw ps 0.5 lc rgb 'magenta' axes x1y1 title "pga 1", \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:3 with linespoints pt 3 lw $lw ps 0.5 lc rgb 'dark-red' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:4 with linespoints pt 3 lw $lw ps 0.5 lc rgb 'dark-green' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:5 with linespoints pt 3 lw $lw ps 0.5 lc rgb 'light-salmon' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:6 with linespoints pt 3 lw $lw ps 0.5 lc rgb 'dark-yellow' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:7 with linespoints pt 3 lw $lw ps 0.5 lc rgb 'light-green' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:8 with linespoints pt 3 lw $lw ps 0.5 lc rgb 'dark-orange' axes x1y1 notitle, \\ + "$resultsdir$subdir${runnumber}/pga.csv" using 1:9 with linespoints pt 3 lw $lw ps 0.5 lc rgb 'skyblue' axes x1y1 notitle set terminal svg $svgmouse size imgwidth,480 $dynamic set output "$awrdirectory$subdir$runnumber/${runnumber}_memory.svg" @@ -638,14 +639,14 @@ set y2label "throughput (2)" set terminal png size imgwidth,480 set output "$awrdirectory$subdir$runnumber/${runnumber}_tp.png" -plot "$resultsdir$subdir${runnumber}/tps.csv" using 1:3 with lines lw $lw lc rgb "red" axes x1y1 title "makeorder", \ - "$resultsdir$subdir${runnumber}/tps.csv" using 1:10 with lines lw $lw lc rgb "green" axes x1y1 title "queryorder", \ - "$resultsdir$subdir${runnumber}/tps.csv" using 1:9 with lines lw $lw lc rgb "salmon" axes x1y1 title "aw_transaction", \ - "$resultsdir$subdir${runnumber}/tps.csv" using 1:11 with lines lw $lw lc rgb "dark-green" axes x1y1 title "awindex_query", \ - "$resultsdir$subdir${runnumber}/tps.csv" using 1:6 with lines lw $lw lc rgb "blue" axes x1y2 title "searchproducts (2)", \ - "$resultsdir$subdir${runnumber}/tps.csv" using 1:5 with lines lw $lw lc rgb "orange" axes x1y2 title "makeinvoices (2)", \ - "$resultsdir$subdir${runnumber}/tps.csv" using 1:7 with lines lw $lw lc rgb "cyan" axes x1y2 title "complex_query (2)", \ - "$resultsdir$subdir${runnumber}/tps.csv" using 1:4 with lines lw $lw lc rgb "light-blue" axes x1y2 title "shiporder (2)", \ +plot "$resultsdir$subdir${runnumber}/tps.csv" using 1:3 with lines lw $lw lc rgb "red" axes x1y1 title "makeorder", \\ + "$resultsdir$subdir${runnumber}/tps.csv" using 1:10 with lines lw $lw lc rgb "green" axes x1y1 title "queryorder", \\ + "$resultsdir$subdir${runnumber}/tps.csv" using 1:9 with lines lw $lw lc rgb "salmon" axes x1y1 title "aw_transaction", \\ + "$resultsdir$subdir${runnumber}/tps.csv" using 1:11 with lines lw $lw lc rgb "dark-green" axes x1y1 title "awindex_query", \\ + "$resultsdir$subdir${runnumber}/tps.csv" using 1:6 with lines lw $lw lc rgb "blue" axes x1y2 title "searchproducts (2)", \\ + "$resultsdir$subdir${runnumber}/tps.csv" using 1:5 with lines lw $lw lc rgb "orange" axes x1y2 title "makeinvoices (2)", \\ + "$resultsdir$subdir${runnumber}/tps.csv" using 1:7 with lines lw $lw lc rgb "cyan" axes x1y2 title "complex_query (2)", \\ + "$resultsdir$subdir${runnumber}/tps.csv" using 1:4 with lines lw $lw lc rgb "light-blue" axes x1y2 title "shiporder (2)", \\ "$resultsdir$subdir${runnumber}/tps.csv" using 1:8 with lines lw $lw lc rgb "purple" axes x1y2 title "stockup (2)" @@ -686,19 +687,19 @@ END then cat >> $resultsdir$subdir${runnumber}/${vname}_waitexec.plot <> $resultsdir$subdir${runnumber}/${vname}_waitexec.plot <> $resultsdir$subdir$runnumber/res.plot <> $resultsdir$subdir${runnumber}/ping.plot < Date: Wed, 22 May 2024 15:41:24 +0000 Subject: [PATCH 048/118] Lob trim before write --- src/lex.rwly.c | 715 +++++++++++++++++++++++++------------------------ src/rwlsql.c | 18 +- 2 files changed, 368 insertions(+), 365 deletions(-) diff --git a/src/lex.rwly.c b/src/lex.rwly.c index aa45ce0a..271654f6 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -1860,6 +1860,7 @@ static yyconst flex_int16_t yy_chk[3510] = * * History * + * bengsig 10-may-2023 - $musymbolfromstring directive * bengsig 17-apr-2024 - -= * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 15-mar-2024 - $connecterror:accept @@ -1955,7 +1956,7 @@ static yyconst flex_int16_t yy_chk[3510] = * bengsig 06-feb-2018 - added ociping * bengsig 10-feb-2017 - creation */ -#line 111 "rwllexer.l" +#line 112 "rwllexer.l" #include "rwl.h" #include "rwlparser.tab.h" @@ -1968,7 +1969,7 @@ static yyconst flex_int16_t yy_chk[3510] = rwm->rwlytext = (text *)yytext; \ } -#line 1972 "lex.rwly.c" +#line 1973 "lex.rwly.c" #define INITIAL 0 @@ -2241,7 +2242,7 @@ YY_DECL } { -#line 129 "rwllexer.l" +#line 130 "rwllexer.l" @@ -2253,7 +2254,7 @@ YY_DECL /* **************************************************************** */ /*LEXTAG:RWL_T_SQL_TEXT*/ -#line 2257 "lex.rwly.c" +#line 2258 "lex.rwly.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2312,128 +2313,128 @@ YY_DECL case 1: /* rule 1 can match eol */ -#line 141 "rwllexer.l" +#line 142 "rwllexer.l" case 2: /* rule 2 can match eol */ -#line 142 "rwllexer.l" +#line 143 "rwllexer.l" case 3: /* rule 3 can match eol */ -#line 143 "rwllexer.l" +#line 144 "rwllexer.l" case 4: /* rule 4 can match eol */ -#line 144 "rwllexer.l" +#line 145 "rwllexer.l" case 5: /* rule 5 can match eol */ -#line 145 "rwllexer.l" +#line 146 "rwllexer.l" case 6: /* rule 6 can match eol */ -#line 146 "rwllexer.l" +#line 147 "rwllexer.l" case 7: /* rule 7 can match eol */ -#line 147 "rwllexer.l" +#line 148 "rwllexer.l" case 8: /* rule 8 can match eol */ -#line 148 "rwllexer.l" +#line 149 "rwllexer.l" case 9: /* rule 9 can match eol */ -#line 149 "rwllexer.l" +#line 150 "rwllexer.l" case 10: /* rule 10 can match eol */ -#line 150 "rwllexer.l" +#line 151 "rwllexer.l" case 11: /* rule 11 can match eol */ -#line 151 "rwllexer.l" +#line 152 "rwllexer.l" case 12: /* rule 12 can match eol */ -#line 152 "rwllexer.l" +#line 153 "rwllexer.l" case 13: /* rule 13 can match eol */ -#line 153 "rwllexer.l" +#line 154 "rwllexer.l" case 14: /* rule 14 can match eol */ -#line 154 "rwllexer.l" +#line 155 "rwllexer.l" case 15: /* rule 15 can match eol */ -#line 155 "rwllexer.l" +#line 156 "rwllexer.l" case 16: /* rule 16 can match eol */ -#line 156 "rwllexer.l" +#line 157 "rwllexer.l" case 17: /* rule 17 can match eol */ -#line 157 "rwllexer.l" +#line 158 "rwllexer.l" case 18: /* rule 18 can match eol */ -#line 158 "rwllexer.l" +#line 159 "rwllexer.l" case 19: /* rule 19 can match eol */ -#line 159 "rwllexer.l" +#line 160 "rwllexer.l" case 20: /* rule 20 can match eol */ -#line 160 "rwllexer.l" +#line 161 "rwllexer.l" case 21: /* rule 21 can match eol */ -#line 161 "rwllexer.l" +#line 162 "rwllexer.l" case 22: /* rule 22 can match eol */ -#line 162 "rwllexer.l" +#line 163 "rwllexer.l" case 23: /* rule 23 can match eol */ -#line 163 "rwllexer.l" +#line 164 "rwllexer.l" case 24: /* rule 24 can match eol */ -#line 164 "rwllexer.l" +#line 165 "rwllexer.l" case 25: /* rule 25 can match eol */ -#line 165 "rwllexer.l" +#line 166 "rwllexer.l" case 26: /* rule 26 can match eol */ -#line 166 "rwllexer.l" +#line 167 "rwllexer.l" case 27: /* rule 27 can match eol */ -#line 167 "rwllexer.l" +#line 168 "rwllexer.l" case 28: /* rule 28 can match eol */ -#line 168 "rwllexer.l" +#line 169 "rwllexer.l" case 29: /* rule 29 can match eol */ -#line 169 "rwllexer.l" +#line 170 "rwllexer.l" case 30: /* rule 30 can match eol */ -#line 170 "rwllexer.l" +#line 171 "rwllexer.l" case 31: /* rule 31 can match eol */ -#line 171 "rwllexer.l" +#line 172 "rwllexer.l" case 32: /* rule 32 can match eol */ -#line 172 "rwllexer.l" +#line 173 "rwllexer.l" case 33: /* rule 33 can match eol */ -#line 173 "rwllexer.l" +#line 174 "rwllexer.l" case 34: /* rule 34 can match eol */ -#line 174 "rwllexer.l" +#line 175 "rwllexer.l" case 35: /* rule 35 can match eol */ -#line 175 "rwllexer.l" +#line 176 "rwllexer.l" case 36: /* rule 36 can match eol */ -#line 176 "rwllexer.l" +#line 177 "rwllexer.l" case 37: /* rule 37 can match eol */ -#line 177 "rwllexer.l" +#line 178 "rwllexer.l" case 38: /* rule 38 can match eol */ -#line 178 "rwllexer.l" +#line 179 "rwllexer.l" case 39: /* rule 39 can match eol */ -#line 179 "rwllexer.l" +#line 180 "rwllexer.l" case 40: /* rule 40 can match eol */ -#line 180 "rwllexer.l" +#line 181 "rwllexer.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP -#line 180 "rwllexer.l" +#line 181 "rwllexer.l" { /* we match anything that can initiate SQL or PL/SQL. @@ -2452,7 +2453,7 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 196 "rwllexer.l" +#line 197 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -2462,7 +2463,7 @@ YY_RULE_SETUP case 43: /* rule 43 can match eol */ YY_RULE_SETUP -#line 202 "rwllexer.l" +#line 203 "rwllexer.l" { // Note that this flex input means that the input // consist of any number of either of the following // any character @@ -2479,12 +2480,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_T_DOUBLE_CONST*/ case 44: -#line 218 "rwllexer.l" -case 45: #line 219 "rwllexer.l" +case 45: +#line 220 "rwllexer.l" case 46: YY_RULE_SETUP -#line 219 "rwllexer.l" +#line 220 "rwllexer.l" { /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -2495,7 +2496,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_INTEGER_CONST*/ case 47: YY_RULE_SETUP -#line 228 "rwllexer.l" +#line 229 "rwllexer.l" { /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -2505,7 +2506,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 235 "rwllexer.l" +#line 236 "rwllexer.l" { /* make .. be a token even after an integer so that 1..10 is scanned as 1 .. 10 and not as 1. . 10 @@ -2520,43 +2521,43 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FUNCTION*/ case 49: YY_RULE_SETUP -#line 249 "rwllexer.l" +#line 250 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FUNCTION; } YY_BREAK /*LEXTAG:RWL_T_RETURN*/ case 50: YY_RULE_SETUP -#line 251 "rwllexer.l" +#line 252 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_RETURN; } YY_BREAK /*LEXTAG:RWL_T_EXIT*/ case 51: YY_RULE_SETUP -#line 253 "rwllexer.l" +#line 254 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_EXIT; } YY_BREAK /*LEXTAG:RWL_T_READLOB*/ case 52: YY_RULE_SETUP -#line 255 "rwllexer.l" +#line 256 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_READLOB; } YY_BREAK /*LEXTAG:RWL_T_WRITELOB*/ case 53: YY_RULE_SETUP -#line 257 "rwllexer.l" +#line 258 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_WRITELOB; } YY_BREAK /*LEXTAG:RWL_T_CLOB*/ case 54: YY_RULE_SETUP -#line 259 "rwllexer.l" +#line 260 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_CLOB; } YY_BREAK /*LEXTAG:RWL_T_BLOB*/ case 55: YY_RULE_SETUP -#line 261 "rwllexer.l" +#line 262 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_BLOB; } @@ -2567,7 +2568,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RAW*/ case 56: YY_RULE_SETUP -#line 268 "rwllexer.l" +#line 269 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_RAW; } @@ -2578,7 +2579,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_NCLOB*/ case 57: YY_RULE_SETUP -#line 275 "rwllexer.l" +#line 276 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_NCLOB; @@ -2587,7 +2588,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PUBLIC*/ case 58: YY_RULE_SETUP -#line 280 "rwllexer.l" +#line 281 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_PUBLIC; @@ -2596,7 +2597,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATE*/ case 59: YY_RULE_SETUP -#line 285 "rwllexer.l" +#line 286 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DATE; @@ -2605,7 +2606,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BREAK*/ case 60: YY_RULE_SETUP -#line 290 "rwllexer.l" +#line 291 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_BREAK; } @@ -2613,7 +2614,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_UNSIGNED*/ case 61: YY_RULE_SETUP -#line 294 "rwllexer.l" +#line 295 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_UNSIGNED; @@ -2622,7 +2623,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_HEXADECIMAL*/ case 62: YY_RULE_SETUP -#line 299 "rwllexer.l" +#line 300 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_HEXADECIMAL; @@ -2631,7 +2632,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCTAL*/ case 63: YY_RULE_SETUP -#line 304 "rwllexer.l" +#line 305 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_OCTAL; @@ -2640,7 +2641,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LOBPREFETCH*/ case 64: YY_RULE_SETUP -#line 309 "rwllexer.l" +#line 310 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_LOBPREFETCH; @@ -2649,7 +2650,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PRINTF*/ case 65: YY_RULE_SETUP -#line 314 "rwllexer.l" +#line 315 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_PRINTF; } @@ -2657,7 +2658,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SPRINTF*/ case 66: YY_RULE_SETUP -#line 318 "rwllexer.l" +#line 319 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SPRINTF; } @@ -2665,7 +2666,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FPRINTF*/ case 67: YY_RULE_SETUP -#line 322 "rwllexer.l" +#line 323 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FPRINTF; } @@ -2673,7 +2674,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ENCODE*/ case 68: YY_RULE_SETUP -#line 326 "rwllexer.l" +#line 327 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_ENCODE; @@ -2682,7 +2683,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DECODE*/ case 69: YY_RULE_SETUP -#line 331 "rwllexer.l" +#line 332 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DECODE; @@ -2691,7 +2692,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LEAK*/ case 70: YY_RULE_SETUP -#line 336 "rwllexer.l" +#line 337 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_LEAK; } @@ -2699,19 +2700,19 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ABORT*/ case 71: YY_RULE_SETUP -#line 340 "rwllexer.l" +#line 341 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ABORT; YY_BREAK /*LEXTAG:RWL_T_MODIFY*/ case 72: YY_RULE_SETUP -#line 342 "rwllexer.l" +#line 343 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_MODIFY; YY_BREAK /*LEXTAG:RWL_T_SQL*/ case 73: YY_RULE_SETUP -#line 344 "rwllexer.l" +#line 345 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SQL; } @@ -2719,25 +2720,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IGNOREERROR*/ case 74: YY_RULE_SETUP -#line 348 "rwllexer.l" +#line 349 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IGNOREERROR; YY_BREAK /*LEXTAG:RWL_T_CURSORCACHE*/ case 75: YY_RULE_SETUP -#line 350 "rwllexer.l" +#line 351 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_NOCURSORCACHE*/ case 76: YY_RULE_SETUP -#line 352 "rwllexer.l" +#line 353 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOCURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_CONNECT*/ case 77: YY_RULE_SETUP -#line 354 "rwllexer.l" +#line 355 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2747,7 +2748,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_USERNAME*/ case 78: YY_RULE_SETUP -#line 360 "rwllexer.l" +#line 361 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2757,7 +2758,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PASSWORD*/ case 79: YY_RULE_SETUP -#line 366 "rwllexer.l" +#line 367 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2767,7 +2768,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATABASE*/ case 80: YY_RULE_SETUP -#line 372 "rwllexer.l" +#line 373 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2777,25 +2778,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_REQUESTMARK*/ case 81: YY_RULE_SETUP -#line 378 "rwllexer.l" +#line 379 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REQUESTMARK; YY_BREAK /*LEXTAG:RWL_T_STATEMARK*/ case 82: YY_RULE_SETUP -#line 380 "rwllexer.l" +#line 381 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATEMARK; YY_BREAK /*LEXTAG:RWL_T_RELEASE*/ case 83: YY_RULE_SETUP -#line 382 "rwllexer.l" +#line 383 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RELEASE; YY_BREAK /*LEXTAG:RWL_T_SHARDKEY*/ case 84: YY_RULE_SETUP -#line 384 "rwllexer.l" +#line 385 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_SHARDKEY; @@ -2804,67 +2805,67 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCIPING*/ case 85: YY_RULE_SETUP -#line 389 "rwllexer.l" +#line 390 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCIPING; YY_BREAK /*LEXTAG:RWL_T_COMMIT*/ case 86: YY_RULE_SETUP -#line 391 "rwllexer.l" +#line 392 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COMMIT; YY_BREAK /*LEXTAG:RWL_T_ROLLBACK*/ case 87: YY_RULE_SETUP -#line 393 "rwllexer.l" +#line 394 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROLLBACK; YY_BREAK /*LEXTAG:RWL_T_DEFAULT*/ case 88: YY_RULE_SETUP -#line 395 "rwllexer.l" +#line 396 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFAULT; YY_BREAK /*LEXTAG:RWL_T_AT*/ case 89: YY_RULE_SETUP -#line 397 "rwllexer.l" +#line 398 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AT; YY_BREAK /*LEXTAG:RWL_T_RESULTS*/ case 90: YY_RULE_SETUP -#line 399 "rwllexer.l" +#line 400 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RESULTS; YY_BREAK /*LEXTAG:RWL_T_PROCEDURE*/ case 91: YY_RULE_SETUP -#line 401 "rwllexer.l" +#line 402 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PROCEDURE; YY_BREAK /*LEXTAG:RWL_T_THREADS*/ case 92: YY_RULE_SETUP -#line 403 "rwllexer.l" +#line 404 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THREADS; YY_BREAK /*LEXTAG:RWL_T_GLOBAL*/ case 93: YY_RULE_SETUP -#line 405 "rwllexer.l" +#line 406 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GLOBAL; YY_BREAK /*LEXTAG:RWL_T_PRIVATE*/ case 94: YY_RULE_SETUP -#line 407 "rwllexer.l" +#line 408 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRIVATE; YY_BREAK /*LEXTAG:RWL_T_RUN*/ case 95: YY_RULE_SETUP -#line 409 "rwllexer.l" +#line 410 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -2874,167 +2875,167 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BIND*/ case 96: YY_RULE_SETUP -#line 415 "rwllexer.l" +#line 416 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BIND; YY_BREAK /*LEXTAG:RWL_T_BINDOUT*/ case 97: YY_RULE_SETUP -#line 417 "rwllexer.l" +#line 418 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BINDOUT; YY_BREAK /*LEXTAG:RWL_T_DEFINE*/ case 98: YY_RULE_SETUP -#line 419 "rwllexer.l" +#line 420 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFINE; YY_BREAK /*LEXTAG:RWL_T_START*/ case 99: YY_RULE_SETUP -#line 421 "rwllexer.l" +#line 422 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_START; YY_BREAK /*LEXTAG:RWL_T_COUNT*/ case 100: YY_RULE_SETUP -#line 423 "rwllexer.l" +#line 424 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COUNT; YY_BREAK /*LEXTAG:RWL_T_STOP*/ case 101: YY_RULE_SETUP -#line 425 "rwllexer.l" +#line 426 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STOP; YY_BREAK /*LEXTAG:RWL_T_END*/ case 102: YY_RULE_SETUP -#line 427 "rwllexer.l" +#line 428 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_END; YY_BREAK /*LEXTAG:RWL_T_SESSIONPOOL*/ case 103: YY_RULE_SETUP -#line 429 "rwllexer.l" +#line 430 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SESSIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONPOOL*/ case 104: YY_RULE_SETUP -#line 431 "rwllexer.l" +#line 432 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONCLASS*/ case 105: YY_RULE_SETUP -#line 433 "rwllexer.l" +#line 434 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONCLASS; YY_BREAK /*LEXTAG:RWL_T_DRCP*/ case 106: YY_RULE_SETUP -#line 435 "rwllexer.l" +#line 436 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DRCP; YY_BREAK /*LEXTAG:RWL_T_DEDICATED*/ case 107: YY_RULE_SETUP -#line 437 "rwllexer.l" +#line 438 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEDICATED; YY_BREAK /*LEXTAG:RWL_T_RECONNECT*/ case 108: YY_RULE_SETUP -#line 439 "rwllexer.l" +#line 440 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RECONNECT; YY_BREAK /*LEXTAG:RWL_T_UNIFORM*/ case 109: YY_RULE_SETUP -#line 441 "rwllexer.l" +#line 442 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_UNIFORM; YY_BREAK /*LEXTAG:RWL_T_NORMALRANDOM*/ case 110: YY_RULE_SETUP -#line 443 "rwllexer.l" +#line 444 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NORMALRANDOM; YY_BREAK /*LEXTAG:RWL_T_LOG*/ case 111: YY_RULE_SETUP -#line 445 "rwllexer.l" +#line 446 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LOG; YY_BREAK /*LEXTAG:RWL_T_EXP*/ case 112: YY_RULE_SETUP -#line 447 "rwllexer.l" +#line 448 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EXP; YY_BREAK /*LEXTAG:RWL_T_CEIL*/ case 113: YY_RULE_SETUP -#line 449 "rwllexer.l" +#line 450 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CEIL; YY_BREAK /*LEXTAG:RWL_T_TRUNC*/ case 114: YY_RULE_SETUP -#line 451 "rwllexer.l" +#line 452 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_TRUNC; YY_BREAK /*LEXTAG:RWL_T_FLOOR*/ case 115: YY_RULE_SETUP -#line 453 "rwllexer.l" +#line 454 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FLOOR; YY_BREAK /*LEXTAG:RWL_T_ROUND*/ case 116: YY_RULE_SETUP -#line 455 "rwllexer.l" +#line 456 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROUND; YY_BREAK /*LEXTAG:RWL_T_STATISTICS*/ case 117: YY_RULE_SETUP -#line 457 "rwllexer.l" +#line 458 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICS; YY_BREAK /*LEXTAG:RWL_T_STATISTICSONLY*/ case 118: YY_RULE_SETUP -#line 459 "rwllexer.l" +#line 460 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICSONLY; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 119: YY_RULE_SETUP -#line 461 "rwllexer.l" +#line 462 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOSTATISTICS; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 120: YY_RULE_SETUP -#line 463 "rwllexer.l" +#line 464 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SQRT; YY_BREAK case 121: YY_RULE_SETUP -#line 464 "rwllexer.l" +#line 465 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SIN; YY_BREAK case 122: YY_RULE_SETUP -#line 465 "rwllexer.l" +#line 466 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COS; YY_BREAK /*LEXTAG:RWL_T_INSTRB*/ case 123: YY_RULE_SETUP -#line 467 "rwllexer.l" +#line 468 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "instr", "instrb"); if (!rwm->ifdirbit) return RWL_T_INSTRB; @@ -3042,13 +3043,13 @@ YY_RULE_SETUP YY_BREAK case 124: YY_RULE_SETUP -#line 471 "rwllexer.l" +#line 472 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INSTRB; YY_BREAK /*LEXTAG:RWL_T_SUBSTRB*/ case 125: YY_RULE_SETUP -#line 473 "rwllexer.l" +#line 474 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "substr", "substrb"); if (!rwm->ifdirbit) return RWL_T_SUBSTRB; @@ -3057,13 +3058,13 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SUBSTRB*/ case 126: YY_RULE_SETUP -#line 478 "rwllexer.l" +#line 479 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUBSTRB; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 127: YY_RULE_SETUP -#line 480 "rwllexer.l" +#line 481 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "length", "lengthb"); if (!rwm->ifdirbit) return RWL_T_LENGTHB; @@ -3072,50 +3073,50 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_GETENV*/ case 128: YY_RULE_SETUP -#line 485 "rwllexer.l" +#line 486 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETENV; YY_BREAK /*LEXTAG:RWL_T_SYSTEM*/ case 129: YY_RULE_SETUP -#line 487 "rwllexer.l" +#line 488 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SYSTEM; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 130: YY_RULE_SETUP -#line 489 "rwllexer.l" +#line 490 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LENGTHB; YY_BREAK /*LEXTAG:RWL_T_ERLANG*/ case 131: -#line 492 "rwllexer.l" +#line 493 "rwllexer.l" case 132: YY_RULE_SETUP -#line 492 "rwllexer.l" +#line 493 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 133: YY_RULE_SETUP -#line 494 "rwllexer.l" +#line 495 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG2; YY_BREAK /*LEXTAG:RWL_T_ERLANGK*/ case 134: YY_RULE_SETUP -#line 496 "rwllexer.l" +#line 497 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANGK; YY_BREAK /*LEXTAG:RWL_T_ACCESS*/ case 135: YY_RULE_SETUP -#line 498 "rwllexer.l" +#line 499 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ACCESS; YY_BREAK case 136: YY_RULE_SETUP -#line 499 "rwllexer.l" +#line 500 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3124,7 +3125,7 @@ YY_RULE_SETUP YY_BREAK case 137: YY_RULE_SETUP -#line 504 "rwllexer.l" +#line 505 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3134,127 +3135,127 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RUNSECONDS*/ case 138: YY_RULE_SETUP -#line 510 "rwllexer.l" +#line 511 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RUNSECONDS; YY_BREAK /*LEXTAG:RWL_T_EPOCHSECONDS*/ case 139: YY_RULE_SETUP -#line 512 "rwllexer.l" +#line 513 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EPOCHSECONDS; YY_BREAK /*LEXTAG:RWL_T_GETRUSAGE*/ case 140: YY_RULE_SETUP -#line 514 "rwllexer.l" +#line 515 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETRUSAGE; YY_BREAK /*LEXTAG:RWL_T_DOUBLE*/ case 141: YY_RULE_SETUP -#line 516 "rwllexer.l" +#line 517 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOUBLE; YY_BREAK /*LEXTAG:RWL_T_INTEGER*/ case 142: YY_RULE_SETUP -#line 518 "rwllexer.l" +#line 519 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INTEGER; YY_BREAK /*LEXTAG:RWL_T_STRING*/ case 143: YY_RULE_SETUP -#line 520 "rwllexer.l" +#line 521 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STRING; YY_BREAK /*LEXTAG:RWL_T_RANDOM*/ case 144: YY_RULE_SETUP -#line 522 "rwllexer.l" +#line 523 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RANDOM; YY_BREAK /*LEXTAG:RWL_T_ARRAY*/ case 145: YY_RULE_SETUP -#line 524 "rwllexer.l" +#line 525 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ARRAY; YY_BREAK /*LEXTAG:RWL_T_FILE*/ case 146: YY_RULE_SETUP -#line 526 "rwllexer.l" +#line 527 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FILE; YY_BREAK /*LEXTAG:RWL_T_WRITE*/ case 147: YY_RULE_SETUP -#line 528 "rwllexer.l" +#line 529 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITE; YY_BREAK /*LEXTAG:RWL_T_WRITELINE*/ case 148: YY_RULE_SETUP -#line 530 "rwllexer.l" +#line 531 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITELINE; YY_BREAK /*LEXTAG:RWL_T_READLINE*/ case 149: YY_RULE_SETUP -#line 532 "rwllexer.l" +#line 533 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_READLINE; YY_BREAK /*LEXTAG:RWL_T_REGEX*/ case 150: YY_RULE_SETUP -#line 534 "rwllexer.l" +#line 535 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEX; YY_BREAK /*LEXTAG:RWL_T_REGEXSUB*/ case 151: YY_RULE_SETUP -#line 536 "rwllexer.l" +#line 537 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUB; YY_BREAK /*LEXTAG:RWL_T_REGEXSUBG*/ case 152: YY_RULE_SETUP -#line 538 "rwllexer.l" +#line 539 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUBG; YY_BREAK /*LEXTAG:RWL_T_REGEXTRACT*/ case 153: YY_RULE_SETUP -#line 540 "rwllexer.l" +#line 541 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXTRACT; YY_BREAK /*LEXTAG:RWL_T_FFLUSH*/ case 154: YY_RULE_SETUP -#line 542 "rwllexer.l" +#line 543 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FFLUSH; YY_BREAK /*LEXTAG:RWL_T_PRINT*/ case 155: YY_RULE_SETUP -#line 544 "rwllexer.l" +#line 545 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINT; YY_BREAK /*LEXTAG:RWL_T_PRINTLINE*/ case 156: YY_RULE_SETUP -#line 546 "rwllexer.l" +#line 547 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTLINE; YY_BREAK /*LEXTAG:RWL_T_PRINTVAR*/ case 157: YY_RULE_SETUP -#line 548 "rwllexer.l" +#line 549 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTVAR; YY_BREAK /*LEXTAG:RWL_T_IF*/ case 158: YY_RULE_SETUP -#line 550 "rwllexer.l" +#line 551 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3264,61 +3265,61 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_WHEN*/ case 159: YY_RULE_SETUP -#line 556 "rwllexer.l" +#line 557 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHEN; YY_BREAK /*LEXTAG:RWL_T_THEN*/ case 160: YY_RULE_SETUP -#line 558 "rwllexer.l" +#line 559 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THEN; YY_BREAK /*LEXTAG:RWL_T_ELSE*/ case 161: YY_RULE_SETUP -#line 560 "rwllexer.l" +#line 561 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSE; YY_BREAK /*LEXTAG:RWL_T_ELSEIF*/ case 162: YY_RULE_SETUP -#line 562 "rwllexer.l" +#line 563 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSEIF; YY_BREAK /*LEXTAG:RWL_T_WHILE*/ case 163: YY_RULE_SETUP -#line 564 "rwllexer.l" +#line 565 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHILE; YY_BREAK /*LEXTAG:RWL_T_WAIT*/ case 164: YY_RULE_SETUP -#line 566 "rwllexer.l" +#line 567 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WAIT; YY_BREAK /*LEXTAG:RWL_T_QUEUE*/ case 165: YY_RULE_SETUP -#line 568 "rwllexer.l" +#line 569 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_QUEUE; YY_BREAK /*LEXTAG:RWL_T_NOQUEUE*/ case 166: YY_RULE_SETUP -#line 570 "rwllexer.l" +#line 571 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOQUEUE; YY_BREAK /*LEXTAG:RWL_T_EVERY*/ case 167: YY_RULE_SETUP -#line 572 "rwllexer.l" +#line 573 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EVERY; YY_BREAK /*LEXTAG:RWL_T_LOOP*/ case 168: YY_RULE_SETUP -#line 574 "rwllexer.l" +#line 575 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3328,25 +3329,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FOR*/ case 169: YY_RULE_SETUP -#line 580 "rwllexer.l" +#line 581 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FOR; YY_BREAK /*LEXTAG:RWL_T_ALL*/ case 170: YY_RULE_SETUP -#line 582 "rwllexer.l" +#line 583 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ALL; YY_BREAK /*LEXTAG:RWL_T_SHIFT*/ case 171: YY_RULE_SETUP -#line 584 "rwllexer.l" +#line 585 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SHIFT; YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ case 172: YY_RULE_SETUP -#line 586 "rwllexer.l" +#line 587 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3356,25 +3357,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_EXECUTE*/ case 173: YY_RULE_SETUP -#line 592 "rwllexer.l" +#line 593 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOTDOT; /* see RWL_T_INTEGER_CONST above */ YY_BREAK /*LEXTAG:RWL_T_NULL*/ case 174: YY_RULE_SETUP -#line 594 "rwllexer.l" +#line 595 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NULL; YY_BREAK /*LEXTAG:RWL_T_SUM*/ case 175: YY_RULE_SETUP -#line 596 "rwllexer.l" +#line 597 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUM; YY_BREAK /*LEXTAG:RWL_T_ISNULL*/ case 176: YY_RULE_SETUP -#line 598 "rwllexer.l" +#line 599 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_ISNULL_DEPRECATED); @@ -3384,57 +3385,57 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IS*/ case 177: YY_RULE_SETUP -#line 604 "rwllexer.l" +#line 605 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IS; YY_BREAK case 178: YY_RULE_SETUP -#line 605 "rwllexer.l" +#line 606 "rwllexer.l" if (!rwm->ifdirbit) return '+'; YY_BREAK case 179: YY_RULE_SETUP -#line 606 "rwllexer.l" +#line 607 "rwllexer.l" if (!rwm->ifdirbit) return '-'; YY_BREAK case 180: YY_RULE_SETUP -#line 607 "rwllexer.l" +#line 608 "rwllexer.l" if (!rwm->ifdirbit) return '*'; YY_BREAK case 181: YY_RULE_SETUP -#line 608 "rwllexer.l" +#line 609 "rwllexer.l" if (!rwm->ifdirbit) return '/'; YY_BREAK case 182: YY_RULE_SETUP -#line 609 "rwllexer.l" +#line 610 "rwllexer.l" if (!rwm->ifdirbit) return '%'; YY_BREAK case 183: YY_RULE_SETUP -#line 610 "rwllexer.l" +#line 611 "rwllexer.l" if (!rwm->ifdirbit) return '('; YY_BREAK case 184: YY_RULE_SETUP -#line 611 "rwllexer.l" +#line 612 "rwllexer.l" if (!rwm->ifdirbit) return ')'; YY_BREAK case 185: YY_RULE_SETUP -#line 612 "rwllexer.l" +#line 613 "rwllexer.l" if (!rwm->ifdirbit) return ','; YY_BREAK case 186: YY_RULE_SETUP -#line 613 "rwllexer.l" +#line 614 "rwllexer.l" if (!rwm->ifdirbit) return '='; YY_BREAK case 187: YY_RULE_SETUP -#line 614 "rwllexer.l" +#line 615 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_EQUALEQUAL, rwm->rwlytext); if (!rwm->ifdirbit) return '='; @@ -3442,146 +3443,146 @@ YY_RULE_SETUP YY_BREAK case 188: YY_RULE_SETUP -#line 618 "rwllexer.l" +#line 619 "rwllexer.l" if (!rwm->ifdirbit) return '<'; YY_BREAK case 189: YY_RULE_SETUP -#line 619 "rwllexer.l" +#line 620 "rwllexer.l" if (!rwm->ifdirbit) return '>'; YY_BREAK case 190: YY_RULE_SETUP -#line 620 "rwllexer.l" +#line 621 "rwllexer.l" if (!rwm->ifdirbit) return '!'; YY_BREAK case 191: YY_RULE_SETUP -#line 621 "rwllexer.l" +#line 622 "rwllexer.l" if (!rwm->ifdirbit) return '?'; YY_BREAK case 192: YY_RULE_SETUP -#line 622 "rwllexer.l" +#line 623 "rwllexer.l" if (!rwm->ifdirbit) return ':'; YY_BREAK /*LEXTAG:RWL_T_NOT*/ case 193: YY_RULE_SETUP -#line 624 "rwllexer.l" +#line 625 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOT; YY_BREAK /*LEXTAG:RWL_T_AND*/ case 194: YY_RULE_SETUP -#line 626 "rwllexer.l" +#line 627 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AND; YY_BREAK /*LEXTAG:RWL_T_BETWEEN*/ case 195: YY_RULE_SETUP -#line 628 "rwllexer.l" +#line 629 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BETWEEN; YY_BREAK /*LEXTAG:RWL_T_OR*/ case 196: YY_RULE_SETUP -#line 630 "rwllexer.l" +#line 631 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OR; YY_BREAK /*LEXTAG:RWL_T_LESSEQ*/ case 197: YY_RULE_SETUP -#line 632 "rwllexer.l" +#line 633 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LESSEQ; YY_BREAK /*LEXTAG:RWL_T_GREATEQ*/ case 198: YY_RULE_SETUP -#line 634 "rwllexer.l" +#line 635 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GREATEQ; YY_BREAK /*LEXTAG:RWL_T_RSHIFTASSIGN*/ case 199: YY_RULE_SETUP -#line 636 "rwllexer.l" +#line 637 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RSHIFTASSIGN; YY_BREAK /*LEXTAG:RWL_T_NOTEQ*/ case 200: YY_RULE_SETUP -#line 638 "rwllexer.l" +#line 639 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK case 201: YY_RULE_SETUP -#line 639 "rwllexer.l" +#line 640 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK /*LEXTAG:RWL_T_ASSIGN*/ case 202: YY_RULE_SETUP -#line 641 "rwllexer.l" +#line 642 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASSIGN; YY_BREAK /*LEXTAG:RWL_T_ASNADD*/ case 203: YY_RULE_SETUP -#line 643 "rwllexer.l" +#line 644 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNADD; YY_BREAK /*LEXTAG:RWL_T_ASNSUB*/ case 204: YY_RULE_SETUP -#line 645 "rwllexer.l" +#line 646 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNSUB; YY_BREAK /*LEXTAG:RWL_T_CONCAT*/ case 205: YY_RULE_SETUP -#line 647 "rwllexer.l" +#line 648 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONCAT; YY_BREAK /*LEXTAG:RWL_T_PIPETO*/ case 206: YY_RULE_SETUP -#line 649 "rwllexer.l" +#line 650 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPETO; YY_BREAK /*LEXTAG:RWL_T_PIPEFROM*/ case 207: YY_RULE_SETUP -#line 651 "rwllexer.l" +#line 652 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPEFROM; YY_BREAK /*LEXTAG:RWL_T_APPEND*/ case 208: YY_RULE_SETUP -#line 653 "rwllexer.l" +#line 654 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_APPEND; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2B*/ case 209: YY_RULE_SETUP -#line 655 "rwllexer.l" +#line 656 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2B; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2BB*/ case 210: YY_RULE_SETUP -#line 657 "rwllexer.l" +#line 658 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2BB; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 211: YY_RULE_SETUP -#line 659 "rwllexer.l" +#line 660 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SERVERRELEASE; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 212: YY_RULE_SETUP -#line 661 "rwllexer.l" +#line 662 "rwllexer.l" { # ifndef RWL_USE_SQL_ID rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3592,7 +3593,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OPENSESSIONCOUNT*/ case 213: YY_RULE_SETUP -#line 668 "rwllexer.l" +#line 669 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_OPENSESSIONCOUNT; } @@ -3600,7 +3601,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ACTIVESESSIONCOUNT*/ case 214: YY_RULE_SETUP -#line 672 "rwllexer.l" +#line 673 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_ACTIVESESSIONCOUNT; } @@ -3608,7 +3609,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_QUERYNOTIFICATION*/ case 215: YY_RULE_SETUP -#line 676 "rwllexer.l" +#line 677 "rwllexer.l" { #ifndef RWL_USE_CQN rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3619,18 +3620,18 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ATAN2*/ case 216: YY_RULE_SETUP -#line 683 "rwllexer.l" +#line 684 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ATAN2; YY_BREAK case 217: -#line 686 "rwllexer.l" -case 218: #line 687 "rwllexer.l" -case 219: +case 218: #line 688 "rwllexer.l" +case 219: +#line 689 "rwllexer.l" case 220: YY_RULE_SETUP -#line 688 "rwllexer.l" +#line 689 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); // return something so compilation continues @@ -3638,22 +3639,22 @@ YY_RULE_SETUP } YY_BREAK case 221: -#line 695 "rwllexer.l" +#line 696 "rwllexer.l" case 222: YY_RULE_SETUP -#line 695 "rwllexer.l" +#line 696 "rwllexer.l" { // note that "--" is the beginning of RWL_T_SQL_TEXT rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); } YY_BREAK case 223: -#line 700 "rwllexer.l" -case 224: #line 701 "rwllexer.l" +case 224: +#line 702 "rwllexer.l" case 225: YY_RULE_SETUP -#line 701 "rwllexer.l" +#line 702 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); // return something so compilation continues @@ -3661,16 +3662,16 @@ YY_RULE_SETUP } YY_BREAK case 226: -#line 708 "rwllexer.l" -case 227: #line 709 "rwllexer.l" -case 228: +case 227: #line 710 "rwllexer.l" -case 229: +case 228: #line 711 "rwllexer.l" +case 229: +#line 712 "rwllexer.l" case 230: YY_RULE_SETUP -#line 711 "rwllexer.l" +#line 712 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3685,7 +3686,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IDENTIFIER*/ case 231: YY_RULE_SETUP -#line 723 "rwllexer.l" +#line 724 "rwllexer.l" { /* previnam is used when the parser has been doing @@ -3705,7 +3706,7 @@ YY_RULE_SETUP YY_BREAK case 232: YY_RULE_SETUP -#line 740 "rwllexer.l" +#line 741 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3725,7 +3726,7 @@ YY_RULE_SETUP YY_BREAK case 233: YY_RULE_SETUP -#line 757 "rwllexer.l" +#line 758 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3738,7 +3739,7 @@ YY_RULE_SETUP YY_BREAK case 234: YY_RULE_SETUP -#line 767 "rwllexer.l" +#line 768 "rwllexer.l" { text *env = rwlgetenv((text *)rwm->rwlytext+1); if (!env) @@ -3762,18 +3763,18 @@ YY_RULE_SETUP YY_BREAK case 235: YY_RULE_SETUP -#line 789 "rwllexer.l" +#line 790 "rwllexer.l" if (!rwm->ifdirbit) return ';'; YY_BREAK case 236: -#line 792 "rwllexer.l" -case 237: #line 793 "rwllexer.l" -case 238: +case 237: #line 794 "rwllexer.l" +case 238: +#line 795 "rwllexer.l" case 239: YY_RULE_SETUP -#line 794 "rwllexer.l" +#line 795 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3788,7 +3789,7 @@ YY_RULE_SETUP YY_BREAK case 240: YY_RULE_SETUP -#line 806 "rwllexer.l" +#line 807 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3796,7 +3797,7 @@ YY_RULE_SETUP YY_BREAK case 241: YY_RULE_SETUP -#line 811 "rwllexer.l" +#line 812 "rwllexer.l" { // This is the documented syntax. Note that there is // no simple way to allow having $if and $then on separate // lines @@ -3816,14 +3817,14 @@ YY_RULE_SETUP YY_BREAK case 242: YY_RULE_SETUP -#line 828 "rwllexer.l" +#line 829 "rwllexer.l" { // this only happens if $if and $then aren't on the same line rwlzparsestring(rwm, (text *) "0;"); // behave like $if 0 $then would } YY_BREAK case 243: YY_RULE_SETUP -#line 832 "rwllexer.l" +#line 833 "rwllexer.l" { // This was the original syntax for $if which was // $if: ; // i.e. with the expression between : and ;. @@ -3844,7 +3845,7 @@ YY_RULE_SETUP YY_BREAK case 244: YY_RULE_SETUP -#line 850 "rwllexer.l" +#line 851 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "else"); @@ -3865,7 +3866,7 @@ YY_RULE_SETUP YY_BREAK case 245: YY_RULE_SETUP -#line 868 "rwllexer.l" +#line 869 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "endif"); @@ -3883,7 +3884,7 @@ YY_RULE_SETUP YY_BREAK case 246: YY_RULE_SETUP -#line 883 "rwllexer.l" +#line 884 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS); // all set in tflags as tfalgs HAS been copied from mflags @@ -3893,7 +3894,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 247: YY_RULE_SETUP -#line 890 "rwllexer.l" +#line 891 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); @@ -3902,7 +3903,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 248: YY_RULE_SETUP -#line 896 "rwllexer.l" +#line 897 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); @@ -3911,186 +3912,186 @@ if (!rwm->ifdirbit) { YY_BREAK case 249: YY_RULE_SETUP -#line 902 "rwllexer.l" +#line 903 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTION); } YY_BREAK case 250: YY_RULE_SETUP -#line 906 "rwllexer.l" +#line 907 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 251: YY_RULE_SETUP -#line 909 "rwllexer.l" +#line 910 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 252: YY_RULE_SETUP -#line 913 "rwllexer.l" +#line 914 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 253: YY_RULE_SETUP -#line 917 "rwllexer.l" +#line 918 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 254: YY_RULE_SETUP -#line 921 "rwllexer.l" +#line 922 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 255: YY_RULE_SETUP -#line 925 "rwllexer.l" +#line 926 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 256: YY_RULE_SETUP -#line 929 "rwllexer.l" +#line 930 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 257: YY_RULE_SETUP -#line 932 "rwllexer.l" +#line 933 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 258: YY_RULE_SETUP -#line 936 "rwllexer.l" +#line 937 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 259: YY_RULE_SETUP -#line 939 "rwllexer.l" +#line 940 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 260: YY_RULE_SETUP -#line 943 "rwllexer.l" +#line 944 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 261: YY_RULE_SETUP -#line 946 "rwllexer.l" +#line 947 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 262: YY_RULE_SETUP -#line 950 "rwllexer.l" +#line 951 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 263: YY_RULE_SETUP -#line 953 "rwllexer.l" +#line 954 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 264: YY_RULE_SETUP -#line 957 "rwllexer.l" +#line 958 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 265: YY_RULE_SETUP -#line 960 "rwllexer.l" +#line 961 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 266: YY_RULE_SETUP -#line 964 "rwllexer.l" +#line 965 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=0; } YY_BREAK case 267: YY_RULE_SETUP -#line 968 "rwllexer.l" +#line 969 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=1; } YY_BREAK case 268: YY_RULE_SETUP -#line 972 "rwllexer.l" +#line 973 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 269: YY_RULE_SETUP -#line 975 "rwllexer.l" +#line 976 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 270: YY_RULE_SETUP -#line 979 "rwllexer.l" +#line 980 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 271: YY_RULE_SETUP -#line 983 "rwllexer.l" +#line 984 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 272: YY_RULE_SETUP -#line 987 "rwllexer.l" +#line 988 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK case 273: YY_RULE_SETUP -#line 991 "rwllexer.l" +#line 992 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK case 274: /* rule 274 can match eol */ -#line 996 "rwllexer.l" +#line 997 "rwllexer.l" case 275: /* rule 275 can match eol */ YY_RULE_SETUP -#line 996 "rwllexer.l" +#line 997 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) // not while generating { @@ -4258,7 +4259,7 @@ YY_RULE_SETUP YY_BREAK case 276: YY_RULE_SETUP -#line 1161 "rwllexer.l" +#line 1162 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4271,7 +4272,7 @@ YY_RULE_SETUP YY_BREAK case 277: YY_RULE_SETUP -#line 1171 "rwllexer.l" +#line 1172 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -4285,7 +4286,7 @@ YY_RULE_SETUP YY_BREAK case 278: YY_RULE_SETUP -#line 1182 "rwllexer.l" +#line 1183 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4298,7 +4299,7 @@ YY_RULE_SETUP YY_BREAK case 279: YY_RULE_SETUP -#line 1192 "rwllexer.l" +#line 1193 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4311,7 +4312,7 @@ YY_RULE_SETUP YY_BREAK case 280: YY_RULE_SETUP -#line 1202 "rwllexer.l" +#line 1203 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4322,7 +4323,7 @@ YY_RULE_SETUP YY_BREAK case 281: YY_RULE_SETUP -#line 1210 "rwllexer.l" +#line 1211 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_OERSTATS); @@ -4330,7 +4331,7 @@ YY_RULE_SETUP YY_BREAK case 282: YY_RULE_SETUP -#line 1215 "rwllexer.l" +#line 1216 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4346,7 +4347,7 @@ YY_RULE_SETUP YY_BREAK case 283: YY_RULE_SETUP -#line 1228 "rwllexer.l" +#line 1229 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4362,7 +4363,7 @@ YY_RULE_SETUP YY_BREAK case 284: YY_RULE_SETUP -#line 1241 "rwllexer.l" +#line 1242 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4380,7 +4381,7 @@ YY_RULE_SETUP YY_BREAK case 285: YY_RULE_SETUP -#line 1256 "rwllexer.l" +#line 1257 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4391,7 +4392,7 @@ YY_RULE_SETUP YY_BREAK case 286: YY_RULE_SETUP -#line 1264 "rwllexer.l" +#line 1265 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4402,7 +4403,7 @@ YY_RULE_SETUP YY_BREAK case 287: YY_RULE_SETUP -#line 1272 "rwllexer.l" +#line 1273 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4413,7 +4414,7 @@ YY_RULE_SETUP YY_BREAK case 288: YY_RULE_SETUP -#line 1280 "rwllexer.l" +#line 1281 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4423,7 +4424,7 @@ YY_RULE_SETUP YY_BREAK case 289: YY_RULE_SETUP -#line 1286 "rwllexer.l" +#line 1287 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4433,7 +4434,7 @@ YY_RULE_SETUP YY_BREAK case 290: YY_RULE_SETUP -#line 1292 "rwllexer.l" +#line 1293 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4444,7 +4445,7 @@ YY_RULE_SETUP YY_BREAK case 291: YY_RULE_SETUP -#line 1299 "rwllexer.l" +#line 1300 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4455,7 +4456,7 @@ YY_RULE_SETUP YY_BREAK case 292: YY_RULE_SETUP -#line 1306 "rwllexer.l" +#line 1307 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4465,7 +4466,7 @@ YY_RULE_SETUP YY_BREAK case 293: YY_RULE_SETUP -#line 1312 "rwllexer.l" +#line 1313 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4475,7 +4476,7 @@ YY_RULE_SETUP YY_BREAK case 294: YY_RULE_SETUP -#line 1319 "rwllexer.l" +#line 1320 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4485,7 +4486,7 @@ YY_RULE_SETUP YY_BREAK case 295: YY_RULE_SETUP -#line 1326 "rwllexer.l" +#line 1327 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_RECON1017); @@ -4493,7 +4494,7 @@ YY_RULE_SETUP YY_BREAK case 296: YY_RULE_SETUP -#line 1331 "rwllexer.l" +#line 1332 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_ON; @@ -4501,7 +4502,7 @@ YY_RULE_SETUP YY_BREAK case 297: YY_RULE_SETUP -#line 1336 "rwllexer.l" +#line 1337 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_OFF; @@ -4509,7 +4510,7 @@ YY_RULE_SETUP YY_BREAK case 298: YY_RULE_SETUP -#line 1341 "rwllexer.l" +#line 1342 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_WARN; @@ -4517,7 +4518,7 @@ YY_RULE_SETUP YY_BREAK case 299: YY_RULE_SETUP -#line 1346 "rwllexer.l" +#line 1347 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4534,7 +4535,7 @@ YY_RULE_SETUP YY_BREAK case 300: YY_RULE_SETUP -#line 1360 "rwllexer.l" +#line 1361 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4547,7 +4548,7 @@ YY_RULE_SETUP YY_BREAK case 301: YY_RULE_SETUP -#line 1370 "rwllexer.l" +#line 1371 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLREADLINE); @@ -4555,7 +4556,7 @@ YY_RULE_SETUP YY_BREAK case 302: YY_RULE_SETUP -#line 1375 "rwllexer.l" +#line 1376 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLREADLINE); @@ -4563,7 +4564,7 @@ YY_RULE_SETUP YY_BREAK case 303: YY_RULE_SETUP -#line 1380 "rwllexer.l" +#line 1381 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLWRITELINE); @@ -4571,7 +4572,7 @@ YY_RULE_SETUP YY_BREAK case 304: YY_RULE_SETUP -#line 1385 "rwllexer.l" +#line 1386 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLWRITELINE); @@ -4579,7 +4580,7 @@ YY_RULE_SETUP YY_BREAK case 305: YY_RULE_SETUP -#line 1390 "rwllexer.l" +#line 1391 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4590,7 +4591,7 @@ YY_RULE_SETUP YY_BREAK case 306: YY_RULE_SETUP -#line 1398 "rwllexer.l" +#line 1399 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4601,7 +4602,7 @@ YY_RULE_SETUP YY_BREAK case 307: YY_RULE_SETUP -#line 1406 "rwllexer.l" +#line 1407 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4613,7 +4614,7 @@ YY_RULE_SETUP YY_BREAK case 308: YY_RULE_SETUP -#line 1415 "rwllexer.l" +#line 1416 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSATIME); @@ -4621,7 +4622,7 @@ YY_RULE_SETUP YY_BREAK case 309: YY_RULE_SETUP -#line 1420 "rwllexer.l" +#line 1421 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4633,7 +4634,7 @@ YY_RULE_SETUP YY_BREAK case 310: YY_RULE_SETUP -#line 1429 "rwllexer.l" +#line 1430 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSDTIME); @@ -4641,7 +4642,7 @@ YY_RULE_SETUP YY_BREAK case 311: YY_RULE_SETUP -#line 1434 "rwllexer.l" +#line 1435 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CONERROK); @@ -4649,7 +4650,7 @@ YY_RULE_SETUP YY_BREAK case 312: YY_RULE_SETUP -#line 1439 "rwllexer.l" +#line 1440 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLSTRING); @@ -4657,7 +4658,7 @@ YY_RULE_SETUP YY_BREAK case 313: YY_RULE_SETUP -#line 1444 "rwllexer.l" +#line 1445 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLSTRING); @@ -4665,7 +4666,7 @@ YY_RULE_SETUP YY_BREAK case 314: YY_RULE_SETUP -#line 1449 "rwllexer.l" +#line 1450 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_QETIMES); @@ -4673,7 +4674,7 @@ YY_RULE_SETUP YY_BREAK case 315: YY_RULE_SETUP -#line 1454 "rwllexer.l" +#line 1455 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_QETIMES); @@ -4681,7 +4682,7 @@ YY_RULE_SETUP YY_BREAK case 316: YY_RULE_SETUP -#line 1460 "rwllexer.l" +#line 1461 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4691,21 +4692,21 @@ YY_RULE_SETUP YY_BREAK case 317: YY_RULE_SETUP -#line 1467 "rwllexer.l" +#line 1468 "rwllexer.l" { if (!rwm->ifdirbit) rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+6),1 /* warn if !warning*/ ); } YY_BREAK case 318: YY_RULE_SETUP -#line 1471 "rwllexer.l" +#line 1472 "rwllexer.l" { rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+12),1 /* warn if !warning*/ ); } YY_BREAK case 319: YY_RULE_SETUP -#line 1475 "rwllexer.l" +#line 1476 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; newval = (ub4)rwlatoi(rwm->rwlytext+11) + 1; //+1 for the return value @@ -4722,7 +4723,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 320: YY_RULE_SETUP -#line 1489 "rwllexer.l" +#line 1490 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4740,7 +4741,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 321: YY_RULE_SETUP -#line 1504 "rwllexer.l" +#line 1505 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4758,7 +4759,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 322: YY_RULE_SETUP -#line 1519 "rwllexer.l" +#line 1520 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4776,7 +4777,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 323: YY_RULE_SETUP -#line 1534 "rwllexer.l" +#line 1535 "rwllexer.l" if (!rwm->ifdirbit) { rwm->iformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckiformat(rwm); @@ -4784,7 +4785,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 324: YY_RULE_SETUP -#line 1538 "rwllexer.l" +#line 1539 "rwllexer.l" if (!rwm->ifdirbit) { rwm->dformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckdformat(rwm); @@ -4792,7 +4793,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 325: YY_RULE_SETUP -#line 1543 "rwllexer.l" +#line 1544 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+9); bis(rwm->mflags, newdebug); @@ -4806,7 +4807,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 326: YY_RULE_SETUP -#line 1554 "rwllexer.l" +#line 1555 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+10); // ub4 newdebug = (ub4) rwlhex2ub8(rwm->rwlytext+10, 2*sizeof(ub4)); @@ -4817,7 +4818,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 327: YY_RULE_SETUP -#line 1562 "rwllexer.l" +#line 1563 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+10,2*sizeof(unsigned short)); @@ -4835,7 +4836,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 328: YY_RULE_SETUP -#line 1579 "rwllexer.l" +#line 1580 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+12, 2*sizeof(unsigned short)); @@ -4852,10 +4853,10 @@ if (!rwm->ifdirbit) { } YY_BREAK case 329: -#line 1595 "rwllexer.l" +#line 1596 "rwllexer.l" case 330: YY_RULE_SETUP -#line 1595 "rwllexer.l" +#line 1596 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4867,10 +4868,10 @@ if (!rwm->ifdirbit) { } YY_BREAK case 331: -#line 1606 "rwllexer.l" +#line 1607 "rwllexer.l" case 332: YY_RULE_SETUP -#line 1606 "rwllexer.l" +#line 1607 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4883,7 +4884,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 333: YY_RULE_SETUP -#line 1616 "rwllexer.l" +#line 1617 "rwllexer.l" if (!rwm->ifdirbit) { { rwm->musymbol = rwlstrdup(rwm, rwm->rwlytext+10); @@ -4893,7 +4894,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 334: YY_RULE_SETUP -#line 1623 "rwllexer.l" +#line 1624 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4915,7 +4916,7 @@ YY_RULE_SETUP YY_BREAK case 335: YY_RULE_SETUP -#line 1642 "rwllexer.l" +#line 1643 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4929,7 +4930,7 @@ YY_RULE_SETUP YY_BREAK case 336: YY_RULE_SETUP -#line 1653 "rwllexer.l" +#line 1654 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4944,7 +4945,7 @@ YY_RULE_SETUP case 337: /* rule 337 can match eol */ YY_RULE_SETUP -#line 1664 "rwllexer.l" +#line 1665 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4978,7 +4979,7 @@ YY_RULE_SETUP case 338: /* rule 338 can match eol */ YY_RULE_SETUP -#line 1694 "rwllexer.l" +#line 1695 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5011,7 +5012,7 @@ YY_RULE_SETUP YY_BREAK case 339: YY_RULE_SETUP -#line 1724 "rwllexer.l" +#line 1725 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5024,14 +5025,14 @@ YY_RULE_SETUP YY_BREAK case 340: YY_RULE_SETUP -#line 1733 "rwllexer.l" +#line 1734 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK case 341: YY_RULE_SETUP -#line 1736 "rwllexer.l" +#line 1737 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_TRIGRAD); } @@ -5039,7 +5040,7 @@ YY_RULE_SETUP case 342: /* rule 342 can match eol */ YY_RULE_SETUP -#line 1740 "rwllexer.l" +#line 1741 "rwllexer.l" { rwm->loc.fname = rwlstrdup(rwm, rwlstrchr(rwm->rwlytext,'"')); rwm->loc.fname[rwlstrlen(rwm->loc.fname)-1] = 0; @@ -5049,10 +5050,10 @@ YY_RULE_SETUP } YY_BREAK case 343: -#line 1748 "rwllexer.l" +#line 1749 "rwllexer.l" case 344: YY_RULE_SETUP -#line 1748 "rwllexer.l" +#line 1749 "rwllexer.l" { // bad directive char idbuf[100], c; ub4 i; @@ -5096,34 +5097,34 @@ YY_RULE_SETUP case 345: /* rule 345 can match eol */ YY_RULE_SETUP -#line 1789 "rwllexer.l" +#line 1790 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 346: /* rule 346 can match eol */ YY_RULE_SETUP -#line 1790 "rwllexer.l" +#line 1791 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 347: /* rule 347 can match eol */ YY_RULE_SETUP -#line 1791 "rwllexer.l" +#line 1792 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 348: YY_RULE_SETUP -#line 1792 "rwllexer.l" +#line 1793 "rwllexer.l" /* nothing */ ; YY_BREAK case 349: YY_RULE_SETUP -#line 1793 "rwllexer.l" +#line 1794 "rwllexer.l" /* nothing */ ; YY_BREAK case 350: YY_RULE_SETUP -#line 1794 "rwllexer.l" +#line 1795 "rwllexer.l" { if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -5140,10 +5141,10 @@ YY_RULE_SETUP YY_BREAK case 351: YY_RULE_SETUP -#line 1808 "rwllexer.l" +#line 1809 "rwllexer.l" ECHO; YY_BREAK -#line 5147 "lex.rwly.c" +#line 5148 "lex.rwly.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -6324,7 +6325,7 @@ void rwlyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1808 "rwllexer.l" +#line 1809 "rwllexer.l" diff --git a/src/rwlsql.c b/src/rwlsql.c index e6d5cde5..e9bda643 100644 --- a/src/rwlsql.c +++ b/src/rwlsql.c @@ -11,6 +11,7 @@ * * History * + * bengsig 22-may-2024 - lobwrite: trim before write * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 21-mar-2024 - fix reconnect * bengsig 15-mar-2024 - Also sqllogging after error @@ -4298,6 +4299,15 @@ void rwlwritelob(rwl_xeqenv *xev rwlexecerror(xev, loc, RWL_ERROR_ATTEMPT_ZERO_WRITE, db->vname); return; } + // Is trim really necessary? + RWL_OATIME_BEGIN(xev, loc, db->seshp, 0, fname, 1) + xev->status = OCILobTrim2(db->svchp, xev->errhp, (void *)lobp + , 0 ); + RWL_OATIME_END + if (OCI_SUCCESS != xev->status) + { + rwldberrorc1(xev, loc, (text *)"OCILobTrim2", fname); + } RWL_OATIME_BEGIN(xev, loc, db->seshp, 0, fname, 1) xev->status = OCILobWrite2(db->svchp, xev->errhp, (void *)lobp , &amtp @@ -4312,14 +4322,6 @@ void rwlwritelob(rwl_xeqenv *xev { rwldberrorc1(xev, loc, (text *)"OCILobWrite2", fname); } - RWL_OATIME_BEGIN(xev, loc, db->seshp, 0, fname, 1) - xev->status = OCILobTrim2(db->svchp, xev->errhp, (void *)lobp - , amtp ); - RWL_OATIME_END - if (OCI_SUCCESS != xev->status) - { - rwldberrorc1(xev, loc, (text *)"OCILobTrim2", fname); - } } void rwlwritelobo(rwl_xeqenv *xev From 7b7d011b359236c5a7d3f895bcb3c88e23223f2a Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 23 May 2024 10:43:39 +0000 Subject: [PATCH 049/118] Fix full scan message --- oltp/parameters.rwl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/oltp/parameters.rwl b/oltp/parameters.rwl index 506acc45..d1e5c332 100644 --- a/oltp/parameters.rwl +++ b/oltp/parameters.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 23-may-2024 - Fix s24 full scan message # bengsig 26-apr-2024 - gv$osstat # bengsig 3-apr-2024 - Distinguish thread/xtra storm # bengsig 19-mar-2024 - Connection storm @@ -582,7 +583,7 @@ if show_changed_values then else printline "No hard parse injection"; end if; - if s24h_hard_prb > 0.0 then + if s24h_scan_prb > 0.0 then printf "Full scan %.1f%% first interval %.0fs-%.0fs then every %.0fs (stddev %.2f); marked blue\n" , 100*s24h_scan_prb , s24h_scan_beg+(s24h_scan_skp*s24h_scan_avg) From 075d4d0d1682ed6d357211750584141652c21bef Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 27 May 2024 15:03:52 +0000 Subject: [PATCH 050/118] Improve some comments --- src/rwl.h | 17 +++++++++++++---- src/rwlparser.y | 49 ++++--------------------------------------------- 2 files changed, 17 insertions(+), 49 deletions(-) diff --git a/src/rwl.h b/src/rwl.h index 869c424c..c841de0d 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 27-may-2024 - Improve some comments * bengsig 17-apr-2024 - nostatistics statement * bengsig 16-apr-2024 - bit operation on clflags, -= * bengsig 4-apr-2024 - $oraerror:showoci directive @@ -356,11 +357,11 @@ extern int nanosleep(struct timespec *, int); struct rwl_option { - const char *longn; + const char *longn; // long name e.g. --version ub4 optbits; #define RWL_OPT_NOLARG 0 #define RWL_OPT_HASARG 0x00000001 // option must have agument - ub4 shortn; + ub4 shortn; // short name e.g. 'v' }; @@ -489,6 +490,7 @@ struct rwl_cinfo text serverr[RWL_DB_SERVERR_LEN]; // }; +// How was a string allocated in rwl_value enum rwl_vsalloc { RWL_SVALLOC_NOT = 0 /* no buffer allocated this MUST have value 0 */ @@ -829,6 +831,7 @@ struct rwl_arglist }; #define RWL_USER_ARG_OFFSET 500 // offset from ordinary option val in struct option +// RWLOADSIM_PATH struct rwl_pathlist { text *pathname; // name of entry in RWLOADISM_PATH @@ -1296,12 +1299,14 @@ struct rwl_main text sqlbuffer[RWL_MAXSQL+2]; /* text of last SQL */ } ; +// Linked list of contatenation, currently used by rwldoprintf struct rwl_conlist { rwl_estack *estk; // expression rwl_conlist *connxt; // linked list pointer }; +// Link list of identifiers, e.g. used for rwlreadline struct rwl_idlist { sb4 idnum; // variable number @@ -1415,6 +1420,7 @@ struct rwl_localvar rwl_type atype; /* the type of the argument */ }; +// All operators in the RPN evaluations stack enum rwl_stack_t { RWL_STACK_notinuse = 0 @@ -1662,6 +1668,7 @@ enum rwl_code_t , RWL_CODE_SQLEND // return from something with database calls - ceptr1 is variable name (of procedure), ceint2 location guess }; +// Entries in the p-code array struct rwl_code { rwl_code_t ctyp; /* operator - code type */ @@ -1701,7 +1708,9 @@ struct rwl_rastvar /* random string as a variable */ /* Internal variable names * Note that "runseconds" to the user is like * a read-only variable, while it really is a - * function without arguments + * function without arguments. It should be given + * by the user as runseconds() as if it were a + * function */ #define RWL_LOOPNUMBER_VAR (text *)"loopnumber" #define RWL_THREADNUMBER_VAR (text *)"threadnumber" @@ -1753,7 +1762,6 @@ struct rwl_histogram /* execution time statistics structure */ struct rwl_stats { - //rwl_mutex *mutex_stats; // moved to rwl_identifier due to RWL-600 [rwlmutexget-notinit] double wtime, etime, atime, dtime; // wait exec, application time ub4 *persec; /* array of per second counters */ double *wtimsum; // array of per second wait time @@ -1814,6 +1822,7 @@ extern void rwlexprdestroy(rwl_main *, rwl_estack *); // rwlexprbic: vvv -= (vvv/bbb)%2 ? bbb : 0 // note that bbb must be rwl_onep, rwl_twop, rwl_fourp, etc // +// They can be much simplified once we get bitwise operators #define rwlexprbis(rwm, vvv, bbb) \ /* vvv */ rwlexprpush(rwm, vvv, RWL_STACK_VAR); \ /* bbb */ rwlexprpush(rwm, bbb, RWL_STACK_NUM); \ diff --git a/src/rwlparser.y b/src/rwlparser.y index cf0bc613..33bc97ff 100644 --- a/src/rwlparser.y +++ b/src/rwlparser.y @@ -160,6 +160,7 @@ */ #define rwlyrwmscanner rwm->rwlyscanner +// pretty print parser syntax errors struct rwl_yt2txt { const char *ytoken; @@ -168,6 +169,7 @@ struct rwl_yt2txt typedef struct rwl_yt2txt rwl_yt2txt; +// Note that this must be sorted by ytoken (first column) static const rwl_yt2txt rwlyt2[] = { {"RWL_T_ABORT", "'abort'"} @@ -330,6 +332,7 @@ static const rwl_yt2txt rwlyt2[] = }; #define RWL_TOK_COUNT (sizeof(rwlyt2)/sizeof(rwl_yt2txt)) +// compare - used by bsearch static int rwlcmptok(const void *l1, const void *l2) { rwl_yt2txt *y1, *y2; @@ -545,11 +548,6 @@ programelementlist: } ; -/* - ----------------------------------------------- - * complex declarations that can only be in main - ----------------------------------------------- -*/ programelement: statement @@ -561,7 +559,6 @@ programelement: { rwlprintallvars(rwm); } | RWL_T_PRINTVAR printvarlist terminator - ; /* end of programelement */ @@ -856,44 +853,6 @@ dbspec: if (rwm->dbsav) bis(rwm->dbsav->flags, RWL_DB_DEFAULT); rwm->defdb = rwm->dbname; -#ifdef NEVER - // The default database should pick up any -X, -Y, -G, -g arguments - if (rwm->argX) - { - rwm->dbsav->poolmax = rwm->argX; - if (rwm->argY) - rwm->dbsav->poolmin = rwm->argY; - else - rwm->dbsav->poolmin = 1; - rwm->dbsav->pooltype = RWL_DBPOOL_SESSION; - rwm->dbsav->pooltext = "sessionpool"; - if (bit(rwm->m3flags, RWL_P3_DEFRECONN|RWL_P3_DEFTHRDED)) - rwlerror(rwm, RWL_ERROR_DBPOOL_ALREADY); - - } - else - { - if (rwm->argY) - rwlerror(rwm, RWL_ERROR_ONLY_POOL_MIN_SET); - if (bit(rwm->m3flags, RWL_P3_DEFRECONN)) - { - rwm->dbsav->pooltype = RWL_DBPOOL_RECONNECT; - rwm->dbsav->pooltext = "reconnect"; - if (bit(rwm->m3flags, RWL_P3_DEFTHRDED)) - rwlerror(rwm, RWL_ERROR_DBPOOL_ALREADY); - } - else if (bit(rwm->m3flags, RWL_P3_DEFTHRDED)) - { - rwm->dbsav->pooltype = RWL_DBPOOL_RETHRDED; - rwm->dbsav->pooltext = "threads dedicated"; - } - else - { - rwm->dbsav->pooltype = RWL_DBPOOL_DEDICATED; - rwm->dbsav->pooltext = "dedicated"; - } - } -#endif } } | RWL_T_CONNECTIONPOOL compiletime_expression @@ -1517,7 +1476,7 @@ Note that "concatenation" which is two expressions right after each other (i.e. just omission of the || operator) causes a well understood bison conflict. This is because e.g. a - b -could be both a followed by -b (i.e. to concatenated expressions) +could be both a followed by -b (i.e. two concatenated expressions) or it could be a-b (i.e. the subtraction). This shift/reduce conflict in bison will solved by doing the shift so it is the subtraction. From d43602fe479cd74122363bac74082b9aa1663a68 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 27 May 2024 15:20:41 +0000 Subject: [PATCH 051/118] Changes to rwlparser.y --- src/rwlparser.tab.c | 2045 +++++++++++++++++++++---------------------- src/rwlparser.tab.h | 2 +- 2 files changed, 1006 insertions(+), 1041 deletions(-) diff --git a/src/rwlparser.tab.c b/src/rwlparser.tab.c index 7492e065..135a9fb0 100644 --- a/src/rwlparser.tab.c +++ b/src/rwlparser.tab.c @@ -78,6 +78,7 @@ */ #define rwlyrwmscanner rwm->rwlyscanner +// pretty print parser syntax errors struct rwl_yt2txt { const char *ytoken; @@ -86,6 +87,7 @@ struct rwl_yt2txt typedef struct rwl_yt2txt rwl_yt2txt; +// Note that this must be sorted by ytoken (first column) static const rwl_yt2txt rwlyt2[] = { {"RWL_T_ABORT", "'abort'"} @@ -248,6 +250,7 @@ static const rwl_yt2txt rwlyt2[] = }; #define RWL_TOK_COUNT (sizeof(rwlyt2)/sizeof(rwl_yt2txt)) +// compare - used by bsearch static int rwlcmptok(const void *l1, const void *l2) { rwl_yt2txt *y1, *y2; @@ -363,7 +366,7 @@ static void rwlyerror(rwl_main *rwm, const char *in) rwlcomp(rwlparser_y, RWL_GCCFLAGS) -#line 367 "rwlparser.tab.c" /* yacc.c:339 */ +#line 370 "rwlparser.tab.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -572,7 +575,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 465 "rwlparser.y" /* yacc.c:355 */ +#line 468 "rwlparser.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -586,7 +589,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 590 "rwlparser.tab.c" /* yacc.c:355 */ +#line 593 "rwlparser.tab.c" /* yacc.c:355 */ }; typedef union RWLYSTYPE RWLYSTYPE; @@ -602,7 +605,7 @@ int rwlyparse (rwl_main *rwm); /* Copy the second part of user declarations. */ -#line 606 "rwlparser.tab.c" /* yacc.c:358 */ +#line 609 "rwlparser.tab.c" /* yacc.c:358 */ #ifdef short # undef short @@ -915,73 +918,73 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 522, 522, 529, 533, 535, 534, 555, 556, 557, - 559, 562, 570, 572, 589, 588, 598, 597, 606, 605, - 615, 614, 624, 629, 638, 639, 643, 642, 649, 654, - 662, 663, 667, 666, 674, 673, 746, 751, 752, 764, - 765, 768, 769, 772, 782, 787, 795, 808, 839, 850, - 900, 899, 915, 925, 924, 941, 951, 961, 971, 984, - 985, 988, 996, 1006, 1017, 1032, 1033, 1045, 1047, 1046, - 1059, 1060, 1066, 1065, 1093, 1100, 1107, 1108, 1112, 1113, - 1116, 1129, 1128, 1180, 1192, 1191, 1212, 1217, 1224, 1229, - 1236, 1321, 1322, 1326, 1335, 1336, 1339, 1340, 1341, 1345, - 1346, 1350, 1378, 1380, 1382, 1384, 1399, 1404, 1409, 1417, - 1418, 1420, 1422, 1441, 1443, 1442, 1458, 1457, 1473, 1472, - 1488, 1531, 1545, 1559, 1573, 1585, 1589, 1590, 1591, 1592, - 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, - 1603, 1605, 1607, 1609, 1611, 1612, 1615, 1618, 1619, 1623, - 1628, 1629, 1630, 1632, 1634, 1635, 1637, 1648, 1659, 1663, - 1669, 1673, 1679, 1683, 1689, 1694, 1698, 1706, 1704, 1731, - 1737, 1743, 1747, 1748, 1752, 1753, 1757, 1762, 1763, 1764, - 1769, 1770, 1771, 1772, 1776, 1777, 1778, 1779, 1783, 1784, - 1785, 1789, 1790, 1791, 1792, 1793, 1794, 1798, 1799, 1800, - 1804, 1806, 1805, 1823, 1825, 1824, 1840, 1842, 1851, 1841, - 1866, 1867, 1871, 1872, 1882, 1883, 1887, 1895, 1898, 1897, - 1904, 1907, 1906, 1910, 1912, 1914, 1916, 1919, 1925, 1954, - 1969, 1982, 1984, 1985, 1989, 1991, 1995, 1997, 2002, 2001, - 2008, 2007, 2019, 2024, 2023, 2031, 2035, 2059, 2085, 2083, - 2111, 2109, 2219, 2228, 2227, 2231, 2230, 2235, 2241, 2240, - 2250, 2249, 2258, 2271, 2276, 2270, 2304, 2312, 2317, 2311, - 2346, 2353, 2369, 2368, 2381, 2397, 2408, 2414, 2420, 2432, - 2444, 2454, 2464, 2463, 2476, 2482, 2480, 2598, 2605, 2621, - 2623, 2625, 2625, 2626, 2629, 2631, 2633, 2630, 2635, 2639, - 2638, 2753, 2786, 2794, 2819, 2793, 2870, 2871, 2872, 2873, - 2875, 2876, 2884, 2885, 2893, 2894, 2903, 2906, 2905, 2914, - 2916, 2924, 2932, 2941, 2949, 2951, 2958, 2959, 2970, 3006, - 3043, 3084, 3101, 3083, 3142, 3149, 3156, 3155, 3187, 3188, - 3196, 3195, 3243, 3245, 3244, 3254, 3405, 3404, 3552, 3558, - 3561, 3577, 3581, 3585, 3592, 3593, 3597, 3597, 3611, 3611, - 3627, 3627, 3643, 3643, 3657, 3657, 3688, 3689, 3690, 3693, - 3699, 3698, 3708, 3707, 3725, 3724, 3772, 3787, 3796, 3771, - 3833, 3841, 3842, 3842, 3855, 3854, 3861, 3862, 3863, 3869, - 3870, 3874, 3878, 3886, 3890, 3894, 3902, 3903, 3909, 3915, - 3917, 3920, 3921, 3926, 3925, 4027, 4029, 4028, 4083, 4087, - 4091, 4092, 4096, 4111, 4120, 4135, 4144, 4148, 4154, 4171, - 4178, 4188, 4189, 4190, 4194, 4195, 4211, 4221, 4227, 4235, - 4241, 4249, 4255, 4263, 4268, 4275, 4276, 4277, 4281, 4282, - 4281, 4292, 4296, 4297, 4296, 4306, 4313, 4314, 4317, 4317, - 4398, 4396, 4410, 4487, 4584, 4585, 4589, 4590, 4593, 4594, - 4597, 4598, 4601, 4605, 4609, 4613, 4632, 4638, 4640, 4643, - 4644, 4653, 4654, 4659, 4658, 4667, 4677, 4678, 4682, 4682, - 4684, 4683, 4692, 4691, 4695, 4702, 4703, 4707, 4707, 4709, - 4708, 4715, 4714, 4718, 4727, 4823, 4828, 4833, 4834, 4837, - 4854, 4871, 4888, 4911, 4911, 4942, 4963, 4963, 4986, 4985, - 5001, 5000, 5016, 5015, 5032, 5033, 5036, 5038, 5036, 5092, - 5123, 5122, 5159, 5160, 5168, 5167, 5191, 5192, 5196, 5195, - 5234, 5233, 5256, 5256, 5283, 5284, 5287, 5308, 5330, 5354, - 5359, 5367, 5368, 5368, 5372, 5433, 5468, 5483, 5526, 5535, - 5536, 5544, 5545, 5546, 5547, 5548, 5549, 5552, 5553, 5554, - 5555, 5562, 5569, 5560, 5595, 5595, 5608, 5621, 5622, 5626, - 5639, 5640, 5647, 5652, 5659, 5660, 5661, 5666, 5667, 5668, - 5673, 5674, 5675, 5680, 5681, 5682, 5687, 5692, 5693, 5704, - 5715, 5726, 5730, 5737, 5738, 5795, 5801, 5800, 5888, 5887, - 5931, 5939, 5941, 5945, 5949, 5938, 5991, 6000, 6004, 6011, - 6013, 6017, 6010, 6055, 6065, 6067, 6071, 6064, 6109, 6118, - 6119, 6122, 6165, 6174, 6200, 6199, 6230, 6236, 6237, 6240, - 6241, 6245, 6250, 6275, 6284, 6336, 6361, 6389, 6244, 6397, - 6398, 6399, 6407, 6408, 6416, 6434, 6415, 6438, 6442, 6443, - 6450, 6451, 6452, 6458, 6459, 6460, 6465, 6466, 6467, 6468, - 6469, 6470, 6471 + 0, 525, 525, 532, 536, 538, 537, 553, 554, 555, + 557, 560, 567, 569, 586, 585, 595, 594, 603, 602, + 612, 611, 621, 626, 635, 636, 640, 639, 646, 651, + 659, 660, 664, 663, 671, 670, 743, 748, 749, 761, + 762, 765, 766, 769, 779, 784, 792, 805, 836, 847, + 859, 858, 874, 884, 883, 900, 910, 920, 930, 943, + 944, 947, 955, 965, 976, 991, 992, 1004, 1006, 1005, + 1018, 1019, 1025, 1024, 1052, 1059, 1066, 1067, 1071, 1072, + 1075, 1088, 1087, 1139, 1151, 1150, 1171, 1176, 1183, 1188, + 1195, 1280, 1281, 1285, 1294, 1295, 1298, 1299, 1300, 1304, + 1305, 1309, 1337, 1339, 1341, 1343, 1358, 1363, 1368, 1376, + 1377, 1379, 1381, 1400, 1402, 1401, 1417, 1416, 1432, 1431, + 1447, 1490, 1504, 1518, 1532, 1544, 1548, 1549, 1550, 1551, + 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, + 1562, 1564, 1566, 1568, 1570, 1571, 1574, 1577, 1578, 1582, + 1587, 1588, 1589, 1591, 1593, 1594, 1596, 1607, 1618, 1622, + 1628, 1632, 1638, 1642, 1648, 1653, 1657, 1665, 1663, 1690, + 1696, 1702, 1706, 1707, 1711, 1712, 1716, 1721, 1722, 1723, + 1728, 1729, 1730, 1731, 1735, 1736, 1737, 1738, 1742, 1743, + 1744, 1748, 1749, 1750, 1751, 1752, 1753, 1757, 1758, 1759, + 1763, 1765, 1764, 1782, 1784, 1783, 1799, 1801, 1810, 1800, + 1825, 1826, 1830, 1831, 1841, 1842, 1846, 1854, 1857, 1856, + 1863, 1866, 1865, 1869, 1871, 1873, 1875, 1878, 1884, 1913, + 1928, 1941, 1943, 1944, 1948, 1950, 1954, 1956, 1961, 1960, + 1967, 1966, 1978, 1983, 1982, 1990, 1994, 2018, 2044, 2042, + 2070, 2068, 2178, 2187, 2186, 2190, 2189, 2194, 2200, 2199, + 2209, 2208, 2217, 2230, 2235, 2229, 2263, 2271, 2276, 2270, + 2305, 2312, 2328, 2327, 2340, 2356, 2367, 2373, 2379, 2391, + 2403, 2413, 2423, 2422, 2435, 2441, 2439, 2557, 2564, 2580, + 2582, 2584, 2584, 2585, 2588, 2590, 2592, 2589, 2594, 2598, + 2597, 2712, 2745, 2753, 2778, 2752, 2829, 2830, 2831, 2832, + 2834, 2835, 2843, 2844, 2852, 2853, 2862, 2865, 2864, 2873, + 2875, 2883, 2891, 2900, 2908, 2910, 2917, 2918, 2929, 2965, + 3002, 3043, 3060, 3042, 3101, 3108, 3115, 3114, 3146, 3147, + 3155, 3154, 3202, 3204, 3203, 3213, 3364, 3363, 3511, 3517, + 3520, 3536, 3540, 3544, 3551, 3552, 3556, 3556, 3570, 3570, + 3586, 3586, 3602, 3602, 3616, 3616, 3647, 3648, 3649, 3652, + 3658, 3657, 3667, 3666, 3684, 3683, 3731, 3746, 3755, 3730, + 3792, 3800, 3801, 3801, 3814, 3813, 3820, 3821, 3822, 3828, + 3829, 3833, 3837, 3845, 3849, 3853, 3861, 3862, 3868, 3874, + 3876, 3879, 3880, 3885, 3884, 3986, 3988, 3987, 4042, 4046, + 4050, 4051, 4055, 4070, 4079, 4094, 4103, 4107, 4113, 4130, + 4137, 4147, 4148, 4149, 4153, 4154, 4170, 4180, 4186, 4194, + 4200, 4208, 4214, 4222, 4227, 4234, 4235, 4236, 4240, 4241, + 4240, 4251, 4255, 4256, 4255, 4265, 4272, 4273, 4276, 4276, + 4357, 4355, 4369, 4446, 4543, 4544, 4548, 4549, 4552, 4553, + 4556, 4557, 4560, 4564, 4568, 4572, 4591, 4597, 4599, 4602, + 4603, 4612, 4613, 4618, 4617, 4626, 4636, 4637, 4641, 4641, + 4643, 4642, 4651, 4650, 4654, 4661, 4662, 4666, 4666, 4668, + 4667, 4674, 4673, 4677, 4686, 4782, 4787, 4792, 4793, 4796, + 4813, 4830, 4847, 4870, 4870, 4901, 4922, 4922, 4945, 4944, + 4960, 4959, 4975, 4974, 4991, 4992, 4995, 4997, 4995, 5051, + 5082, 5081, 5118, 5119, 5127, 5126, 5150, 5151, 5155, 5154, + 5193, 5192, 5215, 5215, 5242, 5243, 5246, 5267, 5289, 5313, + 5318, 5326, 5327, 5327, 5331, 5392, 5427, 5442, 5485, 5494, + 5495, 5503, 5504, 5505, 5506, 5507, 5508, 5511, 5512, 5513, + 5514, 5521, 5528, 5519, 5554, 5554, 5567, 5580, 5581, 5585, + 5598, 5599, 5606, 5611, 5618, 5619, 5620, 5625, 5626, 5627, + 5632, 5633, 5634, 5639, 5640, 5641, 5646, 5651, 5652, 5663, + 5674, 5685, 5689, 5696, 5697, 5754, 5760, 5759, 5847, 5846, + 5890, 5898, 5900, 5904, 5908, 5897, 5950, 5959, 5963, 5970, + 5972, 5976, 5969, 6014, 6024, 6026, 6030, 6023, 6068, 6077, + 6078, 6081, 6124, 6133, 6159, 6158, 6189, 6195, 6196, 6199, + 6200, 6204, 6209, 6234, 6243, 6295, 6320, 6348, 6203, 6356, + 6357, 6358, 6366, 6367, 6375, 6393, 6374, 6397, 6401, 6402, + 6409, 6410, 6411, 6417, 6418, 6419, 6424, 6425, 6426, 6427, + 6428, 6429, 6430 }; #endif @@ -3523,47 +3526,47 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 523 "rwlparser.y" /* yacc.c:1646 */ +#line 526 "rwlparser.y" /* yacc.c:1646 */ { ; // we are done! } -#line 3531 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3534 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 3: -#line 529 "rwlparser.y" /* yacc.c:1646 */ +#line 532 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) YYABORT; } -#line 3537 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3540 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 5: -#line 535 "rwlparser.y" /* yacc.c:1646 */ +#line 538 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3547 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3550 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 6: -#line 541 "rwlparser.y" /* yacc.c:1646 */ +#line 544 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3557 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3560 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 10: -#line 561 "rwlparser.y" /* yacc.c:1646 */ +#line 559 "rwlparser.y" /* yacc.c:1646 */ { rwlprintallvars(rwm); } -#line 3563 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3566 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 13: -#line 573 "rwlparser.y" /* yacc.c:1646 */ +#line 570 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) rwlcodetail(rwm); @@ -3578,11 +3581,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->codename = 0; // we are no longer compiling code rwm->codeguess = RWL_VAR_NOGUESS; } -#line 3582 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3585 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 14: -#line 589 "rwlparser.y" /* yacc.c:1646 */ +#line 586 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3590,22 +3593,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3594 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3597 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 16: -#line 598 "rwlparser.y" /* yacc.c:1646 */ +#line 595 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3605 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3608 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 18: -#line 606 "rwlparser.y" /* yacc.c:1646 */ +#line 603 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3613,83 +3616,83 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3617 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3620 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 20: -#line 615 "rwlparser.y" /* yacc.c:1646 */ +#line 612 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3627 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3630 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 22: -#line 626 "rwlparser.y" /* yacc.c:1646 */ +#line 623 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3635 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3638 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 23: -#line 630 "rwlparser.y" /* yacc.c:1646 */ +#line 627 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAST); yyerrok; } -#line 3646 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3649 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 26: -#line 643 "rwlparser.y" /* yacc.c:1646 */ +#line 640 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->sval; } -#line 3652 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3655 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 27: -#line 645 "rwlparser.y" /* yacc.c:1646 */ +#line 642 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3658 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3661 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 28: -#line 651 "rwlparser.y" /* yacc.c:1646 */ +#line 648 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3666 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3669 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 29: -#line 655 "rwlparser.y" /* yacc.c:1646 */ +#line 652 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAPROC); yyerrok; } -#line 3677 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3680 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 32: -#line 667 "rwlparser.y" /* yacc.c:1646 */ +#line 664 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->inam; } -#line 3683 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3686 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 33: -#line 669 "rwlparser.y" /* yacc.c:1646 */ +#line 666 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3689 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3692 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 34: -#line 674 "rwlparser.y" /* yacc.c:1646 */ +#line 671 "rwlparser.y" /* yacc.c:1646 */ { // add identifier sb4 ld = rwladdvar(rwm, rwm->inam, RWL_TYPE_DB, 0); @@ -3706,11 +3709,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m2flags, RWL_P2_SOMEEXPFAIL); } -#line 3710 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3713 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 35: -#line 691 "rwlparser.y" /* yacc.c:1646 */ +#line 688 "rwlparser.y" /* yacc.c:1646 */ { // fix core dump, only call builddb if everything fine if (bit(rwm->m2flags, RWL_P2_SOMEEXPFAIL)) @@ -3766,17 +3769,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m3flags, RWL_P3_GENERATE_OK); } } -#line 3770 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3773 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 36: -#line 747 "rwlparser.y" /* yacc.c:1646 */ +#line 744 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DATABASE_WRONG); yyerrok; } -#line 3776 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3779 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 38: -#line 753 "rwlparser.y" /* yacc.c:1646 */ +#line 750 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3786,11 +3789,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3790 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3793 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 43: -#line 773 "rwlparser.y" /* yacc.c:1646 */ +#line 770 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3800,20 +3803,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3804 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3807 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 44: -#line 783 "rwlparser.y" /* yacc.c:1646 */ +#line 780 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) rwm->dbsav->password = rwlstrdup(rwm, rwm->pval.sval); } -#line 3813 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3816 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 45: -#line 788 "rwlparser.y" /* yacc.c:1646 */ +#line 785 "rwlparser.y" /* yacc.c:1646 */ { if (rwlcclassgood(rwm, (rwm->pval.sval))) { @@ -3821,11 +3824,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->cclass = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3825 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3828 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 46: -#line 796 "rwlparser.y" /* yacc.c:1646 */ +#line 793 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3838,11 +3841,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3842 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3845 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 47: -#line 809 "rwlparser.y" /* yacc.c:1646 */ +#line 806 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3873,11 +3876,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3877 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3880 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 48: -#line 840 "rwlparser.y" /* yacc.c:1646 */ +#line 837 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "results", rwm->resdb); @@ -3888,11 +3891,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->resdb = rwm->dbname; } } -#line 3892 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3895 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 49: -#line 851 "rwlparser.y" /* yacc.c:1646 */ +#line 848 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "default", rwm->defdb); @@ -3901,51 +3904,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (rwm->dbsav) bis(rwm->dbsav->flags, RWL_DB_DEFAULT); rwm->defdb = rwm->dbname; -#ifdef NEVER - // The default database should pick up any -X, -Y, -G, -g arguments - if (rwm->argX) - { - rwm->dbsav->poolmax = rwm->argX; - if (rwm->argY) - rwm->dbsav->poolmin = rwm->argY; - else - rwm->dbsav->poolmin = 1; - rwm->dbsav->pooltype = RWL_DBPOOL_SESSION; - rwm->dbsav->pooltext = "sessionpool"; - if (bit(rwm->m3flags, RWL_P3_DEFRECONN|RWL_P3_DEFTHRDED)) - rwlerror(rwm, RWL_ERROR_DBPOOL_ALREADY); - - } - else - { - if (rwm->argY) - rwlerror(rwm, RWL_ERROR_ONLY_POOL_MIN_SET); - if (bit(rwm->m3flags, RWL_P3_DEFRECONN)) - { - rwm->dbsav->pooltype = RWL_DBPOOL_RECONNECT; - rwm->dbsav->pooltext = "reconnect"; - if (bit(rwm->m3flags, RWL_P3_DEFTHRDED)) - rwlerror(rwm, RWL_ERROR_DBPOOL_ALREADY); - } - else if (bit(rwm->m3flags, RWL_P3_DEFTHRDED)) - { - rwm->dbsav->pooltype = RWL_DBPOOL_RETHRDED; - rwm->dbsav->pooltext = "threads dedicated"; - } - else - { - rwm->dbsav->pooltype = RWL_DBPOOL_DEDICATED; - rwm->dbsav->pooltext = "dedicated"; - } - } -#endif } } -#line 3945 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3910 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 50: -#line 900 "rwlparser.y" /* yacc.c:1646 */ +#line 859 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3959,11 +3924,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"connectionpool max size"; } } -#line 3963 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3928 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 52: -#line 916 "rwlparser.y" /* yacc.c:1646 */ +#line 875 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3972,11 +3937,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags, RWL_DB_CCACHUSER); } } -#line 3976 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3941 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 53: -#line 925 "rwlparser.y" /* yacc.c:1646 */ +#line 884 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3990,11 +3955,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"sessionpool max size"; } } -#line 3994 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3959 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 55: -#line 942 "rwlparser.y" /* yacc.c:1646 */ +#line 901 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4004,11 +3969,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "drcp pooled"; } } -#line 4008 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3973 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 56: -#line 952 "rwlparser.y" /* yacc.c:1646 */ +#line 911 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4018,11 +3983,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "dedicated"; } } -#line 4022 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3987 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 57: -#line 962 "rwlparser.y" /* yacc.c:1646 */ +#line 921 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4032,11 +3997,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "threads dedicated"; } } -#line 4036 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4001 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 58: -#line 972 "rwlparser.y" /* yacc.c:1646 */ +#line 931 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4046,11 +4011,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "reconnect"; } } -#line 4050 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4015 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 61: -#line 989 "rwlparser.y" /* yacc.c:1646 */ +#line 948 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "statemark",RWL_OCI_VERSION); @@ -4058,11 +4023,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_STATEMARK); #endif } -#line 4062 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4027 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 62: -#line 997 "rwlparser.y" /* yacc.c:1646 */ +#line 956 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "requestmark",RWL_OCI_VERSION); @@ -4070,11 +4035,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_REQMARK); #endif } -#line 4074 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4039 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 63: -#line 1007 "rwlparser.y" /* yacc.c:1646 */ +#line 966 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4085,11 +4050,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4089 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4054 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 64: -#line 1018 "rwlparser.y" /* yacc.c:1646 */ +#line 977 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4101,11 +4066,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4105 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4070 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 66: -#line 1034 "rwlparser.y" /* yacc.c:1646 */ +#line 993 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4114,11 +4079,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , RWL_DBPOOL_DEFAULT_TIMEOUT, (text *)"release timeout"); } } -#line 4118 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4083 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 68: -#line 1047 "rwlparser.y" /* yacc.c:1646 */ +#line 1006 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) @@ -4127,20 +4092,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool wait attribute"); #endif } -#line 4131 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4096 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 71: -#line 1061 "rwlparser.y" /* yacc.c:1646 */ +#line 1020 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); } -#line 4140 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4105 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 72: -#line 1066 "rwlparser.y" /* yacc.c:1646 */ +#line 1025 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4151,11 +4116,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[0] = rwm->inam; rwlexprbeg(rwm); } -#line 4155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4120 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 73: -#line 1077 "rwlparser.y" /* yacc.c:1646 */ +#line 1036 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; @@ -4167,27 +4132,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 4171 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4136 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 74: -#line 1094 "rwlparser.y" /* yacc.c:1646 */ +#line 1053 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4179 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4144 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 75: -#line 1101 "rwlparser.y" /* yacc.c:1646 */ +#line 1060 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4187 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4152 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 80: -#line 1117 "rwlparser.y" /* yacc.c:1646 */ +#line 1076 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4199,11 +4164,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4203 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4168 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 81: -#line 1129 "rwlparser.y" /* yacc.c:1646 */ +#line 1088 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_FUNC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) // e.g. out of space @@ -4218,11 +4183,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, at least 1 for return value */ } -#line 4222 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4187 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 82: -#line 1145 "rwlparser.y" /* yacc.c:1646 */ +#line 1104 "rwlparser.y" /* yacc.c:1646 */ { /* codeguess was set en rwlcodeaddp */ if (rwm->codeguess>=0 && rwm->dtype) @@ -4254,11 +4219,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->supsemerr = RWL_SUPSEM_FUNC; } -#line 4258 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4223 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 83: -#line 1181 "rwlparser.y" /* yacc.c:1646 */ +#line 1140 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4269,11 +4234,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4273 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4238 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 84: -#line 1192 "rwlparser.y" /* yacc.c:1646 */ +#line 1151 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_PROC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) /* e.g. out of space */ @@ -4285,54 +4250,54 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, return value space is wasted */ } -#line 4289 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4254 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 85: -#line 1205 "rwlparser.y" /* yacc.c:1646 */ +#line 1164 "rwlparser.y" /* yacc.c:1646 */ { rwm->mxq->evar[rwm->codeguess].v2val = rwm->facnt; rwm->supsemerr = RWL_SUPSEM_PROC; } -#line 4298 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4263 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 86: -#line 1213 "rwlparser.y" /* yacc.c:1646 */ +#line 1172 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4307 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4272 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 87: -#line 1218 "rwlparser.y" /* yacc.c:1646 */ +#line 1177 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4315 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4280 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 88: -#line 1225 "rwlparser.y" /* yacc.c:1646 */ +#line 1184 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4324 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4289 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 89: -#line 1230 "rwlparser.y" /* yacc.c:1646 */ +#line 1189 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4332 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4297 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 90: -#line 1237 "rwlparser.y" /* yacc.c:1646 */ +#line 1196 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) { @@ -4414,39 +4379,39 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } finishcodebody: ; } -#line 4418 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4383 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 93: -#line 1327 "rwlparser.y" /* yacc.c:1646 */ +#line 1286 "rwlparser.y" /* yacc.c:1646 */ { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) rwlprintvar(rwm->mxq, l); } -#line 4428 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4393 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 94: -#line 1335 "rwlparser.y" /* yacc.c:1646 */ +#line 1294 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4434 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4399 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 95: -#line 1336 "rwlparser.y" /* yacc.c:1646 */ +#line 1295 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4440 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4405 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 96: -#line 1339 "rwlparser.y" /* yacc.c:1646 */ +#line 1298 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_MISSING_DECL_BRACK); } -#line 4446 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4411 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 101: -#line 1351 "rwlparser.y" /* yacc.c:1646 */ +#line 1310 "rwlparser.y" /* yacc.c:1646 */ { sb4 la; if (rwm->dtype && @@ -4470,29 +4435,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4474 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4439 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 102: -#line 1379 "rwlparser.y" /* yacc.c:1646 */ +#line 1338 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4480 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4445 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 103: -#line 1381 "rwlparser.y" /* yacc.c:1646 */ +#line 1340 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4486 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4451 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 104: -#line 1383 "rwlparser.y" /* yacc.c:1646 */ +#line 1342 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4492 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4457 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 105: -#line 1385 "rwlparser.y" /* yacc.c:1646 */ +#line 1344 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -4507,50 +4472,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen=RWL_MAX_STRING_LENGTH; } } -#line 4511 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4476 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 106: -#line 1400 "rwlparser.y" /* yacc.c:1646 */ +#line 1359 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "file"); } -#line 4520 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4485 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 107: -#line 1405 "rwlparser.y" /* yacc.c:1646 */ +#line 1364 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "sql"); } -#line 4529 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4494 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 108: -#line 1410 "rwlparser.y" /* yacc.c:1646 */ +#line 1369 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "clob"); } -#line 4538 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4503 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 110: -#line 1419 "rwlparser.y" /* yacc.c:1646 */ +#line 1378 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_STATSONLY); } -#line 4544 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4509 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 111: -#line 1421 "rwlparser.y" /* yacc.c:1646 */ +#line 1380 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_PROCHASSQL); } -#line 4550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4515 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 112: -#line 1423 "rwlparser.y" /* yacc.c:1646 */ +#line 1382 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; l = rwlfindvar(rwm->mxq, rwm->codename, RWL_VAR_NOGUESS); @@ -4566,11 +4531,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4570 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4535 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 114: -#line 1443 "rwlparser.y" /* yacc.c:1646 */ +#line 1402 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4584,11 +4549,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "procedure", rwm->codename); } } -#line 4588 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4553 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 116: -#line 1458 "rwlparser.y" /* yacc.c:1646 */ +#line 1417 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4602,11 +4567,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "function", rwm->codename); } } -#line 4606 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4571 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 118: -#line 1473 "rwlparser.y" /* yacc.c:1646 */ +#line 1432 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4621,11 +4586,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->codename); } } -#line 4625 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4590 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 120: -#line 1489 "rwlparser.y" /* yacc.c:1646 */ +#line 1448 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4641,11 +4606,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); yyerrok; } } -#line 4645 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4610 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 121: -#line 1532 "rwlparser.y" /* yacc.c:1646 */ +#line 1491 "rwlparser.y" /* yacc.c:1646 */ { /* There are cases where we have an expression followed @@ -4658,11 +4623,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam, RWL_STACK_VAR); } -#line 4662 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4627 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 122: -#line 1546 "rwlparser.y" /* yacc.c:1646 */ +#line 1505 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4676,11 +4641,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_DBL; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4680 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4645 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 123: -#line 1560 "rwlparser.y" /* yacc.c:1646 */ +#line 1519 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4694,11 +4659,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_INT; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4698 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4663 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 124: -#line 1574 "rwlparser.y" /* yacc.c:1646 */ +#line 1533 "rwlparser.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ @@ -4710,208 +4675,208 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_STR; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4714 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4679 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 125: -#line 1586 "rwlparser.y" /* yacc.c:1646 */ +#line 1545 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } -#line 4722 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4687 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 126: -#line 1589 "rwlparser.y" /* yacc.c:1646 */ +#line 1548 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_UNIFORM); } -#line 4728 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4693 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 127: -#line 1590 "rwlparser.y" /* yacc.c:1646 */ +#line 1549 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOGB); } -#line 4734 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4699 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 128: -#line 1591 "rwlparser.y" /* yacc.c:1646 */ +#line 1550 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOG); } -#line 4740 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4705 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 129: -#line 1592 "rwlparser.y" /* yacc.c:1646 */ +#line 1551 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXPB); } -#line 4746 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4711 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 130: -#line 1593 "rwlparser.y" /* yacc.c:1646 */ +#line 1552 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXP); } -#line 4752 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4717 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 131: -#line 1594 "rwlparser.y" /* yacc.c:1646 */ +#line 1553 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CEIL); } -#line 4758 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4723 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 132: -#line 1595 "rwlparser.y" /* yacc.c:1646 */ +#line 1554 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_TRUNC); } -#line 4764 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4729 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 133: -#line 1596 "rwlparser.y" /* yacc.c:1646 */ +#line 1555 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_FLOOR); } -#line 4770 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4735 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 134: -#line 1597 "rwlparser.y" /* yacc.c:1646 */ +#line 1556 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ROUND); } -#line 4776 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4741 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 135: -#line 1598 "rwlparser.y" /* yacc.c:1646 */ +#line 1557 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SQRT); } -#line 4782 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4747 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 136: -#line 1599 "rwlparser.y" /* yacc.c:1646 */ +#line 1558 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SIN); } -#line 4788 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4753 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 137: -#line 1600 "rwlparser.y" /* yacc.c:1646 */ +#line 1559 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_COS); } -#line 4794 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4759 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 138: -#line 1601 "rwlparser.y" /* yacc.c:1646 */ +#line 1560 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ATAN2); } -#line 4800 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4765 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 139: -#line 1602 "rwlparser.y" /* yacc.c:1646 */ +#line 1561 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LENGTHB); } -#line 4806 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4771 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 140: -#line 1604 "rwlparser.y" /* yacc.c:1646 */ +#line 1563 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB2); } -#line 4812 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4777 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 141: -#line 1606 "rwlparser.y" /* yacc.c:1646 */ +#line 1565 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB3); } -#line 4818 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4783 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 142: -#line 1608 "rwlparser.y" /* yacc.c:1646 */ +#line 1567 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB2); } -#line 4824 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4789 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 143: -#line 1610 "rwlparser.y" /* yacc.c:1646 */ +#line 1569 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB3); } -#line 4830 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4795 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 144: -#line 1611 "rwlparser.y" /* yacc.c:1646 */ +#line 1570 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GETENV); } -#line 4836 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4801 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 145: -#line 1612 "rwlparser.y" /* yacc.c:1646 */ +#line 1571 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2B); } -#line 4844 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4809 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 146: -#line 1615 "rwlparser.y" /* yacc.c:1646 */ +#line 1574 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2BB); } -#line 4852 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4817 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 147: -#line 1618 "rwlparser.y" /* yacc.c:1646 */ +#line 1577 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4858 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4823 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 148: -#line 1620 "rwlparser.y" /* yacc.c:1646 */ +#line 1579 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 4866 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4831 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 149: -#line 1624 "rwlparser.y" /* yacc.c:1646 */ +#line 1583 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4875 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4840 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 150: -#line 1628 "rwlparser.y" /* yacc.c:1646 */ +#line 1587 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG); } -#line 4881 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4846 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 151: -#line 1629 "rwlparser.y" /* yacc.c:1646 */ +#line 1588 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG2); } -#line 4887 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4852 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 152: -#line 1631 "rwlparser.y" /* yacc.c:1646 */ +#line 1590 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANGK); } -#line 4893 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4858 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 153: -#line 1633 "rwlparser.y" /* yacc.c:1646 */ +#line 1592 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NORMALRANDOM); } -#line 4899 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4864 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 154: -#line 1634 "rwlparser.y" /* yacc.c:1646 */ +#line 1593 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 4905 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4870 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 155: -#line 1636 "rwlparser.y" /* yacc.c:1646 */ +#line 1595 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ACCESS); } -#line 4911 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4876 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 156: -#line 1638 "rwlparser.y" /* yacc.c:1646 */ +#line 1597 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlexprpush(rwm, rwm->resdb, RWL_STACK_SERVERRELEASE); @@ -4922,11 +4887,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "results"); } } -#line 4926 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4891 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 157: -#line 1649 "rwlparser.y" /* yacc.c:1646 */ +#line 1608 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlexprpush(rwm, rwm->defdb, RWL_STACK_SERVERRELEASE); @@ -4937,92 +4902,92 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "default"); } } -#line 4941 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4906 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 158: -#line 1660 "rwlparser.y" /* yacc.c:1646 */ +#line 1619 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SERVERRELEASE); } -#line 4949 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4914 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 159: -#line 1664 "rwlparser.y" /* yacc.c:1646 */ +#line 1623 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "serverrelease"); yyerrok; } -#line 4959 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4924 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 160: -#line 1670 "rwlparser.y" /* yacc.c:1646 */ +#line 1629 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_OPENSESSIONCOUNT); } -#line 4967 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4932 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 161: -#line 1674 "rwlparser.y" /* yacc.c:1646 */ +#line 1633 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "opensessioncount"); yyerrok; } -#line 4977 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4942 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 162: -#line 1680 "rwlparser.y" /* yacc.c:1646 */ +#line 1639 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_ACTIVESESSIONCOUNT); } -#line 4985 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4950 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 163: -#line 1684 "rwlparser.y" /* yacc.c:1646 */ +#line 1643 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "activesessioncount"); yyerrok; } -#line 4995 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4960 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 164: -#line 1690 "rwlparser.y" /* yacc.c:1646 */ +#line 1649 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); } -#line 5004 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4969 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 165: -#line 1695 "rwlparser.y" /* yacc.c:1646 */ +#line 1654 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } -#line 5012 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4977 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 166: -#line 1699 "rwlparser.y" /* yacc.c:1646 */ +#line 1658 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_SQLID_NEED_IDENT); yyerrok; } -#line 5022 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4987 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 167: -#line 1706 "rwlparser.y" /* yacc.c:1646 */ +#line 1665 "rwlparser.y" /* yacc.c:1646 */ { /* element with furlev=0 is used by procedure call */ if (++rwm->furlev>=RWL_MAX_FUNC_RECURSION) @@ -5035,11 +5000,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[rwm->furlev] = (yychar == RWL_T_IDENTIFIER) ? rwm->previnam : rwm->inam; } -#line 5039 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5004 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 168: -#line 1720 "rwlparser.y" /* yacc.c:1646 */ +#line 1679 "rwlparser.y" /* yacc.c:1646 */ { /* syntactically, the number of arguments doesn't matter so we just provide the actual arg count to exprpush2 @@ -5051,139 +5016,139 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (rwm->furlev) rwm->furlev--; } -#line 5055 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5020 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 169: -#line 1732 "rwlparser.y" /* yacc.c:1646 */ +#line 1691 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "runseconds"); rwlexprpush(rwm, 0, RWL_STACK_RUNSECONDS); } -#line 5065 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5030 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 170: -#line 1738 "rwlparser.y" /* yacc.c:1646 */ +#line 1697 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "epochseconds"); rwlexprpush(rwm, 0, RWL_STACK_EPOCHSECONDS); } -#line 5075 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5040 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 176: -#line 1757 "rwlparser.y" /* yacc.c:1646 */ +#line 1716 "rwlparser.y" /* yacc.c:1646 */ { rwm->aacnt[rwm->furlev]++; } -#line 5081 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5046 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 178: -#line 1763 "rwlparser.y" /* yacc.c:1646 */ +#line 1722 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5087 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5052 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 179: -#line 1764 "rwlparser.y" /* yacc.c:1646 */ +#line 1723 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNOTNULL); } -#line 5093 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5058 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 181: -#line 1770 "rwlparser.y" /* yacc.c:1646 */ +#line 1729 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MINUS); } -#line 5099 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5064 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 182: -#line 1771 "rwlparser.y" /* yacc.c:1646 */ +#line 1730 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5105 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5070 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 183: -#line 1772 "rwlparser.y" /* yacc.c:1646 */ +#line 1731 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5111 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5076 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 185: -#line 1777 "rwlparser.y" /* yacc.c:1646 */ +#line 1736 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MUL); } -#line 5117 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5082 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 186: -#line 1778 "rwlparser.y" /* yacc.c:1646 */ +#line 1737 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_DIV); } -#line 5123 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5088 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 187: -#line 1779 "rwlparser.y" /* yacc.c:1646 */ +#line 1738 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MOD); } -#line 5129 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5094 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 189: -#line 1784 "rwlparser.y" /* yacc.c:1646 */ +#line 1743 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ADD); } -#line 5135 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5100 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 190: -#line 1785 "rwlparser.y" /* yacc.c:1646 */ +#line 1744 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUB); } -#line 5141 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5106 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 192: -#line 1790 "rwlparser.y" /* yacc.c:1646 */ +#line 1749 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESS); } -#line 5147 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5112 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 193: -#line 1791 "rwlparser.y" /* yacc.c:1646 */ +#line 1750 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATER); } -#line 5153 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5118 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 194: -#line 1792 "rwlparser.y" /* yacc.c:1646 */ +#line 1751 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } -#line 5159 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5124 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 195: -#line 1793 "rwlparser.y" /* yacc.c:1646 */ +#line 1752 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } -#line 5165 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5130 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 196: -#line 1794 "rwlparser.y" /* yacc.c:1646 */ +#line 1753 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } -#line 5171 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5136 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 198: -#line 1799 "rwlparser.y" /* yacc.c:1646 */ +#line 1758 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EQUAL); } -#line 5177 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5142 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 199: -#line 1800 "rwlparser.y" /* yacc.c:1646 */ +#line 1759 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } -#line 5183 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5148 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 201: -#line 1806 "rwlparser.y" /* yacc.c:1646 */ +#line 1765 "rwlparser.y" /* yacc.c:1646 */ { // With AND (and OR) skipdep is used to mark // the expression element we need to skip until @@ -5193,20 +5158,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-andskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5197 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5162 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 202: -#line 1816 "rwlparser.y" /* yacc.c:1646 */ +#line 1775 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; } -#line 5206 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5171 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 204: -#line 1825 "rwlparser.y" /* yacc.c:1646 */ +#line 1784 "rwlparser.y" /* yacc.c:1646 */ { // see comment above rwm->ptail->branchtype = RWL_EXP_ORBRANCH; @@ -5214,20 +5179,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-orskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5218 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5183 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 205: -#line 1833 "rwlparser.y" /* yacc.c:1646 */ +#line 1792 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR ,rwm->skipdep); rwm->skipdep--; } -#line 5227 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5192 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 207: -#line 1842 "rwlparser.y" /* yacc.c:1646 */ +#line 1801 "rwlparser.y" /* yacc.c:1646 */ { // With conditional execution we mark the condition // with RWL_EXP_CONDBRANCH1 @@ -5236,50 +5201,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-condskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5240 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5205 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 208: -#line 1851 "rwlparser.y" /* yacc.c:1646 */ +#line 1810 "rwlparser.y" /* yacc.c:1646 */ { // and the place of ':' (really ELSE) with // RWL_EXP_CONDBRANCH2 rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; rwm->ptail->skipnxt = rwm->skipdep; } -#line 5251 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5216 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 209: -#line 1858 "rwlparser.y" /* yacc.c:1646 */ +#line 1817 "rwlparser.y" /* yacc.c:1646 */ { // And the actual conditional is the "end if" place rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, rwm->skipdep); rwm->skipdep--; } -#line 5261 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5226 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 211: -#line 1867 "rwlparser.y" /* yacc.c:1646 */ +#line 1826 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5267 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5232 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 213: -#line 1872 "rwlparser.y" /* yacc.c:1646 */ +#line 1831 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5273 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5238 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 215: -#line 1883 "rwlparser.y" /* yacc.c:1646 */ +#line 1842 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = 0; } -#line 5279 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5244 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 216: -#line 1888 "rwlparser.y" /* yacc.c:1646 */ +#line 1847 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) { @@ -5287,65 +5252,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); YYACCEPT; } } -#line 5291 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5256 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 217: -#line 1896 "rwlparser.y" /* yacc.c:1646 */ +#line 1855 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5297 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5262 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 218: -#line 1898 "rwlparser.y" /* yacc.c:1646 */ +#line 1857 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "threads"); yyerrok; } -#line 5303 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5268 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 220: -#line 1905 "rwlparser.y" /* yacc.c:1646 */ +#line 1864 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5309 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5274 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 221: -#line 1907 "rwlparser.y" /* yacc.c:1646 */ +#line 1866 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "run"); yyerrok; } -#line 5315 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5280 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 223: -#line 1911 "rwlparser.y" /* yacc.c:1646 */ +#line 1870 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5321 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5286 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 224: -#line 1913 "rwlparser.y" /* yacc.c:1646 */ +#line 1872 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "database"); yyerrok; } -#line 5327 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5292 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 225: -#line 1915 "rwlparser.y" /* yacc.c:1646 */ +#line 1874 "rwlparser.y" /* yacc.c:1646 */ { yyerrok ; } -#line 5333 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5298 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 226: -#line 1918 "rwlparser.y" /* yacc.c:1646 */ +#line 1877 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random procedure array"); yyerrok; } -#line 5339 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5304 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 227: -#line 1921 "rwlparser.y" /* yacc.c:1646 */ +#line 1880 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random string array"); yyerrok; } -#line 5345 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5310 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 228: -#line 1926 "rwlparser.y" /* yacc.c:1646 */ +#line 1885 "rwlparser.y" /* yacc.c:1646 */ { switch(rwm->supsemerr) { @@ -5374,11 +5339,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 5378 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5343 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 229: -#line 1955 "rwlparser.y" /* yacc.c:1646 */ +#line 1914 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5393,11 +5358,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_ABORT); } } -#line 5397 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5362 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 230: -#line 1970 "rwlparser.y" /* yacc.c:1646 */ +#line 1929 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5408,37 +5373,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_NOSTATISTICS); } } -#line 5412 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5377 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 233: -#line 1987 "rwlparser.y" /* yacc.c:1646 */ +#line 1946 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } -#line 5418 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5383 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 235: -#line 1994 "rwlparser.y" /* yacc.c:1646 */ +#line 1953 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } -#line 5424 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5389 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 237: -#line 2000 "rwlparser.y" /* yacc.c:1646 */ +#line 1959 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } -#line 5430 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5395 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 238: -#line 2002 "rwlparser.y" /* yacc.c:1646 */ +#line 1961 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; } -#line 5438 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5403 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 240: -#line 2008 "rwlparser.y" /* yacc.c:1646 */ +#line 1967 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) rwm->declslen = 1; // kind of a kludge, but this prevents doube @@ -5448,33 +5413,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen = rwm->pval.ival; } } -#line 5452 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5417 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 242: -#line 2022 "rwlparser.y" /* yacc.c:1646 */ +#line 1981 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_STR); yyerrok; } -#line 5458 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5423 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 243: -#line 2024 "rwlparser.y" /* yacc.c:1646 */ +#line 1983 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_FILE; //if (rwm->codename) // rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "file"); } -#line 5468 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5433 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 245: -#line 2033 "rwlparser.y" /* yacc.c:1646 */ +#line 1992 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_FILE); yyerrok; } -#line 5474 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5439 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 246: -#line 2038 "rwlparser.y" /* yacc.c:1646 */ +#line 1997 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5495,11 +5460,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5499 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5464 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 247: -#line 2061 "rwlparser.y" /* yacc.c:1646 */ +#line 2020 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5522,17 +5487,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5526 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5491 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 248: -#line 2085 "rwlparser.y" /* yacc.c:1646 */ +#line 2044 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rslerror) rwlcodeadd0(rwm, RWL_CODE_ELSE); } -#line 5532 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5497 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 249: -#line 2088 "rwlparser.y" /* yacc.c:1646 */ +#line 2047 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5553,11 +5518,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5557 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5522 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 250: -#line 2111 "rwlparser.y" /* yacc.c:1646 */ +#line 2070 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* start expression */ @@ -5594,11 +5559,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlexprbeg(rwm); } -#line 5598 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5563 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 251: -#line 2152 "rwlparser.y" /* yacc.c:1646 */ +#line 2111 "rwlparser.y" /* yacc.c:1646 */ { switch (rwm->rsllityp[rwm->rsldepth]) { @@ -5666,65 +5631,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->rsldepth, rwm->rslmisc[rwm->rsldepth]); } } -#line 5670 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5635 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 252: -#line 2221 "rwlparser.y" /* yacc.c:1646 */ +#line 2180 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwm->rsllityp[rwm->rsldepth] = RWL_LI_BAD; yyerrok; } -#line 5680 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5645 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 253: -#line 2228 "rwlparser.y" /* yacc.c:1646 */ +#line 2187 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 5686 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5651 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 255: -#line 2231 "rwlparser.y" /* yacc.c:1646 */ +#line 2190 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 5694 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5659 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 257: -#line 2236 "rwlparser.y" /* yacc.c:1646 */ +#line 2195 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprclear(rwm); } -#line 5703 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5668 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 258: -#line 2241 "rwlparser.y" /* yacc.c:1646 */ +#line 2200 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 5714 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5679 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 260: -#line 2250 "rwlparser.y" /* yacc.c:1646 */ +#line 2209 "rwlparser.y" /* yacc.c:1646 */ { /* start expression for assign */ rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 5724 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5689 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 262: -#line 2259 "rwlparser.y" /* yacc.c:1646 */ +#line 2218 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) rwlerror(rwm, RWL_ERROR_RETURN_OUTSIDE_CODE); @@ -5736,20 +5701,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_RETURN_NO_EXPR, rwm->codename); } } -#line 5740 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5705 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 263: -#line 2271 "rwlparser.y" /* yacc.c:1646 */ +#line 2230 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5749 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5714 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 264: -#line 2276 "rwlparser.y" /* yacc.c:1646 */ +#line 2235 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5778,30 +5743,30 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeaddpu(rwm, RWL_CODE_RETURN, rwm->codename, rwm->codeguess); } } -#line 5782 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5747 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 266: -#line 2305 "rwlparser.y" /* yacc.c:1646 */ +#line 2264 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5792 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5757 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 267: -#line 2312 "rwlparser.y" /* yacc.c:1646 */ +#line 2271 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5801 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5766 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 268: -#line 2317 "rwlparser.y" /* yacc.c:1646 */ +#line 2276 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5830,21 +5795,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5834 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5799 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 270: -#line 2347 "rwlparser.y" /* yacc.c:1646 */ +#line 2306 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5844 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5809 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 271: -#line 2355 "rwlparser.y" /* yacc.c:1646 */ +#line 2314 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5858,11 +5823,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5862 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5827 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 272: -#line 2369 "rwlparser.y" /* yacc.c:1646 */ +#line 2328 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbnam = rwm->inam; rwm->mdbvar = rwlfindvar2(rwm->mxq, rwm->mdbnam, RWL_VAR_NOGUESS, rwm->codename); @@ -5873,11 +5838,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mdbvar = RWL_VAR_INVALID; } } -#line 5877 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5842 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 274: -#line 2383 "rwlparser.y" /* yacc.c:1646 */ +#line 2342 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5891,11 +5856,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5895 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5860 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 275: -#line 2399 "rwlparser.y" /* yacc.c:1646 */ +#line 2358 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5905,29 +5870,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlcodeadd0(rwm, RWL_CODE_MODDBLEAK); } -#line 5909 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5874 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 276: -#line 2410 "rwlparser.y" /* yacc.c:1646 */ +#line 2369 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 5918 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5883 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 277: -#line 2416 "rwlparser.y" /* yacc.c:1646 */ +#line 2375 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 5927 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5892 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 278: -#line 2422 "rwlparser.y" /* yacc.c:1646 */ +#line 2381 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_COMMIT); @@ -5938,11 +5903,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcommit(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 5942 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5907 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 279: -#line 2434 "rwlparser.y" /* yacc.c:1646 */ +#line 2393 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_ROLLBACK); @@ -5953,11 +5918,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlrollback(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 5957 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5922 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 280: -#line 2446 "rwlparser.y" /* yacc.c:1646 */ +#line 2405 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SHIFT); @@ -5965,11 +5930,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlshiftdollar(rwm->mxq, &rwm->loc); } -#line 5969 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5934 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 281: -#line 2455 "rwlparser.y" /* yacc.c:1646 */ +#line 2414 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_GETRUSAGE); @@ -5977,11 +5942,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlgetrusage(rwm->mxq, 0); } -#line 5981 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5946 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 282: -#line 2464 "rwlparser.y" /* yacc.c:1646 */ +#line 2423 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlinam = rwm->inam; rwm->mqbdtyp = 0; rwm->modsqlvar = rwlfindvar2(rwm->mxq, rwm->msqlinam, RWL_VAR_NOGUESS, rwm->codename); @@ -5992,17 +5957,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->modsqlvar = RWL_VAR_INVALID; } } -#line 5996 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5961 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 284: -#line 2477 "rwlparser.y" /* yacc.c:1646 */ +#line 2436 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } -#line 6002 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5967 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 285: -#line 2482 "rwlparser.y" /* yacc.c:1646 */ +#line 2441 "rwlparser.y" /* yacc.c:1646 */ { /* handle procedure call with arguments * as if it were a function call @@ -6032,11 +5997,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); : rwm->inam; rwlexprbeg(rwm); } -#line 6036 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6001 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 286: -#line 2514 "rwlparser.y" /* yacc.c:1646 */ +#line 2473 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6121,22 +6086,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprclear(rwm); } } -#line 6125 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6090 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 287: -#line 2599 "rwlparser.y" /* yacc.c:1646 */ +#line 2558 "rwlparser.y" /* yacc.c:1646 */ { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); rwlexprclear(rwm); yyerrok; } -#line 6136 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6101 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 288: -#line 2606 "rwlparser.y" /* yacc.c:1646 */ +#line 2565 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6151,29 +6116,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 6155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6120 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 291: -#line 2625 "rwlparser.y" /* yacc.c:1646 */ +#line 2584 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = RWL_SUPSEM_EMBSQL; } -#line 6161 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6126 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 295: -#line 2631 "rwlparser.y" /* yacc.c:1646 */ +#line 2590 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6167 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6132 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 296: -#line 2633 "rwlparser.y" /* yacc.c:1646 */ +#line 2592 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6173 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6138 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 299: -#line 2639 "rwlparser.y" /* yacc.c:1646 */ +#line 2598 "rwlparser.y" /* yacc.c:1646 */ { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below @@ -6256,11 +6221,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); --rwm->rsldepth; } } -#line 6260 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6225 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 300: -#line 2724 "rwlparser.y" /* yacc.c:1646 */ +#line 2683 "rwlparser.y" /* yacc.c:1646 */ { --rwm->rsldepth; if (rwm->rslerror) @@ -6289,11 +6254,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6293 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6258 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 301: -#line 2754 "rwlparser.y" /* yacc.c:1646 */ +#line 2713 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6325,20 +6290,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_INCORRECT_TYPE2, rwm->mxq->evar[l].stype, rwm->inam, "file"); } } -#line 6329 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6294 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 302: -#line 2787 "rwlparser.y" /* yacc.c:1646 */ +#line 2746 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_FFLUSH); yyerrok; } -#line 6338 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6303 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 303: -#line 2794 "rwlparser.y" /* yacc.c:1646 */ +#line 2753 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6361,11 +6326,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 6365 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6330 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 304: -#line 2819 "rwlparser.y" /* yacc.c:1646 */ +#line 2778 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) { @@ -6394,11 +6359,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 6398 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6363 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 305: -#line 2850 "rwlparser.y" /* yacc.c:1646 */ +#line 2809 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -6417,88 +6382,88 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6421 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6386 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 311: -#line 2878 "rwlparser.y" /* yacc.c:1646 */ +#line 2837 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6432 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6397 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 313: -#line 2887 "rwlparser.y" /* yacc.c:1646 */ +#line 2846 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_STRING_FOR_SPRINTF); rwlexprclear(rwm); yyerrok; } -#line 6443 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6408 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 315: -#line 2896 "rwlparser.y" /* yacc.c:1646 */ +#line 2855 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6454 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6419 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 317: -#line 2906 "rwlparser.y" /* yacc.c:1646 */ +#line 2865 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document this syntax without comma if (rwm->filenam) rwlerror(rwm, RWL_ERROR_COMMA_IS_RECOMMENDED, rwm->filenam , bit(rwm->mflags,RWL_P_PRINTLINE) ? "writeline" : "write"); } -#line 6465 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6430 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 320: -#line 2918 "rwlparser.y" /* yacc.c:1646 */ +#line 2877 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6476 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6441 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 321: -#line 2926 "rwlparser.y" /* yacc.c:1646 */ +#line 2885 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6487 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6452 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 322: -#line 2934 "rwlparser.y" /* yacc.c:1646 */ +#line 2893 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6498 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6463 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 323: -#line 2942 "rwlparser.y" /* yacc.c:1646 */ +#line 2901 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_NEWLINE); @@ -6506,22 +6471,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); fputs(bit(rwm->m4flags, RWL_P4_CRNLWRITELINE) ? "\r\n" : "\n", stdout); bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 6510 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6475 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 325: -#line 2952 "rwlparser.y" /* yacc.c:1646 */ +#line 2911 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6521 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6486 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 327: -#line 2960 "rwlparser.y" /* yacc.c:1646 */ +#line 2919 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6532,11 +6497,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_CQNBREAK); } } -#line 6536 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6501 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 328: -#line 2971 "rwlparser.y" /* yacc.c:1646 */ +#line 2930 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6571,11 +6536,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6575 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6540 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 329: -#line 3007 "rwlparser.y" /* yacc.c:1646 */ +#line 2966 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6611,11 +6576,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6615 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6580 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 330: -#line 3044 "rwlparser.y" /* yacc.c:1646 */ +#line 3003 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6654,11 +6619,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_DONE_IN_MAIN, "writelob"); } } -#line 6658 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6623 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 331: -#line 3084 "rwlparser.y" /* yacc.c:1646 */ +#line 3043 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_CBLOCK)) { @@ -6675,11 +6640,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m2flags, RWL_P2_THROPTS); /* clear all thread option flas */ bis(rwm->m2flags, RWL_P2_CBLOCK); } -#line 6679 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6644 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 332: -#line 3101 "rwlparser.y" /* yacc.c:1646 */ +#line 3060 "rwlparser.y" /* yacc.c:1646 */ { if(!rwm->stoptime && !rwm->stopcount) { @@ -6700,11 +6665,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 6704 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6669 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 333: -#line 3124 "rwlparser.y" /* yacc.c:1646 */ +#line 3083 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_CBLOCK_BAD)) rwlloopfinish(rwm); @@ -6722,26 +6687,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6726 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6691 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 334: -#line 3143 "rwlparser.y" /* yacc.c:1646 */ +#line 3102 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_AFTER_IDENTIFIER); yyerrok; } -#line 6735 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6700 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 335: -#line 3150 "rwlparser.y" /* yacc.c:1646 */ +#line 3109 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 6741 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6706 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 336: -#line 3156 "rwlparser.y" /* yacc.c:1646 */ +#line 3115 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6765,28 +6730,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6769 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6734 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 337: -#line 3180 "rwlparser.y" /* yacc.c:1646 */ +#line 3139 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobwritedata = rwlexprfinish(rwm); rwm->loboffset = 0; } -#line 6778 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6743 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 339: -#line 3189 "rwlparser.y" /* yacc.c:1646 */ +#line 3148 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6786 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6751 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 340: -#line 3196 "rwlparser.y" /* yacc.c:1646 */ +#line 3155 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6809,11 +6774,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6813 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6778 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 341: -#line 3219 "rwlparser.y" /* yacc.c:1646 */ +#line 3178 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->loboffset = 0; @@ -6835,27 +6800,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6839 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6804 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 343: -#line 3245 "rwlparser.y" /* yacc.c:1646 */ +#line 3204 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobreadlength = rwlexprfinish(rwm); } -#line 6847 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6812 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 344: -#line 3249 "rwlparser.y" /* yacc.c:1646 */ +#line 3208 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6855 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6820 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 345: -#line 3255 "rwlparser.y" /* yacc.c:1646 */ +#line 3214 "rwlparser.y" /* yacc.c:1646 */ { /* simple sql execute */ sb4 l; @@ -7001,11 +6966,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->loc.errlin = 0; } -#line 7005 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6970 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 346: -#line 3405 "rwlparser.y" /* yacc.c:1646 */ +#line 3364 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; @@ -7115,11 +7080,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); failurecursor: rwm->loc.errlin = 0; } -#line 7119 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7084 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 347: -#line 3517 "rwlparser.y" /* yacc.c:1646 */ +#line 3476 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -7152,27 +7117,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->loc.errlin = 0; } -#line 7156 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7121 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 348: -#line 3553 "rwlparser.y" /* yacc.c:1646 */ +#line 3512 "rwlparser.y" /* yacc.c:1646 */ { // This syntax is not documented bic(rwm->m3flags, RWL_P3_CLHEADFOR); rwlerror(rwm, RWL_ERROR_LEGACY_CONTROLLOOP_SYNTAX); } -#line 7166 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7131 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 349: -#line 3558 "rwlparser.y" /* yacc.c:1646 */ +#line 3517 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7172 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7137 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 350: -#line 3562 "rwlparser.y" /* yacc.c:1646 */ +#line 3521 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document these two (legacy) syntax: // loop option .. .. ; @@ -7185,41 +7150,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // legacy and current syntax are mixed. bic(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7189 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7154 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 351: -#line 3578 "rwlparser.y" /* yacc.c:1646 */ +#line 3537 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7197 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7162 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 352: -#line 3582 "rwlparser.y" /* yacc.c:1646 */ +#line 3541 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7205 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7170 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 353: -#line 3586 "rwlparser.y" /* yacc.c:1646 */ +#line 3545 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7213 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7178 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 356: -#line 3597 "rwlparser.y" /* yacc.c:1646 */ +#line 3556 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7219 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7184 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 357: -#line 3599 "rwlparser.y" /* yacc.c:1646 */ +#line 3558 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->starttime) { @@ -7232,17 +7197,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->starttime = rwlexprfinish(rwm); } } -#line 7236 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7201 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 358: -#line 3611 "rwlparser.y" /* yacc.c:1646 */ +#line 3570 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7242 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7207 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 359: -#line 3613 "rwlparser.y" /* yacc.c:1646 */ +#line 3572 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7257,17 +7222,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bis(rwm->m2flags, RWL_P2_STOP); } } -#line 7261 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7226 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 360: -#line 3627 "rwlparser.y" /* yacc.c:1646 */ +#line 3586 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7267 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7232 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 361: -#line 3629 "rwlparser.y" /* yacc.c:1646 */ +#line 3588 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7282,17 +7247,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bic(rwm->m2flags, RWL_P2_STOP); } } -#line 7286 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7251 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 362: -#line 3643 "rwlparser.y" /* yacc.c:1646 */ +#line 3602 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7292 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7257 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 363: -#line 3645 "rwlparser.y" /* yacc.c:1646 */ +#line 3604 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7305,17 +7270,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->waittime = rwlexprfinish(rwm); } } -#line 7309 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7274 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 364: -#line 3657 "rwlparser.y" /* yacc.c:1646 */ +#line 3616 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7315 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7280 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 365: -#line 3659 "rwlparser.y" /* yacc.c:1646 */ +#line 3618 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7341,55 +7306,55 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->everytime = rwlexprfinish(rwm); } } -#line 7345 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7310 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 366: -#line 3688 "rwlparser.y" /* yacc.c:1646 */ +#line 3647 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = 0; } -#line 7351 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7316 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 367: -#line 3689 "rwlparser.y" /* yacc.c:1646 */ +#line 3648 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_QUEUE_EVERY; } -#line 7357 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7322 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 368: -#line 3690 "rwlparser.y" /* yacc.c:1646 */ +#line 3649 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_NOQUEUE_EVERY; } -#line 7363 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7328 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 369: -#line 3694 "rwlparser.y" /* yacc.c:1646 */ +#line 3653 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7372 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7337 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 370: -#line 3699 "rwlparser.y" /* yacc.c:1646 */ +#line 3658 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7381 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7346 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 371: -#line 3704 "rwlparser.y" /* yacc.c:1646 */ +#line 3663 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7389 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7354 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 372: -#line 3708 "rwlparser.y" /* yacc.c:1646 */ +#line 3667 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); // lookahead may have consumed the next identifier @@ -7397,20 +7362,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam; } -#line 7401 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7366 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 373: -#line 3716 "rwlparser.y" /* yacc.c:1646 */ +#line 3675 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7410 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7375 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 374: -#line 3725 "rwlparser.y" /* yacc.c:1646 */ +#line 3684 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; rwm->sqllino = rwm->sqltlin; // the line where we started sql scan @@ -7425,11 +7390,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->scname = rwm->sqname = rwlstrdup(rwm, sqlnam); rwm->sqllen = 0; } -#line 7429 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7394 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 375: -#line 3740 "rwlparser.y" /* yacc.c:1646 */ +#line 3699 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); @@ -7457,11 +7422,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); rwm->sqlfile = 0; /* not from a file */ } -#line 7461 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7426 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 376: -#line 3772 "rwlparser.y" /* yacc.c:1646 */ +#line 3731 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; snprintf((char *)sqlnam, sizeof(sqlnam), "sql#%05d", rwm->mxq->varcount); @@ -7475,11 +7440,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->msqlstk = 0; } -#line 7479 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7444 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 377: -#line 3787 "rwlparser.y" /* yacc.c:1646 */ +#line 3746 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMEDSQL); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); @@ -7487,11 +7452,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (bit(rwm->m3flags,RWL_P3_IMPLCASE)) bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); } -#line 7491 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7456 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 378: -#line 3796 "rwlparser.y" /* yacc.c:1646 */ +#line 3755 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_IMMISDYN) && bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -7528,26 +7493,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); cannotdoimm: ; } -#line 7532 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7497 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 380: -#line 3834 "rwlparser.y" /* yacc.c:1646 */ +#line 3793 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG) ; yyerrok; } -#line 7541 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7506 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 382: -#line 3842 "rwlparser.y" /* yacc.c:1646 */ +#line 3801 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7547 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7512 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 383: -#line 3843 "rwlparser.y" /* yacc.c:1646 */ +#line 3802 "rwlparser.y" /* yacc.c:1646 */ { if ((rwm->msqlstk = rwlexprfinish(rwm))) bis(rwm->m3flags, RWL_P3_IMMISDYN); // now dynamic @@ -7557,99 +7522,99 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 7561 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7526 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 384: -#line 3855 "rwlparser.y" /* yacc.c:1646 */ +#line 3814 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno; } -#line 7569 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7534 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 388: -#line 3864 "rwlparser.y" /* yacc.c:1646 */ +#line 3823 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "sql") ; } -#line 7577 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7542 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 391: -#line 3875 "rwlparser.y" /* yacc.c:1646 */ +#line 3834 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7585 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7550 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 392: -#line 3879 "rwlparser.y" /* yacc.c:1646 */ +#line 3838 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7594 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7559 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 393: -#line 3887 "rwlparser.y" /* yacc.c:1646 */ +#line 3846 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7602 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7567 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 394: -#line 3891 "rwlparser.y" /* yacc.c:1646 */ +#line 3850 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7610 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7575 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 395: -#line 3895 "rwlparser.y" /* yacc.c:1646 */ +#line 3854 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7619 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7584 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 397: -#line 3905 "rwlparser.y" /* yacc.c:1646 */ +#line 3864 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = 0; bis(rwm->m2flags, RWL_P2_ATDEFAULT); /* explict choose standard DB */ } -#line 7628 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7593 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 398: -#line 3911 "rwlparser.y" /* yacc.c:1646 */ +#line 3870 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); /* named DB */ } -#line 7637 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7602 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 399: -#line 3916 "rwlparser.y" /* yacc.c:1646 */ +#line 3875 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_DATABASE_NAME); yyerrok; } -#line 7643 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7608 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 400: -#line 3918 "rwlparser.y" /* yacc.c:1646 */ +#line 3877 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 7649 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7614 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 403: -#line 3926 "rwlparser.y" /* yacc.c:1646 */ +#line 3885 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename || bit(rwm->addvarbits,RWL_IDENT_PRIVATE)) { @@ -7675,11 +7640,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 7679 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7644 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 404: -#line 3952 "rwlparser.y" /* yacc.c:1646 */ +#line 3911 "rwlparser.y" /* yacc.c:1646 */ { // if compiling first file, see if there is a user arg if (bit(rwm->m2flags, RWL_P2_SCANFIRST) && rwm->decvarn >= 0) @@ -7752,20 +7717,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); donewithuserarg: ; } -#line 7756 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7721 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 406: -#line 4029 "rwlparser.y" /* yacc.c:1646 */ +#line 3988 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 7765 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7730 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 407: -#line 4034 "rwlparser.y" /* yacc.c:1646 */ +#line 3993 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->dtype) @@ -7812,11 +7777,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 7816 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7781 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 412: -#line 4097 "rwlparser.y" /* yacc.c:1646 */ +#line 4056 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7831,22 +7796,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_IF, estk); } -#line 7835 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7800 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 413: -#line 4112 "rwlparser.y" /* yacc.c:1646 */ +#line 4071 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7846 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7811 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 414: -#line 4121 "rwlparser.y" /* yacc.c:1646 */ +#line 4080 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7861,38 +7826,38 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_ELSEIF, estk); } -#line 7865 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7830 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 415: -#line 4136 "rwlparser.y" /* yacc.c:1646 */ +#line 4095 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7876 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7841 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 416: -#line 4145 "rwlparser.y" /* yacc.c:1646 */ +#line 4104 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LEGACY_WHILE_SYNTAX); } -#line 7884 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7849 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 417: -#line 4149 "rwlparser.y" /* yacc.c:1646 */ +#line 4108 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_WHILOP); } -#line 7892 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7857 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 418: -#line 4155 "rwlparser.y" /* yacc.c:1646 */ +#line 4114 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7909,33 +7874,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 7913 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7878 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 419: -#line 4172 "rwlparser.y" /* yacc.c:1646 */ +#line 4131 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7924 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7889 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 420: -#line 4179 "rwlparser.y" /* yacc.c:1646 */ +#line 4138 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_KEYWORD, "loop"); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7935 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7900 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 425: -#line 4196 "rwlparser.y" /* yacc.c:1646 */ +#line 4155 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -7951,120 +7916,120 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); nothreadssum: ; } -#line 7955 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7920 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 426: -#line 4212 "rwlparser.y" /* yacc.c:1646 */ +#line 4171 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlerror(rwm, RWL_ERROR_NO_LOCAL_SUMGLOB); else bis(rwm->addvarbits,RWL_IDENT_GLOBAL); } -#line 7966 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7931 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 427: -#line 4222 "rwlparser.y" /* yacc.c:1646 */ +#line 4181 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 7976 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7941 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 428: -#line 4228 "rwlparser.y" /* yacc.c:1646 */ +#line 4187 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 7985 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7950 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 429: -#line 4236 "rwlparser.y" /* yacc.c:1646 */ +#line 4195 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 7995 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7960 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 430: -#line 4242 "rwlparser.y" /* yacc.c:1646 */ +#line 4201 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8004 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7969 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 431: -#line 4250 "rwlparser.y" /* yacc.c:1646 */ +#line 4209 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8014 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7979 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 432: -#line 4256 "rwlparser.y" /* yacc.c:1646 */ +#line 4215 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8023 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7988 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 433: -#line 4264 "rwlparser.y" /* yacc.c:1646 */ +#line 4223 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8032 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7997 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 434: -#line 4269 "rwlparser.y" /* yacc.c:1646 */ +#line 4228 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8040 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8005 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 435: -#line 4275 "rwlparser.y" /* yacc.c:1646 */ +#line 4234 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_CLOB; } -#line 8046 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8011 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 436: -#line 4276 "rwlparser.y" /* yacc.c:1646 */ +#line 4235 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_BLOB; } -#line 8052 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8017 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 437: -#line 4277 "rwlparser.y" /* yacc.c:1646 */ +#line 4236 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_NCLOB; } -#line 8058 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8023 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 438: -#line 4281 "rwlparser.y" /* yacc.c:1646 */ +#line 4240 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8064 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8029 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 439: -#line 4282 "rwlparser.y" /* yacc.c:1646 */ +#line 4241 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8074,25 +8039,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8078 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8043 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 441: -#line 4293 "rwlparser.y" /* yacc.c:1646 */ +#line 4252 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8086 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8051 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 442: -#line 4296 "rwlparser.y" /* yacc.c:1646 */ +#line 4255 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8092 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8057 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 443: -#line 4297 "rwlparser.y" /* yacc.c:1646 */ +#line 4256 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bic(rwm->m2flags, RWL_P2_BADSQLFILTXT); @@ -8101,19 +8066,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8105 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8070 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 445: -#line 4307 "rwlparser.y" /* yacc.c:1646 */ +#line 4266 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8113 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8078 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 448: -#line 4317 "rwlparser.y" /* yacc.c:1646 */ +#line 4276 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; @@ -8159,11 +8124,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8163 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8128 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 449: -#line 4364 "rwlparser.y" /* yacc.c:1646 */ +#line 4323 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; @@ -8194,11 +8159,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_SQL_ARRAY_AND_IGNERR); } -#line 8198 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8163 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 450: -#line 4398 "rwlparser.y" /* yacc.c:1646 */ +#line 4357 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -8207,11 +8172,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 8211 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8176 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 452: -#line 4411 "rwlparser.y" /* yacc.c:1646 */ +#line 4370 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; ub4 iflag = bit(rwm->m3flags, RWL_P3_IMMEDSQL) ? RWL_IDENT_INTERNAL : 0; @@ -8285,11 +8250,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8289 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8254 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 453: -#line 4489 "rwlparser.y" /* yacc.c:1646 */ +#line 4448 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; ub4 notyetcount = 0; @@ -8382,53 +8347,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8386 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8351 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 457: -#line 4592 "rwlparser.y" /* yacc.c:1646 */ +#line 4551 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BIND); yyerrok; } -#line 8392 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8357 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 459: -#line 4596 "rwlparser.y" /* yacc.c:1646 */ +#line 4555 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BINDOUT); yyerrok; } -#line 8398 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8363 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 461: -#line 4600 "rwlparser.y" /* yacc.c:1646 */ +#line 4559 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DEFINE); yyerrok; } -#line 8404 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8369 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 462: -#line 4602 "rwlparser.y" /* yacc.c:1646 */ +#line 4561 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_IGNERR); } -#line 8412 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8377 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 463: -#line 4606 "rwlparser.y" /* yacc.c:1646 */ +#line 4565 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8420 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8385 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 464: -#line 4610 "rwlparser.y" /* yacc.c:1646 */ +#line 4569 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8428 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8393 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 465: -#line 4615 "rwlparser.y" /* yacc.c:1646 */ +#line 4574 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) { @@ -8446,34 +8411,34 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqsav->asiz = (ub4)rwm->pval.ival; } } -#line 8450 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8415 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 466: -#line 4634 "rwlparser.y" /* yacc.c:1646 */ +#line 4593 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ARRAY); yyerrok; } -#line 8456 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8421 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 467: -#line 4639 "rwlparser.y" /* yacc.c:1646 */ +#line 4598 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON_IN_SQL); } -#line 8462 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8427 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 470: -#line 4645 "rwlparser.y" /* yacc.c:1646 */ +#line 4604 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQFLAG_DYNAMIC)) rwlerror(rwm, RWL_ERROR_DEFINE_ARRAY_NOT_DYNAMIC); else bis(rwm->sqsav->flags, RWL_SQFLAG_ARRAYD); } -#line 8473 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8438 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 473: -#line 4659 "rwlparser.y" /* yacc.c:1646 */ +#line 4618 "rwlparser.y" /* yacc.c:1646 */ { // Note that it would not be too hard to replace // the integer constant here by an expression @@ -8481,27 +8446,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // can be done with modify sql for dynamic sql rwm->bdpos = rwm->ival; rwm->bdtyp=RWL_DEFINE; } -#line 8485 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8450 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 475: -#line 4668 "rwlparser.y" /* yacc.c:1646 */ +#line 4627 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "define"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); } -#line 8495 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8460 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 478: -#line 4682 "rwlparser.y" /* yacc.c:1646 */ +#line 4641 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BINDOUT_NAME; } -#line 8501 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8466 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 480: -#line 4684 "rwlparser.y" /* yacc.c:1646 */ +#line 4643 "rwlparser.y" /* yacc.c:1646 */ { // We could also use expression here, but we would // of course need to check it was either a non-negative number @@ -8509,61 +8474,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BINDOUT_POS; } -#line 8513 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8478 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 482: -#line 4692 "rwlparser.y" /* yacc.c:1646 */ +#line 4651 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BINDOUT_SAME; } -#line 8521 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8486 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 484: -#line 4696 "rwlparser.y" /* yacc.c:1646 */ +#line 4655 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_IMPLICIT_NOT_BINDOUT); } -#line 8529 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8494 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 487: -#line 4707 "rwlparser.y" /* yacc.c:1646 */ +#line 4666 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BIND_NAME; } -#line 8535 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8500 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 489: -#line 4709 "rwlparser.y" /* yacc.c:1646 */ +#line 4668 "rwlparser.y" /* yacc.c:1646 */ { // same comment as above rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BIND_POS; } -#line 8545 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8510 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 491: -#line 4715 "rwlparser.y" /* yacc.c:1646 */ +#line 4674 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BIND_SAME; } -#line 8553 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8518 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 493: -#line 4719 "rwlparser.y" /* yacc.c:1646 */ +#line 4678 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "bind"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); } -#line 8563 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8528 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 494: -#line 4728 "rwlparser.y" /* yacc.c:1646 */ +#line 4687 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; bd = rwlalloc(rwm, sizeof(rwl_bindef)); @@ -8657,41 +8622,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8661 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8626 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 495: -#line 4824 "rwlparser.y" /* yacc.c:1646 */ +#line 4783 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "runseconds", "bind/define"); } -#line 8670 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8635 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 496: -#line 4829 "rwlparser.y" /* yacc.c:1646 */ +#line 4788 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "epochseconds", "bind/define"); } -#line 8679 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8644 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 497: -#line 4833 "rwlparser.y" /* yacc.c:1646 */ +#line 4792 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8685 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8650 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 498: -#line 4834 "rwlparser.y" /* yacc.c:1646 */ +#line 4793 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8691 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8656 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 499: -#line 4838 "rwlparser.y" /* yacc.c:1646 */ +#line 4797 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8708,11 +8673,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8712 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8677 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 500: -#line 4855 "rwlparser.y" /* yacc.c:1646 */ +#line 4814 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8729,11 +8694,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8733 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8698 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 501: -#line 4872 "rwlparser.y" /* yacc.c:1646 */ +#line 4831 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8750,11 +8715,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8754 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8719 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 502: -#line 4889 "rwlparser.y" /* yacc.c:1646 */ +#line 4848 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8777,17 +8742,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8781 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8746 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 503: -#line 4911 "rwlparser.y" /* yacc.c:1646 */ +#line 4870 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8787 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8752 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 504: -#line 4912 "rwlparser.y" /* yacc.c:1646 */ +#line 4871 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8818,11 +8783,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8822 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8787 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 505: -#line 4943 "rwlparser.y" /* yacc.c:1646 */ +#line 4902 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8843,17 +8808,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8847 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8812 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 506: -#line 4963 "rwlparser.y" /* yacc.c:1646 */ +#line 4922 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8853 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8818 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 507: -#line 4964 "rwlparser.y" /* yacc.c:1646 */ +#line 4923 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0 && (rwm->msqlstk = rwlexprfinish(rwm))) { @@ -8875,11 +8840,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8879 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8844 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 508: -#line 4986 "rwlparser.y" /* yacc.c:1646 */ +#line 4945 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8894,11 +8859,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8898 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8863 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 510: -#line 5001 "rwlparser.y" /* yacc.c:1646 */ +#line 4960 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8913,11 +8878,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8917 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8882 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 512: -#line 5016 "rwlparser.y" /* yacc.c:1646 */ +#line 4975 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8932,23 +8897,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8936 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8901 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 516: -#line 5036 "rwlparser.y" /* yacc.c:1646 */ +#line 4995 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8942 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8907 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 517: -#line 5038 "rwlparser.y" /* yacc.c:1646 */ +#line 4997 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlstk = rwlexprfinish(rwm); } -#line 8948 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8913 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 518: -#line 5040 "rwlparser.y" /* yacc.c:1646 */ +#line 4999 "rwlparser.y" /* yacc.c:1646 */ { sb4 l2; rwl_sql *sq; @@ -8999,11 +8964,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 9003 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8968 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 519: -#line 5093 "rwlparser.y" /* yacc.c:1646 */ +#line 5052 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; rwl_estack *estk; @@ -9033,21 +8998,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbcache: ; } -#line 9037 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9002 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 520: -#line 5123 "rwlparser.y" /* yacc.c:1646 */ +#line 5082 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbsphi = rwm->mdbsplo = rwlexprfinish(rwm); if (!rwm->mdbsplo) rwlexprclear(rwm); } -#line 9047 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9012 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 521: -#line 5129 "rwlparser.y" /* yacc.c:1646 */ +#line 5088 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; // are lo/hi good @@ -9076,20 +9041,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbpool: rwm->mdbsphi = rwm->mdbsplo = 0; } -#line 9080 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9045 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 523: -#line 5161 "rwlparser.y" /* yacc.c:1646 */ +#line 5120 "rwlparser.y" /* yacc.c:1646 */ { if (!(rwm->mdbsphi = rwlexprfinish(rwm))) rwlexprclear(rwm); } -#line 9089 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9054 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 524: -#line 5168 "rwlparser.y" /* yacc.c:1646 */ +#line 5127 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9109,23 +9074,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9113 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9078 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 526: -#line 5191 "rwlparser.y" /* yacc.c:1646 */ +#line 5150 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9119 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9084 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 527: -#line 5192 "rwlparser.y" /* yacc.c:1646 */ +#line 5151 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9125 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9090 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 528: -#line 5196 "rwlparser.y" /* yacc.c:1646 */ +#line 5155 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->strvarn = RWL_VAR_NOTFOUND; @@ -9145,11 +9110,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->conhead = rwm->contail = 0; } -#line 9149 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9114 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 529: -#line 5216 "rwlparser.y" /* yacc.c:1646 */ +#line 5175 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpupu(rwm, RWL_CODE_SPRINTF, rwm->strvnam @@ -9163,11 +9128,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9167 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9132 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 530: -#line 5234 "rwlparser.y" /* yacc.c:1646 */ +#line 5193 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9186,19 +9151,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9190 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9155 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 532: -#line 5256 "rwlparser.y" /* yacc.c:1646 */ +#line 5215 "rwlparser.y" /* yacc.c:1646 */ { rwm->conhead = rwm->contail = 0; } -#line 9198 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9163 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 533: -#line 5260 "rwlparser.y" /* yacc.c:1646 */ +#line 5219 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpup(rwm, RWL_CODE_FPRINTF, rwm->filenam @@ -9219,11 +9184,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9223 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9188 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 536: -#line 5288 "rwlparser.y" /* yacc.c:1646 */ +#line 5247 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwl_conlist *newcon; @@ -9242,11 +9207,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9246 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9211 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 537: -#line 5309 "rwlparser.y" /* yacc.c:1646 */ +#line 5268 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9267,11 +9232,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->mflags,RWL_P_PRINTLINE); } -#line 9271 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9236 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 538: -#line 5331 "rwlparser.y" /* yacc.c:1646 */ +#line 5290 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9292,35 +9257,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_PRINTLINE); } -#line 9296 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9261 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 539: -#line 5355 "rwlparser.y" /* yacc.c:1646 */ +#line 5314 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9305 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9270 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 540: -#line 5360 "rwlparser.y" /* yacc.c:1646 */ +#line 5319 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9314 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9279 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 542: -#line 5368 "rwlparser.y" /* yacc.c:1646 */ +#line 5327 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTBLANK); } -#line 9320 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9285 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 544: -#line 5373 "rwlparser.y" /* yacc.c:1646 */ +#line 5332 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -9378,11 +9343,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9382 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9347 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 545: -#line 5434 "rwlparser.y" /* yacc.c:1646 */ +#line 5393 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mflags,RWL_P_PRINTLINE)) { @@ -9414,11 +9379,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 9418 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9383 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 546: -#line 5469 "rwlparser.y" /* yacc.c:1646 */ +#line 5428 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -9429,11 +9394,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ; } } -#line 9433 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9398 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 547: -#line 5484 "rwlparser.y" /* yacc.c:1646 */ +#line 5443 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->assignoper) @@ -9476,95 +9441,95 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9480 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9445 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 548: -#line 5527 "rwlparser.y" /* yacc.c:1646 */ +#line 5486 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 9490 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9455 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 550: -#line 5537 "rwlparser.y" /* yacc.c:1646 */ +#line 5496 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 9499 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9464 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 551: -#line 5544 "rwlparser.y" /* yacc.c:1646 */ +#line 5503 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASSIGN; } -#line 9505 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9470 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 552: -#line 5545 "rwlparser.y" /* yacc.c:1646 */ +#line 5504 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_GREATEQ; } -#line 9511 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9476 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 553: -#line 5546 "rwlparser.y" /* yacc.c:1646 */ +#line 5505 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_RSHIFTASSIGN; } -#line 9517 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9482 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 554: -#line 5547 "rwlparser.y" /* yacc.c:1646 */ +#line 5506 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_LESSEQ; } -#line 9523 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9488 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 555: -#line 5548 "rwlparser.y" /* yacc.c:1646 */ +#line 5507 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPEFROM; } -#line 9529 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9494 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 556: -#line 5549 "rwlparser.y" /* yacc.c:1646 */ +#line 5508 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPETO; } -#line 9535 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9500 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 558: -#line 5553 "rwlparser.y" /* yacc.c:1646 */ +#line 5512 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_APPEND; } -#line 9541 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9506 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 559: -#line 5554 "rwlparser.y" /* yacc.c:1646 */ +#line 5513 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNADD; } -#line 9547 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9512 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 560: -#line 5555 "rwlparser.y" /* yacc.c:1646 */ +#line 5514 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNSUB; } -#line 9553 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9518 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 561: -#line 5562 "rwlparser.y" /* yacc.c:1646 */ +#line 5521 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } -#line 9564 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9529 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 562: -#line 5569 "rwlparser.y" /* yacc.c:1646 */ +#line 5528 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; sb4 l; @@ -9590,11 +9555,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllityp[rwm->rsldepth] = RWL_LI_DOTDOT; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 9594 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9559 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 564: -#line 5595 "rwlparser.y" /* yacc.c:1646 */ +#line 5554 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeadd0(rwm, RWL_CODE_LIBEG); rwm->rsllihead[rwm->rsldepth] @@ -9607,11 +9572,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); rwm->rsllitail[rwm->rsldepth]->listk = rwlexprfinish(rwm); } -#line 9611 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9576 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 566: -#line 5609 "rwlparser.y" /* yacc.c:1646 */ +#line 5568 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwlexprclear(rwm); @@ -9621,11 +9586,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); yyerrok; } -#line 9625 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9590 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 569: -#line 5628 "rwlparser.y" /* yacc.c:1646 */ +#line 5587 "rwlparser.y" /* yacc.c:1646 */ { rwl_lilist *thisli = rwlalloc(rwm, sizeof(rwl_lilist)); rwlexprpush(rwm, rwm->loopvar[rwm->rsldepth], RWL_STACK_ASN); @@ -9633,61 +9598,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllitail[rwm->rsldepth]->linxt = thisli; rwm->rsllitail[rwm->rsldepth] = thisli; } -#line 9637 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9602 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 572: -#line 5648 "rwlparser.y" /* yacc.c:1646 */ +#line 5607 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 9646 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9611 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 573: -#line 5653 "rwlparser.y" /* yacc.c:1646 */ +#line 5612 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 9654 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9619 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 576: -#line 5662 "rwlparser.y" /* yacc.c:1646 */ +#line 5621 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "execute") ; } -#line 9660 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9625 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 579: -#line 5669 "rwlparser.y" /* yacc.c:1646 */ +#line 5628 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; } -#line 9666 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9631 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 582: -#line 5676 "rwlparser.y" /* yacc.c:1646 */ +#line 5635 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "if") ; yyerrok; } -#line 9672 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9637 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 585: -#line 5683 "rwlparser.y" /* yacc.c:1646 */ +#line 5642 "rwlparser.y" /* yacc.c:1646 */ { if (0 != rwlstrcmp(rwm->inam, rwm->sqname)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname); } -#line 9681 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9646 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 586: -#line 5688 "rwlparser.y" /* yacc.c:1646 */ +#line 5647 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname) ; yyerrok; } -#line 9687 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9652 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 588: -#line 5694 "rwlparser.y" /* yacc.c:1646 */ +#line 5653 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile1]"); @@ -9698,11 +9663,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop"); } } -#line 9702 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9667 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 589: -#line 5705 "rwlparser.y" /* yacc.c:1646 */ +#line 5664 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile2]"); @@ -9713,11 +9678,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while"); } } -#line 9717 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9682 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 590: -#line 5716 "rwlparser.y" /* yacc.c:1646 */ +#line 5675 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->rslflags[rwm->rsldepth-1], RWL_RSLFLAG_WHILOP)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; @@ -9725,27 +9690,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while") ; yyerrok; } -#line 9729 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9694 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 591: -#line 5727 "rwlparser.y" /* yacc.c:1646 */ +#line 5686 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = 0; } -#line 9737 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9702 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 592: -#line 5732 "rwlparser.y" /* yacc.c:1646 */ +#line 5691 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = rwlexprfinish(rwm); } -#line 9745 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9710 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 594: -#line 5739 "rwlparser.y" /* yacc.c:1646 */ +#line 5698 "rwlparser.y" /* yacc.c:1646 */ { char plsword[6]; /* check for "begin" or "decla" or "--" */ ub4 sb, pb, len; @@ -9800,28 +9765,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_SQLWASPLS); rwlerror(rwm, RWL_ERROR_WARN_COMPILETIME_SQLTEXT, rwm->sqname); } -#line 9804 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9769 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 595: -#line 5796 "rwlparser.y" /* yacc.c:1646 */ +#line 5755 "rwlparser.y" /* yacc.c:1646 */ { rwm->loc.errlin = 0; rwm->sqlfile = 0; /* not from a file */ } -#line 9813 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9778 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 596: -#line 5801 "rwlparser.y" /* yacc.c:1646 */ +#line 5760 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9821 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9786 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 597: -#line 5805 "rwlparser.y" /* yacc.c:1646 */ +#line 5764 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; FILE *f ; @@ -9902,11 +9867,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9906 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9871 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 598: -#line 5888 "rwlparser.y" /* yacc.c:1646 */ +#line 5847 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9926,11 +9891,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 9930 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9895 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 599: -#line 5908 "rwlparser.y" /* yacc.c:1646 */ +#line 5867 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) // everything is good { @@ -9953,50 +9918,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9957 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9922 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 600: -#line 5932 "rwlparser.y" /* yacc.c:1646 */ +#line 5891 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BAD_READLINE); yyerrok; } -#line 9966 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9931 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 601: -#line 5939 "rwlparser.y" /* yacc.c:1646 */ +#line 5898 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = rwm->sub_estk = 0; } -#line 9972 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9937 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 602: -#line 5941 "rwlparser.y" /* yacc.c:1646 */ +#line 5900 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 9980 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9945 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 603: -#line 5945 "rwlparser.y" /* yacc.c:1646 */ +#line 5904 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); } -#line 9988 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9953 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 604: -#line 5949 "rwlparser.y" /* yacc.c:1646 */ +#line 5908 "rwlparser.y" /* yacc.c:1646 */ { rwm->sub_estk = rwlexprfinish(rwm); } -#line 9996 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9961 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 605: -#line 5953 "rwlparser.y" /* yacc.c:1646 */ +#line 5912 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->reg_estk && rwm->str_estk && rwm->sub_estk) { @@ -10035,60 +10000,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10039 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10004 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 606: -#line 5992 "rwlparser.y" /* yacc.c:1646 */ +#line 5951 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10049 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10014 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 607: -#line 6001 "rwlparser.y" /* yacc.c:1646 */ +#line 5960 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10057 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10022 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 608: -#line 6005 "rwlparser.y" /* yacc.c:1646 */ +#line 5964 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10065 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10030 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 609: -#line 6011 "rwlparser.y" /* yacc.c:1646 */ +#line 5970 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10071 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10036 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 610: -#line 6013 "rwlparser.y" /* yacc.c:1646 */ +#line 5972 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10079 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10044 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 611: -#line 6017 "rwlparser.y" /* yacc.c:1646 */ +#line 5976 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10088 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10053 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 612: -#line 6022 "rwlparser.y" /* yacc.c:1646 */ +#line 5981 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10121,44 +10086,44 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10125 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10090 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 613: -#line 6056 "rwlparser.y" /* yacc.c:1646 */ +#line 6015 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10135 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10100 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 614: -#line 6065 "rwlparser.y" /* yacc.c:1646 */ +#line 6024 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10141 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10106 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 615: -#line 6067 "rwlparser.y" /* yacc.c:1646 */ +#line 6026 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10149 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10114 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 616: -#line 6071 "rwlparser.y" /* yacc.c:1646 */ +#line 6030 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10158 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10123 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 617: -#line 6076 "rwlparser.y" /* yacc.c:1646 */ +#line 6035 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10191,21 +10156,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10195 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10160 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 618: -#line 6110 "rwlparser.y" /* yacc.c:1646 */ +#line 6069 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10205 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10170 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 621: -#line 6123 "rwlparser.y" /* yacc.c:1646 */ +#line 6082 "rwlparser.y" /* yacc.c:1646 */ { rwl_idlist *newid = rwlalloc(rwm, sizeof(rwl_idlist)); @@ -10246,22 +10211,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10250 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10215 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 622: -#line 6166 "rwlparser.y" /* yacc.c:1646 */ +#line 6125 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that the system expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 10261 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10226 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 623: -#line 6175 "rwlparser.y" /* yacc.c:1646 */ +#line 6134 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -10277,11 +10242,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10281 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10246 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 624: -#line 6200 "rwlparser.y" /* yacc.c:1646 */ +#line 6159 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->threadlist) rwlsevere(rwm, "[rwlparser-thrlistnotclean]"); @@ -10292,11 +10257,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->totthr = 0; } -#line 10296 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10261 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 625: -#line 6212 "rwlparser.y" /* yacc.c:1646 */ +#line 6171 "rwlparser.y" /* yacc.c:1646 */ { rwl_thrinfo *next; rwm->loc.errlin = rwm->lexlino; @@ -10315,26 +10280,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->threadlist = rwm->mythr = 0; rwm->loc.errlin = 0; } -#line 10319 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10284 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 626: -#line 6231 "rwlparser.y" /* yacc.c:1646 */ +#line 6190 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10325 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10290 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 631: -#line 6245 "rwlparser.y" /* yacc.c:1646 */ +#line 6204 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->cqnstop = 0.0; rwm->cqnnow = rwlclock(rwm->mxq,0); } -#line 10334 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10299 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 632: -#line 6250 "rwlparser.y" /* yacc.c:1646 */ +#line 6209 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *cp; sb4 l; @@ -10358,11 +10323,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10362 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10327 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 633: -#line 6275 "rwlparser.y" /* yacc.c:1646 */ +#line 6234 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstop = rwm->pval.dval; if (rwm->cqnstop < rwm->cqnstart || rwm->cqnstop < rwm->cqnnow) @@ -10371,11 +10336,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->cqnat = 0; } } -#line 10375 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10340 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 634: -#line 6284 "rwlparser.y" /* yacc.c:1646 */ +#line 6243 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->cqnat) { @@ -10427,11 +10392,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; rwm->mythr->dbnam = rwm->cqnat; } -#line 10431 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10396 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 635: -#line 6336 "rwlparser.y" /* yacc.c:1646 */ +#line 6295 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->cqnat) // no errors above { @@ -10456,11 +10421,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m4flags, RWL_P4_PROCHASSQL); } -#line 10460 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10425 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 636: -#line 6361 "rwlparser.y" /* yacc.c:1646 */ +#line 6320 "rwlparser.y" /* yacc.c:1646 */ { rwlcodehead(rwm, 0); if (rwm->cqnat) // No error above @@ -10488,37 +10453,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_CQNTHEN; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10492 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10457 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 637: -#line 6389 "rwlparser.y" /* yacc.c:1646 */ +#line 6348 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeaddu(rwm, RWL_CODE_CQNISCB, 0); // Is in callback rwlcodetail(rwm); } -#line 10501 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10466 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 641: -#line 6400 "rwlparser.y" /* yacc.c:1646 */ +#line 6359 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "querynotification"); yyerrok; } -#line 10510 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10475 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 643: -#line 6409 "rwlparser.y" /* yacc.c:1646 */ +#line 6368 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->pval.dval; } -#line 10518 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10483 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 644: -#line 6416 "rwlparser.y" /* yacc.c:1646 */ +#line 6375 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m4flags, RWL_P4_PROCHASSQL); if (rwm->pval.ival < 0) @@ -10534,45 +10499,45 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_THREAD; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10538 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10503 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 645: -#line 6434 "rwlparser.y" /* yacc.c:1646 */ +#line 6393 "rwlparser.y" /* yacc.c:1646 */ { rwlcodetail(rwm); } -#line 10546 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10511 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 647: -#line 6439 "rwlparser.y" /* yacc.c:1646 */ +#line 6398 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10552 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10517 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 649: -#line 6444 "rwlparser.y" /* yacc.c:1646 */ +#line 6403 "rwlparser.y" /* yacc.c:1646 */ { rwm->mythr->dbnam = rwm->inam; } -#line 10560 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10525 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 652: -#line 6453 "rwlparser.y" /* yacc.c:1646 */ +#line 6412 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "threads") ; } -#line 10566 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10531 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 655: -#line 6461 "rwlparser.y" /* yacc.c:1646 */ +#line 6420 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "run") ; } -#line 10572 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10537 "rwlparser.tab.c" /* yacc.c:1646 */ break; -#line 10576 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10541 "rwlparser.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/rwlparser.tab.h b/src/rwlparser.tab.h index e0287a35..04ed8f47 100644 --- a/src/rwlparser.tab.h +++ b/src/rwlparser.tab.h @@ -219,7 +219,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 465 "rwlparser.y" /* yacc.c:1909 */ +#line 468 "rwlparser.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets From 41b4d73d9c4df47efded495422b85fee70149f3f Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 28 May 2024 12:04:09 +0000 Subject: [PATCH 052/118] Add another local only file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e8f1c56f..b79792b7 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ lib/*.o lib/*.obj lib/*.lib dist-rwl-bin.sh +dist-rwldev.sh push_to_remotes.sh make.generated.sh *.tgz From 0b8a8f9ce5ea6d14bd11ba5ca58acf3310a03422 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 28 May 2024 13:16:38 +0000 Subject: [PATCH 053/118] Enable compile in 23, disable 18 --- BUILDING.md | 15 ++++++++++++--- makedirs.sh | 6 +++--- makemake.sh | 15 ++++++++------- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index 59592012..c76009ae 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -3,14 +3,14 @@ ## Prerequisites * An Oracle client environment (release 19.9 or higher) used for building the tool; Instant Client including basiclite, sdk and sqlplus is fine. - * Potentially client environments for other releases than the primary build release, these can similarly use full client or Instant Client; releases 11, 12, 18, 19, 21, 23 are supported. + * Potentially client environments for other releases than the primary build release, these can similarly use full client or Instant Client; releases 11, 12, 19, 21, 23 are supported. * For client release 19, you must have at least 19.9. - * A database (release 19 or higher, release 21.3 preferred) that can be used to run test scripts. + * A database (release 19 or higher, release 21.9 preferred) that can be used to run test scripts. * An environment with the gcc compiler and tools like make. * Both bison (3.0.4 or newer) and flex must be installed. * Installing ctags and cscope is recommended if you want to work on the source. * The Bourne Again Shell, /bin/bash. - * Installing gnuplot is highly recommended, although not required for compiling or running test suite. It is required for running the oltp workload. + * Installing gnuplot is highly recommended, although not required for compiling or running test suite. It is required for running the oltp workload and several standard utilities * On Solaris, you must have GNU utilities installed and they _must_ be before ordinary utilities in your PATH. Typically, this means your PATH should have /usr/gnu/bin among the first parts. ## Building rwloadsim @@ -63,6 +63,15 @@ It contains a set of defines that must be provided for the new platform. At present, the following platforms are in _Beta_ state, which means they are not yet ready for production use. If you complete a port, please contact the rwloadsim developer. +### Microsoft Windows + +For building on Microsoft Windows, you need the following: + + * Microsoft Visual Studio 2017 or later + * nmake, cl, link (command line C compiler and linker) + * Oracle Instant client for Windows release 19.21 or newer + * For certain utilities (ashplot, ociping in concurrency mode), an installation of gnuplot is required + ### Apple OS X For building on OS X, please be aware of the following: diff --git a/makedirs.sh b/makedirs.sh index 8abd79b4..5ad5a59d 100644 --- a/makedirs.sh +++ b/makedirs.sh @@ -1,11 +1,12 @@ #!/bin/sh -# Copyright (c) 2021 Oracle Corportaion +# Copyright (c) 2024 Oracle Corportaion # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ # # History # +# bengsig 28-may-2024 Add 23, remove 18, 20 # bengsig 17-dec-2020 Add release 21 # bengsig 14-dec-2020 bin is now always present # bengsig 02-dec-2020 Directory structure change @@ -14,7 +15,6 @@ mkdir -p src/obj11 mkdir -p src/obj12 -mkdir -p src/obj18 mkdir -p src/obj19 -mkdir -p src/obj20 mkdir -p src/obj21 +mkdir -p src/obj23 diff --git a/makemake.sh b/makemake.sh index 3e2b4986..a8cdfc7e 100644 --- a/makemake.sh +++ b/makemake.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2023 Oracle Corportaion +# Copyright (c) 2024 Oracle Corportaion # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ @@ -9,7 +9,8 @@ # History # -# bengsig 5-map-2024 - add rwlport.c/.o +# bengsig 28-may-2024 - Add 23, remove 12,18 as dev +# bengsig 5-may-2024 - add rwlport.c/.o # bengsig 27-sep-2023 - watermark in obj directory # bengsig 13-jan-2023 - fix rwlerrornum.h generation # bengsig 4-jan-2023 - Add db version 23 @@ -45,14 +46,14 @@ then exit $fail fi -printf "Please enter your primary development release [12/18/19/21]: " +printf "Please enter your primary development release [19/21]: " read primary case $primary in - 12|18|19|21) + 19|21) ;; *) - echo Development release must be one of 12, 18, 19, 21 + echo Development release must be one of 19, 21 exit $fail ;; esac @@ -350,7 +351,7 @@ do else case $secondary in - 11|12|18|19|21|23) + 11|12|19|21|23) printf "Please enter either ORACLE_HOME or top of instant client for release $secondary: " read shome @@ -382,7 +383,7 @@ do ;; ?*) - echo Secondary release must be one of 11, 12, 18, 19, 21, 23 + echo Secondary release must be one of 11, 12, 19, 21, 23 ;; esac fi From b0e5fc4f934e9c33fd2791dbe408238404ff4045 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 30 May 2024 09:02:00 +0000 Subject: [PATCH 054/118] Use loadfactor with mtit --- bin/mtitxcset | 20 +++++++++++++++----- oltp/mtit_declarations.rwl | 15 ++++++++++++--- oltp/xcvalues.rwl | 2 ++ 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/bin/mtitxcset b/bin/mtitxcset index dd5b9fbf..137aaf99 100755 --- a/bin/mtitxcset +++ b/bin/mtitxcset @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2023 Oracle Corporation +# Copyright (c) 2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ @@ -7,11 +7,12 @@ # Changes # -# bengsig 10-may-2023 Creation +# bengsig 30-may-2024 - loadfactor used to mute threads +# bengsig 10-may-2023 - Creation # External control -options="hHk: -l help,key:,hostname:,mtittype:,rowspins:,arraysize:,affinity:,no-stopnow,stopnow,finishnext,finishnow,proccount:,default,no-show" +options="hHk: -l help,key:,hostname:,mtittype:,rowspins:,arraysize:,affinity:,no-stopnow,stopnow,finishnext,finishnow,proccount:,loadfactor:,default,no-show" usage="$commandname [-H] [--{parameter}=value]" help=no @@ -23,6 +24,7 @@ rowspins='' arraysize='' affinity='' stopnow='' +loadfactor='' proccount='' default=no @@ -36,6 +38,8 @@ do ;; --hostname) hostname=$2; shift; shift; ;; + --loadfactor) loadfactor=$2; shift; shift; + ;; --mtittype) mtittype=$2; shift; shift; ;; --rowspins) rowspins=$2; shift; shift; @@ -71,11 +75,12 @@ cat < wholeaffin then + if ((wholeaffin between 1 and 2) and mtit_instance > wholeaffin) +$if mtit_xc $then + or threadnumber % mtit_threads > xc_loadfactor * mtit_threads +$endif + then # Simply avoid doing anything in 2 or 3 instances nostatistics; wait 1; @@ -197,7 +202,11 @@ procedure mtit_ins_rows() affinratio := 1+mtit_affinity - wholeaffin; maxseq := proccount * mtit_threads; procminus1 := procnumber-1; - if (wholeaffin between 1 and 2) and mtit_instance > wholeaffin then + if ((wholeaffin between 1 and 2) and mtit_instance > wholeaffin) +$if mtit_xc $then + or threadnumber % mtit_threads > xc_loadfactor * mtit_threads +$endif + then # Simply avoid doing anything in 2 or 3 instances nostatistics; wait 1; diff --git a/oltp/xcvalues.rwl b/oltp/xcvalues.rwl index e8822c53..d7cee489 100644 --- a/oltp/xcvalues.rwl +++ b/oltp/xcvalues.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 30-may-2024 - loadfactor used in mtit # bengsig 24-feb-2024 - Add waitsec, cpusec # bengsig 19-dec-2023 - put xc_ignore_parsefailure in oltpxc # bengsig 3-oct-2023 - parsefailure @@ -65,6 +66,7 @@ $if mtit $then printf "rowspins=%d\n", l_rpin; printf "arraysize=%d\n", l_arrs; printf "affinity=%.4f\n", l_afty; + printf "loadfactor=%.3f\n",l_load; $else printf "ratefactor=%.3f\n",l_rate; printf "loadfactor=%.3f\n",l_load; From 9722112b1b38d45811af385bf853227bb3171b59 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 30 May 2024 15:35:42 +0000 Subject: [PATCH 055/118] Add --fromminutes option to ashplot --- docs/refman/ashplot.html | 15 ++++++++++++--- man/man2rwl/ashplot.2rwl | 12 ++++++++++-- public/ashplot.rwl | 7 +++++++ 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/docs/refman/ashplot.html b/docs/refman/ashplot.html index 501d039e..aa25054a 100644 --- a/docs/refman/ashplot.html +++ b/docs/refman/ashplot.html @@ -1,5 +1,5 @@ - + @@ -143,8 +143,17 @@

    OPTIONS

    The output will be limited to the specified date/time range. Note that dates must be in the exact format shown, which is also the format used when -outputting the available data range. You can omit : and the -MI part or T and the entire time part.

    +outputting the available date range. You can omit : and the +MI part or T and the entire time part, and you can use +either or both of these options.

    + + +

    --fromminutes=n

    + +

    Output will be limited to only +include data from at most n minutes ago. If you use this +option together with either of the previous two, time limits +from all will apply.

    --output-X

    diff --git a/man/man2rwl/ashplot.2rwl b/man/man2rwl/ashplot.2rwl index 1293b90a..1a692538 100644 --- a/man/man2rwl/ashplot.2rwl +++ b/man/man2rwl/ashplot.2rwl @@ -58,8 +58,16 @@ with the provided dbid will be used. .RS 4 The output will be limited to the specified date/time range. Note that dates must be in the exact format shown, which is also -the format used when outputting the available data range. -You can omit : and the MI part or T and the entire time part. +the format used when outputting the available date range. +You can omit : and the MI part or T and the entire time part, +and you can use either or both of these options. +.RE +.P +.B --fromminutes=n +.RS 4 +Output will be limited to only include data from at most n minutes ago. +If you use this option together with either of the previous two, +time limits from all will apply. .RE .P .B --output-X diff --git a/public/ashplot.rwl b/public/ashplot.rwl index 5e0def04..2fa11048 100644 --- a/public/ashplot.rwl +++ b/public/ashplot.rwl @@ -52,6 +52,7 @@ $endif integer maxsessions := 0; integer dbid; integer instance; +integer fromminutes; string mintime, fromtime; string maxtime, totime; string(1000) ashplot_tempdir; @@ -75,6 +76,7 @@ integer h_pixels := 480; $userhelp:" to exclude SYS" $useroption:fromtime:"--fromtime=YYYY.MM.DDTHH24:MI - first timestamp to include in graph" $useroption:totime:"--totime=YYYY.MM.DDTHH24:MI - last timestamp to include in graph" + $useroption:fromminutes:"--fromminutes= - first timestamp is N minutes ago" $userswitch:output-X:"--output-X - generate output as X-Windows image" $userswitch:output-Windows:"--output-Windows - generate output as MS Windows image" $useroption:output-png:"--output-png= - create image file as png" @@ -146,6 +148,11 @@ if fromtime != "" then constraints ||= " and sample_time >= to_timestamp(:fromtime,'YYYY.MM.DD\"T\"HH24:MI')\n"; end if; +# Lower relative time limit +if fromminutes is not null then + sprintf || constraints," and sample_time >= systimestamp - interval '%d' minute\n", fromminutes; +end if; + # Upper time limit? if totime != "" then constraints ||= " and sample_time <= to_timestamp(:totime,'YYYY.MM.DD\"T\"HH24:MI')\n"; From c24040fc329bbd41f90daf9cc898e1172bdc0d04 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 30 May 2024 16:11:01 +0000 Subject: [PATCH 056/118] Comment --- public/ashplot.rwl | 1 + 1 file changed, 1 insertion(+) diff --git a/public/ashplot.rwl b/public/ashplot.rwl index 2fa11048..0f336dbf 100644 --- a/public/ashplot.rwl +++ b/public/ashplot.rwl @@ -10,6 +10,7 @@ # # Modified Date Comments # +# bengsig 30-may-2024 --fromminutes option # bengsig 27-feb-2024 MS Windows # bengsig 27-sep-2023 include top 8 (rather than 6) # bengsig 13-sep-2023 use ampersand replacement From 7c9889cc46ca34245795d0a6787f55aa79c4210c Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 4 Jun 2024 11:01:52 +0000 Subject: [PATCH 057/118] $ora01013:break directive --- admin/.vim/syntax/rwl.vim | 4 +- docs/ERRORLIST.md | 3 + man/man1rwl/directive.1rwl | 12 + src/lex.rwly.c | 2599 ++++++++++++++++++------------------ src/rwl.h | 5 + src/rwlcoderun.c | 7 +- src/rwlerror.c | 22 +- src/rwlerror.h | 6 + src/rwllexer.l | 15 +- 9 files changed, 1374 insertions(+), 1299 deletions(-) diff --git a/admin/.vim/syntax/rwl.vim b/admin/.vim/syntax/rwl.vim index 73361fae..8cbdce57 100644 --- a/admin/.vim/syntax/rwl.vim +++ b/admin/.vim/syntax/rwl.vim @@ -4,7 +4,7 @@ " Copyright (c) 2023 Oracle Corporation " Licensed under the Universal Permissive License v 1.0 " as shown at https://oss.oracle.com/licenses/upl/ -" Latest Revision: 28 feb 2024 +" Latest Revision: 4 jun 2024 if exists("b:current_syntax") finish @@ -141,6 +141,8 @@ syn match rwlDirective '\$maxmesg:\d\+' syn match rwlDirective '\$readbuffer:\d\+' syn match rwlDirective '\$ora01013:stop' syn match rwlDirective '\$ora01013:continue' +syn match rwlDirective '\$ora01013:break' +syn match rwlDirective '\$ora01013:reset' syn match rwlDirective '\$oraerror:showoci' syn match rwlDirective '\$oraerror:noshowoci' syn match rwlDirective '\$oraerror:stop' diff --git a/docs/ERRORLIST.md b/docs/ERRORLIST.md index d65765f9..7eed42cb 100644 --- a/docs/ERRORLIST.md +++ b/docs/ERRORLIST.md @@ -1310,6 +1310,9 @@ error. ### RWL-321 warning: "nostatistics has no effect here" The nostatistics statement only has an effect inside a declared proedure. +### RWL-322 error: "user requested break" +The $ora01013:break option is in effect and ctrl-c has caused a break. + ### RWL-600 internal error: '%s' An abnormal situation caused an internal error in rwloadsim. This is in most cases due to a programming error and it diff --git a/man/man1rwl/directive.1rwl b/man/man1rwl/directive.1rwl index 74dfcce9..0602500e 100644 --- a/man/man1rwl/directive.1rwl +++ b/man/man1rwl/directive.1rwl @@ -257,12 +257,24 @@ The second directive turns this extra error detail off. .B $ora01013:continue .br .B $ora01013:stop +.br +.B $ora01013:break +.br +.B $ora01013:reset .RS 4 Normally, ctrl-c leads to a controlled stop of the executing rwloadsim process although the exact details of how clean-up is done cannot by guaranteed. If you want rwloadsim to continue after receiving an ORA-01013, use the first directive. The second, which is the default, undoes this. +.P +The two last directives are used to allow some clean-up to be done after +issuing ctrl-c: +The third directive implies ctrl-c will break any procedure, +including anonymous procedures executing directly in your main program, +but your rwl program will otherwise continue. +To allow subsequent procedures to be executed, use the fourth directive. +For an example, see ashplot(2rwl). .RE .P .B $bindoffset:0 diff --git a/src/lex.rwly.c b/src/lex.rwly.c index 271654f6..031e7247 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 351 -#define YY_END_OF_BUFFER 352 +#define YY_NUM_RULES 353 +#define YY_END_OF_BUFFER 354 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -352,24 +352,24 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1948] = +static yyconst flex_int16_t yy_accept[1958] = { 0, - 0, 0, 352, 350, 348, 347, 190, 350, 349, 343, - 182, 218, 350, 183, 184, 180, 178, 185, 179, 350, + 0, 0, 354, 352, 350, 349, 190, 352, 351, 345, + 182, 218, 352, 183, 184, 180, 178, 185, 179, 352, 181, 47, 192, 235, 188, 186, 189, 191, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 350, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 352, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 217, 219, 348, - 200, 0, 43, 0, 349, 344, 233, 232, 234, 344, - 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, - 344, 344, 344, 344, 344, 344, 344, 220, 0, 42, + 231, 231, 231, 231, 231, 231, 231, 217, 219, 350, + 200, 0, 43, 0, 351, 346, 233, 232, 234, 346, + 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 346, 346, 346, 346, 346, 220, 0, 42, 0, 223, 222, 203, 40, 204, 173, 41, 221, 224, 46, 47, 0, 202, 0, 197, 201, 0, 187, 198, 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 231, 231, 231, 231, 231, 231, 345, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 347, 0, 231, 231, 231, 231, 231, 89, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, @@ -387,7 +387,7 @@ static yyconst flex_int16_t yy_accept[1948] = 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 346, 231, 231, 231, 170, 194, 231, + 231, 231, 231, 348, 231, 231, 231, 170, 194, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 122, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 102, 231, 231, 231, 231, 231, 112, 231, 231, @@ -456,7 +456,7 @@ static yyconst flex_int16_t yy_accept[1948] = 231, 231, 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 317, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 23, 231, 231, 0, 35, 231, 231, 231, 0, 22, 231, 0, @@ -470,7 +470,7 @@ static yyconst flex_int16_t yy_accept[1948] = 231, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 317, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 231, 0, 0, 0, 0, 0, 0, 0, 231, 0, 231, 0, 231, @@ -491,8 +491,8 @@ static yyconst flex_int16_t yy_accept[1948] = 231, 231, 231, 231, 231, 231, 231, 231, 156, 91, 231, 108, 231, 152, 231, 231, 231, 231, 82, 231, 231, 148, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, - 0, 0, 0, 323, 0, 0, 0, 0, 321, 0, + 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, + 0, 0, 0, 325, 0, 0, 0, 0, 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 4, 0, @@ -501,72 +501,73 @@ static yyconst flex_int16_t yy_accept[1948] = 8, 0, 0, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 138, 231, 231, 117, 231, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 326, 325, 324, 0, 0, 0, - 0, 0, 0, 277, 323, 0, 0, 0, 0, 0, - 0, 275, 0, 0, 274, 0, 0, 321, 320, 0, - 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 327, 327, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 328, 327, 326, 0, 0, 0, + 0, 0, 0, 279, 325, 0, 0, 0, 0, 0, + 0, 277, 0, 0, 276, 0, 0, 323, 322, 0, + 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 329, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 13, 0, 0, 0, 0, 0, 12, 231, 0, - 0, 0, 0, 0, 231, 231, 231, 75, 231, 62, - 74, 64, 231, 231, 231, 231, 231, 231, 231, 81, - 231, 103, 231, 209, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 326, 324, 0, 0, 0, - 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, - 0, 274, 0, 0, 320, 319, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, + 0, 0, 0, 13, 0, 0, 0, 0, 0, 12, + 231, 0, 0, 0, 0, 0, 231, 231, 231, 75, + 231, 62, 74, 64, 231, 231, 231, 231, 231, 231, + 231, 81, 231, 103, 231, 209, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 328, 326, 0, + 0, 0, 0, 0, 0, 279, 0, 0, 0, 0, + 0, 0, 0, 276, 0, 0, 322, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 231, 5, 0, 0, 0, - 0, 231, 231, 231, 139, 228, 231, 110, 119, 231, - 231, 153, 231, 231, 210, 318, 0, 252, 264, 265, - 0, 329, 0, 0, 0, 0, 0, 316, 0, 0, - 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, - 291, 236, 319, 0, 0, 0, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 328, 322, - 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 238, 239, 0, + 0, 0, 329, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, + 5, 0, 0, 0, 0, 231, 231, 231, 139, 228, + 231, 110, 119, 231, 231, 153, 231, 231, 210, 320, + 0, 252, 264, 265, 0, 331, 0, 0, 0, 0, + 0, 318, 0, 0, 0, 0, 254, 0, 0, 0, + 0, 0, 0, 0, 293, 236, 321, 0, 0, 0, + 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 330, 324, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 231, 231, 231, 76, 231, 231, 211, 231, - 318, 253, 0, 330, 0, 0, 0, 0, 312, 0, - 316, 0, 0, 0, 255, 0, 0, 288, 290, 0, - 0, 0, 236, 0, 0, 0, 258, 261, 0, 0, - 266, 0, 0, 0, 0, 0, 270, 0, 0, 328, - 322, 0, 0, 251, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 238, 0, 239, - 0, 0, 0, 0, 17, 0, 16, 0, 18, 0, - 0, 0, 9, 0, 231, 231, 104, 231, 231, 118, - 0, 285, 330, 0, 0, 305, 0, 313, 0, 0, - - 0, 276, 0, 278, 0, 0, 0, 0, 237, 0, - 259, 0, 0, 0, 268, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 339, 0, 331, 248, - 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, + 0, 0, 0, 238, 239, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 231, 231, + 231, 76, 231, 231, 211, 231, 320, 253, 0, 332, + 0, 0, 0, 0, 314, 0, 318, 0, 0, 0, + 255, 0, 0, 290, 292, 0, 0, 0, 236, 0, + 0, 0, 258, 261, 0, 0, 0, 0, 266, 0, + 0, 0, 0, 0, 272, 0, 0, 330, 324, 0, + 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 238, 0, 239, 0, 0, + 0, 0, 17, 0, 16, 0, 18, 0, 0, 0, + 9, 0, 231, 231, 104, 231, 231, 118, 0, 287, + + 332, 0, 0, 307, 0, 315, 0, 0, 0, 278, + 0, 280, 0, 0, 0, 0, 237, 0, 259, 0, + 267, 0, 268, 0, 270, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 341, 0, 333, 248, + 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 7, 11, 231, 105, - 231, 231, 286, 0, 0, 306, 0, 301, 0, 0, - 0, 279, 0, 289, 0, 0, 237, 0, 284, 0, + 231, 231, 288, 0, 0, 308, 0, 303, 0, 0, + 0, 281, 0, 291, 0, 0, 237, 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, - 0, 299, 0, 0, 0, 0, 332, 0, 0, 0, - 307, 310, 0, 0, 0, 238, 0, 0, 239, 0, - - 0, 0, 0, 15, 0, 0, 231, 213, 231, 287, - 0, 302, 0, 303, 0, 0, 0, 0, 0, 0, - 284, 0, 280, 0, 0, 269, 0, 272, 0, 0, - 0, 294, 0, 300, 0, 0, 0, 0, 332, 246, - 0, 308, 0, 0, 0, 0, 0, 0, 0, 231, - 215, 287, 0, 304, 0, 0, 0, 342, 0, 293, - 0, 0, 281, 267, 271, 0, 0, 0, 0, 295, - 0, 0, 0, 335, 336, 0, 0, 0, 0, 0, - 0, 0, 6, 214, 0, 283, 0, 292, 0, 273, - 0, 296, 0, 0, 0, 0, 0, 337, 0, 0, - - 0, 0, 0, 0, 0, 311, 283, 0, 0, 297, - 0, 0, 314, 0, 0, 0, 341, 340, 0, 2, - 0, 282, 334, 298, 315, 0, 0, 338, 0, 0, - 341, 340, 0, 0, 282, 334, 0, 256, 247, 0, + 0, 301, 0, 0, 0, 0, 334, 0, 0, 0, + + 309, 312, 0, 0, 0, 238, 0, 0, 239, 0, + 0, 0, 0, 15, 0, 0, 231, 213, 231, 289, + 0, 304, 0, 305, 0, 0, 0, 0, 0, 0, + 286, 0, 282, 0, 0, 271, 0, 274, 0, 0, + 0, 296, 0, 302, 0, 0, 0, 0, 334, 246, + 0, 310, 0, 0, 0, 0, 0, 0, 0, 231, + 215, 289, 0, 306, 0, 0, 0, 344, 0, 295, + 0, 0, 283, 269, 273, 0, 0, 0, 0, 297, + 0, 0, 0, 337, 338, 0, 0, 0, 0, 0, + 0, 0, 6, 214, 0, 285, 0, 294, 0, 275, + + 0, 298, 0, 0, 0, 0, 0, 339, 0, 0, + 0, 0, 0, 0, 0, 313, 285, 0, 0, 299, + 0, 0, 316, 0, 0, 0, 343, 342, 0, 2, + 0, 284, 336, 300, 317, 0, 0, 340, 0, 0, + 343, 342, 0, 0, 284, 336, 0, 256, 247, 0, 0, 257, 0, 3, 0, 1, 0 } ; @@ -615,105 +616,105 @@ static yyconst YY_CHAR yy_meta[88] = 21, 21, 22, 21, 21, 1, 1 } ; -static yyconst flex_uint16_t yy_base[1988] = +static yyconst flex_uint16_t yy_base[1998] = { 0, - 0, 0, 3421, 3422, 86, 3422, 3391, 83, 0, 141, - 3422, 3409, 80, 3422, 3422, 3389, 77, 3422, 76, 3399, - 80, 211, 3387, 3422, 209, 3386, 211, 3422, 207, 59, + 0, 0, 3431, 3432, 86, 3432, 3401, 83, 0, 141, + 3432, 3419, 80, 3432, 3432, 3399, 77, 3432, 76, 3409, + 80, 211, 3397, 3432, 209, 3396, 211, 3432, 207, 59, 66, 67, 41, 54, 51, 0, 56, 56, 68, 62, 59, 81, 212, 181, 196, 205, 110, 263, 213, 273, - 243, 283, 302, 250, 3350, 223, 200, 295, 220, 192, - 252, 3333, 319, 336, 313, 314, 346, 3326, 3422, 116, - 3422, 333, 3422, 0, 0, 3422, 3422, 404, 0, 50, - 3343, 275, 320, 359, 3342, 3335, 188, 3334, 268, 59, - 301, 3330, 3326, 73, 331, 188, 3327, 3422, 251, 3422, - - 3401, 3422, 3422, 3422, 3422, 3422, 3422, 3422, 3422, 3422, - 421, 429, 446, 3422, 3374, 3422, 3422, 3373, 3422, 3422, - 3372, 3371, 0, 219, 251, 291, 285, 359, 367, 366, + 243, 283, 302, 250, 3360, 223, 200, 295, 220, 192, + 252, 3343, 319, 336, 313, 314, 346, 3336, 3432, 116, + 3432, 333, 3432, 0, 0, 3432, 3432, 404, 0, 50, + 3353, 275, 320, 359, 3352, 3345, 188, 3344, 268, 59, + 301, 3340, 3336, 73, 331, 188, 3337, 3432, 251, 3432, + + 3411, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, + 421, 429, 446, 3432, 3384, 3432, 3432, 3383, 3432, 3432, + 3382, 3381, 0, 219, 251, 291, 285, 359, 367, 366, 390, 412, 421, 406, 412, 412, 428, 440, 423, 440, - 426, 445, 429, 436, 426, 439, 428, 456, 443, 3422, - 3396, 3324, 295, 444, 464, 3320, 3336, 459, 3322, 3320, - 3329, 455, 3324, 3317, 467, 3313, 3310, 486, 3308, 468, - 3309, 335, 3312, 3314, 3320, 488, 3312, 3311, 472, 3304, - 3303, 3306, 3306, 3298, 3302, 3292, 0, 3301, 481, 3300, - 328, 500, 3309, 3292, 3299, 505, 3298, 340, 3304, 0, - - 3289, 476, 492, 3302, 439, 525, 484, 3292, 537, 468, - 3291, 3286, 500, 361, 482, 3294, 3283, 509, 520, 490, - 3296, 3291, 511, 538, 3290, 3328, 598, 0, 3274, 3280, - 3281, 3279, 3279, 3278, 3285, 3288, 3274, 3269, 3285, 3282, - 3267, 3279, 3271, 3263, 568, 3265, 3277, 3265, 3254, 514, - 3264, 3273, 3257, 3273, 3268, 3267, 3257, 256, 531, 3269, - 3257, 3267, 3262, 3257, 3260, 3422, 604, 624, 610, 630, - 3422, 3422, 3422, 3422, 596, 601, 595, 597, 616, 617, + 426, 445, 429, 436, 426, 439, 428, 456, 443, 3432, + 3406, 3334, 295, 444, 464, 3330, 3346, 459, 3332, 3330, + 3339, 455, 3334, 3327, 467, 3323, 3320, 486, 3318, 468, + 3319, 335, 3322, 3324, 3330, 488, 3322, 3321, 472, 3314, + 3313, 3316, 3316, 3308, 3312, 3302, 0, 3311, 481, 3310, + 328, 500, 3319, 3302, 3309, 505, 3308, 340, 3314, 0, + + 3299, 476, 492, 3312, 439, 525, 484, 3302, 537, 468, + 3301, 3296, 500, 361, 482, 3304, 3293, 509, 520, 490, + 3306, 3301, 511, 538, 3300, 3338, 598, 0, 3284, 3290, + 3291, 3289, 3289, 3288, 3295, 3298, 3284, 3279, 3295, 3292, + 3277, 3289, 3281, 3273, 568, 3275, 3287, 3275, 3264, 514, + 3274, 3283, 3267, 3283, 3278, 3277, 3267, 256, 531, 3279, + 3267, 3277, 3272, 3267, 3270, 3432, 604, 624, 610, 630, + 3432, 3432, 3432, 3432, 596, 601, 595, 597, 616, 617, 615, 615, 628, 618, 626, 631, 620, 626, 620, 627, 637, 632, 637, 624, 639, 646, 633, 644, 645, 690, - 637, 651, 657, 3422, 3246, 3258, 3253, 0, 0, 3260, - 3246, 3236, 3254, 3255, 3255, 3250, 3242, 3251, 655, 3238, - 0, 3237, 3231, 535, 669, 3240, 537, 3246, 3231, 3241, - 3230, 0, 3241, 3242, 3224, 3238, 3220, 670, 3218, 3233, - 3222, 0, 3227, 3232, 3221, 651, 3231, 3231, 3216, 678, - 3225, 3208, 3217, 3220, 3210, 0, 3209, 3215, 3218, 3207, - 3200, 3199, 3206, 3198, 0, 3205, 3200, 3214, 3200, 3194, - 644, 3209, 3199, 436, 3206, 0, 3205, 3193, 3202, 3201, - 3184, 3183, 3182, 3190, 3187, 3181, 3177, 3179, 3179, 3190, - 0, 3186, 3194, 3173, 639, 3176, 3182, 3171, 0, 3169, - - 3168, 3173, 3181, 674, 3179, 3175, 3165, 3162, 3167, 3168, - 3160, 3158, 3422, 3176, 3171, 3171, 3171, 3159, 3160, 3170, - 3149, 3151, 3163, 3162, 3157, 3150, 3150, 3158, 3142, 3212, - 712, 718, 713, 3148, 3147, 3151, 661, 3132, 3151, 3150, - 3149, 3134, 702, 3188, 3130, 3146, 3145, 3133, 3128, 3145, - 3126, 3132, 654, 3129, 3135, 3123, 714, 728, 685, 695, + 637, 651, 657, 3432, 3256, 3268, 3263, 0, 0, 3270, + 3256, 3246, 3264, 3265, 3265, 3260, 3252, 3261, 655, 3248, + 0, 3247, 3241, 535, 669, 3250, 537, 3256, 3241, 3251, + 3240, 0, 3251, 3252, 3234, 3248, 3230, 670, 3228, 3243, + 3232, 0, 3237, 3242, 3231, 651, 3241, 3241, 3226, 678, + 3235, 3218, 3227, 3230, 3220, 0, 3219, 3225, 3228, 3217, + 3210, 3209, 3216, 3208, 0, 3215, 3210, 3224, 3210, 3204, + 644, 3219, 3209, 436, 3216, 0, 3215, 3203, 3212, 3211, + 3194, 3193, 3192, 3200, 3197, 3191, 3187, 3189, 3189, 3200, + 0, 3196, 3204, 3183, 639, 3186, 3192, 3181, 0, 3179, + + 3178, 3183, 3191, 674, 3189, 3185, 3175, 3172, 3177, 3178, + 3170, 3168, 3432, 3186, 3181, 3181, 3181, 3169, 3170, 3180, + 3159, 3161, 3173, 3172, 3167, 3160, 3160, 3168, 3152, 3222, + 712, 718, 713, 3158, 3157, 3161, 661, 3142, 3161, 3160, + 3159, 3144, 702, 3198, 3140, 3156, 3155, 3143, 3138, 3155, + 3136, 3142, 654, 3139, 3145, 3133, 714, 728, 685, 695, 690, 720, 704, 711, 0, 723, 709, 729, 713, 715, 0, 735, 729, 718, 721, 773, 735, 738, 742, 735, - 738, 734, 751, 800, 752, 743, 0, 3120, 3120, 3116, - 3112, 3173, 3130, 3119, 0, 3122, 0, 0, 0, 764, - - 3127, 3111, 3115, 3127, 0, 3124, 3124, 3105, 3111, 3112, - 0, 3114, 3118, 3113, 3106, 3094, 3097, 0, 3098, 0, - 3098, 3101, 3094, 3112, 3098, 3090, 3109, 3105, 3090, 3089, - 3099, 3093, 0, 3084, 3085, 0, 3096, 3077, 3098, 3081, - 3093, 3096, 3095, 0, 3086, 3082, 3074, 3069, 3071, 3089, - 3084, 3079, 3062, 3081, 3070, 3072, 3069, 3058, 3080, 3075, - 3067, 3060, 3075, 3072, 3070, 3069, 3064, 3068, 3051, 3056, - 3060, 0, 3048, 747, 0, 3053, 3046, 3062, 3059, 0, - 3062, 771, 3047, 3054, 3046, 0, 0, 3054, 3046, 3052, - 3031, 3037, 3039, 3042, 3047, 753, 3042, 3043, 3036, 3422, - - 3044, 3041, 3028, 3025, 3032, 3029, 754, 802, 809, 3093, - 755, 3032, 3019, 3024, 3023, 3033, 3021, 3022, 3067, 3028, - 3031, 3011, 3068, 3011, 3066, 3022, 3007, 3023, 3010, 3014, - 3019, 3013, 3005, 2999, 534, 3422, 3003, 770, 772, 0, + 738, 734, 751, 800, 752, 743, 0, 3130, 3130, 3126, + 3122, 3183, 3140, 3129, 0, 3132, 0, 0, 0, 764, + + 3137, 3121, 3125, 3137, 0, 3134, 3134, 3115, 3121, 3122, + 0, 3124, 3128, 3123, 3116, 3104, 3107, 0, 3108, 0, + 3108, 3111, 3104, 3122, 3108, 3100, 3119, 3115, 3100, 3099, + 3109, 3103, 0, 3094, 3095, 0, 3106, 3087, 3108, 3091, + 3103, 3106, 3105, 0, 3096, 3092, 3084, 3079, 3081, 3099, + 3094, 3089, 3072, 3091, 3080, 3082, 3079, 3068, 3090, 3085, + 3077, 3070, 3085, 3082, 3080, 3079, 3074, 3078, 3061, 3066, + 3070, 0, 3058, 747, 0, 3063, 3056, 3072, 3069, 0, + 3072, 771, 3057, 3064, 3056, 0, 0, 3064, 3056, 3062, + 3041, 3047, 3049, 3052, 3057, 753, 3052, 3053, 3046, 3432, + + 3054, 3051, 3038, 3035, 3042, 3039, 754, 802, 809, 3103, + 755, 3042, 3029, 3034, 3033, 3043, 3031, 3032, 3077, 3038, + 3041, 3021, 3078, 3021, 3076, 3032, 3017, 3033, 3020, 3024, + 3029, 3023, 3015, 3009, 534, 3432, 3013, 770, 772, 0, 761, 784, 0, 0, 780, 790, 789, 803, 791, 802, 810, 0, 794, 853, 0, 807, 0, 814, 822, 813, - 810, 817, 818, 816, 836, 836, 0, 2998, 3011, 0, - 0, 3010, 2993, 0, 2993, 3009, 0, 2993, 2998, 2993, - 2996, 2971, 2945, 2923, 2901, 2901, 2886, 2891, 0, 2853, - 2843, 0, 2809, 2819, 2844, 2784, 2774, 2780, 2784, 2771, - - 2773, 2767, 2756, 2759, 2761, 2740, 808, 0, 2743, 2740, - 2748, 2733, 2738, 0, 2746, 2735, 830, 2729, 2744, 2743, - 2731, 0, 2731, 539, 2729, 812, 2717, 2706, 2697, 2702, - 2714, 0, 2711, 2693, 2695, 2698, 0, 2663, 2675, 0, - 2665, 2656, 2666, 2654, 2661, 2655, 2663, 848, 2614, 2617, - 2629, 0, 2624, 2611, 2603, 2602, 817, 2600, 2614, 2611, - 2610, 2592, 2593, 2592, 2583, 2596, 2592, 3422, 820, 2580, - 2584, 2588, 852, 876, 873, 2585, 2583, 2570, 2579, 2577, - 2578, 2558, 897, 2535, 2521, 2501, 2540, 2482, 2487, 872, - 2482, 2465, 2471, 2468, 2462, 2472, 2462, 2449, 2448, 760, - - 2446, 2449, 2437, 2429, 852, 870, 875, 858, 910, 874, + 810, 817, 818, 816, 836, 836, 0, 3008, 3021, 0, + 0, 3020, 3003, 0, 3003, 3019, 0, 3003, 3008, 3003, + 3006, 2981, 2955, 2933, 2911, 2911, 2896, 2901, 0, 2863, + 2853, 0, 2819, 2829, 2854, 2794, 2784, 2790, 2794, 2781, + + 2783, 2777, 2766, 2769, 2771, 2750, 808, 0, 2753, 2750, + 2758, 2743, 2748, 0, 2756, 2745, 830, 2739, 2754, 2753, + 2741, 0, 2741, 539, 2739, 812, 2727, 2716, 2707, 2712, + 2724, 0, 2721, 2703, 2705, 2708, 0, 2673, 2685, 0, + 2675, 2666, 2676, 2664, 2671, 2665, 2673, 848, 2624, 2627, + 2639, 0, 2634, 2621, 2613, 2612, 817, 2610, 2624, 2621, + 2620, 2602, 2603, 2602, 2593, 2606, 2602, 3432, 820, 2590, + 2594, 2598, 852, 876, 873, 2595, 2593, 2580, 2589, 2587, + 2588, 2568, 897, 2545, 2531, 2511, 2550, 2492, 2497, 872, + 2492, 2475, 2481, 2478, 2472, 2482, 2472, 2459, 2458, 760, + + 2456, 2459, 2447, 2439, 852, 870, 875, 858, 910, 874, 0, 877, 879, 893, 0, 894, 876, 0, 0, 888, - 0, 884, 888, 907, 889, 0, 0, 2412, 2395, 2375, - 0, 2374, 2390, 2361, 0, 2359, 2358, 0, 0, 0, - 0, 2330, 920, 2304, 0, 2302, 2292, 0, 0, 2305, - 0, 2302, 2299, 0, 2285, 0, 2299, 2293, 0, 2293, - 2291, 2280, 2289, 2275, 2283, 2284, 2271, 2271, 0, 2279, - 2286, 2281, 2264, 0, 2269, 0, 2269, 2237, 2232, 2212, - 2214, 2228, 2212, 2212, 0, 2227, 2214, 2208, 2210, 46, + 0, 884, 888, 907, 889, 0, 0, 2422, 2405, 2385, + 0, 2384, 2400, 2371, 0, 2369, 2368, 0, 0, 0, + 0, 2340, 920, 2314, 0, 2312, 2302, 0, 0, 2315, + 0, 2312, 2309, 0, 2295, 0, 2309, 2303, 0, 2303, + 2301, 2290, 2299, 2285, 2293, 2294, 2281, 2281, 0, 2289, + 2296, 2291, 2274, 0, 2279, 0, 2279, 2247, 2242, 2222, + 2224, 2238, 2222, 2222, 0, 2237, 2224, 2218, 2220, 46, 69, 0, 191, 177, 0, 225, 0, 0, 215, 299, 353, 427, 512, 876, 744, 834, 840, 836, 866, 867, @@ -738,14 +739,14 @@ static yyconst flex_uint16_t yy_base[1988] = 1077, 1074, 1082, 1080, 1088, 1078, 1122, 1123, 1158, 1111, 1132, 1125, 1117, 1135, 1119, 1129, 1168, 1131, 1131, 1127, - 1128, 3422, 1130, 0, 1098, 1107, 1120, 0, 1120, 1111, + 1128, 3432, 1130, 0, 1098, 1107, 1120, 0, 1120, 1111, 0, 1124, 1117, 1113, 1119, 0, 1135, 1138, 1132, 1130, 1142, 0, 1147, 0, 1149, 1146, 0, 1137, 1140, 1152, 1159, 0, 1157, 1150, 1148, 0, 1153, 1162, 0, 0, 1160, 1162, 0, 1148, 1165, 1165, 1170, 1154, 1156, 1157, 1164, 1163, 1173, 1174, 1213, 0, 1231, 1178, 1182, 1180, 1177, 1173, 1221, 1240, 1241, 1225, 1246, 1179, 1235, 1235, - 1184, 1237, 1191, 1186, 1188, 1242, 1243, 1206, 1206, 3422, + 1184, 1237, 1191, 1186, 1188, 1242, 1243, 1206, 1206, 3432, 1195, 1247, 1211, 1197, 1203, 1205, 1198, 1207, 1207, 1220, 1204, 1216, 1221, 1260, 1213, 1226, 1240, 1288, 1248, 1249, @@ -756,310 +757,314 @@ static yyconst flex_uint16_t yy_base[1988] = 1324, 0, 1283, 1322, 1270, 1278, 1272, 1275, 1293, 1286, 1289, 1285, 1279, 0, 0, 1340, 1287, 1286, 1299, 1342, 1304, 1310, 0, 1364, 1320, 1367, 1344, 1302, 1375, 1388, - 1350, 0, 1300, 1315, 1353, 1301, 1339, 1342, 1332, 3422, - 1309, 1383, 1328, 1385, 1340, 1390, 1354, 1355, 1349, 1345, - 1356, 1354, 1349, 1423, 1357, 1364, 1437, 1446, 3422, 1399, - - 1402, 1387, 1449, 1395, 1408, 1405, 1409, 1395, 1422, 1453, - 3422, 1426, 1425, 1392, 1401, 1402, 1404, 1397, 1392, 1405, - 1397, 1415, 1404, 1417, 1407, 1413, 1421, 1414, 0, 1425, - 1418, 1416, 1430, 1466, 1419, 1468, 1431, 1471, 1425, 1429, - 1428, 1476, 1435, 1479, 0, 0, 0, 1435, 1443, 1437, - 1435, 1426, 1439, 0, 1526, 1444, 1449, 1450, 1441, 1452, - 1513, 3422, 1524, 1495, 3422, 1525, 1494, 1515, 1536, 1542, - 0, 1447, 1496, 1449, 1461, 1456, 1452, 1467, 1468, 1501, - 1465, 1466, 1515, 1518, 1546, 1554, 1504, 1502, 1500, 1552, - 1519, 1558, 1513, 1522, 1510, 1582, 1564, 1565, 1600, 1541, - - 1542, 3422, 1563, 1560, 1567, 1569, 1569, 3422, 1572, 1565, - 1579, 1581, 1575, 1565, 1538, 1543, 1543, 0, 1540, 0, - 0, 0, 1555, 1555, 1553, 1548, 1566, 1567, 1551, 0, - 1553, 0, 1559, 1573, 1625, 1586, 1632, 1611, 1640, 1577, - 1629, 1592, 1583, 1585, 1651, 0, 0, 1606, 1590, 1642, - 1604, 1652, 1615, 0, 1607, 1602, 1617, 1619, 1602, 1620, - 1656, 1657, 1686, 0, 1670, 1676, 1616, 1628, 1638, 1642, - 1632, 1632, 1637, 1645, 1634, 1635, 1634, 1645, 1663, 0, - 1704, 1698, 1661, 1657, 1657, 1652, 1673, 1654, 1674, 1672, - 1711, 1655, 1734, 3422, 0, 0, 0, 1706, 1711, 1705, - - 1699, 1702, 1712, 1717, 1717, 1752, 3422, 1706, 1725, 1714, - 1720, 1688, 1702, 1689, 0, 0, 1700, 0, 0, 1691, - 1706, 0, 1703, 1697, 0, 1773, 1704, 3422, 3422, 3422, - 1698, 1781, 1748, 1701, 1753, 1717, 1719, 1787, 1707, 1705, - 1717, 1735, 3422, 1739, 1788, 1752, 1749, 1749, 1743, 1755, - 3422, 1791, 1801, 1749, 1763, 1764, 3422, 1752, 1752, 1757, - 1754, 1761, 1761, 1770, 1756, 1764, 1772, 1769, 0, 1822, - 1823, 1776, 1785, 3422, 1773, 1826, 1778, 1786, 1790, 1777, - 1831, 1787, 1799, 1792, 1835, 1788, 1837, 1838, 1839, 1810, - 1816, 1822, 1813, 1827, 1835, 1820, 1824, 1872, 1845, 1835, - - 1828, 1834, 1819, 1804, 1812, 0, 1804, 1806, 0, 1802, - 1867, 3422, 1837, 1891, 1833, 1844, 1829, 1839, 3422, 1892, - 1903, 1842, 1860, 1848, 3422, 1864, 1910, 3422, 3422, 1863, - 1876, 1862, 1911, 0, 1862, 1877, 3422, 3422, 1917, 1876, - 3422, 1877, 1867, 1867, 1874, 1875, 3422, 1885, 1884, 0, - 1933, 1933, 1886, 3422, 1897, 1888, 1888, 1893, 1900, 1903, - 1947, 1902, 1896, 1897, 1902, 1912, 1915, 1953, 1974, 1955, - 1976, 1984, 1943, 1939, 3422, 1957, 3422, 1941, 3422, 1940, - 1960, 1958, 3422, 1950, 1922, 1919, 0, 1925, 1931, 0, - 1935, 1975, 1982, 1946, 1944, 3422, 1951, 3422, 1936, 1953, - - 1937, 3422, 1950, 3422, 2005, 1956, 1972, 1971, 0, 1957, - 3422, 2015, 1968, 1969, 3422, 1970, 1962, 1983, 1973, 1974, - 1974, 1990, 1971, 1986, 1988, 1989, 3422, 1990, 2045, 3422, - 1987, 1977, 2006, 1992, 3422, 1994, 2000, 2055, 2056, 2071, - 2022, 3422, 2042, 2041, 2046, 2048, 3422, 3422, 2001, 0, - 2003, 2009, 3422, 0, 2022, 3422, 2020, 3422, 2021, 2003, - 2011, 3422, 2084, 3422, 2013, 2032, 0, 2025, 2096, 2030, - 2016, 2017, 2019, 2025, 2033, 2076, 2041, 2057, 2032, 3422, - 2045, 3422, 2038, 2086, 2046, 2044, 2111, 2063, 2052, 2062, - 3422, 3422, 2062, 2066, 2131, 3422, 0, 2132, 3422, 0, - - 2107, 2089, 2105, 3422, 2091, 2094, 2072, 0, 2073, 0, - 2083, 3422, 2083, 3422, 2123, 2090, 2145, 2088, 2075, 2081, - 2135, 2096, 3422, 2098, 2099, 3422, 2102, 3422, 2091, 2140, - 2106, 3422, 2103, 3422, 2112, 2170, 2100, 2099, 2159, 3422, - 2119, 3422, 2109, 2119, 2143, 2151, 2190, 2155, 2160, 2118, - 0, 0, 2123, 3422, 2184, 2115, 2194, 3422, 2198, 3422, - 2138, 2144, 3422, 3422, 3422, 2143, 2147, 2153, 2140, 3422, - 2154, 2191, 2212, 3422, 3422, 2144, 2158, 2165, 2195, 2195, - 2228, 2183, 3422, 0, 2155, 2215, 2215, 3422, 2216, 3422, - 2178, 3422, 2167, 2180, 2220, 2241, 2242, 3422, 2246, 2190, - - 2187, 2181, 2218, 2208, 2208, 3422, 2288, 2294, 0, 3422, - 2187, 2197, 3422, 2189, 2262, 2192, 2188, 2189, 2237, 3422, - 2237, 2301, 0, 3422, 3422, 2207, 2272, 3422, 2299, 2203, - 3422, 3422, 2260, 2272, 2315, 0, 2217, 3422, 3422, 2292, - 2281, 3422, 2288, 3422, 2290, 3422, 3422, 2369, 2391, 2413, - 2428, 2443, 2465, 2487, 2502, 2517, 2535, 2550, 2572, 2594, - 2616, 2631, 2646, 2665, 2680, 2702, 2717, 2739, 2744, 2759, - 2767, 2778, 2795, 2810, 2824, 2841, 2863, 2885, 2907, 2929, - 2940, 2955, 2977, 2999, 3010, 3032, 3047 + 1350, 0, 1300, 1315, 1353, 1301, 1343, 1344, 1332, 3432, + 1309, 1381, 1326, 1393, 1341, 1390, 1354, 1357, 1351, 1348, + 1360, 1357, 1351, 1425, 1360, 1367, 1437, 1446, 3432, 1402, + + 1405, 1393, 1449, 1401, 1411, 1408, 1418, 1404, 1424, 1455, + 3432, 1428, 1427, 1394, 1401, 1402, 1404, 1397, 1392, 1405, + 1397, 1415, 1404, 1417, 1407, 1413, 1423, 1416, 0, 1427, + 1420, 1418, 1432, 1468, 1421, 1471, 1435, 1474, 1427, 1431, + 1430, 1478, 1437, 1481, 0, 0, 0, 1437, 1445, 1439, + 1437, 1428, 1441, 0, 1528, 1446, 1451, 1452, 1443, 1454, + 1515, 3432, 1526, 1497, 3432, 1527, 1496, 1517, 1538, 1544, + 0, 1449, 1499, 1454, 1463, 1455, 1459, 1479, 1465, 1471, + 1473, 1503, 1494, 1495, 1520, 1521, 1551, 1558, 1508, 1507, + 1503, 1560, 1524, 1562, 1517, 1526, 1515, 1587, 1568, 1569, + + 1610, 1546, 1547, 3432, 1568, 1565, 1573, 1570, 1569, 3432, + 1573, 1565, 1583, 1584, 1578, 1568, 1543, 1549, 1547, 0, + 1544, 0, 0, 0, 1559, 1557, 1555, 1552, 1569, 1570, + 1557, 0, 1561, 0, 1567, 1580, 1633, 1577, 1628, 1625, + 1639, 1588, 1640, 1603, 1594, 1596, 1650, 0, 0, 1616, + 1600, 1652, 1614, 1655, 1618, 0, 1610, 1605, 1620, 1622, + 1606, 1624, 1660, 1661, 1690, 0, 1674, 1680, 1620, 1632, + 1642, 1646, 1645, 1637, 1633, 1638, 1641, 1651, 1642, 1643, + 1644, 1655, 1669, 0, 1710, 1704, 1667, 1663, 1663, 1658, + 1679, 1660, 1680, 1678, 1717, 1661, 1740, 3432, 0, 0, + + 0, 1713, 1718, 1711, 1705, 1708, 1718, 1723, 1723, 1758, + 3432, 1712, 1731, 1720, 1726, 1694, 1708, 1695, 0, 0, + 1706, 0, 0, 1697, 1712, 0, 1709, 1703, 0, 1779, + 1710, 3432, 3432, 3432, 1702, 1787, 1754, 1707, 1759, 1723, + 1725, 1793, 1713, 1711, 1723, 1741, 3432, 1745, 1794, 1758, + 1755, 1755, 1749, 1761, 3432, 1797, 1807, 1755, 1769, 1770, + 3432, 1758, 1777, 1759, 1775, 1765, 1762, 1770, 1770, 1778, + 1764, 1772, 1780, 1777, 0, 1830, 1831, 1784, 1793, 3432, + 1781, 1834, 1786, 1794, 1798, 1785, 1839, 1795, 1807, 1800, + 1843, 1796, 1845, 1846, 1847, 1818, 1824, 1830, 1821, 1835, + + 1843, 1828, 1832, 1880, 1853, 1843, 1836, 1842, 1827, 1812, + 1820, 0, 1812, 1814, 0, 1810, 1875, 3432, 1845, 1899, + 1841, 1852, 1837, 1847, 3432, 1900, 1911, 1850, 1868, 1856, + 3432, 1872, 1918, 3432, 3432, 1871, 1884, 1870, 1919, 0, + 1870, 1885, 3432, 3432, 1925, 1882, 1885, 1875, 3432, 1887, + 1877, 1877, 1885, 1886, 3432, 1895, 1894, 0, 1943, 1943, + 1896, 3432, 1907, 1898, 1898, 1903, 1910, 1913, 1957, 1912, + 1906, 1907, 1912, 1922, 1925, 1963, 1984, 1965, 1986, 1994, + 1953, 1949, 3432, 1967, 3432, 1951, 3432, 1950, 1970, 1968, + 3432, 1960, 1932, 1929, 0, 1935, 1941, 0, 1945, 1985, + + 1992, 1956, 1954, 3432, 1961, 3432, 1946, 1963, 1947, 3432, + 1960, 3432, 2015, 1966, 1982, 1981, 0, 1967, 3432, 2025, + 3432, 1978, 3432, 1979, 3432, 1980, 1972, 1993, 1983, 1984, + 1984, 2000, 1981, 1996, 1998, 1999, 3432, 2000, 2055, 3432, + 1997, 1987, 2016, 2002, 3432, 2004, 2010, 2065, 2066, 2081, + 2032, 3432, 2052, 2051, 2056, 2058, 3432, 3432, 2011, 0, + 2013, 2019, 3432, 0, 2032, 3432, 2030, 3432, 2031, 2013, + 2021, 3432, 2094, 3432, 2023, 2042, 0, 2035, 2106, 2040, + 2026, 2027, 2029, 2035, 2043, 2086, 2051, 2067, 2042, 3432, + 2055, 3432, 2048, 2096, 2056, 2054, 2121, 2073, 2062, 2072, + + 3432, 3432, 2072, 2076, 2141, 3432, 0, 2142, 3432, 0, + 2117, 2099, 2115, 3432, 2101, 2104, 2082, 0, 2083, 0, + 2093, 3432, 2093, 3432, 2133, 2100, 2155, 2098, 2085, 2091, + 2145, 2106, 3432, 2108, 2109, 3432, 2112, 3432, 2101, 2150, + 2116, 3432, 2113, 3432, 2122, 2180, 2110, 2109, 2169, 3432, + 2129, 3432, 2119, 2129, 2153, 2161, 2200, 2165, 2170, 2128, + 0, 0, 2133, 3432, 2194, 2125, 2204, 3432, 2208, 3432, + 2148, 2154, 3432, 3432, 3432, 2153, 2157, 2163, 2150, 3432, + 2164, 2201, 2222, 3432, 3432, 2154, 2168, 2175, 2205, 2205, + 2238, 2193, 3432, 0, 2165, 2225, 2225, 3432, 2226, 3432, + + 2188, 3432, 2177, 2190, 2230, 2251, 2252, 3432, 2256, 2200, + 2197, 2191, 2228, 2218, 2218, 3432, 2298, 2304, 0, 3432, + 2197, 2207, 3432, 2199, 2272, 2202, 2198, 2199, 2247, 3432, + 2247, 2311, 0, 3432, 3432, 2217, 2282, 3432, 2309, 2213, + 3432, 3432, 2270, 2282, 2325, 0, 2227, 3432, 3432, 2302, + 2291, 3432, 2298, 3432, 2300, 3432, 3432, 2379, 2401, 2423, + 2438, 2453, 2475, 2497, 2512, 2527, 2545, 2560, 2582, 2604, + 2626, 2641, 2656, 2675, 2690, 2712, 2727, 2749, 2754, 2769, + 2777, 2788, 2805, 2820, 2834, 2851, 2873, 2895, 2917, 2939, + 2950, 2965, 2987, 3009, 3020, 3042, 3057 + } ; -static yyconst flex_int16_t yy_def[1988] = +static yyconst flex_int16_t yy_def[1998] = { 0, - 1947, 1, 1947, 1947, 1947, 1947, 1947, 1948, 1949, 1947, - 1947, 1947, 1950, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1947, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1947, 1947, 1947, - 1947, 1948, 1947, 1948, 1949, 1947, 1947, 1947, 1952, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1950, 1947, - - 1950, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1947, - 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1947, 1947, 1952, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1953, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - - 1951, 1951, 1951, 1947, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1953, - 1953, 1954, 1953, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1947, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - - 1947, 1947, 1947, 1947, 1947, 1947, 1953, 1954, 1954, 1953, - 1953, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1947, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1953, 1954, 1953, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - - 1947, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1947, 1951, 1951, 1951, 1951, - 1951, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - - 1951, 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1953, 1954, 1953, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, 1951, - 1951, 1947, 1951, 1951, 1951, 1951, 1947, 1951, 1951, 1947, - 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1953, 1954, 1953, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1951, 1947, 1951, 1947, 1951, - - 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1955, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1954, 1953, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, 1947, 1947, - - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1947, 1951, - 1947, 1951, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1956, 1957, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1958, 1953, 1947, 1959, 1960, 1947, 1947, 1947, - 1947, 1961, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1962, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1947, 1947, 1947, - - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1947, 1947, - 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1963, 1957, 1964, 1947, 1947, 1947, - 1947, 1947, 1947, 1965, 1953, 1947, 1947, 1947, 1947, 1947, - 1959, 1947, 1959, 1960, 1947, 1966, 1947, 1947, 1947, 1947, - 1961, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1967, 1967, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1968, 1947, 1947, 1947, 1947, - - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1947, - 1947, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1963, 1964, 1947, 1947, 1947, - 1947, 1947, 1947, 1965, 1947, 1947, 1947, 1947, 1947, 1947, - 1960, 1960, 1966, 1969, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1967, 1970, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1968, 1947, 1968, 1971, 1972, 1947, 1947, 1947, - - 1947, 1947, 1947, 1947, 1947, 1951, 1947, 1947, 1947, 1947, - 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1951, 1951, 1951, 1951, 1951, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1973, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1974, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1975, 1976, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - - 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1973, 1977, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1974, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1975, 1947, 1976, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1951, 1951, 1951, 1951, 1951, 1951, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1978, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1979, 1980, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, - 1951, 1951, 1947, 1981, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1978, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1979, 1947, 1979, 1980, 1947, 1980, - - 1947, 1947, 1947, 1947, 1947, 1947, 1951, 1951, 1951, 1982, - 1947, 1947, 1947, 1947, 1947, 1947, 1983, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1951, - 1951, 1982, 1947, 1947, 1947, 1947, 1983, 1947, 1983, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1984, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1951, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1984, 1947, 1984, 1947, - - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1985, 1947, - 1947, 1947, 1947, 1947, 1986, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1987, 1947, 1947, 1947, 1986, 1947, 1986, 1947, - 1947, 1947, 1947, 1947, 1947, 1987, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 0, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947 + 1957, 1, 1957, 1957, 1957, 1957, 1957, 1958, 1959, 1957, + 1957, 1957, 1960, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1957, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1957, 1957, 1957, + 1957, 1958, 1957, 1958, 1959, 1957, 1957, 1957, 1962, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1960, 1957, + + 1960, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1957, + 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1957, 1957, 1962, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1963, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + + 1961, 1961, 1961, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1963, + 1963, 1964, 1963, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + + 1957, 1957, 1957, 1957, 1957, 1957, 1963, 1964, 1964, 1963, + 1963, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1963, 1964, 1963, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + + 1957, 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1957, 1961, 1961, 1961, 1961, + 1961, 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + + 1961, 1961, 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1963, 1964, 1963, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1961, + 1961, 1957, 1961, 1961, 1961, 1961, 1957, 1961, 1961, 1957, + 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1963, 1964, 1963, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1961, 1957, 1961, 1957, 1961, + + 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1965, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1964, 1963, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1957, 1957, + + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1957, 1961, + 1957, 1961, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1966, 1967, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1968, 1963, 1957, 1969, 1970, 1957, 1957, 1957, + 1957, 1971, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1972, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1957, 1957, 1957, + + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1957, 1957, + 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1973, 1967, 1974, 1957, 1957, 1957, + 1957, 1957, 1957, 1975, 1963, 1957, 1957, 1957, 1957, 1957, + 1969, 1957, 1969, 1970, 1957, 1976, 1957, 1957, 1957, 1957, + 1971, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1977, 1977, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1978, 1957, 1957, + + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1961, 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1973, 1974, 1957, + 1957, 1957, 1957, 1957, 1957, 1975, 1957, 1957, 1957, 1957, + 1957, 1957, 1970, 1970, 1976, 1979, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1977, 1980, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1978, 1957, 1978, 1981, + + 1982, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, + 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1961, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1983, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1984, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1985, 1986, 1957, 1957, 1957, 1957, 1957, + + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, + 1961, 1961, 1961, 1961, 1961, 1961, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1983, 1987, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1984, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1985, 1957, 1986, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1961, 1961, 1961, 1961, 1961, 1961, 1957, 1957, + + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1988, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1989, 1990, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, + 1961, 1961, 1957, 1991, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1988, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + + 1957, 1957, 1957, 1957, 1989, 1957, 1989, 1990, 1957, 1990, + 1957, 1957, 1957, 1957, 1957, 1957, 1961, 1961, 1961, 1992, + 1957, 1957, 1957, 1957, 1957, 1957, 1993, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1961, + 1961, 1992, 1957, 1957, 1957, 1957, 1993, 1957, 1993, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1994, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1961, 1957, 1957, 1957, 1957, 1957, 1957, + + 1957, 1957, 1957, 1957, 1957, 1957, 1994, 1957, 1994, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1995, 1957, + 1957, 1957, 1957, 1957, 1996, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1997, 1957, 1957, 1957, 1996, 1957, 1996, 1957, + 1957, 1957, 1957, 1957, 1957, 1997, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 0, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957 + } ; -static yyconst flex_uint16_t yy_nxt[3510] = +static yyconst flex_uint16_t yy_nxt[3520] = { 0, 4, 5, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, @@ -1213,118 +1218,119 @@ static yyconst flex_uint16_t yy_nxt[3510] = 1347, 1347, 1347, 1347, 1347, 1349, 1350, 1351, 1352, 1353, 1355, 431, 1362, 1365, 1367, 1370, 1372, 1373, 1374, 1375, 1356, 1355, 1357, 1355, 1355, 1355, 1355, 1355, 1355, 1358, - 1359, 1381, 1382, 1360, 1368, 1368, 1368, 1368, 1368, 1368, - - 1376, 1366, 1383, 1378, 1385, 1386, 1355, 1369, 1369, 1369, - 1369, 1369, 1369, 1387, 1379, 1388, 1377, 1389, 1355, 1380, - 1390, 1391, 1392, 1393, 1363, 1394, 1355, 1395, 1396, 1397, - 1398, 1355, 1401, 1402, 1355, 1403, 1405, 1355, 1399, 1399, - 1399, 1406, 1407, 1355, 1408, 1409, 1355, 1298, 1298, 1298, - 1303, 1303, 1303, 1410, 1310, 1310, 1310, 1413, 1414, 1415, - 1401, 1402, 1416, 1403, 1405, 1418, 1419, 1420, 1421, 1406, - 1407, 1422, 1408, 1409, 1423, 1417, 1424, 1425, 1426, 1427, - 1428, 1410, 1429, 1430, 1431, 1413, 1414, 1411, 1432, 1433, - 1434, 1435, 1436, 1437, 1438, 1400, 1439, 1404, 1440, 1441, - - 1442, 1443, 1444, 1412, 1445, 1448, 1449, 1450, 1451, 1452, - 1453, 1455, 1457, 1458, 1459, 1411, 1460, 1456, 1362, 1464, - 1467, 1468, 1469, 1400, 1365, 1404, 1947, 1364, 1470, 1471, - 1472, 1412, 1355, 431, 1368, 1368, 1368, 1368, 1368, 1368, - 1473, 1474, 1477, 1355, 1478, 1355, 1355, 1355, 1355, 1355, - 1355, 1361, 1366, 1361, 1462, 1465, 1465, 1465, 1465, 1465, - 1465, 1466, 1466, 1466, 1466, 1466, 1466, 1475, 1355, 1480, - 1363, 1481, 1947, 1482, 1483, 1484, 1486, 1487, 1485, 1476, - 1355, 1488, 1463, 1489, 1490, 1491, 1492, 1494, 1355, 1496, - 1497, 1499, 1500, 1355, 1501, 1502, 1355, 1480, 1503, 1355, - - 1947, 1399, 1399, 1399, 1504, 1355, 1505, 1506, 1355, 1507, - 1508, 1512, 1509, 1513, 1510, 1511, 1514, 1515, 1516, 1499, - 1500, 1517, 1501, 1502, 1518, 1519, 1503, 1520, 1521, 1522, - 1523, 1524, 1504, 1525, 1505, 1506, 1531, 1507, 1508, 1495, - 1509, 1498, 1510, 1511, 1526, 1526, 1526, 1526, 1526, 1526, - 1527, 1529, 1530, 1533, 1534, 1535, 1536, 1537, 1528, 1532, - 1532, 1532, 1532, 1532, 1532, 1539, 1540, 1541, 1542, 1498, - 1538, 1538, 1538, 1538, 1538, 1538, 1543, 1544, 1545, 1546, - 1547, 1548, 1549, 1550, 1551, 1365, 1365, 1554, 1364, 1465, - 1465, 1465, 1465, 1465, 1465, 1553, 1553, 1553, 1553, 1553, - - 1553, 1555, 1556, 1558, 1559, 1560, 1563, 1565, 1566, 1561, - 1557, 1567, 1568, 1366, 1366, 1462, 1562, 1947, 1571, 1572, - 1575, 1573, 1564, 1570, 1570, 1570, 1570, 1570, 1570, 1574, - 1576, 1581, 1577, 1582, 1583, 1585, 1586, 1578, 1587, 1494, - 1584, 1590, 1591, 1463, 1592, 1947, 1579, 1593, 1594, 1595, - 1580, 1596, 1597, 1598, 1598, 1598, 1599, 1600, 1601, 1602, - 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1612, 1590, - 1591, 1613, 1592, 1615, 1616, 1593, 1594, 1595, 1617, 1596, - 1597, 1618, 1620, 1622, 1599, 1600, 1601, 1602, 1623, 1619, - 1624, 1495, 1611, 1611, 1611, 1611, 1611, 1611, 1614, 1625, - - 1532, 1532, 1532, 1532, 1532, 1532, 1621, 1621, 1621, 1621, - 1621, 1621, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1634, - 1553, 1553, 1553, 1553, 1553, 1553, 1635, 1636, 1638, 1639, - 1640, 1641, 1642, 1643, 1644, 1637, 1645, 1646, 1647, 1648, - 1649, 1651, 1651, 1651, 1651, 1651, 1651, 1652, 1653, 1654, - 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, - 1665, 1666, 1667, 1669, 1671, 1672, 1673, 1674, 1675, 1676, - 1677, 1678, 1679, 1598, 1598, 1598, 1681, 1682, 1683, 1684, - 1685, 1686, 1687, 1688, 1689, 1690, 1611, 1611, 1611, 1611, - 1611, 1611, 1694, 1672, 1673, 1674, 1675, 1676, 1677, 1678, - - 1679, 1691, 1697, 1698, 1681, 1682, 1683, 1684, 1695, 1692, - 1693, 1693, 1693, 1693, 1693, 1693, 1696, 1699, 1700, 1701, - 1702, 1680, 1621, 1621, 1621, 1621, 1621, 1621, 1703, 1705, - 1705, 1705, 1705, 1705, 1705, 1706, 1704, 1707, 1708, 1634, - 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1680, - 1719, 1720, 1651, 1651, 1651, 1651, 1651, 1651, 1721, 1722, - 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1729, 1729, 1729, - 1729, 1729, 1730, 1731, 1732, 1733, 1734, 1736, 1669, 1738, - 1671, 1739, 1741, 1742, 1735, 1740, 1740, 1740, 1743, 1744, - 1745, 1737, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, - - 1754, 1693, 1693, 1693, 1693, 1693, 1693, 1755, 1756, 1759, - 1741, 1742, 1760, 1761, 1762, 1757, 1743, 1744, 1745, 1764, - 1746, 1747, 1748, 1758, 1705, 1705, 1705, 1705, 1705, 1705, - 1763, 1765, 1766, 1768, 1769, 1769, 1769, 1769, 1769, 1769, - 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, - 1781, 1783, 1784, 1785, 1788, 1789, 1792, 1793, 1782, 1794, - 1796, 1799, 1787, 1786, 1729, 1729, 1729, 1729, 1729, 1729, - 1790, 1802, 1740, 1740, 1740, 1803, 1804, 1805, 1791, 1806, - 1807, 1808, 1809, 1811, 1812, 1813, 1815, 1816, 1770, 1817, - 1818, 1819, 1820, 1814, 1822, 1824, 1825, 1826, 1827, 1802, - - 1828, 1829, 1823, 1803, 1804, 1805, 1830, 1806, 1833, 1834, - 1835, 1836, 1797, 1800, 1801, 1821, 1821, 1821, 1821, 1821, - 1821, 1831, 1837, 1838, 1840, 1841, 1842, 1843, 1844, 1832, - 1839, 1839, 1839, 1839, 1839, 1839, 1796, 1799, 1845, 1846, - 1847, 1848, 1801, 1849, 1850, 1851, 1853, 1854, 1855, 1856, - 1858, 1860, 1861, 1862, 1821, 1821, 1821, 1821, 1821, 1821, - 1863, 1864, 1865, 1866, 1867, 1869, 1845, 1846, 1847, 1848, - 1870, 1849, 1868, 1871, 1872, 1873, 1874, 1875, 1839, 1839, - 1839, 1839, 1839, 1839, 1876, 1877, 1878, 1879, 1797, 1800, - 1880, 1881, 1881, 1881, 1882, 1883, 1884, 1885, 1887, 1858, - - 1947, 1888, 1859, 1886, 1886, 1886, 1886, 1886, 1886, 1889, - 1890, 1891, 1893, 1894, 1895, 1879, 1896, 1898, 1880, 1892, - 1900, 1901, 1882, 1883, 1902, 1857, 1903, 1857, 1904, 1881, - 1881, 1881, 1905, 1906, 1907, 1907, 1907, 1907, 1907, 1907, - 1908, 1909, 1910, 1911, 1912, 1914, 1915, 1898, 1947, 1916, - 1917, 1859, 1913, 1918, 1903, 1919, 1904, 1920, 1921, 1924, - 1905, 1925, 1926, 1930, 1090, 1931, 1932, 1928, 1091, 1899, - 1092, 1937, 1933, 1897, 1094, 1897, 1934, 1928, 1095, 1938, - 1939, 1942, 1020, 1919, 1019, 1920, 1921, 1018, 1017, 1016, - 1015, 1014, 1090, 1013, 1012, 1011, 1091, 1010, 1092, 1899, - - 1933, 1947, 1094, 1940, 1934, 1941, 1095, 1907, 1907, 1907, - 1907, 1907, 1907, 1922, 1922, 1922, 1922, 1922, 1922, 1929, - 1935, 1935, 1935, 1935, 1935, 1935, 1927, 1943, 1927, 1929, - 1944, 1940, 1945, 1941, 1935, 1935, 1935, 1935, 1935, 1935, - 1946, 1009, 1008, 1007, 1006, 1005, 1004, 1003, 1002, 1001, - 1000, 999, 998, 997, 996, 1943, 995, 994, 1944, 993, - 1945, 992, 991, 990, 989, 988, 987, 986, 1946, 72, + 1359, 1383, 1384, 1360, 1368, 1368, 1368, 1368, 1368, 1368, + + 1385, 1366, 1387, 1376, 1377, 1380, 1355, 1369, 1369, 1369, + 1369, 1369, 1369, 1388, 1389, 1390, 1381, 1391, 1355, 1378, + 1379, 1382, 1392, 1393, 1363, 1394, 1355, 1395, 1396, 1397, + 1398, 1355, 1399, 1400, 1355, 1403, 1404, 1355, 1401, 1401, + 1401, 1405, 1407, 1355, 1408, 1409, 1355, 1298, 1298, 1298, + 1303, 1303, 1303, 1410, 1411, 1412, 1310, 1310, 1310, 1415, + 1416, 1417, 1418, 1403, 1404, 1420, 1421, 1422, 1423, 1405, + 1407, 1424, 1408, 1409, 1425, 1419, 1426, 1427, 1428, 1429, + 1430, 1410, 1411, 1412, 1431, 1432, 1433, 1415, 1416, 1413, + 1434, 1435, 1436, 1437, 1438, 1402, 1439, 1406, 1440, 1441, + + 1442, 1443, 1444, 1445, 1446, 1414, 1447, 1450, 1451, 1452, + 1453, 1454, 1455, 1457, 1459, 1460, 1461, 1413, 1462, 1458, + 1362, 1466, 1469, 1402, 1470, 1406, 1365, 1471, 1957, 1364, + 1472, 1473, 1474, 1414, 1355, 431, 1368, 1368, 1368, 1368, + 1368, 1368, 1475, 1476, 1477, 1355, 1478, 1355, 1355, 1355, + 1355, 1355, 1355, 1361, 1366, 1361, 1464, 1467, 1467, 1467, + 1467, 1467, 1467, 1468, 1468, 1468, 1468, 1468, 1468, 1479, + 1355, 1481, 1363, 1482, 1484, 1957, 1485, 1486, 1487, 1490, + 1488, 1480, 1355, 1489, 1465, 1491, 1492, 1493, 1494, 1495, + 1355, 1496, 1498, 1500, 1501, 1355, 1503, 1504, 1355, 1505, + + 1506, 1355, 1484, 1957, 1507, 1508, 1509, 1355, 1510, 1511, + 1355, 1401, 1401, 1401, 1512, 1513, 1516, 1514, 1515, 1517, + 1518, 1519, 1520, 1521, 1503, 1504, 1522, 1505, 1506, 1523, + 1524, 1525, 1507, 1508, 1509, 1526, 1510, 1511, 1527, 1528, + 1529, 1531, 1512, 1513, 1499, 1514, 1515, 1533, 1534, 1532, + 1535, 1502, 1530, 1530, 1530, 1530, 1530, 1530, 1536, 1536, + 1536, 1536, 1536, 1536, 1537, 1538, 1539, 1540, 1541, 1542, + 1542, 1542, 1542, 1542, 1542, 1543, 1544, 1545, 1546, 1502, + 1548, 1549, 1550, 1551, 1552, 1553, 1547, 1554, 1555, 1365, + 1365, 1558, 1364, 1467, 1467, 1467, 1467, 1467, 1467, 1557, + + 1557, 1557, 1557, 1557, 1557, 1559, 1560, 1562, 1563, 1564, + 1565, 1566, 1569, 1567, 1561, 1571, 1572, 1366, 1366, 1464, + 1568, 1573, 1574, 1957, 1577, 1578, 1581, 1579, 1570, 1576, + 1576, 1576, 1576, 1576, 1576, 1580, 1582, 1587, 1583, 1588, + 1589, 1591, 1592, 1584, 1593, 1498, 1590, 1465, 1596, 1597, + 1598, 1957, 1585, 1599, 1600, 1601, 1586, 1602, 1603, 1604, + 1604, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, + 1613, 1614, 1615, 1616, 1618, 1619, 1596, 1597, 1598, 1621, + 1622, 1599, 1600, 1601, 1623, 1602, 1603, 1624, 1626, 1628, + 1605, 1606, 1607, 1608, 1629, 1625, 1630, 1499, 1617, 1617, + + 1617, 1617, 1617, 1617, 1620, 1631, 1536, 1536, 1536, 1536, + 1536, 1536, 1627, 1627, 1627, 1627, 1627, 1627, 1632, 1633, + 1634, 1635, 1636, 1637, 1638, 1640, 1557, 1557, 1557, 1557, + 1557, 1557, 1641, 1642, 1644, 1645, 1646, 1647, 1648, 1649, + 1650, 1643, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1659, + 1659, 1659, 1659, 1659, 1659, 1660, 1661, 1662, 1663, 1664, + 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, + 1675, 1677, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, + 1687, 1604, 1604, 1604, 1689, 1690, 1691, 1692, 1693, 1694, + 1695, 1696, 1697, 1698, 1617, 1617, 1617, 1617, 1617, 1617, + + 1702, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1699, + 1705, 1706, 1689, 1690, 1691, 1692, 1703, 1700, 1701, 1701, + 1701, 1701, 1701, 1701, 1704, 1707, 1708, 1709, 1710, 1688, + 1627, 1627, 1627, 1627, 1627, 1627, 1711, 1713, 1713, 1713, + 1713, 1713, 1713, 1714, 1712, 1715, 1716, 1640, 1718, 1719, + 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1688, 1727, 1728, + 1729, 1730, 1659, 1659, 1659, 1659, 1659, 1659, 1731, 1732, + 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1739, 1739, 1739, + 1739, 1739, 1740, 1741, 1742, 1743, 1744, 1746, 1677, 1748, + 1679, 1749, 1751, 1752, 1745, 1750, 1750, 1750, 1753, 1754, + + 1755, 1747, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, + 1764, 1701, 1701, 1701, 1701, 1701, 1701, 1765, 1766, 1769, + 1751, 1752, 1770, 1771, 1772, 1767, 1753, 1754, 1755, 1774, + 1756, 1757, 1758, 1768, 1713, 1713, 1713, 1713, 1713, 1713, + 1773, 1775, 1776, 1778, 1779, 1779, 1779, 1779, 1779, 1779, + 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, + 1791, 1793, 1794, 1795, 1798, 1799, 1802, 1803, 1792, 1804, + 1806, 1809, 1797, 1796, 1739, 1739, 1739, 1739, 1739, 1739, + 1800, 1812, 1750, 1750, 1750, 1813, 1814, 1815, 1801, 1816, + 1817, 1818, 1819, 1821, 1822, 1823, 1825, 1826, 1780, 1827, + + 1828, 1829, 1830, 1824, 1832, 1834, 1835, 1836, 1837, 1812, + 1838, 1839, 1833, 1813, 1814, 1815, 1840, 1816, 1843, 1844, + 1845, 1846, 1807, 1810, 1811, 1831, 1831, 1831, 1831, 1831, + 1831, 1841, 1847, 1848, 1850, 1851, 1852, 1853, 1854, 1842, + 1849, 1849, 1849, 1849, 1849, 1849, 1806, 1809, 1855, 1856, + 1857, 1858, 1811, 1859, 1860, 1861, 1863, 1864, 1865, 1866, + 1868, 1870, 1871, 1872, 1831, 1831, 1831, 1831, 1831, 1831, + 1873, 1874, 1875, 1876, 1877, 1879, 1855, 1856, 1857, 1858, + 1880, 1859, 1878, 1881, 1882, 1883, 1884, 1885, 1849, 1849, + 1849, 1849, 1849, 1849, 1886, 1887, 1888, 1889, 1807, 1810, + + 1890, 1891, 1891, 1891, 1892, 1893, 1894, 1895, 1897, 1868, + 1957, 1898, 1869, 1896, 1896, 1896, 1896, 1896, 1896, 1899, + 1900, 1901, 1903, 1904, 1905, 1889, 1906, 1908, 1890, 1902, + 1910, 1911, 1892, 1893, 1912, 1867, 1913, 1867, 1914, 1891, + 1891, 1891, 1915, 1916, 1917, 1917, 1917, 1917, 1917, 1917, + 1918, 1919, 1920, 1921, 1922, 1924, 1925, 1908, 1957, 1926, + 1927, 1869, 1923, 1928, 1913, 1929, 1914, 1930, 1931, 1934, + 1915, 1935, 1936, 1940, 1090, 1941, 1942, 1938, 1091, 1909, + 1092, 1947, 1943, 1907, 1094, 1907, 1944, 1938, 1095, 1948, + 1949, 1952, 1020, 1929, 1019, 1930, 1931, 1018, 1017, 1016, + + 1015, 1014, 1090, 1013, 1012, 1011, 1091, 1010, 1092, 1909, + 1943, 1957, 1094, 1950, 1944, 1951, 1095, 1917, 1917, 1917, + 1917, 1917, 1917, 1932, 1932, 1932, 1932, 1932, 1932, 1939, + 1945, 1945, 1945, 1945, 1945, 1945, 1937, 1953, 1937, 1939, + 1954, 1950, 1955, 1951, 1945, 1945, 1945, 1945, 1945, 1945, + 1956, 1009, 1008, 1007, 1006, 1005, 1004, 1003, 1002, 1001, + 1000, 999, 998, 997, 996, 1953, 995, 994, 1954, 993, + 1955, 992, 991, 990, 989, 988, 987, 986, 1956, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 75, 75, 982, 75, 75, 75, 75, 75, 75, + 72, 75, 75, 982, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, @@ -1334,8 +1340,8 @@ static yyconst flex_uint16_t yy_nxt[3510] = 228, 228, 228, 228, 228, 430, 430, 975, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 608, 608, 974, - 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, + 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 1255, 957, 956, 955, 1255, 1255, 1255, 1255, 1255, 954, 1255, 1255, 1255, 1255, 1255, 1345, 951, 950, 949, 1345, 1345, @@ -1345,63 +1351,63 @@ static yyconst flex_uint16_t yy_nxt[3510] = 937, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 936, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, - 1361, 1361, 1361, 1361, 1364, 1364, 1364, 1364, 1364, 1364, + 1361, 1361, 1361, 1361, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1371, 935, 933, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, - 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1384, 932, - 931, 930, 1384, 1384, 929, 928, 927, 923, 1384, 1384, - 1446, 922, 921, 1446, 918, 917, 916, 1446, 1446, 1446, - 1446, 1446, 915, 1446, 1446, 1446, 1446, 1446, 1447, 914, - 913, 1447, 1447, 912, 911, 910, 1447, 909, 1447, 906, - 905, 904, 1447, 903, 1447, 1454, 1454, 1454, 902, 901, - 900, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, - - 1454, 1454, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, - 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, - 1461, 1461, 1461, 1461, 1479, 899, 898, 897, 1479, 1479, - 896, 895, 1479, 894, 1479, 1479, 893, 892, 1479, 1493, - 1493, 891, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, - 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, - 1493, 1552, 1552, 1552, 1552, 1552, 1569, 890, 889, 888, - 1569, 1569, 887, 886, 885, 884, 1569, 1569, 1588, 1588, - 1588, 1588, 1588, 883, 1588, 1588, 1588, 1588, 1588, 1589, - 1589, 1589, 1589, 1589, 882, 1589, 1589, 1589, 1589, 1589, - - 1633, 879, 876, 875, 874, 1633, 873, 872, 868, 867, - 866, 865, 1633, 1633, 1633, 1633, 1633, 1650, 864, 863, - 862, 1650, 1650, 859, 858, 857, 856, 1650, 1650, 1668, - 855, 1668, 1668, 854, 853, 1668, 1668, 1668, 1668, 1668, - 1668, 1668, 1668, 1668, 1668, 1668, 1670, 852, 1670, 1670, - 851, 850, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, - 1670, 1670, 1670, 1709, 849, 848, 1709, 1709, 1709, 1709, - 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, - 1709, 1709, 1709, 1709, 1709, 1767, 847, 846, 1767, 1767, - 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, - - 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1795, 1795, 845, - 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, - 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1798, - 1798, 844, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, - 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, - 1798, 1810, 1810, 1810, 1810, 1810, 843, 1810, 1810, 1810, - 1810, 1810, 1852, 842, 841, 840, 1852, 1852, 1852, 1852, - 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1857, 1857, 1857, - 1857, 1857, 1857, 1857, 1857, 1857, 839, 1857, 1857, 1857, - 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1897, - - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 838, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, 1923, - 1923, 1923, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, - 1927, 837, 1927, 1927, 1927, 1927, 1927, 1927, 1927, 1927, - 1927, 1927, 1927, 1927, 1936, 836, 835, 834, 1936, 1936, - 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 1936, 833, + 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1386, 932, + 931, 930, 1386, 1386, 929, 928, 927, 923, 1386, 1386, + 1448, 922, 921, 1448, 918, 917, 916, 1448, 1448, 1448, + 1448, 1448, 915, 1448, 1448, 1448, 1448, 1448, 1449, 914, + 913, 1449, 1449, 912, 911, 910, 1449, 909, 1449, 906, + 905, 904, 1449, 903, 1449, 1456, 1456, 1456, 902, 901, + + 900, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, + 1456, 1456, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, + 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, + 1463, 1463, 1463, 1463, 1483, 899, 898, 897, 1483, 1483, + 896, 895, 1483, 894, 1483, 1483, 893, 892, 1483, 1497, + 1497, 891, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, + 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, + 1497, 1556, 1556, 1556, 1556, 1556, 1575, 890, 889, 888, + 1575, 1575, 887, 886, 885, 884, 1575, 1575, 1594, 1594, + 1594, 1594, 1594, 883, 1594, 1594, 1594, 1594, 1594, 1595, + + 1595, 1595, 1595, 1595, 882, 1595, 1595, 1595, 1595, 1595, + 1639, 879, 876, 875, 874, 1639, 873, 872, 868, 867, + 866, 865, 1639, 1639, 1639, 1639, 1639, 1658, 864, 863, + 862, 1658, 1658, 859, 858, 857, 856, 1658, 1658, 1676, + 855, 1676, 1676, 854, 853, 1676, 1676, 1676, 1676, 1676, + 1676, 1676, 1676, 1676, 1676, 1676, 1678, 852, 1678, 1678, + 851, 850, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, + 1678, 1678, 1678, 1717, 849, 848, 1717, 1717, 1717, 1717, + 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717, + 1717, 1717, 1717, 1717, 1717, 1777, 847, 846, 1777, 1777, + + 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777, + 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1805, 1805, 845, + 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, + 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1808, + 1808, 844, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, + 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, + 1808, 1820, 1820, 1820, 1820, 1820, 843, 1820, 1820, 1820, + 1820, 1820, 1862, 842, 841, 840, 1862, 1862, 1862, 1862, + 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1867, 1867, 1867, + 1867, 1867, 1867, 1867, 1867, 1867, 839, 1867, 1867, 1867, + + 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1907, + 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 838, 1907, + 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907, + 1907, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, 1933, + 1933, 1933, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, + 1937, 837, 1937, 1937, 1937, 1937, 1937, 1937, 1937, 1937, + 1937, 1937, 1937, 1937, 1946, 836, 835, 834, 1946, 1946, + 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 1946, 833, 832, 831, 830, 829, 828, 827, 801, 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, 788, 787, 786, - 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, + 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, 431, 772, 771, 770, 769, 768, 767, 766, 765, 764, 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, 749, 747, 746, 745, 744, 743, 740, 739, 738, 737, @@ -1411,8 +1417,8 @@ static yyconst flex_uint16_t yy_nxt[3510] = 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, 679, 678, 677, - 676, 674, 673, 672, 671, 670, 669, 668, 667, 638, + 676, 674, 673, 672, 671, 670, 669, 668, 667, 638, 637, 636, 633, 632, 631, 630, 629, 628, 627, 626, 625, 622, 621, 620, 619, 618, 614, 613, 612, 431, 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, @@ -1422,8 +1428,8 @@ static yyconst flex_uint16_t yy_nxt[3510] = 563, 562, 561, 560, 559, 558, 557, 556, 555, 552, 551, 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, 529, - 528, 527, 524, 523, 522, 521, 520, 519, 518, 517, + 528, 527, 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, 507, 503, 502, 501, 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 456, 455, 454, 453, 452, 451, 446, @@ -1433,23 +1439,23 @@ static yyconst flex_uint16_t yy_nxt[3510] = 401, 400, 392, 391, 386, 374, 370, 369, 366, 360, 359, 358, 352, 349, 348, 347, 346, 345, 344, 343, 342, 340, 339, 335, 334, 333, 330, 328, 324, 323, - 318, 317, 315, 314, 313, 311, 310, 305, 304, 274, - 273, 272, 271, 1947, 265, 256, 255, 248, 244, 243, + 318, 317, 315, 314, 313, 311, 310, 305, 304, 274, + 273, 272, 271, 1957, 265, 256, 255, 248, 244, 243, 231, 226, 204, 186, 119, 114, 107, 102, 98, 71, - 1947, 3, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947 + 1957, 3, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957 } ; -static yyconst flex_int16_t yy_chk[3510] = +static yyconst flex_int16_t yy_chk[3520] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1605,193 +1611,194 @@ static yyconst flex_int16_t yy_chk[3510] = 1265, 1264, 1265, 1264, 1264, 1264, 1264, 1264, 1264, 1265, 1265, 1279, 1281, 1265, 1269, 1269, 1269, 1269, 1269, 1269, - 1277, 1267, 1282, 1278, 1283, 1284, 1264, 1270, 1270, 1270, - 1270, 1270, 1270, 1285, 1278, 1286, 1277, 1287, 1264, 1278, - 1288, 1289, 1290, 1291, 1266, 1292, 1264, 1293, 1294, 1295, - 1296, 1264, 1300, 1301, 1264, 1302, 1304, 1264, 1297, 1297, - 1297, 1305, 1306, 1264, 1307, 1308, 1264, 1298, 1298, 1298, - 1303, 1303, 1303, 1309, 1310, 1310, 1310, 1312, 1313, 1314, - 1300, 1301, 1315, 1302, 1304, 1316, 1317, 1318, 1319, 1305, - 1306, 1320, 1307, 1308, 1321, 1315, 1322, 1323, 1324, 1325, - 1326, 1309, 1327, 1328, 1330, 1312, 1313, 1310, 1331, 1332, - 1333, 1334, 1335, 1336, 1337, 1298, 1338, 1303, 1339, 1340, - - 1341, 1342, 1343, 1310, 1344, 1348, 1349, 1350, 1351, 1352, - 1353, 1356, 1357, 1358, 1359, 1310, 1360, 1356, 1361, 1367, - 1372, 1373, 1374, 1298, 1364, 1303, 1363, 1366, 1375, 1376, - 1377, 1310, 1355, 1355, 1368, 1368, 1368, 1368, 1368, 1368, - 1378, 1379, 1381, 1355, 1382, 1355, 1355, 1355, 1355, 1355, - 1355, 1363, 1364, 1363, 1366, 1369, 1369, 1369, 1369, 1369, - 1369, 1370, 1370, 1370, 1370, 1370, 1370, 1380, 1355, 1383, - 1361, 1385, 1384, 1386, 1387, 1388, 1389, 1390, 1388, 1380, - 1355, 1391, 1366, 1392, 1393, 1394, 1395, 1396, 1355, 1397, - 1398, 1400, 1401, 1355, 1403, 1404, 1355, 1383, 1405, 1355, - - 1384, 1399, 1399, 1399, 1406, 1355, 1407, 1409, 1355, 1410, - 1411, 1415, 1412, 1416, 1413, 1414, 1417, 1419, 1423, 1400, - 1401, 1424, 1403, 1404, 1425, 1426, 1405, 1427, 1428, 1429, - 1431, 1433, 1406, 1434, 1407, 1409, 1438, 1410, 1411, 1396, - 1412, 1399, 1413, 1414, 1435, 1435, 1435, 1435, 1435, 1435, - 1436, 1437, 1437, 1440, 1441, 1442, 1443, 1444, 1436, 1439, - 1439, 1439, 1439, 1439, 1439, 1448, 1449, 1450, 1451, 1399, - 1445, 1445, 1445, 1445, 1445, 1445, 1451, 1452, 1453, 1455, - 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1467, 1463, 1465, - 1465, 1465, 1465, 1465, 1465, 1466, 1466, 1466, 1466, 1466, - - 1466, 1468, 1469, 1470, 1471, 1472, 1474, 1475, 1476, 1473, - 1469, 1477, 1478, 1461, 1462, 1463, 1473, 1479, 1482, 1483, - 1485, 1484, 1474, 1481, 1481, 1481, 1481, 1481, 1481, 1484, - 1486, 1488, 1487, 1489, 1489, 1490, 1491, 1487, 1492, 1493, - 1489, 1498, 1499, 1463, 1500, 1479, 1487, 1501, 1502, 1503, - 1487, 1504, 1505, 1506, 1506, 1506, 1508, 1509, 1510, 1511, - 1512, 1513, 1514, 1517, 1520, 1521, 1523, 1524, 1527, 1498, - 1499, 1531, 1500, 1533, 1534, 1501, 1502, 1503, 1535, 1504, - 1505, 1536, 1537, 1539, 1508, 1509, 1510, 1511, 1540, 1536, - 1541, 1493, 1526, 1526, 1526, 1526, 1526, 1526, 1532, 1542, - - 1532, 1532, 1532, 1532, 1532, 1532, 1538, 1538, 1538, 1538, - 1538, 1538, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1552, - 1553, 1553, 1553, 1553, 1553, 1553, 1554, 1555, 1556, 1558, - 1559, 1560, 1561, 1562, 1563, 1555, 1564, 1565, 1566, 1567, - 1568, 1570, 1570, 1570, 1570, 1570, 1570, 1571, 1572, 1573, - 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, - 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, - 1595, 1596, 1597, 1598, 1598, 1598, 1599, 1600, 1601, 1602, - 1603, 1604, 1605, 1607, 1608, 1610, 1611, 1611, 1611, 1611, - 1611, 1611, 1615, 1590, 1591, 1592, 1593, 1594, 1595, 1596, - - 1597, 1613, 1617, 1618, 1599, 1600, 1601, 1602, 1616, 1613, - 1614, 1614, 1614, 1614, 1614, 1614, 1616, 1620, 1622, 1623, - 1624, 1598, 1621, 1621, 1621, 1621, 1621, 1621, 1626, 1627, - 1627, 1627, 1627, 1627, 1627, 1630, 1626, 1631, 1632, 1633, - 1635, 1636, 1639, 1640, 1642, 1643, 1644, 1645, 1646, 1598, - 1648, 1649, 1651, 1651, 1651, 1651, 1651, 1651, 1652, 1653, - 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1661, 1661, 1661, - 1661, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, - 1670, 1671, 1673, 1674, 1666, 1672, 1672, 1672, 1676, 1678, - 1680, 1667, 1681, 1682, 1684, 1685, 1686, 1688, 1689, 1691, - - 1692, 1693, 1693, 1693, 1693, 1693, 1693, 1694, 1695, 1699, - 1673, 1674, 1700, 1701, 1703, 1697, 1676, 1678, 1680, 1706, - 1681, 1682, 1684, 1697, 1705, 1705, 1705, 1705, 1705, 1705, - 1705, 1707, 1708, 1710, 1712, 1712, 1712, 1712, 1712, 1712, - 1713, 1714, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, - 1724, 1725, 1726, 1728, 1731, 1732, 1734, 1736, 1724, 1737, - 1738, 1739, 1729, 1728, 1729, 1729, 1729, 1729, 1729, 1729, - 1733, 1741, 1740, 1740, 1740, 1743, 1744, 1745, 1733, 1746, - 1749, 1751, 1752, 1755, 1757, 1759, 1760, 1761, 1712, 1763, - 1765, 1766, 1768, 1759, 1770, 1771, 1772, 1773, 1774, 1741, - - 1775, 1776, 1770, 1743, 1744, 1745, 1777, 1746, 1779, 1781, - 1783, 1784, 1738, 1739, 1740, 1769, 1769, 1769, 1769, 1769, - 1769, 1778, 1785, 1786, 1788, 1789, 1790, 1793, 1794, 1778, - 1787, 1787, 1787, 1787, 1787, 1787, 1795, 1798, 1801, 1802, - 1803, 1805, 1740, 1806, 1807, 1809, 1811, 1813, 1815, 1816, - 1817, 1818, 1819, 1820, 1821, 1821, 1821, 1821, 1821, 1821, - 1822, 1824, 1825, 1827, 1829, 1830, 1801, 1802, 1803, 1805, - 1831, 1806, 1829, 1833, 1835, 1836, 1837, 1838, 1839, 1839, - 1839, 1839, 1839, 1839, 1841, 1843, 1844, 1845, 1795, 1798, - 1846, 1847, 1847, 1847, 1848, 1849, 1850, 1853, 1856, 1857, - - 1859, 1861, 1817, 1855, 1855, 1855, 1855, 1855, 1855, 1862, - 1866, 1867, 1868, 1869, 1871, 1845, 1872, 1873, 1846, 1867, - 1876, 1877, 1848, 1849, 1878, 1859, 1879, 1859, 1880, 1881, - 1881, 1881, 1882, 1885, 1886, 1886, 1886, 1886, 1886, 1886, - 1887, 1889, 1891, 1893, 1894, 1895, 1896, 1897, 1899, 1900, - 1901, 1857, 1894, 1902, 1879, 1903, 1880, 1904, 1905, 1911, - 1882, 1912, 1914, 1916, 1881, 1917, 1918, 1915, 1881, 1873, - 1881, 1926, 1919, 1899, 1881, 1899, 1921, 1927, 1881, 1926, - 1930, 1937, 889, 1903, 888, 1904, 1905, 887, 886, 884, - 883, 882, 1881, 881, 880, 879, 1881, 878, 1881, 1897, - - 1919, 1929, 1881, 1933, 1921, 1934, 1881, 1907, 1907, 1907, - 1907, 1907, 1907, 1908, 1908, 1908, 1908, 1908, 1908, 1915, - 1922, 1922, 1922, 1922, 1922, 1922, 1929, 1940, 1929, 1927, - 1941, 1933, 1943, 1934, 1935, 1935, 1935, 1935, 1935, 1935, - 1945, 877, 875, 873, 872, 871, 870, 868, 867, 866, - 865, 864, 863, 862, 861, 1940, 860, 858, 1941, 857, - 1943, 855, 853, 852, 850, 847, 846, 844, 1945, 1948, - 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, - 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, 1948, - 1948, 1949, 1949, 842, 1949, 1949, 1949, 1949, 1949, 1949, - - 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, 1949, - 1949, 1949, 1949, 1950, 1950, 1950, 1950, 1950, 1950, 1950, - 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, - 1950, 1950, 1950, 1950, 1950, 1951, 837, 836, 834, 1951, - 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, - 1952, 833, 832, 830, 1952, 1952, 1952, 1952, 1952, 1952, - 1952, 1952, 1952, 1952, 1952, 1953, 1953, 829, 1953, 1953, - 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1953, - 1953, 1953, 1953, 1953, 1953, 1953, 1953, 1954, 1954, 828, - 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, - - 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1954, 1955, - 804, 803, 802, 1955, 1955, 1955, 1955, 1955, 801, 1955, - 1955, 1955, 1955, 1955, 1956, 799, 798, 797, 1956, 1956, - 1956, 1956, 1956, 796, 1956, 1956, 1956, 1956, 1956, 1957, - 795, 794, 1957, 793, 792, 791, 1957, 1957, 1957, 1957, - 1957, 789, 1957, 1957, 1957, 1957, 1957, 1958, 788, 787, - 786, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, - 1958, 1958, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, - 1959, 785, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, - 1959, 1959, 1959, 1959, 1960, 1960, 1960, 1960, 1960, 1960, - + 1282, 1267, 1283, 1277, 1277, 1278, 1264, 1270, 1270, 1270, + 1270, 1270, 1270, 1284, 1285, 1286, 1278, 1287, 1264, 1277, + 1277, 1278, 1288, 1289, 1266, 1290, 1264, 1291, 1292, 1293, + 1294, 1264, 1295, 1296, 1264, 1300, 1301, 1264, 1297, 1297, + 1297, 1302, 1304, 1264, 1305, 1306, 1264, 1298, 1298, 1298, + 1303, 1303, 1303, 1307, 1308, 1309, 1310, 1310, 1310, 1312, + 1313, 1314, 1315, 1300, 1301, 1316, 1317, 1318, 1319, 1302, + 1304, 1320, 1305, 1306, 1321, 1315, 1322, 1323, 1324, 1325, + 1326, 1307, 1308, 1309, 1327, 1328, 1330, 1312, 1313, 1310, + 1331, 1332, 1333, 1334, 1335, 1298, 1336, 1303, 1337, 1338, + + 1339, 1340, 1341, 1342, 1343, 1310, 1344, 1348, 1349, 1350, + 1351, 1352, 1353, 1356, 1357, 1358, 1359, 1310, 1360, 1356, + 1361, 1367, 1372, 1298, 1373, 1303, 1364, 1374, 1363, 1366, + 1375, 1376, 1377, 1310, 1355, 1355, 1368, 1368, 1368, 1368, + 1368, 1368, 1378, 1379, 1380, 1355, 1381, 1355, 1355, 1355, + 1355, 1355, 1355, 1363, 1364, 1363, 1366, 1369, 1369, 1369, + 1369, 1369, 1369, 1370, 1370, 1370, 1370, 1370, 1370, 1382, + 1355, 1383, 1361, 1384, 1385, 1386, 1387, 1388, 1389, 1391, + 1390, 1382, 1355, 1390, 1366, 1392, 1393, 1394, 1395, 1396, + 1355, 1397, 1398, 1399, 1400, 1355, 1402, 1403, 1355, 1405, + + 1406, 1355, 1385, 1386, 1407, 1408, 1409, 1355, 1411, 1412, + 1355, 1401, 1401, 1401, 1413, 1414, 1417, 1415, 1416, 1418, + 1419, 1421, 1425, 1426, 1402, 1403, 1427, 1405, 1406, 1428, + 1429, 1430, 1407, 1408, 1409, 1431, 1411, 1412, 1433, 1435, + 1436, 1438, 1413, 1414, 1398, 1415, 1416, 1439, 1439, 1438, + 1440, 1401, 1437, 1437, 1437, 1437, 1437, 1437, 1441, 1441, + 1441, 1441, 1441, 1441, 1442, 1443, 1444, 1445, 1446, 1447, + 1447, 1447, 1447, 1447, 1447, 1450, 1451, 1452, 1453, 1401, + 1454, 1455, 1457, 1458, 1459, 1460, 1453, 1461, 1462, 1463, + 1464, 1469, 1465, 1467, 1467, 1467, 1467, 1467, 1467, 1468, + + 1468, 1468, 1468, 1468, 1468, 1470, 1471, 1472, 1473, 1474, + 1475, 1476, 1478, 1477, 1471, 1479, 1480, 1463, 1464, 1465, + 1477, 1481, 1482, 1483, 1486, 1487, 1489, 1488, 1478, 1485, + 1485, 1485, 1485, 1485, 1485, 1488, 1490, 1492, 1491, 1493, + 1493, 1494, 1495, 1491, 1496, 1497, 1493, 1465, 1502, 1503, + 1504, 1483, 1491, 1505, 1506, 1507, 1491, 1508, 1509, 1510, + 1510, 1510, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1521, + 1524, 1525, 1527, 1528, 1531, 1535, 1502, 1503, 1504, 1537, + 1538, 1505, 1506, 1507, 1539, 1508, 1509, 1540, 1541, 1543, + 1512, 1513, 1514, 1515, 1544, 1540, 1545, 1497, 1530, 1530, + + 1530, 1530, 1530, 1530, 1536, 1546, 1536, 1536, 1536, 1536, + 1536, 1536, 1542, 1542, 1542, 1542, 1542, 1542, 1548, 1549, + 1550, 1551, 1552, 1553, 1554, 1556, 1557, 1557, 1557, 1557, + 1557, 1557, 1558, 1559, 1560, 1562, 1563, 1564, 1565, 1566, + 1567, 1559, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1576, + 1576, 1576, 1576, 1576, 1576, 1577, 1578, 1579, 1581, 1582, + 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, + 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, + 1603, 1604, 1604, 1604, 1605, 1606, 1607, 1608, 1609, 1610, + 1611, 1613, 1614, 1616, 1617, 1617, 1617, 1617, 1617, 1617, + + 1621, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1619, + 1623, 1624, 1605, 1606, 1607, 1608, 1622, 1619, 1620, 1620, + 1620, 1620, 1620, 1620, 1622, 1626, 1628, 1629, 1630, 1604, + 1627, 1627, 1627, 1627, 1627, 1627, 1632, 1633, 1633, 1633, + 1633, 1633, 1633, 1636, 1632, 1637, 1638, 1639, 1641, 1642, + 1645, 1646, 1647, 1648, 1650, 1651, 1652, 1604, 1653, 1654, + 1656, 1657, 1659, 1659, 1659, 1659, 1659, 1659, 1660, 1661, + 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1669, 1669, 1669, + 1669, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, + 1678, 1679, 1681, 1682, 1674, 1680, 1680, 1680, 1684, 1686, + + 1688, 1675, 1689, 1690, 1692, 1693, 1694, 1696, 1697, 1699, + 1700, 1701, 1701, 1701, 1701, 1701, 1701, 1702, 1703, 1707, + 1681, 1682, 1708, 1709, 1711, 1705, 1684, 1686, 1688, 1714, + 1689, 1690, 1692, 1705, 1713, 1713, 1713, 1713, 1713, 1713, + 1713, 1715, 1716, 1718, 1720, 1720, 1720, 1720, 1720, 1720, + 1722, 1724, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, + 1734, 1735, 1736, 1738, 1741, 1742, 1744, 1746, 1734, 1747, + 1748, 1749, 1739, 1738, 1739, 1739, 1739, 1739, 1739, 1739, + 1743, 1751, 1750, 1750, 1750, 1753, 1754, 1755, 1743, 1756, + 1759, 1761, 1762, 1765, 1767, 1769, 1770, 1771, 1720, 1773, + + 1775, 1776, 1778, 1769, 1780, 1781, 1782, 1783, 1784, 1751, + 1785, 1786, 1780, 1753, 1754, 1755, 1787, 1756, 1789, 1791, + 1793, 1794, 1748, 1749, 1750, 1779, 1779, 1779, 1779, 1779, + 1779, 1788, 1795, 1796, 1798, 1799, 1800, 1803, 1804, 1788, + 1797, 1797, 1797, 1797, 1797, 1797, 1805, 1808, 1811, 1812, + 1813, 1815, 1750, 1816, 1817, 1819, 1821, 1823, 1825, 1826, + 1827, 1828, 1829, 1830, 1831, 1831, 1831, 1831, 1831, 1831, + 1832, 1834, 1835, 1837, 1839, 1840, 1811, 1812, 1813, 1815, + 1841, 1816, 1839, 1843, 1845, 1846, 1847, 1848, 1849, 1849, + 1849, 1849, 1849, 1849, 1851, 1853, 1854, 1855, 1805, 1808, + + 1856, 1857, 1857, 1857, 1858, 1859, 1860, 1863, 1866, 1867, + 1869, 1871, 1827, 1865, 1865, 1865, 1865, 1865, 1865, 1872, + 1876, 1877, 1878, 1879, 1881, 1855, 1882, 1883, 1856, 1877, + 1886, 1887, 1858, 1859, 1888, 1869, 1889, 1869, 1890, 1891, + 1891, 1891, 1892, 1895, 1896, 1896, 1896, 1896, 1896, 1896, + 1897, 1899, 1901, 1903, 1904, 1905, 1906, 1907, 1909, 1910, + 1911, 1867, 1904, 1912, 1889, 1913, 1890, 1914, 1915, 1921, + 1892, 1922, 1924, 1926, 1891, 1927, 1928, 1925, 1891, 1883, + 1891, 1936, 1929, 1909, 1891, 1909, 1931, 1937, 1891, 1936, + 1940, 1947, 889, 1913, 888, 1914, 1915, 887, 886, 884, + + 883, 882, 1891, 881, 880, 879, 1891, 878, 1891, 1907, + 1929, 1939, 1891, 1943, 1931, 1944, 1891, 1917, 1917, 1917, + 1917, 1917, 1917, 1918, 1918, 1918, 1918, 1918, 1918, 1925, + 1932, 1932, 1932, 1932, 1932, 1932, 1939, 1950, 1939, 1937, + 1951, 1943, 1953, 1944, 1945, 1945, 1945, 1945, 1945, 1945, + 1955, 877, 875, 873, 872, 871, 870, 868, 867, 866, + 865, 864, 863, 862, 861, 1950, 860, 858, 1951, 857, + 1953, 855, 853, 852, 850, 847, 846, 844, 1955, 1958, + 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, + 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, + + 1958, 1959, 1959, 842, 1959, 1959, 1959, 1959, 1959, 1959, + 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, 1959, + 1959, 1959, 1959, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, - 1960, 1960, 1960, 1960, 1960, 1960, 1961, 784, 782, 1961, + 1960, 1960, 1960, 1960, 1960, 1961, 837, 836, 834, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1962, 781, - 780, 779, 1962, 1962, 778, 777, 776, 772, 1962, 1962, - 1963, 771, 770, 1963, 767, 766, 765, 1963, 1963, 1963, - 1963, 1963, 764, 1963, 1963, 1963, 1963, 1963, 1964, 763, - 762, 1964, 1964, 761, 760, 759, 1964, 758, 1964, 756, - 755, 754, 1964, 753, 1964, 1965, 1965, 1965, 751, 750, - 749, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, - - 1965, 1965, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1967, 747, 746, 745, 1967, 1967, - 744, 743, 1967, 742, 1967, 1967, 741, 739, 1967, 1968, - 1968, 738, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, - 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, - 1968, 1969, 1969, 1969, 1969, 1969, 1970, 736, 735, 734, - 1970, 1970, 733, 731, 730, 729, 1970, 1970, 1971, 1971, - 1971, 1971, 1971, 728, 1971, 1971, 1971, 1971, 1971, 1972, - 1972, 1972, 1972, 1972, 727, 1972, 1972, 1972, 1972, 1972, - - 1973, 725, 723, 721, 720, 1973, 719, 718, 716, 715, - 713, 712, 1973, 1973, 1973, 1973, 1973, 1974, 711, 710, - 709, 1974, 1974, 706, 705, 704, 703, 1974, 1974, 1975, - 702, 1975, 1975, 701, 700, 1975, 1975, 1975, 1975, 1975, - 1975, 1975, 1975, 1975, 1975, 1975, 1976, 699, 1976, 1976, - 698, 697, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1977, 696, 695, 1977, 1977, 1977, 1977, - 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, - 1977, 1977, 1977, 1977, 1977, 1978, 694, 693, 1978, 1978, + 1962, 833, 832, 830, 1962, 1962, 1962, 1962, 1962, 1962, + 1962, 1962, 1962, 1962, 1962, 1963, 1963, 829, 1963, 1963, + 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1963, + 1963, 1963, 1963, 1963, 1963, 1963, 1963, 1964, 1964, 828, + + 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, + 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1965, + 804, 803, 802, 1965, 1965, 1965, 1965, 1965, 801, 1965, + 1965, 1965, 1965, 1965, 1966, 799, 798, 797, 1966, 1966, + 1966, 1966, 1966, 796, 1966, 1966, 1966, 1966, 1966, 1967, + 795, 794, 1967, 793, 792, 791, 1967, 1967, 1967, 1967, + 1967, 789, 1967, 1967, 1967, 1967, 1967, 1968, 788, 787, + 786, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, + 1969, 785, 1969, 1969, 1969, 1969, 1969, 1969, 1969, 1969, + + 1969, 1969, 1969, 1969, 1970, 1970, 1970, 1970, 1970, 1970, + 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970, + 1970, 1970, 1970, 1970, 1970, 1970, 1971, 784, 782, 1971, + 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, + 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1972, 781, + 780, 779, 1972, 1972, 778, 777, 776, 772, 1972, 1972, + 1973, 771, 770, 1973, 767, 766, 765, 1973, 1973, 1973, + 1973, 1973, 764, 1973, 1973, 1973, 1973, 1973, 1974, 763, + 762, 1974, 1974, 761, 760, 759, 1974, 758, 1974, 756, + 755, 754, 1974, 753, 1974, 1975, 1975, 1975, 751, 750, + + 749, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, + 1975, 1975, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, + 1976, 1976, 1976, 1976, 1977, 747, 746, 745, 1977, 1977, + 744, 743, 1977, 742, 1977, 1977, 741, 739, 1977, 1978, + 1978, 738, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, - - 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1979, 1979, 691, - 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, - 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1980, - 1980, 690, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1981, 1981, 1981, 1981, 1981, 688, 1981, 1981, 1981, - 1981, 1981, 1982, 687, 686, 685, 1982, 1982, 1982, 1982, - 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1983, 1983, 1983, - 1983, 1983, 1983, 1983, 1983, 1983, 684, 1983, 1983, 1983, - 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1984, - - 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 683, 1984, - 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, 1984, - 1984, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, 1985, - 1985, 1985, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, - 1986, 682, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, - 1986, 1986, 1986, 1986, 1987, 681, 680, 679, 1987, 1987, - 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 678, + 1978, 1979, 1979, 1979, 1979, 1979, 1980, 736, 735, 734, + 1980, 1980, 733, 731, 730, 729, 1980, 1980, 1981, 1981, + 1981, 1981, 1981, 728, 1981, 1981, 1981, 1981, 1981, 1982, + + 1982, 1982, 1982, 1982, 727, 1982, 1982, 1982, 1982, 1982, + 1983, 725, 723, 721, 720, 1983, 719, 718, 716, 715, + 713, 712, 1983, 1983, 1983, 1983, 1983, 1984, 711, 710, + 709, 1984, 1984, 706, 705, 704, 703, 1984, 1984, 1985, + 702, 1985, 1985, 701, 700, 1985, 1985, 1985, 1985, 1985, + 1985, 1985, 1985, 1985, 1985, 1985, 1986, 699, 1986, 1986, + 698, 697, 1986, 1986, 1986, 1986, 1986, 1986, 1986, 1986, + 1986, 1986, 1986, 1987, 696, 695, 1987, 1987, 1987, 1987, + 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, + 1987, 1987, 1987, 1987, 1987, 1988, 694, 693, 1988, 1988, + + 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, + 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1989, 1989, 691, + 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, + 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1990, + 1990, 690, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, + 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, + 1990, 1991, 1991, 1991, 1991, 1991, 688, 1991, 1991, 1991, + 1991, 1991, 1992, 687, 686, 685, 1992, 1992, 1992, 1992, + 1992, 1992, 1992, 1992, 1992, 1992, 1992, 1993, 1993, 1993, + 1993, 1993, 1993, 1993, 1993, 1993, 684, 1993, 1993, 1993, + + 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1994, + 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 683, 1994, + 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, + 1994, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, + 1995, 1995, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 682, 1996, 1996, 1996, 1996, 1996, 1996, 1996, 1996, + 1996, 1996, 1996, 1996, 1997, 681, 680, 679, 1997, 1997, + 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 678, 676, 675, 673, 672, 669, 668, 637, 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, - 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, + 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, 610, 606, 605, 604, 603, 602, 601, 599, 598, 597, 595, 594, 593, 592, 591, 590, 589, 588, 585, 584, 583, 581, 579, 578, 577, 576, 573, 571, 570, 569, @@ -1801,8 +1808,8 @@ static yyconst flex_int16_t yy_chk[3510] = 537, 535, 534, 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, 519, 517, 516, 515, 514, 513, 512, 510, 509, 508, 507, 506, 504, 503, 502, - 501, 496, 494, 493, 492, 491, 490, 489, 488, 456, + 501, 496, 494, 493, 492, 491, 490, 489, 488, 456, 455, 454, 452, 451, 450, 449, 448, 447, 446, 445, 444, 442, 441, 440, 439, 438, 436, 435, 434, 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, @@ -1812,8 +1819,8 @@ static yyconst flex_int16_t yy_chk[3510] = 384, 383, 382, 381, 380, 379, 378, 377, 375, 373, 372, 370, 369, 368, 367, 366, 364, 363, 362, 361, 360, 359, 358, 357, 355, 354, 353, 352, 351, 349, - 348, 347, 345, 344, 343, 341, 340, 339, 337, 336, + 348, 347, 345, 344, 343, 341, 340, 339, 337, 336, 335, 334, 333, 331, 330, 329, 328, 326, 323, 322, 320, 318, 317, 316, 315, 314, 313, 312, 311, 310, 307, 306, 305, 265, 264, 263, 262, 261, 260, 257, @@ -1823,20 +1830,20 @@ static yyconst flex_int16_t yy_chk[3510] = 217, 216, 212, 211, 208, 204, 201, 199, 197, 195, 194, 193, 190, 188, 186, 185, 184, 183, 182, 181, 180, 178, 177, 175, 174, 173, 171, 169, 167, 166, - 164, 163, 161, 160, 159, 157, 156, 152, 151, 122, + 164, 163, 161, 160, 159, 157, 156, 152, 151, 122, 121, 118, 115, 101, 97, 93, 92, 88, 86, 85, 81, 68, 62, 55, 26, 23, 20, 16, 12, 7, - 3, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, - - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947 + 3, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, + 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957, 1957 } ; /* The intent behind this definition is that it'll catch @@ -1860,6 +1867,7 @@ static yyconst flex_int16_t yy_chk[3510] = * * History * + * bengsig 4-jun-2024 - $ora01013:break * bengsig 10-may-2023 - $musymbolfromstring directive * bengsig 17-apr-2024 - -= * bengsig 4-apr-2024 - $oraerror:showoci directive @@ -1956,7 +1964,7 @@ static yyconst flex_int16_t yy_chk[3510] = * bengsig 06-feb-2018 - added ociping * bengsig 10-feb-2017 - creation */ -#line 112 "rwllexer.l" +#line 113 "rwllexer.l" #include "rwl.h" #include "rwlparser.tab.h" @@ -1969,7 +1977,7 @@ static yyconst flex_int16_t yy_chk[3510] = rwm->rwlytext = (text *)yytext; \ } -#line 1973 "lex.rwly.c" +#line 1981 "lex.rwly.c" #define INITIAL 0 @@ -2242,7 +2250,7 @@ YY_DECL } { -#line 130 "rwllexer.l" +#line 131 "rwllexer.l" @@ -2254,7 +2262,7 @@ YY_DECL /* **************************************************************** */ /*LEXTAG:RWL_T_SQL_TEXT*/ -#line 2258 "lex.rwly.c" +#line 2266 "lex.rwly.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2281,13 +2289,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1948 ) + if ( yy_current_state >= 1958 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 3422 ); + while ( yy_base[yy_current_state] != 3432 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -2313,128 +2321,128 @@ YY_DECL case 1: /* rule 1 can match eol */ -#line 142 "rwllexer.l" +#line 143 "rwllexer.l" case 2: /* rule 2 can match eol */ -#line 143 "rwllexer.l" +#line 144 "rwllexer.l" case 3: /* rule 3 can match eol */ -#line 144 "rwllexer.l" +#line 145 "rwllexer.l" case 4: /* rule 4 can match eol */ -#line 145 "rwllexer.l" +#line 146 "rwllexer.l" case 5: /* rule 5 can match eol */ -#line 146 "rwllexer.l" +#line 147 "rwllexer.l" case 6: /* rule 6 can match eol */ -#line 147 "rwllexer.l" +#line 148 "rwllexer.l" case 7: /* rule 7 can match eol */ -#line 148 "rwllexer.l" +#line 149 "rwllexer.l" case 8: /* rule 8 can match eol */ -#line 149 "rwllexer.l" +#line 150 "rwllexer.l" case 9: /* rule 9 can match eol */ -#line 150 "rwllexer.l" +#line 151 "rwllexer.l" case 10: /* rule 10 can match eol */ -#line 151 "rwllexer.l" +#line 152 "rwllexer.l" case 11: /* rule 11 can match eol */ -#line 152 "rwllexer.l" +#line 153 "rwllexer.l" case 12: /* rule 12 can match eol */ -#line 153 "rwllexer.l" +#line 154 "rwllexer.l" case 13: /* rule 13 can match eol */ -#line 154 "rwllexer.l" +#line 155 "rwllexer.l" case 14: /* rule 14 can match eol */ -#line 155 "rwllexer.l" +#line 156 "rwllexer.l" case 15: /* rule 15 can match eol */ -#line 156 "rwllexer.l" +#line 157 "rwllexer.l" case 16: /* rule 16 can match eol */ -#line 157 "rwllexer.l" +#line 158 "rwllexer.l" case 17: /* rule 17 can match eol */ -#line 158 "rwllexer.l" +#line 159 "rwllexer.l" case 18: /* rule 18 can match eol */ -#line 159 "rwllexer.l" +#line 160 "rwllexer.l" case 19: /* rule 19 can match eol */ -#line 160 "rwllexer.l" +#line 161 "rwllexer.l" case 20: /* rule 20 can match eol */ -#line 161 "rwllexer.l" +#line 162 "rwllexer.l" case 21: /* rule 21 can match eol */ -#line 162 "rwllexer.l" +#line 163 "rwllexer.l" case 22: /* rule 22 can match eol */ -#line 163 "rwllexer.l" +#line 164 "rwllexer.l" case 23: /* rule 23 can match eol */ -#line 164 "rwllexer.l" +#line 165 "rwllexer.l" case 24: /* rule 24 can match eol */ -#line 165 "rwllexer.l" +#line 166 "rwllexer.l" case 25: /* rule 25 can match eol */ -#line 166 "rwllexer.l" +#line 167 "rwllexer.l" case 26: /* rule 26 can match eol */ -#line 167 "rwllexer.l" +#line 168 "rwllexer.l" case 27: /* rule 27 can match eol */ -#line 168 "rwllexer.l" +#line 169 "rwllexer.l" case 28: /* rule 28 can match eol */ -#line 169 "rwllexer.l" +#line 170 "rwllexer.l" case 29: /* rule 29 can match eol */ -#line 170 "rwllexer.l" +#line 171 "rwllexer.l" case 30: /* rule 30 can match eol */ -#line 171 "rwllexer.l" +#line 172 "rwllexer.l" case 31: /* rule 31 can match eol */ -#line 172 "rwllexer.l" +#line 173 "rwllexer.l" case 32: /* rule 32 can match eol */ -#line 173 "rwllexer.l" +#line 174 "rwllexer.l" case 33: /* rule 33 can match eol */ -#line 174 "rwllexer.l" +#line 175 "rwllexer.l" case 34: /* rule 34 can match eol */ -#line 175 "rwllexer.l" +#line 176 "rwllexer.l" case 35: /* rule 35 can match eol */ -#line 176 "rwllexer.l" +#line 177 "rwllexer.l" case 36: /* rule 36 can match eol */ -#line 177 "rwllexer.l" +#line 178 "rwllexer.l" case 37: /* rule 37 can match eol */ -#line 178 "rwllexer.l" +#line 179 "rwllexer.l" case 38: /* rule 38 can match eol */ -#line 179 "rwllexer.l" +#line 180 "rwllexer.l" case 39: /* rule 39 can match eol */ -#line 180 "rwllexer.l" +#line 181 "rwllexer.l" case 40: /* rule 40 can match eol */ -#line 181 "rwllexer.l" +#line 182 "rwllexer.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP -#line 181 "rwllexer.l" +#line 182 "rwllexer.l" { /* we match anything that can initiate SQL or PL/SQL. @@ -2453,7 +2461,7 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 197 "rwllexer.l" +#line 198 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -2463,7 +2471,7 @@ YY_RULE_SETUP case 43: /* rule 43 can match eol */ YY_RULE_SETUP -#line 203 "rwllexer.l" +#line 204 "rwllexer.l" { // Note that this flex input means that the input // consist of any number of either of the following // any character @@ -2480,12 +2488,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_T_DOUBLE_CONST*/ case 44: -#line 219 "rwllexer.l" -case 45: #line 220 "rwllexer.l" +case 45: +#line 221 "rwllexer.l" case 46: YY_RULE_SETUP -#line 220 "rwllexer.l" +#line 221 "rwllexer.l" { /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -2496,7 +2504,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_INTEGER_CONST*/ case 47: YY_RULE_SETUP -#line 229 "rwllexer.l" +#line 230 "rwllexer.l" { /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -2506,7 +2514,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 236 "rwllexer.l" +#line 237 "rwllexer.l" { /* make .. be a token even after an integer so that 1..10 is scanned as 1 .. 10 and not as 1. . 10 @@ -2521,43 +2529,43 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FUNCTION*/ case 49: YY_RULE_SETUP -#line 250 "rwllexer.l" +#line 251 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FUNCTION; } YY_BREAK /*LEXTAG:RWL_T_RETURN*/ case 50: YY_RULE_SETUP -#line 252 "rwllexer.l" +#line 253 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_RETURN; } YY_BREAK /*LEXTAG:RWL_T_EXIT*/ case 51: YY_RULE_SETUP -#line 254 "rwllexer.l" +#line 255 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_EXIT; } YY_BREAK /*LEXTAG:RWL_T_READLOB*/ case 52: YY_RULE_SETUP -#line 256 "rwllexer.l" +#line 257 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_READLOB; } YY_BREAK /*LEXTAG:RWL_T_WRITELOB*/ case 53: YY_RULE_SETUP -#line 258 "rwllexer.l" +#line 259 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_WRITELOB; } YY_BREAK /*LEXTAG:RWL_T_CLOB*/ case 54: YY_RULE_SETUP -#line 260 "rwllexer.l" +#line 261 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_CLOB; } YY_BREAK /*LEXTAG:RWL_T_BLOB*/ case 55: YY_RULE_SETUP -#line 262 "rwllexer.l" +#line 263 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_BLOB; } @@ -2568,7 +2576,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RAW*/ case 56: YY_RULE_SETUP -#line 269 "rwllexer.l" +#line 270 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_RAW; } @@ -2579,7 +2587,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_NCLOB*/ case 57: YY_RULE_SETUP -#line 276 "rwllexer.l" +#line 277 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_NCLOB; @@ -2588,7 +2596,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PUBLIC*/ case 58: YY_RULE_SETUP -#line 281 "rwllexer.l" +#line 282 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_PUBLIC; @@ -2597,7 +2605,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATE*/ case 59: YY_RULE_SETUP -#line 286 "rwllexer.l" +#line 287 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DATE; @@ -2606,7 +2614,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BREAK*/ case 60: YY_RULE_SETUP -#line 291 "rwllexer.l" +#line 292 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_BREAK; } @@ -2614,7 +2622,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_UNSIGNED*/ case 61: YY_RULE_SETUP -#line 295 "rwllexer.l" +#line 296 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_UNSIGNED; @@ -2623,7 +2631,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_HEXADECIMAL*/ case 62: YY_RULE_SETUP -#line 300 "rwllexer.l" +#line 301 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_HEXADECIMAL; @@ -2632,7 +2640,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCTAL*/ case 63: YY_RULE_SETUP -#line 305 "rwllexer.l" +#line 306 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_OCTAL; @@ -2641,7 +2649,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LOBPREFETCH*/ case 64: YY_RULE_SETUP -#line 310 "rwllexer.l" +#line 311 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_LOBPREFETCH; @@ -2650,7 +2658,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PRINTF*/ case 65: YY_RULE_SETUP -#line 315 "rwllexer.l" +#line 316 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_PRINTF; } @@ -2658,7 +2666,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SPRINTF*/ case 66: YY_RULE_SETUP -#line 319 "rwllexer.l" +#line 320 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SPRINTF; } @@ -2666,7 +2674,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FPRINTF*/ case 67: YY_RULE_SETUP -#line 323 "rwllexer.l" +#line 324 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FPRINTF; } @@ -2674,7 +2682,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ENCODE*/ case 68: YY_RULE_SETUP -#line 327 "rwllexer.l" +#line 328 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_ENCODE; @@ -2683,7 +2691,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DECODE*/ case 69: YY_RULE_SETUP -#line 332 "rwllexer.l" +#line 333 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DECODE; @@ -2692,7 +2700,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LEAK*/ case 70: YY_RULE_SETUP -#line 337 "rwllexer.l" +#line 338 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_LEAK; } @@ -2700,19 +2708,19 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ABORT*/ case 71: YY_RULE_SETUP -#line 341 "rwllexer.l" +#line 342 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ABORT; YY_BREAK /*LEXTAG:RWL_T_MODIFY*/ case 72: YY_RULE_SETUP -#line 343 "rwllexer.l" +#line 344 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_MODIFY; YY_BREAK /*LEXTAG:RWL_T_SQL*/ case 73: YY_RULE_SETUP -#line 345 "rwllexer.l" +#line 346 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SQL; } @@ -2720,25 +2728,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IGNOREERROR*/ case 74: YY_RULE_SETUP -#line 349 "rwllexer.l" +#line 350 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IGNOREERROR; YY_BREAK /*LEXTAG:RWL_T_CURSORCACHE*/ case 75: YY_RULE_SETUP -#line 351 "rwllexer.l" +#line 352 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_NOCURSORCACHE*/ case 76: YY_RULE_SETUP -#line 353 "rwllexer.l" +#line 354 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOCURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_CONNECT*/ case 77: YY_RULE_SETUP -#line 355 "rwllexer.l" +#line 356 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2748,7 +2756,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_USERNAME*/ case 78: YY_RULE_SETUP -#line 361 "rwllexer.l" +#line 362 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2758,7 +2766,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PASSWORD*/ case 79: YY_RULE_SETUP -#line 367 "rwllexer.l" +#line 368 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2768,7 +2776,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATABASE*/ case 80: YY_RULE_SETUP -#line 373 "rwllexer.l" +#line 374 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2778,25 +2786,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_REQUESTMARK*/ case 81: YY_RULE_SETUP -#line 379 "rwllexer.l" +#line 380 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REQUESTMARK; YY_BREAK /*LEXTAG:RWL_T_STATEMARK*/ case 82: YY_RULE_SETUP -#line 381 "rwllexer.l" +#line 382 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATEMARK; YY_BREAK /*LEXTAG:RWL_T_RELEASE*/ case 83: YY_RULE_SETUP -#line 383 "rwllexer.l" +#line 384 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RELEASE; YY_BREAK /*LEXTAG:RWL_T_SHARDKEY*/ case 84: YY_RULE_SETUP -#line 385 "rwllexer.l" +#line 386 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_SHARDKEY; @@ -2805,67 +2813,67 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCIPING*/ case 85: YY_RULE_SETUP -#line 390 "rwllexer.l" +#line 391 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCIPING; YY_BREAK /*LEXTAG:RWL_T_COMMIT*/ case 86: YY_RULE_SETUP -#line 392 "rwllexer.l" +#line 393 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COMMIT; YY_BREAK /*LEXTAG:RWL_T_ROLLBACK*/ case 87: YY_RULE_SETUP -#line 394 "rwllexer.l" +#line 395 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROLLBACK; YY_BREAK /*LEXTAG:RWL_T_DEFAULT*/ case 88: YY_RULE_SETUP -#line 396 "rwllexer.l" +#line 397 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFAULT; YY_BREAK /*LEXTAG:RWL_T_AT*/ case 89: YY_RULE_SETUP -#line 398 "rwllexer.l" +#line 399 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AT; YY_BREAK /*LEXTAG:RWL_T_RESULTS*/ case 90: YY_RULE_SETUP -#line 400 "rwllexer.l" +#line 401 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RESULTS; YY_BREAK /*LEXTAG:RWL_T_PROCEDURE*/ case 91: YY_RULE_SETUP -#line 402 "rwllexer.l" +#line 403 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PROCEDURE; YY_BREAK /*LEXTAG:RWL_T_THREADS*/ case 92: YY_RULE_SETUP -#line 404 "rwllexer.l" +#line 405 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THREADS; YY_BREAK /*LEXTAG:RWL_T_GLOBAL*/ case 93: YY_RULE_SETUP -#line 406 "rwllexer.l" +#line 407 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GLOBAL; YY_BREAK /*LEXTAG:RWL_T_PRIVATE*/ case 94: YY_RULE_SETUP -#line 408 "rwllexer.l" +#line 409 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRIVATE; YY_BREAK /*LEXTAG:RWL_T_RUN*/ case 95: YY_RULE_SETUP -#line 410 "rwllexer.l" +#line 411 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -2875,167 +2883,167 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BIND*/ case 96: YY_RULE_SETUP -#line 416 "rwllexer.l" +#line 417 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BIND; YY_BREAK /*LEXTAG:RWL_T_BINDOUT*/ case 97: YY_RULE_SETUP -#line 418 "rwllexer.l" +#line 419 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BINDOUT; YY_BREAK /*LEXTAG:RWL_T_DEFINE*/ case 98: YY_RULE_SETUP -#line 420 "rwllexer.l" +#line 421 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFINE; YY_BREAK /*LEXTAG:RWL_T_START*/ case 99: YY_RULE_SETUP -#line 422 "rwllexer.l" +#line 423 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_START; YY_BREAK /*LEXTAG:RWL_T_COUNT*/ case 100: YY_RULE_SETUP -#line 424 "rwllexer.l" +#line 425 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COUNT; YY_BREAK /*LEXTAG:RWL_T_STOP*/ case 101: YY_RULE_SETUP -#line 426 "rwllexer.l" +#line 427 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STOP; YY_BREAK /*LEXTAG:RWL_T_END*/ case 102: YY_RULE_SETUP -#line 428 "rwllexer.l" +#line 429 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_END; YY_BREAK /*LEXTAG:RWL_T_SESSIONPOOL*/ case 103: YY_RULE_SETUP -#line 430 "rwllexer.l" +#line 431 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SESSIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONPOOL*/ case 104: YY_RULE_SETUP -#line 432 "rwllexer.l" +#line 433 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONCLASS*/ case 105: YY_RULE_SETUP -#line 434 "rwllexer.l" +#line 435 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONCLASS; YY_BREAK /*LEXTAG:RWL_T_DRCP*/ case 106: YY_RULE_SETUP -#line 436 "rwllexer.l" +#line 437 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DRCP; YY_BREAK /*LEXTAG:RWL_T_DEDICATED*/ case 107: YY_RULE_SETUP -#line 438 "rwllexer.l" +#line 439 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEDICATED; YY_BREAK /*LEXTAG:RWL_T_RECONNECT*/ case 108: YY_RULE_SETUP -#line 440 "rwllexer.l" +#line 441 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RECONNECT; YY_BREAK /*LEXTAG:RWL_T_UNIFORM*/ case 109: YY_RULE_SETUP -#line 442 "rwllexer.l" +#line 443 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_UNIFORM; YY_BREAK /*LEXTAG:RWL_T_NORMALRANDOM*/ case 110: YY_RULE_SETUP -#line 444 "rwllexer.l" +#line 445 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NORMALRANDOM; YY_BREAK /*LEXTAG:RWL_T_LOG*/ case 111: YY_RULE_SETUP -#line 446 "rwllexer.l" +#line 447 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LOG; YY_BREAK /*LEXTAG:RWL_T_EXP*/ case 112: YY_RULE_SETUP -#line 448 "rwllexer.l" +#line 449 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EXP; YY_BREAK /*LEXTAG:RWL_T_CEIL*/ case 113: YY_RULE_SETUP -#line 450 "rwllexer.l" +#line 451 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CEIL; YY_BREAK /*LEXTAG:RWL_T_TRUNC*/ case 114: YY_RULE_SETUP -#line 452 "rwllexer.l" +#line 453 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_TRUNC; YY_BREAK /*LEXTAG:RWL_T_FLOOR*/ case 115: YY_RULE_SETUP -#line 454 "rwllexer.l" +#line 455 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FLOOR; YY_BREAK /*LEXTAG:RWL_T_ROUND*/ case 116: YY_RULE_SETUP -#line 456 "rwllexer.l" +#line 457 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROUND; YY_BREAK /*LEXTAG:RWL_T_STATISTICS*/ case 117: YY_RULE_SETUP -#line 458 "rwllexer.l" +#line 459 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICS; YY_BREAK /*LEXTAG:RWL_T_STATISTICSONLY*/ case 118: YY_RULE_SETUP -#line 460 "rwllexer.l" +#line 461 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICSONLY; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 119: YY_RULE_SETUP -#line 462 "rwllexer.l" +#line 463 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOSTATISTICS; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 120: YY_RULE_SETUP -#line 464 "rwllexer.l" +#line 465 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SQRT; YY_BREAK case 121: YY_RULE_SETUP -#line 465 "rwllexer.l" +#line 466 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SIN; YY_BREAK case 122: YY_RULE_SETUP -#line 466 "rwllexer.l" +#line 467 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COS; YY_BREAK /*LEXTAG:RWL_T_INSTRB*/ case 123: YY_RULE_SETUP -#line 468 "rwllexer.l" +#line 469 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "instr", "instrb"); if (!rwm->ifdirbit) return RWL_T_INSTRB; @@ -3043,13 +3051,13 @@ YY_RULE_SETUP YY_BREAK case 124: YY_RULE_SETUP -#line 472 "rwllexer.l" +#line 473 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INSTRB; YY_BREAK /*LEXTAG:RWL_T_SUBSTRB*/ case 125: YY_RULE_SETUP -#line 474 "rwllexer.l" +#line 475 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "substr", "substrb"); if (!rwm->ifdirbit) return RWL_T_SUBSTRB; @@ -3058,13 +3066,13 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SUBSTRB*/ case 126: YY_RULE_SETUP -#line 479 "rwllexer.l" +#line 480 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUBSTRB; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 127: YY_RULE_SETUP -#line 481 "rwllexer.l" +#line 482 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "length", "lengthb"); if (!rwm->ifdirbit) return RWL_T_LENGTHB; @@ -3073,50 +3081,50 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_GETENV*/ case 128: YY_RULE_SETUP -#line 486 "rwllexer.l" +#line 487 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETENV; YY_BREAK /*LEXTAG:RWL_T_SYSTEM*/ case 129: YY_RULE_SETUP -#line 488 "rwllexer.l" +#line 489 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SYSTEM; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 130: YY_RULE_SETUP -#line 490 "rwllexer.l" +#line 491 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LENGTHB; YY_BREAK /*LEXTAG:RWL_T_ERLANG*/ case 131: -#line 493 "rwllexer.l" +#line 494 "rwllexer.l" case 132: YY_RULE_SETUP -#line 493 "rwllexer.l" +#line 494 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 133: YY_RULE_SETUP -#line 495 "rwllexer.l" +#line 496 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG2; YY_BREAK /*LEXTAG:RWL_T_ERLANGK*/ case 134: YY_RULE_SETUP -#line 497 "rwllexer.l" +#line 498 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANGK; YY_BREAK /*LEXTAG:RWL_T_ACCESS*/ case 135: YY_RULE_SETUP -#line 499 "rwllexer.l" +#line 500 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ACCESS; YY_BREAK case 136: YY_RULE_SETUP -#line 500 "rwllexer.l" +#line 501 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3125,7 +3133,7 @@ YY_RULE_SETUP YY_BREAK case 137: YY_RULE_SETUP -#line 505 "rwllexer.l" +#line 506 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3135,127 +3143,127 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RUNSECONDS*/ case 138: YY_RULE_SETUP -#line 511 "rwllexer.l" +#line 512 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RUNSECONDS; YY_BREAK /*LEXTAG:RWL_T_EPOCHSECONDS*/ case 139: YY_RULE_SETUP -#line 513 "rwllexer.l" +#line 514 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EPOCHSECONDS; YY_BREAK /*LEXTAG:RWL_T_GETRUSAGE*/ case 140: YY_RULE_SETUP -#line 515 "rwllexer.l" +#line 516 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETRUSAGE; YY_BREAK /*LEXTAG:RWL_T_DOUBLE*/ case 141: YY_RULE_SETUP -#line 517 "rwllexer.l" +#line 518 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOUBLE; YY_BREAK /*LEXTAG:RWL_T_INTEGER*/ case 142: YY_RULE_SETUP -#line 519 "rwllexer.l" +#line 520 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INTEGER; YY_BREAK /*LEXTAG:RWL_T_STRING*/ case 143: YY_RULE_SETUP -#line 521 "rwllexer.l" +#line 522 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STRING; YY_BREAK /*LEXTAG:RWL_T_RANDOM*/ case 144: YY_RULE_SETUP -#line 523 "rwllexer.l" +#line 524 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RANDOM; YY_BREAK /*LEXTAG:RWL_T_ARRAY*/ case 145: YY_RULE_SETUP -#line 525 "rwllexer.l" +#line 526 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ARRAY; YY_BREAK /*LEXTAG:RWL_T_FILE*/ case 146: YY_RULE_SETUP -#line 527 "rwllexer.l" +#line 528 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FILE; YY_BREAK /*LEXTAG:RWL_T_WRITE*/ case 147: YY_RULE_SETUP -#line 529 "rwllexer.l" +#line 530 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITE; YY_BREAK /*LEXTAG:RWL_T_WRITELINE*/ case 148: YY_RULE_SETUP -#line 531 "rwllexer.l" +#line 532 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITELINE; YY_BREAK /*LEXTAG:RWL_T_READLINE*/ case 149: YY_RULE_SETUP -#line 533 "rwllexer.l" +#line 534 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_READLINE; YY_BREAK /*LEXTAG:RWL_T_REGEX*/ case 150: YY_RULE_SETUP -#line 535 "rwllexer.l" +#line 536 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEX; YY_BREAK /*LEXTAG:RWL_T_REGEXSUB*/ case 151: YY_RULE_SETUP -#line 537 "rwllexer.l" +#line 538 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUB; YY_BREAK /*LEXTAG:RWL_T_REGEXSUBG*/ case 152: YY_RULE_SETUP -#line 539 "rwllexer.l" +#line 540 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUBG; YY_BREAK /*LEXTAG:RWL_T_REGEXTRACT*/ case 153: YY_RULE_SETUP -#line 541 "rwllexer.l" +#line 542 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXTRACT; YY_BREAK /*LEXTAG:RWL_T_FFLUSH*/ case 154: YY_RULE_SETUP -#line 543 "rwllexer.l" +#line 544 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FFLUSH; YY_BREAK /*LEXTAG:RWL_T_PRINT*/ case 155: YY_RULE_SETUP -#line 545 "rwllexer.l" +#line 546 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINT; YY_BREAK /*LEXTAG:RWL_T_PRINTLINE*/ case 156: YY_RULE_SETUP -#line 547 "rwllexer.l" +#line 548 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTLINE; YY_BREAK /*LEXTAG:RWL_T_PRINTVAR*/ case 157: YY_RULE_SETUP -#line 549 "rwllexer.l" +#line 550 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTVAR; YY_BREAK /*LEXTAG:RWL_T_IF*/ case 158: YY_RULE_SETUP -#line 551 "rwllexer.l" +#line 552 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3265,61 +3273,61 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_WHEN*/ case 159: YY_RULE_SETUP -#line 557 "rwllexer.l" +#line 558 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHEN; YY_BREAK /*LEXTAG:RWL_T_THEN*/ case 160: YY_RULE_SETUP -#line 559 "rwllexer.l" +#line 560 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THEN; YY_BREAK /*LEXTAG:RWL_T_ELSE*/ case 161: YY_RULE_SETUP -#line 561 "rwllexer.l" +#line 562 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSE; YY_BREAK /*LEXTAG:RWL_T_ELSEIF*/ case 162: YY_RULE_SETUP -#line 563 "rwllexer.l" +#line 564 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSEIF; YY_BREAK /*LEXTAG:RWL_T_WHILE*/ case 163: YY_RULE_SETUP -#line 565 "rwllexer.l" +#line 566 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHILE; YY_BREAK /*LEXTAG:RWL_T_WAIT*/ case 164: YY_RULE_SETUP -#line 567 "rwllexer.l" +#line 568 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WAIT; YY_BREAK /*LEXTAG:RWL_T_QUEUE*/ case 165: YY_RULE_SETUP -#line 569 "rwllexer.l" +#line 570 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_QUEUE; YY_BREAK /*LEXTAG:RWL_T_NOQUEUE*/ case 166: YY_RULE_SETUP -#line 571 "rwllexer.l" +#line 572 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOQUEUE; YY_BREAK /*LEXTAG:RWL_T_EVERY*/ case 167: YY_RULE_SETUP -#line 573 "rwllexer.l" +#line 574 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EVERY; YY_BREAK /*LEXTAG:RWL_T_LOOP*/ case 168: YY_RULE_SETUP -#line 575 "rwllexer.l" +#line 576 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3329,25 +3337,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FOR*/ case 169: YY_RULE_SETUP -#line 581 "rwllexer.l" +#line 582 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FOR; YY_BREAK /*LEXTAG:RWL_T_ALL*/ case 170: YY_RULE_SETUP -#line 583 "rwllexer.l" +#line 584 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ALL; YY_BREAK /*LEXTAG:RWL_T_SHIFT*/ case 171: YY_RULE_SETUP -#line 585 "rwllexer.l" +#line 586 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SHIFT; YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ case 172: YY_RULE_SETUP -#line 587 "rwllexer.l" +#line 588 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3357,25 +3365,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_EXECUTE*/ case 173: YY_RULE_SETUP -#line 593 "rwllexer.l" +#line 594 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOTDOT; /* see RWL_T_INTEGER_CONST above */ YY_BREAK /*LEXTAG:RWL_T_NULL*/ case 174: YY_RULE_SETUP -#line 595 "rwllexer.l" +#line 596 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NULL; YY_BREAK /*LEXTAG:RWL_T_SUM*/ case 175: YY_RULE_SETUP -#line 597 "rwllexer.l" +#line 598 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUM; YY_BREAK /*LEXTAG:RWL_T_ISNULL*/ case 176: YY_RULE_SETUP -#line 599 "rwllexer.l" +#line 600 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_ISNULL_DEPRECATED); @@ -3385,57 +3393,57 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IS*/ case 177: YY_RULE_SETUP -#line 605 "rwllexer.l" +#line 606 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IS; YY_BREAK case 178: YY_RULE_SETUP -#line 606 "rwllexer.l" +#line 607 "rwllexer.l" if (!rwm->ifdirbit) return '+'; YY_BREAK case 179: YY_RULE_SETUP -#line 607 "rwllexer.l" +#line 608 "rwllexer.l" if (!rwm->ifdirbit) return '-'; YY_BREAK case 180: YY_RULE_SETUP -#line 608 "rwllexer.l" +#line 609 "rwllexer.l" if (!rwm->ifdirbit) return '*'; YY_BREAK case 181: YY_RULE_SETUP -#line 609 "rwllexer.l" +#line 610 "rwllexer.l" if (!rwm->ifdirbit) return '/'; YY_BREAK case 182: YY_RULE_SETUP -#line 610 "rwllexer.l" +#line 611 "rwllexer.l" if (!rwm->ifdirbit) return '%'; YY_BREAK case 183: YY_RULE_SETUP -#line 611 "rwllexer.l" +#line 612 "rwllexer.l" if (!rwm->ifdirbit) return '('; YY_BREAK case 184: YY_RULE_SETUP -#line 612 "rwllexer.l" +#line 613 "rwllexer.l" if (!rwm->ifdirbit) return ')'; YY_BREAK case 185: YY_RULE_SETUP -#line 613 "rwllexer.l" +#line 614 "rwllexer.l" if (!rwm->ifdirbit) return ','; YY_BREAK case 186: YY_RULE_SETUP -#line 614 "rwllexer.l" +#line 615 "rwllexer.l" if (!rwm->ifdirbit) return '='; YY_BREAK case 187: YY_RULE_SETUP -#line 615 "rwllexer.l" +#line 616 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_EQUALEQUAL, rwm->rwlytext); if (!rwm->ifdirbit) return '='; @@ -3443,146 +3451,146 @@ YY_RULE_SETUP YY_BREAK case 188: YY_RULE_SETUP -#line 619 "rwllexer.l" +#line 620 "rwllexer.l" if (!rwm->ifdirbit) return '<'; YY_BREAK case 189: YY_RULE_SETUP -#line 620 "rwllexer.l" +#line 621 "rwllexer.l" if (!rwm->ifdirbit) return '>'; YY_BREAK case 190: YY_RULE_SETUP -#line 621 "rwllexer.l" +#line 622 "rwllexer.l" if (!rwm->ifdirbit) return '!'; YY_BREAK case 191: YY_RULE_SETUP -#line 622 "rwllexer.l" +#line 623 "rwllexer.l" if (!rwm->ifdirbit) return '?'; YY_BREAK case 192: YY_RULE_SETUP -#line 623 "rwllexer.l" +#line 624 "rwllexer.l" if (!rwm->ifdirbit) return ':'; YY_BREAK /*LEXTAG:RWL_T_NOT*/ case 193: YY_RULE_SETUP -#line 625 "rwllexer.l" +#line 626 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOT; YY_BREAK /*LEXTAG:RWL_T_AND*/ case 194: YY_RULE_SETUP -#line 627 "rwllexer.l" +#line 628 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AND; YY_BREAK /*LEXTAG:RWL_T_BETWEEN*/ case 195: YY_RULE_SETUP -#line 629 "rwllexer.l" +#line 630 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BETWEEN; YY_BREAK /*LEXTAG:RWL_T_OR*/ case 196: YY_RULE_SETUP -#line 631 "rwllexer.l" +#line 632 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OR; YY_BREAK /*LEXTAG:RWL_T_LESSEQ*/ case 197: YY_RULE_SETUP -#line 633 "rwllexer.l" +#line 634 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LESSEQ; YY_BREAK /*LEXTAG:RWL_T_GREATEQ*/ case 198: YY_RULE_SETUP -#line 635 "rwllexer.l" +#line 636 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GREATEQ; YY_BREAK /*LEXTAG:RWL_T_RSHIFTASSIGN*/ case 199: YY_RULE_SETUP -#line 637 "rwllexer.l" +#line 638 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RSHIFTASSIGN; YY_BREAK /*LEXTAG:RWL_T_NOTEQ*/ case 200: YY_RULE_SETUP -#line 639 "rwllexer.l" +#line 640 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK case 201: YY_RULE_SETUP -#line 640 "rwllexer.l" +#line 641 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK /*LEXTAG:RWL_T_ASSIGN*/ case 202: YY_RULE_SETUP -#line 642 "rwllexer.l" +#line 643 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASSIGN; YY_BREAK /*LEXTAG:RWL_T_ASNADD*/ case 203: YY_RULE_SETUP -#line 644 "rwllexer.l" +#line 645 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNADD; YY_BREAK /*LEXTAG:RWL_T_ASNSUB*/ case 204: YY_RULE_SETUP -#line 646 "rwllexer.l" +#line 647 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNSUB; YY_BREAK /*LEXTAG:RWL_T_CONCAT*/ case 205: YY_RULE_SETUP -#line 648 "rwllexer.l" +#line 649 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONCAT; YY_BREAK /*LEXTAG:RWL_T_PIPETO*/ case 206: YY_RULE_SETUP -#line 650 "rwllexer.l" +#line 651 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPETO; YY_BREAK /*LEXTAG:RWL_T_PIPEFROM*/ case 207: YY_RULE_SETUP -#line 652 "rwllexer.l" +#line 653 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPEFROM; YY_BREAK /*LEXTAG:RWL_T_APPEND*/ case 208: YY_RULE_SETUP -#line 654 "rwllexer.l" +#line 655 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_APPEND; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2B*/ case 209: YY_RULE_SETUP -#line 656 "rwllexer.l" +#line 657 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2B; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2BB*/ case 210: YY_RULE_SETUP -#line 658 "rwllexer.l" +#line 659 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2BB; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 211: YY_RULE_SETUP -#line 660 "rwllexer.l" +#line 661 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SERVERRELEASE; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 212: YY_RULE_SETUP -#line 662 "rwllexer.l" +#line 663 "rwllexer.l" { # ifndef RWL_USE_SQL_ID rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3593,7 +3601,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OPENSESSIONCOUNT*/ case 213: YY_RULE_SETUP -#line 669 "rwllexer.l" +#line 670 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_OPENSESSIONCOUNT; } @@ -3601,7 +3609,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ACTIVESESSIONCOUNT*/ case 214: YY_RULE_SETUP -#line 673 "rwllexer.l" +#line 674 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_ACTIVESESSIONCOUNT; } @@ -3609,7 +3617,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_QUERYNOTIFICATION*/ case 215: YY_RULE_SETUP -#line 677 "rwllexer.l" +#line 678 "rwllexer.l" { #ifndef RWL_USE_CQN rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3620,18 +3628,18 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ATAN2*/ case 216: YY_RULE_SETUP -#line 684 "rwllexer.l" +#line 685 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ATAN2; YY_BREAK case 217: -#line 687 "rwllexer.l" -case 218: #line 688 "rwllexer.l" -case 219: +case 218: #line 689 "rwllexer.l" +case 219: +#line 690 "rwllexer.l" case 220: YY_RULE_SETUP -#line 689 "rwllexer.l" +#line 690 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); // return something so compilation continues @@ -3639,22 +3647,22 @@ YY_RULE_SETUP } YY_BREAK case 221: -#line 696 "rwllexer.l" +#line 697 "rwllexer.l" case 222: YY_RULE_SETUP -#line 696 "rwllexer.l" +#line 697 "rwllexer.l" { // note that "--" is the beginning of RWL_T_SQL_TEXT rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); } YY_BREAK case 223: -#line 701 "rwllexer.l" -case 224: #line 702 "rwllexer.l" +case 224: +#line 703 "rwllexer.l" case 225: YY_RULE_SETUP -#line 702 "rwllexer.l" +#line 703 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); // return something so compilation continues @@ -3662,16 +3670,16 @@ YY_RULE_SETUP } YY_BREAK case 226: -#line 709 "rwllexer.l" -case 227: #line 710 "rwllexer.l" -case 228: +case 227: #line 711 "rwllexer.l" -case 229: +case 228: #line 712 "rwllexer.l" +case 229: +#line 713 "rwllexer.l" case 230: YY_RULE_SETUP -#line 712 "rwllexer.l" +#line 713 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3686,7 +3694,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IDENTIFIER*/ case 231: YY_RULE_SETUP -#line 724 "rwllexer.l" +#line 725 "rwllexer.l" { /* previnam is used when the parser has been doing @@ -3706,7 +3714,7 @@ YY_RULE_SETUP YY_BREAK case 232: YY_RULE_SETUP -#line 741 "rwllexer.l" +#line 742 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3726,7 +3734,7 @@ YY_RULE_SETUP YY_BREAK case 233: YY_RULE_SETUP -#line 758 "rwllexer.l" +#line 759 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3739,7 +3747,7 @@ YY_RULE_SETUP YY_BREAK case 234: YY_RULE_SETUP -#line 768 "rwllexer.l" +#line 769 "rwllexer.l" { text *env = rwlgetenv((text *)rwm->rwlytext+1); if (!env) @@ -3763,18 +3771,18 @@ YY_RULE_SETUP YY_BREAK case 235: YY_RULE_SETUP -#line 790 "rwllexer.l" +#line 791 "rwllexer.l" if (!rwm->ifdirbit) return ';'; YY_BREAK case 236: -#line 793 "rwllexer.l" -case 237: #line 794 "rwllexer.l" -case 238: +case 237: #line 795 "rwllexer.l" +case 238: +#line 796 "rwllexer.l" case 239: YY_RULE_SETUP -#line 795 "rwllexer.l" +#line 796 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3789,7 +3797,7 @@ YY_RULE_SETUP YY_BREAK case 240: YY_RULE_SETUP -#line 807 "rwllexer.l" +#line 808 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3797,7 +3805,7 @@ YY_RULE_SETUP YY_BREAK case 241: YY_RULE_SETUP -#line 812 "rwllexer.l" +#line 813 "rwllexer.l" { // This is the documented syntax. Note that there is // no simple way to allow having $if and $then on separate // lines @@ -3817,14 +3825,14 @@ YY_RULE_SETUP YY_BREAK case 242: YY_RULE_SETUP -#line 829 "rwllexer.l" +#line 830 "rwllexer.l" { // this only happens if $if and $then aren't on the same line rwlzparsestring(rwm, (text *) "0;"); // behave like $if 0 $then would } YY_BREAK case 243: YY_RULE_SETUP -#line 833 "rwllexer.l" +#line 834 "rwllexer.l" { // This was the original syntax for $if which was // $if: ; // i.e. with the expression between : and ;. @@ -3845,7 +3853,7 @@ YY_RULE_SETUP YY_BREAK case 244: YY_RULE_SETUP -#line 851 "rwllexer.l" +#line 852 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "else"); @@ -3866,7 +3874,7 @@ YY_RULE_SETUP YY_BREAK case 245: YY_RULE_SETUP -#line 869 "rwllexer.l" +#line 870 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "endif"); @@ -3884,7 +3892,7 @@ YY_RULE_SETUP YY_BREAK case 246: YY_RULE_SETUP -#line 884 "rwllexer.l" +#line 885 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS); // all set in tflags as tfalgs HAS been copied from mflags @@ -3894,7 +3902,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 247: YY_RULE_SETUP -#line 891 "rwllexer.l" +#line 892 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); @@ -3903,7 +3911,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 248: YY_RULE_SETUP -#line 897 "rwllexer.l" +#line 898 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); @@ -3912,186 +3920,203 @@ if (!rwm->ifdirbit) { YY_BREAK case 249: YY_RULE_SETUP -#line 903 "rwllexer.l" +#line 904 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTION); } YY_BREAK case 250: YY_RULE_SETUP -#line 907 "rwllexer.l" +#line 908 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 251: YY_RULE_SETUP -#line 910 "rwllexer.l" +#line 911 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 252: YY_RULE_SETUP -#line 914 "rwllexer.l" +#line 915 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 253: YY_RULE_SETUP -#line 918 "rwllexer.l" +#line 919 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 254: YY_RULE_SETUP -#line 922 "rwllexer.l" +#line 923 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 255: YY_RULE_SETUP -#line 926 "rwllexer.l" +#line 927 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 256: YY_RULE_SETUP -#line 930 "rwllexer.l" +#line 931 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 257: YY_RULE_SETUP -#line 933 "rwllexer.l" +#line 934 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 258: YY_RULE_SETUP -#line 937 "rwllexer.l" +#line 938 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 259: YY_RULE_SETUP -#line 940 "rwllexer.l" +#line 941 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 260: YY_RULE_SETUP -#line 944 "rwllexer.l" +#line 945 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 261: YY_RULE_SETUP -#line 947 "rwllexer.l" +#line 948 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 262: YY_RULE_SETUP -#line 951 "rwllexer.l" +#line 952 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 263: YY_RULE_SETUP -#line 954 "rwllexer.l" +#line 955 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 264: YY_RULE_SETUP -#line 958 "rwllexer.l" +#line 959 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 265: YY_RULE_SETUP -#line 961 "rwllexer.l" +#line 962 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 266: YY_RULE_SETUP -#line 965 "rwllexer.l" +#line 966 "rwllexer.l" { - if (!rwm->ifdirbit) rwlcont1013=0; + if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_STOP; } YY_BREAK case 267: YY_RULE_SETUP -#line 969 "rwllexer.l" +#line 970 "rwllexer.l" { - if (!rwm->ifdirbit) rwlcont1013=1; + if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_BREAK; } YY_BREAK case 268: YY_RULE_SETUP #line 973 "rwllexer.l" +{ + if (!rwm->ifdirbit) rwlbreaknow = 0; + } + YY_BREAK +case 269: +YY_RULE_SETUP +#line 977 "rwllexer.l" +{ + if (!rwm->ifdirbit) + { + rwlcont1013=RWL_C1013_CONTINUE; + } + } + YY_BREAK +case 270: +YY_RULE_SETUP +#line 984 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK -case 269: +case 271: YY_RULE_SETUP -#line 976 "rwllexer.l" +#line 987 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK -case 270: +case 272: YY_RULE_SETUP -#line 980 "rwllexer.l" +#line 991 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK -case 271: +case 273: YY_RULE_SETUP -#line 984 "rwllexer.l" +#line 995 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK -case 272: +case 274: YY_RULE_SETUP -#line 988 "rwllexer.l" +#line 999 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK -case 273: +case 275: YY_RULE_SETUP -#line 992 "rwllexer.l" +#line 1003 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK -case 274: -/* rule 274 can match eol */ -#line 997 "rwllexer.l" -case 275: -/* rule 275 can match eol */ +case 276: +/* rule 276 can match eol */ +#line 1008 "rwllexer.l" +case 277: +/* rule 277 can match eol */ YY_RULE_SETUP -#line 997 "rwllexer.l" +#line 1008 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) // not while generating { @@ -4257,9 +4282,9 @@ YY_RULE_SETUP } } YY_BREAK -case 276: +case 278: YY_RULE_SETUP -#line 1162 "rwllexer.l" +#line 1173 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4270,9 +4295,9 @@ YY_RULE_SETUP } } YY_BREAK -case 277: +case 279: YY_RULE_SETUP -#line 1172 "rwllexer.l" +#line 1183 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -4284,9 +4309,9 @@ YY_RULE_SETUP } } YY_BREAK -case 278: +case 280: YY_RULE_SETUP -#line 1183 "rwllexer.l" +#line 1194 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4297,9 +4322,9 @@ YY_RULE_SETUP } } YY_BREAK -case 279: +case 281: YY_RULE_SETUP -#line 1193 "rwllexer.l" +#line 1204 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4310,9 +4335,9 @@ YY_RULE_SETUP } } YY_BREAK -case 280: +case 282: YY_RULE_SETUP -#line 1203 "rwllexer.l" +#line 1214 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4321,17 +4346,17 @@ YY_RULE_SETUP } } YY_BREAK -case 281: +case 283: YY_RULE_SETUP -#line 1211 "rwllexer.l" +#line 1222 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_OERSTATS); } YY_BREAK -case 282: +case 284: YY_RULE_SETUP -#line 1216 "rwllexer.l" +#line 1227 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4345,9 +4370,9 @@ YY_RULE_SETUP } } YY_BREAK -case 283: +case 285: YY_RULE_SETUP -#line 1229 "rwllexer.l" +#line 1240 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4361,9 +4386,9 @@ YY_RULE_SETUP } } YY_BREAK -case 284: +case 286: YY_RULE_SETUP -#line 1242 "rwllexer.l" +#line 1253 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4379,9 +4404,9 @@ YY_RULE_SETUP } } YY_BREAK -case 285: +case 287: YY_RULE_SETUP -#line 1257 "rwllexer.l" +#line 1268 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4390,9 +4415,9 @@ YY_RULE_SETUP } } YY_BREAK -case 286: +case 288: YY_RULE_SETUP -#line 1265 "rwllexer.l" +#line 1276 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4401,9 +4426,9 @@ YY_RULE_SETUP } } YY_BREAK -case 287: +case 289: YY_RULE_SETUP -#line 1273 "rwllexer.l" +#line 1284 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4412,9 +4437,9 @@ YY_RULE_SETUP } } YY_BREAK -case 288: +case 290: YY_RULE_SETUP -#line 1281 "rwllexer.l" +#line 1292 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4422,9 +4447,9 @@ YY_RULE_SETUP } } YY_BREAK -case 289: +case 291: YY_RULE_SETUP -#line 1287 "rwllexer.l" +#line 1298 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4432,9 +4457,9 @@ YY_RULE_SETUP } } YY_BREAK -case 290: +case 292: YY_RULE_SETUP -#line 1293 "rwllexer.l" +#line 1304 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4443,9 +4468,9 @@ YY_RULE_SETUP } } YY_BREAK -case 291: +case 293: YY_RULE_SETUP -#line 1300 "rwllexer.l" +#line 1311 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4454,9 +4479,9 @@ YY_RULE_SETUP } } YY_BREAK -case 292: +case 294: YY_RULE_SETUP -#line 1307 "rwllexer.l" +#line 1318 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4464,9 +4489,9 @@ YY_RULE_SETUP } } YY_BREAK -case 293: +case 295: YY_RULE_SETUP -#line 1313 "rwllexer.l" +#line 1324 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4474,9 +4499,9 @@ YY_RULE_SETUP } } YY_BREAK -case 294: +case 296: YY_RULE_SETUP -#line 1320 "rwllexer.l" +#line 1331 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4484,41 +4509,41 @@ YY_RULE_SETUP } } YY_BREAK -case 295: +case 297: YY_RULE_SETUP -#line 1327 "rwllexer.l" +#line 1338 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_RECON1017); } YY_BREAK -case 296: +case 298: YY_RULE_SETUP -#line 1332 "rwllexer.l" +#line 1343 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_ON; } YY_BREAK -case 297: +case 299: YY_RULE_SETUP -#line 1337 "rwllexer.l" +#line 1348 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_OFF; } YY_BREAK -case 298: +case 300: YY_RULE_SETUP -#line 1342 "rwllexer.l" +#line 1353 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_WARN; } YY_BREAK -case 299: +case 301: YY_RULE_SETUP -#line 1347 "rwllexer.l" +#line 1358 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4533,9 +4558,9 @@ YY_RULE_SETUP } } YY_BREAK -case 300: +case 302: YY_RULE_SETUP -#line 1361 "rwllexer.l" +#line 1372 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4546,41 +4571,41 @@ YY_RULE_SETUP } } YY_BREAK -case 301: +case 303: YY_RULE_SETUP -#line 1371 "rwllexer.l" +#line 1382 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLREADLINE); } YY_BREAK -case 302: +case 304: YY_RULE_SETUP -#line 1376 "rwllexer.l" +#line 1387 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLREADLINE); } YY_BREAK -case 303: +case 305: YY_RULE_SETUP -#line 1381 "rwllexer.l" +#line 1392 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLWRITELINE); } YY_BREAK -case 304: +case 306: YY_RULE_SETUP -#line 1386 "rwllexer.l" +#line 1397 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLWRITELINE); } YY_BREAK -case 305: +case 307: YY_RULE_SETUP -#line 1391 "rwllexer.l" +#line 1402 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4589,9 +4614,9 @@ YY_RULE_SETUP } } YY_BREAK -case 306: +case 308: YY_RULE_SETUP -#line 1399 "rwllexer.l" +#line 1410 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4600,9 +4625,9 @@ YY_RULE_SETUP } } YY_BREAK -case 307: +case 309: YY_RULE_SETUP -#line 1407 "rwllexer.l" +#line 1418 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4612,17 +4637,17 @@ YY_RULE_SETUP #endif } YY_BREAK -case 308: +case 310: YY_RULE_SETUP -#line 1416 "rwllexer.l" +#line 1427 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSATIME); } YY_BREAK -case 309: +case 311: YY_RULE_SETUP -#line 1421 "rwllexer.l" +#line 1432 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4632,57 +4657,57 @@ YY_RULE_SETUP #endif } YY_BREAK -case 310: +case 312: YY_RULE_SETUP -#line 1430 "rwllexer.l" +#line 1441 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSDTIME); } YY_BREAK -case 311: +case 313: YY_RULE_SETUP -#line 1435 "rwllexer.l" +#line 1446 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CONERROK); } YY_BREAK -case 312: +case 314: YY_RULE_SETUP -#line 1440 "rwllexer.l" +#line 1451 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 313: +case 315: YY_RULE_SETUP -#line 1445 "rwllexer.l" +#line 1456 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 314: +case 316: YY_RULE_SETUP -#line 1450 "rwllexer.l" +#line 1461 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 315: +case 317: YY_RULE_SETUP -#line 1455 "rwllexer.l" +#line 1466 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 316: +case 318: YY_RULE_SETUP -#line 1461 "rwllexer.l" +#line 1472 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4690,23 +4715,23 @@ YY_RULE_SETUP } } YY_BREAK -case 317: +case 319: YY_RULE_SETUP -#line 1468 "rwllexer.l" +#line 1479 "rwllexer.l" { if (!rwm->ifdirbit) rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+6),1 /* warn if !warning*/ ); } YY_BREAK -case 318: +case 320: YY_RULE_SETUP -#line 1472 "rwllexer.l" +#line 1483 "rwllexer.l" { rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+12),1 /* warn if !warning*/ ); } YY_BREAK -case 319: +case 321: YY_RULE_SETUP -#line 1476 "rwllexer.l" +#line 1487 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; newval = (ub4)rwlatoi(rwm->rwlytext+11) + 1; //+1 for the return value @@ -4721,9 +4746,9 @@ if (!rwm->ifdirbit) { } YY_BREAK -case 320: +case 322: YY_RULE_SETUP -#line 1490 "rwllexer.l" +#line 1501 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4739,9 +4764,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxident"); } YY_BREAK -case 321: +case 323: YY_RULE_SETUP -#line 1505 "rwllexer.l" +#line 1516 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4757,9 +4782,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxcode"); } YY_BREAK -case 322: +case 324: YY_RULE_SETUP -#line 1520 "rwllexer.l" +#line 1531 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4775,25 +4800,25 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "readbuffer"); } YY_BREAK -case 323: +case 325: YY_RULE_SETUP -#line 1535 "rwllexer.l" +#line 1546 "rwllexer.l" if (!rwm->ifdirbit) { rwm->iformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckiformat(rwm); } YY_BREAK -case 324: +case 326: YY_RULE_SETUP -#line 1539 "rwllexer.l" +#line 1550 "rwllexer.l" if (!rwm->ifdirbit) { rwm->dformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckdformat(rwm); } YY_BREAK -case 325: +case 327: YY_RULE_SETUP -#line 1544 "rwllexer.l" +#line 1555 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+9); bis(rwm->mflags, newdebug); @@ -4805,9 +4830,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 326: +case 328: YY_RULE_SETUP -#line 1555 "rwllexer.l" +#line 1566 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+10); // ub4 newdebug = (ub4) rwlhex2ub8(rwm->rwlytext+10, 2*sizeof(ub4)); @@ -4816,9 +4841,9 @@ if (!rwm->ifdirbit) { bic(rwm->mxq->tflags, newdebug); } YY_BREAK -case 327: +case 329: YY_RULE_SETUP -#line 1563 "rwllexer.l" +#line 1574 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+10,2*sizeof(unsigned short)); @@ -4834,9 +4859,9 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 328: +case 330: YY_RULE_SETUP -#line 1580 "rwllexer.l" +#line 1591 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+12, 2*sizeof(unsigned short)); @@ -4852,11 +4877,11 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 329: -#line 1596 "rwllexer.l" -case 330: +case 331: +#line 1607 "rwllexer.l" +case 332: YY_RULE_SETUP -#line 1596 "rwllexer.l" +#line 1607 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4867,11 +4892,11 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 331: -#line 1607 "rwllexer.l" -case 332: +case 333: +#line 1618 "rwllexer.l" +case 334: YY_RULE_SETUP -#line 1607 "rwllexer.l" +#line 1618 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4882,9 +4907,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 333: +case 335: YY_RULE_SETUP -#line 1617 "rwllexer.l" +#line 1628 "rwllexer.l" if (!rwm->ifdirbit) { { rwm->musymbol = rwlstrdup(rwm, rwm->rwlytext+10); @@ -4892,9 +4917,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 334: +case 336: YY_RULE_SETUP -#line 1624 "rwllexer.l" +#line 1635 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4914,9 +4939,9 @@ YY_RULE_SETUP } } YY_BREAK -case 335: +case 337: YY_RULE_SETUP -#line 1643 "rwllexer.l" +#line 1654 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4928,9 +4953,9 @@ YY_RULE_SETUP } } YY_BREAK -case 336: +case 338: YY_RULE_SETUP -#line 1654 "rwllexer.l" +#line 1665 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4942,10 +4967,10 @@ YY_RULE_SETUP } } YY_BREAK -case 337: -/* rule 337 can match eol */ +case 339: +/* rule 339 can match eol */ YY_RULE_SETUP -#line 1665 "rwllexer.l" +#line 1676 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4976,10 +5001,10 @@ YY_RULE_SETUP } } YY_BREAK -case 338: -/* rule 338 can match eol */ +case 340: +/* rule 340 can match eol */ YY_RULE_SETUP -#line 1695 "rwllexer.l" +#line 1706 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5010,9 +5035,9 @@ YY_RULE_SETUP } } YY_BREAK -case 339: +case 341: YY_RULE_SETUP -#line 1725 "rwllexer.l" +#line 1736 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5023,24 +5048,24 @@ YY_RULE_SETUP } } YY_BREAK -case 340: +case 342: YY_RULE_SETUP -#line 1734 "rwllexer.l" +#line 1745 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 341: +case 343: YY_RULE_SETUP -#line 1737 "rwllexer.l" +#line 1748 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 342: -/* rule 342 can match eol */ +case 344: +/* rule 344 can match eol */ YY_RULE_SETUP -#line 1741 "rwllexer.l" +#line 1752 "rwllexer.l" { rwm->loc.fname = rwlstrdup(rwm, rwlstrchr(rwm->rwlytext,'"')); rwm->loc.fname[rwlstrlen(rwm->loc.fname)-1] = 0; @@ -5049,11 +5074,11 @@ YY_RULE_SETUP rwm->loc.errlin = 0; } YY_BREAK -case 343: -#line 1749 "rwllexer.l" -case 344: +case 345: +#line 1760 "rwllexer.l" +case 346: YY_RULE_SETUP -#line 1749 "rwllexer.l" +#line 1760 "rwllexer.l" { // bad directive char idbuf[100], c; ub4 i; @@ -5094,37 +5119,37 @@ YY_RULE_SETUP { rwm->loc.lineno++; rwm->loc.inpos=0; } } YY_BREAK -case 345: -/* rule 345 can match eol */ +case 347: +/* rule 347 can match eol */ YY_RULE_SETUP -#line 1790 "rwllexer.l" +#line 1801 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 346: -/* rule 346 can match eol */ +case 348: +/* rule 348 can match eol */ YY_RULE_SETUP -#line 1791 "rwllexer.l" +#line 1802 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 347: -/* rule 347 can match eol */ +case 349: +/* rule 349 can match eol */ YY_RULE_SETUP -#line 1792 "rwllexer.l" +#line 1803 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 348: +case 350: YY_RULE_SETUP -#line 1793 "rwllexer.l" +#line 1804 "rwllexer.l" /* nothing */ ; YY_BREAK -case 349: +case 351: YY_RULE_SETUP -#line 1794 "rwllexer.l" +#line 1805 "rwllexer.l" /* nothing */ ; YY_BREAK -case 350: +case 352: YY_RULE_SETUP -#line 1795 "rwllexer.l" +#line 1806 "rwllexer.l" { if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -5139,12 +5164,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII, rwm->loc.inpos, (ub1)rwm->rwlytext[0]); } YY_BREAK -case 351: +case 353: YY_RULE_SETUP -#line 1809 "rwllexer.l" +#line 1820 "rwllexer.l" ECHO; YY_BREAK -#line 5148 "lex.rwly.c" +#line 5173 "lex.rwly.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -5439,7 +5464,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1948 ) + if ( yy_current_state >= 1958 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; @@ -5468,11 +5493,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1948 ) + if ( yy_current_state >= 1958 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 1947); + yy_is_jam = (yy_current_state == 1957); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -6325,7 +6350,7 @@ void rwlyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1809 "rwllexer.l" +#line 1820 "rwllexer.l" diff --git a/src/rwl.h b/src/rwl.h index c841de0d..0433f905 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 4-jun-2024 - $ora01013:break * bengsig 27-may-2024 - Improve some comments * bengsig 17-apr-2024 - nostatistics statement * bengsig 16-apr-2024 - bit operation on clflags, -= @@ -2279,6 +2280,10 @@ volatile sig_atomic_t rwlstopnow; #define RWL_STOP_BREAK 2 // and also tell we have sent OCIBreak volatile sig_atomic_t rwlctrlcount; volatile sig_atomic_t rwlcont1013; // If true, continue after ORA-01013 +#define RWL_C1013_STOP 0 +#define RWL_C1013_CONTINUE 1 +#define RWL_C1013_BREAK 2 +volatile sig_atomic_t rwlbreaknow; volatile rwl_main *rwm_glob; #define RWL_MAX_CTRLC 10 // send SIGQUIT to myself after this many ctrl-c void rwlechoon(int); diff --git a/src/rwlcoderun.c b/src/rwlcoderun.c index 26d62aa8..6ed7d02b 100644 --- a/src/rwlcoderun.c +++ b/src/rwlcoderun.c @@ -14,6 +14,7 @@ * * History * + * bengsig 4-jun-2024 - $ora01013:break * bengsig 17-apr-2024 - nostatistics statement * bengsig 21-mar-2024 - reconnect database fix * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it @@ -414,7 +415,7 @@ void *rwlcoderun ( rwl_xeqenv *xev) * This is dealt with in rwldummyonbad() */ - if (rwlstopnow) + if (rwlstopnow || rwlbreaknow) goto endprogram; // Leave the big loop if (!xev->curdb->username) // the empty rwldummydb from rwldummyonbad { @@ -1861,7 +1862,7 @@ void *rwlcoderun ( rwl_xeqenv *xev) } } // We can stop for several reasons: - while (! ( rwlstopnow + while (! ( rwlstopnow || rwlbreaknow || bit(xev->errbits, RWL_ERROR_STOP_BEFORE_RUN) || bit(xev->tflags, RWL_P_STOPNOW) || bit(xev->rwm->m3flags, RWL_P3_USEREXIT) @@ -2841,7 +2842,7 @@ void rwlrunthreads(rwl_main *rwm) case RWL_TYPE_PROC: if (!bit(rwm->mxq->evar[v].flags,RWL_IDENT_NOSTATS) && rwm->mxq->evar[v].stats - && !rwlstopnow) + && !rwlstopnow && !rwlbreaknow) { /* flush statistics */ rwlstatsflush(rwm, rwm->mxq->evar[v].stats, rwm->mxq->evar[v].vname); diff --git a/src/rwlerror.c b/src/rwlerror.c index a8106c33..53b07836 100644 --- a/src/rwlerror.c +++ b/src/rwlerror.c @@ -11,6 +11,7 @@ * * History * + * bengsig 4-jun-2024 - $ora01013:break * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 27-mar-2024 - ora 12510 TNS:database temporarily lacks resources to handle the request * bengsig 15-mar-2024 - $connecterror:accept, 12537, 12547 @@ -62,6 +63,7 @@ static rwl_error rwlerrors[] = { /* Note that this is a GLOBAL variable */ volatile sig_atomic_t rwlstopnow = 0; +volatile sig_atomic_t rwlbreaknow = 0; volatile sig_atomic_t rwlctrlccount = 0; /* mute some error */ @@ -747,15 +749,23 @@ void rwlctrlc() // rearm signal signal(SIGINT, rwlctrlc); #endif - - if (!rwlcont1013) - ignored = write(2, rwlerrors[RWL_ERROR_CONTROL_C_HANDLED].txt - , strlen(rwlerrors[RWL_ERROR_CONTROL_C_HANDLED].txt)); #if RWL_OS != RWL_WINDOWS rwlechoon(0); #endif - if (!rwlcont1013) - rwlstopnow=RWL_STOP_BREAK; + + switch (rwlcont1013) + { + case RWL_C1013_STOP: + ignored = write(2, rwlerrors[RWL_ERROR_CONTROL_C_HANDLED].txt + , strlen(rwlerrors[RWL_ERROR_CONTROL_C_HANDLED].txt)); + rwlstopnow = RWL_STOP_BREAK; + break; + case RWL_C1013_BREAK: + ignored = write(2, rwlerrors[RWL_ERROR_CONTROL_C_BREAK].txt + , strlen(rwlerrors[RWL_ERROR_CONTROL_C_BREAK].txt)); + rwlbreaknow = RWL_STOP_BREAK; + break; + } // Now attempt sending OCIBreak to all threads with active // database connection unless to results db; there really are diff --git a/src/rwlerror.h b/src/rwlerror.h index 905db24a..253d19d3 100644 --- a/src/rwlerror.h +++ b/src/rwlerror.h @@ -11,6 +11,7 @@ * * History * + * bengsig 4-jun-2024 - $ora01013:break * bengsig 17-apr-2024 - nostatistics statement * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 5-mar-2024 - atime, dtime @@ -1813,6 +1814,11 @@ RWLEDESC("When the $oraerror:showoci directive is in effect, this warning will b RWLERROR("nostatistics has no effect here", RWL_ERROR_WARNING) RWLEDESC("The nostatistics statement only has an effect inside a declared proedure") +#define RWL_ERROR_CONTROL_C_BREAK 322 +RWLERROR("RWL-322: user requested break" RWL_LINEEND +, RWL_ERROR_RUNTIME|RWL_ERROR_RWLDASH) +RWLEDESC("The $ora01013:break option is in effect and ctrl-c has caused a break") + // When adding new errors, add them before these lines // and make sure the #define follows a format like // #define RWL_ERROR_whatever_reasonable_here NNN diff --git a/src/rwllexer.l b/src/rwllexer.l index 266a4f98..a50c2660 100644 --- a/src/rwllexer.l +++ b/src/rwllexer.l @@ -11,6 +11,7 @@ * * History * + * bengsig 4-jun-2024 - $ora01013:break * bengsig 10-may-2023 - $musymbolfromstring directive * bengsig 17-apr-2024 - -= * bengsig 4-apr-2024 - $oraerror:showoci directive @@ -963,11 +964,21 @@ } \$ora01013:stop { - if (!rwm->ifdirbit) rwlcont1013=0; + if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_STOP; } +\$ora01013:break { + if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_BREAK; + } +\$ora01013:reset { + if (!rwm->ifdirbit) rwlbreaknow = 0; + } + \$ora01013:continue { - if (!rwm->ifdirbit) rwlcont1013=1; + if (!rwm->ifdirbit) + { + rwlcont1013=RWL_C1013_CONTINUE; + } } \$oraerror:count { From 26879ded1fcf925aced364c1a3e18b5530fb1c9f Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 4 Jun 2024 11:02:39 +0000 Subject: [PATCH 058/118] Running graphs in ashplot --- man/man2rwl/ashplot.2rwl | 34 +- public/ashplot.rwl | 700 +++++++++++++++++++++------------------ public/filecommands.rwl | 2 + 3 files changed, 408 insertions(+), 328 deletions(-) diff --git a/man/man2rwl/ashplot.2rwl b/man/man2rwl/ashplot.2rwl index 1a692538..00e82987 100644 --- a/man/man2rwl/ashplot.2rwl +++ b/man/man2rwl/ashplot.2rwl @@ -7,16 +7,16 @@ ashplot \- Create a plot of ash data \fBashplot [options] -l u/p@c ashplot.rwl title text\fR .P The ashplot command is used to create a plot of ash data -in any of three possible formats: +in several different ways: .TP 4 1. -Output using X-Windows when DISPLAY is properly set. +Output a single image using X-Windows when DISPLAY is properly set or using Microsoft Windows. .TP 4 2. -Create an image file in png format. +Create an image file in svg and/or png format. .TP 4 3. -Create an image file in svg format potentially with the svgmouse option. +Output a continuously updated window using X-Windows or Microsoft Windows. .P All output is generated using the gnuplot which therefore must be installed. .P @@ -63,9 +63,9 @@ You can omit : and the MI part or T and the entire time part, and you can use either or both of these options. .RE .P -.B --fromminutes=n +.B --fromminutes=N .RS 4 -Output will be limited to only include data from at most n minutes ago. +Output will be limited to only include data from at most N minutes ago. If you use this option together with either of the previous two, time limits from all will apply. .RE @@ -88,10 +88,10 @@ Create output as an image in both png and svg formats; the file names will be suffixed with .png and .svg respectively. .RE .P -.B --svgmouse +.B --no-svgmouse .RS 4 -If an svg file is being output, embed mouse javascript code in the file; this allows clicking the file when shown -in a browser. +If an svg file is being output, do not include mouse javascript code in the file. +This is only relevant if your gnuplot version is older than 4.6. .RE .P .B --include-sys @@ -126,6 +126,22 @@ You need to experiment until you find a proper value starting with the value 1; values above 3 or 4 are unlikely to produce nice plots. .RE .P +.B --autoupdate=N +.br +.B --maxautoupdate=N +.RS 4 +When using X-Windows or Microsoft Windows to output the graph, you can use the --autoupdate +option to make the graph updated every so often. +As a result you will see a continuously updated window similar to how performance tools +do it. +The display will finish after 3600s, unless a different value is set using --maxautoupdate or +it is terminated by pressing ctrl-c. +.P +When using auto update, --output-X and --fromminutes=5 are set by default, +and none of the options --fromtime, --totime, --dbid and those handling image file output +are used. +.RE +.P \fBtitle text\fR .RS 4 If there are positional arguments in addition to options, they will be used as the diff --git a/public/ashplot.rwl b/public/ashplot.rwl index 0f336dbf..e1f5e0ac 100644 --- a/public/ashplot.rwl +++ b/public/ashplot.rwl @@ -10,7 +10,8 @@ # # Modified Date Comments # -# bengsig 30-may-2024 --fromminutes option +# bengsig 3-jun-2024 running graphs on X +# bengsig 28-may-2024 fromminutes # bengsig 27-feb-2024 MS Windows # bengsig 27-sep-2023 include top 8 (rather than 6) # bengsig 13-sep-2023 use ampersand replacement @@ -62,8 +63,9 @@ integer output_X := 0; integer output_Windows := 0; string(1000) output_png; string(1000) output_svg; -integer svgmouse := 0; +integer svgmouse := 1; integer boxwidth := 0; +integer autoupdate, maxautoupdate := 3600; string(1000) output_image; integer include_sys := 0; integer w_pixels := 640; @@ -78,11 +80,13 @@ integer h_pixels := 480; $useroption:fromtime:"--fromtime=YYYY.MM.DDTHH24:MI - first timestamp to include in graph" $useroption:totime:"--totime=YYYY.MM.DDTHH24:MI - last timestamp to include in graph" $useroption:fromminutes:"--fromminutes= - first timestamp is N minutes ago" + $useroption:autoupdate:"--autoupdate= - output updated graph every N seconds" + $useroption:maxautoupdate:"--maxautoupdate= - stop autoupdate after this many seconds (3600)" $userswitch:output-X:"--output-X - generate output as X-Windows image" $userswitch:output-Windows:"--output-Windows - generate output as MS Windows image" $useroption:output-png:"--output-png= - create image file as png" $useroption:output-svg:"--output-svg= - create image files as svg" - $userswitch:svgmouse:"--svgmouse - embed svgmouse code in svg file" + $userswitch:svgmouse:"--no-svgmouse - do not embed svgmouse code in svg file" $useroption:output-image:"--output-image= - create image files named file.svg" $userhelp:" and file.png" $useroption:maxsessions:"--maxsessions= - Highest number of sessions to show" @@ -109,8 +113,14 @@ if $# then end loop; end if; - #-m) svgmouse='mousing standalone'; shift; - #-d) table='(select * from dba_hist_active_sess_history where dbid='$2')' ; shift; shift; +# default --output-X with autoupdate +if autoupdate is not null and not output_Windows then + output_X := 1; +end if; + +if autoupdate is not null and fromminutes is null then + fromminutes := 5; +end if; $implicit:both @@ -133,7 +143,7 @@ end if; # OK, we can connect and query gv$ -string(10000) myquery; +string(10000) minmaxsql; # Create constrains based on users arguments string(1000) constraints := ""; @@ -144,6 +154,11 @@ if !include_sys then constraints ||= " and user_id>0\n"; end if; +if autoupdate is not null and (fromtime != "" or totime !="") then + writeline stderr, "fromtime or totime cannot be used with autoupdate"; + exit 1; +end if; + # Lower time limit? if fromtime != "" then constraints ||= " and sample_time >= to_timestamp(:fromtime,'YYYY.MM.DD\"T\"HH24:MI')\n"; @@ -161,7 +176,7 @@ end if; # Construct the query that shows the available range # and also save it -myquery := +minmaxsql := "select to_char(min(sample_time),'YYYY.MM.DD\"T\"HH24:MI') mintime , to_char(max(sample_time),'YYYY.MM.DD\"T\"HH24:MI') maxtime -- the next two need to match the following in gnuplot: @@ -173,10 +188,10 @@ myquery := constraints; if ashplot_debug then - printline myquery; + printline minmaxsql; end if; sql execute - myquery; + minmaxsql; end; if mintime = "" or maxtime = "" then @@ -191,17 +206,20 @@ integer seconds; # We later user that figure to make some reasonable xtics # on the generated graphs -# $mute:46 -sql execute - begin - :seconds := to_char(86400 * ( - to_date(:maxtime,'YYYY.MM.DD"T"HH24:MI') - - - to_date(:mintime,'YYYY.MM.DD"T"HH24:MI') )); +if fromminutes is null then + sql execute + begin + :seconds := to_char(86400 * ( + to_date(:maxtime,'YYYY.MM.DD"T"HH24:MI') + - + to_date(:mintime,'YYYY.MM.DD"T"HH24:MI') )); + end; + / + bindout :seconds; end; - / - bindout :seconds; -end; +else + seconds := fromminutes*60; +end if; # What kind of output does the user want? if output_image != "" then @@ -215,8 +233,12 @@ if output_svg = "" and output_png = "" and not output_X and not output_Windows t end if; if xbeg = xend then - writeline stderr, "Less than one minute of data available, connot plot"; - exit 2; + if autoupdate is not null then + writeline stderr, "Currently less than one minute of data available, plot may fail"; + else + writeline stderr, "Less than one minute of data available, connot plot"; + exit 2; + end if; end if; # We need a temporary directory to put files @@ -239,333 +261,373 @@ end if; # Now the fun starts string(4000) csvquery; # becomes the query that generates the csv data string(4000) plotline; # becomes the plot command to gnuplot -string(4000) csvheader := "#YYYYMM.DD.HH24:MI:SS 'CPU' "; +string(4000) csvheader; string event; -integer ecount, d, lc := 0; - -plotline := "plot '" tempdir slash "ashdata.csv' using 1:($2+$3+$4+$5+$6+$7+$8+$9+$10+$11) " - "with boxes lc rgb 'gray' title 'Other' \\\n"; - -# We want to show the top 8 events plus CPU and Other, but do -# not know which events that are. Hence we rename them in -# a decode to E1 until E8 - -integer totalevs, maxevents := 0; -double sinceprevious, maxprevious := 0; - -# This generates the begin of the csv genrating sql. -# The output is just one varchar2 which is printed to the csv -# file. -csvquery := - "select to_char(sample_time,'YYYY.MM.DD.HH24:MI:SS')\n" - "|| ' ' || nvl(cpu,0)\n" - "|| ' ' || nvl(e1,0)\n" - "|| ' ' || nvl(e2,0)\n" - "|| ' ' || nvl(e3,0)\n" - "|| ' ' || nvl(e4,0)\n" - "|| ' ' || nvl(e5,0)\n" - "|| ' ' || nvl(e6,0)\n" - "|| ' ' || nvl(e7,0)\n" - "|| ' ' || nvl(e8,0)\n" - "|| ' ' || nvl(other,0) csvline\n" - ", nvl(cpu,0)\n" - " + nvl(e1,0)\n" - " + nvl(e2,0)\n" - " + nvl(e3,0)\n" - " + nvl(e4,0)\n" - " + nvl(e5,0)\n" - " + nvl(e6,0)\n" - " + nvl(e7,0)\n" - " + nvl(e8,0)\n" - " + nvl(other,0) totalevs\n" - ", 86400 * (sample_time - first_value( sample_time) over (order by sample_time rows between 1 preceding and current row)) sinceprevious\n" - "from ( \n" - "select sample_time,CPU,E1,E2,E3,E4,E5,E6,E7,E8,OTHER\n" - "from ( \n" - "select sample_time\n" - ", event \n" - ", count(*) ecount \n" - "from \n" - "( \n" - "select cast(sample_time as date) sample_time \n" - ", decode(event "; - -# The core of that query comes from picking the top -# 8 events, that we get here with the order by -# and rownum predicate -for - select event, ecount from ( - select event, count(*) ecount from - &tablename. - where event is not null - &constraints. - group by event - order by count(*) desc ) - where rownum <= 8 - / -loop - lc += 1; - # Generate the actual plot line here, this is necessary so that - # the columns match with events - csvheader ||= "'" event "' "; - sprintf || csvquery, "\n, '%s', 'E%d' ", event, lc; - sprintf || plotline, ",'%s%sashdata.csv' using 1:($2", tempdir, slash; - # this sum deals with the bars put on top of each other - for d := lc..8 loop - sprintf || plotline, "+$%d", d+2; # :plt := :plt || '+\$'||to_char(d+2,'FM99'); - end loop; - plotline ||= ") with boxes lc rgb "; - # Now select a color for that event - # if we have resmgr, always make it green - if event = "resmgr:cpu quantum" - then - plotline ||= "'green'"; - else - # otherwise pick some that are reasonaly distinct - if lc=1 then plotline ||= "'purple'"; end if; - if lc=2 then plotline ||= "'red'"; end if; - if lc=3 then plotline ||= "'orange'"; end if; - if lc=4 then plotline ||= "'blue'"; end if; - if lc=5 then plotline ||= "'light-blue'"; end if; - if lc=6 then plotline ||= "'salmon'"; end if; - if lc=7 then plotline ||= "'gold'"; end if; - if lc=8 then plotline ||= "'cyan'"; end if; - end if; - plotline ||= " title '" event "' \\\n"; -end loop; +integer ecount, d, lc; -csvheader ||= "'Other'"; -# now the top six events are there -# make CPU have a specific color as well -plotline ||= ",'" tempdir slash "ashdata.csv' using 1:2 with boxes lc rgb 'forest-green' title 'CPU'"; -csvquery ||= "\n, NULL, 'CPU', 'OTHER') event from\n" tablename "\n" - "where 1=1\n" - constraints - ") \n" - "group by sample_time\n" - ", event\n" - ")\n" - "pivot\n" - "( sum(ecount) for event in \n" - "( 'E1' as E1\n" - ", 'E2' as E2\n" - ", 'E3' as E3\n" - ", 'E4' as E4\n" - ", 'E5' as E5\n" - ", 'E6' as E6\n" - ", 'E7' as E7\n" - ", 'E8' as E8\n" - ", 'CPU' as CPU\n" - ", 'OTHER'as OTHER\n" - ")))\n" - "order by sample_time\n"; - -file yt; - -# Now save files in the temporary directory -yt := tempdir "/plotline.txt"; - writeline yt, plotline; -yt := null; - -string(1000) csvline; - -# And generate the csv file by executing the csv query -yt := tempdir "/ashdata.csv"; -writeline yt, csvheader; - -integer csvlen, maxcsvlen := 20; - -for +file yt, ytplot; +$if autoupdate is not null $then +$mute:56 $mute:66 +$ora01013:break +if title = "" then + sprintf title,"ash data for the last %d minutes, updated every %d seconds", fromminutes, autoupdate; +end if; + +ytplot >|= "gnuplot"; + +for every autoupdate stop maxautoupdate loop sql execute - csvquery; - end -loop - csvlen := lengthb(csvline); - if csvlen > maxcsvlen then - maxcsvlen := csvlen; + minmaxsql; + end; +$else + ytplot >= tempdir "/ash.plot"; +$endif + csvheader := "#YYYYMM.DD.HH24:MI:SS 'CPU' "; + lc := 0; + + plotline := "plot '" tempdir slash "ashdata.csv' using 1:($2+$3+$4+$5+$6+$7+$8+$9+$10+$11) " + "with boxes lc rgb 'gray' title 'Other' \\\n"; + + # We want to show the top 8 events plus CPU and Other, but do + # not know which events that are. Hence we rename them in + # a decode to E1 until E8 + + integer totalevs, maxevents := 0; + double sinceprevious, maxprevious := 0; + + # This generates the begin of the csv genrating sql. + # The output is just one varchar2 which is printed to the csv + # file. + csvquery := + "select to_char(sample_time,'YYYY.MM.DD.HH24:MI:SS')\n" + "|| ' ' || nvl(cpu,0)\n" + "|| ' ' || nvl(e1,0)\n" + "|| ' ' || nvl(e2,0)\n" + "|| ' ' || nvl(e3,0)\n" + "|| ' ' || nvl(e4,0)\n" + "|| ' ' || nvl(e5,0)\n" + "|| ' ' || nvl(e6,0)\n" + "|| ' ' || nvl(e7,0)\n" + "|| ' ' || nvl(e8,0)\n" + "|| ' ' || nvl(other,0) csvline\n" + ", nvl(cpu,0)\n" + " + nvl(e1,0)\n" + " + nvl(e2,0)\n" + " + nvl(e3,0)\n" + " + nvl(e4,0)\n" + " + nvl(e5,0)\n" + " + nvl(e6,0)\n" + " + nvl(e7,0)\n" + " + nvl(e8,0)\n" + " + nvl(other,0) totalevs\n" + ", 86400 * (sample_time - first_value( sample_time) over (order by sample_time rows between 1 preceding and current row)) sinceprevious\n" + "from ( \n" + "select sample_time,CPU,E1,E2,E3,E4,E5,E6,E7,E8,OTHER\n" + "from ( \n" + "select sample_time\n" + ", event \n" + ", count(*) ecount \n" + "from \n" + "( \n" + "select cast(sample_time as date) sample_time \n" + ", decode(event "; + + # The core of that query comes from picking the top + # 8 events, that we get here with the order by + # and rownum predicate + for + select event, ecount from ( + select event, count(*) ecount from + &tablename. + where event is not null + &constraints. + group by event + order by count(*) desc ) + where rownum <= 8 + / + loop + lc += 1; + # Generate the actual plot line here, this is necessary so that + # the columns match with events + csvheader ||= "'" event "' "; + sprintf || csvquery, "\n, '%s', 'E%d' ", event, lc; + sprintf || plotline, ",'%s%sashdata.csv' using 1:($2", tempdir, slash; + # this sum deals with the bars put on top of each other + for d := lc..8 loop + sprintf || plotline, "+$%d", d+2; # :plt := :plt || '+\$'||to_char(d+2,'FM99'); + end loop; + plotline ||= ") with boxes lc rgb "; + # Now select a color for that event + # if we have resmgr, always make it green + if event = "resmgr:cpu quantum" + then + plotline ||= "'green'"; + else + # otherwise pick some that are reasonaly distinct + if lc=1 then plotline ||= "'purple'"; end if; + if lc=2 then plotline ||= "'red'"; end if; + if lc=3 then plotline ||= "'orange'"; end if; + if lc=4 then plotline ||= "'blue'"; end if; + if lc=5 then plotline ||= "'light-blue'"; end if; + if lc=6 then plotline ||= "'salmon'"; end if; + if lc=7 then plotline ||= "'gold'"; end if; + if lc=8 then plotline ||= "'cyan'"; end if; + end if; + plotline ||= " title '" event "' \\\n"; + end loop; + + csvheader ||= "'Other'"; + # now the top six events are there + # make CPU have a specific color as well + plotline ||= ",'" tempdir slash "ashdata.csv' using 1:2 with boxes lc rgb 'forest-green' title 'CPU'"; + csvquery ||= "\n, NULL, 'CPU', 'OTHER') event from\n" tablename "\n" + "where 1=1\n" + constraints + ") \n" + "group by sample_time\n" + ", event\n" + ")\n" + "pivot\n" + "( sum(ecount) for event in \n" + "( 'E1' as E1\n" + ", 'E2' as E2\n" + ", 'E3' as E3\n" + ", 'E4' as E4\n" + ", 'E5' as E5\n" + ", 'E6' as E6\n" + ", 'E7' as E7\n" + ", 'E8' as E8\n" + ", 'CPU' as CPU\n" + ", 'OTHER'as OTHER\n" + ")))\n" + "order by sample_time\n"; + + + # Now save files in the temporary directory + yt := tempdir "/plotline.txt"; + writeline yt, plotline; + yt := null; + + string(1000) csvline; + + # And generate the csv file by executing the csv query + yt := tempdir "/ashdata.csv"; + writeline yt, csvheader; + + integer csvlen, maxcsvlen := 20; + + for + sql execute + csvquery; + end + loop + csvlen := lengthb(csvline); + if csvlen > maxcsvlen then + maxcsvlen := csvlen; + end if; + if totalevs > maxevents then + maxevents := totalevs; + end if; + if sinceprevious > maxprevious then + maxprevious := sinceprevious; + end if; + writeline yt, csvline; # not yet in use: , sinceprevious; + end loop; + yt := null; + +$if autoupdate is null $then + yt := tempdir "/csvquery.sql"; + writeline yt, "rem you can execute this from sqlplus"; + fprintf yt, "column csvline format a%d\n", maxcsvlen; + writeline yt, "variable dbid number"; + writeline yt, "variable totime varchar2(30)"; + writeline yt, "variable fromtime varchar2(30)"; + fprintf yt, "exec :dbid := %zd; :fromtime := '%s'; :totime := '%s';\n", dbid, fromtime, totime; + writeline yt, csvquery; + writeline yt, "/"; + yt := null; + + if ashplot_debug then + printline "The csv query is available in " tempdir slash "csvquery.sql" ; end if; - if totalevs > maxevents then - maxevents := totalevs; +$endif + + # We are now ready to create the actual plot file + # set the xtics and xformat properly + # These are the defaults: + string xformat; + integer xtics; + + xformat:="set format x '%m.%d %H'"; + xtics:=21600; # default 6 hour + if ashplot_debug then + printline "seconds=" seconds; end if; - if sinceprevious > maxprevious then - maxprevious := sinceprevious; + + # More than 3 days, one days and different format + if seconds > 259200 then + xtics:=86400; + xformat:="set format x '%m.%d'"; end if; - writeline yt, csvline; # not yet in use: , sinceprevious; -end loop; -yt := null; - -yt := tempdir "/csvquery.sql"; - writeline yt, "rem you can execute this from sqlplus"; - fprintf yt, "column csvline format a%d\n", maxcsvlen; - writeline yt, "variable dbid number"; - writeline yt, "variable totime varchar2(30)"; - writeline yt, "variable fromtime varchar2(30)"; - fprintf yt, "exec :dbid := %zd; :fromtime := '%s'; :totime := '%s';\n", dbid, fromtime, totime; - writeline yt, csvquery; - writeline yt, "/"; -yt := null; -if ashplot_debug then - printline "The csv query is available in " tempdir slash "csvquery.sql" ; -end if; - -# We are now ready to create the actual plot file -# set the xtics and xformat properly -# These are the defaults: -string xformat; -integer xtics; -xformat:="set format x '%m.%d %H'"; -xtics:=21600; # default 6 hour -if ashplot_debug then - printline "seconds=" seconds; -end if; + # up to a day, one hours and different format + if seconds <= 86400 then + xformat:="set format x '%m.%d %H'"; + xtics:=3600; + end if; -# More than 3 days, one days and different format -if seconds > 259200 then - xtics:=86400; - xformat:="set format x '%m.%d'"; -end if; + # less than 12 hours, 30 minutes + if seconds < 43200 then + xformat:="set format x '%H:%M'"; + xtics:=1800; + end if; -# up to a day, one hours and different format -if seconds <= 86400 then - xformat:="set format x '%m.%d %H'"; - xtics:=3600; -end if; + # less than 2 hours, 10 minutes + if seconds < 7200 then + xformat:="set format x '%H:%M'"; + xtics:=600; + end if; -# less than 12 hours, 30 minutes -if seconds < 43200 then - xformat:="set format x '%H:%M'"; - xtics:=1800; -end if; + # less than 1 hour, 5 minutes + if seconds < 3600 then + xformat:="set format x '%H:%M'"; + xtics:=300; + end if; -# less than 2 hours, 10 minutes -if seconds < 7200 then - xformat:="set format x '%H:%M'"; - xtics:=600; -end if; + # less than half hour, 3 minutes + if seconds < 1800 then + xformat:="set format x '%H:%M'"; + xtics:=180; + end if; -# less than 1 hour, 5 minutes -if seconds < 3600 then - xformat:="set format x '%H:%M'"; - xtics:=300; -end if; + # less than 20 minutes, 2 minutes + if seconds < 1200 then + xformat:="set format x '%H:%M'"; + xtics:=120; + end if; -# less than half hour, 3 minutes -if seconds < 1800 then - xformat:="set format x '%H:%M'"; - xtics:=180; -end if; + # less than 10 minutes, 1 minutes + if seconds < 600 then + xformat:="set format x '%H:%M'"; + xtics:=60; + end if; -# less than 20 minutes, 2 minutes -if seconds < 1200 then - xformat:="set format x '%H:%M'"; - xtics:=120; -end if; + # less than 2 minute, 10 seconds + if seconds < 120 then + xformat:="set format x '%H:%M:%S'"; + xtics:=10; + end if; -# less than 10 minutes, 1 minutes -if seconds < 600 then - xformat:="set format x '%H:%M'"; - xtics:=60; -end if; + # Now create the gnuplot file -# less than 2 minute, 10 seconds -if seconds < 120 then - xformat:="set format x '%H:%M:%S'"; - xtics:=10; -end if; + writeline ytplot, "\nset timefmt '%Y.%m.%d.%H:%M:%S'"; + writeline ytplot, "set xdata time"; + if maxsessions then + fprintf ytplot, "set yrange [0:%d]\n", maxsessions; + else + writeline ytplot, "set yrange [0:*]"; + end if; + writeline ytplot, "set style fill solid"; + fprintf ytplot, "set xtics rotate 90 %d\n", xtics; + writeline ytplot, xformat; + if maxsessions and maxsessions < maxevents then + fprintf ytplot, "set ylabel 'session counts (up to %d off scale)'\n", maxevents; + else + writeline ytplot, "set ylabel 'session counts'"; + end if; + fprintf ytplot, "set xrange['%s':'%s']\n", xbeg, xend; -# Now create the gnuplot file + if title = "" then + writeline ytplot, "set title 'ash data since " mintime "'"; + else + fprintf ytplot, "set title '%s'\n" , title; + end if; -yt := tempdir "/ash.plot"; -writeline yt, "set timefmt '%Y.%m.%d.%H:%M:%S'"; -writeline yt, "set xdata time"; -if maxsessions then - fprintf yt, "set yrange [0:%d]\n", maxsessions; -else - writeline yt, "set yrange [0:*]"; -end if; -writeline yt, "set style fill solid"; -fprintf yt, "set xtics rotate 90 %d\n", xtics; -writeline yt, xformat; -if maxsessions and maxsessions < maxevents then - fprintf yt, "set ylabel 'session counts (up to %d off scale)'\n", maxevents; -else - writeline yt, "set ylabel 'session counts'"; -end if; -fprintf yt, "set xrange['%s':'%s']\n", xbeg, xend; + if boxwidth then + fprintf ytplot, "set boxwidth %d\n", boxwidth; + #else + # Set a resonable boxwidth. + # Note that this is not really working; it could also be based + # on maxprevious which is the largest distance (in seconds) between + # two lines of csvdata. + # Right now, we just let gnuplot decide (which means width until the + # start of the next) + # This really boils down to: What does missing entries represent? + # Letting gnuplot decide implies missing entries means the last + # known entry is the same until the next one. It all really only + # matters when plotting small ranges from dba_hist tables that + # typically have entries for every 10s; however this does vary. + #if seconds > w_pixels then + # writeline ytplot, "set boxwidth 1"; + #else + # fprintf ytplot, "set boxwidth %.1f\n", 1.0 * w_pixels / seconds; + #end if; + end if; -if title = "" then - writeline yt, "set title 'ash data since " mintime "'"; -else - fprintf yt, "set title '%s'\n" , title; -end if; + # We always make the png + writeline ytplot, "set key horizontal bottom outside"; +$if autoupdate is null $then + fprintf ytplot, "set terminal png size %d,%d\n", w_pixels, h_pixels; + fprintf ytplot, "set output '%s%sash.png'\n", tempdir, slash; + writeline ytplot, plotline; + + if output_svg != "" then + fprintf ytplot, "set terminal svg size %d,%d %s\n", w_pixels, h_pixels + , svgmouse ? "mousing standalone" : "dynamic" ; + fprintf ytplot, "set output '%s%sash.svg'\n", tempdir, slash; + writeline ytplot, "replot"; + end if; -if boxwidth then - fprintf yt, "set boxwidth %d\n", boxwidth; -#else - # Set a resonable boxwidth. - # Note that this is not really working; it could also be based - # on maxprevious which is the largest distance (in seconds) between - # two lines of csvdata. - # Right now, we just let gnuplot decide (which means width until the - # start of the next) - # This really boils down to: What does missing entries represent? - # Letting gnuplot decide implies missing entries means the last - # known entry is the same until the next one. It all really only - # matters when plotting small ranges from dba_hist tables that - # typically have entries for every 10s; however this does vary. - #if seconds > w_pixels then - # writeline yt, "set boxwidth 1"; - #else - # fprintf yt, "set boxwidth %.1f\n", 1.0 * w_pixels / seconds; - #end if; -end if; + # X wanted? + if output_X then + fprintf ytplot, "set terminal x11 size %d,%d\n", w_pixels, h_pixels; + writeline ytplot, "replot"; + end if; -# We always make the png -writeline yt, "set key horizontal bottom outside"; -fprintf yt, "set terminal png size %d,%d\n", w_pixels, h_pixels; -fprintf yt, "set output '%s%sash.png'\n", tempdir, slash; -writeline yt, plotline; - -if output_svg != "" then - fprintf yt, "set terminal svg size %d,%d %s\n", w_pixels, h_pixels - , svgmouse ? "mousing standalone" : "dynamic" ; - fprintf yt, "set output '%s%sash.svg'\n", tempdir, slash; - writeline yt, "replot"; -end if; + # Windows wanted? + if output_Windows then + fprintf ytplot, "set terminal windows size %d,%d\n", w_pixels, h_pixels; + writeline ytplot, "replot"; + end if; +$else + # X wanted? + if output_X then + fprintf ytplot, "set terminal x11 size %d,%d\n", w_pixels, h_pixels; + writeline ytplot, plotline; + end if; -# X wanted? -if output_X then - fprintf yt, "set terminal x11 size %d,%d\n", w_pixels, h_pixels; - writeline yt, "replot"; -end if; + # Windows wanted? + if output_Windows then + fprintf ytplot, "set terminal windows size %d,%d\n", w_pixels, h_pixels; + writeline ytplot, plotline; + end if; -# Windows wanted? -if output_Windows then - fprintf yt, "set terminal windows size %d,%d\n", w_pixels, h_pixels; - writeline yt, "replot"; -end if; + fflush ytplot; +end loop; +$endif +$ora01013:reset -yt := null; +ytplot := null; -# finally, do the plot +$if autoupdate is null $then + # finally, do the plot -if output_X or output_Windows then - system "gnuplot -persist " tempdir slash "ash.plot"; -else - system "gnuplot " tempdir slash "ash.plot"; -end if; + if output_X or output_Windows then + system "gnuplot -persist " tempdir slash "ash.plot"; + else + system "gnuplot " tempdir slash "ash.plot"; + end if; -# and copy files if user asked for them -if output_svg != "" then - copyfile(tempdir "/ash.svg", output_svg); -end if; + # and copy files if user asked for them + if output_svg != "" then + copyfile(tempdir "/ash.svg", output_svg); + end if; -if output_png != "" then - copyfile(tempdir "/ash.png", output_png); -end if; + if output_png != "" then + copyfile(tempdir "/ash.png", output_png); + end if; +$endif if !ashplot_debug and ashplot_tempdir = "" and tempdir != "" then removetempdir(tempdir); end if; - diff --git a/public/filecommands.rwl b/public/filecommands.rwl index accd1bc0..89b204eb 100644 --- a/public/filecommands.rwl +++ b/public/filecommands.rwl @@ -6,6 +6,7 @@ # # History # +# bengsig 4-jun-2024 - Missing system rmcommand # bengsig 28-feb-2024 - No mkdir if it already exists # bengsig 24-feb-2024 - Add winslashf2b as needed # bengsig 21-feb-2024 - Creation @@ -74,6 +75,7 @@ procedure removetempdir(string(1000) tdnam) $else sprintf rmcommand, "rm -rf '%s'", tdnam; $endif + system rmcommand; end removetempdir; function makedir(string(1000) dnam) From fb5893ec239cd613748b448313aa9f7d4448379d Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 4 Jun 2024 13:11:06 +0000 Subject: [PATCH 059/118] Add oltpconnect --- CHANGELOG.md | 1 + bin/oltpconnect | 161 ++++++++++++++++++++++++++++++ docs/refman/Makefile.refman | 4 +- docs/refman/ashplot.html | 44 ++++++--- docs/refman/directive.html | 15 ++- docs/refman/directives.html | 15 ++- docs/refman/oltpconnect.html | 185 +++++++++++++++++++++++++++++++++++ docs/refman/oltpplus.html | 15 ++- man/man2rwl/oltpconnect.2rwl | 98 +++++++++++++++++++ man/man2rwl/oltpplus.2rwl | 5 +- 10 files changed, 523 insertions(+), 20 deletions(-) create mode 100755 bin/oltpconnect create mode 100644 docs/refman/oltpconnect.html create mode 100644 man/man2rwl/oltpconnect.2rwl diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cff7996..7a3c28e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * Printf format for KiB, MiB, etc * Oltp workload can show connection storm effects * Oltp workload can optionally query gv$osstat to usr/sys on db server +* The ashplot command can output a running graph * Added -= assignment * Various improvements to statistics gathering diff --git a/bin/oltpconnect b/bin/oltpconnect new file mode 100755 index 00000000..c5aa8edd --- /dev/null +++ b/bin/oltpconnect @@ -0,0 +1,161 @@ +#!/bin/bash +# Copyright (c) 2021 Oracle Corporation +# Licensed under the Universal Permissive License v 1.0 +# as shown at https://oss.oracle.com/licenses/upl/ + +save_oracle_path="$ORACLE_PATH" + +. oltp-setup-env + +# This shell script will return the credentials for the specified connection +# + +# History +# +# 4-jun-2024 bengsig Created +help=no +side2=no +username='' +password='' +usage="Usage: $commandname [-2] [-b|--batch] [-p|--pool] [-H|--help] [-C|--cruser] [-A|--awr] [-S|--system] [-R|--results] [-r|--run] [-a|--aw] [-o|--oe]" + +# Get directory names from parameters.rwl + +eval `rwloadsim -q parameters2shell.rwl` + +export ORACLE_PATH="$save_oracle_path" + +options='2pbhHASCRrao -l cruser,help,awr,system,results,run,aw,oe,batch,pool' + +if getopt -Q -o $options -- "$@" +then + : +else + # output something likely to cause proper errors in + # actual utility if $(oltpconnect) is given invalid options + tty -s <&1 || echo unknown/{password}@unknown + exit 1 +fi + +set -- `getopt -u -n $commandname -o $options -- "$@"` + +while test $1 != '--' +do + case $1 in + --system|-S) + username=$system_username + password=$system_password + connect=$system_connect + shift + ;; + --awr|-A) + username=$sysawr_username + password=$sysawr_password + connect=$sysawr_connect + shift + ;; + --cruser|-C) + username=$cruser_username + password=$cruser_password + connect=$cruser_connect + shift + ;; + --oe|-o) + username=$rwl_oe_username + password=$rwl_oe_password + shift + ;; + --aw|-a) + username=$rwl_aw1_username + password=$rwl_aw1_password + shift + ;; + --run|-r) + username=$rwl_run1_username + password=$rwl_run1_password + shift + ;; + --results|-R) + username=$results_username + password=$results_password + connect=$results_connect + shift + ;; + -b|--batch) + if test -z "$connect" + then + connect=$batch_connect + fi + shift + ;; + -p|--pool) + if test -z "$connect" + then + connect=$pool_connect + fi + shift + ;; + -2) + side2=yes; + shift; + ;; + --help|-H|-h) help=yes; shift; + ;; + esac +done + +if test x$help = xyes +then + echo "$usage" +cat < - + @@ -51,8 +51,8 @@

    SYNOPSIS [options] -l u/p@c ashplot.rwl title text

    The ashplot -command is used to create a plot of ash data in any of three -possible formats:

    +command is used to create a plot of ash data in several +different ways:

    -

    A double variable that is used in control loop. For -every loop, it is calculated as the expected time-stamp to -start the next loop.

    @@ -305,7 +307,8 @@

    SEE ALSO

    simpledeclaration(1rwl), -statement(1rwl), declaration(1rwl) expression(1rwl)

    +statement(1rwl), declaration(1rwl) expression(1rwl), +controlloop(1rwl)


    From 9d3d5a1379989732900b58454b1afb1b192b9fa6 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 26 Mar 2024 11:28:25 +0000 Subject: [PATCH 010/118] Connection storm fixes and documentation --- docs/refman/oltpsetup.html | 73 +++++++++++++++++++++++++++++++++- man/man2rwl/oltpsetup.2rwl | 35 ++++++++++++++++ oltp/cstorm_implementation.rwl | 8 ++-- oltp/run.rwl | 40 ++++++++++++------- 4 files changed, 137 insertions(+), 19 deletions(-) diff --git a/docs/refman/oltpsetup.html b/docs/refman/oltpsetup.html index 8f6ea154..604f9bb6 100644 --- a/docs/refman/oltpsetup.html +++ b/docs/refman/oltpsetup.html @@ -1,5 +1,5 @@ - + @@ -27,6 +27,7 @@

    oltpsetup

    EXPERIMENTS
    PARAMETERS
    BURSTS
    +CONNECTION STORMS
    24H SIMULATION
    VERIFICATION
    REMOTE EXECUTION
    @@ -738,6 +739,76 @@

    BURSTS number of sessions in the normal pool during the delay. If delay_length is zero, no delay will take place.

    +

    CONNECTION STORMS + +

    + + +

    You can emulate +connection storms starting a certain timestamp during the +run. The storm can come from two souces:

    + + + + + + + + + + + + +
    + + +

    1.

    + + +

    Having a subset of worker threads that block a session +while otherwise doing nothing. At the same time, an other +set of worker threads will get active and as a consequence +the session pool will increase its size, while the expected +arrival rate stays the same.

    + + +

    2.

    + + +

    Making a number of database logons that are kept open +but without doing any actual activity.

    + +

    The following +parameters control connection storms:

    + + +

    cstorm_start +
    +cstorm_threads
    +cstorm_period
    +cstorm_xtra_logons
    +cstorm_xtra_rate

    + +

    The first parameter sets the +time when the connection storm will start. The next two +parameters sets the count of threads that will block a +session and for how long that block will take place. If +cstorm_threads has its default value of zero, there +will be no storm from blocking sessions. The two last +parameters set the number of extra logons to establish, and +the rate in logons per second. If cstorm_xtra_logons +has its default value of zero, not extra logons will be +started.

    + +

    You can combine +the connection storm with the first type of burst mentioned +above.

    + +

    Note that this +is an experimental feature that may change in a future +release.

    +

    24H SIMULATION

    diff --git a/man/man2rwl/oltpsetup.2rwl b/man/man2rwl/oltpsetup.2rwl index d93214b7..786d8991 100644 --- a/man/man2rwl/oltpsetup.2rwl +++ b/man/man2rwl/oltpsetup.2rwl @@ -539,6 +539,41 @@ The two first parameters (double) set the time to start and the length of the de the two latter parameter (integer) are the min and max number of sessions in the normal pool during the delay. If \fBdelay_length\fR is zero, no delay will take place. .RE +.SH "CONNECTION STORMS" +You can emulate connection storms starting a certain timestamp during the run. +The storm can come from two souces: +.TP 4 +1. +Having a subset of worker threads that block a session while otherwise doing nothing. +At the same time, an other set of worker threads will get active and as a consequence +the session pool will increase its size, while the expected arrival rate stays the same. +.TP 4 +2. +Making a number of database logons that are kept open but without doing any actual activity. +.P +The following parameters control connection storms: +.P +.nf +\fBcstorm_start\fR +\fBcstorm_threads\fR +\fBcstorm_period\fR +\fBcstorm_xtra_logons\fR +\fBcstorm_xtra_rate\fR +.fi +.RS 4 +The first parameter sets the time when the connection storm will start. +The next two parameters sets the count of threads that will block a session and for how long +that block will take place. +If \fBcstorm_threads\fR has its default value of zero, there will be no storm from blocking sessions. +The two last parameters set the number of extra logons to establish, and the rate +in logons per second. +If \fBcstorm_xtra_logons\fR has its default value of zero, not extra logons will be started. +.RE +.P +You can combine the connection storm with the first type of burst mentioned above. +.P +Note that this is an experimental feature that may change in a future release. +.P .SH "24H SIMULATION" You can use oltprun to simulate a full day workload with variation over time (day/night) and with inclusion of variout types of "issues" at intervals during the run. diff --git a/oltp/cstorm_implementation.rwl b/oltp/cstorm_implementation.rwl index 5dfc5c8c..4b708696 100644 --- a/oltp/cstorm_implementation.rwl +++ b/oltp/cstorm_implementation.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 26-mar-2024 - Various fixes # bengsig 19-mar-2024 - Created # # Implement a connection storm @@ -26,8 +27,7 @@ database storm_results username results_username password results_password connect results_connect - sessionpool 1..5 - default; + sessionpool 1..5; # time logon completed (or failed) # and when we did logoff @@ -48,7 +48,7 @@ private procedure trylogon(double bt) nostatistics # If logon was succesfull, do a simple ociping ociping; end if; - wait cstorm_start - logonend + cstorm_period; + wait cstorm_period; logofftime := runseconds(); end; @@ -74,7 +74,7 @@ run for start cstorm_start + threadnumber / cstorm_xtra_rate count 1 loop double btim := runseconds(); trylogon(btim) at rwl_run_storm; - saveres(btim, logonend, logofftime, oraerror, oraerrortext); + saveres(btim, logonend, logofftime, oraerror, oraerrortext) at storm_results; end loop; end threads; end run; diff --git a/oltp/run.rwl b/oltp/run.rwl index 904135a9..0da3ecbc 100644 --- a/oltp/run.rwl +++ b/oltp/run.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 26-mar-2024 - cstorm fixes # bengsig 19-mar-2024 - cstorm # bengsig 5-mar-2024 - dtime, atime # bengsig 24-jan-2024 - batch start depends on rampfactor @@ -132,37 +133,48 @@ random procedure array call_real procedure grab_session() ociping; - wait cstorm_period; + wait cstorm_period - (runseconds() - cstorm_start); end; -procedure doeither() +procedure call_real_or_timeout() +# nofail set to non-zero implies a silent fail without +# call to call_failure, which is used to drain below $if time_out is not null $then if runseconds() > everyuntil+time_out then call_failure(""); else + call_real(); + end if; +$else + call_real(); $endif +end call_real_or_timeout; + +procedure doeither() $if cstorm_threads $then + # we need to make sure there are threadcount active threads both inside + # and outside the cstorm period, but also that is is a different set + # of threads that get active if runseconds() between cstorm_start and cstorm_start + cstorm_period then - if threadnumber between threadcount+1 and threadcount + cstorm_threads then - call_real(); - else - null; - end if; + # inside the storm period if threadnumber between threadcount-cstorm_threads+1 and threadcount then grab_session(); + everyuntil := runseconds(); # flushes the queue else - call_real(); + call_real_or_timeout(); end if; else - call_real(); + # outside storm + if threadnumber <= threadcount or threadnumber > threadcount + cstorm_threads then + # The 3 seconds drain here is just taken randomly and it implies the threads + # that we did the grab_session() on get drained rather than showing a huge + # call_failure amount. + call_real_or_timeout(); + end if; end if; $else - call_real(); -$endif - -$if time_out is not null $then - end if; + call_real_or_timeout(); $endif end; From a681eb96130c1111984c820c815ccdaff912155e Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 27 Mar 2024 10:39:29 +0000 Subject: [PATCH 011/118] cstorm plots both by start/end of logon --- bin/oltpplot | 93 +++++++++++++++++++++++++++++------------------- oltp/csvdata.rwl | 60 ++++++++++++++++--------------- 2 files changed, 88 insertions(+), 65 deletions(-) diff --git a/bin/oltpplot b/bin/oltpplot index 9d46a520..4cd1f7e2 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 27-mar-2024 bengsig cstorm by initiated and logged on # 20-mar-2024 bengsig cstorm # 4-mar-2024 bengsig dtime, atime # 24-jan-2024 bengsig Include batch pool counts in cli.csv, plot total open @@ -862,19 +863,34 @@ then

    Ash data *$svgash${runnumber}_ash.png
    Extra connection storm${runnumber}_cstorm.svg${runnumber}_cstorm.png
    ORA errors *${runnumber}_oerpivot.svg${runnumber}_oerpivot.png
    ORA errors *${runnumber}_oerpivot.svg${runnumber}_oerpivot.png
    Extra connection storm by initiated${runnumber}_cstormbeg.svg${runnumber}_cstormbeg.png
    Extra connection storm by logged on${runnumber}_cstormend.svg${runnumber}_cstormend.png
    Fractiles of execution times${runnumber}_fractiles.svg${runnumber}_fractiles.png
    End-to-end times for make_order${runnumber}_mo_waitexec.svg${runnumber}_mo_waitexec.png
    Database cpu and time${runnumber}.svg${runnumber}.png
    Sessions and instances${runnumber}_instdist.svg${runnumber}_instdist.png
    Throughput${runnumber}_tp.svg${runnumber}_tp.png
    End2end timing (ms)${runnumber}_e2e.svg${runnumber}_e2e.png
    @@ -751,9 +752,15 @@

    EXAMPLES # Print a line telling if this is executed by root or not printline access("/root","dw") ? "you are root" : "you are not root"; - # Print the value of a, then a :, then the value of d. -printline a ":" d; +printline a ":" d; + + +# Use of the conditional operator +string ss := + a = 1 ? "one" : + a = 2 ? "two" : + "something else";

    NOTES diff --git a/docs/refman/constant.html b/docs/refman/constant.html index 49a7111a..fd294443 100644 --- a/docs/refman/constant.html +++ b/docs/refman/constant.html @@ -1,5 +1,5 @@ - + @@ -406,7 +406,8 @@

    OPERATORS

    Comparison operator as found in the C programming language. Only one of the second and third operand is -calculated depending on the value of the first.

    @@ -751,9 +752,15 @@

    EXAMPLES # Print a line telling if this is executed by root or not printline access("/root","dw") ? "you are root" : "you are not root"; - # Print the value of a, then a :, then the value of d. -printline a ":" d; +printline a ":" d; + + +# Use of the conditional operator +string ss := + a = 1 ? "one" : + a = 2 ? "two" : + "something else";

    NOTES diff --git a/docs/refman/expression.html b/docs/refman/expression.html index 098b5826..46cee06c 100644 --- a/docs/refman/expression.html +++ b/docs/refman/expression.html @@ -1,5 +1,5 @@ - + @@ -406,7 +406,8 @@

    OPERATORS

    Comparison operator as found in the C programming language. Only one of the second and third operand is -calculated depending on the value of the first.

    @@ -751,9 +752,15 @@

    EXAMPLES # Print a line telling if this is executed by root or not printline access("/root","dw") ? "you are root" : "you are not root"; - # Print the value of a, then a :, then the value of d. -printline a ":" d; +printline a ":" d; + + +# Use of the conditional operator +string ss := + a = 1 ? "one" : + a = 2 ? "two" : + "something else";

    NOTES diff --git a/docs/refman/function.html b/docs/refman/function.html index 49a7111a..fd294443 100644 --- a/docs/refman/function.html +++ b/docs/refman/function.html @@ -1,5 +1,5 @@ - + @@ -406,7 +406,8 @@

    OPERATORS

    Comparison operator as found in the C programming language. Only one of the second and third operand is -calculated depending on the value of the first.

    @@ -751,9 +752,15 @@

    EXAMPLES # Print a line telling if this is executed by root or not printline access("/root","dw") ? "you are root" : "you are not root"; - # Print the value of a, then a :, then the value of d. -printline a ":" d; +printline a ":" d; + + +# Use of the conditional operator +string ss := + a = 1 ? "one" : + a = 2 ? "two" : + "something else";

    NOTES diff --git a/man/man1rwl/expression.1rwl b/man/man1rwl/expression.1rwl index 850c8c54..d5acb7da 100644 --- a/man/man1rwl/expression.1rwl +++ b/man/man1rwl/expression.1rwl @@ -310,7 +310,8 @@ Logical or; if the first operand is not 0, the second operand is not calculated. .TP .B ? : Comparison operator as found in the C programming language. -Only one of the second and third operand is calculated depending on the value of the first. +Only one of the second and third operand is calculated depending on the value of the first, +and the operator is right associative. .TP .B || String concatenation. @@ -498,6 +499,12 @@ printline access("/root","dw") ? "you are root" : "you are not root"; # Print the value of a, then a :, then the value of d. printline a ":" d; + +# Use of the conditional operator +string ss := + a = 1 ? "one" : + a = 2 ? "two" : + "something else"; \fR .fi .SH NOTES diff --git a/test/390.rwl b/test/390.rwl new file mode 100644 index 00000000..74593eb7 --- /dev/null +++ b/test/390.rwl @@ -0,0 +1,22 @@ +# show ?: is right associative +integer val; + +integer retcalls := 0; + +function ret(string s) +return string + retcalls += 1; + return s; +end; + +for val := -2 .. 6 loop + printf "%d is %s\n", val, + val = 0 ? ret("zero") : + val = 1 ? ret("one") : + val = 2 ? ret("two") : + val = 3 ? ret("three") : + val < 0 ? ret("negative") : + ret("above three"); +end loop; + +printf "ret was called %d times\n", retcalls; diff --git a/test/test.sh b/test/test.sh index 57064b48..c549e4a8 100755 --- a/test/test.sh +++ b/test/test.sh @@ -47,7 +47,7 @@ then testlist="$*" else # note that 323..326 test CQN which we don't currently compile in - testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 400 401' + testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 400 401' fi diffokcount=0; diff --git a/test/testres/390.err.good b/test/testres/390.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/390.out.good b/test/testres/390.out.good new file mode 100644 index 00000000..91ce3649 --- /dev/null +++ b/test/testres/390.out.good @@ -0,0 +1,10 @@ +-2 is negative +-1 is negative +0 is zero +1 is one +2 is two +3 is three +4 is above three +5 is above three +6 is above three +ret was called 9 times From d97d252571f4c437eadac57108aad1df60f29b92 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Fri, 19 Apr 2024 10:17:06 +0000 Subject: [PATCH 028/118] Better adplot check --- oltp/plotinfo.rwl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/oltp/plotinfo.rwl b/oltp/plotinfo.rwl index 56b155b2..273b472c 100644 --- a/oltp/plotinfo.rwl +++ b/oltp/plotinfo.rwl @@ -6,6 +6,7 @@ # # Return some shell variables needed for oltpplot +# bengsig 19-mar-2024 - Better adtime check # bengsig 5-mar-2024 - Creation $include:"parameters.rwl" @@ -19,8 +20,10 @@ execute at rwloadsim # did user run with $statsapptime:on and $statsdbtime:on ? double dtime, atime; for - select dtime, atime from runres_a + select dtime, atime from persec where runnumber = :myrunnumber + and dtime is not null and atime is not null + and dtime>0 and atime>0 and vname = 'make_order' / loop From e081858e83e37d375dfb8ab64594cb8b070b0858 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 24 Apr 2024 12:36:41 +0000 Subject: [PATCH 029/118] Use runseconds() as fucntion call in all documentation --- docs/COMPLEXAMPLE.md | 2 +- docs/SIMULATOR.md | 4 ++-- docs/refman/controlloop.html | 10 +++++----- docs/refman/rwlcpu.html | 9 +++++---- docs/refman/rwlcpu_a.html | 9 +++++---- docs/refman/rwloadsim.html | 5 +++-- docs/refman/statement.html | 6 +++--- docs/refman/statementlist.html | 6 +++--- docs/refman/sysres.html | 6 +++--- man/man1rwl/controlloop.1rwl | 6 +++--- man/man1rwl/rwlcpu.1rwl | 2 +- man/man1rwl/rwloadsim.1rwl | 2 +- man/man1rwl/statement.1rwl | 2 +- man/man1rwl/sysres.1rwl | 2 +- 14 files changed, 37 insertions(+), 34 deletions(-) diff --git a/docs/COMPLEXAMPLE.md b/docs/COMPLEXAMPLE.md index 718e7e7d..9010353e 100644 --- a/docs/COMPLEXAMPLE.md +++ b/docs/COMPLEXAMPLE.md @@ -213,7 +213,7 @@ run wait 5; beginawr(); # end 5 seconds before finish - wait totaltime-runseconds-5; + wait totaltime-runseconds()-5; makeawr(); end; end; diff --git a/docs/SIMULATOR.md b/docs/SIMULATOR.md index 3ac32fd4..6ba7e4c3 100644 --- a/docs/SIMULATOR.md +++ b/docs/SIMULATOR.md @@ -83,9 +83,9 @@ run for start 50 count 1 loop three(); end; end; threads 1 at system # start 1 thread at a named database - wait(10-runseconds); + wait(10-runseconds()); begawr(); - wait(exectime-runseconds-10); + wait(exectime-runseconds()-10); endawr(); end; end; diff --git a/docs/refman/controlloop.html b/docs/refman/controlloop.html index f17a0161..ff5e4899 100644 --- a/docs/refman/controlloop.html +++ b/docs/refman/controlloop.html @@ -1,5 +1,5 @@ - + @@ -81,14 +81,14 @@

    DESCRIPTION (approximately) the same time, and unless the start time is explicitly set to non-zero, this means starting at the same time. The actual time with reference to this common start -time is returned by the predefined variable runseconds. In -order to ensure reasonable ramp-up to e.g. start database +time is returned by the function call runseconds(). In order +to ensure reasonable ramp-up to e.g. start database connections in session pools, or to actually start operating system threads, rwloadsim has a built-in delay from the clock time it is called until this 0s time when control loops really start processing; the default is 5s. If you use -the value of runseconds before this common control loop -start time, it will have a negative value.

    +call runseconds() before this common control loop start +time, it will return a negative value.

    There is no requirement to use a control loop, but if you do not, diff --git a/docs/refman/rwlcpu.html b/docs/refman/rwlcpu.html index 19cd1fb3..683d79f3 100644 --- a/docs/refman/rwlcpu.html +++ b/docs/refman/rwlcpu.html @@ -1,5 +1,5 @@ - + @@ -114,9 +114,10 @@

    COLUMNS

    second

    You must arrange for your -rwloadsim program to insert the value of the runseconds -variable into this column. In the aggregate view, rwlcpu_a, -the values will be rounded to a whole second.

    +rwloadsim program to insert the value returned by the +runseconds() function into this column. In the aggregate +view, rwlcpu_a, the values will be rounded to a whole +second.

    cliusr

    diff --git a/docs/refman/rwlcpu_a.html b/docs/refman/rwlcpu_a.html index ca8f5538..579dc64a 100644 --- a/docs/refman/rwlcpu_a.html +++ b/docs/refman/rwlcpu_a.html @@ -1,5 +1,5 @@ - + @@ -114,9 +114,10 @@

    COLUMNS

    second

    You must arrange for your -rwloadsim program to insert the value of the runseconds -variable into this column. In the aggregate view, rwlcpu_a, -the values will be rounded to a whole second.

    +rwloadsim program to insert the value returned by the +runseconds() function into this column. In the aggregate +view, rwlcpu_a, the values will be rounded to a whole +second.

    cliusr

    diff --git a/docs/refman/rwloadsim.html b/docs/refman/rwloadsim.html index 924ac0b7..a03de422 100644 --- a/docs/refman/rwloadsim.html +++ b/docs/refman/rwloadsim.html @@ -1,5 +1,5 @@ - + @@ -455,7 +455,8 @@

    OPTIONS --errortime

    Augment all execution time -errors with the value of the runseconds variable.

    +errors with the value returned by the runseconds() +function.

    -T --vi-tags filename

    diff --git a/docs/refman/statement.html b/docs/refman/statement.html index d2558d61..a355db44 100644 --- a/docs/refman/statement.html +++ b/docs/refman/statement.html @@ -1,5 +1,5 @@ - + @@ -205,8 +205,8 @@

    SIMPLE STATEMENTS

    getrusage

    Call the getrusage function -filling in values for the usrseconds and sysseconds -variables.

    +filling in values for the usrseconds and +sysseconds variables.

    abort

    diff --git a/docs/refman/statementlist.html b/docs/refman/statementlist.html index e2949085..a355db44 100644 --- a/docs/refman/statementlist.html +++ b/docs/refman/statementlist.html @@ -1,5 +1,5 @@ - + @@ -205,8 +205,8 @@

    SIMPLE STATEMENTS

    getrusage

    Call the getrusage function -filling in values for the usrseconds and sysseconds -variables.

    +filling in values for the usrseconds and +sysseconds variables.

    abort

    diff --git a/docs/refman/sysres.html b/docs/refman/sysres.html index 0e8cca30..4e39e914 100644 --- a/docs/refman/sysres.html +++ b/docs/refman/sysres.html @@ -1,5 +1,5 @@ - + @@ -97,8 +97,8 @@

    COLUMNS

    second

    You must arrange for your -rwloadsim program to insert the value of runseconds into -this column.

    +rwloadsim program to insert the value returned by +runseconds() into this column.

    resname

    diff --git a/man/man1rwl/controlloop.1rwl b/man/man1rwl/controlloop.1rwl index 6152d3ed..c2ad1f96 100644 --- a/man/man1rwl/controlloop.1rwl +++ b/man/man1rwl/controlloop.1rwl @@ -37,14 +37,14 @@ All control loops (in all threads) have their timings coordinated at (approximately) the same time, and unless the start time is explicitly set to non-zero, this means starting at the same time. The actual time with reference to this common start time is -returned by the predefined variable runseconds. +returned by the function call runseconds(). In order to ensure reasonable ramp-up to e.g. start database connections in session pools, or to actually start operating system threads, rwloadsim has a built-in delay from the clock time it is called until this 0s time when control loops really start processing; the default is 5s. -If you use the value of runseconds before this common control loop start time, -it will have a negative value. +If you use call runseconds() before this common control loop start time, +it will return a negative value. .P There is no requirement to use a control loop, but if you do not, execution in threads will start as soon as the thread is created. diff --git a/man/man1rwl/rwlcpu.1rwl b/man/man1rwl/rwlcpu.1rwl index adfd0528..622737ce 100644 --- a/man/man1rwl/rwlcpu.1rwl +++ b/man/man1rwl/rwlcpu.1rwl @@ -62,7 +62,7 @@ In the aggregate view, rwlcpu_a, the total process count is in the pcount column .P \fBsecond\fR .RS 4 -You must arrange for your rwloadsim program to insert the value of the runseconds variable +You must arrange for your rwloadsim program to insert the value returned by the runseconds() function into this column. In the aggregate view, rwlcpu_a, the values will be rounded to a whole second. .RE diff --git a/man/man1rwl/rwloadsim.1rwl b/man/man1rwl/rwloadsim.1rwl index b2b145e1..f9830f76 100644 --- a/man/man1rwl/rwloadsim.1rwl +++ b/man/man1rwl/rwloadsim.1rwl @@ -320,7 +320,7 @@ This is the default and is therefore a no-op. .PP .B -W --errortime .RS 4 -Augment all execution time errors with the value of the runseconds variable. +Augment all execution time errors with the value returned by the runseconds() function. .RE .PP .B -T --vi-tags filename diff --git a/man/man1rwl/statement.1rwl b/man/man1rwl/statement.1rwl index aa2b2181..fcd0cc17 100644 --- a/man/man1rwl/statement.1rwl +++ b/man/man1rwl/statement.1rwl @@ -141,7 +141,7 @@ if you need the return value, use the system function in stead. .PP \fBgetrusage\fR .RS 4 -Call the getrusage function filling in values for the usrseconds and sysseconds variables. +Call the getrusage function filling in values for the \fBusrseconds\fR and \fBsysseconds\fR variables. .RE .PP \fBabort\fR diff --git a/man/man1rwl/sysres.1rwl b/man/man1rwl/sysres.1rwl index 5f2c8bd2..cf404047 100644 --- a/man/man1rwl/sysres.1rwl +++ b/man/man1rwl/sysres.1rwl @@ -41,7 +41,7 @@ into this column. .P \fBsecond\fR .RS 4 -You must arrange for your rwloadsim program to insert the value of runseconds +You must arrange for your rwloadsim program to insert the value returned by runseconds() into this column. .RE .P From 0ee7b0260e2715baf46f149547b44eac6b82ece5 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 29 Apr 2024 07:46:27 +0000 Subject: [PATCH 030/118] Gather sys/usr from gv$osstat --- admin/rwl313.sql | 13 + admin/rwlgrants.sql | 3 +- admin/rwloadsim.sql | 13 + admin/rwlsynonyms.sql | 2 + bin/mtitplot | 22 + bin/oltpplot | 20 +- bin/osstat-plot-include | 50 ++ oltp/csvdata.rwl | 5 + oltp/csvmtit.rwl | 5 + oltp/csvosstat.rwl | 41 ++ oltp/oltp.rwl | 7 +- oltp/parameters.rwl | 4 +- oltp/runsys.rwl | 4 + oltp/tags | 1179 +++++++++++++++++++++------------------ oltp/timemodel.rwl | 101 ++++ 15 files changed, 917 insertions(+), 552 deletions(-) create mode 100644 bin/osstat-plot-include create mode 100644 oltp/csvosstat.rwl diff --git a/admin/rwl313.sql b/admin/rwl313.sql index a8767b30..037fd9ce 100644 --- a/admin/rwl313.sql +++ b/admin/rwl313.sql @@ -8,6 +8,8 @@ -- Changes -- -- NAME DATE COMMENTS +-- +-- bengsig 26-apr-2024 osstat -- bengsig 19-mar-2024 Created -- create table cstorm @@ -21,3 +23,14 @@ create table cstorm , primary key(runnumber, threadnumber) ) ; +create table osstat +( runnumber number not null +, second number not null +, usr1 number(*,6), usr2 number(*,6), usr3 number(*,6), usr4 number(*,6) +, usr5 number(*,6), usr6 number(*,6), usr7 number(*,6), usr8 number(*,6) +, sys1 number(*,6), sys2 number(*,6), sys3 number(*,6), sys4 number(*,6) +, sys5 number(*,6), sys6 number(*,6), sys7 number(*,6), sys8 number(*,6) +, primary key(runnumber, second) +) +/ + diff --git a/admin/rwlgrants.sql b/admin/rwlgrants.sql index dd693ead..a2f98d28 100644 --- a/admin/rwlgrants.sql +++ b/admin/rwlgrants.sql @@ -5,6 +5,7 @@ -- as shown at https://oss.oracle.com/licenses/upl/ -- History +-- bengsig 26-apr-2024 - osstat -- bengsig 5-apr-2023 - oltpxc -- bengsig 19-mar-2023 - cstorm -- bengsig 8-aug-2023 - Missing grant to PERSEC @@ -42,4 +43,4 @@ grant insert,select on rwlash to rwlpublic; grant insert,select on cstorm to rwlpublic; grant insert,update,select on oltpxc to rwlpublic; grant select on runnumber_seq to rwlpublic; - +grant insert,select on osstat to rwlpublic; diff --git a/admin/rwloadsim.sql b/admin/rwloadsim.sql index d3db1fc6..60156cf9 100644 --- a/admin/rwloadsim.sql +++ b/admin/rwloadsim.sql @@ -7,6 +7,7 @@ -- Changes -- -- NAME DATE COMMENTS +-- bengsig 26-apr-2024 osstat table -- bengsig 19-mar-2024 cstorm table -- bengsig 1-mar-2024 atime,dtime column -- bengsig 25-apr-2022 MTIT @@ -205,3 +206,15 @@ create table cstorm , primary key(runnumber, threadnumber) ) ; +-- This table stores gv$sysstat values for USER_TIME and SYS_TIME +-- from up to 8 instances +create table osstat +( runnumber number not null +, second number not null +, usr1 number(*,6), usr2 number(*,6), usr3 number(*,6), usr4 number(*,6) +, usr5 number(*,6), usr6 number(*,6), usr7 number(*,6), usr8 number(*,6) +, sys1 number(*,6), sys2 number(*,6), sys3 number(*,6), sys4 number(*,6) +, sys5 number(*,6), sys6 number(*,6), sys7 number(*,6), sys8 number(*,6) +, primary key(runnumber, second) +) +/ diff --git a/admin/rwlsynonyms.sql b/admin/rwlsynonyms.sql index 2b64441d..cb7d2e64 100644 --- a/admin/rwlsynonyms.sql +++ b/admin/rwlsynonyms.sql @@ -5,6 +5,7 @@ -- as shown at https://oss.oracle.com/licenses/upl/ -- History +-- bengsig 26-apr-2024 - osstat -- bengsig 5-apr-2024 - cstorm, oltpxc -- bengsig 03-dec-2020 - Add ash -- bengsig 2017 - Creation @@ -27,3 +28,4 @@ create or replace synonym oerstats for rwloadsim.oerstats; create or replace synonym runnumber_seq for rwloadsim.runnumber_seq; create or replace synonym cstorm for rwloadsim.cstorm; create or replace synonym oltpxc for rwloadsim.oltpxc; +create or replace synonym osstat for rwloadsim.osstat; diff --git a/bin/mtitplot b/bin/mtitplot index b572013b..77a7e7bc 100755 --- a/bin/mtitplot +++ b/bin/mtitplot @@ -5,6 +5,7 @@ # Changes: # +# bengsig 28-apr-2024 osstat # bengsig 12-apr-2024 end2end timing # bengsig 17-jul-2023 Modify plot colors # bengsig 10-may-2023 Creation @@ -150,6 +151,10 @@ END cat $resultsdir$subdir$runnumber/header.plot >> $resultsdir$subdir$runnumber/res.plot +# do the osstat stuff +cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/osstat.plot +. osstat-plot-include + cp $resultsdir$subdir$runnumber/header.plot $resultsdir$subdir${runnumber}/instdist.plot # get various shell variables from csvmtit . $resultsdir$subdir${runnumber}/csvmtitvars.sh @@ -359,6 +364,22 @@ cat < $awrdirectory$subdir$runnumber/index.html

    Throughput${runnumber}_tp.svg${runnumber}_tp.png
    End2end timing (ms)${runnumber}_e2e.svg${runnumber}_e2e.png
    Database server cpu *${runnumber}_osstat.svg${runnumber}_osstat.png
    Individual throughput${runnumber}_tp.svg${runnumber}_tp.png
    Ping rates *${runnumber}_ping.svg${runnumber}_ping.png
    Database server cpu *${runnumber}_osstat.svg${runnumber}_osstat.png
    Fractiles of execution times${runnumber}_fractiles.svg${runnumber}_fractiles.png
    $fracttext${runnumber}_fractiles.svg${runnumber}_fractiles.png
    End-to-end times for make_order${runnumber}_mo_waitexec.svg${runnumber}_mo_waitexec.png
    End-to-end times for query_order${runnumber}_qo_waitexec.svg${runnumber}_qo_waitexec.png
    End-to-end times for search_products${runnumber}_sp_waitexec.svg${runnumber}_sp_waitexec.png
    Database server cpu *Database server cpu (per instance) * ${runnumber}_osstat.svg ${runnumber}_osstat.png
    Database server cpu (total) *${runnumber}_osstatg.svg${runnumber}_osstatg.png
    Database server cpu *Database server cpu (per instance) * ${runnumber}_osstat.svg ${runnumber}_osstat.png
    Database server cpu (total)${runnumber}_osstatg.svg${runnumber}_osstatg.png
    Awr report(s)${runnumber}_awr.html
    Throughput and resources *${runnumber}.svg${runnumber}.png
    $sesinsttext *${runnumber}_instdist.svg${runnumber}_instdist.png
    Buffer cache/shared pool${runnumber}_bcache.svg${runnumber}_bcache.png
    Database memory${runnumber}_memory.svg${runnumber}_memory.png
    Buffer cache${runnumber}_bcache.svg${runnumber}_bcache.png
    Shared pool${runnumber}_sharedp.svg${runnumber}_sharedp.png
    PGA${runnumber}_pga.svg${runnumber}_pga.png
    Individual throughput${runnumber}_tp.svg${runnumber}_tp.png
    Ping rates *${runnumber}_ping.svg${runnumber}_ping.png
    @@ -66,7 +66,8 @@

    SYNOPSIS

    +

    Output a single image using X-Windows when DISPLAY is +properly set or using Microsoft Windows.

    +

    Create an image file in svg and/or png format.

    +

    Output a continuously updated window using X-Windows or +Microsoft Windows.

    -

    Output using X-Windows when DISPLAY is properly set.

    @@ -77,7 +78,7 @@

    SYNOPSIS

    -

    Create an image file in png format.

    @@ -88,8 +89,8 @@

    SYNOPSIS

    -

    Create an image file in svg format potentially with the -svgmouse option.

    All output is @@ -148,10 +149,10 @@

    OPTIONS either or both of these options.

    -

    --fromminutes=n

    +

    --fromminutes=N

    Output will be limited to only -include data from at most n minutes ago. If you use this +include data from at most N minutes ago. If you use this option together with either of the previous two, time limits from all will apply.

    @@ -178,11 +179,11 @@

    OPTIONS with .png and .svg respectively.

    -

    --svgmouse

    +

    --no-svgmouse

    If an svg file is being output, -embed mouse javascript code in the file; this allows -clicking the file when shown in a browser.

    +do not include mouse javascript code in the file. This is +only relevant if your gnuplot version is older than 4.6.

    --include-sys

    @@ -224,6 +225,25 @@

    OPTIONS with the value 1; values above 3 or 4 are unlikely to produce nice plots.

    + +

    --autoupdate=N +
    +--maxautoupdate=N

    + +

    When using X-Windows or +Microsoft Windows to output the graph, you can use the +--autoupdate option to make the graph updated every so +often. As a result you will see a continuously updated +window similar to how performance tools do it. The display +will finish after 3600s, unless a different value is set +using --maxautoupdate or it is terminated by pressing +ctrl-c.

    + +

    When using auto +update, --output-X and --fromminutes=5 are set by default, +and none of the options --fromtime, --totime, --dbid and +those handling image file output are used.

    +

    title text

    diff --git a/docs/refman/directive.html b/docs/refman/directive.html index 91dc7546..df2c1e12 100644 --- a/docs/refman/directive.html +++ b/docs/refman/directive.html @@ -1,5 +1,5 @@ - + @@ -320,7 +320,9 @@

    DIRECTIVES

    $ora01013:continue
    -$ora01013:stop

    +$ora01013:stop
    +$ora01013:break
    +$ora01013:reset

    Normally, ctrl-c leads to a controlled stop of the executing rwloadsim process although @@ -329,6 +331,15 @@

    DIRECTIVES receiving an ORA-01013, use the first directive. The second, which is the default, undoes this.

    +

    The two last +directives are used to allow some clean-up to be done after +issuing ctrl-c: The third directive implies ctrl-c will +break any procedure, including anonymous procedures +executing directly in your main program, but your rwl +program will otherwise continue. To allow subsequent +procedures to be executed, use the fourth directive. For an +example, see ashplot(2rwl).

    +

    $bindoffset:0

    diff --git a/docs/refman/directives.html b/docs/refman/directives.html index 3e530f8a..df2c1e12 100644 --- a/docs/refman/directives.html +++ b/docs/refman/directives.html @@ -1,5 +1,5 @@ - + @@ -320,7 +320,9 @@

    DIRECTIVES

    $ora01013:continue
    -$ora01013:stop

    +$ora01013:stop
    +$ora01013:break
    +$ora01013:reset

    Normally, ctrl-c leads to a controlled stop of the executing rwloadsim process although @@ -329,6 +331,15 @@

    DIRECTIVES receiving an ORA-01013, use the first directive. The second, which is the default, undoes this.

    +

    The two last +directives are used to allow some clean-up to be done after +issuing ctrl-c: The third directive implies ctrl-c will +break any procedure, including anonymous procedures +executing directly in your main program, but your rwl +program will otherwise continue. To allow subsequent +procedures to be executed, use the fourth directive. For an +example, see ashplot(2rwl).

    +

    $bindoffset:0

    diff --git a/docs/refman/oltpconnect.html b/docs/refman/oltpconnect.html new file mode 100644 index 00000000..4918077e --- /dev/null +++ b/docs/refman/oltpconnect.html @@ -0,0 +1,185 @@ + + + + + + + + + +oltpconnect + + + + +

    oltpconnect

    + +NAME
    +SYNOPSIS
    +OPTIONS
    +USAGE
    +EXAMPLE
    +COPYRIGHT
    +SEE ALSO
    + +
    + + +

    NAME + +

    + + +

    oltpconnect +− Provide credentials to some other utility

    + +

    SYNOPSIS + +

    + + +

    oltpconnect +[-H|--help]

    + + +

    $(oltpconnect +[-2] [-p|--pool] [-b|--batch] [-A|--awr] [-S|--system] +[-R|--results] [-r|--run] [-a|--aw] [-o|--oe])

    + +

    OPTIONS + +

    + + +

    -H

    + +

    Show short help.

    + + +

    -A|--awr

    + +

    Return credentials for the user +doing awr snapshots and reporting.

    + + +

    -S|--system

    + +

    Return credentials for the +system user used to run v$ queries etc.

    + + +

    -C|--cruser

    + +

    Return credentials for the +system user used to create schemas.

    + + +

    -R|--results

    + +

    Return credentials for your +repository user.

    + + +

    -r|--run

    + +

    Return credentials for your +normal runtime user. This is the default when no other +options are provided.

    + + +

    -a|--aw

    + +

    Return credentials for the user +who owns the artificial workload schema.

    + + +

    -o|--oe

    + +

    Return credentials for the user +who owns the order entry schema.

    + +

    -2

    + +

    If you are using -r or -a, use +the side 2 version of the schema (as used by +oltpforever2).

    + + +

    -p|--pool

    + +

    If you are using -r, -a or -o, +use the pool_connect connect string, otherwise use +normal_connect.

    + + +

    -b|--batch

    + +

    If you are using -r, -a or -o, +use the batch_connect connect string, otherwise use +normal_connect.

    + +

    USAGE + +

    + + +

    The +oltpconnect command is used to provide credentials in +the form username/{password}@service such that they can be +provided to some other tool. Note that if stdout is a +terminal, the password will be blank and that the preferred +usage is via your shells command substitution. The primary +usage of the oltpconnect command is to allow you to +show how various tools can be used without revealing +passwords on the screen.

    + +

    The +oltpconnect command takes no ordinary arguments and +returns the credentials for the rwlrun1 user unless one of +the other schemas is selected using the appropriate +option(s).

    + +

    EXAMPLE + +

    + + +

    Call ashplot +connecting to your system user without the need to show or +type password:

    + +

    ashplot -l +$(oltpconnect -S) --autoupdate=5

    + +

    The following +is equivalent to typing oltpplus -r:

    + +

    sqlplus +$(oltpconnect)

    + +

    COPYRIGHT + +

    + + +

    Copyright +© 2023 Oracle Corporation
    +Licensed under the Universal Permissive License v 1.0 as +shown at https://oss.oracle.com/licenses/upl

    + +

    SEE ALSO + +

    + + +

    oltp(2rwl), +oltpsetup(2rwl), oltpparams(2rwl), oltpplus(2rwl)

    +
    + + diff --git a/docs/refman/oltpplus.html b/docs/refman/oltpplus.html index 523c8f7c..dedc696e 100644 --- a/docs/refman/oltpplus.html +++ b/docs/refman/oltpplus.html @@ -1,5 +1,5 @@ - + @@ -24,6 +24,7 @@

    oltpplus

    SYNOPSIS
    OPTIONS
    USAGE
    +NOTES
    COPYRIGHT
    SEE ALSO
    @@ -141,6 +142,16 @@

    USAGE will first echo the username and the connect string, and then call sqlplus.

    +

    NOTES + +

    + + +

    The +oltpconnect(2rwl) command can be used if you want to start +some other tool without showing the password on the +terminal.

    +

    COPYRIGHT

    @@ -157,7 +168,7 @@

    SEE ALSO

    oltp(2rwl), -oltpsetup(2rwl), oltpparams(2rwl)

    +oltpsetup(2rwl), oltpparams(2rwl), oltpconnect(2rwl)


    diff --git a/man/man2rwl/oltpconnect.2rwl b/man/man2rwl/oltpconnect.2rwl new file mode 100644 index 00000000..b299bc98 --- /dev/null +++ b/man/man2rwl/oltpconnect.2rwl @@ -0,0 +1,98 @@ +.TH oltpconnect "2rwl" "June 2024" "RWP*Load Simulator" "Workload Syntax" +.SH NAME +oltpconnect \- Provide credentials to some other utility +.SH SYNOPSIS +\fBoltpconnect [-H|--help]\fR +.P +\fB$(oltpconnect [-2] [-p|--pool] [-b|--batch] [-A|--awr] [-S|--system] [-R|--results] [-r|--run] [-a|--aw] [-o|--oe])\fR +.P +.SH OPTIONS +.B -H +.RS 4 +Show short help. +.RE +.P +.B -A|--awr +.RS 4 +Return credentials for the user doing awr snapshots and reporting. +.RE +.P +.B -S|--system +.RS 4 +Return credentials for the system user used to run v$ queries etc. +.RE +.P +.B -C|--cruser +.RS 4 +Return credentials for the system user used to create schemas. +.RE +.P +.B -R|--results +.RS 4 +Return credentials for your repository user. +.RE +.P +.B -r|--run +.RS 4 +Return credentials for your normal runtime user. +This is the default when no other options are provided. +.RE +.P +.B -a|--aw +.RS 4 +Return credentials for the user who owns the artificial workload schema. +.RE +.P +.B -o|--oe +.RS 4 +Return credentials for the user who owns the order entry schema. +.RE +.P +.B -2 +.RS 4 +If you are using -r or -a, use the side 2 version of the schema (as used by oltpforever2). +.RE +.P +.B -p|--pool +.RS 4 +If you are using -r, -a or -o, use the pool_connect connect string, otherwise use normal_connect. +.RE +.P +.B -b|--batch +.RS 4 +If you are using -r, -a or -o, use the batch_connect connect string, otherwise use normal_connect. +.RE +.SH USAGE +The +.B oltpconnect +command is used to provide credentials in the form username/{password}@service +such that they can be provided to some other tool. +Note that if stdout is a terminal, the password will be blank and that the +preferred usage is via your shells command substitution. +The primary usage of the \fBoltpconnect\fR command is to allow you to show +how various tools can be used +without revealing passwords on the screen. +.P +The +.B oltpconnect +command takes no ordinary arguments and returns the credentials for the rwlrun1 user +unless one of the other schemas is selected using the appropriate option(s). +.SH EXAMPLE +Call ashplot connecting to your system user without the need to show or type password: +.P +.nf +ashplot -l $(oltpconnect -S) --autoupdate=5 +.fi +.P +The following is equivalent to typing \fBoltpplus -r\fR: +.P +.nf +sqlplus $(oltpconnect) +.fi +.SH COPYRIGHT +Copyright \(co 2023 Oracle Corporation +.br +Licensed under the Universal Permissive License v 1.0 +as shown at https://oss.oracle.com/licenses/upl +.SH "SEE ALSO" +oltp(2rwl), oltpsetup(2rwl), oltpparams(2rwl), oltpplus(2rwl) diff --git a/man/man2rwl/oltpplus.2rwl b/man/man2rwl/oltpplus.2rwl index 3042aa94..277d93c1 100644 --- a/man/man2rwl/oltpplus.2rwl +++ b/man/man2rwl/oltpplus.2rwl @@ -72,10 +72,13 @@ The command takes no arguments and exactly one of the schemas must be selected using the appropriate option. .P When called, it will first echo the username and the connect string, and then call sqlplus. +.SH NOTES +The oltpconnect(2rwl) command can be used if you want to start some other tool +without showing the password on the terminal. .SH COPYRIGHT Copyright \(co 2023 Oracle Corporation .br Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl .SH "SEE ALSO" -oltp(2rwl), oltpsetup(2rwl), oltpparams(2rwl) +oltp(2rwl), oltpsetup(2rwl), oltpparams(2rwl), oltpconnect(2rwl) From fba1bc466ab7c51679f83dc9d1b8fa47029631e5 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 4 Jun 2024 15:51:13 +0000 Subject: [PATCH 060/118] Better RWL-322 description --- src/rwlerror.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/rwlerror.h b/src/rwlerror.h index 253d19d3..311b0874 100644 --- a/src/rwlerror.h +++ b/src/rwlerror.h @@ -1815,9 +1815,10 @@ RWLERROR("nostatistics has no effect here", RWL_ERROR_WARNING) RWLEDESC("The nostatistics statement only has an effect inside a declared proedure") #define RWL_ERROR_CONTROL_C_BREAK 322 -RWLERROR("RWL-322: user requested break" RWL_LINEEND -, RWL_ERROR_RUNTIME|RWL_ERROR_RWLDASH) -RWLEDESC("The $ora01013:break option is in effect and ctrl-c has caused a break") +RWLERROR("RWL-322: user requested break" RWL_LINEEND, RWL_ERROR_RUNTIME|RWL_ERROR_RWLDASH) +RWLEDESC("The $ora01013:break directive is in effect and ctrl-c has caused a break." RWL_LINEEND +"You need to also have a $ora01013:reset directive later in your rwl program" RWL_LINEEND +"to allow any clean up procedures to be called") // When adding new errors, add them before these lines // and make sure the #define follows a format like From 6e6474a0922113b980591bbbdabaac6bf5cc5e8c Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 6 Jun 2024 12:29:18 +0000 Subject: [PATCH 061/118] Add -uno to git status to speed up rwlwatermark.sh --- docs/ERRORLIST.md | 4 +++- src/rwlwatermark.sh | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/ERRORLIST.md b/docs/ERRORLIST.md index 7eed42cb..13efb91f 100644 --- a/docs/ERRORLIST.md +++ b/docs/ERRORLIST.md @@ -1311,7 +1311,9 @@ error. The nostatistics statement only has an effect inside a declared proedure. ### RWL-322 error: "user requested break" -The $ora01013:break option is in effect and ctrl-c has caused a break. +The $ora01013:break directive is in effect and ctrl-c has caused a break. +You need to also have a $ora01013:reset directive later in your rwl program +to allow any clean up procedures to be called. ### RWL-600 internal error: '%s' An abnormal situation caused an internal error in rwloadsim. diff --git a/src/rwlwatermark.sh b/src/rwlwatermark.sh index d2f7c167..93837fcb 100755 --- a/src/rwlwatermark.sh +++ b/src/rwlwatermark.sh @@ -8,6 +8,7 @@ # # History # +# bengsig 6-jun-2021 Add -uno to speed up git status # bengsig 27-sep-2021 Write to directory # bengsig 09-feb-2021 Creation @@ -40,7 +41,7 @@ then then # git directory is there and git command is found - (cd ..; git status; git log -1 --format='%H') 2>/dev/null | sed 's/[\\"]/ /g' | while read x + (cd ..; git status -uno; git log -1 --format='%H') 2>/dev/null | sed 's/[\\"]/ /g' | while read x do printf '"rwlwatermark: %s\\n"\n' "$x" done >> $fil From 75b6851b1bf65be25065a03c8f19e8e58c89fa7f Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 10 Jun 2024 14:25:33 +0000 Subject: [PATCH 062/118] Add (experimental) hcc table to mtit --- oltp/mtit_create.rwl | 26 +++++++++++++++++++++++++- oltp/mtit_declarations.rwl | 16 ++++++++++++++-- oltp/mtit_drop.sql | 7 +++++++ oltp/mtit_grant.sql | 7 +++++++ oltp/mtit_synonym.sql | 7 +++++++ oltp/mtit_truncate.rwl | 7 +++++++ 6 files changed, 67 insertions(+), 3 deletions(-) diff --git a/oltp/mtit_create.rwl b/oltp/mtit_create.rwl index 7b5559a7..0ca17fff 100644 --- a/oltp/mtit_create.rwl +++ b/oltp/mtit_create.rwl @@ -10,6 +10,7 @@ # mtit_create.rwl - Create Max Throughput Insert Tranaction # # History +# bengsig 10-jun-2023 - add hcc, no index table # bengsig 5-sep-2023 - mtit_create.sql -> mtit_create.rwl # bengsig 13-jun-2023 - set sequence max to 2^63 to fit in sb8 # bengsig 10-may-2023 - Creation @@ -30,6 +31,27 @@ execute at rwl_aw ) / + printline "creating aw_mtit_hcc\nORA-64307 is expected when not on Exadata"; + create table aw_mtit_hcc + ( seq number not null + , rno number not null + , val number not null + , payload varchar2(2000) + ) + compress for query high + / + + if oraerror then + printline "creating alternative aw_mtit_hcc without hcc"; + create table aw_mtit_hcc + ( seq number not null + , rno number not null + , val number not null + , payload varchar2(2000) + ) + / + end if; + printline "creating aw_mtit_ix"; create table aw_mtit_ix ( seq number not null @@ -70,11 +92,13 @@ execute at rwl_aw select index_name from user_indexes where table_name = 'AW_MTIT_REVIXEMPTY'; alter index &index_name. rename to AW_MTIT_PKEMPTY; - printline "creating sequences"; create sequence aw_mtit_seq_small cache 20 maxvalue 9223372036854775800 / + create sequence aw_mtit_seq_hcc cache 20000 maxvalue 9223372036854775800 + / + create sequence aw_mtit_seq_large cache 20000 maxvalue 9223372036854775800 / diff --git a/oltp/mtit_declarations.rwl b/oltp/mtit_declarations.rwl index 1e130173..413a3d91 100644 --- a/oltp/mtit_declarations.rwl +++ b/oltp/mtit_declarations.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 10-jun-2024 - Add hcc table # bengsig 30-may-2024 - loadfactor used to mute threads # bengsig 17-apr-2024 - no stats when idling # bengsig 12-apr-2024 - Do gather stats @@ -118,6 +119,9 @@ procedure mtit_set_type() nostatistics elseif mtit_type%100 = 5 then mtit_tab := "aw_mtit_ix"; mtit_seq := "aw_mtit_seq_scale"; mtit_type_text := "std ix, scl seq" seqplace; + elseif mtit_type%100 = 7 then + mtit_tab := "aw_mtit_hcc"; mtit_seq := "aw_mtit_seq_hcc"; + mtit_type_text := "no ix hcc" seqplace; else mtit_tab := "aw_mtit_noix"; mtit_seq := "aw_mtit_seq_small"; mtit_type_text := "bad type=" mtit_type ": no ix, sml seq" seqplace; @@ -179,7 +183,11 @@ $endif wait 1; else for rno := 1 .. mtit_rows_per_exec loop - val := uniform(0.0,1000.0); + if mtit_type%100 != 7 then + val := uniform(0.0,1000.0); + else + val := round(uniform(0,1000)); + end if; sprintf payload, "%05d-%s-%05d", uniform(0,99999), ovid2load, uniform(0,99999); mtit_ins_sql; mtit_count_ins_rows(); @@ -222,7 +230,11 @@ $endif end if; for iii := 0 .. mtit_rows_per_exec-1 loop - val := uniform(0.0,1000.0); + if mtit_type%100 != 7 then + val := uniform(0.0,1000.0); + else + val := round(uniform(0,1000)); + end if; sprintf payload, "%05d-%s-%05d", uniform(0,99999), ovid2load, uniform(0,99999); # this is the format of rno which should give a # high contention risk diff --git a/oltp/mtit_drop.sql b/oltp/mtit_drop.sql index 648b8825..ce76f45d 100644 --- a/oltp/mtit_drop.sql +++ b/oltp/mtit_drop.sql @@ -10,12 +10,16 @@ rem Name rem mtit_drop.sql - Drop Max Throughput Insert Tranaction objects rem rem History +rem bengsig 10-jun-2024 - hcc rem bengsig 9-sep-2023 - rename seq rem bengsig 10-may-2023 - Creation drop table aw_mtit_noix purge / +drop table aw_mtit_hcc purge +/ + drop table aw_mtit_ix purge / @@ -34,6 +38,9 @@ drop sequence aw_mtit_seq_small drop sequence aw_mtit_seq_large / +drop sequence aw_mtit_seq_hcc +/ + drop sequence aw_mtit_seq_large2rev / diff --git a/oltp/mtit_grant.sql b/oltp/mtit_grant.sql index 7f160e91..cb3b881f 100644 --- a/oltp/mtit_grant.sql +++ b/oltp/mtit_grant.sql @@ -10,8 +10,12 @@ rem Name rem mtit_grant.sql - Grant MTIT rem rem History +rem bengsig 10-jun-2024 - Add HCC rem bengsig 10-may-2023 - Creation +grant all on aw_mtit_hcc to &&1 +/ + grant all on aw_mtit_noix to &&1 / @@ -39,6 +43,9 @@ grant all on aw_mtit_seq_large to &&1 grant all on aw_mtit_seq_large2rev to &&1 / +grant all on aw_mtit_seq_hcc to &&1 +/ + grant all on aw_mtit_seq_scale to &&1 / diff --git a/oltp/mtit_synonym.sql b/oltp/mtit_synonym.sql index 4144d52b..312f1205 100644 --- a/oltp/mtit_synonym.sql +++ b/oltp/mtit_synonym.sql @@ -10,8 +10,12 @@ rem Name rem mtit_create.sql - Create mtit synonyms rem rem History +rem bengsig 10-jun-2024 - Hcc rem bengsig 10-may-2023 - Creation +create or replace synonym aw_mtit_hcc for &&1..aw_mtit_hcc +/ + create or replace synonym aw_mtit_noix for &&1..aw_mtit_noix / @@ -36,6 +40,9 @@ create or replace synonym aw_mtit_seq_small for &&1..aw_mtit_seq_small create or replace synonym aw_mtit_seq_large2rev for &&1..aw_mtit_seq_large2rev / +create or replace synonym aw_mtit_seq_hcc for &&1..aw_mtit_seq_hcc +/ + create or replace synonym aw_mtit_seq_large for &&1..aw_mtit_seq_large / diff --git a/oltp/mtit_truncate.rwl b/oltp/mtit_truncate.rwl index c61b90e2..799fd512 100644 --- a/oltp/mtit_truncate.rwl +++ b/oltp/mtit_truncate.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 10-jun-2024 - Also hcc # bengsig 5-sep-2023 - revix gets filled # bengsig 23-apr-2023 - Creation @@ -15,6 +16,9 @@ execute at rwl_aw printline "Truncating mtit tables, restart sequences"; + truncate table aw_mtit_hcc + / + truncate table aw_mtit_noix reuse storage / @@ -33,6 +37,9 @@ execute at rwl_aw alter sequence aw_mtit_seq_large restart / + alter sequence aw_mtit_seq_hcc restart + / + alter sequence aw_mtit_seq_scale restart / From db46f9b93c34f7fa8469192c9ddbf42a2b44abe5 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 10 Jun 2024 16:08:59 +0000 Subject: [PATCH 063/118] Correct synonym --- oltp/mtit_synonym.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/oltp/mtit_synonym.sql b/oltp/mtit_synonym.sql index 312f1205..cdd595b4 100644 --- a/oltp/mtit_synonym.sql +++ b/oltp/mtit_synonym.sql @@ -10,7 +10,7 @@ rem Name rem mtit_create.sql - Create mtit synonyms rem rem History -rem bengsig 10-jun-2024 - Hcc +rem bengsig 10-jun-2024 - Hcc, correct synonym rem bengsig 10-may-2023 - Creation create or replace synonym aw_mtit_hcc for &&1..aw_mtit_hcc @@ -22,7 +22,7 @@ create or replace synonym aw_mtit_noix for &&1..aw_mtit_noix create or replace synonym aw_mtit_ix for &&1..aw_mtit_ix / -create or replace synonym aw_mtit_revixempty for &&1..aw_mtit_revix +create or replace synonym aw_mtit_revixempty for &&1..aw_mtit_revixempty / create or replace synonym aw_mtit_revix for &&1..aw_mtit_revix From 6e68b46355f3db5cce008f38b99fcf228658e882 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 13 Jun 2024 10:26:29 +0000 Subject: [PATCH 064/118] call exec rwloadsimNN via PATH rather than full pathname --- bin/rwloadsim | 9 +- docs/refman/rwloadsim.html | 18 +- man/man1rwl/rwloadsim.1rwl | 7 + oltp/tags | 835 +++++++++++++++++++------------------ 4 files changed, 453 insertions(+), 416 deletions(-) diff --git a/bin/rwloadsim b/bin/rwloadsim index 1d9b3d17..55e3e081 100755 --- a/bin/rwloadsim +++ b/bin/rwloadsim @@ -11,6 +11,7 @@ # # History # +# bengsig 13-jun-2023 - exec line wihtout full path # bengsig 4-jan-2023 - Add version 23 # bengsig 23-dec-2020 - Desupport release 20 (see rwl.h) # bengsig 17-dec-2020 - Add release 21 @@ -68,13 +69,15 @@ then exit 1 fi -# Do our own search such that the full path is used -# in the exec command line +# Do our own search so that we can do our own error reporting +# in case of missing rwloadsimNN in PATH for dir in `echo $PATH | sed 's/:/ /g'` do if test -x "$dir"/$rwloadsim then - exec "$dir"/$rwloadsim "$@" + # We used to have full path, but just name makes + # e.g. ps and top nicer + exec $rwloadsim "$@" fi done diff --git a/docs/refman/rwloadsim.html b/docs/refman/rwloadsim.html index a03de422..54c89f38 100644 --- a/docs/refman/rwloadsim.html +++ b/docs/refman/rwloadsim.html @@ -1,5 +1,5 @@ - + @@ -32,6 +32,7 @@

    rwloadsim

    LIMITS
    VI TAGS
    EXIT VALUE
    +NOTES
    BUGS
    COPYRIGHT
    SEE ALSO
    @@ -995,6 +996,21 @@

    EXIT VALUE any errors during runtime are seen. If your rwloadsim program does an explicit exit, that value will be used.

    +

    NOTES + +

    + + +

    The rwloadsim +command is a shell script that searches for the Oracle +client library in LD_LIBRARY_PATH and then attemps calling +the actual rwloadsimNN executable where NN is a major +version number such as 19 or 23. This ensures the correct +executable is called with the appropriate Oracle client +library and also allows error reporting in case of +mismatches. You can alternatively call rwloadsimNN directly, +which bypasses these checks.

    +

    BUGS

    diff --git a/man/man1rwl/rwloadsim.1rwl b/man/man1rwl/rwloadsim.1rwl index f9830f76..6e8e9c02 100644 --- a/man/man1rwl/rwloadsim.1rwl +++ b/man/man1rwl/rwloadsim.1rwl @@ -654,6 +654,13 @@ with the following meaning: 0x1 are severe errors causing immediate stop, 0x2 wh errors are found, 0x4 when minor errors allowing continuation are found, 0x8 when any errors during runtime are seen. If your rwloadsim program does an explicit exit, that value will be used. +.SH NOTES +The rwloadsim command is a shell script that searches for the Oracle client library +in LD_LIBRARY_PATH and then attemps calling the actual rwloadsimNN executable +where NN is a major version number such as 19 or 23. +This ensures the correct executable is called with the appropriate Oracle client +library and also allows error reporting in case of mismatches. +You can alternatively call rwloadsimNN directly, which bypasses these checks. .SH BUGS There are probably bugs. One known bug is that this manual does not have a list of bugs. diff --git a/oltp/tags b/oltp/tags index 9881ae6f..de2dd449 100644 --- a/oltp/tags +++ b/oltp/tags @@ -27,43 +27,43 @@ a8sum col_averages.rwl 26 a9 col_averages.rwl 18 a9cnt col_averages.rwl 36 a9sum col_averages.rwl 27 -above3 csvdata.rwl 784 -aburst_post_factor parameters.rwl 183 -aburst_pre_factor parameters.rwl 182 -aburst_start parameters.rwl 184 -aburst_workers parameters.rwl 181 -actbatch csvdata.rwl 264 +above3 csvdata.rwl 791 +aburst_post_factor parameters.rwl 184 +aburst_pre_factor parameters.rwl 183 +aburst_start parameters.rwl 185 +aburst_workers parameters.rwl 182 +actbatch csvdata.rwl 265 actbatch mtitrun.rwl 83 actbatch run.rwl 561 -action runsys.rwl 51 +action runsys.rwl 52 activeses plotfigures.rwl 56 -actpool csvdata.rwl 264 +actpool csvdata.rwl 265 actpool mtitrun.rwl 83 actpool run.rwl 561 add_inventory oe_handle_products.rwl 57 affinity xcchange.rwl 44 -affinratio mtit_declarations.rwl 195 -ai_atim csvdata.rwl 426 +affinratio mtit_declarations.rwl 208 +ai_atim csvdata.rwl 433 ai_cnt plotrunwetim.rwl 45 -ai_dtim csvdata.rwl 426 +ai_dtim csvdata.rwl 433 ai_et plotrunwetim.rwl 45 -ai_exec csvdata.rwl 424 -ai_sleep_avg parameters.rwl 359 -ai_sleep_fac parameters.rwl 363 -ai_wait csvdata.rwl 424 +ai_exec csvdata.rwl 431 +ai_sleep_avg parameters.rwl 360 +ai_sleep_fac parameters.rwl 364 +ai_wait csvdata.rwl 431 ai_wt plotrunwetim.rwl 45 al1 oe_fillcustomers.rwl 11 al2 oe_fillcustomers.rwl 11 al3 oe_fillcustomers.rwl 11 aosecond plotfigures.rwl 56 approxsize aw_cols.rwl 214 -ashcpu csvdata.rwl 572 +ashcpu csvdata.rwl 579 ashcpu csvmtit.rwl 318 -ashcsv csvdata.rwl 577 +ashcsv csvdata.rwl 584 ashcsv csvmtit.rwl 323 -ashcsvcount csvdata.rwl 658 +ashcsvcount csvdata.rwl 665 ashcsvcount csvmtit.rwl 404 -ashevents csvdata.rwl 608 +ashevents csvdata.rwl 615 ashevents csvmtit.rwl 354 ashstep1 ashstep1.rwl 31 atime plotinfo.rwl 22 @@ -72,38 +72,38 @@ avgd csvmtit.rwl 274 avge csvmtit.rwl 274 avgw histdata.rwl 89 avgw scalefract.rwl 33 -aw_atim csvdata.rwl 426 -aw_cols_256MB_doublings parameters.rwl 146 +aw_atim csvdata.rwl 433 +aw_cols_256MB_doublings parameters.rwl 147 aw_cols_dbl aw_cols.rwl 19 aw_cols_mb_qry aw_cols.rwl 236 -aw_cols_query_factor parameters.rwl 155 +aw_cols_query_factor parameters.rwl 156 aw_cols_size aw_cols.rwl 235 aw_cols_size aw_sizeinfo.rwl 17 -aw_cols_skew parameters.rwl 153 -aw_dtim csvdata.rwl 426 -aw_exec csvdata.rwl 424 +aw_cols_skew parameters.rwl 154 +aw_dtim csvdata.rwl 433 +aw_exec csvdata.rwl 431 aw_instances aw_declarations.rwl 123 -aw_instances parameters.rwl 166 +aw_instances parameters.rwl 167 aw_myinst aw_declarations.rwl 125 -aw_sleep_avg parameters.rwl 359 -aw_sleep_fac parameters.rwl 362 +aw_sleep_avg parameters.rwl 360 +aw_sleep_fac parameters.rwl 363 aw_stats aw_cols.rwl 228 aw_transaction aw_declarations.rwl 131 -aw_transaction_weight parameters.rwl 111 +aw_transaction_weight parameters.rwl 112 aw_transactions_made aw_declarations.rwl 22 aw_truncate aw_truncate.rwl 13 -aw_verbose parameters.rwl 159 -aw_wait csvdata.rwl 424 +aw_verbose parameters.rwl 160 +aw_wait csvdata.rwl 431 awc_parallel aw_cols.rwl 189 awindex_query aw_declarations.rwl 324 -awindex_query_weight parameters.rwl 112 +awindex_query_weight parameters.rwl 113 awlen aw_declarations.rwl 322 awqry aw_declarations.rwl 333 -awrbb_tim runsys.rwl 180 -awrbe_tim runsys.rwl 180 -awrdirectory parameters.rwl 277 -awreb_tim runsys.rwl 180 -awree_tim runsys.rwl 180 +awrbb_tim runsys.rwl 182 +awrbe_tim runsys.rwl 182 +awrdirectory parameters.rwl 278 +awreb_tim runsys.rwl 182 +awree_tim runsys.rwl 182 awrinfo oltpawr.rwl 112 awrinfo oltpawr.rwl 99 awrline oltpawr.rwl 55 @@ -115,32 +115,32 @@ b_rwnum aw_declarations.rwl 25 b_tokid aw_declarations.rwl 24 b_val aw_declarations.rwl 27 badplan xcchange.rwl 29 -batch_connect parameters.rwl 298 -batch_type parameters.rwl 299 -bb csvdata.rwl 181 +batch_connect parameters.rwl 299 +batch_type parameters.rwl 300 +bb csvdata.rwl 182 bb csvmtit.rwl 157 bb oltpawr.rwl 228 -be csvdata.rwl 181 +be csvdata.rwl 182 be csvmtit.rwl 157 be oltpawr.rwl 228 begawrsql oltpawr.rwl 26 beginawr oltpawr.rwl 85 begsnap oltpawr.rwl 19 begtime cstorm_implementation.rwl 57 -begtime csvdata.rwl 782 -bgcpu csvdata.rwl 104 +begtime csvdata.rwl 789 +bgcpu csvdata.rwl 105 bgcpu csvmtit.rwl 83 bgcpu plotfigures.rwl 87 bgcpu timemodel.rwl 111 bt cstorm_implementation.rwl 46 btim cstorm_implementation.rwl 76 bucktim histdata.rwl 30 -burst_factor parameters.rwl 172 -burst_length parameters.rwl 171 -burst_repeat parameters.rwl 173 -burst_start parameters.rwl 170 +burst_factor parameters.rwl 173 +burst_length parameters.rwl 172 +burst_repeat parameters.rwl 174 +burst_start parameters.rwl 171 c aw_declarations.rwl 328 -calf csvdata.rwl 279 +calf csvdata.rwl 280 call_failure run_user.rwl 17 call_real run.rwl 122 call_real_or_timeout run.rwl 139 @@ -153,10 +153,11 @@ cid oe_fillcustomers.rwl 8 cid oe_fillproducts.rwl 11 cliaft timemodel.rwl 112 clibef timemodel.rwl 112 +clientepoch checkepoch.rwl 20 clim oe_fillcustomers.rwl 12 -clisys csvdata.rwl 263 +clisys csvdata.rwl 264 clisys csvmtit.rwl 222 -cliusr csvdata.rwl 263 +cliusr csvdata.rwl 264 cliusr csvmtit.rwl 222 clo aw_declarations.rwl 327 cnt aw_cols.rwl 210 @@ -185,8 +186,9 @@ cntl oe_handle_orders.rwl 694 comment aw_cols.rwl 29 complex_count oe_handle_orders.rwl 686 complex_query oe_handle_orders.rwl 688 -complex_query_weight parameters.rwl 109 +complex_query_weight parameters.rwl 110 complex_sum oe_handle_orders.rwl 685 +con oltp.rwl 41 cone aw_declarations.rwl 327 could_not_ship oe_handle_orders.rwl 378 count1 histdata.rwl 30 @@ -205,48 +207,48 @@ count7 histdata.rwl 30 count7 plotruntp.rwl 43 count8 histdata.rwl 30 count8 plotruntp.rwl 43 -countentries csvdata.rwl 99 +countentries csvdata.rwl 100 countentries csvmtit.rwl 78 countres plotfigures.rwl 28 country oe_fillcustomers.rwl 42 cpusec xcchange.rwl 30 -cq_atim csvdata.rwl 426 -cq_dtim csvdata.rwl 425 -cq_exec csvdata.rwl 423 -cq_wait csvdata.rwl 424 +cq_atim csvdata.rwl 433 +cq_dtim csvdata.rwl 432 +cq_exec csvdata.rwl 430 +cq_wait csvdata.rwl 431 create_aw_cols aw_cols.rwl 55 create_aw_seq aw_cols.rwl 51 -cruser_connect parameters.rwl 283 -cruser_password parameters.rwl 285 +cruser_connect parameters.rwl 284 +cruser_password parameters.rwl 286 cruser_username command line 1 -cruser_username parameters.rwl 284 +cruser_username parameters.rwl 285 cruserdb cruserdb.rwl 8 -cstorm_period parameters.rwl 232 -cstorm_start parameters.rwl 231 -cstorm_threads parameters.rwl 230 -cstorm_xtra_logons parameters.rwl 233 -cstorm_xtra_period parameters.rwl 236 -cstorm_xtra_rate parameters.rwl 234 -cstorm_xtra_start parameters.rwl 235 -csvline csvdata.rwl 567 +cstorm_period parameters.rwl 233 +cstorm_start parameters.rwl 232 +cstorm_threads parameters.rwl 231 +cstorm_xtra_logons parameters.rwl 234 +cstorm_xtra_period parameters.rwl 237 +cstorm_xtra_rate parameters.rwl 235 +cstorm_xtra_start parameters.rwl 236 +csvline csvdata.rwl 574 csvline csvmtit.rwl 17 csvname scalefract.rwl 21 ctwo aw_declarations.rwl 327 -cursor_cache_size parameters.rwl 67 +cursor_cache_size parameters.rwl 68 cursorleak xcchange.rwl 23 customer_id oe_handle_orders.rwl 383 customer_id oe_handle_orders.rwl 623 customer_id oe_handle_orders.rwl 752 customer_id oe_handle_orders.rwl 83 -d csvdata.rwl 624 +d csvdata.rwl 631 d csvmtit.rwl 370 d_fill aw_declarations.rwl 28 d_rwnum aw_declarations.rwl 25 d_tokid aw_declarations.rwl 24 d_val aw_declarations.rwl 27 -datediff csvdata.rwl 55 +datediff csvdata.rwl 56 datediff csvmtit.rwl 34 -dbcpu csvdata.rwl 104 +dbcpu csvdata.rwl 105 dbcpu csvmtit.rwl 83 dbcpu plotfigures.rwl 87 dbcpu timemodel.rwl 109 @@ -256,7 +258,7 @@ dbid oltpawr.rwl 19 dbl aw_cols.rwl 210 dbname prepare.rwl 76 dbtim timemodel.rwl 110 -dbtime csvdata.rwl 104 +dbtime csvdata.rwl 105 dbtime csvmtit.rwl 83 dbtime plotfigures.rwl 87 dbtimesum plotfigures.rwl 22 @@ -265,52 +267,52 @@ ddl aw_cols.rwl 29 ddl create_schemas.rwl 19 ddl drop_schemas.rwl 15 debug_products oe_handle_products.rwl 12 -default_tablespace parameters.rwl 289 -delay_length parameters.rwl 188 -delay_max_pool parameters.rwl 191 -delay_min_pool parameters.rwl 190 -delay_start parameters.rwl 189 +default_tablespace parameters.rwl 290 +delay_length parameters.rwl 189 +delay_max_pool parameters.rwl 192 +delay_min_pool parameters.rwl 191 +delay_start parameters.rwl 190 deltmpitem oepartalloc.rwl 43 deltmpord oepartalloc.rwl 37 descl oe_handle_orders.rwl 752 -dfac mtit_create.rwl 104 +dfac mtit_create.rwl 128 disable_bloom oltpawr.rwl 48 -dist_count runsys.rwl 49 -dist_inst runsys.rwl 49 -dist_usrn runsys.rwl 50 +dist_count runsys.rwl 50 +dist_inst runsys.rwl 50 +dist_usrn runsys.rwl 51 do_hardparse oe_handle_orders.rwl 194 -doawr parameters.rwl 225 +doawr parameters.rwl 226 doeither run.rwl 153 -dontdo_batch1 parameters.rwl 422 -dontdo_batch2 parameters.rwl 423 -dontdo_batch3 parameters.rwl 424 -dontdo_batch4 parameters.rwl 425 -dontdolong parameters.rwl 96 +dontdo_batch1 parameters.rwl 423 +dontdo_batch2 parameters.rwl 424 +dontdo_batch3 parameters.rwl 425 +dontdo_batch4 parameters.rwl 426 +dontdolong parameters.rwl 97 doociping run.rwl 264 -doosstat parameters.rwl 227 +doosstat parameters.rwl 228 drop_aw_cols aw_cols.rwl 41 drop_aw_seq aw_cols.rwl 46 dropuser drop_schemas.rwl 13 dtime plotinfo.rwl 22 duping runping.rwl 34 eatcpu eatcpu.rwl 9 -eb csvdata.rwl 181 +eb csvdata.rwl 182 eb csvmtit.rwl 157 eb oltpawr.rwl 228 ecount ashstep1.rwl 34 -ee csvdata.rwl 181 +ee csvdata.rwl 182 ee csvmtit.rwl 157 ee oltpawr.rwl 228 email oe_fillcustomers.rwl 13 -end1 csvdata.rwl 782 -end2 csvdata.rwl 782 -end3 csvdata.rwl 782 +end1 csvdata.rwl 789 +end2 csvdata.rwl 789 +end3 csvdata.rwl 789 endawr oltpawr.rwl 93 endawrsql oltpawr.rwl 39 endsnap oltpawr.rwl 19 -endt csvdata.rwl 782 +endt csvdata.rwl 789 endtime cstorm_implementation.rwl 58 -endtime csvdata.rwl 782 +endtime csvdata.rwl 789 entries csvmtit.rwl 301 entries mtitplotwe.rwl 28 entries plotfigures.rwl 29 @@ -318,19 +320,19 @@ entries plotruntp.rwl 25 entries plotrunwetim.rwl 25 enum ashstep1.rwl 51 envline kommentops.rwl 18 -err1 csvdata.rwl 786 -err2 csvdata.rwl 786 -err3 csvdata.rwl 786 -errcnt csvdata.rwl 784 +err1 csvdata.rwl 793 +err2 csvdata.rwl 793 +err3 csvdata.rwl 793 +errcnt csvdata.rwl 791 errnum cstorm_implementation.rwl 60 -errnum csvdata.rwl 783 -errt csvdata.rwl 786 +errnum csvdata.rwl 790 +errt csvdata.rwl 793 errtxt cstorm_implementation.rwl 61 -errtxt csvdata.rwl 785 -esum csvdata.rwl 574 +errtxt csvdata.rwl 792 +esum csvdata.rwl 581 esum csvmtit.rwl 320 event ashstep1.rwl 33 -event csvdata.rwl 600 +event csvdata.rwl 607 event csvmtit.rwl 346 everyuntil "program startup" 0 evgroup ashstep1.rwl 36 @@ -342,13 +344,14 @@ filnam x2range.rwl 24 finishtime prepare.rwl 21 first1530 aw_cols.rwl 83 first_instances oerhtmlday.rwl 25 -fix_cursorleak parameters.rwl 339 -fix_hardparse parameters.rwl 338 -fix_logoffrate parameters.rwl 340 +fix_cursorleak parameters.rwl 340 +fix_hardparse parameters.rwl 339 +fix_logoffrate parameters.rwl 341 fna oe_fillcustomers.rwl 9 -forever_proccount parameters.rwl 79 +forever_proccount parameters.rwl 80 forg plotinfo.rwl 41 found kommentops.rwl 17 +fulldate checkepoch.rwl 18 fulldir kommentops.rwl 20 fullname prepare.rwl 70 fulltitle prepare.rwl 14 @@ -364,60 +367,60 @@ getawrglobal oltpawr.rwl 74 getawrhtml oltpawr.rwl 66 getawrtext oltpawr.rwl 58 getdbname prepare.rwl 78 -getpoolsizes runsys.rwl 94 +getpoolsizes runsys.rwl 95 getrdate prepare.rwl 29 getres_sql csvmtit.rwl 234 getres_sql mtitplotwe.rwl 43 getres_sql plotrunwetim.rwl 48 -globalawr parameters.rwl 226 -gnuplotjs parameters.rwl 268 +globalawr parameters.rwl 227 +gnuplotjs parameters.rwl 269 goodcount plotinfo.rwl 42 grab_session run.rwl 134 grp check_directories.rwl 10 hadit oerhtmlday.rwl 92 -halfperiod parameters.rwl 428 +halfperiod parameters.rwl 429 hardparse xcchange.rwl 26 heartbeat run.rwl 256 -highcount csvdata.rwl 660 +highcount csvdata.rwl 667 highcount csvmtit.rwl 406 highinst csvmtit.rwl 471 histrow histdata.rwl 71 htmlformat mtit_showparam.rwl 9 -htmlline csvdata.rwl 757 +htmlline csvdata.rwl 764 htmlxtra oltpawr.rwl 81 htmlxtrawrap oltpawr.rwl 82 human parameters2shell.rwl 25 i /home/bengsig/rwloadsim/public/ovid2.rwl 7077 i aw_cols.rwl 210 -i1 csvdata.rwl 241 +i1 csvdata.rwl 242 i1 csvmtit.rwl 200 i1 instdist.rwl 12 i1 oerhtmlday.rwl 17 -i2 csvdata.rwl 241 +i2 csvdata.rwl 242 i2 csvmtit.rwl 200 i2 instdist.rwl 12 i2 oerhtmlday.rwl 17 -i3 csvdata.rwl 241 +i3 csvdata.rwl 242 i3 csvmtit.rwl 200 i3 instdist.rwl 12 i3 oerhtmlday.rwl 17 -i4 csvdata.rwl 241 +i4 csvdata.rwl 242 i4 csvmtit.rwl 200 i4 instdist.rwl 12 i4 oerhtmlday.rwl 17 -i5 csvdata.rwl 241 +i5 csvdata.rwl 242 i5 csvmtit.rwl 200 i5 instdist.rwl 12 i5 oerhtmlday.rwl 17 -i6 csvdata.rwl 241 +i6 csvdata.rwl 242 i6 csvmtit.rwl 200 i6 instdist.rwl 12 i6 oerhtmlday.rwl 17 -i7 csvdata.rwl 241 +i7 csvdata.rwl 242 i7 csvmtit.rwl 200 i7 instdist.rwl 12 i7 oerhtmlday.rwl 17 -i8 csvdata.rwl 241 +i8 csvdata.rwl 242 i8 csvmtit.rwl 200 i8 instdist.rwl 12 i8 oerhtmlday.rwl 17 @@ -428,10 +431,10 @@ ientries plotfigures.rwl 29 ientries plotruntp.rwl 25 ientries plotrunwetim.rwl 25 ignore_parsefailure xcchange.rwl 28 -iii mtit_declarations.rwl 195 -inacdist runsys.rwl 45 -inacdistfile runsys.rwl 41 -index_name mtit_create.rwl 22 +iii mtit_declarations.rwl 208 +inacdist runsys.rwl 46 +inacdistfile runsys.rwl 42 +index_name mtit_create.rwl 23 input col_averages.rwl 17 ins_awrtim oltpawr.rwl 232 ins_customer oe_fillcustomers.rwl 20 @@ -445,7 +448,7 @@ ins_xin_sql aw_declarations.rwl 86 ins_xtr_sql aw_declarations.rwl 104 insevname ashstep1.rwl 53 insinv oe_fillwarehouses.rwl 36 -inspoolsizes runsys.rwl 129 +inspoolsizes runsys.rwl 131 insrwlcpu mtitrun.rwl 86 insrwlcpu run.rwl 564 inst oerhtml.rwl 17 @@ -457,7 +460,7 @@ inst5 plotfigures.rwl 71 inst6 plotfigures.rwl 71 inst7 plotfigures.rwl 71 inst8 plotfigures.rwl 71 -inst_dist_sql runsys.rwl 52 +inst_dist_sql runsys.rwl 53 instdist_get instdist.rwl 14 instdist_qry instdist.rwl 18 instdist_sav instdist.rwl 47 @@ -470,7 +473,7 @@ inum instdist.rwl 16 inv_rowid oe_handle_orders.rwl 450 inv_rowid oe_handle_products.rwl 63 invoices_made oe_handle_orders.rwl 621 -ioer csvdata.rwl 494 +ioer csvdata.rwl 501 isecond plotfigures.rwl 71 isgood check_directories.rwl 14 isys1 timemodel.rwl 244 @@ -493,7 +496,8 @@ iusr8 timemodel.rwl 243 key check_for_key.rwl 12 key oerhtmlday.rwl 11 key scalefract.rwl 16 -key_to_show parameters.rwl 38 +key_to_show parameters.rwl 39 +keyring_password oltp.rwl 41 killmsg xc_implementation.rwl 310 kom check_for_key.rwl 15 komment kommentops.rwl 18 @@ -501,78 +505,78 @@ komment oerhtmlday.rwl 11 l /home/bengsig/rwloadsim/public/ovid2.rwl 7090 l_afty xc_implementation.rwl 52 l_afty xcdefault.rwl 20 -l_afty xcvalues.rwl 29 +l_afty xcvalues.rwl 30 l_arrs xc_implementation.rwl 54 l_arrs xcdefault.rwl 22 -l_arrs xcvalues.rwl 31 +l_arrs xcvalues.rwl 32 l_badp xc_implementation.rwl 52 l_badp xcdefault.rwl 20 -l_badp xcvalues.rwl 29 +l_badp xcvalues.rwl 30 l_ccch xc_implementation.rwl 53 l_ccch xcdefault.rwl 21 -l_ccch xcvalues.rwl 30 +l_ccch xcvalues.rwl 31 l_csec xc_implementation.rwl 52 l_csec xcdefault.rwl 20 -l_csec xcvalues.rwl 29 +l_csec xcvalues.rwl 30 l_curl xc_implementation.rwl 52 l_curl xcdefault.rwl 20 -l_curl xcvalues.rwl 29 +l_curl xcvalues.rwl 30 l_hard xc_implementation.rwl 52 l_hard xcdefault.rwl 20 -l_hard xcvalues.rwl 29 +l_hard xcvalues.rwl 30 l_igpf xc_implementation.rwl 55 l_igpf xcdefault.rwl 23 -l_igpf xcvalues.rwl 32 +l_igpf xcvalues.rwl 33 l_key xc_implementation.rwl 250 l_load xc_implementation.rwl 52 l_load xcdefault.rwl 20 -l_load xcvalues.rwl 29 +l_load xcvalues.rwl 30 l_lofr xc_implementation.rwl 52 l_lofr xcdefault.rwl 20 -l_lofr xcvalues.rwl 29 +l_lofr xcvalues.rwl 30 l_maxp xc_implementation.rwl 53 l_maxp xcdefault.rwl 21 -l_maxp xcvalues.rwl 30 +l_maxp xcvalues.rwl 31 l_minp xc_implementation.rwl 53 l_minp xcdefault.rwl 21 -l_minp xcvalues.rwl 30 +l_minp xcvalues.rwl 31 l_mtty xc_implementation.rwl 54 l_mtty xcdefault.rwl 22 -l_mtty xcvalues.rwl 31 -l_npoo xcvalues.rwl 31 +l_mtty xcvalues.rwl 32 +l_npoo xcvalues.rwl 32 l_pcnt xcdefault.rwl 22 -l_pcnt xcvalues.rwl 31 +l_pcnt xcvalues.rwl 32 l_pfail xc_implementation.rwl 52 l_pfail xcdefault.rwl 20 -l_pfail xcvalues.rwl 29 +l_pfail xcvalues.rwl 30 l_price oe_long_session.rwl 12 l_rate xc_implementation.rwl 52 l_rate xcdefault.rwl 20 -l_rate xcvalues.rwl 29 +l_rate xcvalues.rwl 30 l_rc xc_implementation.rwl 56 l_rpin xc_implementation.rwl 54 l_rpin xcdefault.rwl 22 -l_rpin xcvalues.rwl 31 +l_rpin xcvalues.rwl 32 l_sesl xc_implementation.rwl 52 l_sesl xcdefault.rwl 20 -l_sesl xcvalues.rwl 29 +l_sesl xcvalues.rwl 30 l_stop xc_implementation.rwl 53 l_stop xcdefault.rwl 21 -l_stop xcvalues.rwl 30 +l_stop xcvalues.rwl 31 l_wsec xc_implementation.rwl 52 l_wsec xcdefault.rwl 20 -l_wsec xcvalues.rwl 29 -largeashok parameters.rwl 251 +l_wsec xcvalues.rwl 30 +largeashok parameters.rwl 252 lastsec mtitrun.rwl 81 lastsec run.rwl 559 lastsys mtitrun.rwl 81 lastsys run.rwl 559 lastusr mtitrun.rwl 81 lastusr run.rwl 559 -lc csvdata.rwl 624 +lc csvdata.rwl 631 lc csvmtit.rwl 370 lcsec xcdefault.rwl 20 -leaf_blocks mtit_create.rwl 119 +leaf_blocks mtit_create.rwl 143 li oe_handle_orders.rwl 260 line_item_id oe_handle_orders.rwl 116 line_item_id oe_handle_orders.rwl 383 @@ -592,50 +596,50 @@ longdedqry oe_long_session.rwl 60 longpooldml oe_long_session.rwl 65 longpoolqry oe_long_session.rwl 55 longsession oe_long_session.rwl 9 -lowtime csvdata.rwl 782 +lowtime csvdata.rwl 789 lpri oe_fillproducts.rwl 13 m_price oe_long_session.rwl 12 make_invoices oe_handle_orders.rwl 623 make_order oe_handle_orders.rwl 83 makeawr oltpawr.rwl 223 makeinvoices run.rwl 87 -makeinvoices_weight parameters.rwl 108 +makeinvoices_weight parameters.rwl 109 makeorder run.rwl 83 -makeorder_weight parameters.rwl 105 -markerfile csvdata.rwl 39 +makeorder_weight parameters.rwl 106 +markerfile csvdata.rwl 40 markerfile csvmtit.rwl 19 markerfile mtitrun.rwl 25 markerfile run.rwl 77 markerfile xc_implementation.rwl 31 markrunning run.rwl 268 -max_customer parameters.rwl 124 +max_customer parameters.rwl 125 max_item oe_handle_orders.rwl 207 max_order_id oe_handle_orders.rwl 24 max_order_ship oe_handle_orders.rwl 25 -max_product parameters.rwl 123 -max_sessionwait parameters.rwl 64 -max_warehouse parameters.rwl 122 -maxactpool csvdata.rwl 323 -maxdbcpu csvdata.rwl 98 -maxesum csvdata.rwl 575 +max_product parameters.rwl 124 +max_sessionwait parameters.rwl 65 +max_warehouse parameters.rwl 123 +maxactpool csvdata.rwl 324 +maxdbcpu csvdata.rwl 99 +maxesum csvdata.rwl 582 maxesum csvmtit.rwl 321 maxl /home/bengsig/rwloadsim/public/ovid2.rwl 7085 maxo oe_handle_orders.rwl 556 maxpool xcchange.rwl 33 -maxseq mtit_declarations.rwl 195 +maxseq mtit_declarations.rwl 208 maxsessions aw_declarations.rwl 115 maxsql oe_handle_orders.rwl 41 maxtot run.rwl 224 -maxtot runsys.rwl 39 -maxyrange csvdata.rwl 220 +maxtot runsys.rwl 40 +maxyrange csvdata.rwl 221 maxyrange csvmtit.rwl 184 mf xc_implementation.rwl 44 -mfil csvdata.rwl 153 +mfil csvdata.rwl 154 mfil csvmtit.rwl 129 -mi_atim csvdata.rwl 425 -mi_dtim csvdata.rwl 425 -mi_exec csvdata.rwl 423 -mi_wait csvdata.rwl 423 +mi_atim csvdata.rwl 432 +mi_dtim csvdata.rwl 432 +mi_exec csvdata.rwl 430 +mi_wait csvdata.rwl 430 min_order_id oe_handle_orders.rwl 24 min_order_query oe_handle_orders.rwl 26 min_order_ship oe_handle_orders.rwl 25 @@ -647,51 +651,51 @@ minsec plotruntp.rwl 24 minsec plotrunwetim.rwl 24 minsql oe_handle_orders.rwl 34 mkuser create_schemas.rwl 17 -mo_atim csvdata.rwl 425 +mo_atim csvdata.rwl 432 mo_cnt plotrunwetim.rwl 43 -mo_dtim csvdata.rwl 425 +mo_dtim csvdata.rwl 432 mo_et plotrunwetim.rwl 43 -mo_exec csvdata.rwl 423 -mo_sleep_avg parameters.rwl 359 -mo_sleep_fac parameters.rwl 360 -mo_wait csvdata.rwl 423 +mo_exec csvdata.rwl 430 +mo_sleep_avg parameters.rwl 360 +mo_sleep_fac parameters.rwl 361 +mo_wait csvdata.rwl 430 mo_wt plotrunwetim.rwl 43 mpri oe_fillproducts.rwl 14 mrkleft run.rwl 197 mrklen run.rwl 197 -msec csvdata.rwl 152 +msec csvdata.rwl 153 msec csvmtit.rwl 128 msg run_user.rwl 17 -msping csvdata.rwl 104 +msping csvdata.rwl 105 msping csvmtit.rwl 83 msping plotfigures.rwl 87 msping runping.rwl 34 msping timemodel.rwl 112 -mtim csvdata.rwl 151 +mtim csvdata.rwl 152 mtim csvmtit.rwl 127 -mtit xcvalues.rwl 22 -mtit_affinity parameters.rwl 372 -mtit_array_size parameters.rwl 370 -mtit_count_ins_rows mtit_declarations.rwl 70 -mtit_get_seq mtit_declarations.rwl 135 -mtit_initialize mtit_declarations.rwl 59 -mtit_ins_rows mtit_declarations.rwl 127 -mtit_ins_sql mtit_declarations.rwl 139 -mtit_instance mtit_declarations.rwl 58 -mtit_max_payload mtit_declarations.rwl 56 -mtit_rev_double parameters.rwl 375 -mtit_rows_per_exec parameters.rwl 369 -mtit_seq mtit_declarations.rwl 74 -mtit_set_type mtit_declarations.rwl 76 -mtit_tab mtit_declarations.rwl 74 -mtit_threads parameters.rwl 368 -mtit_type parameters.rwl 371 -mtit_type_text parameters.rwl 376 -mtit_xc parameters.rwl 374 +mtit xcvalues.rwl 23 +mtit_affinity parameters.rwl 373 +mtit_array_size parameters.rwl 371 +mtit_count_ins_rows mtit_declarations.rwl 72 +mtit_get_seq mtit_declarations.rwl 140 +mtit_initialize mtit_declarations.rwl 61 +mtit_ins_rows mtit_declarations.rwl 132 +mtit_ins_sql mtit_declarations.rwl 144 +mtit_instance mtit_declarations.rwl 60 +mtit_max_payload mtit_declarations.rwl 58 +mtit_rev_double parameters.rwl 376 +mtit_rows_per_exec parameters.rwl 370 +mtit_seq mtit_declarations.rwl 76 +mtit_set_type mtit_declarations.rwl 78 +mtit_tab mtit_declarations.rwl 76 +mtit_threads parameters.rwl 369 +mtit_type parameters.rwl 372 +mtit_type_text parameters.rwl 377 +mtit_xc parameters.rwl 375 mtittype xcchange.rwl 41 -mtxt csvdata.rwl 151 +mtxt csvdata.rwl 152 mtxt csvmtit.rwl 127 -mtyp csvdata.rwl 151 +mtyp csvdata.rwl 152 mtyp csvmtit.rwl 127 my_loop aw_declarations.rwl 112 my_thread aw_declarations.rwl 112 @@ -702,14 +706,14 @@ mydate oerhtmlday.rwl 11 myhost xcchange.rwl 20 myhost xccoreparam.rwl 14 myhost xcdefault.rwl 18 -myhost xcvalues.rwl 20 +myhost xcvalues.rwl 21 myhostname latest.rwl 15 mykey latest.rwl 12 mykey oerhtmlday.rwl 11 mykey xcchange.rwl 19 mykey xccoreparam.rwl 13 mykey xcdefault.rwl 17 -mykey xcvalues.rwl 19 +mykey xcvalues.rwl 20 mykomment mtitplotwe.rwl 20 mykomment plotrunwetim.rwl 17 myproccount xcchange.rwl 35 @@ -726,30 +730,30 @@ nam oe_long_session.rwl 9 newenv kommentops.rwl 56 newkomment kommentops.rwl 14 nextdouble aw_cols.rwl 132 -no_awr_interval csvdata.rwl 42 +no_awr_interval csvdata.rwl 43 nopool xcchange.rwl 37 nopool xccoreparam.rwl 17 -normal_connect parameters.rwl 295 -normal_stddev parameters.rwl 349 -notused csvdata.rwl 495 -num_rows mtit_create.rwl 119 -nvlstring csvdata.rwl 490 +normal_connect parameters.rwl 296 +normal_stddev parameters.rwl 350 +notused csvdata.rwl 502 +num_rows mtit_create.rwl 143 +nvlstring csvdata.rwl 497 o1 oe_handle_orders.rwl 694 o2 oe_handle_orders.rwl 694 -oercount csvdata.rwl 31 +oercount csvdata.rwl 32 oercount csvmtit.rwl 12 -oerheader csvdata.rwl 37 -oerlist csvdata.rwl 36 +oerheader csvdata.rwl 38 +oerlist csvdata.rwl 37 oerlist oerhtmlday.rwl 77 oerlisting oerhtmlday.rwl 75 -oerpivot csvdata.rwl 741 -oerpivotsql csvdata.rwl 538 -oerreverse csvdata.rwl 38 -oerrow csvdata.rwl 491 -oertable csvdata.rwl 760 -oertablesql csvdata.rwl 550 +oerpivot csvdata.rwl 748 +oerpivotsql csvdata.rwl 545 +oerreverse csvdata.rwl 39 +oerrow csvdata.rwl 498 +oertable csvdata.rwl 767 +oertablesql csvdata.rwl 557 offtime cstorm_implementation.rwl 59 -offtime csvdata.rwl 782 +offtime csvdata.rwl 789 oldenv kommentops.rwl 57 olines oerhtmlday.rwl 15 one runping.rwl 30 @@ -758,12 +762,13 @@ only_directories parameters2shell.rwl 19 only_plus parameters2shell.rwl 16 onlyone latest.rwl 22 onrac timemodel.rwl 42 -openbatch csvdata.rwl 264 +openbatch csvdata.rwl 265 openbatch run.rwl 561 -openpool csvdata.rwl 264 +openpool csvdata.rwl 265 openpool mtitrun.rwl 83 openpool run.rwl 561 openses plotfigures.rwl 56 +oraepoch checkepoch.rwl 20 ord_rowid oe_handle_orders.rwl 385 order_date oe_handle_orders.rwl 626 order_date oe_handle_orders.rwl 753 @@ -781,7 +786,7 @@ order_total oe_handle_orders.rwl 695 order_total oe_handle_orders.rwl 754 order_total oe_handle_orders.rwl 89 orderby latest.rwl 21 -orders_hashcount parameters.rwl 132 +orders_hashcount parameters.rwl 133 orders_made oe_handle_orders.rwl 81 ordid oepartalloc.rwl 21 osstat_getres timemodel.rwl 203 @@ -790,7 +795,7 @@ otherterm timemodel.rwl 40 out create_schemas.rwl 15 out_order_id oe_handle_orders.rwl 86 outf scalefract.rwl 24 -ovid2load mtit_declarations.rwl 131 +ovid2load mtit_declarations.rwl 136 ovidarray /home/bengsig/rwloadsim/public/ovid2.rwl 69 ovidstring /home/bengsig/rwloadsim/public/ovid2.rwl 7073 ovidstring2 /home/bengsig/rwloadsim/public/ovid2.rwl 7085 @@ -799,7 +804,7 @@ p_user create_schemas.rwl 17 p_user drop_schemas.rwl 13 parsefailure xcchange.rwl 27 passwords parameters2shell.rwl 22 -payload mtit_declarations.rwl 130 +payload mtit_declarations.rwl 135 pcnt oe_fillproducts.rwl 15 pcode oe_fillcustomers.rwl 14 pcount runtrunc.rwl 40 @@ -821,12 +826,13 @@ pid oe_fillproducts.rwl 8 pid oe_fillwarehouses.rwl 6 pingbegt timemodel.rwl 112 pingcsv runping.rwl 32 -pivotstring csvdata.rwl 492 +pivotstring csvdata.rwl 499 plot_cpu_only plotfigures.rwl 23 plotfigures plotfigures.rwl 25 -plotfil2 csvdata.rwl 34 +plotfil2 csvdata.rwl 35 plotfil2 csvmtit.rwl 15 -plotfile csvdata.rwl 34 +plotfil3 csvdata.rwl 35 +plotfile csvdata.rwl 35 plotfile csvmtit.rwl 15 plotfile histdata.rwl 25 plotfile mtitplotwe.rwl 23 @@ -834,32 +840,32 @@ plotfile plotfigures.rwl 21 plotfile plotruntp.rwl 20 plotfile plotrunwetim.rwl 20 plotfile prepare.rwl 12 -plotfile runsys.rwl 35 -plotline csvdata.rwl 568 +plotfile runsys.rwl 36 +plotline csvdata.rwl 575 plotline csvmtit.rwl 18 -plotorder csvdata.rwl 837 +plotorder csvdata.rwl 844 plotruntp plotruntp.rwl 22 plotweres mtitplotwe.rwl 25 plotweres plotrunwetim.rwl 22 pna oe_fillproducts.rwl 9 -pool_connect parameters.rwl 297 -pool_mb1 runsys.rwl 91 -pool_mb2 runsys.rwl 91 -pool_mb3 runsys.rwl 91 -pool_mb4 runsys.rwl 91 -pool_mb5 runsys.rwl 92 -pool_mb6 runsys.rwl 92 -pool_mb7 runsys.rwl 92 -pool_mb8 runsys.rwl 92 -pool_name runsys.rwl 93 -pool_rs runsys.rwl 91 -pool_size_interval parameters.rwl 273 -pool_type parameters.rwl 296 +pool_connect parameters.rwl 298 +pool_mb1 runsys.rwl 92 +pool_mb2 runsys.rwl 92 +pool_mb3 runsys.rwl 92 +pool_mb4 runsys.rwl 92 +pool_mb5 runsys.rwl 93 +pool_mb6 runsys.rwl 93 +pool_mb7 runsys.rwl 93 +pool_mb8 runsys.rwl 93 +pool_name runsys.rwl 94 +pool_rs runsys.rwl 92 +pool_size_interval parameters.rwl 274 +pool_type parameters.rwl 297 prefinst oltpawr.rwl 123 probystat oe_fillproducts.rwl 64 -proccount parameters.rwl 75 -procminus1 mtit_declarations.rwl 195 -procnumber parameters.rwl 74 +proccount parameters.rwl 76 +procminus1 mtit_declarations.rwl 208 +procnumber parameters.rwl 75 prod_id oe_long_session.rwl 11 product_description oe_handle_orders.rwl 649 product_description oe_handle_orders.rwl 696 @@ -897,17 +903,18 @@ pusr6 timemodel.rwl 199 pusr7 timemodel.rwl 199 pusr8 timemodel.rwl 199 pusrsystim timemodel.rwl 201 +pwd oltp.rwl 44 q aw_cols.rwl 31 -qo_atim csvdata.rwl 426 +qo_atim csvdata.rwl 433 qo_cnt plotrunwetim.rwl 44 -qo_dtim csvdata.rwl 426 +qo_dtim csvdata.rwl 433 qo_et plotrunwetim.rwl 44 -qo_exec csvdata.rwl 424 -qo_sleep_avg parameters.rwl 359 -qo_sleep_fac parameters.rwl 361 -qo_wait csvdata.rwl 424 +qo_exec csvdata.rwl 431 +qo_sleep_avg parameters.rwl 360 +qo_sleep_fac parameters.rwl 362 +qo_wait csvdata.rwl 431 qo_wt plotrunwetim.rwl 44 -qry_awrtim csvdata.rwl 182 +qry_awrtim csvdata.rwl 183 qry_awrtim csvmtit.rwl 158 qrysec timemodel.rwl 125 qtt oe_fillwarehouses.rwl 33 @@ -919,20 +926,20 @@ quantity oe_handle_orders.rwl 758 quantity oe_handle_products.rwl 60 quantity_on_hand oe_handle_orders.rwl 383 quantity_on_hand oe_handle_products.rwl 62 -query_factor parameters.rwl 101 +query_factor parameters.rwl 102 query_order oe_handle_orders.rwl 751 query_order_count oe_handle_orders.rwl 747 query_order_items oe_handle_orders.rwl 748 -query_order_max_limit parameters.rwl 139 +query_order_max_limit parameters.rwl 140 queryorder run.rwl 103 -queryorder_weight parameters.rwl 106 +queryorder_weight parameters.rwl 107 r_key prepare.rwl 23 -rampfactor parameters.rwl 56 +rampfactor parameters.rwl 57 rampup parameters2shell.rwl 78 -ratefactor parameters.rwl 44 -ratefactor_divisor parameters.rwl 402 -ratefactor_multiplier parameters.rwl 400 -rategradient parameters.rwl 51 +ratefactor parameters.rwl 45 +ratefactor_divisor parameters.rwl 403 +ratefactor_multiplier parameters.rwl 401 +rategradient parameters.rwl 52 rcnt xcdefault.rwl 46 rda check_for_key.rwl 16 rdate kommentops.rwl 18 @@ -940,31 +947,31 @@ rdate oerhtmlday.rwl 11 rdate prepare.rwl 20 repchg xc_implementation.rwl 51 rescre create_schemas.rwl 51 -resname csvdata.rwl 342 +resname csvdata.rwl 345 resok timemodel.rwl 114 -results_connect parameters.rwl 292 -results_in_test parameters.rwl 290 -results_password parameters.rwl 294 -results_username parameters.rwl 293 -resultsdir parameters.rwl 278 -retval csvdata.rwl 50 +results_connect parameters.rwl 293 +results_in_test parameters.rwl 291 +results_password parameters.rwl 295 +results_username parameters.rwl 294 +resultsdir parameters.rwl 279 +retval csvdata.rwl 51 retval csvmtit.rwl 29 -rixd mtit_create.rwl 104 +rixd mtit_create.rwl 128 rn runping.rwl 41 rno check_for_key.rwl 14 -rno csvdata.rwl 783 +rno csvdata.rwl 790 rno latest.rwl 30 -rno mtit_declarations.rwl 128 +rno mtit_declarations.rwl 133 rowspins xcchange.rwl 42 run cstorm_implementation.rwl 73 run mtitrun.rwl 65 run run.rwl 293 run runping.rwl 81 -run runsys.rwl 179 +run runsys.rwl 181 run runtrunc.rwl 58 runcstorm_implementation cstorm_implementation.rwl 73 runmtitrun mtitrun.rwl 65 -runno csvdata.rwl 31 +runno csvdata.rwl 32 runno csvmtit.rwl 12 runno histdata.rwl 14 runno markdone.rwl 8 @@ -978,93 +985,95 @@ runno plotrunwetim.rwl 18 runno scalefract.rwl 18 runno subdir.rwl 6 runno x2range.rwl 21 -runperiod parameters.rwl 129 -runplot_width parameters.rwl 241 +runperiod parameters.rwl 130 +runplot_width parameters.rwl 242 runrun run.rwl 293 runrunping runping.rwl 81 -runrunsys runsys.rwl 179 +runrunsys runsys.rwl 181 runruntrunc runtrunc.rwl 58 -runsecmul mtit_declarations.rwl 195 +runsecmul mtit_declarations.rwl 208 rwl_aw aw_user.rwl 14 rwl_aw1 aw_sizeinfo.rwl 11 -rwl_aw1_password parameters.rwl 301 -rwl_aw1_username parameters.rwl 300 -rwl_aw2_password parameters.rwl 303 -rwl_aw2_username parameters.rwl 302 +rwl_aw1_password parameters.rwl 302 +rwl_aw1_username parameters.rwl 301 +rwl_aw2_password parameters.rwl 304 +rwl_aw2_username parameters.rwl 303 rwl_aw_create aw_cols.rwl 13 -rwl_daily_html parameters.rwl 83 -rwl_heading parameters.rwl 81 -rwl_max_batch parameters.rwl 92 -rwl_max_pool parameters.rwl 62 -rwl_min_batch parameters.rwl 91 -rwl_min_pool parameters.rwl 61 -rwl_oe_password parameters.rwl 305 +rwl_daily_html parameters.rwl 84 +rwl_heading parameters.rwl 82 +rwl_max_batch parameters.rwl 93 +rwl_max_pool parameters.rwl 63 +rwl_min_batch parameters.rwl 92 +rwl_min_pool parameters.rwl 62 +rwl_oe_password parameters.rwl 306 rwl_oe_pool oe_user.rwl 8 -rwl_oe_username parameters.rwl 304 +rwl_oe_username parameters.rwl 305 rwl_ping runping.rwl 24 -rwl_pool_release parameters.rwl 63 +rwl_pool_release parameters.rwl 64 rwl_run run_user.rwl 122 -rwl_run1_password parameters.rwl 307 -rwl_run1_username parameters.rwl 306 -rwl_run2_password parameters.rwl 309 -rwl_run2_username parameters.rwl 308 +rwl_run1 checkepoch.rwl 11 +rwl_run1_password parameters.rwl 308 +rwl_run1_username parameters.rwl 307 +rwl_run2_password parameters.rwl 310 +rwl_run2_username parameters.rwl 309 rwl_run_batch run_user.rwl 164 -rwl_run_like parameters.rwl 310 +rwl_run_like parameters.rwl 311 rwl_run_mtit mtit_user.rwl 11 rwl_run_pool run_user.rwl 129 rwl_run_storm cstorm_implementation.rwl 18 -rwl_title parameters.rwl 311 +rwl_title parameters.rwl 312 rwloadsim results.rwl 8 -rwloadsimdir parameters.rwl 291 +rwloadsimdir parameters.rwl 292 s /home/bengsig/rwloadsim/public/ovid2.rwl 7089 s run.rwl 114 -s24h_hard_avg parameters.rwl 211 -s24h_hard_beg parameters.rwl 213 -s24h_hard_end parameters.rwl 214 -s24h_hard_prb parameters.rwl 216 -s24h_hard_skp parameters.rwl 215 -s24h_hard_std parameters.rwl 212 -s24h_high_beg parameters.rwl 203 -s24h_high_end parameters.rwl 204 -s24h_high_std parameters.rwl 205 -s24h_load_hi parameters.rwl 206 -s24h_load_lo parameters.rwl 207 -s24h_load_std parameters.rwl 208 -s24h_scan_avg parameters.rwl 218 -s24h_scan_beg parameters.rwl 220 -s24h_scan_end parameters.rwl 221 -s24h_scan_prb parameters.rwl 223 -s24h_scan_skp parameters.rwl 222 -s24h_scan_std parameters.rwl 219 -s24hour parameters.rwl 197 -s24line csvdata.rwl 211 -s24markerfile csvdata.rwl 210 +s24h_hard_avg parameters.rwl 212 +s24h_hard_beg parameters.rwl 214 +s24h_hard_end parameters.rwl 215 +s24h_hard_prb parameters.rwl 217 +s24h_hard_skp parameters.rwl 216 +s24h_hard_std parameters.rwl 213 +s24h_high_beg parameters.rwl 204 +s24h_high_end parameters.rwl 205 +s24h_high_std parameters.rwl 206 +s24h_load_hi parameters.rwl 207 +s24h_load_lo parameters.rwl 208 +s24h_load_std parameters.rwl 209 +s24h_scan_avg parameters.rwl 219 +s24h_scan_beg parameters.rwl 221 +s24h_scan_end parameters.rwl 222 +s24h_scan_prb parameters.rwl 224 +s24h_scan_skp parameters.rwl 223 +s24h_scan_std parameters.rwl 220 +s24hour parameters.rwl 198 +s24line csvdata.rwl 212 +s24markerfile csvdata.rwl 211 s24markers run.rwl 196 s_afty xc_implementation.rwl 226 s_col1 aw_declarations.rwl 26 s_rowid aw_declarations.rwl 29 s_tokid aw_declarations.rwl 24 -savecaches runsys.rwl 90 +savecaches runsys.rwl 91 saveres cstorm_implementation.rwl 56 savtim oltpawr.rwl 230 scount csvmtit.rwl 275 -script_ramp parameters.rwl 70 +script_ramp parameters.rwl 71 search_products oe_handle_products.rwl 15 searches_made oe_handle_products.rwl 9 searchproduct run.rwl 99 -searchproduct_weight parameters.rwl 107 +searchproduct_weight parameters.rwl 108 searchtext oe_handle_products.rwl 15 sec eatcpu.rwl 9 sec mtitrun.rwl 82 sec run.rwl 560 secnow timemodel.rwl 112 -second csvdata.rwl 104 +second csvdata.rwl 105 second csvmtit.rwl 83 second csvosstat.rwl 15 second mtitplotwe.rwl 40 second plotfigures.rwl 87 second plotruntp.rwl 43 second plotrunwetim.rwl 43 +secpos checkepoch.rwl 19 secprv timemodel.rwl 112 sel1dual runping.rwl 36 sel_complex oe_handle_orders.rwl 699 @@ -1088,11 +1097,11 @@ sel_toship oe_handle_orders.rwl 576 sel_tot_orders oe_handle_orders.rwl 564 sel_xtr_sql aw_declarations.rwl 94 selaos_sql plotfigures.rwl 57 -selcli csvdata.rwl 266 +selcli csvdata.rwl 267 selcli csvmtit.rwl 223 selcountres_sql plotfigures.rwl 31 selhist_sql histdata.rwl 31 -selinst_sql csvdata.rwl 242 +selinst_sql csvdata.rwl 243 selinst_sql csvmtit.rwl 201 selinst_sql plotfigures.rwl 72 selinv oe_fillwarehouses.rwl 93 @@ -1102,64 +1111,64 @@ selminsec_sql plotfigures.rwl 40 selminsec_sql plotruntp.rwl 27 selminsec_sql plotrunwetim.rwl 27 seloer oerhtml.rwl 19 -seloercnt csvdata.rwl 497 +seloercnt csvdata.rwl 504 selprod oe_long_session.rwl 14 selpstat oe_fillwarehouses.rwl 26 -seltimm_sql csvdata.rwl 105 +seltimm_sql csvdata.rwl 106 seltimm_sql csvmtit.rwl 84 seltimm_sql plotfigures.rwl 88 -seltps_sql csvdata.rwl 280 +seltps_sql csvdata.rwl 281 seltps_sql plotruntp.rwl 45 selvkdat scalefract.rwl 35 -seq mtit_declarations.rwl 133 -seqplace mtit_declarations.rwl 77 +seq mtit_declarations.rwl 138 +seqplace mtit_declarations.rwl 79 ses_parallel aw_cols.rwl 193 sessionleak xcchange.rwl 25 setdbname prepare.rwl 93 ship_many_orders oe_handle_orders.rwl 556 ship_order oe_handle_orders.rwl 381 -shiporder_weight parameters.rwl 116 +shiporder_weight parameters.rwl 117 shiporders run.rwl 91 shipped_items oe_handle_orders.rwl 499 -show_changed_values parameters.rwl 162 +show_changed_values parameters.rwl 163 showall latest.rwl 18 showstart run.rwl 185 showthem oe_fillcustomers.rwl 71 -simulatebatch parameters.rwl 98 +simulatebatch parameters.rwl 99 skipnegative col_averages.rwl 11 sltp oe_handle_orders.rwl 695 snap oltpawr.rwl 19 -soer csvdata.rwl 493 -sp_atim csvdata.rwl 425 -sp_dtim csvdata.rwl 425 -sp_exec csvdata.rwl 423 -sp_wait csvdata.rwl 423 +soer csvdata.rwl 500 +sp_atim csvdata.rwl 432 +sp_dtim csvdata.rwl 432 +sp_exec csvdata.rwl 430 +sp_wait csvdata.rwl 430 space create_schemas.rwl 17 sqlddl create_schemas.rwl 20 sqlddl drop_schemas.rwl 16 -sqrt_query_factor parameters.rwl 476 +sqrt_query_factor parameters.rwl 477 src_products oe_handle_products.rwl 25 starttime ashstep1.rwl 31 -starttime csvdata.rwl 40 +starttime csvdata.rwl 41 starttime csvmtit.rwl 20 starttime prepare.rwl 22 stock_added oe_handle_products.rwl 54 stock_increased oe_handle_products.rwl 53 stocks run.rwl 114 stockup run.rwl 112 -stockup_weight parameters.rwl 110 +stockup_weight parameters.rwl 111 stopnow xcchange.rwl 36 stopnow xccoreparam.rwl 16 storm_results cstorm_implementation.rwl 27 str /home/bengsig/rwloadsim/public/ovid2.rwl 7076 str /home/bengsig/rwloadsim/public/ovid2.rwl 7088 -subdir parameters.rwl 279 -success csvdata.rwl 842 +subdir parameters.rwl 280 +success csvdata.rwl 849 suggest check_directories.rwl 12 -sumdbtime csvdata.rwl 98 +sumdbtime csvdata.rwl 99 sumdbtime csvmtit.rwl 77 sume oe_handle_orders.rwl 695 -svgmouse parameters.rwl 738 +svgmouse parameters.rwl 739 sys mtitrun.rwl 82 sys run.rwl 560 sys1 csvosstat.rwl 14 @@ -1178,15 +1187,15 @@ sys7 csvosstat.rwl 14 sys7 timemodel.rwl 198 sys8 csvosstat.rwl 14 sys8 timemodel.rwl 198 -sysawr_connect parameters.rwl 286 -sysawr_password parameters.rwl 288 -sysawr_username parameters.rwl 287 +sysawr_connect parameters.rwl 287 +sysawr_password parameters.rwl 289 +sysawr_username parameters.rwl 288 sysawrdb systemdb.rwl 14 sysres scalefract.rwl 95 -syssave_interval parameters.rwl 244 -system_connect parameters.rwl 280 -system_password parameters.rwl 282 -system_username parameters.rwl 281 +syssave_interval parameters.rwl 245 +system_connect parameters.rwl 281 +system_password parameters.rwl 283 +system_username parameters.rwl 282 systemdb systemdb.rwl 8 t_dbsystim timemodel.rwl 37 t_name timemodel.rwl 35 @@ -1198,12 +1207,12 @@ t_val1 timemodel.rwl 304 t_val2 timemodel.rwl 304 t_val3 timemodel.rwl 304 takehere oe_handle_orders.rwl 477 -tellnoawr runsys.rwl 84 +tellnoawr runsys.rwl 85 termdist timemodel.rwl 304 termdist_query timemodel.rwl 61 termdist_query_gv timemodel.rwl 89 test_aw_transaction aw_declarations.rwl 293 -testdebug parameters.rwl 158 +testdebug parameters.rwl 159 thissec mtitrun.rwl 81 thissec run.rwl 559 thissys mtitrun.rwl 81 @@ -1211,40 +1220,40 @@ thissys run.rwl 559 thisterm timemodel.rwl 40 thisusr mtitrun.rwl 81 thisusr run.rwl 559 -threadcount parameters.rwl 94 -threadcount_divisor parameters.rwl 403 -threadcount_multiplier parameters.rwl 401 -thrid csvdata.rwl 781 +threadcount parameters.rwl 95 +threadcount_divisor parameters.rwl 404 +threadcount_multiplier parameters.rwl 402 +thrid csvdata.rwl 788 tim1 runping.rwl 34 tim2 runping.rwl 34 tim3 runping.rwl 34 -time_out parameters.rwl 47 +time_out parameters.rwl 48 timemodel_getres timemodel.rwl 117 timemodel_insert timemodel.rwl 309 timemodel_save timemodel.rwl 302 timenow eatcpu.rwl 10 -tit1 csvdata.rwl 786 -tit2 csvdata.rwl 786 -tit3 csvdata.rwl 786 -tmatch csvdata.rwl 49 +tit1 csvdata.rwl 793 +tit2 csvdata.rwl 793 +tit3 csvdata.rwl 793 +tmatch csvdata.rwl 50 tmatch csvmtit.rwl 28 to_be_shipped oe_handle_orders.rwl 559 tot /home/bengsig/rwloadsim/public/ovid2.rwl 7090 tot aw_cols.rwl 212 -tot runsys.rwl 49 +tot runsys.rwl 50 tot_orders oe_handle_orders.rwl 559 total oerhtml.rwl 15 total_cnt plotrunwetim.rwl 46 total_on_hand oe_handle_orders.rwl 424 totaltime prepare.rwl 28 -totashcpu csvdata.rwl 659 +totashcpu csvdata.rwl 666 totashcpu csvmtit.rwl 405 totinv oe_fillwarehouses.rwl 92 trunctables runtrunc.rwl 20 trylogon cstorm_implementation.rwl 46 tshi x2range.rwl 27 tslo x2range.rwl 27 -tstamp csvdata.rwl 265 +tstamp csvdata.rwl 266 txt aw_cols.rwl 29 txt aw_declarations.rwl 326 txt oerhtml.rwl 17 @@ -1254,6 +1263,7 @@ uname instdist.rwl 43 unit_price oe_handle_orders.rwl 117 unit_price oe_handle_orders.rwl 650 unit_price oe_handle_orders.rwl 757 +unixstart checkepoch.rwl 18 upd_det_sql aw_declarations.rwl 78 upd_inventory oe_handle_orders.rwl 480 upd_inventory oe_handle_products.rwl 80 @@ -1265,6 +1275,7 @@ upd_xtr_sql aw_declarations.rwl 70 updprod oe_long_session.rwl 28 usr check_directories.rwl 10 usr mtitrun.rwl 82 +usr oltp.rwl 41 usr run.rwl 560 usr1 csvosstat.rwl 13 usr1 timemodel.rwl 197 @@ -1284,16 +1295,16 @@ usr8 csvosstat.rwl 13 usr8 timemodel.rwl 197 usrsystim timemodel.rwl 201 ustsdif timemodel.rwl 245 -val mtit_declarations.rwl 129 -val1 csvdata.rwl 279 -val2 csvdata.rwl 279 -val3 csvdata.rwl 279 -val4 csvdata.rwl 279 -val5 csvdata.rwl 279 -val6 csvdata.rwl 279 -val7 csvdata.rwl 279 -val8 csvdata.rwl 279 -val9 csvdata.rwl 279 +val mtit_declarations.rwl 134 +val1 csvdata.rwl 280 +val2 csvdata.rwl 280 +val3 csvdata.rwl 280 +val4 csvdata.rwl 280 +val5 csvdata.rwl 280 +val6 csvdata.rwl 280 +val7 csvdata.rwl 280 +val8 csvdata.rwl 280 +val9 csvdata.rwl 280 vname histdata.rwl 90 vname scalefract.rwl 17 waitsec xcchange.rwl 31 @@ -1302,63 +1313,63 @@ warehouse_id run.rwl 113 warehouse_received run.rwl 108 was_shipped oe_handle_orders.rwl 379 wburst_count command line 1 -wburst_count parameters.rwl 176 -wburst_length parameters.rwl 178 +wburst_count parameters.rwl 177 +wburst_length parameters.rwl 179 wburst_run run.rwl 237 -wburst_start parameters.rwl 177 +wburst_start parameters.rwl 178 wburst_wait run.rwl 230 wcount /home/bengsig/rwloadsim/public/ovid2.rwl 7073 whereclause aw_declarations.rwl 369 -wholeaffin mtit_declarations.rwl 128 +wholeaffin mtit_declarations.rwl 133 wid oe_fillwarehouses.rwl 5 withdesc oe_handle_orders.rwl 751 withdml oe_long_session.rwl 9 -wma10 csvdata.rwl 410 -wmavg csvdata.rwl 410 -wmcount csvdata.rwl 373 +wma10 csvdata.rwl 417 +wmavg csvdata.rwl 417 +wmcount csvdata.rwl 380 wmcount csvmtit.rwl 301 -wmean csvdata.rwl 372 +wmean csvdata.rwl 379 wmean csvmtit.rwl 300 -wmeantot csvdata.rwl 372 +wmeantot csvdata.rwl 379 wmeantot csvmtit.rwl 300 wna oe_fillwarehouses.rwl 7 wrapfetch runping.rwl 42 writeping runping.rwl 48 wtime csvmtit.rwl 274 -xc_badplan parameters.rwl 329 -xc_cpusec parameters.rwl 331 -xc_cursorcache parameters.rwl 324 -xc_cursorleak parameters.rwl 325 -xc_enabled parameters.rwl 315 -xc_hardparse parameters.rwl 320 -xc_ignore_parsefailure parameters.rwl 335 +xc_badplan parameters.rwl 330 +xc_cpusec parameters.rwl 332 +xc_cursorcache parameters.rwl 325 +xc_cursorleak parameters.rwl 326 +xc_enabled parameters.rwl 316 +xc_hardparse parameters.rwl 321 +xc_ignore_parsefailure parameters.rwl 336 xc_kill xc_implementation.rwl 310 -xc_loadfactor parameters.rwl 319 -xc_logoffrate parameters.rwl 328 +xc_loadfactor parameters.rwl 320 +xc_logoffrate parameters.rwl 329 xc_marker xc_implementation.rwl 39 -xc_maxpool parameters.rwl 323 -xc_minpool parameters.rwl 322 -xc_nopool parameters.rwl 333 -xc_parsefailure parameters.rwl 321 -xc_proccount parameters.rwl 332 -xc_ratefactor parameters.rwl 318 +xc_maxpool parameters.rwl 324 +xc_minpool parameters.rwl 323 +xc_nopool parameters.rwl 334 +xc_parsefailure parameters.rwl 322 +xc_proccount parameters.rwl 333 +xc_ratefactor parameters.rwl 319 xc_read xc_implementation.rwl 51 -xc_refresh parameters.rwl 317 +xc_refresh parameters.rwl 318 xc_run_dedicated run.rwl 25 -xc_sessionleak parameters.rwl 326 -xc_sessionwait parameters.rwl 334 -xc_stopnow parameters.rwl 327 -xc_waitsec parameters.rwl 330 -xcolor csvdata.rwl 41 +xc_sessionleak parameters.rwl 327 +xc_sessionwait parameters.rwl 335 +xc_stopnow parameters.rwl 328 +xc_waitsec parameters.rwl 331 +xcolor csvdata.rwl 42 xcolor csvmtit.rwl 21 -xeqpsec parameters.rwl 510 -xeqpshi parameters.rwl 516 -xeqpslo parameters.rwl 515 +xeqpsec parameters.rwl 511 +xeqpshi parameters.rwl 517 +xeqpslo parameters.rwl 516 xhi x2range.rwl 23 xlo x2range.rwl 22 -xseconds csvdata.rwl 48 +xseconds csvdata.rwl 49 xseconds csvmtit.rwl 27 -xtim csvdata.rwl 48 +xtim csvdata.rwl 49 xtim csvmtit.rwl 27 xwidth mtitplotwe.rwl 25 xwidth plotfigures.rwl 25 From c7ef5d9117a7e31c73daa07262ca04c0291c1743 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 17 Jun 2024 14:22:34 +0000 Subject: [PATCH 065/118] Print proccount in mtitxcset --- oltp/xcvalues.rwl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/oltp/xcvalues.rwl b/oltp/xcvalues.rwl index d7cee489..33f885bc 100644 --- a/oltp/xcvalues.rwl +++ b/oltp/xcvalues.rwl @@ -67,6 +67,7 @@ $if mtit $then printf "arraysize=%d\n", l_arrs; printf "affinity=%.4f\n", l_afty; printf "loadfactor=%.3f\n",l_load; + printline "proccount=" l_pcnt " (next run)"; $else printf "ratefactor=%.3f\n",l_rate; printf "loadfactor=%.3f\n",l_load; @@ -82,7 +83,7 @@ $else printf "cpusec=%.3f\n", l_csec; printline "stopnow=" l_stop; printline "nopool=" l_npoo; - printline "proccount=" l_pcnt; + printline "proccount=" l_pcnt " (next run)"; printf "logoffrate=%.4f\n", l_lofr; printline "cursorcache=" l_ccch; $endif From a85e6fd5c763e82f6e5873eb6c35ecd89a10da18 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 17 Jun 2024 16:08:27 +0000 Subject: [PATCH 066/118] Allow different index partition count for mtit --- oltp/mtit_create.rwl | 13 +++++++------ oltp/mtit_declarations.rwl | 3 ++- oltp/mtit_drop.sql | 3 ++- oltp/mtit_truncate.rwl | 3 ++- oltp/parameters.rwl | 2 ++ 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/oltp/mtit_create.rwl b/oltp/mtit_create.rwl index 0ca17fff..c9ae1ab6 100644 --- a/oltp/mtit_create.rwl +++ b/oltp/mtit_create.rwl @@ -10,6 +10,7 @@ # mtit_create.rwl - Create Max Throughput Insert Tranaction # # History +# bengsig 17-jun-2023 - add mtit_partitions parameter # bengsig 10-jun-2023 - add hcc, no index table # bengsig 5-sep-2023 - mtit_create.sql -> mtit_create.rwl # bengsig 13-jun-2023 - set sequence max to 2^63 to fit in sb8 @@ -65,20 +66,20 @@ execute at rwl_aw select index_name from user_indexes where table_name = 'AW_MTIT_IX'; alter index &index_name. rename to AW_MTIT_PK_IX; - printline "creating aw_mtit_ixp8"; - create table aw_mtit_ixp8 + printline "creating aw_mtit_partix"; + create table aw_mtit_partix ( seq number not null , rno number not null , val number not null , payload varchar2(2000) - , constraint aw_ixp8_pk primary key (seq, rno) using index + , constraint aw_partix_pk primary key (seq, rno) using index global partition by hash(seq) - partitions 8 + partitions &mtit_partitions. ) / - select index_name from user_indexes where table_name = 'AW_MTIT_IXP8'; - alter index &index_name. rename to AW_MTIT_PK_IXP8; + select index_name from user_indexes where table_name = 'AW_MTIT_PARTIX'; + alter index &index_name. rename to AW_MTIT_PK_PARTIX; printline "creating aw_mtit_revixempty"; create table aw_mtit_revixempty diff --git a/oltp/mtit_declarations.rwl b/oltp/mtit_declarations.rwl index 413a3d91..e0b3fb3e 100644 --- a/oltp/mtit_declarations.rwl +++ b/oltp/mtit_declarations.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 17-jun-2023 - add mtit_partitions parameter # bengsig 10-jun-2024 - Add hcc table # bengsig 30-may-2024 - loadfactor used to mute threads # bengsig 17-apr-2024 - no stats when idling @@ -110,7 +111,7 @@ procedure mtit_set_type() nostatistics mtit_type_text := "sml rev ix, external key"; end if; elseif mtit_type%100 = 4 then - mtit_tab := "aw_mtit_ixp8"; mtit_seq := "aw_mtit_seq_large"; + mtit_tab := "aw_mtit_partix"; mtit_seq := "aw_mtit_seq_large"; if mtit_type<200 then mtit_type_text := "part ix, lrg seq" seqplace; else diff --git a/oltp/mtit_drop.sql b/oltp/mtit_drop.sql index ce76f45d..fe95eeeb 100644 --- a/oltp/mtit_drop.sql +++ b/oltp/mtit_drop.sql @@ -10,6 +10,7 @@ rem Name rem mtit_drop.sql - Drop Max Throughput Insert Tranaction objects rem rem History +rem bengsig 17-jun-2024 - partitioned index rename rem bengsig 10-jun-2024 - hcc rem bengsig 9-sep-2023 - rename seq rem bengsig 10-may-2023 - Creation @@ -26,7 +27,7 @@ drop table aw_mtit_ix purge drop table aw_mtit_revix purge / -drop table aw_mtit_ixp8 purge +drop table aw_mtit_partix purge / drop table aw_mtit_revixempty purge diff --git a/oltp/mtit_truncate.rwl b/oltp/mtit_truncate.rwl index 799fd512..6d43d26f 100644 --- a/oltp/mtit_truncate.rwl +++ b/oltp/mtit_truncate.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 17-jun-2023 - add mtit_partitions parameter # bengsig 10-jun-2024 - Also hcc # bengsig 5-sep-2023 - revix gets filled # bengsig 23-apr-2023 - Creation @@ -25,7 +26,7 @@ execute at rwl_aw truncate table aw_mtit_ix reuse storage / - truncate table aw_mtit_ixp8 reuse storage + truncate table aw_mtit_partix reuse storage / truncate table aw_mtit_revixempty reuse storage diff --git a/oltp/parameters.rwl b/oltp/parameters.rwl index d1e5c332..a5da395f 100644 --- a/oltp/parameters.rwl +++ b/oltp/parameters.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 17-jun-2023 - add mtit_partitions parameter # bengsig 23-may-2024 - Fix s24 full scan message # bengsig 26-apr-2024 - gv$osstat # bengsig 3-apr-2024 - Distinguish thread/xtra storm @@ -374,6 +375,7 @@ double threads global mtit_affinity := 1.0; integer mtit_xc := 0; # is external control for mtitcore enabled integer mtit_rev_double := 1; # count of doubling aw_mtit_revix +integer mtit_partitions := 8; # count of partitions in partitioned index string(100) mtit_type_text; # set in mtit_set_type(); $include:"$RWLOLTP_NAME.rwl" From 58b9091c411e06cce655bf3064ba12e5966bf30a Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 17 Jun 2024 16:17:44 +0000 Subject: [PATCH 067/118] Variable partition count --- oltp/mtit_grant.sql | 3 ++- oltp/mtit_synonym.sql | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/oltp/mtit_grant.sql b/oltp/mtit_grant.sql index cb3b881f..c33e0643 100644 --- a/oltp/mtit_grant.sql +++ b/oltp/mtit_grant.sql @@ -10,6 +10,7 @@ rem Name rem mtit_grant.sql - Grant MTIT rem rem History +rem bengsig 17-jun-2024 - Variable partition count rem bengsig 10-jun-2024 - Add HCC rem bengsig 10-may-2023 - Creation @@ -28,7 +29,7 @@ grant all on aw_mtit_revixempty to &&1 grant all on aw_mtit_revix to &&1 / -grant all on aw_mtit_ixp8 to &&1 +grant all on aw_mtit_partix to &&1 / grant all on aw_mtit_cdr to &&1 diff --git a/oltp/mtit_synonym.sql b/oltp/mtit_synonym.sql index cdd595b4..cf13e17d 100644 --- a/oltp/mtit_synonym.sql +++ b/oltp/mtit_synonym.sql @@ -10,6 +10,7 @@ rem Name rem mtit_create.sql - Create mtit synonyms rem rem History +rem bengsig 17-jun-2024 - Variable partition count rem bengsig 10-jun-2024 - Hcc, correct synonym rem bengsig 10-may-2023 - Creation @@ -28,7 +29,7 @@ create or replace synonym aw_mtit_revixempty for &&1..aw_mtit_revixempty create or replace synonym aw_mtit_revix for &&1..aw_mtit_revix / -create or replace synonym aw_mtit_ixp8 for &&1..aw_mtit_ixp8 +create or replace synonym aw_mtit_partix for &&1..aw_mtit_partix / create or replace synonym aw_mtit_cdr for &&1..aw_mtit_cdr From a4b5f7dbf517588191aac3f7639b3f3bf2515c11 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 18 Jun 2024 10:18:46 +0000 Subject: [PATCH 068/118] Make sure there is no ORA-00001 risk --- oltp/mtit_declarations.rwl | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/oltp/mtit_declarations.rwl b/oltp/mtit_declarations.rwl index e0b3fb3e..cc2d8c89 100644 --- a/oltp/mtit_declarations.rwl +++ b/oltp/mtit_declarations.rwl @@ -2,7 +2,8 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ -# bengsig 17-jun-2023 - add mtit_partitions parameter +# bengsig 18-jun-2024 - prevent ORA-1 risk +# bengsig 17-jun-2024 - add mtit_partitions parameter # bengsig 10-jun-2024 - Add hcc table # bengsig 30-may-2024 - loadfactor used to mute threads # bengsig 17-apr-2024 - no stats when idling @@ -28,17 +29,24 @@ # mtit_type / 100 # # 0 - The sequence is part of the insert itself -# and put into seq, rno is then always 0 +# and put into seq, rno is then always 1 # as the seq column itself is unique # # 1 - Primary keys come from a separate query # from dual that gets one sequence number # that goes into the seq column, and rno is -# then a number in the range 1..rowsperins -# so uniqueness is from both columns +# then based on a number in the range +# 1..rowsperins but with the last two +# digits in the range 02 .. 99 so +# uniqueness is from both columns # # 2 - The primary key is in principle external -# we do however generate it. See below. +# we do however generate it. Note that for +# these, the last two digits of rno is always +# 00. +# +# Effectively the three different mtit_type/100 values +# are guaranteed to not overlap, preventing ORA-00001 # # mtit_type%100 describes the index used for the # primary key plus the type of sequence when relevant @@ -163,10 +171,10 @@ procedure mtit_ins_rows() values (:seq, :rno, :val, :payload)"; else # include seq in values clause - # and set rno to 0 + # and set rno to 1 modify sql mtit_ins_sql for "insert into " mtit_tab " (seq, rno, val, payload) - values (" mtit_seq ".nextval, 0, :val, :payload)"; + values (" mtit_seq ".nextval, 1, :val, :payload)"; end if; modify sql mtit_ins_sql array mtit_array_size; @@ -183,13 +191,16 @@ $endif nostatistics; wait 1; else - for rno := 1 .. mtit_rows_per_exec loop + integer rno2; + for rno2 := 1 .. mtit_rows_per_exec loop if mtit_type%100 != 7 then val := uniform(0.0,1000.0); else val := round(uniform(0,1000)); end if; sprintf payload, "%05d-%s-%05d", uniform(0,99999), ovid2load, uniform(0,99999); + # make rno unique and have last digits in the range 02 .. 99 + rno := 2 + rno2%98 + 100 * (rno2/98); mtit_ins_sql; mtit_count_ins_rows(); end loop; From 58731a3eae9364130b2a11c349318bade35ce8dc Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 19 Jun 2024 10:26:03 +0000 Subject: [PATCH 069/118] Modernize sqlmonitor, sqlreport; better tags in oltp --- bin/sqlmonitor | 13 ++ bin/sqlreport | 13 ++ docs/refman/directive.html | 44 ++-- docs/refman/directives.html | 44 ++-- docs/refman/sqlmonitor.html | 23 +- docs/refman/sqlreport.html | 17 +- man/man1rwl/directive.1rwl | 34 +-- man/man2rwl/sqlmonitor.2rwl | 15 +- man/man2rwl/sqlreport.2rwl | 13 +- oltp/maketags.sh | 6 +- oltp/tags | 442 ++++++++++++++++++------------------ public/ashplot.rwl | 1 + public/awrdump.rwl | 1 + public/awrreport.rwl | 1 + public/netthroughput.rwl | 1 + public/sqlmonitor.rwl | 61 ++--- public/sqlreport.rwl | 46 ++-- 17 files changed, 411 insertions(+), 364 deletions(-) create mode 100755 bin/sqlmonitor create mode 100755 bin/sqlreport diff --git a/bin/sqlmonitor b/bin/sqlmonitor new file mode 100755 index 00000000..2d80227e --- /dev/null +++ b/bin/sqlmonitor @@ -0,0 +1,13 @@ +#!/bin/sh + +# RWP*Load Simulator +# +# Copyright (c) 2024 Oracle Corporation +# Licensed under the Universal Permissive License v 1.0 +# as shown at https://oss.oracle.com/licenses/upl/ +# +# call rwloadsim -u sqlmonitor.rwl + +# bengsig 13-jun-2024 - Created + +exec rwloadsim --pretend-gen-banner='RWP*SQL Monitor' -u sqlmonitor.rwl "$@" diff --git a/bin/sqlreport b/bin/sqlreport new file mode 100755 index 00000000..9c294df1 --- /dev/null +++ b/bin/sqlreport @@ -0,0 +1,13 @@ +#!/bin/sh + +# RWP*Load Simulator +# +# Copyright (c) 2024 Oracle Corporation +# Licensed under the Universal Permissive License v 1.0 +# as shown at https://oss.oracle.com/licenses/upl/ +# +# call rwloadsim -u sqlreport.rwl + +# bengsig 13-jun-2024 - Created + +exec rwloadsim --pretend-gen-banner='RWP*SQL Report' -u sqlreport.rwl "$@" diff --git a/docs/refman/directive.html b/docs/refman/directive.html index df2c1e12..776978c7 100644 --- a/docs/refman/directive.html +++ b/docs/refman/directive.html @@ -1,5 +1,5 @@ - + @@ -326,7 +326,7 @@

    DIRECTIVES

    Normally, ctrl-c leads to a controlled stop of the executing rwloadsim process although -the exact details of how clean-up is done cannot by +the exact details of how clean-up is done cannot be guaranteed. If you want rwloadsim to continue after receiving an ORA-01013, use the first directive. The second, which is the default, undoes this.

    @@ -521,28 +521,34 @@

    DIRECTIVES declared.

    -

    $pre31fileassign:on +

    $pre31fileassign:warn
    -$pre31fileassign:warn
    +$pre31fileassign:on
    $pre31fileassign:off

    -

    These directives control how -file assignment using the := operator behave. When -the directive is set to on, you can use re-direction +

    In previous versions of +rwloadsim, file assignment worked by having redirection characters such as "<", ">>", "|" as part of the name of the file causing the -file to be opened for read, append or as a pipeline. When -set to warn, you will get a runtime warning about -such use, and if set to off, no special character -interpretation will take place. In the current release -(3.0.6), the default is warn; it will be set to -off in release 3.1.

    - -

    It is -recommended that you run your rwloadsim code with -warn, e.g. by putting it in your .rwloadsim.rwl file -and use the generated warnings to modify your code to use -the newer file assignment operators.

    +file to be opened for read, append or as a pipeline. +Starting with version 3.1, file assignment can only be done +using the proper assignment operator such as <= to open +for reading.

    + +

    If you have +code that uses the previous behavior where the redirection +is part of the string, you can use the first of these +directives. This causes such usage to be accepted but with a +warning that allows you to correct your code.

    + +

    The second +directive makes the previous behavior accepted +without printing a warning; doing so is not +recommended and the possibility will be removed in a later +release.

    + +

    The current +behavior can be reset using the third directive.

    $niceabort:on diff --git a/docs/refman/directives.html b/docs/refman/directives.html index df2c1e12..776978c7 100644 --- a/docs/refman/directives.html +++ b/docs/refman/directives.html @@ -1,5 +1,5 @@ - + @@ -326,7 +326,7 @@

    DIRECTIVES

    Normally, ctrl-c leads to a controlled stop of the executing rwloadsim process although -the exact details of how clean-up is done cannot by +the exact details of how clean-up is done cannot be guaranteed. If you want rwloadsim to continue after receiving an ORA-01013, use the first directive. The second, which is the default, undoes this.

    @@ -521,28 +521,34 @@

    DIRECTIVES declared.

    -

    $pre31fileassign:on +

    $pre31fileassign:warn
    -$pre31fileassign:warn
    +$pre31fileassign:on
    $pre31fileassign:off

    -

    These directives control how -file assignment using the := operator behave. When -the directive is set to on, you can use re-direction +

    In previous versions of +rwloadsim, file assignment worked by having redirection characters such as "<", ">>", "|" as part of the name of the file causing the -file to be opened for read, append or as a pipeline. When -set to warn, you will get a runtime warning about -such use, and if set to off, no special character -interpretation will take place. In the current release -(3.0.6), the default is warn; it will be set to -off in release 3.1.

    - -

    It is -recommended that you run your rwloadsim code with -warn, e.g. by putting it in your .rwloadsim.rwl file -and use the generated warnings to modify your code to use -the newer file assignment operators.

    +file to be opened for read, append or as a pipeline. +Starting with version 3.1, file assignment can only be done +using the proper assignment operator such as <= to open +for reading.

    + +

    If you have +code that uses the previous behavior where the redirection +is part of the string, you can use the first of these +directives. This causes such usage to be accepted but with a +warning that allows you to correct your code.

    + +

    The second +directive makes the previous behavior accepted +without printing a warning; doing so is not +recommended and the possibility will be removed in a later +release.

    + +

    The current +behavior can be reset using the third directive.

    $niceabort:on diff --git a/docs/refman/sqlmonitor.html b/docs/refman/sqlmonitor.html index f38d75bc..7ae7e895 100644 --- a/docs/refman/sqlmonitor.html +++ b/docs/refman/sqlmonitor.html @@ -1,5 +1,5 @@ - + @@ -35,7 +35,7 @@

    NAME

    -

    sqlmonitor.rwl +

    sqlmonitor − Create sql monitor from gv$sql views

    SYNOPSIS @@ -43,12 +43,12 @@

    SYNOPSIS

    -

    rwloadsim -[options] -u -l u/p@c sqlmonitor.rwl sqlid

    +

    sqlmonitor +[options] -l u/p@c sqlid

    For the -provided sqlid, the sqlmonitor.rwl utility creates sql -monitor from the shared pool of the database using +provided sqlid, the sqlmonitor utility creates a sql monitor +from the shared pool of the database using dbms_sql_monitor.report_sql_monitor. The output is written to a file named with the sqlid and a suffix of .html unless the --output-file option is provided. Use --output-directory @@ -58,19 +58,14 @@

    SYNOPSIS

    The dbms_sql_monitor.report_sql_monitor has several ways to provide information about which of potentially many sql -monitors to output and some of these are available using -sqlmonitor.rwl

    +monitors to output and some of these are available as +options to sqlmonitor.

    OPTIONS

    -

    -u

    - -

    Compulsory option to find the -sqlmonitor.rwl script in the public directory.

    -

    -l u/p

    @@ -138,7 +133,7 @@

    EXAMPLE

    -
    rwloadsim -ul system/{password} sqlmonitor.rwl 07rw9znc8g7aj
    +
    sqlmonitor -l system/{password} 07rw9znc8g7aj

    will create a diff --git a/docs/refman/sqlreport.html b/docs/refman/sqlreport.html index 9aa0252e..84df3b05 100644 --- a/docs/refman/sqlreport.html +++ b/docs/refman/sqlreport.html @@ -1,5 +1,5 @@ - + @@ -35,7 +35,7 @@

    NAME

    -

    sqlreport.rwl +

    sqlreport − Create a complete sql report

    SYNOPSIS @@ -43,11 +43,11 @@

    SYNOPSIS

    -

    rwloadsim -[options] -u -l u/p@c sqlreport.rwl sqlid

    +

    sqlreport +[options] -l u/p@c sqlid

    For the -provided sqlid, the sqlreport.rwl utility creates sql a full +provided sqlid, the sqlreport utility creates sql a full report by calling dbms_sql_tune.report_sql_detail, using all default options except report_level which is set to ’ALL’. The output is written to a file named @@ -61,11 +61,6 @@

    OPTIONS

    -

    -u

    - -

    Compulsory option to find the -sqlreport.rwl script in the public directory.

    -

    -l u/p

    @@ -103,7 +98,7 @@

    EXAMPLE

    -
    rwloadsim -ul system/{password} sqlreport.rwl 07rw9znc8g7aj
    +
    sqlreport -l system/{password} 07rw9znc8g7aj

    will create a diff --git a/man/man1rwl/directive.1rwl b/man/man1rwl/directive.1rwl index 0602500e..2b3da9fb 100644 --- a/man/man1rwl/directive.1rwl +++ b/man/man1rwl/directive.1rwl @@ -263,7 +263,7 @@ The second directive turns this extra error detail off. .B $ora01013:reset .RS 4 Normally, ctrl-c leads to a controlled stop of the executing rwloadsim process -although the exact details of how clean-up is done cannot by guaranteed. +although the exact details of how clean-up is done cannot be guaranteed. If you want rwloadsim to continue after receiving an ORA-01013, use the first directive. The second, which is the default, undoes this. @@ -456,24 +456,32 @@ Be default, the flag OCI_SPC_NO_RLB is set, to not set this flag, use the second directive before the database using a session pool is declared. .RE .P -.B $pre31fileassign:on -.br .B $pre31fileassign:warn .br +.B $pre31fileassign:on +.br .B $pre31fileassign:off .RS 4 -These directives control how file assignment using the \fB:=\fR operator behave. -When the directive is set to \fBon\fR, you can use re-direction characters +In previous versions of rwloadsim, file assignment worked by +having redirection characters such as "<", ">>", "|" as part of the name of the file causing the file to be opened for read, append or as a pipeline. -When set to \fBwarn\fR, you will get a runtime warning about such use, -and if set to \fBoff\fR, no special character interpretation will take place. -In the current release (3.0.6), the default is \fBwarn\fR; it will be set -to \fBoff\fR in release 3.1. -.P -It is recommended that you run your rwloadsim code with \fBwarn\fR, e.g. -by putting it in your .rwloadsim.rwl file and use the -generated warnings to modify your code to use the newer file assignment operators. +Starting with version 3.1, file assignment can only be done using the +proper assignment operator such as <= to open for reading. +.P +If you have code that uses the previous behavior where the +redirection is part of the string, you can use +the first of these directives. +This causes such usage to be accepted but with a warning that +allows you to correct your code. +.P +The second directive makes the previous behavior accepted +.I without +printing a warning; doing so is +.I not +recommended and the possibility will be removed in a later release. +.P +The current behavior can be reset using the third directive. .P .RE .B $niceabort:on diff --git a/man/man2rwl/sqlmonitor.2rwl b/man/man2rwl/sqlmonitor.2rwl index 53330148..5f5f2e0c 100644 --- a/man/man2rwl/sqlmonitor.2rwl +++ b/man/man2rwl/sqlmonitor.2rwl @@ -1,10 +1,10 @@ .TH sqlmonitor "2rwl" "July 2022" "RWP*Load Simulator" "Utilities Syntax" .SH NAME -sqlmonitor.rwl \- Create sql monitor from gv$sql views +sqlmonitor \- Create sql monitor from gv$sql views .SH SYNOPSIS -\fBrwloadsim [options] -u -l u/p@c sqlmonitor.rwl sqlid \fR +\fBsqlmonitor [options] -l u/p@c sqlid \fR .P -For the provided sqlid, the sqlmonitor.rwl utility creates sql monitor from +For the provided sqlid, the sqlmonitor utility creates a sql monitor from the shared pool of the database using dbms_sql_monitor.report_sql_monitor. The output is written to a file named with the sqlid and a suffix of .html unless the --output-file option is provided. @@ -13,13 +13,8 @@ the current. .P The dbms_sql_monitor.report_sql_monitor has several ways to provide information about which of potentially many sql monitors to output and some of these -are available using sqlmonitor.rwl +are available as options to sqlmonitor. .SH OPTIONS -\fB-u\fR -.RS 4 -Compulsory option to find the sqlmonitor.rwl script in the public directory. -.RE -.P .B -l u/p .P .B -l u/p@c @@ -73,7 +68,7 @@ Exactly one sqlid must be provided. .SH EXAMPLE .nf \fC -rwloadsim -ul system/{password} sqlmonitor.rwl 07rw9znc8g7aj +sqlmonitor -l system/{password} 07rw9znc8g7aj \fR .fi .P diff --git a/man/man2rwl/sqlreport.2rwl b/man/man2rwl/sqlreport.2rwl index 9bc551c2..8b4471f7 100644 --- a/man/man2rwl/sqlreport.2rwl +++ b/man/man2rwl/sqlreport.2rwl @@ -1,10 +1,10 @@ .TH sqlreport "2rwl" "January 2022" "RWP*Load Simulator" "Utilities Syntax" .SH NAME -sqlreport.rwl \- Create a complete sql report +sqlreport \- Create a complete sql report .SH SYNOPSIS -\fBrwloadsim [options] -u -l u/p@c sqlreport.rwl sqlid \fR +\fBsqlreport [options] -l u/p@c sqlid \fR .P -For the provided sqlid, the sqlreport.rwl utility creates sql a full report by +For the provided sqlid, the sqlreport utility creates sql a full report by calling dbms_sql_tune.report_sql_detail, using all default options except report_level which is set to 'ALL'. The output is written to a file named with the sqlid and a suffix of .html @@ -13,11 +13,6 @@ The file is created in your current directory unless the --output-directory option is provided. .P .SH OPTIONS -\fB-u\fR -.RS 4 -Compulsory option to find the sqlreport.rwl script in the public directory. -.RE -.P .B -l u/p .P .B -l u/p@c @@ -49,7 +44,7 @@ Exactly one sqlid must be provided. .SH EXAMPLE .nf \fC -rwloadsim -ul system/{password} sqlreport.rwl 07rw9znc8g7aj +sqlreport -l system/{password} 07rw9znc8g7aj \fR .fi .P diff --git a/oltp/maketags.sh b/oltp/maketags.sh index 9171825b..879fe8b3 100755 --- a/oltp/maketags.sh +++ b/oltp/maketags.sh @@ -8,6 +8,7 @@ # # History # +# bengsig 19-jun-2024 refer relatively to ovid2.rwl # bengsig 12-oct-2022 run.rwl needs -i wburst_count:=1 # bengsig 10-jan-2022 Creation @@ -19,6 +20,8 @@ # # Consider this script EXPERIMENTAL! +export RWLOADSIM_PATH=../public + # Simply loop through all for x in *.rwl do @@ -39,7 +42,8 @@ do done # Sort them -env LC_ALL=C sort -u *.tags > tags +omit=$(pwd -P | sed 's/oltp$/public/') +env LC_ALL=C sort -u *.tags | grep -v $omit > tags # And remove the intermediate files rm -f *.tags diff --git a/oltp/tags b/oltp/tags index de2dd449..d85a4874 100644 --- a/oltp/tags +++ b/oltp/tags @@ -28,10 +28,10 @@ a9 col_averages.rwl 18 a9cnt col_averages.rwl 36 a9sum col_averages.rwl 27 above3 csvdata.rwl 791 -aburst_post_factor parameters.rwl 184 -aburst_pre_factor parameters.rwl 183 -aburst_start parameters.rwl 185 -aburst_workers parameters.rwl 182 +aburst_post_factor parameters.rwl 185 +aburst_pre_factor parameters.rwl 184 +aburst_start parameters.rwl 186 +aburst_workers parameters.rwl 183 actbatch csvdata.rwl 265 actbatch mtitrun.rwl 83 actbatch run.rwl 561 @@ -42,14 +42,14 @@ actpool mtitrun.rwl 83 actpool run.rwl 561 add_inventory oe_handle_products.rwl 57 affinity xcchange.rwl 44 -affinratio mtit_declarations.rwl 208 +affinratio mtit_declarations.rwl 220 ai_atim csvdata.rwl 433 ai_cnt plotrunwetim.rwl 45 ai_dtim csvdata.rwl 433 ai_et plotrunwetim.rwl 45 ai_exec csvdata.rwl 431 -ai_sleep_avg parameters.rwl 360 -ai_sleep_fac parameters.rwl 364 +ai_sleep_avg parameters.rwl 361 +ai_sleep_fac parameters.rwl 365 ai_wait csvdata.rwl 431 ai_wt plotrunwetim.rwl 45 al1 oe_fillcustomers.rwl 11 @@ -73,35 +73,35 @@ avge csvmtit.rwl 274 avgw histdata.rwl 89 avgw scalefract.rwl 33 aw_atim csvdata.rwl 433 -aw_cols_256MB_doublings parameters.rwl 147 +aw_cols_256MB_doublings parameters.rwl 148 aw_cols_dbl aw_cols.rwl 19 aw_cols_mb_qry aw_cols.rwl 236 -aw_cols_query_factor parameters.rwl 156 +aw_cols_query_factor parameters.rwl 157 aw_cols_size aw_cols.rwl 235 aw_cols_size aw_sizeinfo.rwl 17 -aw_cols_skew parameters.rwl 154 +aw_cols_skew parameters.rwl 155 aw_dtim csvdata.rwl 433 aw_exec csvdata.rwl 431 aw_instances aw_declarations.rwl 123 -aw_instances parameters.rwl 167 +aw_instances parameters.rwl 168 aw_myinst aw_declarations.rwl 125 -aw_sleep_avg parameters.rwl 360 -aw_sleep_fac parameters.rwl 363 +aw_sleep_avg parameters.rwl 361 +aw_sleep_fac parameters.rwl 364 aw_stats aw_cols.rwl 228 aw_transaction aw_declarations.rwl 131 -aw_transaction_weight parameters.rwl 112 +aw_transaction_weight parameters.rwl 113 aw_transactions_made aw_declarations.rwl 22 aw_truncate aw_truncate.rwl 13 -aw_verbose parameters.rwl 160 +aw_verbose parameters.rwl 161 aw_wait csvdata.rwl 431 awc_parallel aw_cols.rwl 189 awindex_query aw_declarations.rwl 324 -awindex_query_weight parameters.rwl 113 +awindex_query_weight parameters.rwl 114 awlen aw_declarations.rwl 322 awqry aw_declarations.rwl 333 awrbb_tim runsys.rwl 182 awrbe_tim runsys.rwl 182 -awrdirectory parameters.rwl 278 +awrdirectory parameters.rwl 279 awreb_tim runsys.rwl 182 awree_tim runsys.rwl 182 awrinfo oltpawr.rwl 112 @@ -115,8 +115,8 @@ b_rwnum aw_declarations.rwl 25 b_tokid aw_declarations.rwl 24 b_val aw_declarations.rwl 27 badplan xcchange.rwl 29 -batch_connect parameters.rwl 299 -batch_type parameters.rwl 300 +batch_connect parameters.rwl 300 +batch_type parameters.rwl 301 bb csvdata.rwl 182 bb csvmtit.rwl 157 bb oltpawr.rwl 228 @@ -135,10 +135,10 @@ bgcpu timemodel.rwl 111 bt cstorm_implementation.rwl 46 btim cstorm_implementation.rwl 76 bucktim histdata.rwl 30 -burst_factor parameters.rwl 173 -burst_length parameters.rwl 172 -burst_repeat parameters.rwl 174 -burst_start parameters.rwl 171 +burst_factor parameters.rwl 174 +burst_length parameters.rwl 173 +burst_repeat parameters.rwl 175 +burst_start parameters.rwl 172 c aw_declarations.rwl 328 calf csvdata.rwl 280 call_failure run_user.rwl 17 @@ -186,7 +186,7 @@ cntl oe_handle_orders.rwl 694 comment aw_cols.rwl 29 complex_count oe_handle_orders.rwl 686 complex_query oe_handle_orders.rwl 688 -complex_query_weight parameters.rwl 110 +complex_query_weight parameters.rwl 111 complex_sum oe_handle_orders.rwl 685 con oltp.rwl 41 cone aw_declarations.rwl 327 @@ -218,23 +218,23 @@ cq_exec csvdata.rwl 430 cq_wait csvdata.rwl 431 create_aw_cols aw_cols.rwl 55 create_aw_seq aw_cols.rwl 51 -cruser_connect parameters.rwl 284 -cruser_password parameters.rwl 286 +cruser_connect parameters.rwl 285 +cruser_password parameters.rwl 287 cruser_username command line 1 -cruser_username parameters.rwl 285 +cruser_username parameters.rwl 286 cruserdb cruserdb.rwl 8 -cstorm_period parameters.rwl 233 -cstorm_start parameters.rwl 232 -cstorm_threads parameters.rwl 231 -cstorm_xtra_logons parameters.rwl 234 -cstorm_xtra_period parameters.rwl 237 -cstorm_xtra_rate parameters.rwl 235 -cstorm_xtra_start parameters.rwl 236 +cstorm_period parameters.rwl 234 +cstorm_start parameters.rwl 233 +cstorm_threads parameters.rwl 232 +cstorm_xtra_logons parameters.rwl 235 +cstorm_xtra_period parameters.rwl 238 +cstorm_xtra_rate parameters.rwl 236 +cstorm_xtra_start parameters.rwl 237 csvline csvdata.rwl 574 csvline csvmtit.rwl 17 csvname scalefract.rwl 21 ctwo aw_declarations.rwl 327 -cursor_cache_size parameters.rwl 68 +cursor_cache_size parameters.rwl 69 cursorleak xcchange.rwl 23 customer_id oe_handle_orders.rwl 383 customer_id oe_handle_orders.rwl 623 @@ -267,29 +267,29 @@ ddl aw_cols.rwl 29 ddl create_schemas.rwl 19 ddl drop_schemas.rwl 15 debug_products oe_handle_products.rwl 12 -default_tablespace parameters.rwl 290 -delay_length parameters.rwl 189 -delay_max_pool parameters.rwl 192 -delay_min_pool parameters.rwl 191 -delay_start parameters.rwl 190 +default_tablespace parameters.rwl 291 +delay_length parameters.rwl 190 +delay_max_pool parameters.rwl 193 +delay_min_pool parameters.rwl 192 +delay_start parameters.rwl 191 deltmpitem oepartalloc.rwl 43 deltmpord oepartalloc.rwl 37 descl oe_handle_orders.rwl 752 -dfac mtit_create.rwl 128 +dfac mtit_create.rwl 129 disable_bloom oltpawr.rwl 48 dist_count runsys.rwl 50 dist_inst runsys.rwl 50 dist_usrn runsys.rwl 51 do_hardparse oe_handle_orders.rwl 194 -doawr parameters.rwl 226 +doawr parameters.rwl 227 doeither run.rwl 153 -dontdo_batch1 parameters.rwl 423 -dontdo_batch2 parameters.rwl 424 -dontdo_batch3 parameters.rwl 425 -dontdo_batch4 parameters.rwl 426 -dontdolong parameters.rwl 97 +dontdo_batch1 parameters.rwl 425 +dontdo_batch2 parameters.rwl 426 +dontdo_batch3 parameters.rwl 427 +dontdo_batch4 parameters.rwl 428 +dontdolong parameters.rwl 98 doociping run.rwl 264 -doosstat parameters.rwl 228 +doosstat parameters.rwl 229 drop_aw_cols aw_cols.rwl 41 drop_aw_seq aw_cols.rwl 46 dropuser drop_schemas.rwl 13 @@ -344,11 +344,11 @@ filnam x2range.rwl 24 finishtime prepare.rwl 21 first1530 aw_cols.rwl 83 first_instances oerhtmlday.rwl 25 -fix_cursorleak parameters.rwl 340 -fix_hardparse parameters.rwl 339 -fix_logoffrate parameters.rwl 341 +fix_cursorleak parameters.rwl 341 +fix_hardparse parameters.rwl 340 +fix_logoffrate parameters.rwl 342 fna oe_fillcustomers.rwl 9 -forever_proccount parameters.rwl 80 +forever_proccount parameters.rwl 81 forg plotinfo.rwl 41 found kommentops.rwl 17 fulldate checkepoch.rwl 18 @@ -372,13 +372,13 @@ getrdate prepare.rwl 29 getres_sql csvmtit.rwl 234 getres_sql mtitplotwe.rwl 43 getres_sql plotrunwetim.rwl 48 -globalawr parameters.rwl 227 -gnuplotjs parameters.rwl 269 +globalawr parameters.rwl 228 +gnuplotjs parameters.rwl 270 goodcount plotinfo.rwl 42 grab_session run.rwl 134 grp check_directories.rwl 10 hadit oerhtmlday.rwl 92 -halfperiod parameters.rwl 429 +halfperiod parameters.rwl 431 hardparse xcchange.rwl 26 heartbeat run.rwl 256 highcount csvdata.rwl 667 @@ -390,7 +390,7 @@ htmlline csvdata.rwl 764 htmlxtra oltpawr.rwl 81 htmlxtrawrap oltpawr.rwl 82 human parameters2shell.rwl 25 -i /home/bengsig/rwloadsim/public/ovid2.rwl 7077 +i ../public/ovid2.rwl 7077 i aw_cols.rwl 210 i1 csvdata.rwl 242 i1 csvmtit.rwl 200 @@ -431,10 +431,10 @@ ientries plotfigures.rwl 29 ientries plotruntp.rwl 25 ientries plotrunwetim.rwl 25 ignore_parsefailure xcchange.rwl 28 -iii mtit_declarations.rwl 208 +iii mtit_declarations.rwl 220 inacdist runsys.rwl 46 inacdistfile runsys.rwl 42 -index_name mtit_create.rwl 23 +index_name mtit_create.rwl 24 input col_averages.rwl 17 ins_awrtim oltpawr.rwl 232 ins_customer oe_fillcustomers.rwl 20 @@ -496,13 +496,13 @@ iusr8 timemodel.rwl 243 key check_for_key.rwl 12 key oerhtmlday.rwl 11 key scalefract.rwl 16 -key_to_show parameters.rwl 39 +key_to_show parameters.rwl 40 keyring_password oltp.rwl 41 killmsg xc_implementation.rwl 310 kom check_for_key.rwl 15 komment kommentops.rwl 18 komment oerhtmlday.rwl 11 -l /home/bengsig/rwloadsim/public/ovid2.rwl 7090 +l ../public/ovid2.rwl 7090 l_afty xc_implementation.rwl 52 l_afty xcdefault.rwl 20 l_afty xcvalues.rwl 30 @@ -566,7 +566,7 @@ l_stop xcvalues.rwl 31 l_wsec xc_implementation.rwl 52 l_wsec xcdefault.rwl 20 l_wsec xcvalues.rwl 30 -largeashok parameters.rwl 252 +largeashok parameters.rwl 253 lastsec mtitrun.rwl 81 lastsec run.rwl 559 lastsys mtitrun.rwl 81 @@ -576,7 +576,7 @@ lastusr run.rwl 559 lc csvdata.rwl 631 lc csvmtit.rwl 370 lcsec xcdefault.rwl 20 -leaf_blocks mtit_create.rwl 143 +leaf_blocks mtit_create.rwl 144 li oe_handle_orders.rwl 260 line_item_id oe_handle_orders.rwl 116 line_item_id oe_handle_orders.rwl 383 @@ -603,30 +603,30 @@ make_invoices oe_handle_orders.rwl 623 make_order oe_handle_orders.rwl 83 makeawr oltpawr.rwl 223 makeinvoices run.rwl 87 -makeinvoices_weight parameters.rwl 109 +makeinvoices_weight parameters.rwl 110 makeorder run.rwl 83 -makeorder_weight parameters.rwl 106 +makeorder_weight parameters.rwl 107 markerfile csvdata.rwl 40 markerfile csvmtit.rwl 19 markerfile mtitrun.rwl 25 markerfile run.rwl 77 markerfile xc_implementation.rwl 31 markrunning run.rwl 268 -max_customer parameters.rwl 125 +max_customer parameters.rwl 126 max_item oe_handle_orders.rwl 207 max_order_id oe_handle_orders.rwl 24 max_order_ship oe_handle_orders.rwl 25 -max_product parameters.rwl 124 -max_sessionwait parameters.rwl 65 -max_warehouse parameters.rwl 123 +max_product parameters.rwl 125 +max_sessionwait parameters.rwl 66 +max_warehouse parameters.rwl 124 maxactpool csvdata.rwl 324 maxdbcpu csvdata.rwl 99 maxesum csvdata.rwl 582 maxesum csvmtit.rwl 321 -maxl /home/bengsig/rwloadsim/public/ovid2.rwl 7085 +maxl ../public/ovid2.rwl 7085 maxo oe_handle_orders.rwl 556 maxpool xcchange.rwl 33 -maxseq mtit_declarations.rwl 208 +maxseq mtit_declarations.rwl 220 maxsessions aw_declarations.rwl 115 maxsql oe_handle_orders.rwl 41 maxtot run.rwl 224 @@ -656,8 +656,8 @@ mo_cnt plotrunwetim.rwl 43 mo_dtim csvdata.rwl 432 mo_et plotrunwetim.rwl 43 mo_exec csvdata.rwl 430 -mo_sleep_avg parameters.rwl 360 -mo_sleep_fac parameters.rwl 361 +mo_sleep_avg parameters.rwl 361 +mo_sleep_fac parameters.rwl 362 mo_wait csvdata.rwl 430 mo_wt plotrunwetim.rwl 43 mpri oe_fillproducts.rwl 14 @@ -674,24 +674,25 @@ msping timemodel.rwl 112 mtim csvdata.rwl 152 mtim csvmtit.rwl 127 mtit xcvalues.rwl 23 -mtit_affinity parameters.rwl 373 -mtit_array_size parameters.rwl 371 -mtit_count_ins_rows mtit_declarations.rwl 72 -mtit_get_seq mtit_declarations.rwl 140 -mtit_initialize mtit_declarations.rwl 61 -mtit_ins_rows mtit_declarations.rwl 132 -mtit_ins_sql mtit_declarations.rwl 144 -mtit_instance mtit_declarations.rwl 60 -mtit_max_payload mtit_declarations.rwl 58 -mtit_rev_double parameters.rwl 376 -mtit_rows_per_exec parameters.rwl 370 -mtit_seq mtit_declarations.rwl 76 -mtit_set_type mtit_declarations.rwl 78 -mtit_tab mtit_declarations.rwl 76 -mtit_threads parameters.rwl 369 -mtit_type parameters.rwl 372 -mtit_type_text parameters.rwl 377 -mtit_xc parameters.rwl 375 +mtit_affinity parameters.rwl 374 +mtit_array_size parameters.rwl 372 +mtit_count_ins_rows mtit_declarations.rwl 81 +mtit_get_seq mtit_declarations.rwl 149 +mtit_initialize mtit_declarations.rwl 70 +mtit_ins_rows mtit_declarations.rwl 141 +mtit_ins_sql mtit_declarations.rwl 153 +mtit_instance mtit_declarations.rwl 69 +mtit_max_payload mtit_declarations.rwl 67 +mtit_partitions parameters.rwl 378 +mtit_rev_double parameters.rwl 377 +mtit_rows_per_exec parameters.rwl 371 +mtit_seq mtit_declarations.rwl 85 +mtit_set_type mtit_declarations.rwl 87 +mtit_tab mtit_declarations.rwl 85 +mtit_threads parameters.rwl 370 +mtit_type parameters.rwl 373 +mtit_type_text parameters.rwl 379 +mtit_xc parameters.rwl 376 mtittype xcchange.rwl 41 mtxt csvdata.rwl 152 mtxt csvmtit.rwl 127 @@ -733,10 +734,10 @@ nextdouble aw_cols.rwl 132 no_awr_interval csvdata.rwl 43 nopool xcchange.rwl 37 nopool xccoreparam.rwl 17 -normal_connect parameters.rwl 296 -normal_stddev parameters.rwl 350 +normal_connect parameters.rwl 297 +normal_stddev parameters.rwl 351 notused csvdata.rwl 502 -num_rows mtit_create.rwl 143 +num_rows mtit_create.rwl 144 nvlstring csvdata.rwl 497 o1 oe_handle_orders.rwl 694 o2 oe_handle_orders.rwl 694 @@ -786,7 +787,7 @@ order_total oe_handle_orders.rwl 695 order_total oe_handle_orders.rwl 754 order_total oe_handle_orders.rwl 89 orderby latest.rwl 21 -orders_hashcount parameters.rwl 133 +orders_hashcount parameters.rwl 134 orders_made oe_handle_orders.rwl 81 ordid oepartalloc.rwl 21 osstat_getres timemodel.rwl 203 @@ -795,16 +796,16 @@ otherterm timemodel.rwl 40 out create_schemas.rwl 15 out_order_id oe_handle_orders.rwl 86 outf scalefract.rwl 24 -ovid2load mtit_declarations.rwl 136 -ovidarray /home/bengsig/rwloadsim/public/ovid2.rwl 69 -ovidstring /home/bengsig/rwloadsim/public/ovid2.rwl 7073 -ovidstring2 /home/bengsig/rwloadsim/public/ovid2.rwl 7085 +ovid2load mtit_declarations.rwl 145 +ovidarray ../public/ovid2.rwl 69 +ovidstring ../public/ovid2.rwl 7073 +ovidstring2 ../public/ovid2.rwl 7085 p_pass create_schemas.rwl 17 p_user create_schemas.rwl 17 p_user drop_schemas.rwl 13 parsefailure xcchange.rwl 27 passwords parameters2shell.rwl 22 -payload mtit_declarations.rwl 135 +payload mtit_declarations.rwl 144 pcnt oe_fillproducts.rwl 15 pcode oe_fillcustomers.rwl 14 pcount runtrunc.rwl 40 @@ -848,7 +849,7 @@ plotruntp plotruntp.rwl 22 plotweres mtitplotwe.rwl 25 plotweres plotrunwetim.rwl 22 pna oe_fillproducts.rwl 9 -pool_connect parameters.rwl 298 +pool_connect parameters.rwl 299 pool_mb1 runsys.rwl 92 pool_mb2 runsys.rwl 92 pool_mb3 runsys.rwl 92 @@ -859,13 +860,13 @@ pool_mb7 runsys.rwl 93 pool_mb8 runsys.rwl 93 pool_name runsys.rwl 94 pool_rs runsys.rwl 92 -pool_size_interval parameters.rwl 274 -pool_type parameters.rwl 297 +pool_size_interval parameters.rwl 275 +pool_type parameters.rwl 298 prefinst oltpawr.rwl 123 probystat oe_fillproducts.rwl 64 -proccount parameters.rwl 76 -procminus1 mtit_declarations.rwl 208 -procnumber parameters.rwl 75 +proccount parameters.rwl 77 +procminus1 mtit_declarations.rwl 220 +procnumber parameters.rwl 76 prod_id oe_long_session.rwl 11 product_description oe_handle_orders.rwl 649 product_description oe_handle_orders.rwl 696 @@ -910,8 +911,8 @@ qo_cnt plotrunwetim.rwl 44 qo_dtim csvdata.rwl 433 qo_et plotrunwetim.rwl 44 qo_exec csvdata.rwl 431 -qo_sleep_avg parameters.rwl 360 -qo_sleep_fac parameters.rwl 362 +qo_sleep_avg parameters.rwl 361 +qo_sleep_fac parameters.rwl 363 qo_wait csvdata.rwl 431 qo_wt plotrunwetim.rwl 44 qry_awrtim csvdata.rwl 183 @@ -926,20 +927,20 @@ quantity oe_handle_orders.rwl 758 quantity oe_handle_products.rwl 60 quantity_on_hand oe_handle_orders.rwl 383 quantity_on_hand oe_handle_products.rwl 62 -query_factor parameters.rwl 102 +query_factor parameters.rwl 103 query_order oe_handle_orders.rwl 751 query_order_count oe_handle_orders.rwl 747 query_order_items oe_handle_orders.rwl 748 -query_order_max_limit parameters.rwl 140 +query_order_max_limit parameters.rwl 141 queryorder run.rwl 103 -queryorder_weight parameters.rwl 107 +queryorder_weight parameters.rwl 108 r_key prepare.rwl 23 -rampfactor parameters.rwl 57 +rampfactor parameters.rwl 58 rampup parameters2shell.rwl 78 -ratefactor parameters.rwl 45 -ratefactor_divisor parameters.rwl 403 -ratefactor_multiplier parameters.rwl 401 -rategradient parameters.rwl 52 +ratefactor parameters.rwl 46 +ratefactor_divisor parameters.rwl 405 +ratefactor_multiplier parameters.rwl 403 +rategradient parameters.rwl 53 rcnt xcdefault.rwl 46 rda check_for_key.rwl 16 rdate kommentops.rwl 18 @@ -949,19 +950,20 @@ repchg xc_implementation.rwl 51 rescre create_schemas.rwl 51 resname csvdata.rwl 345 resok timemodel.rwl 114 -results_connect parameters.rwl 293 -results_in_test parameters.rwl 291 -results_password parameters.rwl 295 -results_username parameters.rwl 294 -resultsdir parameters.rwl 279 +results_connect parameters.rwl 294 +results_in_test parameters.rwl 292 +results_password parameters.rwl 296 +results_username parameters.rwl 295 +resultsdir parameters.rwl 280 retval csvdata.rwl 51 retval csvmtit.rwl 29 -rixd mtit_create.rwl 128 +rixd mtit_create.rwl 129 rn runping.rwl 41 rno check_for_key.rwl 14 rno csvdata.rwl 790 rno latest.rwl 30 -rno mtit_declarations.rwl 133 +rno mtit_declarations.rwl 142 +rno2 mtit_declarations.rwl 194 rowspins xcchange.rwl 42 run cstorm_implementation.rwl 73 run mtitrun.rwl 65 @@ -985,66 +987,66 @@ runno plotrunwetim.rwl 18 runno scalefract.rwl 18 runno subdir.rwl 6 runno x2range.rwl 21 -runperiod parameters.rwl 130 -runplot_width parameters.rwl 242 +runperiod parameters.rwl 131 +runplot_width parameters.rwl 243 runrun run.rwl 293 runrunping runping.rwl 81 runrunsys runsys.rwl 181 runruntrunc runtrunc.rwl 58 -runsecmul mtit_declarations.rwl 208 +runsecmul mtit_declarations.rwl 220 rwl_aw aw_user.rwl 14 rwl_aw1 aw_sizeinfo.rwl 11 -rwl_aw1_password parameters.rwl 302 -rwl_aw1_username parameters.rwl 301 -rwl_aw2_password parameters.rwl 304 -rwl_aw2_username parameters.rwl 303 +rwl_aw1_password parameters.rwl 303 +rwl_aw1_username parameters.rwl 302 +rwl_aw2_password parameters.rwl 305 +rwl_aw2_username parameters.rwl 304 rwl_aw_create aw_cols.rwl 13 -rwl_daily_html parameters.rwl 84 -rwl_heading parameters.rwl 82 -rwl_max_batch parameters.rwl 93 -rwl_max_pool parameters.rwl 63 -rwl_min_batch parameters.rwl 92 -rwl_min_pool parameters.rwl 62 -rwl_oe_password parameters.rwl 306 +rwl_daily_html parameters.rwl 85 +rwl_heading parameters.rwl 83 +rwl_max_batch parameters.rwl 94 +rwl_max_pool parameters.rwl 64 +rwl_min_batch parameters.rwl 93 +rwl_min_pool parameters.rwl 63 +rwl_oe_password parameters.rwl 307 rwl_oe_pool oe_user.rwl 8 -rwl_oe_username parameters.rwl 305 +rwl_oe_username parameters.rwl 306 rwl_ping runping.rwl 24 -rwl_pool_release parameters.rwl 64 +rwl_pool_release parameters.rwl 65 rwl_run run_user.rwl 122 rwl_run1 checkepoch.rwl 11 -rwl_run1_password parameters.rwl 308 -rwl_run1_username parameters.rwl 307 -rwl_run2_password parameters.rwl 310 -rwl_run2_username parameters.rwl 309 +rwl_run1_password parameters.rwl 309 +rwl_run1_username parameters.rwl 308 +rwl_run2_password parameters.rwl 311 +rwl_run2_username parameters.rwl 310 rwl_run_batch run_user.rwl 164 -rwl_run_like parameters.rwl 311 +rwl_run_like parameters.rwl 312 rwl_run_mtit mtit_user.rwl 11 rwl_run_pool run_user.rwl 129 rwl_run_storm cstorm_implementation.rwl 18 -rwl_title parameters.rwl 312 +rwl_title parameters.rwl 313 rwloadsim results.rwl 8 -rwloadsimdir parameters.rwl 292 -s /home/bengsig/rwloadsim/public/ovid2.rwl 7089 +rwloadsimdir parameters.rwl 293 +s ../public/ovid2.rwl 7089 s run.rwl 114 -s24h_hard_avg parameters.rwl 212 -s24h_hard_beg parameters.rwl 214 -s24h_hard_end parameters.rwl 215 -s24h_hard_prb parameters.rwl 217 -s24h_hard_skp parameters.rwl 216 -s24h_hard_std parameters.rwl 213 -s24h_high_beg parameters.rwl 204 -s24h_high_end parameters.rwl 205 -s24h_high_std parameters.rwl 206 -s24h_load_hi parameters.rwl 207 -s24h_load_lo parameters.rwl 208 -s24h_load_std parameters.rwl 209 -s24h_scan_avg parameters.rwl 219 -s24h_scan_beg parameters.rwl 221 -s24h_scan_end parameters.rwl 222 -s24h_scan_prb parameters.rwl 224 -s24h_scan_skp parameters.rwl 223 -s24h_scan_std parameters.rwl 220 -s24hour parameters.rwl 198 +s24h_hard_avg parameters.rwl 213 +s24h_hard_beg parameters.rwl 215 +s24h_hard_end parameters.rwl 216 +s24h_hard_prb parameters.rwl 218 +s24h_hard_skp parameters.rwl 217 +s24h_hard_std parameters.rwl 214 +s24h_high_beg parameters.rwl 205 +s24h_high_end parameters.rwl 206 +s24h_high_std parameters.rwl 207 +s24h_load_hi parameters.rwl 208 +s24h_load_lo parameters.rwl 209 +s24h_load_std parameters.rwl 210 +s24h_scan_avg parameters.rwl 220 +s24h_scan_beg parameters.rwl 222 +s24h_scan_end parameters.rwl 223 +s24h_scan_prb parameters.rwl 225 +s24h_scan_skp parameters.rwl 224 +s24h_scan_std parameters.rwl 221 +s24hour parameters.rwl 199 s24line csvdata.rwl 212 s24markerfile csvdata.rwl 211 s24markers run.rwl 196 @@ -1056,11 +1058,11 @@ savecaches runsys.rwl 91 saveres cstorm_implementation.rwl 56 savtim oltpawr.rwl 230 scount csvmtit.rwl 275 -script_ramp parameters.rwl 71 +script_ramp parameters.rwl 72 search_products oe_handle_products.rwl 15 searches_made oe_handle_products.rwl 9 searchproduct run.rwl 99 -searchproduct_weight parameters.rwl 108 +searchproduct_weight parameters.rwl 109 searchtext oe_handle_products.rwl 15 sec eatcpu.rwl 9 sec mtitrun.rwl 82 @@ -1120,21 +1122,21 @@ seltimm_sql plotfigures.rwl 88 seltps_sql csvdata.rwl 281 seltps_sql plotruntp.rwl 45 selvkdat scalefract.rwl 35 -seq mtit_declarations.rwl 138 -seqplace mtit_declarations.rwl 79 +seq mtit_declarations.rwl 147 +seqplace mtit_declarations.rwl 88 ses_parallel aw_cols.rwl 193 sessionleak xcchange.rwl 25 setdbname prepare.rwl 93 ship_many_orders oe_handle_orders.rwl 556 ship_order oe_handle_orders.rwl 381 -shiporder_weight parameters.rwl 117 +shiporder_weight parameters.rwl 118 shiporders run.rwl 91 shipped_items oe_handle_orders.rwl 499 -show_changed_values parameters.rwl 163 +show_changed_values parameters.rwl 164 showall latest.rwl 18 showstart run.rwl 185 showthem oe_fillcustomers.rwl 71 -simulatebatch parameters.rwl 99 +simulatebatch parameters.rwl 100 skipnegative col_averages.rwl 11 sltp oe_handle_orders.rwl 695 snap oltpawr.rwl 19 @@ -1146,7 +1148,7 @@ sp_wait csvdata.rwl 430 space create_schemas.rwl 17 sqlddl create_schemas.rwl 20 sqlddl drop_schemas.rwl 16 -sqrt_query_factor parameters.rwl 477 +sqrt_query_factor parameters.rwl 479 src_products oe_handle_products.rwl 25 starttime ashstep1.rwl 31 starttime csvdata.rwl 41 @@ -1156,19 +1158,19 @@ stock_added oe_handle_products.rwl 54 stock_increased oe_handle_products.rwl 53 stocks run.rwl 114 stockup run.rwl 112 -stockup_weight parameters.rwl 111 +stockup_weight parameters.rwl 112 stopnow xcchange.rwl 36 stopnow xccoreparam.rwl 16 storm_results cstorm_implementation.rwl 27 -str /home/bengsig/rwloadsim/public/ovid2.rwl 7076 -str /home/bengsig/rwloadsim/public/ovid2.rwl 7088 -subdir parameters.rwl 280 +str ../public/ovid2.rwl 7076 +str ../public/ovid2.rwl 7088 +subdir parameters.rwl 281 success csvdata.rwl 849 suggest check_directories.rwl 12 sumdbtime csvdata.rwl 99 sumdbtime csvmtit.rwl 77 sume oe_handle_orders.rwl 695 -svgmouse parameters.rwl 739 +svgmouse parameters.rwl 741 sys mtitrun.rwl 82 sys run.rwl 560 sys1 csvosstat.rwl 14 @@ -1187,15 +1189,15 @@ sys7 csvosstat.rwl 14 sys7 timemodel.rwl 198 sys8 csvosstat.rwl 14 sys8 timemodel.rwl 198 -sysawr_connect parameters.rwl 287 -sysawr_password parameters.rwl 289 -sysawr_username parameters.rwl 288 +sysawr_connect parameters.rwl 288 +sysawr_password parameters.rwl 290 +sysawr_username parameters.rwl 289 sysawrdb systemdb.rwl 14 sysres scalefract.rwl 95 -syssave_interval parameters.rwl 245 -system_connect parameters.rwl 281 -system_password parameters.rwl 283 -system_username parameters.rwl 282 +syssave_interval parameters.rwl 246 +system_connect parameters.rwl 282 +system_password parameters.rwl 284 +system_username parameters.rwl 283 systemdb systemdb.rwl 8 t_dbsystim timemodel.rwl 37 t_name timemodel.rwl 35 @@ -1212,7 +1214,7 @@ termdist timemodel.rwl 304 termdist_query timemodel.rwl 61 termdist_query_gv timemodel.rwl 89 test_aw_transaction aw_declarations.rwl 293 -testdebug parameters.rwl 159 +testdebug parameters.rwl 160 thissec mtitrun.rwl 81 thissec run.rwl 559 thissys mtitrun.rwl 81 @@ -1220,14 +1222,14 @@ thissys run.rwl 559 thisterm timemodel.rwl 40 thisusr mtitrun.rwl 81 thisusr run.rwl 559 -threadcount parameters.rwl 95 -threadcount_divisor parameters.rwl 404 -threadcount_multiplier parameters.rwl 402 +threadcount parameters.rwl 96 +threadcount_divisor parameters.rwl 406 +threadcount_multiplier parameters.rwl 404 thrid csvdata.rwl 788 tim1 runping.rwl 34 tim2 runping.rwl 34 tim3 runping.rwl 34 -time_out parameters.rwl 48 +time_out parameters.rwl 49 timemodel_getres timemodel.rwl 117 timemodel_insert timemodel.rwl 309 timemodel_save timemodel.rwl 302 @@ -1238,7 +1240,7 @@ tit3 csvdata.rwl 793 tmatch csvdata.rwl 50 tmatch csvmtit.rwl 28 to_be_shipped oe_handle_orders.rwl 559 -tot /home/bengsig/rwloadsim/public/ovid2.rwl 7090 +tot ../public/ovid2.rwl 7090 tot aw_cols.rwl 212 tot runsys.rwl 50 tot_orders oe_handle_orders.rwl 559 @@ -1295,7 +1297,7 @@ usr8 csvosstat.rwl 13 usr8 timemodel.rwl 197 usrsystim timemodel.rwl 201 ustsdif timemodel.rwl 245 -val mtit_declarations.rwl 134 +val mtit_declarations.rwl 143 val1 csvdata.rwl 280 val2 csvdata.rwl 280 val3 csvdata.rwl 280 @@ -1313,14 +1315,14 @@ warehouse_id run.rwl 113 warehouse_received run.rwl 108 was_shipped oe_handle_orders.rwl 379 wburst_count command line 1 -wburst_count parameters.rwl 177 -wburst_length parameters.rwl 179 +wburst_count parameters.rwl 178 +wburst_length parameters.rwl 180 wburst_run run.rwl 237 -wburst_start parameters.rwl 178 +wburst_start parameters.rwl 179 wburst_wait run.rwl 230 -wcount /home/bengsig/rwloadsim/public/ovid2.rwl 7073 +wcount ../public/ovid2.rwl 7073 whereclause aw_declarations.rwl 369 -wholeaffin mtit_declarations.rwl 133 +wholeaffin mtit_declarations.rwl 142 wid oe_fillwarehouses.rwl 5 withdesc oe_handle_orders.rwl 751 withdml oe_long_session.rwl 9 @@ -1336,35 +1338,35 @@ wna oe_fillwarehouses.rwl 7 wrapfetch runping.rwl 42 writeping runping.rwl 48 wtime csvmtit.rwl 274 -xc_badplan parameters.rwl 330 -xc_cpusec parameters.rwl 332 -xc_cursorcache parameters.rwl 325 -xc_cursorleak parameters.rwl 326 -xc_enabled parameters.rwl 316 -xc_hardparse parameters.rwl 321 -xc_ignore_parsefailure parameters.rwl 336 +xc_badplan parameters.rwl 331 +xc_cpusec parameters.rwl 333 +xc_cursorcache parameters.rwl 326 +xc_cursorleak parameters.rwl 327 +xc_enabled parameters.rwl 317 +xc_hardparse parameters.rwl 322 +xc_ignore_parsefailure parameters.rwl 337 xc_kill xc_implementation.rwl 310 -xc_loadfactor parameters.rwl 320 -xc_logoffrate parameters.rwl 329 +xc_loadfactor parameters.rwl 321 +xc_logoffrate parameters.rwl 330 xc_marker xc_implementation.rwl 39 -xc_maxpool parameters.rwl 324 -xc_minpool parameters.rwl 323 -xc_nopool parameters.rwl 334 -xc_parsefailure parameters.rwl 322 -xc_proccount parameters.rwl 333 -xc_ratefactor parameters.rwl 319 +xc_maxpool parameters.rwl 325 +xc_minpool parameters.rwl 324 +xc_nopool parameters.rwl 335 +xc_parsefailure parameters.rwl 323 +xc_proccount parameters.rwl 334 +xc_ratefactor parameters.rwl 320 xc_read xc_implementation.rwl 51 -xc_refresh parameters.rwl 318 +xc_refresh parameters.rwl 319 xc_run_dedicated run.rwl 25 -xc_sessionleak parameters.rwl 327 -xc_sessionwait parameters.rwl 335 -xc_stopnow parameters.rwl 328 -xc_waitsec parameters.rwl 331 +xc_sessionleak parameters.rwl 328 +xc_sessionwait parameters.rwl 336 +xc_stopnow parameters.rwl 329 +xc_waitsec parameters.rwl 332 xcolor csvdata.rwl 42 xcolor csvmtit.rwl 21 -xeqpsec parameters.rwl 511 -xeqpshi parameters.rwl 517 -xeqpslo parameters.rwl 516 +xeqpsec parameters.rwl 513 +xeqpshi parameters.rwl 519 +xeqpslo parameters.rwl 518 xhi x2range.rwl 23 xlo x2range.rwl 22 xseconds csvdata.rwl 49 diff --git a/public/ashplot.rwl b/public/ashplot.rwl index e1f5e0ac..71c5cb45 100644 --- a/public/ashplot.rwl +++ b/public/ashplot.rwl @@ -20,6 +20,7 @@ # bengsig 19-oct-2020 Added -d option for awr query # bengsig 23-mar-2019 Improved comments # bengsig 20-mar-2019 Created +$alwaysmute:206 # options to this script $longoption:file-count=1 diff --git a/public/awrdump.rwl b/public/awrdump.rwl index adf046fe..a9390219 100644 --- a/public/awrdump.rwl +++ b/public/awrdump.rwl @@ -10,6 +10,7 @@ # bengsig 22-nov-2022 - Creation # Dump awr data to a directory and potentially cloud bucket +$alwaysmute:206 # If we didn't connect, don't do anything $if not defined(default database) $then diff --git a/public/awrreport.rwl b/public/awrreport.rwl index 047a7504..228153af 100644 --- a/public/awrreport.rwl +++ b/public/awrreport.rwl @@ -11,6 +11,7 @@ # bengsig 24-nov-2022 - Better argument handling # bengsig 11-may-2022 - Rename to awreport.rwl # bengsig 13-apr-2022 - Creation +$alwaysmute:206 # Generate awr reports or list awr snapshots available diff --git a/public/netthroughput.rwl b/public/netthroughput.rwl index 5ce67a0b..730f9b6f 100644 --- a/public/netthroughput.rwl +++ b/public/netthroughput.rwl @@ -48,6 +48,7 @@ # after expected start time # # --verbosetest Make the output more verbose +$alwaysmute:206 # If we didn't connect, don't do anything $if not defined(default database) $then diff --git a/public/sqlmonitor.rwl b/public/sqlmonitor.rwl index 0f8d7f32..92700b90 100644 --- a/public/sqlmonitor.rwl +++ b/public/sqlmonitor.rwl @@ -1,11 +1,12 @@ -# sqlid2mon.rwl +# sqlmonitor.rwl # -# Copyright (c) 2022 Oracle Corporation +# Copyright (c) 2022, 2024 Oracle Corporation # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ # # History # +# bengsig 13-jun-2024 - modernize, call from shell script # bengsig 27-jun-2023 - Fix _, mute # bengsig 28-apr-2022 - Exit on connect error # bengsig 13-apr-2022 - Change output's to use hyphen @@ -14,41 +15,49 @@ # # usage: # -# rwloadsim -ul system/{password}@//host/database sqlid2mon.rwl sqlid +# rwloadsim -ul system/{password}@//host/database sqlmonitor.rwl sqlid # # output: sqlid.html +$alwaysmute:206 # If we didn't connect, don't do anything -if oraerror is not null and oraerror then +$if not defined(default database) $then + writeline stderr, "Missing or incorrect -l option; use -h to get help"; exit 1; -end if; +$endif $longoption:file-count=1 string sql_exec_start; -$useroption:sql-exec-start:"--sql-exec-start=YYYY.MM.DDTHH24:MI:SS : provide sql-exec-start" integer sql_exec_id; -$useroption:sql-exec-id:"--sql-exec-id=N : provide sql-exec-id" integer sql_plan_hash_value; -$useroption:sql-plan-hash-value:"--sql-plan-hash-value=N : provide sql-plan-hash-value" string con_name; -$useroption:con-name:"--con-name=con-name : provide the con-name" string(4100) output_file; -$useroption:output-file:"--output-file=filename : use specified filename in stead of sqlid.html" string(4100) output_directory := "." ; -$useroption:output-directory:"--output-directory=directory : put output file in this directory" + + $userhelp:"Create a sql monitor by calling dbms_sql_monitor.report_sql_monitor" + $userhelp:"-l usr/pwd@con : required option to give database logon" + $userhelp:"sqlid : exactly one sqlid must be given" + $useroption:sql-exec-id:"--sql-exec-id=N : provide sql_exec_id" + $useroption:sql-exec-start:"--sql-exec-start=" + $userhelp:" YYYY.MM.DDTHH24:MI:SS : provide sql_exec_start" +$useroption:sql-plan-hash-value:"--sql-plan-hash-value=N : provide sql_plan_hash_value" + $useroption:con-name:"--con-name=con-name : provide con_name" + $useroption:output-file:"--output-file=filename : write to filename in stead of sqlid.html" + $useroption:output-directory:"--output-directory=" + $userhelp:" directory : put file in directory in stead of current" $oraerror:stop string(13) sqlid; if $# != 1 then - writeline stderr, "\nusage: rwloadsim [--userhelp] [options] -ul system/{password}@//host/database sqlmonitor.rwl sqlid"; + writeline stderr, "\nusage: sqlmonitor [--help] [options] -l system/{password}@//host/database sqlid"; exit 1; end if; @@ -58,8 +67,6 @@ sqlid := $1; string(10000000) txt; -clob res; - sql rep_sql begin :1 := dbms_sql_monitor.report_sql_monitor @@ -72,7 +79,7 @@ sql rep_sql , report_level => 'ALL'); end; / - bindout 1 res; + bindout 1 txt; bind 2 sqlid, 3 sql_exec_id, 4 sql_exec_start; bind 5 sql_plan_hash_value, 6 con_name; end; @@ -80,18 +87,18 @@ end; rep_sql; file out; -execute - - readlob res, txt; - - if output_file = "" then - out := output_directory "/" sqlid || ".html"; - else - out := output_directory "/" output_file; - end if; +if output_file = "" then + out := output_directory "/" sqlid || ".html"; +else + out := output_directory "/" output_file; +end if; - writeline out, txt; - out := null; -end; +writeline out, txt; +out := null; +if output_file = "" then + printline "Created " output_directory "/" sqlid ".html" ; +else + printline "Created " output_directory "/" output_file; +end if; diff --git a/public/sqlreport.rwl b/public/sqlreport.rwl index df4ac834..5af1c55e 100644 --- a/public/sqlreport.rwl +++ b/public/sqlreport.rwl @@ -6,6 +6,7 @@ # # History # +# bengsig 13-jun-2024 - Modernize # bengsig 28-apr-2022 - Exit on connect error # bengsig 13-apr-2022 - Change output's to use hyphen # bengsig 2018 - Creation @@ -16,37 +17,39 @@ # rwloadsim -ul system/{password}@//host/database sqlreport.rwl sqlid # # output: sqlid.html +$alwaysmute:206 # If we didn't connect, don't do anything -if oraerror is not null and oraerror then +$if not defined(default database) $then + writeline stderr, "Missing or incorrect -l option; use -h to get help"; exit 1; -end if; +$endif $longoption:file-count=1 string(4100) output_file; -$useroption:output-file:"--output-file=filename : use specified filename in stead of sqlid.html" string(4100) output_directory := "." ; -$useroption:output-directory:"--output-directory=directory : put output file in this directory" + $userhelp:"Create a sql report by calling dbms_sqltune.report_sql_detail" + $userhelp:"-l usr/pwd@con : required option to give database logon" + $userhelp:"sqlid : exactly one sqlid must be given" + $useroption:output-file:"--output-file=filename : write to filename in stead of sqlid.html" + $useroption:output-directory:"--output-directory=" + $userhelp:" directory : put file in directory in stead of current" $oraerror:stop string(13) sqlid; if $# != 1 then - writeline stderr, "\nusage: rwloadsim [--userhelp] [options] -ul system/{password}@//host/database sqlreport.rwl sqlid"; + writeline stderr, "\nusage: sqlreport [--help] [options] -l system/{password}@//host/database sqlid"; exit 1; end if; sqlid := $1; -$mute:46 - string(10000000) txt; -clob res; - sql rep_sql begin :1 := dbms_sqltune.report_sql_detail @@ -55,24 +58,25 @@ sql rep_sql , report_level => 'ALL'); end; / - bindout 1 res; + bindout 1 txt; bind 2 sqlid; end; rep_sql; file out; -execute - - readlob res, txt; - if output_file = "" then - out := output_directory "/" sqlid || ".html"; - else - out := output_directory "/" output_file; - end if; +if output_file = "" then + out := output_directory "/" sqlid || ".html"; +else + out := output_directory "/" output_file; +end if; - writeline out, txt; - out := null; -end; +writeline out, txt; +out := null; +if output_file = "" then + printline "Created " output_directory "/" sqlid ".html" ; +else + printline "Created " output_directory "/" output_file; +end if; From 9588cdc78770ff24be34270da1cb23245b328225 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 3 Jul 2024 09:55:05 +0000 Subject: [PATCH 070/118] no dropped in stead of 0% dropped --- bin/oltpplot | 3 ++- oltp/plotinfo.rwl | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/bin/oltpplot b/bin/oltpplot index 75759bcd..3706d919 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 3-jul-2024 bengsig 0% dropped -> no dropped # 22-may-2024 bengsig Split long gnuplot lines # 21-may-2024 bengsig memory is logscale due to large differences # 17-may-2024 bengsig add PGA @@ -203,7 +204,7 @@ eval `rwloadsim -q plotinfo.rwl --myrunnumber=$runnumber` if test $fractdrop = no then - fracttext="Execution time fractiles ($droppct% dropped)" + fracttext="Execution time fractiles ($droppct dropped)" else fracttext='Execution time fractiles (dropped "cost" 2s)' fi diff --git a/oltp/plotinfo.rwl b/oltp/plotinfo.rwl index 70c8f8ae..c918b155 100644 --- a/oltp/plotinfo.rwl +++ b/oltp/plotinfo.rwl @@ -6,6 +6,7 @@ # # Return some shell variables needed for oltpplot +# bengsig 3-jul-2024 - 0% dropped -> no dropped # bengsig 9-may-2024 - Add drop% # bengsig 19-mar-2024 - Better adtime check # bengsig 5-mar-2024 - Creation @@ -58,15 +59,15 @@ execute at rwloadsim if forg = "GOOD" then goodcount := fgcount; end if; end loop; if failcount is not null and goodcount is not null then - if failcount > 0.98 * goodcount then - printf "droppct=%.0f\n", 100*failcount/goodcount; + if failcount > 0.4 * goodcount then + printf "droppct=%.0f%%\n", 100*failcount/goodcount; elseif failcount > 0.1 * goodcount then - printf "droppct=%.1f\n", 100*failcount/goodcount; + printf "droppct=%.1f%%\n", 100*failcount/goodcount; else - printf "droppct=%.2f\n", 100*failcount/goodcount; + printf "droppct=%.2f%%\n", 100*failcount/goodcount; end if; else - printf "droppct=0\n"; + printf "droppct=no\n"; end if; end; From af09762a52f66730ab6ab6081505d18d875be8be Mon Sep 17 00:00:00 2001 From: Omar Bakhir Date: Wed, 3 Jul 2024 10:39:52 +0000 Subject: [PATCH 071/118] Fixed rwlreadlob --- src/rwlerror.h | 13 +++++++ src/rwlsql.c | 74 +++++++++++++++++++++++++++++---------- test/392.rwl | 59 +++++++++++++++++++++++++++++++ test/test.sh | 2 +- test/testres/392.err.good | 2 ++ test/testres/392.out.good | 25 +++++++++++++ 6 files changed, 155 insertions(+), 20 deletions(-) create mode 100644 test/392.rwl create mode 100644 test/testres/392.err.good create mode 100644 test/testres/392.out.good diff --git a/src/rwlerror.h b/src/rwlerror.h index 905db24a..3ad3d83a 100644 --- a/src/rwlerror.h +++ b/src/rwlerror.h @@ -11,6 +11,7 @@ * * History * + * obakhir 24-jun-2024 - Add RWL_ERROR_CLOB_TOO_LARGE for rwlreadlob * bengsig 17-apr-2024 - nostatistics statement * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 5-mar-2024 - atime, dtime @@ -1813,6 +1814,18 @@ RWLEDESC("When the $oraerror:showoci directive is in effect, this warning will b RWLERROR("nostatistics has no effect here", RWL_ERROR_WARNING) RWLEDESC("The nostatistics statement only has an effect inside a declared proedure") +#define RWL_ERROR_CONTROL_C_BREAK 322 +RWLERROR("RWL-322: user requested break" RWL_LINEEND, RWL_ERROR_RUNTIME|RWL_ERROR_RWLDASH) +RWLEDESC("The $ora01013:break directive is in effect and ctrl-c has caused a break." RWL_LINEEND +"You need to also have a $ora01013:reset directive later in your rwl program" RWL_LINEEND +"to allow any clean up procedures to be called") + +#define RWL_ERROR_CLOB_TOO_LARGE 323 +RWLERROR("Only %d out of %d NLS characters from clob saved in string of size %d bytes", RWL_ERROR_RUNTIME) +RWLEDESC("When performing the OCILobRead2 call, the clob in the database has more" RWL_LINEEND +"characters than would would fit in the string variable provided. The return" RWL_LINEEND +"value has been truncated to a lower of number of characters") + // When adding new errors, add them before these lines // and make sure the #define follows a format like // #define RWL_ERROR_whatever_reasonable_here NNN diff --git a/src/rwlsql.c b/src/rwlsql.c index e9bda643..c4ef3fe4 100644 --- a/src/rwlsql.c +++ b/src/rwlsql.c @@ -11,6 +11,7 @@ * * History * + * obakhir 24-jun-2024 - rwlreadlob : enablement of piecewise reading and error handling using RWL_ERROR_CLOB_TOO_LARGE * bengsig 22-may-2024 - lobwrite: trim before write * bengsig 4-apr-2024 - $oraerror:showoci directive * bengsig 21-mar-2024 - fix reconnect @@ -4373,27 +4374,67 @@ void rwlreadlob(rwl_xeqenv *xev , rwl_location *loc , text *fname ) -{ - ub8 amtchr = pres->slen; +{ + ub8 byte_amt = 0; + ub8 char_amt = 0; + ub8 offset = 1; + ub8 byte_inc = 0; // Incrementation of read bytes from the CLOB inside the loop + ub8 char_inc = 0; // Incrementation of read chars from the CLOB inside the loop + ub8 len = 0; // Variable that will store CLOB length in characters + + RWL_OATIME_BEGIN(xev, loc, db->seshp, 0, fname, 1) + OCILobGetLength2( db->svchp + , xev->errhp + , lobp + , &len); // Get the CLOB length in characters + RWL_OATIME_END + char_amt = len; + if (!db) { rwlexecsevere(xev, loc, "[rwlreadlob-nodb]"); return; } rwlinitstrvar(xev, pres); - RWL_OATIME_BEGIN(xev, loc, db->seshp, 0, fname, 1) + + do + { + RWL_OATIME_BEGIN(xev, loc, db->seshp, 0, fname, 1) xev->status = OCILobRead2(db->svchp , xev->errhp , lobp - , 0 /*byte_amtp*/ - , &amtchr - , 1 /*offset*/ - , pres->sval, amtchr - , OCI_ONE_PIECE - , 0,0 - , (ub2) 0, (ub1) SQLCS_IMPLICIT); - RWL_OATIME_END + , &byte_amt + , &char_amt + , offset + , pres->sval+byte_inc + , pres->slen-byte_inc + , OCI_FIRST_PIECE // This piece parameter value will change to OCI_NEXT_PIECE internally in OCILobRead2() after the first the first iteration + , (void *)0 + , (OCICallbackLobRead2)0 + , (ub2)0 + , (ub1)SQLCS_IMPLICIT); + RWL_OATIME_END + + byte_inc+=byte_amt; + char_inc+=char_amt; + + // If BUFFSIZE < CLOB_Byte_Length + if(pres->slen-byte_inc <= 4 && xev->status == OCI_NEED_DATA ) + { + pres->sval[byte_inc] = '\0'; + rwlexecerror(xev, loc, RWL_ERROR_CLOB_TOO_LARGE, char_inc, len, pres->slen); + pres->ival=rwlatosb8(pres->sval); + pres->dval=rwlatof(pres->sval); + pres->isnull = 0; + OCIBreak(db->svchp, xev->errhp); + OCIReset(db->svchp, xev->errhp); + return; + } + + } while (xev->status == OCI_NEED_DATA); + + if (OCI_SUCCESS != xev->status) { rwldberrorc1(xev, loc, (text *)"OCILobRead2", fname); @@ -4402,17 +4443,12 @@ void rwlreadlob(rwl_xeqenv *xev pres->dval=0.0; } else - { - if (bit(xev->tflags, RWL_THR_DSQL)) - { - rwldebugcode(xev->rwm,loc,"OCILobRead got amtchr=%d %.*s" - , amtchr, amtchr, pres->sval); - } - pres->sval[amtchr] = 0; + { + pres->sval[byte_inc] = '\0'; pres->ival=rwlatosb8(pres->sval); pres->dval=rwlatof(pres->sval); + pres->isnull = 0; } - pres->isnull = 0; } void rwlreadloblo(rwl_xeqenv *xev diff --git a/test/392.rwl b/test/392.rwl new file mode 100644 index 00000000..2d81d624 --- /dev/null +++ b/test/392.rwl @@ -0,0 +1,59 @@ +# +# Test for correct lobread +# +# run it both of these: +# rwloadsim 392.rwl +# rwloadsim 392.rwl --buflength=50 +# +# Note that the file has characters in AL32UTF8 format +# and that you must have this environment: +# NLS_LANG=american_america.al32utf8 +# +$include:"testuserinfo.rwl" +$include:"testdefault.rwl" + +# This will fail first time only +drop table clobtest purge +/ + +create table clobtest(id number primary key, cl clob) +/ + +clob cl; + +integer buflength := 46; $useroption:buflength + +string(60) str; +string(buflength) buf, chr; + +integer dblen, mylen; + +integer id := 0; +for str := "only asciiã—¼ð„¢" + , "one utf Bjørn Engsig" + , "aGarçon blÃ¥bærsyltetøj four Bjørn 㗼㛛" + , "abGarçon blÃ¥bærsyltetøj four Bjørn 㗼㛛" + , "abcGarçon blÃ¥bærsyltetøj four Bjørn 㗼㛛" +loop + + # insert a row + insert into clobtest values (:id, empty_clob()); + select cl from clobtest where id=:id; + + # write the string as a lob + writelob cl, str; + + # get it back + readlob cl, buf; + mylen := lengthb(buf); + select dbms_lob.getlength(:cl) dblen from dual; + + # and also read is as normal varchar2 define + select cl chr from clobtest where id = :id; + printf "inlen=%d mylen=%d, dblen=%d, chrlen=%d\nstr='%s'\nbuf='%s'\nchr='%s'\n\n" + , lengthb(str), mylen, dblen, lengthb(chr), str, buf, chr; + commit; + + id += 1; +end loop; + diff --git a/test/test.sh b/test/test.sh index c53a8ff5..192e4dc5 100755 --- a/test/test.sh +++ b/test/test.sh @@ -47,7 +47,7 @@ then testlist="$*" else # note that 323..326 test CQN which we don't currently compile in - testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 400 401' + testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 400 401' fi diffokcount=0; diff --git a/test/testres/392.err.good b/test/testres/392.err.good new file mode 100644 index 00000000..612636d9 --- /dev/null +++ b/test/testres/392.err.good @@ -0,0 +1,2 @@ +RWL-323: error at [392.rwl;47]<-[392.rwl;58]: Only 36 out of 37 NLS characters from clob saved in string of size 47 bytes +RWL-323: error at [392.rwl;47]<-[392.rwl;58]: Only 37 out of 38 NLS characters from clob saved in string of size 47 bytes diff --git a/test/testres/392.out.good b/test/testres/392.out.good new file mode 100644 index 00000000..a66ae530 --- /dev/null +++ b/test/testres/392.out.good @@ -0,0 +1,25 @@ +inlen=17 mylen=17, dblen=13, chrlen=17 +str='only asciiã—¼ð„¢' +buf='only asciiã—¼ð„¢' +chr='only asciiã—¼ð„¢' + +inlen=21 mylen=21, dblen=20, chrlen=21 +str='one utf Bjørn Engsig' +buf='one utf Bjørn Engsig' +chr='one utf Bjørn Engsig' + +inlen=45 mylen=45, dblen=36, chrlen=45 +str='aGarçon blÃ¥bærsyltetøj four Bjørn 㗼㛛' +buf='aGarçon blÃ¥bærsyltetøj four Bjørn 㗼㛛' +chr='aGarçon blÃ¥bærsyltetøj four Bjørn 㗼㛛' + +inlen=46 mylen=43, dblen=37, chrlen=46 +str='abGarçon blÃ¥bærsyltetøj four Bjørn 㗼㛛' +buf='abGarçon blÃ¥bærsyltetøj four Bjørn ã—¼' +chr='abGarçon blÃ¥bærsyltetøj four Bjørn 㗼㛛' + +inlen=47 mylen=44, dblen=38, chrlen=46 +str='abcGarçon blÃ¥bærsyltetøj four Bjørn 㗼㛛' +buf='abcGarçon blÃ¥bærsyltetøj four Bjørn ã—¼' +chr='abcGarçon blÃ¥bærsyltetøj four Bjørn ã—¼ã›' + From 2ee6092e3ebb4f51db7d46a188523db213324952 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 3 Jul 2024 13:49:18 +0000 Subject: [PATCH 072/118] Changed end-to-end colors --- bin/oltpplot | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/bin/oltpplot b/bin/oltpplot index 3706d919..4542965d 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 3-jul-2024 bengsig changed end-to-end colors # 3-jul-2024 bengsig 0% dropped -> no dropped # 22-may-2024 bengsig Split long gnuplot lines # 21-may-2024 bengsig memory is logscale due to large differences @@ -688,12 +689,12 @@ END then cat >> $resultsdir$subdir${runnumber}/${vname}_waitexec.plot < Date: Thu, 4 Jul 2024 09:58:57 +0000 Subject: [PATCH 073/118] Add -2 option to oltpxcrun --- bin/oltpxcrun | 7 ++++--- docs/refman/oltpxcrun.html | 9 +++++++-- man/man2rwl/oltpxcrun.2rwl | 7 ++++++- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/bin/oltpxcrun b/bin/oltpxcrun index 608ae893..b1473e5d 100755 --- a/bin/oltpxcrun +++ b/bin/oltpxcrun @@ -13,8 +13,8 @@ . oltp-setup-env -options="gGk:HaR:hHr: -l help,key:,runperiod:,no-default,default,no-awr" -usage="$commandname [-H] [-g|-G] [-a] [--default] [--no-awr] [-k|--key key] [-R file] [-r runperiod] [komment text ...]" +options="2gGk:HaR:hHr: -l help,key:,runperiod:,no-default,default,no-awr" +usage="$commandname [-H] [-g|-G] [-a] [-2] [--default] [--no-awr] [-k|--key key] [-R file] [-r runperiod] [komment text ...]" help=no key="$RWLOLTP_NAME" @@ -45,7 +45,7 @@ do ;; --no-awr) copyargs="$copyargs --no-awr"; shift; ;; - -W|-a|-g|-G) copyargs="$copyargs $1"; shift; + -2|-W|-a|-g|-G) copyargs="$copyargs $1"; shift; ;; -H|--help|-h ) help=yes; shift; ;; @@ -64,6 +64,7 @@ cat < - + @@ -45,7 +45,7 @@

    SYNOPSIS

    oltpxcrun -[-H] [-g|-G] [-a] [-k key] [-R file] [-r runperiod] +[-H] [-g|-G] [-a] [-2] [-k key] [-R file] [-r runperiod] [--no-awr] [--default] [komment text ...]

    Continuously @@ -118,6 +118,11 @@

    OPTIONS the run. Only use this if the automatic allocation via interval partitions appears to cause trouble

    +

    -2

    + +

    Use side 2 of the +aw_transaction workload - needed in special cases only.

    +

    USAGE

    diff --git a/man/man2rwl/oltpxcrun.2rwl b/man/man2rwl/oltpxcrun.2rwl index 91b7bddb..cb02ff88 100644 --- a/man/man2rwl/oltpxcrun.2rwl +++ b/man/man2rwl/oltpxcrun.2rwl @@ -2,7 +2,7 @@ .SH NAME oltpxcrun \- Execute oltpcore with external control .SH SYNOPSIS -\fBoltpxcrun [-H] [-g|-G] [-a] [-k key] [-R file] [-r runperiod] [--no-awr] [--default] [komment text ...]\fR +\fBoltpxcrun [-H] [-g|-G] [-a] [-2] [-k key] [-R file] [-r runperiod] [--no-awr] [--default] [komment text ...]\fR .P Continuously make long runs with external control. .SH OPTIONS @@ -62,6 +62,11 @@ at the start of the run. Only use this if the automatic allocation via interval partitions appears to cause trouble .RE +.P +.B -2 +.RS 4 +Use side 2 of the aw_transaction workload - needed in special cases only. +.RE .SH USAGE The .B oltpxcrun From 6e39a169bdf70cfa8de4fc3e6e717316ad5aebb7 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 8 Jul 2024 16:48:24 +0000 Subject: [PATCH 074/118] Release 3.1.3 --- CHANGELOG.md | 2 ++ docs/ERRORLIST.md | 5 +++++ docs/INSTALL.md | 24 +++++++++++++++++++----- docs/ORACLENET.md | 4 ++-- src/rwl.h | 5 +++-- 5 files changed, 31 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a3c28e5..6ad09da3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ * The ashplot command can output a running graph * Added -= assignment * Various improvements to statistics gathering +* Client version 18 no longer supported +* Client version 23 now included ## 3.1.2 diff --git a/docs/ERRORLIST.md b/docs/ERRORLIST.md index 13efb91f..5cc5a120 100644 --- a/docs/ERRORLIST.md +++ b/docs/ERRORLIST.md @@ -1315,6 +1315,11 @@ The $ora01013:break directive is in effect and ctrl-c has caused a break. You need to also have a $ora01013:reset directive later in your rwl program to allow any clean up procedures to be called. +### RWL-323 error: "Only %d out of %d NLS characters from clob saved in string of size %d bytes" +When performing the OCILobRead2 call, the clob in the database has more +characters than would would fit in the string variable provided. The return +value has been truncated to a lower of number of characters. + ### RWL-600 internal error: '%s' An abnormal situation caused an internal error in rwloadsim. This is in most cases due to a programming error and it diff --git a/docs/INSTALL.md b/docs/INSTALL.md index d791f08d..829b9371 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -8,7 +8,7 @@ There are three types of binary distributions available at github releases: ### Using complete binaries -Complete binaries distributed in a file such rwloadsim-linux-x86_64-bin-3.1.2.tgz +Complete binaries distributed in a file such rwloadsim-linux-x86_64-bin-3.1.3.tgz can be used as is, i.e. without getting a clone or pull from github. It should be used if you simply want a full run time environment and it contains the following directories: @@ -27,7 +27,7 @@ and it contains the following directories: If you prefer to have access to source code, but avoid building the executables, you can clone or pull from github (which would allow you to potentially compile rwloadsim yourself), and then -use a file like rwloadsim-linux-x86_64-binonly-3.1.2.tgz. +use a file like rwloadsim-linux-x86_64-binonly-3.1.3.tgz. This file contains little more than the compiled binaries of the rwloadsim program, and you can simply un-tar this file directly into your cloned or pulled directory; the result will be as if you had @@ -46,7 +46,7 @@ On the system where you are going to run rwloadsim, create a (possibly shared) directory where you simply use a command like ``` -tar -zxvf rwloadsim-linux-x86_64-bin-3.1.2.tgz +tar -zxvf rwloadsim-linux-x86_64-bin-3.1.3.tgz ``` One install can be shared between several users as long as all have access to the directory. If appropriate, you can put the directory on an NFS (or some other) share and make it available to multiple systems. @@ -66,7 +66,7 @@ You can use Oracle Instant Client or a full client (or even server) install. Start by doing a pull or clone of the sources from github as if you would do your own compile, and then use a command like ``` -tar -zxvf rwloadsim-linux-x86_64-binonly-3.1.2.tgz +tar -zxvf rwloadsim-linux-x86_64-binonly-3.1.3.tgz ``` to extract little more than the compiled rwloadsim binaries into your already existing pull or clone. @@ -157,7 +157,21 @@ If you are sharing the repository between many different users/projects, having the grants are set to only allow the needed access to the various repository tables. For most tables, this is insert and select. -### Updating the repostitory to version 3.1.2 +### Updating the repository to version 3.1.3 + +In versino 3.1.3, there are two new tables added to the repository +and you therefore need to update the repository. +The upgrade is done by logging in to your repository schema +using sqlplus and executing both of rwl313.sql and rwlgrants.sql. + +If you have a second repository schema, you need to run +rwlsynonyms.sql logged in using sqlplus. + +Note that this (and previous) updates are not cummulative, +so if you are upgrading to 3.1.3 from a version earlier than +3.1.2, you first need to perform the 3.1.2 repository update. + +### Updating the repository to version 3.1.2 In version 3.1.2, there is a new column added to oltpxc and any existing repository need to be updated to reflect this. diff --git a/docs/ORACLENET.md b/docs/ORACLENET.md index 966b8052..f45879f2 100644 --- a/docs/ORACLENET.md +++ b/docs/ORACLENET.md @@ -52,7 +52,7 @@ or ```rwlman nettest```. In addition to being part of the full rwloadsim distribution, the three utilities are distributed together with other as completely stand-alone -executables in the file generated-linux-x86_64-bin-3.1.2.tgz. +executables in the file generated-linux-x86_64-bin-3.1.3.tgz. It only contains the executable files, and they can be used without a complete installation of rwloadsim, as long as there is an Oracle client environment that can be an ordinary installation or an Instant Client installation. @@ -63,7 +63,7 @@ with Instant Client it is the top directory of the installation. After download, simply execute ``` -tar -zxvf generated-linux-x86_64-bin-3.1.2.tgz +tar -zxvf generated-linux-x86_64-bin-3.1.3.tgz ``` and possibly move the executables to one of the directories in your PATH. To get help for either, call it with the -h option. diff --git a/src/rwl.h b/src/rwl.h index 0433f905..31318fb3 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 8-jul-2024 - Releasing 3.1.3 production * bengsig 4-jun-2024 - $ora01013:break * bengsig 27-may-2024 - Improve some comments * bengsig 17-apr-2024 - nostatistics statement @@ -2351,8 +2352,8 @@ extern const char rwlexecbanner[]; #define RWL_VERSION_MAJOR 3 #define RWL_VERSION_MINOR 1 -#define RWL_VERSION_RELEASE 2 -#define RWL_VERSION_TEXT "Development" RWL_EXTRA_VERSION_TEXT +#define RWL_VERSION_RELEASE 3 +#define RWL_VERSION_TEXT "Production" RWL_EXTRA_VERSION_TEXT #define RWL_VERSION_DATE // undef to not include compile date extern ub4 rwlpatch; From 3e03d3b195878262bb3bd26cf258ec420925a4e0 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 9 Jul 2024 10:54:03 +0000 Subject: [PATCH 075/118] Developing 3.1.4 initiated --- src/rwl.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rwl.h b/src/rwl.h index 31318fb3..93f7f302 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 9-jul-2024 - Development 3.1.4 * bengsig 8-jul-2024 - Releasing 3.1.3 production * bengsig 4-jun-2024 - $ora01013:break * bengsig 27-may-2024 - Improve some comments From 2445b026375b3fc6c8ba0102644c0a0c7cb04163 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 9 Jul 2024 10:58:48 +0000 Subject: [PATCH 076/118] Rebuild html man pages --- docs/refman/ashdata.html | 2 +- docs/refman/ashplot.html | 2 +- docs/refman/atclause.html | 2 +- docs/refman/awrdump.html | 2 +- docs/refman/awreport.html | 2 +- docs/refman/awrreport.html | 2 +- docs/refman/bengsig.html | 2 +- docs/refman/clob.html | 2 +- docs/refman/compoundstatement.html | 2 +- docs/refman/concatenation.html | 2 +- docs/refman/conditional.html | 2 +- docs/refman/connping.html | 2 +- docs/refman/constant.html | 2 +- docs/refman/controlloop.html | 2 +- docs/refman/cqnthread.html | 2 +- docs/refman/cursor.html | 2 +- docs/refman/cursorloop.html | 2 +- docs/refman/database.html | 2 +- docs/refman/databasedeclaration.html | 2 +- docs/refman/databasestatement.html | 2 +- docs/refman/declaration.html | 2 +- docs/refman/directive.html | 2 +- docs/refman/directives.html | 2 +- docs/refman/double.html | 2 +- docs/refman/executionblock.html | 2 +- docs/refman/expression.html | 2 +- docs/refman/file.html | 2 +- docs/refman/filecommands.html | 2 +- docs/refman/filestatement.html | 2 +- docs/refman/forloop.html | 2 +- docs/refman/fractiles.html | 2 +- docs/refman/function.html | 2 +- docs/refman/functiondeclaration.html | 2 +- docs/refman/histogram.html | 2 +- docs/refman/histogram_a.html | 2 +- docs/refman/identifier.html | 2 +- docs/refman/if.html | 2 +- docs/refman/ifstatement.html | 2 +- docs/refman/include.html | 2 +- docs/refman/integer.html | 2 +- docs/refman/lob.html | 2 +- docs/refman/lobdeclaration.html | 2 +- docs/refman/longoption.html | 2 +- docs/refman/loop.html | 2 +- docs/refman/multiprocess.html | 2 +- docs/refman/nettest.html | 2 +- docs/refman/netthroughput.html | 2 +- docs/refman/ociping.html | 2 +- docs/refman/oerstats.html | 2 +- docs/refman/oltp.html | 2 +- docs/refman/oltpawcols.html | 2 +- docs/refman/oltpcheckkey.html | 2 +- docs/refman/oltpconnect.html | 2 +- docs/refman/oltpcore.html | 2 +- docs/refman/oltpcreate.html | 2 +- docs/refman/oltpday.html | 2 +- docs/refman/oltpdirectory.html | 2 +- docs/refman/oltpdrop.html | 2 +- docs/refman/oltpfilloe.html | 2 +- docs/refman/oltpforever.html | 2 +- docs/refman/oltpkomment.html | 2 +- docs/refman/oltpparams.html | 2 +- docs/refman/oltpping.html | 2 +- docs/refman/oltpplot.html | 2 +- docs/refman/oltpplus.html | 2 +- docs/refman/oltprun.html | 2 +- docs/refman/oltpscale.html | 2 +- docs/refman/oltpscalereport.html | 2 +- docs/refman/oltpsetup.html | 2 +- docs/refman/oltpverify.html | 2 +- docs/refman/oltpxc.html | 2 +- docs/refman/oltpxcrun.html | 2 +- docs/refman/oltpxcset.html | 2 +- docs/refman/ovid2.html | 2 +- docs/refman/percentiles.html | 2 +- docs/refman/persec.html | 2 +- docs/refman/persec_a.html | 2 +- docs/refman/printfstatement.html | 2 +- docs/refman/printline.html | 2 +- docs/refman/procedure.html | 2 +- docs/refman/proceduredeclaration.html | 2 +- docs/refman/random.html | 2 +- docs/refman/randomproceduredeclaration.html | 2 +- docs/refman/randomstringdeclaration.html | 2 +- docs/refman/readline.html | 2 +- docs/refman/readlob.html | 2 +- docs/refman/readloop.html | 2 +- docs/refman/regex.html | 2 +- docs/refman/regexextract.html | 2 +- docs/refman/regexsearch.html | 2 +- docs/refman/regexsubstitute.html | 2 +- docs/refman/run.html | 2 +- docs/refman/runres.html | 2 +- docs/refman/runres_a.html | 2 +- docs/refman/rwl.html | 2 +- docs/refman/rwlash.html | 2 +- docs/refman/rwlcpu.html | 2 +- docs/refman/rwlcpu_a.html | 2 +- docs/refman/rwlerror.html | 2 +- docs/refman/rwlman.html | 2 +- docs/refman/rwloadsim.html | 2 +- docs/refman/rwlprogram.html | 2 +- docs/refman/rwlrun.html | 2 +- docs/refman/scalardeclaration.html | 2 +- docs/refman/simpledeclaration.html | 2 +- docs/refman/sql.html | 2 +- docs/refman/sqldeclaration.html | 2 +- docs/refman/sqlexecution.html | 2 +- docs/refman/sqlid2file.html | 2 +- docs/refman/sqlmonitor.html | 2 +- docs/refman/sqlmonitorawr.html | 2 +- docs/refman/sqlreport.html | 2 +- docs/refman/sqlstatement.html | 2 +- docs/refman/statement.html | 2 +- docs/refman/statementlist.html | 2 +- docs/refman/statistics.html | 2 +- docs/refman/string.html | 2 +- docs/refman/sysres.html | 2 +- docs/refman/thread.html | 2 +- docs/refman/threadexecution.html | 2 +- docs/refman/threads.html | 2 +- docs/refman/userhelp.html | 2 +- docs/refman/useroption.html | 2 +- docs/refman/userswitch.html | 2 +- docs/refman/utilities.html | 2 +- docs/refman/variable.html | 2 +- docs/refman/while.html | 2 +- docs/refman/writeline.html | 2 +- docs/refman/writelob.html | 2 +- 129 files changed, 129 insertions(+), 129 deletions(-) diff --git a/docs/refman/ashdata.html b/docs/refman/ashdata.html index 2d8fe347..92432ebf 100644 --- a/docs/refman/ashdata.html +++ b/docs/refman/ashdata.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/ashplot.html b/docs/refman/ashplot.html index fafb35b3..6dbe8463 100644 --- a/docs/refman/ashplot.html +++ b/docs/refman/ashplot.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/atclause.html b/docs/refman/atclause.html index 7ac03ee3..4385ac00 100644 --- a/docs/refman/atclause.html +++ b/docs/refman/atclause.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/awrdump.html b/docs/refman/awrdump.html index 7463013d..e43fe84e 100644 --- a/docs/refman/awrdump.html +++ b/docs/refman/awrdump.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/awreport.html b/docs/refman/awreport.html index 4326f3d4..789365ed 100644 --- a/docs/refman/awreport.html +++ b/docs/refman/awreport.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/awrreport.html b/docs/refman/awrreport.html index 6c5130dd..646ebabc 100644 --- a/docs/refman/awrreport.html +++ b/docs/refman/awrreport.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/bengsig.html b/docs/refman/bengsig.html index e3d94442..8068d4d4 100644 --- a/docs/refman/bengsig.html +++ b/docs/refman/bengsig.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/clob.html b/docs/refman/clob.html index 4d03f0e0..1e2dd31c 100644 --- a/docs/refman/clob.html +++ b/docs/refman/clob.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/compoundstatement.html b/docs/refman/compoundstatement.html index 8fea3c4e..13cc980c 100644 --- a/docs/refman/compoundstatement.html +++ b/docs/refman/compoundstatement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/concatenation.html b/docs/refman/concatenation.html index fd294443..af9e942b 100644 --- a/docs/refman/concatenation.html +++ b/docs/refman/concatenation.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/conditional.html b/docs/refman/conditional.html index 445570e7..9a288bac 100644 --- a/docs/refman/conditional.html +++ b/docs/refman/conditional.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/connping.html b/docs/refman/connping.html index b68fbaa4..d7996fd6 100644 --- a/docs/refman/connping.html +++ b/docs/refman/connping.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/constant.html b/docs/refman/constant.html index fd294443..af9e942b 100644 --- a/docs/refman/constant.html +++ b/docs/refman/constant.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/controlloop.html b/docs/refman/controlloop.html index ff5e4899..ad60ff2f 100644 --- a/docs/refman/controlloop.html +++ b/docs/refman/controlloop.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/cqnthread.html b/docs/refman/cqnthread.html index 3372b17f..c0d0a15d 100644 --- a/docs/refman/cqnthread.html +++ b/docs/refman/cqnthread.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/cursor.html b/docs/refman/cursor.html index 7478898a..cf9d8eca 100644 --- a/docs/refman/cursor.html +++ b/docs/refman/cursor.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/cursorloop.html b/docs/refman/cursorloop.html index e6d665ed..57998f65 100644 --- a/docs/refman/cursorloop.html +++ b/docs/refman/cursorloop.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/database.html b/docs/refman/database.html index a3a915c3..ebf8c131 100644 --- a/docs/refman/database.html +++ b/docs/refman/database.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/databasedeclaration.html b/docs/refman/databasedeclaration.html index efd4e576..33047893 100644 --- a/docs/refman/databasedeclaration.html +++ b/docs/refman/databasedeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/databasestatement.html b/docs/refman/databasestatement.html index 4f7d0355..1a6d130d 100644 --- a/docs/refman/databasestatement.html +++ b/docs/refman/databasestatement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/declaration.html b/docs/refman/declaration.html index 53c6775b..6fcad367 100644 --- a/docs/refman/declaration.html +++ b/docs/refman/declaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/directive.html b/docs/refman/directive.html index 776978c7..850f04fd 100644 --- a/docs/refman/directive.html +++ b/docs/refman/directive.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/directives.html b/docs/refman/directives.html index 776978c7..8f4ae65a 100644 --- a/docs/refman/directives.html +++ b/docs/refman/directives.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/double.html b/docs/refman/double.html index 70b4706c..a98a97d4 100644 --- a/docs/refman/double.html +++ b/docs/refman/double.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/executionblock.html b/docs/refman/executionblock.html index 7478898a..11c0e5a6 100644 --- a/docs/refman/executionblock.html +++ b/docs/refman/executionblock.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/expression.html b/docs/refman/expression.html index 46cee06c..5237611e 100644 --- a/docs/refman/expression.html +++ b/docs/refman/expression.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/file.html b/docs/refman/file.html index af34905e..79bb232e 100644 --- a/docs/refman/file.html +++ b/docs/refman/file.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/filecommands.html b/docs/refman/filecommands.html index c1f2b926..897cc5bf 100644 --- a/docs/refman/filecommands.html +++ b/docs/refman/filecommands.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/filestatement.html b/docs/refman/filestatement.html index e1e1c1f8..e40d3637 100644 --- a/docs/refman/filestatement.html +++ b/docs/refman/filestatement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/forloop.html b/docs/refman/forloop.html index 7478898a..11c0e5a6 100644 --- a/docs/refman/forloop.html +++ b/docs/refman/forloop.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/fractiles.html b/docs/refman/fractiles.html index 825d556a..4e5cb302 100644 --- a/docs/refman/fractiles.html +++ b/docs/refman/fractiles.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/function.html b/docs/refman/function.html index fd294443..729ae606 100644 --- a/docs/refman/function.html +++ b/docs/refman/function.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/functiondeclaration.html b/docs/refman/functiondeclaration.html index ffcd2d25..8ffe44d5 100644 --- a/docs/refman/functiondeclaration.html +++ b/docs/refman/functiondeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/histogram.html b/docs/refman/histogram.html index f5c34c14..ba6e2128 100644 --- a/docs/refman/histogram.html +++ b/docs/refman/histogram.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/histogram_a.html b/docs/refman/histogram_a.html index b4484fe3..4e5cb302 100644 --- a/docs/refman/histogram_a.html +++ b/docs/refman/histogram_a.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/identifier.html b/docs/refman/identifier.html index 691f4d20..ff612590 100644 --- a/docs/refman/identifier.html +++ b/docs/refman/identifier.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/if.html b/docs/refman/if.html index 9ed863da..11c0e5a6 100644 --- a/docs/refman/if.html +++ b/docs/refman/if.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/ifstatement.html b/docs/refman/ifstatement.html index 9ed863da..11c0e5a6 100644 --- a/docs/refman/ifstatement.html +++ b/docs/refman/ifstatement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/include.html b/docs/refman/include.html index 8efaa914..ffc999e0 100644 --- a/docs/refman/include.html +++ b/docs/refman/include.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/integer.html b/docs/refman/integer.html index 7b88c5a2..1c359cac 100644 --- a/docs/refman/integer.html +++ b/docs/refman/integer.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/lob.html b/docs/refman/lob.html index e1cd3c89..e3a71235 100644 --- a/docs/refman/lob.html +++ b/docs/refman/lob.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/lobdeclaration.html b/docs/refman/lobdeclaration.html index b8f806d7..879f8f73 100644 --- a/docs/refman/lobdeclaration.html +++ b/docs/refman/lobdeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/longoption.html b/docs/refman/longoption.html index dafdb95e..7604ab79 100644 --- a/docs/refman/longoption.html +++ b/docs/refman/longoption.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/loop.html b/docs/refman/loop.html index 9ed863da..fdddce11 100644 --- a/docs/refman/loop.html +++ b/docs/refman/loop.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/multiprocess.html b/docs/refman/multiprocess.html index f0b16bf4..c29319ec 100644 --- a/docs/refman/multiprocess.html +++ b/docs/refman/multiprocess.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/nettest.html b/docs/refman/nettest.html index 326c2359..660d2e69 100644 --- a/docs/refman/nettest.html +++ b/docs/refman/nettest.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/netthroughput.html b/docs/refman/netthroughput.html index 9755ee65..e5069c8c 100644 --- a/docs/refman/netthroughput.html +++ b/docs/refman/netthroughput.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/ociping.html b/docs/refman/ociping.html index e2473a7e..f4e28eb9 100644 --- a/docs/refman/ociping.html +++ b/docs/refman/ociping.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oerstats.html b/docs/refman/oerstats.html index a3292cb2..bd760616 100644 --- a/docs/refman/oerstats.html +++ b/docs/refman/oerstats.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltp.html b/docs/refman/oltp.html index 152ca6ee..fa386dd5 100644 --- a/docs/refman/oltp.html +++ b/docs/refman/oltp.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpawcols.html b/docs/refman/oltpawcols.html index 6b9b5120..3d0d4eeb 100644 --- a/docs/refman/oltpawcols.html +++ b/docs/refman/oltpawcols.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpcheckkey.html b/docs/refman/oltpcheckkey.html index 300068e6..abf1f2ac 100644 --- a/docs/refman/oltpcheckkey.html +++ b/docs/refman/oltpcheckkey.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpconnect.html b/docs/refman/oltpconnect.html index 4918077e..749a2d4e 100644 --- a/docs/refman/oltpconnect.html +++ b/docs/refman/oltpconnect.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpcore.html b/docs/refman/oltpcore.html index 9bfb91a5..28bde52b 100644 --- a/docs/refman/oltpcore.html +++ b/docs/refman/oltpcore.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpcreate.html b/docs/refman/oltpcreate.html index 0c9881ce..59b0cb34 100644 --- a/docs/refman/oltpcreate.html +++ b/docs/refman/oltpcreate.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpday.html b/docs/refman/oltpday.html index f416b6ed..0e4ccc42 100644 --- a/docs/refman/oltpday.html +++ b/docs/refman/oltpday.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpdirectory.html b/docs/refman/oltpdirectory.html index 68354f00..7c01fd44 100644 --- a/docs/refman/oltpdirectory.html +++ b/docs/refman/oltpdirectory.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpdrop.html b/docs/refman/oltpdrop.html index 473e47b7..76430cd7 100644 --- a/docs/refman/oltpdrop.html +++ b/docs/refman/oltpdrop.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpfilloe.html b/docs/refman/oltpfilloe.html index 01d0b4fc..8c6210e3 100644 --- a/docs/refman/oltpfilloe.html +++ b/docs/refman/oltpfilloe.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpforever.html b/docs/refman/oltpforever.html index 9a11c16f..68c71eed 100644 --- a/docs/refman/oltpforever.html +++ b/docs/refman/oltpforever.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpkomment.html b/docs/refman/oltpkomment.html index 6fbe6dce..91a52e8e 100644 --- a/docs/refman/oltpkomment.html +++ b/docs/refman/oltpkomment.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpparams.html b/docs/refman/oltpparams.html index 5d2c11af..66f944d2 100644 --- a/docs/refman/oltpparams.html +++ b/docs/refman/oltpparams.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpping.html b/docs/refman/oltpping.html index 91b105e0..924a8484 100644 --- a/docs/refman/oltpping.html +++ b/docs/refman/oltpping.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpplot.html b/docs/refman/oltpplot.html index 350cb12c..04944d67 100644 --- a/docs/refman/oltpplot.html +++ b/docs/refman/oltpplot.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpplus.html b/docs/refman/oltpplus.html index dedc696e..efbb7486 100644 --- a/docs/refman/oltpplus.html +++ b/docs/refman/oltpplus.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltprun.html b/docs/refman/oltprun.html index 9e0729b4..635bf029 100644 --- a/docs/refman/oltprun.html +++ b/docs/refman/oltprun.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpscale.html b/docs/refman/oltpscale.html index 50f85a7e..98325440 100644 --- a/docs/refman/oltpscale.html +++ b/docs/refman/oltpscale.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpscalereport.html b/docs/refman/oltpscalereport.html index 6591ab86..db7c7904 100644 --- a/docs/refman/oltpscalereport.html +++ b/docs/refman/oltpscalereport.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpsetup.html b/docs/refman/oltpsetup.html index ff918ef3..627ad9ef 100644 --- a/docs/refman/oltpsetup.html +++ b/docs/refman/oltpsetup.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpverify.html b/docs/refman/oltpverify.html index 47351dfc..d7746adc 100644 --- a/docs/refman/oltpverify.html +++ b/docs/refman/oltpverify.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpxc.html b/docs/refman/oltpxc.html index c0ce9d63..622c5e7f 100644 --- a/docs/refman/oltpxc.html +++ b/docs/refman/oltpxc.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpxcrun.html b/docs/refman/oltpxcrun.html index 724bc786..bb323c9a 100644 --- a/docs/refman/oltpxcrun.html +++ b/docs/refman/oltpxcrun.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpxcset.html b/docs/refman/oltpxcset.html index 2b34a2cc..9f53a94a 100644 --- a/docs/refman/oltpxcset.html +++ b/docs/refman/oltpxcset.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/ovid2.html b/docs/refman/ovid2.html index 44bb4cb9..95cae0bd 100644 --- a/docs/refman/ovid2.html +++ b/docs/refman/ovid2.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/percentiles.html b/docs/refman/percentiles.html index 4b2fcf30..90b92178 100644 --- a/docs/refman/percentiles.html +++ b/docs/refman/percentiles.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/persec.html b/docs/refman/persec.html index c8f511ca..f51ec17d 100644 --- a/docs/refman/persec.html +++ b/docs/refman/persec.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/persec_a.html b/docs/refman/persec_a.html index 2bc8477a..08e0be5f 100644 --- a/docs/refman/persec_a.html +++ b/docs/refman/persec_a.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/printfstatement.html b/docs/refman/printfstatement.html index 1ae62a6d..3da919d6 100644 --- a/docs/refman/printfstatement.html +++ b/docs/refman/printfstatement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/printline.html b/docs/refman/printline.html index af34905e..273300ff 100644 --- a/docs/refman/printline.html +++ b/docs/refman/printline.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/procedure.html b/docs/refman/procedure.html index 45002fe3..ecb2957b 100644 --- a/docs/refman/procedure.html +++ b/docs/refman/procedure.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/proceduredeclaration.html b/docs/refman/proceduredeclaration.html index 2311a02b..0e53a660 100644 --- a/docs/refman/proceduredeclaration.html +++ b/docs/refman/proceduredeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/random.html b/docs/refman/random.html index 141d162c..305fc5b9 100644 --- a/docs/refman/random.html +++ b/docs/refman/random.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/randomproceduredeclaration.html b/docs/refman/randomproceduredeclaration.html index f2d7c9d7..c89cc064 100644 --- a/docs/refman/randomproceduredeclaration.html +++ b/docs/refman/randomproceduredeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/randomstringdeclaration.html b/docs/refman/randomstringdeclaration.html index ae20c44e..0ea3505c 100644 --- a/docs/refman/randomstringdeclaration.html +++ b/docs/refman/randomstringdeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/readline.html b/docs/refman/readline.html index af34905e..273300ff 100644 --- a/docs/refman/readline.html +++ b/docs/refman/readline.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/readlob.html b/docs/refman/readlob.html index 2c6212e2..85c5dfa0 100644 --- a/docs/refman/readlob.html +++ b/docs/refman/readlob.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/readloop.html b/docs/refman/readloop.html index 969e97ae..273300ff 100644 --- a/docs/refman/readloop.html +++ b/docs/refman/readloop.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/regex.html b/docs/refman/regex.html index c006d93d..86191680 100644 --- a/docs/refman/regex.html +++ b/docs/refman/regex.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/regexextract.html b/docs/refman/regexextract.html index 7acf95e4..89df9959 100644 --- a/docs/refman/regexextract.html +++ b/docs/refman/regexextract.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/regexsearch.html b/docs/refman/regexsearch.html index 7acf95e4..89df9959 100644 --- a/docs/refman/regexsearch.html +++ b/docs/refman/regexsearch.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/regexsubstitute.html b/docs/refman/regexsubstitute.html index 7acf95e4..89df9959 100644 --- a/docs/refman/regexsubstitute.html +++ b/docs/refman/regexsubstitute.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/run.html b/docs/refman/run.html index 4f83a63e..f52d69fb 100644 --- a/docs/refman/run.html +++ b/docs/refman/run.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/runres.html b/docs/refman/runres.html index f8a1fe54..80e98953 100644 --- a/docs/refman/runres.html +++ b/docs/refman/runres.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/runres_a.html b/docs/refman/runres_a.html index a6882224..45caacbc 100644 --- a/docs/refman/runres_a.html +++ b/docs/refman/runres_a.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwl.html b/docs/refman/rwl.html index 6ea36d6c..4332c35f 100644 --- a/docs/refman/rwl.html +++ b/docs/refman/rwl.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlash.html b/docs/refman/rwlash.html index d4b75036..0910a16c 100644 --- a/docs/refman/rwlash.html +++ b/docs/refman/rwlash.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlcpu.html b/docs/refman/rwlcpu.html index 683d79f3..76ef6a02 100644 --- a/docs/refman/rwlcpu.html +++ b/docs/refman/rwlcpu.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlcpu_a.html b/docs/refman/rwlcpu_a.html index 579dc64a..5006c28c 100644 --- a/docs/refman/rwlcpu_a.html +++ b/docs/refman/rwlcpu_a.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlerror.html b/docs/refman/rwlerror.html index 606dc695..40385e1a 100644 --- a/docs/refman/rwlerror.html +++ b/docs/refman/rwlerror.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlman.html b/docs/refman/rwlman.html index c27dca3d..31f4271c 100644 --- a/docs/refman/rwlman.html +++ b/docs/refman/rwlman.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwloadsim.html b/docs/refman/rwloadsim.html index 54c89f38..ead6de10 100644 --- a/docs/refman/rwloadsim.html +++ b/docs/refman/rwloadsim.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlprogram.html b/docs/refman/rwlprogram.html index 21ecb00f..a4b4d110 100644 --- a/docs/refman/rwlprogram.html +++ b/docs/refman/rwlprogram.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwlrun.html b/docs/refman/rwlrun.html index 16dc307e..ad734809 100644 --- a/docs/refman/rwlrun.html +++ b/docs/refman/rwlrun.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/scalardeclaration.html b/docs/refman/scalardeclaration.html index 6a95e7da..4082c2a8 100644 --- a/docs/refman/scalardeclaration.html +++ b/docs/refman/scalardeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/simpledeclaration.html b/docs/refman/simpledeclaration.html index c5b00a33..1e298383 100644 --- a/docs/refman/simpledeclaration.html +++ b/docs/refman/simpledeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sql.html b/docs/refman/sql.html index 765a0696..179d84e0 100644 --- a/docs/refman/sql.html +++ b/docs/refman/sql.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqldeclaration.html b/docs/refman/sqldeclaration.html index 117920d0..1d67afa2 100644 --- a/docs/refman/sqldeclaration.html +++ b/docs/refman/sqldeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlexecution.html b/docs/refman/sqlexecution.html index 8120d74e..9c8fa29d 100644 --- a/docs/refman/sqlexecution.html +++ b/docs/refman/sqlexecution.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlid2file.html b/docs/refman/sqlid2file.html index 6eb5ec65..4da6e408 100644 --- a/docs/refman/sqlid2file.html +++ b/docs/refman/sqlid2file.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlmonitor.html b/docs/refman/sqlmonitor.html index 7ae7e895..9a162fdf 100644 --- a/docs/refman/sqlmonitor.html +++ b/docs/refman/sqlmonitor.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlmonitorawr.html b/docs/refman/sqlmonitorawr.html index a064168f..7bd4945c 100644 --- a/docs/refman/sqlmonitorawr.html +++ b/docs/refman/sqlmonitorawr.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlreport.html b/docs/refman/sqlreport.html index 84df3b05..0be28d2a 100644 --- a/docs/refman/sqlreport.html +++ b/docs/refman/sqlreport.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sqlstatement.html b/docs/refman/sqlstatement.html index 4132cdd0..39b34e2c 100644 --- a/docs/refman/sqlstatement.html +++ b/docs/refman/sqlstatement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/statement.html b/docs/refman/statement.html index a355db44..1372f82f 100644 --- a/docs/refman/statement.html +++ b/docs/refman/statement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/statementlist.html b/docs/refman/statementlist.html index a355db44..bff6ff2d 100644 --- a/docs/refman/statementlist.html +++ b/docs/refman/statementlist.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/statistics.html b/docs/refman/statistics.html index 587bb81e..a9f7f77c 100644 --- a/docs/refman/statistics.html +++ b/docs/refman/statistics.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/string.html b/docs/refman/string.html index 1c7e7952..193ee84b 100644 --- a/docs/refman/string.html +++ b/docs/refman/string.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/sysres.html b/docs/refman/sysres.html index 4e39e914..deb368f3 100644 --- a/docs/refman/sysres.html +++ b/docs/refman/sysres.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/thread.html b/docs/refman/thread.html index fd92c645..f3851328 100644 --- a/docs/refman/thread.html +++ b/docs/refman/thread.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/threadexecution.html b/docs/refman/threadexecution.html index 1aceb058..2d4fe15d 100644 --- a/docs/refman/threadexecution.html +++ b/docs/refman/threadexecution.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/threads.html b/docs/refman/threads.html index fd92c645..f3851328 100644 --- a/docs/refman/threads.html +++ b/docs/refman/threads.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/userhelp.html b/docs/refman/userhelp.html index 8d2ca8d9..da57f120 100644 --- a/docs/refman/userhelp.html +++ b/docs/refman/userhelp.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/useroption.html b/docs/refman/useroption.html index db003244..ee149555 100644 --- a/docs/refman/useroption.html +++ b/docs/refman/useroption.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/userswitch.html b/docs/refman/userswitch.html index 8d2ca8d9..df9a1fcf 100644 --- a/docs/refman/userswitch.html +++ b/docs/refman/userswitch.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/utilities.html b/docs/refman/utilities.html index 2d421283..9c8fdc8d 100644 --- a/docs/refman/utilities.html +++ b/docs/refman/utilities.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/variable.html b/docs/refman/variable.html index af31db84..725351b5 100644 --- a/docs/refman/variable.html +++ b/docs/refman/variable.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/while.html b/docs/refman/while.html index 8251226c..09030b53 100644 --- a/docs/refman/while.html +++ b/docs/refman/while.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/writeline.html b/docs/refman/writeline.html index 969e97ae..6634e955 100644 --- a/docs/refman/writeline.html +++ b/docs/refman/writeline.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/writelob.html b/docs/refman/writelob.html index 142f80df..23b36749 100644 --- a/docs/refman/writelob.html +++ b/docs/refman/writelob.html @@ -1,5 +1,5 @@ - + From 2274763315bec7e78f6073333d0b3cfd28e606c0 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 22 Jul 2024 09:45:55 +0000 Subject: [PATCH 077/118] Plot log off time with cstorm --- admin/rwl314.sql | 17 +++++++++++++++++ admin/rwloadsim.sql | 2 ++ bin/oltpplot | 21 +++++++++++++++++++++ docs/INSTALL.md | 7 +++++++ oltp/cstorm_implementation.rwl | 18 +++++++++++------- oltp/csvdata.rwl | 16 +++++++++++++--- 6 files changed, 71 insertions(+), 10 deletions(-) create mode 100644 admin/rwl314.sql diff --git a/admin/rwl314.sql b/admin/rwl314.sql new file mode 100644 index 00000000..331c6dc9 --- /dev/null +++ b/admin/rwl314.sql @@ -0,0 +1,17 @@ +-- update the RWP*Load Simulator repository +-- for version 3.1.4 +-- +-- Copyright (c) 2024 Oracle Corporation +-- Licensed under the Universal Permissive License v 1.0 +-- as shown at https://oss.oracle.com/licenses/upl/ +-- +-- Changes +-- +-- NAME DATE COMMENTS +-- +-- bengsig 19-jul-2024 Created +-- +alter table cstorm add +( offdone number +) ; + diff --git a/admin/rwloadsim.sql b/admin/rwloadsim.sql index 60156cf9..a39622cc 100644 --- a/admin/rwloadsim.sql +++ b/admin/rwloadsim.sql @@ -7,6 +7,7 @@ -- Changes -- -- NAME DATE COMMENTS +-- bengsig 19-jul-2024 offdone in cstorm -- bengsig 26-apr-2024 osstat table -- bengsig 19-mar-2024 cstorm table -- bengsig 1-mar-2024 atime,dtime column @@ -201,6 +202,7 @@ create table cstorm , begtime number , endtime number , offtime number +, offdone number , errnum number , errtxt varchar2(200) , primary key(runnumber, threadnumber) diff --git a/bin/oltpplot b/bin/oltpplot index 4542965d..e0d9ae07 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# 22-jul-2024 bengsig Add cstorm logoff time # 3-jul-2024 bengsig changed end-to-end colors # 3-jul-2024 bengsig 0% dropped -> no dropped # 22-may-2024 bengsig Split long gnuplot lines @@ -1005,6 +1006,11 @@ then

    ${runnumber}_cstormend.svg ${runnumber}_cstormend.png
    Extra connection storm logged off${runnumber}_cstormoff.svg${runnumber}_cstormoff.png
    Shared pool${runnumber}_sharedp.svg${runnumber}_sharedp.png
    PGA${runnumber}_pga.svg${runnumber}_pga.png
    Individual throughput${runnumber}_tp.svg${runnumber}_tp.png
    Ping rates *${runnumber}_ping.svg${runnumber}_ping.png
    Logon and ociping rates *${runnumber}_connping.svg${runnumber}_connping.png
    @@ -270,34 +308,13 @@

    OPERATORS

    - - - - - - - - - - +

    - ~ ! not

    +negative, bitwise not and two synonyms for boolean not.

    + + + + + + + + + + + + + + + + + + + +
    -

    is null

    -
    - - -

    is not null

    - - -

    Similar to their equivalents in the SQL language; these -are monadic and post-fix.

    - - -

    - ! not

    These monadic prefix operators are respectively numeric -negative and two synonyms for boolean not.

    @@ -336,6 +353,19 @@

    OPERATORS

    +

    << >>

    + + +

    Bitwise left and right shift. Note that both arguments +must have integer values and the right argument must be in +the range [0;63].

    + +

    < <= > >=

    @@ -363,6 +393,40 @@

    OPERATORS

    +

    &

    + + +

    Bitwise and; both operands must have integer values.

    + + +

    ^

    + + +

    Bitwise exclusive or; both operands must have integer +values.

    + + +

    |

    + + +

    Bitwise or; both operands must have integer values.

    + +

    = <> !=

    @@ -651,6 +715,22 @@

    FUNCTIONS resolution is normally microseconds, but it depends on the resolution of the gettimeofday(2) system call.

    +

    dbseconds() +ociseconds()

    + +

    These functions return the +cumulative number of seconds that has been spent on +respectively the database side and the client side of a +subset of OCI calls such as OCIStmtExecute. The value is a +double and typically has microsecond resolution. You need to +enable collecting the times using respectively +$statsdbtime:on and $statsapptime:on, +otherwise the return values will be zero. Please note that +only a subset of OCI calls are timed, the details are at +runres(1rwl). The absolute values returned by these calls +should not be used, always use the difference between two +calls to either function.

    + diff --git a/docs/refman/constant.html b/docs/refman/constant.html index af9e942b..7a966fa8 100644 --- a/docs/refman/constant.html +++ b/docs/refman/constant.html @@ -1,5 +1,5 @@ - + @@ -68,6 +68,7 @@

    SYNTAX | ( activesessioncount | opensessioncount ) ( identifier ) | ( serverrelease ) ( identifier | default | results ) | ( runseconds | epochseconds ) () +| ( dbseconds | ociseconds ) () | getenv ( expression ) | system ( concatenation [ , identifier ] ) | access ( concatenation , expression ) @@ -79,7 +80,7 @@

    SYNTAX unary_expression ::= primary_expression [ is [ not ] null ] -| ( - | ! | not ) multiplication +| ( - | ! | not | ~) multiplication multiplication ::= unary_expression @@ -89,18 +90,34 @@

    SYNTAX multiplication | addition ( + | - ) multiplication -comparison ::= +bitshift ::= addition -| comparison ( < | > | <= | >= ) addition -| comparison between addition and addition +| bitshift ( << | >> ) addition + +comparison ::= + bitshift +| comparison ( < | > | <= | >= ) bitshift +| comparison between bitshift and bitshift equality ::= comparison | equality ( = | != | <> ) comparison -logicaland ::= +bitand ::= equality -| logicaland and equality +| bitand & equality + +bitxor ::= + bitand +| bitxor ^ bitand + +bitor ::= + bitxor +| bitor | bitxor + +logicaland ::= + bitor +| logicaland and bitor logicalor ::= logicaland @@ -124,10 +141,15 @@

    SYNTAX | digit { digit } { exponent } | null -integer ::= digit { digit } +integer ::= + digit { digit } +| 0x hexdigit { hexdigit } +| 0X hexdigit { hexdigit } digit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 +hexdigit ::= digit | a | A | b | B | c | C | d | D | e | E | f | F + exponent ::= e [ + | - ] digit { digit } string ::= @@ -171,9 +193,20 @@

    DESCRIPTION

    Strings are implicitly converted to integer or double without error -handling similar to how atoi(3) or atof(3) do it. If -complete control of this is needed, it is recommended to -only use variables and functions of one specific type in the +handling somewhat similar to how atoi(3) or atof(3) do it. +When a string is implicitly converted to an integer, a +leading 0x (or 0X) will cause the conversion to use +hexadecimal characters, except when the string is retrieved +from a database using define or bindout. In +rare cases, this implicit conversion may change existing +code that was written before hexadecimal input was added. +This handling of hexadecimal conversion from string can be +turned off using the $stringhexadecimal:off +directive.

    + +

    If complete +control of data types is needed, it is recommended to only +use variables and functions of one specific type in the expression.

    CONSTANTS @@ -184,7 +217,8 @@

    CONSTANTS

    In rwloadsim, you can have constants of type integer, double or string and the additional constant null. Integer constants are -sequences of digits, double constants are sequences of +sequences of digits or 0x (or 0X) followed by a sequence of +hexadecimal digits, double constants are sequences of digits, a decimal dot, and potentially another sequence of digits. Double constants can additionally have an exponent which is the letter e (or E), potentially followed by + or - @@ -261,7 +295,11 @@

    OPERATORS All logical operators have the result 1 when true and 0 when false, and all operators operating on logic values use 0 as false and any other value as true. Except when noted, -operators are dyadic.

    +operators are dyadic.
    +is null is not null

    + +

    Similar to their equivalents in +the SQL language; these are monadic and post-fix.

    @@ -270,34 +308,13 @@

    OPERATORS

    - - - - - - - - - - +

    - ~ ! not

    +negative, bitwise not and two synonyms for boolean not.

    + + + + + + + + + + + + + + + + + + + +
    -

    is null

    -
    - - -

    is not null

    - - -

    Similar to their equivalents in the SQL language; these -are monadic and post-fix.

    - - -

    - ! not

    These monadic prefix operators are respectively numeric -negative and two synonyms for boolean not.

    @@ -336,6 +353,19 @@

    OPERATORS

    +

    << >>

    + + +

    Bitwise left and right shift. Note that both arguments +must have integer values and the right argument must be in +the range [0;63].

    + +

    < <= > >=

    @@ -363,6 +393,40 @@

    OPERATORS

    +

    &

    + + +

    Bitwise and; both operands must have integer values.

    + + +

    ^

    + + +

    Bitwise exclusive or; both operands must have integer +values.

    + + +

    |

    + + +

    Bitwise or; both operands must have integer values.

    + +

    = <> !=

    @@ -651,6 +715,22 @@

    FUNCTIONS resolution is normally microseconds, but it depends on the resolution of the gettimeofday(2) system call.

    +

    dbseconds() +ociseconds()

    + +

    These functions return the +cumulative number of seconds that has been spent on +respectively the database side and the client side of a +subset of OCI calls such as OCIStmtExecute. The value is a +double and typically has microsecond resolution. You need to +enable collecting the times using respectively +$statsdbtime:on and $statsapptime:on, +otherwise the return values will be zero. Please note that +only a subset of OCI calls are timed, the details are at +runres(1rwl). The absolute values returned by these calls +should not be used, always use the difference between two +calls to either function.

    + diff --git a/docs/refman/directive.html b/docs/refman/directive.html index e500d020..3808674d 100644 --- a/docs/refman/directive.html +++ b/docs/refman/directive.html @@ -1,5 +1,5 @@ - + @@ -87,7 +87,8 @@

    DIRECTIVES the default value is "%ld". Only formats that actually can be used to convert integers are accepted, and a warning will be displayed if the conversion isn’t -valid for a (small) set of verification values.

    +valid for a (small) set of verification values. The format +cannot include hexadecimal output.

    Some useful values may be: $iformat:%08ld which makes the string @@ -549,6 +550,23 @@

    DIRECTIVES behavior can be reset using the third directive.

    +

    $stringhexadecimal:off +
    +$stringhexadecimal:on

    + +

    By default, implicit conversion +of a string to an integer will accept hexadecimal numbers +that are initiated by 0x or 0X, excpet strings that are +received from the database. To turn off this behavior and +only accept decimal integer, use the first of these +directives.

    + +

    Note that you +can still enter hexadecimal constants when this directive is +turned off, it only impacts the implicit conversion from +string to integer.

    + +

    $niceabort:on
    $niceabort:off

    diff --git a/docs/refman/directives.html b/docs/refman/directives.html index ad11a62d..2ccb33c6 100644 --- a/docs/refman/directives.html +++ b/docs/refman/directives.html @@ -1,5 +1,5 @@ - + @@ -87,7 +87,8 @@

    DIRECTIVES the default value is "%ld". Only formats that actually can be used to convert integers are accepted, and a warning will be displayed if the conversion isn’t -valid for a (small) set of verification values.

    +valid for a (small) set of verification values. The format +cannot include hexadecimal output.

    Some useful values may be: $iformat:%08ld which makes the string @@ -549,6 +550,23 @@

    DIRECTIVES behavior can be reset using the third directive.

    +

    $stringhexadecimal:off +
    +$stringhexadecimal:on

    + +

    By default, implicit conversion +of a string to an integer will accept hexadecimal numbers +that are initiated by 0x or 0X, excpet strings that are +received from the database. To turn off this behavior and +only accept decimal integer, use the first of these +directives.

    + +

    Note that you +can still enter hexadecimal constants when this directive is +turned off, it only impacts the implicit conversion from +string to integer.

    + +

    $niceabort:on
    $niceabort:off

    diff --git a/docs/refman/expression.html b/docs/refman/expression.html index 5237611e..96f4127c 100644 --- a/docs/refman/expression.html +++ b/docs/refman/expression.html @@ -1,5 +1,5 @@ - + @@ -68,6 +68,7 @@

    SYNTAX | ( activesessioncount | opensessioncount ) ( identifier ) | ( serverrelease ) ( identifier | default | results ) | ( runseconds | epochseconds ) () +| ( dbseconds | ociseconds ) () | getenv ( expression ) | system ( concatenation [ , identifier ] ) | access ( concatenation , expression ) @@ -79,7 +80,7 @@

    SYNTAX unary_expression ::= primary_expression [ is [ not ] null ] -| ( - | ! | not ) multiplication +| ( - | ! | not | ~) multiplication multiplication ::= unary_expression @@ -89,18 +90,34 @@

    SYNTAX multiplication | addition ( + | - ) multiplication -comparison ::= +bitshift ::= addition -| comparison ( < | > | <= | >= ) addition -| comparison between addition and addition +| bitshift ( << | >> ) addition + +comparison ::= + bitshift +| comparison ( < | > | <= | >= ) bitshift +| comparison between bitshift and bitshift equality ::= comparison | equality ( = | != | <> ) comparison -logicaland ::= +bitand ::= equality -| logicaland and equality +| bitand & equality + +bitxor ::= + bitand +| bitxor ^ bitand + +bitor ::= + bitxor +| bitor | bitxor + +logicaland ::= + bitor +| logicaland and bitor logicalor ::= logicaland @@ -124,10 +141,15 @@

    SYNTAX | digit { digit } { exponent } | null -integer ::= digit { digit } +integer ::= + digit { digit } +| 0x hexdigit { hexdigit } +| 0X hexdigit { hexdigit } digit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 +hexdigit ::= digit | a | A | b | B | c | C | d | D | e | E | f | F + exponent ::= e [ + | - ] digit { digit } string ::= @@ -171,9 +193,20 @@

    DESCRIPTION

    Strings are implicitly converted to integer or double without error -handling similar to how atoi(3) or atof(3) do it. If -complete control of this is needed, it is recommended to -only use variables and functions of one specific type in the +handling somewhat similar to how atoi(3) or atof(3) do it. +When a string is implicitly converted to an integer, a +leading 0x (or 0X) will cause the conversion to use +hexadecimal characters, except when the string is retrieved +from a database using define or bindout. In +rare cases, this implicit conversion may change existing +code that was written before hexadecimal input was added. +This handling of hexadecimal conversion from string can be +turned off using the $stringhexadecimal:off +directive.

    + +

    If complete +control of data types is needed, it is recommended to only +use variables and functions of one specific type in the expression.

    CONSTANTS @@ -184,7 +217,8 @@

    CONSTANTS

    In rwloadsim, you can have constants of type integer, double or string and the additional constant null. Integer constants are -sequences of digits, double constants are sequences of +sequences of digits or 0x (or 0X) followed by a sequence of +hexadecimal digits, double constants are sequences of digits, a decimal dot, and potentially another sequence of digits. Double constants can additionally have an exponent which is the letter e (or E), potentially followed by + or - @@ -261,7 +295,11 @@

    OPERATORS All logical operators have the result 1 when true and 0 when false, and all operators operating on logic values use 0 as false and any other value as true. Except when noted, -operators are dyadic.

    +operators are dyadic.
    +is null is not null

    + +

    Similar to their equivalents in +the SQL language; these are monadic and post-fix.

    @@ -270,34 +308,13 @@

    OPERATORS

    - - - - - - - - - - +

    - ~ ! not

    +negative, bitwise not and two synonyms for boolean not.

    + + + + + + + + + + + + + + + + + + + +
    -

    is null

    -
    - - -

    is not null

    - - -

    Similar to their equivalents in the SQL language; these -are monadic and post-fix.

    - - -

    - ! not

    These monadic prefix operators are respectively numeric -negative and two synonyms for boolean not.

    @@ -336,6 +353,19 @@

    OPERATORS

    +

    << >>

    + + +

    Bitwise left and right shift. Note that both arguments +must have integer values and the right argument must be in +the range [0;63].

    + +

    < <= > >=

    @@ -363,6 +393,40 @@

    OPERATORS

    +

    &

    + + +

    Bitwise and; both operands must have integer values.

    + + +

    ^

    + + +

    Bitwise exclusive or; both operands must have integer +values.

    + + +

    |

    + + +

    Bitwise or; both operands must have integer values.

    + +

    = <> !=

    @@ -651,6 +715,22 @@

    FUNCTIONS resolution is normally microseconds, but it depends on the resolution of the gettimeofday(2) system call.

    +

    dbseconds() +ociseconds()

    + +

    These functions return the +cumulative number of seconds that has been spent on +respectively the database side and the client side of a +subset of OCI calls such as OCIStmtExecute. The value is a +double and typically has microsecond resolution. You need to +enable collecting the times using respectively +$statsdbtime:on and $statsapptime:on, +otherwise the return values will be zero. Please note that +only a subset of OCI calls are timed, the details are at +runres(1rwl). The absolute values returned by these calls +should not be used, always use the difference between two +calls to either function.

    + diff --git a/docs/refman/function.html b/docs/refman/function.html index 729ae606..7a966fa8 100644 --- a/docs/refman/function.html +++ b/docs/refman/function.html @@ -1,5 +1,5 @@ - + @@ -68,6 +68,7 @@

    SYNTAX | ( activesessioncount | opensessioncount ) ( identifier ) | ( serverrelease ) ( identifier | default | results ) | ( runseconds | epochseconds ) () +| ( dbseconds | ociseconds ) () | getenv ( expression ) | system ( concatenation [ , identifier ] ) | access ( concatenation , expression ) @@ -79,7 +80,7 @@

    SYNTAX unary_expression ::= primary_expression [ is [ not ] null ] -| ( - | ! | not ) multiplication +| ( - | ! | not | ~) multiplication multiplication ::= unary_expression @@ -89,18 +90,34 @@

    SYNTAX multiplication | addition ( + | - ) multiplication -comparison ::= +bitshift ::= addition -| comparison ( < | > | <= | >= ) addition -| comparison between addition and addition +| bitshift ( << | >> ) addition + +comparison ::= + bitshift +| comparison ( < | > | <= | >= ) bitshift +| comparison between bitshift and bitshift equality ::= comparison | equality ( = | != | <> ) comparison -logicaland ::= +bitand ::= equality -| logicaland and equality +| bitand & equality + +bitxor ::= + bitand +| bitxor ^ bitand + +bitor ::= + bitxor +| bitor | bitxor + +logicaland ::= + bitor +| logicaland and bitor logicalor ::= logicaland @@ -124,10 +141,15 @@

    SYNTAX | digit { digit } { exponent } | null -integer ::= digit { digit } +integer ::= + digit { digit } +| 0x hexdigit { hexdigit } +| 0X hexdigit { hexdigit } digit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 +hexdigit ::= digit | a | A | b | B | c | C | d | D | e | E | f | F + exponent ::= e [ + | - ] digit { digit } string ::= @@ -171,9 +193,20 @@

    DESCRIPTION

    Strings are implicitly converted to integer or double without error -handling similar to how atoi(3) or atof(3) do it. If -complete control of this is needed, it is recommended to -only use variables and functions of one specific type in the +handling somewhat similar to how atoi(3) or atof(3) do it. +When a string is implicitly converted to an integer, a +leading 0x (or 0X) will cause the conversion to use +hexadecimal characters, except when the string is retrieved +from a database using define or bindout. In +rare cases, this implicit conversion may change existing +code that was written before hexadecimal input was added. +This handling of hexadecimal conversion from string can be +turned off using the $stringhexadecimal:off +directive.

    + +

    If complete +control of data types is needed, it is recommended to only +use variables and functions of one specific type in the expression.

    CONSTANTS @@ -184,7 +217,8 @@

    CONSTANTS

    In rwloadsim, you can have constants of type integer, double or string and the additional constant null. Integer constants are -sequences of digits, double constants are sequences of +sequences of digits or 0x (or 0X) followed by a sequence of +hexadecimal digits, double constants are sequences of digits, a decimal dot, and potentially another sequence of digits. Double constants can additionally have an exponent which is the letter e (or E), potentially followed by + or - @@ -261,7 +295,11 @@

    OPERATORS All logical operators have the result 1 when true and 0 when false, and all operators operating on logic values use 0 as false and any other value as true. Except when noted, -operators are dyadic.

    +operators are dyadic.
    +is null is not null

    + +

    Similar to their equivalents in +the SQL language; these are monadic and post-fix.

    @@ -270,34 +308,13 @@

    OPERATORS

    - - - - - - - - - - +

    - ~ ! not

    +negative, bitwise not and two synonyms for boolean not.

    + + + + + + + + + + + + + + + + + + + +
    -

    is null

    -
    - - -

    is not null

    - - -

    Similar to their equivalents in the SQL language; these -are monadic and post-fix.

    - - -

    - ! not

    These monadic prefix operators are respectively numeric -negative and two synonyms for boolean not.

    @@ -336,6 +353,19 @@

    OPERATORS

    +

    << >>

    + + +

    Bitwise left and right shift. Note that both arguments +must have integer values and the right argument must be in +the range [0;63].

    + +

    < <= > >=

    @@ -363,6 +393,40 @@

    OPERATORS

    +

    &

    + + +

    Bitwise and; both operands must have integer values.

    + + +

    ^

    + + +

    Bitwise exclusive or; both operands must have integer +values.

    + + +

    |

    + + +

    Bitwise or; both operands must have integer values.

    + +

    = <> !=

    @@ -651,6 +715,22 @@

    FUNCTIONS resolution is normally microseconds, but it depends on the resolution of the gettimeofday(2) system call.

    +

    dbseconds() +ociseconds()

    + +

    These functions return the +cumulative number of seconds that has been spent on +respectively the database side and the client side of a +subset of OCI calls such as OCIStmtExecute. The value is a +double and typically has microsecond resolution. You need to +enable collecting the times using respectively +$statsdbtime:on and $statsapptime:on, +otherwise the return values will be zero. Please note that +only a subset of OCI calls are timed, the details are at +runres(1rwl). The absolute values returned by these calls +should not be used, always use the difference between two +calls to either function.

    + diff --git a/docs/refman/netthroughput.html b/docs/refman/netthroughput.html index 94b34e02..62f78a31 100644 --- a/docs/refman/netthroughput.html +++ b/docs/refman/netthroughput.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpsetup.html b/docs/refman/oltpsetup.html index d5440ae7..9f9155a5 100644 --- a/docs/refman/oltpsetup.html +++ b/docs/refman/oltpsetup.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/oltpxcrun.html b/docs/refman/oltpxcrun.html index bb323c9a..b048ba68 100644 --- a/docs/refman/oltpxcrun.html +++ b/docs/refman/oltpxcrun.html @@ -1,5 +1,5 @@ - + @@ -45,8 +45,8 @@

    SYNOPSIS

    oltpxcrun -[-H] [-g|-G] [-a] [-2] [-k key] [-R file] [-r runperiod] -[--no-awr] [--default] [komment text ...]

    +[-H] [-g|-G] [-a] [-2] [-b] [-k key] [-R file] [-r +runperiod] [--no-awr] [--default] [komment text ...]

    Continuously make long runs with external control.

    @@ -102,6 +102,12 @@

    OPTIONS properly set DISPLAY environment variable. For -G, see oltprun(2rwl).

    +

    -b
    +--simulatebatch

    + +

    See oltpcore(2rwl) for +details.

    +

    -R file

    diff --git a/docs/refman/rwloadsim.html b/docs/refman/rwloadsim.html index ead6de10..74f0e402 100644 --- a/docs/refman/rwloadsim.html +++ b/docs/refman/rwloadsim.html @@ -1,5 +1,5 @@ - + @@ -229,38 +229,38 @@

    OPTIONS option either a hexadecimal value (potentially prefixed by 0x or 0X) or one of the text strings shown in the following table:
    -0x004 bison

    +0x0004 bison

    Set the debug flag in the bison(1) parser.

    -

    0x010 var

    +

    0x0010 var

    Debug handling of variables such as declarations.

    -

    0x020 exec

    +

    0x0020 exec

    Debug execution of generated code; this does not include code executed directly in main.

    -

    0x040 pvinternal

    +

    0x0040 pvinternal

    The printvar all will also print all internally generated variables.

    -

    0x100 eval

    +

    0x0100 eval

    Debug evaluation of expressions.

    -

    0x200 sql

    +

    0x0200 sql

    Debug execution of sql and other database operations.

    -

    0x800 bind define

    +

    0x0800 bind define

    Output information about all binds and defines before first execute of some SQL; both @@ -268,6 +268,13 @@

    OPTIONS for debug of bind or define separately. This is primarily useful if you are using implicit binds and/or defines.

    +

    0x1000 src

    + +

    For all debug, also show the +file name and line number of the source code where that +debug is found. Note that this is only useful if you have +the source code to your precise build of rwloadsim.

    +

    Note that some debug may cause extensive output and that the actual
    debug bits may change between versions.

    diff --git a/man/man1rwl/directive.1rwl b/man/man1rwl/directive.1rwl index cf7aff64..d5a027f7 100644 --- a/man/man1rwl/directive.1rwl +++ b/man/man1rwl/directive.1rwl @@ -34,6 +34,7 @@ the default value is "%ld". Only formats that actually can be used to convert integers are accepted, and a warning will be displayed if the conversion isn't valid for a (small) set of verification values. +The format cannot include hexadecimal output. .P Some useful values may be: .B $iformat:%08ld @@ -490,6 +491,18 @@ recommended and the possibility will be removed in a later release. The current behavior can be reset using the third directive. .P .RE +.B $stringhexadecimal:off +.br +.B $stringhexadecimal:on +.RS 4 +By default, implicit conversion of a string to an integer will accept hexadecimal +numbers that are initiated by 0x or 0X, excpet strings that are received from the database. +To turn off this behavior and only accept decimal integer, use the first of these directives. +.P +Note that you can still enter hexadecimal constants when this directive is turned off, it only +impacts the implicit conversion from string to integer. +.RE +.P .B $niceabort:on .br .B $niceabort:off diff --git a/man/man1rwl/expression.1rwl b/man/man1rwl/expression.1rwl index d5acb7da..271e6b39 100644 --- a/man/man1rwl/expression.1rwl +++ b/man/man1rwl/expression.1rwl @@ -29,6 +29,7 @@ function ::= | ( \fBactivesessioncount\fR | \fBopensessioncount\fR ) \fB(\fR identifier \fB)\fR | ( \fBserverrelease\fR ) \fB(\fR identifier | \fBdefault\fR | \fBresults\fR \fB)\fR | ( \fBrunseconds\fR | \fBepochseconds\fR ) \fB()\fR +| ( \fBdbseconds\fR | \fBociseconds\fR ) \fB()\fR | \fBgetenv\fR \fB(\fR expression \fB)\fR | \fBsystem\fR \fB(\fR concatenation [ \fB,\fR identifier ] \fB)\fR | \fBaccess\fR \fB(\fR concatenation \fB,\fR expression \fB)\fR @@ -45,7 +46,7 @@ function ::= \fC unary_expression ::= primary_expression [ \fBis\fR [ \fBnot\fR ] \fBnull\fR ] -| ( \fB-\fR | \fB!\fR | \fBnot\fR ) multiplication +| ( \fB-\fR | \fB!\fR | \fBnot\fR | \fB~\fR) multiplication \fR .fi @@ -70,10 +71,19 @@ addition ::= .P .nf \fC -comparison ::= +bitshift ::= addition -| comparison ( \fB<\fR | \fB>\fR | \fB<=\fR | \fB>=\fR ) addition -| comparison \fBbetween\fR addition \fBand\fR addition +| bitshift ( \fB<<\fR | \fB>>\fR ) addition +\fR + +.fi +.P +.nf +\fC +comparison ::= + bitshift +| comparison ( \fB<\fR | \fB>\fR | \fB<=\fR | \fB>=\fR ) bitshift +| comparison \fBbetween\fR bitshift \fBand\fR bitshift \fR .fi @@ -89,9 +99,36 @@ equality ::= .P .nf \fC -logicaland ::= +bitand ::= equality -| logicaland \fBand\fR equality +| bitand \fB&\fR equality +\fR + +.fi +.P +.nf +\fC +bitxor ::= + bitand +| bitxor \fB^\fR bitand +\fR + +.fi +.P +.nf +\fC +bitor ::= + bitxor +| bitor \fB|\fR bitxor +\fR + +.fi +.P +.nf +\fC +logicaland ::= + bitor +| logicaland \fBand\fR bitor \fR .fi @@ -145,7 +182,10 @@ constant ::= .P .nf \fC -integer ::= digit { digit } +integer ::= + digit { digit } +| \fB0x\fR hexdigit { hexdigit } +| \fB0X\fR hexdigit { hexdigit } \fR .fi @@ -155,6 +195,13 @@ integer ::= digit { digit } digit ::= \fB0\fR | \fB1\fR | \fB2\fR | \fB3\fR | \fB4\fR | \fB5\fR | \fB6\fR | \fB7\fR | \fB8\fR | \fB9\fR \fR +.fi +.P +.nf +\fC +hexdigit ::= digit | \fBa\fR | \fBA\fR | \fBb\fR | \fBB\fR | \fBc\fR | \fBC\fR | \fBd\fR | \fBD\fR | \fBe\fR | \fBE\fR | \fBf\fR | \fBF\fR +\fR + .fi .P .nf @@ -195,14 +242,23 @@ The same rules apply to numeric comparisons. If a double result is assigned to an integer variable or used in another context where an integer is expected, the standard function trunc(3) is implicitly applied to the double value. .P -Strings are implicitly converted to integer or double without error handling similar to how +Strings are implicitly converted to integer or double without error handling somewhat similar to how atoi(3) or atof(3) do it. -If complete control of this is needed, it is recommended to only use variables and functions of one +When a string is implicitly converted to an integer, a leading 0x (or 0X) will cause the +conversion to use hexadecimal characters, except when the string is retrieved from a database +using \fBdefine\fR or \fBbindout\fR. +In rare cases, this implicit conversion may change existing code that was written before +hexadecimal input was added. +This handling of hexadecimal conversion from string can be turned off using +the \fB$stringhexadecimal:off\fR directive. +.P +If complete control of data types is needed, +it is recommended to only use variables and functions of one specific type in the expression. .SH CONSTANTS In rwloadsim, you can have constants of type integer, double or string and the additional constant \fBnull\fR. -Integer constants are sequences of digits, +Integer constants are sequences of digits or 0x (or 0X) followed by a sequence of hexadecimal digits, double constants are sequences of digits, a decimal dot, and potentially another sequence of digits. Double constants can additionally have an exponent which is the letter e (or E), potentially followed by + or - and terminated by a sequence of digits. @@ -262,13 +318,11 @@ All logical operators have the result 1 when true and 0 when false, and all oper operating on logic values use 0 as false and any other value as true. Except when noted, operators are dyadic. .TP 14 -.B "is null" -.TP -.B "is not null" +.B "is null" " " "is not null" Similar to their equivalents in the SQL language; these are monadic and post-fix. .TP -.B "- ! not" -These monadic prefix operators are respectively numeric negative and two synonyms for boolean not. +.B "- ~ ! not" +These monadic prefix operators are respectively numeric negative, bitwise not and two synonyms for boolean not. .TP .B "* / %" Multiplication, division and remainder. @@ -285,6 +339,11 @@ you can create a function that returns a-round(a/b)*b. .B "+ -" Addition and subtraction. .TP +.B "<< >>" +Bitwise left and right shift. +Note that both arguments must have integer values and the right argument must be in the +range [0;63]. +.TP .B "< <= > >=" .TP .B "between and" @@ -298,6 +357,15 @@ All operands of the .B between and operator are calculated irrespective of their values. .TP +.B & +Bitwise and; both operands must have integer values. +.TP +.B ^ +Bitwise exclusive or; both operands must have integer values. +.TP +.B | +Bitwise or; both operands must have integer values. +.TP .B "= <> !=" Equality and two synonyms for inequality comparison. The type rules are the same as for the comparison operators. @@ -423,6 +491,16 @@ A double function taking no arguments, which returns the UNIX epoch in seconds. The resolution is normally microseconds, but it depends on the resolution of the gettimeofday(2) system call. .TP +.B dbseconds() ociseconds() +These functions return the cumulative number of seconds that has been spent on respectively the +database side and the client side of a subset of OCI calls such as OCIStmtExecute. +The value is a double and typically has microsecond resolution. +You need to enable collecting the times using respectively \fB$statsdbtime:on\fR +and \fB$statsapptime:on\fR, otherwise the return values will be zero. +Please note that only a subset of OCI calls are timed, the details are at runres(1rwl). +The absolute values returned by these calls should not be used, always use the difference between +two calls to either function. +.TP .B getenv(s) Return the value of the environment variable provided as the argument. If the environment variable does not exist, an empty string is returned. diff --git a/src/lex.rwly.c b/src/lex.rwly.c index 43db6ee4..6dfa6db4 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 356 -#define YY_END_OF_BUFFER 357 +#define YY_NUM_RULES 363 +#define YY_END_OF_BUFFER 364 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -352,225 +352,229 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1977] = +static yyconst flex_int16_t yy_accept[2003] = { 0, - 0, 0, 357, 355, 353, 352, 192, 355, 354, 348, - 184, 220, 355, 185, 186, 182, 180, 187, 181, 355, - 183, 47, 194, 237, 190, 188, 191, 193, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 355, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 219, 221, 353, - 202, 0, 43, 0, 354, 349, 235, 234, 236, 349, - 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, - 349, 349, 349, 349, 349, 349, 349, 222, 0, 42, - - 0, 225, 224, 205, 40, 206, 175, 41, 223, 226, - 46, 47, 0, 204, 0, 199, 203, 0, 189, 200, - 0, 0, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 350, - 0, 233, 233, 233, 233, 233, 89, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 160, 233, 233, - 179, 233, 233, 233, 233, 233, 233, 233, 233, 233, - - 198, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 207, 234, 236, 0, + 0, 0, 364, 362, 360, 359, 194, 362, 361, 355, + 186, 216, 362, 187, 188, 184, 182, 189, 183, 362, + 185, 47, 47, 196, 242, 192, 190, 193, 195, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 362, 217, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 218, + 213, 360, 204, 0, 43, 0, 361, 356, 240, 239, + 241, 356, 356, 356, 356, 356, 356, 356, 356, 356, + 356, 356, 356, 356, 356, 356, 356, 356, 356, 227, + + 0, 42, 0, 230, 229, 207, 40, 208, 177, 41, + 228, 231, 46, 47, 0, 0, 206, 214, 201, 205, + 0, 191, 202, 215, 0, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 357, 0, 238, 238, 238, 238, 238, 91, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 162, 238, 238, 181, 238, 238, 238, 238, 238, 238, + + 238, 238, 238, 200, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 209, + 239, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, + 46, 0, 0, 44, 49, 232, 211, 203, 210, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + + 238, 238, 238, 238, 238, 238, 238, 238, 358, 238, + 238, 238, 174, 198, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 124, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 104, 238, 238, + 238, 238, 238, 114, 238, 238, 238, 173, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 113, 238, 238, 238, 238, 238, 238, 238, 238, + 197, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 58, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 97, 238, 238, 238, 238, 123, 238, 75, 238, + + 238, 238, 238, 238, 179, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 46, 0, 0, - 44, 227, 209, 201, 208, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - - 233, 233, 233, 233, 351, 233, 233, 233, 172, 196, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 122, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 102, 233, 233, 233, 233, 233, 112, - 233, 233, 233, 171, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 111, 233, 233, - 233, 233, 233, 233, 233, 233, 195, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 56, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 95, 233, 233, - 233, 233, 121, 233, 73, 233, 233, 233, 233, 233, - - 177, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, - 233, 233, 233, 233, 233, 233, 38, 233, 233, 233, - 233, 233, 37, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 0, 233, 233, 33, 233, - 233, 233, 233, 233, 233, 96, 55, 233, 232, 113, - - 54, 233, 233, 233, 233, 233, 59, 233, 233, 233, - 233, 233, 233, 106, 163, 233, 233, 233, 233, 233, - 51, 233, 148, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 70, 233, 233, 170, 233, - 233, 233, 233, 233, 233, 233, 176, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 120, 233, 233, 101, 233, - 233, 233, 233, 162, 233, 233, 233, 233, 233, 166, - 161, 233, 233, 233, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 246, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 45, 0, 238, 238, 238, 238, + 238, 238, 38, 238, 238, 238, 238, 238, 37, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 0, 238, 238, 33, 238, 238, 238, 238, 238, + + 238, 98, 57, 238, 237, 115, 56, 238, 238, 238, + 238, 238, 61, 238, 238, 238, 238, 238, 238, 108, + 165, 238, 238, 238, 238, 238, 53, 238, 150, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 72, 238, 238, 172, 238, 238, 238, 238, 238, + 238, 238, 178, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 122, 238, 238, 103, 238, 238, 238, 238, 164, + 238, 238, 238, 238, 238, 168, 163, 238, 238, 238, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, - 0, 0, 233, 36, 233, 233, 21, 34, 233, 233, - 233, 233, 233, 233, 233, 20, 233, 0, 31, 233, - 24, 233, 233, 233, 233, 0, 0, 0, 233, 233, - 71, 233, 233, 147, 218, 233, 233, 60, 233, 233, - 100, 233, 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 169, 233, 233, 115, 233, 233, 136, - - 233, 233, 233, 233, 233, 123, 233, 233, 233, 233, - 233, 228, 57, 233, 233, 233, 233, 233, 233, 63, - 233, 233, 157, 233, 233, 233, 233, 167, 233, 233, - 233, 152, 233, 233, 233, 233, 233, 116, 233, 233, - 233, 233, 173, 233, 233, 99, 233, 233, 233, 233, - 233, 233, 233, 114, 233, 233, 233, 165, 233, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 247, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 249, 0, 0, 50, + 238, 36, 238, 238, 21, 34, 238, 238, 238, 238, + 238, 238, 238, 20, 238, 0, 31, 238, 24, 238, + 238, 238, 238, 0, 0, 0, 238, 238, 73, 238, + 238, 149, 226, 238, 238, 62, 238, 238, 102, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + + 238, 171, 238, 238, 117, 238, 238, 138, 238, 238, + 238, 238, 238, 125, 238, 238, 238, 238, 238, 233, + 59, 238, 238, 238, 238, 238, 238, 65, 238, 238, + 159, 238, 238, 238, 238, 169, 238, 238, 238, 154, + 238, 238, 238, 238, 238, 118, 238, 238, 238, 238, + 175, 238, 238, 101, 238, 238, 238, 238, 238, 238, + 238, 116, 238, 238, 238, 167, 238, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 233, 233, 233, 233, 19, 233, 32, 233, 233, 233, - 30, 0, 233, 25, 26, 233, 28, 0, 0, 0, - 233, 29, 135, 233, 233, 233, 86, 233, 233, 233, - 233, 69, 233, 233, 98, 143, 164, 68, 233, 131, - 233, 156, 233, 233, 137, 128, 233, 93, 233, 233, - 124, 233, 178, 127, 233, 72, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 65, 233, 233, 233, - 233, 58, 233, 146, 233, 233, 233, 233, 233, 233, - 233, 233, 50, 233, 233, 233, 233, 233, 233, 214, - - 233, 233, 145, 125, 231, 129, 233, 233, 233, 233, - 233, 233, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, + 238, 238, 238, 19, 238, 32, 238, 238, 238, 30, + 0, 238, 25, 26, 238, 28, 0, 0, 0, 238, + 29, 137, 238, 238, 238, 88, 238, 238, 238, 238, + 71, 238, 238, 100, 145, 166, 70, 238, 133, 238, + 158, 238, 238, 139, 130, 238, 95, 238, 238, 126, + 238, 180, 129, 238, 74, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 67, 238, 238, 238, 238, + 60, 238, 148, 238, 238, 238, 238, 238, 238, 238, + + 238, 52, 238, 238, 238, 238, 238, 238, 222, 238, + 238, 147, 127, 236, 131, 238, 238, 238, 238, 238, + 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, + 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 233, 23, 233, 233, 0, - 35, 233, 233, 233, 0, 22, 233, 0, 0, 0, - 233, 233, 197, 97, 77, 233, 233, 233, 233, 88, - 233, 132, 133, 134, 174, 67, 233, 233, 233, 233, - - 144, 130, 233, 233, 233, 233, 168, 233, 233, 85, - 233, 233, 233, 233, 233, 94, 233, 233, 233, 52, - 233, 233, 233, 83, 233, 90, 233, 233, 233, 233, - 233, 66, 233, 233, 126, 92, 109, 233, 233, 233, - 233, 233, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 238, 23, 238, 238, 0, + 35, 238, 238, 238, 0, 22, 238, 0, 0, 0, + 238, 238, 199, 99, 79, 238, 238, 238, 238, 90, + + 238, 134, 135, 136, 176, 69, 238, 238, 238, 238, + 146, 132, 238, 238, 238, 238, 170, 238, 238, 87, + 238, 238, 238, 238, 238, 96, 238, 238, 238, 54, + 238, 238, 238, 85, 238, 92, 238, 238, 238, 238, + 238, 68, 238, 238, 128, 94, 111, 238, 238, 238, + 238, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 322, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 233, 233, 0, 0, - - 0, 0, 0, 0, 0, 233, 0, 233, 0, 233, - 0, 10, 0, 39, 233, 233, 233, 80, 233, 233, - 233, 49, 233, 233, 233, 233, 229, 233, 233, 233, - 233, 233, 233, 79, 233, 159, 233, 233, 151, 233, - 233, 153, 233, 87, 233, 233, 233, 84, 233, 233, - 61, 78, 233, 233, 53, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 238, 238, 0, + 0, 0, 0, 0, 0, 0, 238, 0, 238, 0, + 238, 0, 10, 0, 39, 238, 238, 238, 82, 238, + 238, 238, 51, 238, 238, 238, 238, 234, 238, 238, + 238, 238, 238, 238, 81, 238, 161, 238, 238, 153, + 238, 238, 155, 238, 89, 238, 238, 238, 86, 238, + 238, 63, 80, 238, 238, 55, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 243, 0, 0, 0, 0, + 238, 238, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 238, 0, 238, 0, 27, 0, 0, 238, 238, + 238, 142, 109, 238, 144, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 160, 93, 238, 110, 238, 156, + 238, 238, 238, 238, 84, 238, 238, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 264, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 233, 233, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, - 0, 233, 0, 27, 0, 0, 233, 233, 233, 140, - 107, 233, 142, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 158, 91, 233, 108, 233, 154, 233, 233, - 233, 233, 82, 233, 233, 150, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, - 0, 0, 0, 0, 0, 0, 0, 328, 0, 0, - 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 265, 0, 0, 0, 0, 0, 0, + 337, 0, 0, 0, 0, 0, 0, 0, 0, 335, + 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 233, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 0, 233, 0, 0, 8, 0, 0, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 141, 233, - 233, 233, 233, 138, 233, 233, 117, 233, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, - 330, 329, 0, 0, 0, 0, 0, 0, 281, 328, - 0, 0, 0, 0, 0, 0, 279, 0, 0, 278, - 0, 0, 326, 325, 0, 338, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, - - 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, - 0, 0, 0, 0, 12, 233, 0, 0, 0, 0, - 0, 233, 233, 233, 75, 233, 62, 74, 64, 233, - 233, 233, 233, 233, 233, 233, 81, 233, 103, 233, - 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 331, 329, 0, 0, 0, 0, 0, 0, - 281, 0, 0, 0, 0, 0, 0, 0, 278, 0, - 0, 325, 324, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 332, 0, 0, + 0, 0, 0, 238, 0, 4, 0, 0, 0, 0, + 0, 0, 0, 0, 238, 0, 0, 8, 0, 0, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 143, 238, 238, 238, 238, 140, 238, 238, 119, + 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 338, 337, 336, 0, 0, 0, 0, 0, + 0, 288, 335, 0, 0, 0, 0, 0, 0, 286, + 0, 0, 285, 0, 0, 333, 332, 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 233, 5, 0, 0, 0, 0, - 233, 233, 233, 139, 230, 233, 110, 119, 233, 233, - 155, 233, 233, 212, 323, 0, 254, 266, 267, 0, - 334, 0, 0, 0, 0, 0, 319, 0, 0, 0, - 0, 256, 0, 0, 0, 0, 0, 0, 0, 295, - 238, 324, 0, 0, 0, 262, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, - 327, 0, 0, 0, 251, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 240, 241, + 0, 0, 339, 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 233, 233, 233, 76, 233, 233, 213, - 233, 323, 255, 0, 335, 0, 0, 0, 0, 315, - 0, 319, 0, 0, 0, 257, 0, 0, 292, 294, - 0, 0, 0, 238, 0, 0, 0, 260, 263, 0, - 0, 0, 0, 268, 0, 0, 0, 0, 0, 274, - 0, 0, 333, 327, 0, 0, 253, 0, 0, 0, + 0, 0, 13, 0, 0, 0, 0, 0, 12, 238, + 0, 0, 0, 0, 0, 238, 238, 238, 77, 238, + 64, 76, 66, 238, 238, 238, 238, 238, 238, 238, + 83, 238, 105, 238, 219, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 338, 336, 0, 0, + 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, + 0, 0, 285, 0, 0, 332, 331, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 339, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, + 5, 0, 0, 0, 0, 238, 238, 238, 141, 235, + 238, 112, 121, 238, 238, 157, 238, 238, 220, 330, + 0, 261, 273, 274, 0, 341, 0, 0, 0, 0, + 0, 326, 0, 0, 0, 0, 263, 0, 0, 0, + 0, 0, 0, 0, 302, 243, 331, 0, 0, 0, + 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 340, 334, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 0, 241, 0, 0, 0, 0, 17, 0, 16, - - 0, 18, 0, 0, 0, 9, 0, 233, 233, 104, - 233, 233, 118, 0, 289, 335, 0, 0, 0, 309, - 0, 316, 0, 0, 0, 280, 0, 282, 0, 0, - 0, 0, 239, 0, 261, 0, 269, 0, 270, 0, - 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 344, 0, 336, 250, 0, 0, 0, 0, - 313, 0, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 0, 7, 11, 233, 105, 233, 233, 290, 0, - 0, 0, 310, 0, 305, 0, 0, 0, 283, 0, - 293, 0, 0, 239, 0, 288, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 252, 0, 303, 0, - 0, 0, 0, 337, 0, 0, 0, 311, 314, 0, - 0, 0, 240, 0, 0, 241, 0, 0, 0, 0, - 15, 0, 0, 233, 215, 233, 291, 0, 0, 306, - 0, 307, 0, 0, 0, 0, 0, 0, 288, 0, - 284, 0, 0, 273, 0, 276, 0, 0, 0, 298, - 0, 304, 0, 0, 0, 0, 337, 248, 0, 312, - 0, 0, 0, 0, 0, 0, 0, 233, 217, 291, - 0, 321, 308, 0, 0, 0, 347, 0, 297, 0, - 0, 285, 271, 275, 0, 0, 0, 0, 299, 0, - - 0, 0, 340, 341, 0, 0, 0, 0, 0, 0, - 0, 6, 216, 0, 287, 0, 296, 0, 277, 0, - 300, 0, 0, 0, 0, 0, 342, 0, 0, 0, - 0, 0, 0, 0, 320, 287, 0, 0, 301, 0, - 0, 317, 0, 0, 0, 346, 345, 0, 2, 0, - 286, 339, 302, 318, 0, 0, 343, 0, 0, 346, - 345, 0, 0, 286, 339, 0, 258, 249, 0, 0, - 259, 0, 3, 0, 1, 0 + 0, 0, 0, 0, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, + 238, 238, 78, 238, 238, 221, 238, 330, 262, 0, + 342, 0, 0, 0, 0, 322, 0, 326, 0, 0, + 0, 264, 0, 0, 299, 301, 0, 0, 0, 243, + 0, 0, 0, 267, 270, 0, 0, 0, 0, 275, + 0, 0, 0, 0, 0, 281, 0, 0, 340, 334, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 245, 0, 246, + 0, 0, 0, 0, 17, 0, 16, 0, 18, 0, + 0, 0, 9, 0, 238, 238, 106, 238, 238, 120, + 0, 296, 342, 0, 0, 0, 316, 0, 323, 0, + 0, 0, 287, 0, 289, 0, 0, 0, 0, 244, + 0, 268, 0, 276, 0, 277, 0, 279, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, + 0, 343, 255, 0, 0, 0, 0, 320, 0, 0, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, + 7, 11, 238, 107, 238, 238, 297, 0, 0, 0, + + 317, 0, 312, 0, 0, 0, 290, 0, 300, 0, + 0, 244, 0, 295, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 257, 0, 310, 0, 0, 0, + 0, 344, 0, 0, 0, 318, 321, 0, 0, 0, + 0, 245, 0, 0, 246, 0, 0, 0, 0, 15, + 0, 0, 238, 223, 238, 298, 0, 0, 313, 0, + 314, 0, 0, 0, 0, 0, 0, 295, 0, 291, + 0, 0, 280, 0, 283, 0, 0, 0, 305, 0, + 311, 0, 0, 0, 0, 344, 253, 0, 319, 0, + 0, 0, 0, 0, 0, 0, 0, 238, 225, 298, + + 0, 328, 315, 0, 0, 0, 354, 0, 304, 0, + 0, 292, 278, 282, 0, 0, 0, 0, 306, 0, + 0, 0, 347, 348, 0, 0, 0, 0, 0, 0, + 0, 0, 6, 224, 0, 294, 0, 303, 0, 284, + 0, 307, 0, 0, 0, 0, 0, 349, 0, 0, + 0, 0, 0, 0, 0, 0, 327, 294, 0, 0, + 308, 0, 0, 324, 0, 0, 0, 0, 353, 352, + 0, 2, 0, 293, 346, 309, 325, 0, 0, 350, + 0, 0, 0, 259, 353, 352, 0, 0, 293, 346, + 0, 265, 254, 260, 0, 0, 266, 0, 3, 0, + + 1, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -584,11 +588,11 @@ static yyconst YY_CHAR yy_ec[256] = 29, 30, 31, 1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 1, 58, 1, 1, 59, 1, 60, 61, 62, 63, + 1, 58, 1, 59, 60, 1, 61, 62, 63, 64, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 1, 86, 1, 87, 1, 1, 1, 1, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 1, 87, 1, 88, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -605,865 +609,875 @@ static yyconst YY_CHAR yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst YY_CHAR yy_meta[88] = +static yyconst YY_CHAR yy_meta[89] = { 0, 1, 2, 3, 2, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 7, 1, 8, 8, 8, 8, 8, 8, 9, 1, 10, 11, 10, 1, 12, 13, 13, 13, 12, 12, 14, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 16, 15, 15, 1, 17, 18, - 19, 19, 19, 18, 18, 20, 21, 21, 21, 21, - 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 22, 21, 21, 1, 1 + 15, 15, 15, 15, 16, 15, 15, 1, 1, 17, + 18, 19, 19, 19, 18, 18, 20, 21, 21, 21, + 21, 20, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 22, 21, 21, 1, 1 } ; -static yyconst flex_uint16_t yy_base[2017] = +static yyconst flex_uint16_t yy_base[2044] = { 0, - 0, 0, 3450, 3451, 86, 3451, 3420, 83, 0, 141, - 3451, 3438, 80, 3451, 3451, 3418, 77, 3451, 76, 3428, - 80, 211, 3416, 3451, 209, 3415, 211, 3451, 207, 59, - 66, 67, 41, 54, 51, 0, 56, 56, 68, 62, - 59, 81, 212, 181, 196, 205, 110, 263, 213, 273, - 243, 283, 302, 250, 3379, 223, 200, 295, 220, 192, - 303, 3362, 321, 329, 323, 337, 311, 3355, 3451, 116, - 3451, 254, 3451, 0, 0, 3451, 3451, 396, 0, 50, - 3372, 258, 338, 351, 3371, 3364, 190, 3363, 268, 59, - 275, 3359, 3355, 73, 362, 184, 3356, 3451, 291, 3451, - - 3430, 3451, 3451, 3451, 3451, 3451, 3451, 3451, 3451, 3451, - 422, 430, 447, 3451, 3403, 3451, 3451, 3402, 3451, 3451, - 3401, 3400, 0, 221, 267, 354, 356, 372, 391, 388, - 393, 413, 439, 406, 414, 414, 431, 442, 425, 442, - 429, 447, 431, 440, 428, 444, 431, 455, 441, 3451, - 3425, 3353, 312, 445, 465, 3349, 3365, 460, 3351, 3349, - 3358, 456, 3353, 3346, 468, 3342, 3339, 3339, 488, 3336, - 468, 3337, 470, 3340, 3342, 3348, 488, 3340, 3339, 487, - 3332, 3331, 3334, 3334, 3326, 3330, 3320, 0, 3329, 479, - 3328, 476, 503, 3337, 3320, 3327, 506, 3326, 319, 3332, - - 0, 3317, 294, 494, 3330, 354, 527, 359, 3320, 543, - 494, 3319, 3314, 496, 514, 509, 3322, 3311, 515, 465, - 529, 3324, 3319, 531, 539, 3318, 3356, 603, 0, 3302, - 3308, 3309, 3307, 3307, 3306, 3313, 3316, 3302, 3297, 3313, - 3310, 3295, 3307, 3299, 3291, 570, 3293, 3305, 3293, 3282, - 497, 3292, 3301, 3285, 3301, 3296, 3295, 3285, 332, 523, - 3297, 3285, 3295, 3290, 3285, 3288, 3451, 609, 626, 615, - 632, 3451, 3451, 3451, 3451, 602, 622, 616, 614, 621, - 622, 620, 620, 633, 623, 631, 636, 622, 628, 622, - 629, 639, 634, 639, 626, 641, 648, 635, 646, 647, - - 607, 639, 653, 659, 3451, 3274, 3286, 3281, 0, 0, - 3288, 3274, 3264, 3282, 3283, 3283, 3278, 3270, 3279, 657, - 3266, 0, 3265, 3259, 553, 3272, 671, 3267, 655, 3273, - 3258, 3268, 3257, 0, 3268, 3269, 3251, 3265, 3247, 673, - 3245, 3260, 3249, 0, 3254, 3259, 3248, 653, 3258, 3258, - 3243, 682, 3252, 3235, 3244, 3247, 3237, 0, 3236, 3242, - 3245, 3234, 3227, 3226, 3233, 3225, 0, 3232, 178, 3242, - 3228, 3222, 646, 3237, 3227, 539, 3234, 0, 3233, 3221, - 3230, 3229, 3212, 3211, 3210, 3218, 3215, 3209, 3205, 3207, - 3207, 3218, 0, 3214, 3222, 3201, 643, 3204, 3210, 3199, - - 0, 3197, 3196, 3201, 3209, 676, 3207, 3203, 3193, 3190, - 3195, 3196, 3188, 3186, 3451, 3204, 3199, 3199, 3199, 3187, - 3188, 3198, 3177, 3179, 3191, 3190, 3185, 3178, 3178, 3186, - 3170, 3240, 536, 716, 717, 3176, 3175, 3179, 666, 3160, - 3179, 3178, 3177, 3162, 266, 3216, 3158, 3174, 3173, 3161, - 3156, 3173, 3154, 3160, 654, 3157, 3163, 3151, 730, 742, - 687, 691, 685, 713, 697, 711, 0, 721, 707, 727, - 719, 721, 0, 740, 734, 723, 728, 776, 745, 747, - 747, 744, 747, 743, 757, 793, 758, 742, 0, 3148, - 3148, 3144, 3140, 3201, 3158, 3147, 0, 3150, 0, 0, - - 0, 767, 3155, 3139, 3143, 3155, 0, 3153, 3151, 3151, - 3132, 3138, 3139, 0, 3141, 3145, 3140, 3133, 3121, 3124, - 0, 3125, 0, 3125, 3128, 3121, 3139, 3125, 3117, 3136, - 3132, 3117, 3116, 3126, 3120, 0, 3111, 3112, 0, 3123, - 3104, 3125, 3108, 3120, 3123, 3122, 0, 3113, 3116, 3108, - 3100, 3095, 3097, 3115, 3110, 3105, 3088, 3107, 3096, 3098, - 3095, 3084, 3106, 3101, 3093, 3086, 3101, 3098, 3096, 3095, - 3090, 3094, 3077, 3082, 3086, 0, 3074, 671, 0, 3079, - 3072, 3088, 3085, 0, 3088, 770, 3073, 3080, 3072, 0, - 0, 3080, 3072, 3078, 3057, 3063, 3065, 3068, 3073, 746, - - 3068, 3069, 3062, 3451, 3070, 3067, 3054, 3051, 3058, 3055, - 798, 799, 806, 3119, 805, 3058, 3045, 3050, 3049, 3059, - 3047, 3048, 3093, 3054, 3057, 3037, 3094, 3037, 3092, 3048, - 3033, 3049, 3036, 3040, 3045, 3039, 3031, 3025, 747, 3451, - 3029, 762, 782, 0, 773, 794, 0, 0, 793, 803, - 792, 807, 795, 806, 814, 0, 797, 849, 0, 814, - 0, 820, 823, 814, 810, 817, 818, 819, 846, 843, - 0, 3024, 3037, 0, 0, 3036, 3008, 0, 3008, 3024, - 0, 2995, 2979, 2943, 2932, 2935, 2923, 2923, 2898, 2875, - 2854, 2839, 2830, 0, 2816, 2815, 0, 2802, 2810, 2843, - - 2783, 2783, 2786, 2792, 2791, 2793, 2787, 2779, 2782, 2778, - 2757, 817, 0, 2762, 2759, 2767, 2758, 2762, 2772, 0, - 2769, 2758, 828, 2746, 2751, 2744, 2732, 0, 2732, 812, - 2730, 245, 2722, 2721, 2719, 2699, 2708, 0, 2705, 2687, - 2688, 2691, 0, 2679, 2694, 0, 2684, 2643, 2654, 2642, - 2647, 2640, 2648, 858, 2633, 2635, 2646, 0, 2645, 2633, - 2623, 2622, 830, 2615, 2625, 2622, 2621, 2604, 2605, 2607, - 2603, 2616, 2612, 3451, 818, 2599, 2603, 2610, 841, 890, - 893, 2587, 2585, 2537, 2528, 2526, 2527, 2521, 891, 2493, - 2514, 2514, 2552, 2494, 2499, 876, 2494, 2477, 2483, 2475, - - 2464, 2480, 2475, 2442, 2420, 859, 2411, 2419, 2407, 2387, - 853, 868, 876, 869, 921, 885, 0, 880, 882, 898, - 0, 901, 883, 0, 0, 895, 0, 892, 895, 907, - 890, 0, 0, 2390, 2394, 2345, 0, 2319, 2335, 2318, - 2322, 0, 2315, 2314, 0, 0, 0, 0, 2328, 921, - 2326, 0, 2323, 2313, 0, 0, 2326, 0, 2323, 2320, - 0, 2306, 0, 2321, 2316, 0, 2316, 2314, 2303, 2312, - 2298, 2306, 2307, 2298, 2256, 2255, 0, 2260, 2266, 2260, - 2241, 0, 2246, 0, 2246, 2257, 2251, 2229, 2231, 46, - 55, 213, 0, 254, 351, 423, 432, 496, 539, 0, - - 676, 659, 0, 747, 0, 0, 759, 785, 865, 872, - 867, 878, 875, 890, 886, 877, 880, 881, 891, 908, - 893, 903, 892, 908, 895, 911, 912, 909, 904, 906, - 908, 974, 975, 976, 917, 922, 908, 924, 916, 930, - 918, 973, 924, 926, 922, 982, 930, 937, 932, 926, - 944, 944, 946, 938, 944, 939, 948, 951, 937, 942, - 957, 945, 949, 942, 954, 972, 0, 973, 1023, 1054, - 0, 997, 1026, 998, 1000, 0, 989, 985, 1000, 992, - 1002, 976, 0, 0, 973, 982, 979, 981, 981, 0, - 984, 0, 0, 0, 0, 0, 975, 983, 982, 976, - - 0, 0, 990, 988, 997, 992, 0, 1010, 993, 0, - 999, 995, 1011, 1002, 999, 0, 1000, 999, 1015, 0, - 1018, 1002, 1021, 0, 1011, 0, 1014, 1012, 1022, 1012, - 1004, 0, 1012, 1022, 0, 0, 0, 1029, 1029, 1027, - 1023, 1037, 1019, 1029, 1025, 1031, 1046, 1043, 1044, 1046, - 1042, 1032, 1035, 1048, 1088, 1089, 1053, 1038, 1046, 1041, - 1057, 1058, 1116, 1118, 1122, 1048, 1105, 1064, 1108, 1056, - 1065, 1066, 1118, 1084, 1069, 1079, 1126, 1073, 1080, 1087, - 1089, 1091, 1090, 1094, 1082, 1084, 1086, 1093, 1100, 1095, - 1089, 1086, 1094, 1092, 1100, 1090, 1134, 1135, 1170, 1123, - - 1144, 1137, 1129, 1147, 1131, 1141, 1180, 1143, 1143, 1138, - 1139, 3451, 1142, 0, 1110, 1119, 1132, 0, 1117, 1134, - 1126, 0, 1137, 1130, 1133, 1132, 0, 1148, 1157, 1148, - 1143, 1160, 1157, 0, 1162, 0, 1164, 1161, 0, 1151, - 1154, 1166, 1173, 0, 1171, 1164, 1162, 0, 1167, 1176, - 0, 0, 1174, 1176, 0, 1162, 1179, 1179, 1185, 1169, - 1170, 1171, 1178, 1177, 1187, 1188, 1227, 0, 1245, 1193, - 1197, 1194, 1191, 1187, 1235, 1254, 1255, 1239, 1260, 1193, - 1250, 1242, 1198, 1251, 1205, 1200, 1202, 1256, 1257, 1220, - 1220, 3451, 1209, 1261, 1225, 1211, 1217, 1219, 1212, 1221, - - 1221, 1234, 1218, 1230, 1235, 1274, 1227, 1240, 1254, 1302, - 1262, 1263, 1256, 1277, 1309, 1280, 1269, 1277, 1271, 1287, - 1277, 1319, 1288, 0, 1276, 1294, 1249, 1255, 1262, 0, - 0, 1257, 0, 1272, 1259, 1272, 1279, 1280, 1278, 1276, - 1271, 1276, 0, 0, 1286, 0, 1295, 0, 1279, 1279, - 1294, 1285, 0, 1282, 1339, 0, 1298, 1337, 1285, 1293, - 1287, 1290, 1308, 1301, 1304, 1300, 1294, 0, 0, 1355, - 1302, 1301, 1314, 1357, 1319, 1325, 0, 1379, 1335, 1382, - 1359, 1317, 1390, 1403, 1365, 0, 1315, 1330, 1368, 1316, - 1358, 1359, 1347, 3451, 1324, 1396, 1341, 1408, 1356, 1405, - - 1369, 1372, 1366, 1363, 1375, 1372, 1366, 1440, 1375, 1382, - 1452, 1461, 3451, 1417, 1420, 1408, 1464, 1416, 1426, 1423, - 1433, 1419, 1439, 1470, 3451, 1443, 1442, 1409, 1416, 1417, - 1419, 1412, 1407, 1420, 1412, 1430, 1419, 1432, 0, 1422, - 1428, 1438, 1431, 0, 1442, 1435, 1433, 1447, 1483, 1436, - 1486, 1450, 1489, 1442, 1446, 1445, 1493, 1452, 1496, 0, - 0, 0, 1452, 1460, 1454, 1452, 1443, 1456, 0, 1543, - 1461, 1466, 1467, 1458, 1469, 1530, 3451, 1541, 1512, 3451, - 1542, 1511, 1532, 1553, 1559, 0, 1464, 1514, 1469, 1478, - 1470, 1474, 1494, 1480, 1486, 1488, 1518, 1509, 1510, 1535, - - 1536, 1566, 1573, 1523, 1522, 1518, 1575, 1539, 1577, 1532, - 1541, 1530, 1602, 1583, 1584, 1625, 1561, 1562, 3451, 1583, - 1580, 1588, 1585, 1584, 3451, 1588, 1580, 1598, 1599, 1593, - 1583, 1558, 1564, 1562, 0, 1559, 0, 0, 0, 1574, - 1572, 1570, 1567, 1584, 1585, 1572, 0, 1576, 0, 1582, - 1595, 1648, 1592, 1643, 1640, 1654, 1603, 1655, 1618, 1609, - 1611, 1665, 0, 0, 1631, 1615, 1667, 1629, 1670, 1633, - 0, 1625, 1620, 1635, 1637, 1621, 1639, 1675, 1676, 1705, - 0, 1689, 1695, 1635, 1647, 1657, 1661, 1660, 1652, 1648, - 1653, 1656, 1666, 1657, 1658, 1659, 1670, 1684, 0, 1725, - - 1719, 1682, 1678, 1678, 1673, 1694, 1675, 1695, 1693, 1732, - 1676, 1755, 3451, 0, 0, 0, 1728, 1733, 1726, 1720, - 1723, 1733, 1738, 1738, 1773, 3451, 1727, 1746, 1735, 1741, - 1709, 1723, 1710, 0, 0, 1721, 0, 0, 1712, 1727, - 0, 1724, 1718, 0, 1794, 1725, 3451, 3451, 3451, 1717, - 1802, 1769, 1722, 1774, 1738, 1740, 1808, 1728, 1726, 1738, - 1756, 3451, 1760, 1809, 1773, 1770, 1770, 1764, 1776, 3451, - 1812, 1822, 1770, 1784, 1785, 3451, 1773, 1792, 1774, 1790, - 1780, 1777, 1785, 1785, 1793, 1779, 1787, 1795, 1792, 0, - 1845, 1846, 1799, 1808, 3451, 1796, 1849, 1801, 1809, 1813, - - 1800, 1854, 1810, 1822, 1815, 1858, 1811, 1860, 1861, 1862, - 1833, 1839, 1845, 1836, 1850, 1858, 1843, 1847, 1895, 1868, - 1858, 1851, 1857, 1842, 1827, 1835, 0, 1827, 1829, 0, - 1825, 1890, 3451, 1860, 1914, 1867, 1875, 1842, 1861, 3451, - 1915, 1929, 1865, 1883, 1871, 3451, 1882, 1936, 3451, 3451, - 1873, 1900, 1886, 1935, 0, 1886, 1901, 3451, 3451, 1941, - 1898, 1901, 1891, 3451, 1903, 1893, 1894, 1901, 1902, 3451, - 1911, 1910, 0, 1959, 1959, 1912, 3451, 1923, 1914, 1914, - 1919, 1926, 1929, 1973, 1928, 1922, 1923, 1928, 1938, 1941, - 1979, 2000, 1981, 2002, 2010, 1969, 1965, 3451, 1983, 3451, - - 1967, 3451, 1966, 1986, 1984, 3451, 1976, 1948, 1945, 0, - 1951, 1957, 0, 1961, 2001, 2008, 1972, 1975, 1971, 3451, - 1977, 3451, 1965, 1980, 1964, 3451, 1981, 3451, 2031, 1994, - 1999, 1998, 0, 1984, 3451, 2042, 3451, 1995, 3451, 1996, - 3451, 1997, 1989, 2010, 2000, 2001, 2001, 2017, 1998, 2013, - 2015, 2016, 3451, 2017, 2072, 3451, 2014, 2004, 2033, 2019, - 3451, 2021, 2027, 2082, 2083, 2098, 2049, 3451, 2069, 2068, - 2073, 2075, 3451, 3451, 2028, 0, 2030, 2036, 3451, 0, - 2049, 2044, 3451, 2048, 3451, 2049, 2031, 2040, 3451, 2112, - 3451, 2041, 2060, 0, 2053, 2123, 2061, 2043, 2044, 2046, - - 2054, 2061, 2104, 2070, 2084, 2060, 3451, 2073, 3451, 2066, - 2124, 2074, 2072, 2138, 2091, 2080, 2090, 3451, 3451, 2090, - 2101, 2159, 3451, 0, 2160, 3451, 0, 2135, 2117, 2133, - 3451, 2120, 2122, 2100, 0, 2101, 0, 2111, 2105, 3451, - 2112, 3451, 2152, 2119, 2174, 2117, 2104, 2110, 2164, 2125, - 3451, 2127, 2128, 3451, 2131, 3451, 2120, 2172, 2136, 3451, - 2132, 3451, 2141, 2199, 2129, 2128, 2188, 3451, 2148, 3451, - 2138, 2148, 2174, 2180, 2219, 2184, 2189, 2147, 0, 0, - 2152, 3451, 3451, 2213, 2144, 2223, 3451, 2227, 3451, 2167, - 2173, 3451, 3451, 3451, 2172, 2176, 2182, 2169, 3451, 2183, - - 2219, 2240, 3451, 3451, 2173, 2187, 2194, 2224, 2224, 2258, - 2209, 3451, 0, 2184, 2244, 2244, 3451, 2245, 3451, 2207, - 3451, 2196, 2209, 2249, 2270, 2272, 3451, 2274, 2219, 2216, - 2210, 2247, 2238, 2238, 3451, 2318, 2324, 0, 3451, 2217, - 2226, 3451, 2218, 2294, 2221, 2216, 2218, 2261, 3451, 2263, - 2333, 0, 3451, 3451, 2241, 2301, 3451, 2332, 2230, 3451, - 3451, 2278, 2302, 2345, 0, 2245, 3451, 3451, 2315, 2311, - 3451, 2318, 3451, 2320, 3451, 3451, 2399, 2421, 2443, 2458, - 2473, 2495, 2517, 2532, 2547, 2565, 2580, 2602, 2624, 2646, - 2661, 2676, 2695, 2710, 2732, 2747, 2769, 2774, 2789, 2797, - - 2808, 2825, 2840, 2854, 2871, 2893, 2915, 2937, 2959, 2970, - 2985, 3007, 3029, 3040, 3062, 3077 + 0, 0, 3490, 3491, 87, 3491, 3460, 84, 0, 142, + 3491, 3478, 81, 3491, 3491, 3458, 78, 3491, 77, 3468, + 81, 213, 221, 3456, 3491, 222, 3455, 218, 3491, 219, + 60, 66, 68, 42, 56, 52, 0, 57, 57, 69, + 63, 59, 80, 223, 183, 206, 216, 110, 3491, 275, + 230, 285, 254, 293, 315, 209, 3418, 247, 214, 231, + 261, 265, 283, 3401, 332, 340, 262, 304, 334, 3394, + 3491, 116, 3491, 327, 3491, 0, 0, 3491, 3491, 406, + 0, 49, 3411, 314, 210, 360, 3410, 3403, 345, 3402, + 298, 204, 58, 3398, 3394, 333, 371, 51, 3395, 3491, + + 341, 3491, 3470, 3491, 3491, 3491, 3491, 3491, 3491, 3491, + 3491, 3491, 432, 440, 457, 0, 3491, 3443, 3491, 3491, + 3442, 3491, 3491, 3441, 3440, 0, 362, 359, 383, 387, + 405, 403, 403, 415, 431, 449, 421, 427, 437, 453, + 454, 437, 455, 441, 459, 444, 450, 441, 455, 447, + 466, 453, 3491, 3465, 3392, 200, 457, 475, 3388, 3404, + 471, 3390, 3388, 3397, 468, 3392, 3385, 481, 3381, 3378, + 3378, 500, 3375, 495, 3376, 481, 3379, 3381, 3387, 502, + 3379, 3378, 514, 3371, 3370, 3373, 3373, 3365, 3369, 3359, + 0, 3368, 500, 3367, 487, 519, 3376, 3359, 3366, 524, + + 3365, 55, 3371, 0, 3356, 313, 528, 3369, 443, 546, + 487, 3359, 557, 301, 3358, 3353, 520, 536, 469, 3361, + 3350, 487, 524, 335, 3363, 3358, 380, 542, 3357, 3396, + 618, 0, 3341, 3347, 3348, 3346, 3346, 3345, 3352, 3355, + 3341, 3336, 3352, 3349, 3334, 3346, 3338, 3330, 604, 3332, + 3344, 3332, 3321, 494, 3331, 3340, 3324, 3340, 3335, 3334, + 3324, 361, 504, 3336, 3324, 549, 3330, 3325, 3328, 3491, + 624, 641, 630, 647, 3374, 3491, 3491, 3491, 3491, 548, + 559, 614, 613, 633, 634, 632, 632, 645, 635, 644, + 649, 635, 640, 634, 640, 651, 648, 653, 640, 655, + + 662, 649, 660, 661, 629, 653, 667, 661, 3491, 3313, + 3325, 3320, 0, 0, 3327, 3313, 3303, 3321, 3322, 3322, + 3317, 3309, 3318, 657, 3305, 0, 3304, 3298, 554, 3311, + 665, 3306, 670, 3312, 3297, 3307, 3296, 0, 3307, 3308, + 3290, 3304, 3286, 672, 3284, 3299, 3288, 0, 3293, 3298, + 3287, 556, 3297, 3297, 3282, 681, 3291, 3274, 3283, 3286, + 3276, 0, 3275, 3281, 3284, 3273, 3266, 3265, 3272, 3264, + 0, 3271, 225, 3281, 3267, 3261, 659, 3276, 3266, 654, + 3273, 0, 3272, 3260, 3269, 3268, 3251, 3250, 3249, 3257, + 3254, 3248, 3244, 3246, 3246, 3257, 0, 3253, 3261, 3240, + + 656, 3243, 3249, 3238, 0, 3236, 3235, 3240, 3248, 673, + 3246, 3242, 3232, 3229, 3234, 3235, 3227, 3225, 3491, 3243, + 3238, 3238, 3238, 3226, 3227, 3237, 3216, 3218, 3230, 3229, + 3224, 3217, 3217, 3225, 3209, 3280, 730, 735, 734, 3215, + 3214, 3218, 682, 3199, 3218, 3217, 3216, 3201, 257, 3256, + 3197, 3213, 3212, 3200, 3195, 3212, 3193, 3199, 670, 3201, + 3195, 3201, 3189, 735, 743, 3248, 704, 703, 697, 735, + 719, 726, 0, 736, 722, 742, 724, 726, 0, 745, + 740, 729, 735, 783, 752, 754, 754, 747, 750, 746, + 760, 793, 773, 760, 0, 3185, 3185, 3181, 3177, 3239, + + 3195, 3184, 0, 3187, 0, 0, 0, 778, 3192, 3176, + 3180, 3192, 0, 3190, 3188, 3188, 3169, 3175, 3176, 0, + 3178, 3182, 3177, 3170, 3158, 3161, 0, 3162, 0, 3162, + 3165, 3158, 3176, 3162, 3154, 3173, 3169, 3154, 3153, 3163, + 3157, 0, 3148, 3149, 0, 3160, 3141, 3162, 3145, 3157, + 3160, 3159, 0, 3150, 3153, 3145, 3137, 3132, 3134, 3152, + 3147, 3142, 3125, 3144, 3133, 3135, 3132, 3121, 3143, 3138, + 3130, 3123, 3138, 3135, 3133, 3132, 3127, 3131, 3114, 3119, + 3123, 0, 3111, 759, 0, 3116, 3109, 3125, 3122, 0, + 3125, 782, 3110, 3117, 3109, 0, 0, 3117, 3109, 3115, + + 3094, 3100, 3102, 3105, 3110, 770, 3105, 3106, 3099, 3491, + 3107, 3104, 3091, 3088, 3095, 3092, 807, 823, 824, 3157, + 817, 3095, 3082, 3087, 3086, 3096, 3084, 3085, 3131, 3091, + 3094, 3074, 3132, 3074, 3130, 3085, 3070, 3086, 3073, 3077, + 3082, 3076, 3068, 3062, 760, 3067, 3491, 3065, 784, 3491, + 786, 0, 776, 795, 0, 0, 793, 805, 805, 821, + 808, 820, 832, 0, 815, 874, 0, 828, 0, 833, + 836, 828, 828, 834, 835, 833, 852, 849, 0, 3060, + 3073, 0, 0, 3072, 3044, 0, 3044, 3060, 0, 3031, + 3015, 2979, 2968, 2971, 2959, 2959, 2934, 2911, 2890, 2875, + + 2866, 0, 2852, 2851, 0, 2838, 2846, 2880, 2819, 2819, + 2822, 2828, 2827, 2829, 2823, 2815, 2818, 2814, 2793, 821, + 0, 2798, 2795, 2803, 2794, 2798, 2808, 0, 2805, 2794, + 830, 2782, 2787, 2780, 2768, 0, 2768, 831, 2766, 826, + 2758, 2757, 2755, 2735, 2744, 0, 2741, 2723, 2724, 2727, + 0, 2715, 2730, 0, 2720, 2679, 2690, 2678, 2683, 2676, + 2684, 860, 2669, 2671, 2682, 0, 2681, 2669, 2659, 2658, + 780, 2651, 2661, 2658, 2657, 2640, 2641, 2643, 2639, 2652, + 2648, 3491, 843, 2635, 2639, 2646, 885, 907, 908, 2623, + 2621, 2573, 2564, 2562, 2563, 2557, 906, 2529, 2550, 2550, + + 2589, 2530, 2535, 531, 2530, 2513, 2519, 2511, 2500, 2516, + 2511, 2478, 2456, 856, 2463, 2455, 2463, 2451, 2441, 868, + 883, 890, 873, 933, 896, 0, 887, 893, 907, 0, + 909, 891, 0, 0, 903, 0, 899, 902, 917, 901, + 0, 0, 2444, 2448, 2429, 0, 2428, 2444, 2415, 2419, + 0, 2412, 2369, 0, 0, 0, 0, 2357, 934, 2355, + 0, 2352, 2342, 0, 0, 2355, 0, 2352, 2349, 0, + 2335, 0, 2350, 2345, 0, 2345, 2344, 2333, 2342, 2328, + 2336, 2337, 2328, 2283, 2281, 0, 2288, 2295, 2290, 2272, + 0, 2276, 0, 2276, 178, 280, 289, 319, 382, 430, + + 490, 0, 720, 755, 756, 866, 881, 891, 0, 897, + 879, 0, 898, 0, 0, 884, 891, 900, 893, 897, + 908, 906, 919, 916, 904, 905, 906, 913, 927, 911, + 921, 910, 926, 913, 929, 930, 927, 922, 924, 926, + 993, 994, 995, 935, 941, 927, 943, 935, 949, 936, + 992, 942, 944, 940, 1001, 948, 955, 950, 944, 962, + 962, 964, 956, 962, 957, 966, 969, 955, 960, 975, + 970, 964, 968, 961, 973, 992, 0, 993, 1043, 1074, + 0, 1016, 1049, 1020, 1022, 0, 1011, 1007, 1022, 1015, + 1025, 983, 0, 0, 980, 1001, 998, 1000, 1000, 0, + + 1003, 0, 0, 0, 0, 0, 994, 1002, 1001, 993, + 0, 0, 1009, 1000, 1009, 1004, 0, 1027, 1012, 0, + 1018, 1014, 1030, 1021, 1018, 0, 1019, 1018, 1034, 0, + 1037, 1021, 1040, 0, 1030, 0, 1033, 1031, 1041, 1031, + 1023, 0, 1031, 1041, 0, 0, 0, 1048, 1048, 1046, + 1042, 1056, 1038, 1048, 1044, 1050, 1065, 1062, 1063, 1065, + 1061, 1051, 1054, 1067, 1108, 1109, 1072, 1057, 1065, 1059, + 1076, 1077, 1135, 1137, 1139, 1068, 1125, 1083, 1127, 1075, + 1084, 1085, 1138, 1105, 1089, 1099, 1146, 1092, 1099, 1106, + 1108, 1110, 1109, 1113, 1101, 1103, 1105, 1112, 1119, 1114, + + 1108, 1105, 1121, 1114, 1112, 1120, 1110, 1155, 1156, 1191, + 1144, 1165, 1158, 1150, 1168, 1153, 1161, 1201, 1164, 1164, + 1159, 1161, 3491, 1163, 0, 1129, 1139, 1152, 0, 1137, + 1154, 1144, 0, 1157, 1150, 1146, 1152, 0, 1168, 1171, + 1166, 1163, 1180, 1176, 0, 1182, 0, 1184, 1181, 0, + 1171, 1174, 1186, 1193, 0, 1191, 1184, 1182, 0, 1187, + 1196, 0, 0, 1194, 1196, 0, 1182, 1199, 1199, 1204, + 1189, 1190, 1191, 1198, 1197, 1207, 1208, 1248, 0, 1266, + 1212, 1217, 1214, 1211, 1207, 1256, 1275, 1276, 1260, 1281, + 1213, 1270, 1270, 1218, 1272, 1225, 1220, 1222, 1277, 1278, + + 1240, 1240, 3491, 1229, 1282, 1245, 1231, 1237, 1239, 1232, + 1241, 1241, 1254, 1238, 1250, 1236, 1256, 1296, 1248, 1261, + 1276, 1324, 1284, 1285, 1278, 1299, 1331, 1302, 1291, 1299, + 1293, 1309, 1299, 1341, 1310, 0, 1298, 1316, 1270, 1276, + 1283, 0, 0, 1278, 0, 1292, 1280, 1293, 1296, 1301, + 1299, 1295, 1288, 1297, 0, 0, 1307, 0, 1313, 0, + 1300, 1300, 1315, 1306, 0, 1303, 1361, 0, 1319, 1359, + 1306, 1314, 1308, 1311, 1329, 1322, 1325, 1321, 1315, 0, + 0, 1377, 1323, 1322, 1335, 1379, 1340, 1346, 0, 1401, + 1356, 1404, 1381, 1338, 1412, 1425, 1387, 0, 1336, 1351, + + 1390, 1337, 1379, 1380, 1368, 3491, 1345, 1418, 1362, 1430, + 1377, 1427, 1390, 1393, 1387, 1384, 1395, 1393, 1406, 1388, + 1463, 1397, 1404, 1475, 1484, 3491, 1440, 1443, 1431, 1487, + 1439, 1449, 1446, 1456, 1442, 1462, 1493, 3491, 1466, 1466, + 1430, 1438, 1437, 1441, 1434, 1429, 1440, 1432, 1452, 1441, + 1454, 0, 1444, 1450, 1457, 1453, 0, 1464, 1454, 1455, + 1469, 1506, 1458, 1509, 1472, 1512, 1464, 1468, 1467, 1516, + 1474, 1519, 0, 0, 0, 1474, 1482, 1476, 1474, 1465, + 1478, 0, 1567, 1483, 1488, 1489, 1480, 1490, 1553, 3491, + 1565, 1536, 3491, 1566, 1534, 1556, 1577, 1583, 0, 1486, + + 1536, 1489, 1498, 1492, 1496, 1507, 1502, 1508, 1509, 1541, + 1507, 1532, 1559, 1560, 1587, 1596, 1545, 1545, 1540, 1593, + 1561, 1600, 1554, 1563, 1565, 1552, 1626, 1607, 1608, 1643, + 1584, 1586, 3491, 1606, 1604, 1609, 1613, 1612, 3491, 1616, + 1608, 1622, 1625, 1618, 1608, 1580, 1584, 1585, 0, 1582, + 0, 0, 0, 1597, 1595, 1592, 1589, 1608, 1609, 1593, + 0, 1595, 0, 1601, 1614, 1669, 1629, 1676, 1651, 1684, + 1602, 1672, 1634, 1625, 1627, 1695, 0, 0, 1641, 1632, + 1685, 1647, 1686, 1657, 0, 1649, 1644, 1659, 1661, 1644, + 1662, 1699, 1700, 1729, 0, 1713, 1719, 1658, 1670, 1680, + + 1684, 1683, 1675, 1671, 1676, 1679, 1689, 1680, 1681, 1682, + 1693, 1708, 0, 1749, 1743, 1705, 1701, 1701, 1696, 1716, + 1699, 1718, 1716, 1757, 1719, 1700, 1782, 3491, 0, 0, + 0, 1753, 1758, 1753, 1745, 1749, 1759, 1763, 1763, 1798, + 3491, 1752, 1771, 1760, 1766, 1733, 1747, 1734, 0, 0, + 1745, 0, 0, 1736, 1751, 0, 1748, 1742, 0, 1821, + 1749, 3491, 3491, 3491, 1741, 1829, 1791, 1745, 1795, 1763, + 1759, 1835, 1752, 1746, 1761, 1772, 3491, 1764, 1822, 1797, + 1794, 1794, 1788, 1800, 3491, 1837, 1847, 1794, 1808, 1809, + 3491, 1797, 1816, 1798, 1814, 1804, 1801, 1809, 1809, 1817, + + 1803, 1811, 1819, 1816, 0, 1870, 1871, 1823, 1832, 3491, + 1820, 1874, 1825, 1833, 1837, 1824, 1879, 1834, 1846, 1839, + 1883, 1835, 1848, 1886, 1887, 1888, 1859, 1865, 1871, 1862, + 1876, 1884, 1869, 1873, 1921, 1894, 1884, 1877, 1883, 1867, + 1852, 1860, 0, 1852, 1854, 0, 1850, 1916, 3491, 1886, + 1941, 1893, 1901, 1867, 1877, 3491, 1927, 1956, 1890, 1908, + 1896, 3491, 1908, 1963, 3491, 3491, 1898, 1910, 1911, 1961, + 0, 1911, 1926, 3491, 3491, 1967, 1923, 1926, 1916, 3491, + 1928, 1918, 1918, 1926, 1927, 3491, 1936, 1935, 0, 1985, + 1985, 1937, 3491, 1948, 1939, 1939, 1944, 1951, 1954, 1999, + + 1953, 1947, 1948, 1953, 1963, 1961, 1967, 2006, 2027, 2008, + 2029, 2036, 1996, 1996, 3491, 2010, 3491, 1994, 3491, 1993, + 2013, 2011, 3491, 2003, 1974, 1971, 0, 1977, 1983, 0, + 1987, 2028, 2035, 1998, 2001, 1997, 3491, 2000, 3491, 1989, + 2006, 1990, 3491, 2003, 3491, 2058, 2020, 2025, 2024, 0, + 2010, 3491, 2069, 3491, 2021, 3491, 2022, 3491, 2023, 2015, + 2036, 2026, 2027, 2027, 2043, 2024, 2039, 2041, 2042, 3491, + 2043, 2099, 3491, 2040, 2030, 2059, 2045, 3491, 2039, 2049, + 2054, 2110, 2120, 2125, 2080, 3491, 2097, 2096, 2102, 2103, + 3491, 3491, 2055, 0, 2057, 2063, 3491, 0, 2076, 2071, + + 3491, 2075, 3491, 2076, 2058, 2067, 3491, 2140, 3491, 2068, + 2087, 0, 2080, 2131, 2091, 2077, 2081, 2086, 2092, 2101, + 2145, 2105, 2107, 2096, 3491, 2109, 3491, 2102, 2151, 2101, + 2099, 2162, 2125, 2114, 2124, 3491, 3491, 2130, 2125, 2129, + 2188, 3491, 0, 2189, 3491, 0, 2164, 2146, 2163, 3491, + 2149, 2151, 2128, 0, 2129, 0, 2139, 2133, 3491, 2140, + 3491, 2181, 2147, 2203, 2145, 2132, 2138, 2193, 2153, 3491, + 2155, 2156, 3491, 2159, 3491, 2148, 2198, 2161, 3491, 2160, + 3491, 2169, 2228, 2157, 2156, 2217, 3491, 2176, 3491, 2172, + 2167, 2179, 2204, 2210, 2249, 2214, 2219, 2176, 0, 0, + + 2181, 3491, 3491, 2242, 2173, 2253, 3491, 2257, 3491, 2203, + 2202, 3491, 3491, 3491, 2201, 2206, 2210, 2198, 3491, 2212, + 2249, 2270, 3491, 3491, 2199, 2255, 2217, 2225, 2256, 2255, + 2288, 2243, 3491, 0, 2214, 2275, 2275, 3491, 2276, 3491, + 2237, 3491, 2226, 2239, 2280, 2301, 2303, 3491, 2312, 2247, + 2235, 2247, 2240, 2278, 2269, 2269, 3491, 2349, 2355, 0, + 3491, 2247, 2257, 3491, 2249, 2324, 2253, 2267, 2248, 2253, + 2298, 3491, 2296, 2363, 0, 3491, 3491, 2272, 2331, 3491, + 2363, 2264, 2278, 3491, 3491, 3491, 2308, 2333, 2377, 0, + 2281, 3491, 3491, 3491, 2354, 2342, 3491, 2349, 3491, 2344, + + 3491, 3491, 2424, 2446, 2468, 2483, 2498, 2513, 2532, 2554, + 2569, 2584, 2602, 2617, 2639, 2661, 2683, 2698, 2713, 2732, + 2747, 2769, 2784, 2806, 2811, 2826, 2834, 2845, 2862, 2877, + 2891, 2908, 2930, 2952, 2974, 2996, 3007, 3022, 3044, 3066, + 3077, 3099, 3114 } ; -static yyconst flex_int16_t yy_def[2017] = +static yyconst flex_int16_t yy_def[2044] = { 0, - 1976, 1, 1976, 1976, 1976, 1976, 1976, 1977, 1978, 1976, - 1976, 1976, 1979, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1976, - 1976, 1977, 1976, 1977, 1978, 1976, 1976, 1976, 1981, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1979, 1976, - - 1979, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1976, - 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1981, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1982, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - - 1980, 1980, 1980, 1980, 1976, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1982, 1982, 1983, 1982, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1976, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, - - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1982, 1983, 1983, 1982, 1982, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1982, 1983, - 1982, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1976, 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1976, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1982, 1983, 1982, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1980, 1980, 1980, 1980, 1976, - 1980, 1980, 1980, 1980, 1976, 1980, 1980, 1976, 1976, 1976, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1982, 1983, 1982, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1980, 1980, 1976, 1976, - - 1976, 1976, 1976, 1976, 1976, 1980, 1976, 1980, 1976, 1980, - 1976, 1976, 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1984, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1983, 1982, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1980, 1980, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1980, - 1976, 1980, 1976, 1980, 1976, 1976, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1985, 1986, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1987, 1982, 1976, 1988, - 1989, 1976, 1976, 1976, 1976, 1990, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1991, 1976, 1976, 1976, 1976, - - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1980, 1976, 1976, 1976, 1976, 1976, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1992, - 1986, 1993, 1976, 1976, 1976, 1976, 1976, 1976, 1994, 1982, - 1976, 1976, 1976, 1976, 1976, 1988, 1976, 1988, 1989, 1976, - 1995, 1976, 1976, 1976, 1976, 1990, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1996, - - 1996, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1997, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1980, 1976, 1976, 1976, 1976, - 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1992, 1993, 1976, 1976, 1976, 1976, 1976, 1976, - 1994, 1976, 1976, 1976, 1976, 1976, 1976, 1989, 1989, 1995, - 1998, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1996, 1999, 1976, - - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1997, 1976, 1997, 2000, 2001, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1980, 1976, 1976, 1976, 1976, 1976, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1980, 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 2002, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 2003, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 2004, 2005, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 2002, 2006, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 2003, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 2004, 1976, 2005, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1980, 1980, 1980, - 1980, 1980, 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 2007, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 2008, 2009, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1980, 1980, 1980, 1980, 1976, 2010, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 2007, 1976, 1976, 1976, 1976, 1976, 1976, - - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 2008, 1976, 2008, 2009, 1976, 2009, 1976, 1976, 1976, - 1976, 1976, 1976, 1980, 1980, 1980, 2011, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 2012, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1980, 1980, 2011, - 1976, 1976, 1976, 1976, 1976, 2012, 1976, 2012, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - - 1976, 2013, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1980, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 2013, 1976, 2013, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 2014, 1976, 1976, - 1976, 1976, 1976, 2015, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 2016, 1976, 1976, 1976, 2015, 1976, 2015, 1976, 1976, - 1976, 1976, 1976, 1976, 2016, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 0, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976 + 2002, 1, 2002, 2002, 2002, 2002, 2002, 2003, 2004, 2002, + 2002, 2002, 2005, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, + 2002, 2002, 2002, 2003, 2002, 2003, 2004, 2002, 2002, 2002, + 2007, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + + 2005, 2002, 2005, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2008, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2002, 2002, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, + 2002, 2007, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2009, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2008, 2002, 2002, 2002, 2002, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2009, 2009, 2010, 2009, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2002, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2009, 2010, 2010, 2009, + 2009, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2002, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2002, 2002, 2002, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2009, 2010, 2009, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2002, 2006, 2006, 2006, 2006, 2006, 2002, 2002, 2002, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2009, 2010, 2009, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2002, + 2006, 2006, 2006, 2006, 2002, 2006, 2006, 2002, 2002, 2002, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2009, 2010, 2009, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2006, 2002, 2006, 2002, + 2006, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2011, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2010, 2009, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2006, 2006, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2006, 2002, 2006, 2002, 2006, 2002, 2002, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2012, + 2013, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2014, 2009, + 2002, 2015, 2016, 2002, 2002, 2002, 2002, 2017, 2002, 2002, + + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2018, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2006, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2006, 2002, 2002, 2002, 2002, 2002, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2019, 2013, 2020, 2002, 2002, 2002, 2002, 2002, + 2002, 2021, 2009, 2002, 2002, 2002, 2002, 2002, 2015, 2002, + 2015, 2016, 2002, 2022, 2002, 2002, 2002, 2002, 2017, 2002, + + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2023, 2023, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2024, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, + 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2019, 2020, 2002, 2002, + 2002, 2002, 2002, 2002, 2021, 2002, 2002, 2002, 2002, 2002, + 2002, 2016, 2016, 2022, 2025, 2002, 2002, 2002, 2002, 2002, + + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2023, 2026, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2024, 2002, 2024, 2027, + 2028, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, + 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2029, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + + 2002, 2002, 2002, 2002, 2030, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2031, 2032, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2029, + 2033, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2030, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2031, 2002, 2032, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2006, 2006, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2034, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2035, 2036, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2006, 2006, 2006, 2006, 2002, 2037, 2002, 2002, + + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2034, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2035, 2002, 2035, 2036, 2002, 2036, 2002, 2002, 2002, 2002, + 2002, 2002, 2006, 2006, 2006, 2038, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2039, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2038, + + 2002, 2002, 2002, 2002, 2002, 2039, 2002, 2039, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2040, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2006, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2040, 2002, 2040, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2041, + 2002, 2002, 2002, 2002, 2002, 2042, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2043, 2002, 2002, 2002, 2042, 2002, + 2042, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2043, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + + 2002, 0, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002 } ; -static yyconst flex_uint16_t yy_nxt[3539] = +static yyconst flex_uint16_t yy_nxt[3580] = { 0, 4, 5, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 22, 22, 22, 22, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 36, 36, 38, 39, 40, 36, 41, 36, 42, 43, - 44, 45, 36, 46, 36, 36, 36, 47, 36, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 36, 36, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 36, 67, 36, 36, 36, 68, 69, 70, 73, 70, - 100, 103, 105, 108, 129, 136, 137, 130, 109, 138, - - 139, 140, 133, 141, 106, 104, 134, 142, 110, 1024, - 143, 131, 150, 151, 132, 135, 144, 70, 252, 70, - 230, 231, 129, 136, 137, 130, 253, 138, 139, 140, - 133, 141, 258, 1025, 134, 142, 259, 101, 143, 131, - 74, 76, 132, 135, 144, 76, 76, 77, 76, 76, - 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 78, 78, 78, 78, 78, 78, 76, 76, 76, 76, - 76, 76, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 79, 76, 76, - - 80, 81, 82, 83, 84, 85, 76, 86, 87, 76, - 76, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 76, 76, 76, 76, 76, 76, 76, 111, 147, - 112, 112, 112, 112, 112, 112, 115, 116, 117, 120, - 121, 124, 148, 145, 149, 140, 113, 146, 129, 125, - 264, 126, 548, 199, 246, 549, 127, 147, 128, 73, - 265, 247, 248, 192, 276, 142, 200, 139, 201, 124, - 148, 145, 149, 193, 113, 146, 158, 125, 133, 126, - 159, 196, 134, 160, 127, 627, 128, 188, 189, 161, - 1026, 135, 276, 197, 118, 190, 122, 124, 138, 198, - - 191, 100, 167, 168, 130, 125, 169, 126, 888, 184, - 134, 74, 127, 185, 128, 1027, 170, 277, 131, 171, - 186, 132, 889, 152, 153, 124, 138, 250, 233, 628, - 141, 234, 162, 154, 235, 155, 163, 136, 254, 156, - 127, 157, 128, 164, 137, 277, 165, 251, 101, 132, - 149, 255, 166, 172, 143, 173, 144, 174, 141, 175, - 145, 373, 202, 176, 146, 177, 178, 374, 194, 179, - 223, 147, 180, 307, 195, 181, 182, 224, 225, 203, - 206, 183, 204, 148, 207, 278, 369, 226, 145, 219, - 308, 449, 210, 450, 208, 211, 212, 370, 236, 220, - - 209, 237, 238, 213, 214, 279, 280, 215, 216, 221, - 217, 148, 218, 278, 222, 228, 228, 228, 228, 228, - 228, 239, 240, 241, 1028, 260, 377, 242, 281, 386, - 282, 243, 261, 279, 280, 378, 283, 262, 387, 267, - 263, 268, 268, 268, 268, 268, 268, 111, 284, 112, - 112, 112, 112, 112, 112, 287, 281, 269, 282, 288, - 289, 270, 290, 270, 283, 113, 271, 271, 271, 271, - 271, 271, 285, 291, 292, 293, 284, 294, 295, 296, - 299, 286, 302, 287, 297, 269, 300, 288, 289, 303, - 290, 304, 298, 113, 301, 277, 278, 281, 282, 1029, - - 285, 291, 292, 293, 1030, 294, 295, 296, 299, 286, - 302, 283, 297, 288, 300, 309, 302, 303, 290, 304, - 298, 285, 301, 277, 278, 281, 282, 310, 292, 331, - 286, 333, 334, 317, 289, 355, 293, 295, 313, 320, - 321, 288, 296, 433, 406, 322, 290, 323, 356, 327, - 328, 338, 329, 391, 375, 339, 352, 353, 286, 1031, - 343, 392, 340, 357, 293, 295, 395, 363, 358, 400, - 296, 297, 396, 397, 440, 441, 359, 433, 404, 298, - 401, 364, 365, 366, 367, 300, 379, 398, 380, 304, - 399, 405, 381, 301, 411, 434, 407, 382, 412, 297, - - 451, 452, 383, 1032, 384, 385, 408, 298, 486, 486, - 486, 413, 506, 300, 611, 557, 507, 304, 558, 389, - 390, 301, 228, 228, 228, 228, 228, 228, 268, 268, - 268, 268, 268, 268, 271, 271, 271, 271, 271, 271, - 459, 461, 459, 435, 269, 460, 460, 460, 460, 460, - 460, 271, 271, 271, 271, 271, 271, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 461, - 474, 475, 269, 476, 477, 478, 479, 480, 481, 482, - 483, 484, 485, 487, 488, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 489, 474, 475, - - 468, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 485, 487, 488, 470, 511, 474, 528, 477, 553, 577, - 487, 578, 512, 613, 433, 489, 554, 619, 502, 529, - 638, 643, 639, 620, 747, 1033, 621, 1034, 748, 644, - 645, 470, 614, 474, 509, 477, 646, 647, 586, 460, - 460, 460, 460, 460, 460, 648, 649, 650, 651, 643, - 533, 460, 460, 460, 460, 460, 460, 644, 645, 652, - 653, 654, 655, 656, 646, 647, 657, 658, 658, 658, - 659, 660, 661, 648, 649, 650, 651, 662, 663, 664, - 665, 669, 670, 615, 486, 486, 486, 652, 653, 654, - - 655, 656, 649, 669, 657, 433, 613, 1035, 659, 660, - 661, 766, 433, 613, 805, 662, 663, 664, 665, 669, - 670, 811, 767, 768, 806, 614, 666, 769, 808, 812, - 649, 754, 614, 813, 679, 809, 1036, 814, 815, 810, - 816, 667, 817, 668, 818, 819, 820, 821, 433, 811, - 658, 658, 658, 823, 666, 824, 1037, 812, 825, 826, - 827, 813, 828, 829, 779, 814, 815, 830, 816, 667, - 817, 668, 818, 819, 820, 821, 781, 831, 832, 885, - 927, 823, 867, 824, 780, 886, 825, 826, 827, 831, - 828, 829, 877, 868, 915, 830, 928, 613, 878, 822, - - 433, 949, 966, 967, 932, 831, 832, 968, 879, 916, - 942, 942, 942, 942, 942, 942, 614, 831, 960, 969, - 971, 961, 970, 970, 970, 972, 973, 822, 1038, 974, - 966, 967, 975, 976, 977, 968, 978, 979, 980, 950, - 981, 992, 993, 1039, 1040, 1041, 1043, 969, 971, 1044, - 1045, 1042, 934, 972, 973, 1046, 933, 974, 1047, 1048, - 975, 976, 977, 1049, 978, 979, 980, 1050, 981, 1051, - 1052, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1061, 1062, - 1055, 433, 613, 433, 1066, 1067, 1068, 1069, 1070, 1071, - 994, 1072, 1073, 1073, 1073, 1073, 1073, 1073, 1074, 1075, - - 1076, 614, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, - 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, - 1095, 1096, 1097, 1098, 1099, 1099, 1099, 1107, 1107, 1107, - 1106, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1064, 1115, - 1116, 1117, 1118, 1119, 1120, 1121, 1063, 1122, 1123, 1124, - 1097, 1098, 1125, 1126, 1065, 970, 970, 970, 1106, 1108, - 1109, 1110, 1111, 1112, 1113, 1114, 1127, 1128, 1129, 1130, - 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, - 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, - 1100, 1151, 1152, 1153, 1101, 1154, 1102, 1155, 1156, 1103, - - 1104, 1157, 1158, 1159, 1105, 1160, 1161, 1162, 1163, 1164, - 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1100, 1173, - 1174, 1175, 1101, 433, 1102, 613, 1178, 1103, 1104, 433, - 1179, 1180, 1105, 1181, 1182, 1183, 1184, 1073, 1073, 1073, - 1073, 1073, 1073, 1185, 614, 1186, 1187, 1177, 1188, 1189, - 1190, 1191, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1192, - 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, - 1210, 1099, 1099, 1099, 1212, 1213, 1214, 1215, 1216, 1218, - 1220, 1107, 1107, 1107, 1222, 1223, 1219, 1227, 1224, 1225, - 1176, 1226, 1228, 1229, 1230, 1217, 1231, 1209, 1210, 1232, - - 1233, 1234, 1212, 1213, 1214, 1215, 1216, 1218, 1220, 1235, - 1236, 1237, 1222, 1223, 1219, 1211, 1224, 1225, 1238, 1226, - 1239, 1240, 1241, 1217, 1242, 1243, 1221, 1244, 1245, 1246, - 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, - 1257, 1258, 1259, 1211, 1260, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 1268, 1270, 1221, 1271, 1273, 1274, 1275, 1276, - 1277, 613, 433, 1278, 1279, 1280, 1282, 1284, 1272, 1283, - 1283, 1283, 1283, 1283, 1283, 1285, 1286, 1288, 1289, 1290, - 614, 1291, 1292, 1293, 1294, 1295, 1296, 1281, 1297, 1298, - 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, - - 1309, 1310, 1311, 1312, 1312, 1312, 1313, 1314, 1315, 1316, - 1317, 1317, 1317, 1318, 1319, 1287, 1320, 1321, 1322, 1323, - 1324, 1324, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, - 1311, 1332, 1333, 1334, 1313, 1314, 1315, 1316, 1335, 1336, - 1337, 1318, 1319, 1338, 1320, 1321, 1322, 1323, 1339, 1340, - 1341, 1325, 1326, 1327, 1342, 1343, 1344, 1345, 1346, 1347, - 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, - 1358, 1359, 1362, 1363, 1362, 1362, 1362, 1362, 1362, 1362, - 1364, 1365, 1366, 1367, 1368, 1370, 433, 1377, 1380, 1382, - 1385, 1387, 1388, 1389, 1390, 1371, 1370, 1372, 1370, 1370, - - 1370, 1370, 1370, 1370, 1373, 1374, 1398, 1399, 1375, 1383, - 1383, 1383, 1383, 1383, 1383, 1400, 1381, 1402, 1391, 1392, - 1395, 1370, 1384, 1384, 1384, 1384, 1384, 1384, 1403, 1404, - 1405, 1396, 1406, 1370, 1393, 1394, 1397, 1407, 1408, 1378, - 1409, 1370, 1410, 1411, 1412, 1413, 1370, 1414, 1415, 1370, - 1418, 1419, 1370, 1416, 1416, 1416, 1420, 1422, 1370, 1423, - 1424, 1370, 1312, 1312, 1312, 1317, 1317, 1317, 1425, 1426, - 1427, 1324, 1324, 1324, 1430, 1431, 1432, 1433, 1418, 1419, - 1435, 1436, 1437, 1438, 1420, 1422, 1439, 1423, 1424, 1440, - 1434, 1441, 1442, 1443, 1444, 1445, 1425, 1426, 1427, 1446, - - 1447, 1448, 1430, 1431, 1428, 1449, 1450, 1451, 1452, 1453, - 1417, 1454, 1421, 1455, 1456, 1457, 1458, 1459, 1460, 1461, - 1429, 1462, 1465, 1466, 1467, 1468, 1469, 1470, 1472, 1474, - 1475, 1476, 1428, 1477, 1473, 1377, 1481, 1484, 1417, 1485, - 1421, 1380, 1486, 1976, 1379, 1487, 1488, 1489, 1429, 1370, - 433, 1383, 1383, 1383, 1383, 1383, 1383, 1490, 1491, 1492, - 1370, 1493, 1370, 1370, 1370, 1370, 1370, 1370, 1376, 1381, - 1376, 1479, 1482, 1482, 1482, 1482, 1482, 1482, 1483, 1483, - 1483, 1483, 1483, 1483, 1494, 1370, 1496, 1378, 1497, 1499, - 1976, 1500, 1501, 1502, 1505, 1503, 1495, 1370, 1504, 1480, - - 1506, 1507, 1508, 1509, 1510, 1370, 1511, 1513, 1515, 1516, - 1370, 1518, 1519, 1370, 1520, 1521, 1370, 1499, 1976, 1522, - 1523, 1524, 1370, 1525, 1526, 1370, 1416, 1416, 1416, 1527, - 1528, 1531, 1529, 1530, 1532, 1533, 1534, 1535, 1536, 1518, - 1519, 1537, 1520, 1521, 1538, 1539, 1540, 1522, 1523, 1524, - 1541, 1525, 1526, 1542, 1543, 1544, 1546, 1527, 1528, 1514, - 1529, 1530, 1548, 1549, 1547, 1550, 1517, 1545, 1545, 1545, - 1545, 1545, 1545, 1551, 1551, 1551, 1551, 1551, 1551, 1552, - 1553, 1554, 1555, 1556, 1557, 1557, 1557, 1557, 1557, 1557, - 1558, 1559, 1560, 1561, 1517, 1563, 1564, 1565, 1566, 1567, - - 1568, 1562, 1569, 1570, 1380, 1380, 1573, 1379, 1482, 1482, - 1482, 1482, 1482, 1482, 1572, 1572, 1572, 1572, 1572, 1572, - 1574, 1575, 1577, 1578, 1579, 1580, 1581, 1584, 1582, 1576, - 1586, 1587, 1381, 1381, 1479, 1583, 1588, 1589, 1976, 1592, - 1593, 1596, 1594, 1585, 1591, 1591, 1591, 1591, 1591, 1591, - 1595, 1597, 1602, 1598, 1603, 1604, 1606, 1607, 1599, 1608, - 1513, 1605, 1480, 1611, 1612, 1613, 1976, 1600, 1614, 1615, - 1616, 1601, 1617, 1618, 1619, 1619, 1619, 1620, 1621, 1622, - 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1633, - 1634, 1611, 1612, 1613, 1636, 1637, 1614, 1615, 1616, 1638, - - 1617, 1618, 1639, 1641, 1643, 1620, 1621, 1622, 1623, 1644, - 1640, 1645, 1514, 1632, 1632, 1632, 1632, 1632, 1632, 1635, - 1646, 1551, 1551, 1551, 1551, 1551, 1551, 1642, 1642, 1642, - 1642, 1642, 1642, 1647, 1648, 1649, 1650, 1651, 1652, 1653, - 1655, 1572, 1572, 1572, 1572, 1572, 1572, 1656, 1657, 1659, - 1660, 1661, 1662, 1663, 1664, 1665, 1658, 1666, 1667, 1668, - 1669, 1670, 1671, 1672, 1674, 1674, 1674, 1674, 1674, 1674, - 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, - 1685, 1686, 1687, 1688, 1689, 1690, 1692, 1694, 1695, 1696, - 1697, 1698, 1699, 1700, 1701, 1702, 1619, 1619, 1619, 1704, - - 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1632, - 1632, 1632, 1632, 1632, 1632, 1721, 1695, 1696, 1697, 1698, - 1699, 1700, 1701, 1702, 1714, 1722, 1717, 1704, 1705, 1706, - 1707, 1718, 1715, 1716, 1716, 1716, 1716, 1716, 1716, 1719, - 1723, 1724, 1725, 1726, 1703, 1730, 1727, 1720, 1642, 1642, - 1642, 1642, 1642, 1642, 1728, 1729, 1729, 1729, 1729, 1729, - 1729, 1731, 1732, 1655, 1734, 1735, 1736, 1737, 1738, 1739, - 1740, 1741, 1703, 1742, 1743, 1744, 1745, 1746, 1674, 1674, - 1674, 1674, 1674, 1674, 1747, 1748, 1749, 1750, 1751, 1752, - 1753, 1754, 1755, 1755, 1755, 1755, 1755, 1755, 1756, 1757, - - 1758, 1759, 1760, 1762, 1692, 1764, 1694, 1765, 1767, 1768, - 1761, 1766, 1766, 1766, 1769, 1770, 1771, 1763, 1772, 1773, - 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1716, 1716, 1716, - 1716, 1716, 1716, 1781, 1782, 1783, 1767, 1768, 1786, 1787, - 1788, 1784, 1769, 1770, 1771, 1789, 1772, 1773, 1774, 1785, - 1729, 1729, 1729, 1729, 1729, 1729, 1790, 1791, 1792, 1793, - 1795, 1796, 1796, 1796, 1796, 1796, 1796, 1798, 1799, 1800, - 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1810, 1811, - 1812, 1815, 1816, 1819, 1820, 1809, 1821, 1823, 1826, 1814, - 1813, 1755, 1755, 1755, 1755, 1755, 1755, 1817, 1829, 1766, - - 1766, 1766, 1830, 1831, 1832, 1818, 1833, 1834, 1835, 1836, - 1838, 1839, 1840, 1841, 1843, 1797, 1844, 1845, 1846, 1847, - 1848, 1842, 1852, 1853, 1854, 1850, 1829, 1855, 1856, 1857, - 1830, 1831, 1832, 1851, 1833, 1858, 1861, 1862, 1863, 1824, - 1827, 1828, 1849, 1849, 1849, 1849, 1849, 1849, 1859, 1864, - 1865, 1866, 1868, 1869, 1870, 1871, 1860, 1867, 1867, 1867, - 1867, 1867, 1867, 1872, 1823, 1826, 1873, 1874, 1875, 1828, - 1876, 1877, 1878, 1879, 1881, 1882, 1883, 1884, 1885, 1887, - 1889, 1890, 1891, 1849, 1849, 1849, 1849, 1849, 1849, 1892, - 1893, 1894, 1895, 1896, 1873, 1874, 1875, 1898, 1876, 1877, - - 1899, 1897, 1900, 1901, 1902, 1903, 1904, 1867, 1867, 1867, - 1867, 1867, 1867, 1905, 1906, 1907, 1824, 1827, 1908, 1909, - 1910, 1910, 1910, 1911, 1912, 1913, 1914, 1916, 1887, 1976, - 1917, 1888, 1915, 1915, 1915, 1915, 1915, 1915, 1918, 1919, - 1920, 1922, 1923, 1924, 1925, 1927, 1908, 1909, 1921, 1929, - 1930, 1911, 1912, 1931, 1886, 1932, 1886, 1933, 1934, 1910, - 1910, 1910, 1935, 1936, 1936, 1936, 1936, 1936, 1936, 1937, - 1938, 1939, 1940, 1941, 1943, 1944, 1976, 1927, 1945, 1946, - 1888, 1942, 1947, 1932, 1948, 1933, 1934, 1949, 1950, 1953, - 1954, 1955, 1959, 1960, 1100, 1961, 1962, 1928, 1101, 1957, - - 1102, 1926, 1963, 1926, 1104, 1966, 1957, 1968, 1105, 1971, - 1023, 1022, 1948, 1967, 1021, 1949, 1950, 1020, 1019, 1018, - 1017, 1969, 1100, 1016, 1962, 1015, 1101, 1014, 1102, 1928, - 1963, 1013, 1104, 1012, 1976, 1970, 1105, 1936, 1936, 1936, - 1936, 1936, 1936, 1951, 1951, 1951, 1951, 1951, 1951, 1969, - 1972, 1958, 1964, 1964, 1964, 1964, 1964, 1964, 1958, 1956, - 1973, 1956, 1974, 1970, 1964, 1964, 1964, 1964, 1964, 1964, - 1975, 1011, 1010, 1009, 1008, 1007, 1006, 1005, 1972, 1004, - 1003, 1002, 1001, 1000, 999, 998, 997, 996, 1973, 995, - 1974, 991, 990, 989, 988, 987, 986, 985, 1975, 72, - - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 75, 75, 984, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 123, 983, 982, 965, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 229, 964, 963, 962, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 229, 229, 432, 432, 959, 432, 432, - - 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, - 432, 432, 432, 432, 432, 432, 432, 612, 612, 958, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 612, - 612, 612, 612, 612, 612, 612, 612, 612, 612, 1269, - 957, 956, 955, 1269, 1269, 1269, 1269, 1269, 954, 1269, - 1269, 1269, 1269, 1269, 1360, 953, 952, 951, 1360, 1360, - 1360, 1360, 1360, 948, 1360, 1360, 1360, 1360, 1360, 1361, - 947, 946, 1361, 945, 944, 943, 1361, 1361, 1361, 1361, - 1361, 941, 1361, 1361, 1361, 1361, 1361, 1369, 940, 939, - 938, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, - - 1369, 1369, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, - 1376, 937, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, - 1376, 1376, 1376, 1376, 1379, 1379, 1379, 1379, 1379, 1379, - 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, - 1379, 1379, 1379, 1379, 1379, 1379, 1386, 936, 935, 1386, - 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, - 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1401, 931, - 930, 929, 1401, 1401, 926, 925, 924, 923, 1401, 1401, - 1463, 922, 921, 1463, 920, 919, 918, 1463, 1463, 1463, - 1463, 1463, 917, 1463, 1463, 1463, 1463, 1463, 1464, 914, - - 913, 1464, 1464, 912, 911, 910, 1464, 909, 1464, 908, - 907, 906, 1464, 905, 1464, 1471, 1471, 1471, 904, 903, - 902, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, - 1471, 1471, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1478, 1478, 1478, 1478, 1498, 901, 900, 899, 1498, 1498, - 898, 897, 1498, 896, 1498, 1498, 895, 894, 1498, 1512, - 1512, 893, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, - 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, - 1512, 1571, 1571, 1571, 1571, 1571, 1590, 892, 891, 890, - - 1590, 1590, 887, 884, 883, 882, 1590, 1590, 1609, 1609, - 1609, 1609, 1609, 881, 1609, 1609, 1609, 1609, 1609, 1610, - 1610, 1610, 1610, 1610, 880, 1610, 1610, 1610, 1610, 1610, - 1654, 876, 875, 874, 873, 1654, 872, 871, 870, 869, - 866, 865, 1654, 1654, 1654, 1654, 1654, 1673, 864, 863, - 862, 1673, 1673, 861, 860, 859, 858, 1673, 1673, 1691, - 857, 1691, 1691, 856, 855, 1691, 1691, 1691, 1691, 1691, - 1691, 1691, 1691, 1691, 1691, 1691, 1693, 854, 1693, 1693, - 853, 852, 1693, 1693, 1693, 1693, 1693, 1693, 1693, 1693, - 1693, 1693, 1693, 1733, 851, 850, 1733, 1733, 1733, 1733, - - 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, - 1733, 1733, 1733, 1733, 1733, 1794, 849, 848, 1794, 1794, - 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, - 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1822, 1822, 847, - 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, - 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1825, - 1825, 846, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, - 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, - 1825, 1837, 1837, 1837, 1837, 1837, 845, 1837, 1837, 1837, - 1837, 1837, 1880, 844, 843, 842, 1880, 1880, 1880, 1880, - - 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1886, 1886, 1886, - 1886, 1886, 1886, 1886, 1886, 1886, 841, 1886, 1886, 1886, - 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1926, - 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 840, 1926, - 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, 1926, - 1926, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, - 1952, 1952, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 839, 1956, 1956, 1956, 1956, 1956, 1956, 1956, 1956, - 1956, 1956, 1956, 1956, 1965, 838, 837, 836, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1965, 835, - - 834, 833, 807, 804, 803, 802, 801, 800, 799, 798, - 797, 796, 795, 794, 793, 792, 791, 790, 789, 788, - 787, 786, 785, 784, 783, 782, 433, 778, 777, 776, - 775, 774, 773, 772, 771, 770, 765, 764, 763, 762, - 761, 760, 759, 758, 757, 756, 755, 753, 752, 751, - 750, 749, 746, 745, 744, 743, 742, 741, 740, 739, - 738, 737, 736, 735, 734, 733, 732, 731, 730, 729, - 728, 727, 726, 725, 724, 723, 722, 721, 720, 719, - 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, - 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, - - 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, - 688, 687, 686, 685, 684, 683, 682, 681, 680, 678, - 677, 676, 675, 674, 673, 672, 671, 642, 641, 640, - 637, 636, 635, 634, 633, 632, 631, 630, 629, 626, - 625, 624, 623, 622, 618, 617, 616, 433, 610, 609, - 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, - 598, 597, 596, 595, 594, 593, 592, 591, 590, 589, - 588, 587, 585, 584, 583, 582, 581, 580, 579, 576, - 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, - 565, 564, 563, 562, 561, 560, 559, 556, 555, 552, - - 551, 550, 547, 546, 545, 544, 543, 542, 541, 540, - 539, 538, 537, 536, 535, 534, 532, 531, 530, 527, - 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, - 516, 515, 514, 513, 510, 508, 505, 504, 503, 501, - 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, - 490, 458, 457, 456, 455, 454, 453, 448, 447, 446, - 445, 444, 443, 442, 439, 438, 437, 436, 431, 430, - 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, - 419, 418, 417, 416, 415, 414, 410, 409, 403, 402, - 394, 393, 388, 376, 372, 371, 368, 362, 361, 360, - - 354, 351, 350, 349, 348, 347, 346, 345, 344, 342, - 341, 337, 336, 335, 332, 330, 326, 325, 324, 319, - 318, 316, 315, 314, 312, 311, 306, 305, 275, 274, - 273, 272, 1976, 266, 257, 256, 249, 245, 244, 232, - 227, 205, 187, 119, 114, 107, 102, 98, 71, 1976, - 3, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976 + 23, 23, 23, 23, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 37, 37, 39, 40, 41, 37, 42, 37, 43, 44, + 45, 46, 37, 47, 37, 37, 37, 48, 49, 37, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 37, + 37, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 37, 69, 37, 37, 37, 70, 71, 72, 75, + 72, 102, 105, 107, 110, 132, 139, 133, 140, 111, + + 141, 142, 143, 136, 144, 108, 106, 137, 145, 112, + 146, 134, 153, 154, 135, 147, 138, 72, 267, 72, + 233, 234, 257, 373, 132, 139, 133, 140, 268, 141, + 142, 143, 136, 144, 374, 258, 137, 145, 103, 146, + 134, 76, 78, 135, 147, 138, 78, 78, 79, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 80, 80, 80, 80, 80, 80, 78, 78, 78, + 78, 78, 78, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 78, + + 78, 78, 82, 83, 84, 85, 86, 87, 78, 88, + 89, 78, 78, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 78, 78, 78, 78, 78, 78, 78, + 113, 150, 114, 114, 114, 114, 114, 114, 113, 1030, + 114, 114, 114, 114, 114, 114, 123, 124, 115, 118, + 119, 120, 151, 127, 148, 152, 115, 141, 149, 143, + 150, 128, 311, 129, 255, 132, 144, 116, 130, 187, + 131, 239, 256, 188, 240, 241, 633, 115, 195, 312, + 189, 151, 127, 148, 152, 115, 141, 149, 196, 136, + 128, 142, 129, 137, 161, 144, 116, 130, 162, 131, + + 554, 163, 138, 555, 125, 197, 145, 164, 121, 127, + 150, 198, 191, 192, 170, 171, 133, 128, 172, 129, + 193, 634, 137, 199, 130, 194, 131, 202, 173, 222, + 134, 174, 75, 135, 146, 200, 155, 156, 127, 223, + 203, 201, 204, 205, 1031, 165, 157, 139, 158, 166, + 151, 102, 159, 130, 160, 131, 167, 140, 253, 168, + 206, 395, 135, 207, 175, 169, 176, 147, 177, 396, + 178, 148, 1032, 152, 179, 149, 180, 224, 254, 151, + 181, 377, 225, 182, 76, 236, 183, 378, 237, 184, + 185, 238, 209, 261, 226, 186, 210, 262, 103, 1033, + + 148, 227, 228, 411, 213, 280, 211, 214, 215, 281, + 249, 229, 212, 412, 282, 216, 217, 250, 251, 218, + 219, 453, 220, 454, 221, 231, 231, 231, 231, 231, + 231, 242, 243, 244, 280, 263, 283, 245, 281, 284, + 285, 246, 264, 282, 415, 286, 1034, 265, 416, 270, + 266, 271, 271, 271, 271, 271, 271, 113, 287, 114, + 114, 114, 114, 114, 114, 283, 288, 272, 284, 285, + 291, 273, 292, 273, 286, 115, 274, 274, 274, 274, + 274, 274, 289, 293, 294, 295, 296, 287, 297, 298, + 299, 290, 300, 303, 301, 288, 272, 304, 306, 291, + + 307, 292, 302, 308, 115, 305, 282, 281, 285, 1035, + 286, 289, 293, 294, 295, 296, 381, 297, 298, 299, + 290, 300, 303, 301, 287, 382, 304, 306, 313, 307, + 404, 302, 308, 289, 305, 282, 281, 285, 314, 286, + 292, 405, 290, 337, 338, 294, 321, 359, 293, 296, + 317, 408, 297, 324, 325, 299, 958, 335, 390, 326, + 360, 327, 331, 332, 409, 333, 342, 391, 1036, 292, + 343, 290, 444, 445, 294, 306, 300, 344, 356, 357, + 361, 297, 455, 456, 299, 362, 367, 467, 347, 379, + 301, 399, 308, 363, 468, 959, 401, 400, 302, 304, + + 368, 369, 370, 371, 410, 300, 383, 305, 384, 459, + 402, 437, 385, 403, 512, 417, 467, 386, 513, 301, + 534, 308, 387, 468, 388, 389, 460, 302, 304, 438, + 492, 492, 492, 535, 393, 394, 305, 231, 231, 231, + 231, 231, 231, 271, 271, 271, 271, 271, 271, 274, + 274, 274, 274, 274, 274, 464, 469, 464, 470, 272, + 465, 465, 465, 465, 465, 465, 274, 274, 274, 274, + 274, 274, 471, 472, 473, 474, 475, 476, 439, 477, + 478, 479, 480, 481, 482, 469, 483, 470, 272, 484, + 485, 486, 487, 488, 489, 490, 491, 493, 494, 495, + + 474, 471, 472, 473, 474, 475, 476, 476, 477, 478, + 479, 480, 481, 482, 480, 483, 483, 493, 484, 485, + 486, 487, 488, 489, 490, 491, 493, 494, 495, 508, + 517, 563, 559, 583, 564, 584, 476, 437, 518, 515, + 560, 437, 619, 480, 625, 483, 592, 644, 651, 645, + 626, 652, 653, 627, 465, 465, 465, 465, 465, 465, + 539, 620, 465, 465, 465, 465, 465, 465, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 651, 663, 664, + 652, 653, 1037, 665, 666, 666, 666, 667, 668, 669, + 670, 671, 672, 673, 492, 492, 492, 654, 655, 656, + + 657, 658, 659, 660, 661, 662, 677, 663, 664, 617, + 678, 621, 665, 657, 437, 677, 667, 668, 669, 670, + 671, 672, 673, 755, 437, 820, 674, 756, 813, 1038, + 619, 619, 821, 1039, 822, 677, 774, 823, 814, 678, + 824, 675, 657, 676, 762, 924, 687, 775, 776, 620, + 620, 817, 777, 825, 820, 674, 826, 827, 818, 828, + 925, 821, 819, 822, 829, 830, 823, 832, 833, 824, + 675, 834, 676, 835, 787, 666, 666, 666, 836, 837, + 838, 839, 825, 840, 841, 826, 827, 876, 828, 789, + 897, 840, 437, 829, 830, 886, 832, 833, 877, 894, + + 834, 887, 835, 788, 898, 895, 936, 836, 837, 838, + 839, 888, 840, 841, 619, 437, 969, 976, 977, 970, + 840, 978, 937, 979, 831, 951, 951, 951, 951, 951, + 951, 981, 982, 620, 980, 980, 980, 983, 984, 1040, + 985, 986, 987, 988, 989, 1041, 976, 977, 990, 941, + 978, 991, 979, 831, 1002, 1003, 1042, 1043, 1044, 1045, + 981, 982, 1046, 1047, 1048, 1049, 983, 984, 943, 985, + 986, 987, 988, 989, 942, 1050, 1051, 990, 1053, 1054, + 991, 1055, 1052, 1056, 1057, 1058, 1059, 1060, 1061, 1062, + 1063, 1064, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1065, + + 437, 619, 437, 1076, 1004, 1077, 1078, 1079, 1080, 1081, + 1082, 1083, 1083, 1083, 1083, 1083, 1083, 1084, 1085, 1086, + 620, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, + 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, + 1106, 1107, 1108, 1109, 1110, 1110, 1110, 1126, 1127, 1117, + 1118, 1118, 1118, 1119, 1120, 1121, 1122, 1123, 1074, 1124, + 1125, 1128, 1129, 1130, 1131, 1132, 1073, 1133, 1134, 1135, + 1136, 1108, 1109, 1137, 1075, 980, 980, 980, 1117, 1138, + 1139, 1140, 1119, 1120, 1121, 1122, 1123, 1141, 1124, 1125, + 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, + + 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, + 1111, 1162, 1163, 1164, 1112, 1165, 1113, 1166, 1167, 1114, + 1115, 1168, 1169, 1170, 1116, 1171, 1172, 1173, 1174, 1175, + 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1111, + 1185, 1186, 437, 1112, 619, 1113, 437, 1189, 1114, 1115, + 1190, 1191, 1192, 1116, 1193, 1194, 1195, 1083, 1083, 1083, + 1083, 1083, 1083, 620, 1188, 1196, 1197, 1198, 1199, 1200, + 1201, 1202, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1203, + 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, + 1221, 1222, 1110, 1110, 1110, 1224, 1225, 1226, 1227, 1228, + + 1232, 1230, 1118, 1118, 1118, 1234, 1235, 1239, 1231, 1236, + 1187, 1237, 1238, 1240, 1241, 1242, 1229, 1243, 1244, 1221, + 1222, 1245, 1246, 1247, 1224, 1225, 1226, 1227, 1228, 1232, + 1230, 1248, 1249, 1250, 1234, 1235, 1223, 1231, 1236, 1251, + 1237, 1238, 1252, 1253, 1254, 1229, 1255, 1233, 1256, 1257, + 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 1223, 1273, 1274, 1275, 1276, + 1277, 1278, 1279, 1280, 1282, 1283, 1233, 1285, 1286, 1287, + 1288, 1289, 619, 437, 1290, 1291, 1292, 1294, 1284, 1295, + 1295, 1295, 1295, 1295, 1295, 1296, 1297, 1298, 1300, 1301, + + 1302, 620, 1303, 1304, 1305, 1306, 1307, 1308, 1293, 1309, + 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, + 1320, 1321, 1322, 1323, 1324, 1325, 1325, 1325, 1326, 1327, + 1328, 1329, 1330, 1330, 1330, 1331, 1332, 1299, 1333, 1334, + 1335, 1336, 1337, 1337, 1337, 1338, 1339, 1340, 1341, 1342, + 1343, 1344, 1345, 1324, 1346, 1347, 1348, 1326, 1327, 1328, + 1329, 1349, 1350, 1351, 1331, 1332, 1352, 1333, 1334, 1335, + 1336, 1353, 1354, 1355, 1338, 1339, 1340, 1356, 1357, 1358, + 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, + 1369, 1370, 1371, 1372, 1375, 1376, 1375, 1375, 1375, 1375, + + 1375, 1375, 1377, 1378, 1379, 1380, 1381, 1383, 437, 1390, + 1393, 1395, 1398, 1400, 1401, 1402, 1403, 1384, 1383, 1385, + 1383, 1383, 1383, 1383, 1383, 1383, 1386, 1387, 1411, 1412, + 1388, 1396, 1396, 1396, 1396, 1396, 1396, 1413, 1394, 1415, + 1404, 1405, 1408, 1383, 1397, 1397, 1397, 1397, 1397, 1397, + 1416, 1417, 1418, 1409, 1419, 1383, 1406, 1407, 1410, 1420, + 1421, 1391, 1422, 1423, 1383, 1424, 1425, 1426, 1427, 1383, + 1428, 1429, 1383, 1432, 1433, 1383, 1430, 1430, 1430, 1434, + 1436, 1383, 1437, 1438, 1383, 1325, 1325, 1325, 1330, 1330, + 1330, 1439, 1440, 1441, 1337, 1337, 1337, 1444, 1446, 1445, + + 1447, 1449, 1432, 1433, 1450, 1451, 1452, 1453, 1434, 1436, + 1454, 1437, 1438, 1448, 1455, 1456, 1457, 1458, 1459, 1460, + 1439, 1440, 1441, 1461, 1462, 1463, 1444, 1442, 1445, 1464, + 1465, 1466, 1467, 1431, 1468, 1435, 1469, 1470, 1471, 1472, + 1473, 1474, 1475, 1443, 1476, 1479, 1480, 1481, 1482, 1483, + 1484, 1486, 1488, 1489, 1490, 1491, 1442, 1487, 1390, 1495, + 1498, 1499, 1431, 1500, 1435, 1393, 1501, 2002, 1392, 1502, + 1503, 1504, 1443, 1383, 437, 1396, 1396, 1396, 1396, 1396, + 1396, 1505, 1506, 1507, 1383, 1510, 1383, 1383, 1383, 1383, + 1383, 1383, 1389, 1394, 1389, 1493, 1496, 1496, 1496, 1496, + + 1496, 1496, 1497, 1497, 1497, 1497, 1497, 1497, 1508, 1383, + 1391, 1511, 1514, 1513, 2002, 1515, 1516, 1519, 1520, 1517, + 1509, 1383, 1518, 1494, 1521, 1522, 1523, 1524, 1525, 1526, + 1383, 1528, 1530, 1531, 1533, 1383, 1534, 1535, 1383, 1536, + 1537, 1383, 1513, 2002, 1430, 1430, 1430, 1383, 1538, 1539, + 1383, 1540, 1541, 1542, 1546, 1547, 1543, 1544, 1545, 1548, + 1549, 1550, 1551, 1533, 1552, 1534, 1535, 1553, 1536, 1537, + 1554, 1555, 1556, 1557, 1558, 1559, 1565, 1538, 1539, 1567, + 1540, 1541, 1542, 1529, 1532, 1543, 1544, 1545, 1560, 1560, + 1560, 1560, 1560, 1560, 1561, 1563, 1564, 1568, 1569, 1570, + + 1571, 1573, 1562, 1566, 1566, 1566, 1566, 1566, 1566, 1574, + 1575, 1578, 1576, 1532, 1572, 1572, 1572, 1572, 1572, 1572, + 1577, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1393, 1393, + 1588, 1392, 1496, 1496, 1496, 1496, 1496, 1496, 1587, 1587, + 1587, 1587, 1587, 1587, 1589, 1590, 1592, 1593, 1594, 1595, + 1596, 1599, 1597, 1591, 1601, 1602, 1394, 1394, 1493, 1598, + 1603, 1604, 2002, 1607, 1608, 1611, 1609, 1600, 1606, 1606, + 1606, 1606, 1606, 1606, 1610, 1612, 1613, 1617, 1618, 1619, + 1621, 1614, 1622, 1623, 1624, 1620, 1494, 1528, 1627, 1628, + 1615, 2002, 1629, 1630, 1616, 1631, 1632, 1633, 1634, 1635, + + 1635, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, + 1644, 1645, 1646, 1647, 1649, 1650, 1652, 1627, 1628, 1653, + 1654, 1629, 1630, 1657, 1631, 1632, 1633, 1634, 1655, 1659, + 1660, 1636, 1637, 1638, 1639, 1661, 1656, 1662, 1663, 1529, + 1648, 1648, 1648, 1648, 1648, 1648, 1651, 1664, 1566, 1566, + 1566, 1566, 1566, 1566, 1658, 1658, 1658, 1658, 1658, 1658, + 1665, 1666, 1667, 1668, 1669, 1671, 1587, 1587, 1587, 1587, + 1587, 1587, 1672, 1673, 1675, 1676, 1677, 1678, 1679, 1680, + 1681, 1674, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1690, + 1690, 1690, 1690, 1690, 1690, 1691, 1692, 1693, 1694, 1695, + + 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, + 1706, 1707, 1709, 1711, 1712, 1713, 1714, 1715, 1716, 1717, + 1718, 1719, 1635, 1635, 1635, 1721, 1722, 1723, 1724, 1725, + 1726, 1727, 1728, 1729, 1730, 1648, 1648, 1648, 1648, 1648, + 1648, 1738, 1739, 1712, 1713, 1714, 1715, 1716, 1717, 1718, + 1719, 1731, 1740, 1734, 1721, 1722, 1723, 1724, 1735, 1732, + 1733, 1733, 1733, 1733, 1733, 1733, 1736, 1741, 1742, 1743, + 1720, 1747, 1748, 1744, 1737, 1658, 1658, 1658, 1658, 1658, + 1658, 1745, 1746, 1746, 1746, 1746, 1746, 1746, 1749, 1671, + 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1720, + + 1760, 1761, 1762, 1763, 1690, 1690, 1690, 1690, 1690, 1690, + 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1772, + 1772, 1772, 1772, 1772, 1773, 1774, 1775, 1776, 1777, 1779, + 1780, 1709, 1782, 1711, 1783, 1785, 1778, 1784, 1784, 1784, + 1786, 1787, 1788, 1789, 1781, 1790, 1791, 1792, 1793, 1794, + 1795, 1796, 1797, 1798, 1733, 1733, 1733, 1733, 1733, 1733, + 1799, 1800, 1801, 1804, 1785, 1802, 1805, 1806, 1807, 1786, + 1787, 1788, 1789, 1803, 1790, 1791, 1792, 1746, 1746, 1746, + 1746, 1746, 1746, 1808, 1809, 1810, 1811, 1813, 1814, 1814, + 1814, 1814, 1814, 1814, 1816, 1817, 1818, 1819, 1820, 1821, + + 1822, 1823, 1824, 1825, 1826, 1828, 1829, 1830, 1833, 1834, + 1837, 1838, 1827, 1839, 1840, 1842, 1832, 1831, 1772, 1772, + 1772, 1772, 1772, 1772, 1835, 1845, 1784, 1784, 1784, 1848, + 1849, 1850, 1836, 1851, 1852, 1853, 1854, 1855, 1857, 1858, + 1859, 1860, 1862, 1815, 1863, 1864, 1865, 1866, 1867, 1861, + 1868, 1868, 1868, 1868, 1868, 1868, 1869, 1871, 1848, 1849, + 1850, 1872, 1851, 1852, 1870, 1873, 1874, 1843, 1847, 1875, + 1876, 1877, 1878, 1880, 1881, 1882, 1883, 1846, 1884, 1885, + 1879, 1886, 1886, 1886, 1886, 1886, 1886, 1887, 1888, 1889, + 1890, 1891, 1892, 1842, 1845, 1893, 1894, 1847, 1895, 1896, + + 1897, 1898, 1899, 1901, 1902, 1903, 1904, 1905, 1907, 1909, + 1910, 1911, 1868, 1868, 1868, 1868, 1868, 1868, 1912, 1913, + 1914, 1915, 1916, 1918, 1893, 1894, 1919, 1895, 1896, 1897, + 1917, 1920, 1921, 1922, 1923, 1924, 1886, 1886, 1886, 1886, + 1886, 1886, 1925, 1926, 1927, 1843, 1846, 1928, 1929, 1930, + 1931, 1931, 1931, 1932, 1933, 1934, 1935, 1937, 1907, 2002, + 1908, 1936, 1936, 1936, 1936, 1936, 1936, 1938, 1939, 1940, + 1943, 1941, 1944, 1945, 1946, 1948, 1950, 1929, 1930, 1942, + 1951, 1952, 1932, 1933, 1906, 1953, 1906, 1954, 1955, 1931, + 1931, 1931, 1956, 1957, 1958, 1958, 1958, 1958, 1958, 1958, + + 1959, 1960, 1961, 1962, 1963, 1965, 1966, 1967, 1948, 1968, + 1908, 1969, 1964, 1970, 2002, 1971, 1954, 1955, 1972, 1973, + 1976, 1956, 1977, 1978, 1111, 1982, 1985, 1949, 1112, 1980, + 1113, 1986, 1983, 1987, 1115, 1988, 1980, 1991, 1116, 1947, + 1984, 1947, 1993, 1994, 1971, 1992, 1997, 1972, 1973, 1029, + 1028, 1995, 1027, 1111, 1026, 1025, 1024, 1112, 1023, 1113, + 1949, 1022, 1987, 1115, 1988, 2002, 1996, 1116, 1958, 1958, + 1958, 1958, 1958, 1958, 1974, 1974, 1974, 1974, 1974, 1974, + 1995, 1981, 1989, 1989, 1989, 1989, 1989, 1989, 1981, 1998, + 1979, 1999, 1979, 2000, 2001, 1996, 1989, 1989, 1989, 1989, + + 1989, 1989, 1021, 1020, 1019, 1018, 1017, 1016, 1015, 1014, + 1013, 1012, 1011, 1010, 1009, 1008, 1007, 1006, 1998, 1005, + 1999, 1001, 2000, 2001, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 77, 77, 1000, 77, + 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 126, 999, 998, 997, 126, 126, 126, 126, 126, 126, + + 126, 126, 126, 126, 126, 232, 996, 995, 994, 232, + 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + 275, 993, 992, 975, 275, 275, 974, 973, 972, 971, + 275, 275, 436, 436, 968, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 618, 618, 967, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, + 618, 618, 618, 618, 618, 618, 1281, 966, 965, 964, + 1281, 1281, 1281, 1281, 1281, 963, 1281, 1281, 1281, 1281, + 1281, 1373, 962, 961, 960, 1373, 1373, 1373, 1373, 1373, + + 957, 1373, 1373, 1373, 1373, 1373, 1374, 956, 955, 1374, + 954, 953, 952, 1374, 1374, 1374, 1374, 1374, 950, 1374, + 1374, 1374, 1374, 1374, 1382, 949, 948, 947, 1382, 1382, + 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1389, + 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 946, 1389, + 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, + 1389, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, + 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, + 1392, 1392, 1392, 1399, 945, 944, 1399, 1399, 1399, 1399, + 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, + + 1399, 1399, 1399, 1399, 1399, 1414, 940, 939, 938, 1414, + 1414, 935, 934, 933, 932, 1414, 1414, 1477, 931, 930, + 1477, 929, 928, 927, 1477, 1477, 1477, 1477, 1477, 926, + 1477, 1477, 1477, 1477, 1477, 1478, 923, 922, 1478, 1478, + 921, 920, 919, 1478, 918, 1478, 917, 916, 915, 1478, + 914, 1478, 1485, 1485, 1485, 913, 912, 911, 1485, 1485, + 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, + 1492, 1512, 910, 909, 908, 1512, 1512, 907, 906, 1512, + + 905, 1512, 1512, 904, 903, 1512, 1527, 1527, 902, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1586, 1586, + 1586, 1586, 1586, 1605, 901, 900, 899, 1605, 1605, 896, + 893, 892, 891, 1605, 1605, 1625, 1625, 1625, 1625, 1625, + 890, 1625, 1625, 1625, 1625, 1625, 1626, 1626, 1626, 1626, + 1626, 889, 1626, 1626, 1626, 1626, 1626, 1670, 885, 884, + 883, 882, 1670, 881, 880, 879, 878, 875, 874, 1670, + 1670, 1670, 1670, 1670, 1689, 873, 872, 871, 1689, 1689, + 870, 869, 868, 867, 1689, 1689, 1708, 866, 1708, 1708, + + 865, 864, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, + 1708, 1708, 1708, 1710, 863, 1710, 1710, 862, 861, 1710, + 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, + 1750, 860, 859, 1750, 1750, 1750, 1750, 1750, 1750, 1750, + 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, + 1750, 1750, 1812, 858, 857, 1812, 1812, 1812, 1812, 1812, + 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, + 1812, 1812, 1812, 1812, 1841, 1841, 856, 1841, 1841, 1841, + 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, + 1841, 1841, 1841, 1841, 1841, 1841, 1844, 1844, 855, 1844, + + 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, + 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1856, 1856, + 1856, 1856, 1856, 854, 1856, 1856, 1856, 1856, 1856, 1900, + 853, 852, 851, 1900, 1900, 1900, 1900, 1900, 1900, 1900, + 1900, 1900, 1900, 1900, 1906, 1906, 1906, 1906, 1906, 1906, + 1906, 1906, 1906, 850, 1906, 1906, 1906, 1906, 1906, 1906, + 1906, 1906, 1906, 1906, 1906, 1906, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 849, 1947, 1947, 1947, 1947, + 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1975, 1975, + 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1979, + + 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 848, 1979, + 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, + 1979, 1990, 847, 846, 845, 1990, 1990, 1990, 1990, 1990, + 1990, 1990, 1990, 1990, 1990, 1990, 844, 843, 842, 816, + 815, 812, 811, 810, 809, 808, 807, 806, 805, 804, + 803, 802, 801, 800, 799, 798, 797, 796, 795, 794, + 793, 792, 791, 790, 437, 786, 785, 784, 783, 782, + 781, 780, 779, 778, 773, 772, 771, 770, 769, 768, + 767, 766, 765, 764, 763, 761, 760, 759, 758, 757, + 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, + + 744, 743, 742, 741, 740, 739, 738, 737, 736, 735, + 734, 733, 732, 731, 730, 729, 728, 727, 726, 725, + 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, + 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, + 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, + 694, 693, 692, 691, 690, 689, 688, 686, 685, 684, + 683, 682, 681, 680, 679, 650, 649, 648, 647, 646, + 643, 642, 641, 640, 639, 638, 637, 636, 635, 632, + 631, 630, 629, 628, 624, 623, 622, 437, 616, 615, + 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, + + 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, + 594, 593, 591, 590, 589, 588, 587, 586, 585, 582, + 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, + 571, 570, 569, 568, 567, 566, 565, 562, 561, 558, + 557, 556, 553, 552, 551, 550, 549, 548, 547, 546, + 545, 544, 543, 542, 541, 540, 538, 537, 536, 533, + 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, + 522, 521, 520, 519, 516, 514, 511, 510, 509, 507, + 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, + 496, 466, 463, 462, 461, 458, 457, 452, 451, 450, + + 449, 448, 447, 446, 443, 442, 441, 440, 435, 434, + 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, + 423, 422, 421, 420, 419, 418, 414, 413, 407, 406, + 398, 397, 392, 380, 376, 375, 372, 366, 365, 364, + 358, 355, 354, 353, 352, 351, 350, 349, 348, 346, + 345, 341, 340, 339, 336, 334, 330, 329, 328, 323, + 322, 320, 319, 318, 316, 315, 310, 309, 279, 278, + 277, 276, 2002, 269, 260, 259, 252, 248, 247, 235, + 230, 208, 190, 122, 117, 109, 104, 100, 73, 2002, + 3, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002 } ; -static yyconst flex_int16_t yy_chk[3539] = +static yyconst flex_int16_t yy_chk[3580] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1473,14 +1487,14 @@ static yyconst flex_int16_t yy_chk[3539] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 5, 8, 5, - 13, 17, 19, 21, 30, 33, 34, 31, 21, 35, - - 37, 38, 32, 39, 19, 17, 32, 40, 21, 890, - 41, 31, 47, 47, 31, 32, 42, 70, 90, 70, - 80, 80, 30, 33, 34, 31, 90, 35, 37, 38, - 32, 39, 94, 891, 32, 40, 94, 13, 41, 31, - 8, 10, 31, 32, 42, 10, 10, 10, 10, 10, + 1, 1, 1, 1, 1, 1, 1, 1, 5, 8, + 5, 13, 17, 19, 21, 31, 34, 32, 35, 21, + + 36, 38, 39, 33, 40, 19, 17, 33, 41, 21, + 42, 32, 48, 48, 32, 43, 33, 72, 98, 72, + 82, 82, 93, 202, 31, 34, 32, 35, 98, 36, + 38, 39, 33, 40, 202, 93, 33, 41, 13, 42, + 32, 8, 10, 32, 43, 33, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -1489,371 +1503,375 @@ static yyconst flex_int16_t yy_chk[3539] = 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 22, 44, - 22, 22, 22, 22, 22, 22, 25, 25, 25, 27, - 27, 29, 45, 43, 46, 57, 22, 43, 49, 29, - 96, 29, 369, 60, 87, 369, 29, 44, 29, 72, - 96, 87, 87, 57, 124, 59, 60, 56, 60, 29, - 45, 43, 46, 57, 22, 43, 49, 29, 51, 29, - 49, 59, 51, 49, 29, 445, 29, 56, 56, 49, - 892, 51, 124, 59, 25, 56, 27, 48, 54, 59, - - 56, 99, 51, 51, 50, 48, 51, 48, 732, 54, - 51, 72, 48, 54, 48, 894, 51, 125, 50, 51, - 54, 50, 732, 48, 48, 48, 54, 89, 82, 445, - 58, 82, 50, 48, 82, 48, 50, 52, 91, 48, - 48, 48, 48, 50, 53, 125, 50, 89, 99, 50, - 67, 91, 50, 52, 61, 52, 63, 52, 58, 52, - 64, 203, 61, 52, 64, 52, 53, 203, 58, 53, - 67, 65, 53, 153, 58, 53, 53, 67, 67, 61, - 63, 53, 61, 66, 63, 126, 199, 67, 64, 65, - 153, 259, 64, 259, 63, 64, 64, 199, 83, 65, - - 63, 83, 83, 64, 64, 127, 128, 64, 64, 66, - 64, 66, 64, 126, 66, 78, 78, 78, 78, 78, - 78, 84, 84, 84, 895, 95, 206, 84, 129, 208, - 130, 84, 95, 127, 128, 206, 131, 95, 208, 111, - 95, 111, 111, 111, 111, 111, 111, 112, 132, 112, - 112, 112, 112, 112, 112, 134, 129, 111, 130, 135, - 136, 113, 137, 113, 131, 112, 113, 113, 113, 113, - 113, 113, 133, 138, 139, 140, 132, 141, 142, 143, - 145, 133, 147, 134, 144, 111, 146, 135, 136, 148, - 137, 149, 144, 112, 146, 154, 155, 158, 162, 896, - - 133, 138, 139, 140, 897, 141, 142, 143, 145, 133, - 147, 165, 144, 171, 146, 154, 220, 148, 180, 149, - 144, 169, 146, 154, 155, 158, 162, 155, 190, 171, - 169, 173, 173, 162, 177, 192, 193, 197, 158, 165, - 165, 171, 204, 433, 220, 165, 180, 165, 192, 169, - 169, 177, 169, 211, 204, 177, 190, 190, 169, 898, - 180, 211, 177, 193, 193, 197, 214, 197, 193, 216, - 204, 207, 214, 215, 251, 251, 193, 246, 219, 207, - 216, 197, 197, 197, 197, 210, 207, 215, 207, 225, - 215, 219, 207, 210, 224, 246, 221, 207, 224, 207, - - 260, 260, 207, 899, 207, 207, 221, 207, 301, 301, - 301, 225, 325, 210, 433, 376, 325, 225, 376, 210, - 210, 210, 228, 228, 228, 228, 228, 228, 268, 268, - 268, 268, 268, 268, 270, 270, 270, 270, 270, 270, - 269, 276, 269, 246, 268, 269, 269, 269, 269, 269, - 269, 271, 271, 271, 271, 271, 271, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 276, - 289, 290, 268, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 302, 303, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 304, 289, 290, - - 320, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 302, 303, 327, 329, 340, 348, 352, 373, 397, - 406, 397, 329, 434, 435, 304, 373, 439, 320, 348, - 455, 461, 455, 439, 578, 901, 439, 902, 578, 462, - 463, 327, 434, 340, 327, 352, 464, 465, 406, 459, - 459, 459, 459, 459, 459, 466, 468, 469, 470, 461, - 352, 460, 460, 460, 460, 460, 460, 462, 463, 471, - 472, 474, 475, 476, 464, 465, 477, 478, 478, 478, - 479, 480, 481, 466, 468, 469, 470, 482, 483, 484, - 485, 487, 488, 435, 486, 486, 486, 471, 472, 474, - - 475, 476, 502, 586, 477, 611, 612, 904, 479, 480, - 481, 600, 615, 613, 639, 482, 483, 484, 485, 487, - 488, 643, 600, 600, 639, 612, 486, 600, 642, 645, - 502, 586, 613, 646, 502, 642, 907, 649, 650, 642, - 651, 486, 652, 486, 653, 654, 655, 657, 779, 643, - 658, 658, 658, 660, 486, 662, 908, 645, 663, 664, - 665, 646, 666, 667, 611, 649, 650, 668, 651, 486, - 652, 486, 653, 654, 655, 657, 615, 669, 670, 730, - 775, 660, 712, 662, 613, 730, 663, 664, 665, 754, - 666, 667, 723, 712, 763, 668, 775, 780, 723, 658, - - 781, 796, 811, 812, 779, 669, 670, 813, 723, 763, - 789, 789, 789, 789, 789, 789, 780, 754, 806, 814, - 816, 806, 815, 815, 815, 818, 819, 658, 909, 820, - 811, 812, 822, 823, 826, 813, 828, 829, 830, 796, - 831, 850, 850, 910, 911, 912, 913, 814, 816, 914, - 915, 912, 781, 818, 819, 916, 780, 820, 917, 918, - 822, 823, 826, 919, 828, 829, 830, 920, 831, 921, - 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, - 924, 932, 933, 934, 935, 936, 937, 938, 939, 940, - 850, 941, 942, 942, 942, 942, 942, 942, 943, 944, - - 945, 933, 946, 947, 948, 949, 950, 951, 952, 953, - 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, - 964, 965, 966, 968, 969, 969, 969, 973, 973, 973, - 972, 974, 975, 977, 978, 979, 980, 981, 933, 982, - 985, 986, 987, 988, 989, 991, 932, 997, 998, 999, - 966, 968, 1000, 1003, 934, 970, 970, 970, 972, 974, - 975, 977, 978, 979, 980, 981, 1004, 1005, 1006, 1008, - 1009, 1011, 1012, 1013, 1014, 1015, 1017, 1018, 1019, 1021, - 1022, 1023, 1025, 1027, 1028, 1029, 1030, 1031, 1033, 1034, - 970, 1038, 1039, 1040, 970, 1041, 970, 1042, 1043, 970, - - 970, 1044, 1045, 1046, 970, 1047, 1048, 1049, 1050, 1051, - 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 970, 1060, - 1061, 1062, 970, 1063, 970, 1064, 1066, 970, 970, 1065, - 1067, 1068, 970, 1069, 1070, 1071, 1072, 1073, 1073, 1073, - 1073, 1073, 1073, 1074, 1064, 1075, 1076, 1065, 1077, 1078, - 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1080, - 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, - 1098, 1099, 1099, 1099, 1100, 1101, 1102, 1103, 1104, 1105, - 1106, 1107, 1107, 1107, 1108, 1109, 1105, 1115, 1110, 1111, - 1064, 1113, 1116, 1117, 1119, 1104, 1120, 1097, 1098, 1121, - - 1123, 1124, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1125, - 1126, 1128, 1108, 1109, 1105, 1099, 1110, 1111, 1129, 1113, - 1130, 1131, 1132, 1104, 1133, 1135, 1107, 1137, 1138, 1140, - 1141, 1142, 1143, 1145, 1146, 1147, 1149, 1150, 1153, 1154, - 1156, 1157, 1158, 1099, 1159, 1160, 1161, 1162, 1163, 1164, - 1165, 1166, 1167, 1169, 1107, 1170, 1171, 1172, 1173, 1174, - 1175, 1176, 1177, 1177, 1178, 1179, 1180, 1182, 1170, 1181, - 1181, 1181, 1181, 1181, 1181, 1183, 1184, 1185, 1186, 1187, - 1176, 1188, 1189, 1190, 1191, 1193, 1194, 1179, 1195, 1196, - 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, - - 1207, 1208, 1209, 1210, 1210, 1210, 1211, 1212, 1213, 1214, - 1215, 1215, 1215, 1216, 1217, 1184, 1218, 1219, 1220, 1221, - 1222, 1222, 1222, 1223, 1225, 1226, 1227, 1228, 1229, 1232, - 1209, 1234, 1235, 1236, 1211, 1212, 1213, 1214, 1237, 1238, - 1239, 1216, 1217, 1240, 1218, 1219, 1220, 1221, 1241, 1242, - 1245, 1223, 1225, 1226, 1247, 1249, 1250, 1251, 1252, 1254, - 1255, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 1270, 1271, 1270, 1270, 1270, 1270, 1270, 1270, - 1272, 1273, 1274, 1275, 1276, 1278, 1278, 1280, 1281, 1282, - 1285, 1287, 1288, 1289, 1290, 1279, 1278, 1279, 1278, 1278, - - 1278, 1278, 1278, 1278, 1279, 1279, 1293, 1295, 1279, 1283, - 1283, 1283, 1283, 1283, 1283, 1296, 1281, 1297, 1291, 1291, - 1292, 1278, 1284, 1284, 1284, 1284, 1284, 1284, 1298, 1299, - 1300, 1292, 1301, 1278, 1291, 1291, 1292, 1302, 1303, 1280, - 1304, 1278, 1305, 1306, 1307, 1308, 1278, 1309, 1310, 1278, - 1314, 1315, 1278, 1311, 1311, 1311, 1316, 1318, 1278, 1319, - 1320, 1278, 1312, 1312, 1312, 1317, 1317, 1317, 1321, 1322, - 1323, 1324, 1324, 1324, 1326, 1327, 1328, 1329, 1314, 1315, - 1330, 1331, 1332, 1333, 1316, 1318, 1334, 1319, 1320, 1335, - 1329, 1336, 1337, 1338, 1340, 1341, 1321, 1322, 1323, 1342, - - 1343, 1345, 1326, 1327, 1324, 1346, 1347, 1348, 1349, 1350, - 1312, 1351, 1317, 1352, 1353, 1354, 1355, 1356, 1357, 1358, - 1324, 1359, 1363, 1364, 1365, 1366, 1367, 1368, 1371, 1372, - 1373, 1374, 1324, 1375, 1371, 1376, 1382, 1387, 1312, 1388, - 1317, 1379, 1389, 1378, 1381, 1390, 1391, 1392, 1324, 1370, - 1370, 1383, 1383, 1383, 1383, 1383, 1383, 1393, 1394, 1395, - 1370, 1396, 1370, 1370, 1370, 1370, 1370, 1370, 1378, 1379, - 1378, 1381, 1384, 1384, 1384, 1384, 1384, 1384, 1385, 1385, - 1385, 1385, 1385, 1385, 1397, 1370, 1398, 1376, 1399, 1400, - 1401, 1402, 1403, 1404, 1406, 1405, 1397, 1370, 1405, 1381, - - 1407, 1408, 1409, 1410, 1411, 1370, 1412, 1413, 1414, 1415, - 1370, 1417, 1418, 1370, 1420, 1421, 1370, 1400, 1401, 1422, - 1423, 1424, 1370, 1426, 1427, 1370, 1416, 1416, 1416, 1428, - 1429, 1432, 1430, 1431, 1433, 1434, 1436, 1440, 1441, 1417, - 1418, 1442, 1420, 1421, 1443, 1444, 1445, 1422, 1423, 1424, - 1446, 1426, 1427, 1448, 1450, 1451, 1453, 1428, 1429, 1413, - 1430, 1431, 1454, 1454, 1453, 1455, 1416, 1452, 1452, 1452, - 1452, 1452, 1452, 1456, 1456, 1456, 1456, 1456, 1456, 1457, - 1458, 1459, 1460, 1461, 1462, 1462, 1462, 1462, 1462, 1462, - 1465, 1466, 1467, 1468, 1416, 1469, 1470, 1472, 1473, 1474, - - 1475, 1468, 1476, 1477, 1478, 1479, 1484, 1480, 1482, 1482, - 1482, 1482, 1482, 1482, 1483, 1483, 1483, 1483, 1483, 1483, - 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1493, 1492, 1486, - 1494, 1495, 1478, 1479, 1480, 1492, 1496, 1497, 1498, 1501, - 1502, 1504, 1503, 1493, 1500, 1500, 1500, 1500, 1500, 1500, - 1503, 1505, 1507, 1506, 1508, 1508, 1509, 1510, 1506, 1511, - 1512, 1508, 1480, 1517, 1518, 1519, 1498, 1506, 1520, 1521, - 1522, 1506, 1523, 1524, 1525, 1525, 1525, 1527, 1528, 1529, - 1530, 1531, 1532, 1533, 1536, 1539, 1540, 1542, 1543, 1546, - 1550, 1517, 1518, 1519, 1552, 1553, 1520, 1521, 1522, 1554, - - 1523, 1524, 1555, 1556, 1558, 1527, 1528, 1529, 1530, 1559, - 1555, 1560, 1512, 1545, 1545, 1545, 1545, 1545, 1545, 1551, - 1561, 1551, 1551, 1551, 1551, 1551, 1551, 1557, 1557, 1557, - 1557, 1557, 1557, 1563, 1564, 1565, 1566, 1567, 1568, 1569, - 1571, 1572, 1572, 1572, 1572, 1572, 1572, 1573, 1574, 1575, - 1577, 1578, 1579, 1580, 1581, 1582, 1574, 1583, 1584, 1585, - 1586, 1587, 1588, 1589, 1591, 1591, 1591, 1591, 1591, 1591, - 1592, 1593, 1594, 1596, 1597, 1598, 1599, 1600, 1601, 1602, - 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, - 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1619, 1619, 1620, - - 1621, 1622, 1623, 1624, 1625, 1626, 1628, 1629, 1631, 1632, - 1632, 1632, 1632, 1632, 1632, 1638, 1611, 1612, 1613, 1614, - 1615, 1616, 1617, 1618, 1634, 1639, 1636, 1620, 1621, 1622, - 1623, 1636, 1634, 1635, 1635, 1635, 1635, 1635, 1635, 1637, - 1641, 1643, 1644, 1645, 1619, 1651, 1647, 1637, 1642, 1642, - 1642, 1642, 1642, 1642, 1647, 1648, 1648, 1648, 1648, 1648, - 1648, 1652, 1653, 1654, 1656, 1657, 1660, 1661, 1662, 1663, - 1665, 1666, 1619, 1667, 1668, 1669, 1671, 1672, 1674, 1674, - 1674, 1674, 1674, 1674, 1675, 1676, 1678, 1679, 1680, 1681, - 1682, 1683, 1684, 1684, 1684, 1684, 1684, 1684, 1685, 1686, - - 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1696, 1697, - 1689, 1695, 1695, 1695, 1699, 1701, 1703, 1690, 1704, 1705, - 1707, 1708, 1709, 1711, 1712, 1714, 1715, 1716, 1716, 1716, - 1716, 1716, 1716, 1717, 1718, 1719, 1696, 1697, 1723, 1724, - 1725, 1721, 1699, 1701, 1703, 1727, 1704, 1705, 1707, 1721, - 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1730, 1731, 1732, - 1734, 1736, 1736, 1736, 1736, 1736, 1736, 1738, 1740, 1742, - 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, - 1754, 1757, 1758, 1760, 1762, 1750, 1763, 1764, 1765, 1755, - 1754, 1755, 1755, 1755, 1755, 1755, 1755, 1759, 1767, 1766, - - 1766, 1766, 1769, 1770, 1771, 1759, 1772, 1775, 1777, 1778, - 1781, 1782, 1784, 1786, 1787, 1736, 1788, 1790, 1792, 1793, - 1795, 1786, 1798, 1799, 1800, 1797, 1767, 1801, 1802, 1803, - 1769, 1770, 1771, 1797, 1772, 1804, 1806, 1808, 1810, 1764, - 1765, 1766, 1796, 1796, 1796, 1796, 1796, 1796, 1805, 1811, - 1812, 1813, 1815, 1816, 1817, 1820, 1805, 1814, 1814, 1814, - 1814, 1814, 1814, 1821, 1822, 1825, 1828, 1829, 1830, 1766, - 1832, 1833, 1834, 1836, 1838, 1839, 1841, 1843, 1844, 1845, - 1846, 1847, 1848, 1849, 1849, 1849, 1849, 1849, 1849, 1850, - 1852, 1853, 1855, 1857, 1828, 1829, 1830, 1858, 1832, 1833, - - 1859, 1857, 1861, 1863, 1864, 1865, 1866, 1867, 1867, 1867, - 1867, 1867, 1867, 1869, 1871, 1872, 1822, 1825, 1873, 1874, - 1875, 1875, 1875, 1876, 1877, 1878, 1881, 1885, 1886, 1888, - 1890, 1845, 1884, 1884, 1884, 1884, 1884, 1884, 1891, 1895, - 1896, 1897, 1898, 1900, 1901, 1902, 1873, 1874, 1896, 1905, - 1906, 1876, 1877, 1907, 1888, 1908, 1888, 1909, 1911, 1910, - 1910, 1910, 1914, 1915, 1915, 1915, 1915, 1915, 1915, 1916, - 1918, 1920, 1922, 1923, 1924, 1925, 1928, 1926, 1929, 1930, - 1886, 1923, 1931, 1908, 1932, 1909, 1911, 1933, 1934, 1940, - 1941, 1943, 1945, 1946, 1910, 1947, 1948, 1902, 1910, 1944, - - 1910, 1928, 1950, 1928, 1910, 1955, 1956, 1959, 1910, 1966, - 889, 888, 1932, 1955, 887, 1933, 1934, 886, 885, 883, - 881, 1962, 1910, 880, 1948, 879, 1910, 878, 1910, 1926, - 1950, 876, 1910, 875, 1958, 1963, 1910, 1936, 1936, 1936, - 1936, 1936, 1936, 1937, 1937, 1937, 1937, 1937, 1937, 1962, - 1969, 1944, 1951, 1951, 1951, 1951, 1951, 1951, 1956, 1958, - 1970, 1958, 1972, 1963, 1964, 1964, 1964, 1964, 1964, 1964, - 1974, 874, 873, 872, 871, 870, 869, 868, 1969, 867, - 865, 864, 862, 860, 859, 857, 854, 853, 1970, 851, - 1972, 849, 844, 843, 841, 840, 839, 838, 1974, 1977, - - 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, - 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, 1977, - 1977, 1978, 1978, 836, 1978, 1978, 1978, 1978, 1978, 1978, - 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, - 1978, 1978, 1978, 1979, 1979, 1979, 1979, 1979, 1979, 1979, - 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, - 1979, 1979, 1979, 1979, 1979, 1980, 835, 834, 810, 1980, - 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, - 1981, 809, 808, 807, 1981, 1981, 1981, 1981, 1981, 1981, - 1981, 1981, 1981, 1981, 1981, 1982, 1982, 805, 1982, 1982, - - 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, - 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1983, 1983, 804, - 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, - 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1984, - 803, 802, 801, 1984, 1984, 1984, 1984, 1984, 800, 1984, - 1984, 1984, 1984, 1984, 1985, 799, 798, 797, 1985, 1985, - 1985, 1985, 1985, 795, 1985, 1985, 1985, 1985, 1985, 1986, - 794, 793, 1986, 792, 791, 790, 1986, 1986, 1986, 1986, - 1986, 788, 1986, 1986, 1986, 1986, 1986, 1987, 787, 786, - 785, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, 1987, - - 1987, 1987, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, - 1988, 784, 1988, 1988, 1988, 1988, 1988, 1988, 1988, 1988, - 1988, 1988, 1988, 1988, 1989, 1989, 1989, 1989, 1989, 1989, - 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, - 1989, 1989, 1989, 1989, 1989, 1989, 1990, 783, 782, 1990, - 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, - 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1990, 1991, 778, - 777, 776, 1991, 1991, 773, 772, 771, 770, 1991, 1991, - 1992, 769, 768, 1992, 767, 766, 765, 1992, 1992, 1992, - 1992, 1992, 764, 1992, 1992, 1992, 1992, 1992, 1993, 762, - - 761, 1993, 1993, 760, 759, 757, 1993, 756, 1993, 755, - 753, 752, 1993, 751, 1993, 1994, 1994, 1994, 750, 749, - 748, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, 1994, - 1994, 1994, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, - 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, 1995, - 1995, 1995, 1995, 1995, 1996, 747, 745, 744, 1996, 1996, - 742, 741, 1996, 740, 1996, 1996, 739, 737, 1996, 1997, - 1997, 736, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, - 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, - 1997, 1998, 1998, 1998, 1998, 1998, 1999, 735, 734, 733, - - 1999, 1999, 731, 729, 727, 726, 1999, 1999, 2000, 2000, - 2000, 2000, 2000, 725, 2000, 2000, 2000, 2000, 2000, 2001, - 2001, 2001, 2001, 2001, 724, 2001, 2001, 2001, 2001, 2001, - 2002, 722, 721, 719, 718, 2002, 717, 716, 715, 714, - 711, 710, 2002, 2002, 2002, 2002, 2002, 2003, 709, 708, - 707, 2003, 2003, 706, 705, 704, 703, 2003, 2003, 2004, - 702, 2004, 2004, 701, 700, 2004, 2004, 2004, 2004, 2004, - 2004, 2004, 2004, 2004, 2004, 2004, 2005, 699, 2005, 2005, - 698, 696, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, - 2005, 2005, 2005, 2006, 695, 693, 2006, 2006, 2006, 2006, - - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2007, 692, 691, 2007, 2007, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 22, 45, 22, 22, 22, 22, 22, 22, 23, 895, + 23, 23, 23, 23, 23, 23, 28, 28, 22, 26, + 26, 26, 46, 30, 44, 47, 23, 56, 44, 59, + 45, 30, 156, 30, 92, 51, 60, 22, 30, 56, + 30, 85, 92, 56, 85, 85, 449, 22, 59, 156, + 56, 46, 30, 44, 47, 23, 56, 44, 59, 53, + 30, 58, 30, 53, 51, 60, 22, 30, 51, 30, + + 373, 51, 53, 373, 28, 60, 61, 51, 26, 50, + 67, 60, 58, 58, 53, 53, 52, 50, 53, 50, + 58, 449, 53, 61, 50, 58, 50, 62, 53, 67, + 52, 53, 74, 52, 63, 61, 50, 50, 50, 67, + 62, 61, 62, 63, 896, 52, 50, 54, 50, 52, + 68, 101, 50, 50, 50, 50, 52, 55, 91, 52, + 63, 214, 52, 63, 54, 52, 54, 65, 54, 214, + 54, 66, 897, 69, 54, 66, 54, 68, 91, 68, + 55, 206, 68, 55, 74, 84, 55, 206, 84, 55, + 55, 84, 65, 96, 69, 55, 65, 96, 101, 898, + + 66, 69, 69, 224, 66, 127, 65, 66, 66, 128, + 89, 69, 65, 224, 129, 66, 66, 89, 89, 66, + 66, 262, 66, 262, 66, 80, 80, 80, 80, 80, + 80, 86, 86, 86, 127, 97, 130, 86, 128, 131, + 132, 86, 97, 129, 227, 133, 899, 97, 227, 113, + 97, 113, 113, 113, 113, 113, 113, 114, 134, 114, + 114, 114, 114, 114, 114, 130, 135, 113, 131, 132, + 137, 115, 138, 115, 133, 114, 115, 115, 115, 115, + 115, 115, 136, 139, 140, 141, 142, 134, 143, 144, + 145, 136, 146, 148, 147, 135, 113, 149, 150, 137, + + 151, 138, 147, 152, 114, 149, 158, 157, 161, 900, + 165, 136, 139, 140, 141, 142, 209, 143, 144, 145, + 136, 146, 148, 147, 168, 209, 149, 150, 157, 151, + 219, 147, 152, 172, 149, 158, 157, 161, 158, 165, + 174, 219, 172, 176, 176, 183, 165, 195, 180, 193, + 161, 222, 196, 168, 168, 200, 804, 174, 211, 168, + 195, 168, 172, 172, 222, 172, 180, 211, 901, 174, + 180, 172, 254, 254, 183, 223, 207, 180, 193, 193, + 196, 196, 263, 263, 200, 196, 200, 280, 183, 207, + 210, 217, 228, 196, 281, 804, 218, 217, 210, 213, + + 200, 200, 200, 200, 223, 207, 210, 213, 210, 266, + 218, 249, 210, 218, 329, 228, 280, 210, 329, 210, + 352, 228, 210, 281, 210, 210, 266, 210, 213, 249, + 305, 305, 305, 352, 213, 213, 213, 231, 231, 231, + 231, 231, 231, 271, 271, 271, 271, 271, 271, 273, + 273, 273, 273, 273, 273, 272, 282, 272, 283, 271, + 272, 272, 272, 272, 272, 272, 274, 274, 274, 274, + 274, 274, 284, 285, 286, 287, 288, 289, 249, 290, + 291, 292, 293, 294, 295, 282, 296, 283, 271, 297, + 298, 299, 300, 301, 302, 303, 304, 306, 307, 308, + + 324, 284, 285, 286, 287, 288, 289, 331, 290, 291, + 292, 293, 294, 295, 344, 296, 356, 410, 297, 298, + 299, 300, 301, 302, 303, 304, 306, 307, 308, 324, + 333, 380, 377, 401, 380, 401, 331, 437, 333, 331, + 377, 439, 438, 344, 443, 356, 410, 459, 467, 459, + 443, 468, 469, 443, 464, 464, 464, 464, 464, 464, + 356, 438, 465, 465, 465, 465, 465, 465, 470, 471, + 472, 474, 475, 476, 477, 478, 480, 467, 481, 482, + 468, 469, 903, 483, 484, 484, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 492, 492, 470, 471, 472, + + 474, 475, 476, 477, 478, 480, 493, 481, 482, 437, + 494, 439, 483, 508, 617, 592, 485, 486, 487, 488, + 489, 490, 491, 584, 621, 651, 492, 584, 645, 904, + 618, 619, 653, 905, 654, 493, 606, 657, 645, 494, + 658, 492, 508, 492, 592, 771, 508, 606, 606, 618, + 619, 649, 606, 659, 651, 492, 660, 661, 649, 662, + 771, 653, 649, 654, 663, 665, 657, 668, 670, 658, + 492, 671, 492, 672, 617, 666, 666, 666, 673, 674, + 675, 676, 659, 677, 678, 660, 661, 720, 662, 621, + 740, 762, 787, 663, 665, 731, 668, 670, 720, 738, + + 671, 731, 672, 619, 740, 738, 783, 673, 674, 675, + 676, 731, 677, 678, 788, 789, 814, 820, 821, 814, + 762, 822, 783, 823, 666, 797, 797, 797, 797, 797, + 797, 825, 827, 788, 824, 824, 824, 828, 829, 906, + 831, 832, 835, 837, 838, 907, 820, 821, 839, 787, + 822, 840, 823, 666, 859, 859, 908, 910, 911, 913, + 825, 827, 916, 917, 918, 919, 828, 829, 789, 831, + 832, 835, 837, 838, 788, 920, 921, 839, 922, 923, + 840, 924, 921, 925, 926, 927, 928, 929, 930, 931, + 932, 933, 934, 935, 936, 937, 938, 939, 940, 933, + + 941, 942, 943, 944, 859, 945, 946, 947, 948, 949, + 950, 951, 951, 951, 951, 951, 951, 952, 953, 954, + 942, 955, 956, 957, 958, 959, 960, 961, 962, 963, + 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, + 974, 975, 976, 978, 979, 979, 979, 992, 995, 982, + 983, 983, 983, 984, 985, 987, 988, 989, 942, 990, + 991, 996, 997, 998, 999, 1001, 941, 1007, 1008, 1009, + 1010, 976, 978, 1013, 943, 980, 980, 980, 982, 1014, + 1015, 1016, 984, 985, 987, 988, 989, 1018, 990, 991, + 1019, 1021, 1022, 1023, 1024, 1025, 1027, 1028, 1029, 1031, + + 1032, 1033, 1035, 1037, 1038, 1039, 1040, 1041, 1043, 1044, + 980, 1048, 1049, 1050, 980, 1051, 980, 1052, 1053, 980, + 980, 1054, 1055, 1056, 980, 1057, 1058, 1059, 1060, 1061, + 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 980, + 1071, 1072, 1073, 980, 1074, 980, 1075, 1076, 980, 980, + 1077, 1078, 1079, 980, 1080, 1081, 1082, 1083, 1083, 1083, + 1083, 1083, 1083, 1074, 1075, 1084, 1085, 1086, 1087, 1088, + 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1090, + 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, + 1108, 1109, 1110, 1110, 1110, 1111, 1112, 1113, 1114, 1115, + + 1117, 1116, 1118, 1118, 1118, 1119, 1120, 1126, 1116, 1121, + 1074, 1122, 1124, 1127, 1128, 1130, 1115, 1131, 1132, 1108, + 1109, 1134, 1135, 1136, 1111, 1112, 1113, 1114, 1115, 1117, + 1116, 1137, 1139, 1140, 1119, 1120, 1110, 1116, 1121, 1141, + 1122, 1124, 1142, 1143, 1144, 1115, 1146, 1118, 1148, 1149, + 1151, 1152, 1153, 1154, 1156, 1157, 1158, 1160, 1161, 1164, + 1165, 1167, 1168, 1169, 1170, 1110, 1171, 1172, 1173, 1174, + 1175, 1176, 1177, 1178, 1180, 1181, 1118, 1182, 1183, 1184, + 1185, 1186, 1187, 1188, 1188, 1189, 1190, 1191, 1181, 1192, + 1192, 1192, 1192, 1192, 1192, 1193, 1194, 1195, 1196, 1197, + + 1198, 1187, 1199, 1200, 1201, 1202, 1204, 1205, 1190, 1206, + 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, + 1217, 1218, 1219, 1220, 1221, 1222, 1222, 1222, 1223, 1224, + 1225, 1226, 1227, 1227, 1227, 1228, 1229, 1195, 1230, 1231, + 1232, 1233, 1234, 1234, 1234, 1235, 1237, 1238, 1239, 1240, + 1241, 1244, 1246, 1221, 1247, 1248, 1249, 1223, 1224, 1225, + 1226, 1250, 1251, 1252, 1228, 1229, 1253, 1230, 1231, 1232, + 1233, 1254, 1257, 1259, 1235, 1237, 1238, 1261, 1262, 1263, + 1264, 1266, 1267, 1269, 1270, 1271, 1272, 1273, 1274, 1275, + 1276, 1277, 1278, 1279, 1282, 1283, 1282, 1282, 1282, 1282, + + 1282, 1282, 1284, 1285, 1286, 1287, 1288, 1290, 1290, 1292, + 1293, 1294, 1297, 1299, 1300, 1301, 1302, 1291, 1290, 1291, + 1290, 1290, 1290, 1290, 1290, 1290, 1291, 1291, 1305, 1307, + 1291, 1295, 1295, 1295, 1295, 1295, 1295, 1308, 1293, 1309, + 1303, 1303, 1304, 1290, 1296, 1296, 1296, 1296, 1296, 1296, + 1310, 1311, 1312, 1304, 1313, 1290, 1303, 1303, 1304, 1314, + 1315, 1292, 1316, 1317, 1290, 1318, 1319, 1320, 1321, 1290, + 1322, 1323, 1290, 1327, 1328, 1290, 1324, 1324, 1324, 1329, + 1331, 1290, 1332, 1333, 1290, 1325, 1325, 1325, 1330, 1330, + 1330, 1334, 1335, 1336, 1337, 1337, 1337, 1339, 1341, 1340, + + 1342, 1343, 1327, 1328, 1344, 1345, 1346, 1347, 1329, 1331, + 1348, 1332, 1333, 1342, 1349, 1350, 1351, 1353, 1354, 1355, + 1334, 1335, 1336, 1356, 1358, 1359, 1339, 1337, 1340, 1360, + 1361, 1362, 1363, 1325, 1364, 1330, 1365, 1366, 1367, 1368, + 1369, 1370, 1371, 1337, 1372, 1376, 1377, 1378, 1379, 1380, + 1381, 1384, 1385, 1386, 1387, 1388, 1337, 1384, 1389, 1395, + 1400, 1401, 1325, 1402, 1330, 1392, 1403, 1391, 1394, 1404, + 1405, 1406, 1337, 1383, 1383, 1396, 1396, 1396, 1396, 1396, + 1396, 1407, 1408, 1409, 1383, 1411, 1383, 1383, 1383, 1383, + 1383, 1383, 1391, 1392, 1391, 1394, 1397, 1397, 1397, 1397, + + 1397, 1397, 1398, 1398, 1398, 1398, 1398, 1398, 1410, 1383, + 1389, 1412, 1415, 1413, 1414, 1416, 1417, 1419, 1420, 1418, + 1410, 1383, 1418, 1394, 1421, 1422, 1423, 1424, 1425, 1426, + 1383, 1427, 1428, 1429, 1431, 1383, 1432, 1434, 1383, 1435, + 1436, 1383, 1413, 1414, 1430, 1430, 1430, 1383, 1437, 1438, + 1383, 1440, 1441, 1442, 1446, 1447, 1443, 1444, 1445, 1448, + 1450, 1454, 1455, 1431, 1456, 1432, 1434, 1457, 1435, 1436, + 1458, 1459, 1460, 1462, 1464, 1465, 1469, 1437, 1438, 1471, + 1440, 1441, 1442, 1427, 1430, 1443, 1444, 1445, 1466, 1466, + 1466, 1466, 1466, 1466, 1467, 1468, 1468, 1472, 1473, 1474, + + 1475, 1479, 1467, 1470, 1470, 1470, 1470, 1470, 1470, 1480, + 1481, 1483, 1482, 1430, 1476, 1476, 1476, 1476, 1476, 1476, + 1482, 1484, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, + 1498, 1494, 1496, 1496, 1496, 1496, 1496, 1496, 1497, 1497, + 1497, 1497, 1497, 1497, 1499, 1500, 1501, 1502, 1503, 1504, + 1505, 1507, 1506, 1500, 1508, 1509, 1492, 1493, 1494, 1506, + 1510, 1511, 1512, 1515, 1516, 1518, 1517, 1507, 1514, 1514, + 1514, 1514, 1514, 1514, 1517, 1519, 1520, 1521, 1522, 1522, + 1523, 1520, 1524, 1525, 1526, 1522, 1494, 1527, 1532, 1533, + 1520, 1512, 1534, 1535, 1520, 1536, 1537, 1538, 1539, 1540, + + 1540, 1540, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1551, + 1554, 1555, 1557, 1558, 1561, 1565, 1567, 1532, 1533, 1568, + 1569, 1534, 1535, 1571, 1536, 1537, 1538, 1539, 1570, 1573, + 1574, 1542, 1543, 1544, 1545, 1575, 1570, 1576, 1578, 1527, + 1560, 1560, 1560, 1560, 1560, 1560, 1566, 1579, 1566, 1566, + 1566, 1566, 1566, 1566, 1572, 1572, 1572, 1572, 1572, 1572, + 1580, 1581, 1582, 1583, 1584, 1586, 1587, 1587, 1587, 1587, + 1587, 1587, 1588, 1589, 1590, 1592, 1593, 1594, 1595, 1596, + 1597, 1589, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1606, + 1606, 1606, 1606, 1606, 1606, 1607, 1608, 1609, 1611, 1612, + + 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, + 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, + 1633, 1634, 1635, 1635, 1635, 1636, 1637, 1638, 1639, 1640, + 1641, 1642, 1644, 1645, 1647, 1648, 1648, 1648, 1648, 1648, + 1648, 1654, 1655, 1627, 1628, 1629, 1630, 1631, 1632, 1633, + 1634, 1650, 1657, 1652, 1636, 1637, 1638, 1639, 1652, 1650, + 1651, 1651, 1651, 1651, 1651, 1651, 1653, 1659, 1660, 1661, + 1635, 1667, 1668, 1663, 1653, 1658, 1658, 1658, 1658, 1658, + 1658, 1663, 1664, 1664, 1664, 1664, 1664, 1664, 1669, 1670, + 1672, 1673, 1676, 1677, 1678, 1679, 1681, 1682, 1683, 1635, + + 1684, 1685, 1687, 1688, 1690, 1690, 1690, 1690, 1690, 1690, + 1691, 1692, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1700, + 1700, 1700, 1700, 1700, 1701, 1702, 1703, 1704, 1705, 1706, + 1707, 1708, 1709, 1710, 1711, 1713, 1705, 1712, 1712, 1712, + 1714, 1716, 1718, 1720, 1707, 1721, 1722, 1724, 1725, 1726, + 1728, 1729, 1731, 1732, 1733, 1733, 1733, 1733, 1733, 1733, + 1734, 1735, 1736, 1740, 1713, 1738, 1741, 1742, 1744, 1714, + 1716, 1718, 1720, 1738, 1721, 1722, 1724, 1746, 1746, 1746, + 1746, 1746, 1746, 1746, 1747, 1748, 1749, 1751, 1753, 1753, + 1753, 1753, 1753, 1753, 1755, 1757, 1759, 1760, 1761, 1762, + + 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1771, 1774, 1775, + 1777, 1779, 1767, 1780, 1781, 1782, 1772, 1771, 1772, 1772, + 1772, 1772, 1772, 1772, 1776, 1783, 1784, 1784, 1784, 1785, + 1787, 1788, 1776, 1789, 1790, 1793, 1795, 1796, 1799, 1800, + 1802, 1804, 1805, 1753, 1806, 1808, 1810, 1811, 1813, 1804, + 1814, 1814, 1814, 1814, 1814, 1814, 1815, 1816, 1785, 1787, + 1788, 1817, 1789, 1790, 1815, 1818, 1819, 1782, 1784, 1820, + 1821, 1822, 1823, 1824, 1826, 1828, 1829, 1783, 1830, 1831, + 1823, 1832, 1832, 1832, 1832, 1832, 1832, 1833, 1834, 1835, + 1838, 1839, 1840, 1841, 1844, 1847, 1848, 1784, 1849, 1851, + + 1852, 1853, 1855, 1857, 1858, 1860, 1862, 1863, 1864, 1865, + 1866, 1867, 1868, 1868, 1868, 1868, 1868, 1868, 1869, 1871, + 1872, 1874, 1876, 1877, 1847, 1848, 1878, 1849, 1851, 1852, + 1876, 1880, 1882, 1883, 1884, 1885, 1886, 1886, 1886, 1886, + 1886, 1886, 1888, 1890, 1891, 1841, 1844, 1892, 1893, 1894, + 1895, 1895, 1895, 1896, 1897, 1898, 1901, 1905, 1906, 1908, + 1864, 1904, 1904, 1904, 1904, 1904, 1904, 1910, 1911, 1915, + 1917, 1916, 1918, 1920, 1921, 1922, 1925, 1893, 1894, 1916, + 1926, 1927, 1896, 1897, 1908, 1928, 1908, 1929, 1930, 1931, + 1931, 1931, 1932, 1935, 1936, 1936, 1936, 1936, 1936, 1936, + + 1937, 1939, 1941, 1943, 1944, 1945, 1946, 1950, 1947, 1951, + 1906, 1952, 1944, 1953, 1949, 1954, 1929, 1930, 1955, 1956, + 1962, 1932, 1963, 1965, 1931, 1967, 1969, 1922, 1931, 1966, + 1931, 1970, 1968, 1971, 1931, 1973, 1979, 1978, 1931, 1949, + 1968, 1949, 1982, 1983, 1954, 1978, 1991, 1955, 1956, 894, + 892, 1987, 890, 1931, 889, 888, 887, 1931, 885, 1931, + 1947, 884, 1971, 1931, 1973, 1981, 1988, 1931, 1958, 1958, + 1958, 1958, 1958, 1958, 1959, 1959, 1959, 1959, 1959, 1959, + 1987, 1966, 1974, 1974, 1974, 1974, 1974, 1974, 1979, 1995, + 1981, 1996, 1981, 1998, 2000, 1988, 1989, 1989, 1989, 1989, + + 1989, 1989, 883, 882, 881, 880, 879, 878, 877, 876, + 874, 873, 871, 869, 868, 866, 863, 862, 1995, 860, + 1996, 858, 1998, 2000, 2003, 2003, 2003, 2003, 2003, 2003, + 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, + 2003, 2003, 2003, 2003, 2003, 2003, 2004, 2004, 853, 2004, + 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, + 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2006, 852, 850, 849, 2006, 2006, 2006, 2006, 2006, 2006, + + 2006, 2006, 2006, 2006, 2006, 2007, 848, 847, 845, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, - 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2008, 2008, 690, - 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, - 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2009, - 2009, 689, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2008, 844, 843, 819, 2008, 2008, 818, 817, 816, 815, + 2008, 2008, 2009, 2009, 813, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, - 2009, 2010, 2010, 2010, 2010, 2010, 688, 2010, 2010, 2010, - 2010, 2010, 2011, 687, 686, 685, 2011, 2011, 2011, 2011, - - 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2012, 2012, 2012, - 2012, 2012, 2012, 2012, 2012, 2012, 684, 2012, 2012, 2012, - 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2013, - 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 683, 2013, - 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, - 2013, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, - 2014, 2014, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, - 2015, 682, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, - 2015, 2015, 2015, 2015, 2016, 680, 679, 677, 2016, 2016, - 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 676, - - 673, 672, 641, 638, 637, 636, 635, 634, 633, 632, - 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, - 621, 620, 619, 618, 617, 616, 614, 610, 609, 608, - 607, 606, 605, 603, 602, 601, 599, 598, 597, 596, - 595, 594, 593, 592, 589, 588, 587, 585, 583, 582, - 581, 580, 577, 575, 574, 573, 572, 571, 570, 569, - 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, - 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, - 548, 546, 545, 544, 543, 542, 541, 540, 538, 537, - 535, 534, 533, 532, 531, 530, 529, 528, 527, 526, - - 525, 524, 522, 520, 519, 518, 517, 516, 515, 513, - 512, 511, 510, 509, 508, 506, 505, 504, 503, 498, - 496, 495, 494, 493, 492, 491, 490, 458, 457, 456, - 454, 453, 452, 451, 450, 449, 448, 447, 446, 444, - 443, 442, 441, 440, 438, 437, 436, 432, 431, 430, - 429, 428, 427, 426, 425, 424, 423, 422, 421, 420, - 419, 418, 417, 416, 414, 413, 412, 411, 410, 409, - 408, 407, 405, 404, 403, 402, 400, 399, 398, 396, - 395, 394, 392, 391, 390, 389, 388, 387, 386, 385, - 384, 383, 382, 381, 380, 379, 377, 375, 374, 372, - - 371, 370, 368, 366, 365, 364, 363, 362, 361, 360, - 359, 357, 356, 355, 354, 353, 351, 350, 349, 347, - 346, 345, 343, 342, 341, 339, 338, 337, 336, 335, - 333, 332, 331, 330, 328, 326, 324, 323, 321, 319, - 318, 317, 316, 315, 314, 313, 312, 311, 308, 307, - 306, 266, 265, 264, 263, 262, 261, 258, 257, 256, - 255, 254, 253, 252, 250, 249, 248, 247, 245, 244, - 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, - 233, 232, 231, 230, 227, 226, 223, 222, 218, 217, - 213, 212, 209, 205, 202, 200, 198, 196, 195, 194, - - 191, 189, 187, 186, 185, 184, 183, 182, 181, 179, - 178, 176, 175, 174, 172, 170, 168, 167, 166, 164, - 163, 161, 160, 159, 157, 156, 152, 151, 122, 121, - 118, 115, 101, 97, 93, 92, 88, 86, 85, 81, - 68, 62, 55, 26, 23, 20, 16, 12, 7, 3, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976, - 1976, 1976, 1976, 1976, 1976, 1976, 1976, 1976 + 2009, 2009, 2009, 2009, 2010, 2010, 812, 2010, 2010, 2010, + 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, + 2010, 2010, 2010, 2010, 2010, 2010, 2011, 811, 810, 809, + 2011, 2011, 2011, 2011, 2011, 808, 2011, 2011, 2011, 2011, + 2011, 2012, 807, 806, 805, 2012, 2012, 2012, 2012, 2012, + + 803, 2012, 2012, 2012, 2012, 2012, 2013, 802, 801, 2013, + 800, 799, 798, 2013, 2013, 2013, 2013, 2013, 796, 2013, + 2013, 2013, 2013, 2013, 2014, 795, 794, 793, 2014, 2014, + 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2015, + 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 792, 2015, + 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, + 2015, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, + 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, + 2016, 2016, 2016, 2017, 791, 790, 2017, 2017, 2017, 2017, + 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, + + 2017, 2017, 2017, 2017, 2017, 2018, 786, 785, 784, 2018, + 2018, 781, 780, 779, 778, 2018, 2018, 2019, 777, 776, + 2019, 775, 774, 773, 2019, 2019, 2019, 2019, 2019, 772, + 2019, 2019, 2019, 2019, 2019, 2020, 770, 769, 2020, 2020, + 768, 767, 765, 2020, 764, 2020, 763, 761, 760, 2020, + 759, 2020, 2021, 2021, 2021, 758, 757, 756, 2021, 2021, + 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2022, + 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, + 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, + 2022, 2023, 755, 753, 752, 2023, 2023, 750, 749, 2023, + + 748, 2023, 2023, 747, 745, 2023, 2024, 2024, 744, 2024, + 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2025, 2025, + 2025, 2025, 2025, 2026, 743, 742, 741, 2026, 2026, 739, + 737, 735, 734, 2026, 2026, 2027, 2027, 2027, 2027, 2027, + 733, 2027, 2027, 2027, 2027, 2027, 2028, 2028, 2028, 2028, + 2028, 732, 2028, 2028, 2028, 2028, 2028, 2029, 730, 729, + 727, 726, 2029, 725, 724, 723, 722, 719, 718, 2029, + 2029, 2029, 2029, 2029, 2030, 717, 716, 715, 2030, 2030, + 714, 713, 712, 711, 2030, 2030, 2031, 710, 2031, 2031, + + 709, 708, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, + 2031, 2031, 2031, 2032, 707, 2032, 2032, 706, 704, 2032, + 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, + 2033, 703, 701, 2033, 2033, 2033, 2033, 2033, 2033, 2033, + 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, + 2033, 2033, 2034, 700, 699, 2034, 2034, 2034, 2034, 2034, + 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, + 2034, 2034, 2034, 2034, 2035, 2035, 698, 2035, 2035, 2035, + 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, + 2035, 2035, 2035, 2035, 2035, 2035, 2036, 2036, 697, 2036, + + 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, + 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2037, 2037, + 2037, 2037, 2037, 696, 2037, 2037, 2037, 2037, 2037, 2038, + 695, 694, 693, 2038, 2038, 2038, 2038, 2038, 2038, 2038, + 2038, 2038, 2038, 2038, 2039, 2039, 2039, 2039, 2039, 2039, + 2039, 2039, 2039, 692, 2039, 2039, 2039, 2039, 2039, 2039, + 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040, 2040, 2040, + 2040, 2040, 2040, 2040, 2040, 691, 2040, 2040, 2040, 2040, + 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, + 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2042, + + 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 690, 2042, + 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, + 2042, 2043, 688, 687, 685, 2043, 2043, 2043, 2043, 2043, + 2043, 2043, 2043, 2043, 2043, 2043, 684, 681, 680, 648, + 646, 644, 643, 642, 641, 640, 639, 638, 637, 636, + 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, + 625, 624, 623, 622, 620, 616, 615, 614, 613, 612, + 611, 609, 608, 607, 605, 604, 603, 602, 601, 600, + 599, 598, 595, 594, 593, 591, 589, 588, 587, 586, + 583, 581, 580, 579, 578, 577, 576, 575, 574, 573, + + 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, + 562, 561, 560, 559, 558, 557, 556, 555, 554, 552, + 551, 550, 549, 548, 547, 546, 544, 543, 541, 540, + 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, + 528, 526, 525, 524, 523, 522, 521, 519, 518, 517, + 516, 515, 514, 512, 511, 510, 509, 504, 502, 501, + 500, 499, 498, 497, 496, 466, 463, 462, 461, 460, + 458, 457, 456, 455, 454, 453, 452, 451, 450, 448, + 447, 446, 445, 444, 442, 441, 440, 436, 435, 434, + 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, + + 423, 422, 421, 420, 418, 417, 416, 415, 414, 413, + 412, 411, 409, 408, 407, 406, 404, 403, 402, 400, + 399, 398, 396, 395, 394, 393, 392, 391, 390, 389, + 388, 387, 386, 385, 384, 383, 381, 379, 378, 376, + 375, 374, 372, 370, 369, 368, 367, 366, 365, 364, + 363, 361, 360, 359, 358, 357, 355, 354, 353, 351, + 350, 349, 347, 346, 345, 343, 342, 341, 340, 339, + 337, 336, 335, 334, 332, 330, 328, 327, 325, 323, + 322, 321, 320, 319, 318, 317, 316, 315, 312, 311, + 310, 275, 269, 268, 267, 265, 264, 261, 260, 259, + + 258, 257, 256, 255, 253, 252, 251, 250, 248, 247, + 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, + 236, 235, 234, 233, 230, 229, 226, 225, 221, 220, + 216, 215, 212, 208, 205, 203, 201, 199, 198, 197, + 194, 192, 190, 189, 188, 187, 186, 185, 184, 182, + 181, 179, 178, 177, 175, 173, 171, 170, 169, 167, + 166, 164, 163, 162, 160, 159, 155, 154, 125, 124, + 121, 118, 103, 99, 95, 94, 90, 88, 87, 83, + 70, 64, 57, 27, 24, 20, 16, 12, 7, 3, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002 } ; /* The intent behind this definition is that it'll catch @@ -1877,6 +1895,9 @@ static yyconst flex_int16_t yy_chk[3539] = * * History * + * bengsig 29-aug-2024 - string->integer can be hex + * obakhir 9-aug-2024 - Add hexadecimal integers + * obakhir 7-aug-2024 - Add bitwise operators * mkdash 12-aug-2024 - implement dbsec and ocisecond function * bengsig 29-jul-2024 - $connecterror:fail * bengsig 4-jun-2024 - $ora01013:break @@ -1976,7 +1997,7 @@ static yyconst flex_int16_t yy_chk[3539] = * bengsig 06-feb-2018 - added ociping * bengsig 10-feb-2017 - creation */ -#line 115 "rwllexer.l" +#line 118 "rwllexer.l" #include "rwl.h" #include "rwlparser.tab.h" @@ -1989,7 +2010,7 @@ static yyconst flex_int16_t yy_chk[3539] = rwm->rwlytext = (text *)yytext; \ } -#line 1993 "lex.rwly.c" +#line 2014 "lex.rwly.c" #define INITIAL 0 @@ -2262,7 +2283,7 @@ YY_DECL } { -#line 133 "rwllexer.l" +#line 136 "rwllexer.l" @@ -2274,7 +2295,7 @@ YY_DECL /* **************************************************************** */ /*LEXTAG:RWL_T_SQL_TEXT*/ -#line 2278 "lex.rwly.c" +#line 2299 "lex.rwly.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2301,13 +2322,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1977 ) + if ( yy_current_state >= 2003 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 3451 ); + while ( yy_base[yy_current_state] != 3491 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -2333,128 +2354,128 @@ YY_DECL case 1: /* rule 1 can match eol */ -#line 145 "rwllexer.l" +#line 148 "rwllexer.l" case 2: /* rule 2 can match eol */ -#line 146 "rwllexer.l" +#line 149 "rwllexer.l" case 3: /* rule 3 can match eol */ -#line 147 "rwllexer.l" +#line 150 "rwllexer.l" case 4: /* rule 4 can match eol */ -#line 148 "rwllexer.l" +#line 151 "rwllexer.l" case 5: /* rule 5 can match eol */ -#line 149 "rwllexer.l" +#line 152 "rwllexer.l" case 6: /* rule 6 can match eol */ -#line 150 "rwllexer.l" +#line 153 "rwllexer.l" case 7: /* rule 7 can match eol */ -#line 151 "rwllexer.l" +#line 154 "rwllexer.l" case 8: /* rule 8 can match eol */ -#line 152 "rwllexer.l" +#line 155 "rwllexer.l" case 9: /* rule 9 can match eol */ -#line 153 "rwllexer.l" +#line 156 "rwllexer.l" case 10: /* rule 10 can match eol */ -#line 154 "rwllexer.l" +#line 157 "rwllexer.l" case 11: /* rule 11 can match eol */ -#line 155 "rwllexer.l" +#line 158 "rwllexer.l" case 12: /* rule 12 can match eol */ -#line 156 "rwllexer.l" +#line 159 "rwllexer.l" case 13: /* rule 13 can match eol */ -#line 157 "rwllexer.l" +#line 160 "rwllexer.l" case 14: /* rule 14 can match eol */ -#line 158 "rwllexer.l" +#line 161 "rwllexer.l" case 15: /* rule 15 can match eol */ -#line 159 "rwllexer.l" +#line 162 "rwllexer.l" case 16: /* rule 16 can match eol */ -#line 160 "rwllexer.l" +#line 163 "rwllexer.l" case 17: /* rule 17 can match eol */ -#line 161 "rwllexer.l" +#line 164 "rwllexer.l" case 18: /* rule 18 can match eol */ -#line 162 "rwllexer.l" +#line 165 "rwllexer.l" case 19: /* rule 19 can match eol */ -#line 163 "rwllexer.l" +#line 166 "rwllexer.l" case 20: /* rule 20 can match eol */ -#line 164 "rwllexer.l" +#line 167 "rwllexer.l" case 21: /* rule 21 can match eol */ -#line 165 "rwllexer.l" +#line 168 "rwllexer.l" case 22: /* rule 22 can match eol */ -#line 166 "rwllexer.l" +#line 169 "rwllexer.l" case 23: /* rule 23 can match eol */ -#line 167 "rwllexer.l" +#line 170 "rwllexer.l" case 24: /* rule 24 can match eol */ -#line 168 "rwllexer.l" +#line 171 "rwllexer.l" case 25: /* rule 25 can match eol */ -#line 169 "rwllexer.l" +#line 172 "rwllexer.l" case 26: /* rule 26 can match eol */ -#line 170 "rwllexer.l" +#line 173 "rwllexer.l" case 27: /* rule 27 can match eol */ -#line 171 "rwllexer.l" +#line 174 "rwllexer.l" case 28: /* rule 28 can match eol */ -#line 172 "rwllexer.l" +#line 175 "rwllexer.l" case 29: /* rule 29 can match eol */ -#line 173 "rwllexer.l" +#line 176 "rwllexer.l" case 30: /* rule 30 can match eol */ -#line 174 "rwllexer.l" +#line 177 "rwllexer.l" case 31: /* rule 31 can match eol */ -#line 175 "rwllexer.l" +#line 178 "rwllexer.l" case 32: /* rule 32 can match eol */ -#line 176 "rwllexer.l" +#line 179 "rwllexer.l" case 33: /* rule 33 can match eol */ -#line 177 "rwllexer.l" +#line 180 "rwllexer.l" case 34: /* rule 34 can match eol */ -#line 178 "rwllexer.l" +#line 181 "rwllexer.l" case 35: /* rule 35 can match eol */ -#line 179 "rwllexer.l" +#line 182 "rwllexer.l" case 36: /* rule 36 can match eol */ -#line 180 "rwllexer.l" +#line 183 "rwllexer.l" case 37: /* rule 37 can match eol */ -#line 181 "rwllexer.l" +#line 184 "rwllexer.l" case 38: /* rule 38 can match eol */ -#line 182 "rwllexer.l" +#line 185 "rwllexer.l" case 39: /* rule 39 can match eol */ -#line 183 "rwllexer.l" +#line 186 "rwllexer.l" case 40: /* rule 40 can match eol */ -#line 184 "rwllexer.l" +#line 187 "rwllexer.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP -#line 184 "rwllexer.l" +#line 187 "rwllexer.l" { /* we match anything that can initiate SQL or PL/SQL. @@ -2473,7 +2494,7 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 200 "rwllexer.l" +#line 203 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -2483,7 +2504,7 @@ YY_RULE_SETUP case 43: /* rule 43 can match eol */ YY_RULE_SETUP -#line 206 "rwllexer.l" +#line 209 "rwllexer.l" { // Note that this flex input means that the input // consist of any number of either of the following // any character @@ -2500,12 +2521,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_T_DOUBLE_CONST*/ case 44: -#line 222 "rwllexer.l" +#line 225 "rwllexer.l" case 45: -#line 223 "rwllexer.l" +#line 226 "rwllexer.l" case 46: YY_RULE_SETUP -#line 223 "rwllexer.l" +#line 226 "rwllexer.l" { /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -2516,7 +2537,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_INTEGER_CONST*/ case 47: YY_RULE_SETUP -#line 232 "rwllexer.l" +#line 235 "rwllexer.l" { /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -2526,7 +2547,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 239 "rwllexer.l" +#line 242 "rwllexer.l" { /* make .. be a token even after an integer so that 1..10 is scanned as 1 .. 10 and not as 1. . 10 @@ -2538,46 +2559,67 @@ YY_RULE_SETUP if (!rwm->ifdirbit) return RWL_T_INTEGER_CONST; } YY_BREAK -/*LEXTAG:RWL_T_FUNCTION*/ case 49: YY_RULE_SETUP #line 253 "rwllexer.l" +{ + /* Handle hexadecimal integer constants */ + rwm->ival = rwlhex2ub8(rwm->rwlytext+2, sizeof(ub8)); + rwm->dval = rwlatof(rwm->rwlytext); + if (!rwm->ifdirbit) return RWL_T_INTEGER_CONST; + } + YY_BREAK +case 50: +YY_RULE_SETUP +#line 260 "rwllexer.l" +{ + /* Handle hexadecimal constants followed by .. */ + rwm->ival = rwlhex2ub8(rwm->rwlytext+2, sizeof(ub8)); + rwm->dval = rwlatof(rwm->rwlytext); + unput('.'); unput('.'); + if (!rwm->ifdirbit) return RWL_T_INTEGER_CONST; + } + YY_BREAK +/*LEXTAG:RWL_T_FUNCTION*/ +case 51: +YY_RULE_SETUP +#line 269 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FUNCTION; } YY_BREAK /*LEXTAG:RWL_T_RETURN*/ -case 50: +case 52: YY_RULE_SETUP -#line 255 "rwllexer.l" +#line 271 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_RETURN; } YY_BREAK /*LEXTAG:RWL_T_EXIT*/ -case 51: +case 53: YY_RULE_SETUP -#line 257 "rwllexer.l" +#line 273 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_EXIT; } YY_BREAK /*LEXTAG:RWL_T_READLOB*/ -case 52: +case 54: YY_RULE_SETUP -#line 259 "rwllexer.l" +#line 275 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_READLOB; } YY_BREAK /*LEXTAG:RWL_T_WRITELOB*/ -case 53: +case 55: YY_RULE_SETUP -#line 261 "rwllexer.l" +#line 277 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_WRITELOB; } YY_BREAK /*LEXTAG:RWL_T_CLOB*/ -case 54: +case 56: YY_RULE_SETUP -#line 263 "rwllexer.l" +#line 279 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_CLOB; } YY_BREAK /*LEXTAG:RWL_T_BLOB*/ -case 55: +case 57: YY_RULE_SETUP -#line 265 "rwllexer.l" +#line 281 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_BLOB; } @@ -2586,9 +2628,9 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_RAW*/ -case 56: +case 58: YY_RULE_SETUP -#line 272 "rwllexer.l" +#line 288 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_RAW; } @@ -2597,168 +2639,168 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_NCLOB*/ -case 57: +case 59: YY_RULE_SETUP -#line 279 "rwllexer.l" +#line 295 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_NCLOB; } YY_BREAK /*LEXTAG:RWL_T_PUBLIC*/ -case 58: +case 60: YY_RULE_SETUP -#line 284 "rwllexer.l" +#line 300 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_PUBLIC; } YY_BREAK /*LEXTAG:RWL_T_DATE*/ -case 59: +case 61: YY_RULE_SETUP -#line 289 "rwllexer.l" +#line 305 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DATE; } YY_BREAK /*LEXTAG:RWL_T_BREAK*/ -case 60: +case 62: YY_RULE_SETUP -#line 294 "rwllexer.l" +#line 310 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_BREAK; } YY_BREAK /*LEXTAG:RWL_T_UNSIGNED*/ -case 61: +case 63: YY_RULE_SETUP -#line 298 "rwllexer.l" +#line 314 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_UNSIGNED; } YY_BREAK /*LEXTAG:RWL_T_HEXADECIMAL*/ -case 62: +case 64: YY_RULE_SETUP -#line 303 "rwllexer.l" +#line 319 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_HEXADECIMAL; } YY_BREAK /*LEXTAG:RWL_T_OCTAL*/ -case 63: +case 65: YY_RULE_SETUP -#line 308 "rwllexer.l" +#line 324 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_OCTAL; } YY_BREAK /*LEXTAG:RWL_T_LOBPREFETCH*/ -case 64: +case 66: YY_RULE_SETUP -#line 313 "rwllexer.l" +#line 329 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_LOBPREFETCH; } YY_BREAK /*LEXTAG:RWL_T_PRINTF*/ -case 65: +case 67: YY_RULE_SETUP -#line 318 "rwllexer.l" +#line 334 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_PRINTF; } YY_BREAK /*LEXTAG:RWL_T_SPRINTF*/ -case 66: +case 68: YY_RULE_SETUP -#line 322 "rwllexer.l" +#line 338 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SPRINTF; } YY_BREAK /*LEXTAG:RWL_T_FPRINTF*/ -case 67: +case 69: YY_RULE_SETUP -#line 326 "rwllexer.l" +#line 342 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FPRINTF; } YY_BREAK /*LEXTAG:RWL_T_ENCODE*/ -case 68: +case 70: YY_RULE_SETUP -#line 330 "rwllexer.l" +#line 346 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_ENCODE; } YY_BREAK /*LEXTAG:RWL_T_DECODE*/ -case 69: +case 71: YY_RULE_SETUP -#line 335 "rwllexer.l" +#line 351 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DECODE; } YY_BREAK /*LEXTAG:RWL_T_LEAK*/ -case 70: +case 72: YY_RULE_SETUP -#line 340 "rwllexer.l" +#line 356 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_LEAK; } YY_BREAK /*LEXTAG:RWL_T_ABORT*/ -case 71: +case 73: YY_RULE_SETUP -#line 344 "rwllexer.l" +#line 360 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ABORT; YY_BREAK /*LEXTAG:RWL_T_MODIFY*/ -case 72: +case 74: YY_RULE_SETUP -#line 346 "rwllexer.l" +#line 362 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_MODIFY; YY_BREAK /*LEXTAG:RWL_T_SQL*/ -case 73: +case 75: YY_RULE_SETUP -#line 348 "rwllexer.l" +#line 364 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SQL; } YY_BREAK /*LEXTAG:RWL_T_IGNOREERROR*/ -case 74: +case 76: YY_RULE_SETUP -#line 352 "rwllexer.l" +#line 368 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IGNOREERROR; YY_BREAK /*LEXTAG:RWL_T_CURSORCACHE*/ -case 75: +case 77: YY_RULE_SETUP -#line 354 "rwllexer.l" +#line 370 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_NOCURSORCACHE*/ -case 76: +case 78: YY_RULE_SETUP -#line 356 "rwllexer.l" +#line 372 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOCURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_CONNECT*/ -case 77: +case 79: YY_RULE_SETUP -#line 358 "rwllexer.l" +#line 374 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2766,9 +2808,9 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_USERNAME*/ -case 78: +case 80: YY_RULE_SETUP -#line 364 "rwllexer.l" +#line 380 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2776,9 +2818,9 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_PASSWORD*/ -case 79: +case 81: YY_RULE_SETUP -#line 370 "rwllexer.l" +#line 386 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2786,9 +2828,9 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_DATABASE*/ -case 80: +case 82: YY_RULE_SETUP -#line 376 "rwllexer.l" +#line 392 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2796,96 +2838,96 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_REQUESTMARK*/ -case 81: +case 83: YY_RULE_SETUP -#line 382 "rwllexer.l" +#line 398 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REQUESTMARK; YY_BREAK /*LEXTAG:RWL_T_STATEMARK*/ -case 82: +case 84: YY_RULE_SETUP -#line 384 "rwllexer.l" +#line 400 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATEMARK; YY_BREAK /*LEXTAG:RWL_T_RELEASE*/ -case 83: +case 85: YY_RULE_SETUP -#line 386 "rwllexer.l" +#line 402 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RELEASE; YY_BREAK /*LEXTAG:RWL_T_SHARDKEY*/ -case 84: +case 86: YY_RULE_SETUP -#line 388 "rwllexer.l" +#line 404 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_SHARDKEY; } YY_BREAK /*LEXTAG:RWL_T_OCIPING*/ -case 85: +case 87: YY_RULE_SETUP -#line 393 "rwllexer.l" +#line 409 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCIPING; YY_BREAK /*LEXTAG:RWL_T_COMMIT*/ -case 86: +case 88: YY_RULE_SETUP -#line 395 "rwllexer.l" +#line 411 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COMMIT; YY_BREAK /*LEXTAG:RWL_T_ROLLBACK*/ -case 87: +case 89: YY_RULE_SETUP -#line 397 "rwllexer.l" +#line 413 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROLLBACK; YY_BREAK /*LEXTAG:RWL_T_DEFAULT*/ -case 88: +case 90: YY_RULE_SETUP -#line 399 "rwllexer.l" +#line 415 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFAULT; YY_BREAK /*LEXTAG:RWL_T_AT*/ -case 89: +case 91: YY_RULE_SETUP -#line 401 "rwllexer.l" +#line 417 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AT; YY_BREAK /*LEXTAG:RWL_T_RESULTS*/ -case 90: +case 92: YY_RULE_SETUP -#line 403 "rwllexer.l" +#line 419 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RESULTS; YY_BREAK /*LEXTAG:RWL_T_PROCEDURE*/ -case 91: +case 93: YY_RULE_SETUP -#line 405 "rwllexer.l" +#line 421 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PROCEDURE; YY_BREAK /*LEXTAG:RWL_T_THREADS*/ -case 92: +case 94: YY_RULE_SETUP -#line 407 "rwllexer.l" +#line 423 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THREADS; YY_BREAK /*LEXTAG:RWL_T_GLOBAL*/ -case 93: +case 95: YY_RULE_SETUP -#line 409 "rwllexer.l" +#line 425 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GLOBAL; YY_BREAK /*LEXTAG:RWL_T_PRIVATE*/ -case 94: +case 96: YY_RULE_SETUP -#line 411 "rwllexer.l" +#line 427 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRIVATE; YY_BREAK /*LEXTAG:RWL_T_RUN*/ -case 95: +case 97: YY_RULE_SETUP -#line 413 "rwllexer.l" +#line 429 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -2893,259 +2935,259 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_BIND*/ -case 96: +case 98: YY_RULE_SETUP -#line 419 "rwllexer.l" +#line 435 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BIND; YY_BREAK /*LEXTAG:RWL_T_BINDOUT*/ -case 97: +case 99: YY_RULE_SETUP -#line 421 "rwllexer.l" +#line 437 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BINDOUT; YY_BREAK /*LEXTAG:RWL_T_DEFINE*/ -case 98: +case 100: YY_RULE_SETUP -#line 423 "rwllexer.l" +#line 439 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFINE; YY_BREAK /*LEXTAG:RWL_T_START*/ -case 99: +case 101: YY_RULE_SETUP -#line 425 "rwllexer.l" +#line 441 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_START; YY_BREAK /*LEXTAG:RWL_T_COUNT*/ -case 100: +case 102: YY_RULE_SETUP -#line 427 "rwllexer.l" +#line 443 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COUNT; YY_BREAK /*LEXTAG:RWL_T_STOP*/ -case 101: +case 103: YY_RULE_SETUP -#line 429 "rwllexer.l" +#line 445 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STOP; YY_BREAK /*LEXTAG:RWL_T_END*/ -case 102: +case 104: YY_RULE_SETUP -#line 431 "rwllexer.l" +#line 447 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_END; YY_BREAK /*LEXTAG:RWL_T_SESSIONPOOL*/ -case 103: +case 105: YY_RULE_SETUP -#line 433 "rwllexer.l" +#line 449 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SESSIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONPOOL*/ -case 104: +case 106: YY_RULE_SETUP -#line 435 "rwllexer.l" +#line 451 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONCLASS*/ -case 105: +case 107: YY_RULE_SETUP -#line 437 "rwllexer.l" +#line 453 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONCLASS; YY_BREAK /*LEXTAG:RWL_T_DRCP*/ -case 106: +case 108: YY_RULE_SETUP -#line 439 "rwllexer.l" +#line 455 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DRCP; YY_BREAK /*LEXTAG:RWL_T_DEDICATED*/ -case 107: +case 109: YY_RULE_SETUP -#line 441 "rwllexer.l" +#line 457 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEDICATED; YY_BREAK /*LEXTAG:RWL_T_RECONNECT*/ -case 108: +case 110: YY_RULE_SETUP -#line 443 "rwllexer.l" +#line 459 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RECONNECT; YY_BREAK /*LEXTAG:RWL_T_UNIFORM*/ -case 109: +case 111: YY_RULE_SETUP -#line 445 "rwllexer.l" +#line 461 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_UNIFORM; YY_BREAK /*LEXTAG:RWL_T_NORMALRANDOM*/ -case 110: +case 112: YY_RULE_SETUP -#line 447 "rwllexer.l" +#line 463 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NORMALRANDOM; YY_BREAK /*LEXTAG:RWL_T_LOG*/ -case 111: +case 113: YY_RULE_SETUP -#line 449 "rwllexer.l" +#line 465 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LOG; YY_BREAK /*LEXTAG:RWL_T_EXP*/ -case 112: +case 114: YY_RULE_SETUP -#line 451 "rwllexer.l" +#line 467 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EXP; YY_BREAK /*LEXTAG:RWL_T_CEIL*/ -case 113: +case 115: YY_RULE_SETUP -#line 453 "rwllexer.l" +#line 469 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CEIL; YY_BREAK /*LEXTAG:RWL_T_TRUNC*/ -case 114: +case 116: YY_RULE_SETUP -#line 455 "rwllexer.l" +#line 471 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_TRUNC; YY_BREAK /*LEXTAG:RWL_T_FLOOR*/ -case 115: +case 117: YY_RULE_SETUP -#line 457 "rwllexer.l" +#line 473 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FLOOR; YY_BREAK /*LEXTAG:RWL_T_ROUND*/ -case 116: +case 118: YY_RULE_SETUP -#line 459 "rwllexer.l" +#line 475 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROUND; YY_BREAK /*LEXTAG:RWL_T_STATISTICS*/ -case 117: +case 119: YY_RULE_SETUP -#line 461 "rwllexer.l" +#line 477 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICS; YY_BREAK /*LEXTAG:RWL_T_STATISTICSONLY*/ -case 118: +case 120: YY_RULE_SETUP -#line 463 "rwllexer.l" +#line 479 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICSONLY; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ -case 119: +case 121: YY_RULE_SETUP -#line 465 "rwllexer.l" +#line 481 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOSTATISTICS; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ -case 120: +case 122: YY_RULE_SETUP -#line 467 "rwllexer.l" +#line 483 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SQRT; YY_BREAK -case 121: +case 123: YY_RULE_SETUP -#line 468 "rwllexer.l" +#line 484 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SIN; YY_BREAK -case 122: +case 124: YY_RULE_SETUP -#line 469 "rwllexer.l" +#line 485 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COS; YY_BREAK /*LEXTAG:RWL_T_INSTRB*/ -case 123: +case 125: YY_RULE_SETUP -#line 471 "rwllexer.l" +#line 487 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "instr", "instrb"); if (!rwm->ifdirbit) return RWL_T_INSTRB; } YY_BREAK -case 124: +case 126: YY_RULE_SETUP -#line 475 "rwllexer.l" +#line 491 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INSTRB; YY_BREAK /*LEXTAG:RWL_T_SUBSTRB*/ -case 125: +case 127: YY_RULE_SETUP -#line 477 "rwllexer.l" +#line 493 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "substr", "substrb"); if (!rwm->ifdirbit) return RWL_T_SUBSTRB; } YY_BREAK /*LEXTAG:RWL_T_SUBSTRB*/ -case 126: +case 128: YY_RULE_SETUP -#line 482 "rwllexer.l" +#line 498 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUBSTRB; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ -case 127: +case 129: YY_RULE_SETUP -#line 484 "rwllexer.l" +#line 500 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "length", "lengthb"); if (!rwm->ifdirbit) return RWL_T_LENGTHB; } YY_BREAK /*LEXTAG:RWL_T_GETENV*/ -case 128: +case 130: YY_RULE_SETUP -#line 489 "rwllexer.l" +#line 505 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETENV; YY_BREAK /*LEXTAG:RWL_T_SYSTEM*/ -case 129: +case 131: YY_RULE_SETUP -#line 491 "rwllexer.l" +#line 507 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SYSTEM; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ -case 130: +case 132: YY_RULE_SETUP -#line 493 "rwllexer.l" +#line 509 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LENGTHB; YY_BREAK /*LEXTAG:RWL_T_ERLANG*/ -case 131: -#line 496 "rwllexer.l" -case 132: +case 133: +#line 512 "rwllexer.l" +case 134: YY_RULE_SETUP -#line 496 "rwllexer.l" +#line 512 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ -case 133: +case 135: YY_RULE_SETUP -#line 498 "rwllexer.l" +#line 514 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG2; YY_BREAK /*LEXTAG:RWL_T_ERLANGK*/ -case 134: +case 136: YY_RULE_SETUP -#line 500 "rwllexer.l" +#line 516 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANGK; YY_BREAK /*LEXTAG:RWL_T_ACCESS*/ -case 135: +case 137: YY_RULE_SETUP -#line 502 "rwllexer.l" +#line 518 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ACCESS; YY_BREAK -case 136: +case 138: YY_RULE_SETUP -#line 503 "rwllexer.l" +#line 519 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); if (!rwm->ifdirbit) return RWL_T_ERLANG; } YY_BREAK -case 137: +case 139: YY_RULE_SETUP -#line 508 "rwllexer.l" +#line 524 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3153,141 +3195,141 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_RUNSECONDS*/ -case 138: +case 140: YY_RULE_SETUP -#line 514 "rwllexer.l" +#line 530 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RUNSECONDS; YY_BREAK /*LEXTAG:RWL_T_EPOCHSECONDS*/ -case 139: +case 141: YY_RULE_SETUP -#line 516 "rwllexer.l" +#line 532 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EPOCHSECONDS; YY_BREAK /*LEXTAG:RWL_T_DBSECONDS*/ -case 140: +case 142: YY_RULE_SETUP -#line 518 "rwllexer.l" +#line 534 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DBSECONDS; YY_BREAK /*LEXTAG:RWL_T_OCISECONDS*/ -case 141: +case 143: YY_RULE_SETUP -#line 520 "rwllexer.l" +#line 536 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCISECONDS; YY_BREAK /*LEXTAG:RWL_T_GETRUSAGE*/ -case 142: +case 144: YY_RULE_SETUP -#line 522 "rwllexer.l" +#line 538 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETRUSAGE; YY_BREAK /*LEXTAG:RWL_T_DOUBLE*/ -case 143: +case 145: YY_RULE_SETUP -#line 524 "rwllexer.l" +#line 540 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOUBLE; YY_BREAK /*LEXTAG:RWL_T_INTEGER*/ -case 144: +case 146: YY_RULE_SETUP -#line 526 "rwllexer.l" +#line 542 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INTEGER; YY_BREAK /*LEXTAG:RWL_T_STRING*/ -case 145: +case 147: YY_RULE_SETUP -#line 528 "rwllexer.l" +#line 544 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STRING; YY_BREAK /*LEXTAG:RWL_T_RANDOM*/ -case 146: +case 148: YY_RULE_SETUP -#line 530 "rwllexer.l" +#line 546 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RANDOM; YY_BREAK /*LEXTAG:RWL_T_ARRAY*/ -case 147: +case 149: YY_RULE_SETUP -#line 532 "rwllexer.l" +#line 548 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ARRAY; YY_BREAK /*LEXTAG:RWL_T_FILE*/ -case 148: +case 150: YY_RULE_SETUP -#line 534 "rwllexer.l" +#line 550 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FILE; YY_BREAK /*LEXTAG:RWL_T_WRITE*/ -case 149: +case 151: YY_RULE_SETUP -#line 536 "rwllexer.l" +#line 552 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITE; YY_BREAK /*LEXTAG:RWL_T_WRITELINE*/ -case 150: +case 152: YY_RULE_SETUP -#line 538 "rwllexer.l" +#line 554 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITELINE; YY_BREAK /*LEXTAG:RWL_T_READLINE*/ -case 151: +case 153: YY_RULE_SETUP -#line 540 "rwllexer.l" +#line 556 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_READLINE; YY_BREAK /*LEXTAG:RWL_T_REGEX*/ -case 152: +case 154: YY_RULE_SETUP -#line 542 "rwllexer.l" +#line 558 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEX; YY_BREAK /*LEXTAG:RWL_T_REGEXSUB*/ -case 153: +case 155: YY_RULE_SETUP -#line 544 "rwllexer.l" +#line 560 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUB; YY_BREAK /*LEXTAG:RWL_T_REGEXSUBG*/ -case 154: +case 156: YY_RULE_SETUP -#line 546 "rwllexer.l" +#line 562 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUBG; YY_BREAK /*LEXTAG:RWL_T_REGEXTRACT*/ -case 155: +case 157: YY_RULE_SETUP -#line 548 "rwllexer.l" +#line 564 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXTRACT; YY_BREAK /*LEXTAG:RWL_T_FFLUSH*/ -case 156: +case 158: YY_RULE_SETUP -#line 550 "rwllexer.l" +#line 566 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FFLUSH; YY_BREAK /*LEXTAG:RWL_T_PRINT*/ -case 157: +case 159: YY_RULE_SETUP -#line 552 "rwllexer.l" +#line 568 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINT; YY_BREAK /*LEXTAG:RWL_T_PRINTLINE*/ -case 158: +case 160: YY_RULE_SETUP -#line 554 "rwllexer.l" +#line 570 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTLINE; YY_BREAK /*LEXTAG:RWL_T_PRINTVAR*/ -case 159: +case 161: YY_RULE_SETUP -#line 556 "rwllexer.l" +#line 572 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTVAR; YY_BREAK /*LEXTAG:RWL_T_IF*/ -case 160: +case 162: YY_RULE_SETUP -#line 558 "rwllexer.l" +#line 574 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3295,63 +3337,63 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_WHEN*/ -case 161: +case 163: YY_RULE_SETUP -#line 564 "rwllexer.l" +#line 580 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHEN; YY_BREAK /*LEXTAG:RWL_T_THEN*/ -case 162: +case 164: YY_RULE_SETUP -#line 566 "rwllexer.l" +#line 582 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THEN; YY_BREAK /*LEXTAG:RWL_T_ELSE*/ -case 163: +case 165: YY_RULE_SETUP -#line 568 "rwllexer.l" +#line 584 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSE; YY_BREAK /*LEXTAG:RWL_T_ELSEIF*/ -case 164: +case 166: YY_RULE_SETUP -#line 570 "rwllexer.l" +#line 586 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSEIF; YY_BREAK /*LEXTAG:RWL_T_WHILE*/ -case 165: +case 167: YY_RULE_SETUP -#line 572 "rwllexer.l" +#line 588 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHILE; YY_BREAK /*LEXTAG:RWL_T_WAIT*/ -case 166: +case 168: YY_RULE_SETUP -#line 574 "rwllexer.l" +#line 590 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WAIT; YY_BREAK /*LEXTAG:RWL_T_QUEUE*/ -case 167: +case 169: YY_RULE_SETUP -#line 576 "rwllexer.l" +#line 592 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_QUEUE; YY_BREAK /*LEXTAG:RWL_T_NOQUEUE*/ -case 168: +case 170: YY_RULE_SETUP -#line 578 "rwllexer.l" +#line 594 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOQUEUE; YY_BREAK /*LEXTAG:RWL_T_EVERY*/ -case 169: +case 171: YY_RULE_SETUP -#line 580 "rwllexer.l" +#line 596 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EVERY; YY_BREAK /*LEXTAG:RWL_T_LOOP*/ -case 170: +case 172: YY_RULE_SETUP -#line 582 "rwllexer.l" +#line 598 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3359,27 +3401,27 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_FOR*/ -case 171: +case 173: YY_RULE_SETUP -#line 588 "rwllexer.l" +#line 604 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FOR; YY_BREAK /*LEXTAG:RWL_T_ALL*/ -case 172: +case 174: YY_RULE_SETUP -#line 590 "rwllexer.l" +#line 606 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ALL; YY_BREAK /*LEXTAG:RWL_T_SHIFT*/ -case 173: +case 175: YY_RULE_SETUP -#line 592 "rwllexer.l" +#line 608 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SHIFT; YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ -case 174: +case 176: YY_RULE_SETUP -#line 594 "rwllexer.l" +#line 610 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3387,27 +3429,27 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ -case 175: +case 177: YY_RULE_SETUP -#line 600 "rwllexer.l" +#line 616 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOTDOT; /* see RWL_T_INTEGER_CONST above */ YY_BREAK /*LEXTAG:RWL_T_NULL*/ -case 176: +case 178: YY_RULE_SETUP -#line 602 "rwllexer.l" +#line 618 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NULL; YY_BREAK /*LEXTAG:RWL_T_SUM*/ -case 177: +case 179: YY_RULE_SETUP -#line 604 "rwllexer.l" +#line 620 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUM; YY_BREAK /*LEXTAG:RWL_T_ISNULL*/ -case 178: +case 180: YY_RULE_SETUP -#line 606 "rwllexer.l" +#line 622 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_ISNULL_DEPRECATED); @@ -3415,206 +3457,238 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_IS*/ -case 179: +case 181: YY_RULE_SETUP -#line 612 "rwllexer.l" +#line 628 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IS; YY_BREAK -case 180: +case 182: YY_RULE_SETUP -#line 613 "rwllexer.l" +#line 629 "rwllexer.l" if (!rwm->ifdirbit) return '+'; YY_BREAK -case 181: +case 183: YY_RULE_SETUP -#line 614 "rwllexer.l" +#line 630 "rwllexer.l" if (!rwm->ifdirbit) return '-'; YY_BREAK -case 182: +case 184: YY_RULE_SETUP -#line 615 "rwllexer.l" +#line 631 "rwllexer.l" if (!rwm->ifdirbit) return '*'; YY_BREAK -case 183: +case 185: YY_RULE_SETUP -#line 616 "rwllexer.l" +#line 632 "rwllexer.l" if (!rwm->ifdirbit) return '/'; YY_BREAK -case 184: +case 186: YY_RULE_SETUP -#line 617 "rwllexer.l" +#line 633 "rwllexer.l" if (!rwm->ifdirbit) return '%'; YY_BREAK -case 185: +case 187: YY_RULE_SETUP -#line 618 "rwllexer.l" +#line 634 "rwllexer.l" if (!rwm->ifdirbit) return '('; YY_BREAK -case 186: +case 188: YY_RULE_SETUP -#line 619 "rwllexer.l" +#line 635 "rwllexer.l" if (!rwm->ifdirbit) return ')'; YY_BREAK -case 187: +case 189: YY_RULE_SETUP -#line 620 "rwllexer.l" +#line 636 "rwllexer.l" if (!rwm->ifdirbit) return ','; YY_BREAK -case 188: +case 190: YY_RULE_SETUP -#line 621 "rwllexer.l" +#line 637 "rwllexer.l" if (!rwm->ifdirbit) return '='; YY_BREAK -case 189: +case 191: YY_RULE_SETUP -#line 622 "rwllexer.l" +#line 638 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_EQUALEQUAL, rwm->rwlytext); if (!rwm->ifdirbit) return '='; } YY_BREAK -case 190: +case 192: YY_RULE_SETUP -#line 626 "rwllexer.l" +#line 642 "rwllexer.l" if (!rwm->ifdirbit) return '<'; YY_BREAK -case 191: +case 193: YY_RULE_SETUP -#line 627 "rwllexer.l" +#line 643 "rwllexer.l" if (!rwm->ifdirbit) return '>'; YY_BREAK -case 192: +case 194: YY_RULE_SETUP -#line 628 "rwllexer.l" +#line 644 "rwllexer.l" if (!rwm->ifdirbit) return '!'; YY_BREAK -case 193: +case 195: YY_RULE_SETUP -#line 629 "rwllexer.l" +#line 645 "rwllexer.l" if (!rwm->ifdirbit) return '?'; YY_BREAK -case 194: +case 196: YY_RULE_SETUP -#line 630 "rwllexer.l" +#line 646 "rwllexer.l" if (!rwm->ifdirbit) return ':'; YY_BREAK /*LEXTAG:RWL_T_NOT*/ -case 195: +case 197: YY_RULE_SETUP -#line 632 "rwllexer.l" +#line 648 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOT; YY_BREAK /*LEXTAG:RWL_T_AND*/ -case 196: +case 198: YY_RULE_SETUP -#line 634 "rwllexer.l" +#line 650 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AND; YY_BREAK /*LEXTAG:RWL_T_BETWEEN*/ -case 197: +case 199: YY_RULE_SETUP -#line 636 "rwllexer.l" +#line 652 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BETWEEN; YY_BREAK /*LEXTAG:RWL_T_OR*/ -case 198: +case 200: YY_RULE_SETUP -#line 638 "rwllexer.l" +#line 654 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OR; YY_BREAK /*LEXTAG:RWL_T_LESSEQ*/ -case 199: +case 201: YY_RULE_SETUP -#line 640 "rwllexer.l" +#line 656 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LESSEQ; YY_BREAK /*LEXTAG:RWL_T_GREATEQ*/ -case 200: +case 202: YY_RULE_SETUP -#line 642 "rwllexer.l" +#line 658 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GREATEQ; YY_BREAK /*LEXTAG:RWL_T_RSHIFTASSIGN*/ -case 201: +case 203: YY_RULE_SETUP -#line 644 "rwllexer.l" +#line 660 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RSHIFTASSIGN; YY_BREAK /*LEXTAG:RWL_T_NOTEQ*/ -case 202: +case 204: YY_RULE_SETUP -#line 646 "rwllexer.l" +#line 662 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK -case 203: +case 205: YY_RULE_SETUP -#line 647 "rwllexer.l" +#line 663 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK /*LEXTAG:RWL_T_ASSIGN*/ -case 204: +case 206: YY_RULE_SETUP -#line 649 "rwllexer.l" +#line 665 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASSIGN; YY_BREAK /*LEXTAG:RWL_T_ASNADD*/ -case 205: +case 207: YY_RULE_SETUP -#line 651 "rwllexer.l" +#line 667 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNADD; YY_BREAK /*LEXTAG:RWL_T_ASNSUB*/ -case 206: +case 208: YY_RULE_SETUP -#line 653 "rwllexer.l" +#line 669 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNSUB; YY_BREAK /*LEXTAG:RWL_T_CONCAT*/ -case 207: +case 209: YY_RULE_SETUP -#line 655 "rwllexer.l" +#line 671 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONCAT; YY_BREAK /*LEXTAG:RWL_T_PIPETO*/ -case 208: +case 210: YY_RULE_SETUP -#line 657 "rwllexer.l" +#line 673 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPETO; YY_BREAK /*LEXTAG:RWL_T_PIPEFROM*/ -case 209: +case 211: YY_RULE_SETUP -#line 659 "rwllexer.l" +#line 675 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPEFROM; YY_BREAK /*LEXTAG:RWL_T_APPEND*/ -case 210: +case 212: YY_RULE_SETUP -#line 661 "rwllexer.l" +#line 677 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_APPEND; YY_BREAK +case 213: +YY_RULE_SETUP +#line 678 "rwllexer.l" +if (!rwm->ifdirbit) return '~'; + YY_BREAK +/*LEXTAG:RWL_T_BITWISE_LEFT_SHIFT*/ +case 214: +YY_RULE_SETUP +#line 680 "rwllexer.l" +if (!rwm->ifdirbit) return RWL_T_BITWISE_LEFT_SHIFT; + YY_BREAK +/*LEXTAG:RWL_T_BITWISE_RIGHT_SHIFT*/ +case 215: +YY_RULE_SETUP +#line 682 "rwllexer.l" +if (!rwm->ifdirbit) return RWL_T_BITWISE_RIGHT_SHIFT; + YY_BREAK +case 216: +YY_RULE_SETUP +#line 683 "rwllexer.l" +if (!rwm->ifdirbit) return '&'; + YY_BREAK +case 217: +YY_RULE_SETUP +#line 684 "rwllexer.l" +if (!rwm->ifdirbit) return '^'; + YY_BREAK +case 218: +YY_RULE_SETUP +#line 685 "rwllexer.l" +if (!rwm->ifdirbit) return '|'; + YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2B*/ -case 211: +case 219: YY_RULE_SETUP -#line 663 "rwllexer.l" +#line 687 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2B; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2BB*/ -case 212: +case 220: YY_RULE_SETUP -#line 665 "rwllexer.l" +#line 689 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2BB; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ -case 213: +case 221: YY_RULE_SETUP -#line 667 "rwllexer.l" +#line 691 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SERVERRELEASE; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ -case 214: +case 222: YY_RULE_SETUP -#line 669 "rwllexer.l" +#line 693 "rwllexer.l" { # ifndef RWL_USE_SQL_ID rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3623,25 +3697,25 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_OPENSESSIONCOUNT*/ -case 215: +case 223: YY_RULE_SETUP -#line 676 "rwllexer.l" +#line 700 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_OPENSESSIONCOUNT; } YY_BREAK /*LEXTAG:RWL_T_ACTIVESESSIONCOUNT*/ -case 216: +case 224: YY_RULE_SETUP -#line 680 "rwllexer.l" +#line 704 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_ACTIVESESSIONCOUNT; } YY_BREAK /*LEXTAG:RWL_T_QUERYNOTIFICATION*/ -case 217: +case 225: YY_RULE_SETUP -#line 684 "rwllexer.l" +#line 708 "rwllexer.l" { #ifndef RWL_USE_CQN rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3650,60 +3724,54 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_ATAN2*/ -case 218: +case 226: YY_RULE_SETUP -#line 691 "rwllexer.l" +#line 715 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ATAN2; YY_BREAK -case 219: -#line 694 "rwllexer.l" -case 220: -#line 695 "rwllexer.l" -case 221: -#line 696 "rwllexer.l" -case 222: +case 227: YY_RULE_SETUP -#line 696 "rwllexer.l" +#line 717 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); // return something so compilation continues if (!rwm->ifdirbit) return '+'; } YY_BREAK -case 223: -#line 703 "rwllexer.l" -case 224: +case 228: +#line 724 "rwllexer.l" +case 229: YY_RULE_SETUP -#line 703 "rwllexer.l" +#line 724 "rwllexer.l" { // note that "--" is the beginning of RWL_T_SQL_TEXT rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); } YY_BREAK -case 225: -#line 708 "rwllexer.l" -case 226: -#line 709 "rwllexer.l" -case 227: +case 230: +#line 729 "rwllexer.l" +case 231: +#line 730 "rwllexer.l" +case 232: YY_RULE_SETUP -#line 709 "rwllexer.l" +#line 730 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); // return something so compilation continues if (!rwm->ifdirbit) return RWL_T_ASNADD; } YY_BREAK -case 228: -#line 716 "rwllexer.l" -case 229: -#line 717 "rwllexer.l" -case 230: -#line 718 "rwllexer.l" -case 231: -#line 719 "rwllexer.l" -case 232: +case 233: +#line 737 "rwllexer.l" +case 234: +#line 738 "rwllexer.l" +case 235: +#line 739 "rwllexer.l" +case 236: +#line 740 "rwllexer.l" +case 237: YY_RULE_SETUP -#line 719 "rwllexer.l" +#line 740 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3716,9 +3784,9 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_IDENTIFIER*/ -case 233: +case 238: YY_RULE_SETUP -#line 731 "rwllexer.l" +#line 752 "rwllexer.l" { /* previnam is used when the parser has been doing @@ -3736,9 +3804,9 @@ YY_RULE_SETUP } } YY_BREAK -case 234: +case 239: YY_RULE_SETUP -#line 748 "rwllexer.l" +#line 769 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3756,9 +3824,9 @@ YY_RULE_SETUP } } YY_BREAK -case 235: +case 240: YY_RULE_SETUP -#line 765 "rwllexer.l" +#line 786 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3769,9 +3837,9 @@ YY_RULE_SETUP } } YY_BREAK -case 236: +case 241: YY_RULE_SETUP -#line 775 "rwllexer.l" +#line 796 "rwllexer.l" { text *env = rwlgetenv((text *)rwm->rwlytext+1); if (!env) @@ -3793,20 +3861,20 @@ YY_RULE_SETUP if (!rwm->ifdirbit) return RWL_T_STRING_CONST; } YY_BREAK -case 237: +case 242: YY_RULE_SETUP -#line 797 "rwllexer.l" +#line 818 "rwllexer.l" if (!rwm->ifdirbit) return ';'; YY_BREAK -case 238: -#line 800 "rwllexer.l" -case 239: -#line 801 "rwllexer.l" -case 240: -#line 802 "rwllexer.l" -case 241: +case 243: +#line 821 "rwllexer.l" +case 244: +#line 822 "rwllexer.l" +case 245: +#line 823 "rwllexer.l" +case 246: YY_RULE_SETUP -#line 802 "rwllexer.l" +#line 823 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3819,17 +3887,17 @@ YY_RULE_SETUP } YY_BREAK -case 242: +case 247: YY_RULE_SETUP -#line 814 "rwllexer.l" +#line 835 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); } YY_BREAK -case 243: +case 248: YY_RULE_SETUP -#line 819 "rwllexer.l" +#line 840 "rwllexer.l" { // This is the documented syntax. Note that there is // no simple way to allow having $if and $then on separate // lines @@ -3847,16 +3915,16 @@ YY_RULE_SETUP } YY_BREAK -case 244: +case 249: YY_RULE_SETUP -#line 836 "rwllexer.l" +#line 857 "rwllexer.l" { // this only happens if $if and $then aren't on the same line rwlzparsestring(rwm, (text *) "0;"); // behave like $if 0 $then would } YY_BREAK -case 245: +case 250: YY_RULE_SETUP -#line 840 "rwllexer.l" +#line 861 "rwllexer.l" { // This was the original syntax for $if which was // $if: ; // i.e. with the expression between : and ;. @@ -3875,9 +3943,9 @@ YY_RULE_SETUP } YY_BREAK -case 246: +case 251: YY_RULE_SETUP -#line 858 "rwllexer.l" +#line 879 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "else"); @@ -3896,9 +3964,9 @@ YY_RULE_SETUP } YY_BREAK -case 247: +case 252: YY_RULE_SETUP -#line 876 "rwllexer.l" +#line 897 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "endif"); @@ -3914,9 +3982,9 @@ YY_RULE_SETUP } YY_BREAK -case 248: +case 253: YY_RULE_SETUP -#line 891 "rwllexer.l" +#line 912 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS); // all set in tflags as tfalgs HAS been copied from mflags @@ -3924,167 +3992,181 @@ if (!rwm->ifdirbit) { bis(rwm->mxq->tflags, RWL_P_STATISTICS); } YY_BREAK -case 249: +case 254: YY_RULE_SETUP -#line 898 "rwllexer.l" +#line 919 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); rwm->histbucks = RWL_MAX_HIST_BUCK; } YY_BREAK -case 250: +case 255: YY_RULE_SETUP -#line 904 "rwllexer.l" +#line 925 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); rwm->histbucks = RWL_MAX_HIST_BUCK; } YY_BREAK -case 251: +case 256: YY_RULE_SETUP -#line 910 "rwllexer.l" +#line 931 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTION); } YY_BREAK -case 252: +case 257: YY_RULE_SETUP -#line 914 "rwllexer.l" +#line 935 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK -case 253: +case 258: YY_RULE_SETUP -#line 917 "rwllexer.l" +#line 938 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK -case 254: +case 259: YY_RULE_SETUP -#line 921 "rwllexer.l" +#line 942 "rwllexer.l" +{ + if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_HEXINSTR); + } + YY_BREAK +case 260: +YY_RULE_SETUP +#line 946 "rwllexer.l" +{ + if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_HEXINSTR); + } + YY_BREAK +case 261: +YY_RULE_SETUP +#line 950 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK -case 255: +case 262: YY_RULE_SETUP -#line 925 "rwllexer.l" +#line 954 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK -case 256: +case 263: YY_RULE_SETUP -#line 929 "rwllexer.l" +#line 958 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK -case 257: +case 264: YY_RULE_SETUP -#line 933 "rwllexer.l" +#line 962 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK -case 258: +case 265: YY_RULE_SETUP -#line 937 "rwllexer.l" +#line 966 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK -case 259: +case 266: YY_RULE_SETUP -#line 940 "rwllexer.l" +#line 969 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK -case 260: +case 267: YY_RULE_SETUP -#line 944 "rwllexer.l" +#line 973 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK -case 261: +case 268: YY_RULE_SETUP -#line 947 "rwllexer.l" +#line 976 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK -case 262: +case 269: YY_RULE_SETUP -#line 951 "rwllexer.l" +#line 980 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK -case 263: +case 270: YY_RULE_SETUP -#line 954 "rwllexer.l" +#line 983 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK -case 264: +case 271: YY_RULE_SETUP -#line 958 "rwllexer.l" +#line 987 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK -case 265: +case 272: YY_RULE_SETUP -#line 961 "rwllexer.l" +#line 990 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK -case 266: +case 273: YY_RULE_SETUP -#line 965 "rwllexer.l" +#line 994 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK -case 267: +case 274: YY_RULE_SETUP -#line 968 "rwllexer.l" +#line 997 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK -case 268: +case 275: YY_RULE_SETUP -#line 972 "rwllexer.l" +#line 1001 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_STOP; } YY_BREAK -case 269: +case 276: YY_RULE_SETUP -#line 976 "rwllexer.l" +#line 1005 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_BREAK; } YY_BREAK -case 270: +case 277: YY_RULE_SETUP -#line 979 "rwllexer.l" +#line 1008 "rwllexer.l" { if (!rwm->ifdirbit) rwlbreaknow = 0; } YY_BREAK -case 271: +case 278: YY_RULE_SETUP -#line 983 "rwllexer.l" +#line 1012 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4092,55 +4174,55 @@ YY_RULE_SETUP } } YY_BREAK -case 272: +case 279: YY_RULE_SETUP -#line 990 "rwllexer.l" +#line 1019 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK -case 273: +case 280: YY_RULE_SETUP -#line 993 "rwllexer.l" +#line 1022 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK -case 274: +case 281: YY_RULE_SETUP -#line 997 "rwllexer.l" +#line 1026 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK -case 275: +case 282: YY_RULE_SETUP -#line 1001 "rwllexer.l" +#line 1030 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK -case 276: +case 283: YY_RULE_SETUP -#line 1005 "rwllexer.l" +#line 1034 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK -case 277: +case 284: YY_RULE_SETUP -#line 1009 "rwllexer.l" +#line 1038 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK -case 278: -/* rule 278 can match eol */ -#line 1014 "rwllexer.l" -case 279: -/* rule 279 can match eol */ +case 285: +/* rule 285 can match eol */ +#line 1043 "rwllexer.l" +case 286: +/* rule 286 can match eol */ YY_RULE_SETUP -#line 1014 "rwllexer.l" +#line 1043 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) // not while generating { @@ -4306,9 +4388,9 @@ YY_RULE_SETUP } } YY_BREAK -case 280: +case 287: YY_RULE_SETUP -#line 1179 "rwllexer.l" +#line 1208 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4319,9 +4401,9 @@ YY_RULE_SETUP } } YY_BREAK -case 281: +case 288: YY_RULE_SETUP -#line 1189 "rwllexer.l" +#line 1218 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -4333,9 +4415,9 @@ YY_RULE_SETUP } } YY_BREAK -case 282: +case 289: YY_RULE_SETUP -#line 1200 "rwllexer.l" +#line 1229 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4346,9 +4428,9 @@ YY_RULE_SETUP } } YY_BREAK -case 283: +case 290: YY_RULE_SETUP -#line 1210 "rwllexer.l" +#line 1239 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4359,9 +4441,9 @@ YY_RULE_SETUP } } YY_BREAK -case 284: +case 291: YY_RULE_SETUP -#line 1220 "rwllexer.l" +#line 1249 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4370,17 +4452,17 @@ YY_RULE_SETUP } } YY_BREAK -case 285: +case 292: YY_RULE_SETUP -#line 1228 "rwllexer.l" +#line 1257 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_OERSTATS); } YY_BREAK -case 286: +case 293: YY_RULE_SETUP -#line 1233 "rwllexer.l" +#line 1262 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4394,9 +4476,9 @@ YY_RULE_SETUP } } YY_BREAK -case 287: +case 294: YY_RULE_SETUP -#line 1246 "rwllexer.l" +#line 1275 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4410,9 +4492,9 @@ YY_RULE_SETUP } } YY_BREAK -case 288: +case 295: YY_RULE_SETUP -#line 1259 "rwllexer.l" +#line 1288 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4428,9 +4510,9 @@ YY_RULE_SETUP } } YY_BREAK -case 289: +case 296: YY_RULE_SETUP -#line 1274 "rwllexer.l" +#line 1303 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4439,9 +4521,9 @@ YY_RULE_SETUP } } YY_BREAK -case 290: +case 297: YY_RULE_SETUP -#line 1282 "rwllexer.l" +#line 1311 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4450,9 +4532,9 @@ YY_RULE_SETUP } } YY_BREAK -case 291: +case 298: YY_RULE_SETUP -#line 1290 "rwllexer.l" +#line 1319 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4461,9 +4543,9 @@ YY_RULE_SETUP } } YY_BREAK -case 292: +case 299: YY_RULE_SETUP -#line 1298 "rwllexer.l" +#line 1327 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4471,9 +4553,9 @@ YY_RULE_SETUP } } YY_BREAK -case 293: +case 300: YY_RULE_SETUP -#line 1304 "rwllexer.l" +#line 1333 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4481,9 +4563,9 @@ YY_RULE_SETUP } } YY_BREAK -case 294: +case 301: YY_RULE_SETUP -#line 1310 "rwllexer.l" +#line 1339 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4492,9 +4574,9 @@ YY_RULE_SETUP } } YY_BREAK -case 295: +case 302: YY_RULE_SETUP -#line 1317 "rwllexer.l" +#line 1346 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4503,9 +4585,9 @@ YY_RULE_SETUP } } YY_BREAK -case 296: +case 303: YY_RULE_SETUP -#line 1324 "rwllexer.l" +#line 1353 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4513,9 +4595,9 @@ YY_RULE_SETUP } } YY_BREAK -case 297: +case 304: YY_RULE_SETUP -#line 1330 "rwllexer.l" +#line 1359 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4523,9 +4605,9 @@ YY_RULE_SETUP } } YY_BREAK -case 298: +case 305: YY_RULE_SETUP -#line 1337 "rwllexer.l" +#line 1366 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4533,41 +4615,41 @@ YY_RULE_SETUP } } YY_BREAK -case 299: +case 306: YY_RULE_SETUP -#line 1344 "rwllexer.l" +#line 1373 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_RECON1017); } YY_BREAK -case 300: +case 307: YY_RULE_SETUP -#line 1349 "rwllexer.l" +#line 1378 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_ON; } YY_BREAK -case 301: +case 308: YY_RULE_SETUP -#line 1354 "rwllexer.l" +#line 1383 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_OFF; } YY_BREAK -case 302: +case 309: YY_RULE_SETUP -#line 1359 "rwllexer.l" +#line 1388 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_WARN; } YY_BREAK -case 303: +case 310: YY_RULE_SETUP -#line 1364 "rwllexer.l" +#line 1393 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4582,9 +4664,9 @@ YY_RULE_SETUP } } YY_BREAK -case 304: +case 311: YY_RULE_SETUP -#line 1378 "rwllexer.l" +#line 1407 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4595,41 +4677,41 @@ YY_RULE_SETUP } } YY_BREAK -case 305: +case 312: YY_RULE_SETUP -#line 1388 "rwllexer.l" +#line 1417 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLREADLINE); } YY_BREAK -case 306: +case 313: YY_RULE_SETUP -#line 1393 "rwllexer.l" +#line 1422 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLREADLINE); } YY_BREAK -case 307: +case 314: YY_RULE_SETUP -#line 1398 "rwllexer.l" +#line 1427 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLWRITELINE); } YY_BREAK -case 308: +case 315: YY_RULE_SETUP -#line 1403 "rwllexer.l" +#line 1432 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLWRITELINE); } YY_BREAK -case 309: +case 316: YY_RULE_SETUP -#line 1408 "rwllexer.l" +#line 1437 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4638,9 +4720,9 @@ YY_RULE_SETUP } } YY_BREAK -case 310: +case 317: YY_RULE_SETUP -#line 1416 "rwllexer.l" +#line 1445 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4649,9 +4731,9 @@ YY_RULE_SETUP } } YY_BREAK -case 311: +case 318: YY_RULE_SETUP -#line 1424 "rwllexer.l" +#line 1453 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4661,17 +4743,17 @@ YY_RULE_SETUP #endif } YY_BREAK -case 312: +case 319: YY_RULE_SETUP -#line 1433 "rwllexer.l" +#line 1462 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSATIME); } YY_BREAK -case 313: +case 320: YY_RULE_SETUP -#line 1438 "rwllexer.l" +#line 1467 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4681,49 +4763,49 @@ YY_RULE_SETUP #endif } YY_BREAK -case 314: +case 321: YY_RULE_SETUP -#line 1447 "rwllexer.l" +#line 1476 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSDTIME); } YY_BREAK -case 315: +case 322: YY_RULE_SETUP -#line 1452 "rwllexer.l" +#line 1481 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 316: +case 323: YY_RULE_SETUP -#line 1457 "rwllexer.l" +#line 1486 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 317: +case 324: YY_RULE_SETUP -#line 1462 "rwllexer.l" +#line 1491 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 318: +case 325: YY_RULE_SETUP -#line 1467 "rwllexer.l" +#line 1496 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 319: +case 326: YY_RULE_SETUP -#line 1473 "rwllexer.l" +#line 1502 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4731,39 +4813,39 @@ YY_RULE_SETUP } } YY_BREAK -case 320: +case 327: YY_RULE_SETUP -#line 1480 "rwllexer.l" +#line 1509 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CONERROK); } YY_BREAK -case 321: +case 328: YY_RULE_SETUP -#line 1485 "rwllexer.l" +#line 1514 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CONERROK); } YY_BREAK -case 322: +case 329: YY_RULE_SETUP -#line 1490 "rwllexer.l" +#line 1519 "rwllexer.l" { if (!rwm->ifdirbit) rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+6),1 /* warn if !warning*/ ); } YY_BREAK -case 323: +case 330: YY_RULE_SETUP -#line 1494 "rwllexer.l" +#line 1523 "rwllexer.l" { rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+12),1 /* warn if !warning*/ ); } YY_BREAK -case 324: +case 331: YY_RULE_SETUP -#line 1498 "rwllexer.l" +#line 1527 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; newval = (ub4)rwlatoi(rwm->rwlytext+11) + 1; //+1 for the return value @@ -4778,9 +4860,9 @@ if (!rwm->ifdirbit) { } YY_BREAK -case 325: +case 332: YY_RULE_SETUP -#line 1512 "rwllexer.l" +#line 1541 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4796,9 +4878,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxident"); } YY_BREAK -case 326: +case 333: YY_RULE_SETUP -#line 1527 "rwllexer.l" +#line 1556 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4814,9 +4896,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxcode"); } YY_BREAK -case 327: +case 334: YY_RULE_SETUP -#line 1542 "rwllexer.l" +#line 1571 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4832,25 +4914,25 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "readbuffer"); } YY_BREAK -case 328: +case 335: YY_RULE_SETUP -#line 1557 "rwllexer.l" +#line 1586 "rwllexer.l" if (!rwm->ifdirbit) { rwm->iformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckiformat(rwm); } YY_BREAK -case 329: +case 336: YY_RULE_SETUP -#line 1561 "rwllexer.l" +#line 1590 "rwllexer.l" if (!rwm->ifdirbit) { rwm->dformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckdformat(rwm); } YY_BREAK -case 330: +case 337: YY_RULE_SETUP -#line 1566 "rwllexer.l" +#line 1595 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+9); bis(rwm->mflags, newdebug); @@ -4862,9 +4944,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 331: +case 338: YY_RULE_SETUP -#line 1577 "rwllexer.l" +#line 1606 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+10); // ub4 newdebug = (ub4) rwlhex2ub8(rwm->rwlytext+10, 2*sizeof(ub4)); @@ -4873,9 +4955,9 @@ if (!rwm->ifdirbit) { bic(rwm->mxq->tflags, newdebug); } YY_BREAK -case 332: +case 339: YY_RULE_SETUP -#line 1585 "rwllexer.l" +#line 1614 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+10,2*sizeof(unsigned short)); @@ -4891,9 +4973,9 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 333: +case 340: YY_RULE_SETUP -#line 1602 "rwllexer.l" +#line 1631 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+12, 2*sizeof(unsigned short)); @@ -4909,11 +4991,11 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 334: -#line 1618 "rwllexer.l" -case 335: +case 341: +#line 1647 "rwllexer.l" +case 342: YY_RULE_SETUP -#line 1618 "rwllexer.l" +#line 1647 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4924,11 +5006,11 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 336: -#line 1629 "rwllexer.l" -case 337: +case 343: +#line 1658 "rwllexer.l" +case 344: YY_RULE_SETUP -#line 1629 "rwllexer.l" +#line 1658 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -4939,9 +5021,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 338: +case 345: YY_RULE_SETUP -#line 1639 "rwllexer.l" +#line 1668 "rwllexer.l" if (!rwm->ifdirbit) { { rwm->musymbol = rwlstrdup(rwm, rwm->rwlytext+10); @@ -4949,9 +5031,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 339: +case 346: YY_RULE_SETUP -#line 1646 "rwllexer.l" +#line 1675 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4971,9 +5053,9 @@ YY_RULE_SETUP } } YY_BREAK -case 340: +case 347: YY_RULE_SETUP -#line 1665 "rwllexer.l" +#line 1694 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4985,9 +5067,9 @@ YY_RULE_SETUP } } YY_BREAK -case 341: +case 348: YY_RULE_SETUP -#line 1676 "rwllexer.l" +#line 1705 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4999,10 +5081,10 @@ YY_RULE_SETUP } } YY_BREAK -case 342: -/* rule 342 can match eol */ +case 349: +/* rule 349 can match eol */ YY_RULE_SETUP -#line 1687 "rwllexer.l" +#line 1716 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5033,10 +5115,10 @@ YY_RULE_SETUP } } YY_BREAK -case 343: -/* rule 343 can match eol */ +case 350: +/* rule 350 can match eol */ YY_RULE_SETUP -#line 1717 "rwllexer.l" +#line 1746 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5067,9 +5149,9 @@ YY_RULE_SETUP } } YY_BREAK -case 344: +case 351: YY_RULE_SETUP -#line 1747 "rwllexer.l" +#line 1776 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5080,24 +5162,24 @@ YY_RULE_SETUP } } YY_BREAK -case 345: +case 352: YY_RULE_SETUP -#line 1756 "rwllexer.l" +#line 1785 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 346: +case 353: YY_RULE_SETUP -#line 1759 "rwllexer.l" +#line 1788 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 347: -/* rule 347 can match eol */ +case 354: +/* rule 354 can match eol */ YY_RULE_SETUP -#line 1763 "rwllexer.l" +#line 1792 "rwllexer.l" { rwm->loc.fname = rwlstrdup(rwm, rwlstrchr(rwm->rwlytext,'"')); rwm->loc.fname[rwlstrlen(rwm->loc.fname)-1] = 0; @@ -5106,11 +5188,11 @@ YY_RULE_SETUP rwm->loc.errlin = 0; } YY_BREAK -case 348: -#line 1771 "rwllexer.l" -case 349: +case 355: +#line 1800 "rwllexer.l" +case 356: YY_RULE_SETUP -#line 1771 "rwllexer.l" +#line 1800 "rwllexer.l" { // bad directive char idbuf[100], c; ub4 i; @@ -5151,37 +5233,37 @@ YY_RULE_SETUP { rwm->loc.lineno++; rwm->loc.inpos=0; } } YY_BREAK -case 350: -/* rule 350 can match eol */ +case 357: +/* rule 357 can match eol */ YY_RULE_SETUP -#line 1812 "rwllexer.l" +#line 1841 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 351: -/* rule 351 can match eol */ +case 358: +/* rule 358 can match eol */ YY_RULE_SETUP -#line 1813 "rwllexer.l" +#line 1842 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 352: -/* rule 352 can match eol */ +case 359: +/* rule 359 can match eol */ YY_RULE_SETUP -#line 1814 "rwllexer.l" +#line 1843 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 353: +case 360: YY_RULE_SETUP -#line 1815 "rwllexer.l" +#line 1844 "rwllexer.l" /* nothing */ ; YY_BREAK -case 354: +case 361: YY_RULE_SETUP -#line 1816 "rwllexer.l" +#line 1845 "rwllexer.l" /* nothing */ ; YY_BREAK -case 355: +case 362: YY_RULE_SETUP -#line 1817 "rwllexer.l" +#line 1846 "rwllexer.l" { if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -5196,12 +5278,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII, rwm->loc.inpos, (ub1)rwm->rwlytext[0]); } YY_BREAK -case 356: +case 363: YY_RULE_SETUP -#line 1831 "rwllexer.l" +#line 1860 "rwllexer.l" ECHO; YY_BREAK -#line 5205 "lex.rwly.c" +#line 5287 "lex.rwly.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -5496,7 +5578,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1977 ) + if ( yy_current_state >= 2003 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; @@ -5525,11 +5607,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1977 ) + if ( yy_current_state >= 2003 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 1976); + yy_is_jam = (yy_current_state == 2002); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -6382,7 +6464,7 @@ void rwlyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1831 "rwllexer.l" +#line 1860 "rwllexer.l" diff --git a/src/lex.rwlz.c b/src/lex.rwlz.c index 46982640..fefdc766 100644 --- a/src/lex.rwlz.c +++ b/src/lex.rwlz.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 230 -#define YY_END_OF_BUFFER 231 +#define YY_NUM_RULES 237 +#define YY_END_OF_BUFFER 238 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -352,124 +352,125 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1058] = +static yyconst flex_int16_t yy_accept[1064] = { 0, - 0, 0, 231, 229, 225, 226, 206, 229, 227, 229, - 199, 229, 200, 201, 197, 195, 202, 196, 229, 198, - 6, 208, 209, 204, 203, 205, 207, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 229, 225, 216, 0, 2, - 0, 227, 223, 222, 224, 228, 228, 228, 228, 228, - 0, 1, 0, 149, 135, 189, 136, 127, 190, 150, - 5, 6, 0, 130, 0, 214, 217, 0, 215, 0, - - 0, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 51, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 112, 221, 221, 194, 221, 221, 221, 221, - 221, 221, 221, 221, 213, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 218, 222, - - 224, 228, 228, 228, 228, 228, 5, 0, 0, 3, - 132, 134, 131, 133, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 124, 211, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 144, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 64, 221, - 221, 221, 221, 221, 146, 221, 221, 221, 123, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 145, 221, 221, 221, 221, 221, 221, 221, 210, - - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 29, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 57, 221, 221, 221, 221, 143, 221, 37, 221, 221, - 221, 221, 221, 128, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 129, 228, 228, 228, 228, - 0, 4, 221, 221, 221, 221, 221, 221, 186, 221, - 221, 221, 221, 221, 185, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 0, 221, 221, 187, - 221, 221, 221, 221, 221, 221, 58, 28, 221, 139, - 27, 221, 221, 221, 221, 221, 32, 221, 221, 221, - - 221, 221, 68, 115, 221, 221, 221, 221, 221, 24, - 221, 100, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 34, 221, 221, 122, 221, 221, 221, - 221, 221, 221, 193, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 76, 221, 221, 63, 221, 221, 113, 221, 221, - 221, 221, 221, 118, 114, 221, 221, 221, 228, 228, - 228, 228, 221, 182, 221, 221, 171, 180, 221, 221, - 221, 221, 221, 221, 221, 170, 221, 0, 183, 221, - - 174, 221, 221, 221, 0, 0, 0, 221, 221, 35, - 221, 221, 99, 147, 221, 221, 33, 221, 221, 62, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 121, 221, 221, 140, 221, 221, 90, 221, 221, - 221, 221, 221, 80, 221, 221, 221, 221, 30, 221, - 221, 221, 221, 221, 13, 221, 221, 109, 221, 221, - 221, 221, 119, 221, 221, 221, 104, 221, 221, 221, - 221, 221, 142, 221, 221, 221, 221, 125, 221, 221, - 61, 221, 221, 221, 221, 221, 141, 221, 221, 221, - 117, 221, 101, 10, 7, 228, 228, 221, 221, 221, - - 221, 169, 221, 184, 221, 221, 221, 179, 0, 221, - 175, 221, 177, 0, 0, 0, 221, 178, 220, 221, - 221, 221, 49, 221, 221, 221, 18, 221, 221, 60, - 95, 116, 17, 221, 86, 221, 108, 221, 221, 91, - 82, 221, 56, 221, 221, 79, 221, 81, 221, 36, - 221, 221, 221, 221, 221, 221, 221, 16, 221, 221, - 221, 221, 31, 221, 98, 221, 221, 221, 221, 221, - 221, 221, 221, 23, 221, 221, 221, 221, 221, 221, - 137, 221, 221, 97, 77, 221, 221, 221, 221, 221, - 221, 228, 228, 221, 173, 221, 221, 0, 181, 221, - - 221, 221, 0, 172, 221, 0, 0, 0, 221, 221, - 212, 59, 41, 221, 221, 221, 192, 219, 221, 87, - 88, 89, 126, 14, 221, 221, 221, 221, 96, 85, - 221, 221, 120, 221, 221, 48, 221, 221, 221, 221, - 55, 221, 221, 221, 25, 221, 221, 221, 46, 221, - 52, 221, 221, 221, 221, 221, 15, 221, 221, 78, - 54, 71, 221, 221, 221, 221, 221, 9, 8, 221, - 221, 0, 0, 0, 0, 0, 0, 0, 221, 0, - 221, 0, 221, 0, 160, 0, 188, 221, 221, 221, - 191, 221, 221, 22, 221, 221, 221, 221, 221, 221, - - 221, 221, 43, 221, 111, 221, 221, 103, 221, 221, - 105, 221, 50, 221, 221, 221, 47, 221, 221, 11, - 42, 221, 221, 26, 221, 221, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 221, 0, 221, 0, 176, - 0, 0, 221, 221, 221, 69, 221, 94, 221, 221, - 221, 221, 221, 221, 221, 110, 53, 221, 70, 221, - 106, 221, 221, 221, 221, 45, 221, 221, 102, 221, - 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, - 221, 0, 0, 158, 0, 0, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - - 92, 221, 221, 73, 221, 0, 0, 0, 163, 0, - 0, 0, 0, 0, 162, 221, 0, 0, 0, 0, - 0, 221, 221, 221, 39, 221, 12, 38, 148, 221, - 221, 221, 221, 221, 221, 44, 221, 67, 221, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 221, 155, - 0, 0, 0, 0, 221, 221, 221, 93, 221, 72, - 75, 221, 221, 107, 221, 221, 84, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 221, 221, 221, 40, 221, 221, 138, 221, 0, 0, - 0, 167, 0, 166, 0, 168, 0, 0, 0, 159, - - 0, 221, 221, 65, 221, 221, 74, 0, 0, 164, - 0, 0, 0, 0, 157, 161, 221, 66, 221, 221, - 0, 0, 0, 165, 0, 0, 221, 19, 221, 0, - 0, 0, 0, 0, 221, 21, 0, 0, 0, 0, - 156, 20, 0, 0, 0, 0, 152, 0, 0, 0, - 0, 0, 0, 153, 0, 151, 0 + 0, 0, 238, 236, 232, 233, 207, 236, 234, 236, + 200, 223, 236, 201, 202, 198, 196, 203, 197, 236, + 199, 6, 6, 209, 210, 205, 204, 206, 208, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 224, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 225, 220, + 232, 217, 0, 2, 0, 234, 230, 229, 231, 235, + 235, 235, 235, 235, 0, 1, 0, 150, 136, 190, + 137, 128, 191, 151, 5, 6, 0, 0, 131, 221, + + 215, 218, 0, 216, 222, 0, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 52, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 113, 228, 228, + 195, 228, 228, 228, 228, 228, 228, 228, 228, 214, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + + 228, 228, 228, 219, 229, 231, 235, 235, 235, 235, + 235, 5, 0, 0, 3, 7, 133, 135, 132, 134, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 125, 212, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 145, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 65, 228, 228, 228, 228, 228, + 147, 228, 228, 228, 124, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 146, 228, 228, + + 228, 228, 228, 228, 228, 211, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 30, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 58, 228, 228, 228, + 228, 144, 228, 38, 228, 228, 228, 228, 228, 129, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 130, 235, 235, 235, 235, 0, 4, 228, 228, + 228, 228, 228, 228, 187, 228, 228, 228, 228, 228, + 186, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 0, 228, 228, 188, 228, 228, 228, 228, + 228, 228, 59, 29, 228, 140, 28, 228, 228, 228, + + 228, 228, 33, 228, 228, 228, 228, 228, 69, 116, + 228, 228, 228, 228, 228, 25, 228, 101, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 35, + 228, 228, 123, 228, 228, 228, 228, 228, 228, 194, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 77, 228, 228, + 64, 228, 228, 114, 228, 228, 228, 228, 228, 119, + 115, 228, 228, 228, 235, 235, 235, 235, 228, 183, + 228, 228, 172, 181, 228, 228, 228, 228, 228, 228, + + 228, 171, 228, 0, 184, 228, 175, 228, 228, 228, + 0, 0, 0, 228, 228, 36, 228, 228, 100, 148, + 228, 228, 34, 228, 228, 63, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 122, 228, 228, + 141, 228, 228, 91, 228, 228, 228, 228, 228, 81, + 228, 228, 228, 228, 31, 228, 228, 228, 228, 228, + 14, 228, 228, 110, 228, 228, 228, 228, 120, 228, + 228, 228, 105, 228, 228, 228, 228, 228, 143, 228, + 228, 228, 228, 126, 228, 228, 62, 228, 228, 228, + 228, 228, 142, 228, 228, 228, 118, 228, 102, 11, + + 8, 235, 235, 228, 228, 228, 228, 170, 228, 185, + 228, 228, 228, 180, 0, 228, 176, 228, 178, 0, + 0, 0, 228, 179, 227, 228, 228, 228, 50, 228, + 228, 228, 19, 228, 228, 61, 96, 117, 18, 228, + 87, 228, 109, 228, 228, 92, 83, 228, 57, 228, + 228, 80, 228, 82, 228, 37, 228, 228, 228, 228, + 228, 228, 228, 17, 228, 228, 228, 228, 32, 228, + 99, 228, 228, 228, 228, 228, 228, 228, 228, 24, + 228, 228, 228, 228, 228, 228, 138, 228, 228, 98, + 78, 228, 228, 228, 228, 228, 228, 235, 235, 228, + + 174, 228, 228, 0, 182, 228, 228, 228, 0, 173, + 228, 0, 0, 0, 228, 228, 213, 60, 42, 228, + 228, 228, 193, 226, 228, 88, 89, 90, 127, 15, + 228, 228, 228, 228, 97, 86, 228, 228, 121, 228, + 228, 49, 228, 228, 228, 228, 56, 228, 228, 228, + 26, 228, 228, 228, 47, 228, 53, 228, 228, 228, + 228, 228, 16, 228, 228, 79, 55, 72, 228, 228, + 228, 228, 228, 10, 9, 228, 228, 0, 0, 0, + 0, 0, 0, 0, 228, 0, 228, 0, 228, 0, + 161, 0, 189, 228, 228, 228, 192, 228, 228, 23, + + 228, 228, 228, 228, 228, 228, 228, 228, 44, 228, + 112, 228, 228, 104, 228, 228, 106, 228, 51, 228, + 228, 228, 48, 228, 228, 12, 43, 228, 228, 27, + 228, 228, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 228, 0, 228, 0, 177, 0, 0, 228, 228, + 228, 70, 228, 95, 228, 228, 228, 228, 228, 228, + 228, 111, 54, 228, 71, 228, 107, 228, 228, 228, + 228, 46, 228, 228, 103, 228, 0, 155, 0, 0, + 0, 0, 0, 0, 0, 0, 228, 0, 0, 159, + 0, 0, 228, 228, 228, 228, 228, 228, 228, 228, + + 228, 228, 228, 228, 228, 228, 93, 228, 228, 74, + 228, 0, 0, 0, 164, 0, 0, 0, 0, 0, + 163, 228, 0, 0, 0, 0, 0, 228, 228, 228, + 40, 228, 13, 39, 149, 228, 228, 228, 228, 228, + 228, 45, 228, 68, 228, 84, 0, 0, 0, 0, + 0, 0, 0, 0, 228, 156, 0, 0, 0, 0, + 228, 228, 228, 94, 228, 73, 76, 228, 228, 108, + 228, 228, 85, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 228, 228, 228, 41, + 228, 228, 139, 228, 0, 0, 0, 168, 0, 167, + + 0, 169, 0, 0, 0, 160, 0, 228, 228, 66, + 228, 228, 75, 0, 0, 165, 0, 0, 0, 0, + 158, 162, 228, 67, 228, 228, 0, 0, 0, 166, + 0, 0, 228, 20, 228, 0, 0, 0, 0, 0, + 228, 22, 0, 0, 0, 0, 157, 21, 0, 0, + 0, 0, 153, 0, 0, 0, 0, 0, 0, 154, + 0, 152, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -477,17 +478,17 @@ static yyconst YY_CHAR yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 5, 6, 7, 8, 9, 1, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 19, 19, 19, 19, 19, 19, 19, 22, 23, 24, - 25, 26, 27, 1, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 1, 54, 1, 1, 55, 1, 56, 57, 58, 59, - - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 1, 82, 1, 1, 1, 1, 1, 1, + 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 23, 23, 23, 23, 23, 23, 24, 25, 26, + 27, 28, 29, 1, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 1, 56, 1, 57, 58, 1, 59, 60, 61, 62, + + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 1, 85, 1, 86, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -504,450 +505,454 @@ static yyconst YY_CHAR yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst YY_CHAR yy_meta[83] = +static yyconst YY_CHAR yy_meta[87] = { 0, 1, 2, 3, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, - 4, 1, 1, 1, 1, 1, 1, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 1 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, + 4, 4, 4, 1, 1, 1, 1, 1, 1, 4, + 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 1, 1, 5, 4, 4, + 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 1, 1 } ; -static yyconst flex_uint16_t yy_base[1064] = +static yyconst flex_uint16_t yy_base[1071] = { 0, - 0, 0, 1588, 1589, 81, 1589, 1562, 78, 0, 126, - 1589, 76, 1589, 1589, 1561, 1560, 1589, 71, 1567, 75, - 74, 1558, 1589, 98, 1589, 126, 1589, 68, 57, 70, - 65, 39, 53, 58, 0, 67, 69, 81, 79, 105, - 177, 182, 166, 169, 177, 212, 188, 189, 244, 224, - 235, 190, 1522, 251, 184, 258, 240, 157, 259, 1505, - 277, 294, 221, 293, 288, 1498, 100, 1589, 210, 1589, - 1576, 0, 1589, 202, 0, 0, 1514, 1521, 1506, 1511, - 214, 1589, 1571, 1589, 1589, 1589, 1589, 1589, 1589, 1589, - 352, 357, 366, 1589, 1548, 1589, 1589, 1547, 1589, 1546, - - 1545, 0, 179, 274, 299, 285, 309, 326, 324, 335, - 347, 351, 337, 350, 350, 366, 367, 350, 367, 353, - 371, 355, 360, 353, 366, 356, 375, 361, 1499, 271, - 368, 386, 1495, 1511, 376, 1497, 1495, 1504, 1499, 1492, - 379, 1488, 1485, 401, 1483, 407, 1484, 174, 1487, 1489, - 1495, 403, 1487, 1486, 388, 1479, 1478, 1481, 1481, 1473, - 1477, 1467, 0, 1476, 404, 0, 274, 424, 1485, 1476, - 429, 1475, 154, 1481, 0, 1466, 203, 407, 1479, 50, - 449, 160, 1469, 422, 278, 1468, 1463, 205, 400, 288, - 411, 424, 274, 1475, 1470, 259, 444, 1469, 1507, 489, - - 0, 0, 1462, 1472, 1462, 1459, 506, 514, 520, 523, - 1589, 1589, 1589, 1589, 456, 485, 483, 487, 495, 496, - 497, 497, 518, 508, 516, 521, 508, 513, 507, 513, - 523, 518, 524, 513, 528, 535, 535, 536, 472, 528, - 542, 536, 1454, 1466, 1461, 0, 0, 1468, 1454, 1444, - 1462, 1463, 1463, 1451, 1460, 532, 1447, 0, 1446, 1440, - 532, 534, 1449, 442, 1455, 1440, 1450, 1439, 0, 1450, - 1451, 1433, 1447, 1429, 539, 1427, 1442, 1431, 0, 1436, - 1441, 1430, 439, 1440, 1440, 1425, 553, 1434, 1427, 1430, - 1420, 0, 1419, 1425, 1418, 1411, 1410, 1417, 1409, 0, - - 1416, 1411, 1425, 1411, 1405, 525, 1420, 1410, 532, 1417, - 0, 1416, 1404, 1413, 1412, 1395, 1394, 1393, 1401, 1398, - 1392, 1388, 1390, 1390, 1401, 0, 1397, 1405, 1384, 75, - 1387, 1393, 1382, 0, 1386, 1394, 546, 1392, 1388, 1378, - 1375, 1380, 1381, 1373, 1371, 1589, 1369, 1374, 1387, 1383, - 590, 597, 552, 558, 555, 582, 567, 578, 0, 588, - 575, 595, 577, 579, 0, 598, 592, 582, 585, 511, - 600, 602, 602, 596, 594, 608, 640, 609, 594, 0, - 1366, 1366, 1362, 1358, 1416, 1376, 1365, 0, 1368, 0, - 0, 613, 1373, 1357, 1361, 1373, 0, 1370, 1370, 1351, - - 1357, 1358, 0, 1360, 1364, 1359, 1352, 1340, 1343, 0, - 1344, 0, 1344, 1347, 1340, 1358, 1344, 1336, 1355, 1351, - 1336, 1335, 1345, 0, 1331, 1332, 0, 1343, 1346, 1329, - 1341, 1344, 1343, 0, 1334, 1330, 1322, 1317, 1319, 1337, - 1332, 1327, 1310, 1329, 1318, 1320, 1317, 1306, 1328, 1323, - 1315, 1308, 1323, 1320, 1318, 1317, 1312, 1316, 1299, 1304, - 1308, 0, 1296, 599, 0, 1301, 1294, 0, 1312, 616, - 1297, 1304, 1296, 0, 0, 1304, 1296, 1302, 1282, 1286, - 1286, 1288, 620, 0, 615, 635, 0, 0, 631, 643, - 631, 646, 633, 644, 652, 0, 635, 685, 0, 647, - - 0, 654, 648, 644, 650, 651, 649, 667, 665, 0, - 1283, 1296, 0, 0, 1295, 1278, 0, 1278, 1294, 0, - 1278, 1294, 1289, 1292, 1280, 1286, 1285, 1283, 1283, 1268, - 1279, 0, 1265, 1276, 0, 1263, 1273, 1315, 1258, 1260, - 1266, 1272, 1271, 1273, 1269, 1265, 1267, 1246, 0, 1251, - 1248, 1256, 1247, 1252, 0, 1260, 1249, 663, 1243, 1258, - 1258, 1246, 0, 1246, 213, 1244, 642, 1238, 1237, 1235, - 1240, 1252, 0, 1249, 1233, 1235, 1238, 0, 1228, 1243, - 0, 1233, 1226, 1237, 1225, 1238, 673, 1223, 1226, 1238, - 0, 1237, 1225, 0, 0, 1227, 1212, 659, 685, 698, - - 680, 731, 696, 0, 689, 695, 709, 0, 710, 692, - 0, 705, 0, 701, 704, 716, 699, 0, 0, 1215, - 1219, 1212, 0, 1211, 1227, 1210, 0, 1208, 1207, 1222, - 0, 0, 0, 1220, 727, 1219, 0, 1217, 1207, 0, - 0, 1220, 0, 1217, 1214, 0, 1200, 1215, 1210, 0, - 1200, 1209, 1195, 1203, 1204, 1191, 1191, 0, 1199, 1206, - 1201, 1184, 0, 1189, 0, 1189, 1200, 1196, 1176, 1178, - 1193, 1177, 1177, 0, 1192, 1179, 1175, 1178, 1186, 1184, - 0, 1188, 1168, 0, 1185, 1167, 1172, 1179, 1170, 1163, - 687, 1162, 1161, 702, 0, 703, 749, 791, 0, 728, - - 758, 733, 739, 0, 732, 729, 744, 738, 748, 1174, - 0, 0, 1169, 1176, 1171, 1170, 0, 0, 1171, 0, - 0, 0, 0, 0, 1159, 1165, 1162, 1152, 0, 0, - 1164, 1150, 0, 1166, 1147, 0, 1146, 1160, 1149, 1144, - 0, 1143, 1140, 1154, 0, 1155, 1137, 1154, 0, 1142, - 0, 1143, 1139, 1147, 1135, 1125, 0, 1131, 1139, 0, - 0, 0, 1143, 1141, 1137, 1130, 1141, 0, 0, 749, - 750, 780, 737, 759, 752, 744, 769, 747, 754, 802, - 760, 772, 765, 772, 1589, 775, 0, 1123, 1126, 1137, - 0, 1135, 1123, 0, 1132, 1123, 1117, 1114, 1130, 1118, - - 1111, 1121, 0, 1124, 0, 1123, 1118, 0, 1106, 1107, - 1117, 1122, 0, 1118, 1109, 1105, 0, 1108, 1115, 0, - 0, 1111, 1111, 0, 778, 828, 788, 794, 787, 808, - 840, 811, 804, 812, 810, 826, 816, 856, 835, 0, - 823, 842, 1096, 1100, 1105, 0, 1098, 0, 1110, 1095, - 1106, 1107, 1103, 1097, 1090, 0, 0, 1098, 0, 1102, - 0, 1084, 1082, 1095, 1084, 0, 1079, 1131, 0, 868, - 874, 1589, 845, 851, 835, 881, 848, 857, 854, 857, - 843, 863, 890, 1589, 869, 869, 1087, 834, 1090, 1090, - 1081, 1074, 1083, 1087, 1074, 1085, 1073, 1077, 1082, 1073, - - 0, 1080, 1062, 1051, 1063, 897, 855, 857, 1589, 878, - 878, 883, 880, 879, 1589, 890, 882, 896, 900, 893, - 884, 1049, 1050, 1046, 0, 1041, 0, 0, 0, 1050, - 1043, 1036, 1051, 1046, 1028, 0, 1027, 0, 1030, 1039, - 901, 908, 906, 898, 901, 911, 915, 915, 963, 1589, - 906, 926, 917, 924, 1023, 1035, 1019, 0, 1028, 0, - 0, 1013, 1025, 0, 1006, 991, 0, 910, 921, 927, - 924, 938, 946, 931, 935, 981, 954, 948, 942, 949, - 998, 946, 932, 0, 833, 727, 0, 720, 989, 958, - 954, 1589, 970, 1589, 955, 1589, 954, 973, 971, 1589, - - 968, 642, 575, 0, 424, 424, 0, 1008, 967, 1589, - 984, 984, 990, 993, 1589, 1589, 407, 0, 391, 369, - 996, 978, 1000, 1589, 986, 988, 368, 0, 272, 994, - 1000, 1035, 1004, 1011, 264, 0, 1017, 1017, 1047, 1008, - 1589, 0, 1023, 1013, 1018, 1035, 1589, 1033, 1030, 1042, - 1042, 1031, 1037, 1589, 1032, 1589, 1589, 1122, 1126, 1130, - 221, 101, 1134 + 0, 0, 1621, 1622, 85, 1622, 1593, 82, 0, 132, + 1622, 1622, 79, 1622, 1622, 1592, 1591, 1622, 74, 1599, + 78, 77, 86, 1589, 1622, 105, 1622, 66, 1622, 184, + 62, 189, 80, 59, 72, 68, 0, 73, 73, 85, + 77, 78, 95, 188, 113, 175, 183, 1622, 233, 197, + 228, 268, 244, 255, 283, 1552, 180, 180, 196, 277, + 165, 273, 1535, 299, 317, 223, 291, 322, 1528, 1622, + 120, 1622, 182, 1622, 1609, 0, 1622, 257, 0, 0, + 1544, 1551, 1536, 1541, 226, 1622, 1604, 1622, 1622, 1622, + 1622, 1622, 1622, 1622, 379, 385, 394, 0, 1622, 1579, + + 1622, 1622, 1578, 1622, 1577, 1576, 0, 200, 206, 258, + 260, 307, 309, 307, 315, 327, 380, 316, 331, 349, + 367, 380, 370, 388, 375, 394, 378, 384, 377, 388, + 380, 398, 383, 1529, 207, 385, 403, 1525, 1541, 399, + 1527, 1525, 1534, 1529, 1522, 396, 1518, 1515, 437, 1513, + 427, 1514, 41, 1517, 1519, 1525, 407, 1517, 1516, 413, + 1509, 1508, 1511, 1511, 1503, 1507, 1497, 0, 1506, 428, + 0, 51, 448, 1515, 1506, 453, 1505, 59, 1511, 0, + 1496, 162, 435, 1509, 298, 473, 303, 1499, 448, 233, + 1498, 1493, 370, 420, 283, 427, 441, 417, 1505, 1500, + + 223, 455, 1499, 1538, 519, 0, 0, 1492, 1502, 1492, + 1489, 532, 541, 547, 551, 0, 1622, 1622, 1622, 1622, + 477, 483, 495, 503, 511, 519, 518, 518, 545, 536, + 545, 550, 536, 541, 535, 541, 551, 547, 554, 541, + 556, 563, 560, 562, 363, 554, 568, 562, 1484, 1496, + 1491, 0, 0, 1498, 1484, 1474, 1492, 1493, 1493, 1481, + 1490, 558, 1477, 0, 1476, 1470, 460, 560, 1479, 377, + 1485, 1470, 1480, 1469, 0, 1480, 1481, 1463, 1477, 1459, + 561, 1457, 1472, 1461, 0, 1466, 1471, 1460, 459, 1470, + 1470, 1455, 569, 1464, 1457, 1460, 1450, 0, 1449, 1455, + + 1448, 1441, 1440, 1447, 1439, 0, 1446, 1441, 1455, 1441, + 1435, 430, 1450, 1440, 539, 1447, 0, 1446, 1434, 1443, + 1442, 1425, 1424, 1423, 1431, 1428, 1422, 1418, 1420, 1420, + 1431, 0, 1427, 1435, 1414, 58, 1417, 1423, 1412, 0, + 1416, 1424, 562, 1422, 1418, 1408, 1405, 1410, 1411, 1403, + 1401, 1622, 1399, 1404, 1417, 1413, 615, 619, 574, 577, + 589, 612, 596, 605, 0, 615, 601, 621, 603, 606, + 0, 625, 619, 608, 611, 656, 627, 629, 629, 622, + 620, 634, 664, 637, 621, 0, 1396, 1396, 1392, 1388, + 1448, 1406, 1395, 0, 1398, 0, 0, 637, 1403, 1387, + + 1391, 1403, 0, 1400, 1400, 1381, 1387, 1388, 0, 1390, + 1394, 1389, 1382, 1370, 1373, 0, 1374, 0, 1374, 1377, + 1370, 1388, 1374, 1366, 1385, 1381, 1366, 1365, 1375, 0, + 1361, 1362, 0, 1373, 1376, 1359, 1371, 1374, 1373, 0, + 1364, 1360, 1352, 1347, 1349, 1367, 1362, 1357, 1340, 1359, + 1348, 1350, 1347, 1336, 1358, 1353, 1345, 1338, 1353, 1350, + 1348, 1347, 1342, 1346, 1329, 1334, 1338, 0, 1326, 634, + 0, 1331, 1324, 0, 1342, 644, 1327, 1334, 1326, 0, + 0, 1334, 1326, 1332, 1312, 1316, 1316, 1318, 650, 0, + 634, 664, 0, 0, 660, 672, 660, 674, 661, 672, + + 681, 0, 665, 712, 0, 681, 0, 686, 677, 673, + 679, 680, 679, 697, 694, 0, 1313, 1326, 0, 0, + 1325, 1308, 0, 1308, 1324, 0, 1308, 1324, 1319, 1322, + 1310, 1316, 1315, 1313, 1313, 1298, 1309, 0, 1295, 1306, + 0, 1293, 1303, 1347, 1288, 1290, 1296, 1302, 1301, 1303, + 1299, 1295, 1297, 1276, 0, 1281, 1278, 1286, 1277, 1282, + 0, 1290, 1279, 690, 1273, 1288, 1288, 1276, 0, 1276, + 691, 1274, 308, 1268, 1267, 1265, 1270, 1282, 0, 1279, + 1263, 1265, 1268, 0, 1258, 1273, 0, 1263, 1256, 1267, + 1255, 1268, 700, 1253, 1256, 1268, 0, 1267, 1255, 0, + + 0, 1257, 1242, 685, 700, 714, 696, 743, 731, 0, + 722, 724, 738, 0, 739, 722, 0, 734, 0, 732, + 735, 747, 729, 0, 0, 1245, 1249, 1242, 0, 1241, + 1257, 1240, 0, 1238, 1237, 1252, 0, 0, 0, 1250, + 758, 1249, 0, 1247, 1237, 0, 0, 1250, 0, 1247, + 1244, 0, 1230, 1245, 1240, 0, 1230, 1239, 1225, 1233, + 1234, 1221, 1221, 0, 1229, 1236, 1231, 1214, 0, 1219, + 0, 1219, 1230, 1226, 1206, 1208, 1223, 1207, 1207, 0, + 1222, 1209, 1205, 1208, 1216, 1214, 0, 1218, 1198, 0, + 1215, 1197, 1202, 1209, 1200, 1193, 714, 1192, 1191, 733, + + 0, 734, 781, 825, 0, 754, 785, 759, 761, 0, + 750, 754, 769, 765, 775, 1204, 0, 0, 1199, 1206, + 1201, 1200, 0, 0, 1201, 0, 0, 0, 0, 0, + 1189, 1195, 1192, 1182, 0, 0, 1194, 1180, 0, 1196, + 1177, 0, 1176, 1190, 1179, 1174, 0, 1173, 1170, 1184, + 0, 1185, 1167, 1184, 0, 1172, 0, 1173, 1169, 1177, + 1165, 1155, 0, 1161, 1169, 0, 0, 0, 1173, 1171, + 1167, 1160, 1171, 0, 0, 776, 779, 813, 764, 788, + 781, 776, 803, 797, 786, 822, 790, 793, 787, 797, + 1622, 801, 0, 1153, 1156, 1167, 0, 1165, 1153, 0, + + 1162, 1153, 1147, 1144, 1160, 1148, 1141, 1151, 0, 1154, + 0, 1153, 1148, 0, 1136, 1137, 1147, 1152, 0, 1148, + 1139, 1135, 0, 1138, 1145, 0, 0, 1141, 1141, 0, + 807, 837, 812, 813, 807, 830, 868, 836, 832, 839, + 836, 852, 847, 888, 860, 0, 853, 871, 1126, 1130, + 1135, 0, 1128, 0, 1140, 1125, 1136, 1137, 1133, 1127, + 1120, 0, 0, 1128, 0, 1129, 0, 1099, 1089, 1102, + 1091, 0, 1085, 1139, 0, 904, 909, 1622, 870, 874, + 862, 911, 876, 886, 883, 886, 872, 892, 921, 1622, + 896, 895, 1093, 867, 1095, 1094, 1085, 1078, 1086, 1090, + + 1077, 1088, 1076, 1080, 1085, 1076, 0, 1085, 1073, 1069, + 1081, 931, 883, 887, 1622, 907, 905, 910, 909, 908, + 1622, 912, 909, 923, 929, 922, 913, 1066, 1063, 1059, + 0, 1054, 0, 0, 0, 1061, 1055, 1045, 1060, 1059, + 1040, 0, 1040, 0, 1044, 1054, 929, 934, 929, 927, + 931, 941, 945, 945, 981, 1622, 931, 959, 951, 957, + 1041, 1040, 1022, 0, 989, 0, 0, 956, 883, 0, + 782, 765, 0, 943, 949, 957, 948, 963, 976, 961, + 965, 1010, 985, 975, 968, 974, 738, 652, 612, 0, + 596, 529, 0, 454, 1017, 984, 982, 1622, 998, 1622, + + 985, 1622, 985, 1004, 1002, 1622, 994, 419, 410, 0, + 413, 378, 0, 1039, 990, 1622, 1016, 1015, 1020, 1023, + 1622, 1622, 308, 0, 277, 266, 1025, 1007, 1025, 1622, + 1011, 1014, 241, 0, 168, 1025, 1031, 1067, 1034, 1039, + 150, 0, 1044, 1043, 1089, 1028, 1622, 0, 1044, 1035, + 1037, 1056, 1622, 1056, 1054, 1068, 1072, 1059, 1065, 1622, + 1062, 1622, 1622, 1167, 1172, 1177, 1179, 1181, 1186, 157 } ; -static yyconst flex_int16_t yy_def[1064] = +static yyconst flex_int16_t yy_def[1071] = { 0, - 1057, 1, 1057, 1057, 1057, 1057, 1057, 1058, 1059, 1057, - 1057, 1060, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1057, 1057, 1057, 1058, 1057, - 1058, 1059, 1057, 1057, 1062, 1063, 1063, 1063, 1063, 1063, - 1060, 1057, 1060, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - - 1057, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1057, 1057, - - 1062, 1063, 1063, 1063, 1063, 1063, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1057, 1063, 1063, 1063, 1063, - 1057, 1057, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1057, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1063, 1063, - 1063, 1063, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1057, 1061, 1061, - - 1061, 1061, 1061, 1061, 1057, 1057, 1057, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1063, 1063, 1063, 1063, 1061, 1061, 1061, - - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1057, 1061, - 1061, 1061, 1061, 1057, 1057, 1057, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1063, 1063, 1061, 1061, 1061, 1061, 1057, 1061, 1061, - - 1061, 1061, 1057, 1061, 1061, 1057, 1057, 1057, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1063, 1063, 1061, - 1061, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1061, 1057, - 1061, 1057, 1061, 1057, 1057, 1057, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1061, 1057, 1061, 1057, 1061, - 1057, 1057, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1061, 1057, 1057, 1057, 1057, 1057, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - - 1061, 1061, 1061, 1061, 1061, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1061, 1057, 1057, 1057, 1057, - 1057, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1061, 1057, - 1057, 1057, 1057, 1057, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - - 1057, 1061, 1061, 1061, 1061, 1061, 1061, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1061, 1061, 1061, 1061, - 1057, 1057, 1057, 1057, 1057, 1057, 1061, 1061, 1061, 1057, - 1057, 1057, 1057, 1057, 1061, 1061, 1057, 1057, 1057, 1057, - 1057, 1061, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 0, 1057, 1057, 1057, - 1057, 1057, 1057 + 1063, 1, 1063, 1063, 1063, 1063, 1063, 1064, 1065, 1063, + 1063, 1063, 1066, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1063, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1063, 1063, + 1063, 1063, 1064, 1063, 1064, 1065, 1063, 1063, 1068, 1069, + 1069, 1069, 1069, 1069, 1066, 1063, 1066, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1070, 1063, 1063, + + 1063, 1063, 1063, 1063, 1063, 1063, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + + 1067, 1067, 1067, 1063, 1063, 1068, 1069, 1069, 1069, 1069, + 1069, 1063, 1063, 1063, 1063, 1070, 1063, 1063, 1063, 1063, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1063, 1069, 1069, 1069, 1069, 1063, 1063, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1063, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1069, 1069, 1069, 1069, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + + 1067, 1067, 1067, 1063, 1067, 1067, 1067, 1067, 1067, 1067, + 1063, 1063, 1063, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1069, + + 1069, 1069, 1069, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1063, 1067, 1067, 1067, 1067, 1063, + 1063, 1063, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1069, 1069, 1067, + + 1067, 1067, 1067, 1063, 1067, 1067, 1067, 1067, 1063, 1067, + 1067, 1063, 1063, 1063, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1069, 1069, 1067, 1067, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1067, 1063, 1067, 1063, 1067, 1063, + 1063, 1063, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1067, 1063, 1067, 1063, 1067, 1063, 1063, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1067, 1063, 1063, 1063, + 1063, 1063, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1067, 1063, 1063, 1063, 1063, 1063, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1067, 1063, 1063, 1063, 1063, 1063, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1067, 1067, 1067, 1067, + 1067, 1067, 1067, 1067, 1063, 1063, 1063, 1063, 1063, 1063, + + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1067, 1067, 1067, + 1067, 1067, 1067, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1067, 1067, 1067, 1067, 1063, 1063, 1063, 1063, + 1063, 1063, 1067, 1067, 1067, 1063, 1063, 1063, 1063, 1063, + 1067, 1067, 1063, 1063, 1063, 1063, 1063, 1067, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 0, 1063, 1063, 1063, 1063, 1063, 1063, 1063 } ; -static yyconst flex_uint16_t yy_nxt[1672] = +static yyconst flex_uint16_t yy_nxt[1709] = { 0, 4, 5, 6, 5, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 21, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 35, 35, 37, 38, - 39, 35, 40, 35, 41, 42, 43, 44, 35, 45, - 35, 35, 35, 4, 35, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 35, 35, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 35, 65, 35, 35, - 35, 66, 67, 70, 67, 82, 86, 89, 108, 115, - 91, 116, 92, 92, 92, 87, 112, 109, 103, 90, - - 113, 67, 117, 67, 201, 93, 104, 118, 105, 114, - 119, 110, 120, 106, 111, 107, 108, 115, 310, 116, - 121, 95, 96, 97, 112, 109, 103, 311, 113, 83, - 117, 71, 73, 93, 104, 118, 105, 114, 119, 110, - 120, 106, 111, 107, 74, 74, 74, 463, 121, 464, - 99, 100, 122, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 98, - 122, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 76, 76, 77, 78, 76, 76, 76, 76, 76, 79, - - 76, 76, 76, 80, 76, 76, 76, 101, 123, 124, - 126, 127, 128, 125, 173, 70, 109, 302, 215, 108, - 200, 200, 200, 82, 102, 119, 319, 174, 303, 175, - 110, 268, 269, 111, 117, 320, 123, 124, 126, 127, - 128, 125, 103, 167, 109, 159, 215, 135, 139, 160, - 104, 136, 105, 168, 137, 140, 161, 106, 141, 107, - 138, 111, 117, 71, 142, 126, 306, 83, 129, 130, - 103, 328, 307, 116, 115, 112, 666, 329, 131, 113, - 132, 121, 667, 191, 133, 106, 134, 107, 114, 120, - 147, 118, 148, 192, 149, 153, 150, 170, 154, 143, - - 151, 155, 152, 144, 156, 157, 122, 113, 123, 171, - 158, 163, 164, 145, 176, 172, 146, 120, 342, 165, - 216, 124, 343, 128, 166, 125, 217, 169, 244, 289, - 218, 177, 180, 324, 178, 127, 181, 338, 1042, 219, - 1036, 325, 290, 195, 333, 245, 182, 339, 216, 124, - 196, 197, 183, 184, 217, 334, 185, 186, 218, 220, - 198, 193, 221, 127, 187, 188, 194, 219, 189, 190, - 207, 207, 207, 91, 222, 92, 92, 92, 223, 209, - 224, 209, 226, 208, 210, 210, 210, 220, 93, 225, - 221, 227, 228, 229, 230, 231, 232, 233, 234, 235, - - 236, 237, 222, 240, 238, 241, 223, 242, 224, 220, - 226, 208, 239, 217, 216, 229, 93, 225, 222, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - 224, 240, 238, 241, 246, 242, 1035, 220, 1029, 225, - 239, 217, 216, 229, 247, 228, 256, 257, 227, 231, - 250, 235, 258, 232, 259, 330, 234, 278, 262, 263, - 238, 264, 273, 308, 266, 1028, 274, 225, 239, 331, - 335, 240, 332, 275, 377, 377, 227, 287, 288, 235, - 291, 232, 1027, 336, 234, 292, 296, 1020, 238, 236, - 242, 353, 1019, 293, 322, 323, 239, 400, 417, 337, - - 297, 298, 299, 300, 312, 401, 313, 200, 200, 200, - 314, 418, 344, 498, 498, 315, 354, 236, 242, 353, - 316, 355, 317, 318, 207, 207, 207, 351, 356, 351, - 357, 358, 352, 352, 352, 359, 360, 208, 210, 210, - 210, 210, 210, 210, 354, 361, 362, 363, 364, 355, - 365, 366, 367, 368, 369, 370, 356, 371, 357, 358, - 372, 373, 374, 359, 360, 208, 375, 376, 378, 379, - 380, 360, 362, 361, 362, 363, 364, 366, 365, 366, - 367, 368, 369, 370, 369, 371, 378, 396, 372, 373, - 374, 397, 483, 439, 375, 376, 378, 379, 380, 392, - - 362, 440, 484, 398, 443, 366, 485, 444, 352, 352, - 352, 486, 369, 487, 470, 352, 352, 352, 488, 489, - 483, 490, 491, 492, 493, 494, 495, 422, 496, 497, - 484, 499, 500, 501, 485, 502, 503, 504, 508, 486, - 509, 487, 377, 377, 489, 508, 488, 489, 1018, 490, - 491, 492, 493, 494, 495, 598, 496, 497, 582, 499, - 500, 501, 583, 502, 503, 504, 508, 599, 509, 505, - 600, 601, 489, 587, 602, 603, 518, 604, 605, 606, - 607, 608, 610, 598, 506, 611, 507, 498, 498, 612, - 613, 614, 615, 616, 617, 599, 618, 505, 600, 601, - - 617, 669, 602, 603, 694, 604, 605, 606, 607, 608, - 610, 1017, 506, 611, 507, 670, 695, 612, 613, 614, - 615, 616, 617, 658, 618, 696, 697, 699, 617, 659, - 700, 609, 694, 698, 698, 701, 702, 703, 704, 660, - 705, 706, 707, 708, 695, 709, 720, 721, 770, 771, - 766, 772, 772, 696, 697, 699, 767, 779, 700, 609, - 780, 780, 781, 701, 702, 703, 704, 782, 705, 706, - 707, 708, 783, 709, 784, 785, 770, 771, 786, 787, - 825, 826, 772, 772, 828, 779, 829, 830, 831, 836, - 781, 834, 722, 698, 698, 782, 832, 838, 835, 1007, - - 783, 1006, 784, 785, 780, 780, 786, 787, 825, 826, - 839, 840, 828, 833, 829, 830, 831, 836, 841, 834, - 842, 827, 870, 773, 832, 838, 835, 774, 872, 775, - 871, 871, 776, 777, 873, 874, 875, 778, 839, 840, - 877, 833, 876, 876, 837, 878, 841, 879, 842, 827, - 870, 773, 880, 881, 882, 774, 872, 775, 883, 883, - 776, 777, 873, 874, 875, 778, 884, 885, 877, 886, - 906, 906, 837, 878, 908, 879, 871, 871, 909, 910, - 880, 881, 882, 876, 876, 912, 913, 914, 915, 916, - 917, 923, 883, 883, 884, 885, 920, 886, 921, 906, - - 906, 942, 908, 943, 924, 944, 909, 910, 1005, 945, - 946, 947, 948, 912, 913, 914, 915, 916, 917, 907, - 918, 949, 950, 951, 920, 911, 921, 952, 953, 942, - 954, 943, 968, 944, 941, 969, 919, 945, 946, 947, - 948, 970, 971, 972, 973, 974, 975, 907, 918, 949, - 950, 951, 977, 911, 978, 952, 953, 979, 954, 980, - 968, 989, 941, 969, 919, 976, 976, 990, 991, 970, - 971, 972, 973, 974, 975, 992, 993, 994, 995, 996, - 977, 998, 978, 976, 976, 979, 999, 980, 1000, 989, - 1001, 1008, 1008, 1009, 1010, 990, 991, 1011, 1004, 1012, - - 1013, 1014, 1015, 992, 993, 994, 995, 996, 1016, 998, - 1008, 1008, 1022, 1023, 999, 1024, 1000, 1025, 1001, 1003, - 1026, 1009, 1010, 1030, 1031, 1011, 997, 1012, 1013, 1014, - 1015, 1032, 1033, 1034, 1037, 1038, 1016, 1039, 1039, 1040, - 1022, 1023, 1041, 1024, 1043, 1025, 1044, 1021, 1026, 1039, - 1039, 1030, 1031, 1045, 997, 1002, 1046, 988, 1047, 1032, - 1033, 1034, 1037, 1038, 1048, 987, 1049, 1040, 1050, 1051, - 1041, 1052, 1043, 1053, 1044, 1021, 1054, 1055, 1056, 773, - 986, 1045, 985, 774, 1046, 775, 1047, 984, 983, 777, - 982, 981, 1048, 778, 1049, 967, 1050, 1051, 966, 1052, - - 965, 1053, 964, 963, 1054, 1055, 1056, 773, 962, 961, - 960, 774, 959, 775, 958, 957, 956, 777, 955, 940, - 939, 778, 69, 69, 69, 69, 72, 72, 938, 72, - 81, 81, 81, 81, 202, 937, 202, 202, 936, 935, - 934, 933, 932, 931, 930, 929, 928, 927, 926, 925, - 922, 905, 904, 903, 902, 901, 900, 899, 898, 897, - 896, 895, 894, 893, 892, 891, 890, 889, 888, 887, - 869, 868, 867, 866, 865, 864, 863, 862, 861, 860, - 859, 858, 857, 856, 855, 854, 853, 852, 851, 850, - 849, 848, 847, 846, 845, 844, 843, 824, 823, 822, - - 821, 820, 819, 818, 817, 816, 815, 814, 813, 812, - 811, 810, 809, 808, 807, 806, 805, 804, 803, 802, - 801, 800, 799, 798, 797, 796, 795, 794, 793, 792, - 791, 790, 789, 788, 769, 768, 765, 764, 763, 762, - 761, 760, 759, 758, 757, 756, 755, 754, 753, 752, - 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, - 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, - 731, 730, 729, 728, 727, 726, 725, 724, 723, 719, - 718, 717, 716, 715, 714, 713, 712, 711, 710, 693, - 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, - - 682, 681, 680, 679, 678, 677, 676, 675, 674, 673, - 672, 671, 668, 665, 664, 663, 662, 661, 657, 656, - 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, - 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, - 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, - 625, 624, 623, 622, 621, 620, 619, 597, 596, 595, - 594, 593, 592, 591, 590, 589, 588, 586, 585, 584, - 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, - 571, 570, 569, 568, 567, 566, 565, 564, 563, 562, - 561, 560, 559, 558, 557, 556, 555, 554, 553, 552, - - 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, - 541, 540, 539, 538, 537, 536, 535, 534, 533, 532, - 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, - 521, 520, 519, 517, 516, 515, 514, 513, 512, 511, - 510, 482, 481, 480, 479, 478, 477, 476, 475, 474, - 473, 472, 471, 469, 468, 467, 466, 465, 462, 461, - 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, - 450, 449, 448, 447, 446, 445, 442, 441, 438, 437, - 436, 435, 434, 433, 432, 431, 430, 429, 428, 427, - 426, 425, 424, 423, 421, 420, 419, 416, 415, 414, - - 413, 412, 411, 410, 409, 408, 407, 406, 405, 404, - 403, 402, 399, 395, 394, 393, 391, 390, 389, 388, - 387, 386, 385, 384, 383, 382, 381, 350, 349, 348, - 347, 346, 345, 341, 340, 327, 326, 321, 309, 305, - 304, 301, 295, 294, 286, 285, 284, 283, 282, 281, - 280, 279, 277, 276, 272, 271, 270, 267, 265, 261, - 260, 255, 254, 253, 252, 251, 249, 248, 243, 214, - 213, 212, 211, 1057, 206, 205, 204, 203, 1057, 199, - 179, 162, 94, 88, 85, 84, 68, 1057, 3, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057 + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 23, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 37, 37, + 39, 40, 41, 37, 42, 37, 43, 44, 45, 46, + 37, 47, 37, 37, 37, 4, 48, 37, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 37, 37, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 37, + 68, 37, 37, 37, 69, 70, 71, 74, 71, 86, + 90, 93, 104, 105, 95, 113, 96, 96, 96, 96, + + 91, 274, 275, 95, 94, 96, 96, 96, 96, 295, + 97, 120, 121, 117, 122, 123, 124, 118, 125, 97, + 126, 71, 296, 71, 113, 308, 119, 127, 128, 98, + 100, 101, 102, 469, 87, 470, 309, 75, 77, 97, + 120, 121, 117, 122, 123, 124, 118, 125, 97, 126, + 106, 78, 78, 78, 78, 119, 127, 128, 98, 131, + 216, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 74, 131, 103, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + + 80, 81, 82, 80, 80, 80, 80, 80, 83, 80, + 80, 80, 84, 80, 80, 80, 108, 129, 114, 132, + 133, 130, 123, 124, 109, 178, 110, 1048, 312, 125, + 113, 111, 115, 112, 313, 116, 86, 75, 179, 1042, + 180, 221, 172, 168, 169, 108, 129, 114, 132, 133, + 130, 170, 173, 109, 222, 110, 171, 114, 125, 140, + 111, 115, 112, 141, 116, 108, 142, 250, 174, 131, + 221, 115, 143, 109, 116, 110, 205, 205, 205, 205, + 111, 87, 112, 222, 251, 348, 114, 223, 196, 349, + 144, 330, 134, 135, 108, 121, 120, 145, 197, 331, + + 146, 117, 136, 116, 137, 118, 147, 224, 138, 111, + 139, 112, 1041, 152, 119, 153, 223, 154, 158, 155, + 126, 159, 127, 156, 160, 157, 148, 161, 162, 122, + 149, 181, 128, 163, 118, 132, 224, 175, 1035, 225, + 150, 164, 339, 151, 226, 165, 129, 227, 182, 176, + 130, 183, 166, 340, 1034, 177, 228, 185, 122, 133, + 229, 186, 198, 232, 132, 383, 383, 199, 225, 316, + 675, 187, 325, 226, 233, 129, 227, 188, 317, 189, + 200, 326, 190, 191, 676, 228, 1033, 201, 202, 229, + 192, 193, 232, 234, 194, 195, 235, 203, 212, 212, + + 212, 212, 95, 233, 96, 96, 96, 96, 214, 236, + 214, 230, 213, 215, 215, 215, 215, 237, 97, 238, + 231, 239, 234, 240, 241, 235, 242, 243, 244, 246, + 247, 248, 223, 222, 226, 406, 245, 228, 236, 334, + 230, 213, 235, 407, 1026, 335, 237, 97, 238, 231, + 239, 234, 240, 241, 252, 242, 243, 244, 246, 247, + 248, 223, 222, 226, 253, 245, 262, 263, 230, 279, + 233, 235, 264, 280, 265, 237, 256, 231, 336, 238, + 281, 241, 240, 344, 1025, 284, 1024, 272, 244, 341, + 246, 1023, 337, 345, 314, 338, 245, 268, 269, 233, + + 270, 445, 342, 248, 293, 294, 231, 297, 238, 446, + 241, 240, 298, 302, 359, 242, 360, 244, 402, 343, + 299, 423, 403, 328, 329, 245, 350, 303, 304, 305, + 306, 318, 248, 319, 424, 361, 1013, 320, 205, 205, + 205, 205, 321, 359, 242, 360, 362, 322, 363, 323, + 324, 212, 212, 212, 212, 357, 364, 357, 365, 366, + 358, 358, 358, 358, 361, 213, 215, 215, 215, 215, + 215, 215, 215, 215, 367, 362, 368, 363, 369, 370, + 371, 372, 373, 374, 375, 364, 376, 365, 366, 377, + 378, 379, 380, 381, 213, 382, 384, 385, 386, 366, + + 368, 372, 375, 367, 384, 368, 1012, 369, 370, 371, + 372, 373, 374, 375, 449, 376, 489, 450, 377, 378, + 379, 380, 381, 490, 382, 384, 385, 386, 398, 368, + 372, 375, 404, 476, 358, 358, 358, 358, 358, 358, + 358, 358, 491, 492, 493, 489, 428, 494, 495, 496, + 497, 498, 490, 499, 500, 501, 502, 503, 504, 504, + 505, 506, 507, 508, 509, 510, 383, 383, 514, 515, + 495, 491, 492, 493, 1011, 514, 494, 495, 496, 497, + 498, 1010, 499, 500, 501, 502, 503, 604, 605, 505, + 506, 507, 508, 509, 510, 511, 588, 514, 515, 495, + + 589, 606, 607, 524, 593, 608, 609, 610, 611, 612, + 512, 613, 513, 614, 504, 504, 604, 605, 616, 617, + 618, 619, 620, 621, 511, 622, 623, 624, 1009, 623, + 606, 607, 700, 701, 608, 609, 610, 611, 612, 512, + 613, 513, 614, 702, 703, 704, 704, 616, 617, 618, + 619, 620, 621, 664, 622, 623, 624, 672, 623, 665, + 615, 700, 701, 673, 705, 706, 707, 708, 709, 666, + 710, 711, 702, 703, 712, 713, 714, 715, 726, 727, + 772, 776, 777, 778, 778, 785, 773, 786, 786, 615, + 787, 788, 789, 705, 706, 707, 708, 709, 1008, 710, + + 711, 790, 791, 712, 713, 714, 715, 792, 793, 831, + 776, 777, 832, 834, 785, 778, 778, 835, 836, 787, + 788, 789, 837, 842, 786, 786, 728, 704, 704, 844, + 790, 791, 838, 845, 994, 846, 792, 793, 831, 877, + 877, 832, 834, 840, 993, 847, 835, 836, 848, 839, + 841, 837, 842, 876, 878, 879, 833, 880, 844, 779, + 881, 838, 845, 780, 846, 781, 843, 883, 782, 783, + 882, 882, 840, 784, 847, 884, 885, 848, 839, 841, + 886, 887, 876, 878, 879, 833, 880, 888, 779, 881, + 889, 889, 780, 890, 781, 843, 883, 782, 783, 891, + + 892, 914, 784, 915, 884, 885, 912, 912, 916, 886, + 887, 877, 877, 882, 882, 918, 888, 919, 920, 921, + 922, 923, 890, 889, 889, 926, 927, 929, 891, 892, + 914, 948, 915, 912, 912, 949, 950, 916, 951, 952, + 930, 992, 953, 954, 918, 955, 919, 920, 921, 922, + 923, 956, 957, 924, 926, 927, 913, 917, 958, 959, + 948, 960, 974, 975, 949, 950, 976, 951, 952, 925, + 947, 953, 954, 977, 955, 978, 979, 980, 981, 983, + 956, 957, 924, 982, 982, 913, 917, 958, 959, 984, + 960, 974, 975, 985, 986, 976, 995, 996, 925, 947, + + 997, 998, 977, 999, 978, 979, 980, 981, 983, 1000, + 1001, 1002, 982, 982, 1004, 1005, 1006, 1007, 984, 1014, + 1014, 1015, 985, 986, 1016, 995, 996, 1017, 991, 997, + 998, 1018, 999, 1019, 1020, 1021, 1022, 1028, 1000, 1001, + 1002, 1014, 1014, 1004, 1005, 1006, 1007, 1029, 1030, 1031, + 1015, 990, 1032, 1016, 1036, 1037, 1017, 1003, 1038, 1039, + 1018, 1040, 1019, 1020, 1021, 1022, 1028, 1043, 1044, 1045, + 1045, 1046, 1047, 1049, 1050, 1051, 1029, 1030, 1031, 1052, + 1027, 1032, 1053, 1036, 1037, 1054, 1003, 1038, 1039, 1055, + 1040, 1045, 1045, 1056, 989, 1057, 1043, 1044, 988, 1058, + + 1046, 1047, 1049, 1050, 1051, 1059, 1060, 1061, 1052, 1027, + 1062, 1053, 987, 973, 1054, 972, 971, 970, 1055, 969, + 968, 967, 1056, 779, 1057, 966, 965, 780, 1058, 781, + 964, 963, 962, 783, 1059, 1060, 1061, 784, 961, 1062, + 946, 945, 944, 943, 942, 941, 940, 939, 938, 937, + 936, 935, 779, 934, 933, 932, 780, 931, 781, 928, + 911, 910, 783, 909, 908, 907, 784, 73, 73, 73, + 73, 73, 76, 76, 906, 76, 76, 85, 85, 85, + 85, 85, 107, 107, 206, 206, 207, 905, 207, 207, + 207, 904, 903, 902, 901, 900, 899, 898, 897, 896, + + 895, 894, 893, 875, 874, 873, 872, 871, 870, 869, + 868, 867, 866, 865, 864, 863, 862, 861, 860, 859, + 858, 857, 856, 855, 854, 853, 852, 851, 850, 849, + 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, + 820, 819, 818, 817, 816, 815, 814, 813, 812, 811, + 810, 809, 808, 807, 806, 805, 804, 803, 802, 801, + 800, 799, 798, 797, 796, 795, 794, 775, 774, 771, + 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, + 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, + 750, 749, 748, 747, 746, 745, 744, 743, 742, 741, + + 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, + 730, 729, 725, 724, 723, 722, 721, 720, 719, 718, + 717, 716, 699, 698, 697, 696, 695, 694, 693, 692, + 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, + 681, 680, 679, 678, 677, 674, 671, 670, 669, 668, + 667, 663, 662, 661, 660, 659, 658, 657, 656, 655, + 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, + 644, 643, 642, 641, 640, 639, 638, 637, 636, 635, + 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, + 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, + + 592, 591, 590, 587, 586, 585, 584, 583, 582, 581, + 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, + 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, + 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, + 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, + 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, + 530, 529, 528, 527, 526, 525, 523, 522, 521, 520, + 519, 518, 517, 516, 488, 487, 486, 485, 484, 483, + 482, 481, 480, 479, 478, 477, 475, 474, 473, 472, + 471, 468, 467, 466, 465, 464, 463, 462, 461, 460, + + 459, 458, 457, 456, 455, 454, 453, 452, 451, 448, + 447, 444, 443, 442, 441, 440, 439, 438, 437, 436, + 435, 434, 433, 432, 431, 430, 429, 427, 426, 425, + 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, + 412, 411, 410, 409, 408, 405, 401, 400, 399, 397, + 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, + 356, 355, 354, 353, 352, 351, 347, 346, 333, 332, + 327, 315, 311, 310, 307, 301, 300, 292, 291, 290, + 289, 288, 287, 286, 285, 283, 282, 278, 277, 276, + 273, 271, 267, 266, 261, 260, 259, 258, 257, 255, + + 254, 249, 220, 219, 218, 217, 1063, 211, 210, 209, + 208, 1063, 204, 184, 167, 99, 92, 89, 88, 72, + 1063, 3, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063 } ; -static yyconst flex_int16_t yy_chk[1672] = +static yyconst flex_int16_t yy_chk[1709] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -957,182 +962,186 @@ static yyconst flex_int16_t yy_chk[1672] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 5, 8, 5, 12, 18, 20, 29, 32, - 21, 33, 21, 21, 21, 18, 31, 30, 28, 20, - - 31, 67, 34, 67, 1062, 21, 28, 36, 28, 31, - 37, 30, 38, 28, 30, 28, 29, 32, 180, 33, - 39, 24, 24, 24, 31, 30, 28, 180, 31, 12, - 34, 8, 10, 21, 28, 36, 28, 31, 37, 30, - 38, 28, 30, 28, 10, 10, 10, 330, 39, 330, - 26, 26, 40, 10, 10, 10, 10, 10, 10, 10, + 1, 1, 1, 1, 1, 1, 5, 8, 5, 13, + 19, 21, 28, 28, 22, 31, 22, 22, 22, 22, + + 19, 153, 153, 23, 21, 23, 23, 23, 23, 172, + 22, 34, 35, 33, 36, 38, 39, 33, 40, 23, + 41, 71, 172, 71, 31, 178, 33, 42, 43, 22, + 26, 26, 26, 336, 13, 336, 178, 8, 10, 22, + 34, 35, 33, 36, 38, 39, 33, 40, 23, 41, + 28, 10, 10, 10, 10, 33, 42, 43, 22, 45, + 1070, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 24, - 40, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 73, 45, 26, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 26, 41, 42, - 43, 44, 45, 42, 58, 69, 48, 173, 103, 47, - 74, 74, 74, 81, 1061, 55, 182, 58, 173, 58, - 48, 148, 148, 48, 52, 182, 41, 42, 43, 44, - 45, 42, 46, 55, 48, 52, 103, 47, 48, 52, - 46, 47, 46, 55, 47, 48, 52, 46, 48, 46, - 47, 48, 52, 69, 48, 63, 177, 81, 46, 46, - 46, 188, 177, 51, 50, 49, 565, 188, 46, 49, - 46, 57, 565, 63, 46, 46, 46, 46, 49, 56, - 50, 54, 50, 63, 50, 51, 50, 57, 51, 49, - - 50, 51, 50, 49, 51, 51, 59, 49, 61, 57, - 51, 54, 54, 49, 59, 57, 49, 56, 196, 54, - 104, 62, 196, 65, 54, 62, 105, 56, 130, 167, - 106, 59, 61, 185, 59, 64, 61, 193, 1035, 107, - 1029, 185, 167, 65, 190, 130, 61, 193, 104, 62, - 65, 65, 61, 62, 105, 190, 62, 62, 106, 108, - 65, 64, 109, 64, 62, 62, 64, 107, 62, 62, - 91, 91, 91, 92, 110, 92, 92, 92, 111, 93, - 112, 93, 113, 91, 93, 93, 93, 108, 92, 112, - 109, 114, 115, 116, 117, 118, 119, 120, 121, 122, - - 123, 124, 110, 126, 125, 127, 111, 128, 112, 135, - 113, 91, 125, 132, 131, 155, 92, 112, 141, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 144, 126, 125, 127, 131, 128, 1027, 135, 1020, 144, - 125, 132, 131, 155, 132, 152, 141, 141, 146, 165, - 135, 178, 141, 168, 141, 189, 171, 155, 144, 144, - 184, 144, 152, 178, 146, 1019, 152, 144, 184, 189, - 191, 192, 189, 152, 239, 239, 146, 165, 165, 178, - 168, 168, 1017, 191, 171, 168, 171, 1006, 184, 181, - 197, 215, 1005, 168, 184, 184, 184, 264, 283, 192, - - 171, 171, 171, 171, 181, 264, 181, 200, 200, 200, - 181, 283, 197, 370, 370, 181, 216, 181, 197, 215, - 181, 217, 181, 181, 207, 207, 207, 208, 218, 208, - 219, 220, 208, 208, 208, 221, 222, 207, 209, 209, - 209, 210, 210, 210, 216, 223, 224, 225, 226, 217, - 227, 228, 229, 230, 231, 232, 218, 233, 219, 220, - 234, 235, 236, 221, 222, 207, 237, 238, 240, 241, - 242, 256, 262, 223, 224, 225, 226, 275, 227, 228, - 229, 230, 231, 232, 287, 233, 337, 261, 234, 235, - 236, 261, 353, 306, 237, 238, 240, 241, 242, 256, - - 262, 306, 354, 262, 309, 275, 355, 309, 351, 351, - 351, 356, 287, 357, 337, 352, 352, 352, 358, 360, - 353, 361, 362, 363, 364, 366, 367, 287, 368, 369, - 354, 371, 372, 373, 355, 374, 375, 376, 378, 356, - 379, 357, 377, 377, 392, 470, 358, 360, 1003, 361, - 362, 363, 364, 366, 367, 483, 368, 369, 464, 371, - 372, 373, 464, 374, 375, 376, 378, 485, 379, 377, - 486, 489, 392, 470, 490, 491, 392, 492, 493, 494, - 495, 497, 500, 483, 377, 502, 377, 498, 498, 503, - 504, 505, 506, 507, 508, 485, 509, 377, 486, 489, - - 587, 567, 490, 491, 598, 492, 493, 494, 495, 497, - 500, 1002, 377, 502, 377, 567, 599, 503, 504, 505, - 506, 507, 508, 558, 509, 600, 601, 603, 587, 558, - 605, 498, 598, 602, 602, 606, 607, 609, 610, 558, - 612, 614, 615, 616, 599, 617, 635, 635, 694, 696, - 691, 697, 697, 600, 601, 603, 691, 700, 605, 498, - 701, 701, 702, 606, 607, 609, 610, 703, 612, 614, - 615, 616, 705, 617, 706, 707, 694, 696, 708, 709, - 770, 771, 772, 772, 773, 700, 774, 775, 776, 779, - 702, 778, 635, 698, 698, 703, 777, 781, 778, 988, - - 705, 986, 706, 707, 780, 780, 708, 709, 770, 771, - 782, 783, 773, 777, 774, 775, 776, 779, 784, 778, - 786, 772, 825, 698, 777, 781, 778, 698, 827, 698, - 826, 826, 698, 698, 828, 829, 830, 698, 782, 783, - 832, 777, 831, 831, 780, 833, 784, 834, 786, 772, - 825, 698, 835, 836, 837, 698, 827, 698, 838, 838, - 698, 698, 828, 829, 830, 698, 839, 841, 832, 842, - 870, 870, 780, 833, 873, 834, 871, 871, 874, 875, - 835, 836, 837, 876, 876, 877, 878, 879, 880, 881, - 882, 888, 883, 883, 839, 841, 885, 842, 886, 906, - - 906, 907, 873, 908, 888, 910, 874, 875, 985, 911, - 912, 913, 914, 877, 878, 879, 880, 881, 882, 871, - 883, 916, 917, 918, 885, 876, 886, 919, 920, 907, - 921, 908, 941, 910, 906, 942, 883, 911, 912, 913, - 914, 943, 944, 945, 946, 947, 948, 871, 883, 916, - 917, 918, 951, 876, 952, 919, 920, 953, 921, 954, - 941, 968, 906, 942, 883, 949, 949, 969, 970, 943, - 944, 945, 946, 947, 948, 971, 972, 973, 974, 975, - 951, 977, 952, 976, 976, 953, 978, 954, 979, 968, - 980, 989, 989, 990, 991, 969, 970, 993, 983, 995, - - 997, 998, 999, 971, 972, 973, 974, 975, 1001, 977, - 1008, 1008, 1009, 1011, 978, 1012, 979, 1013, 980, 982, - 1014, 990, 991, 1021, 1022, 993, 976, 995, 997, 998, - 999, 1023, 1025, 1026, 1030, 1031, 1001, 1032, 1032, 1033, - 1009, 1011, 1034, 1012, 1037, 1013, 1038, 1008, 1014, 1039, - 1039, 1021, 1022, 1040, 976, 981, 1043, 966, 1044, 1023, - 1025, 1026, 1030, 1031, 1045, 965, 1046, 1033, 1048, 1049, - 1034, 1050, 1037, 1051, 1038, 1008, 1052, 1053, 1055, 1039, - 963, 1040, 962, 1039, 1043, 1039, 1044, 959, 957, 1039, - 956, 955, 1045, 1039, 1046, 940, 1048, 1049, 939, 1050, - - 937, 1051, 935, 934, 1052, 1053, 1055, 1039, 933, 932, - 931, 1039, 930, 1039, 926, 924, 923, 1039, 922, 905, - 904, 1039, 1058, 1058, 1058, 1058, 1059, 1059, 903, 1059, - 1060, 1060, 1060, 1060, 1063, 902, 1063, 1063, 900, 899, - 898, 897, 896, 895, 894, 893, 892, 891, 890, 889, - 887, 868, 867, 865, 864, 863, 862, 860, 858, 855, - 854, 853, 852, 851, 850, 849, 847, 845, 844, 843, - 823, 822, 819, 818, 816, 815, 814, 812, 811, 810, - 809, 807, 806, 804, 802, 801, 800, 799, 798, 797, - 796, 795, 793, 792, 790, 789, 788, 767, 766, 765, - - 764, 763, 759, 758, 756, 755, 754, 753, 752, 750, - 748, 747, 746, 744, 743, 742, 740, 739, 738, 737, - 735, 734, 732, 731, 728, 727, 726, 725, 719, 716, - 715, 714, 713, 710, 693, 692, 690, 689, 688, 687, - 686, 685, 683, 682, 680, 679, 678, 677, 676, 675, - 673, 672, 671, 670, 669, 668, 667, 666, 664, 662, - 661, 660, 659, 657, 656, 655, 654, 653, 652, 651, - 649, 648, 647, 645, 644, 642, 639, 638, 636, 634, - 630, 629, 628, 626, 625, 624, 622, 621, 620, 597, - 596, 593, 592, 590, 589, 588, 586, 585, 584, 583, - - 582, 580, 579, 577, 576, 575, 574, 572, 571, 570, - 569, 568, 566, 564, 562, 561, 560, 559, 557, 556, - 554, 553, 552, 551, 550, 548, 547, 546, 545, 544, - 543, 542, 541, 540, 539, 538, 537, 536, 534, 533, - 531, 530, 529, 528, 527, 526, 525, 524, 523, 522, - 521, 519, 518, 516, 515, 512, 511, 482, 481, 480, - 479, 478, 477, 476, 473, 472, 471, 469, 467, 466, - 463, 461, 460, 459, 458, 457, 456, 455, 454, 453, - 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, - 442, 441, 440, 439, 438, 437, 436, 435, 433, 432, - - 431, 430, 429, 428, 426, 425, 423, 422, 421, 420, - 419, 418, 417, 416, 415, 414, 413, 411, 409, 408, - 407, 406, 405, 404, 402, 401, 400, 399, 398, 396, - 395, 394, 393, 389, 387, 386, 385, 384, 383, 382, - 381, 350, 349, 348, 347, 345, 344, 343, 342, 341, - 340, 339, 338, 336, 335, 333, 332, 331, 329, 328, - 327, 325, 324, 323, 322, 321, 320, 319, 318, 317, - 316, 315, 314, 313, 312, 310, 308, 307, 305, 304, - 303, 302, 301, 299, 298, 297, 296, 295, 294, 293, - 291, 290, 289, 288, 286, 285, 284, 282, 281, 280, - - 278, 277, 276, 274, 273, 272, 271, 270, 268, 267, - 266, 265, 263, 260, 259, 257, 255, 254, 253, 252, - 251, 250, 249, 248, 245, 244, 243, 206, 205, 204, - 203, 199, 198, 195, 194, 187, 186, 183, 179, 176, - 174, 172, 170, 169, 164, 162, 161, 160, 159, 158, - 157, 156, 154, 153, 151, 150, 149, 147, 145, 143, - 142, 140, 139, 138, 137, 136, 134, 133, 129, 101, - 100, 98, 95, 83, 80, 79, 78, 77, 71, 66, - 60, 53, 22, 19, 16, 15, 7, 3, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057 + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 30, 44, 32, 46, + 47, 44, 57, 58, 30, 61, 30, 1041, 182, 59, + 50, 30, 32, 30, 182, 32, 85, 73, 61, 1035, + 61, 108, 58, 57, 57, 30, 44, 32, 46, 47, + 44, 57, 58, 30, 109, 30, 57, 51, 59, 50, + 30, 32, 30, 50, 32, 49, 50, 135, 59, 66, + 108, 51, 50, 49, 51, 49, 78, 78, 78, 78, + 49, 85, 49, 109, 135, 201, 51, 110, 66, 201, + 51, 190, 49, 49, 49, 54, 53, 51, 66, 190, + + 51, 52, 49, 51, 49, 52, 51, 111, 49, 49, + 49, 49, 1033, 53, 52, 53, 110, 53, 54, 53, + 60, 54, 62, 53, 54, 53, 52, 54, 54, 55, + 52, 62, 64, 54, 52, 67, 111, 60, 1026, 112, + 52, 55, 195, 52, 113, 55, 65, 114, 62, 60, + 65, 62, 55, 195, 1025, 60, 115, 64, 55, 68, + 116, 64, 67, 118, 67, 245, 245, 67, 112, 185, + 573, 64, 187, 113, 119, 65, 114, 64, 185, 65, + 68, 187, 65, 65, 573, 115, 1023, 68, 68, 116, + 65, 65, 118, 120, 65, 65, 121, 68, 95, 95, + + 95, 95, 96, 119, 96, 96, 96, 96, 97, 122, + 97, 117, 95, 97, 97, 97, 97, 123, 96, 124, + 117, 125, 120, 126, 127, 121, 128, 129, 130, 131, + 132, 133, 137, 136, 140, 270, 130, 146, 122, 193, + 117, 95, 160, 270, 1012, 193, 123, 96, 124, 117, + 125, 157, 126, 127, 136, 128, 129, 130, 131, 132, + 133, 137, 136, 140, 137, 130, 146, 146, 149, 157, + 151, 160, 146, 157, 146, 170, 140, 149, 194, 173, + 157, 183, 176, 198, 1011, 160, 1009, 151, 189, 196, + 197, 1008, 194, 198, 183, 194, 189, 149, 149, 151, + + 149, 312, 196, 202, 170, 170, 149, 173, 173, 312, + 183, 176, 173, 176, 221, 186, 222, 189, 267, 197, + 173, 289, 267, 189, 189, 189, 202, 176, 176, 176, + 176, 186, 202, 186, 289, 223, 994, 186, 205, 205, + 205, 205, 186, 221, 186, 222, 224, 186, 225, 186, + 186, 212, 212, 212, 212, 213, 226, 213, 227, 228, + 213, 213, 213, 213, 223, 212, 214, 214, 214, 214, + 215, 215, 215, 215, 229, 224, 230, 225, 231, 232, + 233, 234, 235, 236, 237, 226, 238, 227, 228, 239, + 240, 241, 242, 243, 212, 244, 246, 247, 248, 262, + + 268, 281, 293, 229, 343, 230, 992, 231, 232, 233, + 234, 235, 236, 237, 315, 238, 359, 315, 239, 240, + 241, 242, 243, 360, 244, 246, 247, 248, 262, 268, + 281, 293, 268, 343, 357, 357, 357, 357, 358, 358, + 358, 358, 361, 362, 363, 359, 293, 364, 366, 367, + 368, 369, 360, 370, 372, 373, 374, 375, 376, 376, + 377, 378, 379, 380, 381, 382, 383, 383, 384, 385, + 398, 361, 362, 363, 991, 476, 364, 366, 367, 368, + 369, 989, 370, 372, 373, 374, 375, 489, 491, 377, + 378, 379, 380, 381, 382, 383, 470, 384, 385, 398, + + 470, 492, 495, 398, 476, 496, 497, 498, 499, 500, + 383, 501, 383, 503, 504, 504, 489, 491, 506, 508, + 509, 510, 511, 512, 383, 513, 514, 515, 988, 593, + 492, 495, 604, 605, 496, 497, 498, 499, 500, 383, + 501, 383, 503, 606, 607, 608, 608, 506, 508, 509, + 510, 511, 512, 564, 513, 514, 515, 571, 593, 564, + 504, 604, 605, 571, 609, 611, 612, 613, 615, 564, + 616, 618, 606, 607, 620, 621, 622, 623, 641, 641, + 697, 700, 702, 703, 703, 706, 697, 707, 707, 504, + 708, 709, 711, 609, 611, 612, 613, 615, 987, 616, + + 618, 712, 713, 620, 621, 622, 623, 714, 715, 776, + 700, 702, 777, 779, 706, 778, 778, 780, 781, 708, + 709, 711, 782, 785, 786, 786, 641, 704, 704, 787, + 712, 713, 783, 788, 972, 789, 714, 715, 776, 832, + 832, 777, 779, 784, 971, 790, 780, 781, 792, 783, + 784, 782, 785, 831, 833, 834, 778, 835, 787, 704, + 836, 783, 788, 704, 789, 704, 786, 838, 704, 704, + 837, 837, 784, 704, 790, 839, 840, 792, 783, 784, + 841, 842, 831, 833, 834, 778, 835, 843, 704, 836, + 844, 844, 704, 845, 704, 786, 838, 704, 704, 847, + + 848, 879, 704, 880, 839, 840, 876, 876, 881, 841, + 842, 877, 877, 882, 882, 883, 843, 884, 885, 886, + 887, 888, 845, 889, 889, 891, 892, 894, 847, 848, + 879, 913, 880, 912, 912, 914, 916, 881, 917, 918, + 894, 969, 919, 920, 883, 922, 884, 885, 886, 887, + 888, 923, 924, 889, 891, 892, 877, 882, 925, 926, + 913, 927, 947, 948, 914, 916, 949, 917, 918, 889, + 912, 919, 920, 950, 922, 951, 952, 953, 954, 957, + 923, 924, 889, 955, 955, 877, 882, 925, 926, 958, + 927, 947, 948, 959, 960, 949, 974, 975, 889, 912, + + 976, 977, 950, 978, 951, 952, 953, 954, 957, 979, + 980, 981, 982, 982, 983, 984, 985, 986, 958, 995, + 995, 996, 959, 960, 997, 974, 975, 999, 968, 976, + 977, 1001, 978, 1003, 1004, 1005, 1007, 1015, 979, 980, + 981, 1014, 1014, 983, 984, 985, 986, 1017, 1018, 1019, + 996, 965, 1020, 997, 1027, 1028, 999, 982, 1029, 1031, + 1001, 1032, 1003, 1004, 1005, 1007, 1015, 1036, 1037, 1038, + 1038, 1039, 1040, 1043, 1044, 1046, 1017, 1018, 1019, 1049, + 1014, 1020, 1050, 1027, 1028, 1051, 982, 1029, 1031, 1052, + 1032, 1045, 1045, 1054, 963, 1055, 1036, 1037, 962, 1056, + + 1039, 1040, 1043, 1044, 1046, 1057, 1058, 1059, 1049, 1014, + 1061, 1050, 961, 946, 1051, 945, 943, 941, 1052, 940, + 939, 938, 1054, 1045, 1055, 937, 936, 1045, 1056, 1045, + 932, 930, 929, 1045, 1057, 1058, 1059, 1045, 928, 1061, + 911, 910, 909, 908, 906, 905, 904, 903, 902, 901, + 900, 899, 1045, 898, 897, 896, 1045, 895, 1045, 893, + 874, 873, 1045, 871, 870, 869, 1045, 1064, 1064, 1064, + 1064, 1064, 1065, 1065, 868, 1065, 1065, 1066, 1066, 1066, + 1066, 1066, 1067, 1067, 1068, 1068, 1069, 866, 1069, 1069, + 1069, 864, 861, 860, 859, 858, 857, 856, 855, 853, + + 851, 850, 849, 829, 828, 825, 824, 822, 821, 820, + 818, 817, 816, 815, 813, 812, 810, 808, 807, 806, + 805, 804, 803, 802, 801, 799, 798, 796, 795, 794, + 773, 772, 771, 770, 769, 765, 764, 762, 761, 760, + 759, 758, 756, 754, 753, 752, 750, 749, 748, 746, + 745, 744, 743, 741, 740, 738, 737, 734, 733, 732, + 731, 725, 722, 721, 720, 719, 716, 699, 698, 696, + 695, 694, 693, 692, 691, 689, 688, 686, 685, 684, + 683, 682, 681, 679, 678, 677, 676, 675, 674, 673, + 672, 670, 668, 667, 666, 665, 663, 662, 661, 660, + + 659, 658, 657, 655, 654, 653, 651, 650, 648, 645, + 644, 642, 640, 636, 635, 634, 632, 631, 630, 628, + 627, 626, 603, 602, 599, 598, 596, 595, 594, 592, + 591, 590, 589, 588, 586, 585, 583, 582, 581, 580, + 578, 577, 576, 575, 574, 572, 570, 568, 567, 566, + 565, 563, 562, 560, 559, 558, 557, 556, 554, 553, + 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, + 542, 540, 539, 537, 536, 535, 534, 533, 532, 531, + 530, 529, 528, 527, 525, 524, 522, 521, 518, 517, + 488, 487, 486, 485, 484, 483, 482, 479, 478, 477, + + 475, 473, 472, 469, 467, 466, 465, 464, 463, 462, + 461, 460, 459, 458, 457, 456, 455, 454, 453, 452, + 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, + 441, 439, 438, 437, 436, 435, 434, 432, 431, 429, + 428, 427, 426, 425, 424, 423, 422, 421, 420, 419, + 417, 415, 414, 413, 412, 411, 410, 408, 407, 406, + 405, 404, 402, 401, 400, 399, 395, 393, 392, 391, + 390, 389, 388, 387, 356, 355, 354, 353, 351, 350, + 349, 348, 347, 346, 345, 344, 342, 341, 339, 338, + 337, 335, 334, 333, 331, 330, 329, 328, 327, 326, + + 325, 324, 323, 322, 321, 320, 319, 318, 316, 314, + 313, 311, 310, 309, 308, 307, 305, 304, 303, 302, + 301, 300, 299, 297, 296, 295, 294, 292, 291, 290, + 288, 287, 286, 284, 283, 282, 280, 279, 278, 277, + 276, 274, 273, 272, 271, 269, 266, 265, 263, 261, + 260, 259, 258, 257, 256, 255, 254, 251, 250, 249, + 211, 210, 209, 208, 204, 203, 200, 199, 192, 191, + 188, 184, 181, 179, 177, 175, 174, 169, 167, 166, + 165, 164, 163, 162, 161, 159, 158, 156, 155, 154, + 152, 150, 148, 147, 145, 144, 143, 142, 141, 139, + + 138, 134, 106, 105, 103, 100, 87, 84, 83, 82, + 81, 75, 69, 63, 56, 24, 20, 17, 16, 7, + 3, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + + 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063 } ; /* The intent behind this definition is that it'll catch @@ -1159,6 +1168,7 @@ static yyconst flex_int16_t yy_chk[1672] = * * History * + * obakhir 12-aug-2024 - Add bitwise operators and hexadecimal integers * bengsig 9-may-2024 - remove extra -= * bengsig 16-apr-2024 - -= * bengsig 27-feb-2024 - winslashf2b functions @@ -1190,7 +1200,7 @@ static yyconst flex_int16_t yy_chk[1672] = * bengsig 24-feb-2020 - Access function * bengsig 22-aug-2019 - Creation */ -#line 50 "rwldilex.l" +#line 51 "rwldilex.l" #include "rwl.h" #include "rwldiprs.tab.h" @@ -1208,7 +1218,7 @@ static yyconst flex_int16_t yy_chk[1672] = #define RWL_IN_DILEX // make rwlscanstring.c do the right thing -#line 1212 "lex.rwlz.c" +#line 1222 "lex.rwlz.c" #define INITIAL 0 @@ -1481,14 +1491,14 @@ YY_DECL } { -#line 73 "rwldilex.l" +#line 74 "rwldilex.l" rwl_main *rwm = 0; // will be set using YY_USER_ACTION -#line 1492 "lex.rwlz.c" +#line 1502 "lex.rwlz.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1515,13 +1525,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1058 ) + if ( yy_current_state >= 1064 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 1589 ); + while ( yy_base[yy_current_state] != 1622 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1548,7 +1558,7 @@ YY_DECL case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 79 "rwldilex.l" +#line 80 "rwldilex.l" { // copy from rwllexer.l rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -1558,7 +1568,7 @@ YY_RULE_SETUP case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 85 "rwldilex.l" +#line 86 "rwldilex.l" { // Use this tag in vi: rwlscanstring #include "rwlscanstring.c" @@ -1566,12 +1576,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_Z_DOUBLE_CONST*/ case 3: -#line 92 "rwldilex.l" -case 4: #line 93 "rwldilex.l" +case 4: +#line 94 "rwldilex.l" case 5: YY_RULE_SETUP -#line 93 "rwldilex.l" +#line 94 "rwldilex.l" { // copy from rwllexer.l /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -1582,7 +1592,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_Z_INTEGER_CONST*/ case 6: YY_RULE_SETUP -#line 102 "rwldilex.l" +#line 103 "rwldilex.l" { // copy from rwllexer.l /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -1592,7 +1602,17 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 109 "rwldilex.l" +#line 110 "rwldilex.l" +{ + /* Handle hexadecimal integer constants */ + rwm->ival = rwlhex2ub8(rwm->rwlytext+2, sizeof(ub8)); + rwm->dval = rwlatof(rwm->rwlytext); + if (!rwm->ifdirbit) return RWL_Z_INTEGER_CONST; + } + YY_BREAK +case 8: +YY_RULE_SETUP +#line 118 "rwldilex.l" { # if RWL_OS==RWL_MACH rwm->ival = 1; @@ -1604,9 +1624,9 @@ YY_RULE_SETUP return RWL_Z_INTEGER_CONST; } YY_BREAK -case 8: +case 9: YY_RULE_SETUP -#line 120 "rwldilex.l" +#line 129 "rwldilex.l" { # if RWL_OS==RWL_WINDOWS rwm->ival = 1; @@ -1618,9 +1638,9 @@ YY_RULE_SETUP return RWL_Z_INTEGER_CONST; } YY_BREAK -case 9: +case 10: YY_RULE_SETUP -#line 131 "rwldilex.l" +#line 140 "rwldilex.l" { # if RWL_OS==RWL_SOLARIS rwm->ival = 1; @@ -1632,9 +1652,9 @@ YY_RULE_SETUP return RWL_Z_INTEGER_CONST; } YY_BREAK -case 10: +case 11: YY_RULE_SETUP -#line 142 "rwldilex.l" +#line 151 "rwldilex.l" { # if RWL_OS==RWL_LINUX rwm->ival = 1; @@ -1646,407 +1666,407 @@ YY_RULE_SETUP return RWL_Z_INTEGER_CONST; } YY_BREAK -case 11: -#line 154 "rwldilex.l" case 12: -#line 155 "rwldilex.l" +#line 163 "rwldilex.l" case 13: -#line 156 "rwldilex.l" +#line 164 "rwldilex.l" case 14: -#line 157 "rwldilex.l" +#line 165 "rwldilex.l" case 15: -#line 158 "rwldilex.l" +#line 166 "rwldilex.l" case 16: -#line 159 "rwldilex.l" +#line 167 "rwldilex.l" case 17: -#line 160 "rwldilex.l" +#line 168 "rwldilex.l" case 18: -#line 161 "rwldilex.l" +#line 169 "rwldilex.l" case 19: -#line 162 "rwldilex.l" +#line 170 "rwldilex.l" case 20: -#line 163 "rwldilex.l" +#line 171 "rwldilex.l" case 21: -#line 164 "rwldilex.l" +#line 172 "rwldilex.l" case 22: -#line 165 "rwldilex.l" +#line 173 "rwldilex.l" case 23: -#line 166 "rwldilex.l" +#line 174 "rwldilex.l" case 24: -#line 167 "rwldilex.l" +#line 175 "rwldilex.l" case 25: -#line 168 "rwldilex.l" +#line 176 "rwldilex.l" case 26: -#line 169 "rwldilex.l" +#line 177 "rwldilex.l" case 27: -#line 170 "rwldilex.l" +#line 178 "rwldilex.l" case 28: -#line 171 "rwldilex.l" +#line 179 "rwldilex.l" case 29: -#line 172 "rwldilex.l" +#line 180 "rwldilex.l" case 30: -#line 173 "rwldilex.l" +#line 181 "rwldilex.l" case 31: -#line 174 "rwldilex.l" +#line 182 "rwldilex.l" case 32: -#line 175 "rwldilex.l" +#line 183 "rwldilex.l" case 33: -#line 176 "rwldilex.l" +#line 184 "rwldilex.l" case 34: -#line 177 "rwldilex.l" +#line 185 "rwldilex.l" case 35: -#line 178 "rwldilex.l" +#line 186 "rwldilex.l" case 36: -#line 179 "rwldilex.l" +#line 187 "rwldilex.l" case 37: -#line 180 "rwldilex.l" +#line 188 "rwldilex.l" case 38: -#line 181 "rwldilex.l" +#line 189 "rwldilex.l" case 39: -#line 182 "rwldilex.l" +#line 190 "rwldilex.l" case 40: -#line 183 "rwldilex.l" +#line 191 "rwldilex.l" case 41: -#line 184 "rwldilex.l" +#line 192 "rwldilex.l" case 42: -#line 185 "rwldilex.l" +#line 193 "rwldilex.l" case 43: -#line 186 "rwldilex.l" +#line 194 "rwldilex.l" case 44: -#line 187 "rwldilex.l" +#line 195 "rwldilex.l" case 45: -#line 188 "rwldilex.l" +#line 196 "rwldilex.l" case 46: -#line 189 "rwldilex.l" +#line 197 "rwldilex.l" case 47: -#line 190 "rwldilex.l" +#line 198 "rwldilex.l" case 48: -#line 191 "rwldilex.l" +#line 199 "rwldilex.l" case 49: -#line 192 "rwldilex.l" +#line 200 "rwldilex.l" case 50: -#line 193 "rwldilex.l" +#line 201 "rwldilex.l" case 51: -#line 194 "rwldilex.l" +#line 202 "rwldilex.l" case 52: -#line 195 "rwldilex.l" +#line 203 "rwldilex.l" case 53: -#line 196 "rwldilex.l" +#line 204 "rwldilex.l" case 54: -#line 197 "rwldilex.l" +#line 205 "rwldilex.l" case 55: -#line 198 "rwldilex.l" +#line 206 "rwldilex.l" case 56: -#line 199 "rwldilex.l" +#line 207 "rwldilex.l" case 57: -#line 200 "rwldilex.l" +#line 208 "rwldilex.l" case 58: -#line 201 "rwldilex.l" +#line 209 "rwldilex.l" case 59: -#line 202 "rwldilex.l" +#line 210 "rwldilex.l" case 60: -#line 203 "rwldilex.l" +#line 211 "rwldilex.l" case 61: -#line 204 "rwldilex.l" +#line 212 "rwldilex.l" case 62: -#line 205 "rwldilex.l" +#line 213 "rwldilex.l" case 63: -#line 206 "rwldilex.l" +#line 214 "rwldilex.l" case 64: -#line 207 "rwldilex.l" +#line 215 "rwldilex.l" case 65: -#line 208 "rwldilex.l" +#line 216 "rwldilex.l" case 66: -#line 209 "rwldilex.l" +#line 217 "rwldilex.l" case 67: -#line 210 "rwldilex.l" +#line 218 "rwldilex.l" case 68: -#line 211 "rwldilex.l" +#line 219 "rwldilex.l" case 69: -#line 212 "rwldilex.l" +#line 220 "rwldilex.l" case 70: -#line 213 "rwldilex.l" +#line 221 "rwldilex.l" case 71: -#line 214 "rwldilex.l" +#line 222 "rwldilex.l" case 72: -#line 215 "rwldilex.l" +#line 223 "rwldilex.l" case 73: -#line 216 "rwldilex.l" +#line 224 "rwldilex.l" case 74: -#line 217 "rwldilex.l" +#line 225 "rwldilex.l" case 75: -#line 218 "rwldilex.l" +#line 226 "rwldilex.l" case 76: -#line 219 "rwldilex.l" +#line 227 "rwldilex.l" case 77: -#line 220 "rwldilex.l" +#line 228 "rwldilex.l" case 78: -#line 221 "rwldilex.l" +#line 229 "rwldilex.l" case 79: -#line 222 "rwldilex.l" +#line 230 "rwldilex.l" case 80: -#line 223 "rwldilex.l" +#line 231 "rwldilex.l" case 81: -#line 224 "rwldilex.l" +#line 232 "rwldilex.l" case 82: -#line 225 "rwldilex.l" +#line 233 "rwldilex.l" case 83: -#line 226 "rwldilex.l" +#line 234 "rwldilex.l" case 84: -#line 227 "rwldilex.l" +#line 235 "rwldilex.l" case 85: -#line 228 "rwldilex.l" +#line 236 "rwldilex.l" case 86: -#line 229 "rwldilex.l" +#line 237 "rwldilex.l" case 87: -#line 230 "rwldilex.l" +#line 238 "rwldilex.l" case 88: -#line 231 "rwldilex.l" +#line 239 "rwldilex.l" case 89: -#line 232 "rwldilex.l" +#line 240 "rwldilex.l" case 90: -#line 233 "rwldilex.l" +#line 241 "rwldilex.l" case 91: -#line 234 "rwldilex.l" +#line 242 "rwldilex.l" case 92: -#line 235 "rwldilex.l" +#line 243 "rwldilex.l" case 93: -#line 236 "rwldilex.l" +#line 244 "rwldilex.l" case 94: -#line 237 "rwldilex.l" +#line 245 "rwldilex.l" case 95: -#line 238 "rwldilex.l" +#line 246 "rwldilex.l" case 96: -#line 239 "rwldilex.l" +#line 247 "rwldilex.l" case 97: -#line 240 "rwldilex.l" +#line 248 "rwldilex.l" case 98: -#line 241 "rwldilex.l" +#line 249 "rwldilex.l" case 99: -#line 242 "rwldilex.l" +#line 250 "rwldilex.l" case 100: -#line 243 "rwldilex.l" +#line 251 "rwldilex.l" case 101: -#line 244 "rwldilex.l" +#line 252 "rwldilex.l" case 102: -#line 245 "rwldilex.l" +#line 253 "rwldilex.l" case 103: -#line 246 "rwldilex.l" +#line 254 "rwldilex.l" case 104: -#line 247 "rwldilex.l" +#line 255 "rwldilex.l" case 105: -#line 248 "rwldilex.l" +#line 256 "rwldilex.l" case 106: -#line 249 "rwldilex.l" +#line 257 "rwldilex.l" case 107: -#line 250 "rwldilex.l" +#line 258 "rwldilex.l" case 108: -#line 251 "rwldilex.l" +#line 259 "rwldilex.l" case 109: -#line 252 "rwldilex.l" +#line 260 "rwldilex.l" case 110: -#line 253 "rwldilex.l" +#line 261 "rwldilex.l" case 111: -#line 254 "rwldilex.l" +#line 262 "rwldilex.l" case 112: -#line 255 "rwldilex.l" +#line 263 "rwldilex.l" case 113: -#line 256 "rwldilex.l" +#line 264 "rwldilex.l" case 114: -#line 257 "rwldilex.l" +#line 265 "rwldilex.l" case 115: -#line 258 "rwldilex.l" +#line 266 "rwldilex.l" case 116: -#line 259 "rwldilex.l" +#line 267 "rwldilex.l" case 117: -#line 260 "rwldilex.l" +#line 268 "rwldilex.l" case 118: -#line 261 "rwldilex.l" +#line 269 "rwldilex.l" case 119: -#line 262 "rwldilex.l" +#line 270 "rwldilex.l" case 120: -#line 263 "rwldilex.l" +#line 271 "rwldilex.l" case 121: -#line 264 "rwldilex.l" +#line 272 "rwldilex.l" case 122: -#line 265 "rwldilex.l" +#line 273 "rwldilex.l" case 123: -#line 266 "rwldilex.l" +#line 274 "rwldilex.l" case 124: -#line 267 "rwldilex.l" +#line 275 "rwldilex.l" case 125: -#line 268 "rwldilex.l" +#line 276 "rwldilex.l" case 126: -#line 269 "rwldilex.l" +#line 277 "rwldilex.l" case 127: -#line 270 "rwldilex.l" +#line 278 "rwldilex.l" case 128: -#line 271 "rwldilex.l" +#line 279 "rwldilex.l" case 129: -#line 272 "rwldilex.l" +#line 280 "rwldilex.l" case 130: -#line 273 "rwldilex.l" +#line 281 "rwldilex.l" case 131: -#line 274 "rwldilex.l" +#line 282 "rwldilex.l" case 132: -#line 275 "rwldilex.l" +#line 283 "rwldilex.l" case 133: -#line 276 "rwldilex.l" +#line 284 "rwldilex.l" case 134: -#line 277 "rwldilex.l" +#line 285 "rwldilex.l" case 135: -#line 278 "rwldilex.l" +#line 286 "rwldilex.l" case 136: -#line 279 "rwldilex.l" +#line 287 "rwldilex.l" case 137: -#line 280 "rwldilex.l" +#line 288 "rwldilex.l" case 138: -#line 281 "rwldilex.l" +#line 289 "rwldilex.l" case 139: -#line 282 "rwldilex.l" +#line 290 "rwldilex.l" case 140: -#line 283 "rwldilex.l" +#line 291 "rwldilex.l" case 141: -#line 284 "rwldilex.l" +#line 292 "rwldilex.l" case 142: -#line 285 "rwldilex.l" +#line 293 "rwldilex.l" case 143: -#line 286 "rwldilex.l" +#line 294 "rwldilex.l" case 144: -#line 287 "rwldilex.l" +#line 295 "rwldilex.l" case 145: -#line 288 "rwldilex.l" +#line 296 "rwldilex.l" case 146: -#line 289 "rwldilex.l" +#line 297 "rwldilex.l" case 147: -#line 290 "rwldilex.l" +#line 298 "rwldilex.l" case 148: -#line 291 "rwldilex.l" +#line 299 "rwldilex.l" case 149: -#line 292 "rwldilex.l" +#line 300 "rwldilex.l" case 150: -#line 293 "rwldilex.l" +#line 301 "rwldilex.l" case 151: -/* rule 151 can match eol */ -#line 294 "rwldilex.l" +#line 302 "rwldilex.l" case 152: /* rule 152 can match eol */ -#line 295 "rwldilex.l" +#line 303 "rwldilex.l" case 153: /* rule 153 can match eol */ -#line 296 "rwldilex.l" +#line 304 "rwldilex.l" case 154: /* rule 154 can match eol */ -#line 297 "rwldilex.l" +#line 305 "rwldilex.l" case 155: /* rule 155 can match eol */ -#line 298 "rwldilex.l" +#line 306 "rwldilex.l" case 156: /* rule 156 can match eol */ -#line 299 "rwldilex.l" +#line 307 "rwldilex.l" case 157: /* rule 157 can match eol */ -#line 300 "rwldilex.l" +#line 308 "rwldilex.l" case 158: /* rule 158 can match eol */ -#line 301 "rwldilex.l" +#line 309 "rwldilex.l" case 159: /* rule 159 can match eol */ -#line 302 "rwldilex.l" +#line 310 "rwldilex.l" case 160: /* rule 160 can match eol */ -#line 303 "rwldilex.l" +#line 311 "rwldilex.l" case 161: /* rule 161 can match eol */ -#line 304 "rwldilex.l" +#line 312 "rwldilex.l" case 162: /* rule 162 can match eol */ -#line 305 "rwldilex.l" +#line 313 "rwldilex.l" case 163: /* rule 163 can match eol */ -#line 306 "rwldilex.l" +#line 314 "rwldilex.l" case 164: /* rule 164 can match eol */ -#line 307 "rwldilex.l" +#line 315 "rwldilex.l" case 165: /* rule 165 can match eol */ -#line 308 "rwldilex.l" +#line 316 "rwldilex.l" case 166: /* rule 166 can match eol */ -#line 309 "rwldilex.l" +#line 317 "rwldilex.l" case 167: /* rule 167 can match eol */ -#line 310 "rwldilex.l" +#line 318 "rwldilex.l" case 168: /* rule 168 can match eol */ -#line 311 "rwldilex.l" +#line 319 "rwldilex.l" case 169: /* rule 169 can match eol */ -#line 312 "rwldilex.l" +#line 320 "rwldilex.l" case 170: /* rule 170 can match eol */ -#line 313 "rwldilex.l" +#line 321 "rwldilex.l" case 171: /* rule 171 can match eol */ -#line 314 "rwldilex.l" +#line 322 "rwldilex.l" case 172: /* rule 172 can match eol */ -#line 315 "rwldilex.l" +#line 323 "rwldilex.l" case 173: /* rule 173 can match eol */ -#line 316 "rwldilex.l" +#line 324 "rwldilex.l" case 174: /* rule 174 can match eol */ -#line 317 "rwldilex.l" +#line 325 "rwldilex.l" case 175: /* rule 175 can match eol */ -#line 318 "rwldilex.l" +#line 326 "rwldilex.l" case 176: /* rule 176 can match eol */ -#line 319 "rwldilex.l" +#line 327 "rwldilex.l" case 177: /* rule 177 can match eol */ -#line 320 "rwldilex.l" +#line 328 "rwldilex.l" case 178: /* rule 178 can match eol */ -#line 321 "rwldilex.l" +#line 329 "rwldilex.l" case 179: /* rule 179 can match eol */ -#line 322 "rwldilex.l" +#line 330 "rwldilex.l" case 180: /* rule 180 can match eol */ -#line 323 "rwldilex.l" +#line 331 "rwldilex.l" case 181: /* rule 181 can match eol */ -#line 324 "rwldilex.l" +#line 332 "rwldilex.l" case 182: /* rule 182 can match eol */ -#line 325 "rwldilex.l" +#line 333 "rwldilex.l" case 183: /* rule 183 can match eol */ -#line 326 "rwldilex.l" +#line 334 "rwldilex.l" case 184: /* rule 184 can match eol */ -#line 327 "rwldilex.l" +#line 335 "rwldilex.l" case 185: /* rule 185 can match eol */ -#line 328 "rwldilex.l" +#line 336 "rwldilex.l" case 186: /* rule 186 can match eol */ -#line 329 "rwldilex.l" +#line 337 "rwldilex.l" case 187: /* rule 187 can match eol */ -#line 330 "rwldilex.l" +#line 338 "rwldilex.l" case 188: /* rule 188 can match eol */ -#line 331 "rwldilex.l" +#line 339 "rwldilex.l" case 189: /* rule 189 can match eol */ -#line 332 "rwldilex.l" +#line 340 "rwldilex.l" case 190: /* rule 190 can match eol */ +#line 341 "rwldilex.l" +case 191: +/* rule 191 can match eol */ YY_RULE_SETUP -#line 332 "rwldilex.l" +#line 341 "rwldilex.l" { // All of these cannot be used in $if() directive // but they should also not give a "variable not found" error @@ -2055,173 +2075,205 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_Z_DATABASE*/ -case 191: +case 192: YY_RULE_SETUP -#line 341 "rwldilex.l" +#line 350 "rwldilex.l" return RWL_Z_DATABASE; YY_BREAK /*LEXTAG:RWL_Z_DEFAULT*/ -case 192: +case 193: YY_RULE_SETUP -#line 343 "rwldilex.l" +#line 352 "rwldilex.l" return RWL_Z_DEFAULT; YY_BREAK /*LEXTAG:RWL_Z_NULL*/ -case 193: +case 194: YY_RULE_SETUP -#line 345 "rwldilex.l" +#line 354 "rwldilex.l" return RWL_Z_NULL; YY_BREAK /*LEXTAG:RWL_Z_IS*/ -case 194: +case 195: YY_RULE_SETUP -#line 347 "rwldilex.l" +#line 356 "rwldilex.l" return RWL_Z_IS; YY_BREAK -case 195: +case 196: YY_RULE_SETUP -#line 348 "rwldilex.l" +#line 357 "rwldilex.l" return '+'; YY_BREAK -case 196: +case 197: YY_RULE_SETUP -#line 349 "rwldilex.l" +#line 358 "rwldilex.l" return '-'; YY_BREAK -case 197: +case 198: YY_RULE_SETUP -#line 350 "rwldilex.l" +#line 359 "rwldilex.l" return '*'; YY_BREAK -case 198: +case 199: YY_RULE_SETUP -#line 351 "rwldilex.l" +#line 360 "rwldilex.l" return '/'; YY_BREAK -case 199: +case 200: YY_RULE_SETUP -#line 352 "rwldilex.l" +#line 361 "rwldilex.l" return '%'; YY_BREAK -case 200: +case 201: YY_RULE_SETUP -#line 353 "rwldilex.l" +#line 362 "rwldilex.l" return '('; YY_BREAK -case 201: +case 202: YY_RULE_SETUP -#line 354 "rwldilex.l" +#line 363 "rwldilex.l" return ')'; YY_BREAK -case 202: +case 203: YY_RULE_SETUP -#line 355 "rwldilex.l" +#line 364 "rwldilex.l" return ','; YY_BREAK -case 203: +case 204: YY_RULE_SETUP -#line 356 "rwldilex.l" +#line 365 "rwldilex.l" return '='; YY_BREAK -case 204: +case 205: YY_RULE_SETUP -#line 357 "rwldilex.l" +#line 366 "rwldilex.l" return '<'; YY_BREAK -case 205: +case 206: YY_RULE_SETUP -#line 358 "rwldilex.l" +#line 367 "rwldilex.l" return '>'; YY_BREAK -case 206: +case 207: YY_RULE_SETUP -#line 359 "rwldilex.l" +#line 368 "rwldilex.l" return '!'; YY_BREAK -case 207: +case 208: YY_RULE_SETUP -#line 360 "rwldilex.l" +#line 369 "rwldilex.l" return '?'; YY_BREAK -case 208: +case 209: YY_RULE_SETUP -#line 361 "rwldilex.l" +#line 370 "rwldilex.l" return ':'; YY_BREAK -case 209: +case 210: YY_RULE_SETUP -#line 362 "rwldilex.l" +#line 371 "rwldilex.l" return ';'; YY_BREAK /*LEXTAG:RWL_Z_NOT*/ -case 210: +case 211: YY_RULE_SETUP -#line 364 "rwldilex.l" +#line 373 "rwldilex.l" return RWL_Z_NOT; YY_BREAK /*LEXTAG:RWL_Z_AND*/ -case 211: +case 212: YY_RULE_SETUP -#line 366 "rwldilex.l" +#line 375 "rwldilex.l" return RWL_Z_AND; YY_BREAK /*LEXTAG:RWL_Z_BETWEEN*/ -case 212: +case 213: YY_RULE_SETUP -#line 368 "rwldilex.l" +#line 377 "rwldilex.l" return RWL_Z_BETWEEN; YY_BREAK /*LEXTAG:RWL_Z_OR*/ -case 213: +case 214: YY_RULE_SETUP -#line 370 "rwldilex.l" +#line 379 "rwldilex.l" return RWL_Z_OR; YY_BREAK /*LEXTAG:RWL_Z_LESSEQ*/ -case 214: +case 215: YY_RULE_SETUP -#line 372 "rwldilex.l" +#line 381 "rwldilex.l" return RWL_Z_LESSEQ; YY_BREAK /*LEXTAG:RWL_Z_GREATEQ*/ -case 215: +case 216: YY_RULE_SETUP -#line 374 "rwldilex.l" +#line 383 "rwldilex.l" return RWL_Z_GREATEQ; YY_BREAK /*LEXTAG:RWL_Z_NOTEQ*/ -case 216: +case 217: YY_RULE_SETUP -#line 376 "rwldilex.l" +#line 385 "rwldilex.l" return RWL_Z_NOTEQ; YY_BREAK -case 217: +case 218: YY_RULE_SETUP -#line 377 "rwldilex.l" +#line 386 "rwldilex.l" return RWL_Z_NOTEQ; YY_BREAK /*LEXTAG:RWL_Z_CONCAT*/ -case 218: +case 219: YY_RULE_SETUP -#line 379 "rwldilex.l" +#line 388 "rwldilex.l" return RWL_Z_CONCAT; YY_BREAK +case 220: +YY_RULE_SETUP +#line 389 "rwldilex.l" +return '~'; + YY_BREAK +/*LEXTAG:RWL_Z_BITWISE_LEFT_SHIFT*/ +case 221: +YY_RULE_SETUP +#line 391 "rwldilex.l" +return RWL_Z_BITWISE_LEFT_SHIFT; + YY_BREAK +/*LEXTAG:RWL_Z_BITWISE_RIGHT_SHIFT*/ +case 222: +YY_RULE_SETUP +#line 393 "rwldilex.l" +return RWL_Z_BITWISE_RIGHT_SHIFT; + YY_BREAK +case 223: +YY_RULE_SETUP +#line 394 "rwldilex.l" +return '&'; + YY_BREAK +case 224: +YY_RULE_SETUP +#line 395 "rwldilex.l" +return '^'; + YY_BREAK +case 225: +YY_RULE_SETUP +#line 396 "rwldilex.l" +return '|'; + YY_BREAK /*LEXTAG:RWL_Z_DEFINED*/ -case 219: +case 226: YY_RULE_SETUP -#line 381 "rwldilex.l" +#line 398 "rwldilex.l" return RWL_Z_DEFINED; YY_BREAK /*LEXTAG:RWL_Z_ACCESS*/ -case 220: +case 227: YY_RULE_SETUP -#line 383 "rwldilex.l" +#line 400 "rwldilex.l" return RWL_Z_ACCESS; YY_BREAK /*LEXTAG:RWL_Z_IDENTIFIER*/ -case 221: +case 228: YY_RULE_SETUP -#line 386 "rwldilex.l" +#line 403 "rwldilex.l" { // Copy from normal /* previnam is used when the parser has been doing @@ -2234,9 +2286,9 @@ YY_RULE_SETUP return RWL_Z_IDENTIFIER; } YY_BREAK -case 222: +case 229: YY_RULE_SETUP -#line 398 "rwldilex.l" +#line 415 "rwldilex.l" { //rwm->previnam = rwm->inam; if ((ub4)rwlatoi(rwm->rwlytext+1) > rwm->posargs) @@ -2250,18 +2302,18 @@ YY_RULE_SETUP return RWL_Z_IDENTIFIER; } YY_BREAK -case 223: +case 230: YY_RULE_SETUP -#line 411 "rwldilex.l" +#line 428 "rwldilex.l" { //rwm->previnam = rwm->inam; rwm->zinam = rwlstrdup(rwm, rwm->rwlytext); return RWL_Z_IDENTIFIER; } YY_BREAK -case 224: +case 231: YY_RULE_SETUP -#line 417 "rwldilex.l" +#line 434 "rwldilex.l" { text *env = rwlgetenv(rwm->rwlytext+1); if (!env) @@ -2282,20 +2334,20 @@ YY_RULE_SETUP return RWL_Z_STRING_CONST; } YY_BREAK -case 225: +case 232: YY_RULE_SETUP -#line 437 "rwldilex.l" +#line 454 "rwldilex.l" /* nothing */ ; YY_BREAK -case 226: -/* rule 226 can match eol */ +case 233: +/* rule 233 can match eol */ YY_RULE_SETUP -#line 439 "rwldilex.l" +#line 456 "rwldilex.l" { rwm->loc.lineno++; } YY_BREAK -case 227: +case 234: YY_RULE_SETUP -#line 442 "rwldilex.l" +#line 459 "rwldilex.l" { // We never actually come here because comments are // allowed inside $if() directive /* just make gcc shut up about unput not being used */ @@ -2303,17 +2355,17 @@ YY_RULE_SETUP unput(0); } YY_BREAK -case 228: -/* rule 228 can match eol */ +case 235: +/* rule 235 can match eol */ YY_RULE_SETUP -#line 449 "rwldilex.l" +#line 466 "rwldilex.l" { // Attempt directive inside $if $then rwlerror(rwm, RWL_ERROR_NO_DIRECTIVE_DOLLARIF); } YY_BREAK -case 229: +case 236: YY_RULE_SETUP -#line 453 "rwldilex.l" +#line 470 "rwldilex.l" { // bad chars as in rwllexer if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -2328,12 +2380,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII_NOPOS, rwm->rwlytext[0]); } YY_BREAK -case 230: +case 237: YY_RULE_SETUP -#line 467 "rwldilex.l" +#line 484 "rwldilex.l" ECHO; YY_BREAK -#line 2337 "lex.rwlz.c" +#line 2389 "lex.rwlz.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2628,7 +2680,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1058 ) + if ( yy_current_state >= 1064 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; @@ -2657,11 +2709,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1058 ) + if ( yy_current_state >= 1064 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 1057); + yy_is_jam = (yy_current_state == 1063); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -3514,7 +3566,7 @@ void rwlzfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 467 "rwldilex.l" +#line 484 "rwldilex.l" diff --git a/src/rwl.h b/src/rwl.h index 54394c08..4f48f218 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,9 +11,11 @@ * * History * + * bengsig 29-aug-2024 - rwldorxtosb8 macro * bengsig 28-aug-2024 - Add rwloeradd function * mkdash 12-aug-2024 - implement dbsec and ocisecond function * mkdash 9-aug-2024 - Update Debugging functionality + * obakhir 7-aug-2024 - Add bitwise operators to enum rwl_stack_t * bengsig 26-jul-2024 - Avoid unneeded logoff/logon * bengsig 9-jul-2024 - Development 3.1.4 * bengsig 8-jul-2024 - Releasing 3.1.3 production @@ -1139,6 +1141,7 @@ struct rwl_main #define RWL_P4_STATSDTIME 0x00080000 // $statsdbtime:on #define RWL_P4_CONERROK 0x00100000 // $connecterror:accept #define RWL_P4_OERRSHOWOCI 0x00200000 // show OCI call causing ORA- error +#define RWL_P4_HEXINSTR 0x00400000 // $stringhexadecimal:on FILE *sqllogfile; @@ -1475,6 +1478,13 @@ enum rwl_stack_t , RWL_STACK_OR /* or */ , RWL_STACK_CONCAT /* or */ +, RWL_STACK_BITWISE_NOT /* ~ */ +, RWL_STACK_BITWISE_LEFT_SHIFT /* << */ +, RWL_STACK_BITWISE_RIGHT_SHIFT /* >> */ +, RWL_STACK_BITWISE_AND /* & */ +, RWL_STACK_BITWISE_XOR /* ^ */ +, RWL_STACK_BITWISE_OR /* | */ + , RWL_STACK_UNIFORM /* uniform() distribution function */ , RWL_STACK_ERLANG /* erlang() distribution function */ , RWL_STACK_ERLANG2 /* erlang2() distribution function */ @@ -2101,6 +2111,11 @@ extern void rwlbuilddb(rwl_main *); #define rwlatof(x) atof((char *)x) #define rwlatoi(x) atoi((char *)x) +#define rwldorxtosb8(e,x) ( \ + (bit((e)->rwm->m4flags,RWL_P4_HEXINSTR) && '0'==(x)[0] && ('x'==(x)[1] || 'X'==(x)[1])) \ + ? ((sb8)rwlhex2ub8((x)+2,sizeof(sb8))) \ + : rwlatosb8(x) \ + ) extern ub8 rwlhex2ub8(unsigned char *, ub4); // Use highly optimized snprintf for most used dformat, iformat diff --git a/src/rwldilex.l b/src/rwldilex.l index 7828282b..72ebcef7 100644 --- a/src/rwldilex.l +++ b/src/rwldilex.l @@ -14,6 +14,7 @@ * * History * + * obakhir 12-aug-2024 - Add bitwise operators and hexadecimal integers * bengsig 9-may-2024 - remove extra -= * bengsig 16-apr-2024 - -= * bengsig 27-feb-2024 - winslashf2b functions @@ -106,6 +107,14 @@ return RWL_Z_INTEGER_CONST; } +0[xX][0-9a-fA-F]+ { + /* Handle hexadecimal integer constants */ + rwm->ival = rwlhex2ub8(rwm->rwlytext+2, sizeof(ub8)); + rwm->dval = rwlatof(rwm->rwlytext); + if (!rwm->ifdirbit) return RWL_Z_INTEGER_CONST; + } + + "$macos" { # if RWL_OS==RWL_MACH rwm->ival = 1; @@ -377,6 +386,14 @@ "<>" return RWL_Z_NOTEQ; /*LEXTAG:RWL_Z_CONCAT*/ "||" return RWL_Z_CONCAT; +"~" return '~'; + /*LEXTAG:RWL_Z_BITWISE_LEFT_SHIFT*/ +"<<" return RWL_Z_BITWISE_LEFT_SHIFT; + /*LEXTAG:RWL_Z_BITWISE_RIGHT_SHIFT*/ +">>" return RWL_Z_BITWISE_RIGHT_SHIFT; +"&" return '&'; +"^" return '^'; +"|" return '|'; /*LEXTAG:RWL_Z_DEFINED*/ "defined" return RWL_Z_DEFINED; /*LEXTAG:RWL_Z_ACCESS*/ diff --git a/src/rwldiprs.tab.c b/src/rwldiprs.tab.c index b1c7eacf..88e15030 100644 --- a/src/rwldiprs.tab.c +++ b/src/rwldiprs.tab.c @@ -69,7 +69,7 @@ /* Copy the first part of user declarations. */ -#line 31 "rwldiprs.y" /* yacc.c:339 */ +#line 33 "rwldiprs.y" /* yacc.c:339 */ #include "rwl.h" @@ -154,7 +154,9 @@ extern int rwlzdebug; RWL_Z_IDENTIFIER = 274, RWL_Z_INTEGER_CONST = 275, RWL_Z_DEFAULT = 276, - RWL_Z_UMINUS = 277 + RWL_Z_BITWISE_LEFT_SHIFT = 277, + RWL_Z_BITWISE_RIGHT_SHIFT = 278, + RWL_Z_UMINUS = 279 }; #endif @@ -163,7 +165,7 @@ extern int rwlzdebug; union RWLZSTYPE { -#line 65 "rwldiprs.y" /* yacc.c:355 */ +#line 67 "rwldiprs.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -171,7 +173,7 @@ union RWLZSTYPE */ void *rwl_never_used; -#line 175 "rwldiprs.tab.c" /* yacc.c:355 */ +#line 177 "rwldiprs.tab.c" /* yacc.c:355 */ }; typedef union RWLZSTYPE RWLZSTYPE; @@ -187,7 +189,7 @@ int rwlzparse (rwl_main *rwm); /* Copy the second part of user declarations. */ -#line 191 "rwldiprs.tab.c" /* yacc.c:358 */ +#line 193 "rwldiprs.tab.c" /* yacc.c:358 */ #ifdef short # undef short @@ -427,23 +429,23 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 32 +#define YYFINAL 38 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 98 +#define YYLAST 117 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 38 +#define YYNTOKENS 44 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 14 +#define YYNNTS 18 /* YYNRULES -- Number of rules. */ -#define YYNRULES 45 +#define YYNRULES 55 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 86 +#define YYNSTATES 102 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 277 +#define YYMAXUTOK 279 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -455,16 +457,16 @@ 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, 30, 2, 2, 2, 29, 2, 2, - 33, 35, 27, 26, 34, 25, 2, 28, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 37, 32, - 23, 22, 24, 36, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 35, 2, 2, 2, 34, 26, 2, + 39, 41, 32, 31, 40, 30, 2, 33, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 43, 38, + 28, 27, 29, 42, 2, 2, 2, 2, 2, 2, 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, 2, 2, 2, 2, 2, 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, 36, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -479,18 +481,19 @@ static const yytype_uint8 yytranslate[] = 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, 16, 17, 18, 19, 20, 21, 31 + 15, 16, 17, 18, 19, 20, 21, 22, 23, 37 }; #if RWLZDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 94, 94, 119, 143, 148, 162, 176, 188, 192, - 194, 220, 234, 238, 239, 240, 244, 245, 246, 247, - 251, 252, 253, 254, 258, 259, 260, 264, 265, 266, - 267, 268, 269, 273, 274, 275, 279, 280, 287, 288, - 295, 296, 305, 306, 310, 311 + 0, 101, 101, 126, 150, 155, 169, 183, 195, 199, + 201, 227, 241, 245, 246, 247, 251, 252, 253, 254, + 255, 259, 260, 261, 262, 266, 267, 268, 272, 273, + 275, 280, 281, 282, 283, 284, 285, 290, 291, 292, + 296, 297, 301, 302, 306, 307, 311, 312, 317, 318, + 325, 326, 335, 336, 340, 341 }; #endif @@ -504,12 +507,14 @@ static const char *const yytname[] = "RWL_Z_ASSIGN", "RWL_Z_NULL", "RWL_Z_IS", "RWL_Z_NOT", "RWL_Z_DEFINED", "RWL_Z_ACCESS", "RWL_Z_DATABASE", "RWL_Z_DOUBLE_CONST", "RWL_Z_STRING_CONST", "RWL_Z_IDENTIFIER", "RWL_Z_INTEGER_CONST", - "RWL_Z_DEFAULT", "'='", "'<'", "'>'", "'-'", "'+'", "'*'", "'/'", "'%'", - "'!'", "RWL_Z_UMINUS", "';'", "'('", "','", "')'", "'?'", "':'", - "$accept", "rwlzparse", "identifier_or_constantz", "primary_expressionz", - "unary_expressionz", "multiplicationz", "additionz", "comparisonz", - "equalityz", "logicalandz", "logicalorz", "conditionalz", "expressionz", - "concatenationz", YY_NULLPTR + "RWL_Z_DEFAULT", "RWL_Z_BITWISE_LEFT_SHIFT", "RWL_Z_BITWISE_RIGHT_SHIFT", + "'|'", "'^'", "'&'", "'='", "'<'", "'>'", "'-'", "'+'", "'*'", "'/'", + "'%'", "'!'", "'~'", "RWL_Z_UMINUS", "';'", "'('", "','", "')'", "'?'", + "':'", "$accept", "rwlzparse", "identifier_or_constantz", + "primary_expressionz", "unary_expressionz", "multiplicationz", + "additionz", "bitwise_shiftz", "comparisonz", "equalityz", + "bitwise_andz", "bitwise_xorz", "bitwise_orz", "logicalandz", + "logicalorz", "conditionalz", "expressionz", "concatenationz", YY_NULLPTR }; #endif @@ -520,15 +525,16 @@ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 61, 60, 62, 45, 43, 42, 47, 37, - 33, 277, 59, 40, 44, 41, 63, 58 + 275, 276, 277, 278, 124, 94, 38, 61, 60, 62, + 45, 43, 42, 47, 37, 33, 126, 279, 59, 40, + 44, 41, 63, 58 }; # endif -#define YYPACT_NINF -39 +#define YYPACT_NINF -47 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-39))) + (!!((Yystate) == (-47))) #define YYTABLE_NINF -1 @@ -539,15 +545,17 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int8 yypact[] = { - 6, -10, -39, 61, -6, 16, -39, -39, -39, -39, - 61, 61, 61, 69, 41, -39, -39, 31, 40, 60, - 25, 55, -1, -39, 1, -39, -39, 13, 61, -39, - -39, 2, -39, 27, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - -39, 36, 57, 37, 51, -39, -39, 71, -39, -39, - -39, 31, 31, 40, 40, 3, 40, 40, 60, 60, - 25, 55, 58, -39, -39, 62, -39, 61, -39, 61, - 61, -39, 9, 40, -39, -39 + 7, -29, -47, 55, -22, -16, -47, -47, -47, -47, + 55, 55, 55, 55, 45, 52, -47, -47, -2, 67, + 77, 59, 6, 27, 32, 54, 76, -1, -47, 1, + -47, -47, 19, 55, -47, -47, -47, 3, -47, 70, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 55, -47, 43, 89, 41, 46, -47, -47, 78, -47, + -47, -47, -2, -2, 67, 67, 77, 77, 73, 77, + 77, 59, 59, 6, 27, 32, 54, 76, 49, -47, + -47, 65, -47, 55, -47, 55, 55, -47, 10, 77, + -47, -47 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -556,28 +564,30 @@ static const yytype_int8 yypact[] = static const yytype_uint8 yydefact[] = { 0, 0, 8, 0, 0, 0, 5, 7, 4, 6, - 0, 0, 0, 0, 13, 16, 20, 24, 27, 33, - 36, 38, 40, 42, 0, 3, 19, 0, 0, 17, - 18, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 13, 16, 21, 25, 28, + 31, 37, 40, 42, 44, 46, 48, 50, 52, 0, + 3, 19, 0, 0, 17, 18, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 44, 0, 12, 14, 0, 21, 22, - 23, 26, 25, 30, 31, 0, 28, 29, 35, 34, - 37, 39, 0, 43, 11, 0, 45, 0, 15, 0, - 0, 10, 0, 32, 41, 9 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 54, 0, 12, 14, 0, 22, + 23, 24, 27, 26, 29, 30, 34, 35, 0, 32, + 33, 39, 38, 41, 43, 45, 47, 49, 0, 53, + 11, 0, 55, 0, 15, 0, 0, 10, 0, 36, + 51, 9 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -39, -39, -39, -39, 53, 5, -38, 48, 44, 49, - -39, -35, 0, 45 + -47, -47, -47, -47, -6, 4, 56, -46, 51, 53, + 57, 58, 60, 50, -47, -31, 0, 47 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { - -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 53, 54 + -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 64, 65 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -585,30 +595,34 @@ static const yytype_int8 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_uint8 yytable[] = { - 24, 63, 64, 65, 66, 67, 47, 1, 26, 79, - 49, 49, 31, 72, 73, 29, 30, 2, 49, 3, - 4, 5, 25, 6, 7, 8, 9, 27, 37, 38, - 44, 10, 51, 50, 52, 48, 11, 55, 56, 12, - 57, 83, 61, 62, 85, 84, 49, 45, 2, 28, - 3, 4, 5, 33, 6, 7, 8, 9, 34, 35, - 36, 46, 10, 39, 40, 37, 38, 11, 41, 32, - 12, 74, 2, 75, 3, 4, 5, 82, 6, 7, - 8, 9, 78, 42, 43, 77, 10, 58, 59, 60, - 70, 11, 68, 69, 12, 80, 71, 81, 76 + 29, 76, 77, 78, 79, 80, 58, 31, 1, 30, + 60, 52, 60, 37, 34, 35, 36, 32, 2, 60, + 3, 4, 5, 33, 6, 7, 8, 9, 88, 89, + 40, 41, 42, 53, 69, 70, 71, 10, 62, 61, + 63, 59, 11, 12, 66, 38, 13, 72, 73, 99, + 60, 101, 2, 54, 3, 4, 5, 55, 6, 7, + 8, 9, 47, 48, 39, 100, 2, 49, 3, 4, + 5, 10, 6, 7, 8, 9, 11, 12, 56, 95, + 13, 67, 57, 68, 90, 10, 93, 50, 51, 94, + 11, 12, 96, 98, 13, 45, 46, 43, 44, 45, + 46, 74, 75, 81, 82, 91, 97, 83, 87, 0, + 0, 92, 84, 0, 85, 0, 0, 86 }; -static const yytype_uint8 yycheck[] = +static const yytype_int8 yycheck[] = { - 0, 39, 40, 41, 42, 43, 7, 1, 3, 6, - 9, 9, 12, 48, 49, 10, 11, 11, 9, 13, - 14, 15, 32, 17, 18, 19, 20, 33, 25, 26, - 5, 25, 19, 32, 21, 36, 30, 35, 11, 33, - 13, 79, 37, 38, 35, 80, 9, 22, 11, 33, - 13, 14, 15, 12, 17, 18, 19, 20, 27, 28, - 29, 6, 25, 3, 4, 25, 26, 30, 8, 0, - 33, 35, 11, 16, 13, 14, 15, 77, 17, 18, - 19, 20, 11, 23, 24, 34, 25, 34, 35, 36, - 46, 30, 44, 45, 33, 37, 47, 35, 53 + 0, 47, 48, 49, 50, 51, 7, 3, 1, 38, + 9, 5, 9, 13, 10, 11, 12, 39, 11, 9, + 13, 14, 15, 39, 17, 18, 19, 20, 59, 60, + 32, 33, 34, 27, 40, 41, 42, 30, 19, 38, + 21, 42, 35, 36, 41, 0, 39, 43, 44, 95, + 9, 41, 11, 26, 13, 14, 15, 25, 17, 18, + 19, 20, 3, 4, 12, 96, 11, 8, 13, 14, + 15, 30, 17, 18, 19, 20, 35, 36, 24, 6, + 39, 11, 6, 13, 41, 30, 40, 28, 29, 11, + 35, 36, 43, 93, 39, 22, 23, 30, 31, 22, + 23, 45, 46, 52, 53, 16, 41, 54, 58, -1, + -1, 64, 55, -1, 56, -1, -1, 57 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -616,24 +630,27 @@ static const yytype_uint8 yycheck[] = static const yytype_uint8 yystos[] = { 0, 1, 11, 13, 14, 15, 17, 18, 19, 20, - 25, 30, 33, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 32, 43, 33, 33, 43, - 43, 50, 0, 12, 27, 28, 29, 25, 26, 3, - 4, 8, 23, 24, 5, 22, 6, 7, 36, 9, - 32, 19, 21, 50, 51, 35, 11, 13, 42, 42, - 42, 43, 43, 44, 44, 44, 44, 44, 45, 45, - 46, 47, 49, 49, 35, 16, 51, 34, 11, 6, - 37, 35, 50, 44, 49, 35 + 30, 35, 36, 39, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 38, 49, 39, 39, 49, 49, 49, 60, 0, 12, + 32, 33, 34, 30, 31, 22, 23, 3, 4, 8, + 28, 29, 5, 27, 26, 25, 24, 6, 7, 42, + 9, 38, 19, 21, 60, 61, 41, 11, 13, 48, + 48, 48, 49, 49, 50, 50, 51, 51, 51, 51, + 51, 52, 52, 53, 54, 55, 56, 57, 59, 59, + 41, 16, 61, 40, 11, 6, 43, 41, 60, 51, + 59, 41 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 38, 39, 39, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 41, 41, 41, 42, 42, 42, 42, - 43, 43, 43, 43, 44, 44, 44, 45, 45, 45, - 45, 45, 45, 46, 46, 46, 47, 47, 48, 48, - 49, 49, 50, 50, 51, 51 + 0, 44, 45, 45, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 47, 47, 47, 48, 48, 48, 48, + 48, 49, 49, 49, 49, 50, 50, 50, 51, 51, + 51, 52, 52, 52, 52, 52, 52, 53, 53, 53, + 54, 54, 55, 55, 56, 56, 57, 57, 58, 58, + 59, 59, 60, 60, 61, 61 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -641,8 +658,9 @@ static const yytype_uint8 yyr2[] = { 0, 2, 2, 2, 1, 1, 1, 1, 1, 6, 5, 4, 3, 1, 3, 4, 1, 2, 2, 2, - 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, - 3, 3, 5, 1, 3, 3, 1, 3, 1, 3, + 2, 1, 3, 3, 3, 1, 3, 3, 1, 3, + 3, 1, 3, 3, 3, 3, 5, 1, 3, 3, + 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 1, 2 }; @@ -1326,7 +1344,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 95 "rwldiprs.y" /* yacc.c:1646 */ +#line 102 "rwldiprs.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -1351,11 +1369,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprdestroy(rwm, estk); } } -#line 1355 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1373 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 3: -#line 120 "rwldiprs.y" /* yacc.c:1646 */ +#line 127 "rwldiprs.y" /* yacc.c:1646 */ { // $if was ok, but the expression was not // Check not too deep @@ -1376,19 +1394,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_DOLLARIF_NO_VALID_EXPRESSION); rwlexprclear(rwm); } -#line 1380 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1398 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 4: -#line 144 "rwldiprs.y" /* yacc.c:1646 */ +#line 151 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->zinam, RWL_STACK_VAR); } -#line 1388 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1406 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 5: -#line 149 "rwldiprs.y" /* yacc.c:1646 */ +#line 156 "rwldiprs.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -1402,11 +1420,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_DBL; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 1406 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1424 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 6: -#line 163 "rwldiprs.y" /* yacc.c:1646 */ +#line 170 "rwldiprs.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -1420,41 +1438,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_INT; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 1424 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1442 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 7: -#line 177 "rwldiprs.y" /* yacc.c:1646 */ +#line 184 "rwldiprs.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ num.vsalloc = RWL_SVALLOC_CONST; num.slen = rwlstrlen(num.sval)+1; - num.ival = rwlatosb8(num.sval); + num.ival = rwldorxtosb8(rwm->mxq,num.sval); num.dval = rwlatof(num.sval); num.isnull = 0; num.vtype = RWL_TYPE_STR; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 1440 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1458 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 8: -#line 189 "rwldiprs.y" /* yacc.c:1646 */ +#line 196 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } -#line 1448 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1466 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 9: -#line 193 "rwldiprs.y" /* yacc.c:1646 */ +#line 200 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_ACCESS); } -#line 1454 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1472 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 10: -#line 195 "rwldiprs.y" /* yacc.c:1646 */ +#line 202 "rwldiprs.y" /* yacc.c:1646 */ { // does default database exist and is good sb4 l; @@ -1480,11 +1498,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprpush(rwm, rwl_zerop, RWL_STACK_NUM); } -#line 1484 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1502 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 11: -#line 221 "rwldiprs.y" /* yacc.c:1646 */ +#line 228 "rwldiprs.y" /* yacc.c:1646 */ { // just see if variable exists and put 0 or 1 to stack sb4 l; @@ -1498,149 +1516,183 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprpush(rwm, rwl_zerop, RWL_STACK_NUM); } -#line 1502 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1520 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 14: -#line 239 "rwldiprs.y" /* yacc.c:1646 */ +#line 246 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_ISNULL); } -#line 1508 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1526 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 15: -#line 240 "rwldiprs.y" /* yacc.c:1646 */ +#line 247 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_ISNOTNULL); } -#line 1514 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1532 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 17: -#line 245 "rwldiprs.y" /* yacc.c:1646 */ +#line 252 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_MINUS); } -#line 1520 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1538 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 18: -#line 246 "rwldiprs.y" /* yacc.c:1646 */ +#line 253 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_NOT); } -#line 1526 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1544 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 19: -#line 247 "rwldiprs.y" /* yacc.c:1646 */ +#line 254 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_NOT); } -#line 1532 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1550 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 21: -#line 252 "rwldiprs.y" /* yacc.c:1646 */ - { rwlexprpush(rwm,0,RWL_STACK_MUL); } -#line 1538 "rwldiprs.tab.c" /* yacc.c:1646 */ + case 20: +#line 255 "rwldiprs.y" /* yacc.c:1646 */ + { rwlexprpush(rwm,0,RWL_STACK_BITWISE_NOT); } +#line 1556 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 22: -#line 253 "rwldiprs.y" /* yacc.c:1646 */ - { rwlexprpush(rwm,0,RWL_STACK_DIV); } -#line 1544 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 260 "rwldiprs.y" /* yacc.c:1646 */ + { rwlexprpush(rwm,0,RWL_STACK_MUL); } +#line 1562 "rwldiprs.tab.c" /* yacc.c:1646 */ break; case 23: -#line 254 "rwldiprs.y" /* yacc.c:1646 */ +#line 261 "rwldiprs.y" /* yacc.c:1646 */ + { rwlexprpush(rwm,0,RWL_STACK_DIV); } +#line 1568 "rwldiprs.tab.c" /* yacc.c:1646 */ + break; + + case 24: +#line 262 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_MOD); } -#line 1550 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1574 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 25: -#line 259 "rwldiprs.y" /* yacc.c:1646 */ + case 26: +#line 267 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_ADD); } -#line 1556 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1580 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 26: -#line 260 "rwldiprs.y" /* yacc.c:1646 */ + case 27: +#line 268 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_SUB); } -#line 1562 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1586 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 28: -#line 265 "rwldiprs.y" /* yacc.c:1646 */ + case 29: +#line 274 "rwldiprs.y" /* yacc.c:1646 */ + { rwlexprpush(rwm,0,RWL_STACK_BITWISE_LEFT_SHIFT); } +#line 1592 "rwldiprs.tab.c" /* yacc.c:1646 */ + break; + + case 30: +#line 276 "rwldiprs.y" /* yacc.c:1646 */ + { rwlexprpush(rwm,0,RWL_STACK_BITWISE_RIGHT_SHIFT); } +#line 1598 "rwldiprs.tab.c" /* yacc.c:1646 */ + break; + + case 32: +#line 281 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_LESS); } -#line 1568 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1604 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 29: -#line 266 "rwldiprs.y" /* yacc.c:1646 */ + case 33: +#line 282 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_GREATER); } -#line 1574 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1610 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 30: -#line 267 "rwldiprs.y" /* yacc.c:1646 */ + case 34: +#line 283 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_LESSEQ); } -#line 1580 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1616 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 31: -#line 268 "rwldiprs.y" /* yacc.c:1646 */ + case 35: +#line 284 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_GREATEREQ); } -#line 1586 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1622 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 32: -#line 269 "rwldiprs.y" /* yacc.c:1646 */ + case 36: +#line 286 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_BETWEEN); } -#line 1592 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1628 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 34: -#line 274 "rwldiprs.y" /* yacc.c:1646 */ + case 38: +#line 291 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_EQUAL); } -#line 1598 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1634 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 35: -#line 275 "rwldiprs.y" /* yacc.c:1646 */ + case 39: +#line 292 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_NOTEQUAL); } -#line 1604 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1640 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 37: -#line 281 "rwldiprs.y" /* yacc.c:1646 */ - { - rwlexprpush2(rwm,0,RWL_STACK_AND, 0 ); - } -#line 1612 "rwldiprs.tab.c" /* yacc.c:1646 */ + case 41: +#line 297 "rwldiprs.y" /* yacc.c:1646 */ + { rwlexprpush(rwm,0,RWL_STACK_BITWISE_AND); } +#line 1646 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 39: -#line 289 "rwldiprs.y" /* yacc.c:1646 */ + case 43: +#line 302 "rwldiprs.y" /* yacc.c:1646 */ + { rwlexprpush(rwm,0,RWL_STACK_BITWISE_XOR); } +#line 1652 "rwldiprs.tab.c" /* yacc.c:1646 */ + break; + + case 45: +#line 307 "rwldiprs.y" /* yacc.c:1646 */ + { rwlexprpush(rwm,0,RWL_STACK_BITWISE_OR); } +#line 1658 "rwldiprs.tab.c" /* yacc.c:1646 */ + break; + + case 47: +#line 313 "rwldiprs.y" /* yacc.c:1646 */ + { rwlexprpush2(rwm,0,RWL_STACK_AND, 0 ); } +#line 1664 "rwldiprs.tab.c" /* yacc.c:1646 */ + break; + + case 49: +#line 319 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR , 0 ); } -#line 1620 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1672 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 41: -#line 299 "rwldiprs.y" /* yacc.c:1646 */ + case 51: +#line 329 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, 0 ); } -#line 1628 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1680 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 43: -#line 306 "rwldiprs.y" /* yacc.c:1646 */ + case 53: +#line 336 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_CONCAT); } -#line 1634 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1686 "rwldiprs.tab.c" /* yacc.c:1646 */ break; - case 45: -#line 311 "rwldiprs.y" /* yacc.c:1646 */ + case 55: +#line 341 "rwldiprs.y" /* yacc.c:1646 */ { rwlexprpush(rwm,0,RWL_STACK_CONCAT); } -#line 1640 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1692 "rwldiprs.tab.c" /* yacc.c:1646 */ break; -#line 1644 "rwldiprs.tab.c" /* yacc.c:1646 */ +#line 1696 "rwldiprs.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/rwldiprs.tab.h b/src/rwldiprs.tab.h index 10450ffe..95c6ee59 100644 --- a/src/rwldiprs.tab.h +++ b/src/rwldiprs.tab.h @@ -72,7 +72,9 @@ extern int rwlzdebug; RWL_Z_IDENTIFIER = 274, RWL_Z_INTEGER_CONST = 275, RWL_Z_DEFAULT = 276, - RWL_Z_UMINUS = 277 + RWL_Z_BITWISE_LEFT_SHIFT = 277, + RWL_Z_BITWISE_RIGHT_SHIFT = 278, + RWL_Z_UMINUS = 279 }; #endif @@ -81,7 +83,7 @@ extern int rwlzdebug; union RWLZSTYPE { -#line 65 "rwldiprs.y" /* yacc.c:1909 */ +#line 67 "rwldiprs.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -89,7 +91,7 @@ union RWLZSTYPE */ void *rwl_never_used; -#line 93 "rwldiprs.tab.h" /* yacc.c:1909 */ +#line 95 "rwldiprs.tab.h" /* yacc.c:1909 */ }; typedef union RWLZSTYPE RWLZSTYPE; diff --git a/src/rwldiprs.y b/src/rwldiprs.y index 4a3905d2..a1956ebe 100644 --- a/src/rwldiprs.y +++ b/src/rwldiprs.y @@ -11,6 +11,8 @@ * * History * + * bengsig 29-aug-2024 - string->integer can be hex + * obakhir 12-aug-2024 - Add bitwise operators * bengsig 30-jan-2024 - All includes in rwl.h * bengsig 29-mar-2023 - Deal properly with integer/double * bengsig 2-mar-2023 - Optimize snprintf [id]format @@ -75,17 +77,22 @@ rwlcomp(rwldiprs_y, RWL_GCCFLAGS) %token RWL_Z_LESSEQ RWL_Z_GREATEQ RWL_Z_NOTEQ RWL_Z_AND RWL_Z_OR RWL_Z_BETWEEN RWL_Z_CONCAT %token RWL_Z_ASSIGN RWL_Z_NULL RWL_Z_IS RWL_Z_NOT RWL_Z_DEFINED RWL_Z_ACCESS RWL_Z_DATABASE %token RWL_Z_DOUBLE_CONST RWL_Z_STRING_CONST RWL_Z_IDENTIFIER RWL_Z_INTEGER_CONST RWL_Z_DEFAULT +%token RWL_Z_BITWISE_LEFT_SHIFT RWL_Z_BITWISE_RIGHT_SHIFT // standard order of association %left RWL_Z_CONCAT %left RWL_Z_OR %left RWL_Z_AND +%left '|' +%left '^' +%left '&' %left '=' RWL_Z_NOTEQ %left '<' '>' RWL_Z_LESSEQ RWL_Z_GREATEQ RWL_Z_BETWEEN +%left RWL_Z_BITWISE_LEFT_SHIFT RWL_Z_BITWISE_RIGHT_SHIFT %left '-' '+' %left '*' '/' '%' -%left '!' RWL_Z_NOT RWL_Z_UMINUS +%left '!' '~' RWL_Z_NOT RWL_Z_UMINUS %start rwlzparse %% @@ -179,7 +186,7 @@ identifier_or_constantz: num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ num.vsalloc = RWL_SVALLOC_CONST; num.slen = rwlstrlen(num.sval)+1; - num.ival = rwlatosb8(num.sval); + num.ival = rwldorxtosb8(rwm->mxq,num.sval); num.dval = rwlatof(num.sval); num.isnull = 0; num.vtype = RWL_TYPE_STR; @@ -245,6 +252,7 @@ unary_expressionz: | '-' multiplicationz %prec RWL_Z_UMINUS { rwlexprpush(rwm,0,RWL_STACK_MINUS); } | '!' multiplicationz { rwlexprpush(rwm,0,RWL_STACK_NOT); } | RWL_Z_NOT multiplicationz { rwlexprpush(rwm,0,RWL_STACK_NOT); } + | '~' multiplicationz { rwlexprpush(rwm,0,RWL_STACK_BITWISE_NOT); } ; multiplicationz: @@ -260,13 +268,22 @@ additionz: | additionz '-' multiplicationz { rwlexprpush(rwm,0,RWL_STACK_SUB); } ; +bitwise_shiftz: + additionz + | bitwise_shiftz RWL_Z_BITWISE_LEFT_SHIFT additionz + { rwlexprpush(rwm,0,RWL_STACK_BITWISE_LEFT_SHIFT); } + | bitwise_shiftz RWL_Z_BITWISE_RIGHT_SHIFT additionz + { rwlexprpush(rwm,0,RWL_STACK_BITWISE_RIGHT_SHIFT); } + ; + comparisonz: - additionz - | comparisonz '<' additionz { rwlexprpush(rwm,0,RWL_STACK_LESS); } - | comparisonz '>' additionz { rwlexprpush(rwm,0,RWL_STACK_GREATER); } - | comparisonz RWL_Z_LESSEQ additionz { rwlexprpush(rwm,0,RWL_STACK_LESSEQ); } - | comparisonz RWL_Z_GREATEQ additionz { rwlexprpush(rwm,0,RWL_STACK_GREATEREQ); } - | comparisonz RWL_Z_BETWEEN additionz RWL_Z_AND additionz { rwlexprpush(rwm,0,RWL_STACK_BETWEEN); } + bitwise_shiftz + | comparisonz '<' bitwise_shiftz { rwlexprpush(rwm,0,RWL_STACK_LESS); } + | comparisonz '>' bitwise_shiftz { rwlexprpush(rwm,0,RWL_STACK_GREATER); } + | comparisonz RWL_Z_LESSEQ bitwise_shiftz { rwlexprpush(rwm,0,RWL_STACK_LESSEQ); } + | comparisonz RWL_Z_GREATEQ bitwise_shiftz { rwlexprpush(rwm,0,RWL_STACK_GREATEREQ); } + | comparisonz RWL_Z_BETWEEN bitwise_shiftz RWL_Z_AND bitwise_shiftz + { rwlexprpush(rwm,0,RWL_STACK_BETWEEN); } ; equalityz: @@ -275,12 +292,25 @@ equalityz: | equalityz RWL_Z_NOTEQ comparisonz { rwlexprpush(rwm,0,RWL_STACK_NOTEQUAL); } ; +bitwise_andz: + equalityz + | bitwise_andz '&' equalityz { rwlexprpush(rwm,0,RWL_STACK_BITWISE_AND); } + ; + +bitwise_xorz: + bitwise_andz + | bitwise_xorz '^' bitwise_andz { rwlexprpush(rwm,0,RWL_STACK_BITWISE_XOR); } + ; + +bitwise_orz: + bitwise_xorz + | bitwise_orz '|' bitwise_xorz { rwlexprpush(rwm,0,RWL_STACK_BITWISE_OR); } + ; + logicalandz: - equalityz - | logicalandz RWL_Z_AND equalityz - { - rwlexprpush2(rwm,0,RWL_STACK_AND, 0 ); - } + bitwise_orz + | logicalandz RWL_Z_AND bitwise_orz + { rwlexprpush2(rwm,0,RWL_STACK_AND, 0 ); } ; logicalorz: diff --git a/src/rwlerror.h b/src/rwlerror.h index d9a2554e..7ca11e9a 100644 --- a/src/rwlerror.h +++ b/src/rwlerror.h @@ -11,6 +11,7 @@ * * History * + * obakhir 7-aug-2024 - Add RWL Errors from 324 to 327 for bitwise operators * obakhir 24-jun-2024 - Add RWL_ERROR_CLOB_TOO_LARGE for rwlreadlob * bengsig 4-jun-2024 - $ora01013:break * bengsig 17-apr-2024 - nostatistics statement @@ -1827,6 +1828,28 @@ RWLEDESC("When performing the OCILobRead2 call, the clob in the database has mor "characters than would would fit in the string variable provided. The return" RWL_LINEEND "value has been truncated to a lower of number of characters") +#define RWL_ERROR_BITWISE_NOT_TYPE_MISMATCH 324 +RWLERROR("attempted bitwise NOT operation with non-integer operand", RWL_ERROR_RUNTIME) +RWLEDESC("The bitwise NOT operation requires the operand to be an integer, but the" RWL_LINEEND +"provided operand is not an integer. You need to change your code to ensure the" RWL_LINEEND +"operand is integer") + +#define RWL_ERROR_BITWISE_TWO_OPERANDS_TYPE_MISMATCH 325 +RWLERROR("attempted bitwise operation with non-integer operand(s)", RWL_ERROR_RUNTIME) +RWLEDESC("Bitwise operations require both operands to be integers, but one or both of" RWL_LINEEND +"the provided operands are not integers. You need to change your code to ensure" RWL_LINEEND +"the operand(s) are integer") + +#define RWL_ERROR_BITWISE_SHIFT_NEGATIVE 326 +RWLERROR("bitwise shifting by a negative amount", RWL_ERROR_RUNTIME) +RWLEDESC("The right operand of the bitwise shift operation is negative which is not" RWL_LINEEND +"allowed") + +#define RWL_ERROR_BITWISE_SHIFT_TOO_LARGE 327 +RWLERROR("bitwise shifting by an amount greater than or equal to the bit width", RWL_ERROR_RUNTIME) +RWLEDESC("The right operand of the bitwise shift operation is larger than or equal to" RWL_LINEEND +"the bit width of the left operand. The right operand should be at most 63") + // When adding new errors, add them before these lines // and make sure the #define follows a format like // #define RWL_ERROR_whatever_reasonable_here NNN diff --git a/src/rwlexprcomp.c b/src/rwlexprcomp.c index 9b6a56b5..af5158bb 100644 --- a/src/rwlexprcomp.c +++ b/src/rwlexprcomp.c @@ -20,6 +20,7 @@ * History * * mkdash 12-aug-2024 - implement dbsec and ocisecond function + * obakhir 7-aug-2024 - Add bitwise operators * bengsig 16-apr-2024 - -= * bengsig 27-feb-2024 - winslashf2b functions * bengsig 30-jan-2024 - All includes in rwl.h, use *rand_r functions on Linux @@ -926,6 +927,16 @@ rwl_estack *rwlexprfinish(rwl_main *rwm) estk[i].evaltype = tstk[i] = RWL_TYPE_INT; goto pop_two; break; + + case RWL_STACK_BITWISE_LEFT_SHIFT: + case RWL_STACK_BITWISE_RIGHT_SHIFT: + case RWL_STACK_BITWISE_AND: + case RWL_STACK_BITWISE_XOR: + case RWL_STACK_BITWISE_OR: + rwlasrti(2, "bitwisetwoops"); + estk[i].evaltype = tstk[i] = RWL_TYPE_INT; + goto pop_two; + break; // Three argument calls returning integer @@ -984,6 +995,13 @@ rwl_estack *rwlexprfinish(rwl_main *rwm) tstk[j] = tstk[j-1]; break; + case RWL_STACK_BITWISE_NOT: + rwlasrti(1,"bitwiseoneop"); + estk[i].evaltype = tstk[i] = RWL_TYPE_INT; + goto pop_one; + break; + + // one argument returning string case RWL_STACK_WINSLASHF2B: case RWL_STACK_WINSLASHF2BB: diff --git a/src/rwlexpreval.c b/src/rwlexpreval.c index dd18dda6..d8b319d8 100644 --- a/src/rwlexpreval.c +++ b/src/rwlexpreval.c @@ -14,7 +14,9 @@ * * History * - * mkdash 12-aug-2024 - implement dbsec and ocisecond function + * bengsig 29-aug-2024 - string->integer can be hex + * mkdash 12-aug-2024 - implement dbseconds and ociseconds function + * obakhir 7-aug-2024 - Add bitwise operators handling * bengsig 16-apr-2024 - -= * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 27-feb-2024 - winslashf2b functions @@ -552,6 +554,30 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v fprintf(stderr," NOT"); break; + case RWL_STACK_BITWISE_NOT: + fprintf(stderr," ~"); + break; + + case RWL_STACK_BITWISE_LEFT_SHIFT: + fprintf(stderr," <<"); + break; + + case RWL_STACK_BITWISE_RIGHT_SHIFT: + fprintf(stderr," >>"); + break; + + case RWL_STACK_BITWISE_AND: + fprintf(stderr," &"); + break; + + case RWL_STACK_BITWISE_XOR: + fprintf(stderr," ^"); + break; + + case RWL_STACK_BITWISE_OR: + fprintf(stderr," |"); + break; + case RWL_STACK_LESS: fprintf(stderr," <"); break; @@ -884,7 +910,7 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v rwldebugcode(xev->rwm, loc, "at %d: %s ||= %s", i , vv->vname, nn->sval ); } - nn->ival = rwlatosb8(nn->sval); + nn->ival = rwldorxtosb8(xev,nn->sval); nn->dval = rwlatof(nn->sval); } rwlidrelmx(xev, loc, stk[i].esvar); @@ -1433,7 +1459,7 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v rwlstrcpy(substrb, cstak[i-2].sval + pos); /* try getting number representation */ - resival = rwlatosb8(substrb); + resival = rwldorxtosb8(xev,substrb); resdval = rwlatof(substrb); if (bit(xev->tflags,RWL_THR_DEVAL)) rwldebugcode(xev->rwm, loc, "substrb returns %p %s " RWL_SB8PRINTF @@ -1482,7 +1508,7 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v rwlstrcpy(concat+ll, cstak[i-1].sval); /* try getting number representation */ - resival = rwlatosb8(concat); + resival = rwldorxtosb8(xev,concat); resdval = rwlatof(concat); if (bit(xev->tflags,RWL_THR_DEVAL)) rwldebugcode(xev->rwm, loc, "concat returns %p %p %p %s " RWL_SB8PRINTF " %.2f" @@ -1680,7 +1706,7 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v } else rwlstrcpy(nn->sval, ss->sval); - nn->ival = rwlatosb8(nn->sval); + nn->ival = rwldorxtosb8(xev,nn->sval); nn->dval = rwlatof(nn->sval); break; @@ -1964,6 +1990,108 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v rtyp = stk[i].evaltype; goto finish_two_math; break; + + /* these are the two operands bitwise operators */ + case RWL_STACK_BITWISE_LEFT_SHIFT: + if (i < 2) goto stack2short; + if (tainted || skip) goto pop_two; + if (RWL_TYPE_INT != stk[i-1].evaltype || RWL_TYPE_INT != stk[i-2].evaltype) + { + rwlexecerror(xev, loc, RWL_ERROR_BITWISE_TWO_OPERANDS_TYPE_MISMATCH); + break; + } + if (cstak[i-1].ival < 0) + { + rwlexecerror(xev, loc, RWL_ERROR_BITWISE_SHIFT_NEGATIVE); + break; + } + if (cstak[i-1].ival >= (sb8)(sizeof(cstak[i-1].ival) * 8)) + { + rwlexecerror(xev, loc, RWL_ERROR_BITWISE_SHIFT_TOO_LARGE); + break; + } + if (bit(xev->tflags, RWL_THR_DEVAL)) + rwldebugcode(xev->rwm, loc, "at %d: " RWL_SB8PRINTF " << " RWL_SB8PRINTF "", i, cstak[i-2].ival, cstak[i-1].ival); + resival = cstak[i-2].ival << cstak[i-1].ival; + resdval = (double) resival; + rtyp = RWL_TYPE_INT; + goto finish_two_math; + break; + + case RWL_STACK_BITWISE_RIGHT_SHIFT: + if (i < 2) goto stack2short; + if (tainted || skip) goto pop_two; + if (RWL_TYPE_INT != stk[i-1].evaltype || RWL_TYPE_INT != stk[i-2].evaltype) + { + rwlexecerror(xev, loc, RWL_ERROR_BITWISE_TWO_OPERANDS_TYPE_MISMATCH); + break; + } + if (cstak[i-1].ival < 0) + { + rwlexecerror(xev, loc, RWL_ERROR_BITWISE_SHIFT_NEGATIVE); + break; + } + if (cstak[i-1].ival >= (sb8)(sizeof(cstak[i-1].ival) * 8)) + { + rwlexecerror(xev, loc, RWL_ERROR_BITWISE_SHIFT_TOO_LARGE); + break; + } + if (bit(xev->tflags, RWL_THR_DEVAL)) + rwldebugcode(xev->rwm, loc, "at %d: " RWL_SB8PRINTF " >> " RWL_SB8PRINTF "", i, cstak[i-2].ival, cstak[i-1].ival); + resival = cstak[i-2].ival >> cstak[i-1].ival; + resdval = (double) resival; + rtyp = RWL_TYPE_INT; + goto finish_two_math; + break; + + case RWL_STACK_BITWISE_AND: + if (i < 2) goto stack2short; + if (tainted || skip) goto pop_two; + if (RWL_TYPE_INT != stk[i-1].evaltype || RWL_TYPE_INT != stk[i-2].evaltype) + { + rwlexecerror(xev, loc, RWL_ERROR_BITWISE_TWO_OPERANDS_TYPE_MISMATCH); + break; + } + if (bit(xev->tflags, RWL_THR_DEVAL)) + rwldebugcode(xev->rwm, loc, "at %d: " RWL_SB8PRINTF " & " RWL_SB8PRINTF "", i, cstak[i-2].ival, cstak[i-1].ival); + resival = cstak[i-2].ival & cstak[i-1].ival; + resdval = (double) resival; + rtyp = RWL_TYPE_INT; + goto finish_two_math; + break; + + case RWL_STACK_BITWISE_XOR: + if (i < 2) goto stack2short; + if (tainted || skip) goto pop_two; + if (RWL_TYPE_INT != stk[i-1].evaltype || RWL_TYPE_INT != stk[i-2].evaltype) + { + rwlexecerror(xev, loc, RWL_ERROR_BITWISE_TWO_OPERANDS_TYPE_MISMATCH); + break; + } + if (bit(xev->tflags, RWL_THR_DEVAL)) + rwldebugcode(xev->rwm, loc, "at %d: " RWL_SB8PRINTF " ^ " RWL_SB8PRINTF "", i, cstak[i-2].ival, cstak[i-1].ival); + resival = cstak[i-2].ival ^ cstak[i-1].ival; + resdval = (double) resival; + rtyp = RWL_TYPE_INT; + goto finish_two_math; + break; + + case RWL_STACK_BITWISE_OR: + if (i < 2) goto stack2short; + if (tainted || skip) goto pop_two; + if (RWL_TYPE_INT != stk[i-1].evaltype || RWL_TYPE_INT != stk[i-2].evaltype) + { + rwlexecerror(xev, loc, RWL_ERROR_BITWISE_TWO_OPERANDS_TYPE_MISMATCH); + break; + } + if (bit(xev->tflags, RWL_THR_DEVAL)) + rwldebugcode(xev->rwm, loc, "at %d: " RWL_SB8PRINTF " | " RWL_SB8PRINTF "", i, cstak[i-2].ival, cstak[i-1].ival); + resival = cstak[i-2].ival | cstak[i-1].ival; + resdval = (double) resival; + rtyp = RWL_TYPE_INT; + goto finish_two_math; + break; + /* these are the comparisons */ case RWL_STACK_LESS: @@ -2216,7 +2344,7 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v rwlstrnncpy(substrb, cstak[i-3].sval + pos, subl+1); /* try getting number representation */ - resival = rwlatosb8(substrb); + resival = rwldorxtosb8(xev,substrb); resdval = rwlatof(substrb); if (bit(xev->tflags,RWL_THR_DEVAL)) rwldebugcode(xev->rwm, loc, "substrb returns %p %s " RWL_SB8PRINTF @@ -2420,6 +2548,23 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v rtyp = RWL_TYPE_INT; goto finish_one_math; break; + + /* this is the bitwise not operator */ + case RWL_STACK_BITWISE_NOT: + if (i < 1) goto stack1short; + if (tainted || skip) goto pop_one; + if (RWL_TYPE_INT != stk[i-1].evaltype) + { + rwlexecerror(xev, loc, RWL_ERROR_BITWISE_NOT_TYPE_MISMATCH); + break; + } + if (bit(xev->tflags, RWL_THR_DEVAL)) + rwldebugcode(xev->rwm, loc, "at %d: ~" RWL_SB8PRINTF "", i, cstak[i-1].ival); + resival = ~cstak[i-1].ival; + resdval = (double) resival; + rtyp = RWL_TYPE_INT; + goto finish_one_math; + break; /* and more function calls */ case RWL_STACK_UNIFORM: @@ -2646,7 +2791,7 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v rwlstrcpy(gev, envres); /* try getting number representation */ - resival = rwlatosb8(gev); + resival = rwldorxtosb8(xev,gev); resdval = rwlatof(gev); if (bit(xev->tflags,RWL_THR_DEVAL)) rwldebugcode(xev->rwm, loc, "getenv returns %p %s " RWL_SB8PRINTF @@ -2724,7 +2869,7 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v if (bytes>=2 && '\r' == nn->sval[bytes-2]) nn->sval[bytes-2] = 0; } - nn->ival = rwlatosb8(nn->sval); + nn->ival = rwldorxtosb8(xev,nn->sval); nn->dval = rwlatof(nn->sval); sysres = rwlpclose(sysout); diff --git a/src/rwllexer.l b/src/rwllexer.l index cd8fa6d0..86cd970e 100644 --- a/src/rwllexer.l +++ b/src/rwllexer.l @@ -11,6 +11,9 @@ * * History * + * bengsig 29-aug-2024 - string->integer can be hex + * obakhir 9-aug-2024 - Add hexadecimal integers + * obakhir 7-aug-2024 - Add bitwise operators * mkdash 12-aug-2024 - implement dbsec and ocisecond function * bengsig 29-jul-2024 - $connecterror:fail * bengsig 4-jun-2024 - $ora01013:break @@ -247,7 +250,20 @@ if (!rwm->ifdirbit) return RWL_T_INTEGER_CONST; } +0[xX][0-9a-fA-F]+ { + /* Handle hexadecimal integer constants */ + rwm->ival = rwlhex2ub8(rwm->rwlytext+2, sizeof(ub8)); + rwm->dval = rwlatof(rwm->rwlytext); + if (!rwm->ifdirbit) return RWL_T_INTEGER_CONST; + } +0[xX][0-9a-fA-F]+\.\. { + /* Handle hexadecimal constants followed by .. */ + rwm->ival = rwlhex2ub8(rwm->rwlytext+2, sizeof(ub8)); + rwm->dval = rwlatof(rwm->rwlytext); + unput('.'); unput('.'); + if (!rwm->ifdirbit) return RWL_T_INTEGER_CONST; + } /*LEXTAG:RWL_T_FUNCTION*/ "function" { if (!rwm->ifdirbit) return RWL_T_FUNCTION; } @@ -659,6 +675,14 @@ "<|=" if (!rwm->ifdirbit) return RWL_T_PIPEFROM; /*LEXTAG:RWL_T_APPEND*/ "||=" if (!rwm->ifdirbit) return RWL_T_APPEND; +"~" if (!rwm->ifdirbit) return '~'; + /*LEXTAG:RWL_T_BITWISE_LEFT_SHIFT*/ +"<<" if (!rwm->ifdirbit) return RWL_T_BITWISE_LEFT_SHIFT; + /*LEXTAG:RWL_T_BITWISE_RIGHT_SHIFT*/ +">>" if (!rwm->ifdirbit) return RWL_T_BITWISE_RIGHT_SHIFT; +"&" if (!rwm->ifdirbit) return '&'; +"^" if (!rwm->ifdirbit) return '^'; +"|" if (!rwm->ifdirbit) return '|'; /*LEXTAG:RWL_T_WINSLASHF2B*/ "winslashf2b" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2B; /*LEXTAG:RWL_T_WINSLASHF2BB*/ @@ -690,9 +714,6 @@ /*LEXTAG:RWL_T_ATAN2*/ "atan2" if (!rwm->ifdirbit) return RWL_T_ATAN2; -"|" | -"&" | -"~" | "&&" { rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); // return something so compilation continues @@ -918,6 +939,14 @@ if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } +\$stringhexadecimal:on { + if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_HEXINSTR); + } + +\$stringhexadecimal:off { + if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_HEXINSTR); + } + \$ampersand:on { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_AMPERSAND); } diff --git a/src/rwlmain.c b/src/rwlmain.c index 681c8cbe..9dc8bd49 100644 --- a/src/rwlmain.c +++ b/src/rwlmain.c @@ -11,6 +11,7 @@ * * History * + * bengsig 29-aug-2024 - string->integer can be hex * bengsig 6-mar-2024 - HOMEPATH/DRIVE on Windows * bengsig 29-feb-2024 - $filelinename directive * bengsig 29-feb-2024 - Fix missing inpos=0 @@ -906,7 +907,7 @@ sb4 main(sb4 main_ac, char **main_av) rwm->mxq->arg1var = vno; dv = &rwm->mxq->evar[vno].num; rwlinitstrvar(rwm->mxq, dv); - dv->ival = rwlatosb8((text *)rwm->newargv[i]); + dv->ival = rwldorxtosb8(rwm->mxq,(text *)rwm->newargv[i]); dv->dval = rwlatof((text *)rwm->newargv[i]); rwlstrnncpy(dv->sval, (text *)rwm->newargv[i], len); } diff --git a/src/rwlmisc.c b/src/rwlmisc.c index 6f2534ae..f431aa92 100644 --- a/src/rwlmisc.c +++ b/src/rwlmisc.c @@ -14,6 +14,7 @@ * * History * + * bengsig 29-aug-2024 - string->integer can be hex * mkdash 9-aug-2024 - Update Debugging functionality * bengsig 16-apr-2024 - bit operation on clflags * bengsig 9-apr-2024 - Add k K printf specifier for bytes/Bytes @@ -193,6 +194,7 @@ void rwlinit1(rwl_main *rwm, text *av0) bis(rwm->m3flags, RWL_P3_SP_NORLB); bis(rwm->m4flags, RWL_P4_ERRNOCOUNT); + bis(rwm->m4flags, RWL_P4_HEXINSTR); rwlinit2(rwm, av0); @@ -2807,7 +2809,7 @@ void rwlstr2var(rwl_xeqenv *xev, rwl_location *loc, sb4 varnum, text *str, ub4 l rwlstrnncpy(nn->sval, str, nn->slen); nn->sval[nn->slen]=0; } - nn->ival = rwlatosb8(nn->sval); + nn->ival = rwldorxtosb8(xev,nn->sval); nn->dval = rwlatof(nn->sval); switch (vv->vtype) { @@ -3634,7 +3636,7 @@ void rwldoprintf(rwl_xeqenv *xev case RWL_TYPE_STREND: case RWL_TYPE_STR: nn->dval = rwlatof(nn->sval); - nn->ival = rwlatosb8(nn->sval); + nn->ival = rwldorxtosb8(xev,nn->sval); break; } return; @@ -4129,7 +4131,7 @@ void rwlregexsub(rwl_xeqenv *xev } // not null and number representations nn->isnull = 0; - nn->ival = rwlatosb8(nn->sval); + nn->ival = rwldorxtosb8(xev,nn->sval); nn->dval = rwlatof(nn->sval); } diff --git a/src/rwlparser.tab.c b/src/rwlparser.tab.c index 137deece..71823b7d 100644 --- a/src/rwlparser.tab.c +++ b/src/rwlparser.tab.c @@ -69,7 +69,7 @@ /* Copy the first part of user declarations. */ -#line 156 "rwlparser.y" /* yacc.c:339 */ +#line 158 "rwlparser.y" /* yacc.c:339 */ #include "rwl.h" @@ -570,7 +570,9 @@ extern int rwlydebug; RWL_T_ATAN2 = 414, RWL_T_WINSLASHF2B = 415, RWL_T_WINSLASHF2BB = 416, - RWL_T_UMINUS = 417 + RWL_T_BITWISE_LEFT_SHIFT = 417, + RWL_T_BITWISE_RIGHT_SHIFT = 418, + RWL_T_UMINUS = 419 }; #endif @@ -579,7 +581,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 471 "rwlparser.y" /* yacc.c:355 */ +#line 473 "rwlparser.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -593,7 +595,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 597 "rwlparser.tab.c" /* yacc.c:355 */ +#line 599 "rwlparser.tab.c" /* yacc.c:355 */ }; typedef union RWLYSTYPE RWLYSTYPE; @@ -609,7 +611,7 @@ int rwlyparse (rwl_main *rwm); /* Copy the second part of user declarations. */ -#line 613 "rwlparser.tab.c" /* yacc.c:358 */ +#line 615 "rwlparser.tab.c" /* yacc.c:358 */ #ifdef short # undef short @@ -851,21 +853,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 5787 +#define YYLAST 5778 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 178 +#define YYNTOKENS 184 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 290 +#define YYNNTS 294 /* YYNRULES -- Number of rules. */ -#define YYNRULES 664 +#define YYNRULES 674 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1222 +#define YYNSTATES 1238 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 417 +#define YYMAXUTOK 419 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -877,16 +879,16 @@ 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, 170, 2, 2, 2, 169, 2, 2, - 173, 174, 167, 166, 175, 165, 2, 168, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 177, 172, - 163, 162, 164, 176, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 175, 2, 2, 2, 174, 166, 2, + 179, 180, 172, 171, 181, 170, 2, 173, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 183, 178, + 168, 167, 169, 182, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 165, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 164, 2, 176, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -915,80 +917,81 @@ static const yytype_uint8 yytranslate[] = 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 171 + 155, 156, 157, 158, 159, 160, 161, 162, 163, 177 }; #if RWLYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 528, 528, 535, 539, 541, 540, 556, 557, 558, - 560, 563, 570, 572, 589, 588, 598, 597, 606, 605, - 615, 614, 624, 629, 638, 639, 643, 642, 649, 654, - 662, 663, 667, 666, 674, 673, 746, 751, 752, 764, - 765, 768, 769, 772, 782, 787, 795, 808, 839, 850, - 862, 861, 877, 887, 886, 903, 913, 923, 933, 946, - 947, 950, 958, 968, 979, 994, 995, 1007, 1009, 1008, - 1021, 1022, 1028, 1027, 1055, 1062, 1069, 1070, 1074, 1075, - 1078, 1091, 1090, 1142, 1154, 1153, 1174, 1179, 1186, 1191, - 1198, 1283, 1284, 1288, 1297, 1298, 1301, 1302, 1303, 1307, - 1308, 1312, 1340, 1342, 1344, 1346, 1361, 1366, 1371, 1379, - 1380, 1382, 1384, 1403, 1405, 1404, 1420, 1419, 1435, 1434, - 1450, 1493, 1507, 1521, 1535, 1547, 1551, 1552, 1553, 1554, - 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, - 1565, 1567, 1569, 1571, 1573, 1574, 1577, 1580, 1581, 1585, - 1590, 1591, 1592, 1594, 1596, 1597, 1599, 1610, 1621, 1625, - 1631, 1635, 1641, 1645, 1651, 1656, 1660, 1668, 1666, 1693, - 1697, 1701, 1707, 1713, 1717, 1718, 1722, 1723, 1727, 1732, - 1733, 1734, 1739, 1740, 1741, 1742, 1746, 1747, 1748, 1749, - 1753, 1754, 1755, 1759, 1760, 1761, 1762, 1763, 1764, 1768, - 1769, 1770, 1774, 1776, 1775, 1793, 1795, 1794, 1810, 1812, - 1821, 1811, 1836, 1837, 1841, 1842, 1852, 1853, 1857, 1865, - 1868, 1867, 1874, 1877, 1876, 1880, 1882, 1884, 1886, 1889, - 1895, 1924, 1939, 1952, 1954, 1955, 1959, 1961, 1965, 1967, - 1972, 1971, 1978, 1977, 1989, 1994, 1993, 2001, 2005, 2029, - 2055, 2053, 2081, 2079, 2189, 2198, 2197, 2201, 2200, 2205, - 2211, 2210, 2220, 2219, 2228, 2241, 2246, 2240, 2274, 2282, - 2287, 2281, 2316, 2323, 2339, 2338, 2351, 2367, 2378, 2384, - 2390, 2402, 2414, 2424, 2434, 2433, 2446, 2452, 2450, 2568, - 2575, 2591, 2593, 2595, 2595, 2596, 2599, 2601, 2603, 2600, - 2605, 2609, 2608, 2723, 2756, 2764, 2789, 2763, 2840, 2841, - 2842, 2843, 2845, 2846, 2854, 2855, 2863, 2864, 2873, 2876, - 2875, 2884, 2886, 2894, 2902, 2911, 2919, 2921, 2928, 2929, - 2940, 2976, 3013, 3054, 3071, 3053, 3112, 3119, 3126, 3125, - 3157, 3158, 3166, 3165, 3213, 3215, 3214, 3224, 3375, 3374, - 3522, 3528, 3531, 3547, 3551, 3555, 3562, 3563, 3567, 3567, - 3581, 3581, 3597, 3597, 3613, 3613, 3627, 3627, 3658, 3659, - 3660, 3663, 3669, 3668, 3678, 3677, 3695, 3694, 3742, 3757, - 3766, 3741, 3803, 3811, 3812, 3812, 3825, 3824, 3831, 3832, - 3833, 3839, 3840, 3844, 3848, 3856, 3860, 3864, 3872, 3873, - 3879, 3885, 3887, 3890, 3891, 3896, 3895, 3997, 3999, 3998, - 4053, 4057, 4061, 4062, 4066, 4081, 4090, 4105, 4114, 4118, - 4124, 4141, 4148, 4158, 4159, 4160, 4164, 4165, 4181, 4191, - 4197, 4205, 4211, 4219, 4225, 4233, 4238, 4245, 4246, 4247, - 4251, 4252, 4251, 4262, 4266, 4267, 4266, 4276, 4283, 4284, - 4287, 4287, 4368, 4366, 4380, 4457, 4554, 4555, 4559, 4560, - 4563, 4564, 4567, 4568, 4571, 4575, 4579, 4583, 4602, 4608, - 4610, 4613, 4614, 4623, 4624, 4629, 4628, 4637, 4647, 4648, - 4652, 4652, 4654, 4653, 4662, 4661, 4665, 4672, 4673, 4677, - 4677, 4679, 4678, 4685, 4684, 4688, 4697, 4793, 4798, 4803, - 4804, 4807, 4824, 4841, 4858, 4881, 4881, 4912, 4933, 4933, - 4956, 4955, 4971, 4970, 4986, 4985, 5002, 5003, 5006, 5008, - 5006, 5062, 5093, 5092, 5129, 5130, 5138, 5137, 5161, 5162, - 5166, 5165, 5204, 5203, 5226, 5226, 5253, 5254, 5257, 5278, - 5300, 5324, 5329, 5337, 5338, 5338, 5342, 5403, 5438, 5453, - 5496, 5505, 5506, 5514, 5515, 5516, 5517, 5518, 5519, 5522, - 5523, 5524, 5525, 5532, 5539, 5530, 5565, 5565, 5578, 5591, - 5592, 5596, 5609, 5610, 5617, 5622, 5629, 5630, 5631, 5636, - 5637, 5638, 5643, 5644, 5645, 5650, 5651, 5652, 5657, 5662, - 5663, 5674, 5685, 5696, 5700, 5707, 5708, 5765, 5771, 5770, - 5858, 5857, 5901, 5909, 5911, 5915, 5919, 5908, 5961, 5970, - 5974, 5981, 5983, 5987, 5980, 6025, 6035, 6037, 6041, 6034, - 6079, 6088, 6089, 6092, 6135, 6144, 6170, 6169, 6200, 6206, - 6207, 6210, 6211, 6215, 6220, 6245, 6254, 6306, 6331, 6359, - 6214, 6367, 6368, 6369, 6377, 6378, 6386, 6404, 6385, 6408, - 6412, 6413, 6420, 6421, 6422, 6428, 6429, 6430, 6435, 6436, - 6437, 6438, 6439, 6440, 6441 + 0, 535, 535, 542, 546, 548, 547, 563, 564, 565, + 567, 570, 577, 579, 596, 595, 605, 604, 613, 612, + 622, 621, 631, 636, 645, 646, 650, 649, 656, 661, + 669, 670, 674, 673, 681, 680, 753, 758, 759, 771, + 772, 775, 776, 779, 789, 794, 802, 815, 846, 857, + 869, 868, 884, 894, 893, 910, 920, 930, 940, 953, + 954, 957, 965, 975, 986, 1001, 1002, 1014, 1016, 1015, + 1028, 1029, 1035, 1034, 1062, 1069, 1076, 1077, 1081, 1082, + 1085, 1098, 1097, 1149, 1161, 1160, 1181, 1186, 1193, 1198, + 1205, 1290, 1291, 1295, 1304, 1305, 1308, 1309, 1310, 1314, + 1315, 1319, 1347, 1349, 1351, 1353, 1368, 1373, 1378, 1386, + 1387, 1389, 1391, 1410, 1412, 1411, 1427, 1426, 1442, 1441, + 1457, 1500, 1514, 1528, 1542, 1554, 1558, 1559, 1560, 1561, + 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, + 1572, 1574, 1576, 1578, 1580, 1581, 1584, 1587, 1588, 1592, + 1597, 1598, 1599, 1601, 1603, 1604, 1606, 1617, 1628, 1632, + 1638, 1642, 1648, 1652, 1658, 1663, 1667, 1675, 1673, 1700, + 1704, 1708, 1714, 1720, 1724, 1725, 1729, 1730, 1734, 1739, + 1740, 1741, 1746, 1747, 1748, 1749, 1750, 1754, 1755, 1756, + 1757, 1761, 1762, 1763, 1766, 1767, 1768, 1772, 1773, 1774, + 1775, 1776, 1777, 1781, 1782, 1783, 1787, 1788, 1792, 1793, + 1797, 1798, 1802, 1804, 1803, 1821, 1823, 1822, 1838, 1840, + 1849, 1839, 1864, 1865, 1869, 1870, 1880, 1881, 1885, 1893, + 1896, 1895, 1902, 1905, 1904, 1908, 1910, 1912, 1914, 1917, + 1923, 1952, 1967, 1980, 1982, 1983, 1987, 1989, 1993, 1995, + 2000, 1999, 2006, 2005, 2017, 2022, 2021, 2029, 2033, 2057, + 2083, 2081, 2109, 2107, 2217, 2226, 2225, 2229, 2228, 2233, + 2239, 2238, 2248, 2247, 2256, 2269, 2274, 2268, 2302, 2310, + 2315, 2309, 2344, 2351, 2367, 2366, 2379, 2395, 2406, 2412, + 2418, 2430, 2442, 2452, 2462, 2461, 2474, 2480, 2478, 2596, + 2603, 2619, 2621, 2623, 2623, 2624, 2627, 2629, 2631, 2628, + 2633, 2637, 2636, 2751, 2784, 2792, 2817, 2791, 2868, 2869, + 2870, 2871, 2873, 2874, 2882, 2883, 2891, 2892, 2901, 2904, + 2903, 2912, 2914, 2922, 2930, 2939, 2947, 2949, 2956, 2957, + 2968, 3004, 3041, 3082, 3099, 3081, 3140, 3147, 3154, 3153, + 3185, 3186, 3194, 3193, 3241, 3243, 3242, 3252, 3403, 3402, + 3550, 3556, 3559, 3575, 3579, 3583, 3590, 3591, 3595, 3595, + 3609, 3609, 3625, 3625, 3641, 3641, 3655, 3655, 3686, 3687, + 3688, 3691, 3697, 3696, 3706, 3705, 3723, 3722, 3770, 3785, + 3794, 3769, 3831, 3839, 3840, 3840, 3853, 3852, 3859, 3860, + 3861, 3867, 3868, 3872, 3876, 3884, 3888, 3892, 3900, 3901, + 3907, 3913, 3915, 3918, 3919, 3924, 3923, 4025, 4027, 4026, + 4081, 4085, 4089, 4090, 4094, 4109, 4118, 4133, 4142, 4146, + 4152, 4169, 4176, 4186, 4187, 4188, 4192, 4193, 4209, 4219, + 4225, 4233, 4239, 4247, 4253, 4261, 4266, 4273, 4274, 4275, + 4279, 4280, 4279, 4290, 4294, 4295, 4294, 4304, 4311, 4312, + 4315, 4315, 4396, 4394, 4408, 4485, 4582, 4583, 4587, 4588, + 4591, 4592, 4595, 4596, 4599, 4603, 4607, 4611, 4630, 4636, + 4638, 4641, 4642, 4651, 4652, 4657, 4656, 4665, 4675, 4676, + 4680, 4680, 4682, 4681, 4690, 4689, 4693, 4700, 4701, 4705, + 4705, 4707, 4706, 4713, 4712, 4716, 4725, 4821, 4826, 4831, + 4832, 4835, 4852, 4869, 4886, 4909, 4909, 4940, 4961, 4961, + 4984, 4983, 4999, 4998, 5014, 5013, 5030, 5031, 5034, 5036, + 5034, 5090, 5121, 5120, 5157, 5158, 5166, 5165, 5189, 5190, + 5194, 5193, 5232, 5231, 5254, 5254, 5281, 5282, 5285, 5306, + 5328, 5352, 5357, 5365, 5366, 5366, 5370, 5431, 5466, 5481, + 5524, 5533, 5534, 5542, 5543, 5544, 5545, 5546, 5547, 5550, + 5551, 5552, 5553, 5560, 5567, 5558, 5593, 5593, 5606, 5619, + 5620, 5624, 5637, 5638, 5645, 5650, 5657, 5658, 5659, 5664, + 5665, 5666, 5671, 5672, 5673, 5678, 5679, 5680, 5685, 5690, + 5691, 5702, 5713, 5724, 5728, 5735, 5736, 5793, 5799, 5798, + 5886, 5885, 5929, 5937, 5939, 5943, 5947, 5936, 5989, 5998, + 6002, 6009, 6011, 6015, 6008, 6053, 6063, 6065, 6069, 6062, + 6107, 6116, 6117, 6120, 6163, 6172, 6198, 6197, 6228, 6234, + 6235, 6238, 6239, 6243, 6248, 6273, 6282, 6334, 6359, 6387, + 6242, 6395, 6396, 6397, 6405, 6406, 6414, 6432, 6413, 6436, + 6440, 6441, 6448, 6449, 6450, 6456, 6457, 6458, 6463, 6464, + 6465, 6466, 6467, 6468, 6469 }; #endif @@ -1038,25 +1041,27 @@ static const char *const yytname[] = "RWL_T_NORMALRANDOM", "RWL_T_STATISTICSONLY", "RWL_T_CEIL", "RWL_T_TRUNC", "RWL_T_FLOOR", "RWL_T_LOBPREFETCH", "RWL_T_SIN", "RWL_T_COS", "RWL_T_ATAN2", "RWL_T_WINSLASHF2B", "RWL_T_WINSLASHF2BB", - "'='", "'<'", "'>'", "'-'", "'+'", "'*'", "'/'", "'%'", "'!'", - "RWL_T_UMINUS", "';'", "'('", "')'", "','", "'?'", "':'", "$accept", - "rwlyparse", "terminator", "programelementlist", "$@1", "programelement", - "globaldeclaration", "$@2", "$@3", "$@4", "$@5", "ranstringspec", - "ranstringlist", "ranstringentry", "$@6", "ranidentifierspec", - "ranidentifierlist", "ranidentifierentry", "$@7", "databasedeclaration", - "$@8", "maybejustusername", "maybedbspeclist", "dbspeclist", "dbspec", - "$@9", "$@10", "maybemarks", "eithermark", "maybemaxpoolsize", - "mayberelease", "maybewait", "$@11", "maybethentimeoutaction", "$@12", - "compiletime_expression", "compiletime_concatenation", - "subroutinedeclaration", "isaccepted", "functionhead", "$@13", - "procedurehead", "$@14", "maybeprivatefunction", "maybeprivateprocedure", - "codebody", "printvarlist", "printvarelement", "maybeemptybrackets", - "maybearguments", "formalargumentlist", "formalargument", "argumenttype", - "maybestatistics", "codeterminator", "$@15", "$@16", "$@17", - "identifier_or_constant", "$@18", "maybe_expression_list", - "expression_list", "countexpressions", "primary_expression", - "unary_expression", "multiplication", "addition", "comparison", - "equality", "logicaland", "$@19", "logicalor", "$@20", "conditional", + "RWL_T_BITWISE_LEFT_SHIFT", "RWL_T_BITWISE_RIGHT_SHIFT", "'|'", "'^'", + "'&'", "'='", "'<'", "'>'", "'-'", "'+'", "'*'", "'/'", "'%'", "'!'", + "'~'", "RWL_T_UMINUS", "';'", "'('", "')'", "','", "'?'", "':'", + "$accept", "rwlyparse", "terminator", "programelementlist", "$@1", + "programelement", "globaldeclaration", "$@2", "$@3", "$@4", "$@5", + "ranstringspec", "ranstringlist", "ranstringentry", "$@6", + "ranidentifierspec", "ranidentifierlist", "ranidentifierentry", "$@7", + "databasedeclaration", "$@8", "maybejustusername", "maybedbspeclist", + "dbspeclist", "dbspec", "$@9", "$@10", "maybemarks", "eithermark", + "maybemaxpoolsize", "mayberelease", "maybewait", "$@11", + "maybethentimeoutaction", "$@12", "compiletime_expression", + "compiletime_concatenation", "subroutinedeclaration", "isaccepted", + "functionhead", "$@13", "procedurehead", "$@14", "maybeprivatefunction", + "maybeprivateprocedure", "codebody", "printvarlist", "printvarelement", + "maybeemptybrackets", "maybearguments", "formalargumentlist", + "formalargument", "argumenttype", "maybestatistics", "codeterminator", + "$@15", "$@16", "$@17", "identifier_or_constant", "$@18", + "maybe_expression_list", "expression_list", "countexpressions", + "primary_expression", "unary_expression", "multiplication", "addition", + "bitwise_shift", "comparison", "equality", "bitwise_and", "bitwise_xor", + "bitwise_or", "logicaland", "$@19", "logicalor", "$@20", "conditional", "$@21", "$@22", "expression", "concatenation", "statementlist", "goodorbadstatement", "$@23", "$@24", "statement", "$@25", "$@26", "$@27", "$@28", "$@29", "$@30", "$@31", "$@32", "$@33", "$@34", "$@35", @@ -1124,17 +1129,18 @@ static const yytype_uint16 yytoknum[] = 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 61, 60, 62, 45, 43, 42, 47, 37, - 33, 417, 59, 40, 41, 44, 63, 58 + 415, 416, 417, 418, 124, 94, 38, 61, 60, 62, + 45, 43, 42, 47, 37, 33, 126, 419, 59, 40, + 41, 44, 63, 58 }; # endif -#define YYPACT_NINF -964 +#define YYPACT_NINF -967 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-964))) + (!!((Yystate) == (-967))) -#define YYTABLE_NINF -648 +#define YYTABLE_NINF -658 #define yytable_value_is_error(Yytable_value) \ 0 @@ -1143,129 +1149,130 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -964, 136, 325, -964, 3398, -51, 49, -964, -51, -1, - -964, -964, -964, 231, 1846, 2001, -964, 65, 2068, 127, - 131, 476, -964, 134, 138, -42, -964, -51, 2223, 220, - 5614, -51, -51, -64, 1611, -51, 84, -51, -51, -964, - -51, 366, 336, -964, -964, -964, -964, 204, 217, 2290, - 51, -964, -964, 75, -964, 139, 54, -964, -964, -964, - -964, -964, -964, 48, 292, 292, 144, 149, -964, -964, - -51, 288, -51, 1544, -964, 283, -964, -964, 33, 94, - 119, 150, -964, 69, 74, 205, -51, -51, 1208, 2445, - 152, -964, -964, 2512, -964, -964, 5614, -964, -964, -51, - -964, -964, -51, -964, 321, -964, -51, 275, 64, 262, - 362, 288, -51, 5614, -51, 5614, 417, 128, 577, -42, - 280, 368, 375, 379, 393, 415, 421, 437, -42, -964, - 440, 5614, 456, 458, 462, 470, 482, 487, 489, 499, - 502, 504, 506, 507, -964, 509, -964, -964, 510, 511, - 515, 516, 517, 519, 520, 521, 522, 5614, 5614, 5614, - 403, -964, -964, 485, -63, 380, 25, 407, 28, -964, - 45, -51, -51, -51, -964, 460, 467, -51, -964, -51, - -964, 343, -51, -964, 2667, 454, 471, 250, 227, -964, - -964, -51, -964, -51, -964, 5614, -964, -51, 466, 428, - -964, -964, -964, -964, -964, -964, -964, 497, -964, -964, - 155, -964, -51, 404, 523, 524, 525, -51, 5614, -51, - 554, -964, 677, 627, 561, -964, -51, 527, -51, 562, - 1383, 475, -964, -51, -964, -964, -964, -964, -964, -964, - -964, -964, -51, -964, -51, -964, 559, -964, 258, -964, - -51, -964, 685, 308, -964, 46, -964, 3118, 3538, -51, - 266, 5614, -964, -51, 564, -51, 564, -51, -964, 344, - -964, -51, -51, -51, -964, -964, -51, -964, -964, -964, - -964, -964, -51, 5614, -964, 5614, -964, -51, 5392, -964, - 349, -964, -51, 564, -51, 5614, 44, -964, 5614, -964, - 565, -964, -964, -964, 656, -964, -964, 5614, 657, 362, - -964, -964, -964, -964, -964, 538, 2734, -964, 39, -964, - -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, - 535, 537, 5614, 5614, 5614, 5614, 5614, 5614, -964, 5614, - -964, 5614, 5614, 5614, 20, 5614, 5614, 5614, 5614, 157, - 159, 233, 5614, -964, 5614, 5614, 5614, 5614, 5614, 5614, - 5614, 5614, 5614, -964, -964, 539, 263, 5614, 5614, 5614, - 5614, 5614, 5614, 5614, 5614, 5614, 5614, 5614, 5614, -964, - -964, -964, 5614, -964, -964, -964, -964, 540, 570, 574, - -964, -964, -964, -964, -51, 79, -964, -964, -964, -964, - -964, -964, -964, -964, -964, -964, -51, -51, 5614, -964, - -964, 695, 696, 699, 579, -964, -964, 5614, -51, -964, - 5614, -51, -964, -964, -964, -964, -964, -964, -964, -964, - -964, -964, -964, 672, 583, -51, 5614, -964, -964, -964, - -964, -964, -964, -964, -964, -964, -964, 2667, -964, 5614, - -964, -51, -51, -51, -964, 3678, -964, -964, 553, -964, - 553, -964, -964, -964, -964, -964, -964, -964, 254, -964, - 645, -964, -964, -964, -964, -964, -964, -964, -964, -964, - -964, 5614, -964, 3818, -51, -51, -964, -964, -964, 87, - 103, 309, 112, 314, -964, -964, 654, 24, -964, -964, - -964, 555, 662, 564, -964, 344, -964, 344, -964, 414, - 564, -964, -964, -964, -964, -964, 5614, -964, 349, 349, - -964, -964, -964, -964, -964, 344, -964, -964, -51, 588, - -51, 316, -964, -964, -964, 540, 2889, 362, 662, -964, - -964, 657, 556, 557, -964, -964, -964, -964, -964, -964, - -51, 713, -964, 650, 59, -964, -964, -964, -10, 563, - 5, -4, 260, 199, 261, 50, 566, 568, 569, 571, - -964, 572, 208, 213, 268, 573, 575, 576, 578, 580, - 582, 585, 586, 587, 5614, 229, 278, 281, 282, 290, - 291, 239, 589, 590, -964, -964, 680, -964, -964, -964, - 485, 485, -63, -63, 212, -63, -63, 380, 380, 5614, - 5614, 5614, -964, 597, 378, -964, -964, -964, -964, -51, - -964, -964, -51, -964, -964, -51, 249, 512, 602, 609, - -964, -964, 615, 662, -964, 5614, 662, -964, -51, 5325, - -964, -964, -964, -964, 591, 592, -964, -964, -964, -964, - 593, -964, -964, -964, -964, -964, 124, 683, 246, 5614, - 5614, 5614, 5614, -964, -964, -964, -964, -964, -964, -964, - -964, 5614, -964, 594, 63, -964, -964, 3958, -51, -51, - -964, -51, -964, -51, 769, 770, -51, 2956, -964, -964, - -51, -51, -51, -964, -964, 738, 344, -964, -964, -964, - -964, -964, 593, -964, -964, 5614, -964, 600, -964, -964, - -964, -964, 5547, 5614, 5614, 727, -964, 5614, -964, -964, - -964, -964, 5614, 5614, 5614, -51, 316, -964, 115, 38, - 747, -964, 657, -964, -964, 5614, 5614, -964, 538, 694, - 637, -51, -51, -964, -964, -964, 5614, 5614, -964, -964, - 5614, -964, 606, -964, 639, 5614, -964, -964, -964, -964, - -964, 5614, -964, 5614, -964, -964, -964, -964, -964, -964, - -964, -964, -964, 5614, 610, 5614, -964, -964, -964, -964, - -964, 5614, -964, -964, -964, 5614, 25, 407, 608, -964, - -964, -964, 30, 35, -964, -964, -964, 5614, 5614, -51, - -964, -964, -964, 709, -964, -964, -964, -964, -964, -51, - -964, -964, 5325, -964, 611, -964, -964, 616, -964, -964, - -964, -964, -964, -964, -964, 68, 5614, 5614, 614, -964, - -964, -964, -964, -964, -964, 384, -964, 648, 413, -964, - -964, -964, -964, 662, 662, 662, 662, 4098, 5614, -51, - -964, -964, -51, -51, -964, -964, 46, -964, -964, -964, - -964, 5614, -964, -51, -51, -964, 723, 550, 3258, -964, - -964, -964, -964, -964, 5614, -964, 5614, -51, 651, -964, - -964, -964, -964, -964, 359, -964, -964, -964, -964, -964, - 739, -964, -964, -964, -964, 620, 4238, -964, 4378, -964, - -964, -51, 655, -964, -964, -964, -964, 302, 303, 304, - -964, 622, 236, 327, 329, 432, -964, 330, 356, -63, - -964, -51, 658, -964, -51, 660, -964, 662, 662, -964, - -964, -964, 5614, -964, 5614, -964, -964, 30, 35, -964, - 5614, -964, 560, -964, -51, 121, -964, -964, -964, -964, - 5614, -964, 413, -964, -964, 71, 662, -964, -964, 182, - 567, -964, -964, -964, 4518, -964, -964, -964, -964, -964, - 564, -964, -964, -964, -964, 359, 768, -964, -964, -964, - 768, -964, 5614, 5614, 1, -964, 71, 71, 540, 540, - -964, -964, 4658, 717, -964, -964, -964, -964, -964, 5614, - -964, -964, -964, 5614, -964, -964, 5614, -964, -964, 463, - -964, -964, -964, 473, -964, 772, 628, -964, 5614, 628, - -964, 662, 628, -964, -964, 662, 18, 109, -964, 1772, - 56, -51, -51, -51, -964, -964, -964, -51, -51, -51, - 631, -964, -51, -51, -964, -964, -964, -964, -964, -964, - 59, 4798, 344, 632, 5614, 705, 705, -964, -964, -964, - -964, -964, -964, -964, 378, 378, 789, 5614, 733, 357, - 358, -964, 5614, -51, 658, 5614, -51, 660, 5614, -964, - -964, 662, -51, -964, -964, -964, -964, 392, -964, -51, - -964, -964, 406, -964, -51, -964, 5614, -51, -964, -964, - -964, -964, 420, -964, -964, -964, -964, -964, -964, -964, - -964, -964, -964, -964, 288, -964, 83, -964, 5614, -964, - 5614, 741, -964, 4938, 764, -964, -964, 83, -964, 5614, - -964, -964, -964, -964, -964, -964, -964, -964, 662, -964, - 679, -964, 252, 252, 252, 397, -964, -964, 252, -17, - -964, -964, -51, -964, 252, 252, 252, 422, -964, -964, - -51, -51, -964, -964, -964, -964, 5614, -964, 71, -964, - -964, -964, -964, -964, -964, 712, -964, -964, -964, -964, - -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, - 644, -964, -964, 730, -964, 682, 757, -964, -51, 4, - -964, -964, -964, -964, 653, 5078, -964, 759, 5614, -964, - 661, -964, -964, 5218, 808, 72, -51, -51, -964, -964, - -964, -964 + -967, 96, 108, -967, 3511, -56, 141, -967, -56, 290, + -967, -967, -967, 236, 1922, 1989, -967, 51, 2153, 142, + 143, 388, -967, 156, 158, -38, -967, -56, 2220, 218, + 5599, -56, -56, 243, 1691, -56, 41, -56, -56, -967, + -56, 379, 145, -967, -967, -967, -967, 181, 201, 2384, + 44, -967, -967, 132, -967, 159, 52, -967, -967, -967, + -967, -967, -967, 62, 323, 323, 161, 163, -967, -967, + -56, 303, -56, 1527, -967, 356, -967, -967, 50, 119, + 120, 165, -967, 67, 73, 223, -56, -56, 1281, 2451, + 167, -967, -967, 2615, -967, -967, 5599, -967, -967, -56, + -967, -967, -56, -967, 302, -967, -56, 276, 296, 279, + 365, 303, -56, 5599, -56, 5599, 428, 104, 606, -38, + 318, 330, 335, 343, 347, 358, 397, 416, -38, -967, + 425, 5599, 429, 438, 441, 443, 444, 445, 448, 449, + 452, 462, 463, 464, -967, 468, -967, -967, 472, 479, + 481, 484, 485, 486, 488, 489, 497, 5599, 5599, 5599, + 5599, 375, -967, -967, 189, -41, -28, 370, 248, 382, + 289, 317, 495, 29, -967, 426, -56, -56, -56, -967, + 545, 656, -56, -967, -56, -967, 321, -56, -967, 2682, + 613, 487, 246, 212, -967, -967, -56, -967, -56, -967, + 5599, -967, -56, 415, 540, -967, -967, -967, -967, -967, + -967, -967, 399, -967, -967, 173, -967, -56, 502, 505, + 506, 507, -56, 5599, -56, 549, -967, 673, 625, 566, + -967, -56, 528, -56, 568, 1457, 558, -967, -56, -967, + -967, -967, -967, -967, -967, -967, -967, -56, -967, -56, + -967, 571, -967, 274, -967, -56, -967, 691, 46, -967, + 58, -967, 3239, 3641, -56, 298, 5599, -967, -56, 570, + -56, 570, -56, -967, 315, -967, -56, -56, -56, -967, + -967, -56, -967, -967, -967, -967, -967, -56, 5599, -967, + 5599, -967, -56, 5375, -967, 324, -967, -56, 570, -56, + 5599, 43, -967, 5599, -967, 574, -967, -967, -967, 669, + -967, -967, 5599, 660, 365, -967, -967, -967, -967, -967, + 661, 2846, -967, 60, -967, -967, -967, -967, -967, -967, + -967, -967, -967, -967, -967, 543, 544, 5599, 5599, 5599, + 5599, 5599, 5599, -967, 5599, -967, 5599, 5599, 5599, 45, + 5599, 5599, 5599, 5599, 174, 179, 144, 5599, -967, 5599, + 5599, 5599, 5599, 5599, 5599, 5599, 5599, 5599, -967, -967, + -967, 546, 301, 5599, 5599, 5599, 5599, 5599, 5599, 5599, + 5599, 5599, 5599, 5599, 5599, 5599, 5599, 5599, 5599, 5599, + -967, -967, -967, 5599, -967, -967, -967, -967, 552, 585, + 592, -967, -967, -967, -967, -56, 75, -967, -967, -967, + -967, -967, -967, -967, -967, -967, -967, -56, -56, 5599, + -967, -967, 715, 716, 719, 599, -967, -967, 5599, -56, + -967, 5599, -56, -967, -967, -967, -967, -967, -967, -967, + -967, -967, -967, -967, 692, 602, -56, 5599, -967, -967, + -967, -967, -967, -967, -967, -967, -967, -967, 2682, -967, + 5599, -967, -56, -56, -56, -967, 3771, -967, -967, 567, + -967, 567, -967, -967, -967, -967, -967, -967, -967, 259, + -967, 667, -967, -967, -967, -967, -967, -967, -967, -967, + -967, -967, 5599, -967, 3901, -56, -56, -967, -967, -967, + 54, 305, 312, 408, 458, -967, -967, 674, 38, -967, + -967, -967, 569, 682, 570, -967, 315, -967, 315, -967, + 325, 570, -967, -967, -967, -967, -967, 5599, -967, 324, + 324, -967, -967, -967, -967, -967, 315, -967, -967, -56, + 608, -56, 322, -967, -967, -967, 552, 2913, 365, 682, + -967, -967, 660, 573, 575, -967, -967, -967, -967, -967, + -967, -56, 731, -967, 671, 56, -967, -967, -967, 5, + 576, 32, 72, 124, 34, 225, 42, 577, 579, 580, + 581, -967, 582, 169, 211, 227, 583, 584, 586, 587, + 588, 589, 591, 593, 594, 5599, 118, 229, 242, 254, + 265, 266, 198, 596, 597, -967, -967, 710, -967, -967, + -967, 189, 189, -41, -41, -28, -28, -15, -28, -28, + 370, 370, 248, 382, 289, 5599, 5599, 5599, -967, 630, + 338, -967, -967, -967, -967, -56, -967, -967, -56, -967, + -967, -56, 275, 640, 632, 639, -967, -967, 641, 682, + -967, 5599, 682, -967, -56, 5308, -967, -967, -967, -967, + 604, 605, -967, -967, -967, -967, 607, -967, -967, -967, + -967, -967, 109, 699, -6, 5599, 5599, 5599, 5599, -967, + -967, -967, -967, -967, -967, -967, -967, 5599, -967, 609, + 63, -967, -967, 4031, -56, -56, -967, -56, -967, -56, + 789, 790, -56, 3077, -967, -967, -56, -56, -56, -967, + -967, 757, 315, -967, -967, -967, -967, -967, 607, -967, + -967, 5599, -967, 612, -967, -967, -967, -967, 5532, 5599, + 5599, 745, -967, 5599, -967, -967, -967, -967, 5599, 5599, + 5599, -56, 322, -967, 21, 3, 765, -967, 660, -967, + -967, 5599, 5599, -967, 661, 712, 655, -56, -56, -967, + -967, -967, 5599, 5599, -967, -967, 5599, -967, 620, -967, + 659, 5599, -967, -967, -967, -967, -967, 5599, -967, 5599, + -967, -967, -967, -967, -967, -967, -967, -967, -967, 5599, + 622, 5599, -967, -967, -967, -967, -967, 5599, -967, -967, + -967, 5599, 317, 495, 621, -967, -967, -967, 48, 53, + -967, -967, -967, 5599, 5599, -56, -967, -967, -967, 729, + -967, -967, -967, -967, -967, -56, -967, -967, 5308, -967, + 626, -967, -967, 631, -967, -967, -967, -967, -967, -967, + -967, 68, 5599, 5599, 627, -967, -967, -967, -967, -967, + -967, 262, -967, 666, 476, -967, -967, -967, -967, 682, + 682, 682, 682, 4161, 5599, -56, -967, -967, -56, -56, + -967, -967, 58, -967, -967, -967, -967, 5599, -967, -56, + -56, -967, 743, 520, 3369, -967, -967, -967, -967, -967, + 5599, -967, 5599, -56, 670, -967, -967, -967, -967, -967, + 398, -967, -967, -967, -967, -967, 760, -967, -967, -967, + -967, 633, 4291, -967, 4421, -967, -967, -56, 675, -967, + -967, -967, -967, 271, 272, 273, -967, 635, 215, 280, + 281, 362, -967, 285, 286, -28, -967, -56, 676, -967, + -56, 680, -967, 682, 682, -967, -967, -967, 5599, -967, + 5599, -967, -967, 48, 53, -967, 5599, -967, 524, -967, + -56, 155, -967, -967, -967, -967, 5599, -967, 476, -967, + -967, 65, 682, -967, -967, -37, 628, -967, -967, -967, + 4551, -967, -967, -967, -967, -967, 570, -967, -967, -967, + -967, 398, 786, -967, -967, -967, 786, -967, 5599, 5599, + -3, -967, 65, 65, 552, 552, -967, -967, 4681, 740, + -967, -967, -967, -967, -967, 5599, -967, -967, -967, 5599, + -967, -967, 5599, -967, -967, 390, -967, -967, -967, 413, + -967, 793, 643, -967, 5599, 643, -967, 682, 643, -967, + -967, 682, 20, 40, -967, 1758, 24, -56, -56, -56, + -967, -967, -967, -56, -56, -56, 645, -967, -56, -56, + -967, -967, -967, -967, -967, -967, 56, 4811, 315, 646, + 5599, 723, 723, -967, -967, -967, -967, -967, -967, -967, + 338, 338, 808, 5599, 748, 287, 288, -967, 5599, -56, + 676, 5599, -56, 680, 5599, -967, -967, 682, -56, -967, + -967, -967, -967, 352, -967, -56, -967, -967, 354, -967, + -56, -967, 5599, -56, -967, -967, -967, -967, 373, -967, + -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, + 303, -967, 71, -967, 5599, -967, 5599, 755, -967, 4941, + 778, -967, -967, 71, -967, 5599, -967, -967, -967, -967, + -967, -967, -967, -967, 682, -967, 693, -967, 66, 66, + 66, 369, -967, -967, 66, -26, -967, -967, -56, -967, + 66, 66, 66, 386, -967, -967, -56, -56, -967, -967, + -967, -967, 5599, -967, 65, -967, -967, -967, -967, -967, + -967, 724, -967, -967, -967, -967, -967, -967, -967, -967, + -967, -967, -967, -967, -967, -967, 652, -967, -967, 746, + -967, 696, 773, -967, -56, 260, -967, -967, -967, -967, + 663, 5071, -967, 775, 5599, -967, 664, -967, -967, 5201, + 825, 110, -56, -56, -967, -967, -967, -967 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1273,197 +1280,200 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 4, 0, 5, 1, 0, 0, 0, 541, 542, 0, - 89, 430, 432, 0, 0, 0, 434, 0, 0, 0, - 0, 0, 575, 0, 0, 94, 350, 260, 0, 395, + 4, 0, 5, 1, 0, 0, 0, 551, 552, 0, + 89, 440, 442, 0, 0, 0, 444, 0, 0, 0, + 0, 0, 585, 0, 0, 94, 360, 270, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, - 0, 0, 0, 624, 437, 438, 439, 0, 0, 0, - 0, 609, 610, 0, 376, 0, 0, 526, 3, 230, - 6, 8, 12, 0, 78, 78, 0, 0, 7, 333, - 0, 293, 0, 0, 301, 0, 216, 216, 0, 0, - 0, 0, 436, 0, 0, 0, 0, 0, 0, 0, - 0, 308, 310, 0, 311, 309, 0, 9, 337, 0, - 34, 325, 0, 93, 0, 91, 0, 0, 371, 0, - 593, 391, 0, 0, 0, 0, 0, 0, 0, 94, + 0, 0, 0, 634, 447, 448, 449, 0, 0, 0, + 0, 619, 620, 0, 386, 0, 0, 536, 3, 240, + 6, 8, 12, 0, 78, 78, 0, 0, 7, 343, + 0, 303, 0, 0, 311, 0, 226, 226, 0, 0, + 0, 0, 446, 0, 0, 0, 0, 0, 0, 0, + 0, 318, 320, 0, 321, 319, 0, 9, 347, 0, + 34, 335, 0, 93, 0, 91, 0, 0, 381, 0, + 603, 401, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 94, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 121, 123, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 179, 182, 186, 190, 193, 199, 202, 205, 208, 212, - 0, 0, 0, 0, 600, 0, 0, 0, 539, 0, - 540, 0, 0, 328, 0, 0, 0, 0, 0, 280, - 281, 0, 330, 0, 264, 0, 231, 0, 0, 0, - 282, 232, 290, 88, 429, 431, 433, 0, 574, 86, - 0, 435, 0, 0, 344, 0, 340, 0, 0, 0, - 0, 529, 0, 0, 0, 454, 0, 0, 0, 372, - 0, 0, 534, 0, 116, 114, 118, 113, 13, 79, - 216, 216, 0, 81, 0, 84, 368, 347, 0, 347, - 0, 347, 0, 384, 216, 0, 250, 0, 0, 0, - 0, 0, 240, 0, 0, 0, 0, 0, 405, 0, - 403, 0, 0, 0, 585, 233, 0, 548, 316, 530, - 314, 312, 0, 0, 547, 0, 318, 0, 214, 546, - 0, 543, 0, 0, 0, 0, 0, 36, 37, 10, - 0, 11, 254, 305, 0, 386, 298, 0, 0, 593, - 392, 620, 617, 615, 612, 658, 0, 633, 0, 629, - 632, 631, 419, 425, 423, 424, 418, 421, 422, 172, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, - 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 183, 184, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, - 206, 209, 0, 420, 304, 303, 602, 0, 0, 0, - 323, 324, 95, 283, 0, 0, 261, 415, 414, 396, - 397, 273, 329, 268, 266, 286, 0, 0, 0, 274, - 284, 0, 0, 0, 0, 279, 342, 0, 0, 338, - 0, 0, 272, 270, 315, 528, 447, 387, 445, 377, - 313, 532, 336, 0, 0, 0, 174, 553, 556, 554, - 560, 561, 562, 557, 558, 555, 559, 0, 527, 0, - 120, 0, 0, 0, 77, 0, 76, 80, 96, 83, - 96, 364, 360, 358, 362, 369, 370, 334, 368, 356, - 0, 291, 393, 394, 294, 347, 295, 382, 598, 597, - 454, 0, 383, 0, 0, 0, 582, 249, 216, 0, - 0, 0, 0, 0, 217, 218, 410, 0, 244, 427, - 428, 0, 74, 0, 237, 0, 239, 0, 235, 407, - 0, 234, 588, 586, 587, 317, 0, 322, 0, 0, - 327, 215, 544, 326, 247, 0, 608, 604, 0, 0, - 0, 39, 38, 75, 92, 0, 0, 593, 594, 348, - 296, 0, 0, 0, 660, 664, 661, 663, 659, 662, - 0, 0, 646, 0, 0, 630, 169, 170, 0, 0, + 0, 179, 182, 187, 191, 194, 197, 203, 206, 208, + 210, 212, 215, 218, 222, 0, 0, 0, 0, 610, + 0, 0, 0, 549, 0, 550, 0, 0, 338, 0, + 0, 0, 0, 0, 290, 291, 0, 340, 0, 274, + 0, 241, 0, 0, 0, 292, 242, 300, 88, 439, + 441, 443, 0, 584, 86, 0, 445, 0, 0, 354, + 0, 350, 0, 0, 0, 0, 539, 0, 0, 0, + 464, 0, 0, 0, 382, 0, 0, 544, 0, 116, + 114, 118, 113, 13, 79, 226, 226, 0, 81, 0, + 84, 378, 357, 0, 357, 0, 357, 0, 394, 226, + 0, 260, 0, 0, 0, 0, 0, 250, 0, 0, + 0, 0, 0, 415, 0, 413, 0, 0, 0, 595, + 243, 0, 558, 326, 540, 324, 322, 0, 0, 557, + 0, 328, 0, 224, 556, 0, 553, 0, 0, 0, + 0, 0, 36, 37, 10, 0, 11, 264, 315, 0, + 396, 308, 0, 0, 603, 402, 630, 627, 625, 622, + 668, 0, 643, 0, 639, 642, 641, 429, 435, 433, + 434, 428, 431, 432, 172, 0, 0, 0, 0, 0, + 0, 0, 0, 171, 0, 185, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, + 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 173, 180, 0, 187, 188, 189, - 192, 191, 196, 197, 0, 194, 195, 201, 200, 0, - 0, 0, 213, 0, 0, 621, 20, 16, 550, 0, - 551, 549, 0, 277, 278, 0, 0, 0, 0, 0, - 443, 441, 0, 345, 331, 0, 341, 332, 0, 450, - 534, 373, 375, 289, 0, 175, 176, 178, 263, 538, - 535, 536, 117, 115, 119, 90, 0, 0, 109, 0, - 0, 0, 0, 216, 355, 354, 353, 352, 357, 366, - 292, 0, 379, 0, 0, 584, 583, 0, 0, 0, - 223, 0, 220, 0, 0, 0, 0, 0, 413, 216, - 0, 0, 0, 589, 248, 426, 0, 236, 238, 406, - 408, 404, 531, 321, 320, 0, 246, 0, 259, 257, - 625, 256, 0, 0, 0, 0, 55, 0, 58, 59, - 49, 48, 0, 0, 0, 0, 40, 41, 593, 0, - 566, 216, 0, 216, 300, 0, 0, 628, 658, 650, - 0, 0, 0, 655, 627, 135, 0, 0, 150, 151, - 0, 154, 0, 147, 0, 0, 139, 166, 165, 144, - 128, 0, 130, 0, 134, 163, 162, 161, 160, 159, - 157, 156, 158, 0, 0, 0, 131, 132, 133, 136, - 137, 0, 145, 146, 181, 0, 204, 207, 0, 623, - 601, 622, 0, 0, 552, 267, 276, 0, 0, 0, - 512, 510, 508, 505, 514, 502, 503, 501, 507, 0, - 18, 14, 450, 343, 0, 339, 271, 0, 446, 449, - 456, 448, 454, 595, 533, 0, 0, 0, 104, 102, - 103, 106, 108, 107, 97, 0, 99, 0, 0, 111, - 112, 110, 85, 365, 361, 359, 363, 0, 0, 469, - 456, 385, 0, 0, 576, 302, 0, 226, 225, 216, - 222, 0, 219, 0, 0, 227, 0, 0, 0, 592, - 590, 591, 242, 241, 0, 545, 0, 0, 0, 46, - 43, 44, 59, 53, 56, 52, 50, 45, 35, 42, - 0, 573, 572, 568, 563, 0, 0, 299, 0, 618, - 613, 0, 0, 216, 634, 657, 656, 0, 0, 0, - 149, 0, 0, 0, 0, 0, 168, 0, 0, 198, - 210, 0, 0, 21, 0, 0, 17, 522, 521, 275, - 518, 518, 0, 504, 0, 518, 285, 0, 0, 442, - 0, 596, 0, 452, 0, 0, 398, 288, 177, 537, - 0, 98, 0, 101, 82, 0, 367, 470, 599, 388, - 0, 578, 577, 251, 0, 216, 228, 229, 417, 416, - 0, 409, 605, 258, 47, 57, 63, 62, 61, 60, - 63, 306, 0, 0, 0, 569, 0, 0, 0, 0, - 649, 651, 0, 644, 155, 126, 152, 148, 142, 0, - 127, 129, 140, 0, 153, 138, 0, 29, 32, 0, - 30, 23, 26, 0, 24, 524, 513, 516, 0, 511, - 509, 506, 515, 19, 15, 346, 0, 0, 451, 0, - 0, 469, 469, 469, 457, 456, 402, 0, 0, 0, - 0, 100, 0, 0, 579, 335, 389, 390, 380, 455, - 0, 0, 0, 0, 0, 65, 65, 216, 564, 571, - 567, 570, 253, 349, 0, 0, 0, 0, 0, 0, - 0, 211, 0, 0, 0, 0, 0, 0, 0, 523, - 518, 519, 0, 495, 489, 491, 493, 469, 487, 0, - 477, 475, 469, 473, 0, 472, 0, 0, 486, 480, - 482, 484, 469, 478, 464, 465, 466, 453, 401, 399, - 400, 105, 581, 580, 391, 224, 0, 243, 0, 64, - 0, 67, 51, 0, 0, 619, 614, 0, 645, 0, - 143, 141, 33, 28, 31, 27, 22, 25, 525, 517, - 0, 459, 0, 0, 0, 0, 458, 463, 0, 0, - 462, 468, 469, 461, 0, 0, 0, 0, 460, 381, - 0, 0, 652, 221, 606, 66, 0, 54, 0, 565, - 648, 635, 520, 498, 497, 499, 490, 496, 492, 494, - 488, 476, 474, 467, 481, 483, 485, 479, 654, 653, - 0, 68, 307, 0, 500, 0, 70, 636, 0, 0, - 69, 216, 607, 71, 0, 0, 72, 0, 174, 638, - 0, 216, 73, 0, 0, 0, 0, 0, 641, 640, - 643, 642 + 213, 216, 219, 0, 430, 314, 313, 612, 0, 0, + 0, 333, 334, 95, 293, 0, 0, 271, 425, 424, + 406, 407, 283, 339, 278, 276, 296, 0, 0, 0, + 284, 294, 0, 0, 0, 0, 289, 352, 0, 0, + 348, 0, 0, 282, 280, 325, 538, 457, 397, 455, + 387, 323, 542, 346, 0, 0, 0, 174, 563, 566, + 564, 570, 571, 572, 567, 568, 565, 569, 0, 537, + 0, 120, 0, 0, 0, 77, 0, 76, 80, 96, + 83, 96, 374, 370, 368, 372, 379, 380, 344, 378, + 366, 0, 301, 403, 404, 304, 357, 305, 392, 608, + 607, 464, 0, 393, 0, 0, 0, 592, 259, 226, + 0, 0, 0, 0, 0, 227, 228, 420, 0, 254, + 437, 438, 0, 74, 0, 247, 0, 249, 0, 245, + 417, 0, 244, 598, 596, 597, 327, 0, 332, 0, + 0, 337, 225, 554, 336, 257, 0, 618, 614, 0, + 0, 0, 39, 38, 75, 92, 0, 0, 603, 604, + 358, 306, 0, 0, 0, 670, 674, 671, 673, 669, + 672, 0, 0, 656, 0, 0, 640, 169, 170, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 173, 180, 0, 188, 189, + 190, 193, 192, 195, 196, 200, 201, 0, 198, 199, + 205, 204, 207, 209, 211, 0, 0, 0, 223, 0, + 0, 631, 20, 16, 560, 0, 561, 559, 0, 287, + 288, 0, 0, 0, 0, 0, 453, 451, 0, 355, + 341, 0, 351, 342, 0, 460, 544, 383, 385, 299, + 0, 175, 176, 178, 273, 548, 545, 546, 117, 115, + 119, 90, 0, 0, 109, 0, 0, 0, 0, 226, + 365, 364, 363, 362, 367, 376, 302, 0, 389, 0, + 0, 594, 593, 0, 0, 0, 233, 0, 230, 0, + 0, 0, 0, 0, 423, 226, 0, 0, 0, 599, + 258, 436, 0, 246, 248, 416, 418, 414, 541, 331, + 330, 0, 256, 0, 269, 267, 635, 266, 0, 0, + 0, 0, 55, 0, 58, 59, 49, 48, 0, 0, + 0, 0, 40, 41, 603, 0, 576, 226, 0, 226, + 310, 0, 0, 638, 668, 660, 0, 0, 0, 665, + 637, 135, 0, 0, 150, 151, 0, 154, 0, 147, + 0, 0, 139, 166, 165, 144, 128, 0, 130, 0, + 134, 163, 162, 161, 160, 159, 157, 156, 158, 0, + 0, 0, 131, 132, 133, 136, 137, 0, 145, 146, + 181, 0, 214, 217, 0, 633, 611, 632, 0, 0, + 562, 277, 286, 0, 0, 0, 522, 520, 518, 515, + 524, 512, 513, 511, 517, 0, 18, 14, 460, 353, + 0, 349, 281, 0, 456, 459, 466, 458, 464, 605, + 543, 0, 0, 0, 104, 102, 103, 106, 108, 107, + 97, 0, 99, 0, 0, 111, 112, 110, 85, 375, + 371, 369, 373, 0, 0, 479, 466, 395, 0, 0, + 586, 312, 0, 236, 235, 226, 232, 0, 229, 0, + 0, 237, 0, 0, 0, 602, 600, 601, 252, 251, + 0, 555, 0, 0, 0, 46, 43, 44, 59, 53, + 56, 52, 50, 45, 35, 42, 0, 583, 582, 578, + 573, 0, 0, 309, 0, 628, 623, 0, 0, 226, + 644, 667, 666, 0, 0, 0, 149, 0, 0, 0, + 0, 0, 168, 0, 0, 202, 220, 0, 0, 21, + 0, 0, 17, 532, 531, 285, 528, 528, 0, 514, + 0, 528, 295, 0, 0, 452, 0, 606, 0, 462, + 0, 0, 408, 298, 177, 547, 0, 98, 0, 101, + 82, 0, 377, 480, 609, 398, 0, 588, 587, 261, + 0, 226, 238, 239, 427, 426, 0, 419, 615, 268, + 47, 57, 63, 62, 61, 60, 63, 316, 0, 0, + 0, 579, 0, 0, 0, 0, 659, 661, 0, 654, + 155, 126, 152, 148, 142, 0, 127, 129, 140, 0, + 153, 138, 0, 29, 32, 0, 30, 23, 26, 0, + 24, 534, 523, 526, 0, 521, 519, 516, 525, 19, + 15, 356, 0, 0, 461, 0, 0, 479, 479, 479, + 467, 466, 412, 0, 0, 0, 0, 100, 0, 0, + 589, 345, 399, 400, 390, 465, 0, 0, 0, 0, + 0, 65, 65, 226, 574, 581, 577, 580, 263, 359, + 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, + 0, 0, 0, 0, 0, 533, 528, 529, 0, 505, + 499, 501, 503, 479, 497, 0, 487, 485, 479, 483, + 0, 482, 0, 0, 496, 490, 492, 494, 479, 488, + 474, 475, 476, 463, 411, 409, 410, 105, 591, 590, + 401, 234, 0, 253, 0, 64, 0, 67, 51, 0, + 0, 629, 624, 0, 655, 0, 143, 141, 33, 28, + 31, 27, 22, 25, 535, 527, 0, 469, 0, 0, + 0, 0, 468, 473, 0, 0, 472, 478, 479, 471, + 0, 0, 0, 0, 470, 391, 0, 0, 662, 231, + 616, 66, 0, 54, 0, 575, 658, 645, 530, 508, + 507, 509, 500, 506, 502, 504, 498, 486, 484, 477, + 491, 493, 495, 489, 664, 663, 0, 68, 317, 0, + 510, 0, 70, 646, 0, 0, 69, 226, 617, 71, + 0, 0, 72, 0, 174, 648, 0, 226, 73, 0, + 0, 0, 0, 0, 651, 650, 653, 652 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -964, -964, -5, -964, -964, -964, -964, -964, -964, -964, - -964, -109, -964, -247, -964, -106, -964, -242, -964, -964, - -964, -964, -964, -964, 108, -964, -964, -46, -964, -143, - -217, -964, -964, -964, -964, -314, -285, -964, 775, -964, - -964, -964, -964, -964, -964, 601, -964, 541, -23, 385, - -964, -103, 8, -964, -964, -964, -964, -964, -964, -964, - -580, -964, 27, -964, 297, -114, -334, 293, 241, 245, - -964, -964, -964, -381, -964, -964, 151, 659, -70, -964, - -964, -964, 852, -964, -964, -964, -964, -964, -964, -964, - -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, - -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, - -964, -964, -964, -964, -964, -203, -523, -964, -964, -964, - -964, -964, 389, -964, -964, -964, -964, -964, -964, 847, - -964, -964, 848, -964, 753, -964, -964, -964, -964, -964, - -964, -964, -964, -251, 793, -964, -964, -256, 355, -964, - -964, -964, -964, -964, -964, -964, -964, 697, -964, -964, - -68, -964, -964, -964, -964, -36, -964, -964, -964, -964, - -964, 57, -964, -964, -964, -964, -464, -169, 55, -964, - -716, -964, -964, -279, -964, -964, -286, -964, -964, -964, - -964, -269, -964, -964, -964, -558, -964, -964, -964, -964, - -964, -964, -964, -592, -202, -964, -964, -964, -964, -964, - -964, -964, -964, -964, -964, -964, -964, 240, -964, 363, - 58, -964, -964, 341, -964, 176, -270, 581, 435, -964, - 374, -964, -964, -964, -964, -964, -964, -100, -964, -964, - -964, -963, 31, -964, -964, -295, -964, 633, -964, -964, - -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, - -964, -964, -964, -964, -964, -520, -605, -964, 11, -964, - -964, -964, 584, -964, -964, -964, -964, -964, -964, -964, - -964, -964, -964, -964, -964, -964, -964, -238, -160, 153 + -967, -967, -5, -967, -967, -967, -967, -967, -967, -967, + -967, -108, -967, -246, -967, -105, -967, -240, -967, -967, + -967, -967, -967, -967, 111, -967, -967, -46, -967, -142, + -217, -967, -967, -967, -967, -251, -290, -967, 791, -967, + -967, -967, -967, -967, -967, 611, -967, 553, 255, 391, + -967, -109, 11, -967, -967, -967, -967, -967, -967, -967, + -585, -967, 26, -967, 210, -97, 228, -365, 226, 482, + 478, 483, 245, 247, -967, -967, -967, -388, -967, -967, + 238, 432, -70, -967, -967, -967, 867, -967, -967, -967, + -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, + -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, + -967, -967, -967, -967, -967, -967, -967, -967, -967, -216, + -528, -967, -967, -967, -967, -967, 401, -967, -967, -967, + -967, -967, -967, 863, -967, -967, 864, -967, 769, -967, + -967, -967, -967, -967, -967, -967, -967, -249, 811, -967, + -967, -267, 363, -967, -967, -967, -967, -967, -967, -967, + -967, 708, -967, -967, -71, -967, -967, -967, -967, -40, + -967, -967, -967, -967, -967, 59, -967, -967, -967, -967, + -471, -165, 55, -967, -719, -967, -967, -276, -967, -967, + -280, -967, -967, -967, -967, -266, -967, -967, -967, -598, + -967, -967, -967, -967, -967, -967, -967, -832, -200, -967, + -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, + -967, 241, -967, 371, 57, -967, -967, -174, -967, 178, + -272, 529, 446, -967, 381, -967, -967, -967, -967, -967, + -967, -98, -967, -967, -967, -966, 31, -967, -967, -300, + -967, 647, -967, -967, -967, -967, -967, -967, -967, -967, + -967, -967, -967, -967, -967, -967, -967, -967, -967, -535, + -618, -967, 13, -967, -967, -967, 595, -967, -967, -967, + -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, + -967, -236, -158, 166 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 59, 2, 4, 60, 61, 938, 793, 937, - 792, 926, 1013, 1014, 1075, 923, 1009, 1010, 1072, 62, - 298, 531, 725, 726, 727, 980, 976, 884, 979, 1055, - 1121, 1167, 1196, 1200, 1208, 501, 817, 63, 240, 64, - 458, 65, 460, 66, 67, 454, 104, 105, 182, 657, - 835, 836, 837, 842, 238, 452, 451, 453, 160, 584, - 644, 645, 646, 161, 162, 163, 164, 165, 166, 167, - 609, 168, 610, 169, 611, 1006, 288, 533, 455, 494, - 861, 859, 495, 503, 970, 293, 488, 304, 530, 877, - 184, 231, 195, 622, 218, 638, 626, 627, 436, 249, - 109, 537, 254, 535, 1057, 285, 246, 663, 216, 635, - 421, 214, 632, 418, 814, 471, 540, 733, 69, 467, - 667, 468, 469, 661, 660, 662, 659, 848, 470, 70, - 433, 434, 71, 225, 72, 253, 850, 1114, 480, 481, - 73, 223, 1048, 309, 310, 74, 947, 269, 270, 509, - 699, 874, 75, 688, 496, 76, 689, 327, 77, 328, - 262, 78, 79, 80, 81, 82, 83, 414, 812, 224, - 639, 818, 819, 820, 821, 1035, 429, 959, 960, 1034, - 958, 1096, 1092, 1093, 1148, 1102, 1103, 1154, 1155, 1156, - 1087, 1088, 1142, 1143, 1144, 1176, 1177, 809, 934, 932, - 931, 930, 935, 1016, 1017, 1018, 1140, 799, 1015, 1079, - 84, 232, 85, 86, 516, 87, 640, 448, 449, 650, - 651, 88, 89, 290, 705, 291, 286, 278, 396, 621, - 446, 447, 731, 982, 1124, 895, 984, 985, 893, 90, - 855, 1045, 487, 275, 694, 308, 822, 823, 671, 91, - 387, 92, 295, 707, 1053, 1190, 93, 94, 115, 543, - 989, 95, 113, 542, 988, 614, 615, 96, 711, 97, - 117, 318, 319, 320, 553, 993, 1193, 1201, 1207, 1211, - 1214, 1219, 1068, 321, 739, 1066, 903, 1163, 744, 550 + -1, 1, 59, 2, 4, 60, 61, 954, 809, 953, + 808, 942, 1029, 1030, 1091, 939, 1025, 1026, 1088, 62, + 303, 542, 741, 742, 743, 996, 992, 900, 995, 1071, + 1137, 1183, 1212, 1216, 1224, 512, 833, 63, 245, 64, + 469, 65, 471, 66, 67, 465, 104, 105, 187, 673, + 851, 852, 853, 858, 243, 463, 462, 464, 161, 595, + 660, 661, 662, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 625, 173, 626, 174, 627, 1022, + 293, 544, 466, 505, 877, 875, 506, 514, 986, 298, + 499, 309, 541, 893, 189, 236, 200, 638, 223, 654, + 642, 643, 447, 254, 109, 548, 259, 546, 1073, 290, + 251, 679, 221, 651, 432, 219, 648, 429, 830, 482, + 551, 749, 69, 478, 683, 479, 480, 677, 676, 678, + 675, 864, 481, 70, 444, 445, 71, 230, 72, 258, + 866, 1130, 491, 492, 73, 228, 1064, 314, 315, 74, + 963, 274, 275, 520, 715, 890, 75, 704, 507, 76, + 705, 332, 77, 333, 267, 78, 79, 80, 81, 82, + 83, 425, 828, 229, 655, 834, 835, 836, 837, 1051, + 440, 975, 976, 1050, 974, 1112, 1108, 1109, 1164, 1118, + 1119, 1170, 1171, 1172, 1103, 1104, 1158, 1159, 1160, 1192, + 1193, 825, 950, 948, 947, 946, 951, 1032, 1033, 1034, + 1156, 815, 1031, 1095, 84, 237, 85, 86, 527, 87, + 656, 459, 460, 666, 667, 88, 89, 295, 721, 296, + 291, 283, 407, 637, 457, 458, 747, 998, 1140, 911, + 1000, 1001, 909, 90, 871, 1061, 498, 280, 710, 313, + 838, 839, 687, 91, 398, 92, 300, 723, 1069, 1206, + 93, 94, 115, 554, 1005, 95, 113, 553, 1004, 630, + 631, 96, 727, 97, 117, 323, 324, 325, 564, 1009, + 1209, 1217, 1223, 1227, 1230, 1235, 1084, 326, 755, 1082, + 919, 1179, 760, 561 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1471,798 +1481,766 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 98, 612, 552, 101, 774, 211, 257, 258, 505, 791, - 507, 264, 266, 532, 541, 728, 672, 340, 734, 1082, - 523, 568, 183, 1062, 1063, 690, 189, 190, 192, 194, - 196, 921, 200, 201, 259, 202, 924, 525, 602, 603, - 604, 605, 606, 363, 364, 528, 474, 484, 476, 233, - 99, 752, 219, 102, 1060, 228, 382, 1097, 237, 554, - 741, 691, 382, 234, 852, 247, 116, 251, 260, 944, - 271, 382, 1042, 1216, 316, 276, 222, 692, 274, 277, - 619, 277, 277, 284, 1160, 197, 191, 377, 678, 1203, - 198, 891, 380, 742, 297, 263, 329, 299, 322, 301, - -626, 302, 370, 371, 680, 338, -262, 311, 58, 313, - 1089, 382, 1090, 485, -262, -262, -252, 220, 1161, 326, - 265, 58, 1037, 791, 1043, -262, 1091, 684, 171, 260, - 685, 181, 173, -262, -262, 177, 3, 853, 229, 179, - 226, 103, 828, 829, 235, 242, 1204, 1083, 229, -386, - 244, 267, 945, 292, 260, 830, 413, 679, 575, 1084, - 577, 1085, 569, 316, 745, 831, 384, 385, 386, 170, - 748, 1038, 390, 681, 391, -426, 983, 393, 307, 186, - 747, 188, 686, 401, 483, 1098, 402, 378, 403, 317, - 236, 100, 405, 221, 570, 1086, 58, 1099, 272, 1100, - -262, -262, -262, 922, 381, 1192, 261, 415, 925, 897, - 58, 273, 422, 199, 424, -626, -255, -444, 58, 529, - 58, 430, 1217, 432, 753, 754, -371, 230, 450, 832, - 788, 58, 106, 1101, 579, 58, -426, 457, 1090, 459, - 58, 58, 732, 58, 58, 475, 58, 696, 703, 704, - 486, 58, 1091, 833, 498, 58, 600, 601, 504, 1173, - 506, -426, 508, 1039, 511, 382, 512, 513, 514, 172, - 107, 515, 670, 174, 382, 785, 178, 517, 317, 382, - 180, 227, 520, 580, 581, 284, 243, 524, 1174, 526, - 613, 245, 268, 382, -245, 382, 797, -440, 834, 576, - 399, 578, 382, 255, 187, 382, -351, 664, 472, -351, - 682, 1046, -351, -351, -351, 1104, 1105, 1106, 595, 712, - 713, 714, 596, 499, 1047, -2, 382, 382, 665, 461, - -351, -351, 204, 205, 382, 462, 463, 464, 798, 1019, - 839, 840, 212, 1022, 382, 206, 213, 382, 382, 478, - 239, 715, 256, 465, 466, 208, 382, 382, 943, 215, - -297, 54, 716, 717, 718, 719, 720, 721, 382, 382, - 382, 1146, 248, 108, 750, 582, 1150, 370, 371, 683, - 279, 203, 760, 761, 204, 205, 1158, 762, 763, 618, - 620, 305, 400, 382, 1175, 382, 382, 206, 841, 58, - 473, 623, 624, 883, 775, 722, 207, 208, 885, 886, - 998, 999, 502, 634, 781, 500, 637, 303, 677, 44, - 45, 46, 382, 382, 382, 307, 58, 879, 880, 881, - 643, 828, 829, 890, 749, 751, 1183, 315, 479, 887, - 372, 373, 764, 210, 830, 374, 652, 653, 654, 723, - 724, 919, 776, 330, 831, 777, 778, 211, 538, 791, - 791, 366, 209, 666, 779, 780, 437, 502, 1064, 1065, - 379, 44, 45, 46, 438, 439, 994, 995, 996, 675, - 676, 977, 388, 558, 978, 560, 561, 562, 563, 389, - 564, 175, 693, 58, 176, 210, 300, 572, 573, 574, - 697, 1000, 698, 1001, 1004, 585, 586, 587, 588, 589, - 590, 591, 411, 284, 284, 412, 58, 392, 832, 510, - 706, 58, 397, 708, 522, 710, 1083, 437, 800, 801, - 1005, 1130, 1131, 802, 803, 438, 439, 382, 1084, 398, - 1085, 331, 833, 375, 376, 737, 440, 965, 332, 743, - 58, 1098, 333, 613, 441, 442, 804, 406, 951, 952, - 443, 444, 445, 1099, 58, 1100, 334, 1145, 633, 407, - 410, 636, 544, 545, 1086, 546, 1026, 1027, 58, 416, - 1028, 1149, 1029, 1026, 1027, 1178, 1179, 1049, 335, 1029, - 1181, 547, 58, 847, 336, 1157, 1184, 1185, 1186, 1101, - 408, 805, 806, 807, 1030, 548, 1002, 1003, 409, 790, - 337, 1030, 549, 339, 794, 808, 382, 795, 969, 868, - 796, 443, 444, 445, 518, 1071, 519, 872, 1210, 341, - 322, 342, 1031, 816, 461, 343, 1040, 1073, 1074, 1031, - 462, 463, 464, 344, 323, 324, 325, 1076, 1077, 1032, - 1033, 326, 367, 368, 369, 345, 1032, 1033, 465, 466, - 346, 896, 347, 898, 597, 598, 599, 280, 281, 854, - 607, 608, 348, 857, 858, 349, 860, 350, 862, 351, - 352, 865, 353, 354, 355, 869, 870, 871, 356, 357, - 358, 873, 359, 360, 361, 362, 425, 426, 417, 419, - 420, 427, 431, 428, -374, 477, 268, 103, 536, 556, - 539, 557, 616, 594, 1052, 613, 617, 628, 629, 630, - 888, 631, 641, 669, 892, 642, 656, 687, 382, 695, - 709, 735, 736, 738, 740, 784, 905, 906, 746, 789, - 1119, 755, 756, 757, 810, 758, 759, 765, 289, 766, - 767, 811, 768, 1128, 769, 296, 770, 813, 1132, 771, - 772, 1135, 773, 782, 783, 825, 851, 826, 827, 838, - 863, 864, 312, 260, 314, 876, 882, 894, 902, 904, - 910, 911, 1152, 933, 916, 920, 940, 950, 941, 964, - 953, 968, 981, 974, 929, 983, 997, 991, 1054, 1067, - 1008, 1012, 1078, 1080, 936, 1111, 1165, 1118, 1120, 1127, - 843, 844, 845, 846, 1129, 1171, 1166, 1169, 365, 1195, - 946, 1172, 1194, 1197, 1198, 1199, 1206, 1209, 1215, 1024, - 1137, 1023, 1134, 992, 889, 1212, 975, 1056, 867, 1122, - 241, 534, 456, 395, 957, 658, 954, 961, 962, 1041, - 786, 486, 1191, 948, 404, 787, 68, 668, 966, 967, - 110, 111, 306, 1159, 250, 701, 1107, 383, 502, 939, - 1182, 1187, 710, 502, 502, 942, 1180, 423, 1139, 702, - 824, 875, 648, 700, 1061, 949, 482, 963, 973, 1170, - 1115, 901, 0, 0, 0, 1051, 990, 907, 908, 0, - 0, 909, 555, 0, 0, 0, 912, 0, 0, 0, - 0, 0, 913, 0, 914, 0, 1007, 0, 0, 1011, - 0, 0, 0, 0, 0, 0, 917, 0, 0, 0, - 0, 0, 918, 0, 0, 0, 0, 0, 0, 1036, - 0, 0, 289, 0, 289, 0, 0, 521, 927, 928, - 1044, 0, 0, 0, 527, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 98, 216, 516, 101, 518, 628, 262, 263, 269, 271, + 790, 744, 807, 543, 552, 615, 616, 617, 618, 619, + 688, 1098, 188, 534, 750, 1113, 194, 195, 197, 199, + 201, 536, 205, 206, 345, 207, 1078, 1079, 485, 706, + 487, 1105, 202, 768, 539, 224, 579, 203, 801, 937, + 1076, 264, 116, 233, 940, 694, 907, 757, 242, 495, + 368, 369, 370, 238, 868, 252, 1058, 256, 276, 960, + 563, 393, 1176, 1189, 281, 707, 635, 239, 279, 282, + 565, 282, 282, 289, 312, 265, -636, 489, 855, 856, + 758, 708, 1062, 391, 302, 321, 3, 304, 393, 306, + 393, 307, 1190, 1106, -272, 1063, 1177, 316, -2, 318, + 225, 1232, -272, -272, 529, 1035, 530, 1107, 1059, 1038, + 268, 270, 58, -272, 695, 496, 807, 844, 845, 376, + 377, -272, -272, 227, 378, 379, 234, 869, 393, 321, + 846, 186, 99, 176, 178, 590, 857, 378, 379, 1099, + 847, 217, 961, 1114, 265, 265, 1053, 182, 240, 184, + 231, 1100, 247, 1101, 249, 1115, 272, 1116, 297, 1106, + 204, 395, 396, 397, 424, 586, 490, 401, 999, 402, + 588, 58, 404, 1107, 393, 761, 226, 580, 412, 494, + 393, 413, -436, 414, 591, 592, 277, 416, -272, -272, + -272, -636, 629, 1102, 241, 1054, -396, 1117, 1191, 278, + 322, 392, 426, 763, 848, 766, 58, 433, 1208, 435, + 913, -265, 769, 770, 540, 581, 441, 938, 443, 266, + -381, 235, 941, 461, 58, 393, 58, 106, 849, 804, + 58, 58, 468, 58, 470, 58, 58, 712, 748, 58, + 486, 58, 764, 58, 322, 497, 175, 719, 720, 509, + 1233, -436, -436, 515, 393, 517, 191, 519, 193, 522, + 686, 523, 524, 525, -454, 107, 526, 393, 393, 611, + 612, 393, 528, 100, 177, 179, 593, 531, 58, 850, + 289, 393, 535, 393, 537, 393, 410, 1055, 183, 791, + 185, 232, 192, 248, 765, 250, 696, 273, 393, -255, + 385, -361, 680, 698, -361, -450, 587, -361, -361, -361, + 393, 589, 813, 218, 483, 728, 729, 730, 1120, 1121, + 1122, 393, 393, 681, 472, -361, -361, 393, 393, 393, + 473, 474, 475, 220, 102, 1219, 393, 393, -262, 776, + 777, 393, 393, 393, 393, 510, 606, 731, 476, 477, + 607, 373, 374, 375, 814, -307, 54, 959, 732, 733, + 734, 735, 736, 737, 334, 697, 260, 448, 108, 797, + 234, 244, 699, 343, 1162, 449, 450, 253, 411, 1166, + 58, 778, 779, 196, 208, 1014, 1015, 209, 210, 1174, + 634, 636, 1220, 180, 284, 767, 181, 780, 310, 792, + 211, 738, 639, 640, 422, 386, 484, 423, 308, 212, + 213, 58, 793, 700, 650, 261, 701, 653, 312, 693, + 380, 381, 103, 372, 794, 382, 935, 58, 895, 896, + 897, 659, 967, 968, 906, 795, 796, 511, 320, 1199, + 903, 1010, 1011, 1012, 388, 739, 740, 668, 669, 670, + 1016, 1017, 807, 807, 216, 1020, 1021, 1146, 1147, 1080, + 1081, 454, 455, 456, 682, 214, 209, 210, 702, 327, + 58, 389, 899, 305, 44, 45, 46, 901, 902, 211, + 691, 692, 393, 58, 844, 845, 521, 335, 1099, 213, + 331, 403, 58, 709, 513, 533, 417, 846, 215, 336, + 1100, 713, 1101, 714, 337, 1114, 58, 847, 418, 629, + 993, 294, 338, 994, 289, 289, 339, 1115, 301, 1116, + 58, 722, 58, 1161, 724, 1165, 726, 340, 383, 384, + 1042, 1043, 1018, 1019, 1044, 317, 1045, 319, 387, 419, + 549, 58, 1102, 393, 1173, 409, 753, 420, 390, 513, + 759, 1194, 1195, 44, 45, 46, 1197, 399, 1046, 1117, + 1089, 1090, 1200, 1201, 1202, 569, 341, 571, 572, 573, + 574, 848, 575, 608, 609, 610, 393, 215, 985, 583, + 584, 585, 371, 1092, 1093, 342, 1047, 596, 597, 598, + 599, 600, 601, 602, 344, 849, 613, 614, 346, 863, + 448, 620, 621, 1048, 1049, 285, 286, 347, 449, 450, + 348, 406, 349, 350, 351, 806, 981, 352, 353, 451, + 810, 354, 415, 811, 1087, 884, 812, 452, 453, 1226, + 888, 355, 356, 357, 1042, 1043, 472, 358, 1065, 832, + 1045, 359, 473, 474, 475, 434, 816, 817, 360, 327, + 361, 818, 819, 362, 363, 364, 649, 365, 366, 652, + 476, 477, 1046, 328, 329, 330, 367, 912, 400, 914, + 331, 408, 421, 427, 820, 870, 428, 430, 431, 873, + 874, 436, 876, 437, 878, 555, 556, 881, 557, 438, + 1047, 885, 886, 887, 454, 455, 456, 889, 439, 442, + -384, 488, 273, 550, 558, 1056, 103, 1048, 1049, 1068, + 294, 547, 294, 567, 568, 532, 605, 632, 559, 821, + 822, 823, 538, 629, 633, 560, 904, 644, 645, 646, + 908, 647, 657, 824, 658, 685, 672, 703, 393, 711, + 725, 754, 921, 922, 751, 756, 752, 762, 771, 772, + 773, 774, 775, 781, 782, 800, 783, 784, 785, 786, + 570, 787, 805, 788, 826, 789, 798, 799, 576, 577, + 578, 827, 582, 829, 841, 854, 842, 867, 843, 594, + 879, 880, 265, 892, 898, 910, 918, 920, 603, 604, + 926, 927, 932, 949, 936, 980, 966, 956, 969, 957, + 945, 984, 990, 997, 999, 1013, 1070, 1007, 1024, 1135, + 952, 1028, 1083, 1094, 1096, 1127, 1136, 1134, 1143, 1145, + 1182, 1185, 1144, 1211, 1210, 1188, 962, 1148, 1214, 1213, + 1151, 1215, 1222, 1225, 1228, 1231, 1040, 1153, 1039, 1008, + 1150, 641, 991, 905, 1072, 1138, 246, 467, 545, 1057, + 973, 1168, 674, 977, 978, 970, 623, 497, 964, 622, + 802, 68, 624, 803, 982, 983, 110, 111, 311, 663, + 684, 1175, 255, 394, 717, 1181, 1123, 955, 726, 1198, + 406, 958, 665, 1203, 1187, 1196, 1155, 840, 718, 891, + 965, 716, 1077, 979, 664, 493, 989, 1186, 1131, 0, + 0, 1067, 1006, 859, 860, 861, 862, 0, 566, 0, + 917, 0, 0, 0, 689, 0, 0, 0, 0, 0, + 0, 1207, 1023, 0, 0, 1027, 0, 0, 0, 0, + 0, 883, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1052, 0, 0, 0, 665, + 0, 0, 0, 0, 0, 0, 1060, 0, 0, 0, + 0, 513, 0, 0, 0, 0, 513, 513, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1044, 1044, 0, 0, 0, 0, 1123, 0, 0, - 0, 0, 559, 0, 0, 0, 0, 0, 0, 956, - 565, 566, 567, 0, 571, 0, 0, 0, 0, 0, - 0, 583, 502, 0, 0, 0, 0, 0, 0, 0, - 592, 593, 0, 0, 0, 0, 957, 957, 957, 0, - 0, 0, 1108, 1109, 1110, 0, 0, 1112, 1113, 0, - 0, 0, 0, 0, 0, 743, 0, 1117, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1125, - 1126, 0, 0, 0, 0, 0, 0, 625, 1133, 0, - 0, 1136, 0, 0, 0, 0, 0, 1141, 0, 0, - 0, 0, 957, 0, 1147, 1021, 0, 957, 0, 1151, - 0, 1025, 1153, 0, 0, 647, 0, 957, 0, 0, - 0, 502, 0, 0, 0, 0, 395, 0, 649, 0, - 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1162, 0, 0, 0, 0, 0, 0, 0, - 0, 1205, 0, 0, 0, 0, 0, 0, 0, 0, - 673, 1213, 0, 0, 0, 0, 0, 957, 0, 0, - 1069, 0, 0, 0, 1070, 1188, 1189, 0, 0, 0, - 0, 0, 0, 1044, 0, 0, 0, 0, 0, 1081, - 0, 0, 0, 0, 0, 649, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1060, 1060, 0, + 923, 924, 0, 1139, 925, 0, 0, 0, 0, 928, + 0, 0, 0, 0, 0, 929, 0, 930, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 663, 0, 933, + 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, + 0, 0, 973, 973, 973, 0, 0, 0, 1124, 1125, + 1126, 943, 944, 1128, 1129, 0, 0, 0, 0, 0, + 0, 759, 0, 1133, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1141, 1142, 0, 0, 0, + 0, 0, 0, 831, 1149, 0, 0, 1152, 0, 0, + 0, 0, 0, 1157, 0, 0, 0, 0, 973, 0, + 1163, 0, 972, 973, 0, 1167, 0, 0, 1169, 0, + 0, 0, 0, 973, 0, 513, 0, 0, 0, 865, + 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, + 0, 0, 0, 0, 0, 0, 0, 1221, 0, 0, + 0, 0, 0, 294, 0, 0, 0, 1229, 0, 0, + 0, 0, 0, 973, 0, 0, 0, 0, 0, 0, + 0, 1204, 1205, 0, 0, 0, 0, 0, 0, 1060, + 0, 0, 0, 915, 916, 0, 0, 0, 1037, 0, + 0, 0, 0, 0, 1041, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 513, 0, 0, 0, 0, 1218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1202, 0, 730, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 502, 0, 0, 0, 282, - 1218, 1220, 1221, 0, 0, -319, -319, 0, 502, 0, - 0, 0, -319, 502, 0, 0, 502, 0, 0, 1138, - 0, 0, -319, -319, 0, 0, -319, -319, 0, 0, - -319, -319, 0, 647, -319, 0, 0, 502, 0, 0, + 0, 931, 0, 0, 0, 0, 1234, 1236, 1237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -319, -319, 0, 0, -319, 0, 0, - 0, 502, 0, 0, 0, 0, 0, 0, 0, 0, - 502, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -319, 0, 0, 0, 0, 502, 0, 0, - 0, -319, 0, -319, -319, -319, -319, -319, -319, -319, - 849, 0, -319, 0, 0, 0, -319, 0, 0, 0, - -319, 0, 0, 0, 0, 0, 0, 0, 0, -319, - -319, -319, -319, 0, 0, 0, 0, 0, 0, -319, - 0, -319, -319, -319, 289, -319, -319, -319, -319, -319, - 0, 0, 0, -319, 0, 0, 0, 0, -319, 0, - 58, -319, 0, 283, 435, 0, 0, 0, 0, 0, - -287, -287, 0, 0, 899, 900, 0, -287, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -287, -287, 0, - 0, -287, -287, 0, 0, -287, -287, 0, 0, -287, + 0, 0, 0, 1085, 0, 0, 0, 1086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 915, 0, 0, 0, 0, 0, -287, -287, - 0, 0, -287, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1097, 0, 663, 665, 0, 0, 0, 0, + 0, 0, 287, 0, 0, 0, 0, 0, -329, -329, + 0, 0, 0, 0, 0, -329, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -329, -329, 0, 513, -329, + -329, 0, 0, -329, -329, 0, 0, -329, 0, 0, + 0, 513, 987, 0, 988, 0, 513, 0, 0, 513, + 0, 0, 1154, 0, 0, 0, -329, -329, 0, 0, + -329, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 513, 0, 0, 0, 0, 0, + 1036, 0, 0, 513, 0, -329, 0, 0, 0, 0, + 0, 0, 0, 0, -329, 0, -329, -329, -329, -329, + -329, -329, -329, 0, 0, -329, 0, 0, 0, -329, + 0, 0, 0, -329, 0, 0, 0, 0, 0, 0, + 513, 0, -329, -329, -329, -329, 0, 0, 0, 0, + 1074, 1075, -329, 0, -329, -329, -329, 0, -329, -329, + -329, -329, -329, 0, 0, 0, 0, 0, 0, 0, + 0, -329, 0, 0, 0, 0, -329, -329, 446, 58, + -329, 0, 288, 0, -297, -297, 0, 0, 0, 0, + 0, -297, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -297, -297, 0, 0, -297, -297, 0, 0, -297, + -297, 0, 0, -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -297, -297, 0, 0, -297, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, + 0, 0, 0, 0, -388, -388, 0, 0, 0, 0, + 0, -388, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -388, -388, 0, 0, -388, -388, 0, 0, -388, + -388, -297, 0, -388, 0, 0, 1180, 0, -388, 0, + -297, 0, -297, -297, -297, -297, -297, -297, -297, 0, + 0, -297, -388, -388, 0, -297, -388, 0, 0, -297, + 0, 0, 0, 0, 0, 0, 0, 0, -297, -297, + -297, -297, 0, 0, 0, 0, 0, 0, -297, 0, + -297, -297, -297, 0, -297, -297, -297, -297, -297, 0, + 0, 0, 0, 0, 0, 0, 0, -297, 0, 0, + 0, -388, -297, -297, 0, 0, -297, -297, 0, 0, + -388, 0, -388, -388, -388, -388, -388, -388, -388, 0, + 0, -388, 0, 0, 0, -388, 663, -388, 0, -388, + 0, 0, 0, 0, 0, 0, 0, 0, -388, -388, + -388, -388, 0, 0, 0, 0, 0, 0, -388, 0, + -388, -388, -388, 0, -388, -388, -388, -388, -388, 0, + 0, 0, 198, 0, 0, 0, 0, -388, -275, -275, + 0, 0, -388, -388, 0, -275, -388, 0, 0, 0, + 0, 0, 0, 0, 0, -275, -275, 0, 0, -275, + -275, 0, 0, -275, -275, 0, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 647, 649, -287, 0, 0, - 0, 0, 0, 0, 0, 0, -287, 0, -287, -287, - -287, -287, -287, -287, -287, 0, 0, -287, 0, 0, - 0, -287, 0, 0, 0, -287, 0, 0, 0, 0, - 0, 0, 0, 0, -287, -287, -287, -287, 0, 0, - 0, 0, 0, 971, -287, 972, -287, -287, -287, 0, - -287, -287, -287, -287, -287, 252, 0, 0, -287, 0, - 0, -378, -378, -287, 0, 0, -287, -287, -378, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -378, -378, - 0, 0, -378, -378, 0, 0, -378, -378, 0, 0, - -378, 0, 0, 0, 0, -378, 0, 0, 0, 0, - 0, 1020, 0, 0, 0, 0, 0, 0, 0, -378, - -378, 0, 0, -378, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 0, 0, 0, 0, 0, -265, -265, - 0, 0, 0, 0, 0, -265, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -265, -265, 0, 0, -265, - -265, 1058, 1059, -265, -265, 0, 0, -265, -378, 0, - 0, 0, 0, 0, 0, 0, 0, -378, 0, -378, - -378, -378, -378, -378, -378, -378, -265, -265, -378, 0, - -265, 0, -378, 0, -378, 0, -378, 0, 0, 0, - 0, 0, 0, 0, 0, -378, -378, -378, -378, 0, - 0, 0, 0, 0, 0, -378, 0, -378, -378, -378, - 0, -378, -378, -378, -378, -378, 0, 0, 0, -378, - 0, 0, 0, 0, -378, -265, 0, -378, 0, 0, - 0, 0, 0, 0, -265, 0, -265, -265, -265, -265, - -265, -265, -265, 0, 0, -265, 0, 0, 0, -265, - 0, 0, 0, -265, 0, 0, 0, 0, 0, 0, - 0, 0, -265, -265, -265, -265, 0, 0, 0, 0, - 0, 0, -265, 0, -265, -265, -265, 0, -265, -265, - -265, -265, -265, 1094, 0, 0, -265, 1164, 0, -471, - -471, -265, 0, 58, -265, 0, -471, 0, 0, 1095, - 0, 0, 0, 0, 0, 0, -471, -471, 0, 0, - -471, -471, 0, 0, -471, -471, 0, 0, -471, 0, + 0, 0, 0, 0, 0, 0, -275, -275, 0, 0, + -275, 0, 0, 0, 0, 0, 0, 0, 0, 1110, + 0, 0, 0, 0, 0, -481, -481, 0, 0, 0, + 0, 0, -481, 0, 0, 1111, 0, 0, 0, 0, + 0, 0, -481, -481, 0, 0, -481, -481, 0, 0, + -481, -481, 0, 0, -481, -275, 0, 0, 0, 0, + 0, 0, 0, 0, -275, 0, -275, -275, -275, -275, + -275, -275, -275, -481, -481, -275, 0, -481, 0, -275, + 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, + 0, 0, -275, -275, -275, -275, 0, 0, 0, 0, + 0, 0, -275, 0, -275, -275, -275, 0, -275, -275, + -275, -275, -275, 0, 0, 0, 0, 0, 0, 0, + 0, -275, -481, 0, 0, 0, -275, -275, 0, 58, + -275, -481, 0, -481, -481, -481, -481, -481, -481, -481, + 0, 0, -481, 0, 0, 0, -481, 0, 0, 0, + -481, 0, 0, 0, 0, 0, 0, 0, 0, -481, + -481, -481, -481, 0, 0, 0, 0, 0, 0, -481, + 0, -481, -481, -481, 0, -481, -481, -481, -481, -481, + 0, 0, 0, 112, 0, 0, 0, 0, -481, -626, + -626, 0, 0, -481, -481, 0, -626, -481, 0, 0, + 0, 0, 0, 0, 0, 0, -626, -626, 0, 0, + -626, -626, 0, 0, -626, -626, 0, 0, -626, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -471, -471, 0, - 0, -471, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 112, 0, 0, - 0, 0, 0, -616, -616, 0, 0, 0, 0, 0, - -616, 0, 0, 0, 0, 0, 0, 647, 0, 0, - -616, -616, 0, 0, -616, -616, -471, 0, -616, -616, - 0, 0, -616, 0, 0, -471, 0, -471, -471, -471, - -471, -471, -471, -471, 0, 0, -471, 0, 0, 0, - -471, -616, -616, 0, -471, -616, 0, 0, 0, 0, - 0, 0, 0, -471, -471, -471, -471, 0, 0, 0, - 0, 0, 0, -471, 0, -471, -471, -471, 0, -471, - -471, -471, -471, -471, 0, 0, 0, -471, 0, 0, - 0, 0, -471, 0, 0, -471, 0, 0, 0, 0, - -616, 0, 0, 0, 0, 0, 0, 0, 0, -616, - 0, -616, -616, -616, -616, -616, -616, -616, 0, 0, - -616, 0, 0, 0, -616, 0, 0, 0, -616, 0, - 0, 0, 0, 0, 0, 0, 0, -616, -616, -616, - -616, 0, 0, 0, 0, 0, 0, -616, 0, -616, - -616, -616, 114, -616, -616, -616, -616, -616, -611, -611, - 0, -616, 0, 0, 0, -611, -616, 0, 0, -616, - 0, 0, 0, 0, 0, -611, -611, 0, 0, -611, - -611, 0, 0, -611, -611, 0, 0, -611, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -611, -611, 0, 0, - -611, 0, 0, 0, 0, 0, 0, 0, 0, 118, - 0, 0, 0, 0, 0, 119, 120, 0, 0, 0, - 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 122, 123, 0, 0, 124, 125, 0, 0, - 126, 127, 0, 0, 128, -611, 0, 0, 0, 0, - 0, 0, 0, 0, -611, 0, -611, -611, -611, -611, - -611, -611, -611, 129, 130, -611, 0, 131, 0, -611, - 0, 0, 0, -611, 0, 0, 0, 0, 0, 0, - 0, 0, -611, -611, -611, -611, 0, 0, 0, 0, - 0, 0, -611, 0, -611, -611, -611, 0, -611, -611, - -611, -611, -611, 0, 0, 0, -611, 0, 0, 0, - 0, -611, 132, 0, -611, 0, 0, 0, 0, 0, - 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, - 0, 0, 141, 0, 0, 0, 142, 0, 0, 0, - 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, - 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, - 0, 149, 150, 151, 185, 152, 153, 154, 155, 156, - 119, 120, 0, 157, 0, 0, 0, 121, 158, 0, - 0, 159, 0, 0, 0, 0, 0, 122, 123, 0, + 0, 0, 0, 0, 0, 0, 0, -626, -626, 0, + 0, -626, 0, 0, 0, 0, 0, 0, 0, 0, + 114, 0, 0, 0, 0, 0, -621, -621, 0, 0, + 0, 0, 0, -621, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -621, -621, 0, 0, -621, -621, 0, + 0, -621, -621, 0, 0, -621, -626, 0, 0, 0, + 0, 0, 0, 0, 0, -626, 0, -626, -626, -626, + -626, -626, -626, -626, -621, -621, -626, 0, -621, 0, + -626, 0, 0, 0, -626, 0, 0, 0, 0, 0, + 0, 0, 0, -626, -626, -626, -626, 0, 0, 0, + 0, 0, 0, -626, 0, -626, -626, -626, 0, -626, + -626, -626, -626, -626, 0, 0, 0, 0, 0, 0, + 0, 0, -626, -621, 0, 0, 0, -626, -626, 0, + 0, -626, -621, 0, -621, -621, -621, -621, -621, -621, + -621, 0, 0, -621, 0, 0, 0, -621, 0, 0, + 0, -621, 0, 0, 0, 0, 0, 0, 0, 0, + -621, -621, -621, -621, 0, 0, 0, 0, 0, 0, + -621, 0, -621, -621, -621, 0, -621, -621, -621, -621, + -621, 0, 0, 0, 118, 0, 0, 0, 0, -621, + 119, 120, 0, 0, -621, -621, 0, 121, -621, 0, + 0, 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, -269, -269, 0, - 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -269, -269, 0, 0, -269, -269, - 0, 0, -269, -269, 0, 0, -269, 132, 0, 0, + 0, 190, 0, 0, 0, 0, 0, 119, 120, 0, + 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, + 0, 0, 126, 127, 0, 0, 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 134, 135, - 136, 137, 138, 139, 140, -269, -269, 141, 0, -269, + 136, 137, 138, 139, 140, 129, 130, 141, 0, 131, 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 0, 157, 0, - 0, 0, 0, 158, -269, 0, 159, 0, 0, 0, - 0, 0, 0, -269, 0, -269, -269, -269, -269, -269, - -269, -269, 0, 0, -269, 0, 0, 0, -269, 0, - 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, - 0, -269, -269, -269, -269, 0, 0, 0, 0, 0, - 0, -269, 0, -269, -269, -269, 287, -269, -269, -269, - -269, -269, 119, 120, 0, -269, 0, 0, 0, 121, - -269, 0, 0, -269, 0, 0, 0, 0, 0, 122, - 123, 0, 0, 124, 125, 0, 0, 126, 127, 0, - 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 130, 0, 0, 131, 0, 0, 0, 0, 0, - 0, 0, 0, 294, 0, 0, 0, 0, 0, -603, - -603, 0, 0, 0, 0, 0, -603, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -603, -603, 0, 0, - -603, -603, 0, 0, -603, -603, 0, 0, -603, 132, - 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, - 134, 135, 136, 137, 138, 139, 140, -603, -603, 141, - 0, -603, 0, 142, 0, 0, 0, 143, 0, 0, - 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, - 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, - 151, 0, 152, 153, 154, 155, 156, 0, 0, 0, - 157, 0, 0, 0, 0, 158, -603, 0, 159, 0, - 0, 0, 0, 0, 0, -603, 0, -603, -603, -603, - -603, -603, -603, -603, 0, 0, -603, 0, 0, 0, - -603, 0, 0, 0, -603, 0, 0, 0, 0, 0, - 0, 0, 0, -603, -603, -603, -603, 0, 0, 0, - 0, 0, 0, -603, 0, -603, -603, -603, 394, -603, - -603, -603, -603, -603, 119, 120, 0, -603, 0, 0, - 0, 121, -603, 0, 0, -603, 0, 0, 0, 0, - 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, - 127, 0, 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, - 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, - 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, - 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, - 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, - 133, 0, 134, 135, 136, 137, 138, 139, 140, 129, - 130, 141, 0, 131, 0, 142, 0, 0, 0, 143, - 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, - 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 0, 157, 0, 0, 0, 0, 158, 132, 0, - 159, 0, 0, 0, 0, 0, 0, 133, 0, 134, - 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, - 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, - 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, - 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, - 729, 152, 153, 154, 155, 156, 119, 120, 0, 157, - 0, 0, 0, 121, 158, 0, 0, 159, 0, 0, - 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, - 0, 126, 127, 0, 0, 128, 0, 0, 0, 0, + 152, 153, 154, 155, 156, 0, 0, 0, 0, 0, + 0, 0, 0, 157, 132, 0, 0, 0, 158, 159, + 0, 0, 160, 133, 0, 134, 135, 136, 137, 138, + 139, 140, 0, 0, 141, 0, 0, 0, 142, 0, + 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, + 0, 144, 145, 146, 147, 0, 0, 0, 0, 0, + 0, 148, 0, 149, 150, 151, 0, 152, 153, 154, + 155, 156, 0, 0, 0, 222, 0, 0, 0, 0, + 157, -279, -279, 0, 0, 158, 159, 0, -279, 160, + 0, 0, 0, 0, 0, 0, 0, 0, -279, -279, + 0, 0, -279, -279, 0, 0, -279, -279, 0, 0, + -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, + -279, 0, 0, -279, 0, 0, 0, 0, 0, 0, + 0, 0, 292, 0, 0, 0, 0, 0, 119, 120, + 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 122, 123, 0, 0, 124, + 125, 0, 0, 126, 127, 0, 0, 128, -279, 0, + 0, 0, 0, 0, 0, 0, 0, -279, 0, -279, + -279, -279, -279, -279, -279, -279, 129, 130, -279, 0, + 131, 0, -279, 0, 0, 0, -279, 0, 0, 0, + 0, 0, 0, 0, 0, -279, -279, -279, -279, 0, + 0, 0, 0, 0, 0, -279, 0, -279, -279, -279, + 0, -279, -279, -279, -279, -279, 0, 0, 0, 0, + 0, 0, 0, 0, -279, 132, 0, 0, 0, -279, + -279, 0, 0, -279, 133, 0, 134, 135, 136, 137, + 138, 139, 140, 0, 0, 141, 0, 0, 0, 142, + 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, + 0, 0, 144, 145, 146, 147, 0, 0, 0, 0, + 0, 0, 148, 0, 149, 150, 151, 0, 152, 153, + 154, 155, 156, 0, 0, 0, 299, 0, 0, 0, + 0, 157, -613, -613, 0, 0, 158, 159, 0, -613, + 160, 0, 0, 0, 0, 0, 0, 0, 0, -613, + -613, 0, 0, -613, -613, 0, 0, -613, -613, 0, + 0, -613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 130, 0, 0, 131, 0, - 0, 0, 0, 0, 0, 0, 0, 866, 0, 0, - 0, 0, 0, 119, 120, 0, 0, 0, 0, 0, - 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -613, -613, 0, 0, -613, 0, 0, 0, 0, 0, + 0, 0, 0, 405, 0, 0, 0, 0, 0, 119, + 120, 0, 0, 0, 0, 0, 121, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, + 124, 125, 0, 0, 126, 127, 0, 0, 128, -613, + 0, 0, 0, 0, 0, 0, 0, 0, -613, 0, + -613, -613, -613, -613, -613, -613, -613, 129, 130, -613, + 0, 131, 0, -613, 0, 0, 0, -613, 0, 0, + 0, 0, 0, 0, 0, 0, -613, -613, -613, -613, + 0, 0, 0, 0, 0, 0, -613, 0, -613, -613, + -613, 0, -613, -613, -613, -613, -613, 0, 0, 0, + 0, 0, 0, 0, 0, -613, 132, 0, 0, 0, + -613, -613, 0, 0, -613, 133, 0, 134, 135, 136, + 137, 138, 139, 140, 0, 0, 141, 0, 0, 0, + 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, + 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, + 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, + 153, 154, 155, 156, 0, 0, 0, 562, 0, 0, + 0, 0, 157, 119, 120, 0, 0, 158, 159, 0, + 121, 160, 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, 127, - 0, 0, 128, 132, 0, 0, 0, 0, 0, 0, - 0, 0, 133, 0, 134, 135, 136, 137, 138, 139, - 140, 129, 130, 141, 0, 131, 0, 142, 0, 0, - 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, - 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, - 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 157, 0, 0, 0, 0, 158, - 132, 0, 159, 0, 0, 0, 0, 0, 0, 133, - 0, 134, 135, 136, 137, 138, 139, 140, 0, 0, - 141, 0, 0, 0, 142, 0, 0, 0, 143, 0, + 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 129, 130, 0, 0, 131, 0, 0, 0, 0, + 0, 0, 0, 0, 745, 0, 0, 0, 0, 0, + 119, 120, 0, 0, 0, 0, 0, 121, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 122, 123, 0, + 0, 124, 125, 0, 0, 126, 127, 0, 0, 128, + 132, 0, 0, 0, 0, 0, 0, 0, 0, 133, + 0, 134, 135, 136, 137, 138, 139, 140, 129, 130, + 141, 0, 131, 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 0, 5, - 0, 157, 0, 0, 489, 0, 158, 7, 8, 159, - 0, 0, 0, 0, 0, 0, 11, 12, -412, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 0, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, -412, 0, 0, - 0, -412, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, -411, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, -411, 0, 0, - 0, -411, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 6, 0, 0, 7, 8, 9, - 0, 0, 0, 10, 0, 0, 11, 12, 0, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 17, 0, 0, 18, 19, 20, 21, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 39, 0, 40, 0, 0, 41, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 497, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 655, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 674, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 856, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 955, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 986, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 987, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 157, 132, 0, 0, + 0, 158, 159, 0, 0, 160, 133, 0, 134, 135, + 136, 137, 138, 139, 140, 0, 0, 141, 0, 0, + 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, + 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, + 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, + 152, 153, 154, 155, 156, 0, 0, 0, 882, 0, + 0, 0, 0, 157, 119, 120, 0, 0, 158, 159, + 0, 121, 160, 0, 0, 0, 0, 0, 0, 0, + 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, + 127, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 1050, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, -647, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 1116, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 1168, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, 0, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, -637, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 0, 134, 135, 136, 137, 138, 139, 140, 0, + 0, 141, 0, 0, 0, 142, 0, 0, 0, 143, + 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, + 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, + 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, + 5, 0, 0, 0, 0, 500, 0, 157, 7, 8, + 0, 0, 158, 159, 0, 0, 160, 11, 12, -422, + 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, + 16, 0, 0, 501, 502, 0, 18, 19, 20, 503, + 22, 23, 24, 0, 25, 0, 0, 0, 0, 0, + 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 28, 0, -422, 0, + 0, 0, -422, 29, 30, 31, 32, 0, 0, 0, + 0, 0, 0, 0, 33, 34, 35, 36, 0, 0, + 0, 37, 0, 0, 38, 0, 0, 40, 0, 0, + 504, 0, 42, 43, 44, 45, 46, 47, 48, 0, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, + 5, 0, 0, 0, 0, 500, 0, 55, 7, 8, + 0, 56, 0, 0, 57, 0, 0, 11, 12, -421, + 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, + 16, 0, 0, 501, 502, 0, 18, 19, 20, 503, + 22, 23, 24, 0, 25, 0, 0, 58, 0, 0, + 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 28, 0, -421, 0, + 0, 0, -421, 29, 30, 31, 32, 0, 0, 0, + 0, 0, 0, 0, 33, 34, 35, 36, 0, 0, + 0, 37, 0, 0, 38, 0, 0, 40, 0, 0, + 504, 0, 42, 43, 44, 45, 46, 47, 48, 0, + 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, + 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, + 0, 56, 5, 0, 57, 0, 0, 6, 0, 0, + 7, 8, 9, 0, 0, 0, 10, 0, 0, 11, + 12, 0, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 17, 0, 58, 18, 19, + 20, 21, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 39, 0, 40, + 0, 0, 41, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 508, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 671, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 690, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 872, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 971, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 1002, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 1003, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 1066, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, -657, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 1132, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 1184, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 0, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, -647, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, -649, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, + 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 119, 120, 0, 0, 0, + 0, 0, 121, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 122, 123, 0, 0, 124, 125, 0, 55, + 126, 127, 0, 56, 128, 0, 57, 0, 0, 489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 5, - 56, 0, 0, 57, 489, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 11, 12, -639, 13, - 0, 0, 0, 0, 14, 15, 0, 0, 0, 16, - 58, 0, 490, 491, 0, 18, 19, 20, 492, 22, - 23, 24, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 0, 0, 0, - 37, 0, 0, 38, 0, 0, 40, 0, 0, 493, - 0, 42, 43, 44, 45, 46, 47, 48, 0, 49, + 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 119, 120, 0, 0, 0, 0, 0, 121, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 122, - 123, 0, 0, 124, 125, 0, 55, 126, 127, 0, - 56, 128, 0, 57, 0, 0, 478, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 130, 0, 0, 131, 0, 0, 0, 0, 0, - 58, 0, 0, 0, 0, 0, 0, 0, 0, 119, - 120, 0, 0, 0, 0, 0, 121, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, - 124, 125, 0, 0, 126, 127, 0, 0, 128, 132, - 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, - 134, 135, 136, 137, 138, 139, 140, 129, 130, 141, - 0, 131, 0, 142, 0, 479, 0, 143, 382, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, + 123, 0, 0, 124, 125, 0, 0, 126, 127, 0, + 0, 128, 132, 0, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, + 129, 130, 141, 0, 131, 0, 142, 0, 490, 0, + 143, 393, 0, 0, 0, 0, 0, 0, 0, 144, + 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, + 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, + 0, 0, 0, 0, 0, 0, 0, 0, 157, 132, + 0, 0, 0, 158, 159, 0, 0, 160, 133, 0, + 134, 135, 136, 137, 138, 139, 140, 0, 0, 141, + 0, 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, - 151, 0, 152, 153, 154, 155, 156, 0, 0, 0, - 157, 0, 0, 0, 0, 158, 132, 0, 159, 0, + 151, 0, 152, 153, 154, 155, 156, 0, 0, 119, + 120, 0, 0, 0, 0, 157, 121, 0, 0, 0, + 158, 159, 0, 0, 160, 0, 122, 123, 0, 0, + 124, 125, 0, 0, 126, 127, 0, 0, 128, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, + 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 119, 120, 0, 0, + 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, + 0, 126, 127, 0, 0, 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 134, 135, 136, - 137, 138, 139, 140, 0, 0, 141, 0, 0, 0, - 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, + 137, 138, 139, 140, 129, 130, 141, 0, 131, 0, + 142, 0, 0, 0, 143, 894, 0, 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 119, 120, 0, 157, 0, 0, - 0, 121, 158, 0, 0, 159, 0, 0, 0, 0, - 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, - 127, 0, 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, - 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, - 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, - 133, 0, 134, 135, 136, 137, 138, 139, 140, 129, - 130, 141, 0, 131, 0, 142, 0, 0, 0, 143, - 878, 0, 0, 0, 0, 0, 0, 0, 144, 145, - 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 0, 157, 0, 0, 0, 0, 158, 132, 0, - 159, 0, 0, 0, 0, 0, 0, 133, 0, 134, - 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, - 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, - 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, - 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 0, 0, 0, 157, - 0, 0, 0, 0, 158, 0, 0, 159 + 153, 154, 155, 156, 0, 0, 0, 0, 0, 0, + 0, 0, 157, 132, 0, 0, 0, 158, 159, 0, + 0, 160, 133, 0, 134, 135, 136, 137, 138, 139, + 140, 0, 0, 141, 0, 0, 0, 142, 0, 0, + 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, + 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, + 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 157, + 0, 0, 0, 0, 158, 159, 0, 0, 160 }; static const yytype_int16 yycheck[] = { - 5, 382, 316, 8, 584, 41, 76, 77, 264, 614, - 266, 79, 80, 298, 309, 535, 480, 131, 541, 1, - 290, 1, 27, 986, 987, 1, 31, 32, 33, 34, - 35, 1, 37, 38, 1, 40, 1, 293, 372, 373, - 374, 375, 376, 157, 158, 1, 249, 1, 251, 1, - 1, 1, 1, 54, 53, 1, 66, 1, 63, 20, - 1, 37, 66, 15, 1, 70, 1, 72, 35, 1, - 1, 66, 1, 1, 35, 1, 1, 53, 83, 84, - 1, 86, 87, 88, 1, 1, 150, 62, 1, 85, - 6, 53, 64, 34, 99, 1, 119, 102, 53, 104, - 35, 106, 165, 166, 1, 128, 52, 112, 172, 114, - 1, 66, 129, 67, 60, 61, 52, 66, 35, 74, - 1, 172, 1, 728, 53, 71, 143, 15, 1, 35, - 18, 173, 1, 79, 80, 1, 0, 74, 84, 1, - 1, 142, 18, 19, 96, 1, 142, 129, 84, 74, - 1, 1, 84, 1, 35, 31, 1, 70, 1, 141, - 1, 143, 142, 35, 174, 41, 171, 172, 173, 18, - 174, 50, 177, 70, 179, 142, 175, 182, 63, 28, - 175, 30, 70, 188, 254, 129, 191, 162, 193, 150, - 142, 142, 197, 142, 174, 177, 172, 141, 129, 143, - 146, 147, 148, 173, 176, 1168, 173, 212, 173, 732, - 172, 142, 217, 129, 219, 150, 172, 142, 172, 175, - 172, 226, 150, 228, 174, 175, 172, 173, 233, 105, - 611, 172, 1, 177, 1, 172, 142, 242, 129, 244, - 172, 172, 537, 172, 172, 250, 172, 503, 518, 519, - 255, 172, 143, 129, 259, 172, 370, 371, 263, 7, - 265, 142, 267, 142, 269, 66, 271, 272, 273, 142, - 39, 276, 475, 142, 66, 63, 142, 282, 150, 66, - 142, 142, 287, 50, 51, 290, 142, 292, 36, 294, - 175, 142, 142, 66, 142, 66, 47, 142, 174, 142, - 50, 142, 66, 20, 84, 66, 75, 53, 50, 78, - 1, 129, 81, 82, 83, 1031, 1032, 1033, 55, 3, - 4, 5, 59, 57, 142, 0, 66, 66, 74, 75, - 99, 100, 18, 19, 66, 81, 82, 83, 89, 931, - 94, 95, 6, 935, 66, 31, 142, 66, 66, 41, - 58, 35, 69, 99, 100, 41, 66, 66, 822, 142, - 129, 130, 46, 47, 48, 49, 50, 51, 66, 66, - 66, 1087, 84, 142, 175, 142, 1092, 165, 166, 70, - 175, 15, 174, 175, 18, 19, 1102, 174, 175, 394, - 395, 129, 142, 66, 142, 66, 66, 31, 152, 172, - 142, 406, 407, 717, 175, 89, 40, 41, 722, 723, - 174, 175, 261, 418, 175, 149, 421, 142, 488, 105, - 106, 107, 66, 66, 66, 63, 172, 712, 713, 714, - 435, 18, 19, 728, 174, 174, 1152, 20, 130, 724, - 60, 61, 174, 129, 31, 65, 451, 452, 453, 133, - 134, 785, 174, 173, 41, 174, 174, 493, 307, 1064, - 1065, 58, 96, 468, 174, 174, 52, 316, 988, 989, - 63, 105, 106, 107, 60, 61, 174, 174, 174, 484, - 485, 122, 22, 332, 125, 334, 335, 336, 337, 22, - 339, 15, 497, 172, 18, 129, 175, 346, 347, 348, - 505, 174, 507, 174, 174, 354, 355, 356, 357, 358, - 359, 360, 15, 518, 519, 18, 172, 174, 105, 175, - 525, 172, 68, 528, 175, 530, 129, 52, 16, 17, - 174, 174, 174, 21, 22, 60, 61, 66, 141, 68, - 143, 173, 129, 163, 164, 550, 71, 861, 173, 554, - 172, 129, 173, 175, 79, 80, 44, 91, 174, 175, - 146, 147, 148, 141, 172, 143, 173, 175, 417, 103, - 142, 420, 34, 35, 177, 37, 16, 17, 172, 175, - 20, 175, 22, 16, 17, 1143, 1144, 20, 173, 22, - 1148, 53, 172, 663, 173, 175, 1154, 1155, 1156, 177, - 134, 89, 90, 91, 44, 67, 174, 175, 142, 614, - 173, 44, 74, 173, 619, 103, 66, 622, 68, 689, - 625, 146, 147, 148, 283, 1006, 285, 695, 1208, 173, - 53, 173, 72, 638, 75, 173, 950, 174, 175, 72, - 81, 82, 83, 173, 67, 68, 69, 174, 175, 89, - 90, 74, 167, 168, 169, 173, 89, 90, 99, 100, - 173, 731, 173, 733, 367, 368, 369, 86, 87, 674, - 377, 378, 173, 678, 679, 173, 681, 173, 683, 173, - 173, 686, 173, 173, 173, 690, 691, 692, 173, 173, - 173, 696, 173, 173, 173, 173, 142, 20, 175, 175, - 175, 74, 175, 142, 142, 20, 142, 142, 52, 174, - 53, 174, 142, 174, 970, 175, 142, 22, 22, 20, - 725, 142, 50, 78, 729, 142, 173, 73, 66, 174, - 142, 175, 175, 20, 84, 55, 741, 742, 175, 142, - 1054, 175, 174, 174, 142, 174, 174, 174, 89, 174, - 174, 142, 174, 1067, 174, 96, 174, 142, 1072, 174, - 174, 1075, 175, 174, 174, 174, 172, 175, 175, 86, - 1, 1, 113, 35, 115, 175, 49, 30, 84, 142, - 174, 142, 1096, 74, 174, 177, 175, 173, 172, 859, - 142, 68, 53, 142, 799, 175, 174, 142, 30, 82, - 142, 141, 30, 175, 809, 174, 1120, 175, 103, 20, - 659, 660, 661, 662, 81, 1129, 75, 53, 159, 175, - 825, 142, 110, 93, 142, 68, 173, 68, 20, 938, - 1077, 937, 1074, 903, 726, 174, 882, 980, 687, 1056, - 65, 300, 241, 184, 849, 460, 838, 852, 853, 952, - 609, 856, 1166, 826, 195, 610, 4, 468, 863, 864, - 13, 13, 109, 1114, 71, 510, 1035, 170, 717, 812, - 1149, 1157, 877, 722, 723, 820, 1145, 218, 1080, 516, - 640, 705, 447, 509, 984, 827, 253, 856, 877, 1127, - 1050, 738, -1, -1, -1, 965, 901, 746, 747, -1, - -1, 750, 318, -1, -1, -1, 755, -1, -1, -1, - -1, -1, 761, -1, 763, -1, 921, -1, -1, 924, - -1, -1, -1, -1, -1, -1, 775, -1, -1, -1, - -1, -1, 781, -1, -1, -1, -1, -1, -1, 944, - -1, -1, 283, -1, 285, -1, -1, 288, 797, 798, - 955, -1, -1, -1, 295, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 986, 987, -1, -1, -1, -1, 1057, -1, -1, - -1, -1, 333, -1, -1, -1, -1, -1, -1, 848, - 341, 342, 343, -1, 345, -1, -1, -1, -1, -1, - -1, 352, 861, -1, -1, -1, -1, -1, -1, -1, - 361, 362, -1, -1, -1, -1, 1031, 1032, 1033, -1, - -1, -1, 1037, 1038, 1039, -1, -1, 1042, 1043, -1, - -1, -1, -1, -1, -1, 1050, -1, 1052, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1064, - 1065, -1, -1, -1, -1, -1, -1, 408, 1073, -1, - -1, 1076, -1, -1, -1, -1, -1, 1082, -1, -1, - -1, -1, 1087, -1, 1089, 934, -1, 1092, -1, 1094, - -1, 940, 1097, -1, -1, 436, -1, 1102, -1, -1, - -1, 950, -1, -1, -1, -1, 447, -1, 449, -1, - -1, 1116, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1127, -1, -1, -1, -1, -1, -1, -1, - -1, 1201, -1, -1, -1, -1, -1, -1, -1, -1, - 481, 1211, -1, -1, -1, -1, -1, 1152, -1, -1, - 999, -1, -1, -1, 1003, 1160, 1161, -1, -1, -1, - -1, -1, -1, 1168, -1, -1, -1, -1, -1, 1018, - -1, -1, -1, -1, -1, 516, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1198, -1, 536, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1054, -1, -1, -1, 1, - 1215, 1216, 1217, -1, -1, 7, 8, -1, 1067, -1, - -1, -1, 14, 1072, -1, -1, 1075, -1, -1, 1078, - -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, - 32, 33, -1, 584, 36, -1, -1, 1096, -1, -1, + 5, 41, 269, 8, 271, 393, 76, 77, 79, 80, + 595, 546, 630, 303, 314, 380, 381, 382, 383, 384, + 491, 1, 27, 295, 552, 1, 31, 32, 33, 34, + 35, 298, 37, 38, 131, 40, 1002, 1003, 254, 1, + 256, 1, 1, 1, 1, 1, 1, 6, 63, 1, + 53, 1, 1, 1, 1, 1, 53, 1, 63, 1, + 157, 158, 159, 1, 1, 70, 1, 72, 1, 1, + 321, 66, 1, 7, 1, 37, 1, 15, 83, 84, + 20, 86, 87, 88, 63, 35, 35, 41, 94, 95, + 34, 53, 129, 64, 99, 35, 0, 102, 66, 104, + 66, 106, 36, 129, 52, 142, 35, 112, 0, 114, + 66, 1, 60, 61, 288, 947, 290, 143, 53, 951, + 1, 1, 178, 71, 70, 67, 744, 18, 19, 170, + 171, 79, 80, 1, 162, 163, 84, 74, 66, 35, + 31, 179, 1, 1, 1, 1, 152, 162, 163, 129, + 41, 6, 84, 129, 35, 35, 1, 1, 96, 1, + 1, 141, 1, 143, 1, 141, 1, 143, 1, 129, + 129, 176, 177, 178, 1, 1, 130, 182, 181, 184, + 1, 178, 187, 143, 66, 180, 142, 142, 193, 259, + 66, 196, 142, 198, 50, 51, 129, 202, 146, 147, + 148, 150, 181, 183, 142, 50, 74, 183, 142, 142, + 150, 182, 217, 181, 105, 181, 178, 222, 1184, 224, + 748, 178, 180, 181, 181, 180, 231, 179, 233, 179, + 178, 179, 179, 238, 178, 66, 178, 1, 129, 627, + 178, 178, 247, 178, 249, 178, 178, 514, 548, 178, + 255, 178, 180, 178, 150, 260, 18, 529, 530, 264, + 150, 142, 142, 268, 66, 270, 28, 272, 30, 274, + 486, 276, 277, 278, 142, 39, 281, 66, 66, 376, + 377, 66, 287, 142, 142, 142, 142, 292, 178, 180, + 295, 66, 297, 66, 299, 66, 50, 142, 142, 181, + 142, 142, 84, 142, 180, 142, 1, 142, 66, 142, + 62, 75, 53, 1, 78, 142, 142, 81, 82, 83, + 66, 142, 47, 142, 50, 3, 4, 5, 1047, 1048, + 1049, 66, 66, 74, 75, 99, 100, 66, 66, 66, + 81, 82, 83, 142, 54, 85, 66, 66, 52, 180, + 181, 66, 66, 66, 66, 57, 55, 35, 99, 100, + 59, 172, 173, 174, 89, 129, 130, 838, 46, 47, + 48, 49, 50, 51, 119, 70, 20, 52, 142, 181, + 84, 58, 70, 128, 1103, 60, 61, 84, 142, 1108, + 178, 180, 181, 150, 15, 180, 181, 18, 19, 1118, + 405, 406, 142, 15, 181, 180, 18, 180, 129, 180, + 31, 89, 417, 418, 15, 167, 142, 18, 142, 40, + 41, 178, 180, 15, 429, 69, 18, 432, 63, 499, + 60, 61, 142, 58, 180, 65, 801, 178, 728, 729, + 730, 446, 180, 181, 744, 180, 180, 149, 20, 1168, + 740, 180, 180, 180, 165, 133, 134, 462, 463, 464, + 180, 180, 1080, 1081, 504, 180, 180, 180, 180, 1004, + 1005, 146, 147, 148, 479, 96, 18, 19, 70, 53, + 178, 164, 733, 181, 105, 106, 107, 738, 739, 31, + 495, 496, 66, 178, 18, 19, 181, 179, 129, 41, + 74, 180, 178, 508, 266, 181, 91, 31, 129, 179, + 141, 516, 143, 518, 179, 129, 178, 41, 103, 181, + 122, 89, 179, 125, 529, 530, 179, 141, 96, 143, + 178, 536, 178, 181, 539, 181, 541, 179, 168, 169, + 16, 17, 180, 181, 20, 113, 22, 115, 166, 134, + 312, 178, 183, 66, 181, 68, 561, 142, 63, 321, + 565, 1159, 1160, 105, 106, 107, 1164, 22, 44, 183, + 180, 181, 1170, 1171, 1172, 337, 179, 339, 340, 341, + 342, 105, 344, 373, 374, 375, 66, 129, 68, 351, + 352, 353, 160, 180, 181, 179, 72, 359, 360, 361, + 362, 363, 364, 365, 179, 129, 378, 379, 179, 679, + 52, 385, 386, 89, 90, 86, 87, 179, 60, 61, + 179, 189, 179, 179, 179, 630, 877, 179, 179, 71, + 635, 179, 200, 638, 1022, 705, 641, 79, 80, 1224, + 711, 179, 179, 179, 16, 17, 75, 179, 20, 654, + 22, 179, 81, 82, 83, 223, 16, 17, 179, 53, + 179, 21, 22, 179, 179, 179, 428, 179, 179, 431, + 99, 100, 44, 67, 68, 69, 179, 747, 22, 749, + 74, 68, 142, 181, 44, 690, 181, 181, 181, 694, + 695, 142, 697, 20, 699, 34, 35, 702, 37, 74, + 72, 706, 707, 708, 146, 147, 148, 712, 142, 181, + 142, 20, 142, 53, 53, 966, 142, 89, 90, 986, + 288, 52, 290, 180, 180, 293, 180, 142, 67, 89, + 90, 91, 300, 181, 142, 74, 741, 22, 22, 20, + 745, 142, 50, 103, 142, 78, 179, 73, 66, 180, + 142, 20, 757, 758, 181, 84, 181, 181, 181, 180, + 180, 180, 180, 180, 180, 55, 180, 180, 180, 180, + 338, 180, 142, 180, 142, 181, 180, 180, 346, 347, + 348, 142, 350, 142, 180, 86, 181, 178, 181, 357, + 1, 1, 35, 181, 49, 30, 84, 142, 366, 367, + 180, 142, 180, 74, 183, 875, 179, 181, 142, 178, + 815, 68, 142, 53, 181, 180, 30, 142, 142, 1070, + 825, 141, 82, 30, 181, 180, 103, 181, 20, 81, + 75, 53, 1083, 181, 110, 142, 841, 1088, 142, 93, + 1091, 68, 179, 68, 180, 20, 954, 1093, 953, 919, + 1090, 419, 898, 742, 996, 1072, 65, 246, 305, 968, + 865, 1112, 471, 868, 869, 854, 388, 872, 842, 387, + 625, 4, 389, 626, 879, 880, 13, 13, 109, 447, + 479, 1130, 71, 175, 521, 1136, 1051, 828, 893, 1165, + 458, 836, 460, 1173, 1145, 1161, 1096, 656, 527, 721, + 843, 520, 1000, 872, 458, 258, 893, 1143, 1066, -1, + -1, 981, 917, 675, 676, 677, 678, -1, 323, -1, + 754, -1, -1, -1, 492, -1, -1, -1, -1, -1, + -1, 1182, 937, -1, -1, 940, -1, -1, -1, -1, + -1, 703, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 960, -1, -1, -1, 527, + -1, -1, -1, -1, -1, -1, 971, -1, -1, -1, + -1, 733, -1, -1, -1, -1, 738, 739, -1, 547, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, - -1, 1120, -1, -1, -1, -1, -1, -1, -1, -1, - 1129, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 635, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 104, -1, -1, -1, -1, 1166, -1, -1, - -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, - 671, -1, 124, -1, -1, -1, 128, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, - -1, 153, 154, 155, 705, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, -1, 170, -1, - 172, 173, -1, 175, 1, -1, -1, -1, -1, -1, - 7, 8, -1, -1, 735, 736, -1, 14, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, - -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, + -1, -1, -1, -1, -1, -1, -1, 1002, 1003, -1, + 762, 763, -1, 1073, 766, -1, -1, -1, -1, 771, + -1, -1, -1, -1, -1, 777, -1, 779, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 595, -1, 791, + -1, -1, -1, -1, -1, 797, -1, -1, -1, -1, + -1, -1, 1047, 1048, 1049, -1, -1, -1, 1053, 1054, + 1055, 813, 814, 1058, 1059, -1, -1, -1, -1, -1, + -1, 1066, -1, 1068, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1080, 1081, -1, -1, -1, + -1, -1, -1, 651, 1089, -1, -1, 1092, -1, -1, + -1, -1, -1, 1098, -1, -1, -1, -1, 1103, -1, + 1105, -1, 864, 1108, -1, 1110, -1, -1, 1113, -1, + -1, -1, -1, 1118, -1, 877, -1, -1, -1, 687, + -1, -1, -1, -1, -1, -1, -1, 1132, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1143, -1, + -1, -1, -1, -1, -1, -1, -1, 1217, -1, -1, + -1, -1, -1, 721, -1, -1, -1, 1227, -1, -1, + -1, -1, -1, 1168, -1, -1, -1, -1, -1, -1, + -1, 1176, 1177, -1, -1, -1, -1, -1, -1, 1184, + -1, -1, -1, 751, 752, -1, -1, -1, 950, -1, + -1, -1, -1, -1, 956, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 966, -1, -1, -1, -1, 1214, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 773, -1, -1, -1, -1, -1, 55, 56, - -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, + -1, 789, -1, -1, -1, -1, 1231, 1232, 1233, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1015, -1, -1, -1, 1019, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 826, 827, 104, -1, -1, - -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, - 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, - -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, - -1, -1, -1, 874, 151, 876, 153, 154, 155, -1, - 157, 158, 159, 160, 161, 1, -1, -1, 165, -1, - -1, 7, 8, 170, -1, -1, 173, 174, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, -1, -1, -1, -1, 41, -1, -1, -1, -1, - -1, 932, -1, -1, -1, -1, -1, -1, -1, 55, - 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, + -1, -1, 1034, -1, 842, 843, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, - 29, 982, 983, 32, 33, -1, -1, 36, 104, -1, - -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, - 116, 117, 118, 119, 120, 121, 55, 56, 124, -1, - 59, -1, 128, -1, 130, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, - -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, - -1, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, 104, -1, 173, -1, -1, + -1, -1, -1, -1, -1, 24, 25, -1, 1070, 28, + 29, -1, -1, 32, 33, -1, -1, 36, -1, -1, + -1, 1083, 890, -1, 892, -1, 1088, -1, -1, 1091, + -1, -1, 1094, -1, -1, -1, 55, 56, -1, -1, + 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1112, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1136, -1, -1, -1, -1, -1, + 948, -1, -1, 1145, -1, 104, -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, - -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, - 159, 160, 161, 1, -1, -1, 165, 1118, -1, 7, - 8, 170, -1, 172, 173, -1, 14, -1, -1, 17, - -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, -1, -1, 36, -1, + 1182, -1, 141, 142, 143, 144, -1, -1, -1, -1, + 998, 999, 151, -1, 153, 154, 155, -1, 157, 158, + 159, 160, 161, -1, -1, -1, -1, -1, -1, -1, + -1, 170, -1, -1, -1, -1, 175, 176, 1, 178, + 179, -1, 181, -1, 7, 8, -1, -1, -1, -1, + -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, + 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, - -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, - 14, -1, -1, -1, -1, -1, -1, 1208, -1, -1, - 24, 25, -1, -1, 28, 29, 104, -1, 32, 33, - -1, -1, 36, -1, -1, 113, -1, 115, 116, 117, - 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, - 128, 55, 56, -1, 132, 59, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, -1, 170, -1, -1, 173, -1, -1, -1, -1, - 104, -1, -1, -1, -1, -1, -1, -1, -1, 113, - -1, 115, 116, 117, 118, 119, 120, 121, -1, -1, - 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, - 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, - 154, 155, 1, 157, 158, 159, 160, 161, 7, 8, - -1, 165, -1, -1, -1, 14, 170, -1, -1, 173, + -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, + -1, -1, -1, -1, 7, 8, -1, -1, -1, -1, + -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, + 33, 104, -1, 36, -1, -1, 1134, -1, 41, -1, + 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, + -1, 124, 55, 56, -1, 128, 59, -1, -1, 132, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, + 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, + 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, + -1, -1, -1, -1, -1, -1, -1, 170, -1, -1, + -1, 104, 175, 176, -1, -1, 179, 180, -1, -1, + 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, + -1, 124, -1, -1, -1, 128, 1224, 130, -1, 132, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, + 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, + 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, + -1, -1, 1, -1, -1, -1, -1, 170, 7, 8, + -1, -1, 175, 176, -1, 14, 179, -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, - -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 14, -1, -1, 17, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, 118, @@ -2270,15 +2248,39 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 104, -1, 173, -1, -1, -1, -1, -1, - -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, + 159, 160, 161, -1, -1, -1, -1, -1, -1, -1, + -1, 170, 104, -1, -1, -1, 175, 176, -1, 178, + 179, 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, - -1, 153, 154, 155, 1, 157, 158, 159, 160, 161, - 7, 8, -1, 165, -1, -1, -1, 14, 170, -1, - -1, 173, -1, -1, -1, -1, -1, 24, 25, -1, + -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, + -1, -1, -1, 1, -1, -1, -1, -1, 170, 7, + 8, -1, -1, 175, 176, -1, 14, 179, -1, -1, + -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, + 28, 29, -1, -1, 32, 33, -1, -1, 36, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, + -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, + -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, + 118, 119, 120, 121, 55, 56, 124, -1, 59, -1, + 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, + -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, + 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, + -1, -1, 170, 104, -1, -1, -1, 175, 176, -1, + -1, 179, 113, -1, 115, 116, 117, 118, 119, 120, + 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, + 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, + 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, + 161, -1, -1, -1, 1, -1, -1, -1, -1, 170, + 7, 8, -1, -1, 175, 176, -1, 14, 179, -1, + -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, @@ -2292,15 +2294,39 @@ static const yytype_int16 yycheck[] = -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 104, -1, 173, -1, -1, -1, - -1, -1, -1, 113, -1, 115, 116, 117, 118, 119, + 157, 158, 159, 160, 161, -1, -1, -1, -1, -1, + -1, -1, -1, 170, 104, -1, -1, -1, 175, 176, + -1, -1, 179, 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, - -1, 151, -1, 153, 154, 155, 1, 157, 158, 159, - 160, 161, 7, 8, -1, 165, -1, -1, -1, 14, - 170, -1, -1, 173, -1, -1, -1, -1, -1, 24, + -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, + 160, 161, -1, -1, -1, 1, -1, -1, -1, -1, + 170, 7, 8, -1, -1, 175, 176, -1, 14, 179, + -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, + -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, + 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, + 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, + -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, + -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, + 29, -1, -1, 32, 33, -1, -1, 36, 104, -1, + -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, + 116, 117, 118, 119, 120, 121, 55, 56, 124, -1, + 59, -1, 128, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, + -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, + -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, + -1, -1, -1, -1, 170, 104, -1, -1, -1, 175, + 176, -1, -1, 179, 113, -1, 115, 116, 117, 118, + 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, + -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, + 159, 160, 161, -1, -1, -1, 1, -1, -1, -1, + -1, 170, 7, 8, -1, -1, 175, 176, -1, 14, + 179, -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -2315,525 +2341,509 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 104, -1, 173, -1, - -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, + -1, -1, -1, -1, -1, 170, 104, -1, -1, -1, + 175, 176, -1, -1, 179, 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, 1, 157, - 158, 159, 160, 161, 7, 8, -1, 165, -1, -1, - -1, 14, 170, -1, -1, 173, -1, -1, -1, -1, - -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, - 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, - -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, - 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, - 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, - 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 104, -1, - 173, -1, -1, -1, -1, -1, -1, 113, -1, 115, - 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, - -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, - -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, - 1, 157, 158, 159, 160, 161, 7, 8, -1, 165, - -1, -1, -1, 14, 170, -1, -1, 173, -1, -1, - -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, -1, -1, 36, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, - -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, - -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, - 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, + 158, 159, 160, 161, -1, -1, -1, 1, -1, -1, + -1, -1, 170, 7, 8, -1, -1, 175, 176, -1, + 14, 179, -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, - -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, - -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, - 121, 55, 56, 124, -1, 59, -1, 128, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, - 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 104, -1, 173, -1, -1, -1, -1, -1, -1, 113, - -1, 115, 116, 117, 118, 119, 120, 121, -1, -1, - 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, + -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 55, 56, -1, -1, 59, -1, -1, -1, -1, + -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, + 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, + -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, + 104, -1, -1, -1, -1, -1, -1, -1, -1, 113, + -1, 115, 116, 117, 118, 119, 120, 121, 55, 56, + 124, -1, 59, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, - 154, 155, -1, 157, 158, 159, 160, 161, -1, 1, - -1, 165, -1, -1, 6, -1, 170, 9, 10, 173, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - -1, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, - -1, 73, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, 69, -1, -1, - -1, 73, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, 11, - -1, -1, -1, 15, -1, -1, 18, 19, -1, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, -1, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, 96, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, + 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, + -1, -1, -1, -1, -1, -1, 170, 104, -1, -1, + -1, 175, 176, -1, -1, 179, 113, -1, 115, 116, + 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, + -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, + -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, + 157, 158, 159, 160, 161, -1, -1, -1, 1, -1, + -1, -1, -1, 170, 7, 8, -1, -1, 175, 176, + -1, 14, 179, -1, -1, -1, -1, -1, -1, -1, + -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, + 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, + -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, -1, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, 68, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, + -1, 104, -1, -1, -1, -1, -1, -1, -1, -1, + 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, + -1, 124, -1, -1, -1, 128, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, + 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, + 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, + 1, -1, -1, -1, -1, 6, -1, 170, 9, 10, + -1, -1, 175, 176, -1, -1, 179, 18, 19, 20, + 21, -1, -1, -1, -1, 26, 27, -1, -1, -1, + 31, -1, -1, 34, 35, -1, 37, 38, 39, 40, + 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, + -1, -1, 53, -1, 55, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, + -1, -1, 73, 74, 75, 76, 77, -1, -1, -1, + -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, + -1, 92, -1, -1, 95, -1, -1, 98, -1, -1, + 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, + 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 123, -1, -1, 126, 127, -1, 129, 130, + 1, -1, -1, -1, -1, 6, -1, 138, 9, 10, + -1, 142, -1, -1, 145, -1, -1, 18, 19, 20, + 21, -1, -1, -1, -1, 26, 27, -1, -1, -1, + 31, -1, -1, 34, 35, -1, 37, 38, 39, 40, + 41, 42, 43, -1, 45, -1, -1, 178, -1, -1, + -1, -1, 53, -1, 55, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, + -1, -1, 73, 74, 75, 76, 77, -1, -1, -1, + -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, + -1, 92, -1, -1, 95, -1, -1, 98, -1, -1, + 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, + 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 123, -1, -1, 126, 127, -1, 129, 130, + -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, + -1, 142, 1, -1, 145, -1, -1, 6, -1, -1, + 9, 10, 11, -1, -1, -1, 15, -1, -1, 18, + 19, -1, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, -1, 178, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, -1, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, 7, 8, -1, -1, -1, + -1, -1, 14, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 24, 25, -1, -1, 28, 29, -1, 138, + 32, 33, -1, 142, 36, -1, 145, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, 127, -1, 129, 130, -1, - -1, -1, -1, -1, -1, -1, 138, -1, -1, 1, - 142, -1, -1, 145, 6, -1, -1, 9, 10, -1, - -1, -1, -1, -1, -1, -1, 18, 19, 20, 21, - -1, -1, -1, -1, 26, 27, -1, -1, -1, 31, - 172, -1, 34, 35, -1, 37, 38, 39, 40, 41, - 42, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, 53, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 67, -1, -1, -1, -1, - -1, -1, 74, 75, 76, 77, -1, -1, -1, -1, - -1, -1, -1, 85, 86, 87, 88, -1, -1, -1, - 92, -1, -1, 95, -1, -1, 98, -1, -1, 101, - -1, 103, 104, 105, 106, 107, 108, 109, -1, 111, + -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, 7, 8, -1, -1, -1, -1, -1, 14, - -1, 123, -1, -1, 126, 127, -1, 129, 130, 24, - 25, -1, -1, 28, 29, -1, 138, 32, 33, -1, - 142, 36, -1, 145, -1, -1, 41, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, - 172, -1, -1, -1, -1, -1, -1, -1, -1, 7, - 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, -1, -1, 36, 104, - -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, - 115, 116, 117, 118, 119, 120, 121, 55, 56, 124, - -1, 59, -1, 128, -1, 130, -1, 132, 66, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, + 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, + -1, 36, 104, -1, -1, -1, -1, -1, -1, -1, + -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, + 55, 56, 124, -1, 59, -1, 128, -1, 130, -1, + 132, 66, -1, -1, -1, -1, -1, -1, -1, 141, + 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, + -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, + -1, -1, -1, -1, -1, -1, -1, -1, 170, 104, + -1, -1, -1, 175, 176, -1, -1, 179, 113, -1, + 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, + -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, - 155, -1, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 104, -1, 173, -1, + 155, -1, 157, 158, 159, 160, 161, -1, -1, 7, + 8, -1, -1, -1, -1, 170, 14, -1, -1, -1, + 175, 176, -1, -1, 179, -1, 24, 25, -1, -1, + 28, 29, -1, -1, 32, 33, -1, -1, 36, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 7, 8, -1, -1, + -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, + -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, - 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, - 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, + 118, 119, 120, 121, 55, 56, 124, -1, 59, -1, + 128, -1, -1, -1, 132, 133, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, 7, 8, -1, 165, -1, -1, - -1, 14, 170, -1, -1, 173, -1, -1, -1, -1, - -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, - 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, - 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, - 133, -1, -1, -1, -1, -1, -1, -1, 141, 142, - 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, - 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 104, -1, - 173, -1, -1, -1, -1, -1, -1, 113, -1, 115, - 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, - -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, - -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, - -1, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, -1, 170, -1, -1, 173 + 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, + -1, -1, 170, 104, -1, -1, -1, 175, 176, -1, + -1, 179, 113, -1, 115, 116, 117, 118, 119, 120, + 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, + 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, + 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, + 161, -1, -1, -1, -1, -1, -1, -1, -1, 170, + -1, -1, -1, -1, 175, 176, -1, -1, 179 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 179, 181, 0, 182, 1, 6, 9, 10, 11, + 0, 185, 187, 0, 188, 1, 6, 9, 10, 11, 15, 18, 19, 21, 26, 27, 31, 34, 37, 38, 39, 40, 41, 42, 43, 45, 53, 55, 67, 74, 75, 76, 77, 85, 86, 87, 88, 92, 95, 96, 98, 101, 103, 104, 105, 106, 107, 108, 109, 111, - 123, 126, 127, 129, 130, 138, 142, 145, 172, 180, - 183, 184, 197, 215, 217, 219, 221, 222, 260, 296, - 307, 310, 312, 318, 323, 330, 333, 336, 339, 340, - 341, 342, 343, 344, 388, 390, 391, 393, 399, 400, - 417, 427, 429, 434, 435, 439, 445, 447, 180, 1, - 142, 180, 54, 142, 224, 225, 1, 39, 142, 278, - 307, 310, 1, 440, 1, 436, 1, 448, 1, 7, + 123, 126, 127, 129, 130, 138, 142, 145, 178, 186, + 189, 190, 203, 221, 223, 225, 227, 228, 270, 306, + 317, 320, 322, 328, 333, 340, 343, 346, 349, 350, + 351, 352, 353, 354, 398, 400, 401, 403, 409, 410, + 427, 437, 439, 444, 445, 449, 455, 457, 186, 1, + 142, 186, 54, 142, 230, 231, 1, 39, 142, 288, + 317, 320, 1, 450, 1, 446, 1, 458, 1, 7, 8, 14, 24, 25, 28, 29, 32, 33, 36, 55, 56, 59, 104, 113, 115, 116, 117, 118, 119, 120, 121, 124, 128, 132, 141, 142, 143, 144, 151, 153, - 154, 155, 157, 158, 159, 160, 161, 165, 170, 173, - 236, 241, 242, 243, 244, 245, 246, 247, 249, 251, - 254, 1, 142, 1, 142, 15, 18, 1, 142, 1, - 142, 173, 226, 180, 268, 1, 254, 84, 254, 180, - 180, 150, 180, 1, 180, 270, 180, 1, 6, 129, - 180, 180, 180, 15, 18, 19, 31, 40, 41, 96, - 129, 343, 6, 142, 289, 142, 286, 1, 272, 1, - 66, 142, 1, 319, 347, 311, 1, 142, 1, 84, - 173, 269, 389, 1, 15, 96, 142, 180, 232, 58, - 216, 216, 1, 142, 1, 142, 284, 180, 84, 277, - 322, 180, 1, 313, 280, 20, 69, 256, 256, 1, - 35, 173, 338, 1, 338, 1, 338, 1, 142, 325, - 326, 1, 129, 142, 180, 421, 1, 180, 405, 175, - 405, 405, 1, 175, 180, 283, 404, 1, 254, 255, - 401, 403, 1, 263, 1, 430, 255, 180, 198, 180, - 175, 180, 180, 142, 265, 129, 312, 63, 423, 321, - 322, 180, 255, 180, 255, 20, 35, 150, 449, 450, - 451, 461, 53, 67, 68, 69, 74, 335, 337, 226, - 173, 173, 173, 173, 173, 173, 173, 173, 226, 173, - 243, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 243, 243, 255, 58, 167, 168, 169, - 165, 166, 60, 61, 65, 163, 164, 62, 162, 63, - 64, 176, 66, 335, 180, 180, 180, 428, 22, 22, - 180, 180, 174, 180, 1, 255, 406, 68, 68, 50, - 142, 180, 180, 180, 255, 180, 91, 103, 134, 142, - 142, 15, 18, 1, 345, 180, 175, 175, 291, 175, - 175, 288, 180, 255, 180, 142, 20, 74, 142, 354, - 180, 175, 180, 308, 309, 1, 276, 52, 60, 61, - 71, 79, 80, 146, 147, 148, 408, 409, 395, 396, - 180, 234, 233, 235, 223, 256, 223, 180, 218, 180, - 220, 75, 81, 82, 83, 99, 100, 297, 299, 300, - 306, 293, 50, 142, 293, 180, 293, 20, 41, 130, - 316, 317, 425, 256, 1, 67, 180, 420, 264, 6, - 34, 35, 40, 101, 257, 260, 332, 20, 180, 57, - 149, 213, 254, 261, 180, 325, 180, 325, 180, 327, - 175, 180, 180, 180, 180, 180, 392, 180, 401, 401, - 180, 255, 175, 404, 180, 325, 180, 255, 1, 175, - 266, 199, 214, 255, 225, 281, 52, 279, 254, 53, - 294, 423, 441, 437, 34, 35, 37, 53, 67, 74, - 467, 1, 213, 452, 20, 450, 174, 174, 254, 255, - 254, 254, 254, 254, 254, 255, 255, 255, 1, 142, - 174, 255, 254, 254, 254, 1, 142, 1, 142, 1, - 50, 51, 142, 255, 237, 254, 254, 254, 254, 254, - 254, 254, 255, 255, 174, 55, 59, 242, 242, 242, - 243, 243, 244, 244, 244, 244, 244, 245, 245, 248, - 250, 252, 251, 175, 443, 444, 142, 142, 180, 1, - 180, 407, 271, 180, 180, 255, 274, 275, 22, 22, - 20, 142, 290, 254, 180, 287, 254, 180, 273, 348, - 394, 50, 142, 180, 238, 239, 240, 255, 406, 255, - 397, 398, 180, 180, 180, 20, 173, 227, 227, 304, - 302, 301, 303, 285, 53, 74, 180, 298, 300, 78, - 293, 426, 354, 255, 20, 180, 180, 256, 1, 70, - 1, 70, 1, 70, 15, 18, 70, 73, 331, 334, - 1, 37, 53, 180, 422, 174, 325, 180, 180, 328, - 408, 326, 397, 404, 404, 402, 180, 431, 180, 142, - 180, 446, 3, 4, 5, 35, 46, 47, 48, 49, - 50, 51, 89, 133, 134, 200, 201, 202, 443, 1, - 255, 410, 423, 295, 294, 175, 175, 180, 20, 462, - 84, 1, 34, 180, 466, 174, 175, 175, 174, 174, - 175, 174, 1, 174, 175, 175, 174, 174, 174, 174, - 174, 175, 174, 175, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 175, 238, 175, 174, 174, 174, 174, - 174, 175, 174, 174, 55, 63, 246, 247, 251, 142, - 180, 444, 188, 186, 180, 180, 180, 47, 89, 385, - 16, 17, 21, 22, 44, 89, 90, 91, 103, 375, - 142, 142, 346, 142, 292, 255, 180, 214, 349, 350, - 351, 352, 424, 425, 395, 174, 175, 175, 18, 19, - 31, 41, 105, 129, 174, 228, 229, 230, 86, 94, - 95, 152, 231, 254, 254, 254, 254, 256, 305, 255, - 314, 172, 1, 74, 180, 418, 20, 180, 180, 259, - 180, 258, 180, 1, 1, 180, 1, 254, 256, 180, - 180, 180, 338, 180, 329, 403, 175, 267, 133, 214, - 214, 214, 49, 213, 205, 213, 213, 214, 180, 202, - 423, 53, 180, 416, 30, 413, 256, 294, 256, 255, - 255, 467, 84, 464, 142, 180, 180, 254, 254, 254, - 174, 142, 254, 254, 254, 255, 174, 254, 254, 244, - 177, 1, 173, 193, 1, 173, 189, 254, 254, 180, - 379, 378, 377, 74, 376, 380, 180, 187, 185, 349, - 175, 172, 356, 354, 1, 84, 180, 324, 240, 398, - 173, 174, 175, 142, 230, 20, 254, 180, 358, 355, - 356, 180, 180, 420, 256, 213, 180, 180, 68, 68, - 262, 255, 255, 446, 142, 205, 204, 122, 125, 206, - 203, 53, 411, 175, 414, 415, 20, 20, 442, 438, - 180, 142, 256, 453, 174, 174, 174, 174, 174, 175, - 174, 174, 174, 175, 174, 174, 253, 180, 142, 194, - 195, 180, 141, 190, 191, 386, 381, 382, 383, 381, - 255, 254, 381, 193, 189, 254, 16, 17, 20, 22, - 44, 72, 89, 90, 357, 353, 180, 1, 50, 142, - 213, 229, 1, 53, 180, 419, 129, 142, 320, 20, - 20, 256, 325, 432, 30, 207, 207, 282, 255, 255, - 53, 415, 419, 419, 443, 443, 463, 82, 460, 254, - 254, 251, 196, 174, 175, 192, 174, 175, 30, 387, - 175, 254, 1, 129, 141, 143, 177, 368, 369, 1, - 129, 143, 360, 361, 1, 17, 359, 1, 129, 141, - 143, 177, 363, 364, 358, 358, 358, 355, 180, 180, - 180, 174, 180, 180, 315, 466, 20, 180, 175, 213, - 103, 208, 208, 256, 412, 180, 180, 20, 213, 81, - 174, 174, 213, 180, 195, 213, 180, 191, 254, 382, - 384, 180, 370, 371, 372, 175, 358, 180, 362, 175, - 358, 180, 213, 180, 365, 366, 367, 175, 358, 321, - 1, 35, 180, 465, 255, 213, 75, 209, 20, 53, - 465, 213, 142, 7, 36, 142, 373, 374, 373, 373, - 369, 373, 361, 358, 373, 373, 373, 364, 180, 180, - 433, 213, 419, 454, 110, 175, 210, 93, 142, 68, - 211, 455, 180, 85, 142, 256, 173, 456, 212, 68, - 238, 457, 174, 256, 458, 20, 1, 150, 180, 459, - 180, 180 + 154, 155, 157, 158, 159, 160, 161, 170, 175, 176, + 179, 242, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 259, 261, 264, 1, 142, 1, 142, + 15, 18, 1, 142, 1, 142, 179, 232, 186, 278, + 1, 264, 84, 264, 186, 186, 150, 186, 1, 186, + 280, 186, 1, 6, 129, 186, 186, 186, 15, 18, + 19, 31, 40, 41, 96, 129, 353, 6, 142, 299, + 142, 296, 1, 282, 1, 66, 142, 1, 329, 357, + 321, 1, 142, 1, 84, 179, 279, 399, 1, 15, + 96, 142, 186, 238, 58, 222, 222, 1, 142, 1, + 142, 294, 186, 84, 287, 332, 186, 1, 323, 290, + 20, 69, 266, 266, 1, 35, 179, 348, 1, 348, + 1, 348, 1, 142, 335, 336, 1, 129, 142, 186, + 431, 1, 186, 415, 181, 415, 415, 1, 181, 186, + 293, 414, 1, 264, 265, 411, 413, 1, 273, 1, + 440, 265, 186, 204, 186, 181, 186, 186, 142, 275, + 129, 322, 63, 433, 331, 332, 186, 265, 186, 265, + 20, 35, 150, 459, 460, 461, 471, 53, 67, 68, + 69, 74, 345, 347, 232, 179, 179, 179, 179, 179, + 179, 179, 179, 232, 179, 249, 179, 179, 179, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 249, 249, + 249, 265, 58, 172, 173, 174, 170, 171, 162, 163, + 60, 61, 65, 168, 169, 62, 167, 166, 165, 164, + 63, 64, 182, 66, 345, 186, 186, 186, 438, 22, + 22, 186, 186, 180, 186, 1, 265, 416, 68, 68, + 50, 142, 186, 186, 186, 265, 186, 91, 103, 134, + 142, 142, 15, 18, 1, 355, 186, 181, 181, 301, + 181, 181, 298, 186, 265, 186, 142, 20, 74, 142, + 364, 186, 181, 186, 318, 319, 1, 286, 52, 60, + 61, 71, 79, 80, 146, 147, 148, 418, 419, 405, + 406, 186, 240, 239, 241, 229, 266, 229, 186, 224, + 186, 226, 75, 81, 82, 83, 99, 100, 307, 309, + 310, 316, 303, 50, 142, 303, 186, 303, 20, 41, + 130, 326, 327, 435, 266, 1, 67, 186, 430, 274, + 6, 34, 35, 40, 101, 267, 270, 342, 20, 186, + 57, 149, 219, 264, 271, 186, 335, 186, 335, 186, + 337, 181, 186, 186, 186, 186, 186, 402, 186, 411, + 411, 186, 265, 181, 414, 186, 335, 186, 265, 1, + 181, 276, 205, 220, 265, 231, 291, 52, 289, 264, + 53, 304, 433, 451, 447, 34, 35, 37, 53, 67, + 74, 477, 1, 219, 462, 20, 460, 180, 180, 264, + 265, 264, 264, 264, 264, 264, 265, 265, 265, 1, + 142, 180, 265, 264, 264, 264, 1, 142, 1, 142, + 1, 50, 51, 142, 265, 243, 264, 264, 264, 264, + 264, 264, 264, 265, 265, 180, 55, 59, 248, 248, + 248, 249, 249, 250, 250, 251, 251, 251, 251, 251, + 252, 252, 253, 254, 255, 258, 260, 262, 261, 181, + 453, 454, 142, 142, 186, 1, 186, 417, 281, 186, + 186, 265, 284, 285, 22, 22, 20, 142, 300, 264, + 186, 297, 264, 186, 283, 358, 404, 50, 142, 186, + 244, 245, 246, 265, 416, 265, 407, 408, 186, 186, + 186, 20, 179, 233, 233, 314, 312, 311, 313, 295, + 53, 74, 186, 308, 310, 78, 303, 436, 364, 265, + 20, 186, 186, 266, 1, 70, 1, 70, 1, 70, + 15, 18, 70, 73, 341, 344, 1, 37, 53, 186, + 432, 180, 335, 186, 186, 338, 418, 336, 407, 414, + 414, 412, 186, 441, 186, 142, 186, 456, 3, 4, + 5, 35, 46, 47, 48, 49, 50, 51, 89, 133, + 134, 206, 207, 208, 453, 1, 265, 420, 433, 305, + 304, 181, 181, 186, 20, 472, 84, 1, 34, 186, + 476, 180, 181, 181, 180, 180, 181, 180, 1, 180, + 181, 181, 180, 180, 180, 180, 180, 181, 180, 181, + 180, 180, 180, 180, 180, 180, 180, 180, 180, 181, + 244, 181, 180, 180, 180, 180, 180, 181, 180, 180, + 55, 63, 256, 257, 261, 142, 186, 454, 194, 192, + 186, 186, 186, 47, 89, 395, 16, 17, 21, 22, + 44, 89, 90, 91, 103, 385, 142, 142, 356, 142, + 302, 265, 186, 220, 359, 360, 361, 362, 434, 435, + 405, 180, 181, 181, 18, 19, 31, 41, 105, 129, + 180, 234, 235, 236, 86, 94, 95, 152, 237, 264, + 264, 264, 264, 266, 315, 265, 324, 178, 1, 74, + 186, 428, 20, 186, 186, 269, 186, 268, 186, 1, + 1, 186, 1, 264, 266, 186, 186, 186, 348, 186, + 339, 413, 181, 277, 133, 220, 220, 220, 49, 219, + 211, 219, 219, 220, 186, 208, 433, 53, 186, 426, + 30, 423, 266, 304, 266, 265, 265, 477, 84, 474, + 142, 186, 186, 264, 264, 264, 180, 142, 264, 264, + 264, 265, 180, 264, 264, 251, 183, 1, 179, 199, + 1, 179, 195, 264, 264, 186, 389, 388, 387, 74, + 386, 390, 186, 193, 191, 359, 181, 178, 366, 364, + 1, 84, 186, 334, 246, 408, 179, 180, 181, 142, + 236, 20, 264, 186, 368, 365, 366, 186, 186, 430, + 266, 219, 186, 186, 68, 68, 272, 265, 265, 456, + 142, 211, 210, 122, 125, 212, 209, 53, 421, 181, + 424, 425, 20, 20, 452, 448, 186, 142, 266, 463, + 180, 180, 180, 180, 180, 181, 180, 180, 180, 181, + 180, 180, 263, 186, 142, 200, 201, 186, 141, 196, + 197, 396, 391, 392, 393, 391, 265, 264, 391, 199, + 195, 264, 16, 17, 20, 22, 44, 72, 89, 90, + 367, 363, 186, 1, 50, 142, 219, 235, 1, 53, + 186, 429, 129, 142, 330, 20, 20, 266, 335, 442, + 30, 213, 213, 292, 265, 265, 53, 425, 429, 429, + 453, 453, 473, 82, 470, 264, 264, 261, 202, 180, + 181, 198, 180, 181, 30, 397, 181, 264, 1, 129, + 141, 143, 183, 378, 379, 1, 129, 143, 370, 371, + 1, 17, 369, 1, 129, 141, 143, 183, 373, 374, + 368, 368, 368, 365, 186, 186, 186, 180, 186, 186, + 325, 476, 20, 186, 181, 219, 103, 214, 214, 266, + 422, 186, 186, 20, 219, 81, 180, 180, 219, 186, + 201, 219, 186, 197, 264, 392, 394, 186, 380, 381, + 382, 181, 368, 186, 372, 181, 368, 186, 219, 186, + 375, 376, 377, 181, 368, 331, 1, 35, 186, 475, + 265, 219, 75, 215, 20, 53, 475, 219, 142, 7, + 36, 142, 383, 384, 383, 383, 379, 383, 371, 368, + 383, 383, 383, 374, 186, 186, 443, 219, 429, 464, + 110, 181, 216, 93, 142, 68, 217, 465, 186, 85, + 142, 266, 179, 466, 218, 68, 244, 467, 180, 266, + 468, 20, 1, 150, 186, 469, 186, 186 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 178, 179, 180, 181, 182, 181, 183, 183, 183, - 183, 183, 184, 184, 185, 184, 186, 184, 187, 184, - 188, 184, 189, 189, 190, 190, 192, 191, 193, 193, - 194, 194, 196, 195, 198, 197, 197, 199, 199, 200, - 200, 201, 201, 202, 202, 202, 202, 202, 202, 202, - 203, 202, 202, 204, 202, 202, 202, 202, 202, 205, - 205, 206, 206, 207, 207, 208, 208, 209, 210, 209, - 211, 211, 212, 211, 213, 214, 215, 215, 216, 216, - 217, 218, 217, 219, 220, 219, 221, 221, 222, 222, - 223, 224, 224, 225, 226, 226, 227, 227, 227, 228, - 228, 229, 230, 230, 230, 230, 230, 230, 230, 231, - 231, 231, 231, 232, 233, 232, 234, 232, 235, 232, - 232, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 237, 236, 236, - 236, 236, 236, 236, 238, 238, 239, 239, 240, 241, - 241, 241, 242, 242, 242, 242, 243, 243, 243, 243, - 244, 244, 244, 245, 245, 245, 245, 245, 245, 246, - 246, 246, 247, 248, 247, 249, 250, 249, 251, 252, - 253, 251, 254, 254, 255, 255, 256, 256, 257, 257, - 258, 257, 257, 259, 257, 257, 257, 257, 257, 257, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 261, 260, 262, 260, 260, 263, 260, 260, 260, 260, - 264, 260, 265, 260, 260, 266, 260, 267, 260, 260, - 268, 260, 269, 260, 260, 270, 271, 260, 260, 272, - 273, 260, 260, 260, 274, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 275, 260, 260, 276, 260, 260, - 260, 260, 260, 277, 260, 260, 260, 278, 279, 260, - 260, 280, 260, 260, 260, 281, 282, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 283, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 284, 285, 260, 260, 260, 287, 286, - 288, 288, 290, 289, 291, 292, 291, 293, 295, 294, - 296, 296, 297, 298, 298, 298, 299, 299, 301, 300, - 302, 300, 303, 300, 304, 300, 305, 300, 306, 306, - 306, 307, 308, 307, 309, 307, 311, 310, 313, 314, - 315, 312, 312, 316, 317, 316, 319, 318, 320, 320, - 320, 321, 321, 322, 322, 323, 323, 323, 324, 324, - 324, 324, 324, 325, 325, 327, 326, 328, 329, 328, - 330, 331, 332, 332, 333, 333, 334, 334, 335, 335, - 336, 336, 336, 337, 337, 337, 338, 338, 338, 339, - 339, 340, 340, 341, 341, 342, 342, 343, 343, 343, - 345, 346, 344, 344, 347, 348, 344, 344, 349, 349, - 351, 350, 353, 352, 354, 355, 356, 356, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, 357, 358, - 358, 359, 359, 360, 360, 362, 361, 361, 363, 363, - 365, 364, 366, 364, 367, 364, 364, 368, 368, 370, - 369, 371, 369, 372, 369, 369, 373, 374, 374, 374, - 374, 375, 375, 375, 375, 376, 375, 375, 377, 375, - 378, 375, 379, 375, 380, 375, 381, 381, 383, 384, - 382, 385, 386, 385, 387, 387, 389, 388, 390, 390, - 392, 391, 394, 393, 396, 395, 397, 397, 398, 399, - 399, 400, 400, 401, 402, 401, 403, 404, 405, 406, - 406, 407, 407, 408, 408, 408, 408, 408, 408, 409, - 409, 409, 409, 411, 412, 410, 413, 410, 410, 414, - 414, 415, 416, 416, 417, 417, 418, 418, 418, 419, - 419, 419, 420, 420, 420, 421, 421, 421, 421, 422, - 422, 422, 422, 423, 423, 424, 424, 425, 426, 425, - 428, 427, 427, 430, 431, 432, 433, 429, 429, 434, - 434, 436, 437, 438, 435, 435, 440, 441, 442, 439, - 439, 443, 443, 444, 445, 446, 448, 447, 447, 449, - 449, 450, 450, 452, 453, 454, 455, 456, 457, 458, - 451, 459, 459, 459, 460, 460, 462, 463, 461, 461, - 464, 464, 465, 465, 465, 466, 466, 466, 467, 467, - 467, 467, 467, 467, 467 + 0, 184, 185, 186, 187, 188, 187, 189, 189, 189, + 189, 189, 190, 190, 191, 190, 192, 190, 193, 190, + 194, 190, 195, 195, 196, 196, 198, 197, 199, 199, + 200, 200, 202, 201, 204, 203, 203, 205, 205, 206, + 206, 207, 207, 208, 208, 208, 208, 208, 208, 208, + 209, 208, 208, 210, 208, 208, 208, 208, 208, 211, + 211, 212, 212, 213, 213, 214, 214, 215, 216, 215, + 217, 217, 218, 217, 219, 220, 221, 221, 222, 222, + 223, 224, 223, 225, 226, 225, 227, 227, 228, 228, + 229, 230, 230, 231, 232, 232, 233, 233, 233, 234, + 234, 235, 236, 236, 236, 236, 236, 236, 236, 237, + 237, 237, 237, 238, 239, 238, 240, 238, 241, 238, + 238, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 243, 242, 242, + 242, 242, 242, 242, 244, 244, 245, 245, 246, 247, + 247, 247, 248, 248, 248, 248, 248, 249, 249, 249, + 249, 250, 250, 250, 251, 251, 251, 252, 252, 252, + 252, 252, 252, 253, 253, 253, 254, 254, 255, 255, + 256, 256, 257, 258, 257, 259, 260, 259, 261, 262, + 263, 261, 264, 264, 265, 265, 266, 266, 267, 267, + 268, 267, 267, 269, 267, 267, 267, 267, 267, 267, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 271, 270, 272, 270, 270, 273, 270, 270, 270, 270, + 274, 270, 275, 270, 270, 276, 270, 277, 270, 270, + 278, 270, 279, 270, 270, 280, 281, 270, 270, 282, + 283, 270, 270, 270, 284, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 285, 270, 270, 286, 270, 270, + 270, 270, 270, 287, 270, 270, 270, 288, 289, 270, + 270, 290, 270, 270, 270, 291, 292, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 293, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 294, 295, 270, 270, 270, 297, 296, + 298, 298, 300, 299, 301, 302, 301, 303, 305, 304, + 306, 306, 307, 308, 308, 308, 309, 309, 311, 310, + 312, 310, 313, 310, 314, 310, 315, 310, 316, 316, + 316, 317, 318, 317, 319, 317, 321, 320, 323, 324, + 325, 322, 322, 326, 327, 326, 329, 328, 330, 330, + 330, 331, 331, 332, 332, 333, 333, 333, 334, 334, + 334, 334, 334, 335, 335, 337, 336, 338, 339, 338, + 340, 341, 342, 342, 343, 343, 344, 344, 345, 345, + 346, 346, 346, 347, 347, 347, 348, 348, 348, 349, + 349, 350, 350, 351, 351, 352, 352, 353, 353, 353, + 355, 356, 354, 354, 357, 358, 354, 354, 359, 359, + 361, 360, 363, 362, 364, 365, 366, 366, 367, 367, + 367, 367, 367, 367, 367, 367, 367, 367, 367, 368, + 368, 369, 369, 370, 370, 372, 371, 371, 373, 373, + 375, 374, 376, 374, 377, 374, 374, 378, 378, 380, + 379, 381, 379, 382, 379, 379, 383, 384, 384, 384, + 384, 385, 385, 385, 385, 386, 385, 385, 387, 385, + 388, 385, 389, 385, 390, 385, 391, 391, 393, 394, + 392, 395, 396, 395, 397, 397, 399, 398, 400, 400, + 402, 401, 404, 403, 406, 405, 407, 407, 408, 409, + 409, 410, 410, 411, 412, 411, 413, 414, 415, 416, + 416, 417, 417, 418, 418, 418, 418, 418, 418, 419, + 419, 419, 419, 421, 422, 420, 423, 420, 420, 424, + 424, 425, 426, 426, 427, 427, 428, 428, 428, 429, + 429, 429, 430, 430, 430, 431, 431, 431, 431, 432, + 432, 432, 432, 433, 433, 434, 434, 435, 436, 435, + 438, 437, 437, 440, 441, 442, 443, 439, 439, 444, + 444, 446, 447, 448, 445, 445, 450, 451, 452, 449, + 449, 453, 453, 454, 455, 456, 458, 457, 457, 459, + 459, 460, 460, 462, 463, 464, 465, 466, 467, 468, + 461, 469, 469, 469, 470, 470, 472, 473, 471, 471, + 474, 474, 475, 475, 475, 476, 476, 476, 477, 477, + 477, 477, 477, 477, 477 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -2857,9 +2867,10 @@ static const yytype_uint8 yyr2[] = 4, 4, 6, 6, 4, 6, 4, 4, 4, 4, 4, 4, 4, 4, 3, 4, 4, 0, 5, 3, 3, 2, 2, 3, 0, 1, 1, 3, 1, 1, - 3, 4, 1, 2, 2, 2, 1, 3, 3, 3, - 1, 3, 3, 1, 3, 3, 3, 3, 5, 1, - 3, 3, 1, 0, 4, 1, 0, 4, 1, 0, + 3, 4, 1, 2, 2, 2, 2, 1, 3, 3, + 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, + 3, 3, 5, 1, 3, 3, 1, 3, 1, 3, + 1, 3, 1, 0, 4, 1, 0, 4, 1, 0, 0, 7, 1, 3, 1, 2, 0, 2, 1, 3, 0, 7, 3, 0, 6, 3, 3, 3, 4, 4, 1, 2, 2, 2, 3, 3, 4, 3, 4, 3, @@ -3588,47 +3599,47 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 529 "rwlparser.y" /* yacc.c:1646 */ +#line 536 "rwlparser.y" /* yacc.c:1646 */ { ; // we are done! } -#line 3596 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3607 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 3: -#line 535 "rwlparser.y" /* yacc.c:1646 */ +#line 542 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) YYABORT; } -#line 3602 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3613 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 5: -#line 541 "rwlparser.y" /* yacc.c:1646 */ +#line 548 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3612 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3623 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 6: -#line 547 "rwlparser.y" /* yacc.c:1646 */ +#line 554 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3622 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3633 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 10: -#line 562 "rwlparser.y" /* yacc.c:1646 */ +#line 569 "rwlparser.y" /* yacc.c:1646 */ { rwlprintallvars(rwm); } -#line 3628 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3639 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 13: -#line 573 "rwlparser.y" /* yacc.c:1646 */ +#line 580 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) rwlcodetail(rwm); @@ -3643,11 +3654,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->codename = 0; // we are no longer compiling code rwm->codeguess = RWL_VAR_NOGUESS; } -#line 3647 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3658 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 14: -#line 589 "rwlparser.y" /* yacc.c:1646 */ +#line 596 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3655,22 +3666,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3659 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3670 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 16: -#line 598 "rwlparser.y" /* yacc.c:1646 */ +#line 605 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3670 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3681 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 18: -#line 606 "rwlparser.y" /* yacc.c:1646 */ +#line 613 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3678,83 +3689,83 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3682 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3693 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 20: -#line 615 "rwlparser.y" /* yacc.c:1646 */ +#line 622 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3692 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3703 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 22: -#line 626 "rwlparser.y" /* yacc.c:1646 */ +#line 633 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3700 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3711 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 23: -#line 630 "rwlparser.y" /* yacc.c:1646 */ +#line 637 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAST); yyerrok; } -#line 3711 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3722 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 26: -#line 643 "rwlparser.y" /* yacc.c:1646 */ +#line 650 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->sval; } -#line 3717 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3728 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 27: -#line 645 "rwlparser.y" /* yacc.c:1646 */ +#line 652 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3723 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3734 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 28: -#line 651 "rwlparser.y" /* yacc.c:1646 */ +#line 658 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3731 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3742 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 29: -#line 655 "rwlparser.y" /* yacc.c:1646 */ +#line 662 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAPROC); yyerrok; } -#line 3742 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3753 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 32: -#line 667 "rwlparser.y" /* yacc.c:1646 */ +#line 674 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->inam; } -#line 3748 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3759 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 33: -#line 669 "rwlparser.y" /* yacc.c:1646 */ +#line 676 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3754 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3765 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 34: -#line 674 "rwlparser.y" /* yacc.c:1646 */ +#line 681 "rwlparser.y" /* yacc.c:1646 */ { // add identifier sb4 ld = rwladdvar(rwm, rwm->inam, RWL_TYPE_DB, 0); @@ -3771,11 +3782,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m2flags, RWL_P2_SOMEEXPFAIL); } -#line 3775 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3786 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 35: -#line 691 "rwlparser.y" /* yacc.c:1646 */ +#line 698 "rwlparser.y" /* yacc.c:1646 */ { // fix core dump, only call builddb if everything fine if (bit(rwm->m2flags, RWL_P2_SOMEEXPFAIL)) @@ -3831,17 +3842,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m3flags, RWL_P3_GENERATE_OK); } } -#line 3835 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3846 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 36: -#line 747 "rwlparser.y" /* yacc.c:1646 */ +#line 754 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DATABASE_WRONG); yyerrok; } -#line 3841 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3852 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 38: -#line 753 "rwlparser.y" /* yacc.c:1646 */ +#line 760 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3851,11 +3862,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3855 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3866 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 43: -#line 773 "rwlparser.y" /* yacc.c:1646 */ +#line 780 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3865,20 +3876,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3869 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3880 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 44: -#line 783 "rwlparser.y" /* yacc.c:1646 */ +#line 790 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) rwm->dbsav->password = rwlstrdup(rwm, rwm->pval.sval); } -#line 3878 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3889 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 45: -#line 788 "rwlparser.y" /* yacc.c:1646 */ +#line 795 "rwlparser.y" /* yacc.c:1646 */ { if (rwlcclassgood(rwm, (rwm->pval.sval))) { @@ -3886,11 +3897,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->cclass = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3890 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3901 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 46: -#line 796 "rwlparser.y" /* yacc.c:1646 */ +#line 803 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3903,11 +3914,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3907 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3918 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 47: -#line 809 "rwlparser.y" /* yacc.c:1646 */ +#line 816 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3938,11 +3949,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3942 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3953 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 48: -#line 840 "rwlparser.y" /* yacc.c:1646 */ +#line 847 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "results", rwm->resdb); @@ -3953,11 +3964,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->resdb = rwm->dbname; } } -#line 3957 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3968 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 49: -#line 851 "rwlparser.y" /* yacc.c:1646 */ +#line 858 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "default", rwm->defdb); @@ -3968,11 +3979,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->defdb = rwm->dbname; } } -#line 3972 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3983 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 50: -#line 862 "rwlparser.y" /* yacc.c:1646 */ +#line 869 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3986,11 +3997,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"connectionpool max size"; } } -#line 3990 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4001 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 52: -#line 878 "rwlparser.y" /* yacc.c:1646 */ +#line 885 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3999,11 +4010,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags, RWL_DB_CCACHUSER); } } -#line 4003 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4014 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 53: -#line 887 "rwlparser.y" /* yacc.c:1646 */ +#line 894 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4017,11 +4028,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"sessionpool max size"; } } -#line 4021 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4032 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 55: -#line 904 "rwlparser.y" /* yacc.c:1646 */ +#line 911 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4031,11 +4042,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "drcp pooled"; } } -#line 4035 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4046 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 56: -#line 914 "rwlparser.y" /* yacc.c:1646 */ +#line 921 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4045,11 +4056,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "dedicated"; } } -#line 4049 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4060 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 57: -#line 924 "rwlparser.y" /* yacc.c:1646 */ +#line 931 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4059,11 +4070,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "threads dedicated"; } } -#line 4063 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4074 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 58: -#line 934 "rwlparser.y" /* yacc.c:1646 */ +#line 941 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4073,11 +4084,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "reconnect"; } } -#line 4077 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4088 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 61: -#line 951 "rwlparser.y" /* yacc.c:1646 */ +#line 958 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "statemark",RWL_OCI_VERSION); @@ -4085,11 +4096,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_STATEMARK); #endif } -#line 4089 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4100 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 62: -#line 959 "rwlparser.y" /* yacc.c:1646 */ +#line 966 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "requestmark",RWL_OCI_VERSION); @@ -4097,11 +4108,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_REQMARK); #endif } -#line 4101 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4112 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 63: -#line 969 "rwlparser.y" /* yacc.c:1646 */ +#line 976 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4112,11 +4123,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4116 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4127 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 64: -#line 980 "rwlparser.y" /* yacc.c:1646 */ +#line 987 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4128,11 +4139,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4132 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4143 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 66: -#line 996 "rwlparser.y" /* yacc.c:1646 */ +#line 1003 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4141,11 +4152,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , RWL_DBPOOL_DEFAULT_TIMEOUT, (text *)"release timeout"); } } -#line 4145 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4156 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 68: -#line 1009 "rwlparser.y" /* yacc.c:1646 */ +#line 1016 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) @@ -4154,20 +4165,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool wait attribute"); #endif } -#line 4158 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4169 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 71: -#line 1023 "rwlparser.y" /* yacc.c:1646 */ +#line 1030 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); } -#line 4167 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4178 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 72: -#line 1028 "rwlparser.y" /* yacc.c:1646 */ +#line 1035 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4178,11 +4189,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[0] = rwm->inam; rwlexprbeg(rwm); } -#line 4182 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4193 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 73: -#line 1039 "rwlparser.y" /* yacc.c:1646 */ +#line 1046 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; @@ -4194,27 +4205,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 4198 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4209 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 74: -#line 1056 "rwlparser.y" /* yacc.c:1646 */ +#line 1063 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4206 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4217 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 75: -#line 1063 "rwlparser.y" /* yacc.c:1646 */ +#line 1070 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4214 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4225 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 80: -#line 1079 "rwlparser.y" /* yacc.c:1646 */ +#line 1086 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4226,11 +4237,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4230 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4241 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 81: -#line 1091 "rwlparser.y" /* yacc.c:1646 */ +#line 1098 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_FUNC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) // e.g. out of space @@ -4245,11 +4256,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, at least 1 for return value */ } -#line 4249 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4260 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 82: -#line 1107 "rwlparser.y" /* yacc.c:1646 */ +#line 1114 "rwlparser.y" /* yacc.c:1646 */ { /* codeguess was set en rwlcodeaddp */ if (rwm->codeguess>=0 && rwm->dtype) @@ -4281,11 +4292,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->supsemerr = RWL_SUPSEM_FUNC; } -#line 4285 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4296 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 83: -#line 1143 "rwlparser.y" /* yacc.c:1646 */ +#line 1150 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4296,11 +4307,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4300 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4311 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 84: -#line 1154 "rwlparser.y" /* yacc.c:1646 */ +#line 1161 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_PROC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) /* e.g. out of space */ @@ -4312,54 +4323,54 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, return value space is wasted */ } -#line 4316 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4327 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 85: -#line 1167 "rwlparser.y" /* yacc.c:1646 */ +#line 1174 "rwlparser.y" /* yacc.c:1646 */ { rwm->mxq->evar[rwm->codeguess].v2val = rwm->facnt; rwm->supsemerr = RWL_SUPSEM_PROC; } -#line 4325 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4336 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 86: -#line 1175 "rwlparser.y" /* yacc.c:1646 */ +#line 1182 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4334 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4345 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 87: -#line 1180 "rwlparser.y" /* yacc.c:1646 */ +#line 1187 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4342 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4353 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 88: -#line 1187 "rwlparser.y" /* yacc.c:1646 */ +#line 1194 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4351 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4362 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 89: -#line 1192 "rwlparser.y" /* yacc.c:1646 */ +#line 1199 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4359 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4370 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 90: -#line 1199 "rwlparser.y" /* yacc.c:1646 */ +#line 1206 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) { @@ -4441,39 +4452,39 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } finishcodebody: ; } -#line 4445 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4456 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 93: -#line 1289 "rwlparser.y" /* yacc.c:1646 */ +#line 1296 "rwlparser.y" /* yacc.c:1646 */ { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) rwlprintvar(rwm->mxq, l); } -#line 4455 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4466 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 94: -#line 1297 "rwlparser.y" /* yacc.c:1646 */ +#line 1304 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4461 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4472 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 95: -#line 1298 "rwlparser.y" /* yacc.c:1646 */ +#line 1305 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4467 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4478 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 96: -#line 1301 "rwlparser.y" /* yacc.c:1646 */ +#line 1308 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_MISSING_DECL_BRACK); } -#line 4473 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4484 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 101: -#line 1313 "rwlparser.y" /* yacc.c:1646 */ +#line 1320 "rwlparser.y" /* yacc.c:1646 */ { sb4 la; if (rwm->dtype && @@ -4497,29 +4508,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4501 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4512 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 102: -#line 1341 "rwlparser.y" /* yacc.c:1646 */ +#line 1348 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4507 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4518 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 103: -#line 1343 "rwlparser.y" /* yacc.c:1646 */ +#line 1350 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4513 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4524 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 104: -#line 1345 "rwlparser.y" /* yacc.c:1646 */ +#line 1352 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4519 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4530 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 105: -#line 1347 "rwlparser.y" /* yacc.c:1646 */ +#line 1354 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -4534,50 +4545,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen=RWL_MAX_STRING_LENGTH; } } -#line 4538 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4549 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 106: -#line 1362 "rwlparser.y" /* yacc.c:1646 */ +#line 1369 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "file"); } -#line 4547 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4558 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 107: -#line 1367 "rwlparser.y" /* yacc.c:1646 */ +#line 1374 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "sql"); } -#line 4556 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4567 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 108: -#line 1372 "rwlparser.y" /* yacc.c:1646 */ +#line 1379 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "clob"); } -#line 4565 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4576 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 110: -#line 1381 "rwlparser.y" /* yacc.c:1646 */ +#line 1388 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_STATSONLY); } -#line 4571 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4582 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 111: -#line 1383 "rwlparser.y" /* yacc.c:1646 */ +#line 1390 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_PROCHASSQL); } -#line 4577 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4588 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 112: -#line 1385 "rwlparser.y" /* yacc.c:1646 */ +#line 1392 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; l = rwlfindvar(rwm->mxq, rwm->codename, RWL_VAR_NOGUESS); @@ -4593,11 +4604,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4597 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4608 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 114: -#line 1405 "rwlparser.y" /* yacc.c:1646 */ +#line 1412 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4611,11 +4622,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "procedure", rwm->codename); } } -#line 4615 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4626 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 116: -#line 1420 "rwlparser.y" /* yacc.c:1646 */ +#line 1427 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4629,11 +4640,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "function", rwm->codename); } } -#line 4633 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4644 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 118: -#line 1435 "rwlparser.y" /* yacc.c:1646 */ +#line 1442 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4648,11 +4659,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->codename); } } -#line 4652 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4663 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 120: -#line 1451 "rwlparser.y" /* yacc.c:1646 */ +#line 1458 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4668,11 +4679,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); yyerrok; } } -#line 4672 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4683 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 121: -#line 1494 "rwlparser.y" /* yacc.c:1646 */ +#line 1501 "rwlparser.y" /* yacc.c:1646 */ { /* There are cases where we have an expression followed @@ -4685,11 +4696,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam, RWL_STACK_VAR); } -#line 4689 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4700 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 122: -#line 1508 "rwlparser.y" /* yacc.c:1646 */ +#line 1515 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4703,11 +4714,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_DBL; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4707 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4718 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 123: -#line 1522 "rwlparser.y" /* yacc.c:1646 */ +#line 1529 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4721,224 +4732,224 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_INT; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4725 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4736 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 124: -#line 1536 "rwlparser.y" /* yacc.c:1646 */ +#line 1543 "rwlparser.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ num.vsalloc = RWL_SVALLOC_CONST; num.slen = rwlstrlen(num.sval)+1; - num.ival = rwlatosb8(num.sval); + num.ival = rwldorxtosb8(rwm->mxq,num.sval); num.dval = rwlatof(num.sval); num.isnull = 0; num.vtype = RWL_TYPE_STR; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4741 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4752 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 125: -#line 1548 "rwlparser.y" /* yacc.c:1646 */ +#line 1555 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } -#line 4749 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4760 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 126: -#line 1551 "rwlparser.y" /* yacc.c:1646 */ +#line 1558 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_UNIFORM); } -#line 4755 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4766 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 127: -#line 1552 "rwlparser.y" /* yacc.c:1646 */ +#line 1559 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOGB); } -#line 4761 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4772 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 128: -#line 1553 "rwlparser.y" /* yacc.c:1646 */ +#line 1560 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOG); } -#line 4767 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4778 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 129: -#line 1554 "rwlparser.y" /* yacc.c:1646 */ +#line 1561 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXPB); } -#line 4773 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4784 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 130: -#line 1555 "rwlparser.y" /* yacc.c:1646 */ +#line 1562 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXP); } -#line 4779 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4790 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 131: -#line 1556 "rwlparser.y" /* yacc.c:1646 */ +#line 1563 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CEIL); } -#line 4785 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4796 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 132: -#line 1557 "rwlparser.y" /* yacc.c:1646 */ +#line 1564 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_TRUNC); } -#line 4791 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4802 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 133: -#line 1558 "rwlparser.y" /* yacc.c:1646 */ +#line 1565 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_FLOOR); } -#line 4797 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4808 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 134: -#line 1559 "rwlparser.y" /* yacc.c:1646 */ +#line 1566 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ROUND); } -#line 4803 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4814 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 135: -#line 1560 "rwlparser.y" /* yacc.c:1646 */ +#line 1567 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SQRT); } -#line 4809 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4820 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 136: -#line 1561 "rwlparser.y" /* yacc.c:1646 */ +#line 1568 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SIN); } -#line 4815 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4826 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 137: -#line 1562 "rwlparser.y" /* yacc.c:1646 */ +#line 1569 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_COS); } -#line 4821 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4832 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 138: -#line 1563 "rwlparser.y" /* yacc.c:1646 */ +#line 1570 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ATAN2); } -#line 4827 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4838 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 139: -#line 1564 "rwlparser.y" /* yacc.c:1646 */ +#line 1571 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LENGTHB); } -#line 4833 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4844 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 140: -#line 1566 "rwlparser.y" /* yacc.c:1646 */ +#line 1573 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB2); } -#line 4839 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4850 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 141: -#line 1568 "rwlparser.y" /* yacc.c:1646 */ +#line 1575 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB3); } -#line 4845 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4856 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 142: -#line 1570 "rwlparser.y" /* yacc.c:1646 */ +#line 1577 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB2); } -#line 4851 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4862 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 143: -#line 1572 "rwlparser.y" /* yacc.c:1646 */ +#line 1579 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB3); } -#line 4857 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4868 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 144: -#line 1573 "rwlparser.y" /* yacc.c:1646 */ +#line 1580 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GETENV); } -#line 4863 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4874 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 145: -#line 1574 "rwlparser.y" /* yacc.c:1646 */ +#line 1581 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2B); } -#line 4871 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4882 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 146: -#line 1577 "rwlparser.y" /* yacc.c:1646 */ +#line 1584 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2BB); } -#line 4879 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4890 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 147: -#line 1580 "rwlparser.y" /* yacc.c:1646 */ +#line 1587 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4885 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4896 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 148: -#line 1582 "rwlparser.y" /* yacc.c:1646 */ +#line 1589 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 4893 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4904 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 149: -#line 1586 "rwlparser.y" /* yacc.c:1646 */ +#line 1593 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4902 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4913 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 150: -#line 1590 "rwlparser.y" /* yacc.c:1646 */ +#line 1597 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG); } -#line 4908 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4919 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 151: -#line 1591 "rwlparser.y" /* yacc.c:1646 */ +#line 1598 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG2); } -#line 4914 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4925 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 152: -#line 1593 "rwlparser.y" /* yacc.c:1646 */ +#line 1600 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANGK); } -#line 4920 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4931 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 153: -#line 1595 "rwlparser.y" /* yacc.c:1646 */ +#line 1602 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NORMALRANDOM); } -#line 4926 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4937 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 154: -#line 1596 "rwlparser.y" /* yacc.c:1646 */ +#line 1603 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 4932 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4943 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 155: -#line 1598 "rwlparser.y" /* yacc.c:1646 */ +#line 1605 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ACCESS); } -#line 4938 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4949 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 156: -#line 1600 "rwlparser.y" /* yacc.c:1646 */ +#line 1607 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlexprpush(rwm, rwm->resdb, RWL_STACK_SERVERRELEASE); @@ -4949,11 +4960,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "results"); } } -#line 4953 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4964 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 157: -#line 1611 "rwlparser.y" /* yacc.c:1646 */ +#line 1618 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlexprpush(rwm, rwm->defdb, RWL_STACK_SERVERRELEASE); @@ -4964,92 +4975,92 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "default"); } } -#line 4968 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4979 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 158: -#line 1622 "rwlparser.y" /* yacc.c:1646 */ +#line 1629 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SERVERRELEASE); } -#line 4976 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4987 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 159: -#line 1626 "rwlparser.y" /* yacc.c:1646 */ +#line 1633 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "serverrelease"); yyerrok; } -#line 4986 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4997 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 160: -#line 1632 "rwlparser.y" /* yacc.c:1646 */ +#line 1639 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_OPENSESSIONCOUNT); } -#line 4994 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5005 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 161: -#line 1636 "rwlparser.y" /* yacc.c:1646 */ +#line 1643 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "opensessioncount"); yyerrok; } -#line 5004 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5015 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 162: -#line 1642 "rwlparser.y" /* yacc.c:1646 */ +#line 1649 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_ACTIVESESSIONCOUNT); } -#line 5012 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5023 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 163: -#line 1646 "rwlparser.y" /* yacc.c:1646 */ +#line 1653 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "activesessioncount"); yyerrok; } -#line 5022 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5033 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 164: -#line 1652 "rwlparser.y" /* yacc.c:1646 */ +#line 1659 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); } -#line 5031 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5042 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 165: -#line 1657 "rwlparser.y" /* yacc.c:1646 */ +#line 1664 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } -#line 5039 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5050 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 166: -#line 1661 "rwlparser.y" /* yacc.c:1646 */ +#line 1668 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_SQLID_NEED_IDENT); yyerrok; } -#line 5049 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5060 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 167: -#line 1668 "rwlparser.y" /* yacc.c:1646 */ +#line 1675 "rwlparser.y" /* yacc.c:1646 */ { /* element with furlev=0 is used by procedure call */ if (++rwm->furlev>=RWL_MAX_FUNC_RECURSION) @@ -5062,11 +5073,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[rwm->furlev] = (yychar == RWL_T_IDENTIFIER) ? rwm->previnam : rwm->inam; } -#line 5066 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5077 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 168: -#line 1682 "rwlparser.y" /* yacc.c:1646 */ +#line 1689 "rwlparser.y" /* yacc.c:1646 */ { /* syntactically, the number of arguments doesn't matter so we just provide the actual arg count to exprpush2 @@ -5078,155 +5089,191 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (rwm->furlev) rwm->furlev--; } -#line 5082 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5093 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 169: -#line 1694 "rwlparser.y" /* yacc.c:1646 */ +#line 1701 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_DBSECONDS); } -#line 5090 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5101 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 170: -#line 1698 "rwlparser.y" /* yacc.c:1646 */ +#line 1705 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_OCISECONDS); } -#line 5098 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5109 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 171: -#line 1702 "rwlparser.y" /* yacc.c:1646 */ +#line 1709 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "runseconds"); rwlexprpush(rwm, 0, RWL_STACK_RUNSECONDS); } -#line 5108 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5119 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 172: -#line 1708 "rwlparser.y" /* yacc.c:1646 */ +#line 1715 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "epochseconds"); rwlexprpush(rwm, 0, RWL_STACK_EPOCHSECONDS); } -#line 5118 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5129 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 178: -#line 1727 "rwlparser.y" /* yacc.c:1646 */ +#line 1734 "rwlparser.y" /* yacc.c:1646 */ { rwm->aacnt[rwm->furlev]++; } -#line 5124 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5135 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 180: -#line 1733 "rwlparser.y" /* yacc.c:1646 */ +#line 1740 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5130 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5141 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 181: -#line 1734 "rwlparser.y" /* yacc.c:1646 */ +#line 1741 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNOTNULL); } -#line 5136 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5147 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 183: -#line 1740 "rwlparser.y" /* yacc.c:1646 */ +#line 1747 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MINUS); } -#line 5142 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5153 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 184: -#line 1741 "rwlparser.y" /* yacc.c:1646 */ +#line 1748 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5148 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5159 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 185: -#line 1742 "rwlparser.y" /* yacc.c:1646 */ +#line 1749 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5154 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5165 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 187: -#line 1747 "rwlparser.y" /* yacc.c:1646 */ - { rwlexprpush0(rwm,RWL_STACK_MUL); } -#line 5160 "rwlparser.tab.c" /* yacc.c:1646 */ + case 186: +#line 1750 "rwlparser.y" /* yacc.c:1646 */ + { rwlexprpush0(rwm,RWL_STACK_BITWISE_NOT); } +#line 5171 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 188: -#line 1748 "rwlparser.y" /* yacc.c:1646 */ - { rwlexprpush0(rwm,RWL_STACK_DIV); } -#line 5166 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 1755 "rwlparser.y" /* yacc.c:1646 */ + { rwlexprpush0(rwm,RWL_STACK_MUL); } +#line 5177 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 189: -#line 1749 "rwlparser.y" /* yacc.c:1646 */ +#line 1756 "rwlparser.y" /* yacc.c:1646 */ + { rwlexprpush0(rwm,RWL_STACK_DIV); } +#line 5183 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 190: +#line 1757 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MOD); } -#line 5172 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5189 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 191: -#line 1754 "rwlparser.y" /* yacc.c:1646 */ + case 192: +#line 1762 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ADD); } -#line 5178 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5195 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 192: -#line 1755 "rwlparser.y" /* yacc.c:1646 */ + case 193: +#line 1763 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUB); } -#line 5184 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5201 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 195: +#line 1767 "rwlparser.y" /* yacc.c:1646 */ + { rwlexprpush0(rwm,RWL_STACK_BITWISE_LEFT_SHIFT); } +#line 5207 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 194: -#line 1760 "rwlparser.y" /* yacc.c:1646 */ + case 196: +#line 1768 "rwlparser.y" /* yacc.c:1646 */ + { rwlexprpush0(rwm,RWL_STACK_BITWISE_RIGHT_SHIFT); } +#line 5213 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 198: +#line 1773 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESS); } -#line 5190 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5219 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 195: -#line 1761 "rwlparser.y" /* yacc.c:1646 */ + case 199: +#line 1774 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATER); } -#line 5196 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5225 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 196: -#line 1762 "rwlparser.y" /* yacc.c:1646 */ + case 200: +#line 1775 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } -#line 5202 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5231 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 197: -#line 1763 "rwlparser.y" /* yacc.c:1646 */ + case 201: +#line 1776 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } -#line 5208 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5237 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 198: -#line 1764 "rwlparser.y" /* yacc.c:1646 */ + case 202: +#line 1777 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } -#line 5214 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5243 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 200: -#line 1769 "rwlparser.y" /* yacc.c:1646 */ + case 204: +#line 1782 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EQUAL); } -#line 5220 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5249 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 201: -#line 1770 "rwlparser.y" /* yacc.c:1646 */ + case 205: +#line 1783 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } -#line 5226 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5255 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 203: -#line 1776 "rwlparser.y" /* yacc.c:1646 */ + case 207: +#line 1788 "rwlparser.y" /* yacc.c:1646 */ + { rwlexprpush0(rwm,RWL_STACK_BITWISE_AND); } +#line 5261 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 209: +#line 1793 "rwlparser.y" /* yacc.c:1646 */ + { rwlexprpush0(rwm,RWL_STACK_BITWISE_XOR); } +#line 5267 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 211: +#line 1798 "rwlparser.y" /* yacc.c:1646 */ + { rwlexprpush0(rwm,RWL_STACK_BITWISE_OR); } +#line 5273 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 213: +#line 1804 "rwlparser.y" /* yacc.c:1646 */ { // With AND (and OR) skipdep is used to mark // the expression element we need to skip until @@ -5236,20 +5283,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-andskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5240 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5287 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 204: -#line 1786 "rwlparser.y" /* yacc.c:1646 */ + case 214: +#line 1814 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; } -#line 5249 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5296 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 206: -#line 1795 "rwlparser.y" /* yacc.c:1646 */ + case 216: +#line 1823 "rwlparser.y" /* yacc.c:1646 */ { // see comment above rwm->ptail->branchtype = RWL_EXP_ORBRANCH; @@ -5257,20 +5304,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-orskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5261 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5308 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 207: -#line 1803 "rwlparser.y" /* yacc.c:1646 */ + case 217: +#line 1831 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR ,rwm->skipdep); rwm->skipdep--; } -#line 5270 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5317 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 209: -#line 1812 "rwlparser.y" /* yacc.c:1646 */ + case 219: +#line 1840 "rwlparser.y" /* yacc.c:1646 */ { // With conditional execution we mark the condition // with RWL_EXP_CONDBRANCH1 @@ -5279,50 +5326,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-condskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5283 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5330 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 210: -#line 1821 "rwlparser.y" /* yacc.c:1646 */ + case 220: +#line 1849 "rwlparser.y" /* yacc.c:1646 */ { // and the place of ':' (really ELSE) with // RWL_EXP_CONDBRANCH2 rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; rwm->ptail->skipnxt = rwm->skipdep; } -#line 5294 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5341 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 211: -#line 1828 "rwlparser.y" /* yacc.c:1646 */ + case 221: +#line 1856 "rwlparser.y" /* yacc.c:1646 */ { // And the actual conditional is the "end if" place rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, rwm->skipdep); rwm->skipdep--; } -#line 5304 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5351 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 213: -#line 1837 "rwlparser.y" /* yacc.c:1646 */ + case 223: +#line 1865 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5310 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5357 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 215: -#line 1842 "rwlparser.y" /* yacc.c:1646 */ + case 225: +#line 1870 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5316 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5363 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 217: -#line 1853 "rwlparser.y" /* yacc.c:1646 */ + case 227: +#line 1881 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = 0; } -#line 5322 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5369 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 218: -#line 1858 "rwlparser.y" /* yacc.c:1646 */ + case 228: +#line 1886 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) { @@ -5330,65 +5377,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); YYACCEPT; } } -#line 5334 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5381 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 219: -#line 1866 "rwlparser.y" /* yacc.c:1646 */ + case 229: +#line 1894 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5340 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5387 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 220: -#line 1868 "rwlparser.y" /* yacc.c:1646 */ + case 230: +#line 1896 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "threads"); yyerrok; } -#line 5346 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5393 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 222: -#line 1875 "rwlparser.y" /* yacc.c:1646 */ + case 232: +#line 1903 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5352 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5399 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 223: -#line 1877 "rwlparser.y" /* yacc.c:1646 */ + case 233: +#line 1905 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "run"); yyerrok; } -#line 5358 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5405 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 225: -#line 1881 "rwlparser.y" /* yacc.c:1646 */ + case 235: +#line 1909 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5364 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5411 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 226: -#line 1883 "rwlparser.y" /* yacc.c:1646 */ + case 236: +#line 1911 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "database"); yyerrok; } -#line 5370 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5417 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 227: -#line 1885 "rwlparser.y" /* yacc.c:1646 */ + case 237: +#line 1913 "rwlparser.y" /* yacc.c:1646 */ { yyerrok ; } -#line 5376 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5423 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 228: -#line 1888 "rwlparser.y" /* yacc.c:1646 */ + case 238: +#line 1916 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random procedure array"); yyerrok; } -#line 5382 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5429 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 229: -#line 1891 "rwlparser.y" /* yacc.c:1646 */ + case 239: +#line 1919 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random string array"); yyerrok; } -#line 5388 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5435 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 230: -#line 1896 "rwlparser.y" /* yacc.c:1646 */ + case 240: +#line 1924 "rwlparser.y" /* yacc.c:1646 */ { switch(rwm->supsemerr) { @@ -5417,11 +5464,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 5421 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5468 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 231: -#line 1925 "rwlparser.y" /* yacc.c:1646 */ + case 241: +#line 1953 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5436,11 +5483,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_ABORT); } } -#line 5440 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5487 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 232: -#line 1940 "rwlparser.y" /* yacc.c:1646 */ + case 242: +#line 1968 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5451,37 +5498,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_NOSTATISTICS); } } -#line 5455 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5502 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 235: -#line 1957 "rwlparser.y" /* yacc.c:1646 */ + case 245: +#line 1985 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } -#line 5461 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5508 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 237: -#line 1964 "rwlparser.y" /* yacc.c:1646 */ + case 247: +#line 1992 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } -#line 5467 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5514 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 239: -#line 1970 "rwlparser.y" /* yacc.c:1646 */ + case 249: +#line 1998 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } -#line 5473 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5520 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 240: -#line 1972 "rwlparser.y" /* yacc.c:1646 */ + case 250: +#line 2000 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; } -#line 5481 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5528 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 242: -#line 1978 "rwlparser.y" /* yacc.c:1646 */ + case 252: +#line 2006 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) rwm->declslen = 1; // kind of a kludge, but this prevents doube @@ -5491,33 +5538,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen = rwm->pval.ival; } } -#line 5495 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5542 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 244: -#line 1992 "rwlparser.y" /* yacc.c:1646 */ + case 254: +#line 2020 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_STR); yyerrok; } -#line 5501 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5548 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 245: -#line 1994 "rwlparser.y" /* yacc.c:1646 */ + case 255: +#line 2022 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_FILE; //if (rwm->codename) // rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "file"); } -#line 5511 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5558 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 247: -#line 2003 "rwlparser.y" /* yacc.c:1646 */ + case 257: +#line 2031 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_FILE); yyerrok; } -#line 5517 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5564 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 248: -#line 2008 "rwlparser.y" /* yacc.c:1646 */ + case 258: +#line 2036 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5538,11 +5585,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5542 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5589 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 249: -#line 2031 "rwlparser.y" /* yacc.c:1646 */ + case 259: +#line 2059 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5565,17 +5612,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5569 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5616 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 250: -#line 2055 "rwlparser.y" /* yacc.c:1646 */ + case 260: +#line 2083 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rslerror) rwlcodeadd0(rwm, RWL_CODE_ELSE); } -#line 5575 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5622 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 251: -#line 2058 "rwlparser.y" /* yacc.c:1646 */ + case 261: +#line 2086 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5596,11 +5643,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5600 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5647 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 252: -#line 2081 "rwlparser.y" /* yacc.c:1646 */ + case 262: +#line 2109 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* start expression */ @@ -5637,11 +5684,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlexprbeg(rwm); } -#line 5641 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5688 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 253: -#line 2122 "rwlparser.y" /* yacc.c:1646 */ + case 263: +#line 2150 "rwlparser.y" /* yacc.c:1646 */ { switch (rwm->rsllityp[rwm->rsldepth]) { @@ -5709,65 +5756,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->rsldepth, rwm->rslmisc[rwm->rsldepth]); } } -#line 5713 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5760 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 254: -#line 2191 "rwlparser.y" /* yacc.c:1646 */ + case 264: +#line 2219 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwm->rsllityp[rwm->rsldepth] = RWL_LI_BAD; yyerrok; } -#line 5723 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5770 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 255: -#line 2198 "rwlparser.y" /* yacc.c:1646 */ + case 265: +#line 2226 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 5729 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5776 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 257: -#line 2201 "rwlparser.y" /* yacc.c:1646 */ + case 267: +#line 2229 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 5737 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5784 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 259: -#line 2206 "rwlparser.y" /* yacc.c:1646 */ + case 269: +#line 2234 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprclear(rwm); } -#line 5746 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5793 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 260: -#line 2211 "rwlparser.y" /* yacc.c:1646 */ + case 270: +#line 2239 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 5757 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5804 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 262: -#line 2220 "rwlparser.y" /* yacc.c:1646 */ + case 272: +#line 2248 "rwlparser.y" /* yacc.c:1646 */ { /* start expression for assign */ rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 5767 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5814 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 264: -#line 2229 "rwlparser.y" /* yacc.c:1646 */ + case 274: +#line 2257 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) rwlerror(rwm, RWL_ERROR_RETURN_OUTSIDE_CODE); @@ -5779,20 +5826,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_RETURN_NO_EXPR, rwm->codename); } } -#line 5783 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5830 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 265: -#line 2241 "rwlparser.y" /* yacc.c:1646 */ + case 275: +#line 2269 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5792 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5839 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 266: -#line 2246 "rwlparser.y" /* yacc.c:1646 */ + case 276: +#line 2274 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5821,30 +5868,30 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeaddpu(rwm, RWL_CODE_RETURN, rwm->codename, rwm->codeguess); } } -#line 5825 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5872 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 268: -#line 2275 "rwlparser.y" /* yacc.c:1646 */ + case 278: +#line 2303 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5835 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5882 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 269: -#line 2282 "rwlparser.y" /* yacc.c:1646 */ + case 279: +#line 2310 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5844 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5891 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 270: -#line 2287 "rwlparser.y" /* yacc.c:1646 */ + case 280: +#line 2315 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5873,21 +5920,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5877 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5924 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 272: -#line 2317 "rwlparser.y" /* yacc.c:1646 */ + case 282: +#line 2345 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5887 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5934 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 273: -#line 2325 "rwlparser.y" /* yacc.c:1646 */ + case 283: +#line 2353 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5901,11 +5948,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5905 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5952 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 274: -#line 2339 "rwlparser.y" /* yacc.c:1646 */ + case 284: +#line 2367 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbnam = rwm->inam; rwm->mdbvar = rwlfindvar2(rwm->mxq, rwm->mdbnam, RWL_VAR_NOGUESS, rwm->codename); @@ -5916,11 +5963,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mdbvar = RWL_VAR_INVALID; } } -#line 5920 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5967 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 276: -#line 2353 "rwlparser.y" /* yacc.c:1646 */ + case 286: +#line 2381 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5934,11 +5981,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5938 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5985 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 277: -#line 2369 "rwlparser.y" /* yacc.c:1646 */ + case 287: +#line 2397 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5948,29 +5995,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlcodeadd0(rwm, RWL_CODE_MODDBLEAK); } -#line 5952 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5999 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 278: -#line 2380 "rwlparser.y" /* yacc.c:1646 */ + case 288: +#line 2408 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 5961 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6008 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 279: -#line 2386 "rwlparser.y" /* yacc.c:1646 */ + case 289: +#line 2414 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 5970 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6017 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 280: -#line 2392 "rwlparser.y" /* yacc.c:1646 */ + case 290: +#line 2420 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_COMMIT); @@ -5981,11 +6028,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcommit(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 5985 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6032 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 281: -#line 2404 "rwlparser.y" /* yacc.c:1646 */ + case 291: +#line 2432 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_ROLLBACK); @@ -5996,11 +6043,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlrollback(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 6000 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6047 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 282: -#line 2416 "rwlparser.y" /* yacc.c:1646 */ + case 292: +#line 2444 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SHIFT); @@ -6008,11 +6055,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlshiftdollar(rwm->mxq, &rwm->loc); } -#line 6012 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6059 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 283: -#line 2425 "rwlparser.y" /* yacc.c:1646 */ + case 293: +#line 2453 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_GETRUSAGE); @@ -6020,11 +6067,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlgetrusage(rwm->mxq, 0); } -#line 6024 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6071 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 284: -#line 2434 "rwlparser.y" /* yacc.c:1646 */ + case 294: +#line 2462 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlinam = rwm->inam; rwm->mqbdtyp = 0; rwm->modsqlvar = rwlfindvar2(rwm->mxq, rwm->msqlinam, RWL_VAR_NOGUESS, rwm->codename); @@ -6035,17 +6082,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->modsqlvar = RWL_VAR_INVALID; } } -#line 6039 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6086 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 286: -#line 2447 "rwlparser.y" /* yacc.c:1646 */ + case 296: +#line 2475 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } -#line 6045 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6092 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 287: -#line 2452 "rwlparser.y" /* yacc.c:1646 */ + case 297: +#line 2480 "rwlparser.y" /* yacc.c:1646 */ { /* handle procedure call with arguments * as if it were a function call @@ -6075,11 +6122,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); : rwm->inam; rwlexprbeg(rwm); } -#line 6079 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6126 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 288: -#line 2484 "rwlparser.y" /* yacc.c:1646 */ + case 298: +#line 2512 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6164,22 +6211,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprclear(rwm); } } -#line 6168 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6215 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 289: -#line 2569 "rwlparser.y" /* yacc.c:1646 */ + case 299: +#line 2597 "rwlparser.y" /* yacc.c:1646 */ { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); rwlexprclear(rwm); yyerrok; } -#line 6179 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6226 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 290: -#line 2576 "rwlparser.y" /* yacc.c:1646 */ + case 300: +#line 2604 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6194,29 +6241,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 6198 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6245 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 293: -#line 2595 "rwlparser.y" /* yacc.c:1646 */ + case 303: +#line 2623 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = RWL_SUPSEM_EMBSQL; } -#line 6204 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6251 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 297: -#line 2601 "rwlparser.y" /* yacc.c:1646 */ + case 307: +#line 2629 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6210 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6257 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 298: -#line 2603 "rwlparser.y" /* yacc.c:1646 */ + case 308: +#line 2631 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6216 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6263 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 301: -#line 2609 "rwlparser.y" /* yacc.c:1646 */ + case 311: +#line 2637 "rwlparser.y" /* yacc.c:1646 */ { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below @@ -6299,11 +6346,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); --rwm->rsldepth; } } -#line 6303 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6350 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 302: -#line 2694 "rwlparser.y" /* yacc.c:1646 */ + case 312: +#line 2722 "rwlparser.y" /* yacc.c:1646 */ { --rwm->rsldepth; if (rwm->rslerror) @@ -6332,11 +6379,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6336 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6383 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 303: -#line 2724 "rwlparser.y" /* yacc.c:1646 */ + case 313: +#line 2752 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6368,20 +6415,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_INCORRECT_TYPE2, rwm->mxq->evar[l].stype, rwm->inam, "file"); } } -#line 6372 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6419 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 304: -#line 2757 "rwlparser.y" /* yacc.c:1646 */ + case 314: +#line 2785 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_FFLUSH); yyerrok; } -#line 6381 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6428 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 305: -#line 2764 "rwlparser.y" /* yacc.c:1646 */ + case 315: +#line 2792 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6404,11 +6451,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 6408 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6455 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 306: -#line 2789 "rwlparser.y" /* yacc.c:1646 */ + case 316: +#line 2817 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) { @@ -6437,11 +6484,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 6441 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6488 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 307: -#line 2820 "rwlparser.y" /* yacc.c:1646 */ + case 317: +#line 2848 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -6460,88 +6507,88 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6464 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6511 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 313: -#line 2848 "rwlparser.y" /* yacc.c:1646 */ + case 323: +#line 2876 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6475 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6522 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 315: -#line 2857 "rwlparser.y" /* yacc.c:1646 */ + case 325: +#line 2885 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_STRING_FOR_SPRINTF); rwlexprclear(rwm); yyerrok; } -#line 6486 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6533 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 317: -#line 2866 "rwlparser.y" /* yacc.c:1646 */ + case 327: +#line 2894 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6497 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6544 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 319: -#line 2876 "rwlparser.y" /* yacc.c:1646 */ + case 329: +#line 2904 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document this syntax without comma if (rwm->filenam) rwlerror(rwm, RWL_ERROR_COMMA_IS_RECOMMENDED, rwm->filenam , bit(rwm->mflags,RWL_P_PRINTLINE) ? "writeline" : "write"); } -#line 6508 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6555 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 322: -#line 2888 "rwlparser.y" /* yacc.c:1646 */ + case 332: +#line 2916 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6519 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6566 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 323: -#line 2896 "rwlparser.y" /* yacc.c:1646 */ + case 333: +#line 2924 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6530 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6577 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 324: -#line 2904 "rwlparser.y" /* yacc.c:1646 */ + case 334: +#line 2932 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6541 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6588 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 325: -#line 2912 "rwlparser.y" /* yacc.c:1646 */ + case 335: +#line 2940 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_NEWLINE); @@ -6549,22 +6596,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); fputs(bit(rwm->m4flags, RWL_P4_CRNLWRITELINE) ? "\r\n" : "\n", stdout); bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 6553 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6600 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 327: -#line 2922 "rwlparser.y" /* yacc.c:1646 */ + case 337: +#line 2950 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6564 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6611 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 329: -#line 2930 "rwlparser.y" /* yacc.c:1646 */ + case 339: +#line 2958 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6575,11 +6622,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_CQNBREAK); } } -#line 6579 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6626 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 330: -#line 2941 "rwlparser.y" /* yacc.c:1646 */ + case 340: +#line 2969 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6614,11 +6661,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6618 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6665 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 331: -#line 2977 "rwlparser.y" /* yacc.c:1646 */ + case 341: +#line 3005 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6654,11 +6701,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6658 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6705 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 332: -#line 3014 "rwlparser.y" /* yacc.c:1646 */ + case 342: +#line 3042 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6697,11 +6744,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_DONE_IN_MAIN, "writelob"); } } -#line 6701 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6748 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 333: -#line 3054 "rwlparser.y" /* yacc.c:1646 */ + case 343: +#line 3082 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_CBLOCK)) { @@ -6718,11 +6765,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m2flags, RWL_P2_THROPTS); /* clear all thread option flas */ bis(rwm->m2flags, RWL_P2_CBLOCK); } -#line 6722 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6769 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 334: -#line 3071 "rwlparser.y" /* yacc.c:1646 */ + case 344: +#line 3099 "rwlparser.y" /* yacc.c:1646 */ { if(!rwm->stoptime && !rwm->stopcount) { @@ -6743,11 +6790,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 6747 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6794 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 335: -#line 3094 "rwlparser.y" /* yacc.c:1646 */ + case 345: +#line 3122 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_CBLOCK_BAD)) rwlloopfinish(rwm); @@ -6765,26 +6812,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6769 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6816 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 336: -#line 3113 "rwlparser.y" /* yacc.c:1646 */ + case 346: +#line 3141 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_AFTER_IDENTIFIER); yyerrok; } -#line 6778 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6825 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 337: -#line 3120 "rwlparser.y" /* yacc.c:1646 */ + case 347: +#line 3148 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 6784 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6831 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 338: -#line 3126 "rwlparser.y" /* yacc.c:1646 */ + case 348: +#line 3154 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6808,28 +6855,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6812 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6859 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 339: -#line 3150 "rwlparser.y" /* yacc.c:1646 */ + case 349: +#line 3178 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobwritedata = rwlexprfinish(rwm); rwm->loboffset = 0; } -#line 6821 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6868 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 341: -#line 3159 "rwlparser.y" /* yacc.c:1646 */ + case 351: +#line 3187 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6829 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6876 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 342: -#line 3166 "rwlparser.y" /* yacc.c:1646 */ + case 352: +#line 3194 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6852,11 +6899,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6856 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6903 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 343: -#line 3189 "rwlparser.y" /* yacc.c:1646 */ + case 353: +#line 3217 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->loboffset = 0; @@ -6878,27 +6925,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6882 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6929 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 345: -#line 3215 "rwlparser.y" /* yacc.c:1646 */ + case 355: +#line 3243 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobreadlength = rwlexprfinish(rwm); } -#line 6890 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6937 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 346: -#line 3219 "rwlparser.y" /* yacc.c:1646 */ + case 356: +#line 3247 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6898 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6945 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 347: -#line 3225 "rwlparser.y" /* yacc.c:1646 */ + case 357: +#line 3253 "rwlparser.y" /* yacc.c:1646 */ { /* simple sql execute */ sb4 l; @@ -7044,11 +7091,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->loc.errlin = 0; } -#line 7048 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7095 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 348: -#line 3375 "rwlparser.y" /* yacc.c:1646 */ + case 358: +#line 3403 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; @@ -7158,11 +7205,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); failurecursor: rwm->loc.errlin = 0; } -#line 7162 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7209 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 349: -#line 3487 "rwlparser.y" /* yacc.c:1646 */ + case 359: +#line 3515 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -7195,27 +7242,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->loc.errlin = 0; } -#line 7199 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7246 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 350: -#line 3523 "rwlparser.y" /* yacc.c:1646 */ + case 360: +#line 3551 "rwlparser.y" /* yacc.c:1646 */ { // This syntax is not documented bic(rwm->m3flags, RWL_P3_CLHEADFOR); rwlerror(rwm, RWL_ERROR_LEGACY_CONTROLLOOP_SYNTAX); } -#line 7209 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7256 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 351: -#line 3528 "rwlparser.y" /* yacc.c:1646 */ + case 361: +#line 3556 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7215 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7262 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 352: -#line 3532 "rwlparser.y" /* yacc.c:1646 */ + case 362: +#line 3560 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document these two (legacy) syntax: // loop option .. .. ; @@ -7228,41 +7275,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // legacy and current syntax are mixed. bic(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7232 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7279 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 353: -#line 3548 "rwlparser.y" /* yacc.c:1646 */ + case 363: +#line 3576 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7240 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7287 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 354: -#line 3552 "rwlparser.y" /* yacc.c:1646 */ + case 364: +#line 3580 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7248 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7295 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 355: -#line 3556 "rwlparser.y" /* yacc.c:1646 */ + case 365: +#line 3584 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7256 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7303 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 358: -#line 3567 "rwlparser.y" /* yacc.c:1646 */ + case 368: +#line 3595 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7262 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7309 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 359: -#line 3569 "rwlparser.y" /* yacc.c:1646 */ + case 369: +#line 3597 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->starttime) { @@ -7275,17 +7322,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->starttime = rwlexprfinish(rwm); } } -#line 7279 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7326 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 360: -#line 3581 "rwlparser.y" /* yacc.c:1646 */ + case 370: +#line 3609 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7285 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7332 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 361: -#line 3583 "rwlparser.y" /* yacc.c:1646 */ + case 371: +#line 3611 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7300,17 +7347,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bis(rwm->m2flags, RWL_P2_STOP); } } -#line 7304 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7351 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 362: -#line 3597 "rwlparser.y" /* yacc.c:1646 */ + case 372: +#line 3625 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7310 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7357 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 363: -#line 3599 "rwlparser.y" /* yacc.c:1646 */ + case 373: +#line 3627 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7325,17 +7372,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bic(rwm->m2flags, RWL_P2_STOP); } } -#line 7329 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7376 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 364: -#line 3613 "rwlparser.y" /* yacc.c:1646 */ + case 374: +#line 3641 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7335 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7382 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 365: -#line 3615 "rwlparser.y" /* yacc.c:1646 */ + case 375: +#line 3643 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7348,17 +7395,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->waittime = rwlexprfinish(rwm); } } -#line 7352 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7399 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 366: -#line 3627 "rwlparser.y" /* yacc.c:1646 */ + case 376: +#line 3655 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7358 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7405 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 367: -#line 3629 "rwlparser.y" /* yacc.c:1646 */ + case 377: +#line 3657 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7384,55 +7431,55 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->everytime = rwlexprfinish(rwm); } } -#line 7388 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7435 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 368: -#line 3658 "rwlparser.y" /* yacc.c:1646 */ + case 378: +#line 3686 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = 0; } -#line 7394 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7441 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 369: -#line 3659 "rwlparser.y" /* yacc.c:1646 */ + case 379: +#line 3687 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_QUEUE_EVERY; } -#line 7400 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7447 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 370: -#line 3660 "rwlparser.y" /* yacc.c:1646 */ + case 380: +#line 3688 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_NOQUEUE_EVERY; } -#line 7406 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7453 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 371: -#line 3664 "rwlparser.y" /* yacc.c:1646 */ + case 381: +#line 3692 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7415 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7462 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 372: -#line 3669 "rwlparser.y" /* yacc.c:1646 */ + case 382: +#line 3697 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7424 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7471 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 373: -#line 3674 "rwlparser.y" /* yacc.c:1646 */ + case 383: +#line 3702 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7432 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7479 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 374: -#line 3678 "rwlparser.y" /* yacc.c:1646 */ + case 384: +#line 3706 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); // lookahead may have consumed the next identifier @@ -7440,20 +7487,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam; } -#line 7444 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7491 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 375: -#line 3686 "rwlparser.y" /* yacc.c:1646 */ + case 385: +#line 3714 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7453 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7500 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 376: -#line 3695 "rwlparser.y" /* yacc.c:1646 */ + case 386: +#line 3723 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; rwm->sqllino = rwm->sqltlin; // the line where we started sql scan @@ -7468,11 +7515,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->scname = rwm->sqname = rwlstrdup(rwm, sqlnam); rwm->sqllen = 0; } -#line 7472 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7519 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 377: -#line 3710 "rwlparser.y" /* yacc.c:1646 */ + case 387: +#line 3738 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); @@ -7500,11 +7547,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); rwm->sqlfile = 0; /* not from a file */ } -#line 7504 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7551 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 378: -#line 3742 "rwlparser.y" /* yacc.c:1646 */ + case 388: +#line 3770 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; snprintf((char *)sqlnam, sizeof(sqlnam), "sql#%05d", rwm->mxq->varcount); @@ -7518,11 +7565,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->msqlstk = 0; } -#line 7522 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7569 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 379: -#line 3757 "rwlparser.y" /* yacc.c:1646 */ + case 389: +#line 3785 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMEDSQL); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); @@ -7530,11 +7577,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (bit(rwm->m3flags,RWL_P3_IMPLCASE)) bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); } -#line 7534 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7581 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 380: -#line 3766 "rwlparser.y" /* yacc.c:1646 */ + case 390: +#line 3794 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_IMMISDYN) && bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -7571,26 +7618,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); cannotdoimm: ; } -#line 7575 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7622 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 382: -#line 3804 "rwlparser.y" /* yacc.c:1646 */ + case 392: +#line 3832 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG) ; yyerrok; } -#line 7584 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7631 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 384: -#line 3812 "rwlparser.y" /* yacc.c:1646 */ + case 394: +#line 3840 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7590 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7637 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 385: -#line 3813 "rwlparser.y" /* yacc.c:1646 */ + case 395: +#line 3841 "rwlparser.y" /* yacc.c:1646 */ { if ((rwm->msqlstk = rwlexprfinish(rwm))) bis(rwm->m3flags, RWL_P3_IMMISDYN); // now dynamic @@ -7600,99 +7647,99 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 7604 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7651 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 386: -#line 3825 "rwlparser.y" /* yacc.c:1646 */ + case 396: +#line 3853 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno; } -#line 7612 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7659 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 390: -#line 3834 "rwlparser.y" /* yacc.c:1646 */ + case 400: +#line 3862 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "sql") ; } -#line 7620 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7667 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 393: -#line 3845 "rwlparser.y" /* yacc.c:1646 */ + case 403: +#line 3873 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7628 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7675 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 394: -#line 3849 "rwlparser.y" /* yacc.c:1646 */ + case 404: +#line 3877 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7637 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7684 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 395: -#line 3857 "rwlparser.y" /* yacc.c:1646 */ + case 405: +#line 3885 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7645 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7692 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 396: -#line 3861 "rwlparser.y" /* yacc.c:1646 */ + case 406: +#line 3889 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7653 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7700 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 397: -#line 3865 "rwlparser.y" /* yacc.c:1646 */ + case 407: +#line 3893 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7662 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7709 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 399: -#line 3875 "rwlparser.y" /* yacc.c:1646 */ + case 409: +#line 3903 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = 0; bis(rwm->m2flags, RWL_P2_ATDEFAULT); /* explict choose standard DB */ } -#line 7671 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7718 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 400: -#line 3881 "rwlparser.y" /* yacc.c:1646 */ + case 410: +#line 3909 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); /* named DB */ } -#line 7680 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7727 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 401: -#line 3886 "rwlparser.y" /* yacc.c:1646 */ + case 411: +#line 3914 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_DATABASE_NAME); yyerrok; } -#line 7686 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7733 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 402: -#line 3888 "rwlparser.y" /* yacc.c:1646 */ + case 412: +#line 3916 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 7692 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7739 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 405: -#line 3896 "rwlparser.y" /* yacc.c:1646 */ + case 415: +#line 3924 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename || bit(rwm->addvarbits,RWL_IDENT_PRIVATE)) { @@ -7718,11 +7765,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 7722 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7769 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 406: -#line 3922 "rwlparser.y" /* yacc.c:1646 */ + case 416: +#line 3950 "rwlparser.y" /* yacc.c:1646 */ { // if compiling first file, see if there is a user arg if (bit(rwm->m2flags, RWL_P2_SCANFIRST) && rwm->decvarn >= 0) @@ -7770,7 +7817,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.sval = alp->argvalue; num.vsalloc = RWL_SVALLOC_CONST; num.slen = rwlstrlen(num.sval)+1; - num.ival = rwlatosb8(num.sval); + num.ival = rwldorxtosb8(rwm->mxq,num.sval); num.dval = rwlatof(num.sval); num.isnull = 0; num.vtype = RWL_TYPE_STR; @@ -7795,20 +7842,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); donewithuserarg: ; } -#line 7799 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7846 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 408: -#line 3999 "rwlparser.y" /* yacc.c:1646 */ + case 418: +#line 4027 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 7808 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7855 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 409: -#line 4004 "rwlparser.y" /* yacc.c:1646 */ + case 419: +#line 4032 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->dtype) @@ -7855,11 +7902,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 7859 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7906 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 414: -#line 4067 "rwlparser.y" /* yacc.c:1646 */ + case 424: +#line 4095 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7874,22 +7921,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_IF, estk); } -#line 7878 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7925 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 415: -#line 4082 "rwlparser.y" /* yacc.c:1646 */ + case 425: +#line 4110 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7889 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7936 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 416: -#line 4091 "rwlparser.y" /* yacc.c:1646 */ + case 426: +#line 4119 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7904,38 +7951,38 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_ELSEIF, estk); } -#line 7908 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7955 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 417: -#line 4106 "rwlparser.y" /* yacc.c:1646 */ + case 427: +#line 4134 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7919 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7966 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 418: -#line 4115 "rwlparser.y" /* yacc.c:1646 */ + case 428: +#line 4143 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LEGACY_WHILE_SYNTAX); } -#line 7927 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7974 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 419: -#line 4119 "rwlparser.y" /* yacc.c:1646 */ + case 429: +#line 4147 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_WHILOP); } -#line 7935 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7982 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 420: -#line 4125 "rwlparser.y" /* yacc.c:1646 */ + case 430: +#line 4153 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7952,33 +7999,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 7956 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8003 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 421: -#line 4142 "rwlparser.y" /* yacc.c:1646 */ + case 431: +#line 4170 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7967 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8014 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 422: -#line 4149 "rwlparser.y" /* yacc.c:1646 */ + case 432: +#line 4177 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_KEYWORD, "loop"); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7978 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8025 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 427: -#line 4166 "rwlparser.y" /* yacc.c:1646 */ + case 437: +#line 4194 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -7994,120 +8041,120 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); nothreadssum: ; } -#line 7998 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8045 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 428: -#line 4182 "rwlparser.y" /* yacc.c:1646 */ + case 438: +#line 4210 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlerror(rwm, RWL_ERROR_NO_LOCAL_SUMGLOB); else bis(rwm->addvarbits,RWL_IDENT_GLOBAL); } -#line 8009 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8056 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 429: -#line 4192 "rwlparser.y" /* yacc.c:1646 */ + case 439: +#line 4220 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8019 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8066 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 430: -#line 4198 "rwlparser.y" /* yacc.c:1646 */ + case 440: +#line 4226 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8028 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8075 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 431: -#line 4206 "rwlparser.y" /* yacc.c:1646 */ + case 441: +#line 4234 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8038 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8085 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 432: -#line 4212 "rwlparser.y" /* yacc.c:1646 */ + case 442: +#line 4240 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8047 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8094 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 433: -#line 4220 "rwlparser.y" /* yacc.c:1646 */ + case 443: +#line 4248 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8057 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8104 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 434: -#line 4226 "rwlparser.y" /* yacc.c:1646 */ + case 444: +#line 4254 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8066 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8113 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 435: -#line 4234 "rwlparser.y" /* yacc.c:1646 */ + case 445: +#line 4262 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8075 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8122 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 436: -#line 4239 "rwlparser.y" /* yacc.c:1646 */ + case 446: +#line 4267 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8083 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8130 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 437: -#line 4245 "rwlparser.y" /* yacc.c:1646 */ + case 447: +#line 4273 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_CLOB; } -#line 8089 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8136 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 438: -#line 4246 "rwlparser.y" /* yacc.c:1646 */ + case 448: +#line 4274 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_BLOB; } -#line 8095 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8142 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 439: -#line 4247 "rwlparser.y" /* yacc.c:1646 */ + case 449: +#line 4275 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_NCLOB; } -#line 8101 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8148 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 440: -#line 4251 "rwlparser.y" /* yacc.c:1646 */ + case 450: +#line 4279 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8107 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8154 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 441: -#line 4252 "rwlparser.y" /* yacc.c:1646 */ + case 451: +#line 4280 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8117,25 +8164,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8121 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8168 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 443: -#line 4263 "rwlparser.y" /* yacc.c:1646 */ + case 453: +#line 4291 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8129 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8176 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 444: -#line 4266 "rwlparser.y" /* yacc.c:1646 */ + case 454: +#line 4294 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8135 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8182 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 445: -#line 4267 "rwlparser.y" /* yacc.c:1646 */ + case 455: +#line 4295 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bic(rwm->m2flags, RWL_P2_BADSQLFILTXT); @@ -8144,19 +8191,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8148 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8195 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 447: -#line 4277 "rwlparser.y" /* yacc.c:1646 */ + case 457: +#line 4305 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8156 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8203 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 450: -#line 4287 "rwlparser.y" /* yacc.c:1646 */ + case 460: +#line 4315 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; @@ -8202,11 +8249,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8206 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8253 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 451: -#line 4334 "rwlparser.y" /* yacc.c:1646 */ + case 461: +#line 4362 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; @@ -8237,11 +8284,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_SQL_ARRAY_AND_IGNERR); } -#line 8241 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8288 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 452: -#line 4368 "rwlparser.y" /* yacc.c:1646 */ + case 462: +#line 4396 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -8250,11 +8297,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 8254 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8301 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 454: -#line 4381 "rwlparser.y" /* yacc.c:1646 */ + case 464: +#line 4409 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; ub4 iflag = bit(rwm->m3flags, RWL_P3_IMMEDSQL) ? RWL_IDENT_INTERNAL : 0; @@ -8328,11 +8375,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8332 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8379 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 455: -#line 4459 "rwlparser.y" /* yacc.c:1646 */ + case 465: +#line 4487 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; ub4 notyetcount = 0; @@ -8425,53 +8472,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8429 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8476 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 459: -#line 4562 "rwlparser.y" /* yacc.c:1646 */ + case 469: +#line 4590 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BIND); yyerrok; } -#line 8435 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8482 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 461: -#line 4566 "rwlparser.y" /* yacc.c:1646 */ + case 471: +#line 4594 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BINDOUT); yyerrok; } -#line 8441 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8488 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 463: -#line 4570 "rwlparser.y" /* yacc.c:1646 */ + case 473: +#line 4598 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DEFINE); yyerrok; } -#line 8447 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8494 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 464: -#line 4572 "rwlparser.y" /* yacc.c:1646 */ + case 474: +#line 4600 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_IGNERR); } -#line 8455 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8502 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 465: -#line 4576 "rwlparser.y" /* yacc.c:1646 */ + case 475: +#line 4604 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8463 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8510 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 466: -#line 4580 "rwlparser.y" /* yacc.c:1646 */ + case 476: +#line 4608 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8471 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8518 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 467: -#line 4585 "rwlparser.y" /* yacc.c:1646 */ + case 477: +#line 4613 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) { @@ -8489,34 +8536,34 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqsav->asiz = (ub4)rwm->pval.ival; } } -#line 8493 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8540 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 468: -#line 4604 "rwlparser.y" /* yacc.c:1646 */ + case 478: +#line 4632 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ARRAY); yyerrok; } -#line 8499 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8546 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 469: -#line 4609 "rwlparser.y" /* yacc.c:1646 */ + case 479: +#line 4637 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON_IN_SQL); } -#line 8505 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8552 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 472: -#line 4615 "rwlparser.y" /* yacc.c:1646 */ + case 482: +#line 4643 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQFLAG_DYNAMIC)) rwlerror(rwm, RWL_ERROR_DEFINE_ARRAY_NOT_DYNAMIC); else bis(rwm->sqsav->flags, RWL_SQFLAG_ARRAYD); } -#line 8516 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8563 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 475: -#line 4629 "rwlparser.y" /* yacc.c:1646 */ + case 485: +#line 4657 "rwlparser.y" /* yacc.c:1646 */ { // Note that it would not be too hard to replace // the integer constant here by an expression @@ -8524,27 +8571,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // can be done with modify sql for dynamic sql rwm->bdpos = rwm->ival; rwm->bdtyp=RWL_DEFINE; } -#line 8528 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8575 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 477: -#line 4638 "rwlparser.y" /* yacc.c:1646 */ + case 487: +#line 4666 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "define"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); } -#line 8538 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8585 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 480: -#line 4652 "rwlparser.y" /* yacc.c:1646 */ + case 490: +#line 4680 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BINDOUT_NAME; } -#line 8544 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8591 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 482: -#line 4654 "rwlparser.y" /* yacc.c:1646 */ + case 492: +#line 4682 "rwlparser.y" /* yacc.c:1646 */ { // We could also use expression here, but we would // of course need to check it was either a non-negative number @@ -8552,61 +8599,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BINDOUT_POS; } -#line 8556 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8603 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 484: -#line 4662 "rwlparser.y" /* yacc.c:1646 */ + case 494: +#line 4690 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BINDOUT_SAME; } -#line 8564 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8611 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 486: -#line 4666 "rwlparser.y" /* yacc.c:1646 */ + case 496: +#line 4694 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_IMPLICIT_NOT_BINDOUT); } -#line 8572 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8619 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 489: -#line 4677 "rwlparser.y" /* yacc.c:1646 */ + case 499: +#line 4705 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BIND_NAME; } -#line 8578 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8625 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 491: -#line 4679 "rwlparser.y" /* yacc.c:1646 */ + case 501: +#line 4707 "rwlparser.y" /* yacc.c:1646 */ { // same comment as above rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BIND_POS; } -#line 8588 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8635 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 493: -#line 4685 "rwlparser.y" /* yacc.c:1646 */ + case 503: +#line 4713 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BIND_SAME; } -#line 8596 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8643 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 495: -#line 4689 "rwlparser.y" /* yacc.c:1646 */ + case 505: +#line 4717 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "bind"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); } -#line 8606 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8653 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 496: -#line 4698 "rwlparser.y" /* yacc.c:1646 */ + case 506: +#line 4726 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; bd = rwlalloc(rwm, sizeof(rwl_bindef)); @@ -8700,41 +8747,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8704 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8751 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 497: -#line 4794 "rwlparser.y" /* yacc.c:1646 */ + case 507: +#line 4822 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "runseconds", "bind/define"); } -#line 8713 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8760 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 498: -#line 4799 "rwlparser.y" /* yacc.c:1646 */ + case 508: +#line 4827 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "epochseconds", "bind/define"); } -#line 8722 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8769 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 499: -#line 4803 "rwlparser.y" /* yacc.c:1646 */ + case 509: +#line 4831 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8728 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8775 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 500: -#line 4804 "rwlparser.y" /* yacc.c:1646 */ + case 510: +#line 4832 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8734 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8781 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 501: -#line 4808 "rwlparser.y" /* yacc.c:1646 */ + case 511: +#line 4836 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8751,11 +8798,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8755 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8802 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 502: -#line 4825 "rwlparser.y" /* yacc.c:1646 */ + case 512: +#line 4853 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8772,11 +8819,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8776 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8823 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 503: -#line 4842 "rwlparser.y" /* yacc.c:1646 */ + case 513: +#line 4870 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8793,11 +8840,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8797 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8844 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 504: -#line 4859 "rwlparser.y" /* yacc.c:1646 */ + case 514: +#line 4887 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8820,17 +8867,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8824 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8871 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 505: -#line 4881 "rwlparser.y" /* yacc.c:1646 */ + case 515: +#line 4909 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8830 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8877 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 506: -#line 4882 "rwlparser.y" /* yacc.c:1646 */ + case 516: +#line 4910 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8861,11 +8908,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8865 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8912 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 507: -#line 4913 "rwlparser.y" /* yacc.c:1646 */ + case 517: +#line 4941 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8886,17 +8933,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8890 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8937 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 508: -#line 4933 "rwlparser.y" /* yacc.c:1646 */ + case 518: +#line 4961 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8896 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8943 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 509: -#line 4934 "rwlparser.y" /* yacc.c:1646 */ + case 519: +#line 4962 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0 && (rwm->msqlstk = rwlexprfinish(rwm))) { @@ -8918,11 +8965,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8922 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8969 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 510: -#line 4956 "rwlparser.y" /* yacc.c:1646 */ + case 520: +#line 4984 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8937,11 +8984,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8941 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8988 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 512: -#line 4971 "rwlparser.y" /* yacc.c:1646 */ + case 522: +#line 4999 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8956,11 +9003,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8960 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9007 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 514: -#line 4986 "rwlparser.y" /* yacc.c:1646 */ + case 524: +#line 5014 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8975,23 +9022,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8979 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9026 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 518: -#line 5006 "rwlparser.y" /* yacc.c:1646 */ + case 528: +#line 5034 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8985 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9032 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 519: -#line 5008 "rwlparser.y" /* yacc.c:1646 */ + case 529: +#line 5036 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlstk = rwlexprfinish(rwm); } -#line 8991 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9038 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 520: -#line 5010 "rwlparser.y" /* yacc.c:1646 */ + case 530: +#line 5038 "rwlparser.y" /* yacc.c:1646 */ { sb4 l2; rwl_sql *sq; @@ -9042,11 +9089,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 9046 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9093 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 521: -#line 5063 "rwlparser.y" /* yacc.c:1646 */ + case 531: +#line 5091 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; rwl_estack *estk; @@ -9076,21 +9123,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbcache: ; } -#line 9080 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9127 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 522: -#line 5093 "rwlparser.y" /* yacc.c:1646 */ + case 532: +#line 5121 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbsphi = rwm->mdbsplo = rwlexprfinish(rwm); if (!rwm->mdbsplo) rwlexprclear(rwm); } -#line 9090 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9137 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 523: -#line 5099 "rwlparser.y" /* yacc.c:1646 */ + case 533: +#line 5127 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; // are lo/hi good @@ -9119,20 +9166,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbpool: rwm->mdbsphi = rwm->mdbsplo = 0; } -#line 9123 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9170 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 525: -#line 5131 "rwlparser.y" /* yacc.c:1646 */ + case 535: +#line 5159 "rwlparser.y" /* yacc.c:1646 */ { if (!(rwm->mdbsphi = rwlexprfinish(rwm))) rwlexprclear(rwm); } -#line 9132 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9179 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 526: -#line 5138 "rwlparser.y" /* yacc.c:1646 */ + case 536: +#line 5166 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9152,23 +9199,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9156 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9203 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 528: -#line 5161 "rwlparser.y" /* yacc.c:1646 */ + case 538: +#line 5189 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9162 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9209 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 529: -#line 5162 "rwlparser.y" /* yacc.c:1646 */ + case 539: +#line 5190 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9168 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9215 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 530: -#line 5166 "rwlparser.y" /* yacc.c:1646 */ + case 540: +#line 5194 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->strvarn = RWL_VAR_NOTFOUND; @@ -9188,11 +9235,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->conhead = rwm->contail = 0; } -#line 9192 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9239 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 531: -#line 5186 "rwlparser.y" /* yacc.c:1646 */ + case 541: +#line 5214 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpupu(rwm, RWL_CODE_SPRINTF, rwm->strvnam @@ -9206,11 +9253,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9210 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9257 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 532: -#line 5204 "rwlparser.y" /* yacc.c:1646 */ + case 542: +#line 5232 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9229,19 +9276,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9233 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9280 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 534: -#line 5226 "rwlparser.y" /* yacc.c:1646 */ + case 544: +#line 5254 "rwlparser.y" /* yacc.c:1646 */ { rwm->conhead = rwm->contail = 0; } -#line 9241 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9288 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 535: -#line 5230 "rwlparser.y" /* yacc.c:1646 */ + case 545: +#line 5258 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpup(rwm, RWL_CODE_FPRINTF, rwm->filenam @@ -9262,11 +9309,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9266 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9313 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 538: -#line 5258 "rwlparser.y" /* yacc.c:1646 */ + case 548: +#line 5286 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwl_conlist *newcon; @@ -9285,11 +9332,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9289 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9336 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 539: -#line 5279 "rwlparser.y" /* yacc.c:1646 */ + case 549: +#line 5307 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9310,11 +9357,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->mflags,RWL_P_PRINTLINE); } -#line 9314 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9361 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 540: -#line 5301 "rwlparser.y" /* yacc.c:1646 */ + case 550: +#line 5329 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9335,35 +9382,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_PRINTLINE); } -#line 9339 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9386 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 541: -#line 5325 "rwlparser.y" /* yacc.c:1646 */ + case 551: +#line 5353 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9348 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9395 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 542: -#line 5330 "rwlparser.y" /* yacc.c:1646 */ + case 552: +#line 5358 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9357 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9404 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 544: -#line 5338 "rwlparser.y" /* yacc.c:1646 */ + case 554: +#line 5366 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTBLANK); } -#line 9363 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9410 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 546: -#line 5343 "rwlparser.y" /* yacc.c:1646 */ + case 556: +#line 5371 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -9421,11 +9468,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9425 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9472 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 547: -#line 5404 "rwlparser.y" /* yacc.c:1646 */ + case 557: +#line 5432 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mflags,RWL_P_PRINTLINE)) { @@ -9457,11 +9504,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 9461 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9508 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 548: -#line 5439 "rwlparser.y" /* yacc.c:1646 */ + case 558: +#line 5467 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -9472,11 +9519,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ; } } -#line 9476 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9523 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 549: -#line 5454 "rwlparser.y" /* yacc.c:1646 */ + case 559: +#line 5482 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->assignoper) @@ -9519,95 +9566,95 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9523 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9570 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 550: -#line 5497 "rwlparser.y" /* yacc.c:1646 */ + case 560: +#line 5525 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 9533 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9580 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 552: -#line 5507 "rwlparser.y" /* yacc.c:1646 */ + case 562: +#line 5535 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 9542 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9589 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 553: -#line 5514 "rwlparser.y" /* yacc.c:1646 */ + case 563: +#line 5542 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASSIGN; } -#line 9548 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9595 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 554: -#line 5515 "rwlparser.y" /* yacc.c:1646 */ + case 564: +#line 5543 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_GREATEQ; } -#line 9554 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9601 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 555: -#line 5516 "rwlparser.y" /* yacc.c:1646 */ + case 565: +#line 5544 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_RSHIFTASSIGN; } -#line 9560 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9607 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 556: -#line 5517 "rwlparser.y" /* yacc.c:1646 */ + case 566: +#line 5545 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_LESSEQ; } -#line 9566 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9613 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 557: -#line 5518 "rwlparser.y" /* yacc.c:1646 */ + case 567: +#line 5546 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPEFROM; } -#line 9572 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9619 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 558: -#line 5519 "rwlparser.y" /* yacc.c:1646 */ + case 568: +#line 5547 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPETO; } -#line 9578 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9625 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 560: -#line 5523 "rwlparser.y" /* yacc.c:1646 */ + case 570: +#line 5551 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_APPEND; } -#line 9584 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9631 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 561: -#line 5524 "rwlparser.y" /* yacc.c:1646 */ + case 571: +#line 5552 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNADD; } -#line 9590 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9637 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 562: -#line 5525 "rwlparser.y" /* yacc.c:1646 */ + case 572: +#line 5553 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNSUB; } -#line 9596 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9643 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 563: -#line 5532 "rwlparser.y" /* yacc.c:1646 */ + case 573: +#line 5560 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } -#line 9607 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9654 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 564: -#line 5539 "rwlparser.y" /* yacc.c:1646 */ + case 574: +#line 5567 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; sb4 l; @@ -9633,11 +9680,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllityp[rwm->rsldepth] = RWL_LI_DOTDOT; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 9637 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9684 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 566: -#line 5565 "rwlparser.y" /* yacc.c:1646 */ + case 576: +#line 5593 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeadd0(rwm, RWL_CODE_LIBEG); rwm->rsllihead[rwm->rsldepth] @@ -9650,11 +9697,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); rwm->rsllitail[rwm->rsldepth]->listk = rwlexprfinish(rwm); } -#line 9654 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9701 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 568: -#line 5579 "rwlparser.y" /* yacc.c:1646 */ + case 578: +#line 5607 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwlexprclear(rwm); @@ -9664,11 +9711,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); yyerrok; } -#line 9668 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9715 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 571: -#line 5598 "rwlparser.y" /* yacc.c:1646 */ + case 581: +#line 5626 "rwlparser.y" /* yacc.c:1646 */ { rwl_lilist *thisli = rwlalloc(rwm, sizeof(rwl_lilist)); rwlexprpush(rwm, rwm->loopvar[rwm->rsldepth], RWL_STACK_ASN); @@ -9676,61 +9723,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllitail[rwm->rsldepth]->linxt = thisli; rwm->rsllitail[rwm->rsldepth] = thisli; } -#line 9680 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9727 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 574: -#line 5618 "rwlparser.y" /* yacc.c:1646 */ + case 584: +#line 5646 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 9689 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9736 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 575: -#line 5623 "rwlparser.y" /* yacc.c:1646 */ + case 585: +#line 5651 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 9697 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9744 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 578: -#line 5632 "rwlparser.y" /* yacc.c:1646 */ + case 588: +#line 5660 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "execute") ; } -#line 9703 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9750 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 581: -#line 5639 "rwlparser.y" /* yacc.c:1646 */ + case 591: +#line 5667 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; } -#line 9709 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9756 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 584: -#line 5646 "rwlparser.y" /* yacc.c:1646 */ + case 594: +#line 5674 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "if") ; yyerrok; } -#line 9715 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9762 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 587: -#line 5653 "rwlparser.y" /* yacc.c:1646 */ + case 597: +#line 5681 "rwlparser.y" /* yacc.c:1646 */ { if (0 != rwlstrcmp(rwm->inam, rwm->sqname)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname); } -#line 9724 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9771 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 588: -#line 5658 "rwlparser.y" /* yacc.c:1646 */ + case 598: +#line 5686 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname) ; yyerrok; } -#line 9730 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9777 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 590: -#line 5664 "rwlparser.y" /* yacc.c:1646 */ + case 600: +#line 5692 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile1]"); @@ -9741,11 +9788,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop"); } } -#line 9745 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9792 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 591: -#line 5675 "rwlparser.y" /* yacc.c:1646 */ + case 601: +#line 5703 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile2]"); @@ -9756,11 +9803,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while"); } } -#line 9760 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9807 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 592: -#line 5686 "rwlparser.y" /* yacc.c:1646 */ + case 602: +#line 5714 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->rslflags[rwm->rsldepth-1], RWL_RSLFLAG_WHILOP)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; @@ -9768,27 +9815,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while") ; yyerrok; } -#line 9772 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9819 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 593: -#line 5697 "rwlparser.y" /* yacc.c:1646 */ + case 603: +#line 5725 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = 0; } -#line 9780 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9827 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 594: -#line 5702 "rwlparser.y" /* yacc.c:1646 */ + case 604: +#line 5730 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = rwlexprfinish(rwm); } -#line 9788 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9835 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 596: -#line 5709 "rwlparser.y" /* yacc.c:1646 */ + case 606: +#line 5737 "rwlparser.y" /* yacc.c:1646 */ { char plsword[6]; /* check for "begin" or "decla" or "--" */ ub4 sb, pb, len; @@ -9843,28 +9890,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_SQLWASPLS); rwlerror(rwm, RWL_ERROR_WARN_COMPILETIME_SQLTEXT, rwm->sqname); } -#line 9847 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9894 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 597: -#line 5766 "rwlparser.y" /* yacc.c:1646 */ + case 607: +#line 5794 "rwlparser.y" /* yacc.c:1646 */ { rwm->loc.errlin = 0; rwm->sqlfile = 0; /* not from a file */ } -#line 9856 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9903 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 598: -#line 5771 "rwlparser.y" /* yacc.c:1646 */ + case 608: +#line 5799 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9864 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9911 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 599: -#line 5775 "rwlparser.y" /* yacc.c:1646 */ + case 609: +#line 5803 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; FILE *f ; @@ -9945,11 +9992,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9949 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9996 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 600: -#line 5858 "rwlparser.y" /* yacc.c:1646 */ + case 610: +#line 5886 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9969,11 +10016,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 9973 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10020 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 601: -#line 5878 "rwlparser.y" /* yacc.c:1646 */ + case 611: +#line 5906 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) // everything is good { @@ -9996,50 +10043,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10000 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10047 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 602: -#line 5902 "rwlparser.y" /* yacc.c:1646 */ + case 612: +#line 5930 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BAD_READLINE); yyerrok; } -#line 10009 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10056 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 603: -#line 5909 "rwlparser.y" /* yacc.c:1646 */ + case 613: +#line 5937 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = rwm->sub_estk = 0; } -#line 10015 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10062 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 604: -#line 5911 "rwlparser.y" /* yacc.c:1646 */ + case 614: +#line 5939 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10023 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10070 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 605: -#line 5915 "rwlparser.y" /* yacc.c:1646 */ + case 615: +#line 5943 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); } -#line 10031 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10078 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 606: -#line 5919 "rwlparser.y" /* yacc.c:1646 */ + case 616: +#line 5947 "rwlparser.y" /* yacc.c:1646 */ { rwm->sub_estk = rwlexprfinish(rwm); } -#line 10039 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10086 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 607: -#line 5923 "rwlparser.y" /* yacc.c:1646 */ + case 617: +#line 5951 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->reg_estk && rwm->str_estk && rwm->sub_estk) { @@ -10078,60 +10125,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10082 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10129 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 608: -#line 5962 "rwlparser.y" /* yacc.c:1646 */ + case 618: +#line 5990 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10092 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10139 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 609: -#line 5971 "rwlparser.y" /* yacc.c:1646 */ + case 619: +#line 5999 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10100 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10147 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 610: -#line 5975 "rwlparser.y" /* yacc.c:1646 */ + case 620: +#line 6003 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10108 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10155 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 611: -#line 5981 "rwlparser.y" /* yacc.c:1646 */ + case 621: +#line 6009 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10114 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10161 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 612: -#line 5983 "rwlparser.y" /* yacc.c:1646 */ + case 622: +#line 6011 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10122 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10169 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 613: -#line 5987 "rwlparser.y" /* yacc.c:1646 */ + case 623: +#line 6015 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10131 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10178 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 614: -#line 5992 "rwlparser.y" /* yacc.c:1646 */ + case 624: +#line 6020 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10164,44 +10211,44 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10168 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10215 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 615: -#line 6026 "rwlparser.y" /* yacc.c:1646 */ + case 625: +#line 6054 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10178 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10225 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 616: -#line 6035 "rwlparser.y" /* yacc.c:1646 */ + case 626: +#line 6063 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10184 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10231 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 617: -#line 6037 "rwlparser.y" /* yacc.c:1646 */ + case 627: +#line 6065 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10192 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10239 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 618: -#line 6041 "rwlparser.y" /* yacc.c:1646 */ + case 628: +#line 6069 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10201 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10248 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 619: -#line 6046 "rwlparser.y" /* yacc.c:1646 */ + case 629: +#line 6074 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10234,21 +10281,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10238 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10285 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 620: -#line 6080 "rwlparser.y" /* yacc.c:1646 */ + case 630: +#line 6108 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10248 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10295 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 623: -#line 6093 "rwlparser.y" /* yacc.c:1646 */ + case 633: +#line 6121 "rwlparser.y" /* yacc.c:1646 */ { rwl_idlist *newid = rwlalloc(rwm, sizeof(rwl_idlist)); @@ -10289,22 +10336,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10293 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10340 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 624: -#line 6136 "rwlparser.y" /* yacc.c:1646 */ + case 634: +#line 6164 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that the system expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 10304 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10351 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 625: -#line 6145 "rwlparser.y" /* yacc.c:1646 */ + case 635: +#line 6173 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -10320,11 +10367,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10324 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10371 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 626: -#line 6170 "rwlparser.y" /* yacc.c:1646 */ + case 636: +#line 6198 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->threadlist) rwlsevere(rwm, "[rwlparser-thrlistnotclean]"); @@ -10335,11 +10382,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->totthr = 0; } -#line 10339 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10386 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 627: -#line 6182 "rwlparser.y" /* yacc.c:1646 */ + case 637: +#line 6210 "rwlparser.y" /* yacc.c:1646 */ { rwl_thrinfo *next; rwm->loc.errlin = rwm->lexlino; @@ -10358,26 +10405,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->threadlist = rwm->mythr = 0; rwm->loc.errlin = 0; } -#line 10362 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10409 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 628: -#line 6201 "rwlparser.y" /* yacc.c:1646 */ + case 638: +#line 6229 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10368 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10415 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 633: -#line 6215 "rwlparser.y" /* yacc.c:1646 */ + case 643: +#line 6243 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->cqnstop = 0.0; rwm->cqnnow = rwlclock(rwm->mxq,0); } -#line 10377 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10424 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 634: -#line 6220 "rwlparser.y" /* yacc.c:1646 */ + case 644: +#line 6248 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *cp; sb4 l; @@ -10401,11 +10448,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10405 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10452 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 635: -#line 6245 "rwlparser.y" /* yacc.c:1646 */ + case 645: +#line 6273 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstop = rwm->pval.dval; if (rwm->cqnstop < rwm->cqnstart || rwm->cqnstop < rwm->cqnnow) @@ -10414,11 +10461,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->cqnat = 0; } } -#line 10418 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10465 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 636: -#line 6254 "rwlparser.y" /* yacc.c:1646 */ + case 646: +#line 6282 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->cqnat) { @@ -10470,11 +10517,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; rwm->mythr->dbnam = rwm->cqnat; } -#line 10474 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10521 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 637: -#line 6306 "rwlparser.y" /* yacc.c:1646 */ + case 647: +#line 6334 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->cqnat) // no errors above { @@ -10499,11 +10546,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m4flags, RWL_P4_PROCHASSQL); } -#line 10503 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10550 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 638: -#line 6331 "rwlparser.y" /* yacc.c:1646 */ + case 648: +#line 6359 "rwlparser.y" /* yacc.c:1646 */ { rwlcodehead(rwm, 0); if (rwm->cqnat) // No error above @@ -10531,37 +10578,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_CQNTHEN; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10535 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10582 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 639: -#line 6359 "rwlparser.y" /* yacc.c:1646 */ + case 649: +#line 6387 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeaddu(rwm, RWL_CODE_CQNISCB, 0); // Is in callback rwlcodetail(rwm); } -#line 10544 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10591 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 643: -#line 6370 "rwlparser.y" /* yacc.c:1646 */ + case 653: +#line 6398 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "querynotification"); yyerrok; } -#line 10553 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10600 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 645: -#line 6379 "rwlparser.y" /* yacc.c:1646 */ + case 655: +#line 6407 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->pval.dval; } -#line 10561 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10608 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 646: -#line 6386 "rwlparser.y" /* yacc.c:1646 */ + case 656: +#line 6414 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m4flags, RWL_P4_PROCHASSQL); if (rwm->pval.ival < 0) @@ -10577,45 +10624,45 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_THREAD; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10581 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10628 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 647: -#line 6404 "rwlparser.y" /* yacc.c:1646 */ + case 657: +#line 6432 "rwlparser.y" /* yacc.c:1646 */ { rwlcodetail(rwm); } -#line 10589 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10636 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 649: -#line 6409 "rwlparser.y" /* yacc.c:1646 */ + case 659: +#line 6437 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10595 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10642 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 651: -#line 6414 "rwlparser.y" /* yacc.c:1646 */ + case 661: +#line 6442 "rwlparser.y" /* yacc.c:1646 */ { rwm->mythr->dbnam = rwm->inam; } -#line 10603 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10650 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 654: -#line 6423 "rwlparser.y" /* yacc.c:1646 */ + case 664: +#line 6451 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "threads") ; } -#line 10609 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10656 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 657: -#line 6431 "rwlparser.y" /* yacc.c:1646 */ + case 667: +#line 6459 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "run") ; } -#line 10615 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10662 "rwlparser.tab.c" /* yacc.c:1646 */ break; -#line 10619 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10666 "rwlparser.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/rwlparser.tab.h b/src/rwlparser.tab.h index 3f7c61ee..083c285b 100644 --- a/src/rwlparser.tab.h +++ b/src/rwlparser.tab.h @@ -212,7 +212,9 @@ extern int rwlydebug; RWL_T_ATAN2 = 414, RWL_T_WINSLASHF2B = 415, RWL_T_WINSLASHF2BB = 416, - RWL_T_UMINUS = 417 + RWL_T_BITWISE_LEFT_SHIFT = 417, + RWL_T_BITWISE_RIGHT_SHIFT = 418, + RWL_T_UMINUS = 419 }; #endif @@ -221,7 +223,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 471 "rwlparser.y" /* yacc.c:1909 */ +#line 473 "rwlparser.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -235,7 +237,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 239 "rwlparser.tab.h" /* yacc.c:1909 */ +#line 241 "rwlparser.tab.h" /* yacc.c:1909 */ }; typedef union RWLYSTYPE RWLYSTYPE; diff --git a/src/rwlparser.y b/src/rwlparser.y index 11ab272e..98b0d086 100644 --- a/src/rwlparser.y +++ b/src/rwlparser.y @@ -11,7 +11,9 @@ * * History * - * mkdash 12-aug-2024 - implement dbsec and ocisecond function + * bengsig 29-aug-2024 - string->integer can be hex + * mkdash 12-aug-2024 - dbseconds and ociseconds function + * obakhir 7-aug-2024 - Add bitwise operators * bengsig 17-apr-2024 - nostatistics statement * bengsig 16-apr-2024 - -= * bengsig 7-mar-2024 - a few lob changes @@ -510,16 +512,21 @@ rwlcomp(rwlparser_y, RWL_GCCFLAGS) %token RWL_T_PIPEFROM RWL_T_PIPETO RWL_T_RSHIFTASSIGN RWL_T_GLOBAL RWL_T_QUERYNOTIFICATION %token RWL_T_NORMALRANDOM RWL_T_STATISTICSONLY RWL_T_CEIL RWL_T_TRUNC RWL_T_FLOOR RWL_T_LOBPREFETCH %token RWL_T_SIN RWL_T_COS RWL_T_ATAN2 RWL_T_WINSLASHF2B RWL_T_WINSLASHF2BB +%token RWL_T_BITWISE_LEFT_SHIFT RWL_T_BITWISE_RIGHT_SHIFT // standard order of association %left RWL_T_CONCAT %left RWL_T_OR %left RWL_T_AND +%left '|' +%left '^' +%left '&' %left '=' RWL_T_NOTEQ %left '<' '>' RWL_T_LESSEQ RWL_T_GREATEQ RWL_T_BETWEEN +%left RWL_T_BITWISE_LEFT_SHIFT RWL_T_BITWISE_RIGHT_SHIFT %left '-' '+' %left '*' '/' '%' -%left '!' RWL_T_NOT RWL_T_UMINUS +%left '!' '~' RWL_T_NOT RWL_T_UMINUS %start rwlyparse %% @@ -1538,7 +1545,7 @@ identifier_or_constant: num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ num.vsalloc = RWL_SVALLOC_CONST; num.slen = rwlstrlen(num.sval)+1; - num.ival = rwlatosb8(num.sval); + num.ival = rwldorxtosb8(rwm->mxq,num.sval); num.dval = rwlatof(num.sval); num.isnull = 0; num.vtype = RWL_TYPE_STR; @@ -1740,6 +1747,7 @@ unary_expression: | '-' multiplication %prec RWL_T_UMINUS { rwlexprpush0(rwm,RWL_STACK_MINUS); } | '!' multiplication { rwlexprpush0(rwm,RWL_STACK_NOT); } | RWL_T_NOT multiplication { rwlexprpush0(rwm,RWL_STACK_NOT); } + | '~' multiplication { rwlexprpush0(rwm,RWL_STACK_BITWISE_NOT); } ; multiplication: @@ -1754,14 +1762,19 @@ addition: | addition '+' multiplication { rwlexprpush0(rwm,RWL_STACK_ADD); } | addition '-' multiplication { rwlexprpush0(rwm,RWL_STACK_SUB); } ; +bitwise_shift: + addition + | bitwise_shift RWL_T_BITWISE_LEFT_SHIFT addition { rwlexprpush0(rwm,RWL_STACK_BITWISE_LEFT_SHIFT); } + | bitwise_shift RWL_T_BITWISE_RIGHT_SHIFT addition { rwlexprpush0(rwm,RWL_STACK_BITWISE_RIGHT_SHIFT); } + ; comparison: - addition - | comparison '<' addition { rwlexprpush0(rwm,RWL_STACK_LESS); } - | comparison '>' addition { rwlexprpush0(rwm,RWL_STACK_GREATER); } - | comparison RWL_T_LESSEQ addition { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } - | comparison RWL_T_GREATEQ addition { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } - | comparison RWL_T_BETWEEN addition RWL_T_AND addition { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } + bitwise_shift + | comparison '<' bitwise_shift { rwlexprpush0(rwm,RWL_STACK_LESS); } + | comparison '>' bitwise_shift { rwlexprpush0(rwm,RWL_STACK_GREATER); } + | comparison RWL_T_LESSEQ bitwise_shift { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } + | comparison RWL_T_GREATEQ bitwise_shift { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } + | comparison RWL_T_BETWEEN bitwise_shift RWL_T_AND bitwise_shift { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } ; equality: @@ -1770,8 +1783,23 @@ equality: | equality RWL_T_NOTEQ comparison { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } ; +bitwise_and: + equality + | bitwise_and '&' equality { rwlexprpush0(rwm,RWL_STACK_BITWISE_AND); } + ; + +bitwise_xor: + bitwise_and + | bitwise_xor '^' bitwise_and { rwlexprpush0(rwm,RWL_STACK_BITWISE_XOR); } + ; + +bitwise_or: + bitwise_xor + | bitwise_or '|' bitwise_xor { rwlexprpush0(rwm,RWL_STACK_BITWISE_OR); } + ; + logicaland: - equality + bitwise_or | logicaland RWL_T_AND { // With AND (and OR) skipdep is used to mark @@ -1782,7 +1810,7 @@ logicaland: rwlsevere(rwm, "[rwlparser-andskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } - equality + bitwise_or { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; @@ -3966,7 +3994,7 @@ declinit: num.sval = alp->argvalue; num.vsalloc = RWL_SVALLOC_CONST; num.slen = rwlstrlen(num.sval)+1; - num.ival = rwlatosb8(num.sval); + num.ival = rwldorxtosb8(rwm->mxq,num.sval); num.dval = rwlatof(num.sval); num.isnull = 0; num.vtype = RWL_TYPE_STR; diff --git a/src/rwlrast.c b/src/rwlrast.c index 5ff63780..dcf984d0 100644 --- a/src/rwlrast.c +++ b/src/rwlrast.c @@ -11,6 +11,7 @@ * * History * + * bengsig 29-aug-2024 - string->integer can be hex * bengsig 30-jan-2024 - All includes in rwl.h, use *rand48_r on linux * bengsig 2-sep-2020 - Use various enum * bengsig 5-oct-2017 - Creation @@ -272,7 +273,7 @@ void rwlrastval(rwl_xeqenv *xev, rwl_value *num, rwl_identifier *var) rwlfree(xev->rwm, num->sval); num->sval = rv->pstr[i]; num->dval = rwlatof(num->sval); - num->ival = rwlatosb8(num->sval); + num->ival = rwldorxtosb8(xev,num->sval); num->slen = rwlstrlen(num->sval)+1; num->vsalloc = RWL_SVALLOC_CONST; diff --git a/test/11.rwl b/test/11.rwl index d54f6c1b..f7684307 100644 --- a/test/11.rwl +++ b/test/11.rwl @@ -1,5 +1,5 @@ integer a; # test illegal characters, zero divide, etc -integer ^___a; +integer `___a; double @a; diff --git a/test/393.rwl b/test/393.rwl new file mode 100644 index 00000000..8c6dc53e --- /dev/null +++ b/test/393.rwl @@ -0,0 +1,109 @@ +# Define test values +integer int_val1 := 15; +integer int_val2 := -240; +integer shift_amount := 4; +integer invalid_shift := 64; +integer negative_amount := -3; +double double_val := 3.14; +integer result; + +# Test Bitwise NOT +result := 0; +result := ~int_val1; +printf "Bitwise NOT: ~%d = %d 0x%16.16x %.3f\n", int_val1, result, result, 0.0 + result; + +# Invalid Bitwise NOT on a Non-Integer Type (double) +result := 0; +result := ~double_val; # This should raise an error + +# Test Bitwise AND +result := 0; +result := int_val1 & int_val2; +printf "Bitwise AND: %d & %d = %d 0x%16.16x %.3f\n", int_val1, int_val2, result, result, 0.0 + result; + +# Invalid Bitwise AND on Non-Integer Types (double) +result := 0; +result := int_val1 & double_val; # This should raise an error + +# Test Bitwise OR +result := 0; +result := int_val1 | int_val2; +printf "Bitwise OR: %d | %d = %d 0x%16.16x %.3f\n", int_val1, int_val2, result, result, 0.0 + result; + +# Invalid Bitwise OR on Non-Integer Types (double) +result := 0; +result := int_val1 | double_val; # This should raise an error + +# Test Bitwise XOR +result := 0; +result := int_val1 ^ int_val2; +printf "Bitwise XOR: %d ^ %d = %d 0x%16.16x %.3f\n", int_val1, int_val2, result, result, 0.0 + result; + +# Invalid Bitwise XOR on Non-Integer Types (double) +result := 0; +result := int_val1 ^ double_val; # This should raise an error + +# Test Left Shift +result := 0; +result := int_val1 << shift_amount; +printf "Left Shift: %d << %d = %d 0x%16.16x %.3f\n", int_val1, shift_amount, result, result, 0.0 + result; + +# Invalid Left Shift (shifting by an amount greater than or equal to the width of the type) +result := 0; +result := int_val1 << invalid_shift; # This should raise an error + +# Invalid Left Shift with Non-Integer Type (double) +result := 0; +result := double_val << shift_amount; # This should raise an error + +# Invalid Left Shift (shifting by a negative amount) +result := 0; +result := int_val1 << negative_amount; # This should raise an error + +# Test Right Shift +result := 0; +result := int_val2 >> shift_amount; +printf "Right Shift: %d >> %d = %d 0x%16.16x %.3f\n", int_val2, shift_amount, result, result, 0.0 + result; + +# Invalid Right Shift (shifting by an amount greater than or equal to the width of the type) +result := 0; +result := int_val2 >> invalid_shift; # This should raise an error + +# Invalid Right Shift with Non-Integer Type (double) +result := 0; +result := double_val >> shift_amount; # This should raise an error + +# Invalid Right Shift (shifting by a negative amount) +result := 0; +result := int_val1 >> negative_amount; # This should raise an error + + +# Precedence and Associativity Tests +integer a := 3; +integer b := 5; +integer c := 2; + +# Left shift has higher precedence than comparison, and left-associative +result := a << b < c; +printf "Precedence and Associativity Test 1: %d << %d < %d = %d\n", a, b, c, result; # Expected: (3 << 5) < 2 = 96 < 2 = 0 (false) + +# Right shift has higher precedence than comparison, and left-associative +result := a >> b < c; +printf "Precedence and Associativity Test 2: %d >> %d < %d = %d\n", a, b, c, result; # Expected: (3 >> 5) < 2 = 0 < 2 = 1 (true) + +# Mixed shifts and comparison +result := a << b >> c < int_val1; +printf "Precedence and Associativity Test 3: %d << %d >> %d < %d = %d\n", a, b, c, int_val1, result; # Expected: ((3 << 5) >> 2) < 15 = (96 >> 2) < 15 = 24 < 15 = 0 (false) + + +# Hexadecimal Tests + +# Test Hexadecimal Input 0xdeadbeef +printf "Hex Input: 0xdeadbeef = %d 0x%16.16x %.3f\n", 0xdeadbeef, 0xdeadbeef, 0.0 + 0xdeadbeef; + +# Test Hexadecimal Input 0xF00D +printf "Hex Input: 0xF00D = %d 0x%16.16x %.3f\n", 0xF00D, 0xF00D, 0.0 + 0xF00D; + +# Test Hexadecimal Input 0X1aB +printf "Hex Input: 0X1aB = %d 0x%16.16x %.3f\n", 0X1aB, 0X1aB, 0.0 + 0X1aB; + diff --git a/test/395.rwl b/test/395.rwl new file mode 100644 index 00000000..aa723cce --- /dev/null +++ b/test/395.rwl @@ -0,0 +1,16 @@ +# Test bitwise in $if $then + +integer xff := 0xff; +integer x100 := 0x100; +integer x07 := 0x07; +integer zero := 0; +integer eight := 8; + + +$if ( ( 0x7 | 0xffff & ~0<<8 ) = 0xff07 ) $then + printline "Constants good"; +$endif + +$if ( x07 | (xff<<8 | xff) & ~zero<> 4 = -15 0xfffffffffffffff1 -15.000 +Precedence and Associativity Test 1: 3 << 5 < 2 = 0 +Precedence and Associativity Test 2: 3 >> 5 < 2 = 1 +Precedence and Associativity Test 3: 3 << 5 >> 2 < 15 = 0 +Hex Input: 0xdeadbeef = 3735928559 0x00000000deadbeef 3735928559.000 +Hex Input: 0xF00D = 61453 0x000000000000f00d 61453.000 +Hex Input: 0X1aB = 427 0x00000000000001ab 427.000 diff --git a/test/testres/394.err.good b/test/testres/394.err.good index 8eb630ac..24acb044 100644 --- a/test/testres/394.err.good +++ b/test/testres/394.err.good @@ -1,2 +1,2 @@ -RWL-601: debug at [rwldiprs.y:45]<-[394.rwl;15]: rwlzerror syntax error, unexpected RWL_Z_IDENTIFIER, expecting RWL_Z_CONCAT or ';' +RWL-601: debug at [rwldiprs.y:46]<-[394.rwl;15]: rwlzerror syntax error, unexpected RWL_Z_IDENTIFIER, expecting RWL_Z_CONCAT or ';' RWL-222: error at [394.rwl;15]: expected valid expression in $if ... $then directive diff --git a/test/testres/395.err.good b/test/testres/395.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/395.out.good b/test/testres/395.out.good new file mode 100644 index 00000000..b2714bc6 --- /dev/null +++ b/test/testres/395.out.good @@ -0,0 +1,2 @@ +Constants good +Variables good diff --git a/test/testres/398.out.good b/test/testres/398.out.good index de564b8a..7a440f94 100644 --- a/test/testres/398.out.good +++ b/test/testres/398.out.good @@ -1,5 +1,6 @@ -dbseconds = 0.00 -ociseconds = 0.00 -drop table 0.03 ociseconds = 0.03 dbseconds = 0.03 -create table 0.01 ociseconds = 0.01 dbseconds = 0.01 -fill table 0.16 ociseconds = 0.16 dbseconds = 0.16 +You really need to run this with --human398 to verify results +dbseconds = 0.0 +ociseconds = 0.0 +drop table 0.0 ociseconds = 0.0 dbseconds = 0.0 +create table 0.0 ociseconds = 0.0 dbseconds = 0.0 +fill table 0.2 ociseconds = 0.2 dbseconds = 0.2 diff --git a/test/testres/399.err.good b/test/testres/399.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/399.out.good b/test/testres/399.out.good new file mode 100644 index 00000000..e6540b37 --- /dev/null +++ b/test/testres/399.out.good @@ -0,0 +1,4 @@ +you must run this with SOMETHING=0xdeadbeef in the invironment +3735928559 deadbeef +4027432687 f00dbeef +3072 c00 From d716c71bace4fd76cc0d4ac1fbebae333d609dde Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 2 Sep 2024 14:47:08 +0000 Subject: [PATCH 093/118] Bit set and clear assignments --- CHANGELOG.md | 3 + docs/refman/concatenation.html | 12 +- docs/refman/constant.html | 12 +- docs/refman/directive.html | 2 +- docs/refman/directives.html | 2 +- docs/refman/expression.html | 12 +- docs/refman/function.html | 12 +- docs/refman/oltpxcrun.html | 2 +- docs/refman/rwloadsim.html | 2 +- docs/refman/statement.html | 32 +- docs/refman/statementlist.html | 32 +- man/man1rwl/expression.1rwl | 6 + man/man1rwl/statement.1rwl | 12 +- oltp/tags | 28 +- src/lex.rwly.c | 3819 ++++++++++++----------- src/lex.rwlz.c | 2005 ++++++------ src/rwl.h | 63 +- src/rwlcodeadd.c | 7 +- src/rwlcoderun.c | 7 +- src/rwldilex.l | 3 + src/rwlexprcomp.c | 31 +- src/rwlexpreval.c | 26 + src/rwllexer.l | 7 +- src/rwlparser.tab.c | 5376 ++++++++++++++++---------------- src/rwlparser.tab.h | 8 +- src/rwlparser.y | 15 +- src/rwlvariable.c | 8 + test/397.rwl | 47 + test/test.sh | 7 +- test/testres/388.err.good | 2 +- test/testres/394.err.good | 2 +- test/testres/397.err.good | 2 + test/testres/397.out.good | 12 + 33 files changed, 5901 insertions(+), 5715 deletions(-) create mode 100644 test/397.rwl create mode 100644 test/testres/397.err.good create mode 100644 test/testres/397.out.good diff --git a/CHANGELOG.md b/CHANGELOG.md index c8c9176c..01f93d83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ * Bug fixes * -Dsrc will show source line of all debug messages * OLTP workload gets ociping and connect times +* Bitwise operations and input of hexadecimal constants +* Bit set/clear assignments +* dbsecounds() and ociseconds() functions ## 3.1.3 diff --git a/docs/refman/concatenation.html b/docs/refman/concatenation.html index 7a966fa8..168a17fb 100644 --- a/docs/refman/concatenation.html +++ b/docs/refman/concatenation.html @@ -1,5 +1,5 @@ - + @@ -488,6 +488,13 @@

    OPERATORS NOTE below.

    +

    The various +bitwise operators all operate on integer values that are +signed in rwloadsim. If the actual value is negative, the +behavior is like the same operator in C. It is recommended +that you only use bitwise operators when you know actual +values are zero or positive.

    +

    FUNCTIONS

    @@ -729,7 +736,8 @@

    FUNCTIONS only a subset of OCI calls are timed, the details are at runres(1rwl). The absolute values returned by these calls should not be used, always use the difference between two -calls to either function.

    +calls to either function. When using threads, values are per +thread.

    diff --git a/docs/refman/constant.html b/docs/refman/constant.html index 7a966fa8..168a17fb 100644 --- a/docs/refman/constant.html +++ b/docs/refman/constant.html @@ -1,5 +1,5 @@ - + @@ -488,6 +488,13 @@

    OPERATORS NOTE below.

    +

    The various +bitwise operators all operate on integer values that are +signed in rwloadsim. If the actual value is negative, the +behavior is like the same operator in C. It is recommended +that you only use bitwise operators when you know actual +values are zero or positive.

    +

    FUNCTIONS

    @@ -729,7 +736,8 @@

    FUNCTIONS only a subset of OCI calls are timed, the details are at runres(1rwl). The absolute values returned by these calls should not be used, always use the difference between two -calls to either function.

    +calls to either function. When using threads, values are per +thread.

    diff --git a/docs/refman/directive.html b/docs/refman/directive.html index 3808674d..d0927eba 100644 --- a/docs/refman/directive.html +++ b/docs/refman/directive.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/directives.html b/docs/refman/directives.html index 2ccb33c6..11efba41 100644 --- a/docs/refman/directives.html +++ b/docs/refman/directives.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/expression.html b/docs/refman/expression.html index 96f4127c..168a17fb 100644 --- a/docs/refman/expression.html +++ b/docs/refman/expression.html @@ -1,5 +1,5 @@ - + @@ -488,6 +488,13 @@

    OPERATORS NOTE below.

    +

    The various +bitwise operators all operate on integer values that are +signed in rwloadsim. If the actual value is negative, the +behavior is like the same operator in C. It is recommended +that you only use bitwise operators when you know actual +values are zero or positive.

    +

    FUNCTIONS

    @@ -729,7 +736,8 @@

    FUNCTIONS only a subset of OCI calls are timed, the details are at runres(1rwl). The absolute values returned by these calls should not be used, always use the difference between two -calls to either function.

    +calls to either function. When using threads, values are per +thread.

    diff --git a/docs/refman/function.html b/docs/refman/function.html index 7a966fa8..648b8786 100644 --- a/docs/refman/function.html +++ b/docs/refman/function.html @@ -1,5 +1,5 @@ - + @@ -488,6 +488,13 @@

    OPERATORS NOTE below.

    +

    The various +bitwise operators all operate on integer values that are +signed in rwloadsim. If the actual value is negative, the +behavior is like the same operator in C. It is recommended +that you only use bitwise operators when you know actual +values are zero or positive.

    +

    FUNCTIONS

    @@ -729,7 +736,8 @@

    FUNCTIONS only a subset of OCI calls are timed, the details are at runres(1rwl). The absolute values returned by these calls should not be used, always use the difference between two -calls to either function.

    +calls to either function. When using threads, values are per +thread.

    diff --git a/docs/refman/oltpxcrun.html b/docs/refman/oltpxcrun.html index b048ba68..614d83d4 100644 --- a/docs/refman/oltpxcrun.html +++ b/docs/refman/oltpxcrun.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/rwloadsim.html b/docs/refman/rwloadsim.html index 74f0e402..4f5d128d 100644 --- a/docs/refman/rwloadsim.html +++ b/docs/refman/rwloadsim.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/statement.html b/docs/refman/statement.html index 1372f82f..d958bd23 100644 --- a/docs/refman/statement.html +++ b/docs/refman/statement.html @@ -1,5 +1,5 @@ - + @@ -46,7 +46,9 @@

    SYNTAX
    statement ::=
       simpledeclaration
     | identifier ( [ concatenation { , concatenation } ] ) [ atclause ]
    -| identifier ( := | ||= | += | -= ) concatenation
    +| identifier ( := | ||= ) concatenation
    +| identifier ( += | -= ) expression
    +| identifier ( |= | &~= ) expression
     | identifier ( <= | >= | >>= | >|= | <|= ) concatenation
     | null [ concatenation ]
     | return [ concatenation ]
    @@ -106,15 +108,23 @@ 

    SIMPLE STATEMENTS

    assignment

    An identifier followed by one -of the assignment operators and a concatenation modifies the -variable on the left side. The := operator is an -ordinary assignment, the += or -= operators -adds respectively subtracts the value of the concatenation -to the variable, the ||= operator appends the value -of the concatenation to the variable. Data types can be -freely mixed in rwloadsim, and if you assign an empty string -or a string that contains only white space characters to an -integer or a double, the variable will be set to null.

    +of the assignment operators and an expression or a +concatenation modifies the variable on the left side. The +:= operator is an ordinary assignment, the += +or -= operators adds respectively subtracts the value +of the expression to the variable, the ||= operator +appends the value of the concatenation to the variable. The +|= operator does a bitwise or of the expression to +the variable and the &~= take the bitwise not of +the expression and then does a bitwise and to the variable; +these two effectively sets or clears the bits of the +expression in the variable.

    + +

    Data types can +be freely mixed in rwloadsim, and if you assign an empty +string or a string that contains only white space characters +to an integer or a double, the variable will be set to +null.

    Assignments are not expressions, so you cannot do something like:

    diff --git a/docs/refman/statementlist.html b/docs/refman/statementlist.html index bff6ff2d..fb73ac6d 100644 --- a/docs/refman/statementlist.html +++ b/docs/refman/statementlist.html @@ -1,5 +1,5 @@ - + @@ -46,7 +46,9 @@

    SYNTAX
    statement ::=
       simpledeclaration
     | identifier ( [ concatenation { , concatenation } ] ) [ atclause ]
    -| identifier ( := | ||= | += | -= ) concatenation
    +| identifier ( := | ||= ) concatenation
    +| identifier ( += | -= ) expression
    +| identifier ( |= | &~= ) expression
     | identifier ( <= | >= | >>= | >|= | <|= ) concatenation
     | null [ concatenation ]
     | return [ concatenation ]
    @@ -106,15 +108,23 @@ 

    SIMPLE STATEMENTS

    assignment

    An identifier followed by one -of the assignment operators and a concatenation modifies the -variable on the left side. The := operator is an -ordinary assignment, the += or -= operators -adds respectively subtracts the value of the concatenation -to the variable, the ||= operator appends the value -of the concatenation to the variable. Data types can be -freely mixed in rwloadsim, and if you assign an empty string -or a string that contains only white space characters to an -integer or a double, the variable will be set to null.

    +of the assignment operators and an expression or a +concatenation modifies the variable on the left side. The +:= operator is an ordinary assignment, the += +or -= operators adds respectively subtracts the value +of the expression to the variable, the ||= operator +appends the value of the concatenation to the variable. The +|= operator does a bitwise or of the expression to +the variable and the &~= take the bitwise not of +the expression and then does a bitwise and to the variable; +these two effectively sets or clears the bits of the +expression in the variable.

    + +

    Data types can +be freely mixed in rwloadsim, and if you assign an empty +string or a string that contains only white space characters +to an integer or a double, the variable will be set to +null.

    Assignments are not expressions, so you cannot do something like:

    diff --git a/man/man1rwl/expression.1rwl b/man/man1rwl/expression.1rwl index 271e6b39..54a234dc 100644 --- a/man/man1rwl/expression.1rwl +++ b/man/man1rwl/expression.1rwl @@ -386,6 +386,11 @@ String concatenation. Note that in most cases, the concatenation operator can be omitted as two expressions immediately after each other are taken as concatenation. See NOTE below. +.P +The various bitwise operators all operate on integer values that are signed in rwloadsim. +If the actual value is negative, the behavior is like the same operator in C. +It is recommended that you only use bitwise operators when you know actual values are +zero or positive. .SH FUNCTIONS User declared functions can be called as part of expression evaluation using the syntax .P @@ -500,6 +505,7 @@ and \fB$statsapptime:on\fR, otherwise the return values will be zero. Please note that only a subset of OCI calls are timed, the details are at runres(1rwl). The absolute values returned by these calls should not be used, always use the difference between two calls to either function. +When using threads, values are per thread. .TP .B getenv(s) Return the value of the environment variable provided as the argument. diff --git a/man/man1rwl/statement.1rwl b/man/man1rwl/statement.1rwl index fcd0cc17..a7a71efa 100644 --- a/man/man1rwl/statement.1rwl +++ b/man/man1rwl/statement.1rwl @@ -7,7 +7,9 @@ statement \- RWP*Load Simulator statement syntax statement ::= simpledeclaration | identifier \fB(\fR [ concatenation { \fB,\fR concatenation } ] \fB)\fR [ atclause ] -| identifier ( \fB:=\fR | \fB||=\fR | \fB+=\fR | \fB-=\fR ) concatenation +| identifier ( \fB:=\fR | \fB||=\fR ) concatenation +| identifier ( \fB+=\fR | \fB-=\fR ) expression +| identifier ( \fB|=\fR | \fB&~=\fR ) expression | identifier ( \fB<=\fR | \fB>=\fR | \fB>>=\fR | \fB>|=\fR | \fB<|=\fR ) concatenation | \fBnull\fR [ concatenation ] | \fBreturn\fR [ concatenation ] @@ -56,12 +58,16 @@ If an at clause is provided, the execution will be against the specified databas .PP \fBassignment\fR .RS 4 -An identifier followed by one of the assignment operators and a concatenation +An identifier followed by one of the assignment operators and an expression or a concatenation modifies the variable on the left side. The \fB:=\fR operator is an ordinary assignment, the \fB+=\fR or \fB-=\fR operators adds respectively subtracts the value -of the concatenation to the variable, the \fB||=\fR operator appends the value of the +of the expression to the variable, the \fB||=\fR operator appends the value of the concatenation to the variable. +The \fB|=\fR operator does a bitwise or of the expression to the variable +and the \fB&~=\fR take the bitwise not of the expression and then does a bitwise and to the variable; +these two effectively sets or clears the bits of the expression in the variable. +.PP Data types can be freely mixed in rwloadsim, and if you assign an empty string or a string that contains only white space characters to an integer or a double, the variable will be set to null. diff --git a/oltp/tags b/oltp/tags index e3623bd7..14f51ff0 100644 --- a/oltp/tags +++ b/oltp/tags @@ -34,12 +34,12 @@ aburst_start parameters.rwl 190 aburst_workers parameters.rwl 187 actbatch csvdata.rwl 283 actbatch mtitrun.rwl 83 -actbatch run.rwl 570 +actbatch run.rwl 572 action runsys.rwl 53 activeses plotfigures.rwl 56 actpool csvdata.rwl 283 actpool mtitrun.rwl 83 -actpool run.rwl 570 +actpool run.rwl 572 add_inventory oe_handle_products.rwl 57 affinity xcchange.rwl 44 affinratio mtit_declarations.rwl 220 @@ -450,7 +450,7 @@ insevname ashstep1.rwl 53 insinv oe_fillwarehouses.rwl 36 inspoolsizes runsys.rwl 132 insrwlcpu mtitrun.rwl 86 -insrwlcpu run.rwl 573 +insrwlcpu run.rwl 575 inst oerhtml.rwl 17 inst1 plotfigures.rwl 71 inst2 plotfigures.rwl 71 @@ -568,11 +568,11 @@ l_wsec xcdefault.rwl 20 l_wsec xcvalues.rwl 30 largeashok parameters.rwl 257 lastsec mtitrun.rwl 81 -lastsec run.rwl 568 +lastsec run.rwl 570 lastsys mtitrun.rwl 81 -lastsys run.rwl 568 +lastsys run.rwl 570 lastusr mtitrun.rwl 81 -lastusr run.rwl 568 +lastusr run.rwl 570 lc csvdata.rwl 649 lc csvmtit.rwl 370 lcsec xcdefault.rwl 20 @@ -771,10 +771,10 @@ only_plus parameters2shell.rwl 16 onlyone latest.rwl 22 onrac timemodel.rwl 42 openbatch csvdata.rwl 283 -openbatch run.rwl 570 +openbatch run.rwl 572 openpool csvdata.rwl 283 openpool mtitrun.rwl 83 -openpool run.rwl 570 +openpool run.rwl 572 openses plotfigures.rwl 56 oraepoch checkepoch.rwl 20 ord_rowid oe_handle_orders.rwl 385 @@ -1081,7 +1081,7 @@ searchproduct_weight parameters.rwl 113 searchtext oe_handle_products.rwl 15 sec eatcpu.rwl 9 sec mtitrun.rwl 82 -sec run.rwl 569 +sec run.rwl 571 secnow timemodel.rwl 112 second csvdata.rwl 107 second csvmtit.rwl 83 @@ -1186,7 +1186,7 @@ sumdbtime csvmtit.rwl 77 sume oe_handle_orders.rwl 695 svgmouse parameters.rwl 752 sys mtitrun.rwl 82 -sys run.rwl 569 +sys run.rwl 571 sys1 csvosstat.rwl 14 sys1 timemodel.rwl 198 sys2 csvosstat.rwl 14 @@ -1230,12 +1230,12 @@ termdist_query_gv timemodel.rwl 89 test_aw_transaction aw_declarations.rwl 293 testdebug parameters.rwl 164 thissec mtitrun.rwl 81 -thissec run.rwl 568 +thissec run.rwl 570 thissys mtitrun.rwl 81 -thissys run.rwl 568 +thissys run.rwl 570 thisterm timemodel.rwl 40 thisusr mtitrun.rwl 81 -thisusr run.rwl 568 +thisusr run.rwl 570 threadcount parameters.rwl 100 threadcount_divisor parameters.rwl 410 threadcount_multiplier parameters.rwl 408 @@ -1289,7 +1289,7 @@ updprod oe_long_session.rwl 28 usr check_directories.rwl 10 usr mtitrun.rwl 82 usr oltp.rwl 41 -usr run.rwl 569 +usr run.rwl 571 usr1 csvosstat.rwl 13 usr1 timemodel.rwl 197 usr2 csvosstat.rwl 13 diff --git a/src/lex.rwly.c b/src/lex.rwly.c index 6dfa6db4..4449bec0 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 363 -#define YY_END_OF_BUFFER 364 +#define YY_NUM_RULES 365 +#define YY_END_OF_BUFFER 366 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -352,229 +352,229 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[2003] = +static yyconst flex_int16_t yy_accept[2006] = { 0, - 0, 0, 364, 362, 360, 359, 194, 362, 361, 355, - 186, 216, 362, 187, 188, 184, 182, 189, 183, 362, - 185, 47, 47, 196, 242, 192, 190, 193, 195, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 362, 217, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 218, - 213, 360, 204, 0, 43, 0, 361, 356, 240, 239, - 241, 356, 356, 356, 356, 356, 356, 356, 356, 356, - 356, 356, 356, 356, 356, 356, 356, 356, 356, 227, - - 0, 42, 0, 230, 229, 207, 40, 208, 177, 41, - 228, 231, 46, 47, 0, 0, 206, 214, 201, 205, - 0, 191, 202, 215, 0, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 357, 0, 238, 238, 238, 238, 238, 91, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 162, 238, 238, 181, 238, 238, 238, 238, 238, 238, - - 238, 238, 238, 200, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 209, - 239, 241, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 366, 364, 362, 361, 194, 364, 363, 357, + 186, 218, 364, 187, 188, 184, 182, 189, 183, 364, + 185, 47, 47, 196, 244, 192, 190, 193, 195, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 364, 219, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 220, + 215, 362, 204, 0, 43, 0, 363, 358, 242, 241, + 243, 358, 358, 358, 358, 358, 358, 358, 358, 358, + 358, 358, 358, 358, 358, 358, 358, 358, 358, 229, + + 0, 0, 42, 0, 232, 231, 207, 40, 208, 177, + 41, 230, 233, 46, 47, 0, 0, 206, 216, 201, + 205, 0, 191, 202, 217, 0, 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, 240, 359, 0, 240, 240, 240, 240, 240, + 91, 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, 240, 240, 240, + 240, 162, 240, 240, 181, 240, 240, 240, 240, 240, + + 240, 240, 240, 240, 200, 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, + 209, 211, 241, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 46, 0, 0, 44, 49, 232, 211, 203, 210, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - - 238, 238, 238, 238, 238, 238, 238, 238, 358, 238, - 238, 238, 174, 198, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 124, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 104, 238, 238, - 238, 238, 238, 114, 238, 238, 238, 173, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 113, 238, 238, 238, 238, 238, 238, 238, 238, - 197, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 58, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 97, 238, 238, 238, 238, 123, 238, 75, 238, - - 238, 238, 238, 238, 179, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 210, 48, 46, 0, 0, 44, 49, 234, 213, + 203, 212, 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, 240, 240, + 240, 360, 240, 240, 240, 174, 198, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 124, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 104, 240, 240, 240, 240, 240, 114, 240, 240, 240, + 173, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 113, 240, 240, 240, 240, 240, + 240, 240, 240, 197, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 58, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 97, 240, 240, 240, 240, 123, + + 240, 75, 240, 240, 240, 240, 240, 179, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 0, 238, 238, 238, 238, - 238, 238, 38, 238, 238, 238, 238, 238, 37, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 0, 238, 238, 33, 238, 238, 238, 238, 238, - - 238, 98, 57, 238, 237, 115, 56, 238, 238, 238, - 238, 238, 61, 238, 238, 238, 238, 238, 238, 108, - 165, 238, 238, 238, 238, 238, 53, 238, 150, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 72, 238, 238, 172, 238, 238, 238, 238, 238, - 238, 238, 178, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 122, 238, 238, 103, 238, 238, 238, 238, 164, - 238, 238, 238, 238, 238, 168, 163, 238, 238, 238, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 45, 0, 240, + 240, 240, 240, 240, 240, 38, 240, 240, 240, 240, + 240, 37, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 0, 240, 240, 33, 240, 240, + + 240, 240, 240, 240, 98, 57, 240, 239, 115, 56, + 240, 240, 240, 240, 240, 61, 240, 240, 240, 240, + 240, 240, 108, 165, 240, 240, 240, 240, 240, 53, + 240, 150, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 72, 240, 240, 172, 240, 240, + 240, 240, 240, 240, 240, 178, 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, 240, 240, 122, 240, 240, 103, 240, 240, + 240, 240, 164, 240, 240, 240, 240, 240, 168, 163, + + 240, 240, 240, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 249, 0, 0, 50, - 238, 36, 238, 238, 21, 34, 238, 238, 238, 238, - 238, 238, 238, 20, 238, 0, 31, 238, 24, 238, - 238, 238, 238, 0, 0, 0, 238, 238, 73, 238, - 238, 149, 226, 238, 238, 62, 238, 238, 102, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - - 238, 171, 238, 238, 117, 238, 238, 138, 238, 238, - 238, 238, 238, 125, 238, 238, 238, 238, 238, 233, - 59, 238, 238, 238, 238, 238, 238, 65, 238, 238, - 159, 238, 238, 238, 238, 169, 238, 238, 238, 154, - 238, 238, 238, 238, 238, 118, 238, 238, 238, 238, - 175, 238, 238, 101, 238, 238, 238, 238, 238, 238, - 238, 116, 238, 238, 238, 167, 238, 151, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, + 0, 0, 50, 240, 36, 240, 240, 21, 34, 240, + 240, 240, 240, 240, 240, 240, 20, 240, 0, 31, + 240, 24, 240, 240, 240, 240, 0, 0, 0, 240, + 240, 73, 240, 240, 149, 228, 240, 240, 62, 240, + 240, 102, 240, 240, 240, 240, 240, 240, 240, 240, + + 240, 240, 240, 240, 171, 240, 240, 117, 240, 240, + 138, 240, 240, 240, 240, 240, 125, 240, 240, 240, + 240, 240, 235, 59, 240, 240, 240, 240, 240, 240, + 65, 240, 240, 159, 240, 240, 240, 240, 169, 240, + 240, 240, 154, 240, 240, 240, 240, 240, 118, 240, + 240, 240, 240, 175, 240, 240, 101, 240, 240, 240, + 240, 240, 240, 240, 116, 240, 240, 240, 167, 240, + 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, - 238, 238, 238, 19, 238, 32, 238, 238, 238, 30, - 0, 238, 25, 26, 238, 28, 0, 0, 0, 238, - 29, 137, 238, 238, 238, 88, 238, 238, 238, 238, - 71, 238, 238, 100, 145, 166, 70, 238, 133, 238, - 158, 238, 238, 139, 130, 238, 95, 238, 238, 126, - 238, 180, 129, 238, 74, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 67, 238, 238, 238, 238, - 60, 238, 148, 238, 238, 238, 238, 238, 238, 238, - - 238, 52, 238, 238, 238, 238, 238, 238, 222, 238, - 238, 147, 127, 236, 131, 238, 238, 238, 238, 238, - 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 240, 240, 240, 240, 19, 240, 32, 240, + 240, 240, 30, 0, 240, 25, 26, 240, 28, 0, + 0, 0, 240, 29, 137, 240, 240, 240, 88, 240, + 240, 240, 240, 71, 240, 240, 100, 145, 166, 70, + 240, 133, 240, 158, 240, 240, 139, 130, 240, 95, + 240, 240, 126, 240, 180, 129, 240, 74, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 67, 240, + 240, 240, 240, 60, 240, 148, 240, 240, 240, 240, + + 240, 240, 240, 240, 52, 240, 240, 240, 240, 240, + 240, 224, 240, 240, 147, 127, 238, 131, 240, 240, + 240, 240, 240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 238, 23, 238, 238, 0, - 35, 238, 238, 238, 0, 22, 238, 0, 0, 0, - 238, 238, 199, 99, 79, 238, 238, 238, 238, 90, - - 238, 134, 135, 136, 176, 69, 238, 238, 238, 238, - 146, 132, 238, 238, 238, 238, 170, 238, 238, 87, - 238, 238, 238, 238, 238, 96, 238, 238, 238, 54, - 238, 238, 238, 85, 238, 92, 238, 238, 238, 238, - 238, 68, 238, 238, 128, 94, 111, 238, 238, 238, - 238, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 329, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 238, 238, 0, - 0, 0, 0, 0, 0, 0, 238, 0, 238, 0, - 238, 0, 10, 0, 39, 238, 238, 238, 82, 238, - 238, 238, 51, 238, 238, 238, 238, 234, 238, 238, - 238, 238, 238, 238, 81, 238, 161, 238, 238, 153, - 238, 238, 155, 238, 89, 238, 238, 238, 86, 238, - 238, 63, 80, 238, 238, 55, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 240, 23, + 240, 240, 0, 35, 240, 240, 240, 0, 22, 240, + 0, 0, 0, 240, 240, 199, 99, 79, 240, 240, + + 240, 240, 90, 240, 134, 135, 136, 176, 69, 240, + 240, 240, 240, 146, 132, 240, 240, 240, 240, 170, + 240, 240, 87, 240, 240, 240, 240, 240, 96, 240, + 240, 240, 54, 240, 240, 240, 85, 240, 92, 240, + 240, 240, 240, 240, 68, 240, 240, 128, 94, 111, + 240, 240, 240, 240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 248, 0, 0, 0, + 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 238, 238, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 238, 0, 238, 0, 27, 0, 0, 238, 238, - 238, 142, 109, 238, 144, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 160, 93, 238, 110, 238, 156, - 238, 238, 238, 238, 84, 238, 238, 152, 0, 0, + 240, 240, 0, 0, 0, 0, 0, 0, 0, 240, + 0, 240, 0, 240, 0, 10, 0, 39, 240, 240, + 240, 82, 240, 240, 240, 51, 240, 240, 240, 240, + 236, 240, 240, 240, 240, 240, 240, 81, 240, 161, + 240, 240, 153, 240, 240, 155, 240, 89, 240, 240, + 240, 86, 240, 240, 63, 80, 240, 240, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 337, 0, 0, 0, 0, 0, 0, 0, 0, 335, - 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 272, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 238, 0, 4, 0, 0, 0, 0, - 0, 0, 0, 0, 238, 0, 0, 8, 0, 0, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 143, 238, 238, 238, 238, 140, 238, 238, 119, - 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 338, 337, 336, 0, 0, 0, 0, 0, - 0, 288, 335, 0, 0, 0, 0, 0, 0, 286, - 0, 0, 285, 0, 0, 333, 332, 0, 345, 0, + 0, 0, 0, 0, 0, 273, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 240, 240, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 240, 0, 240, 0, 27, 0, + 0, 240, 240, 240, 142, 109, 240, 144, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 160, 93, 240, + 110, 240, 156, 240, 240, 240, 240, 84, 240, 240, + 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 339, 0, 0, 0, 0, 0, 0, + 0, 0, 337, 0, 0, 0, 0, 335, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 339, 339, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 240, 0, 4, 0, + 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, + 8, 0, 0, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 143, 240, 240, 240, 240, 140, + 240, 240, 119, 240, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 340, 339, 338, 0, 0, + 0, 0, 0, 0, 290, 337, 0, 0, 0, 0, + 0, 0, 288, 0, 0, 287, 0, 0, 335, 334, + + 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 341, 341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 13, 0, 0, 0, 0, 0, 12, 238, - 0, 0, 0, 0, 0, 238, 238, 238, 77, 238, - 64, 76, 66, 238, 238, 238, 238, 238, 238, 238, - 83, 238, 105, 238, 219, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 338, 336, 0, 0, - 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, - 0, 0, 285, 0, 0, 332, 331, 0, 0, 0, + 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 12, 240, 0, 0, 0, 0, 0, 240, 240, + 240, 77, 240, 64, 76, 66, 240, 240, 240, 240, + 240, 240, 240, 83, 240, 105, 240, 221, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, + 338, 0, 0, 0, 0, 0, 0, 290, 0, 0, + 0, 0, 0, 0, 0, 287, 0, 0, 334, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 339, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, - 5, 0, 0, 0, 0, 238, 238, 238, 141, 235, - 238, 112, 121, 238, 238, 157, 238, 238, 220, 330, - 0, 261, 273, 274, 0, 341, 0, 0, 0, 0, - 0, 326, 0, 0, 0, 0, 263, 0, 0, 0, - 0, 0, 0, 0, 302, 243, 331, 0, 0, 0, - 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 340, 334, 0, 0, 0, 256, + 0, 0, 0, 0, 341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 245, 246, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, - 238, 238, 78, 238, 238, 221, 238, 330, 262, 0, - 342, 0, 0, 0, 0, 322, 0, 326, 0, 0, - 0, 264, 0, 0, 299, 301, 0, 0, 0, 243, - 0, 0, 0, 267, 270, 0, 0, 0, 0, 275, - 0, 0, 0, 0, 0, 281, 0, 0, 340, 334, + 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 240, 5, 0, 0, 0, 0, 240, 240, + 240, 141, 237, 240, 112, 121, 240, 240, 157, 240, + 240, 222, 332, 0, 263, 275, 276, 0, 343, 0, + 0, 0, 0, 0, 328, 0, 0, 0, 0, 265, + 0, 0, 0, 0, 0, 0, 0, 304, 245, 333, + 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 342, 336, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 247, 248, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 240, 240, 240, 78, 240, 240, 223, 240, + 332, 264, 0, 344, 0, 0, 0, 0, 324, 0, + 328, 0, 0, 0, 266, 0, 0, 301, 303, 0, + 0, 0, 245, 0, 0, 0, 269, 272, 0, 0, + 0, 0, 277, 0, 0, 0, 0, 0, 283, 0, + 0, 342, 336, 0, 0, 260, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 245, 0, 246, - 0, 0, 0, 0, 17, 0, 16, 0, 18, 0, - 0, 0, 9, 0, 238, 238, 106, 238, 238, 120, - 0, 296, 342, 0, 0, 0, 316, 0, 323, 0, - 0, 0, 287, 0, 289, 0, 0, 0, 0, 244, - 0, 268, 0, 276, 0, 277, 0, 279, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, - 0, 343, 255, 0, 0, 0, 0, 320, 0, 0, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, - 7, 11, 238, 107, 238, 238, 297, 0, 0, 0, - - 317, 0, 312, 0, 0, 0, 290, 0, 300, 0, - 0, 244, 0, 295, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 257, 0, 310, 0, 0, 0, - 0, 344, 0, 0, 0, 318, 321, 0, 0, 0, - 0, 245, 0, 0, 246, 0, 0, 0, 0, 15, - 0, 0, 238, 223, 238, 298, 0, 0, 313, 0, - 314, 0, 0, 0, 0, 0, 0, 295, 0, 291, - 0, 0, 280, 0, 283, 0, 0, 0, 305, 0, - 311, 0, 0, 0, 0, 344, 253, 0, 319, 0, - 0, 0, 0, 0, 0, 0, 0, 238, 225, 298, - - 0, 328, 315, 0, 0, 0, 354, 0, 304, 0, - 0, 292, 278, 282, 0, 0, 0, 0, 306, 0, - 0, 0, 347, 348, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 224, 0, 294, 0, 303, 0, 284, - 0, 307, 0, 0, 0, 0, 0, 349, 0, 0, - 0, 0, 0, 0, 0, 0, 327, 294, 0, 0, - 308, 0, 0, 324, 0, 0, 0, 0, 353, 352, - 0, 2, 0, 293, 346, 309, 325, 0, 0, 350, - 0, 0, 0, 259, 353, 352, 0, 0, 293, 346, - 0, 265, 254, 260, 0, 0, 266, 0, 3, 0, - - 1, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 247, 0, 248, 0, 0, 0, 0, 17, 0, 16, + 0, 18, 0, 0, 0, 9, 0, 240, 240, 106, + 240, 240, 120, 0, 298, 344, 0, 0, 0, 318, + 0, 325, 0, 0, 0, 289, 0, 291, 0, 0, + 0, 0, 246, 0, 270, 0, 278, 0, 279, 0, + 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 353, 0, 345, 257, 0, 0, 0, 0, + 322, 0, 0, 0, 0, 0, 0, 0, 14, 0, + 0, 0, 0, 7, 11, 240, 107, 240, 240, 299, + + 0, 0, 0, 319, 0, 314, 0, 0, 0, 292, + 0, 302, 0, 0, 246, 0, 297, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 259, 0, 312, + 0, 0, 0, 0, 346, 0, 0, 0, 320, 323, + 0, 0, 0, 0, 247, 0, 0, 248, 0, 0, + 0, 0, 15, 0, 0, 240, 225, 240, 300, 0, + 0, 315, 0, 316, 0, 0, 0, 0, 0, 0, + 297, 0, 293, 0, 0, 282, 0, 285, 0, 0, + 0, 307, 0, 313, 0, 0, 0, 0, 346, 255, + 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, + + 240, 227, 300, 0, 330, 317, 0, 0, 0, 356, + 0, 306, 0, 0, 294, 280, 284, 0, 0, 0, + 0, 308, 0, 0, 0, 349, 350, 0, 0, 0, + 0, 0, 0, 0, 0, 6, 226, 0, 296, 0, + 305, 0, 286, 0, 309, 0, 0, 0, 0, 0, + 351, 0, 0, 0, 0, 0, 0, 0, 0, 329, + 296, 0, 0, 310, 0, 0, 326, 0, 0, 0, + 0, 355, 354, 0, 2, 0, 295, 348, 311, 327, + 0, 0, 352, 0, 0, 0, 261, 355, 354, 0, + 0, 295, 348, 0, 267, 256, 262, 0, 0, 268, + + 0, 3, 0, 1, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -622,465 +622,465 @@ static yyconst YY_CHAR yy_meta[89] = 21, 21, 21, 22, 21, 21, 1, 1 } ; -static yyconst flex_uint16_t yy_base[2044] = +static yyconst flex_uint16_t yy_base[2047] = { 0, - 0, 0, 3490, 3491, 87, 3491, 3460, 84, 0, 142, - 3491, 3478, 81, 3491, 3491, 3458, 78, 3491, 77, 3468, - 81, 213, 221, 3456, 3491, 222, 3455, 218, 3491, 219, + 0, 0, 3493, 3494, 87, 3494, 3463, 84, 0, 142, + 3494, 221, 81, 3494, 3494, 3462, 78, 3494, 77, 3472, + 81, 214, 222, 3460, 3494, 223, 3459, 219, 3494, 220, 60, 66, 68, 42, 56, 52, 0, 57, 57, 69, - 63, 59, 80, 223, 183, 206, 216, 110, 3491, 275, - 230, 285, 254, 293, 315, 209, 3418, 247, 214, 231, - 261, 265, 283, 3401, 332, 340, 262, 304, 334, 3394, - 3491, 116, 3491, 327, 3491, 0, 0, 3491, 3491, 406, - 0, 49, 3411, 314, 210, 360, 3410, 3403, 345, 3402, - 298, 204, 58, 3398, 3394, 333, 371, 51, 3395, 3491, - - 341, 3491, 3470, 3491, 3491, 3491, 3491, 3491, 3491, 3491, - 3491, 3491, 432, 440, 457, 0, 3491, 3443, 3491, 3491, - 3442, 3491, 3491, 3441, 3440, 0, 362, 359, 383, 387, - 405, 403, 403, 415, 431, 449, 421, 427, 437, 453, - 454, 437, 455, 441, 459, 444, 450, 441, 455, 447, - 466, 453, 3491, 3465, 3392, 200, 457, 475, 3388, 3404, - 471, 3390, 3388, 3397, 468, 3392, 3385, 481, 3381, 3378, - 3378, 500, 3375, 495, 3376, 481, 3379, 3381, 3387, 502, - 3379, 3378, 514, 3371, 3370, 3373, 3373, 3365, 3369, 3359, - 0, 3368, 500, 3367, 487, 519, 3376, 3359, 3366, 524, - - 3365, 55, 3371, 0, 3356, 313, 528, 3369, 443, 546, - 487, 3359, 557, 301, 3358, 3353, 520, 536, 469, 3361, - 3350, 487, 524, 335, 3363, 3358, 380, 542, 3357, 3396, - 618, 0, 3341, 3347, 3348, 3346, 3346, 3345, 3352, 3355, - 3341, 3336, 3352, 3349, 3334, 3346, 3338, 3330, 604, 3332, - 3344, 3332, 3321, 494, 3331, 3340, 3324, 3340, 3335, 3334, - 3324, 361, 504, 3336, 3324, 549, 3330, 3325, 3328, 3491, - 624, 641, 630, 647, 3374, 3491, 3491, 3491, 3491, 548, - 559, 614, 613, 633, 634, 632, 632, 645, 635, 644, - 649, 635, 640, 634, 640, 651, 648, 653, 640, 655, - - 662, 649, 660, 661, 629, 653, 667, 661, 3491, 3313, - 3325, 3320, 0, 0, 3327, 3313, 3303, 3321, 3322, 3322, - 3317, 3309, 3318, 657, 3305, 0, 3304, 3298, 554, 3311, - 665, 3306, 670, 3312, 3297, 3307, 3296, 0, 3307, 3308, - 3290, 3304, 3286, 672, 3284, 3299, 3288, 0, 3293, 3298, - 3287, 556, 3297, 3297, 3282, 681, 3291, 3274, 3283, 3286, - 3276, 0, 3275, 3281, 3284, 3273, 3266, 3265, 3272, 3264, - 0, 3271, 225, 3281, 3267, 3261, 659, 3276, 3266, 654, - 3273, 0, 3272, 3260, 3269, 3268, 3251, 3250, 3249, 3257, - 3254, 3248, 3244, 3246, 3246, 3257, 0, 3253, 3261, 3240, - - 656, 3243, 3249, 3238, 0, 3236, 3235, 3240, 3248, 673, - 3246, 3242, 3232, 3229, 3234, 3235, 3227, 3225, 3491, 3243, - 3238, 3238, 3238, 3226, 3227, 3237, 3216, 3218, 3230, 3229, - 3224, 3217, 3217, 3225, 3209, 3280, 730, 735, 734, 3215, - 3214, 3218, 682, 3199, 3218, 3217, 3216, 3201, 257, 3256, - 3197, 3213, 3212, 3200, 3195, 3212, 3193, 3199, 670, 3201, - 3195, 3201, 3189, 735, 743, 3248, 704, 703, 697, 735, - 719, 726, 0, 736, 722, 742, 724, 726, 0, 745, - 740, 729, 735, 783, 752, 754, 754, 747, 750, 746, - 760, 793, 773, 760, 0, 3185, 3185, 3181, 3177, 3239, - - 3195, 3184, 0, 3187, 0, 0, 0, 778, 3192, 3176, - 3180, 3192, 0, 3190, 3188, 3188, 3169, 3175, 3176, 0, - 3178, 3182, 3177, 3170, 3158, 3161, 0, 3162, 0, 3162, - 3165, 3158, 3176, 3162, 3154, 3173, 3169, 3154, 3153, 3163, - 3157, 0, 3148, 3149, 0, 3160, 3141, 3162, 3145, 3157, - 3160, 3159, 0, 3150, 3153, 3145, 3137, 3132, 3134, 3152, - 3147, 3142, 3125, 3144, 3133, 3135, 3132, 3121, 3143, 3138, - 3130, 3123, 3138, 3135, 3133, 3132, 3127, 3131, 3114, 3119, - 3123, 0, 3111, 759, 0, 3116, 3109, 3125, 3122, 0, - 3125, 782, 3110, 3117, 3109, 0, 0, 3117, 3109, 3115, - - 3094, 3100, 3102, 3105, 3110, 770, 3105, 3106, 3099, 3491, - 3107, 3104, 3091, 3088, 3095, 3092, 807, 823, 824, 3157, - 817, 3095, 3082, 3087, 3086, 3096, 3084, 3085, 3131, 3091, - 3094, 3074, 3132, 3074, 3130, 3085, 3070, 3086, 3073, 3077, - 3082, 3076, 3068, 3062, 760, 3067, 3491, 3065, 784, 3491, - 786, 0, 776, 795, 0, 0, 793, 805, 805, 821, - 808, 820, 832, 0, 815, 874, 0, 828, 0, 833, - 836, 828, 828, 834, 835, 833, 852, 849, 0, 3060, - 3073, 0, 0, 3072, 3044, 0, 3044, 3060, 0, 3031, - 3015, 2979, 2968, 2971, 2959, 2959, 2934, 2911, 2890, 2875, - - 2866, 0, 2852, 2851, 0, 2838, 2846, 2880, 2819, 2819, - 2822, 2828, 2827, 2829, 2823, 2815, 2818, 2814, 2793, 821, - 0, 2798, 2795, 2803, 2794, 2798, 2808, 0, 2805, 2794, - 830, 2782, 2787, 2780, 2768, 0, 2768, 831, 2766, 826, - 2758, 2757, 2755, 2735, 2744, 0, 2741, 2723, 2724, 2727, - 0, 2715, 2730, 0, 2720, 2679, 2690, 2678, 2683, 2676, - 2684, 860, 2669, 2671, 2682, 0, 2681, 2669, 2659, 2658, - 780, 2651, 2661, 2658, 2657, 2640, 2641, 2643, 2639, 2652, - 2648, 3491, 843, 2635, 2639, 2646, 885, 907, 908, 2623, - 2621, 2573, 2564, 2562, 2563, 2557, 906, 2529, 2550, 2550, - - 2589, 2530, 2535, 531, 2530, 2513, 2519, 2511, 2500, 2516, - 2511, 2478, 2456, 856, 2463, 2455, 2463, 2451, 2441, 868, - 883, 890, 873, 933, 896, 0, 887, 893, 907, 0, - 909, 891, 0, 0, 903, 0, 899, 902, 917, 901, - 0, 0, 2444, 2448, 2429, 0, 2428, 2444, 2415, 2419, - 0, 2412, 2369, 0, 0, 0, 0, 2357, 934, 2355, - 0, 2352, 2342, 0, 0, 2355, 0, 2352, 2349, 0, - 2335, 0, 2350, 2345, 0, 2345, 2344, 2333, 2342, 2328, - 2336, 2337, 2328, 2283, 2281, 0, 2288, 2295, 2290, 2272, - 0, 2276, 0, 2276, 178, 280, 289, 319, 382, 430, - - 490, 0, 720, 755, 756, 866, 881, 891, 0, 897, - 879, 0, 898, 0, 0, 884, 891, 900, 893, 897, - 908, 906, 919, 916, 904, 905, 906, 913, 927, 911, - 921, 910, 926, 913, 929, 930, 927, 922, 924, 926, - 993, 994, 995, 935, 941, 927, 943, 935, 949, 936, - 992, 942, 944, 940, 1001, 948, 955, 950, 944, 962, - 962, 964, 956, 962, 957, 966, 969, 955, 960, 975, - 970, 964, 968, 961, 973, 992, 0, 993, 1043, 1074, - 0, 1016, 1049, 1020, 1022, 0, 1011, 1007, 1022, 1015, - 1025, 983, 0, 0, 980, 1001, 998, 1000, 1000, 0, - - 1003, 0, 0, 0, 0, 0, 994, 1002, 1001, 993, - 0, 0, 1009, 1000, 1009, 1004, 0, 1027, 1012, 0, - 1018, 1014, 1030, 1021, 1018, 0, 1019, 1018, 1034, 0, - 1037, 1021, 1040, 0, 1030, 0, 1033, 1031, 1041, 1031, - 1023, 0, 1031, 1041, 0, 0, 0, 1048, 1048, 1046, - 1042, 1056, 1038, 1048, 1044, 1050, 1065, 1062, 1063, 1065, - 1061, 1051, 1054, 1067, 1108, 1109, 1072, 1057, 1065, 1059, - 1076, 1077, 1135, 1137, 1139, 1068, 1125, 1083, 1127, 1075, - 1084, 1085, 1138, 1105, 1089, 1099, 1146, 1092, 1099, 1106, - 1108, 1110, 1109, 1113, 1101, 1103, 1105, 1112, 1119, 1114, - - 1108, 1105, 1121, 1114, 1112, 1120, 1110, 1155, 1156, 1191, - 1144, 1165, 1158, 1150, 1168, 1153, 1161, 1201, 1164, 1164, - 1159, 1161, 3491, 1163, 0, 1129, 1139, 1152, 0, 1137, - 1154, 1144, 0, 1157, 1150, 1146, 1152, 0, 1168, 1171, - 1166, 1163, 1180, 1176, 0, 1182, 0, 1184, 1181, 0, - 1171, 1174, 1186, 1193, 0, 1191, 1184, 1182, 0, 1187, - 1196, 0, 0, 1194, 1196, 0, 1182, 1199, 1199, 1204, - 1189, 1190, 1191, 1198, 1197, 1207, 1208, 1248, 0, 1266, - 1212, 1217, 1214, 1211, 1207, 1256, 1275, 1276, 1260, 1281, - 1213, 1270, 1270, 1218, 1272, 1225, 1220, 1222, 1277, 1278, - - 1240, 1240, 3491, 1229, 1282, 1245, 1231, 1237, 1239, 1232, - 1241, 1241, 1254, 1238, 1250, 1236, 1256, 1296, 1248, 1261, - 1276, 1324, 1284, 1285, 1278, 1299, 1331, 1302, 1291, 1299, - 1293, 1309, 1299, 1341, 1310, 0, 1298, 1316, 1270, 1276, - 1283, 0, 0, 1278, 0, 1292, 1280, 1293, 1296, 1301, - 1299, 1295, 1288, 1297, 0, 0, 1307, 0, 1313, 0, - 1300, 1300, 1315, 1306, 0, 1303, 1361, 0, 1319, 1359, - 1306, 1314, 1308, 1311, 1329, 1322, 1325, 1321, 1315, 0, - 0, 1377, 1323, 1322, 1335, 1379, 1340, 1346, 0, 1401, - 1356, 1404, 1381, 1338, 1412, 1425, 1387, 0, 1336, 1351, - - 1390, 1337, 1379, 1380, 1368, 3491, 1345, 1418, 1362, 1430, - 1377, 1427, 1390, 1393, 1387, 1384, 1395, 1393, 1406, 1388, - 1463, 1397, 1404, 1475, 1484, 3491, 1440, 1443, 1431, 1487, - 1439, 1449, 1446, 1456, 1442, 1462, 1493, 3491, 1466, 1466, - 1430, 1438, 1437, 1441, 1434, 1429, 1440, 1432, 1452, 1441, - 1454, 0, 1444, 1450, 1457, 1453, 0, 1464, 1454, 1455, - 1469, 1506, 1458, 1509, 1472, 1512, 1464, 1468, 1467, 1516, - 1474, 1519, 0, 0, 0, 1474, 1482, 1476, 1474, 1465, - 1478, 0, 1567, 1483, 1488, 1489, 1480, 1490, 1553, 3491, - 1565, 1536, 3491, 1566, 1534, 1556, 1577, 1583, 0, 1486, - - 1536, 1489, 1498, 1492, 1496, 1507, 1502, 1508, 1509, 1541, - 1507, 1532, 1559, 1560, 1587, 1596, 1545, 1545, 1540, 1593, - 1561, 1600, 1554, 1563, 1565, 1552, 1626, 1607, 1608, 1643, - 1584, 1586, 3491, 1606, 1604, 1609, 1613, 1612, 3491, 1616, - 1608, 1622, 1625, 1618, 1608, 1580, 1584, 1585, 0, 1582, - 0, 0, 0, 1597, 1595, 1592, 1589, 1608, 1609, 1593, - 0, 1595, 0, 1601, 1614, 1669, 1629, 1676, 1651, 1684, - 1602, 1672, 1634, 1625, 1627, 1695, 0, 0, 1641, 1632, - 1685, 1647, 1686, 1657, 0, 1649, 1644, 1659, 1661, 1644, - 1662, 1699, 1700, 1729, 0, 1713, 1719, 1658, 1670, 1680, - - 1684, 1683, 1675, 1671, 1676, 1679, 1689, 1680, 1681, 1682, - 1693, 1708, 0, 1749, 1743, 1705, 1701, 1701, 1696, 1716, - 1699, 1718, 1716, 1757, 1719, 1700, 1782, 3491, 0, 0, - 0, 1753, 1758, 1753, 1745, 1749, 1759, 1763, 1763, 1798, - 3491, 1752, 1771, 1760, 1766, 1733, 1747, 1734, 0, 0, - 1745, 0, 0, 1736, 1751, 0, 1748, 1742, 0, 1821, - 1749, 3491, 3491, 3491, 1741, 1829, 1791, 1745, 1795, 1763, - 1759, 1835, 1752, 1746, 1761, 1772, 3491, 1764, 1822, 1797, - 1794, 1794, 1788, 1800, 3491, 1837, 1847, 1794, 1808, 1809, - 3491, 1797, 1816, 1798, 1814, 1804, 1801, 1809, 1809, 1817, - - 1803, 1811, 1819, 1816, 0, 1870, 1871, 1823, 1832, 3491, - 1820, 1874, 1825, 1833, 1837, 1824, 1879, 1834, 1846, 1839, - 1883, 1835, 1848, 1886, 1887, 1888, 1859, 1865, 1871, 1862, - 1876, 1884, 1869, 1873, 1921, 1894, 1884, 1877, 1883, 1867, - 1852, 1860, 0, 1852, 1854, 0, 1850, 1916, 3491, 1886, - 1941, 1893, 1901, 1867, 1877, 3491, 1927, 1956, 1890, 1908, - 1896, 3491, 1908, 1963, 3491, 3491, 1898, 1910, 1911, 1961, - 0, 1911, 1926, 3491, 3491, 1967, 1923, 1926, 1916, 3491, - 1928, 1918, 1918, 1926, 1927, 3491, 1936, 1935, 0, 1985, - 1985, 1937, 3491, 1948, 1939, 1939, 1944, 1951, 1954, 1999, - - 1953, 1947, 1948, 1953, 1963, 1961, 1967, 2006, 2027, 2008, - 2029, 2036, 1996, 1996, 3491, 2010, 3491, 1994, 3491, 1993, - 2013, 2011, 3491, 2003, 1974, 1971, 0, 1977, 1983, 0, - 1987, 2028, 2035, 1998, 2001, 1997, 3491, 2000, 3491, 1989, - 2006, 1990, 3491, 2003, 3491, 2058, 2020, 2025, 2024, 0, - 2010, 3491, 2069, 3491, 2021, 3491, 2022, 3491, 2023, 2015, - 2036, 2026, 2027, 2027, 2043, 2024, 2039, 2041, 2042, 3491, - 2043, 2099, 3491, 2040, 2030, 2059, 2045, 3491, 2039, 2049, - 2054, 2110, 2120, 2125, 2080, 3491, 2097, 2096, 2102, 2103, - 3491, 3491, 2055, 0, 2057, 2063, 3491, 0, 2076, 2071, - - 3491, 2075, 3491, 2076, 2058, 2067, 3491, 2140, 3491, 2068, - 2087, 0, 2080, 2131, 2091, 2077, 2081, 2086, 2092, 2101, - 2145, 2105, 2107, 2096, 3491, 2109, 3491, 2102, 2151, 2101, - 2099, 2162, 2125, 2114, 2124, 3491, 3491, 2130, 2125, 2129, - 2188, 3491, 0, 2189, 3491, 0, 2164, 2146, 2163, 3491, - 2149, 2151, 2128, 0, 2129, 0, 2139, 2133, 3491, 2140, - 3491, 2181, 2147, 2203, 2145, 2132, 2138, 2193, 2153, 3491, - 2155, 2156, 3491, 2159, 3491, 2148, 2198, 2161, 3491, 2160, - 3491, 2169, 2228, 2157, 2156, 2217, 3491, 2176, 3491, 2172, - 2167, 2179, 2204, 2210, 2249, 2214, 2219, 2176, 0, 0, - - 2181, 3491, 3491, 2242, 2173, 2253, 3491, 2257, 3491, 2203, - 2202, 3491, 3491, 3491, 2201, 2206, 2210, 2198, 3491, 2212, - 2249, 2270, 3491, 3491, 2199, 2255, 2217, 2225, 2256, 2255, - 2288, 2243, 3491, 0, 2214, 2275, 2275, 3491, 2276, 3491, - 2237, 3491, 2226, 2239, 2280, 2301, 2303, 3491, 2312, 2247, - 2235, 2247, 2240, 2278, 2269, 2269, 3491, 2349, 2355, 0, - 3491, 2247, 2257, 3491, 2249, 2324, 2253, 2267, 2248, 2253, - 2298, 3491, 2296, 2363, 0, 3491, 3491, 2272, 2331, 3491, - 2363, 2264, 2278, 3491, 3491, 3491, 2308, 2333, 2377, 0, - 2281, 3491, 3491, 3491, 2354, 2342, 3491, 2349, 3491, 2344, - - 3491, 3491, 2424, 2446, 2468, 2483, 2498, 2513, 2532, 2554, - 2569, 2584, 2602, 2617, 2639, 2661, 2683, 2698, 2713, 2732, - 2747, 2769, 2784, 2806, 2811, 2826, 2834, 2845, 2862, 2877, - 2891, 2908, 2930, 2952, 2974, 2996, 3007, 3022, 3044, 3066, - 3077, 3099, 3114 + 63, 59, 80, 224, 184, 207, 217, 110, 3494, 276, + 235, 271, 311, 240, 302, 320, 3422, 214, 250, 322, + 227, 198, 281, 3405, 329, 352, 285, 317, 362, 248, + 3494, 116, 3494, 269, 3494, 0, 0, 3494, 3494, 421, + 0, 49, 3416, 333, 202, 375, 3415, 3408, 257, 3407, + 280, 236, 58, 3403, 3399, 217, 335, 51, 3400, 3494, + + 3449, 356, 3494, 3474, 3494, 3494, 3494, 3494, 3494, 3494, + 3494, 3494, 3494, 438, 446, 463, 0, 3494, 3447, 3494, + 3494, 3446, 3494, 3494, 3445, 3444, 0, 293, 319, 363, + 359, 387, 387, 383, 392, 414, 438, 423, 429, 429, + 445, 457, 440, 457, 443, 461, 445, 454, 442, 457, + 444, 462, 447, 3494, 3469, 3396, 338, 458, 480, 3392, + 3408, 475, 3394, 3392, 3401, 471, 3396, 3389, 472, 3385, + 3382, 3382, 497, 3379, 489, 3380, 469, 3383, 3385, 3391, + 501, 3383, 3382, 507, 3375, 3374, 3377, 3377, 3369, 3373, + 3363, 0, 3372, 499, 3371, 345, 513, 3380, 3363, 3370, + + 522, 3369, 55, 3375, 0, 3360, 487, 509, 3373, 491, + 544, 500, 3363, 553, 498, 3362, 3357, 512, 531, 354, + 3365, 3354, 374, 505, 524, 3367, 3362, 310, 540, 3361, + 3494, 3400, 614, 0, 3345, 3351, 3352, 3350, 3350, 3349, + 3356, 3359, 3345, 3340, 3356, 3353, 3338, 3350, 3342, 3334, + 586, 3336, 3348, 3336, 3325, 548, 3335, 3344, 3328, 3344, + 3339, 3338, 3328, 454, 550, 3340, 3328, 537, 3334, 3329, + 3332, 3494, 3494, 620, 642, 626, 648, 3378, 3494, 3494, + 3494, 3494, 612, 617, 611, 609, 618, 620, 631, 631, + 644, 634, 642, 647, 633, 643, 638, 645, 655, 650, + + 655, 642, 657, 664, 651, 662, 663, 698, 665, 679, + 673, 3494, 3317, 3329, 3324, 0, 0, 3331, 3317, 3307, + 3325, 3326, 3326, 3321, 3313, 3322, 669, 3309, 0, 3308, + 3302, 552, 3315, 671, 3310, 668, 3316, 3301, 3311, 3300, + 0, 3311, 3312, 3294, 3308, 3290, 673, 3288, 3303, 3292, + 0, 3297, 3302, 3291, 530, 3301, 3301, 3286, 682, 3295, + 3278, 3287, 3290, 3280, 0, 3279, 3285, 3288, 3277, 3270, + 3269, 3276, 3268, 0, 3275, 543, 3285, 3271, 3265, 656, + 3280, 3270, 653, 3277, 0, 3276, 3264, 3273, 3272, 3255, + 3254, 3253, 3261, 3258, 3252, 3248, 3250, 3250, 3261, 0, + + 3257, 3265, 3244, 655, 3247, 3253, 3242, 0, 3240, 3239, + 3244, 3252, 687, 3250, 3246, 3236, 3233, 3238, 3239, 3231, + 3229, 3494, 3247, 3242, 3242, 3242, 3230, 3231, 3241, 3220, + 3222, 3234, 3233, 3228, 3221, 3221, 3229, 3213, 3284, 728, + 736, 740, 3219, 3218, 3222, 686, 3203, 3222, 3221, 3220, + 3205, 730, 3260, 3201, 3217, 3216, 3204, 3199, 3216, 3197, + 3203, 673, 3205, 3199, 3205, 3193, 744, 750, 3252, 707, + 705, 700, 723, 708, 715, 0, 740, 726, 746, 729, + 732, 0, 752, 748, 739, 742, 790, 760, 762, 762, + 755, 758, 754, 768, 819, 769, 753, 0, 3189, 3189, + + 3185, 3181, 3243, 3199, 3188, 0, 3191, 0, 0, 0, + 774, 3196, 3180, 3184, 3196, 0, 3194, 3192, 3192, 3173, + 3179, 3180, 0, 3182, 3186, 3181, 3174, 3162, 3165, 0, + 3166, 0, 3166, 3169, 3162, 3180, 3166, 3158, 3177, 3173, + 3158, 3157, 3167, 3161, 0, 3152, 3153, 0, 3164, 3145, + 3166, 3149, 3161, 3164, 3163, 0, 3154, 3157, 3149, 3141, + 3136, 3138, 3156, 3151, 3146, 3129, 3148, 3137, 3139, 3136, + 3125, 3147, 3142, 3134, 3127, 3142, 3139, 3137, 3136, 3131, + 3135, 3118, 3123, 3127, 0, 3115, 769, 0, 3120, 3113, + 3129, 3126, 0, 3129, 778, 3114, 3121, 3113, 0, 0, + + 3121, 3113, 3119, 3098, 3104, 3106, 3109, 3114, 757, 3109, + 3110, 3103, 3494, 3111, 3108, 3095, 3092, 3099, 3096, 806, + 829, 834, 3161, 771, 3099, 3086, 3091, 3090, 3100, 3088, + 3089, 3135, 3095, 3098, 3078, 3136, 3078, 3134, 3089, 3074, + 3090, 3077, 3081, 3086, 3080, 3072, 3066, 776, 3071, 3494, + 3069, 779, 3494, 777, 0, 791, 809, 0, 0, 805, + 815, 803, 821, 809, 820, 829, 0, 812, 862, 0, + 827, 0, 833, 835, 826, 822, 829, 830, 834, 855, + 854, 0, 3064, 3077, 0, 0, 3076, 3059, 0, 3048, + 3064, 0, 3048, 3051, 3004, 2992, 2975, 2963, 2969, 2962, + + 2936, 2915, 2879, 2890, 0, 2856, 2867, 0, 2842, 2852, + 2896, 2823, 2825, 2829, 2832, 2831, 2833, 2829, 2819, 2822, + 2824, 2797, 817, 0, 2802, 2799, 2807, 2798, 2803, 2812, + 0, 2809, 2798, 843, 2792, 2801, 2791, 2772, 0, 2772, + 842, 2770, 828, 2764, 2761, 2759, 2764, 2751, 0, 2745, + 2729, 2729, 2731, 0, 2721, 2734, 0, 2724, 2717, 2694, + 2682, 2691, 2681, 2688, 862, 2673, 2676, 2687, 0, 2685, + 2673, 2665, 2662, 263, 2661, 2670, 2662, 2661, 2645, 2645, + 2650, 2643, 2656, 2652, 3494, 842, 2641, 2643, 2650, 895, + 900, 877, 2647, 2625, 2612, 2588, 2566, 2567, 2567, 908, + + 2538, 2554, 2554, 2594, 2534, 2545, 508, 2539, 2517, 2523, + 2521, 2509, 2520, 2515, 2502, 2481, 857, 2471, 2459, 2467, + 2455, 2447, 860, 884, 892, 875, 932, 901, 0, 894, + 896, 911, 0, 912, 894, 0, 0, 906, 0, 902, + 905, 918, 900, 0, 0, 2448, 2452, 2445, 0, 2432, + 2448, 2431, 2423, 0, 2416, 2415, 0, 0, 0, 0, + 2387, 935, 2360, 0, 2357, 2346, 0, 0, 2359, 0, + 2356, 2353, 0, 2339, 0, 2354, 2349, 0, 2349, 2348, + 2337, 2346, 2332, 2340, 2341, 2332, 2327, 2287, 0, 2293, + 2299, 2294, 2277, 0, 2281, 0, 2280, 2291, 176, 182, + + 210, 317, 354, 531, 0, 752, 877, 876, 884, 894, + 895, 0, 901, 883, 0, 902, 0, 0, 886, 894, + 906, 905, 902, 913, 910, 923, 919, 906, 907, 909, + 916, 930, 914, 924, 913, 929, 916, 932, 933, 930, + 925, 927, 929, 996, 997, 999, 939, 944, 930, 946, + 938, 952, 939, 995, 945, 947, 943, 1004, 951, 958, + 953, 947, 965, 965, 967, 959, 965, 960, 969, 972, + 958, 963, 978, 973, 967, 971, 964, 976, 995, 0, + 996, 1046, 1078, 0, 1020, 1049, 1021, 1023, 0, 1012, + 1008, 1023, 1015, 1025, 998, 0, 0, 995, 1004, 1001, + + 1003, 1003, 0, 1006, 0, 0, 0, 0, 0, 997, + 1005, 1004, 996, 0, 0, 1012, 998, 1019, 1014, 0, + 1032, 1015, 0, 1021, 1017, 1033, 1024, 1021, 0, 1022, + 1021, 1037, 0, 1040, 1024, 1043, 0, 1033, 0, 1036, + 1034, 1044, 1034, 1026, 0, 1034, 1044, 0, 0, 0, + 1050, 1051, 1049, 1044, 1058, 1041, 1049, 1047, 1053, 1067, + 1065, 1066, 1068, 1064, 1054, 1057, 1070, 1111, 1112, 1075, + 1060, 1068, 1062, 1078, 1080, 1138, 1139, 1141, 1071, 1126, + 1086, 1130, 1077, 1087, 1088, 1148, 1100, 1084, 1094, 1141, + 1087, 1102, 1109, 1111, 1113, 1112, 1116, 1104, 1106, 1108, + + 1115, 1122, 1117, 1111, 1108, 1124, 1117, 1115, 1123, 1113, + 1158, 1159, 1194, 1147, 1168, 1161, 1153, 1171, 1156, 1164, + 1204, 1167, 1167, 1163, 1164, 3494, 1166, 0, 1132, 1142, + 1155, 0, 1140, 1157, 1147, 0, 1160, 1153, 1149, 1155, + 0, 1171, 1174, 1168, 1166, 1183, 1179, 0, 1185, 0, + 1187, 1184, 0, 1174, 1177, 1189, 1196, 0, 1194, 1187, + 1185, 0, 1190, 1199, 0, 0, 1197, 1199, 0, 1185, + 1202, 1202, 1207, 1192, 1193, 1194, 1201, 1200, 1210, 1211, + 1251, 0, 1269, 1215, 1220, 1217, 1214, 1210, 1259, 1278, + 1279, 1263, 1284, 1216, 1273, 1273, 1221, 1275, 1228, 1223, + + 1225, 1280, 1281, 1243, 1243, 3494, 1232, 1285, 1248, 1234, + 1240, 1242, 1235, 1244, 1244, 1257, 1241, 1253, 1239, 1259, + 1299, 1251, 1264, 1279, 1327, 1287, 1288, 1281, 1302, 1334, + 1305, 1294, 1302, 1296, 1312, 1302, 1344, 1313, 0, 1301, + 1319, 1273, 1279, 1286, 0, 0, 1281, 0, 1295, 1283, + 1296, 1299, 1304, 1302, 1298, 1291, 1300, 0, 0, 1310, + 0, 1316, 0, 1303, 1303, 1318, 1309, 0, 1306, 1364, + 0, 1322, 1362, 1309, 1317, 1311, 1314, 1332, 1325, 1328, + 1324, 1318, 0, 0, 1380, 1326, 1325, 1338, 1382, 1343, + 1349, 0, 1404, 1359, 1407, 1384, 1341, 1415, 1428, 1390, + + 0, 1339, 1354, 1393, 1340, 1382, 1383, 1371, 3494, 1348, + 1421, 1365, 1433, 1380, 1430, 1393, 1396, 1390, 1387, 1398, + 1396, 1409, 1391, 1466, 1400, 1407, 1478, 1487, 3494, 1443, + 1446, 1434, 1490, 1442, 1452, 1449, 1459, 1445, 1465, 1496, + 3494, 1469, 1469, 1433, 1441, 1440, 1444, 1437, 1432, 1443, + 1435, 1455, 1444, 1457, 0, 1447, 1453, 1460, 1456, 0, + 1467, 1457, 1458, 1472, 1509, 1461, 1512, 1475, 1515, 1467, + 1471, 1470, 1519, 1477, 1522, 0, 0, 0, 1477, 1485, + 1479, 1477, 1468, 1481, 0, 1570, 1486, 1491, 1492, 1483, + 1493, 1556, 3494, 1568, 1539, 3494, 1569, 1537, 1559, 1580, + + 1586, 0, 1489, 1539, 1492, 1501, 1495, 1499, 1510, 1505, + 1511, 1512, 1544, 1510, 1535, 1562, 1563, 1590, 1599, 1548, + 1548, 1543, 1596, 1564, 1603, 1557, 1566, 1568, 1555, 1629, + 1610, 1611, 1646, 1587, 1589, 3494, 1609, 1607, 1612, 1616, + 1615, 3494, 1619, 1611, 1625, 1628, 1621, 1611, 1583, 1587, + 1588, 0, 1585, 0, 0, 0, 1600, 1598, 1595, 1592, + 1611, 1612, 1596, 0, 1598, 0, 1604, 1617, 1672, 1632, + 1679, 1654, 1687, 1605, 1675, 1637, 1628, 1630, 1698, 0, + 0, 1644, 1635, 1688, 1650, 1689, 1660, 0, 1652, 1647, + 1662, 1664, 1647, 1665, 1702, 1703, 1732, 0, 1716, 1722, + + 1661, 1673, 1683, 1687, 1686, 1678, 1674, 1679, 1682, 1692, + 1683, 1684, 1685, 1696, 1711, 0, 1752, 1746, 1708, 1704, + 1704, 1699, 1719, 1702, 1721, 1719, 1760, 1722, 1703, 1785, + 3494, 0, 0, 0, 1756, 1761, 1756, 1748, 1752, 1762, + 1766, 1766, 1801, 3494, 1755, 1774, 1763, 1769, 1736, 1750, + 1737, 0, 0, 1748, 0, 0, 1739, 1754, 0, 1751, + 1745, 0, 1824, 1752, 3494, 3494, 3494, 1744, 1832, 1794, + 1748, 1798, 1766, 1762, 1838, 1755, 1749, 1764, 1775, 3494, + 1767, 1825, 1800, 1797, 1797, 1791, 1803, 3494, 1840, 1850, + 1797, 1811, 1812, 3494, 1800, 1819, 1801, 1817, 1807, 1804, + + 1812, 1812, 1820, 1806, 1814, 1822, 1819, 0, 1873, 1874, + 1826, 1835, 3494, 1823, 1877, 1828, 1836, 1840, 1827, 1882, + 1837, 1849, 1842, 1886, 1838, 1851, 1889, 1890, 1891, 1862, + 1868, 1874, 1865, 1879, 1887, 1872, 1876, 1924, 1897, 1887, + 1880, 1886, 1870, 1855, 1863, 0, 1855, 1857, 0, 1853, + 1919, 3494, 1889, 1944, 1896, 1904, 1870, 1880, 3494, 1930, + 1959, 1893, 1911, 1899, 3494, 1911, 1966, 3494, 3494, 1901, + 1913, 1914, 1964, 0, 1914, 1929, 3494, 3494, 1970, 1926, + 1929, 1919, 3494, 1931, 1921, 1921, 1929, 1930, 3494, 1939, + 1938, 0, 1988, 1988, 1940, 3494, 1951, 1942, 1942, 1947, + + 1954, 1957, 2002, 1956, 1950, 1951, 1956, 1966, 1964, 1970, + 2009, 2030, 2011, 2032, 2039, 1999, 1999, 3494, 2013, 3494, + 1997, 3494, 1996, 2016, 2014, 3494, 2006, 1977, 1974, 0, + 1980, 1986, 0, 1990, 2031, 2038, 2001, 2004, 2000, 3494, + 2003, 3494, 1992, 2009, 1993, 3494, 2006, 3494, 2061, 2023, + 2028, 2027, 0, 2013, 3494, 2072, 3494, 2024, 3494, 2025, + 3494, 2026, 2018, 2039, 2029, 2030, 2030, 2046, 2027, 2042, + 2044, 2045, 3494, 2046, 2102, 3494, 2043, 2033, 2062, 2048, + 3494, 2042, 2052, 2057, 2113, 2123, 2128, 2083, 3494, 2100, + 2099, 2105, 2106, 3494, 3494, 2058, 0, 2060, 2066, 3494, + + 0, 2079, 2074, 3494, 2078, 3494, 2079, 2061, 2070, 3494, + 2143, 3494, 2071, 2090, 0, 2083, 2134, 2094, 2080, 2084, + 2089, 2095, 2104, 2148, 2108, 2110, 2099, 3494, 2112, 3494, + 2105, 2154, 2104, 2102, 2165, 2128, 2117, 2127, 3494, 3494, + 2133, 2128, 2132, 2191, 3494, 0, 2192, 3494, 0, 2167, + 2149, 2166, 3494, 2152, 2154, 2131, 0, 2132, 0, 2142, + 2136, 3494, 2143, 3494, 2184, 2150, 2206, 2148, 2135, 2141, + 2196, 2156, 3494, 2158, 2159, 3494, 2162, 3494, 2151, 2201, + 2164, 3494, 2163, 3494, 2172, 2231, 2160, 2159, 2220, 3494, + 2179, 3494, 2175, 2170, 2182, 2207, 2213, 2252, 2217, 2222, + + 2179, 0, 0, 2184, 3494, 3494, 2245, 2176, 2256, 3494, + 2260, 3494, 2206, 2205, 3494, 3494, 3494, 2204, 2209, 2213, + 2201, 3494, 2215, 2252, 2273, 3494, 3494, 2202, 2258, 2220, + 2228, 2259, 2258, 2291, 2246, 3494, 0, 2217, 2278, 2278, + 3494, 2279, 3494, 2240, 3494, 2229, 2242, 2283, 2304, 2306, + 3494, 2315, 2250, 2238, 2250, 2243, 2281, 2272, 2272, 3494, + 2352, 2358, 0, 3494, 2250, 2260, 3494, 2252, 2327, 2256, + 2270, 2251, 2256, 2301, 3494, 2299, 2366, 0, 3494, 3494, + 2275, 2334, 3494, 2366, 2267, 2281, 3494, 3494, 3494, 2311, + 2336, 2380, 0, 2284, 3494, 3494, 3494, 2357, 2345, 3494, + + 2352, 3494, 2347, 3494, 3494, 2427, 2449, 2471, 2486, 2501, + 2516, 2535, 2557, 2572, 2587, 2605, 2620, 2642, 2664, 2686, + 2701, 2716, 2735, 2750, 2772, 2787, 2809, 2814, 2829, 2837, + 2848, 2865, 2880, 2894, 2911, 2933, 2955, 2977, 2999, 3010, + 3025, 3047, 3069, 3080, 3102, 3117 } ; -static yyconst flex_int16_t yy_def[2044] = +static yyconst flex_int16_t yy_def[2047] = { 0, - 2002, 1, 2002, 2002, 2002, 2002, 2002, 2003, 2004, 2002, - 2002, 2002, 2005, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, - 2002, 2002, 2002, 2003, 2002, 2003, 2004, 2002, 2002, 2002, - 2007, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - - 2005, 2002, 2005, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2008, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2002, 2002, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2005, 1, 2005, 2005, 2005, 2005, 2005, 2006, 2007, 2005, + 2005, 2005, 2008, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2005, 2005, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2005, + 2005, 2005, 2005, 2006, 2005, 2006, 2007, 2005, 2005, 2005, + 2010, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, - 2002, 2007, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2009, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2008, 2002, 2002, 2002, 2002, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2005, 2008, 2005, 2008, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2011, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2005, 2005, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2005, 2005, 2005, 2010, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2012, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2011, 2005, 2005, + 2005, 2005, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2009, 2009, 2010, 2009, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2002, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2005, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2012, 2012, + 2013, 2012, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2005, 2009, 2009, 2009, 2009, 2009, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2009, 2010, 2010, 2009, - 2009, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2002, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2002, 2002, 2002, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2009, 2010, 2009, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, + 2009, 2009, 2009, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2012, + 2013, 2013, 2012, 2012, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2005, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2005, 2005, 2005, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2002, 2006, 2006, 2006, 2006, 2006, 2002, 2002, 2002, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2012, + 2013, 2012, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2009, 2010, 2009, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2002, - 2006, 2006, 2006, 2006, 2002, 2006, 2006, 2002, 2002, 2002, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2005, 2009, 2009, 2009, 2009, 2009, 2005, + 2005, 2005, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2009, 2010, 2009, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2006, 2002, 2006, 2002, - 2006, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2011, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2010, 2009, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2006, 2006, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2006, 2002, 2006, 2002, 2006, 2002, 2002, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2012, - 2013, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2014, 2009, - 2002, 2015, 2016, 2002, 2002, 2002, 2002, 2017, 2002, 2002, - - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2018, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2006, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2006, 2002, 2002, 2002, 2002, 2002, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2019, 2013, 2020, 2002, 2002, 2002, 2002, 2002, - 2002, 2021, 2009, 2002, 2002, 2002, 2002, 2002, 2015, 2002, - 2015, 2016, 2002, 2022, 2002, 2002, 2002, 2002, 2017, 2002, - - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2023, 2023, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2024, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, - 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2019, 2020, 2002, 2002, - 2002, 2002, 2002, 2002, 2021, 2002, 2002, 2002, 2002, 2002, - 2002, 2016, 2016, 2022, 2025, 2002, 2002, 2002, 2002, 2002, - - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2023, 2026, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2024, 2002, 2024, 2027, - 2028, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, - 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2029, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - - 2002, 2002, 2002, 2002, 2030, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2031, 2032, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, - 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2029, - 2033, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2030, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2031, 2002, 2032, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2006, 2006, 2006, 2006, 2006, 2006, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2034, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2035, 2036, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2006, 2006, 2006, 2006, 2002, 2037, 2002, 2002, - - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2034, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2035, 2002, 2035, 2036, 2002, 2036, 2002, 2002, 2002, 2002, - 2002, 2002, 2006, 2006, 2006, 2038, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2039, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2006, 2006, 2038, - - 2002, 2002, 2002, 2002, 2002, 2039, 2002, 2039, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2040, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2006, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2040, 2002, 2040, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2041, - 2002, 2002, 2002, 2002, 2002, 2042, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2043, 2002, 2002, 2002, 2042, 2002, - 2042, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2043, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - - 2002, 0, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002 + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2012, 2013, 2012, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2009, 2009, + 2009, 2009, 2005, 2009, 2009, 2009, 2009, 2005, 2009, 2009, + 2005, 2005, 2005, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2012, 2013, 2012, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2009, 2009, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2009, + 2005, 2009, 2005, 2009, 2005, 2005, 2005, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2014, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2013, + 2012, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2009, 2009, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2009, 2005, 2009, 2005, 2009, 2005, + 2005, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2015, 2016, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2017, 2012, 2005, 2018, 2019, 2005, 2005, 2005, 2005, + + 2020, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2021, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2009, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2009, 2005, 2005, + 2005, 2005, 2005, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2022, 2016, 2023, 2005, 2005, + 2005, 2005, 2005, 2005, 2024, 2012, 2005, 2005, 2005, 2005, + 2005, 2018, 2005, 2018, 2019, 2005, 2025, 2005, 2005, 2005, + + 2005, 2020, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2026, 2026, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2027, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2009, 2005, 2005, 2005, 2005, 2005, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2022, + 2023, 2005, 2005, 2005, 2005, 2005, 2005, 2024, 2005, 2005, + 2005, 2005, 2005, 2005, 2019, 2019, 2025, 2028, 2005, 2005, + + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2026, 2029, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2027, + 2005, 2027, 2030, 2031, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2009, 2005, 2005, 2005, 2005, 2005, 2009, 2009, + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2009, 2009, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2032, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2033, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2034, 2035, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2032, 2036, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2033, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2034, 2005, 2035, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2009, 2009, 2009, + 2009, 2009, 2009, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2037, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2038, 2039, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2009, 2009, 2009, 2009, 2005, + + 2040, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2037, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2038, 2005, 2038, 2039, 2005, 2039, 2005, + 2005, 2005, 2005, 2005, 2005, 2009, 2009, 2009, 2041, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2042, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + + 2009, 2009, 2041, 2005, 2005, 2005, 2005, 2005, 2042, 2005, + 2042, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2043, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2009, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2043, + 2005, 2043, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2044, 2005, 2005, 2005, 2005, 2005, 2045, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2046, 2005, 2005, + 2005, 2045, 2005, 2045, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2046, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + + 2005, 2005, 2005, 2005, 0, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005 } ; -static yyconst flex_uint16_t yy_nxt[3580] = +static yyconst flex_uint16_t yy_nxt[3583] = { 0, 4, 5, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, @@ -1091,13 +1091,13 @@ static yyconst flex_uint16_t yy_nxt[3580] = 50, 51, 52, 53, 54, 55, 56, 57, 58, 37, 37, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 37, 69, 37, 37, 37, 70, 71, 72, 75, - 72, 102, 105, 107, 110, 132, 139, 133, 140, 111, + 72, 103, 106, 108, 111, 133, 140, 134, 141, 112, - 141, 142, 143, 136, 144, 108, 106, 137, 145, 112, - 146, 134, 153, 154, 135, 147, 138, 72, 267, 72, - 233, 234, 257, 373, 132, 139, 133, 140, 268, 141, - 142, 143, 136, 144, 374, 258, 137, 145, 103, 146, - 134, 76, 78, 135, 147, 138, 78, 78, 79, 78, + 142, 143, 144, 137, 145, 109, 107, 138, 146, 113, + 147, 135, 154, 155, 136, 148, 139, 72, 269, 72, + 235, 236, 259, 376, 133, 140, 134, 141, 270, 142, + 143, 144, 137, 145, 377, 260, 138, 146, 104, 147, + 135, 76, 78, 136, 148, 139, 78, 78, 79, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 80, 80, 80, 80, 80, 80, 78, 78, 78, 78, 78, 78, 81, 81, 81, 81, 81, 81, 81, @@ -1107,377 +1107,378 @@ static yyconst flex_uint16_t yy_nxt[3580] = 78, 78, 82, 83, 84, 85, 86, 87, 78, 88, 89, 78, 78, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 78, 78, 78, 78, 78, 78, 78, - 113, 150, 114, 114, 114, 114, 114, 114, 113, 1030, - 114, 114, 114, 114, 114, 114, 123, 124, 115, 118, - 119, 120, 151, 127, 148, 152, 115, 141, 149, 143, - 150, 128, 311, 129, 255, 132, 144, 116, 130, 187, - 131, 239, 256, 188, 240, 241, 633, 115, 195, 312, - 189, 151, 127, 148, 152, 115, 141, 149, 196, 136, - 128, 142, 129, 137, 161, 144, 116, 130, 162, 131, - - 554, 163, 138, 555, 125, 197, 145, 164, 121, 127, - 150, 198, 191, 192, 170, 171, 133, 128, 172, 129, - 193, 634, 137, 199, 130, 194, 131, 202, 173, 222, - 134, 174, 75, 135, 146, 200, 155, 156, 127, 223, - 203, 201, 204, 205, 1031, 165, 157, 139, 158, 166, - 151, 102, 159, 130, 160, 131, 167, 140, 253, 168, - 206, 395, 135, 207, 175, 169, 176, 147, 177, 396, - 178, 148, 1032, 152, 179, 149, 180, 224, 254, 151, - 181, 377, 225, 182, 76, 236, 183, 378, 237, 184, - 185, 238, 209, 261, 226, 186, 210, 262, 103, 1033, - - 148, 227, 228, 411, 213, 280, 211, 214, 215, 281, - 249, 229, 212, 412, 282, 216, 217, 250, 251, 218, - 219, 453, 220, 454, 221, 231, 231, 231, 231, 231, - 231, 242, 243, 244, 280, 263, 283, 245, 281, 284, - 285, 246, 264, 282, 415, 286, 1034, 265, 416, 270, - 266, 271, 271, 271, 271, 271, 271, 113, 287, 114, - 114, 114, 114, 114, 114, 283, 288, 272, 284, 285, - 291, 273, 292, 273, 286, 115, 274, 274, 274, 274, - 274, 274, 289, 293, 294, 295, 296, 287, 297, 298, - 299, 290, 300, 303, 301, 288, 272, 304, 306, 291, - - 307, 292, 302, 308, 115, 305, 282, 281, 285, 1035, - 286, 289, 293, 294, 295, 296, 381, 297, 298, 299, - 290, 300, 303, 301, 287, 382, 304, 306, 313, 307, - 404, 302, 308, 289, 305, 282, 281, 285, 314, 286, - 292, 405, 290, 337, 338, 294, 321, 359, 293, 296, - 317, 408, 297, 324, 325, 299, 958, 335, 390, 326, - 360, 327, 331, 332, 409, 333, 342, 391, 1036, 292, - 343, 290, 444, 445, 294, 306, 300, 344, 356, 357, - 361, 297, 455, 456, 299, 362, 367, 467, 347, 379, - 301, 399, 308, 363, 468, 959, 401, 400, 302, 304, - - 368, 369, 370, 371, 410, 300, 383, 305, 384, 459, - 402, 437, 385, 403, 512, 417, 467, 386, 513, 301, - 534, 308, 387, 468, 388, 389, 460, 302, 304, 438, - 492, 492, 492, 535, 393, 394, 305, 231, 231, 231, - 231, 231, 231, 271, 271, 271, 271, 271, 271, 274, - 274, 274, 274, 274, 274, 464, 469, 464, 470, 272, - 465, 465, 465, 465, 465, 465, 274, 274, 274, 274, - 274, 274, 471, 472, 473, 474, 475, 476, 439, 477, - 478, 479, 480, 481, 482, 469, 483, 470, 272, 484, - 485, 486, 487, 488, 489, 490, 491, 493, 494, 495, - - 474, 471, 472, 473, 474, 475, 476, 476, 477, 478, - 479, 480, 481, 482, 480, 483, 483, 493, 484, 485, - 486, 487, 488, 489, 490, 491, 493, 494, 495, 508, - 517, 563, 559, 583, 564, 584, 476, 437, 518, 515, - 560, 437, 619, 480, 625, 483, 592, 644, 651, 645, - 626, 652, 653, 627, 465, 465, 465, 465, 465, 465, - 539, 620, 465, 465, 465, 465, 465, 465, 654, 655, - 656, 657, 658, 659, 660, 661, 662, 651, 663, 664, - 652, 653, 1037, 665, 666, 666, 666, 667, 668, 669, - 670, 671, 672, 673, 492, 492, 492, 654, 655, 656, - - 657, 658, 659, 660, 661, 662, 677, 663, 664, 617, - 678, 621, 665, 657, 437, 677, 667, 668, 669, 670, - 671, 672, 673, 755, 437, 820, 674, 756, 813, 1038, - 619, 619, 821, 1039, 822, 677, 774, 823, 814, 678, - 824, 675, 657, 676, 762, 924, 687, 775, 776, 620, - 620, 817, 777, 825, 820, 674, 826, 827, 818, 828, - 925, 821, 819, 822, 829, 830, 823, 832, 833, 824, - 675, 834, 676, 835, 787, 666, 666, 666, 836, 837, - 838, 839, 825, 840, 841, 826, 827, 876, 828, 789, - 897, 840, 437, 829, 830, 886, 832, 833, 877, 894, - - 834, 887, 835, 788, 898, 895, 936, 836, 837, 838, - 839, 888, 840, 841, 619, 437, 969, 976, 977, 970, - 840, 978, 937, 979, 831, 951, 951, 951, 951, 951, - 951, 981, 982, 620, 980, 980, 980, 983, 984, 1040, - 985, 986, 987, 988, 989, 1041, 976, 977, 990, 941, - 978, 991, 979, 831, 1002, 1003, 1042, 1043, 1044, 1045, - 981, 982, 1046, 1047, 1048, 1049, 983, 984, 943, 985, - 986, 987, 988, 989, 942, 1050, 1051, 990, 1053, 1054, - 991, 1055, 1052, 1056, 1057, 1058, 1059, 1060, 1061, 1062, - 1063, 1064, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1065, - - 437, 619, 437, 1076, 1004, 1077, 1078, 1079, 1080, 1081, - 1082, 1083, 1083, 1083, 1083, 1083, 1083, 1084, 1085, 1086, - 620, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, + 100, 114, 151, 115, 115, 115, 115, 115, 115, 114, + 1034, 115, 115, 115, 115, 115, 115, 124, 125, 116, + 119, 120, 121, 152, 128, 149, 153, 116, 143, 150, + 203, 151, 129, 241, 130, 1035, 242, 243, 117, 131, + 133, 132, 146, 204, 75, 205, 231, 263, 116, 192, + 193, 264, 152, 128, 149, 153, 116, 194, 150, 200, + 1036, 129, 195, 130, 140, 144, 257, 117, 131, 162, + + 132, 201, 134, 163, 258, 126, 164, 202, 101, 122, + 128, 176, 165, 177, 196, 178, 135, 179, 129, 136, + 130, 180, 251, 181, 197, 131, 76, 132, 927, 252, + 253, 166, 147, 151, 232, 167, 283, 156, 157, 128, + 255, 206, 168, 928, 141, 169, 137, 158, 136, 159, + 138, 170, 223, 160, 131, 161, 132, 145, 207, 139, + 256, 208, 224, 152, 148, 283, 103, 182, 142, 284, + 183, 171, 172, 184, 418, 173, 185, 186, 419, 138, + 188, 1037, 187, 149, 189, 174, 145, 150, 175, 210, + 225, 190, 152, 211, 285, 226, 198, 142, 284, 265, + + 314, 153, 199, 212, 238, 362, 266, 239, 286, 213, + 240, 267, 149, 104, 268, 407, 214, 315, 363, 215, + 216, 287, 227, 285, 288, 289, 408, 217, 218, 228, + 229, 219, 220, 1038, 221, 290, 222, 286, 411, 230, + 233, 233, 233, 233, 233, 233, 244, 245, 246, 291, + 287, 412, 247, 288, 289, 273, 248, 274, 274, 274, + 274, 274, 274, 114, 290, 115, 115, 115, 115, 115, + 115, 292, 294, 275, 295, 296, 297, 276, 291, 276, + 293, 116, 277, 277, 277, 277, 277, 277, 298, 299, + 300, 301, 302, 303, 306, 309, 310, 311, 304, 307, + + 292, 294, 275, 295, 296, 297, 305, 308, 284, 293, + 116, 285, 288, 289, 456, 290, 457, 298, 299, 300, + 301, 302, 303, 306, 309, 310, 311, 304, 307, 316, + 292, 340, 341, 961, 295, 305, 308, 284, 297, 293, + 285, 288, 289, 317, 327, 328, 300, 296, 299, 324, + 329, 338, 330, 302, 320, 380, 309, 303, 398, 334, + 335, 381, 336, 295, 384, 345, 399, 297, 293, 346, + 382, 393, 962, 385, 364, 300, 347, 359, 360, 365, + 394, 350, 302, 402, 370, 413, 303, 366, 304, 403, + 311, 404, 414, 440, 537, 307, 305, 462, 371, 372, + + 373, 374, 415, 308, 386, 405, 387, 538, 406, 1039, + 388, 441, 515, 420, 463, 389, 516, 304, 557, 311, + 390, 558, 391, 392, 307, 305, 447, 448, 458, 459, + 396, 397, 308, 233, 233, 233, 233, 233, 233, 274, + 274, 274, 274, 274, 274, 277, 277, 277, 277, 277, + 277, 470, 471, 472, 473, 275, 467, 474, 467, 475, + 442, 468, 468, 468, 468, 468, 468, 277, 277, 277, + 277, 277, 277, 476, 477, 478, 479, 480, 481, 482, + 470, 471, 472, 473, 275, 483, 474, 484, 475, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + + 495, 495, 476, 477, 478, 479, 480, 481, 482, 496, + 497, 498, 477, 479, 483, 483, 484, 486, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 520, 562, + 566, 496, 586, 567, 587, 440, 521, 563, 496, 497, + 498, 511, 479, 622, 483, 518, 486, 440, 628, 636, + 647, 654, 648, 655, 629, 656, 657, 630, 658, 659, + 595, 542, 623, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 660, 661, 662, 440, 663, + 654, 664, 655, 665, 656, 657, 666, 658, 659, 667, + 668, 669, 669, 669, 637, 670, 671, 672, 673, 674, + + 675, 676, 680, 681, 660, 661, 662, 620, 663, 660, + 664, 680, 665, 440, 1040, 666, 823, 624, 667, 668, + 495, 495, 495, 777, 670, 671, 672, 673, 674, 675, + 676, 680, 681, 758, 778, 779, 622, 759, 660, 780, + 765, 622, 690, 792, 816, 823, 820, 824, 825, 826, + 827, 828, 677, 821, 817, 623, 829, 822, 830, 831, + 623, 832, 833, 669, 669, 669, 835, 678, 836, 679, + 837, 838, 839, 790, 840, 841, 824, 825, 826, 827, + 828, 677, 842, 879, 440, 829, 843, 830, 831, 844, + 832, 833, 900, 843, 880, 835, 678, 836, 679, 837, + + 838, 839, 440, 840, 841, 939, 901, 622, 889, 979, + 897, 842, 834, 791, 890, 843, 898, 972, 844, 980, + 973, 940, 843, 981, 891, 982, 623, 954, 954, 954, + 954, 954, 954, 983, 983, 983, 984, 946, 979, 985, + 986, 834, 987, 988, 989, 990, 991, 992, 980, 993, + 994, 1041, 981, 1042, 982, 1005, 1006, 1043, 1044, 944, + 1045, 1046, 1047, 1048, 1049, 984, 1050, 945, 985, 986, + 1051, 987, 988, 989, 990, 991, 992, 1052, 993, 994, + 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1055, 1061, 1062, + 1063, 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, + + 1074, 1075, 1068, 440, 622, 1007, 440, 1079, 1080, 1081, + 1082, 1083, 1084, 1085, 1086, 1086, 1086, 1086, 1086, 1086, + 1087, 1088, 1089, 623, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, - 1106, 1107, 1108, 1109, 1110, 1110, 1110, 1126, 1127, 1117, - 1118, 1118, 1118, 1119, 1120, 1121, 1122, 1123, 1074, 1124, - 1125, 1128, 1129, 1130, 1131, 1132, 1073, 1133, 1134, 1135, - 1136, 1108, 1109, 1137, 1075, 980, 980, 980, 1117, 1138, - 1139, 1140, 1119, 1120, 1121, 1122, 1123, 1141, 1124, 1125, + 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1113, 1113, + 1121, 1121, 1121, 1120, 1122, 1123, 1124, 1125, 1126, 1127, + 1128, 1077, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1076, + 1136, 1137, 1138, 1139, 1111, 1112, 1140, 1141, 1078, 983, + 983, 983, 1120, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, - 1111, 1162, 1163, 1164, 1112, 1165, 1113, 1166, 1167, 1114, - 1115, 1168, 1169, 1170, 1116, 1171, 1172, 1173, 1174, 1175, - 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1111, - 1185, 1186, 437, 1112, 619, 1113, 437, 1189, 1114, 1115, - 1190, 1191, 1192, 1116, 1193, 1194, 1195, 1083, 1083, 1083, - 1083, 1083, 1083, 620, 1188, 1196, 1197, 1198, 1199, 1200, - 1201, 1202, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1203, - 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, - 1221, 1222, 1110, 1110, 1110, 1224, 1225, 1226, 1227, 1228, - - 1232, 1230, 1118, 1118, 1118, 1234, 1235, 1239, 1231, 1236, - 1187, 1237, 1238, 1240, 1241, 1242, 1229, 1243, 1244, 1221, - 1222, 1245, 1246, 1247, 1224, 1225, 1226, 1227, 1228, 1232, - 1230, 1248, 1249, 1250, 1234, 1235, 1223, 1231, 1236, 1251, - 1237, 1238, 1252, 1253, 1254, 1229, 1255, 1233, 1256, 1257, - 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, - 1268, 1269, 1270, 1271, 1272, 1223, 1273, 1274, 1275, 1276, - 1277, 1278, 1279, 1280, 1282, 1283, 1233, 1285, 1286, 1287, - 1288, 1289, 619, 437, 1290, 1291, 1292, 1294, 1284, 1295, - 1295, 1295, 1295, 1295, 1295, 1296, 1297, 1298, 1300, 1301, - - 1302, 620, 1303, 1304, 1305, 1306, 1307, 1308, 1293, 1309, - 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, - 1320, 1321, 1322, 1323, 1324, 1325, 1325, 1325, 1326, 1327, - 1328, 1329, 1330, 1330, 1330, 1331, 1332, 1299, 1333, 1334, - 1335, 1336, 1337, 1337, 1337, 1338, 1339, 1340, 1341, 1342, - 1343, 1344, 1345, 1324, 1346, 1347, 1348, 1326, 1327, 1328, - 1329, 1349, 1350, 1351, 1331, 1332, 1352, 1333, 1334, 1335, - 1336, 1353, 1354, 1355, 1338, 1339, 1340, 1356, 1357, 1358, + 1162, 1163, 1164, 1165, 1114, 1166, 1167, 1168, 1115, 1169, + 1116, 1170, 1171, 1117, 1118, 1172, 1173, 1174, 1119, 1175, + 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, + 1186, 1187, 1188, 1114, 1189, 440, 622, 1115, 440, 1116, + 1192, 1193, 1117, 1118, 1194, 1195, 1196, 1119, 1197, 1198, + 1199, 1200, 1201, 1202, 1203, 623, 1191, 1086, 1086, 1086, + 1086, 1086, 1086, 1204, 1205, 1207, 1208, 1209, 1210, 1211, + 1212, 1213, 1206, 1214, 1215, 1216, 1217, 1218, 1219, 1220, + 1221, 1222, 1223, 1224, 1225, 1113, 1113, 1113, 1227, 1228, + + 1229, 1230, 1231, 1235, 1233, 1121, 1121, 1121, 1237, 1238, + 1242, 1234, 1190, 1239, 1240, 1241, 1243, 1244, 1245, 1232, + 1246, 1247, 1224, 1225, 1248, 1249, 1250, 1227, 1228, 1229, + 1230, 1231, 1235, 1233, 1251, 1252, 1253, 1237, 1238, 1226, + 1234, 1254, 1239, 1240, 1241, 1255, 1256, 1257, 1232, 1258, + 1236, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1226, 1276, + 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1285, 1286, 1236, + 1288, 1289, 1290, 1291, 1292, 622, 440, 1293, 1294, 1295, + 1297, 1287, 1298, 1298, 1298, 1298, 1298, 1298, 1299, 1300, + + 1301, 1303, 1304, 1305, 623, 1306, 1307, 1308, 1309, 1310, + 1311, 1296, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, + 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1328, + 1328, 1329, 1330, 1331, 1332, 1333, 1333, 1333, 1334, 1335, + 1302, 1336, 1337, 1338, 1339, 1340, 1340, 1340, 1341, 1342, + 1343, 1344, 1345, 1346, 1347, 1348, 1327, 1349, 1350, 1351, + 1329, 1330, 1331, 1332, 1352, 1353, 1354, 1334, 1335, 1355, + 1336, 1337, 1338, 1339, 1356, 1357, 1358, 1341, 1342, 1343, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, - 1369, 1370, 1371, 1372, 1375, 1376, 1375, 1375, 1375, 1375, - - 1375, 1375, 1377, 1378, 1379, 1380, 1381, 1383, 437, 1390, - 1393, 1395, 1398, 1400, 1401, 1402, 1403, 1384, 1383, 1385, - 1383, 1383, 1383, 1383, 1383, 1383, 1386, 1387, 1411, 1412, - 1388, 1396, 1396, 1396, 1396, 1396, 1396, 1413, 1394, 1415, - 1404, 1405, 1408, 1383, 1397, 1397, 1397, 1397, 1397, 1397, - 1416, 1417, 1418, 1409, 1419, 1383, 1406, 1407, 1410, 1420, - 1421, 1391, 1422, 1423, 1383, 1424, 1425, 1426, 1427, 1383, - 1428, 1429, 1383, 1432, 1433, 1383, 1430, 1430, 1430, 1434, - 1436, 1383, 1437, 1438, 1383, 1325, 1325, 1325, 1330, 1330, - 1330, 1439, 1440, 1441, 1337, 1337, 1337, 1444, 1446, 1445, - - 1447, 1449, 1432, 1433, 1450, 1451, 1452, 1453, 1434, 1436, - 1454, 1437, 1438, 1448, 1455, 1456, 1457, 1458, 1459, 1460, - 1439, 1440, 1441, 1461, 1462, 1463, 1444, 1442, 1445, 1464, - 1465, 1466, 1467, 1431, 1468, 1435, 1469, 1470, 1471, 1472, - 1473, 1474, 1475, 1443, 1476, 1479, 1480, 1481, 1482, 1483, - 1484, 1486, 1488, 1489, 1490, 1491, 1442, 1487, 1390, 1495, - 1498, 1499, 1431, 1500, 1435, 1393, 1501, 2002, 1392, 1502, - 1503, 1504, 1443, 1383, 437, 1396, 1396, 1396, 1396, 1396, - 1396, 1505, 1506, 1507, 1383, 1510, 1383, 1383, 1383, 1383, - 1383, 1383, 1389, 1394, 1389, 1493, 1496, 1496, 1496, 1496, - - 1496, 1496, 1497, 1497, 1497, 1497, 1497, 1497, 1508, 1383, - 1391, 1511, 1514, 1513, 2002, 1515, 1516, 1519, 1520, 1517, - 1509, 1383, 1518, 1494, 1521, 1522, 1523, 1524, 1525, 1526, - 1383, 1528, 1530, 1531, 1533, 1383, 1534, 1535, 1383, 1536, - 1537, 1383, 1513, 2002, 1430, 1430, 1430, 1383, 1538, 1539, - 1383, 1540, 1541, 1542, 1546, 1547, 1543, 1544, 1545, 1548, - 1549, 1550, 1551, 1533, 1552, 1534, 1535, 1553, 1536, 1537, - 1554, 1555, 1556, 1557, 1558, 1559, 1565, 1538, 1539, 1567, - 1540, 1541, 1542, 1529, 1532, 1543, 1544, 1545, 1560, 1560, - 1560, 1560, 1560, 1560, 1561, 1563, 1564, 1568, 1569, 1570, - - 1571, 1573, 1562, 1566, 1566, 1566, 1566, 1566, 1566, 1574, - 1575, 1578, 1576, 1532, 1572, 1572, 1572, 1572, 1572, 1572, - 1577, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1393, 1393, - 1588, 1392, 1496, 1496, 1496, 1496, 1496, 1496, 1587, 1587, - 1587, 1587, 1587, 1587, 1589, 1590, 1592, 1593, 1594, 1595, - 1596, 1599, 1597, 1591, 1601, 1602, 1394, 1394, 1493, 1598, - 1603, 1604, 2002, 1607, 1608, 1611, 1609, 1600, 1606, 1606, - 1606, 1606, 1606, 1606, 1610, 1612, 1613, 1617, 1618, 1619, - 1621, 1614, 1622, 1623, 1624, 1620, 1494, 1528, 1627, 1628, - 1615, 2002, 1629, 1630, 1616, 1631, 1632, 1633, 1634, 1635, - - 1635, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, - 1644, 1645, 1646, 1647, 1649, 1650, 1652, 1627, 1628, 1653, - 1654, 1629, 1630, 1657, 1631, 1632, 1633, 1634, 1655, 1659, - 1660, 1636, 1637, 1638, 1639, 1661, 1656, 1662, 1663, 1529, - 1648, 1648, 1648, 1648, 1648, 1648, 1651, 1664, 1566, 1566, - 1566, 1566, 1566, 1566, 1658, 1658, 1658, 1658, 1658, 1658, - 1665, 1666, 1667, 1668, 1669, 1671, 1587, 1587, 1587, 1587, - 1587, 1587, 1672, 1673, 1675, 1676, 1677, 1678, 1679, 1680, - 1681, 1674, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1690, - 1690, 1690, 1690, 1690, 1690, 1691, 1692, 1693, 1694, 1695, + 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1378, 1379, 1378, + + 1378, 1378, 1378, 1378, 1378, 1380, 1381, 1382, 1383, 1384, + 1386, 440, 1393, 1396, 1398, 1401, 1403, 1404, 1405, 1406, + 1387, 1386, 1388, 1386, 1386, 1386, 1386, 1386, 1386, 1389, + 1390, 1414, 1415, 1391, 1399, 1399, 1399, 1399, 1399, 1399, + 1416, 1397, 1418, 1407, 1408, 1411, 1386, 1400, 1400, 1400, + 1400, 1400, 1400, 1419, 1420, 1421, 1412, 1422, 1386, 1409, + 1410, 1413, 1423, 1424, 1394, 1425, 1426, 1386, 1427, 1428, + 1429, 1430, 1386, 1431, 1432, 1386, 1435, 1436, 1386, 1433, + 1433, 1433, 1437, 1439, 1386, 1440, 1441, 1386, 1328, 1328, + 1328, 1333, 1333, 1333, 1442, 1443, 1444, 1340, 1340, 1340, + + 1447, 1449, 1448, 1450, 1452, 1435, 1436, 1453, 1454, 1455, + 1456, 1437, 1439, 1457, 1440, 1441, 1451, 1458, 1459, 1460, + 1461, 1462, 1463, 1442, 1443, 1444, 1464, 1465, 1466, 1447, + 1445, 1448, 1467, 1468, 1469, 1470, 1434, 1471, 1438, 1472, + 1473, 1474, 1475, 1476, 1477, 1478, 1446, 1479, 1482, 1483, + 1484, 1485, 1486, 1487, 1489, 1491, 1492, 1493, 1494, 1445, + 1490, 1393, 1498, 1501, 1502, 1434, 1503, 1438, 1396, 1504, + 2005, 1395, 1505, 1506, 1507, 1446, 1386, 440, 1399, 1399, + 1399, 1399, 1399, 1399, 1508, 1509, 1510, 1386, 1513, 1386, + 1386, 1386, 1386, 1386, 1386, 1392, 1397, 1392, 1496, 1499, + + 1499, 1499, 1499, 1499, 1499, 1500, 1500, 1500, 1500, 1500, + 1500, 1511, 1386, 1394, 1514, 1517, 1516, 2005, 1518, 1519, + 1522, 1523, 1520, 1512, 1386, 1521, 1497, 1524, 1525, 1526, + 1527, 1528, 1529, 1386, 1531, 1533, 1534, 1536, 1386, 1537, + 1538, 1386, 1539, 1540, 1386, 1516, 2005, 1433, 1433, 1433, + 1386, 1541, 1542, 1386, 1543, 1544, 1545, 1549, 1550, 1546, + 1547, 1548, 1551, 1552, 1553, 1554, 1536, 1555, 1537, 1538, + 1556, 1539, 1540, 1557, 1558, 1559, 1560, 1561, 1562, 1568, + 1541, 1542, 1570, 1543, 1544, 1545, 1532, 1535, 1546, 1547, + 1548, 1563, 1563, 1563, 1563, 1563, 1563, 1564, 1566, 1567, + + 1571, 1572, 1573, 1574, 1576, 1565, 1569, 1569, 1569, 1569, + 1569, 1569, 1577, 1578, 1581, 1579, 1535, 1575, 1575, 1575, + 1575, 1575, 1575, 1580, 1582, 1583, 1584, 1585, 1586, 1587, + 1588, 1396, 1396, 1591, 1395, 1499, 1499, 1499, 1499, 1499, + 1499, 1590, 1590, 1590, 1590, 1590, 1590, 1592, 1593, 1595, + 1596, 1597, 1598, 1599, 1602, 1600, 1594, 1604, 1605, 1397, + 1397, 1496, 1601, 1606, 1607, 2005, 1610, 1611, 1614, 1612, + 1603, 1609, 1609, 1609, 1609, 1609, 1609, 1613, 1615, 1616, + 1620, 1621, 1622, 1624, 1617, 1625, 1626, 1627, 1623, 1497, + 1531, 1630, 1631, 1618, 2005, 1632, 1633, 1619, 1634, 1635, + + 1636, 1637, 1638, 1638, 1638, 1639, 1640, 1641, 1642, 1643, + 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1652, 1653, 1655, + 1630, 1631, 1656, 1657, 1632, 1633, 1660, 1634, 1635, 1636, + 1637, 1658, 1662, 1663, 1639, 1640, 1641, 1642, 1664, 1659, + 1665, 1666, 1532, 1651, 1651, 1651, 1651, 1651, 1651, 1654, + 1667, 1569, 1569, 1569, 1569, 1569, 1569, 1661, 1661, 1661, + 1661, 1661, 1661, 1668, 1669, 1670, 1671, 1672, 1674, 1590, + 1590, 1590, 1590, 1590, 1590, 1675, 1676, 1678, 1679, 1680, + 1681, 1682, 1683, 1684, 1677, 1685, 1686, 1687, 1688, 1689, + 1690, 1691, 1693, 1693, 1693, 1693, 1693, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, - 1706, 1707, 1709, 1711, 1712, 1713, 1714, 1715, 1716, 1717, - 1718, 1719, 1635, 1635, 1635, 1721, 1722, 1723, 1724, 1725, - 1726, 1727, 1728, 1729, 1730, 1648, 1648, 1648, 1648, 1648, - 1648, 1738, 1739, 1712, 1713, 1714, 1715, 1716, 1717, 1718, - 1719, 1731, 1740, 1734, 1721, 1722, 1723, 1724, 1735, 1732, - 1733, 1733, 1733, 1733, 1733, 1733, 1736, 1741, 1742, 1743, - 1720, 1747, 1748, 1744, 1737, 1658, 1658, 1658, 1658, 1658, - 1658, 1745, 1746, 1746, 1746, 1746, 1746, 1746, 1749, 1671, - 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1720, - - 1760, 1761, 1762, 1763, 1690, 1690, 1690, 1690, 1690, 1690, - 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1772, - 1772, 1772, 1772, 1772, 1773, 1774, 1775, 1776, 1777, 1779, - 1780, 1709, 1782, 1711, 1783, 1785, 1778, 1784, 1784, 1784, - 1786, 1787, 1788, 1789, 1781, 1790, 1791, 1792, 1793, 1794, - 1795, 1796, 1797, 1798, 1733, 1733, 1733, 1733, 1733, 1733, - 1799, 1800, 1801, 1804, 1785, 1802, 1805, 1806, 1807, 1786, - 1787, 1788, 1789, 1803, 1790, 1791, 1792, 1746, 1746, 1746, - 1746, 1746, 1746, 1808, 1809, 1810, 1811, 1813, 1814, 1814, - 1814, 1814, 1814, 1814, 1816, 1817, 1818, 1819, 1820, 1821, - - 1822, 1823, 1824, 1825, 1826, 1828, 1829, 1830, 1833, 1834, - 1837, 1838, 1827, 1839, 1840, 1842, 1832, 1831, 1772, 1772, - 1772, 1772, 1772, 1772, 1835, 1845, 1784, 1784, 1784, 1848, - 1849, 1850, 1836, 1851, 1852, 1853, 1854, 1855, 1857, 1858, - 1859, 1860, 1862, 1815, 1863, 1864, 1865, 1866, 1867, 1861, - 1868, 1868, 1868, 1868, 1868, 1868, 1869, 1871, 1848, 1849, - 1850, 1872, 1851, 1852, 1870, 1873, 1874, 1843, 1847, 1875, - 1876, 1877, 1878, 1880, 1881, 1882, 1883, 1846, 1884, 1885, - 1879, 1886, 1886, 1886, 1886, 1886, 1886, 1887, 1888, 1889, - 1890, 1891, 1892, 1842, 1845, 1893, 1894, 1847, 1895, 1896, - - 1897, 1898, 1899, 1901, 1902, 1903, 1904, 1905, 1907, 1909, - 1910, 1911, 1868, 1868, 1868, 1868, 1868, 1868, 1912, 1913, - 1914, 1915, 1916, 1918, 1893, 1894, 1919, 1895, 1896, 1897, - 1917, 1920, 1921, 1922, 1923, 1924, 1886, 1886, 1886, 1886, - 1886, 1886, 1925, 1926, 1927, 1843, 1846, 1928, 1929, 1930, - 1931, 1931, 1931, 1932, 1933, 1934, 1935, 1937, 1907, 2002, - 1908, 1936, 1936, 1936, 1936, 1936, 1936, 1938, 1939, 1940, - 1943, 1941, 1944, 1945, 1946, 1948, 1950, 1929, 1930, 1942, - 1951, 1952, 1932, 1933, 1906, 1953, 1906, 1954, 1955, 1931, - 1931, 1931, 1956, 1957, 1958, 1958, 1958, 1958, 1958, 1958, - - 1959, 1960, 1961, 1962, 1963, 1965, 1966, 1967, 1948, 1968, - 1908, 1969, 1964, 1970, 2002, 1971, 1954, 1955, 1972, 1973, - 1976, 1956, 1977, 1978, 1111, 1982, 1985, 1949, 1112, 1980, - 1113, 1986, 1983, 1987, 1115, 1988, 1980, 1991, 1116, 1947, - 1984, 1947, 1993, 1994, 1971, 1992, 1997, 1972, 1973, 1029, - 1028, 1995, 1027, 1111, 1026, 1025, 1024, 1112, 1023, 1113, - 1949, 1022, 1987, 1115, 1988, 2002, 1996, 1116, 1958, 1958, - 1958, 1958, 1958, 1958, 1974, 1974, 1974, 1974, 1974, 1974, - 1995, 1981, 1989, 1989, 1989, 1989, 1989, 1989, 1981, 1998, - 1979, 1999, 1979, 2000, 2001, 1996, 1989, 1989, 1989, 1989, - - 1989, 1989, 1021, 1020, 1019, 1018, 1017, 1016, 1015, 1014, - 1013, 1012, 1011, 1010, 1009, 1008, 1007, 1006, 1998, 1005, - 1999, 1001, 2000, 2001, 74, 74, 74, 74, 74, 74, + 1706, 1707, 1708, 1709, 1710, 1712, 1714, 1715, 1716, 1717, + 1718, 1719, 1720, 1721, 1722, 1638, 1638, 1638, 1724, 1725, + 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1651, 1651, + 1651, 1651, 1651, 1651, 1741, 1742, 1715, 1716, 1717, 1718, + 1719, 1720, 1721, 1722, 1734, 1743, 1737, 1724, 1725, 1726, + 1727, 1738, 1735, 1736, 1736, 1736, 1736, 1736, 1736, 1739, + 1744, 1745, 1746, 1723, 1750, 1751, 1747, 1740, 1661, 1661, + 1661, 1661, 1661, 1661, 1748, 1749, 1749, 1749, 1749, 1749, + 1749, 1752, 1674, 1754, 1755, 1756, 1757, 1758, 1759, 1760, + + 1761, 1762, 1723, 1763, 1764, 1765, 1766, 1693, 1693, 1693, + 1693, 1693, 1693, 1767, 1768, 1769, 1770, 1771, 1772, 1773, + 1774, 1775, 1775, 1775, 1775, 1775, 1775, 1776, 1777, 1778, + 1779, 1780, 1782, 1783, 1712, 1785, 1714, 1786, 1788, 1781, + 1787, 1787, 1787, 1789, 1790, 1791, 1792, 1784, 1793, 1794, + 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1736, 1736, 1736, + 1736, 1736, 1736, 1802, 1803, 1804, 1807, 1788, 1805, 1808, + 1809, 1810, 1789, 1790, 1791, 1792, 1806, 1793, 1794, 1795, + 1749, 1749, 1749, 1749, 1749, 1749, 1811, 1812, 1813, 1814, + 1816, 1817, 1817, 1817, 1817, 1817, 1817, 1819, 1820, 1821, + + 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1831, 1832, + 1833, 1836, 1837, 1840, 1841, 1830, 1842, 1843, 1845, 1835, + 1834, 1775, 1775, 1775, 1775, 1775, 1775, 1838, 1848, 1787, + 1787, 1787, 1851, 1852, 1853, 1839, 1854, 1855, 1856, 1857, + 1858, 1860, 1861, 1862, 1863, 1865, 1818, 1866, 1867, 1868, + 1869, 1870, 1864, 1871, 1871, 1871, 1871, 1871, 1871, 1872, + 1874, 1851, 1852, 1853, 1875, 1854, 1855, 1873, 1876, 1877, + 1846, 1850, 1878, 1879, 1880, 1881, 1883, 1884, 1885, 1886, + 1849, 1887, 1888, 1882, 1889, 1889, 1889, 1889, 1889, 1889, + 1890, 1891, 1892, 1893, 1894, 1895, 1845, 1848, 1896, 1897, + + 1850, 1898, 1899, 1900, 1901, 1902, 1904, 1905, 1906, 1907, + 1908, 1910, 1912, 1913, 1914, 1871, 1871, 1871, 1871, 1871, + 1871, 1915, 1916, 1917, 1918, 1919, 1921, 1896, 1897, 1922, + 1898, 1899, 1900, 1920, 1923, 1924, 1925, 1926, 1927, 1889, + 1889, 1889, 1889, 1889, 1889, 1928, 1929, 1930, 1846, 1849, + 1931, 1932, 1933, 1934, 1934, 1934, 1935, 1936, 1937, 1938, + 1940, 1910, 2005, 1911, 1939, 1939, 1939, 1939, 1939, 1939, + 1941, 1942, 1943, 1946, 1944, 1947, 1948, 1949, 1951, 1953, + 1932, 1933, 1945, 1954, 1955, 1935, 1936, 1909, 1956, 1909, + 1957, 1958, 1934, 1934, 1934, 1959, 1960, 1961, 1961, 1961, + + 1961, 1961, 1961, 1962, 1963, 1964, 1965, 1966, 1968, 1969, + 1970, 1951, 1971, 1911, 1972, 1967, 1973, 2005, 1974, 1957, + 1958, 1975, 1976, 1979, 1959, 1980, 1981, 1114, 1985, 1988, + 1952, 1115, 1983, 1116, 1989, 1986, 1990, 1118, 1991, 1983, + 1994, 1119, 1950, 1987, 1950, 1996, 1997, 1974, 1995, 2000, + 1975, 1976, 1033, 1032, 1998, 1031, 1114, 1030, 1029, 1028, + 1115, 1027, 1116, 1952, 1026, 1990, 1118, 1991, 2005, 1999, + 1119, 1961, 1961, 1961, 1961, 1961, 1961, 1977, 1977, 1977, + 1977, 1977, 1977, 1998, 1984, 1992, 1992, 1992, 1992, 1992, + 1992, 1984, 2001, 1982, 2002, 1982, 2003, 2004, 1999, 1992, + + 1992, 1992, 1992, 1992, 1992, 1025, 1024, 1023, 1022, 1021, + 1020, 1019, 1018, 1017, 1016, 1015, 1014, 1013, 1012, 1011, + 1010, 2001, 1009, 2002, 1008, 2003, 2004, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 77, 77, 1000, 77, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 77, + 77, 1004, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 126, 999, 998, 997, 126, 126, 126, 126, 126, 126, - - 126, 126, 126, 126, 126, 232, 996, 995, 994, 232, - 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 275, 993, 992, 975, 275, 275, 974, 973, 972, 971, - 275, 275, 436, 436, 968, 436, 436, 436, 436, 436, - 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, - 436, 436, 436, 436, 618, 618, 967, 618, 618, 618, - 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, - 618, 618, 618, 618, 618, 618, 1281, 966, 965, 964, - 1281, 1281, 1281, 1281, 1281, 963, 1281, 1281, 1281, 1281, - 1281, 1373, 962, 961, 960, 1373, 1373, 1373, 1373, 1373, - - 957, 1373, 1373, 1373, 1373, 1373, 1374, 956, 955, 1374, - 954, 953, 952, 1374, 1374, 1374, 1374, 1374, 950, 1374, - 1374, 1374, 1374, 1374, 1382, 949, 948, 947, 1382, 1382, - 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1389, - 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 946, 1389, - 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, - 1389, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, - 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, - 1392, 1392, 1392, 1399, 945, 944, 1399, 1399, 1399, 1399, - 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, - - 1399, 1399, 1399, 1399, 1399, 1414, 940, 939, 938, 1414, - 1414, 935, 934, 933, 932, 1414, 1414, 1477, 931, 930, - 1477, 929, 928, 927, 1477, 1477, 1477, 1477, 1477, 926, - 1477, 1477, 1477, 1477, 1477, 1478, 923, 922, 1478, 1478, - 921, 920, 919, 1478, 918, 1478, 917, 916, 915, 1478, - 914, 1478, 1485, 1485, 1485, 913, 912, 911, 1485, 1485, - 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1492, - 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, - 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, - 1492, 1512, 910, 909, 908, 1512, 1512, 907, 906, 1512, - - 905, 1512, 1512, 904, 903, 1512, 1527, 1527, 902, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1586, 1586, - 1586, 1586, 1586, 1605, 901, 900, 899, 1605, 1605, 896, - 893, 892, 891, 1605, 1605, 1625, 1625, 1625, 1625, 1625, - 890, 1625, 1625, 1625, 1625, 1625, 1626, 1626, 1626, 1626, - 1626, 889, 1626, 1626, 1626, 1626, 1626, 1670, 885, 884, - 883, 882, 1670, 881, 880, 879, 878, 875, 874, 1670, - 1670, 1670, 1670, 1670, 1689, 873, 872, 871, 1689, 1689, - 870, 869, 868, 867, 1689, 1689, 1708, 866, 1708, 1708, - - 865, 864, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, - 1708, 1708, 1708, 1710, 863, 1710, 1710, 862, 861, 1710, - 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, - 1750, 860, 859, 1750, 1750, 1750, 1750, 1750, 1750, 1750, - 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, - 1750, 1750, 1812, 858, 857, 1812, 1812, 1812, 1812, 1812, - 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812, - 1812, 1812, 1812, 1812, 1841, 1841, 856, 1841, 1841, 1841, - 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, - 1841, 1841, 1841, 1841, 1841, 1841, 1844, 1844, 855, 1844, - + 77, 102, 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 127, 1003, 1002, 1001, 127, 127, 127, + + 127, 127, 127, 127, 127, 127, 127, 127, 234, 1000, + 999, 998, 234, 234, 234, 234, 234, 234, 234, 234, + 234, 234, 234, 278, 997, 996, 995, 278, 278, 978, + 977, 976, 975, 278, 278, 439, 439, 974, 439, 439, + 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, + 439, 439, 439, 439, 439, 439, 439, 621, 621, 971, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 1284, + 970, 969, 968, 1284, 1284, 1284, 1284, 1284, 967, 1284, + 1284, 1284, 1284, 1284, 1376, 966, 965, 964, 1376, 1376, + + 1376, 1376, 1376, 963, 1376, 1376, 1376, 1376, 1376, 1377, + 960, 959, 1377, 958, 957, 956, 1377, 1377, 1377, 1377, + 1377, 955, 1377, 1377, 1377, 1377, 1377, 1385, 953, 952, + 951, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, + 1385, 1385, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, + 1392, 950, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, + 1392, 1392, 1392, 1392, 1395, 1395, 1395, 1395, 1395, 1395, + 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, + 1395, 1395, 1395, 1395, 1395, 1395, 1402, 949, 948, 1402, + 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, + + 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1417, 947, + 943, 942, 1417, 1417, 941, 938, 937, 936, 1417, 1417, + 1480, 935, 934, 1480, 933, 932, 931, 1480, 1480, 1480, + 1480, 1480, 930, 1480, 1480, 1480, 1480, 1480, 1481, 929, + 926, 1481, 1481, 925, 924, 923, 1481, 922, 1481, 921, + 920, 919, 1481, 918, 1481, 1488, 1488, 1488, 917, 916, + 915, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, + 1488, 1488, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, + 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, + 1495, 1495, 1495, 1495, 1515, 914, 913, 912, 1515, 1515, + + 911, 910, 1515, 909, 1515, 1515, 908, 907, 1515, 1530, + 1530, 906, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, + 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, + 1530, 1589, 1589, 1589, 1589, 1589, 1608, 905, 904, 903, + 1608, 1608, 902, 899, 896, 895, 1608, 1608, 1628, 1628, + 1628, 1628, 1628, 894, 1628, 1628, 1628, 1628, 1628, 1629, + 1629, 1629, 1629, 1629, 893, 1629, 1629, 1629, 1629, 1629, + 1673, 892, 888, 887, 886, 1673, 885, 884, 883, 882, + 881, 878, 1673, 1673, 1673, 1673, 1673, 1692, 877, 876, + 875, 1692, 1692, 874, 873, 872, 871, 1692, 1692, 1711, + + 870, 1711, 1711, 869, 868, 1711, 1711, 1711, 1711, 1711, + 1711, 1711, 1711, 1711, 1711, 1711, 1713, 867, 1713, 1713, + 866, 865, 1713, 1713, 1713, 1713, 1713, 1713, 1713, 1713, + 1713, 1713, 1713, 1753, 864, 863, 1753, 1753, 1753, 1753, + 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, + 1753, 1753, 1753, 1753, 1753, 1815, 862, 861, 1815, 1815, + 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, + 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1844, 1844, 860, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, - 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1856, 1856, - 1856, 1856, 1856, 854, 1856, 1856, 1856, 1856, 1856, 1900, - 853, 852, 851, 1900, 1900, 1900, 1900, 1900, 1900, 1900, - 1900, 1900, 1900, 1900, 1906, 1906, 1906, 1906, 1906, 1906, - 1906, 1906, 1906, 850, 1906, 1906, 1906, 1906, 1906, 1906, - 1906, 1906, 1906, 1906, 1906, 1906, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 849, 1947, 1947, 1947, 1947, - 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1947, 1975, 1975, - 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1979, - - 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 848, 1979, - 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, 1979, - 1979, 1990, 847, 846, 845, 1990, 1990, 1990, 1990, 1990, - 1990, 1990, 1990, 1990, 1990, 1990, 844, 843, 842, 816, - 815, 812, 811, 810, 809, 808, 807, 806, 805, 804, - 803, 802, 801, 800, 799, 798, 797, 796, 795, 794, - 793, 792, 791, 790, 437, 786, 785, 784, 783, 782, - 781, 780, 779, 778, 773, 772, 771, 770, 769, 768, - 767, 766, 765, 764, 763, 761, 760, 759, 758, 757, - 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, - - 744, 743, 742, 741, 740, 739, 738, 737, 736, 735, - 734, 733, 732, 731, 730, 729, 728, 727, 726, 725, - 724, 723, 722, 721, 720, 719, 718, 717, 716, 715, - 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, - 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, - 694, 693, 692, 691, 690, 689, 688, 686, 685, 684, - 683, 682, 681, 680, 679, 650, 649, 648, 647, 646, - 643, 642, 641, 640, 639, 638, 637, 636, 635, 632, - 631, 630, 629, 628, 624, 623, 622, 437, 616, 615, - 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, - - 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, - 594, 593, 591, 590, 589, 588, 587, 586, 585, 582, - 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, - 571, 570, 569, 568, 567, 566, 565, 562, 561, 558, - 557, 556, 553, 552, 551, 550, 549, 548, 547, 546, - 545, 544, 543, 542, 541, 540, 538, 537, 536, 533, - 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, - 522, 521, 520, 519, 516, 514, 511, 510, 509, 507, - 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, - 496, 466, 463, 462, 461, 458, 457, 452, 451, 450, - - 449, 448, 447, 446, 443, 442, 441, 440, 435, 434, - 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, - 423, 422, 421, 420, 419, 418, 414, 413, 407, 406, - 398, 397, 392, 380, 376, 375, 372, 366, 365, 364, - 358, 355, 354, 353, 352, 351, 350, 349, 348, 346, - 345, 341, 340, 339, 336, 334, 330, 329, 328, 323, - 322, 320, 319, 318, 316, 315, 310, 309, 279, 278, - 277, 276, 2002, 269, 260, 259, 252, 248, 247, 235, - 230, 208, 190, 122, 117, 109, 104, 100, 73, 2002, - 3, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002 + 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1847, + + 1847, 859, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, + 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, + 1847, 1859, 1859, 1859, 1859, 1859, 858, 1859, 1859, 1859, + 1859, 1859, 1903, 857, 856, 855, 1903, 1903, 1903, 1903, + 1903, 1903, 1903, 1903, 1903, 1903, 1903, 1909, 1909, 1909, + 1909, 1909, 1909, 1909, 1909, 1909, 854, 1909, 1909, 1909, + 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1950, + 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 853, 1950, + 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, 1950, + 1950, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, + + 1978, 1978, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, + 1982, 852, 1982, 1982, 1982, 1982, 1982, 1982, 1982, 1982, + 1982, 1982, 1982, 1982, 1993, 851, 850, 849, 1993, 1993, + 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 1993, 848, + 847, 846, 845, 819, 818, 815, 814, 813, 812, 811, + 810, 809, 808, 807, 806, 805, 804, 803, 802, 801, + 800, 799, 798, 797, 796, 795, 794, 793, 440, 789, + 788, 787, 786, 785, 784, 783, 782, 781, 776, 775, + 774, 773, 772, 771, 770, 769, 768, 767, 766, 764, + 763, 762, 761, 760, 757, 756, 755, 754, 753, 752, + + 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, + 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, + 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, + 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, + 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, + 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, + 691, 689, 688, 687, 686, 685, 684, 683, 682, 653, + 652, 651, 650, 649, 646, 645, 644, 643, 642, 641, + 640, 639, 638, 635, 634, 633, 632, 631, 627, 626, + 625, 440, 619, 618, 617, 616, 615, 614, 613, 612, + + 611, 610, 609, 608, 607, 606, 605, 604, 603, 602, + 601, 600, 599, 598, 597, 596, 594, 593, 592, 591, + 590, 589, 588, 585, 584, 583, 582, 581, 580, 579, + 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, + 568, 565, 564, 561, 560, 559, 556, 555, 554, 553, + 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, + 541, 540, 539, 536, 535, 534, 533, 532, 531, 530, + 529, 528, 527, 526, 525, 524, 523, 522, 519, 517, + 514, 513, 512, 510, 509, 508, 507, 506, 505, 504, + 503, 502, 501, 500, 499, 469, 466, 465, 464, 461, + + 460, 455, 454, 453, 452, 451, 450, 449, 446, 445, + 444, 443, 438, 437, 436, 435, 434, 433, 432, 431, + 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, + 417, 416, 410, 409, 401, 400, 395, 383, 379, 378, + 375, 369, 368, 367, 361, 358, 357, 356, 355, 354, + 353, 352, 351, 349, 348, 344, 343, 342, 339, 337, + 333, 332, 331, 326, 325, 323, 322, 321, 319, 318, + 313, 312, 282, 281, 280, 279, 2005, 272, 271, 262, + 261, 254, 250, 249, 237, 209, 191, 123, 118, 110, + 105, 73, 2005, 3, 2005, 2005, 2005, 2005, 2005, 2005, + + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005 } ; -static yyconst flex_int16_t yy_chk[3580] = +static yyconst flex_int16_t yy_chk[3583] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1492,8 +1493,8 @@ static yyconst flex_int16_t yy_chk[3580] = 36, 38, 39, 33, 40, 19, 17, 33, 41, 21, 42, 32, 48, 48, 32, 43, 33, 72, 98, 72, - 82, 82, 93, 202, 31, 34, 32, 35, 98, 36, - 38, 39, 33, 40, 202, 93, 33, 41, 13, 42, + 82, 82, 93, 203, 31, 34, 32, 35, 98, 36, + 38, 39, 33, 40, 203, 93, 33, 41, 13, 42, 32, 8, 10, 32, 43, 33, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -1504,374 +1505,375 @@ static yyconst flex_int16_t yy_chk[3580] = 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 22, 45, 22, 22, 22, 22, 22, 22, 23, 895, - 23, 23, 23, 23, 23, 23, 28, 28, 22, 26, - 26, 26, 46, 30, 44, 47, 23, 56, 44, 59, - 45, 30, 156, 30, 92, 51, 60, 22, 30, 56, - 30, 85, 92, 56, 85, 85, 449, 22, 59, 156, - 56, 46, 30, 44, 47, 23, 56, 44, 59, 53, - 30, 58, 30, 53, 51, 60, 22, 30, 51, 30, - - 373, 51, 53, 373, 28, 60, 61, 51, 26, 50, - 67, 60, 58, 58, 53, 53, 52, 50, 53, 50, - 58, 449, 53, 61, 50, 58, 50, 62, 53, 67, - 52, 53, 74, 52, 63, 61, 50, 50, 50, 67, - 62, 61, 62, 63, 896, 52, 50, 54, 50, 52, - 68, 101, 50, 50, 50, 50, 52, 55, 91, 52, - 63, 214, 52, 63, 54, 52, 54, 65, 54, 214, - 54, 66, 897, 69, 54, 66, 54, 68, 91, 68, - 55, 206, 68, 55, 74, 84, 55, 206, 84, 55, - 55, 84, 65, 96, 69, 55, 65, 96, 101, 898, - - 66, 69, 69, 224, 66, 127, 65, 66, 66, 128, - 89, 69, 65, 224, 129, 66, 66, 89, 89, 66, - 66, 262, 66, 262, 66, 80, 80, 80, 80, 80, - 80, 86, 86, 86, 127, 97, 130, 86, 128, 131, - 132, 86, 97, 129, 227, 133, 899, 97, 227, 113, - 97, 113, 113, 113, 113, 113, 113, 114, 134, 114, - 114, 114, 114, 114, 114, 130, 135, 113, 131, 132, - 137, 115, 138, 115, 133, 114, 115, 115, 115, 115, - 115, 115, 136, 139, 140, 141, 142, 134, 143, 144, - 145, 136, 146, 148, 147, 135, 113, 149, 150, 137, - - 151, 138, 147, 152, 114, 149, 158, 157, 161, 900, - 165, 136, 139, 140, 141, 142, 209, 143, 144, 145, - 136, 146, 148, 147, 168, 209, 149, 150, 157, 151, - 219, 147, 152, 172, 149, 158, 157, 161, 158, 165, - 174, 219, 172, 176, 176, 183, 165, 195, 180, 193, - 161, 222, 196, 168, 168, 200, 804, 174, 211, 168, - 195, 168, 172, 172, 222, 172, 180, 211, 901, 174, - 180, 172, 254, 254, 183, 223, 207, 180, 193, 193, - 196, 196, 263, 263, 200, 196, 200, 280, 183, 207, - 210, 217, 228, 196, 281, 804, 218, 217, 210, 213, - - 200, 200, 200, 200, 223, 207, 210, 213, 210, 266, - 218, 249, 210, 218, 329, 228, 280, 210, 329, 210, - 352, 228, 210, 281, 210, 210, 266, 210, 213, 249, - 305, 305, 305, 352, 213, 213, 213, 231, 231, 231, - 231, 231, 231, 271, 271, 271, 271, 271, 271, 273, - 273, 273, 273, 273, 273, 272, 282, 272, 283, 271, - 272, 272, 272, 272, 272, 272, 274, 274, 274, 274, - 274, 274, 284, 285, 286, 287, 288, 289, 249, 290, - 291, 292, 293, 294, 295, 282, 296, 283, 271, 297, - 298, 299, 300, 301, 302, 303, 304, 306, 307, 308, - - 324, 284, 285, 286, 287, 288, 289, 331, 290, 291, - 292, 293, 294, 295, 344, 296, 356, 410, 297, 298, - 299, 300, 301, 302, 303, 304, 306, 307, 308, 324, - 333, 380, 377, 401, 380, 401, 331, 437, 333, 331, - 377, 439, 438, 344, 443, 356, 410, 459, 467, 459, - 443, 468, 469, 443, 464, 464, 464, 464, 464, 464, - 356, 438, 465, 465, 465, 465, 465, 465, 470, 471, - 472, 474, 475, 476, 477, 478, 480, 467, 481, 482, - 468, 469, 903, 483, 484, 484, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 492, 492, 470, 471, 472, - - 474, 475, 476, 477, 478, 480, 493, 481, 482, 437, - 494, 439, 483, 508, 617, 592, 485, 486, 487, 488, - 489, 490, 491, 584, 621, 651, 492, 584, 645, 904, - 618, 619, 653, 905, 654, 493, 606, 657, 645, 494, - 658, 492, 508, 492, 592, 771, 508, 606, 606, 618, - 619, 649, 606, 659, 651, 492, 660, 661, 649, 662, - 771, 653, 649, 654, 663, 665, 657, 668, 670, 658, - 492, 671, 492, 672, 617, 666, 666, 666, 673, 674, - 675, 676, 659, 677, 678, 660, 661, 720, 662, 621, - 740, 762, 787, 663, 665, 731, 668, 670, 720, 738, - - 671, 731, 672, 619, 740, 738, 783, 673, 674, 675, - 676, 731, 677, 678, 788, 789, 814, 820, 821, 814, - 762, 822, 783, 823, 666, 797, 797, 797, 797, 797, - 797, 825, 827, 788, 824, 824, 824, 828, 829, 906, - 831, 832, 835, 837, 838, 907, 820, 821, 839, 787, - 822, 840, 823, 666, 859, 859, 908, 910, 911, 913, - 825, 827, 916, 917, 918, 919, 828, 829, 789, 831, - 832, 835, 837, 838, 788, 920, 921, 839, 922, 923, - 840, 924, 921, 925, 926, 927, 928, 929, 930, 931, - 932, 933, 934, 935, 936, 937, 938, 939, 940, 933, - - 941, 942, 943, 944, 859, 945, 946, 947, 948, 949, - 950, 951, 951, 951, 951, 951, 951, 952, 953, 954, - 942, 955, 956, 957, 958, 959, 960, 961, 962, 963, + 12, 22, 45, 22, 22, 22, 22, 22, 22, 23, + 899, 23, 23, 23, 23, 23, 23, 28, 28, 22, + 26, 26, 26, 46, 30, 44, 47, 23, 58, 44, + 62, 45, 30, 85, 30, 900, 85, 85, 22, 30, + 51, 30, 61, 62, 74, 62, 70, 96, 22, 58, + 58, 96, 46, 30, 44, 47, 23, 58, 44, 61, + 901, 30, 58, 30, 54, 59, 92, 22, 30, 51, + + 30, 61, 52, 51, 92, 28, 51, 61, 12, 26, + 50, 54, 51, 54, 59, 54, 52, 54, 50, 52, + 50, 54, 89, 54, 59, 50, 74, 50, 774, 89, + 89, 52, 63, 67, 70, 52, 128, 50, 50, 50, + 91, 63, 52, 774, 55, 52, 53, 50, 52, 50, + 53, 52, 67, 50, 50, 50, 50, 60, 63, 53, + 91, 63, 67, 68, 65, 128, 102, 55, 56, 129, + 55, 53, 53, 55, 228, 53, 55, 55, 228, 53, + 56, 902, 55, 66, 56, 53, 60, 66, 53, 65, + 68, 56, 68, 65, 130, 68, 60, 56, 129, 97, + + 157, 69, 60, 65, 84, 196, 97, 84, 131, 65, + 84, 97, 66, 102, 97, 220, 66, 157, 196, 66, + 66, 132, 69, 130, 133, 134, 220, 66, 66, 69, + 69, 66, 66, 903, 66, 135, 66, 131, 223, 69, + 80, 80, 80, 80, 80, 80, 86, 86, 86, 136, + 132, 223, 86, 133, 134, 114, 86, 114, 114, 114, + 114, 114, 114, 115, 135, 115, 115, 115, 115, 115, + 115, 137, 138, 114, 139, 140, 141, 116, 136, 116, + 137, 115, 116, 116, 116, 116, 116, 116, 142, 143, + 144, 145, 146, 147, 149, 151, 152, 153, 148, 150, + + 137, 138, 114, 139, 140, 141, 148, 150, 158, 137, + 115, 159, 162, 166, 264, 169, 264, 142, 143, 144, + 145, 146, 147, 149, 151, 152, 153, 148, 150, 158, + 173, 177, 177, 807, 175, 148, 150, 158, 184, 173, + 159, 162, 166, 159, 169, 169, 197, 181, 194, 166, + 169, 175, 169, 201, 162, 207, 224, 208, 215, 173, + 173, 207, 173, 175, 210, 181, 215, 184, 173, 181, + 208, 212, 807, 210, 197, 197, 181, 194, 194, 197, + 212, 184, 201, 218, 201, 224, 208, 197, 211, 218, + 229, 219, 225, 251, 355, 214, 211, 268, 201, 201, + + 201, 201, 225, 214, 211, 219, 211, 355, 219, 904, + 211, 251, 332, 229, 268, 211, 332, 211, 376, 229, + 211, 376, 211, 211, 214, 211, 256, 256, 265, 265, + 214, 214, 214, 233, 233, 233, 233, 233, 233, 274, + 274, 274, 274, 274, 274, 276, 276, 276, 276, 276, + 276, 283, 284, 285, 286, 274, 275, 287, 275, 288, + 251, 275, 275, 275, 275, 275, 275, 277, 277, 277, + 277, 277, 277, 289, 290, 291, 292, 293, 294, 295, + 283, 284, 285, 286, 274, 296, 287, 297, 288, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + + 308, 308, 289, 290, 291, 292, 293, 294, 295, 309, + 310, 311, 327, 334, 296, 347, 297, 359, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 336, 380, + 383, 413, 404, 383, 404, 440, 336, 380, 309, 310, + 311, 327, 334, 441, 347, 334, 359, 442, 446, 452, + 462, 470, 462, 471, 446, 472, 473, 446, 474, 475, + 413, 359, 441, 467, 467, 467, 467, 467, 467, 468, + 468, 468, 468, 468, 468, 477, 478, 479, 624, 480, + 470, 481, 471, 483, 472, 473, 484, 474, 475, 485, + 486, 487, 487, 487, 452, 488, 489, 490, 491, 492, + + 493, 494, 496, 497, 477, 478, 479, 440, 480, 511, + 481, 595, 483, 620, 906, 484, 654, 442, 485, 486, + 495, 495, 495, 609, 488, 489, 490, 491, 492, 493, + 494, 496, 497, 587, 609, 609, 621, 587, 511, 609, + 595, 622, 511, 624, 648, 654, 652, 656, 657, 660, + 661, 662, 495, 652, 648, 621, 663, 652, 664, 665, + 622, 666, 668, 669, 669, 669, 671, 495, 673, 495, + 674, 675, 676, 620, 677, 678, 656, 657, 660, 661, + 662, 495, 679, 723, 792, 663, 680, 664, 665, 681, + 666, 668, 743, 765, 723, 671, 495, 673, 495, 674, + + 675, 676, 790, 677, 678, 786, 743, 791, 734, 823, + 741, 679, 669, 622, 734, 680, 741, 817, 681, 824, + 817, 786, 765, 825, 734, 826, 791, 800, 800, 800, + 800, 800, 800, 827, 827, 827, 828, 792, 823, 830, + 831, 669, 832, 834, 835, 838, 840, 841, 824, 842, + 843, 907, 825, 908, 826, 862, 862, 909, 910, 790, + 911, 913, 914, 916, 919, 828, 920, 791, 830, 831, + 921, 832, 834, 835, 838, 840, 841, 922, 842, 843, + 923, 924, 925, 926, 927, 928, 929, 924, 930, 931, + 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, + + 942, 943, 936, 944, 945, 862, 946, 947, 948, 949, + 950, 951, 952, 953, 954, 954, 954, 954, 954, 954, + 955, 956, 957, 945, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, - 974, 975, 976, 978, 979, 979, 979, 992, 995, 982, - 983, 983, 983, 984, 985, 987, 988, 989, 942, 990, - 991, 996, 997, 998, 999, 1001, 941, 1007, 1008, 1009, - 1010, 976, 978, 1013, 943, 980, 980, 980, 982, 1014, - 1015, 1016, 984, 985, 987, 988, 989, 1018, 990, 991, - 1019, 1021, 1022, 1023, 1024, 1025, 1027, 1028, 1029, 1031, - - 1032, 1033, 1035, 1037, 1038, 1039, 1040, 1041, 1043, 1044, - 980, 1048, 1049, 1050, 980, 1051, 980, 1052, 1053, 980, - 980, 1054, 1055, 1056, 980, 1057, 1058, 1059, 1060, 1061, - 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 980, - 1071, 1072, 1073, 980, 1074, 980, 1075, 1076, 980, 980, - 1077, 1078, 1079, 980, 1080, 1081, 1082, 1083, 1083, 1083, - 1083, 1083, 1083, 1074, 1075, 1084, 1085, 1086, 1087, 1088, - 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1090, - 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, - 1108, 1109, 1110, 1110, 1110, 1111, 1112, 1113, 1114, 1115, - - 1117, 1116, 1118, 1118, 1118, 1119, 1120, 1126, 1116, 1121, - 1074, 1122, 1124, 1127, 1128, 1130, 1115, 1131, 1132, 1108, - 1109, 1134, 1135, 1136, 1111, 1112, 1113, 1114, 1115, 1117, - 1116, 1137, 1139, 1140, 1119, 1120, 1110, 1116, 1121, 1141, - 1122, 1124, 1142, 1143, 1144, 1115, 1146, 1118, 1148, 1149, - 1151, 1152, 1153, 1154, 1156, 1157, 1158, 1160, 1161, 1164, - 1165, 1167, 1168, 1169, 1170, 1110, 1171, 1172, 1173, 1174, - 1175, 1176, 1177, 1178, 1180, 1181, 1118, 1182, 1183, 1184, - 1185, 1186, 1187, 1188, 1188, 1189, 1190, 1191, 1181, 1192, - 1192, 1192, 1192, 1192, 1192, 1193, 1194, 1195, 1196, 1197, - - 1198, 1187, 1199, 1200, 1201, 1202, 1204, 1205, 1190, 1206, - 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, - 1217, 1218, 1219, 1220, 1221, 1222, 1222, 1222, 1223, 1224, - 1225, 1226, 1227, 1227, 1227, 1228, 1229, 1195, 1230, 1231, - 1232, 1233, 1234, 1234, 1234, 1235, 1237, 1238, 1239, 1240, - 1241, 1244, 1246, 1221, 1247, 1248, 1249, 1223, 1224, 1225, - 1226, 1250, 1251, 1252, 1228, 1229, 1253, 1230, 1231, 1232, - 1233, 1254, 1257, 1259, 1235, 1237, 1238, 1261, 1262, 1263, - 1264, 1266, 1267, 1269, 1270, 1271, 1272, 1273, 1274, 1275, - 1276, 1277, 1278, 1279, 1282, 1283, 1282, 1282, 1282, 1282, - - 1282, 1282, 1284, 1285, 1286, 1287, 1288, 1290, 1290, 1292, - 1293, 1294, 1297, 1299, 1300, 1301, 1302, 1291, 1290, 1291, - 1290, 1290, 1290, 1290, 1290, 1290, 1291, 1291, 1305, 1307, - 1291, 1295, 1295, 1295, 1295, 1295, 1295, 1308, 1293, 1309, - 1303, 1303, 1304, 1290, 1296, 1296, 1296, 1296, 1296, 1296, - 1310, 1311, 1312, 1304, 1313, 1290, 1303, 1303, 1304, 1314, - 1315, 1292, 1316, 1317, 1290, 1318, 1319, 1320, 1321, 1290, - 1322, 1323, 1290, 1327, 1328, 1290, 1324, 1324, 1324, 1329, - 1331, 1290, 1332, 1333, 1290, 1325, 1325, 1325, 1330, 1330, - 1330, 1334, 1335, 1336, 1337, 1337, 1337, 1339, 1341, 1340, - - 1342, 1343, 1327, 1328, 1344, 1345, 1346, 1347, 1329, 1331, - 1348, 1332, 1333, 1342, 1349, 1350, 1351, 1353, 1354, 1355, - 1334, 1335, 1336, 1356, 1358, 1359, 1339, 1337, 1340, 1360, - 1361, 1362, 1363, 1325, 1364, 1330, 1365, 1366, 1367, 1368, - 1369, 1370, 1371, 1337, 1372, 1376, 1377, 1378, 1379, 1380, - 1381, 1384, 1385, 1386, 1387, 1388, 1337, 1384, 1389, 1395, - 1400, 1401, 1325, 1402, 1330, 1392, 1403, 1391, 1394, 1404, - 1405, 1406, 1337, 1383, 1383, 1396, 1396, 1396, 1396, 1396, - 1396, 1407, 1408, 1409, 1383, 1411, 1383, 1383, 1383, 1383, - 1383, 1383, 1391, 1392, 1391, 1394, 1397, 1397, 1397, 1397, - - 1397, 1397, 1398, 1398, 1398, 1398, 1398, 1398, 1410, 1383, - 1389, 1412, 1415, 1413, 1414, 1416, 1417, 1419, 1420, 1418, - 1410, 1383, 1418, 1394, 1421, 1422, 1423, 1424, 1425, 1426, - 1383, 1427, 1428, 1429, 1431, 1383, 1432, 1434, 1383, 1435, - 1436, 1383, 1413, 1414, 1430, 1430, 1430, 1383, 1437, 1438, - 1383, 1440, 1441, 1442, 1446, 1447, 1443, 1444, 1445, 1448, - 1450, 1454, 1455, 1431, 1456, 1432, 1434, 1457, 1435, 1436, - 1458, 1459, 1460, 1462, 1464, 1465, 1469, 1437, 1438, 1471, - 1440, 1441, 1442, 1427, 1430, 1443, 1444, 1445, 1466, 1466, - 1466, 1466, 1466, 1466, 1467, 1468, 1468, 1472, 1473, 1474, - - 1475, 1479, 1467, 1470, 1470, 1470, 1470, 1470, 1470, 1480, - 1481, 1483, 1482, 1430, 1476, 1476, 1476, 1476, 1476, 1476, - 1482, 1484, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, - 1498, 1494, 1496, 1496, 1496, 1496, 1496, 1496, 1497, 1497, - 1497, 1497, 1497, 1497, 1499, 1500, 1501, 1502, 1503, 1504, - 1505, 1507, 1506, 1500, 1508, 1509, 1492, 1493, 1494, 1506, - 1510, 1511, 1512, 1515, 1516, 1518, 1517, 1507, 1514, 1514, - 1514, 1514, 1514, 1514, 1517, 1519, 1520, 1521, 1522, 1522, - 1523, 1520, 1524, 1525, 1526, 1522, 1494, 1527, 1532, 1533, - 1520, 1512, 1534, 1535, 1520, 1536, 1537, 1538, 1539, 1540, - - 1540, 1540, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1551, - 1554, 1555, 1557, 1558, 1561, 1565, 1567, 1532, 1533, 1568, - 1569, 1534, 1535, 1571, 1536, 1537, 1538, 1539, 1570, 1573, - 1574, 1542, 1543, 1544, 1545, 1575, 1570, 1576, 1578, 1527, - 1560, 1560, 1560, 1560, 1560, 1560, 1566, 1579, 1566, 1566, - 1566, 1566, 1566, 1566, 1572, 1572, 1572, 1572, 1572, 1572, - 1580, 1581, 1582, 1583, 1584, 1586, 1587, 1587, 1587, 1587, - 1587, 1587, 1588, 1589, 1590, 1592, 1593, 1594, 1595, 1596, - 1597, 1589, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1606, - 1606, 1606, 1606, 1606, 1606, 1607, 1608, 1609, 1611, 1612, - - 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, + 974, 975, 976, 977, 978, 979, 981, 982, 982, 982, + 986, 986, 986, 985, 987, 988, 990, 991, 992, 993, + 994, 945, 995, 998, 999, 1000, 1001, 1002, 1004, 944, + 1010, 1011, 1012, 1013, 979, 981, 1016, 1017, 946, 983, + 983, 983, 985, 987, 988, 990, 991, 992, 993, 994, + 1018, 1019, 1021, 1022, 1024, 1025, 1026, 1027, 1028, 1030, + + 1031, 1032, 1034, 1035, 1036, 1038, 1040, 1041, 1042, 1043, + 1044, 1046, 1047, 1051, 983, 1052, 1053, 1054, 983, 1055, + 983, 1056, 1057, 983, 983, 1058, 1059, 1060, 983, 1061, + 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, + 1072, 1073, 1074, 983, 1075, 1076, 1077, 983, 1078, 983, + 1079, 1080, 983, 983, 1081, 1082, 1083, 983, 1084, 1085, + 1087, 1088, 1089, 1090, 1091, 1077, 1078, 1086, 1086, 1086, + 1086, 1086, 1086, 1092, 1093, 1094, 1095, 1096, 1097, 1098, + 1099, 1100, 1093, 1101, 1102, 1103, 1104, 1105, 1106, 1107, + 1108, 1109, 1110, 1111, 1112, 1113, 1113, 1113, 1114, 1115, + + 1116, 1117, 1118, 1120, 1119, 1121, 1121, 1121, 1122, 1123, + 1129, 1119, 1077, 1124, 1125, 1127, 1130, 1131, 1133, 1118, + 1134, 1135, 1111, 1112, 1137, 1138, 1139, 1114, 1115, 1116, + 1117, 1118, 1120, 1119, 1140, 1142, 1143, 1122, 1123, 1113, + 1119, 1144, 1124, 1125, 1127, 1145, 1146, 1147, 1118, 1149, + 1121, 1151, 1152, 1154, 1155, 1156, 1157, 1159, 1160, 1161, + 1163, 1164, 1167, 1168, 1170, 1171, 1172, 1173, 1113, 1174, + 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1183, 1184, 1121, + 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1191, 1192, 1193, + 1194, 1184, 1195, 1195, 1195, 1195, 1195, 1195, 1196, 1197, + + 1198, 1199, 1200, 1201, 1190, 1202, 1203, 1204, 1205, 1207, + 1208, 1193, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, + 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1225, + 1225, 1226, 1227, 1228, 1229, 1230, 1230, 1230, 1231, 1232, + 1198, 1233, 1234, 1235, 1236, 1237, 1237, 1237, 1238, 1240, + 1241, 1242, 1243, 1244, 1247, 1249, 1224, 1250, 1251, 1252, + 1226, 1227, 1228, 1229, 1253, 1254, 1255, 1231, 1232, 1256, + 1233, 1234, 1235, 1236, 1257, 1260, 1262, 1238, 1240, 1241, + 1264, 1265, 1266, 1267, 1269, 1270, 1272, 1273, 1274, 1275, + 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1285, 1286, 1285, + + 1285, 1285, 1285, 1285, 1285, 1287, 1288, 1289, 1290, 1291, + 1293, 1293, 1295, 1296, 1297, 1300, 1302, 1303, 1304, 1305, + 1294, 1293, 1294, 1293, 1293, 1293, 1293, 1293, 1293, 1294, + 1294, 1308, 1310, 1294, 1298, 1298, 1298, 1298, 1298, 1298, + 1311, 1296, 1312, 1306, 1306, 1307, 1293, 1299, 1299, 1299, + 1299, 1299, 1299, 1313, 1314, 1315, 1307, 1316, 1293, 1306, + 1306, 1307, 1317, 1318, 1295, 1319, 1320, 1293, 1321, 1322, + 1323, 1324, 1293, 1325, 1326, 1293, 1330, 1331, 1293, 1327, + 1327, 1327, 1332, 1334, 1293, 1335, 1336, 1293, 1328, 1328, + 1328, 1333, 1333, 1333, 1337, 1338, 1339, 1340, 1340, 1340, + + 1342, 1344, 1343, 1345, 1346, 1330, 1331, 1347, 1348, 1349, + 1350, 1332, 1334, 1351, 1335, 1336, 1345, 1352, 1353, 1354, + 1356, 1357, 1358, 1337, 1338, 1339, 1359, 1361, 1362, 1342, + 1340, 1343, 1363, 1364, 1365, 1366, 1328, 1367, 1333, 1368, + 1369, 1370, 1371, 1372, 1373, 1374, 1340, 1375, 1379, 1380, + 1381, 1382, 1383, 1384, 1387, 1388, 1389, 1390, 1391, 1340, + 1387, 1392, 1398, 1403, 1404, 1328, 1405, 1333, 1395, 1406, + 1394, 1397, 1407, 1408, 1409, 1340, 1386, 1386, 1399, 1399, + 1399, 1399, 1399, 1399, 1410, 1411, 1412, 1386, 1414, 1386, + 1386, 1386, 1386, 1386, 1386, 1394, 1395, 1394, 1397, 1400, + + 1400, 1400, 1400, 1400, 1400, 1401, 1401, 1401, 1401, 1401, + 1401, 1413, 1386, 1392, 1415, 1418, 1416, 1417, 1419, 1420, + 1422, 1423, 1421, 1413, 1386, 1421, 1397, 1424, 1425, 1426, + 1427, 1428, 1429, 1386, 1430, 1431, 1432, 1434, 1386, 1435, + 1437, 1386, 1438, 1439, 1386, 1416, 1417, 1433, 1433, 1433, + 1386, 1440, 1441, 1386, 1443, 1444, 1445, 1449, 1450, 1446, + 1447, 1448, 1451, 1453, 1457, 1458, 1434, 1459, 1435, 1437, + 1460, 1438, 1439, 1461, 1462, 1463, 1465, 1467, 1468, 1472, + 1440, 1441, 1474, 1443, 1444, 1445, 1430, 1433, 1446, 1447, + 1448, 1469, 1469, 1469, 1469, 1469, 1469, 1470, 1471, 1471, + + 1475, 1476, 1477, 1478, 1482, 1470, 1473, 1473, 1473, 1473, + 1473, 1473, 1483, 1484, 1486, 1485, 1433, 1479, 1479, 1479, + 1479, 1479, 1479, 1485, 1487, 1489, 1490, 1491, 1492, 1493, + 1494, 1495, 1496, 1501, 1497, 1499, 1499, 1499, 1499, 1499, + 1499, 1500, 1500, 1500, 1500, 1500, 1500, 1502, 1503, 1504, + 1505, 1506, 1507, 1508, 1510, 1509, 1503, 1511, 1512, 1495, + 1496, 1497, 1509, 1513, 1514, 1515, 1518, 1519, 1521, 1520, + 1510, 1517, 1517, 1517, 1517, 1517, 1517, 1520, 1522, 1523, + 1524, 1525, 1525, 1526, 1523, 1527, 1528, 1529, 1525, 1497, + 1530, 1535, 1536, 1523, 1515, 1537, 1538, 1523, 1539, 1540, + + 1541, 1542, 1543, 1543, 1543, 1545, 1546, 1547, 1548, 1549, + 1550, 1551, 1554, 1557, 1558, 1560, 1561, 1564, 1568, 1570, + 1535, 1536, 1571, 1572, 1537, 1538, 1574, 1539, 1540, 1541, + 1542, 1573, 1576, 1577, 1545, 1546, 1547, 1548, 1578, 1573, + 1579, 1581, 1530, 1563, 1563, 1563, 1563, 1563, 1563, 1569, + 1582, 1569, 1569, 1569, 1569, 1569, 1569, 1575, 1575, 1575, + 1575, 1575, 1575, 1583, 1584, 1585, 1586, 1587, 1589, 1590, + 1590, 1590, 1590, 1590, 1590, 1591, 1592, 1593, 1595, 1596, + 1597, 1598, 1599, 1600, 1592, 1601, 1602, 1603, 1604, 1605, + 1606, 1607, 1609, 1609, 1609, 1609, 1609, 1609, 1610, 1611, + + 1612, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, - 1633, 1634, 1635, 1635, 1635, 1636, 1637, 1638, 1639, 1640, - 1641, 1642, 1644, 1645, 1647, 1648, 1648, 1648, 1648, 1648, - 1648, 1654, 1655, 1627, 1628, 1629, 1630, 1631, 1632, 1633, - 1634, 1650, 1657, 1652, 1636, 1637, 1638, 1639, 1652, 1650, - 1651, 1651, 1651, 1651, 1651, 1651, 1653, 1659, 1660, 1661, - 1635, 1667, 1668, 1663, 1653, 1658, 1658, 1658, 1658, 1658, - 1658, 1663, 1664, 1664, 1664, 1664, 1664, 1664, 1669, 1670, - 1672, 1673, 1676, 1677, 1678, 1679, 1681, 1682, 1683, 1635, - - 1684, 1685, 1687, 1688, 1690, 1690, 1690, 1690, 1690, 1690, - 1691, 1692, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1700, - 1700, 1700, 1700, 1700, 1701, 1702, 1703, 1704, 1705, 1706, - 1707, 1708, 1709, 1710, 1711, 1713, 1705, 1712, 1712, 1712, - 1714, 1716, 1718, 1720, 1707, 1721, 1722, 1724, 1725, 1726, - 1728, 1729, 1731, 1732, 1733, 1733, 1733, 1733, 1733, 1733, - 1734, 1735, 1736, 1740, 1713, 1738, 1741, 1742, 1744, 1714, - 1716, 1718, 1720, 1738, 1721, 1722, 1724, 1746, 1746, 1746, - 1746, 1746, 1746, 1746, 1747, 1748, 1749, 1751, 1753, 1753, - 1753, 1753, 1753, 1753, 1755, 1757, 1759, 1760, 1761, 1762, - - 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1771, 1774, 1775, - 1777, 1779, 1767, 1780, 1781, 1782, 1772, 1771, 1772, 1772, - 1772, 1772, 1772, 1772, 1776, 1783, 1784, 1784, 1784, 1785, - 1787, 1788, 1776, 1789, 1790, 1793, 1795, 1796, 1799, 1800, - 1802, 1804, 1805, 1753, 1806, 1808, 1810, 1811, 1813, 1804, - 1814, 1814, 1814, 1814, 1814, 1814, 1815, 1816, 1785, 1787, - 1788, 1817, 1789, 1790, 1815, 1818, 1819, 1782, 1784, 1820, - 1821, 1822, 1823, 1824, 1826, 1828, 1829, 1783, 1830, 1831, - 1823, 1832, 1832, 1832, 1832, 1832, 1832, 1833, 1834, 1835, - 1838, 1839, 1840, 1841, 1844, 1847, 1848, 1784, 1849, 1851, - - 1852, 1853, 1855, 1857, 1858, 1860, 1862, 1863, 1864, 1865, - 1866, 1867, 1868, 1868, 1868, 1868, 1868, 1868, 1869, 1871, - 1872, 1874, 1876, 1877, 1847, 1848, 1878, 1849, 1851, 1852, - 1876, 1880, 1882, 1883, 1884, 1885, 1886, 1886, 1886, 1886, - 1886, 1886, 1888, 1890, 1891, 1841, 1844, 1892, 1893, 1894, - 1895, 1895, 1895, 1896, 1897, 1898, 1901, 1905, 1906, 1908, - 1864, 1904, 1904, 1904, 1904, 1904, 1904, 1910, 1911, 1915, - 1917, 1916, 1918, 1920, 1921, 1922, 1925, 1893, 1894, 1916, - 1926, 1927, 1896, 1897, 1908, 1928, 1908, 1929, 1930, 1931, - 1931, 1931, 1932, 1935, 1936, 1936, 1936, 1936, 1936, 1936, - - 1937, 1939, 1941, 1943, 1944, 1945, 1946, 1950, 1947, 1951, - 1906, 1952, 1944, 1953, 1949, 1954, 1929, 1930, 1955, 1956, - 1962, 1932, 1963, 1965, 1931, 1967, 1969, 1922, 1931, 1966, - 1931, 1970, 1968, 1971, 1931, 1973, 1979, 1978, 1931, 1949, - 1968, 1949, 1982, 1983, 1954, 1978, 1991, 1955, 1956, 894, - 892, 1987, 890, 1931, 889, 888, 887, 1931, 885, 1931, - 1947, 884, 1971, 1931, 1973, 1981, 1988, 1931, 1958, 1958, - 1958, 1958, 1958, 1958, 1959, 1959, 1959, 1959, 1959, 1959, - 1987, 1966, 1974, 1974, 1974, 1974, 1974, 1974, 1979, 1995, - 1981, 1996, 1981, 1998, 2000, 1988, 1989, 1989, 1989, 1989, - - 1989, 1989, 883, 882, 881, 880, 879, 878, 877, 876, - 874, 873, 871, 869, 868, 866, 863, 862, 1995, 860, - 1996, 858, 1998, 2000, 2003, 2003, 2003, 2003, 2003, 2003, - 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, - 2003, 2003, 2003, 2003, 2003, 2003, 2004, 2004, 853, 2004, - 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, - 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2004, 2005, 2005, - 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, - 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, - 2006, 852, 850, 849, 2006, 2006, 2006, 2006, 2006, 2006, - - 2006, 2006, 2006, 2006, 2006, 2007, 848, 847, 845, 2007, + 1633, 1634, 1635, 1636, 1637, 1638, 1638, 1638, 1639, 1640, + 1641, 1642, 1643, 1644, 1645, 1647, 1648, 1650, 1651, 1651, + 1651, 1651, 1651, 1651, 1657, 1658, 1630, 1631, 1632, 1633, + 1634, 1635, 1636, 1637, 1653, 1660, 1655, 1639, 1640, 1641, + 1642, 1655, 1653, 1654, 1654, 1654, 1654, 1654, 1654, 1656, + 1662, 1663, 1664, 1638, 1670, 1671, 1666, 1656, 1661, 1661, + 1661, 1661, 1661, 1661, 1666, 1667, 1667, 1667, 1667, 1667, + 1667, 1672, 1673, 1675, 1676, 1679, 1680, 1681, 1682, 1684, + + 1685, 1686, 1638, 1687, 1688, 1690, 1691, 1693, 1693, 1693, + 1693, 1693, 1693, 1694, 1695, 1697, 1698, 1699, 1700, 1701, + 1702, 1703, 1703, 1703, 1703, 1703, 1703, 1704, 1705, 1706, + 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1716, 1708, + 1715, 1715, 1715, 1717, 1719, 1721, 1723, 1710, 1724, 1725, + 1727, 1728, 1729, 1731, 1732, 1734, 1735, 1736, 1736, 1736, + 1736, 1736, 1736, 1737, 1738, 1739, 1743, 1716, 1741, 1744, + 1745, 1747, 1717, 1719, 1721, 1723, 1741, 1724, 1725, 1727, + 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1750, 1751, 1752, + 1754, 1756, 1756, 1756, 1756, 1756, 1756, 1758, 1760, 1762, + + 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, + 1774, 1777, 1778, 1780, 1782, 1770, 1783, 1784, 1785, 1775, + 1774, 1775, 1775, 1775, 1775, 1775, 1775, 1779, 1786, 1787, + 1787, 1787, 1788, 1790, 1791, 1779, 1792, 1793, 1796, 1798, + 1799, 1802, 1803, 1805, 1807, 1808, 1756, 1809, 1811, 1813, + 1814, 1816, 1807, 1817, 1817, 1817, 1817, 1817, 1817, 1818, + 1819, 1788, 1790, 1791, 1820, 1792, 1793, 1818, 1821, 1822, + 1785, 1787, 1823, 1824, 1825, 1826, 1827, 1829, 1831, 1832, + 1786, 1833, 1834, 1826, 1835, 1835, 1835, 1835, 1835, 1835, + 1836, 1837, 1838, 1841, 1842, 1843, 1844, 1847, 1850, 1851, + + 1787, 1852, 1854, 1855, 1856, 1858, 1860, 1861, 1863, 1865, + 1866, 1867, 1868, 1869, 1870, 1871, 1871, 1871, 1871, 1871, + 1871, 1872, 1874, 1875, 1877, 1879, 1880, 1850, 1851, 1881, + 1852, 1854, 1855, 1879, 1883, 1885, 1886, 1887, 1888, 1889, + 1889, 1889, 1889, 1889, 1889, 1891, 1893, 1894, 1844, 1847, + 1895, 1896, 1897, 1898, 1898, 1898, 1899, 1900, 1901, 1904, + 1908, 1909, 1911, 1867, 1907, 1907, 1907, 1907, 1907, 1907, + 1913, 1914, 1918, 1920, 1919, 1921, 1923, 1924, 1925, 1928, + 1896, 1897, 1919, 1929, 1930, 1899, 1900, 1911, 1931, 1911, + 1932, 1933, 1934, 1934, 1934, 1935, 1938, 1939, 1939, 1939, + + 1939, 1939, 1939, 1940, 1942, 1944, 1946, 1947, 1948, 1949, + 1953, 1950, 1954, 1909, 1955, 1947, 1956, 1952, 1957, 1932, + 1933, 1958, 1959, 1965, 1935, 1966, 1968, 1934, 1970, 1972, + 1925, 1934, 1969, 1934, 1973, 1971, 1974, 1934, 1976, 1982, + 1981, 1934, 1952, 1971, 1952, 1985, 1986, 1957, 1981, 1994, + 1958, 1959, 898, 897, 1990, 895, 1934, 893, 892, 891, + 1934, 890, 1934, 1950, 888, 1974, 1934, 1976, 1984, 1991, + 1934, 1961, 1961, 1961, 1961, 1961, 1961, 1962, 1962, 1962, + 1962, 1962, 1962, 1990, 1969, 1977, 1977, 1977, 1977, 1977, + 1977, 1982, 1998, 1984, 1999, 1984, 2001, 2003, 1991, 1992, + + 1992, 1992, 1992, 1992, 1992, 887, 886, 885, 884, 883, + 882, 881, 880, 879, 877, 876, 874, 872, 871, 869, + 866, 1998, 865, 1999, 863, 2001, 2003, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, + 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2007, + 2007, 861, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, - 2008, 844, 843, 819, 2008, 2008, 818, 817, 816, 815, - 2008, 2008, 2009, 2009, 813, 2009, 2009, 2009, 2009, 2009, - 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, - 2009, 2009, 2009, 2009, 2010, 2010, 812, 2010, 2010, 2010, - 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, - 2010, 2010, 2010, 2010, 2010, 2010, 2011, 811, 810, 809, - 2011, 2011, 2011, 2011, 2011, 808, 2011, 2011, 2011, 2011, - 2011, 2012, 807, 806, 805, 2012, 2012, 2012, 2012, 2012, - - 803, 2012, 2012, 2012, 2012, 2012, 2013, 802, 801, 2013, - 800, 799, 798, 2013, 2013, 2013, 2013, 2013, 796, 2013, - 2013, 2013, 2013, 2013, 2014, 795, 794, 793, 2014, 2014, - 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2015, - 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 792, 2015, - 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, - 2015, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, - 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, - 2016, 2016, 2016, 2017, 791, 790, 2017, 2017, 2017, 2017, - 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, - - 2017, 2017, 2017, 2017, 2017, 2018, 786, 785, 784, 2018, - 2018, 781, 780, 779, 778, 2018, 2018, 2019, 777, 776, - 2019, 775, 774, 773, 2019, 2019, 2019, 2019, 2019, 772, - 2019, 2019, 2019, 2019, 2019, 2020, 770, 769, 2020, 2020, - 768, 767, 765, 2020, 764, 2020, 763, 761, 760, 2020, - 759, 2020, 2021, 2021, 2021, 758, 757, 756, 2021, 2021, - 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2022, - 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, - 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, - 2022, 2023, 755, 753, 752, 2023, 2023, 750, 749, 2023, - - 748, 2023, 2023, 747, 745, 2023, 2024, 2024, 744, 2024, - 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, - 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2025, 2025, - 2025, 2025, 2025, 2026, 743, 742, 741, 2026, 2026, 739, - 737, 735, 734, 2026, 2026, 2027, 2027, 2027, 2027, 2027, - 733, 2027, 2027, 2027, 2027, 2027, 2028, 2028, 2028, 2028, - 2028, 732, 2028, 2028, 2028, 2028, 2028, 2029, 730, 729, - 727, 726, 2029, 725, 724, 723, 722, 719, 718, 2029, - 2029, 2029, 2029, 2029, 2030, 717, 716, 715, 2030, 2030, - 714, 713, 712, 711, 2030, 2030, 2031, 710, 2031, 2031, - - 709, 708, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031, - 2031, 2031, 2031, 2032, 707, 2032, 2032, 706, 704, 2032, - 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, 2032, - 2033, 703, 701, 2033, 2033, 2033, 2033, 2033, 2033, 2033, - 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, 2033, - 2033, 2033, 2034, 700, 699, 2034, 2034, 2034, 2034, 2034, - 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, - 2034, 2034, 2034, 2034, 2035, 2035, 698, 2035, 2035, 2035, - 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, - 2035, 2035, 2035, 2035, 2035, 2035, 2036, 2036, 697, 2036, - + 2007, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, + 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, + 2008, 2008, 2008, 2009, 856, 855, 853, 2009, 2009, 2009, + + 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2010, 852, + 851, 850, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, + 2010, 2010, 2010, 2011, 848, 847, 846, 2011, 2011, 822, + 821, 820, 819, 2011, 2011, 2012, 2012, 818, 2012, 2012, + 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2012, + 2012, 2012, 2012, 2012, 2012, 2012, 2012, 2013, 2013, 816, + 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, + 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2014, + 815, 814, 813, 2014, 2014, 2014, 2014, 2014, 812, 2014, + 2014, 2014, 2014, 2014, 2015, 811, 810, 809, 2015, 2015, + + 2015, 2015, 2015, 808, 2015, 2015, 2015, 2015, 2015, 2016, + 806, 805, 2016, 804, 803, 802, 2016, 2016, 2016, 2016, + 2016, 801, 2016, 2016, 2016, 2016, 2016, 2017, 799, 798, + 797, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, + 2017, 2017, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + 2018, 796, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, + 2018, 2018, 2018, 2018, 2019, 2019, 2019, 2019, 2019, 2019, + 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, + 2019, 2019, 2019, 2019, 2019, 2019, 2020, 795, 794, 2020, + 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, + + 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2021, 793, + 789, 788, 2021, 2021, 787, 784, 783, 782, 2021, 2021, + 2022, 781, 780, 2022, 779, 778, 777, 2022, 2022, 2022, + 2022, 2022, 776, 2022, 2022, 2022, 2022, 2022, 2023, 775, + 773, 2023, 2023, 772, 771, 770, 2023, 768, 2023, 767, + 766, 764, 2023, 763, 2023, 2024, 2024, 2024, 762, 761, + 760, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, 2024, + 2024, 2024, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, + 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025, + 2025, 2025, 2025, 2025, 2026, 759, 758, 756, 2026, 2026, + + 755, 753, 2026, 752, 2026, 2026, 751, 750, 2026, 2027, + 2027, 748, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, + 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, + 2027, 2028, 2028, 2028, 2028, 2028, 2029, 747, 746, 745, + 2029, 2029, 744, 742, 740, 738, 2029, 2029, 2030, 2030, + 2030, 2030, 2030, 737, 2030, 2030, 2030, 2030, 2030, 2031, + 2031, 2031, 2031, 2031, 736, 2031, 2031, 2031, 2031, 2031, + 2032, 735, 733, 732, 730, 2032, 729, 728, 727, 726, + 725, 722, 2032, 2032, 2032, 2032, 2032, 2033, 721, 720, + 719, 2033, 2033, 718, 717, 716, 715, 2033, 2033, 2034, + + 714, 2034, 2034, 713, 712, 2034, 2034, 2034, 2034, 2034, + 2034, 2034, 2034, 2034, 2034, 2034, 2035, 711, 2035, 2035, + 710, 709, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, + 2035, 2035, 2035, 2036, 707, 706, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, - 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2037, 2037, - 2037, 2037, 2037, 696, 2037, 2037, 2037, 2037, 2037, 2038, - 695, 694, 693, 2038, 2038, 2038, 2038, 2038, 2038, 2038, - 2038, 2038, 2038, 2038, 2039, 2039, 2039, 2039, 2039, 2039, - 2039, 2039, 2039, 692, 2039, 2039, 2039, 2039, 2039, 2039, - 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040, 2040, 2040, - 2040, 2040, 2040, 2040, 2040, 691, 2040, 2040, 2040, 2040, - 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, - 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2042, - - 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 690, 2042, - 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, - 2042, 2043, 688, 687, 685, 2043, 2043, 2043, 2043, 2043, - 2043, 2043, 2043, 2043, 2043, 2043, 684, 681, 680, 648, - 646, 644, 643, 642, 641, 640, 639, 638, 637, 636, - 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, - 625, 624, 623, 622, 620, 616, 615, 614, 613, 612, - 611, 609, 608, 607, 605, 604, 603, 602, 601, 600, - 599, 598, 595, 594, 593, 591, 589, 588, 587, 586, - 583, 581, 580, 579, 578, 577, 576, 575, 574, 573, - - 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, - 562, 561, 560, 559, 558, 557, 556, 555, 554, 552, - 551, 550, 549, 548, 547, 546, 544, 543, 541, 540, - 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, - 528, 526, 525, 524, 523, 522, 521, 519, 518, 517, - 516, 515, 514, 512, 511, 510, 509, 504, 502, 501, - 500, 499, 498, 497, 496, 466, 463, 462, 461, 460, - 458, 457, 456, 455, 454, 453, 452, 451, 450, 448, - 447, 446, 445, 444, 442, 441, 440, 436, 435, 434, - 433, 432, 431, 430, 429, 428, 427, 426, 425, 424, - - 423, 422, 421, 420, 418, 417, 416, 415, 414, 413, - 412, 411, 409, 408, 407, 406, 404, 403, 402, 400, - 399, 398, 396, 395, 394, 393, 392, 391, 390, 389, - 388, 387, 386, 385, 384, 383, 381, 379, 378, 376, - 375, 374, 372, 370, 369, 368, 367, 366, 365, 364, - 363, 361, 360, 359, 358, 357, 355, 354, 353, 351, - 350, 349, 347, 346, 345, 343, 342, 341, 340, 339, - 337, 336, 335, 334, 332, 330, 328, 327, 325, 323, - 322, 321, 320, 319, 318, 317, 316, 315, 312, 311, - 310, 275, 269, 268, 267, 265, 264, 261, 260, 259, - - 258, 257, 256, 255, 253, 252, 251, 250, 248, 247, - 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, - 236, 235, 234, 233, 230, 229, 226, 225, 221, 220, - 216, 215, 212, 208, 205, 203, 201, 199, 198, 197, - 194, 192, 190, 189, 188, 187, 186, 185, 184, 182, - 181, 179, 178, 177, 175, 173, 171, 170, 169, 167, - 166, 164, 163, 162, 160, 159, 155, 154, 125, 124, - 121, 118, 103, 99, 95, 94, 90, 88, 87, 83, - 70, 64, 57, 27, 24, 20, 16, 12, 7, 3, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, - 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002 + 2036, 2036, 2036, 2036, 2036, 2037, 704, 703, 2037, 2037, + 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, + 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2038, 2038, 702, + 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, + 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2039, + + 2039, 701, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, + 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, + 2039, 2040, 2040, 2040, 2040, 2040, 700, 2040, 2040, 2040, + 2040, 2040, 2041, 699, 698, 697, 2041, 2041, 2041, 2041, + 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2042, 2042, 2042, + 2042, 2042, 2042, 2042, 2042, 2042, 696, 2042, 2042, 2042, + 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2043, + 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 695, 2043, + 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043, + 2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, + + 2044, 2044, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, + 2045, 694, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, + 2045, 2045, 2045, 2045, 2046, 693, 691, 690, 2046, 2046, + 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 688, + 687, 684, 683, 651, 649, 647, 646, 645, 644, 643, + 642, 641, 640, 639, 638, 637, 636, 635, 634, 633, + 632, 631, 630, 629, 628, 627, 626, 625, 623, 619, + 618, 617, 616, 615, 614, 612, 611, 610, 608, 607, + 606, 605, 604, 603, 602, 601, 598, 597, 596, 594, + 592, 591, 590, 589, 586, 584, 583, 582, 581, 580, + + 579, 578, 577, 576, 575, 574, 573, 572, 571, 570, + 569, 568, 567, 566, 565, 564, 563, 562, 561, 560, + 559, 558, 557, 555, 554, 553, 552, 551, 550, 549, + 547, 546, 544, 543, 542, 541, 540, 539, 538, 537, + 536, 535, 534, 533, 531, 529, 528, 527, 526, 525, + 524, 522, 521, 520, 519, 518, 517, 515, 514, 513, + 512, 507, 505, 504, 503, 502, 501, 500, 499, 469, + 466, 465, 464, 463, 461, 460, 459, 458, 457, 456, + 455, 454, 453, 451, 450, 449, 448, 447, 445, 444, + 443, 439, 438, 437, 436, 435, 434, 433, 432, 431, + + 430, 429, 428, 427, 426, 425, 424, 423, 421, 420, + 419, 418, 417, 416, 415, 414, 412, 411, 410, 409, + 407, 406, 405, 403, 402, 401, 399, 398, 397, 396, + 395, 394, 393, 392, 391, 390, 389, 388, 387, 386, + 384, 382, 381, 379, 378, 377, 375, 373, 372, 371, + 370, 369, 368, 367, 366, 364, 363, 362, 361, 360, + 358, 357, 356, 354, 353, 352, 350, 349, 348, 346, + 345, 344, 343, 342, 340, 339, 338, 337, 335, 333, + 331, 330, 328, 326, 325, 324, 323, 322, 321, 320, + 319, 318, 315, 314, 313, 278, 271, 270, 269, 267, + + 266, 263, 262, 261, 260, 259, 258, 257, 255, 254, + 253, 252, 250, 249, 248, 247, 246, 245, 244, 243, + 242, 241, 240, 239, 238, 237, 236, 235, 232, 230, + 227, 226, 222, 221, 217, 216, 213, 209, 206, 204, + 202, 200, 199, 198, 195, 193, 191, 190, 189, 188, + 187, 186, 185, 183, 182, 180, 179, 178, 176, 174, + 172, 171, 170, 168, 167, 165, 164, 163, 161, 160, + 156, 155, 126, 125, 122, 119, 104, 101, 99, 95, + 94, 90, 88, 87, 83, 64, 57, 27, 24, 20, + 16, 7, 3, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, + 2005, 2005 } ; /* The intent behind this definition is that it'll catch @@ -1895,6 +1897,7 @@ static yyconst flex_int16_t yy_chk[3580] = * * History * + * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 29-aug-2024 - string->integer can be hex * obakhir 9-aug-2024 - Add hexadecimal integers * obakhir 7-aug-2024 - Add bitwise operators @@ -1997,7 +2000,7 @@ static yyconst flex_int16_t yy_chk[3580] = * bengsig 06-feb-2018 - added ociping * bengsig 10-feb-2017 - creation */ -#line 118 "rwllexer.l" +#line 119 "rwllexer.l" #include "rwl.h" #include "rwlparser.tab.h" @@ -2010,7 +2013,7 @@ static yyconst flex_int16_t yy_chk[3580] = rwm->rwlytext = (text *)yytext; \ } -#line 2014 "lex.rwly.c" +#line 2017 "lex.rwly.c" #define INITIAL 0 @@ -2283,7 +2286,7 @@ YY_DECL } { -#line 136 "rwllexer.l" +#line 137 "rwllexer.l" @@ -2295,7 +2298,7 @@ YY_DECL /* **************************************************************** */ /*LEXTAG:RWL_T_SQL_TEXT*/ -#line 2299 "lex.rwly.c" +#line 2302 "lex.rwly.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2322,13 +2325,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2003 ) + if ( yy_current_state >= 2006 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 3491 ); + while ( yy_base[yy_current_state] != 3494 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -2354,128 +2357,128 @@ YY_DECL case 1: /* rule 1 can match eol */ -#line 148 "rwllexer.l" +#line 149 "rwllexer.l" case 2: /* rule 2 can match eol */ -#line 149 "rwllexer.l" +#line 150 "rwllexer.l" case 3: /* rule 3 can match eol */ -#line 150 "rwllexer.l" +#line 151 "rwllexer.l" case 4: /* rule 4 can match eol */ -#line 151 "rwllexer.l" +#line 152 "rwllexer.l" case 5: /* rule 5 can match eol */ -#line 152 "rwllexer.l" +#line 153 "rwllexer.l" case 6: /* rule 6 can match eol */ -#line 153 "rwllexer.l" +#line 154 "rwllexer.l" case 7: /* rule 7 can match eol */ -#line 154 "rwllexer.l" +#line 155 "rwllexer.l" case 8: /* rule 8 can match eol */ -#line 155 "rwllexer.l" +#line 156 "rwllexer.l" case 9: /* rule 9 can match eol */ -#line 156 "rwllexer.l" +#line 157 "rwllexer.l" case 10: /* rule 10 can match eol */ -#line 157 "rwllexer.l" +#line 158 "rwllexer.l" case 11: /* rule 11 can match eol */ -#line 158 "rwllexer.l" +#line 159 "rwllexer.l" case 12: /* rule 12 can match eol */ -#line 159 "rwllexer.l" +#line 160 "rwllexer.l" case 13: /* rule 13 can match eol */ -#line 160 "rwllexer.l" +#line 161 "rwllexer.l" case 14: /* rule 14 can match eol */ -#line 161 "rwllexer.l" +#line 162 "rwllexer.l" case 15: /* rule 15 can match eol */ -#line 162 "rwllexer.l" +#line 163 "rwllexer.l" case 16: /* rule 16 can match eol */ -#line 163 "rwllexer.l" +#line 164 "rwllexer.l" case 17: /* rule 17 can match eol */ -#line 164 "rwllexer.l" +#line 165 "rwllexer.l" case 18: /* rule 18 can match eol */ -#line 165 "rwllexer.l" +#line 166 "rwllexer.l" case 19: /* rule 19 can match eol */ -#line 166 "rwllexer.l" +#line 167 "rwllexer.l" case 20: /* rule 20 can match eol */ -#line 167 "rwllexer.l" +#line 168 "rwllexer.l" case 21: /* rule 21 can match eol */ -#line 168 "rwllexer.l" +#line 169 "rwllexer.l" case 22: /* rule 22 can match eol */ -#line 169 "rwllexer.l" +#line 170 "rwllexer.l" case 23: /* rule 23 can match eol */ -#line 170 "rwllexer.l" +#line 171 "rwllexer.l" case 24: /* rule 24 can match eol */ -#line 171 "rwllexer.l" +#line 172 "rwllexer.l" case 25: /* rule 25 can match eol */ -#line 172 "rwllexer.l" +#line 173 "rwllexer.l" case 26: /* rule 26 can match eol */ -#line 173 "rwllexer.l" +#line 174 "rwllexer.l" case 27: /* rule 27 can match eol */ -#line 174 "rwllexer.l" +#line 175 "rwllexer.l" case 28: /* rule 28 can match eol */ -#line 175 "rwllexer.l" +#line 176 "rwllexer.l" case 29: /* rule 29 can match eol */ -#line 176 "rwllexer.l" +#line 177 "rwllexer.l" case 30: /* rule 30 can match eol */ -#line 177 "rwllexer.l" +#line 178 "rwllexer.l" case 31: /* rule 31 can match eol */ -#line 178 "rwllexer.l" +#line 179 "rwllexer.l" case 32: /* rule 32 can match eol */ -#line 179 "rwllexer.l" +#line 180 "rwllexer.l" case 33: /* rule 33 can match eol */ -#line 180 "rwllexer.l" +#line 181 "rwllexer.l" case 34: /* rule 34 can match eol */ -#line 181 "rwllexer.l" +#line 182 "rwllexer.l" case 35: /* rule 35 can match eol */ -#line 182 "rwllexer.l" +#line 183 "rwllexer.l" case 36: /* rule 36 can match eol */ -#line 183 "rwllexer.l" +#line 184 "rwllexer.l" case 37: /* rule 37 can match eol */ -#line 184 "rwllexer.l" +#line 185 "rwllexer.l" case 38: /* rule 38 can match eol */ -#line 185 "rwllexer.l" +#line 186 "rwllexer.l" case 39: /* rule 39 can match eol */ -#line 186 "rwllexer.l" +#line 187 "rwllexer.l" case 40: /* rule 40 can match eol */ -#line 187 "rwllexer.l" +#line 188 "rwllexer.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP -#line 187 "rwllexer.l" +#line 188 "rwllexer.l" { /* we match anything that can initiate SQL or PL/SQL. @@ -2494,7 +2497,7 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 203 "rwllexer.l" +#line 204 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -2504,7 +2507,7 @@ YY_RULE_SETUP case 43: /* rule 43 can match eol */ YY_RULE_SETUP -#line 209 "rwllexer.l" +#line 210 "rwllexer.l" { // Note that this flex input means that the input // consist of any number of either of the following // any character @@ -2521,12 +2524,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_T_DOUBLE_CONST*/ case 44: -#line 225 "rwllexer.l" -case 45: #line 226 "rwllexer.l" +case 45: +#line 227 "rwllexer.l" case 46: YY_RULE_SETUP -#line 226 "rwllexer.l" +#line 227 "rwllexer.l" { /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -2537,7 +2540,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_INTEGER_CONST*/ case 47: YY_RULE_SETUP -#line 235 "rwllexer.l" +#line 236 "rwllexer.l" { /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -2547,7 +2550,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 242 "rwllexer.l" +#line 243 "rwllexer.l" { /* make .. be a token even after an integer so that 1..10 is scanned as 1 .. 10 and not as 1. . 10 @@ -2561,7 +2564,7 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 253 "rwllexer.l" +#line 254 "rwllexer.l" { /* Handle hexadecimal integer constants */ rwm->ival = rwlhex2ub8(rwm->rwlytext+2, sizeof(ub8)); @@ -2571,7 +2574,7 @@ YY_RULE_SETUP YY_BREAK case 50: YY_RULE_SETUP -#line 260 "rwllexer.l" +#line 261 "rwllexer.l" { /* Handle hexadecimal constants followed by .. */ rwm->ival = rwlhex2ub8(rwm->rwlytext+2, sizeof(ub8)); @@ -2583,43 +2586,43 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FUNCTION*/ case 51: YY_RULE_SETUP -#line 269 "rwllexer.l" +#line 270 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FUNCTION; } YY_BREAK /*LEXTAG:RWL_T_RETURN*/ case 52: YY_RULE_SETUP -#line 271 "rwllexer.l" +#line 272 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_RETURN; } YY_BREAK /*LEXTAG:RWL_T_EXIT*/ case 53: YY_RULE_SETUP -#line 273 "rwllexer.l" +#line 274 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_EXIT; } YY_BREAK /*LEXTAG:RWL_T_READLOB*/ case 54: YY_RULE_SETUP -#line 275 "rwllexer.l" +#line 276 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_READLOB; } YY_BREAK /*LEXTAG:RWL_T_WRITELOB*/ case 55: YY_RULE_SETUP -#line 277 "rwllexer.l" +#line 278 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_WRITELOB; } YY_BREAK /*LEXTAG:RWL_T_CLOB*/ case 56: YY_RULE_SETUP -#line 279 "rwllexer.l" +#line 280 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_CLOB; } YY_BREAK /*LEXTAG:RWL_T_BLOB*/ case 57: YY_RULE_SETUP -#line 281 "rwllexer.l" +#line 282 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_BLOB; } @@ -2630,7 +2633,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RAW*/ case 58: YY_RULE_SETUP -#line 288 "rwllexer.l" +#line 289 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_RAW; } @@ -2641,7 +2644,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_NCLOB*/ case 59: YY_RULE_SETUP -#line 295 "rwllexer.l" +#line 296 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_NCLOB; @@ -2650,7 +2653,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PUBLIC*/ case 60: YY_RULE_SETUP -#line 300 "rwllexer.l" +#line 301 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_PUBLIC; @@ -2659,7 +2662,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATE*/ case 61: YY_RULE_SETUP -#line 305 "rwllexer.l" +#line 306 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DATE; @@ -2668,7 +2671,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BREAK*/ case 62: YY_RULE_SETUP -#line 310 "rwllexer.l" +#line 311 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_BREAK; } @@ -2676,7 +2679,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_UNSIGNED*/ case 63: YY_RULE_SETUP -#line 314 "rwllexer.l" +#line 315 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_UNSIGNED; @@ -2685,7 +2688,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_HEXADECIMAL*/ case 64: YY_RULE_SETUP -#line 319 "rwllexer.l" +#line 320 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_HEXADECIMAL; @@ -2694,7 +2697,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCTAL*/ case 65: YY_RULE_SETUP -#line 324 "rwllexer.l" +#line 325 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_OCTAL; @@ -2703,7 +2706,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LOBPREFETCH*/ case 66: YY_RULE_SETUP -#line 329 "rwllexer.l" +#line 330 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_LOBPREFETCH; @@ -2712,7 +2715,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PRINTF*/ case 67: YY_RULE_SETUP -#line 334 "rwllexer.l" +#line 335 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_PRINTF; } @@ -2720,7 +2723,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SPRINTF*/ case 68: YY_RULE_SETUP -#line 338 "rwllexer.l" +#line 339 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SPRINTF; } @@ -2728,7 +2731,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FPRINTF*/ case 69: YY_RULE_SETUP -#line 342 "rwllexer.l" +#line 343 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FPRINTF; } @@ -2736,7 +2739,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ENCODE*/ case 70: YY_RULE_SETUP -#line 346 "rwllexer.l" +#line 347 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_ENCODE; @@ -2745,7 +2748,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DECODE*/ case 71: YY_RULE_SETUP -#line 351 "rwllexer.l" +#line 352 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DECODE; @@ -2754,7 +2757,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LEAK*/ case 72: YY_RULE_SETUP -#line 356 "rwllexer.l" +#line 357 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_LEAK; } @@ -2762,19 +2765,19 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ABORT*/ case 73: YY_RULE_SETUP -#line 360 "rwllexer.l" +#line 361 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ABORT; YY_BREAK /*LEXTAG:RWL_T_MODIFY*/ case 74: YY_RULE_SETUP -#line 362 "rwllexer.l" +#line 363 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_MODIFY; YY_BREAK /*LEXTAG:RWL_T_SQL*/ case 75: YY_RULE_SETUP -#line 364 "rwllexer.l" +#line 365 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SQL; } @@ -2782,25 +2785,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IGNOREERROR*/ case 76: YY_RULE_SETUP -#line 368 "rwllexer.l" +#line 369 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IGNOREERROR; YY_BREAK /*LEXTAG:RWL_T_CURSORCACHE*/ case 77: YY_RULE_SETUP -#line 370 "rwllexer.l" +#line 371 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_NOCURSORCACHE*/ case 78: YY_RULE_SETUP -#line 372 "rwllexer.l" +#line 373 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOCURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_CONNECT*/ case 79: YY_RULE_SETUP -#line 374 "rwllexer.l" +#line 375 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2810,7 +2813,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_USERNAME*/ case 80: YY_RULE_SETUP -#line 380 "rwllexer.l" +#line 381 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2820,7 +2823,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PASSWORD*/ case 81: YY_RULE_SETUP -#line 386 "rwllexer.l" +#line 387 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2830,7 +2833,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATABASE*/ case 82: YY_RULE_SETUP -#line 392 "rwllexer.l" +#line 393 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2840,25 +2843,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_REQUESTMARK*/ case 83: YY_RULE_SETUP -#line 398 "rwllexer.l" +#line 399 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REQUESTMARK; YY_BREAK /*LEXTAG:RWL_T_STATEMARK*/ case 84: YY_RULE_SETUP -#line 400 "rwllexer.l" +#line 401 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATEMARK; YY_BREAK /*LEXTAG:RWL_T_RELEASE*/ case 85: YY_RULE_SETUP -#line 402 "rwllexer.l" +#line 403 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RELEASE; YY_BREAK /*LEXTAG:RWL_T_SHARDKEY*/ case 86: YY_RULE_SETUP -#line 404 "rwllexer.l" +#line 405 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_SHARDKEY; @@ -2867,67 +2870,67 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCIPING*/ case 87: YY_RULE_SETUP -#line 409 "rwllexer.l" +#line 410 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCIPING; YY_BREAK /*LEXTAG:RWL_T_COMMIT*/ case 88: YY_RULE_SETUP -#line 411 "rwllexer.l" +#line 412 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COMMIT; YY_BREAK /*LEXTAG:RWL_T_ROLLBACK*/ case 89: YY_RULE_SETUP -#line 413 "rwllexer.l" +#line 414 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROLLBACK; YY_BREAK /*LEXTAG:RWL_T_DEFAULT*/ case 90: YY_RULE_SETUP -#line 415 "rwllexer.l" +#line 416 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFAULT; YY_BREAK /*LEXTAG:RWL_T_AT*/ case 91: YY_RULE_SETUP -#line 417 "rwllexer.l" +#line 418 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AT; YY_BREAK /*LEXTAG:RWL_T_RESULTS*/ case 92: YY_RULE_SETUP -#line 419 "rwllexer.l" +#line 420 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RESULTS; YY_BREAK /*LEXTAG:RWL_T_PROCEDURE*/ case 93: YY_RULE_SETUP -#line 421 "rwllexer.l" +#line 422 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PROCEDURE; YY_BREAK /*LEXTAG:RWL_T_THREADS*/ case 94: YY_RULE_SETUP -#line 423 "rwllexer.l" +#line 424 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THREADS; YY_BREAK /*LEXTAG:RWL_T_GLOBAL*/ case 95: YY_RULE_SETUP -#line 425 "rwllexer.l" +#line 426 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GLOBAL; YY_BREAK /*LEXTAG:RWL_T_PRIVATE*/ case 96: YY_RULE_SETUP -#line 427 "rwllexer.l" +#line 428 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRIVATE; YY_BREAK /*LEXTAG:RWL_T_RUN*/ case 97: YY_RULE_SETUP -#line 429 "rwllexer.l" +#line 430 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -2937,167 +2940,167 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BIND*/ case 98: YY_RULE_SETUP -#line 435 "rwllexer.l" +#line 436 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BIND; YY_BREAK /*LEXTAG:RWL_T_BINDOUT*/ case 99: YY_RULE_SETUP -#line 437 "rwllexer.l" +#line 438 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BINDOUT; YY_BREAK /*LEXTAG:RWL_T_DEFINE*/ case 100: YY_RULE_SETUP -#line 439 "rwllexer.l" +#line 440 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFINE; YY_BREAK /*LEXTAG:RWL_T_START*/ case 101: YY_RULE_SETUP -#line 441 "rwllexer.l" +#line 442 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_START; YY_BREAK /*LEXTAG:RWL_T_COUNT*/ case 102: YY_RULE_SETUP -#line 443 "rwllexer.l" +#line 444 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COUNT; YY_BREAK /*LEXTAG:RWL_T_STOP*/ case 103: YY_RULE_SETUP -#line 445 "rwllexer.l" +#line 446 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STOP; YY_BREAK /*LEXTAG:RWL_T_END*/ case 104: YY_RULE_SETUP -#line 447 "rwllexer.l" +#line 448 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_END; YY_BREAK /*LEXTAG:RWL_T_SESSIONPOOL*/ case 105: YY_RULE_SETUP -#line 449 "rwllexer.l" +#line 450 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SESSIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONPOOL*/ case 106: YY_RULE_SETUP -#line 451 "rwllexer.l" +#line 452 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONCLASS*/ case 107: YY_RULE_SETUP -#line 453 "rwllexer.l" +#line 454 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONCLASS; YY_BREAK /*LEXTAG:RWL_T_DRCP*/ case 108: YY_RULE_SETUP -#line 455 "rwllexer.l" +#line 456 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DRCP; YY_BREAK /*LEXTAG:RWL_T_DEDICATED*/ case 109: YY_RULE_SETUP -#line 457 "rwllexer.l" +#line 458 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEDICATED; YY_BREAK /*LEXTAG:RWL_T_RECONNECT*/ case 110: YY_RULE_SETUP -#line 459 "rwllexer.l" +#line 460 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RECONNECT; YY_BREAK /*LEXTAG:RWL_T_UNIFORM*/ case 111: YY_RULE_SETUP -#line 461 "rwllexer.l" +#line 462 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_UNIFORM; YY_BREAK /*LEXTAG:RWL_T_NORMALRANDOM*/ case 112: YY_RULE_SETUP -#line 463 "rwllexer.l" +#line 464 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NORMALRANDOM; YY_BREAK /*LEXTAG:RWL_T_LOG*/ case 113: YY_RULE_SETUP -#line 465 "rwllexer.l" +#line 466 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LOG; YY_BREAK /*LEXTAG:RWL_T_EXP*/ case 114: YY_RULE_SETUP -#line 467 "rwllexer.l" +#line 468 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EXP; YY_BREAK /*LEXTAG:RWL_T_CEIL*/ case 115: YY_RULE_SETUP -#line 469 "rwllexer.l" +#line 470 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CEIL; YY_BREAK /*LEXTAG:RWL_T_TRUNC*/ case 116: YY_RULE_SETUP -#line 471 "rwllexer.l" +#line 472 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_TRUNC; YY_BREAK /*LEXTAG:RWL_T_FLOOR*/ case 117: YY_RULE_SETUP -#line 473 "rwllexer.l" +#line 474 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FLOOR; YY_BREAK /*LEXTAG:RWL_T_ROUND*/ case 118: YY_RULE_SETUP -#line 475 "rwllexer.l" +#line 476 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROUND; YY_BREAK /*LEXTAG:RWL_T_STATISTICS*/ case 119: YY_RULE_SETUP -#line 477 "rwllexer.l" +#line 478 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICS; YY_BREAK /*LEXTAG:RWL_T_STATISTICSONLY*/ case 120: YY_RULE_SETUP -#line 479 "rwllexer.l" +#line 480 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICSONLY; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 121: YY_RULE_SETUP -#line 481 "rwllexer.l" +#line 482 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOSTATISTICS; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 122: YY_RULE_SETUP -#line 483 "rwllexer.l" +#line 484 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SQRT; YY_BREAK case 123: YY_RULE_SETUP -#line 484 "rwllexer.l" +#line 485 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SIN; YY_BREAK case 124: YY_RULE_SETUP -#line 485 "rwllexer.l" +#line 486 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COS; YY_BREAK /*LEXTAG:RWL_T_INSTRB*/ case 125: YY_RULE_SETUP -#line 487 "rwllexer.l" +#line 488 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "instr", "instrb"); if (!rwm->ifdirbit) return RWL_T_INSTRB; @@ -3105,13 +3108,13 @@ YY_RULE_SETUP YY_BREAK case 126: YY_RULE_SETUP -#line 491 "rwllexer.l" +#line 492 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INSTRB; YY_BREAK /*LEXTAG:RWL_T_SUBSTRB*/ case 127: YY_RULE_SETUP -#line 493 "rwllexer.l" +#line 494 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "substr", "substrb"); if (!rwm->ifdirbit) return RWL_T_SUBSTRB; @@ -3120,13 +3123,13 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SUBSTRB*/ case 128: YY_RULE_SETUP -#line 498 "rwllexer.l" +#line 499 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUBSTRB; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 129: YY_RULE_SETUP -#line 500 "rwllexer.l" +#line 501 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "length", "lengthb"); if (!rwm->ifdirbit) return RWL_T_LENGTHB; @@ -3135,50 +3138,50 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_GETENV*/ case 130: YY_RULE_SETUP -#line 505 "rwllexer.l" +#line 506 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETENV; YY_BREAK /*LEXTAG:RWL_T_SYSTEM*/ case 131: YY_RULE_SETUP -#line 507 "rwllexer.l" +#line 508 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SYSTEM; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 132: YY_RULE_SETUP -#line 509 "rwllexer.l" +#line 510 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LENGTHB; YY_BREAK /*LEXTAG:RWL_T_ERLANG*/ case 133: -#line 512 "rwllexer.l" +#line 513 "rwllexer.l" case 134: YY_RULE_SETUP -#line 512 "rwllexer.l" +#line 513 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 135: YY_RULE_SETUP -#line 514 "rwllexer.l" +#line 515 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG2; YY_BREAK /*LEXTAG:RWL_T_ERLANGK*/ case 136: YY_RULE_SETUP -#line 516 "rwllexer.l" +#line 517 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANGK; YY_BREAK /*LEXTAG:RWL_T_ACCESS*/ case 137: YY_RULE_SETUP -#line 518 "rwllexer.l" +#line 519 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ACCESS; YY_BREAK case 138: YY_RULE_SETUP -#line 519 "rwllexer.l" +#line 520 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3187,7 +3190,7 @@ YY_RULE_SETUP YY_BREAK case 139: YY_RULE_SETUP -#line 524 "rwllexer.l" +#line 525 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3197,139 +3200,139 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RUNSECONDS*/ case 140: YY_RULE_SETUP -#line 530 "rwllexer.l" +#line 531 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RUNSECONDS; YY_BREAK /*LEXTAG:RWL_T_EPOCHSECONDS*/ case 141: YY_RULE_SETUP -#line 532 "rwllexer.l" +#line 533 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EPOCHSECONDS; YY_BREAK /*LEXTAG:RWL_T_DBSECONDS*/ case 142: YY_RULE_SETUP -#line 534 "rwllexer.l" +#line 535 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DBSECONDS; YY_BREAK /*LEXTAG:RWL_T_OCISECONDS*/ case 143: YY_RULE_SETUP -#line 536 "rwllexer.l" +#line 537 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCISECONDS; YY_BREAK /*LEXTAG:RWL_T_GETRUSAGE*/ case 144: YY_RULE_SETUP -#line 538 "rwllexer.l" +#line 539 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETRUSAGE; YY_BREAK /*LEXTAG:RWL_T_DOUBLE*/ case 145: YY_RULE_SETUP -#line 540 "rwllexer.l" +#line 541 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOUBLE; YY_BREAK /*LEXTAG:RWL_T_INTEGER*/ case 146: YY_RULE_SETUP -#line 542 "rwllexer.l" +#line 543 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INTEGER; YY_BREAK /*LEXTAG:RWL_T_STRING*/ case 147: YY_RULE_SETUP -#line 544 "rwllexer.l" +#line 545 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STRING; YY_BREAK /*LEXTAG:RWL_T_RANDOM*/ case 148: YY_RULE_SETUP -#line 546 "rwllexer.l" +#line 547 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RANDOM; YY_BREAK /*LEXTAG:RWL_T_ARRAY*/ case 149: YY_RULE_SETUP -#line 548 "rwllexer.l" +#line 549 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ARRAY; YY_BREAK /*LEXTAG:RWL_T_FILE*/ case 150: YY_RULE_SETUP -#line 550 "rwllexer.l" +#line 551 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FILE; YY_BREAK /*LEXTAG:RWL_T_WRITE*/ case 151: YY_RULE_SETUP -#line 552 "rwllexer.l" +#line 553 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITE; YY_BREAK /*LEXTAG:RWL_T_WRITELINE*/ case 152: YY_RULE_SETUP -#line 554 "rwllexer.l" +#line 555 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITELINE; YY_BREAK /*LEXTAG:RWL_T_READLINE*/ case 153: YY_RULE_SETUP -#line 556 "rwllexer.l" +#line 557 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_READLINE; YY_BREAK /*LEXTAG:RWL_T_REGEX*/ case 154: YY_RULE_SETUP -#line 558 "rwllexer.l" +#line 559 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEX; YY_BREAK /*LEXTAG:RWL_T_REGEXSUB*/ case 155: YY_RULE_SETUP -#line 560 "rwllexer.l" +#line 561 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUB; YY_BREAK /*LEXTAG:RWL_T_REGEXSUBG*/ case 156: YY_RULE_SETUP -#line 562 "rwllexer.l" +#line 563 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUBG; YY_BREAK /*LEXTAG:RWL_T_REGEXTRACT*/ case 157: YY_RULE_SETUP -#line 564 "rwllexer.l" +#line 565 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXTRACT; YY_BREAK /*LEXTAG:RWL_T_FFLUSH*/ case 158: YY_RULE_SETUP -#line 566 "rwllexer.l" +#line 567 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FFLUSH; YY_BREAK /*LEXTAG:RWL_T_PRINT*/ case 159: YY_RULE_SETUP -#line 568 "rwllexer.l" +#line 569 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINT; YY_BREAK /*LEXTAG:RWL_T_PRINTLINE*/ case 160: YY_RULE_SETUP -#line 570 "rwllexer.l" +#line 571 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTLINE; YY_BREAK /*LEXTAG:RWL_T_PRINTVAR*/ case 161: YY_RULE_SETUP -#line 572 "rwllexer.l" +#line 573 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTVAR; YY_BREAK /*LEXTAG:RWL_T_IF*/ case 162: YY_RULE_SETUP -#line 574 "rwllexer.l" +#line 575 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3339,61 +3342,61 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_WHEN*/ case 163: YY_RULE_SETUP -#line 580 "rwllexer.l" +#line 581 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHEN; YY_BREAK /*LEXTAG:RWL_T_THEN*/ case 164: YY_RULE_SETUP -#line 582 "rwllexer.l" +#line 583 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THEN; YY_BREAK /*LEXTAG:RWL_T_ELSE*/ case 165: YY_RULE_SETUP -#line 584 "rwllexer.l" +#line 585 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSE; YY_BREAK /*LEXTAG:RWL_T_ELSEIF*/ case 166: YY_RULE_SETUP -#line 586 "rwllexer.l" +#line 587 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSEIF; YY_BREAK /*LEXTAG:RWL_T_WHILE*/ case 167: YY_RULE_SETUP -#line 588 "rwllexer.l" +#line 589 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHILE; YY_BREAK /*LEXTAG:RWL_T_WAIT*/ case 168: YY_RULE_SETUP -#line 590 "rwllexer.l" +#line 591 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WAIT; YY_BREAK /*LEXTAG:RWL_T_QUEUE*/ case 169: YY_RULE_SETUP -#line 592 "rwllexer.l" +#line 593 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_QUEUE; YY_BREAK /*LEXTAG:RWL_T_NOQUEUE*/ case 170: YY_RULE_SETUP -#line 594 "rwllexer.l" +#line 595 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOQUEUE; YY_BREAK /*LEXTAG:RWL_T_EVERY*/ case 171: YY_RULE_SETUP -#line 596 "rwllexer.l" +#line 597 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EVERY; YY_BREAK /*LEXTAG:RWL_T_LOOP*/ case 172: YY_RULE_SETUP -#line 598 "rwllexer.l" +#line 599 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3403,25 +3406,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FOR*/ case 173: YY_RULE_SETUP -#line 604 "rwllexer.l" +#line 605 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FOR; YY_BREAK /*LEXTAG:RWL_T_ALL*/ case 174: YY_RULE_SETUP -#line 606 "rwllexer.l" +#line 607 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ALL; YY_BREAK /*LEXTAG:RWL_T_SHIFT*/ case 175: YY_RULE_SETUP -#line 608 "rwllexer.l" +#line 609 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SHIFT; YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ case 176: YY_RULE_SETUP -#line 610 "rwllexer.l" +#line 611 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3431,25 +3434,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_EXECUTE*/ case 177: YY_RULE_SETUP -#line 616 "rwllexer.l" +#line 617 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOTDOT; /* see RWL_T_INTEGER_CONST above */ YY_BREAK /*LEXTAG:RWL_T_NULL*/ case 178: YY_RULE_SETUP -#line 618 "rwllexer.l" +#line 619 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NULL; YY_BREAK /*LEXTAG:RWL_T_SUM*/ case 179: YY_RULE_SETUP -#line 620 "rwllexer.l" +#line 621 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUM; YY_BREAK /*LEXTAG:RWL_T_ISNULL*/ case 180: YY_RULE_SETUP -#line 622 "rwllexer.l" +#line 623 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_ISNULL_DEPRECATED); @@ -3459,57 +3462,57 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IS*/ case 181: YY_RULE_SETUP -#line 628 "rwllexer.l" +#line 629 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IS; YY_BREAK case 182: YY_RULE_SETUP -#line 629 "rwllexer.l" +#line 630 "rwllexer.l" if (!rwm->ifdirbit) return '+'; YY_BREAK case 183: YY_RULE_SETUP -#line 630 "rwllexer.l" +#line 631 "rwllexer.l" if (!rwm->ifdirbit) return '-'; YY_BREAK case 184: YY_RULE_SETUP -#line 631 "rwllexer.l" +#line 632 "rwllexer.l" if (!rwm->ifdirbit) return '*'; YY_BREAK case 185: YY_RULE_SETUP -#line 632 "rwllexer.l" +#line 633 "rwllexer.l" if (!rwm->ifdirbit) return '/'; YY_BREAK case 186: YY_RULE_SETUP -#line 633 "rwllexer.l" +#line 634 "rwllexer.l" if (!rwm->ifdirbit) return '%'; YY_BREAK case 187: YY_RULE_SETUP -#line 634 "rwllexer.l" +#line 635 "rwllexer.l" if (!rwm->ifdirbit) return '('; YY_BREAK case 188: YY_RULE_SETUP -#line 635 "rwllexer.l" +#line 636 "rwllexer.l" if (!rwm->ifdirbit) return ')'; YY_BREAK case 189: YY_RULE_SETUP -#line 636 "rwllexer.l" +#line 637 "rwllexer.l" if (!rwm->ifdirbit) return ','; YY_BREAK case 190: YY_RULE_SETUP -#line 637 "rwllexer.l" +#line 638 "rwllexer.l" if (!rwm->ifdirbit) return '='; YY_BREAK case 191: YY_RULE_SETUP -#line 638 "rwllexer.l" +#line 639 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_EQUALEQUAL, rwm->rwlytext); if (!rwm->ifdirbit) return '='; @@ -3517,178 +3520,190 @@ YY_RULE_SETUP YY_BREAK case 192: YY_RULE_SETUP -#line 642 "rwllexer.l" +#line 643 "rwllexer.l" if (!rwm->ifdirbit) return '<'; YY_BREAK case 193: YY_RULE_SETUP -#line 643 "rwllexer.l" +#line 644 "rwllexer.l" if (!rwm->ifdirbit) return '>'; YY_BREAK case 194: YY_RULE_SETUP -#line 644 "rwllexer.l" +#line 645 "rwllexer.l" if (!rwm->ifdirbit) return '!'; YY_BREAK case 195: YY_RULE_SETUP -#line 645 "rwllexer.l" +#line 646 "rwllexer.l" if (!rwm->ifdirbit) return '?'; YY_BREAK case 196: YY_RULE_SETUP -#line 646 "rwllexer.l" +#line 647 "rwllexer.l" if (!rwm->ifdirbit) return ':'; YY_BREAK /*LEXTAG:RWL_T_NOT*/ case 197: YY_RULE_SETUP -#line 648 "rwllexer.l" +#line 649 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOT; YY_BREAK /*LEXTAG:RWL_T_AND*/ case 198: YY_RULE_SETUP -#line 650 "rwllexer.l" +#line 651 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AND; YY_BREAK /*LEXTAG:RWL_T_BETWEEN*/ case 199: YY_RULE_SETUP -#line 652 "rwllexer.l" +#line 653 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BETWEEN; YY_BREAK /*LEXTAG:RWL_T_OR*/ case 200: YY_RULE_SETUP -#line 654 "rwllexer.l" +#line 655 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OR; YY_BREAK /*LEXTAG:RWL_T_LESSEQ*/ case 201: YY_RULE_SETUP -#line 656 "rwllexer.l" +#line 657 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LESSEQ; YY_BREAK /*LEXTAG:RWL_T_GREATEQ*/ case 202: YY_RULE_SETUP -#line 658 "rwllexer.l" +#line 659 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GREATEQ; YY_BREAK /*LEXTAG:RWL_T_RSHIFTASSIGN*/ case 203: YY_RULE_SETUP -#line 660 "rwllexer.l" +#line 661 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RSHIFTASSIGN; YY_BREAK /*LEXTAG:RWL_T_NOTEQ*/ case 204: YY_RULE_SETUP -#line 662 "rwllexer.l" +#line 663 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK case 205: YY_RULE_SETUP -#line 663 "rwllexer.l" +#line 664 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK /*LEXTAG:RWL_T_ASSIGN*/ case 206: YY_RULE_SETUP -#line 665 "rwllexer.l" +#line 666 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASSIGN; YY_BREAK /*LEXTAG:RWL_T_ASNADD*/ case 207: YY_RULE_SETUP -#line 667 "rwllexer.l" +#line 668 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNADD; YY_BREAK -/*LEXTAG:RWL_T_ASNSUB*/ +/*LEXTAG:RWL_T_ASBSUB*/ case 208: YY_RULE_SETUP -#line 669 "rwllexer.l" +#line 670 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNSUB; YY_BREAK -/*LEXTAG:RWL_T_CONCAT*/ +/*LEXTAG:RWL_T_ASNBIC*/ case 209: YY_RULE_SETUP -#line 671 "rwllexer.l" +#line 672 "rwllexer.l" +if (!rwm->ifdirbit) return RWL_T_ASNBIS; + YY_BREAK +/*LEXTAG:RWL_T_CONBIS*/ +case 210: +YY_RULE_SETUP +#line 674 "rwllexer.l" +if (!rwm->ifdirbit) return RWL_T_ASNBIC; + YY_BREAK +/*LEXTAG:RWL_T_CONCAT*/ +case 211: +YY_RULE_SETUP +#line 676 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONCAT; YY_BREAK /*LEXTAG:RWL_T_PIPETO*/ -case 210: +case 212: YY_RULE_SETUP -#line 673 "rwllexer.l" +#line 678 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPETO; YY_BREAK /*LEXTAG:RWL_T_PIPEFROM*/ -case 211: +case 213: YY_RULE_SETUP -#line 675 "rwllexer.l" +#line 680 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPEFROM; YY_BREAK /*LEXTAG:RWL_T_APPEND*/ -case 212: +case 214: YY_RULE_SETUP -#line 677 "rwllexer.l" +#line 682 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_APPEND; YY_BREAK -case 213: +case 215: YY_RULE_SETUP -#line 678 "rwllexer.l" +#line 683 "rwllexer.l" if (!rwm->ifdirbit) return '~'; YY_BREAK /*LEXTAG:RWL_T_BITWISE_LEFT_SHIFT*/ -case 214: +case 216: YY_RULE_SETUP -#line 680 "rwllexer.l" +#line 685 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BITWISE_LEFT_SHIFT; YY_BREAK /*LEXTAG:RWL_T_BITWISE_RIGHT_SHIFT*/ -case 215: +case 217: YY_RULE_SETUP -#line 682 "rwllexer.l" +#line 687 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BITWISE_RIGHT_SHIFT; YY_BREAK -case 216: +case 218: YY_RULE_SETUP -#line 683 "rwllexer.l" +#line 688 "rwllexer.l" if (!rwm->ifdirbit) return '&'; YY_BREAK -case 217: +case 219: YY_RULE_SETUP -#line 684 "rwllexer.l" +#line 689 "rwllexer.l" if (!rwm->ifdirbit) return '^'; YY_BREAK -case 218: +case 220: YY_RULE_SETUP -#line 685 "rwllexer.l" +#line 690 "rwllexer.l" if (!rwm->ifdirbit) return '|'; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2B*/ -case 219: +case 221: YY_RULE_SETUP -#line 687 "rwllexer.l" +#line 692 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2B; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2BB*/ -case 220: +case 222: YY_RULE_SETUP -#line 689 "rwllexer.l" +#line 694 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2BB; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ -case 221: +case 223: YY_RULE_SETUP -#line 691 "rwllexer.l" +#line 696 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SERVERRELEASE; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ -case 222: +case 224: YY_RULE_SETUP -#line 693 "rwllexer.l" +#line 698 "rwllexer.l" { # ifndef RWL_USE_SQL_ID rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3697,25 +3712,25 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_OPENSESSIONCOUNT*/ -case 223: +case 225: YY_RULE_SETUP -#line 700 "rwllexer.l" +#line 705 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_OPENSESSIONCOUNT; } YY_BREAK /*LEXTAG:RWL_T_ACTIVESESSIONCOUNT*/ -case 224: +case 226: YY_RULE_SETUP -#line 704 "rwllexer.l" +#line 709 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_ACTIVESESSIONCOUNT; } YY_BREAK /*LEXTAG:RWL_T_QUERYNOTIFICATION*/ -case 225: +case 227: YY_RULE_SETUP -#line 708 "rwllexer.l" +#line 713 "rwllexer.l" { #ifndef RWL_USE_CQN rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3724,54 +3739,54 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_ATAN2*/ -case 226: +case 228: YY_RULE_SETUP -#line 715 "rwllexer.l" +#line 720 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ATAN2; YY_BREAK -case 227: +case 229: YY_RULE_SETUP -#line 717 "rwllexer.l" +#line 722 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); // return something so compilation continues if (!rwm->ifdirbit) return '+'; } YY_BREAK -case 228: -#line 724 "rwllexer.l" -case 229: +case 230: +#line 729 "rwllexer.l" +case 231: YY_RULE_SETUP -#line 724 "rwllexer.l" +#line 729 "rwllexer.l" { // note that "--" is the beginning of RWL_T_SQL_TEXT rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); } YY_BREAK -case 230: -#line 729 "rwllexer.l" -case 231: -#line 730 "rwllexer.l" case 232: +#line 734 "rwllexer.l" +case 233: +#line 735 "rwllexer.l" +case 234: YY_RULE_SETUP -#line 730 "rwllexer.l" +#line 735 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); // return something so compilation continues if (!rwm->ifdirbit) return RWL_T_ASNADD; } YY_BREAK -case 233: -#line 737 "rwllexer.l" -case 234: -#line 738 "rwllexer.l" case 235: -#line 739 "rwllexer.l" +#line 742 "rwllexer.l" case 236: -#line 740 "rwllexer.l" +#line 743 "rwllexer.l" case 237: +#line 744 "rwllexer.l" +case 238: +#line 745 "rwllexer.l" +case 239: YY_RULE_SETUP -#line 740 "rwllexer.l" +#line 745 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3784,9 +3799,9 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_T_IDENTIFIER*/ -case 238: +case 240: YY_RULE_SETUP -#line 752 "rwllexer.l" +#line 757 "rwllexer.l" { /* previnam is used when the parser has been doing @@ -3804,9 +3819,9 @@ YY_RULE_SETUP } } YY_BREAK -case 239: +case 241: YY_RULE_SETUP -#line 769 "rwllexer.l" +#line 774 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3824,9 +3839,9 @@ YY_RULE_SETUP } } YY_BREAK -case 240: +case 242: YY_RULE_SETUP -#line 786 "rwllexer.l" +#line 791 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3837,9 +3852,9 @@ YY_RULE_SETUP } } YY_BREAK -case 241: +case 243: YY_RULE_SETUP -#line 796 "rwllexer.l" +#line 801 "rwllexer.l" { text *env = rwlgetenv((text *)rwm->rwlytext+1); if (!env) @@ -3861,20 +3876,20 @@ YY_RULE_SETUP if (!rwm->ifdirbit) return RWL_T_STRING_CONST; } YY_BREAK -case 242: +case 244: YY_RULE_SETUP -#line 818 "rwllexer.l" +#line 823 "rwllexer.l" if (!rwm->ifdirbit) return ';'; YY_BREAK -case 243: -#line 821 "rwllexer.l" -case 244: -#line 822 "rwllexer.l" case 245: -#line 823 "rwllexer.l" +#line 826 "rwllexer.l" case 246: +#line 827 "rwllexer.l" +case 247: +#line 828 "rwllexer.l" +case 248: YY_RULE_SETUP -#line 823 "rwllexer.l" +#line 828 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3887,17 +3902,17 @@ YY_RULE_SETUP } YY_BREAK -case 247: +case 249: YY_RULE_SETUP -#line 835 "rwllexer.l" +#line 840 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); } YY_BREAK -case 248: +case 250: YY_RULE_SETUP -#line 840 "rwllexer.l" +#line 845 "rwllexer.l" { // This is the documented syntax. Note that there is // no simple way to allow having $if and $then on separate // lines @@ -3915,16 +3930,16 @@ YY_RULE_SETUP } YY_BREAK -case 249: +case 251: YY_RULE_SETUP -#line 857 "rwllexer.l" +#line 862 "rwllexer.l" { // this only happens if $if and $then aren't on the same line rwlzparsestring(rwm, (text *) "0;"); // behave like $if 0 $then would } YY_BREAK -case 250: +case 252: YY_RULE_SETUP -#line 861 "rwllexer.l" +#line 866 "rwllexer.l" { // This was the original syntax for $if which was // $if: ; // i.e. with the expression between : and ;. @@ -3943,9 +3958,9 @@ YY_RULE_SETUP } YY_BREAK -case 251: +case 253: YY_RULE_SETUP -#line 879 "rwllexer.l" +#line 884 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "else"); @@ -3964,9 +3979,9 @@ YY_RULE_SETUP } YY_BREAK -case 252: +case 254: YY_RULE_SETUP -#line 897 "rwllexer.l" +#line 902 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "endif"); @@ -3982,9 +3997,9 @@ YY_RULE_SETUP } YY_BREAK -case 253: +case 255: YY_RULE_SETUP -#line 912 "rwllexer.l" +#line 917 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS); // all set in tflags as tfalgs HAS been copied from mflags @@ -3992,181 +4007,181 @@ if (!rwm->ifdirbit) { bis(rwm->mxq->tflags, RWL_P_STATISTICS); } YY_BREAK -case 254: +case 256: YY_RULE_SETUP -#line 919 "rwllexer.l" +#line 924 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); rwm->histbucks = RWL_MAX_HIST_BUCK; } YY_BREAK -case 255: +case 257: YY_RULE_SETUP -#line 925 "rwllexer.l" +#line 930 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); rwm->histbucks = RWL_MAX_HIST_BUCK; } YY_BREAK -case 256: +case 258: YY_RULE_SETUP -#line 931 "rwllexer.l" +#line 936 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTION); } YY_BREAK -case 257: +case 259: YY_RULE_SETUP -#line 935 "rwllexer.l" +#line 940 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK -case 258: +case 260: YY_RULE_SETUP -#line 938 "rwllexer.l" +#line 943 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK -case 259: +case 261: YY_RULE_SETUP -#line 942 "rwllexer.l" +#line 947 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_HEXINSTR); } YY_BREAK -case 260: +case 262: YY_RULE_SETUP -#line 946 "rwllexer.l" +#line 951 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_HEXINSTR); } YY_BREAK -case 261: +case 263: YY_RULE_SETUP -#line 950 "rwllexer.l" +#line 955 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK -case 262: +case 264: YY_RULE_SETUP -#line 954 "rwllexer.l" +#line 959 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK -case 263: +case 265: YY_RULE_SETUP -#line 958 "rwllexer.l" +#line 963 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK -case 264: +case 266: YY_RULE_SETUP -#line 962 "rwllexer.l" +#line 967 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK -case 265: +case 267: YY_RULE_SETUP -#line 966 "rwllexer.l" +#line 971 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK -case 266: +case 268: YY_RULE_SETUP -#line 969 "rwllexer.l" +#line 974 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK -case 267: +case 269: YY_RULE_SETUP -#line 973 "rwllexer.l" +#line 978 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK -case 268: +case 270: YY_RULE_SETUP -#line 976 "rwllexer.l" +#line 981 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK -case 269: +case 271: YY_RULE_SETUP -#line 980 "rwllexer.l" +#line 985 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK -case 270: +case 272: YY_RULE_SETUP -#line 983 "rwllexer.l" +#line 988 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK -case 271: +case 273: YY_RULE_SETUP -#line 987 "rwllexer.l" +#line 992 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK -case 272: +case 274: YY_RULE_SETUP -#line 990 "rwllexer.l" +#line 995 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK -case 273: +case 275: YY_RULE_SETUP -#line 994 "rwllexer.l" +#line 999 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK -case 274: +case 276: YY_RULE_SETUP -#line 997 "rwllexer.l" +#line 1002 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK -case 275: +case 277: YY_RULE_SETUP -#line 1001 "rwllexer.l" +#line 1006 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_STOP; } YY_BREAK -case 276: +case 278: YY_RULE_SETUP -#line 1005 "rwllexer.l" +#line 1010 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_BREAK; } YY_BREAK -case 277: +case 279: YY_RULE_SETUP -#line 1008 "rwllexer.l" +#line 1013 "rwllexer.l" { if (!rwm->ifdirbit) rwlbreaknow = 0; } YY_BREAK -case 278: +case 280: YY_RULE_SETUP -#line 1012 "rwllexer.l" +#line 1017 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4174,55 +4189,55 @@ YY_RULE_SETUP } } YY_BREAK -case 279: +case 281: YY_RULE_SETUP -#line 1019 "rwllexer.l" +#line 1024 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK -case 280: +case 282: YY_RULE_SETUP -#line 1022 "rwllexer.l" +#line 1027 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK -case 281: +case 283: YY_RULE_SETUP -#line 1026 "rwllexer.l" +#line 1031 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK -case 282: +case 284: YY_RULE_SETUP -#line 1030 "rwllexer.l" +#line 1035 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK -case 283: +case 285: YY_RULE_SETUP -#line 1034 "rwllexer.l" +#line 1039 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK -case 284: +case 286: YY_RULE_SETUP -#line 1038 "rwllexer.l" +#line 1043 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK -case 285: -/* rule 285 can match eol */ -#line 1043 "rwllexer.l" -case 286: -/* rule 286 can match eol */ +case 287: +/* rule 287 can match eol */ +#line 1048 "rwllexer.l" +case 288: +/* rule 288 can match eol */ YY_RULE_SETUP -#line 1043 "rwllexer.l" +#line 1048 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) // not while generating { @@ -4388,9 +4403,9 @@ YY_RULE_SETUP } } YY_BREAK -case 287: +case 289: YY_RULE_SETUP -#line 1208 "rwllexer.l" +#line 1213 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4401,9 +4416,9 @@ YY_RULE_SETUP } } YY_BREAK -case 288: +case 290: YY_RULE_SETUP -#line 1218 "rwllexer.l" +#line 1223 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -4415,9 +4430,9 @@ YY_RULE_SETUP } } YY_BREAK -case 289: +case 291: YY_RULE_SETUP -#line 1229 "rwllexer.l" +#line 1234 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4428,9 +4443,9 @@ YY_RULE_SETUP } } YY_BREAK -case 290: +case 292: YY_RULE_SETUP -#line 1239 "rwllexer.l" +#line 1244 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4441,9 +4456,9 @@ YY_RULE_SETUP } } YY_BREAK -case 291: +case 293: YY_RULE_SETUP -#line 1249 "rwllexer.l" +#line 1254 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4452,17 +4467,17 @@ YY_RULE_SETUP } } YY_BREAK -case 292: +case 294: YY_RULE_SETUP -#line 1257 "rwllexer.l" +#line 1262 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_OERSTATS); } YY_BREAK -case 293: +case 295: YY_RULE_SETUP -#line 1262 "rwllexer.l" +#line 1267 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4476,9 +4491,9 @@ YY_RULE_SETUP } } YY_BREAK -case 294: +case 296: YY_RULE_SETUP -#line 1275 "rwllexer.l" +#line 1280 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4492,9 +4507,9 @@ YY_RULE_SETUP } } YY_BREAK -case 295: +case 297: YY_RULE_SETUP -#line 1288 "rwllexer.l" +#line 1293 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4510,9 +4525,9 @@ YY_RULE_SETUP } } YY_BREAK -case 296: +case 298: YY_RULE_SETUP -#line 1303 "rwllexer.l" +#line 1308 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4521,9 +4536,9 @@ YY_RULE_SETUP } } YY_BREAK -case 297: +case 299: YY_RULE_SETUP -#line 1311 "rwllexer.l" +#line 1316 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4532,9 +4547,9 @@ YY_RULE_SETUP } } YY_BREAK -case 298: +case 300: YY_RULE_SETUP -#line 1319 "rwllexer.l" +#line 1324 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4543,9 +4558,9 @@ YY_RULE_SETUP } } YY_BREAK -case 299: +case 301: YY_RULE_SETUP -#line 1327 "rwllexer.l" +#line 1332 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4553,9 +4568,9 @@ YY_RULE_SETUP } } YY_BREAK -case 300: +case 302: YY_RULE_SETUP -#line 1333 "rwllexer.l" +#line 1338 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4563,9 +4578,9 @@ YY_RULE_SETUP } } YY_BREAK -case 301: +case 303: YY_RULE_SETUP -#line 1339 "rwllexer.l" +#line 1344 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4574,9 +4589,9 @@ YY_RULE_SETUP } } YY_BREAK -case 302: +case 304: YY_RULE_SETUP -#line 1346 "rwllexer.l" +#line 1351 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4585,9 +4600,9 @@ YY_RULE_SETUP } } YY_BREAK -case 303: +case 305: YY_RULE_SETUP -#line 1353 "rwllexer.l" +#line 1358 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4595,9 +4610,9 @@ YY_RULE_SETUP } } YY_BREAK -case 304: +case 306: YY_RULE_SETUP -#line 1359 "rwllexer.l" +#line 1364 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4605,9 +4620,9 @@ YY_RULE_SETUP } } YY_BREAK -case 305: +case 307: YY_RULE_SETUP -#line 1366 "rwllexer.l" +#line 1371 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4615,41 +4630,41 @@ YY_RULE_SETUP } } YY_BREAK -case 306: +case 308: YY_RULE_SETUP -#line 1373 "rwllexer.l" +#line 1378 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_RECON1017); } YY_BREAK -case 307: +case 309: YY_RULE_SETUP -#line 1378 "rwllexer.l" +#line 1383 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_ON; } YY_BREAK -case 308: +case 310: YY_RULE_SETUP -#line 1383 "rwllexer.l" +#line 1388 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_OFF; } YY_BREAK -case 309: +case 311: YY_RULE_SETUP -#line 1388 "rwllexer.l" +#line 1393 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_WARN; } YY_BREAK -case 310: +case 312: YY_RULE_SETUP -#line 1393 "rwllexer.l" +#line 1398 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4664,9 +4679,9 @@ YY_RULE_SETUP } } YY_BREAK -case 311: +case 313: YY_RULE_SETUP -#line 1407 "rwllexer.l" +#line 1412 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4677,41 +4692,41 @@ YY_RULE_SETUP } } YY_BREAK -case 312: +case 314: YY_RULE_SETUP -#line 1417 "rwllexer.l" +#line 1422 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLREADLINE); } YY_BREAK -case 313: +case 315: YY_RULE_SETUP -#line 1422 "rwllexer.l" +#line 1427 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLREADLINE); } YY_BREAK -case 314: +case 316: YY_RULE_SETUP -#line 1427 "rwllexer.l" +#line 1432 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLWRITELINE); } YY_BREAK -case 315: +case 317: YY_RULE_SETUP -#line 1432 "rwllexer.l" +#line 1437 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLWRITELINE); } YY_BREAK -case 316: +case 318: YY_RULE_SETUP -#line 1437 "rwllexer.l" +#line 1442 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4720,9 +4735,9 @@ YY_RULE_SETUP } } YY_BREAK -case 317: +case 319: YY_RULE_SETUP -#line 1445 "rwllexer.l" +#line 1450 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4731,9 +4746,9 @@ YY_RULE_SETUP } } YY_BREAK -case 318: +case 320: YY_RULE_SETUP -#line 1453 "rwllexer.l" +#line 1458 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4743,17 +4758,17 @@ YY_RULE_SETUP #endif } YY_BREAK -case 319: +case 321: YY_RULE_SETUP -#line 1462 "rwllexer.l" +#line 1467 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSATIME); } YY_BREAK -case 320: +case 322: YY_RULE_SETUP -#line 1467 "rwllexer.l" +#line 1472 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4763,49 +4778,49 @@ YY_RULE_SETUP #endif } YY_BREAK -case 321: +case 323: YY_RULE_SETUP -#line 1476 "rwllexer.l" +#line 1481 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSDTIME); } YY_BREAK -case 322: +case 324: YY_RULE_SETUP -#line 1481 "rwllexer.l" +#line 1486 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 323: +case 325: YY_RULE_SETUP -#line 1486 "rwllexer.l" +#line 1491 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLSTRING); } YY_BREAK -case 324: +case 326: YY_RULE_SETUP -#line 1491 "rwllexer.l" +#line 1496 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 325: +case 327: YY_RULE_SETUP -#line 1496 "rwllexer.l" +#line 1501 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_QETIMES); } YY_BREAK -case 326: +case 328: YY_RULE_SETUP -#line 1502 "rwllexer.l" +#line 1507 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4813,39 +4828,39 @@ YY_RULE_SETUP } } YY_BREAK -case 327: +case 329: YY_RULE_SETUP -#line 1509 "rwllexer.l" +#line 1514 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CONERROK); } YY_BREAK -case 328: +case 330: YY_RULE_SETUP -#line 1514 "rwllexer.l" +#line 1519 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CONERROK); } YY_BREAK -case 329: +case 331: YY_RULE_SETUP -#line 1519 "rwllexer.l" +#line 1524 "rwllexer.l" { if (!rwm->ifdirbit) rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+6),1 /* warn if !warning*/ ); } YY_BREAK -case 330: +case 332: YY_RULE_SETUP -#line 1523 "rwllexer.l" +#line 1528 "rwllexer.l" { rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+12),1 /* warn if !warning*/ ); } YY_BREAK -case 331: +case 333: YY_RULE_SETUP -#line 1527 "rwllexer.l" +#line 1532 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; newval = (ub4)rwlatoi(rwm->rwlytext+11) + 1; //+1 for the return value @@ -4860,9 +4875,9 @@ if (!rwm->ifdirbit) { } YY_BREAK -case 332: +case 334: YY_RULE_SETUP -#line 1541 "rwllexer.l" +#line 1546 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4878,9 +4893,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxident"); } YY_BREAK -case 333: +case 335: YY_RULE_SETUP -#line 1556 "rwllexer.l" +#line 1561 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4896,9 +4911,9 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "maxcode"); } YY_BREAK -case 334: +case 336: YY_RULE_SETUP -#line 1571 "rwllexer.l" +#line 1576 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4914,25 +4929,25 @@ if (!rwm->ifdirbit) { rwlerror(rwm, RWL_ERROR_ONLY_IN_RC, "readbuffer"); } YY_BREAK -case 335: +case 337: YY_RULE_SETUP -#line 1586 "rwllexer.l" +#line 1591 "rwllexer.l" if (!rwm->ifdirbit) { rwm->iformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckiformat(rwm); } YY_BREAK -case 336: +case 338: YY_RULE_SETUP -#line 1590 "rwllexer.l" +#line 1595 "rwllexer.l" if (!rwm->ifdirbit) { rwm->dformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckdformat(rwm); } YY_BREAK -case 337: +case 339: YY_RULE_SETUP -#line 1595 "rwllexer.l" +#line 1600 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+9); bis(rwm->mflags, newdebug); @@ -4944,9 +4959,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 338: +case 340: YY_RULE_SETUP -#line 1606 "rwllexer.l" +#line 1611 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+10); // ub4 newdebug = (ub4) rwlhex2ub8(rwm->rwlytext+10, 2*sizeof(ub4)); @@ -4955,9 +4970,9 @@ if (!rwm->ifdirbit) { bic(rwm->mxq->tflags, newdebug); } YY_BREAK -case 339: +case 341: YY_RULE_SETUP -#line 1614 "rwllexer.l" +#line 1619 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+10,2*sizeof(unsigned short)); @@ -4973,9 +4988,9 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 340: +case 342: YY_RULE_SETUP -#line 1631 "rwllexer.l" +#line 1636 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+12, 2*sizeof(unsigned short)); @@ -4991,11 +5006,11 @@ if (!rwm->ifdirbit) { rwm->mxq->xsubi[2]=0; } YY_BREAK -case 341: -#line 1647 "rwllexer.l" -case 342: +case 343: +#line 1652 "rwllexer.l" +case 344: YY_RULE_SETUP -#line 1647 "rwllexer.l" +#line 1652 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -5006,11 +5021,11 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 343: -#line 1658 "rwllexer.l" -case 344: +case 345: +#line 1663 "rwllexer.l" +case 346: YY_RULE_SETUP -#line 1658 "rwllexer.l" +#line 1663 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -5021,9 +5036,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 345: +case 347: YY_RULE_SETUP -#line 1668 "rwllexer.l" +#line 1673 "rwllexer.l" if (!rwm->ifdirbit) { { rwm->musymbol = rwlstrdup(rwm, rwm->rwlytext+10); @@ -5031,9 +5046,9 @@ if (!rwm->ifdirbit) { } } YY_BREAK -case 346: +case 348: YY_RULE_SETUP -#line 1675 "rwllexer.l" +#line 1680 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5053,9 +5068,9 @@ YY_RULE_SETUP } } YY_BREAK -case 347: +case 349: YY_RULE_SETUP -#line 1694 "rwllexer.l" +#line 1699 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5067,9 +5082,9 @@ YY_RULE_SETUP } } YY_BREAK -case 348: +case 350: YY_RULE_SETUP -#line 1705 "rwllexer.l" +#line 1710 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5081,10 +5096,10 @@ YY_RULE_SETUP } } YY_BREAK -case 349: -/* rule 349 can match eol */ +case 351: +/* rule 351 can match eol */ YY_RULE_SETUP -#line 1716 "rwllexer.l" +#line 1721 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5115,10 +5130,10 @@ YY_RULE_SETUP } } YY_BREAK -case 350: -/* rule 350 can match eol */ +case 352: +/* rule 352 can match eol */ YY_RULE_SETUP -#line 1746 "rwllexer.l" +#line 1751 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5149,9 +5164,9 @@ YY_RULE_SETUP } } YY_BREAK -case 351: +case 353: YY_RULE_SETUP -#line 1776 "rwllexer.l" +#line 1781 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5162,24 +5177,24 @@ YY_RULE_SETUP } } YY_BREAK -case 352: +case 354: YY_RULE_SETUP -#line 1785 "rwllexer.l" +#line 1790 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 353: +case 355: YY_RULE_SETUP -#line 1788 "rwllexer.l" +#line 1793 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK -case 354: -/* rule 354 can match eol */ +case 356: +/* rule 356 can match eol */ YY_RULE_SETUP -#line 1792 "rwllexer.l" +#line 1797 "rwllexer.l" { rwm->loc.fname = rwlstrdup(rwm, rwlstrchr(rwm->rwlytext,'"')); rwm->loc.fname[rwlstrlen(rwm->loc.fname)-1] = 0; @@ -5188,11 +5203,11 @@ YY_RULE_SETUP rwm->loc.errlin = 0; } YY_BREAK -case 355: -#line 1800 "rwllexer.l" -case 356: +case 357: +#line 1805 "rwllexer.l" +case 358: YY_RULE_SETUP -#line 1800 "rwllexer.l" +#line 1805 "rwllexer.l" { // bad directive char idbuf[100], c; ub4 i; @@ -5233,37 +5248,37 @@ YY_RULE_SETUP { rwm->loc.lineno++; rwm->loc.inpos=0; } } YY_BREAK -case 357: -/* rule 357 can match eol */ +case 359: +/* rule 359 can match eol */ YY_RULE_SETUP -#line 1841 "rwllexer.l" +#line 1846 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 358: -/* rule 358 can match eol */ +case 360: +/* rule 360 can match eol */ YY_RULE_SETUP -#line 1842 "rwllexer.l" +#line 1847 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 359: -/* rule 359 can match eol */ +case 361: +/* rule 361 can match eol */ YY_RULE_SETUP -#line 1843 "rwllexer.l" +#line 1848 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK -case 360: +case 362: YY_RULE_SETUP -#line 1844 "rwllexer.l" +#line 1849 "rwllexer.l" /* nothing */ ; YY_BREAK -case 361: +case 363: YY_RULE_SETUP -#line 1845 "rwllexer.l" +#line 1850 "rwllexer.l" /* nothing */ ; YY_BREAK -case 362: +case 364: YY_RULE_SETUP -#line 1846 "rwllexer.l" +#line 1851 "rwllexer.l" { if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -5278,12 +5293,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII, rwm->loc.inpos, (ub1)rwm->rwlytext[0]); } YY_BREAK -case 363: +case 365: YY_RULE_SETUP -#line 1860 "rwllexer.l" +#line 1865 "rwllexer.l" ECHO; YY_BREAK -#line 5287 "lex.rwly.c" +#line 5302 "lex.rwly.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -5578,7 +5593,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2003 ) + if ( yy_current_state >= 2006 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; @@ -5607,11 +5622,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2003 ) + if ( yy_current_state >= 2006 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 2002); + yy_is_jam = (yy_current_state == 2005); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -6464,7 +6479,7 @@ void rwlyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1860 "rwllexer.l" +#line 1865 "rwllexer.l" diff --git a/src/lex.rwlz.c b/src/lex.rwlz.c index fefdc766..3c964e28 100644 --- a/src/lex.rwlz.c +++ b/src/lex.rwlz.c @@ -343,8 +343,8 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 237 -#define YY_END_OF_BUFFER 238 +#define YY_NUM_RULES 239 +#define YY_END_OF_BUFFER 240 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -352,125 +352,125 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1064] = +static yyconst flex_int16_t yy_accept[1067] = { 0, - 0, 0, 238, 236, 232, 233, 207, 236, 234, 236, - 200, 223, 236, 201, 202, 198, 196, 203, 197, 236, - 199, 6, 6, 209, 210, 205, 204, 206, 208, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 224, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 225, 220, - 232, 217, 0, 2, 0, 234, 230, 229, 231, 235, - 235, 235, 235, 235, 0, 1, 0, 150, 136, 190, - 137, 128, 191, 151, 5, 6, 0, 0, 131, 221, - - 215, 218, 0, 216, 222, 0, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 52, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 113, 228, 228, - 195, 228, 228, 228, 228, 228, 228, 228, 228, 214, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - - 228, 228, 228, 219, 229, 231, 235, 235, 235, 235, - 235, 5, 0, 0, 3, 7, 133, 135, 132, 134, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 125, 212, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 145, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 65, 228, 228, 228, 228, 228, - 147, 228, 228, 228, 124, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 146, 228, 228, - - 228, 228, 228, 228, 228, 211, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 30, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 58, 228, 228, 228, - 228, 144, 228, 38, 228, 228, 228, 228, 228, 129, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 130, 235, 235, 235, 235, 0, 4, 228, 228, - 228, 228, 228, 228, 187, 228, 228, 228, 228, 228, - 186, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 0, 228, 228, 188, 228, 228, 228, 228, - 228, 228, 59, 29, 228, 140, 28, 228, 228, 228, - - 228, 228, 33, 228, 228, 228, 228, 228, 69, 116, - 228, 228, 228, 228, 228, 25, 228, 101, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 35, - 228, 228, 123, 228, 228, 228, 228, 228, 228, 194, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 77, 228, 228, - 64, 228, 228, 114, 228, 228, 228, 228, 228, 119, - 115, 228, 228, 228, 235, 235, 235, 235, 228, 183, - 228, 228, 172, 181, 228, 228, 228, 228, 228, 228, - - 228, 171, 228, 0, 184, 228, 175, 228, 228, 228, - 0, 0, 0, 228, 228, 36, 228, 228, 100, 148, - 228, 228, 34, 228, 228, 63, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 122, 228, 228, - 141, 228, 228, 91, 228, 228, 228, 228, 228, 81, - 228, 228, 228, 228, 31, 228, 228, 228, 228, 228, - 14, 228, 228, 110, 228, 228, 228, 228, 120, 228, - 228, 228, 105, 228, 228, 228, 228, 228, 143, 228, - 228, 228, 228, 126, 228, 228, 62, 228, 228, 228, - 228, 228, 142, 228, 228, 228, 118, 228, 102, 11, - - 8, 235, 235, 228, 228, 228, 228, 170, 228, 185, - 228, 228, 228, 180, 0, 228, 176, 228, 178, 0, - 0, 0, 228, 179, 227, 228, 228, 228, 50, 228, - 228, 228, 19, 228, 228, 61, 96, 117, 18, 228, - 87, 228, 109, 228, 228, 92, 83, 228, 57, 228, - 228, 80, 228, 82, 228, 37, 228, 228, 228, 228, - 228, 228, 228, 17, 228, 228, 228, 228, 32, 228, - 99, 228, 228, 228, 228, 228, 228, 228, 228, 24, - 228, 228, 228, 228, 228, 228, 138, 228, 228, 98, - 78, 228, 228, 228, 228, 228, 228, 235, 235, 228, - - 174, 228, 228, 0, 182, 228, 228, 228, 0, 173, - 228, 0, 0, 0, 228, 228, 213, 60, 42, 228, - 228, 228, 193, 226, 228, 88, 89, 90, 127, 15, - 228, 228, 228, 228, 97, 86, 228, 228, 121, 228, - 228, 49, 228, 228, 228, 228, 56, 228, 228, 228, - 26, 228, 228, 228, 47, 228, 53, 228, 228, 228, - 228, 228, 16, 228, 228, 79, 55, 72, 228, 228, - 228, 228, 228, 10, 9, 228, 228, 0, 0, 0, - 0, 0, 0, 0, 228, 0, 228, 0, 228, 0, - 161, 0, 189, 228, 228, 228, 192, 228, 228, 23, - - 228, 228, 228, 228, 228, 228, 228, 228, 44, 228, - 112, 228, 228, 104, 228, 228, 106, 228, 51, 228, - 228, 228, 48, 228, 228, 12, 43, 228, 228, 27, - 228, 228, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 228, 0, 228, 0, 177, 0, 0, 228, 228, - 228, 70, 228, 95, 228, 228, 228, 228, 228, 228, - 228, 111, 54, 228, 71, 228, 107, 228, 228, 228, - 228, 46, 228, 228, 103, 228, 0, 155, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 0, 0, 159, - 0, 0, 228, 228, 228, 228, 228, 228, 228, 228, - - 228, 228, 228, 228, 228, 228, 93, 228, 228, 74, - 228, 0, 0, 0, 164, 0, 0, 0, 0, 0, - 163, 228, 0, 0, 0, 0, 0, 228, 228, 228, - 40, 228, 13, 39, 149, 228, 228, 228, 228, 228, - 228, 45, 228, 68, 228, 84, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 156, 0, 0, 0, 0, - 228, 228, 228, 94, 228, 73, 76, 228, 228, 108, - 228, 228, 85, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 228, 228, 41, - 228, 228, 139, 228, 0, 0, 0, 168, 0, 167, - - 0, 169, 0, 0, 0, 160, 0, 228, 228, 66, - 228, 228, 75, 0, 0, 165, 0, 0, 0, 0, - 158, 162, 228, 67, 228, 228, 0, 0, 0, 166, - 0, 0, 228, 20, 228, 0, 0, 0, 0, 0, - 228, 22, 0, 0, 0, 0, 157, 21, 0, 0, - 0, 0, 153, 0, 0, 0, 0, 0, 0, 154, - 0, 152, 0 + 0, 0, 240, 238, 234, 235, 209, 238, 236, 238, + 202, 225, 238, 203, 204, 200, 198, 205, 199, 238, + 201, 6, 6, 211, 212, 207, 206, 208, 210, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 226, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 227, 222, + 234, 219, 0, 2, 0, 236, 232, 231, 233, 237, + 237, 237, 237, 237, 0, 0, 1, 0, 152, 136, + 192, 137, 128, 193, 153, 5, 6, 0, 0, 131, + + 223, 217, 220, 0, 218, 224, 0, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 52, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 113, 230, + 230, 197, 230, 230, 230, 230, 230, 230, 230, 230, + 216, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + + 230, 230, 230, 230, 138, 221, 231, 233, 237, 237, + 237, 237, 237, 139, 5, 0, 0, 3, 7, 133, + 135, 132, 134, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 125, 214, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 147, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 65, 230, 230, + 230, 230, 230, 149, 230, 230, 230, 124, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + + 148, 230, 230, 230, 230, 230, 230, 230, 213, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 30, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 58, + 230, 230, 230, 230, 146, 230, 38, 230, 230, 230, + 230, 230, 129, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 130, 237, 237, 237, 237, 0, + 4, 230, 230, 230, 230, 230, 230, 189, 230, 230, + 230, 230, 230, 188, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 0, 230, 230, 190, 230, + 230, 230, 230, 230, 230, 59, 29, 230, 142, 28, + + 230, 230, 230, 230, 230, 33, 230, 230, 230, 230, + 230, 69, 116, 230, 230, 230, 230, 230, 25, 230, + 101, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 35, 230, 230, 123, 230, 230, 230, 230, + 230, 230, 196, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 77, 230, 230, 64, 230, 230, 114, 230, 230, 230, + 230, 230, 119, 115, 230, 230, 230, 237, 237, 237, + 237, 230, 185, 230, 230, 174, 183, 230, 230, 230, + + 230, 230, 230, 230, 173, 230, 0, 186, 230, 177, + 230, 230, 230, 0, 0, 0, 230, 230, 36, 230, + 230, 100, 150, 230, 230, 34, 230, 230, 63, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 122, 230, 230, 143, 230, 230, 91, 230, 230, 230, + 230, 230, 81, 230, 230, 230, 230, 31, 230, 230, + 230, 230, 230, 14, 230, 230, 110, 230, 230, 230, + 230, 120, 230, 230, 230, 105, 230, 230, 230, 230, + 230, 145, 230, 230, 230, 230, 126, 230, 230, 62, + 230, 230, 230, 230, 230, 144, 230, 230, 230, 118, + + 230, 102, 11, 8, 237, 237, 230, 230, 230, 230, + 172, 230, 187, 230, 230, 230, 182, 0, 230, 178, + 230, 180, 0, 0, 0, 230, 181, 229, 230, 230, + 230, 50, 230, 230, 230, 19, 230, 230, 61, 96, + 117, 18, 230, 87, 230, 109, 230, 230, 92, 83, + 230, 57, 230, 230, 80, 230, 82, 230, 37, 230, + 230, 230, 230, 230, 230, 230, 17, 230, 230, 230, + 230, 32, 230, 99, 230, 230, 230, 230, 230, 230, + 230, 230, 24, 230, 230, 230, 230, 230, 230, 140, + 230, 230, 98, 78, 230, 230, 230, 230, 230, 230, + + 237, 237, 230, 176, 230, 230, 0, 184, 230, 230, + 230, 0, 175, 230, 0, 0, 0, 230, 230, 215, + 60, 42, 230, 230, 230, 195, 228, 230, 88, 89, + 90, 127, 15, 230, 230, 230, 230, 97, 86, 230, + 230, 121, 230, 230, 49, 230, 230, 230, 230, 56, + 230, 230, 230, 26, 230, 230, 230, 47, 230, 53, + 230, 230, 230, 230, 230, 16, 230, 230, 79, 55, + 72, 230, 230, 230, 230, 230, 10, 9, 230, 230, + 0, 0, 0, 0, 0, 0, 0, 230, 0, 230, + 0, 230, 0, 163, 0, 191, 230, 230, 230, 194, + + 230, 230, 23, 230, 230, 230, 230, 230, 230, 230, + 230, 44, 230, 112, 230, 230, 104, 230, 230, 106, + 230, 51, 230, 230, 230, 48, 230, 230, 12, 43, + 230, 230, 27, 230, 230, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 230, 0, 230, 0, 179, 0, + 0, 230, 230, 230, 70, 230, 95, 230, 230, 230, + 230, 230, 230, 230, 111, 54, 230, 71, 230, 107, + 230, 230, 230, 230, 46, 230, 230, 103, 230, 0, + 157, 0, 0, 0, 0, 0, 0, 0, 0, 230, + 0, 0, 161, 0, 0, 230, 230, 230, 230, 230, + + 230, 230, 230, 230, 230, 230, 230, 230, 230, 93, + 230, 230, 74, 230, 0, 0, 0, 166, 0, 0, + 0, 0, 0, 165, 230, 0, 0, 0, 0, 0, + 230, 230, 230, 40, 230, 13, 39, 151, 230, 230, + 230, 230, 230, 230, 45, 230, 68, 230, 84, 0, + 0, 0, 0, 0, 0, 0, 0, 230, 158, 0, + 0, 0, 0, 230, 230, 230, 94, 230, 73, 76, + 230, 230, 108, 230, 230, 85, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, + 230, 230, 41, 230, 230, 141, 230, 0, 0, 0, + + 170, 0, 169, 0, 171, 0, 0, 0, 162, 0, + 230, 230, 66, 230, 230, 75, 0, 0, 167, 0, + 0, 0, 0, 160, 164, 230, 67, 230, 230, 0, + 0, 0, 168, 0, 0, 230, 20, 230, 0, 0, + 0, 0, 0, 230, 22, 0, 0, 0, 0, 159, + 21, 0, 0, 0, 0, 155, 0, 0, 0, 0, + 0, 0, 156, 0, 154, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -518,249 +518,251 @@ static yyconst YY_CHAR yy_meta[87] = 5, 5, 5, 5, 1, 1 } ; -static yyconst flex_uint16_t yy_base[1071] = +static yyconst flex_uint16_t yy_base[1074] = { 0, - 0, 0, 1621, 1622, 85, 1622, 1593, 82, 0, 132, - 1622, 1622, 79, 1622, 1622, 1592, 1591, 1622, 74, 1599, - 78, 77, 86, 1589, 1622, 105, 1622, 66, 1622, 184, + 0, 0, 1624, 1625, 85, 1625, 1596, 82, 0, 132, + 1625, 1536, 79, 1625, 1625, 1594, 1593, 1625, 74, 1601, + 78, 77, 86, 1591, 1625, 105, 1625, 66, 1625, 184, 62, 189, 80, 59, 72, 68, 0, 73, 73, 85, - 77, 78, 95, 188, 113, 175, 183, 1622, 233, 197, - 228, 268, 244, 255, 283, 1552, 180, 180, 196, 277, - 165, 273, 1535, 299, 317, 223, 291, 322, 1528, 1622, - 120, 1622, 182, 1622, 1609, 0, 1622, 257, 0, 0, - 1544, 1551, 1536, 1541, 226, 1622, 1604, 1622, 1622, 1622, - 1622, 1622, 1622, 1622, 379, 385, 394, 0, 1622, 1579, - - 1622, 1622, 1578, 1622, 1577, 1576, 0, 200, 206, 258, - 260, 307, 309, 307, 315, 327, 380, 316, 331, 349, - 367, 380, 370, 388, 375, 394, 378, 384, 377, 388, - 380, 398, 383, 1529, 207, 385, 403, 1525, 1541, 399, - 1527, 1525, 1534, 1529, 1522, 396, 1518, 1515, 437, 1513, - 427, 1514, 41, 1517, 1519, 1525, 407, 1517, 1516, 413, - 1509, 1508, 1511, 1511, 1503, 1507, 1497, 0, 1506, 428, - 0, 51, 448, 1515, 1506, 453, 1505, 59, 1511, 0, - 1496, 162, 435, 1509, 298, 473, 303, 1499, 448, 233, - 1498, 1493, 370, 420, 283, 427, 441, 417, 1505, 1500, - - 223, 455, 1499, 1538, 519, 0, 0, 1492, 1502, 1492, - 1489, 532, 541, 547, 551, 0, 1622, 1622, 1622, 1622, - 477, 483, 495, 503, 511, 519, 518, 518, 545, 536, - 545, 550, 536, 541, 535, 541, 551, 547, 554, 541, - 556, 563, 560, 562, 363, 554, 568, 562, 1484, 1496, - 1491, 0, 0, 1498, 1484, 1474, 1492, 1493, 1493, 1481, - 1490, 558, 1477, 0, 1476, 1470, 460, 560, 1479, 377, - 1485, 1470, 1480, 1469, 0, 1480, 1481, 1463, 1477, 1459, - 561, 1457, 1472, 1461, 0, 1466, 1471, 1460, 459, 1470, - 1470, 1455, 569, 1464, 1457, 1460, 1450, 0, 1449, 1455, - - 1448, 1441, 1440, 1447, 1439, 0, 1446, 1441, 1455, 1441, - 1435, 430, 1450, 1440, 539, 1447, 0, 1446, 1434, 1443, - 1442, 1425, 1424, 1423, 1431, 1428, 1422, 1418, 1420, 1420, - 1431, 0, 1427, 1435, 1414, 58, 1417, 1423, 1412, 0, - 1416, 1424, 562, 1422, 1418, 1408, 1405, 1410, 1411, 1403, - 1401, 1622, 1399, 1404, 1417, 1413, 615, 619, 574, 577, - 589, 612, 596, 605, 0, 615, 601, 621, 603, 606, - 0, 625, 619, 608, 611, 656, 627, 629, 629, 622, - 620, 634, 664, 637, 621, 0, 1396, 1396, 1392, 1388, - 1448, 1406, 1395, 0, 1398, 0, 0, 637, 1403, 1387, - - 1391, 1403, 0, 1400, 1400, 1381, 1387, 1388, 0, 1390, - 1394, 1389, 1382, 1370, 1373, 0, 1374, 0, 1374, 1377, - 1370, 1388, 1374, 1366, 1385, 1381, 1366, 1365, 1375, 0, - 1361, 1362, 0, 1373, 1376, 1359, 1371, 1374, 1373, 0, - 1364, 1360, 1352, 1347, 1349, 1367, 1362, 1357, 1340, 1359, - 1348, 1350, 1347, 1336, 1358, 1353, 1345, 1338, 1353, 1350, - 1348, 1347, 1342, 1346, 1329, 1334, 1338, 0, 1326, 634, - 0, 1331, 1324, 0, 1342, 644, 1327, 1334, 1326, 0, - 0, 1334, 1326, 1332, 1312, 1316, 1316, 1318, 650, 0, - 634, 664, 0, 0, 660, 672, 660, 674, 661, 672, - - 681, 0, 665, 712, 0, 681, 0, 686, 677, 673, - 679, 680, 679, 697, 694, 0, 1313, 1326, 0, 0, - 1325, 1308, 0, 1308, 1324, 0, 1308, 1324, 1319, 1322, - 1310, 1316, 1315, 1313, 1313, 1298, 1309, 0, 1295, 1306, - 0, 1293, 1303, 1347, 1288, 1290, 1296, 1302, 1301, 1303, - 1299, 1295, 1297, 1276, 0, 1281, 1278, 1286, 1277, 1282, - 0, 1290, 1279, 690, 1273, 1288, 1288, 1276, 0, 1276, - 691, 1274, 308, 1268, 1267, 1265, 1270, 1282, 0, 1279, - 1263, 1265, 1268, 0, 1258, 1273, 0, 1263, 1256, 1267, - 1255, 1268, 700, 1253, 1256, 1268, 0, 1267, 1255, 0, - - 0, 1257, 1242, 685, 700, 714, 696, 743, 731, 0, - 722, 724, 738, 0, 739, 722, 0, 734, 0, 732, - 735, 747, 729, 0, 0, 1245, 1249, 1242, 0, 1241, - 1257, 1240, 0, 1238, 1237, 1252, 0, 0, 0, 1250, - 758, 1249, 0, 1247, 1237, 0, 0, 1250, 0, 1247, - 1244, 0, 1230, 1245, 1240, 0, 1230, 1239, 1225, 1233, - 1234, 1221, 1221, 0, 1229, 1236, 1231, 1214, 0, 1219, - 0, 1219, 1230, 1226, 1206, 1208, 1223, 1207, 1207, 0, - 1222, 1209, 1205, 1208, 1216, 1214, 0, 1218, 1198, 0, - 1215, 1197, 1202, 1209, 1200, 1193, 714, 1192, 1191, 733, - - 0, 734, 781, 825, 0, 754, 785, 759, 761, 0, - 750, 754, 769, 765, 775, 1204, 0, 0, 1199, 1206, - 1201, 1200, 0, 0, 1201, 0, 0, 0, 0, 0, - 1189, 1195, 1192, 1182, 0, 0, 1194, 1180, 0, 1196, - 1177, 0, 1176, 1190, 1179, 1174, 0, 1173, 1170, 1184, - 0, 1185, 1167, 1184, 0, 1172, 0, 1173, 1169, 1177, - 1165, 1155, 0, 1161, 1169, 0, 0, 0, 1173, 1171, - 1167, 1160, 1171, 0, 0, 776, 779, 813, 764, 788, - 781, 776, 803, 797, 786, 822, 790, 793, 787, 797, - 1622, 801, 0, 1153, 1156, 1167, 0, 1165, 1153, 0, - - 1162, 1153, 1147, 1144, 1160, 1148, 1141, 1151, 0, 1154, - 0, 1153, 1148, 0, 1136, 1137, 1147, 1152, 0, 1148, - 1139, 1135, 0, 1138, 1145, 0, 0, 1141, 1141, 0, - 807, 837, 812, 813, 807, 830, 868, 836, 832, 839, - 836, 852, 847, 888, 860, 0, 853, 871, 1126, 1130, - 1135, 0, 1128, 0, 1140, 1125, 1136, 1137, 1133, 1127, - 1120, 0, 0, 1128, 0, 1129, 0, 1099, 1089, 1102, - 1091, 0, 1085, 1139, 0, 904, 909, 1622, 870, 874, - 862, 911, 876, 886, 883, 886, 872, 892, 921, 1622, - 896, 895, 1093, 867, 1095, 1094, 1085, 1078, 1086, 1090, - - 1077, 1088, 1076, 1080, 1085, 1076, 0, 1085, 1073, 1069, - 1081, 931, 883, 887, 1622, 907, 905, 910, 909, 908, - 1622, 912, 909, 923, 929, 922, 913, 1066, 1063, 1059, - 0, 1054, 0, 0, 0, 1061, 1055, 1045, 1060, 1059, - 1040, 0, 1040, 0, 1044, 1054, 929, 934, 929, 927, - 931, 941, 945, 945, 981, 1622, 931, 959, 951, 957, - 1041, 1040, 1022, 0, 989, 0, 0, 956, 883, 0, - 782, 765, 0, 943, 949, 957, 948, 963, 976, 961, - 965, 1010, 985, 975, 968, 974, 738, 652, 612, 0, - 596, 529, 0, 454, 1017, 984, 982, 1622, 998, 1622, - - 985, 1622, 985, 1004, 1002, 1622, 994, 419, 410, 0, - 413, 378, 0, 1039, 990, 1622, 1016, 1015, 1020, 1023, - 1622, 1622, 308, 0, 277, 266, 1025, 1007, 1025, 1622, - 1011, 1014, 241, 0, 168, 1025, 1031, 1067, 1034, 1039, - 150, 0, 1044, 1043, 1089, 1028, 1622, 0, 1044, 1035, - 1037, 1056, 1622, 1056, 1054, 1068, 1072, 1059, 1065, 1622, - 1062, 1622, 1622, 1167, 1172, 1177, 1179, 1181, 1186, 157 + 77, 78, 95, 188, 113, 175, 183, 1625, 233, 197, + 228, 268, 244, 255, 283, 1554, 180, 180, 196, 277, + 165, 273, 1537, 299, 317, 223, 291, 322, 76, 1625, + 120, 1625, 182, 1625, 1612, 0, 1625, 257, 0, 0, + 1547, 1554, 1539, 1544, 1583, 226, 1625, 1606, 1625, 1625, + 1625, 1625, 1625, 1625, 1625, 379, 385, 394, 0, 1625, + + 1581, 1625, 1625, 1580, 1625, 1579, 1578, 0, 200, 206, + 258, 260, 307, 309, 307, 315, 327, 380, 316, 331, + 349, 367, 380, 370, 388, 375, 394, 378, 384, 377, + 388, 380, 398, 383, 1531, 207, 385, 403, 1527, 1543, + 399, 1529, 1527, 1536, 1531, 1524, 396, 1520, 1517, 437, + 1515, 427, 1516, 75, 1519, 1521, 1527, 407, 1519, 1518, + 413, 1511, 1510, 1513, 1513, 1505, 1509, 1499, 0, 1508, + 428, 0, 51, 448, 1517, 1508, 453, 1507, 162, 1513, + 0, 1498, 219, 435, 1511, 298, 473, 303, 1501, 448, + 67, 1500, 1495, 370, 420, 283, 237, 440, 417, 1507, + + 1502, 304, 455, 1501, 1625, 1540, 519, 0, 0, 1494, + 1504, 1494, 1491, 1625, 532, 541, 547, 551, 0, 1625, + 1625, 1625, 1625, 453, 481, 476, 492, 509, 511, 516, + 517, 530, 534, 543, 549, 535, 540, 534, 540, 550, + 545, 551, 540, 555, 562, 559, 560, 441, 553, 567, + 561, 1486, 1498, 1493, 0, 0, 1500, 1486, 1476, 1494, + 1495, 1495, 1483, 1492, 557, 1479, 0, 1478, 1472, 542, + 559, 1481, 443, 1487, 1472, 1482, 1471, 0, 1482, 1483, + 1465, 1479, 1461, 561, 1459, 1474, 1463, 0, 1468, 1473, + 1462, 459, 1472, 1472, 1457, 573, 1466, 1459, 1462, 1452, + + 0, 1451, 1457, 1450, 1443, 1442, 1449, 1441, 0, 1448, + 1443, 1457, 1443, 1437, 558, 1452, 1442, 539, 1449, 0, + 1448, 1436, 1445, 1444, 1427, 1426, 1425, 1433, 1430, 1424, + 1420, 1422, 1422, 1433, 0, 1429, 1437, 1416, 309, 1419, + 1425, 1414, 0, 1418, 1426, 574, 1424, 1420, 1410, 1407, + 1412, 1413, 1405, 1403, 1625, 1401, 1406, 1419, 1415, 619, + 627, 581, 586, 580, 603, 588, 600, 0, 610, 596, + 622, 605, 607, 0, 626, 620, 609, 612, 657, 631, + 634, 634, 627, 625, 639, 672, 645, 629, 0, 1398, + 1398, 1394, 1390, 1450, 1408, 1397, 0, 1400, 0, 0, + + 645, 1405, 1389, 1393, 1405, 0, 1402, 1402, 1383, 1389, + 1390, 0, 1392, 1396, 1391, 1384, 1372, 1375, 0, 1376, + 0, 1376, 1379, 1372, 1390, 1376, 1368, 1387, 1383, 1368, + 1367, 1377, 0, 1363, 1364, 0, 1375, 1378, 1361, 1373, + 1376, 1375, 0, 1366, 1362, 1354, 1349, 1351, 1369, 1364, + 1359, 1342, 1361, 1350, 1352, 1349, 1338, 1360, 1355, 1347, + 1340, 1355, 1352, 1350, 1349, 1344, 1348, 1331, 1336, 1340, + 0, 1328, 626, 0, 1333, 1326, 0, 1344, 648, 1329, + 1336, 1328, 0, 0, 1336, 1328, 1334, 1314, 1318, 1318, + 1320, 644, 0, 636, 657, 0, 0, 658, 668, 656, + + 671, 662, 675, 683, 0, 666, 713, 0, 680, 0, + 688, 679, 676, 682, 683, 681, 699, 701, 0, 1315, + 1328, 0, 0, 1327, 1310, 0, 1310, 1326, 0, 1310, + 1326, 1321, 1324, 1312, 1318, 1317, 1315, 1315, 1300, 1311, + 0, 1297, 1308, 0, 1295, 1305, 1349, 1290, 1292, 1298, + 1304, 1303, 1305, 1301, 1297, 1299, 1278, 0, 1283, 1280, + 1288, 1279, 1284, 0, 1292, 1281, 689, 1275, 1290, 1290, + 1278, 0, 1278, 673, 1276, 460, 1270, 1269, 1267, 1272, + 1284, 0, 1281, 1265, 1267, 1270, 0, 1260, 1275, 0, + 1265, 1258, 1269, 1257, 1270, 706, 1255, 1258, 1270, 0, + + 1269, 1257, 0, 0, 1259, 1244, 689, 704, 711, 696, + 757, 715, 0, 719, 725, 741, 0, 742, 724, 0, + 737, 0, 733, 736, 749, 731, 0, 0, 1247, 1251, + 1244, 0, 1243, 1259, 1242, 0, 1240, 1239, 1254, 0, + 0, 0, 1252, 760, 1251, 0, 1249, 1239, 0, 0, + 1252, 0, 1249, 1246, 0, 1232, 1247, 1242, 0, 1232, + 1241, 1227, 1235, 1236, 1223, 1223, 0, 1231, 1238, 1233, + 1216, 0, 1221, 0, 1221, 1232, 1228, 1208, 1210, 1225, + 1209, 1209, 0, 1224, 1211, 1207, 1210, 1218, 1216, 0, + 1220, 1200, 0, 1217, 1199, 1204, 1211, 1202, 1195, 716, + + 1194, 1193, 735, 0, 736, 783, 827, 0, 756, 790, + 758, 764, 0, 753, 750, 765, 760, 773, 1206, 0, + 0, 1201, 1208, 1203, 1202, 0, 0, 1203, 0, 0, + 0, 0, 0, 1191, 1197, 1194, 1184, 0, 0, 1196, + 1182, 0, 1198, 1179, 0, 1178, 1192, 1181, 1176, 0, + 1175, 1172, 1186, 0, 1187, 1169, 1186, 0, 1174, 0, + 1175, 1171, 1179, 1167, 1157, 0, 1163, 1171, 0, 0, + 0, 1175, 1173, 1169, 1162, 1173, 0, 0, 776, 777, + 812, 762, 788, 782, 774, 804, 791, 785, 839, 786, + 794, 795, 797, 1625, 800, 0, 1155, 1158, 1169, 0, + + 1167, 1155, 0, 1164, 1155, 1149, 1146, 1162, 1150, 1143, + 1153, 0, 1156, 0, 1155, 1150, 0, 1138, 1139, 1149, + 1154, 0, 1150, 1141, 1137, 0, 1140, 1147, 0, 0, + 1143, 1143, 0, 806, 854, 811, 816, 809, 830, 866, + 833, 834, 841, 836, 856, 846, 889, 862, 0, 851, + 869, 1128, 1132, 1137, 0, 1130, 0, 1142, 1127, 1138, + 1139, 1135, 1129, 1122, 0, 0, 1130, 0, 1134, 0, + 1116, 1114, 1127, 1116, 0, 1111, 1165, 0, 899, 908, + 1625, 872, 876, 862, 914, 874, 887, 884, 887, 873, + 893, 926, 1625, 894, 894, 1119, 870, 1122, 1122, 1113, + + 1106, 1115, 1119, 1106, 1117, 1105, 1106, 1099, 1082, 0, + 1091, 1079, 1074, 1086, 933, 885, 890, 1625, 910, 907, + 912, 911, 911, 1625, 920, 914, 928, 930, 924, 915, + 1072, 1073, 1068, 0, 1063, 0, 0, 0, 1073, 1063, + 1056, 1071, 1067, 1049, 0, 1049, 0, 1049, 1058, 931, + 936, 929, 925, 932, 942, 946, 946, 978, 1625, 935, + 961, 954, 960, 1044, 1055, 1037, 0, 1031, 0, 0, + 958, 887, 0, 869, 767, 0, 945, 951, 959, 951, + 969, 977, 962, 967, 1012, 987, 977, 970, 976, 772, + 745, 622, 0, 611, 525, 0, 420, 1019, 986, 982, + + 1625, 1000, 1625, 986, 1625, 986, 1005, 1003, 1625, 995, + 419, 410, 0, 413, 369, 0, 1041, 994, 1625, 1018, + 1017, 1022, 1025, 1625, 1625, 287, 0, 277, 266, 1026, + 1008, 1024, 1625, 1012, 1015, 218, 0, 163, 1025, 1031, + 1069, 1032, 1040, 150, 0, 1045, 1044, 1074, 1034, 1625, + 0, 1052, 1043, 1044, 1061, 1625, 1058, 1058, 1069, 1068, + 1058, 1064, 1625, 1059, 1625, 1625, 1152, 1157, 1162, 1164, + 1166, 1171, 98 } ; -static yyconst flex_int16_t yy_def[1071] = +static yyconst flex_int16_t yy_def[1074] = { 0, - 1063, 1, 1063, 1063, 1063, 1063, 1063, 1064, 1065, 1063, - 1063, 1063, 1066, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1063, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1063, 1063, - 1063, 1063, 1064, 1063, 1064, 1065, 1063, 1063, 1068, 1069, - 1069, 1069, 1069, 1069, 1066, 1063, 1066, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1070, 1063, 1063, - - 1063, 1063, 1063, 1063, 1063, 1063, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - - 1067, 1067, 1067, 1063, 1063, 1068, 1069, 1069, 1069, 1069, - 1069, 1063, 1063, 1063, 1063, 1070, 1063, 1063, 1063, 1063, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1063, 1069, 1069, 1069, 1069, 1063, 1063, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1063, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1069, 1069, 1069, 1069, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - - 1067, 1067, 1067, 1063, 1067, 1067, 1067, 1067, 1067, 1067, - 1063, 1063, 1063, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1069, - - 1069, 1069, 1069, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1063, 1067, 1067, 1067, 1067, 1063, - 1063, 1063, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1069, 1069, 1067, - - 1067, 1067, 1067, 1063, 1067, 1067, 1067, 1067, 1063, 1067, - 1067, 1063, 1063, 1063, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1069, 1069, 1067, 1067, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1067, 1063, 1067, 1063, 1067, 1063, - 1063, 1063, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1067, 1063, 1067, 1063, 1067, 1063, 1063, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1067, 1063, 1063, 1063, - 1063, 1063, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1067, 1063, 1063, 1063, 1063, 1063, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 1067, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1067, 1063, 1063, 1063, 1063, 1063, - 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1067, 1067, 1067, 1067, - 1067, 1067, 1067, 1067, 1063, 1063, 1063, 1063, 1063, 1063, - - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1067, 1067, 1067, - 1067, 1067, 1067, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1067, 1067, 1067, 1067, 1063, 1063, 1063, 1063, - 1063, 1063, 1067, 1067, 1067, 1063, 1063, 1063, 1063, 1063, - 1067, 1067, 1063, 1063, 1063, 1063, 1063, 1067, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 0, 1063, 1063, 1063, 1063, 1063, 1063, 1063 + 1066, 1, 1066, 1066, 1066, 1066, 1066, 1067, 1068, 1066, + 1066, 1066, 1069, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1066, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1066, 1066, + 1066, 1066, 1067, 1066, 1067, 1068, 1066, 1066, 1071, 1072, + 1072, 1072, 1072, 1072, 1066, 1069, 1066, 1069, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1073, 1066, + + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + + 1070, 1070, 1070, 1070, 1066, 1066, 1066, 1071, 1072, 1072, + 1072, 1072, 1072, 1066, 1066, 1066, 1066, 1066, 1073, 1066, + 1066, 1066, 1066, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1066, 1072, 1072, 1072, 1072, 1066, + 1066, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1066, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1072, 1072, 1072, + 1072, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + + 1070, 1070, 1070, 1070, 1070, 1070, 1066, 1070, 1070, 1070, + 1070, 1070, 1070, 1066, 1066, 1066, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + + 1070, 1070, 1072, 1072, 1072, 1072, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1066, 1070, 1070, + 1070, 1070, 1066, 1066, 1066, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + + 1072, 1072, 1070, 1070, 1070, 1070, 1066, 1070, 1070, 1070, + 1070, 1066, 1070, 1070, 1066, 1066, 1066, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1072, 1072, 1070, 1070, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1070, 1066, 1070, + 1066, 1070, 1066, 1066, 1066, 1070, 1070, 1070, 1070, 1070, + + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1070, 1066, 1070, 1066, 1070, 1066, + 1066, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1070, + 1066, 1066, 1066, 1066, 1066, 1070, 1070, 1070, 1070, 1070, + + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1070, 1066, 1066, 1066, 1066, 1066, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1070, 1066, 1066, + 1066, 1066, 1066, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1070, + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1066, 1066, 1066, + + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1070, 1070, 1070, 1070, 1070, 1070, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1070, 1070, 1070, 1070, 1066, + 1066, 1066, 1066, 1066, 1066, 1070, 1070, 1070, 1066, 1066, + 1066, 1066, 1066, 1070, 1070, 1066, 1066, 1066, 1066, 1066, + 1070, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 0, 1066, 1066, 1066, 1066, + 1066, 1066, 1066 } ; -static yyconst flex_uint16_t yy_nxt[1709] = +static yyconst flex_uint16_t yy_nxt[1712] = { 0, 4, 5, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, @@ -770,189 +772,190 @@ static yyconst flex_uint16_t yy_nxt[1709] = 37, 47, 37, 37, 37, 4, 48, 37, 49, 50, 51, 52, 53, 54, 55, 56, 57, 37, 37, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 37, - 68, 37, 37, 37, 69, 70, 71, 74, 71, 86, - 90, 93, 104, 105, 95, 113, 96, 96, 96, 96, - - 91, 274, 275, 95, 94, 96, 96, 96, 96, 295, - 97, 120, 121, 117, 122, 123, 124, 118, 125, 97, - 126, 71, 296, 71, 113, 308, 119, 127, 128, 98, - 100, 101, 102, 469, 87, 470, 309, 75, 77, 97, - 120, 121, 117, 122, 123, 124, 118, 125, 97, 126, - 106, 78, 78, 78, 78, 119, 127, 128, 98, 131, - 216, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 68, 37, 37, 37, 69, 70, 71, 74, 71, 87, + 91, 94, 105, 106, 96, 114, 97, 97, 97, 97, + + 92, 219, 205, 96, 95, 97, 97, 97, 97, 298, + 98, 121, 122, 118, 123, 124, 125, 119, 126, 98, + 127, 71, 299, 71, 114, 333, 120, 128, 129, 99, + 101, 102, 103, 334, 88, 277, 278, 75, 77, 98, + 121, 122, 118, 123, 124, 125, 119, 126, 98, 127, + 107, 78, 78, 78, 78, 120, 128, 129, 99, 132, + 206, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 79, 74, 131, 103, + 79, 79, 79, 79, 79, 79, 79, 74, 132, 104, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 82, 80, 80, 80, 80, 80, 83, 80, - 80, 80, 84, 80, 80, 80, 108, 129, 114, 132, - 133, 130, 123, 124, 109, 178, 110, 1048, 312, 125, - 113, 111, 115, 112, 313, 116, 86, 75, 179, 1042, - 180, 221, 172, 168, 169, 108, 129, 114, 132, 133, - 130, 170, 173, 109, 222, 110, 171, 114, 125, 140, - 111, 115, 112, 141, 116, 108, 142, 250, 174, 131, - 221, 115, 143, 109, 116, 110, 205, 205, 205, 205, - 111, 87, 112, 222, 251, 348, 114, 223, 196, 349, - 144, 330, 134, 135, 108, 121, 120, 145, 197, 331, - - 146, 117, 136, 116, 137, 118, 147, 224, 138, 111, - 139, 112, 1041, 152, 119, 153, 223, 154, 158, 155, - 126, 159, 127, 156, 160, 157, 148, 161, 162, 122, - 149, 181, 128, 163, 118, 132, 224, 175, 1035, 225, - 150, 164, 339, 151, 226, 165, 129, 227, 182, 176, - 130, 183, 166, 340, 1034, 177, 228, 185, 122, 133, - 229, 186, 198, 232, 132, 383, 383, 199, 225, 316, - 675, 187, 325, 226, 233, 129, 227, 188, 317, 189, - 200, 326, 190, 191, 676, 228, 1033, 201, 202, 229, - 192, 193, 232, 234, 194, 195, 235, 203, 212, 212, - - 212, 212, 95, 233, 96, 96, 96, 96, 214, 236, - 214, 230, 213, 215, 215, 215, 215, 237, 97, 238, - 231, 239, 234, 240, 241, 235, 242, 243, 244, 246, - 247, 248, 223, 222, 226, 406, 245, 228, 236, 334, - 230, 213, 235, 407, 1026, 335, 237, 97, 238, 231, - 239, 234, 240, 241, 252, 242, 243, 244, 246, 247, - 248, 223, 222, 226, 253, 245, 262, 263, 230, 279, - 233, 235, 264, 280, 265, 237, 256, 231, 336, 238, - 281, 241, 240, 344, 1025, 284, 1024, 272, 244, 341, - 246, 1023, 337, 345, 314, 338, 245, 268, 269, 233, - - 270, 445, 342, 248, 293, 294, 231, 297, 238, 446, - 241, 240, 298, 302, 359, 242, 360, 244, 402, 343, - 299, 423, 403, 328, 329, 245, 350, 303, 304, 305, - 306, 318, 248, 319, 424, 361, 1013, 320, 205, 205, - 205, 205, 321, 359, 242, 360, 362, 322, 363, 323, - 324, 212, 212, 212, 212, 357, 364, 357, 365, 366, - 358, 358, 358, 358, 361, 213, 215, 215, 215, 215, - 215, 215, 215, 215, 367, 362, 368, 363, 369, 370, - 371, 372, 373, 374, 375, 364, 376, 365, 366, 377, - 378, 379, 380, 381, 213, 382, 384, 385, 386, 366, - - 368, 372, 375, 367, 384, 368, 1012, 369, 370, 371, - 372, 373, 374, 375, 449, 376, 489, 450, 377, 378, - 379, 380, 381, 490, 382, 384, 385, 386, 398, 368, - 372, 375, 404, 476, 358, 358, 358, 358, 358, 358, - 358, 358, 491, 492, 493, 489, 428, 494, 495, 496, - 497, 498, 490, 499, 500, 501, 502, 503, 504, 504, - 505, 506, 507, 508, 509, 510, 383, 383, 514, 515, - 495, 491, 492, 493, 1011, 514, 494, 495, 496, 497, - 498, 1010, 499, 500, 501, 502, 503, 604, 605, 505, - 506, 507, 508, 509, 510, 511, 588, 514, 515, 495, - - 589, 606, 607, 524, 593, 608, 609, 610, 611, 612, - 512, 613, 513, 614, 504, 504, 604, 605, 616, 617, - 618, 619, 620, 621, 511, 622, 623, 624, 1009, 623, - 606, 607, 700, 701, 608, 609, 610, 611, 612, 512, - 613, 513, 614, 702, 703, 704, 704, 616, 617, 618, - 619, 620, 621, 664, 622, 623, 624, 672, 623, 665, - 615, 700, 701, 673, 705, 706, 707, 708, 709, 666, - 710, 711, 702, 703, 712, 713, 714, 715, 726, 727, - 772, 776, 777, 778, 778, 785, 773, 786, 786, 615, - 787, 788, 789, 705, 706, 707, 708, 709, 1008, 710, - - 711, 790, 791, 712, 713, 714, 715, 792, 793, 831, - 776, 777, 832, 834, 785, 778, 778, 835, 836, 787, - 788, 789, 837, 842, 786, 786, 728, 704, 704, 844, - 790, 791, 838, 845, 994, 846, 792, 793, 831, 877, - 877, 832, 834, 840, 993, 847, 835, 836, 848, 839, - 841, 837, 842, 876, 878, 879, 833, 880, 844, 779, - 881, 838, 845, 780, 846, 781, 843, 883, 782, 783, - 882, 882, 840, 784, 847, 884, 885, 848, 839, 841, - 886, 887, 876, 878, 879, 833, 880, 888, 779, 881, - 889, 889, 780, 890, 781, 843, 883, 782, 783, 891, - - 892, 914, 784, 915, 884, 885, 912, 912, 916, 886, - 887, 877, 877, 882, 882, 918, 888, 919, 920, 921, - 922, 923, 890, 889, 889, 926, 927, 929, 891, 892, - 914, 948, 915, 912, 912, 949, 950, 916, 951, 952, - 930, 992, 953, 954, 918, 955, 919, 920, 921, 922, - 923, 956, 957, 924, 926, 927, 913, 917, 958, 959, - 948, 960, 974, 975, 949, 950, 976, 951, 952, 925, - 947, 953, 954, 977, 955, 978, 979, 980, 981, 983, - 956, 957, 924, 982, 982, 913, 917, 958, 959, 984, - 960, 974, 975, 985, 986, 976, 995, 996, 925, 947, - - 997, 998, 977, 999, 978, 979, 980, 981, 983, 1000, - 1001, 1002, 982, 982, 1004, 1005, 1006, 1007, 984, 1014, - 1014, 1015, 985, 986, 1016, 995, 996, 1017, 991, 997, - 998, 1018, 999, 1019, 1020, 1021, 1022, 1028, 1000, 1001, - 1002, 1014, 1014, 1004, 1005, 1006, 1007, 1029, 1030, 1031, - 1015, 990, 1032, 1016, 1036, 1037, 1017, 1003, 1038, 1039, - 1018, 1040, 1019, 1020, 1021, 1022, 1028, 1043, 1044, 1045, - 1045, 1046, 1047, 1049, 1050, 1051, 1029, 1030, 1031, 1052, - 1027, 1032, 1053, 1036, 1037, 1054, 1003, 1038, 1039, 1055, - 1040, 1045, 1045, 1056, 989, 1057, 1043, 1044, 988, 1058, - - 1046, 1047, 1049, 1050, 1051, 1059, 1060, 1061, 1052, 1027, - 1062, 1053, 987, 973, 1054, 972, 971, 970, 1055, 969, - 968, 967, 1056, 779, 1057, 966, 965, 780, 1058, 781, - 964, 963, 962, 783, 1059, 1060, 1061, 784, 961, 1062, - 946, 945, 944, 943, 942, 941, 940, 939, 938, 937, - 936, 935, 779, 934, 933, 932, 780, 931, 781, 928, - 911, 910, 783, 909, 908, 907, 784, 73, 73, 73, - 73, 73, 76, 76, 906, 76, 76, 85, 85, 85, - 85, 85, 107, 107, 206, 206, 207, 905, 207, 207, - 207, 904, 903, 902, 901, 900, 899, 898, 897, 896, - - 895, 894, 893, 875, 874, 873, 872, 871, 870, 869, - 868, 867, 866, 865, 864, 863, 862, 861, 860, 859, - 858, 857, 856, 855, 854, 853, 852, 851, 850, 849, - 830, 829, 828, 827, 826, 825, 824, 823, 822, 821, - 820, 819, 818, 817, 816, 815, 814, 813, 812, 811, - 810, 809, 808, 807, 806, 805, 804, 803, 802, 801, - 800, 799, 798, 797, 796, 795, 794, 775, 774, 771, - 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, - 760, 759, 758, 757, 756, 755, 754, 753, 752, 751, - 750, 749, 748, 747, 746, 745, 744, 743, 742, 741, - - 740, 739, 738, 737, 736, 735, 734, 733, 732, 731, - 730, 729, 725, 724, 723, 722, 721, 720, 719, 718, - 717, 716, 699, 698, 697, 696, 695, 694, 693, 692, - 691, 690, 689, 688, 687, 686, 685, 684, 683, 682, - 681, 680, 679, 678, 677, 674, 671, 670, 669, 668, - 667, 663, 662, 661, 660, 659, 658, 657, 656, 655, - 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, - 644, 643, 642, 641, 640, 639, 638, 637, 636, 635, - 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, - 603, 602, 601, 600, 599, 598, 597, 596, 595, 594, - - 592, 591, 590, 587, 586, 585, 584, 583, 582, 581, - 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, - 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, - 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, - 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, - 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, - 530, 529, 528, 527, 526, 525, 523, 522, 521, 520, - 519, 518, 517, 516, 488, 487, 486, 485, 484, 483, - 482, 481, 480, 479, 478, 477, 475, 474, 473, 472, - 471, 468, 467, 466, 465, 464, 463, 462, 461, 460, - - 459, 458, 457, 456, 455, 454, 453, 452, 451, 448, - 447, 444, 443, 442, 441, 440, 439, 438, 437, 436, - 435, 434, 433, 432, 431, 430, 429, 427, 426, 425, - 422, 421, 420, 419, 418, 417, 416, 415, 414, 413, - 412, 411, 410, 409, 408, 405, 401, 400, 399, 397, - 396, 395, 394, 393, 392, 391, 390, 389, 388, 387, - 356, 355, 354, 353, 352, 351, 347, 346, 333, 332, - 327, 315, 311, 310, 307, 301, 300, 292, 291, 290, - 289, 288, 287, 286, 285, 283, 282, 278, 277, 276, - 273, 271, 267, 266, 261, 260, 259, 258, 257, 255, - - 254, 249, 220, 219, 218, 217, 1063, 211, 210, 209, - 208, 1063, 204, 184, 167, 99, 92, 89, 88, 72, - 1063, 3, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063 + 80, 80, 84, 80, 80, 80, 109, 130, 115, 133, + 134, 131, 124, 125, 110, 179, 111, 1051, 311, 126, + 114, 112, 116, 113, 1045, 117, 87, 75, 180, 312, + 181, 224, 173, 169, 170, 109, 130, 115, 133, 134, + 131, 171, 174, 110, 225, 111, 172, 115, 126, 141, + 112, 116, 113, 142, 117, 109, 143, 253, 175, 132, + 224, 116, 144, 110, 117, 111, 207, 207, 207, 207, + 112, 88, 113, 225, 254, 315, 115, 226, 197, 1044, + 145, 316, 135, 136, 109, 122, 121, 146, 198, 344, + + 147, 118, 137, 117, 138, 119, 148, 227, 139, 112, + 140, 113, 345, 153, 120, 154, 226, 155, 159, 156, + 127, 160, 128, 157, 161, 158, 149, 162, 163, 123, + 150, 182, 129, 164, 119, 133, 227, 176, 1038, 228, + 151, 165, 342, 152, 229, 166, 130, 230, 183, 177, + 131, 184, 167, 343, 1037, 178, 231, 186, 123, 134, + 232, 187, 199, 235, 133, 1036, 351, 200, 228, 319, + 352, 188, 328, 229, 236, 130, 230, 189, 320, 190, + 201, 329, 191, 192, 472, 231, 473, 202, 203, 232, + 193, 194, 235, 237, 195, 196, 238, 204, 215, 215, + + 215, 215, 96, 236, 97, 97, 97, 97, 217, 239, + 217, 233, 216, 218, 218, 218, 218, 240, 98, 241, + 234, 242, 237, 243, 244, 238, 245, 246, 247, 249, + 250, 251, 226, 225, 229, 1029, 248, 231, 239, 337, + 233, 216, 238, 386, 386, 338, 240, 98, 241, 234, + 242, 237, 243, 244, 255, 245, 246, 247, 249, 250, + 251, 226, 225, 229, 256, 248, 265, 266, 233, 282, + 236, 238, 267, 283, 268, 240, 259, 234, 339, 241, + 284, 244, 243, 347, 1028, 287, 1027, 275, 247, 249, + 362, 1026, 340, 348, 317, 341, 248, 271, 272, 236, + + 273, 409, 1016, 251, 296, 297, 234, 300, 241, 410, + 244, 243, 301, 305, 363, 245, 364, 247, 346, 362, + 302, 426, 678, 331, 332, 248, 353, 306, 307, 308, + 309, 321, 251, 322, 427, 365, 679, 323, 207, 207, + 207, 207, 324, 363, 245, 364, 366, 325, 367, 326, + 327, 215, 215, 215, 215, 360, 368, 360, 369, 370, + 361, 361, 361, 361, 365, 216, 218, 218, 218, 218, + 218, 218, 218, 218, 371, 366, 372, 367, 373, 374, + 375, 376, 377, 378, 379, 368, 380, 369, 370, 381, + 382, 383, 384, 385, 216, 387, 388, 389, 369, 371, + + 405, 375, 1015, 371, 406, 372, 378, 373, 374, 375, + 376, 377, 378, 379, 452, 380, 387, 453, 381, 382, + 383, 384, 385, 492, 387, 388, 389, 401, 371, 448, + 375, 407, 493, 494, 495, 378, 496, 449, 361, 361, + 361, 361, 497, 498, 499, 479, 361, 361, 361, 361, + 431, 500, 492, 501, 502, 503, 504, 505, 506, 507, + 507, 493, 494, 495, 508, 496, 509, 510, 511, 512, + 513, 497, 498, 499, 386, 386, 517, 518, 498, 517, + 500, 607, 501, 502, 503, 504, 505, 506, 591, 1014, + 608, 1013, 592, 508, 609, 509, 510, 511, 512, 513, + + 610, 611, 612, 514, 613, 517, 518, 498, 596, 614, + 607, 527, 615, 616, 617, 507, 507, 619, 515, 608, + 516, 620, 621, 609, 622, 623, 624, 625, 626, 610, + 611, 612, 514, 613, 627, 626, 703, 704, 614, 675, + 705, 615, 616, 617, 706, 676, 619, 515, 708, 516, + 620, 621, 667, 622, 623, 624, 625, 626, 668, 707, + 707, 618, 709, 627, 626, 703, 704, 710, 669, 705, + 711, 712, 713, 706, 714, 715, 716, 708, 717, 718, + 729, 730, 775, 779, 780, 781, 781, 788, 776, 790, + 618, 709, 789, 789, 791, 792, 710, 793, 794, 711, + + 712, 713, 795, 714, 715, 716, 796, 717, 718, 834, + 835, 837, 779, 780, 781, 781, 788, 838, 790, 839, + 840, 1012, 845, 791, 792, 847, 793, 794, 731, 707, + 707, 795, 1011, 841, 848, 796, 997, 843, 834, 835, + 837, 789, 789, 849, 844, 850, 838, 851, 839, 840, + 842, 845, 879, 881, 847, 836, 880, 880, 882, 883, + 884, 782, 841, 848, 886, 783, 843, 784, 885, 885, + 785, 786, 849, 844, 850, 787, 851, 887, 888, 842, + 889, 879, 881, 846, 836, 890, 891, 882, 883, 884, + 782, 892, 892, 886, 783, 893, 784, 894, 895, 785, + + 786, 915, 915, 917, 787, 918, 887, 888, 919, 889, + 880, 880, 846, 921, 890, 891, 885, 885, 922, 923, + 924, 925, 926, 929, 893, 930, 894, 895, 892, 892, + 932, 996, 917, 951, 918, 915, 915, 919, 952, 953, + 954, 955, 921, 933, 956, 995, 957, 922, 923, 924, + 925, 926, 929, 958, 930, 916, 959, 960, 927, 961, + 920, 962, 951, 963, 977, 978, 979, 952, 953, 954, + 955, 980, 950, 956, 928, 957, 981, 982, 983, 984, + 985, 985, 958, 986, 916, 959, 960, 927, 961, 920, + 962, 987, 963, 977, 978, 979, 988, 989, 998, 999, + + 980, 950, 1000, 928, 1001, 981, 982, 983, 984, 1002, + 1003, 1004, 986, 1005, 985, 985, 1007, 1008, 1009, 1010, + 987, 1017, 1017, 1018, 1019, 988, 989, 998, 999, 1020, + 994, 1000, 1021, 1001, 1022, 1023, 1024, 1025, 1002, 1003, + 1004, 1031, 1005, 1017, 1017, 1007, 1008, 1009, 1010, 1032, + 1033, 1034, 1018, 1019, 1035, 1039, 1040, 1041, 1020, 1006, + 1042, 1021, 1043, 1022, 1023, 1024, 1025, 1046, 1047, 1049, + 1031, 1048, 1048, 1050, 1052, 1053, 1048, 1048, 1032, 1033, + 1034, 1054, 1030, 1035, 1039, 1040, 1041, 1055, 1006, 1042, + 1056, 1043, 1057, 993, 1058, 1059, 1046, 1047, 1049, 1060, + + 1061, 1062, 1050, 1052, 1053, 1063, 1064, 1065, 782, 992, + 1054, 1030, 783, 991, 784, 990, 1055, 976, 786, 1056, + 975, 1057, 787, 1058, 1059, 974, 973, 972, 1060, 1061, + 1062, 971, 970, 969, 1063, 1064, 1065, 782, 968, 967, + 966, 783, 965, 784, 964, 949, 948, 786, 947, 946, + 945, 787, 73, 73, 73, 73, 73, 76, 76, 944, + 76, 76, 86, 86, 86, 86, 86, 108, 108, 208, + 208, 209, 943, 209, 209, 209, 942, 941, 940, 939, + 938, 937, 936, 935, 934, 931, 914, 913, 912, 911, + 910, 909, 908, 907, 906, 905, 904, 903, 902, 901, + + 900, 899, 898, 897, 896, 878, 877, 876, 875, 874, + 873, 872, 871, 870, 869, 868, 867, 866, 865, 864, + 863, 862, 861, 860, 859, 858, 857, 856, 855, 854, + 853, 852, 833, 832, 831, 830, 829, 828, 827, 826, + 825, 824, 823, 822, 821, 820, 819, 818, 817, 816, + 815, 814, 813, 812, 811, 810, 809, 808, 807, 806, + 805, 804, 803, 802, 801, 800, 799, 798, 797, 778, + 777, 774, 773, 772, 771, 770, 769, 768, 767, 766, + 765, 764, 763, 762, 761, 760, 759, 758, 757, 756, + 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, + + 745, 744, 743, 742, 741, 740, 739, 738, 737, 736, + 735, 734, 733, 732, 728, 727, 726, 725, 724, 723, + 722, 721, 720, 719, 702, 701, 700, 699, 698, 697, + 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, + 686, 685, 684, 683, 682, 681, 680, 677, 674, 673, + 672, 671, 670, 666, 665, 664, 663, 662, 661, 660, + 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, + 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, + 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, + 629, 628, 606, 605, 604, 603, 602, 601, 600, 599, + + 598, 597, 595, 594, 593, 590, 589, 588, 587, 586, + 585, 584, 583, 582, 581, 580, 579, 578, 577, 576, + 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, + 565, 564, 563, 562, 561, 560, 559, 558, 557, 556, + 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, + 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, + 535, 534, 533, 532, 531, 530, 529, 528, 526, 525, + 524, 523, 522, 521, 520, 519, 491, 490, 489, 488, + 487, 486, 485, 484, 483, 482, 481, 480, 478, 477, + 476, 475, 474, 471, 470, 469, 468, 467, 466, 465, + + 464, 463, 462, 461, 460, 459, 458, 457, 456, 455, + 454, 451, 450, 447, 446, 445, 444, 443, 442, 441, + 440, 439, 438, 437, 436, 435, 434, 433, 432, 430, + 429, 428, 425, 424, 423, 422, 421, 420, 419, 418, + 417, 416, 415, 414, 413, 412, 411, 408, 404, 403, + 402, 400, 399, 398, 397, 396, 395, 394, 393, 392, + 391, 390, 359, 358, 357, 356, 355, 354, 350, 349, + 336, 335, 330, 318, 314, 313, 310, 304, 303, 295, + 294, 293, 292, 291, 290, 289, 288, 286, 285, 281, + 280, 279, 276, 274, 270, 269, 264, 263, 262, 261, + + 260, 258, 257, 252, 223, 222, 221, 220, 1066, 214, + 213, 212, 211, 210, 1066, 185, 168, 100, 93, 90, + 89, 85, 72, 1066, 3, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066 } ; -static yyconst flex_int16_t yy_chk[1709] = +static yyconst flex_int16_t yy_chk[1712] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -965,183 +968,184 @@ static yyconst flex_int16_t yy_chk[1709] = 1, 1, 1, 1, 1, 1, 5, 8, 5, 13, 19, 21, 28, 28, 22, 31, 22, 22, 22, 22, - 19, 153, 153, 23, 21, 23, 23, 23, 23, 172, + 19, 1073, 69, 23, 21, 23, 23, 23, 23, 173, 22, 34, 35, 33, 36, 38, 39, 33, 40, 23, - 41, 71, 172, 71, 31, 178, 33, 42, 43, 22, - 26, 26, 26, 336, 13, 336, 178, 8, 10, 22, + 41, 71, 173, 71, 31, 191, 33, 42, 43, 22, + 26, 26, 26, 191, 13, 154, 154, 8, 10, 22, 34, 35, 33, 36, 38, 39, 33, 40, 23, 41, 28, 10, 10, 10, 10, 33, 42, 43, 22, 45, - 1070, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 69, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 73, 45, 26, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 30, 44, 32, 46, - 47, 44, 57, 58, 30, 61, 30, 1041, 182, 59, - 50, 30, 32, 30, 182, 32, 85, 73, 61, 1035, - 61, 108, 58, 57, 57, 30, 44, 32, 46, 47, - 44, 57, 58, 30, 109, 30, 57, 51, 59, 50, - 30, 32, 30, 50, 32, 49, 50, 135, 59, 66, - 108, 51, 50, 49, 51, 49, 78, 78, 78, 78, - 49, 85, 49, 109, 135, 201, 51, 110, 66, 201, - 51, 190, 49, 49, 49, 54, 53, 51, 66, 190, - - 51, 52, 49, 51, 49, 52, 51, 111, 49, 49, - 49, 49, 1033, 53, 52, 53, 110, 53, 54, 53, + 47, 44, 57, 58, 30, 61, 30, 1044, 179, 59, + 50, 30, 32, 30, 1038, 32, 86, 73, 61, 179, + 61, 109, 58, 57, 57, 30, 44, 32, 46, 47, + 44, 57, 58, 30, 110, 30, 57, 51, 59, 50, + 30, 32, 30, 50, 32, 49, 50, 136, 59, 66, + 109, 51, 50, 49, 51, 49, 78, 78, 78, 78, + 49, 86, 49, 110, 136, 183, 51, 111, 66, 1036, + 51, 183, 49, 49, 49, 54, 53, 51, 66, 197, + + 51, 52, 49, 51, 49, 52, 51, 112, 49, 49, + 49, 49, 197, 53, 52, 53, 111, 53, 54, 53, 60, 54, 62, 53, 54, 53, 52, 54, 54, 55, - 52, 62, 64, 54, 52, 67, 111, 60, 1026, 112, - 52, 55, 195, 52, 113, 55, 65, 114, 62, 60, - 65, 62, 55, 195, 1025, 60, 115, 64, 55, 68, - 116, 64, 67, 118, 67, 245, 245, 67, 112, 185, - 573, 64, 187, 113, 119, 65, 114, 64, 185, 65, - 68, 187, 65, 65, 573, 115, 1023, 68, 68, 116, - 65, 65, 118, 120, 65, 65, 121, 68, 95, 95, - - 95, 95, 96, 119, 96, 96, 96, 96, 97, 122, - 97, 117, 95, 97, 97, 97, 97, 123, 96, 124, - 117, 125, 120, 126, 127, 121, 128, 129, 130, 131, - 132, 133, 137, 136, 140, 270, 130, 146, 122, 193, - 117, 95, 160, 270, 1012, 193, 123, 96, 124, 117, - 125, 157, 126, 127, 136, 128, 129, 130, 131, 132, - 133, 137, 136, 140, 137, 130, 146, 146, 149, 157, - 151, 160, 146, 157, 146, 170, 140, 149, 194, 173, - 157, 183, 176, 198, 1011, 160, 1009, 151, 189, 196, - 197, 1008, 194, 198, 183, 194, 189, 149, 149, 151, - - 149, 312, 196, 202, 170, 170, 149, 173, 173, 312, - 183, 176, 173, 176, 221, 186, 222, 189, 267, 197, - 173, 289, 267, 189, 189, 189, 202, 176, 176, 176, - 176, 186, 202, 186, 289, 223, 994, 186, 205, 205, - 205, 205, 186, 221, 186, 222, 224, 186, 225, 186, - 186, 212, 212, 212, 212, 213, 226, 213, 227, 228, - 213, 213, 213, 213, 223, 212, 214, 214, 214, 214, - 215, 215, 215, 215, 229, 224, 230, 225, 231, 232, - 233, 234, 235, 236, 237, 226, 238, 227, 228, 239, - 240, 241, 242, 243, 212, 244, 246, 247, 248, 262, - - 268, 281, 293, 229, 343, 230, 992, 231, 232, 233, - 234, 235, 236, 237, 315, 238, 359, 315, 239, 240, - 241, 242, 243, 360, 244, 246, 247, 248, 262, 268, - 281, 293, 268, 343, 357, 357, 357, 357, 358, 358, - 358, 358, 361, 362, 363, 359, 293, 364, 366, 367, - 368, 369, 360, 370, 372, 373, 374, 375, 376, 376, - 377, 378, 379, 380, 381, 382, 383, 383, 384, 385, - 398, 361, 362, 363, 991, 476, 364, 366, 367, 368, - 369, 989, 370, 372, 373, 374, 375, 489, 491, 377, - 378, 379, 380, 381, 382, 383, 470, 384, 385, 398, - - 470, 492, 495, 398, 476, 496, 497, 498, 499, 500, - 383, 501, 383, 503, 504, 504, 489, 491, 506, 508, - 509, 510, 511, 512, 383, 513, 514, 515, 988, 593, - 492, 495, 604, 605, 496, 497, 498, 499, 500, 383, - 501, 383, 503, 606, 607, 608, 608, 506, 508, 509, - 510, 511, 512, 564, 513, 514, 515, 571, 593, 564, - 504, 604, 605, 571, 609, 611, 612, 613, 615, 564, - 616, 618, 606, 607, 620, 621, 622, 623, 641, 641, - 697, 700, 702, 703, 703, 706, 697, 707, 707, 504, - 708, 709, 711, 609, 611, 612, 613, 615, 987, 616, - - 618, 712, 713, 620, 621, 622, 623, 714, 715, 776, - 700, 702, 777, 779, 706, 778, 778, 780, 781, 708, - 709, 711, 782, 785, 786, 786, 641, 704, 704, 787, - 712, 713, 783, 788, 972, 789, 714, 715, 776, 832, - 832, 777, 779, 784, 971, 790, 780, 781, 792, 783, - 784, 782, 785, 831, 833, 834, 778, 835, 787, 704, - 836, 783, 788, 704, 789, 704, 786, 838, 704, 704, - 837, 837, 784, 704, 790, 839, 840, 792, 783, 784, - 841, 842, 831, 833, 834, 778, 835, 843, 704, 836, - 844, 844, 704, 845, 704, 786, 838, 704, 704, 847, - - 848, 879, 704, 880, 839, 840, 876, 876, 881, 841, - 842, 877, 877, 882, 882, 883, 843, 884, 885, 886, - 887, 888, 845, 889, 889, 891, 892, 894, 847, 848, - 879, 913, 880, 912, 912, 914, 916, 881, 917, 918, - 894, 969, 919, 920, 883, 922, 884, 885, 886, 887, - 888, 923, 924, 889, 891, 892, 877, 882, 925, 926, - 913, 927, 947, 948, 914, 916, 949, 917, 918, 889, - 912, 919, 920, 950, 922, 951, 952, 953, 954, 957, - 923, 924, 889, 955, 955, 877, 882, 925, 926, 958, - 927, 947, 948, 959, 960, 949, 974, 975, 889, 912, - - 976, 977, 950, 978, 951, 952, 953, 954, 957, 979, - 980, 981, 982, 982, 983, 984, 985, 986, 958, 995, - 995, 996, 959, 960, 997, 974, 975, 999, 968, 976, - 977, 1001, 978, 1003, 1004, 1005, 1007, 1015, 979, 980, - 981, 1014, 1014, 983, 984, 985, 986, 1017, 1018, 1019, - 996, 965, 1020, 997, 1027, 1028, 999, 982, 1029, 1031, - 1001, 1032, 1003, 1004, 1005, 1007, 1015, 1036, 1037, 1038, - 1038, 1039, 1040, 1043, 1044, 1046, 1017, 1018, 1019, 1049, - 1014, 1020, 1050, 1027, 1028, 1051, 982, 1029, 1031, 1052, - 1032, 1045, 1045, 1054, 963, 1055, 1036, 1037, 962, 1056, - - 1039, 1040, 1043, 1044, 1046, 1057, 1058, 1059, 1049, 1014, - 1061, 1050, 961, 946, 1051, 945, 943, 941, 1052, 940, - 939, 938, 1054, 1045, 1055, 937, 936, 1045, 1056, 1045, - 932, 930, 929, 1045, 1057, 1058, 1059, 1045, 928, 1061, - 911, 910, 909, 908, 906, 905, 904, 903, 902, 901, - 900, 899, 1045, 898, 897, 896, 1045, 895, 1045, 893, - 874, 873, 1045, 871, 870, 869, 1045, 1064, 1064, 1064, - 1064, 1064, 1065, 1065, 868, 1065, 1065, 1066, 1066, 1066, - 1066, 1066, 1067, 1067, 1068, 1068, 1069, 866, 1069, 1069, - 1069, 864, 861, 860, 859, 858, 857, 856, 855, 853, - - 851, 850, 849, 829, 828, 825, 824, 822, 821, 820, - 818, 817, 816, 815, 813, 812, 810, 808, 807, 806, - 805, 804, 803, 802, 801, 799, 798, 796, 795, 794, - 773, 772, 771, 770, 769, 765, 764, 762, 761, 760, - 759, 758, 756, 754, 753, 752, 750, 749, 748, 746, - 745, 744, 743, 741, 740, 738, 737, 734, 733, 732, - 731, 725, 722, 721, 720, 719, 716, 699, 698, 696, - 695, 694, 693, 692, 691, 689, 688, 686, 685, 684, - 683, 682, 681, 679, 678, 677, 676, 675, 674, 673, - 672, 670, 668, 667, 666, 665, 663, 662, 661, 660, - - 659, 658, 657, 655, 654, 653, 651, 650, 648, 645, - 644, 642, 640, 636, 635, 634, 632, 631, 630, 628, - 627, 626, 603, 602, 599, 598, 596, 595, 594, 592, - 591, 590, 589, 588, 586, 585, 583, 582, 581, 580, - 578, 577, 576, 575, 574, 572, 570, 568, 567, 566, - 565, 563, 562, 560, 559, 558, 557, 556, 554, 553, - 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, - 542, 540, 539, 537, 536, 535, 534, 533, 532, 531, - 530, 529, 528, 527, 525, 524, 522, 521, 518, 517, - 488, 487, 486, 485, 484, 483, 482, 479, 478, 477, - - 475, 473, 472, 469, 467, 466, 465, 464, 463, 462, - 461, 460, 459, 458, 457, 456, 455, 454, 453, 452, - 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, - 441, 439, 438, 437, 436, 435, 434, 432, 431, 429, - 428, 427, 426, 425, 424, 423, 422, 421, 420, 419, - 417, 415, 414, 413, 412, 411, 410, 408, 407, 406, - 405, 404, 402, 401, 400, 399, 395, 393, 392, 391, - 390, 389, 388, 387, 356, 355, 354, 353, 351, 350, - 349, 348, 347, 346, 345, 344, 342, 341, 339, 338, - 337, 335, 334, 333, 331, 330, 329, 328, 327, 326, - - 325, 324, 323, 322, 321, 320, 319, 318, 316, 314, - 313, 311, 310, 309, 308, 307, 305, 304, 303, 302, - 301, 300, 299, 297, 296, 295, 294, 292, 291, 290, - 288, 287, 286, 284, 283, 282, 280, 279, 278, 277, - 276, 274, 273, 272, 271, 269, 266, 265, 263, 261, - 260, 259, 258, 257, 256, 255, 254, 251, 250, 249, - 211, 210, 209, 208, 204, 203, 200, 199, 192, 191, - 188, 184, 181, 179, 177, 175, 174, 169, 167, 166, - 165, 164, 163, 162, 161, 159, 158, 156, 155, 154, - 152, 150, 148, 147, 145, 144, 143, 142, 141, 139, - - 138, 134, 106, 105, 103, 100, 87, 84, 83, 82, - 81, 75, 69, 63, 56, 24, 20, 17, 16, 7, - 3, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, - - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063 + 52, 62, 64, 54, 52, 67, 112, 60, 1029, 113, + 52, 55, 196, 52, 114, 55, 65, 115, 62, 60, + 65, 62, 55, 196, 1028, 60, 116, 64, 55, 68, + 117, 64, 67, 119, 67, 1026, 202, 67, 113, 186, + 202, 64, 188, 114, 120, 65, 115, 64, 186, 65, + 68, 188, 65, 65, 339, 116, 339, 68, 68, 117, + 65, 65, 119, 121, 65, 65, 122, 68, 96, 96, + + 96, 96, 97, 120, 97, 97, 97, 97, 98, 123, + 98, 118, 96, 98, 98, 98, 98, 124, 97, 125, + 118, 126, 121, 127, 128, 122, 129, 130, 131, 132, + 133, 134, 138, 137, 141, 1015, 131, 147, 123, 194, + 118, 96, 161, 248, 248, 194, 124, 97, 125, 118, + 126, 158, 127, 128, 137, 129, 130, 131, 132, 133, + 134, 138, 137, 141, 138, 131, 147, 147, 150, 158, + 152, 161, 147, 158, 147, 171, 141, 150, 195, 174, + 158, 184, 177, 199, 1014, 161, 1012, 152, 190, 198, + 224, 1011, 195, 199, 184, 195, 190, 150, 150, 152, + + 150, 273, 997, 203, 171, 171, 150, 174, 174, 273, + 184, 177, 174, 177, 225, 187, 226, 190, 198, 224, + 174, 292, 576, 190, 190, 190, 203, 177, 177, 177, + 177, 187, 203, 187, 292, 227, 576, 187, 207, 207, + 207, 207, 187, 225, 187, 226, 228, 187, 229, 187, + 187, 215, 215, 215, 215, 216, 230, 216, 231, 232, + 216, 216, 216, 216, 227, 215, 217, 217, 217, 217, + 218, 218, 218, 218, 233, 228, 234, 229, 235, 236, + 237, 238, 239, 240, 241, 230, 242, 231, 232, 243, + 244, 245, 246, 247, 215, 249, 250, 251, 265, 271, + + 270, 284, 995, 233, 270, 234, 296, 235, 236, 237, + 238, 239, 240, 241, 318, 242, 346, 318, 243, 244, + 245, 246, 247, 362, 249, 250, 251, 265, 271, 315, + 284, 271, 363, 364, 365, 296, 366, 315, 360, 360, + 360, 360, 367, 369, 370, 346, 361, 361, 361, 361, + 296, 371, 362, 372, 373, 375, 376, 377, 378, 379, + 379, 363, 364, 365, 380, 366, 381, 382, 383, 384, + 385, 367, 369, 370, 386, 386, 387, 388, 401, 479, + 371, 492, 372, 373, 375, 376, 377, 378, 473, 994, + 494, 992, 473, 380, 495, 381, 382, 383, 384, 385, + + 498, 499, 500, 386, 501, 387, 388, 401, 479, 502, + 492, 401, 503, 504, 506, 507, 507, 509, 386, 494, + 386, 511, 512, 495, 513, 514, 515, 516, 517, 498, + 499, 500, 386, 501, 518, 596, 607, 608, 502, 574, + 609, 503, 504, 506, 610, 574, 509, 386, 612, 386, + 511, 512, 567, 513, 514, 515, 516, 517, 567, 611, + 611, 507, 614, 518, 596, 607, 608, 615, 567, 609, + 616, 618, 619, 610, 621, 623, 624, 612, 625, 626, + 644, 644, 700, 703, 705, 706, 706, 709, 700, 711, + 507, 614, 710, 710, 712, 714, 615, 715, 716, 616, + + 618, 619, 717, 621, 623, 624, 718, 625, 626, 779, + 780, 782, 703, 705, 781, 781, 709, 783, 711, 784, + 785, 991, 788, 712, 714, 790, 715, 716, 644, 707, + 707, 717, 990, 786, 791, 718, 975, 787, 779, 780, + 782, 789, 789, 792, 787, 793, 783, 795, 784, 785, + 786, 788, 834, 836, 790, 781, 835, 835, 837, 838, + 839, 707, 786, 791, 841, 707, 787, 707, 840, 840, + 707, 707, 792, 787, 793, 707, 795, 842, 843, 786, + 844, 834, 836, 789, 781, 845, 846, 837, 838, 839, + 707, 847, 847, 841, 707, 848, 707, 850, 851, 707, + + 707, 879, 879, 882, 707, 883, 842, 843, 884, 844, + 880, 880, 789, 886, 845, 846, 885, 885, 887, 888, + 889, 890, 891, 894, 848, 895, 850, 851, 892, 892, + 897, 974, 882, 916, 883, 915, 915, 884, 917, 919, + 920, 921, 886, 897, 922, 972, 923, 887, 888, 889, + 890, 891, 894, 925, 895, 880, 926, 927, 892, 928, + 885, 929, 916, 930, 950, 951, 952, 917, 919, 920, + 921, 953, 915, 922, 892, 923, 954, 955, 956, 957, + 958, 958, 925, 960, 880, 926, 927, 892, 928, 885, + 929, 961, 930, 950, 951, 952, 962, 963, 977, 978, + + 953, 915, 979, 892, 980, 954, 955, 956, 957, 981, + 982, 983, 960, 984, 985, 985, 986, 987, 988, 989, + 961, 998, 998, 999, 1000, 962, 963, 977, 978, 1002, + 971, 979, 1004, 980, 1006, 1007, 1008, 1010, 981, 982, + 983, 1018, 984, 1017, 1017, 986, 987, 988, 989, 1020, + 1021, 1022, 999, 1000, 1023, 1030, 1031, 1032, 1002, 985, + 1034, 1004, 1035, 1006, 1007, 1008, 1010, 1039, 1040, 1042, + 1018, 1041, 1041, 1043, 1046, 1047, 1048, 1048, 1020, 1021, + 1022, 1049, 1017, 1023, 1030, 1031, 1032, 1052, 985, 1034, + 1053, 1035, 1054, 968, 1055, 1057, 1039, 1040, 1042, 1058, + + 1059, 1060, 1043, 1046, 1047, 1061, 1062, 1064, 1048, 966, + 1049, 1017, 1048, 965, 1048, 964, 1052, 949, 1048, 1053, + 948, 1054, 1048, 1055, 1057, 946, 944, 943, 1058, 1059, + 1060, 942, 941, 940, 1061, 1062, 1064, 1048, 939, 935, + 933, 1048, 932, 1048, 931, 914, 913, 1048, 912, 911, + 909, 1048, 1067, 1067, 1067, 1067, 1067, 1068, 1068, 908, + 1068, 1068, 1069, 1069, 1069, 1069, 1069, 1070, 1070, 1071, + 1071, 1072, 907, 1072, 1072, 1072, 906, 905, 904, 903, + 902, 901, 900, 899, 898, 896, 877, 876, 874, 873, + 872, 871, 869, 867, 864, 863, 862, 861, 860, 859, + + 858, 856, 854, 853, 852, 832, 831, 828, 827, 825, + 824, 823, 821, 820, 819, 818, 816, 815, 813, 811, + 810, 809, 808, 807, 806, 805, 804, 802, 801, 799, + 798, 797, 776, 775, 774, 773, 772, 768, 767, 765, + 764, 763, 762, 761, 759, 757, 756, 755, 753, 752, + 751, 749, 748, 747, 746, 744, 743, 741, 740, 737, + 736, 735, 734, 728, 725, 724, 723, 722, 719, 702, + 701, 699, 698, 697, 696, 695, 694, 692, 691, 689, + 688, 687, 686, 685, 684, 682, 681, 680, 679, 678, + 677, 676, 675, 673, 671, 670, 669, 668, 666, 665, + + 664, 663, 662, 661, 660, 658, 657, 656, 654, 653, + 651, 648, 647, 645, 643, 639, 638, 637, 635, 634, + 633, 631, 630, 629, 606, 605, 602, 601, 599, 598, + 597, 595, 594, 593, 592, 591, 589, 588, 586, 585, + 584, 583, 581, 580, 579, 578, 577, 575, 573, 571, + 570, 569, 568, 566, 565, 563, 562, 561, 560, 559, + 557, 556, 555, 554, 553, 552, 551, 550, 549, 548, + 547, 546, 545, 543, 542, 540, 539, 538, 537, 536, + 535, 534, 533, 532, 531, 530, 528, 527, 525, 524, + 521, 520, 491, 490, 489, 488, 487, 486, 485, 482, + + 481, 480, 478, 476, 475, 472, 470, 469, 468, 467, + 466, 465, 464, 463, 462, 461, 460, 459, 458, 457, + 456, 455, 454, 453, 452, 451, 450, 449, 448, 447, + 446, 445, 444, 442, 441, 440, 439, 438, 437, 435, + 434, 432, 431, 430, 429, 428, 427, 426, 425, 424, + 423, 422, 420, 418, 417, 416, 415, 414, 413, 411, + 410, 409, 408, 407, 405, 404, 403, 402, 398, 396, + 395, 394, 393, 392, 391, 390, 359, 358, 357, 356, + 354, 353, 352, 351, 350, 349, 348, 347, 345, 344, + 342, 341, 340, 338, 337, 336, 334, 333, 332, 331, + + 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, + 319, 317, 316, 314, 313, 312, 311, 310, 308, 307, + 306, 305, 304, 303, 302, 300, 299, 298, 297, 295, + 294, 293, 291, 290, 289, 287, 286, 285, 283, 282, + 281, 280, 279, 277, 276, 275, 274, 272, 269, 268, + 266, 264, 263, 262, 261, 260, 259, 258, 257, 254, + 253, 252, 213, 212, 211, 210, 206, 204, 201, 200, + 193, 192, 189, 185, 182, 180, 178, 176, 175, 170, + 168, 167, 166, 165, 164, 163, 162, 160, 159, 157, + 156, 155, 153, 151, 149, 148, 146, 145, 144, 143, + + 142, 140, 139, 135, 107, 106, 104, 101, 88, 85, + 84, 83, 82, 81, 75, 63, 56, 24, 20, 17, + 16, 12, 7, 3, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066 } ; /* The intent behind this definition is that it'll catch @@ -1168,6 +1172,7 @@ static yyconst flex_int16_t yy_chk[1709] = * * History * + * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * obakhir 12-aug-2024 - Add bitwise operators and hexadecimal integers * bengsig 9-may-2024 - remove extra -= * bengsig 16-apr-2024 - -= @@ -1200,7 +1205,7 @@ static yyconst flex_int16_t yy_chk[1709] = * bengsig 24-feb-2020 - Access function * bengsig 22-aug-2019 - Creation */ -#line 51 "rwldilex.l" +#line 52 "rwldilex.l" #include "rwl.h" #include "rwldiprs.tab.h" @@ -1218,7 +1223,7 @@ static yyconst flex_int16_t yy_chk[1709] = #define RWL_IN_DILEX // make rwlscanstring.c do the right thing -#line 1222 "lex.rwlz.c" +#line 1227 "lex.rwlz.c" #define INITIAL 0 @@ -1491,14 +1496,14 @@ YY_DECL } { -#line 74 "rwldilex.l" +#line 75 "rwldilex.l" rwl_main *rwm = 0; // will be set using YY_USER_ACTION -#line 1502 "lex.rwlz.c" +#line 1507 "lex.rwlz.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1525,13 +1530,13 @@ YY_DECL while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1064 ) + if ( yy_current_state >= 1067 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 1622 ); + while ( yy_base[yy_current_state] != 1625 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1558,7 +1563,7 @@ YY_DECL case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 80 "rwldilex.l" +#line 81 "rwldilex.l" { // copy from rwllexer.l rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -1568,7 +1573,7 @@ YY_RULE_SETUP case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 86 "rwldilex.l" +#line 87 "rwldilex.l" { // Use this tag in vi: rwlscanstring #include "rwlscanstring.c" @@ -1576,12 +1581,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_Z_DOUBLE_CONST*/ case 3: -#line 93 "rwldilex.l" -case 4: #line 94 "rwldilex.l" +case 4: +#line 95 "rwldilex.l" case 5: YY_RULE_SETUP -#line 94 "rwldilex.l" +#line 95 "rwldilex.l" { // copy from rwllexer.l /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -1592,7 +1597,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_Z_INTEGER_CONST*/ case 6: YY_RULE_SETUP -#line 103 "rwldilex.l" +#line 104 "rwldilex.l" { // copy from rwllexer.l /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -1602,7 +1607,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 110 "rwldilex.l" +#line 111 "rwldilex.l" { /* Handle hexadecimal integer constants */ rwm->ival = rwlhex2ub8(rwm->rwlytext+2, sizeof(ub8)); @@ -1612,7 +1617,7 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 118 "rwldilex.l" +#line 119 "rwldilex.l" { # if RWL_OS==RWL_MACH rwm->ival = 1; @@ -1626,7 +1631,7 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 129 "rwldilex.l" +#line 130 "rwldilex.l" { # if RWL_OS==RWL_WINDOWS rwm->ival = 1; @@ -1640,7 +1645,7 @@ YY_RULE_SETUP YY_BREAK case 10: YY_RULE_SETUP -#line 140 "rwldilex.l" +#line 141 "rwldilex.l" { # if RWL_OS==RWL_SOLARIS rwm->ival = 1; @@ -1654,7 +1659,7 @@ YY_RULE_SETUP YY_BREAK case 11: YY_RULE_SETUP -#line 151 "rwldilex.l" +#line 152 "rwldilex.l" { # if RWL_OS==RWL_LINUX rwm->ival = 1; @@ -1667,406 +1672,410 @@ YY_RULE_SETUP } YY_BREAK case 12: -#line 163 "rwldilex.l" -case 13: #line 164 "rwldilex.l" -case 14: +case 13: #line 165 "rwldilex.l" -case 15: +case 14: #line 166 "rwldilex.l" -case 16: +case 15: #line 167 "rwldilex.l" -case 17: +case 16: #line 168 "rwldilex.l" -case 18: +case 17: #line 169 "rwldilex.l" -case 19: +case 18: #line 170 "rwldilex.l" -case 20: +case 19: #line 171 "rwldilex.l" -case 21: +case 20: #line 172 "rwldilex.l" -case 22: +case 21: #line 173 "rwldilex.l" -case 23: +case 22: #line 174 "rwldilex.l" -case 24: +case 23: #line 175 "rwldilex.l" -case 25: +case 24: #line 176 "rwldilex.l" -case 26: +case 25: #line 177 "rwldilex.l" -case 27: +case 26: #line 178 "rwldilex.l" -case 28: +case 27: #line 179 "rwldilex.l" -case 29: +case 28: #line 180 "rwldilex.l" -case 30: +case 29: #line 181 "rwldilex.l" -case 31: +case 30: #line 182 "rwldilex.l" -case 32: +case 31: #line 183 "rwldilex.l" -case 33: +case 32: #line 184 "rwldilex.l" -case 34: +case 33: #line 185 "rwldilex.l" -case 35: +case 34: #line 186 "rwldilex.l" -case 36: +case 35: #line 187 "rwldilex.l" -case 37: +case 36: #line 188 "rwldilex.l" -case 38: +case 37: #line 189 "rwldilex.l" -case 39: +case 38: #line 190 "rwldilex.l" -case 40: +case 39: #line 191 "rwldilex.l" -case 41: +case 40: #line 192 "rwldilex.l" -case 42: +case 41: #line 193 "rwldilex.l" -case 43: +case 42: #line 194 "rwldilex.l" -case 44: +case 43: #line 195 "rwldilex.l" -case 45: +case 44: #line 196 "rwldilex.l" -case 46: +case 45: #line 197 "rwldilex.l" -case 47: +case 46: #line 198 "rwldilex.l" -case 48: +case 47: #line 199 "rwldilex.l" -case 49: +case 48: #line 200 "rwldilex.l" -case 50: +case 49: #line 201 "rwldilex.l" -case 51: +case 50: #line 202 "rwldilex.l" -case 52: +case 51: #line 203 "rwldilex.l" -case 53: +case 52: #line 204 "rwldilex.l" -case 54: +case 53: #line 205 "rwldilex.l" -case 55: +case 54: #line 206 "rwldilex.l" -case 56: +case 55: #line 207 "rwldilex.l" -case 57: +case 56: #line 208 "rwldilex.l" -case 58: +case 57: #line 209 "rwldilex.l" -case 59: +case 58: #line 210 "rwldilex.l" -case 60: +case 59: #line 211 "rwldilex.l" -case 61: +case 60: #line 212 "rwldilex.l" -case 62: +case 61: #line 213 "rwldilex.l" -case 63: +case 62: #line 214 "rwldilex.l" -case 64: +case 63: #line 215 "rwldilex.l" -case 65: +case 64: #line 216 "rwldilex.l" -case 66: +case 65: #line 217 "rwldilex.l" -case 67: +case 66: #line 218 "rwldilex.l" -case 68: +case 67: #line 219 "rwldilex.l" -case 69: +case 68: #line 220 "rwldilex.l" -case 70: +case 69: #line 221 "rwldilex.l" -case 71: +case 70: #line 222 "rwldilex.l" -case 72: +case 71: #line 223 "rwldilex.l" -case 73: +case 72: #line 224 "rwldilex.l" -case 74: +case 73: #line 225 "rwldilex.l" -case 75: +case 74: #line 226 "rwldilex.l" -case 76: +case 75: #line 227 "rwldilex.l" -case 77: +case 76: #line 228 "rwldilex.l" -case 78: +case 77: #line 229 "rwldilex.l" -case 79: +case 78: #line 230 "rwldilex.l" -case 80: +case 79: #line 231 "rwldilex.l" -case 81: +case 80: #line 232 "rwldilex.l" -case 82: +case 81: #line 233 "rwldilex.l" -case 83: +case 82: #line 234 "rwldilex.l" -case 84: +case 83: #line 235 "rwldilex.l" -case 85: +case 84: #line 236 "rwldilex.l" -case 86: +case 85: #line 237 "rwldilex.l" -case 87: +case 86: #line 238 "rwldilex.l" -case 88: +case 87: #line 239 "rwldilex.l" -case 89: +case 88: #line 240 "rwldilex.l" -case 90: +case 89: #line 241 "rwldilex.l" -case 91: +case 90: #line 242 "rwldilex.l" -case 92: +case 91: #line 243 "rwldilex.l" -case 93: +case 92: #line 244 "rwldilex.l" -case 94: +case 93: #line 245 "rwldilex.l" -case 95: +case 94: #line 246 "rwldilex.l" -case 96: +case 95: #line 247 "rwldilex.l" -case 97: +case 96: #line 248 "rwldilex.l" -case 98: +case 97: #line 249 "rwldilex.l" -case 99: +case 98: #line 250 "rwldilex.l" -case 100: +case 99: #line 251 "rwldilex.l" -case 101: +case 100: #line 252 "rwldilex.l" -case 102: +case 101: #line 253 "rwldilex.l" -case 103: +case 102: #line 254 "rwldilex.l" -case 104: +case 103: #line 255 "rwldilex.l" -case 105: +case 104: #line 256 "rwldilex.l" -case 106: +case 105: #line 257 "rwldilex.l" -case 107: +case 106: #line 258 "rwldilex.l" -case 108: +case 107: #line 259 "rwldilex.l" -case 109: +case 108: #line 260 "rwldilex.l" -case 110: +case 109: #line 261 "rwldilex.l" -case 111: +case 110: #line 262 "rwldilex.l" -case 112: +case 111: #line 263 "rwldilex.l" -case 113: +case 112: #line 264 "rwldilex.l" -case 114: +case 113: #line 265 "rwldilex.l" -case 115: +case 114: #line 266 "rwldilex.l" -case 116: +case 115: #line 267 "rwldilex.l" -case 117: +case 116: #line 268 "rwldilex.l" -case 118: +case 117: #line 269 "rwldilex.l" -case 119: +case 118: #line 270 "rwldilex.l" -case 120: +case 119: #line 271 "rwldilex.l" -case 121: +case 120: #line 272 "rwldilex.l" -case 122: +case 121: #line 273 "rwldilex.l" -case 123: +case 122: #line 274 "rwldilex.l" -case 124: +case 123: #line 275 "rwldilex.l" -case 125: +case 124: #line 276 "rwldilex.l" -case 126: +case 125: #line 277 "rwldilex.l" -case 127: +case 126: #line 278 "rwldilex.l" -case 128: +case 127: #line 279 "rwldilex.l" -case 129: +case 128: #line 280 "rwldilex.l" -case 130: +case 129: #line 281 "rwldilex.l" -case 131: +case 130: #line 282 "rwldilex.l" -case 132: +case 131: #line 283 "rwldilex.l" -case 133: +case 132: #line 284 "rwldilex.l" -case 134: +case 133: #line 285 "rwldilex.l" -case 135: +case 134: #line 286 "rwldilex.l" -case 136: +case 135: #line 287 "rwldilex.l" -case 137: +case 136: #line 288 "rwldilex.l" -case 138: +case 137: #line 289 "rwldilex.l" -case 139: +case 138: #line 290 "rwldilex.l" -case 140: +case 139: #line 291 "rwldilex.l" -case 141: +case 140: #line 292 "rwldilex.l" -case 142: +case 141: #line 293 "rwldilex.l" -case 143: +case 142: #line 294 "rwldilex.l" -case 144: +case 143: #line 295 "rwldilex.l" -case 145: +case 144: #line 296 "rwldilex.l" -case 146: +case 145: #line 297 "rwldilex.l" -case 147: +case 146: #line 298 "rwldilex.l" -case 148: +case 147: #line 299 "rwldilex.l" -case 149: +case 148: #line 300 "rwldilex.l" -case 150: +case 149: #line 301 "rwldilex.l" -case 151: +case 150: #line 302 "rwldilex.l" -case 152: -/* rule 152 can match eol */ +case 151: #line 303 "rwldilex.l" -case 153: -/* rule 153 can match eol */ +case 152: #line 304 "rwldilex.l" +case 153: +#line 305 "rwldilex.l" case 154: /* rule 154 can match eol */ -#line 305 "rwldilex.l" +#line 306 "rwldilex.l" case 155: /* rule 155 can match eol */ -#line 306 "rwldilex.l" +#line 307 "rwldilex.l" case 156: /* rule 156 can match eol */ -#line 307 "rwldilex.l" +#line 308 "rwldilex.l" case 157: /* rule 157 can match eol */ -#line 308 "rwldilex.l" +#line 309 "rwldilex.l" case 158: /* rule 158 can match eol */ -#line 309 "rwldilex.l" +#line 310 "rwldilex.l" case 159: /* rule 159 can match eol */ -#line 310 "rwldilex.l" +#line 311 "rwldilex.l" case 160: /* rule 160 can match eol */ -#line 311 "rwldilex.l" +#line 312 "rwldilex.l" case 161: /* rule 161 can match eol */ -#line 312 "rwldilex.l" +#line 313 "rwldilex.l" case 162: /* rule 162 can match eol */ -#line 313 "rwldilex.l" +#line 314 "rwldilex.l" case 163: /* rule 163 can match eol */ -#line 314 "rwldilex.l" +#line 315 "rwldilex.l" case 164: /* rule 164 can match eol */ -#line 315 "rwldilex.l" +#line 316 "rwldilex.l" case 165: /* rule 165 can match eol */ -#line 316 "rwldilex.l" +#line 317 "rwldilex.l" case 166: /* rule 166 can match eol */ -#line 317 "rwldilex.l" +#line 318 "rwldilex.l" case 167: /* rule 167 can match eol */ -#line 318 "rwldilex.l" +#line 319 "rwldilex.l" case 168: /* rule 168 can match eol */ -#line 319 "rwldilex.l" +#line 320 "rwldilex.l" case 169: /* rule 169 can match eol */ -#line 320 "rwldilex.l" +#line 321 "rwldilex.l" case 170: /* rule 170 can match eol */ -#line 321 "rwldilex.l" +#line 322 "rwldilex.l" case 171: /* rule 171 can match eol */ -#line 322 "rwldilex.l" +#line 323 "rwldilex.l" case 172: /* rule 172 can match eol */ -#line 323 "rwldilex.l" +#line 324 "rwldilex.l" case 173: /* rule 173 can match eol */ -#line 324 "rwldilex.l" +#line 325 "rwldilex.l" case 174: /* rule 174 can match eol */ -#line 325 "rwldilex.l" +#line 326 "rwldilex.l" case 175: /* rule 175 can match eol */ -#line 326 "rwldilex.l" +#line 327 "rwldilex.l" case 176: /* rule 176 can match eol */ -#line 327 "rwldilex.l" +#line 328 "rwldilex.l" case 177: /* rule 177 can match eol */ -#line 328 "rwldilex.l" +#line 329 "rwldilex.l" case 178: /* rule 178 can match eol */ -#line 329 "rwldilex.l" +#line 330 "rwldilex.l" case 179: /* rule 179 can match eol */ -#line 330 "rwldilex.l" +#line 331 "rwldilex.l" case 180: /* rule 180 can match eol */ -#line 331 "rwldilex.l" +#line 332 "rwldilex.l" case 181: /* rule 181 can match eol */ -#line 332 "rwldilex.l" +#line 333 "rwldilex.l" case 182: /* rule 182 can match eol */ -#line 333 "rwldilex.l" +#line 334 "rwldilex.l" case 183: /* rule 183 can match eol */ -#line 334 "rwldilex.l" +#line 335 "rwldilex.l" case 184: /* rule 184 can match eol */ -#line 335 "rwldilex.l" +#line 336 "rwldilex.l" case 185: /* rule 185 can match eol */ -#line 336 "rwldilex.l" +#line 337 "rwldilex.l" case 186: /* rule 186 can match eol */ -#line 337 "rwldilex.l" +#line 338 "rwldilex.l" case 187: /* rule 187 can match eol */ -#line 338 "rwldilex.l" +#line 339 "rwldilex.l" case 188: /* rule 188 can match eol */ -#line 339 "rwldilex.l" +#line 340 "rwldilex.l" case 189: /* rule 189 can match eol */ -#line 340 "rwldilex.l" +#line 341 "rwldilex.l" case 190: /* rule 190 can match eol */ -#line 341 "rwldilex.l" +#line 342 "rwldilex.l" case 191: /* rule 191 can match eol */ +#line 343 "rwldilex.l" +case 192: +/* rule 192 can match eol */ +#line 344 "rwldilex.l" +case 193: +/* rule 193 can match eol */ YY_RULE_SETUP -#line 341 "rwldilex.l" +#line 344 "rwldilex.l" { // All of these cannot be used in $if() directive // but they should also not give a "variable not found" error @@ -2075,205 +2084,205 @@ YY_RULE_SETUP } YY_BREAK /*LEXTAG:RWL_Z_DATABASE*/ -case 192: +case 194: YY_RULE_SETUP -#line 350 "rwldilex.l" +#line 353 "rwldilex.l" return RWL_Z_DATABASE; YY_BREAK /*LEXTAG:RWL_Z_DEFAULT*/ -case 193: +case 195: YY_RULE_SETUP -#line 352 "rwldilex.l" +#line 355 "rwldilex.l" return RWL_Z_DEFAULT; YY_BREAK /*LEXTAG:RWL_Z_NULL*/ -case 194: +case 196: YY_RULE_SETUP -#line 354 "rwldilex.l" +#line 357 "rwldilex.l" return RWL_Z_NULL; YY_BREAK /*LEXTAG:RWL_Z_IS*/ -case 195: +case 197: YY_RULE_SETUP -#line 356 "rwldilex.l" +#line 359 "rwldilex.l" return RWL_Z_IS; YY_BREAK -case 196: +case 198: YY_RULE_SETUP -#line 357 "rwldilex.l" +#line 360 "rwldilex.l" return '+'; YY_BREAK -case 197: +case 199: YY_RULE_SETUP -#line 358 "rwldilex.l" +#line 361 "rwldilex.l" return '-'; YY_BREAK -case 198: +case 200: YY_RULE_SETUP -#line 359 "rwldilex.l" +#line 362 "rwldilex.l" return '*'; YY_BREAK -case 199: +case 201: YY_RULE_SETUP -#line 360 "rwldilex.l" +#line 363 "rwldilex.l" return '/'; YY_BREAK -case 200: +case 202: YY_RULE_SETUP -#line 361 "rwldilex.l" +#line 364 "rwldilex.l" return '%'; YY_BREAK -case 201: +case 203: YY_RULE_SETUP -#line 362 "rwldilex.l" +#line 365 "rwldilex.l" return '('; YY_BREAK -case 202: +case 204: YY_RULE_SETUP -#line 363 "rwldilex.l" +#line 366 "rwldilex.l" return ')'; YY_BREAK -case 203: +case 205: YY_RULE_SETUP -#line 364 "rwldilex.l" +#line 367 "rwldilex.l" return ','; YY_BREAK -case 204: +case 206: YY_RULE_SETUP -#line 365 "rwldilex.l" +#line 368 "rwldilex.l" return '='; YY_BREAK -case 205: +case 207: YY_RULE_SETUP -#line 366 "rwldilex.l" +#line 369 "rwldilex.l" return '<'; YY_BREAK -case 206: +case 208: YY_RULE_SETUP -#line 367 "rwldilex.l" +#line 370 "rwldilex.l" return '>'; YY_BREAK -case 207: +case 209: YY_RULE_SETUP -#line 368 "rwldilex.l" +#line 371 "rwldilex.l" return '!'; YY_BREAK -case 208: +case 210: YY_RULE_SETUP -#line 369 "rwldilex.l" +#line 372 "rwldilex.l" return '?'; YY_BREAK -case 209: +case 211: YY_RULE_SETUP -#line 370 "rwldilex.l" +#line 373 "rwldilex.l" return ':'; YY_BREAK -case 210: +case 212: YY_RULE_SETUP -#line 371 "rwldilex.l" +#line 374 "rwldilex.l" return ';'; YY_BREAK /*LEXTAG:RWL_Z_NOT*/ -case 211: +case 213: YY_RULE_SETUP -#line 373 "rwldilex.l" +#line 376 "rwldilex.l" return RWL_Z_NOT; YY_BREAK /*LEXTAG:RWL_Z_AND*/ -case 212: +case 214: YY_RULE_SETUP -#line 375 "rwldilex.l" +#line 378 "rwldilex.l" return RWL_Z_AND; YY_BREAK /*LEXTAG:RWL_Z_BETWEEN*/ -case 213: +case 215: YY_RULE_SETUP -#line 377 "rwldilex.l" +#line 380 "rwldilex.l" return RWL_Z_BETWEEN; YY_BREAK /*LEXTAG:RWL_Z_OR*/ -case 214: +case 216: YY_RULE_SETUP -#line 379 "rwldilex.l" +#line 382 "rwldilex.l" return RWL_Z_OR; YY_BREAK /*LEXTAG:RWL_Z_LESSEQ*/ -case 215: +case 217: YY_RULE_SETUP -#line 381 "rwldilex.l" +#line 384 "rwldilex.l" return RWL_Z_LESSEQ; YY_BREAK /*LEXTAG:RWL_Z_GREATEQ*/ -case 216: +case 218: YY_RULE_SETUP -#line 383 "rwldilex.l" +#line 386 "rwldilex.l" return RWL_Z_GREATEQ; YY_BREAK /*LEXTAG:RWL_Z_NOTEQ*/ -case 217: +case 219: YY_RULE_SETUP -#line 385 "rwldilex.l" +#line 388 "rwldilex.l" return RWL_Z_NOTEQ; YY_BREAK -case 218: +case 220: YY_RULE_SETUP -#line 386 "rwldilex.l" +#line 389 "rwldilex.l" return RWL_Z_NOTEQ; YY_BREAK /*LEXTAG:RWL_Z_CONCAT*/ -case 219: +case 221: YY_RULE_SETUP -#line 388 "rwldilex.l" +#line 391 "rwldilex.l" return RWL_Z_CONCAT; YY_BREAK -case 220: +case 222: YY_RULE_SETUP -#line 389 "rwldilex.l" +#line 392 "rwldilex.l" return '~'; YY_BREAK /*LEXTAG:RWL_Z_BITWISE_LEFT_SHIFT*/ -case 221: +case 223: YY_RULE_SETUP -#line 391 "rwldilex.l" +#line 394 "rwldilex.l" return RWL_Z_BITWISE_LEFT_SHIFT; YY_BREAK /*LEXTAG:RWL_Z_BITWISE_RIGHT_SHIFT*/ -case 222: +case 224: YY_RULE_SETUP -#line 393 "rwldilex.l" +#line 396 "rwldilex.l" return RWL_Z_BITWISE_RIGHT_SHIFT; YY_BREAK -case 223: +case 225: YY_RULE_SETUP -#line 394 "rwldilex.l" +#line 397 "rwldilex.l" return '&'; YY_BREAK -case 224: +case 226: YY_RULE_SETUP -#line 395 "rwldilex.l" +#line 398 "rwldilex.l" return '^'; YY_BREAK -case 225: +case 227: YY_RULE_SETUP -#line 396 "rwldilex.l" +#line 399 "rwldilex.l" return '|'; YY_BREAK /*LEXTAG:RWL_Z_DEFINED*/ -case 226: +case 228: YY_RULE_SETUP -#line 398 "rwldilex.l" +#line 401 "rwldilex.l" return RWL_Z_DEFINED; YY_BREAK /*LEXTAG:RWL_Z_ACCESS*/ -case 227: +case 229: YY_RULE_SETUP -#line 400 "rwldilex.l" +#line 403 "rwldilex.l" return RWL_Z_ACCESS; YY_BREAK /*LEXTAG:RWL_Z_IDENTIFIER*/ -case 228: +case 230: YY_RULE_SETUP -#line 403 "rwldilex.l" +#line 406 "rwldilex.l" { // Copy from normal /* previnam is used when the parser has been doing @@ -2286,9 +2295,9 @@ YY_RULE_SETUP return RWL_Z_IDENTIFIER; } YY_BREAK -case 229: +case 231: YY_RULE_SETUP -#line 415 "rwldilex.l" +#line 418 "rwldilex.l" { //rwm->previnam = rwm->inam; if ((ub4)rwlatoi(rwm->rwlytext+1) > rwm->posargs) @@ -2302,18 +2311,18 @@ YY_RULE_SETUP return RWL_Z_IDENTIFIER; } YY_BREAK -case 230: +case 232: YY_RULE_SETUP -#line 428 "rwldilex.l" +#line 431 "rwldilex.l" { //rwm->previnam = rwm->inam; rwm->zinam = rwlstrdup(rwm, rwm->rwlytext); return RWL_Z_IDENTIFIER; } YY_BREAK -case 231: +case 233: YY_RULE_SETUP -#line 434 "rwldilex.l" +#line 437 "rwldilex.l" { text *env = rwlgetenv(rwm->rwlytext+1); if (!env) @@ -2334,20 +2343,20 @@ YY_RULE_SETUP return RWL_Z_STRING_CONST; } YY_BREAK -case 232: +case 234: YY_RULE_SETUP -#line 454 "rwldilex.l" +#line 457 "rwldilex.l" /* nothing */ ; YY_BREAK -case 233: -/* rule 233 can match eol */ +case 235: +/* rule 235 can match eol */ YY_RULE_SETUP -#line 456 "rwldilex.l" +#line 459 "rwldilex.l" { rwm->loc.lineno++; } YY_BREAK -case 234: +case 236: YY_RULE_SETUP -#line 459 "rwldilex.l" +#line 462 "rwldilex.l" { // We never actually come here because comments are // allowed inside $if() directive /* just make gcc shut up about unput not being used */ @@ -2355,17 +2364,17 @@ YY_RULE_SETUP unput(0); } YY_BREAK -case 235: -/* rule 235 can match eol */ +case 237: +/* rule 237 can match eol */ YY_RULE_SETUP -#line 466 "rwldilex.l" +#line 469 "rwldilex.l" { // Attempt directive inside $if $then rwlerror(rwm, RWL_ERROR_NO_DIRECTIVE_DOLLARIF); } YY_BREAK -case 236: +case 238: YY_RULE_SETUP -#line 470 "rwldilex.l" +#line 473 "rwldilex.l" { // bad chars as in rwllexer if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -2380,12 +2389,12 @@ YY_RULE_SETUP rwlerror(rwm, RWL_ERROR_INVALID_CHARS_NONASCII_NOPOS, rwm->rwlytext[0]); } YY_BREAK -case 237: +case 239: YY_RULE_SETUP -#line 484 "rwldilex.l" +#line 487 "rwldilex.l" ECHO; YY_BREAK -#line 2389 "lex.rwlz.c" +#line 2398 "lex.rwlz.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2680,7 +2689,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1064 ) + if ( yy_current_state >= 1067 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; @@ -2709,11 +2718,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1064 ) + if ( yy_current_state >= 1067 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; - yy_is_jam = (yy_current_state == 1063); + yy_is_jam = (yy_current_state == 1066); (void)yyg; return yy_is_jam ? 0 : yy_current_state; @@ -3566,7 +3575,7 @@ void rwlzfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 484 "rwldilex.l" +#line 487 "rwldilex.l" diff --git a/src/rwl.h b/src/rwl.h index 4f48f218..87d11866 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 29-aug-2024 - rwldorxtosb8 macro * bengsig 28-aug-2024 - Add rwloeradd function * mkdash 12-aug-2024 - implement dbsec and ocisecond function @@ -657,6 +658,12 @@ struct rwl_xeqenv text slashconvert[RWL_PATH_MAX]; // used for converting slash to backslash sb4 clflagsvar; /* var# of i#clflags */ sb8 *pclflags; // and pointer to the actual value + // the variable i#clflags is a set of bits that can be set/cleared/tested in both + // generated code and in the rwloadsim executable. In the former, use RWL_CLFLAGS_VAR + // in the latter, use *xev->pclflags + // At present, only bit 0x1 is in use meaning a control loop is using queue every. +#define RWL_CLF_RWL_QUEUEEVERY 0x00000001 +#define RWL_CLF_CODE_QUEUEEVERY rwl_onep sb4 arrivetimevar; /* var# of everytuntil */ double *parrivetime; // and pointer ub8 dummyvar; @@ -1445,16 +1452,22 @@ enum rwl_stack_t , RWL_STACK_APP /* append assignment operator */ , RWL_STACK_ASNADD /* += assignment operator */ , RWL_STACK_ASNSUB /* -= assignment operator */ +, RWL_STACK_ASNBIS /* |= assignment operator */ +, RWL_STACK_ASNBIC /* &~= assignment operator */ #define RWL_STACK_IS_ASSIGN(x) \ ( RWL_STACK_ASN==(x) \ ||RWL_STACK_APP==(x) \ ||RWL_STACK_ASNSUB==(x) \ + ||RWL_STACK_ASNBIS==(x) \ + ||RWL_STACK_ASNBIC==(x) \ ||RWL_STACK_ASNADD==(x)) #define RWL_STACK_ASSIGN_TEXT(x) \ (RWL_STACK_APP==(x) ? "append" \ : (RWL_STACK_ASNADD==(x) ? "add-assign" \ - : (RWL_STACK_ASNSUB==(x) ? "sub-assign" \ - : "assignment" ))) + : (RWL_STACK_ASNSUB==(x) ? "subtract-assign" \ + : (RWL_STACK_ASNBIS==(x) ? "bit-set-assign" \ + : (RWL_STACK_ASNBIC==(x) ? "bit-clear-assign" \ + : "assignment" ))))) /* calculations */ , RWL_STACK_ADD /* add function */ , RWL_STACK_MUL /* multiply function */ @@ -1836,52 +1849,6 @@ extern void rwlexpreval(rwl_estack *, rwl_location *, rwl_xeqenv *, rwl_value *) extern void rwlexprprint(rwl_estack *, rwl_location *, rwl_xeqenv *, FILE *); extern void rwlexprdestroy(rwl_main *, rwl_estack *); -// The following two macros implement bit and bis on a variable -// given by the first argument for a bit given be the second argument -// The real implementation are these -// rwlexprbis: vvv += (vvv/bbb)%2 ? 0 : bbb -// rwlexprbic: vvv -= (vvv/bbb)%2 ? bbb : 0 -// note that bbb must be rwl_onep, rwl_twop, rwl_fourp, etc -// -// They can be much simplified once we get bitwise operators -#define rwlexprbis(rwm, vvv, bbb) \ - /* vvv */ rwlexprpush(rwm, vvv, RWL_STACK_VAR); \ - /* bbb */ rwlexprpush(rwm, bbb, RWL_STACK_NUM); \ - /* / */ rwlexprpush0(rwm, RWL_STACK_DIV); \ - /* 2 */ rwlexprpush(rwm, rwl_twop, RWL_STACK_NUM); \ - /* % */ rwlexprpush0(rwm, RWL_STACK_MOD); \ - rwm->skipdep++; \ - rwm->ptail->branchtype = RWL_EXP_CONDBRANCH1; \ - rwm->ptail->skipnxt = rwm->skipdep; \ - /* 0 */ rwlexprpush(rwm, rwl_zerop, RWL_STACK_NUM); \ - rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; \ - rwm->ptail->skipnxt = rwm->skipdep; \ - /* bbb */ rwlexprpush(rwm, bbb, RWL_STACK_NUM); \ - /* ?: */ rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, \ - rwm->skipdep); \ - /*vvv+=*/ rwlexprpush(rwm, vvv, RWL_STACK_ASNADD); \ - rwm->skipdep-- - -#define rwlexprbic(rwm, vvv, bbb) \ - /* vvv */ rwlexprpush(rwm, vvv, RWL_STACK_VAR); \ - /* bbb */ rwlexprpush(rwm, bbb, RWL_STACK_NUM); \ - /* / */ rwlexprpush0(rwm, RWL_STACK_DIV); \ - /* 2 */ rwlexprpush(rwm, rwl_twop, RWL_STACK_NUM); \ - /* % */ rwlexprpush0(rwm, RWL_STACK_MOD); \ - rwm->skipdep++; \ - rwm->ptail->branchtype = RWL_EXP_CONDBRANCH1; \ - rwm->ptail->skipnxt = rwm->skipdep; \ - /* bbb */ rwlexprpush(rwm, bbb, RWL_STACK_NUM); \ - rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; \ - rwm->ptail->skipnxt = rwm->skipdep; \ - /* 0 */ rwlexprpush(rwm, rwl_zerop, RWL_STACK_NUM); \ - /* ?: */ rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, \ - rwm->skipdep); \ - /*vvv-=*/ rwlexprpush(rwm, vvv, RWL_STACK_ASNSUB); \ - rwm->skipdep-- - - - extern void rwlprintallvars(rwl_main *); extern void rwlprintvar(rwl_xeqenv *, ub4); extern void rwlvitags(rwl_main *); diff --git a/src/rwlcodeadd.c b/src/rwlcodeadd.c index 84131430..2952a2f7 100644 --- a/src/rwlcodeadd.c +++ b/src/rwlcodeadd.c @@ -13,6 +13,7 @@ * * History * + * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 17-apr-2024 - nostatistics statement * bengsig 16-apr-2024 - bit operation on clflags, -= * bengsig 7-mar-2024 - a few lob changes @@ -806,7 +807,8 @@ void rwlloophead(rwl_main *rwm) /* bis(clflags,1) */ rwlexprbeg(rwm); - rwlexprbis(rwm, RWL_CLFLAGS_VAR, rwl_onep); + rwlexprpush(rwm, RWL_CLF_CODE_QUEUEEVERY, RWL_STACK_NUM); + rwlexprpush(rwm, RWL_CLFLAGS_VAR, RWL_STACK_ASNBIS); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } @@ -925,7 +927,8 @@ void rwlloopfinish(rwl_main *rwm) { /* bic(clflags,1) */ rwlexprbeg(rwm); - rwlexprbic(rwm, RWL_CLFLAGS_VAR, rwl_onep); + rwlexprpush(rwm, RWL_CLF_CODE_QUEUEEVERY, RWL_STACK_NUM); + rwlexprpush(rwm, RWL_CLFLAGS_VAR, RWL_STACK_ASNBIC); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } diff --git a/src/rwlcoderun.c b/src/rwlcoderun.c index 6ed7d02b..17f4a39c 100644 --- a/src/rwlcoderun.c +++ b/src/rwlcoderun.c @@ -14,6 +14,7 @@ * * History * + * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 4-jun-2024 - $ora01013:break * bengsig 17-apr-2024 - nostatistics statement * bengsig 21-mar-2024 - reconnect database fix @@ -338,7 +339,7 @@ void *rwlcoderun ( rwl_xeqenv *xev) // when the procedure starts // wattim = 0.0; tgotdb = rwlclock(xev, &xev->rwm->code[pc].cloc); - if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && bit(*xev->pclflags,0x1)) + if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && bit(*xev->pclflags,RWL_CLF_RWL_QUEUEEVERY)) // Set the start of the procedure to the time we really // would have wanted it to start if we have // $queueeverytime:on in effect @@ -381,7 +382,7 @@ void *rwlcoderun ( rwl_xeqenv *xev) && !bit(xev->tflags, RWL_P_ISMAIN) ) { - if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && bit(*xev->pclflags,0x1)) + if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && bit(*xev->pclflags,RWL_CLF_RWL_QUEUEEVERY)) // Set the start of the procedure to the time we really // would have wanted it to start if we have // $queueeverytime:on in effect @@ -451,7 +452,7 @@ void *rwlcoderun ( rwl_xeqenv *xev) // When $queueeverytimes:on is in effect, we adjust the time // when we say we got the database although it is possibly only // a tiny bit more than what it was - if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && bit(*xev->pclflags,0x1)) + if (bit(xev->rwm->m3flags, RWL_P3_QETIMES) && bit(*xev->pclflags,RWL_CLF_RWL_QUEUEEVERY)) tgotdb = rwlclock(xev, &xev->rwm->code[pc].cloc); else tgotdb = thead; diff --git a/src/rwldilex.l b/src/rwldilex.l index 72ebcef7..366f39b8 100644 --- a/src/rwldilex.l +++ b/src/rwldilex.l @@ -14,6 +14,7 @@ * * History * + * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * obakhir 12-aug-2024 - Add bitwise operators and hexadecimal integers * bengsig 9-may-2024 - remove extra -= * bengsig 16-apr-2024 - -= @@ -285,6 +286,8 @@ "<|=" | "+=" | "-=" | +"|=" | +"&~=" | "sql_id" | "serverrelease" | "ceil" | diff --git a/src/rwlexprcomp.c b/src/rwlexprcomp.c index af5158bb..41bf44f7 100644 --- a/src/rwlexprcomp.c +++ b/src/rwlexprcomp.c @@ -19,7 +19,8 @@ * * History * - * mkdash 12-aug-2024 - implement dbsec and ocisecond function + * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments + * mkdash 12-aug-2024 - implement dbseconds and ociseconds functions * obakhir 7-aug-2024 - Add bitwise operators * bengsig 16-apr-2024 - -= * bengsig 27-feb-2024 - winslashf2b functions @@ -228,6 +229,8 @@ void rwlexprpush2(rwl_main *rwm, const void *elem, rwl_stack_t etype, ub4 arg2) case RWL_STACK_VAR: case RWL_STACK_ASN: case RWL_STACK_ASNADD: + case RWL_STACK_ASNBIS: + case RWL_STACK_ASNBIC: case RWL_STACK_ASNSUB: case RWL_STACK_APP: case RWL_STACK_ASNINT: @@ -250,8 +253,19 @@ void rwlexprpush2(rwl_main *rwm, const void *elem, rwl_stack_t etype, ub4 arg2) */ switch (rwm->mxq->evar[varloc].vtype) /* of right type */ { - case RWL_TYPE_INT: case RWL_TYPE_DBL: + if ((RWL_STACK_ASNBIC == etype || RWL_STACK_ASNBIS == etype) + && !bit(rwm->mxq->evar[varloc].flags,RWL_IDENT_INTERNAL)) + { + /* cannot bis/bic double */ + rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2 + , rwm->mxq->evar[varloc].stype + , rwm->mxq->evar[varloc].vname + , RWL_STACK_ASSIGN_TEXT(etype)); + etype = RWL_STACK_NOV; + } + // FALLTHROUGH + case RWL_TYPE_INT: if (0!=arg2 && !bit(rwm->mxq->evar[varloc].flags,RWL_IDENT_INTERNAL)) { /* cannot file assign to integer or double */ @@ -270,7 +284,7 @@ void rwlexprpush2(rwl_main *rwm, const void *elem, rwl_stack_t etype, ub4 arg2) , RWL_STACK_ASSIGN_TEXT(etype)); etype = RWL_STACK_NOV; } - if ((RWL_STACK_ASN == etype || RWL_STACK_ASNADD == etype || RWL_STACK_ASNSUB == etype) + if ((RWL_STACK_IS_ASSIGN(etype)) && bit(rwm->mxq->evar[varloc].flags,RWL_IDENT_INTERNAL)) { /* cannot assign to internally created variables */ @@ -290,10 +304,11 @@ void rwlexprpush2(rwl_main *rwm, const void *elem, rwl_stack_t etype, ub4 arg2) , "file-assign"); etype = RWL_STACK_NOV; } - if ((RWL_STACK_ASNADD==etype || RWL_STACK_ASNSUB==etype) + if ((RWL_STACK_ASNADD==etype || RWL_STACK_ASNSUB==etype + || RWL_STACK_ASNBIS==etype || RWL_STACK_ASNBIC==etype) && !bit(rwm->mxq->evar[varloc].flags,RWL_IDENT_INTERNAL)) { - /* cannot += or -= to string */ + /* cannot += -= |= &~=to string */ rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2 , rwm->mxq->evar[varloc].stype , rwm->mxq->evar[varloc].vname @@ -600,6 +615,8 @@ void rwlexprpush2(rwl_main *rwm, const void *elem, rwl_stack_t etype, ub4 arg2) case RWL_STACK_ASNINT: case RWL_STACK_ASNADD: /* += variable */ case RWL_STACK_ASNSUB: /* -= variable */ + case RWL_STACK_ASNBIS: /* |= variable */ + case RWL_STACK_ASNBIC: /* &~= variable */ case RWL_STACK_VAR: /* read a variable */ case RWL_STACK_SQL_ID: /* get the sql_id of a sql */ case RWL_STACK_ACTIVESESSIONCOUNT: /* get the count of sessions in a database */ @@ -700,6 +717,8 @@ rwl_estack *rwlexprfinish(rwl_main *rwm) /* fall thru */ case RWL_STACK_ASNADD: case RWL_STACK_ASNSUB: + case RWL_STACK_ASNBIS: + case RWL_STACK_ASNBIC: case RWL_STACK_APP: estk[i].esname = pstk->psvar.vname; @@ -827,6 +846,8 @@ rwl_estack *rwlexprfinish(rwl_main *rwm) case RWL_STACK_ASN: case RWL_STACK_ASNADD: case RWL_STACK_ASNSUB: + case RWL_STACK_ASNBIS: + case RWL_STACK_ASNBIC: case RWL_STACK_ASNINT: estk[i].evaltype = tstk[i] = rwm->mxq->evar[estk[i].esvar].vtype; break; diff --git a/src/rwlexpreval.c b/src/rwlexpreval.c index d8b319d8..e540879f 100644 --- a/src/rwlexpreval.c +++ b/src/rwlexpreval.c @@ -194,6 +194,8 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v case RWL_STACK_APP: case RWL_STACK_ASNADD: case RWL_STACK_ASNSUB: + case RWL_STACK_ASNBIS: + case RWL_STACK_ASNBIC: case RWL_STACK_ASNINT: //vv = &xev->evar[stk[explen].esvar]; vv = rwlidgetmx(xev, loc, stk[explen].esvar); @@ -387,6 +389,16 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v fprintf(stderr," ASNSUB:%s", vv->vname); break; break; + case RWL_STACK_ASNBIS: + vv = &xev->evar[stk[j].esvar]; + fprintf(stderr," ASNBIS:%s", vv->vname); + break; + break; + case RWL_STACK_ASNBIC: + vv = &xev->evar[stk[j].esvar]; + fprintf(stderr," ASNBIC:%s", vv->vname); + break; + break; case RWL_STACK_ASN: case RWL_STACK_ASNINT: vv = &xev->evar[stk[j].esvar]; @@ -919,6 +931,8 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v case RWL_STACK_ASN: case RWL_STACK_ASNADD: case RWL_STACK_ASNSUB: + case RWL_STACK_ASNBIS: + case RWL_STACK_ASNBIC: case RWL_STACK_ASNINT: if (i<1) goto stack1short; vv = rwlidgetmx(xev,loc,stk[i].esvar); @@ -1220,6 +1234,16 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v nn->dval = (double) nn->ival; } } + else if (RWL_STACK_ASNBIS == stk[i].elemtype) + { + nn->ival |= cnp->ival; + nn->dval = (double) nn->ival; + } + else if (RWL_STACK_ASNBIC == stk[i].elemtype) + { + nn->ival &= ~cnp->ival; + nn->dval = (double) nn->ival; + } else { nn->dval = cnp->dval; @@ -1248,6 +1272,8 @@ void rwlexpreval ( rwl_estack *stk , rwl_location *loc , rwl_xeqenv *xev , rwl_v { if (RWL_STACK_ASNADD == stk[i].elemtype || RWL_STACK_ASNSUB == stk[i].elemtype + || RWL_STACK_ASNBIS == stk[i].elemtype + || RWL_STACK_ASNBIC == stk[i].elemtype || RWL_TYPE_INT == stk[i].evaltype || RWL_TYPE_DBL == stk[i].evaltype) { diff --git a/src/rwllexer.l b/src/rwllexer.l index 86cd970e..7ae5b9f1 100644 --- a/src/rwllexer.l +++ b/src/rwllexer.l @@ -11,6 +11,7 @@ * * History * + * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 29-aug-2024 - string->integer can be hex * obakhir 9-aug-2024 - Add hexadecimal integers * obakhir 7-aug-2024 - Add bitwise operators @@ -665,8 +666,12 @@ ":=" if (!rwm->ifdirbit) return RWL_T_ASSIGN; /*LEXTAG:RWL_T_ASNADD*/ "+=" if (!rwm->ifdirbit) return RWL_T_ASNADD; - /*LEXTAG:RWL_T_ASNSUB*/ + /*LEXTAG:RWL_T_ASBSUB*/ "-=" if (!rwm->ifdirbit) return RWL_T_ASNSUB; + /*LEXTAG:RWL_T_ASNBIC*/ +"|=" if (!rwm->ifdirbit) return RWL_T_ASNBIS; + /*LEXTAG:RWL_T_CONBIS*/ +"&~=" if (!rwm->ifdirbit) return RWL_T_ASNBIC; /*LEXTAG:RWL_T_CONCAT*/ "||" if (!rwm->ifdirbit) return RWL_T_CONCAT; /*LEXTAG:RWL_T_PIPETO*/ diff --git a/src/rwlparser.tab.c b/src/rwlparser.tab.c index 71823b7d..48728d58 100644 --- a/src/rwlparser.tab.c +++ b/src/rwlparser.tab.c @@ -69,7 +69,7 @@ /* Copy the first part of user declarations. */ -#line 158 "rwlparser.y" /* yacc.c:339 */ +#line 159 "rwlparser.y" /* yacc.c:339 */ #include "rwl.h" @@ -98,6 +98,8 @@ static const rwl_yt2txt rwlyt2[] = , {"RWL_T_APPEND", "'||='"} , {"RWL_T_ARRAY", "'array'"} , {"RWL_T_ASNADD", "'+='"} + , {"RWL_T_ASNBIC", "'&~='"} + , {"RWL_T_ASNBIS", "'|='"} , {"RWL_T_ASNSUB", "'-='"} , {"RWL_T_ASSIGN", "':='"} , {"RWL_T_AT", "'at'"} @@ -368,7 +370,7 @@ static void rwlyerror(rwl_main *rwm, const char *in) rwlcomp(rwlparser_y, RWL_GCCFLAGS) -#line 372 "rwlparser.tab.c" /* yacc.c:339 */ +#line 374 "rwlparser.tab.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -572,7 +574,9 @@ extern int rwlydebug; RWL_T_WINSLASHF2BB = 416, RWL_T_BITWISE_LEFT_SHIFT = 417, RWL_T_BITWISE_RIGHT_SHIFT = 418, - RWL_T_UMINUS = 419 + RWL_T_ASNBIS = 419, + RWL_T_ASNBIC = 420, + RWL_T_UMINUS = 421 }; #endif @@ -581,7 +585,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 473 "rwlparser.y" /* yacc.c:355 */ +#line 476 "rwlparser.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -595,7 +599,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 599 "rwlparser.tab.c" /* yacc.c:355 */ +#line 603 "rwlparser.tab.c" /* yacc.c:355 */ }; typedef union RWLYSTYPE RWLYSTYPE; @@ -611,7 +615,7 @@ int rwlyparse (rwl_main *rwm); /* Copy the second part of user declarations. */ -#line 615 "rwlparser.tab.c" /* yacc.c:358 */ +#line 619 "rwlparser.tab.c" /* yacc.c:358 */ #ifdef short # undef short @@ -853,21 +857,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 5778 +#define YYLAST 5575 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 184 +#define YYNTOKENS 186 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 294 /* YYNRULES -- Number of rules. */ -#define YYNRULES 674 +#define YYNRULES 676 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1238 +#define YYNSTATES 1240 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 419 +#define YYMAXUTOK 421 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -879,16 +883,16 @@ 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, 175, 2, 2, 2, 174, 166, 2, - 179, 180, 172, 171, 181, 170, 2, 173, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 183, 178, - 168, 167, 169, 182, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 177, 2, 2, 2, 176, 168, 2, + 181, 182, 174, 173, 183, 172, 2, 175, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 185, 180, + 170, 169, 171, 184, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 165, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 167, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 164, 2, 176, 2, 2, 2, + 2, 2, 2, 2, 166, 2, 178, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -917,81 +921,82 @@ static const yytype_uint8 yytranslate[] = 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 177 + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 179 }; #if RWLYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 535, 535, 542, 546, 548, 547, 563, 564, 565, - 567, 570, 577, 579, 596, 595, 605, 604, 613, 612, - 622, 621, 631, 636, 645, 646, 650, 649, 656, 661, - 669, 670, 674, 673, 681, 680, 753, 758, 759, 771, - 772, 775, 776, 779, 789, 794, 802, 815, 846, 857, - 869, 868, 884, 894, 893, 910, 920, 930, 940, 953, - 954, 957, 965, 975, 986, 1001, 1002, 1014, 1016, 1015, - 1028, 1029, 1035, 1034, 1062, 1069, 1076, 1077, 1081, 1082, - 1085, 1098, 1097, 1149, 1161, 1160, 1181, 1186, 1193, 1198, - 1205, 1290, 1291, 1295, 1304, 1305, 1308, 1309, 1310, 1314, - 1315, 1319, 1347, 1349, 1351, 1353, 1368, 1373, 1378, 1386, - 1387, 1389, 1391, 1410, 1412, 1411, 1427, 1426, 1442, 1441, - 1457, 1500, 1514, 1528, 1542, 1554, 1558, 1559, 1560, 1561, - 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, - 1572, 1574, 1576, 1578, 1580, 1581, 1584, 1587, 1588, 1592, - 1597, 1598, 1599, 1601, 1603, 1604, 1606, 1617, 1628, 1632, - 1638, 1642, 1648, 1652, 1658, 1663, 1667, 1675, 1673, 1700, - 1704, 1708, 1714, 1720, 1724, 1725, 1729, 1730, 1734, 1739, - 1740, 1741, 1746, 1747, 1748, 1749, 1750, 1754, 1755, 1756, - 1757, 1761, 1762, 1763, 1766, 1767, 1768, 1772, 1773, 1774, - 1775, 1776, 1777, 1781, 1782, 1783, 1787, 1788, 1792, 1793, - 1797, 1798, 1802, 1804, 1803, 1821, 1823, 1822, 1838, 1840, - 1849, 1839, 1864, 1865, 1869, 1870, 1880, 1881, 1885, 1893, - 1896, 1895, 1902, 1905, 1904, 1908, 1910, 1912, 1914, 1917, - 1923, 1952, 1967, 1980, 1982, 1983, 1987, 1989, 1993, 1995, - 2000, 1999, 2006, 2005, 2017, 2022, 2021, 2029, 2033, 2057, - 2083, 2081, 2109, 2107, 2217, 2226, 2225, 2229, 2228, 2233, - 2239, 2238, 2248, 2247, 2256, 2269, 2274, 2268, 2302, 2310, - 2315, 2309, 2344, 2351, 2367, 2366, 2379, 2395, 2406, 2412, - 2418, 2430, 2442, 2452, 2462, 2461, 2474, 2480, 2478, 2596, - 2603, 2619, 2621, 2623, 2623, 2624, 2627, 2629, 2631, 2628, - 2633, 2637, 2636, 2751, 2784, 2792, 2817, 2791, 2868, 2869, - 2870, 2871, 2873, 2874, 2882, 2883, 2891, 2892, 2901, 2904, - 2903, 2912, 2914, 2922, 2930, 2939, 2947, 2949, 2956, 2957, - 2968, 3004, 3041, 3082, 3099, 3081, 3140, 3147, 3154, 3153, - 3185, 3186, 3194, 3193, 3241, 3243, 3242, 3252, 3403, 3402, - 3550, 3556, 3559, 3575, 3579, 3583, 3590, 3591, 3595, 3595, - 3609, 3609, 3625, 3625, 3641, 3641, 3655, 3655, 3686, 3687, - 3688, 3691, 3697, 3696, 3706, 3705, 3723, 3722, 3770, 3785, - 3794, 3769, 3831, 3839, 3840, 3840, 3853, 3852, 3859, 3860, - 3861, 3867, 3868, 3872, 3876, 3884, 3888, 3892, 3900, 3901, - 3907, 3913, 3915, 3918, 3919, 3924, 3923, 4025, 4027, 4026, - 4081, 4085, 4089, 4090, 4094, 4109, 4118, 4133, 4142, 4146, - 4152, 4169, 4176, 4186, 4187, 4188, 4192, 4193, 4209, 4219, - 4225, 4233, 4239, 4247, 4253, 4261, 4266, 4273, 4274, 4275, - 4279, 4280, 4279, 4290, 4294, 4295, 4294, 4304, 4311, 4312, - 4315, 4315, 4396, 4394, 4408, 4485, 4582, 4583, 4587, 4588, - 4591, 4592, 4595, 4596, 4599, 4603, 4607, 4611, 4630, 4636, - 4638, 4641, 4642, 4651, 4652, 4657, 4656, 4665, 4675, 4676, - 4680, 4680, 4682, 4681, 4690, 4689, 4693, 4700, 4701, 4705, - 4705, 4707, 4706, 4713, 4712, 4716, 4725, 4821, 4826, 4831, - 4832, 4835, 4852, 4869, 4886, 4909, 4909, 4940, 4961, 4961, - 4984, 4983, 4999, 4998, 5014, 5013, 5030, 5031, 5034, 5036, - 5034, 5090, 5121, 5120, 5157, 5158, 5166, 5165, 5189, 5190, - 5194, 5193, 5232, 5231, 5254, 5254, 5281, 5282, 5285, 5306, - 5328, 5352, 5357, 5365, 5366, 5366, 5370, 5431, 5466, 5481, - 5524, 5533, 5534, 5542, 5543, 5544, 5545, 5546, 5547, 5550, - 5551, 5552, 5553, 5560, 5567, 5558, 5593, 5593, 5606, 5619, - 5620, 5624, 5637, 5638, 5645, 5650, 5657, 5658, 5659, 5664, - 5665, 5666, 5671, 5672, 5673, 5678, 5679, 5680, 5685, 5690, - 5691, 5702, 5713, 5724, 5728, 5735, 5736, 5793, 5799, 5798, - 5886, 5885, 5929, 5937, 5939, 5943, 5947, 5936, 5989, 5998, - 6002, 6009, 6011, 6015, 6008, 6053, 6063, 6065, 6069, 6062, - 6107, 6116, 6117, 6120, 6163, 6172, 6198, 6197, 6228, 6234, - 6235, 6238, 6239, 6243, 6248, 6273, 6282, 6334, 6359, 6387, - 6242, 6395, 6396, 6397, 6405, 6406, 6414, 6432, 6413, 6436, - 6440, 6441, 6448, 6449, 6450, 6456, 6457, 6458, 6463, 6464, - 6465, 6466, 6467, 6468, 6469 + 0, 538, 538, 545, 549, 551, 550, 566, 567, 568, + 570, 573, 580, 582, 599, 598, 608, 607, 616, 615, + 625, 624, 634, 639, 648, 649, 653, 652, 659, 664, + 672, 673, 677, 676, 684, 683, 756, 761, 762, 774, + 775, 778, 779, 782, 792, 797, 805, 818, 849, 860, + 872, 871, 887, 897, 896, 913, 923, 933, 943, 956, + 957, 960, 968, 978, 989, 1004, 1005, 1017, 1019, 1018, + 1031, 1032, 1038, 1037, 1065, 1072, 1079, 1080, 1084, 1085, + 1088, 1101, 1100, 1152, 1164, 1163, 1184, 1189, 1196, 1201, + 1208, 1293, 1294, 1298, 1307, 1308, 1311, 1312, 1313, 1317, + 1318, 1322, 1350, 1352, 1354, 1356, 1371, 1376, 1381, 1389, + 1390, 1392, 1394, 1413, 1415, 1414, 1430, 1429, 1445, 1444, + 1460, 1503, 1517, 1531, 1545, 1557, 1561, 1562, 1563, 1564, + 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, + 1575, 1577, 1579, 1581, 1583, 1584, 1587, 1590, 1591, 1595, + 1600, 1601, 1602, 1604, 1606, 1607, 1609, 1620, 1631, 1635, + 1641, 1645, 1651, 1655, 1661, 1666, 1670, 1678, 1676, 1703, + 1707, 1711, 1717, 1723, 1727, 1728, 1732, 1733, 1737, 1742, + 1743, 1744, 1749, 1750, 1751, 1752, 1753, 1757, 1758, 1759, + 1760, 1764, 1765, 1766, 1769, 1770, 1771, 1775, 1776, 1777, + 1778, 1779, 1780, 1784, 1785, 1786, 1790, 1791, 1795, 1796, + 1800, 1801, 1805, 1807, 1806, 1824, 1826, 1825, 1841, 1843, + 1852, 1842, 1867, 1868, 1872, 1873, 1883, 1884, 1888, 1896, + 1899, 1898, 1905, 1908, 1907, 1911, 1913, 1915, 1917, 1920, + 1926, 1955, 1970, 1983, 1985, 1986, 1990, 1992, 1996, 1998, + 2003, 2002, 2009, 2008, 2020, 2025, 2024, 2032, 2036, 2060, + 2086, 2084, 2112, 2110, 2220, 2229, 2228, 2232, 2231, 2236, + 2242, 2241, 2251, 2250, 2259, 2272, 2277, 2271, 2305, 2313, + 2318, 2312, 2347, 2354, 2370, 2369, 2382, 2398, 2409, 2415, + 2421, 2433, 2445, 2455, 2465, 2464, 2477, 2483, 2481, 2599, + 2606, 2622, 2624, 2626, 2626, 2627, 2630, 2632, 2634, 2631, + 2636, 2640, 2639, 2754, 2787, 2795, 2820, 2794, 2871, 2872, + 2873, 2874, 2876, 2877, 2885, 2886, 2894, 2895, 2904, 2907, + 2906, 2915, 2917, 2925, 2933, 2942, 2950, 2952, 2959, 2960, + 2971, 3007, 3044, 3085, 3102, 3084, 3143, 3150, 3157, 3156, + 3188, 3189, 3197, 3196, 3244, 3246, 3245, 3255, 3406, 3405, + 3553, 3559, 3562, 3578, 3582, 3586, 3593, 3594, 3598, 3598, + 3612, 3612, 3628, 3628, 3644, 3644, 3658, 3658, 3689, 3690, + 3691, 3694, 3700, 3699, 3709, 3708, 3726, 3725, 3773, 3788, + 3797, 3772, 3834, 3842, 3843, 3843, 3856, 3855, 3862, 3863, + 3864, 3870, 3871, 3875, 3879, 3887, 3891, 3895, 3903, 3904, + 3910, 3916, 3918, 3921, 3922, 3927, 3926, 4028, 4030, 4029, + 4084, 4088, 4092, 4093, 4097, 4112, 4121, 4136, 4145, 4149, + 4155, 4172, 4179, 4189, 4190, 4191, 4195, 4196, 4212, 4222, + 4228, 4236, 4242, 4250, 4256, 4264, 4269, 4276, 4277, 4278, + 4282, 4283, 4282, 4293, 4297, 4298, 4297, 4307, 4314, 4315, + 4318, 4318, 4399, 4397, 4411, 4488, 4585, 4586, 4590, 4591, + 4594, 4595, 4598, 4599, 4602, 4606, 4610, 4614, 4633, 4639, + 4641, 4644, 4645, 4654, 4655, 4660, 4659, 4668, 4678, 4679, + 4683, 4683, 4685, 4684, 4693, 4692, 4696, 4703, 4704, 4708, + 4708, 4710, 4709, 4716, 4715, 4719, 4728, 4824, 4829, 4834, + 4835, 4838, 4855, 4872, 4889, 4912, 4912, 4943, 4964, 4964, + 4987, 4986, 5002, 5001, 5017, 5016, 5033, 5034, 5037, 5039, + 5037, 5093, 5124, 5123, 5160, 5161, 5169, 5168, 5192, 5193, + 5197, 5196, 5235, 5234, 5257, 5257, 5284, 5285, 5288, 5309, + 5331, 5355, 5360, 5368, 5369, 5369, 5373, 5434, 5469, 5484, + 5533, 5542, 5543, 5551, 5552, 5553, 5554, 5555, 5556, 5559, + 5560, 5561, 5562, 5563, 5564, 5571, 5578, 5569, 5604, 5604, + 5617, 5630, 5631, 5635, 5648, 5649, 5656, 5661, 5668, 5669, + 5670, 5675, 5676, 5677, 5682, 5683, 5684, 5689, 5690, 5691, + 5696, 5701, 5702, 5713, 5724, 5735, 5739, 5746, 5747, 5804, + 5810, 5809, 5897, 5896, 5940, 5948, 5950, 5954, 5958, 5947, + 6000, 6009, 6013, 6020, 6022, 6026, 6019, 6064, 6074, 6076, + 6080, 6073, 6118, 6127, 6128, 6131, 6174, 6183, 6209, 6208, + 6239, 6245, 6246, 6249, 6250, 6254, 6259, 6284, 6293, 6345, + 6370, 6398, 6253, 6406, 6407, 6408, 6416, 6417, 6425, 6443, + 6424, 6447, 6451, 6452, 6459, 6460, 6461, 6467, 6468, 6469, + 6474, 6475, 6476, 6477, 6478, 6479, 6480 }; #endif @@ -1041,54 +1046,55 @@ static const char *const yytname[] = "RWL_T_NORMALRANDOM", "RWL_T_STATISTICSONLY", "RWL_T_CEIL", "RWL_T_TRUNC", "RWL_T_FLOOR", "RWL_T_LOBPREFETCH", "RWL_T_SIN", "RWL_T_COS", "RWL_T_ATAN2", "RWL_T_WINSLASHF2B", "RWL_T_WINSLASHF2BB", - "RWL_T_BITWISE_LEFT_SHIFT", "RWL_T_BITWISE_RIGHT_SHIFT", "'|'", "'^'", - "'&'", "'='", "'<'", "'>'", "'-'", "'+'", "'*'", "'/'", "'%'", "'!'", - "'~'", "RWL_T_UMINUS", "';'", "'('", "')'", "','", "'?'", "':'", - "$accept", "rwlyparse", "terminator", "programelementlist", "$@1", - "programelement", "globaldeclaration", "$@2", "$@3", "$@4", "$@5", - "ranstringspec", "ranstringlist", "ranstringentry", "$@6", - "ranidentifierspec", "ranidentifierlist", "ranidentifierentry", "$@7", - "databasedeclaration", "$@8", "maybejustusername", "maybedbspeclist", - "dbspeclist", "dbspec", "$@9", "$@10", "maybemarks", "eithermark", - "maybemaxpoolsize", "mayberelease", "maybewait", "$@11", - "maybethentimeoutaction", "$@12", "compiletime_expression", - "compiletime_concatenation", "subroutinedeclaration", "isaccepted", - "functionhead", "$@13", "procedurehead", "$@14", "maybeprivatefunction", - "maybeprivateprocedure", "codebody", "printvarlist", "printvarelement", - "maybeemptybrackets", "maybearguments", "formalargumentlist", - "formalargument", "argumenttype", "maybestatistics", "codeterminator", - "$@15", "$@16", "$@17", "identifier_or_constant", "$@18", - "maybe_expression_list", "expression_list", "countexpressions", - "primary_expression", "unary_expression", "multiplication", "addition", - "bitwise_shift", "comparison", "equality", "bitwise_and", "bitwise_xor", - "bitwise_or", "logicaland", "$@19", "logicalor", "$@20", "conditional", - "$@21", "$@22", "expression", "concatenation", "statementlist", - "goodorbadstatement", "$@23", "$@24", "statement", "$@25", "$@26", - "$@27", "$@28", "$@29", "$@30", "$@31", "$@32", "$@33", "$@34", "$@35", - "$@36", "$@37", "$@38", "$@39", "$@40", "$@41", "$@42", "$@43", "$@44", - "$@45", "$@46", "$@47", "$@48", "$@49", "writelobhead", "$@50", - "maybewritelobtail", "readlobhead", "$@51", "maybereadlobtail", "$@52", - "docallonesql", "dosqlloop", "$@53", "controlloopheader", - "controllooplistandend", "controlloopheadend", "controllooplist", - "controlloopoption", "$@54", "$@55", "$@56", "$@57", "$@58", - "maybequeue", "callsql", "$@59", "$@60", "embeddedsql", "$@61", - "immediatesql", "$@62", "$@63", "$@64", "getdynamicorinlineimmsql", - "$@65", "immediatesqlheader", "$@66", "immediatesqlendsqlisok", - "immediatesqltail", "immediateatclause", "executehead", - "maybeatdatabase", "declinitlist", "declinit", "$@67", "declinitassign", - "$@68", "ifstatements", "elseifstatements", "maybeelseiflist", "ifhead", - "elseifhead", "whileheadkeyword", "whilehead", "whileheadwrongkeyword", - "maybethreadsattr", "maybeprivatestring", "maybeprivateinteger", - "maybeprivatedouble", "maybeprivatelob", "eitherlobtype", - "sqldeclaration", "$@69", "$@70", "$@71", "$@72", "namedsqldeclaration", - "dynamicsqlbody", "$@73", "staticsqlbody", "$@74", "addsqlvariable", - "parsesqlspecifications", "sqlspeclist", "sqlspec", "musthaveterminator", - "maybearraydefine", "definelist", "defineelement", "$@75", "bindoutlist", - "bindoutelement", "$@76", "$@77", "$@78", "bindlist", "bindelement", - "$@79", "$@80", "$@81", "bdidentifier", "bdidentname", "modsqlstatement", - "$@82", "$@83", "$@84", "$@85", "$@86", "modsqlbdlist", "modsqlbd", - "$@87", "$@88", "moddbstatement", "$@89", "moddbsespmaybedotdot", - "printf", "$@90", "sprintfheader", "sprintf", "$@91", "fprintf", "$@92", + "RWL_T_BITWISE_LEFT_SHIFT", "RWL_T_BITWISE_RIGHT_SHIFT", "RWL_T_ASNBIS", + "RWL_T_ASNBIC", "'|'", "'^'", "'&'", "'='", "'<'", "'>'", "'-'", "'+'", + "'*'", "'/'", "'%'", "'!'", "'~'", "RWL_T_UMINUS", "';'", "'('", "')'", + "','", "'?'", "':'", "$accept", "rwlyparse", "terminator", + "programelementlist", "$@1", "programelement", "globaldeclaration", + "$@2", "$@3", "$@4", "$@5", "ranstringspec", "ranstringlist", + "ranstringentry", "$@6", "ranidentifierspec", "ranidentifierlist", + "ranidentifierentry", "$@7", "databasedeclaration", "$@8", + "maybejustusername", "maybedbspeclist", "dbspeclist", "dbspec", "$@9", + "$@10", "maybemarks", "eithermark", "maybemaxpoolsize", "mayberelease", + "maybewait", "$@11", "maybethentimeoutaction", "$@12", + "compiletime_expression", "compiletime_concatenation", + "subroutinedeclaration", "isaccepted", "functionhead", "$@13", + "procedurehead", "$@14", "maybeprivatefunction", "maybeprivateprocedure", + "codebody", "printvarlist", "printvarelement", "maybeemptybrackets", + "maybearguments", "formalargumentlist", "formalargument", "argumenttype", + "maybestatistics", "codeterminator", "$@15", "$@16", "$@17", + "identifier_or_constant", "$@18", "maybe_expression_list", + "expression_list", "countexpressions", "primary_expression", + "unary_expression", "multiplication", "addition", "bitwise_shift", + "comparison", "equality", "bitwise_and", "bitwise_xor", "bitwise_or", + "logicaland", "$@19", "logicalor", "$@20", "conditional", "$@21", "$@22", + "expression", "concatenation", "statementlist", "goodorbadstatement", + "$@23", "$@24", "statement", "$@25", "$@26", "$@27", "$@28", "$@29", + "$@30", "$@31", "$@32", "$@33", "$@34", "$@35", "$@36", "$@37", "$@38", + "$@39", "$@40", "$@41", "$@42", "$@43", "$@44", "$@45", "$@46", "$@47", + "$@48", "$@49", "writelobhead", "$@50", "maybewritelobtail", + "readlobhead", "$@51", "maybereadlobtail", "$@52", "docallonesql", + "dosqlloop", "$@53", "controlloopheader", "controllooplistandend", + "controlloopheadend", "controllooplist", "controlloopoption", "$@54", + "$@55", "$@56", "$@57", "$@58", "maybequeue", "callsql", "$@59", "$@60", + "embeddedsql", "$@61", "immediatesql", "$@62", "$@63", "$@64", + "getdynamicorinlineimmsql", "$@65", "immediatesqlheader", "$@66", + "immediatesqlendsqlisok", "immediatesqltail", "immediateatclause", + "executehead", "maybeatdatabase", "declinitlist", "declinit", "$@67", + "declinitassign", "$@68", "ifstatements", "elseifstatements", + "maybeelseiflist", "ifhead", "elseifhead", "whileheadkeyword", + "whilehead", "whileheadwrongkeyword", "maybethreadsattr", + "maybeprivatestring", "maybeprivateinteger", "maybeprivatedouble", + "maybeprivatelob", "eitherlobtype", "sqldeclaration", "$@69", "$@70", + "$@71", "$@72", "namedsqldeclaration", "dynamicsqlbody", "$@73", + "staticsqlbody", "$@74", "addsqlvariable", "parsesqlspecifications", + "sqlspeclist", "sqlspec", "musthaveterminator", "maybearraydefine", + "definelist", "defineelement", "$@75", "bindoutlist", "bindoutelement", + "$@76", "$@77", "$@78", "bindlist", "bindelement", "$@79", "$@80", + "$@81", "bdidentifier", "bdidentname", "modsqlstatement", "$@82", "$@83", + "$@84", "$@85", "$@86", "modsqlbdlist", "modsqlbd", "$@87", "$@88", + "moddbstatement", "$@89", "moddbsespmaybedotdot", "printf", "$@90", + "sprintfheader", "sprintf", "$@91", "fprintf", "$@92", "handlefprintflist", "$@93", "printflist", "printfelement", "write", "print", "printlist", "$@94", "printelement", "pwterminator", "pfterminator", "assignrightside", "assignterminator", @@ -1129,9 +1135,9 @@ static const yytype_uint16 yytoknum[] = 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 124, 94, 38, 61, 60, 62, - 45, 43, 42, 47, 37, 33, 126, 419, 59, 40, - 41, 44, 63, 58 + 415, 416, 417, 418, 419, 420, 124, 94, 38, 61, + 60, 62, 45, 43, 42, 47, 37, 33, 126, 421, + 59, 40, 41, 44, 63, 58 }; # endif @@ -1140,7 +1146,7 @@ static const yytype_uint16 yytoknum[] = #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-967))) -#define YYTABLE_NINF -658 +#define YYTABLE_NINF -660 #define yytable_value_is_error(Yytable_value) \ 0 @@ -1149,130 +1155,130 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -967, 96, 108, -967, 3511, -56, 141, -967, -56, 290, - -967, -967, -967, 236, 1922, 1989, -967, 51, 2153, 142, - 143, 388, -967, 156, 158, -38, -967, -56, 2220, 218, - 5599, -56, -56, 243, 1691, -56, 41, -56, -56, -967, - -56, 379, 145, -967, -967, -967, -967, 181, 201, 2384, - 44, -967, -967, 132, -967, 159, 52, -967, -967, -967, - -967, -967, -967, 62, 323, 323, 161, 163, -967, -967, - -56, 303, -56, 1527, -967, 356, -967, -967, 50, 119, - 120, 165, -967, 67, 73, 223, -56, -56, 1281, 2451, - 167, -967, -967, 2615, -967, -967, 5599, -967, -967, -56, - -967, -967, -56, -967, 302, -967, -56, 276, 296, 279, - 365, 303, -56, 5599, -56, 5599, 428, 104, 606, -38, - 318, 330, 335, 343, 347, 358, 397, 416, -38, -967, - 425, 5599, 429, 438, 441, 443, 444, 445, 448, 449, - 452, 462, 463, 464, -967, 468, -967, -967, 472, 479, - 481, 484, 485, 486, 488, 489, 497, 5599, 5599, 5599, - 5599, 375, -967, -967, 189, -41, -28, 370, 248, 382, - 289, 317, 495, 29, -967, 426, -56, -56, -56, -967, - 545, 656, -56, -967, -56, -967, 321, -56, -967, 2682, - 613, 487, 246, 212, -967, -967, -56, -967, -56, -967, - 5599, -967, -56, 415, 540, -967, -967, -967, -967, -967, - -967, -967, 399, -967, -967, 173, -967, -56, 502, 505, - 506, 507, -56, 5599, -56, 549, -967, 673, 625, 566, - -967, -56, 528, -56, 568, 1457, 558, -967, -56, -967, - -967, -967, -967, -967, -967, -967, -967, -56, -967, -56, - -967, 571, -967, 274, -967, -56, -967, 691, 46, -967, - 58, -967, 3239, 3641, -56, 298, 5599, -967, -56, 570, - -56, 570, -56, -967, 315, -967, -56, -56, -56, -967, - -967, -56, -967, -967, -967, -967, -967, -56, 5599, -967, - 5599, -967, -56, 5375, -967, 324, -967, -56, 570, -56, - 5599, 43, -967, 5599, -967, 574, -967, -967, -967, 669, - -967, -967, 5599, 660, 365, -967, -967, -967, -967, -967, - 661, 2846, -967, 60, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, -967, 543, 544, 5599, 5599, 5599, - 5599, 5599, 5599, -967, 5599, -967, 5599, 5599, 5599, 45, - 5599, 5599, 5599, 5599, 174, 179, 144, 5599, -967, 5599, - 5599, 5599, 5599, 5599, 5599, 5599, 5599, 5599, -967, -967, - -967, 546, 301, 5599, 5599, 5599, 5599, 5599, 5599, 5599, - 5599, 5599, 5599, 5599, 5599, 5599, 5599, 5599, 5599, 5599, - -967, -967, -967, 5599, -967, -967, -967, -967, 552, 585, - 592, -967, -967, -967, -967, -56, 75, -967, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -56, -56, 5599, - -967, -967, 715, 716, 719, 599, -967, -967, 5599, -56, - -967, 5599, -56, -967, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, 692, 602, -56, 5599, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -967, 2682, -967, - 5599, -967, -56, -56, -56, -967, 3771, -967, -967, 567, - -967, 567, -967, -967, -967, -967, -967, -967, -967, 259, - -967, 667, -967, -967, -967, -967, -967, -967, -967, -967, - -967, -967, 5599, -967, 3901, -56, -56, -967, -967, -967, - 54, 305, 312, 408, 458, -967, -967, 674, 38, -967, - -967, -967, 569, 682, 570, -967, 315, -967, 315, -967, - 325, 570, -967, -967, -967, -967, -967, 5599, -967, 324, - 324, -967, -967, -967, -967, -967, 315, -967, -967, -56, - 608, -56, 322, -967, -967, -967, 552, 2913, 365, 682, - -967, -967, 660, 573, 575, -967, -967, -967, -967, -967, - -967, -56, 731, -967, 671, 56, -967, -967, -967, 5, - 576, 32, 72, 124, 34, 225, 42, 577, 579, 580, - 581, -967, 582, 169, 211, 227, 583, 584, 586, 587, - 588, 589, 591, 593, 594, 5599, 118, 229, 242, 254, - 265, 266, 198, 596, 597, -967, -967, 710, -967, -967, - -967, 189, 189, -41, -41, -28, -28, -15, -28, -28, - 370, 370, 248, 382, 289, 5599, 5599, 5599, -967, 630, - 338, -967, -967, -967, -967, -56, -967, -967, -56, -967, - -967, -56, 275, 640, 632, 639, -967, -967, 641, 682, - -967, 5599, 682, -967, -56, 5308, -967, -967, -967, -967, - 604, 605, -967, -967, -967, -967, 607, -967, -967, -967, - -967, -967, 109, 699, -6, 5599, 5599, 5599, 5599, -967, - -967, -967, -967, -967, -967, -967, -967, 5599, -967, 609, - 63, -967, -967, 4031, -56, -56, -967, -56, -967, -56, - 789, 790, -56, 3077, -967, -967, -56, -56, -56, -967, - -967, 757, 315, -967, -967, -967, -967, -967, 607, -967, - -967, 5599, -967, 612, -967, -967, -967, -967, 5532, 5599, - 5599, 745, -967, 5599, -967, -967, -967, -967, 5599, 5599, - 5599, -56, 322, -967, 21, 3, 765, -967, 660, -967, - -967, 5599, 5599, -967, 661, 712, 655, -56, -56, -967, - -967, -967, 5599, 5599, -967, -967, 5599, -967, 620, -967, - 659, 5599, -967, -967, -967, -967, -967, 5599, -967, 5599, - -967, -967, -967, -967, -967, -967, -967, -967, -967, 5599, - 622, 5599, -967, -967, -967, -967, -967, 5599, -967, -967, - -967, 5599, 317, 495, 621, -967, -967, -967, 48, 53, - -967, -967, -967, 5599, 5599, -56, -967, -967, -967, 729, - -967, -967, -967, -967, -967, -56, -967, -967, 5308, -967, - 626, -967, -967, 631, -967, -967, -967, -967, -967, -967, - -967, 68, 5599, 5599, 627, -967, -967, -967, -967, -967, - -967, 262, -967, 666, 476, -967, -967, -967, -967, 682, - 682, 682, 682, 4161, 5599, -56, -967, -967, -56, -56, - -967, -967, 58, -967, -967, -967, -967, 5599, -967, -56, - -56, -967, 743, 520, 3369, -967, -967, -967, -967, -967, - 5599, -967, 5599, -56, 670, -967, -967, -967, -967, -967, - 398, -967, -967, -967, -967, -967, 760, -967, -967, -967, - -967, 633, 4291, -967, 4421, -967, -967, -56, 675, -967, - -967, -967, -967, 271, 272, 273, -967, 635, 215, 280, - 281, 362, -967, 285, 286, -28, -967, -56, 676, -967, - -56, 680, -967, 682, 682, -967, -967, -967, 5599, -967, - 5599, -967, -967, 48, 53, -967, 5599, -967, 524, -967, - -56, 155, -967, -967, -967, -967, 5599, -967, 476, -967, - -967, 65, 682, -967, -967, -37, 628, -967, -967, -967, - 4551, -967, -967, -967, -967, -967, 570, -967, -967, -967, - -967, 398, 786, -967, -967, -967, 786, -967, 5599, 5599, - -3, -967, 65, 65, 552, 552, -967, -967, 4681, 740, - -967, -967, -967, -967, -967, 5599, -967, -967, -967, 5599, - -967, -967, 5599, -967, -967, 390, -967, -967, -967, 413, - -967, 793, 643, -967, 5599, 643, -967, 682, 643, -967, - -967, 682, 20, 40, -967, 1758, 24, -56, -56, -56, - -967, -967, -967, -56, -56, -56, 645, -967, -56, -56, - -967, -967, -967, -967, -967, -967, 56, 4811, 315, 646, - 5599, 723, 723, -967, -967, -967, -967, -967, -967, -967, - 338, 338, 808, 5599, 748, 287, 288, -967, 5599, -56, - 676, 5599, -56, 680, 5599, -967, -967, 682, -56, -967, - -967, -967, -967, 352, -967, -56, -967, -967, 354, -967, - -56, -967, 5599, -56, -967, -967, -967, -967, 373, -967, + -967, 146, 186, -967, 3325, -128, 120, -967, -128, 273, + -967, -967, -967, 247, 1861, 1999, -967, 49, 2066, 122, + 132, 107, -967, 133, 135, -46, -967, -128, 2204, 275, + 5394, -128, -128, 222, 1632, -128, 174, -128, -128, -967, + -128, 480, 309, -967, -967, -967, -967, 272, 304, 2271, + 71, -967, -967, 95, -967, 141, 239, -967, -967, -967, + -967, -967, -967, 54, 433, 433, 142, 143, -967, -967, + -128, 370, -128, 1562, -967, 93, -967, -967, 50, 104, + 119, 147, -967, 24, 65, 320, -128, -128, 1240, 2409, + 151, -967, -967, 2476, -967, -967, 5394, -967, -967, -128, + -967, -967, -128, -967, -13, -967, -128, 365, 76, 383, + 454, 370, -128, 5394, -128, 5394, 510, 167, 552, -46, + 353, 379, 393, 403, 423, 429, 432, 437, -46, -967, + 442, 5394, 447, 448, 460, 462, 463, 464, 465, 466, + 468, 473, 474, 476, -967, 478, -967, -967, 479, 482, + 484, 486, 487, 495, 496, 501, 502, 5394, 5394, 5394, + 5394, 490, -967, -967, 389, 171, 245, 319, 152, 355, + 384, 371, 598, -1, -967, 64, -128, -128, -128, -967, + 653, 668, -128, -967, -128, -967, 511, -128, -967, 2614, + 629, 362, 255, 5, -967, -967, -128, -967, -128, -967, + 5394, -967, -128, 415, 556, -967, -967, -967, -967, -967, + -967, -967, 360, -967, -967, 154, -967, -128, 523, 524, + 527, 528, -128, 5394, -128, 570, -967, 693, 640, 573, + -967, -128, 533, -128, 575, 1424, 554, -967, -128, -967, + -967, -967, -967, -967, -967, -967, -967, -128, -967, -128, + -967, 589, -967, 274, -967, -128, -967, 700, 279, -967, + 45, -967, 3050, 3455, -128, 291, 5394, -967, -128, 580, + -128, 580, -128, -967, 208, -967, -128, -128, -128, -967, + -967, -128, -967, -967, -967, -967, -967, -128, 5394, -967, + 5394, -967, -128, 5189, -967, 210, -967, -128, 580, -128, + 5394, 35, -967, 5394, -967, 581, -967, -967, -967, 675, + -967, -967, 5394, 676, 454, -967, -967, -967, -967, -967, + 494, 2681, -967, 73, -967, -967, -967, -967, -967, -967, + -967, -967, -967, -967, -967, 546, 548, 5394, 5394, 5394, + 5394, 5394, 5394, -967, 5394, -967, 5394, 5394, 5394, 39, + 5394, 5394, 5394, 5394, 155, 156, 53, 5394, -967, 5394, + 5394, 5394, 5394, 5394, 5394, 5394, 5394, 5394, -967, -967, + -967, 549, 351, 5394, 5394, 5394, 5394, 5394, 5394, 5394, + 5394, 5394, 5394, 5394, 5394, 5394, 5394, 5394, 5394, 5394, + -967, -967, -967, 5394, -967, -967, -967, -967, 551, 590, + 591, -967, -967, -967, -967, -128, 67, -967, -967, -967, + -967, -967, -967, -967, -967, -967, -967, -128, -128, 5394, + -967, -967, 714, 715, 719, 599, -967, -967, 5394, -128, + -967, 5394, -128, -967, -967, -967, -967, -967, -967, -967, + -967, -967, -967, -967, 690, 601, -128, 5394, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, - 303, -967, 71, -967, 5599, -967, 5599, 755, -967, 4941, - 778, -967, -967, 71, -967, 5599, -967, -967, -967, -967, - -967, -967, -967, -967, 682, -967, 693, -967, 66, 66, - 66, 369, -967, -967, 66, -26, -967, -967, -56, -967, - 66, 66, 66, 386, -967, -967, -56, -56, -967, -967, - -967, -967, 5599, -967, 65, -967, -967, -967, -967, -967, - -967, 724, -967, -967, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, -967, -967, 652, -967, -967, 746, - -967, 696, 773, -967, -56, 260, -967, -967, -967, -967, - 663, 5071, -967, 775, 5599, -967, 664, -967, -967, 5201, - 825, 110, -56, -56, -967, -967, -967, -967 + 2614, -967, 5394, -967, -128, -128, -128, -967, 3585, -967, + -967, 563, -967, 563, -967, -967, -967, -967, -967, -967, + -967, 258, -967, 667, -967, -967, -967, -967, -967, -967, + -967, -967, -967, -967, 5394, -967, 3715, -128, -128, -967, + -967, -967, 75, 79, 114, 356, 380, -967, -967, 673, + 36, -967, -967, -967, 565, 682, 580, -967, 208, -967, + 208, -967, 396, 580, -967, -967, -967, -967, -967, 5394, + -967, 210, 210, -967, -967, -967, -967, -967, 208, -967, + -967, -128, 607, -128, 303, -967, -967, -967, 551, 2819, + 454, 682, -967, -967, 676, 567, 568, -967, -967, -967, + -967, -967, -967, -128, 732, -967, 669, 52, -967, -967, + -967, 40, 574, 11, 235, 236, 98, 243, 23, 576, + 578, 579, 582, -967, 583, 26, 173, 250, 585, 586, + 587, 588, 592, 593, 594, 595, 597, 5394, 112, 260, + 265, 268, 269, 270, 121, 596, 600, -967, -967, 701, + -967, -967, -967, 389, 389, 171, 171, 245, 245, 207, + 245, 245, 319, 319, 152, 355, 384, 5394, 5394, 5394, + -967, 620, 285, -967, -967, -967, -967, -128, -967, -967, + -128, -967, -967, -128, 43, 450, 621, 630, -967, -967, + 631, 682, -967, 5394, 682, -967, -128, 5122, -967, -967, + -967, -967, 603, 605, -967, -967, -967, -967, 606, -967, + -967, -967, -967, -967, 69, 685, 287, 5394, 5394, 5394, + 5394, -967, -967, -967, -967, -967, -967, -967, -967, 5394, + -967, 610, 55, -967, -967, 3845, -128, -128, -967, -128, + -967, -128, 780, 782, -128, 2886, -967, -967, -128, -128, + -128, -967, -967, 751, 208, -967, -967, -967, -967, -967, + 606, -967, -967, 5394, -967, 608, -967, -967, -967, -967, + 5327, 5394, 5394, 743, -967, 5394, -967, -967, -967, -967, + 5394, 5394, 5394, -128, 303, -967, 28, 21, 763, -967, + 676, -967, -967, 5394, 5394, -967, 494, 710, 654, -128, + -128, -967, -967, -967, 5394, 5394, -967, -967, 5394, -967, + 613, -967, 655, 5394, -967, -967, -967, -967, -967, 5394, + -967, 5394, -967, -967, -967, -967, -967, -967, -967, -967, + -967, 5394, 616, 5394, -967, -967, -967, -967, -967, 5394, + -967, -967, -967, 5394, 371, 598, 614, -967, -967, -967, + 46, 48, -967, -967, -967, 5394, 5394, -128, -967, -967, + -967, 726, -967, -967, -967, -967, -967, -128, -967, -967, + 5122, -967, 618, -967, -967, 622, -967, -967, -967, -967, + -967, -967, -967, 56, 5394, 5394, 623, -967, -967, -967, + -967, -967, -967, 240, -967, 661, 483, -967, -967, -967, + -967, 682, 682, 682, 682, 3975, 5394, -128, -967, -967, + -128, -128, -967, -967, 45, -967, -967, -967, -967, 5394, + -967, -128, -128, -967, 737, 503, 3180, -967, -967, -967, + -967, -967, 5394, -967, 5394, -128, 664, -967, -967, -967, + -967, -967, 375, -967, -967, -967, -967, -967, 756, -967, + -967, -967, -967, 627, 4105, -967, 4235, -967, -967, -128, + 671, -967, -967, -967, -967, 271, 276, 295, -967, 632, + 212, 296, 297, 363, -967, 298, 299, 245, -967, -128, + 674, -967, -128, 670, -967, 682, 682, -967, -967, -967, + 5394, -967, 5394, -967, -967, 46, 48, -967, 5394, -967, + 550, -967, -128, 118, -967, -967, -967, -967, 5394, -967, + 483, -967, -967, 58, 682, -967, -967, -11, 636, -967, + -967, -967, 4365, -967, -967, -967, -967, -967, 580, -967, + -967, -967, -967, 375, 785, -967, -967, -967, 785, -967, + 5394, 5394, 17, -967, 58, 58, 551, 551, -967, -967, + 4495, 735, -967, -967, -967, -967, -967, 5394, -967, -967, + -967, 5394, -967, -967, 5394, -967, -967, 410, -967, -967, + -967, 413, -967, 788, 637, -967, 5394, 637, -967, 682, + 637, -967, -967, 682, 18, 47, -967, 1794, 22, -128, + -128, -128, -967, -967, -967, -128, -128, -128, 639, -967, + -128, -128, -967, -967, -967, -967, -967, -967, 52, 4625, + 208, 641, 5394, 716, 716, -967, -967, -967, -967, -967, + -967, -967, 285, 285, 806, 5394, 746, 300, 301, -967, + 5394, -128, 674, 5394, -128, 670, 5394, -967, -967, 682, + -128, -967, -967, -967, -967, 336, -967, -128, -967, -967, + 342, -967, -128, -967, 5394, -128, -967, -967, -967, -967, + 352, -967, -967, -967, -967, -967, -967, -967, -967, -967, + -967, -967, 370, -967, 63, -967, 5394, -967, 5394, 754, + -967, 4755, 777, -967, -967, 63, -967, 5394, -967, -967, + -967, -967, -967, -967, -967, -967, 682, -967, 689, -967, + 88, 88, 88, -27, -967, -967, 88, -2, -967, -967, + -128, -967, 88, 88, 88, 367, -967, -967, -128, -128, + -967, -967, -967, -967, 5394, -967, 58, -967, -967, -967, + -967, -967, -967, 723, -967, -967, -967, -967, -967, -967, + -967, -967, -967, -967, -967, -967, -967, -967, 651, -967, + -967, 744, -967, 694, 771, -967, -128, 203, -967, -967, + -967, -967, 659, 4885, -967, 774, 5394, -967, 662, -967, + -967, 5015, 823, 74, -128, -128, -967, -967, -967, -967 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1282,198 +1288,198 @@ static const yytype_uint16 yydefact[] = { 4, 0, 5, 1, 0, 0, 0, 551, 552, 0, 89, 440, 442, 0, 0, 0, 444, 0, 0, 0, - 0, 0, 585, 0, 0, 94, 360, 270, 0, 405, + 0, 0, 587, 0, 0, 94, 360, 270, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, - 0, 0, 0, 634, 447, 448, 449, 0, 0, 0, - 0, 619, 620, 0, 386, 0, 0, 536, 3, 240, + 0, 0, 0, 636, 447, 448, 449, 0, 0, 0, + 0, 621, 622, 0, 386, 0, 0, 536, 3, 240, 6, 8, 12, 0, 78, 78, 0, 0, 7, 343, 0, 303, 0, 0, 311, 0, 226, 226, 0, 0, 0, 0, 446, 0, 0, 0, 0, 0, 0, 0, 0, 318, 320, 0, 321, 319, 0, 9, 347, 0, 34, 335, 0, 93, 0, 91, 0, 0, 381, 0, - 603, 401, 0, 0, 0, 0, 0, 0, 0, 94, + 605, 401, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 94, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 121, 123, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 182, 187, 191, 194, 197, 203, 206, 208, - 210, 212, 215, 218, 222, 0, 0, 0, 0, 610, + 210, 212, 215, 218, 222, 0, 0, 0, 0, 612, 0, 0, 0, 549, 0, 550, 0, 0, 338, 0, 0, 0, 0, 0, 290, 291, 0, 340, 0, 274, 0, 241, 0, 0, 0, 292, 242, 300, 88, 439, - 441, 443, 0, 584, 86, 0, 445, 0, 0, 354, + 441, 443, 0, 586, 86, 0, 445, 0, 0, 354, 0, 350, 0, 0, 0, 0, 539, 0, 0, 0, 464, 0, 0, 0, 382, 0, 0, 544, 0, 116, 114, 118, 113, 13, 79, 226, 226, 0, 81, 0, 84, 378, 357, 0, 357, 0, 357, 0, 394, 226, 0, 260, 0, 0, 0, 0, 0, 250, 0, 0, - 0, 0, 0, 415, 0, 413, 0, 0, 0, 595, + 0, 0, 0, 415, 0, 413, 0, 0, 0, 597, 243, 0, 558, 326, 540, 324, 322, 0, 0, 557, 0, 328, 0, 224, 556, 0, 553, 0, 0, 0, 0, 0, 36, 37, 10, 0, 11, 264, 315, 0, - 396, 308, 0, 0, 603, 402, 630, 627, 625, 622, - 668, 0, 643, 0, 639, 642, 641, 429, 435, 433, + 396, 308, 0, 0, 605, 402, 632, 629, 627, 624, + 670, 0, 645, 0, 641, 644, 643, 429, 435, 433, 434, 428, 431, 432, 172, 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 213, 216, 219, 0, 430, 314, 313, 612, 0, 0, + 213, 216, 219, 0, 430, 314, 313, 614, 0, 0, 0, 333, 334, 95, 293, 0, 0, 271, 425, 424, 406, 407, 283, 339, 278, 276, 296, 0, 0, 0, 284, 294, 0, 0, 0, 0, 289, 352, 0, 0, 348, 0, 0, 282, 280, 325, 538, 457, 397, 455, 387, 323, 542, 346, 0, 0, 0, 174, 563, 566, - 564, 570, 571, 572, 567, 568, 565, 569, 0, 537, - 0, 120, 0, 0, 0, 77, 0, 76, 80, 96, - 83, 96, 374, 370, 368, 372, 379, 380, 344, 378, - 366, 0, 301, 403, 404, 304, 357, 305, 392, 608, - 607, 464, 0, 393, 0, 0, 0, 592, 259, 226, - 0, 0, 0, 0, 0, 227, 228, 420, 0, 254, - 437, 438, 0, 74, 0, 247, 0, 249, 0, 245, - 417, 0, 244, 598, 596, 597, 327, 0, 332, 0, - 0, 337, 225, 554, 336, 257, 0, 618, 614, 0, - 0, 0, 39, 38, 75, 92, 0, 0, 603, 604, - 358, 306, 0, 0, 0, 670, 674, 671, 673, 669, - 672, 0, 0, 656, 0, 0, 640, 169, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 173, 180, 0, 188, 189, - 190, 193, 192, 195, 196, 200, 201, 0, 198, 199, - 205, 204, 207, 209, 211, 0, 0, 0, 223, 0, - 0, 631, 20, 16, 560, 0, 561, 559, 0, 287, - 288, 0, 0, 0, 0, 0, 453, 451, 0, 355, - 341, 0, 351, 342, 0, 460, 544, 383, 385, 299, - 0, 175, 176, 178, 273, 548, 545, 546, 117, 115, - 119, 90, 0, 0, 109, 0, 0, 0, 0, 226, - 365, 364, 363, 362, 367, 376, 302, 0, 389, 0, - 0, 594, 593, 0, 0, 0, 233, 0, 230, 0, - 0, 0, 0, 0, 423, 226, 0, 0, 0, 599, - 258, 436, 0, 246, 248, 416, 418, 414, 541, 331, - 330, 0, 256, 0, 269, 267, 635, 266, 0, 0, - 0, 0, 55, 0, 58, 59, 49, 48, 0, 0, - 0, 0, 40, 41, 603, 0, 576, 226, 0, 226, - 310, 0, 0, 638, 668, 660, 0, 0, 0, 665, - 637, 135, 0, 0, 150, 151, 0, 154, 0, 147, - 0, 0, 139, 166, 165, 144, 128, 0, 130, 0, - 134, 163, 162, 161, 160, 159, 157, 156, 158, 0, - 0, 0, 131, 132, 133, 136, 137, 0, 145, 146, - 181, 0, 214, 217, 0, 633, 611, 632, 0, 0, - 562, 277, 286, 0, 0, 0, 522, 520, 518, 515, - 524, 512, 513, 511, 517, 0, 18, 14, 460, 353, - 0, 349, 281, 0, 456, 459, 466, 458, 464, 605, - 543, 0, 0, 0, 104, 102, 103, 106, 108, 107, - 97, 0, 99, 0, 0, 111, 112, 110, 85, 375, - 371, 369, 373, 0, 0, 479, 466, 395, 0, 0, - 586, 312, 0, 236, 235, 226, 232, 0, 229, 0, - 0, 237, 0, 0, 0, 602, 600, 601, 252, 251, - 0, 555, 0, 0, 0, 46, 43, 44, 59, 53, - 56, 52, 50, 45, 35, 42, 0, 583, 582, 578, - 573, 0, 0, 309, 0, 628, 623, 0, 0, 226, - 644, 667, 666, 0, 0, 0, 149, 0, 0, 0, - 0, 0, 168, 0, 0, 202, 220, 0, 0, 21, - 0, 0, 17, 532, 531, 285, 528, 528, 0, 514, - 0, 528, 295, 0, 0, 452, 0, 606, 0, 462, - 0, 0, 408, 298, 177, 547, 0, 98, 0, 101, - 82, 0, 377, 480, 609, 398, 0, 588, 587, 261, - 0, 226, 238, 239, 427, 426, 0, 419, 615, 268, - 47, 57, 63, 62, 61, 60, 63, 316, 0, 0, - 0, 579, 0, 0, 0, 0, 659, 661, 0, 654, - 155, 126, 152, 148, 142, 0, 127, 129, 140, 0, - 153, 138, 0, 29, 32, 0, 30, 23, 26, 0, - 24, 534, 523, 526, 0, 521, 519, 516, 525, 19, - 15, 356, 0, 0, 461, 0, 0, 479, 479, 479, - 467, 466, 412, 0, 0, 0, 0, 100, 0, 0, - 589, 345, 399, 400, 390, 465, 0, 0, 0, 0, - 0, 65, 65, 226, 574, 581, 577, 580, 263, 359, - 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, - 0, 0, 0, 0, 0, 533, 528, 529, 0, 505, - 499, 501, 503, 479, 497, 0, 487, 485, 479, 483, - 0, 482, 0, 0, 496, 490, 492, 494, 479, 488, - 474, 475, 476, 463, 411, 409, 410, 105, 591, 590, - 401, 234, 0, 253, 0, 64, 0, 67, 51, 0, - 0, 629, 624, 0, 655, 0, 143, 141, 33, 28, - 31, 27, 22, 25, 535, 527, 0, 469, 0, 0, - 0, 0, 468, 473, 0, 0, 472, 478, 479, 471, - 0, 0, 0, 0, 470, 391, 0, 0, 662, 231, - 616, 66, 0, 54, 0, 575, 658, 645, 530, 508, - 507, 509, 500, 506, 502, 504, 498, 486, 484, 477, - 491, 493, 495, 489, 664, 663, 0, 68, 317, 0, - 510, 0, 70, 646, 0, 0, 69, 226, 617, 71, - 0, 0, 72, 0, 174, 648, 0, 226, 73, 0, - 0, 0, 0, 0, 651, 650, 653, 652 + 564, 570, 571, 572, 567, 568, 565, 573, 574, 569, + 0, 537, 0, 120, 0, 0, 0, 77, 0, 76, + 80, 96, 83, 96, 374, 370, 368, 372, 379, 380, + 344, 378, 366, 0, 301, 403, 404, 304, 357, 305, + 392, 610, 609, 464, 0, 393, 0, 0, 0, 594, + 259, 226, 0, 0, 0, 0, 0, 227, 228, 420, + 0, 254, 437, 438, 0, 74, 0, 247, 0, 249, + 0, 245, 417, 0, 244, 600, 598, 599, 327, 0, + 332, 0, 0, 337, 225, 554, 336, 257, 0, 620, + 616, 0, 0, 0, 39, 38, 75, 92, 0, 0, + 605, 606, 358, 306, 0, 0, 0, 672, 676, 673, + 675, 671, 674, 0, 0, 658, 0, 0, 642, 169, + 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 173, 180, 0, + 188, 189, 190, 193, 192, 195, 196, 200, 201, 0, + 198, 199, 205, 204, 207, 209, 211, 0, 0, 0, + 223, 0, 0, 633, 20, 16, 560, 0, 561, 559, + 0, 287, 288, 0, 0, 0, 0, 0, 453, 451, + 0, 355, 341, 0, 351, 342, 0, 460, 544, 383, + 385, 299, 0, 175, 176, 178, 273, 548, 545, 546, + 117, 115, 119, 90, 0, 0, 109, 0, 0, 0, + 0, 226, 365, 364, 363, 362, 367, 376, 302, 0, + 389, 0, 0, 596, 595, 0, 0, 0, 233, 0, + 230, 0, 0, 0, 0, 0, 423, 226, 0, 0, + 0, 601, 258, 436, 0, 246, 248, 416, 418, 414, + 541, 331, 330, 0, 256, 0, 269, 267, 637, 266, + 0, 0, 0, 0, 55, 0, 58, 59, 49, 48, + 0, 0, 0, 0, 40, 41, 605, 0, 578, 226, + 0, 226, 310, 0, 0, 640, 670, 662, 0, 0, + 0, 667, 639, 135, 0, 0, 150, 151, 0, 154, + 0, 147, 0, 0, 139, 166, 165, 144, 128, 0, + 130, 0, 134, 163, 162, 161, 160, 159, 157, 156, + 158, 0, 0, 0, 131, 132, 133, 136, 137, 0, + 145, 146, 181, 0, 214, 217, 0, 635, 613, 634, + 0, 0, 562, 277, 286, 0, 0, 0, 522, 520, + 518, 515, 524, 512, 513, 511, 517, 0, 18, 14, + 460, 353, 0, 349, 281, 0, 456, 459, 466, 458, + 464, 607, 543, 0, 0, 0, 104, 102, 103, 106, + 108, 107, 97, 0, 99, 0, 0, 111, 112, 110, + 85, 375, 371, 369, 373, 0, 0, 479, 466, 395, + 0, 0, 588, 312, 0, 236, 235, 226, 232, 0, + 229, 0, 0, 237, 0, 0, 0, 604, 602, 603, + 252, 251, 0, 555, 0, 0, 0, 46, 43, 44, + 59, 53, 56, 52, 50, 45, 35, 42, 0, 585, + 584, 580, 575, 0, 0, 309, 0, 630, 625, 0, + 0, 226, 646, 669, 668, 0, 0, 0, 149, 0, + 0, 0, 0, 0, 168, 0, 0, 202, 220, 0, + 0, 21, 0, 0, 17, 532, 531, 285, 528, 528, + 0, 514, 0, 528, 295, 0, 0, 452, 0, 608, + 0, 462, 0, 0, 408, 298, 177, 547, 0, 98, + 0, 101, 82, 0, 377, 480, 611, 398, 0, 590, + 589, 261, 0, 226, 238, 239, 427, 426, 0, 419, + 617, 268, 47, 57, 63, 62, 61, 60, 63, 316, + 0, 0, 0, 581, 0, 0, 0, 0, 661, 663, + 0, 656, 155, 126, 152, 148, 142, 0, 127, 129, + 140, 0, 153, 138, 0, 29, 32, 0, 30, 23, + 26, 0, 24, 534, 523, 526, 0, 521, 519, 516, + 525, 19, 15, 356, 0, 0, 461, 0, 0, 479, + 479, 479, 467, 466, 412, 0, 0, 0, 0, 100, + 0, 0, 591, 345, 399, 400, 390, 465, 0, 0, + 0, 0, 0, 65, 65, 226, 576, 583, 579, 582, + 263, 359, 0, 0, 0, 0, 0, 0, 0, 221, + 0, 0, 0, 0, 0, 0, 0, 533, 528, 529, + 0, 505, 499, 501, 503, 479, 497, 0, 487, 485, + 479, 483, 0, 482, 0, 0, 496, 490, 492, 494, + 479, 488, 474, 475, 476, 463, 411, 409, 410, 105, + 593, 592, 401, 234, 0, 253, 0, 64, 0, 67, + 51, 0, 0, 631, 626, 0, 657, 0, 143, 141, + 33, 28, 31, 27, 22, 25, 535, 527, 0, 469, + 0, 0, 0, 0, 468, 473, 0, 0, 472, 478, + 479, 471, 0, 0, 0, 0, 470, 391, 0, 0, + 664, 231, 618, 66, 0, 54, 0, 577, 660, 647, + 530, 508, 507, 509, 500, 506, 502, 504, 498, 486, + 484, 477, 491, 493, 495, 489, 666, 665, 0, 68, + 317, 0, 510, 0, 70, 648, 0, 0, 69, 226, + 619, 71, 0, 0, 72, 0, 174, 650, 0, 226, + 73, 0, 0, 0, 0, 0, 653, 652, 655, 654 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -967, -967, -5, -967, -967, -967, -967, -967, -967, -967, - -967, -108, -967, -246, -967, -105, -967, -240, -967, -967, - -967, -967, -967, -967, 111, -967, -967, -46, -967, -142, - -217, -967, -967, -967, -967, -251, -290, -967, 791, -967, - -967, -967, -967, -967, -967, 611, -967, 553, 255, 391, - -967, -109, 11, -967, -967, -967, -967, -967, -967, -967, - -585, -967, 26, -967, 210, -97, 228, -365, 226, 482, - 478, 483, 245, 247, -967, -967, -967, -388, -967, -967, - 238, 432, -70, -967, -967, -967, 867, -967, -967, -967, + -967, -111, -967, -249, -967, -108, -967, -244, -967, -967, + -967, -967, -967, -967, 105, -967, -967, -50, -967, -146, + -221, -967, -967, -967, -967, -306, -287, -967, 789, -967, + -967, -967, -967, -967, -967, 609, -967, 553, 277, 386, + -967, -114, 1, -967, -967, -967, -967, -967, -967, -967, + -596, -967, 16, -967, 181, -97, 229, -339, 231, 477, + 475, 472, 241, 242, -967, -967, -967, -388, -967, -967, + 238, 535, -70, -967, -967, -967, 863, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -967, -967, -216, - -528, -967, -967, -967, -967, -967, 401, -967, -967, -967, - -967, -967, -967, 863, -967, -967, 864, -967, 769, -967, - -967, -967, -967, -967, -967, -967, -967, -249, 811, -967, - -967, -267, 363, -967, -967, -967, -967, -967, -967, -967, - -967, 708, -967, -967, -71, -967, -967, -967, -967, -40, - -967, -967, -967, -967, -967, 59, -967, -967, -967, -967, - -471, -165, 55, -967, -719, -967, -967, -276, -967, -967, - -280, -967, -967, -967, -967, -266, -967, -967, -967, -598, - -967, -967, -967, -967, -967, -967, -967, -832, -200, -967, + -967, -967, -967, -967, -967, -967, -967, -967, -967, -236, + -540, -967, -967, -967, -967, -967, 390, -967, -967, -967, + -967, -967, -967, 859, -967, -967, 861, -967, 766, -967, + -967, -967, -967, -967, -967, -967, -967, -253, 809, -967, + -967, -267, 361, -967, -967, -967, -967, -967, -967, -967, + -967, 711, -967, -967, -71, -967, -967, -967, -967, -31, + -967, -967, -967, -967, -967, 57, -967, -967, -967, -967, + -480, -165, 51, -967, -737, -967, -967, -276, -967, -967, + -282, -967, -967, -967, -967, -269, -967, -967, -967, -488, + -967, -967, -967, -967, -967, -967, -967, -465, -203, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, - -967, 241, -967, 371, 57, -967, -967, -174, -967, 178, - -272, 529, 446, -967, 381, -967, -967, -967, -967, -967, - -967, -98, -967, -967, -967, -966, 31, -967, -967, -300, - -967, 647, -967, -967, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -967, -967, -535, - -618, -967, 13, -967, -967, -967, 595, -967, -967, -967, + -967, 246, -967, 368, 60, -967, -967, 293, -967, 175, + -274, 387, 436, -967, 377, -967, -967, -967, -967, -967, + -967, -102, -967, -967, -967, -966, 29, -967, -967, -297, + -967, 648, -967, -967, -967, -967, -967, -967, -967, -967, + -967, -967, -967, -967, -967, -967, -967, -967, -967, -537, + -620, -967, 12, -967, -967, -967, 602, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, - -967, -236, -158, 166 + -967, -237, -159, 163 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 59, 2, 4, 60, 61, 954, 809, 953, - 808, 942, 1029, 1030, 1091, 939, 1025, 1026, 1088, 62, - 303, 542, 741, 742, 743, 996, 992, 900, 995, 1071, - 1137, 1183, 1212, 1216, 1224, 512, 833, 63, 245, 64, - 469, 65, 471, 66, 67, 465, 104, 105, 187, 673, - 851, 852, 853, 858, 243, 463, 462, 464, 161, 595, - 660, 661, 662, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 625, 173, 626, 174, 627, 1022, - 293, 544, 466, 505, 877, 875, 506, 514, 986, 298, - 499, 309, 541, 893, 189, 236, 200, 638, 223, 654, - 642, 643, 447, 254, 109, 548, 259, 546, 1073, 290, - 251, 679, 221, 651, 432, 219, 648, 429, 830, 482, - 551, 749, 69, 478, 683, 479, 480, 677, 676, 678, - 675, 864, 481, 70, 444, 445, 71, 230, 72, 258, - 866, 1130, 491, 492, 73, 228, 1064, 314, 315, 74, - 963, 274, 275, 520, 715, 890, 75, 704, 507, 76, - 705, 332, 77, 333, 267, 78, 79, 80, 81, 82, - 83, 425, 828, 229, 655, 834, 835, 836, 837, 1051, - 440, 975, 976, 1050, 974, 1112, 1108, 1109, 1164, 1118, - 1119, 1170, 1171, 1172, 1103, 1104, 1158, 1159, 1160, 1192, - 1193, 825, 950, 948, 947, 946, 951, 1032, 1033, 1034, - 1156, 815, 1031, 1095, 84, 237, 85, 86, 527, 87, - 656, 459, 460, 666, 667, 88, 89, 295, 721, 296, - 291, 283, 407, 637, 457, 458, 747, 998, 1140, 911, - 1000, 1001, 909, 90, 871, 1061, 498, 280, 710, 313, - 838, 839, 687, 91, 398, 92, 300, 723, 1069, 1206, - 93, 94, 115, 554, 1005, 95, 113, 553, 1004, 630, - 631, 96, 727, 97, 117, 323, 324, 325, 564, 1009, - 1209, 1217, 1223, 1227, 1230, 1235, 1084, 326, 755, 1082, - 919, 1179, 760, 561 + -1, 1, 59, 2, 4, 60, 61, 956, 811, 955, + 810, 944, 1031, 1032, 1093, 941, 1027, 1028, 1090, 62, + 303, 544, 743, 744, 745, 998, 994, 902, 997, 1073, + 1139, 1185, 1214, 1218, 1226, 514, 835, 63, 245, 64, + 471, 65, 473, 66, 67, 467, 104, 105, 187, 675, + 853, 854, 855, 860, 243, 465, 464, 466, 161, 597, + 662, 663, 664, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 627, 173, 628, 174, 629, 1024, + 293, 546, 468, 507, 879, 877, 508, 516, 988, 298, + 501, 309, 543, 895, 189, 236, 200, 640, 223, 656, + 644, 645, 447, 254, 109, 550, 259, 548, 1075, 290, + 251, 681, 221, 653, 432, 219, 650, 429, 832, 484, + 553, 751, 69, 480, 685, 481, 482, 679, 678, 680, + 677, 866, 483, 70, 444, 445, 71, 230, 72, 258, + 868, 1132, 493, 494, 73, 228, 1066, 314, 315, 74, + 965, 274, 275, 522, 717, 892, 75, 706, 509, 76, + 707, 332, 77, 333, 267, 78, 79, 80, 81, 82, + 83, 425, 830, 229, 657, 836, 837, 838, 839, 1053, + 440, 977, 978, 1052, 976, 1114, 1110, 1111, 1166, 1120, + 1121, 1172, 1173, 1174, 1105, 1106, 1160, 1161, 1162, 1194, + 1195, 827, 952, 950, 949, 948, 953, 1034, 1035, 1036, + 1158, 817, 1033, 1097, 84, 237, 85, 86, 529, 87, + 658, 461, 462, 668, 669, 88, 89, 295, 723, 296, + 291, 283, 407, 639, 459, 460, 749, 1000, 1142, 913, + 1002, 1003, 911, 90, 873, 1063, 500, 280, 712, 313, + 840, 841, 689, 91, 398, 92, 300, 725, 1071, 1208, + 93, 94, 115, 556, 1007, 95, 113, 555, 1006, 632, + 633, 96, 729, 97, 117, 323, 324, 325, 566, 1011, + 1211, 1219, 1225, 1229, 1232, 1237, 1086, 326, 757, 1084, + 921, 1181, 762, 563 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1481,831 +1487,834 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 98, 216, 516, 101, 518, 628, 262, 263, 269, 271, - 790, 744, 807, 543, 552, 615, 616, 617, 618, 619, - 688, 1098, 188, 534, 750, 1113, 194, 195, 197, 199, - 201, 536, 205, 206, 345, 207, 1078, 1079, 485, 706, - 487, 1105, 202, 768, 539, 224, 579, 203, 801, 937, - 1076, 264, 116, 233, 940, 694, 907, 757, 242, 495, - 368, 369, 370, 238, 868, 252, 1058, 256, 276, 960, - 563, 393, 1176, 1189, 281, 707, 635, 239, 279, 282, - 565, 282, 282, 289, 312, 265, -636, 489, 855, 856, - 758, 708, 1062, 391, 302, 321, 3, 304, 393, 306, - 393, 307, 1190, 1106, -272, 1063, 1177, 316, -2, 318, - 225, 1232, -272, -272, 529, 1035, 530, 1107, 1059, 1038, - 268, 270, 58, -272, 695, 496, 807, 844, 845, 376, - 377, -272, -272, 227, 378, 379, 234, 869, 393, 321, - 846, 186, 99, 176, 178, 590, 857, 378, 379, 1099, - 847, 217, 961, 1114, 265, 265, 1053, 182, 240, 184, - 231, 1100, 247, 1101, 249, 1115, 272, 1116, 297, 1106, - 204, 395, 396, 397, 424, 586, 490, 401, 999, 402, - 588, 58, 404, 1107, 393, 761, 226, 580, 412, 494, - 393, 413, -436, 414, 591, 592, 277, 416, -272, -272, - -272, -636, 629, 1102, 241, 1054, -396, 1117, 1191, 278, - 322, 392, 426, 763, 848, 766, 58, 433, 1208, 435, - 913, -265, 769, 770, 540, 581, 441, 938, 443, 266, - -381, 235, 941, 461, 58, 393, 58, 106, 849, 804, - 58, 58, 468, 58, 470, 58, 58, 712, 748, 58, - 486, 58, 764, 58, 322, 497, 175, 719, 720, 509, - 1233, -436, -436, 515, 393, 517, 191, 519, 193, 522, - 686, 523, 524, 525, -454, 107, 526, 393, 393, 611, - 612, 393, 528, 100, 177, 179, 593, 531, 58, 850, - 289, 393, 535, 393, 537, 393, 410, 1055, 183, 791, - 185, 232, 192, 248, 765, 250, 696, 273, 393, -255, - 385, -361, 680, 698, -361, -450, 587, -361, -361, -361, - 393, 589, 813, 218, 483, 728, 729, 730, 1120, 1121, - 1122, 393, 393, 681, 472, -361, -361, 393, 393, 393, - 473, 474, 475, 220, 102, 1219, 393, 393, -262, 776, - 777, 393, 393, 393, 393, 510, 606, 731, 476, 477, - 607, 373, 374, 375, 814, -307, 54, 959, 732, 733, - 734, 735, 736, 737, 334, 697, 260, 448, 108, 797, - 234, 244, 699, 343, 1162, 449, 450, 253, 411, 1166, - 58, 778, 779, 196, 208, 1014, 1015, 209, 210, 1174, - 634, 636, 1220, 180, 284, 767, 181, 780, 310, 792, - 211, 738, 639, 640, 422, 386, 484, 423, 308, 212, - 213, 58, 793, 700, 650, 261, 701, 653, 312, 693, - 380, 381, 103, 372, 794, 382, 935, 58, 895, 896, - 897, 659, 967, 968, 906, 795, 796, 511, 320, 1199, - 903, 1010, 1011, 1012, 388, 739, 740, 668, 669, 670, - 1016, 1017, 807, 807, 216, 1020, 1021, 1146, 1147, 1080, - 1081, 454, 455, 456, 682, 214, 209, 210, 702, 327, - 58, 389, 899, 305, 44, 45, 46, 901, 902, 211, - 691, 692, 393, 58, 844, 845, 521, 335, 1099, 213, - 331, 403, 58, 709, 513, 533, 417, 846, 215, 336, - 1100, 713, 1101, 714, 337, 1114, 58, 847, 418, 629, - 993, 294, 338, 994, 289, 289, 339, 1115, 301, 1116, - 58, 722, 58, 1161, 724, 1165, 726, 340, 383, 384, - 1042, 1043, 1018, 1019, 1044, 317, 1045, 319, 387, 419, - 549, 58, 1102, 393, 1173, 409, 753, 420, 390, 513, - 759, 1194, 1195, 44, 45, 46, 1197, 399, 1046, 1117, - 1089, 1090, 1200, 1201, 1202, 569, 341, 571, 572, 573, - 574, 848, 575, 608, 609, 610, 393, 215, 985, 583, - 584, 585, 371, 1092, 1093, 342, 1047, 596, 597, 598, - 599, 600, 601, 602, 344, 849, 613, 614, 346, 863, - 448, 620, 621, 1048, 1049, 285, 286, 347, 449, 450, - 348, 406, 349, 350, 351, 806, 981, 352, 353, 451, - 810, 354, 415, 811, 1087, 884, 812, 452, 453, 1226, - 888, 355, 356, 357, 1042, 1043, 472, 358, 1065, 832, - 1045, 359, 473, 474, 475, 434, 816, 817, 360, 327, - 361, 818, 819, 362, 363, 364, 649, 365, 366, 652, - 476, 477, 1046, 328, 329, 330, 367, 912, 400, 914, - 331, 408, 421, 427, 820, 870, 428, 430, 431, 873, - 874, 436, 876, 437, 878, 555, 556, 881, 557, 438, - 1047, 885, 886, 887, 454, 455, 456, 889, 439, 442, - -384, 488, 273, 550, 558, 1056, 103, 1048, 1049, 1068, - 294, 547, 294, 567, 568, 532, 605, 632, 559, 821, - 822, 823, 538, 629, 633, 560, 904, 644, 645, 646, - 908, 647, 657, 824, 658, 685, 672, 703, 393, 711, - 725, 754, 921, 922, 751, 756, 752, 762, 771, 772, - 773, 774, 775, 781, 782, 800, 783, 784, 785, 786, - 570, 787, 805, 788, 826, 789, 798, 799, 576, 577, - 578, 827, 582, 829, 841, 854, 842, 867, 843, 594, - 879, 880, 265, 892, 898, 910, 918, 920, 603, 604, - 926, 927, 932, 949, 936, 980, 966, 956, 969, 957, - 945, 984, 990, 997, 999, 1013, 1070, 1007, 1024, 1135, - 952, 1028, 1083, 1094, 1096, 1127, 1136, 1134, 1143, 1145, - 1182, 1185, 1144, 1211, 1210, 1188, 962, 1148, 1214, 1213, - 1151, 1215, 1222, 1225, 1228, 1231, 1040, 1153, 1039, 1008, - 1150, 641, 991, 905, 1072, 1138, 246, 467, 545, 1057, - 973, 1168, 674, 977, 978, 970, 623, 497, 964, 622, - 802, 68, 624, 803, 982, 983, 110, 111, 311, 663, - 684, 1175, 255, 394, 717, 1181, 1123, 955, 726, 1198, - 406, 958, 665, 1203, 1187, 1196, 1155, 840, 718, 891, - 965, 716, 1077, 979, 664, 493, 989, 1186, 1131, 0, - 0, 1067, 1006, 859, 860, 861, 862, 0, 566, 0, - 917, 0, 0, 0, 689, 0, 0, 0, 0, 0, - 0, 1207, 1023, 0, 0, 1027, 0, 0, 0, 0, - 0, 883, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1052, 0, 0, 0, 665, - 0, 0, 0, 0, 0, 0, 1060, 0, 0, 0, - 0, 513, 0, 0, 0, 0, 513, 513, 0, 746, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1060, 1060, 0, - 923, 924, 0, 1139, 925, 0, 0, 0, 0, 928, - 0, 0, 0, 0, 0, 929, 0, 930, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 663, 0, 933, - 0, 0, 0, 0, 0, 934, 0, 0, 0, 0, - 0, 0, 973, 973, 973, 0, 0, 0, 1124, 1125, - 1126, 943, 944, 1128, 1129, 0, 0, 0, 0, 0, - 0, 759, 0, 1133, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1141, 1142, 0, 0, 0, - 0, 0, 0, 831, 1149, 0, 0, 1152, 0, 0, - 0, 0, 0, 1157, 0, 0, 0, 0, 973, 0, - 1163, 0, 972, 973, 0, 1167, 0, 0, 1169, 0, - 0, 0, 0, 973, 0, 513, 0, 0, 0, 865, - 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, - 0, 0, 0, 0, 0, 0, 0, 1221, 0, 0, - 0, 0, 0, 294, 0, 0, 0, 1229, 0, 0, - 0, 0, 0, 973, 0, 0, 0, 0, 0, 0, - 0, 1204, 1205, 0, 0, 0, 0, 0, 0, 1060, - 0, 0, 0, 915, 916, 0, 0, 0, 1037, 0, - 0, 0, 0, 0, 1041, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 513, 0, 0, 0, 0, 1218, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 931, 0, 0, 0, 0, 1234, 1236, 1237, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 98, 792, 518, 101, 520, 630, 262, 263, 269, 271, + 216, 746, 809, 690, 752, 565, 545, 554, 487, 1100, + 489, 536, 188, 1115, 770, 276, 194, 195, 197, 199, + 201, 538, 205, 206, 345, 207, 541, 708, 1080, 1081, + 581, 617, 618, 619, 620, 621, 497, 939, 1107, 942, + 116, 264, 58, 759, 592, 238, 870, 962, 242, 1060, + 368, 369, 370, 391, 1178, 252, 281, 256, 637, 239, + 1078, 393, 224, 709, 909, 1234, 696, 393, 279, 282, + 698, 282, 282, 289, -638, 265, 760, 846, 847, 710, + 815, 312, 393, 567, 302, 1191, 227, 304, 1179, 306, + 848, 307, 1101, 593, 594, 268, 393, 316, 321, 318, + 849, 1061, 498, 260, 1102, 700, 1103, 327, 1064, 1055, + 270, 99, 180, 176, 1192, 181, 809, 1108, -262, 871, + 393, 1065, 816, 178, 182, 186, 184, 225, 331, 265, + 963, 1109, 231, 247, 249, 697, 3, 1101, 272, 699, + 240, 1116, 297, 277, 265, 424, 588, 590, 1104, 1102, + 234, 1103, 261, 1117, 393, 1118, 278, 58, 1056, -396, + 305, 395, 396, 397, 850, 202, 1108, 401, 393, 402, + 203, 582, 404, 392, 701, 58, -2, 393, 412, 496, + 1109, 413, -436, 414, 765, 595, 241, 416, 851, -638, + 1001, 58, 321, 1104, 58, 771, 772, 1119, 778, 779, + 915, 631, 426, 226, 385, -265, 58, 433, 542, 435, + 1210, 583, 763, 322, 1235, 58, 441, 940, 443, 943, + 1193, 266, 58, 463, 58, 58, 58, -454, 58, 393, + 233, 806, 470, 58, 472, 58, -436, 58, 106, 714, + 488, 852, 688, 750, 58, 499, 175, 721, 722, 511, + 1057, -436, 100, 517, 177, 519, 191, 521, 193, 524, + 803, 525, 526, 527, 179, 183, 528, 185, 393, 613, + 614, 768, 530, 232, 248, 250, 107, 533, 1221, 273, + 289, -272, 537, -255, 539, 793, -450, 589, 591, -272, + -272, 393, 393, 204, 799, 410, 730, 731, 732, 393, + -272, 682, 1122, 1123, 1124, 217, 393, 322, -272, -272, + 491, 386, -361, 234, 485, -361, 393, 102, -361, -361, + -361, 393, 683, 474, 393, 393, 393, 393, 733, 475, + 476, 477, 393, 376, 377, 1222, -361, -361, 512, 734, + 735, 736, 737, 738, 739, 780, 781, 478, 479, 192, + 961, 393, 393, 393, 393, 393, 393, 393, 1164, 378, + 379, 702, 196, 1168, 703, 422, -307, 54, 423, 380, + 381, 857, 858, 1176, 382, -272, -272, -272, 58, 108, + 58, 523, 740, 535, 1016, 1017, 334, 411, 209, 210, + 636, 638, 58, -272, -272, 343, 608, 378, 379, 492, + 609, 211, 641, 642, 218, 103, 486, 766, 767, -381, + 235, 213, 969, 970, 652, 769, 704, 655, 393, 901, + 409, 695, 782, 1201, 903, 904, 741, 742, 58, 859, + 513, 661, 794, 897, 898, 899, 220, 795, 448, 908, + 796, 797, 798, 1012, 253, 905, 449, 450, 1013, 670, + 671, 672, 809, 809, 937, 58, 818, 819, 631, 1082, + 1083, 820, 821, 285, 286, 216, 684, 1014, 1018, 1019, + 1022, 1023, 1148, 1149, 1037, 44, 45, 46, 1040, 383, + 384, 244, 693, 694, 822, 208, 1116, 995, 209, 210, + 996, 846, 847, 284, 515, 711, 417, 308, 1117, 215, + 1118, 211, 310, 715, 848, 716, 58, 312, 418, 1163, + 212, 213, 58, 387, 849, 1167, 289, 289, 557, 558, + 320, 559, 58, 724, 335, 1175, 726, 389, 728, 823, + 824, 825, 454, 455, 456, 1020, 1021, 560, 372, 419, + 551, 388, 1119, 826, 610, 611, 612, 420, 755, 515, + 336, 561, 761, 373, 374, 375, 1044, 1045, 562, 393, + 1046, 987, 1047, 983, 337, 571, 214, 573, 574, 575, + 576, 531, 577, 532, 338, 44, 45, 46, 850, 585, + 586, 587, 1091, 1092, 1048, 1094, 1095, 598, 599, 600, + 601, 602, 603, 604, 339, 327, 448, 615, 616, 215, + 340, 865, 851, 341, 449, 450, 622, 623, 342, 328, + 329, 330, 1049, 344, 294, 451, 331, 808, 346, 347, + 1228, 301, 812, 452, 453, 813, 1089, 886, 814, 1050, + 1051, 348, 890, 349, 350, 351, 352, 353, 317, 354, + 319, 834, 1044, 1045, 355, 356, 1067, 357, 1047, 358, + 359, 390, 1058, 360, 474, 361, 651, 362, 363, 654, + 475, 476, 477, 1196, 1197, 399, 364, 365, 1199, 914, + 1048, 916, 366, 367, 1202, 1203, 1204, 872, 478, 479, + 400, 875, 876, 403, 878, 371, 880, 408, 421, 883, + 454, 455, 456, 887, 888, 889, 427, 428, 1049, 891, + 430, 431, 436, 437, 438, 439, 442, -384, 457, 458, + 490, 1070, 273, 103, 406, 1050, 1051, 549, 569, 552, + 570, 607, 634, 635, 631, 415, 646, 647, 906, 648, + 659, 649, 910, 660, 674, 687, 705, 713, 393, 727, + 753, 754, 756, 758, 923, 924, 802, 764, 434, 773, + 774, 775, 807, 828, 776, 777, 1137, 783, 784, 785, + 786, 856, 829, 831, 787, 788, 789, 790, 800, 1146, + 791, 881, 801, 882, 1150, 843, 265, 1153, 844, 845, + 869, 894, 900, 912, 920, 928, 922, 929, 934, 938, + 951, 958, 959, 971, 968, 986, 992, 982, 1170, 999, + 1001, 1030, 947, 1009, 1015, 1072, 1026, 1085, 1096, 1138, + 1098, 1129, 954, 294, 1136, 294, 1145, 1147, 534, 1184, + 1187, 1190, 1183, 1212, 1213, 540, 1216, 1215, 964, 1217, + 1224, 1189, 1227, 1233, 1230, 1042, 1155, 1041, 1152, 907, + 993, 1010, 1074, 1140, 246, 469, 1059, 972, 547, 676, + 966, 626, 975, 625, 624, 979, 980, 68, 804, 499, + 805, 686, 110, 572, 111, 311, 984, 985, 1209, 1177, + 255, 578, 579, 580, 719, 584, 394, 957, 1125, 960, + 728, 1200, 596, 1205, 1198, 1157, 666, 720, 893, 718, + 1079, 605, 606, 981, 842, 967, 495, 991, 1188, 1133, + 0, 0, 0, 1069, 1008, 861, 862, 863, 864, 919, + 0, 0, 0, 0, 0, 568, 0, 0, 0, 0, + 0, 0, 0, 0, 1025, 0, 0, 1029, 0, 0, + 0, 0, 0, 885, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 643, 0, 0, 1054, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1062, 0, + 0, 0, 0, 515, 0, 0, 0, 0, 515, 515, + 0, 0, 665, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 406, 0, 667, 0, 1062, + 1062, 0, 925, 926, 0, 1141, 927, 0, 0, 0, + 0, 930, 0, 0, 0, 0, 0, 931, 0, 932, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, + 0, 935, 0, 0, 0, 0, 0, 936, 0, 0, + 0, 0, 0, 0, 975, 975, 975, 0, 0, 0, + 1126, 1127, 1128, 945, 946, 1130, 1131, 0, 0, 0, + 0, 0, 0, 761, 667, 1135, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1143, 1144, 0, + 0, 0, 0, 0, 748, 0, 1151, 0, 0, 1154, + 0, 0, 0, 0, 0, 1159, 0, 0, 0, 0, + 975, 0, 1165, 0, 974, 975, 0, 1169, 0, 0, + 1171, 0, 0, 0, 0, 975, 0, 515, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1180, + 0, 0, 665, 0, 0, 0, 0, 0, 0, 0, + 1180, 0, 0, 0, 0, 0, 0, 0, 0, 1223, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1231, + 0, 0, 0, 0, 0, 975, 0, 0, 0, 0, + 0, 0, 0, 1206, 1207, 0, 0, 0, 0, 0, + 0, 1062, 0, 0, 0, 0, 0, 0, 833, 0, + 1039, 0, 0, 0, 0, 0, 1043, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, + 0, 1220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 867, 0, 0, 0, 1236, 1238, + 1239, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 287, 0, 0, 0, 0, 0, -329, -329, 0, + 0, 0, 0, 0, -329, 1087, 0, 0, 294, 1088, + 0, 0, 0, 0, -329, -329, 0, 0, -329, -329, + 0, 0, -329, -329, 1099, 0, -329, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 917, 918, + 0, 0, 0, 0, 0, -329, -329, 0, 0, -329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1085, 0, 0, 0, 1086, 0, 0, + 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 515, 0, 0, 933, 0, 515, 0, + 0, 515, 0, 0, 1156, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -329, 0, 0, 0, 0, 0, + 0, 0, 515, -329, 0, -329, -329, -329, -329, -329, + -329, -329, 0, 0, -329, 0, 0, 0, -329, 0, + 0, 0, -329, 0, 0, 0, 515, 0, 0, 665, + 667, -329, -329, -329, -329, 515, 0, 0, 0, 0, + 0, -329, 0, -329, -329, -329, 0, -329, -329, -329, + -329, -329, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -329, 0, 0, 0, 0, -329, -329, 0, + 58, -329, 515, 288, 0, 446, 0, 989, 0, 990, + 0, -297, -297, 0, 0, 0, 0, 0, -297, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -297, -297, + 0, 0, -297, -297, 0, 0, -297, -297, 0, 0, + -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -297, + -297, 0, 0, -297, 0, 1038, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1097, 0, 663, 665, 0, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 0, 0, -329, -329, - 0, 0, 0, 0, 0, -329, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -329, -329, 0, 513, -329, - -329, 0, 0, -329, -329, 0, 0, -329, 0, 0, - 0, 513, 987, 0, 988, 0, 513, 0, 0, 513, - 0, 0, 1154, 0, 0, 0, -329, -329, 0, 0, - -329, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 513, 0, 0, 0, 0, 0, - 1036, 0, 0, 513, 0, -329, 0, 0, 0, 0, - 0, 0, 0, 0, -329, 0, -329, -329, -329, -329, - -329, -329, -329, 0, 0, -329, 0, 0, 0, -329, - 0, 0, 0, -329, 0, 0, 0, 0, 0, 0, - 513, 0, -329, -329, -329, -329, 0, 0, 0, 0, - 1074, 1075, -329, 0, -329, -329, -329, 0, -329, -329, - -329, -329, -329, 0, 0, 0, 0, 0, 0, 0, - 0, -329, 0, 0, 0, 0, -329, -329, 446, 58, - -329, 0, 288, 0, -297, -297, 0, 0, 0, 0, - 0, -297, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -297, -297, 0, 0, -297, -297, 0, 0, -297, - -297, 0, 0, -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -297, -297, 0, 0, -297, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, - 0, 0, 0, 0, -388, -388, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -297, 0, + 0, 0, 0, 0, 0, 1076, 1077, -297, 0, -297, + -297, -297, -297, -297, -297, -297, 0, 0, -297, 0, + 0, 0, -297, 0, 0, 0, -297, 0, 0, 0, + 0, 0, 0, 257, 0, -297, -297, -297, -297, -388, + -388, 0, 0, 0, 0, -297, -388, -297, -297, -297, + 0, -297, -297, -297, -297, -297, -388, -388, 0, 0, + -388, -388, 0, 0, -388, -388, -297, 0, -388, 0, + 0, -297, -297, -388, 0, -297, -297, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -388, -388, 0, 0, -388, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -388, -388, 0, 0, -388, -388, 0, 0, -388, - -388, -297, 0, -388, 0, 0, 1180, 0, -388, 0, - -297, 0, -297, -297, -297, -297, -297, -297, -297, 0, - 0, -297, -388, -388, 0, -297, -388, 0, 0, -297, - 0, 0, 0, 0, 0, 0, 0, 0, -297, -297, - -297, -297, 0, 0, 0, 0, 0, 0, -297, 0, - -297, -297, -297, 0, -297, -297, -297, -297, -297, 0, - 0, 0, 0, 0, 0, 0, 0, -297, 0, 0, - 0, -388, -297, -297, 0, 0, -297, -297, 0, 0, - -388, 0, -388, -388, -388, -388, -388, -388, -388, 0, - 0, -388, 0, 0, 0, -388, 663, -388, 0, -388, - 0, 0, 0, 0, 0, 0, 0, 0, -388, -388, - -388, -388, 0, 0, 0, 0, 0, 0, -388, 0, - -388, -388, -388, 0, -388, -388, -388, -388, -388, 0, - 0, 0, 198, 0, 0, 0, 0, -388, -275, -275, - 0, 0, -388, -388, 0, -275, -388, 0, 0, 0, - 0, 0, 0, 0, 0, -275, -275, 0, 0, -275, - -275, 0, 0, -275, -275, 0, 0, -275, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 198, 0, 0, 0, 0, 0, -275, + -275, 0, 0, 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, 0, 0, 0, -275, -275, 0, 0, - -275, 0, 0, 0, 0, 0, 0, 0, 0, 1110, - 0, 0, 0, 0, 0, -481, -481, 0, 0, 0, - 0, 0, -481, 0, 0, 1111, 0, 0, 0, 0, + -275, -275, 0, 0, -275, -275, -388, 0, -275, 0, + 0, 1182, 0, 0, 0, -388, 0, -388, -388, -388, + -388, -388, -388, -388, 0, 0, -388, -275, -275, 0, + -388, -275, -388, 0, -388, 0, 0, 0, 0, 0, + 0, 0, 0, -388, -388, -388, -388, 0, 0, 0, + 0, 0, 0, -388, 0, -388, -388, -388, 0, -388, + -388, -388, -388, -388, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -388, 0, -275, 0, 0, -388, + -388, 0, 0, -388, 0, -275, 0, -275, -275, -275, + -275, -275, -275, -275, 0, 0, -275, 0, 0, 0, + -275, 665, 0, 0, -275, 0, 0, 0, 0, 0, + 0, 0, 0, -275, -275, -275, -275, 0, 0, 0, + 0, 0, 0, -275, 0, -275, -275, -275, 0, -275, + -275, -275, -275, -275, 0, 1112, 0, 0, 0, 0, + 0, -481, -481, 0, -275, 0, 0, 0, -481, -275, + -275, 1113, 58, -275, 0, 0, 0, 0, -481, -481, 0, 0, -481, -481, 0, 0, -481, -481, 0, 0, - -481, -481, 0, 0, -481, -275, 0, 0, 0, 0, - 0, 0, 0, 0, -275, 0, -275, -275, -275, -275, - -275, -275, -275, -481, -481, -275, 0, -481, 0, -275, - 0, 0, 0, -275, 0, 0, 0, 0, 0, 0, - 0, 0, -275, -275, -275, -275, 0, 0, 0, 0, - 0, 0, -275, 0, -275, -275, -275, 0, -275, -275, - -275, -275, -275, 0, 0, 0, 0, 0, 0, 0, - 0, -275, -481, 0, 0, 0, -275, -275, 0, 58, - -275, -481, 0, -481, -481, -481, -481, -481, -481, -481, - 0, 0, -481, 0, 0, 0, -481, 0, 0, 0, - -481, 0, 0, 0, 0, 0, 0, 0, 0, -481, - -481, -481, -481, 0, 0, 0, 0, 0, 0, -481, - 0, -481, -481, -481, 0, -481, -481, -481, -481, -481, - 0, 0, 0, 112, 0, 0, 0, 0, -481, -626, - -626, 0, 0, -481, -481, 0, -626, -481, 0, 0, - 0, 0, 0, 0, 0, 0, -626, -626, 0, 0, - -626, -626, 0, 0, -626, -626, 0, 0, -626, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -626, -626, 0, - 0, -626, 0, 0, 0, 0, 0, 0, 0, 0, - 114, 0, 0, 0, 0, 0, -621, -621, 0, 0, - 0, 0, 0, -621, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -621, -621, 0, 0, -621, -621, 0, - 0, -621, -621, 0, 0, -621, -626, 0, 0, 0, - 0, 0, 0, 0, 0, -626, 0, -626, -626, -626, - -626, -626, -626, -626, -621, -621, -626, 0, -621, 0, - -626, 0, 0, 0, -626, 0, 0, 0, 0, 0, - 0, 0, 0, -626, -626, -626, -626, 0, 0, 0, - 0, 0, 0, -626, 0, -626, -626, -626, 0, -626, - -626, -626, -626, -626, 0, 0, 0, 0, 0, 0, - 0, 0, -626, -621, 0, 0, 0, -626, -626, 0, - 0, -626, -621, 0, -621, -621, -621, -621, -621, -621, - -621, 0, 0, -621, 0, 0, 0, -621, 0, 0, - 0, -621, 0, 0, 0, 0, 0, 0, 0, 0, - -621, -621, -621, -621, 0, 0, 0, 0, 0, 0, - -621, 0, -621, -621, -621, 0, -621, -621, -621, -621, - -621, 0, 0, 0, 118, 0, 0, 0, 0, -621, - 119, 120, 0, 0, -621, -621, 0, 121, -621, 0, - 0, 0, 0, 0, 0, 0, 0, 122, 123, 0, - 0, 124, 125, 0, 0, 126, 127, 0, 0, 128, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, - 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, - 0, 190, 0, 0, 0, 0, 0, 119, 120, 0, - 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, - 0, 0, 126, 127, 0, 0, 128, 132, 0, 0, - 0, 0, 0, 0, 0, 0, 133, 0, 134, 135, - 136, 137, 138, 139, 140, 129, 130, 141, 0, 131, - 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, - 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, - 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 0, 0, 0, - 0, 0, 0, 157, 132, 0, 0, 0, 158, 159, - 0, 0, 160, 133, 0, 134, 135, 136, 137, 138, - 139, 140, 0, 0, 141, 0, 0, 0, 142, 0, - 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, - 0, 144, 145, 146, 147, 0, 0, 0, 0, 0, - 0, 148, 0, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 0, 0, 0, 222, 0, 0, 0, 0, - 157, -279, -279, 0, 0, 158, 159, 0, -279, 160, - 0, 0, 0, 0, 0, 0, 0, 0, -279, -279, - 0, 0, -279, -279, 0, 0, -279, -279, 0, 0, - -279, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, - -279, 0, 0, -279, 0, 0, 0, 0, 0, 0, - 0, 0, 292, 0, 0, 0, 0, 0, 119, 120, + -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, + -481, 0, 0, -481, 0, 0, 0, 0, 0, 0, + 0, 0, 112, 0, 0, 0, 0, 0, -628, -628, + 0, 0, 0, 0, 0, -628, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -628, -628, 0, 0, -628, + -628, 0, 0, -628, -628, 0, 0, -628, -481, 0, + 0, 0, 0, 0, 0, 0, 0, -481, 0, -481, + -481, -481, -481, -481, -481, -481, -628, -628, -481, 0, + -628, 0, -481, 0, 0, 0, -481, 0, 0, 0, + 0, 0, 0, 0, 0, -481, -481, -481, -481, 0, + 0, 0, 0, 0, 0, -481, 0, -481, -481, -481, + 0, -481, -481, -481, -481, -481, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -628, -481, 0, 0, 0, + 0, -481, -481, 0, -628, -481, -628, -628, -628, -628, + -628, -628, -628, 0, 0, -628, 0, 0, 0, -628, + 0, 0, 0, -628, 0, 0, 0, 0, 0, 0, + 114, 0, -628, -628, -628, -628, -623, -623, 0, 0, + 0, 0, -628, -623, -628, -628, -628, 0, -628, -628, + -628, -628, -628, -623, -623, 0, 0, -623, -623, 0, + 0, -623, -623, -628, 0, -623, 0, 0, -628, -628, + 0, 0, -628, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -623, -623, 0, 0, -623, 0, + 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, + 0, 0, 0, 119, 120, 0, 0, 0, 0, 0, + 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 122, 123, 0, 0, 124, 125, 0, 0, 126, 127, + 0, 0, 128, -623, 0, 0, 0, 0, 0, 0, + 0, 0, -623, 0, -623, -623, -623, -623, -623, -623, + -623, 129, 130, -623, 0, 131, 0, -623, 0, 0, + 0, -623, 0, 0, 0, 0, 0, 0, 0, 0, + -623, -623, -623, -623, 0, 0, 0, 0, 0, 0, + -623, 0, -623, -623, -623, 0, -623, -623, -623, -623, + -623, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 132, -623, 0, 0, 0, 0, -623, -623, 0, 133, + -623, 134, 135, 136, 137, 138, 139, 140, 0, 0, + 141, 0, 0, 0, 142, 0, 0, 0, 143, 0, + 0, 0, 0, 0, 0, 190, 0, 144, 145, 146, + 147, 119, 120, 0, 0, 0, 0, 148, 121, 149, + 150, 151, 0, 152, 153, 154, 155, 156, 122, 123, + 0, 0, 124, 125, 0, 0, 126, 127, 157, 0, + 128, 0, 0, 158, 159, 0, 0, 160, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, + 130, 0, 0, 131, 0, 0, 0, 0, 0, 0, + 0, 0, 222, 0, 0, 0, 0, 0, -279, -279, + 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -279, -279, 0, 0, -279, + -279, 0, 0, -279, -279, 0, 0, -279, 132, 0, + 0, 0, 0, 0, 0, 0, 0, 133, 0, 134, + 135, 136, 137, 138, 139, 140, -279, -279, 141, 0, + -279, 0, 142, 0, 0, 0, 143, 0, 0, 0, + 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, + 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, + 0, 152, 153, 154, 155, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -279, 157, 0, 0, 0, + 0, 158, 159, 0, -279, 160, -279, -279, -279, -279, + -279, -279, -279, 0, 0, -279, 0, 0, 0, -279, + 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, + 292, 0, -279, -279, -279, -279, 119, 120, 0, 0, + 0, 0, -279, 121, -279, -279, -279, 0, -279, -279, + -279, -279, -279, 122, 123, 0, 0, 124, 125, 0, + 0, 126, 127, -279, 0, 128, 0, 0, -279, -279, + 0, 0, -279, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 129, 130, 0, 0, 131, 0, + 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, + 0, 0, 0, -615, -615, 0, 0, 0, 0, 0, + -615, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -615, -615, 0, 0, -615, -615, 0, 0, -615, -615, + 0, 0, -615, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 0, 134, 135, 136, 137, 138, 139, + 140, -615, -615, 141, 0, -615, 0, 142, 0, 0, + 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, + 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, + 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -615, 157, 0, 0, 0, 0, 158, 159, 0, -615, + 160, -615, -615, -615, -615, -615, -615, -615, 0, 0, + -615, 0, 0, 0, -615, 0, 0, 0, -615, 0, + 0, 0, 0, 0, 0, 405, 0, -615, -615, -615, + -615, 119, 120, 0, 0, 0, 0, -615, 121, -615, + -615, -615, 0, -615, -615, -615, -615, -615, 122, 123, + 0, 0, 124, 125, 0, 0, 126, 127, -615, 0, + 128, 0, 0, -615, -615, 0, 0, -615, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, + 130, 0, 0, 131, 0, 0, 0, 0, 0, 0, + 0, 0, 564, 0, 0, 0, 0, 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, 124, - 125, 0, 0, 126, 127, 0, 0, 128, -279, 0, - 0, 0, 0, 0, 0, 0, 0, -279, 0, -279, - -279, -279, -279, -279, -279, -279, 129, 130, -279, 0, - 131, 0, -279, 0, 0, 0, -279, 0, 0, 0, - 0, 0, 0, 0, 0, -279, -279, -279, -279, 0, - 0, 0, 0, 0, 0, -279, 0, -279, -279, -279, - 0, -279, -279, -279, -279, -279, 0, 0, 0, 0, - 0, 0, 0, 0, -279, 132, 0, 0, 0, -279, - -279, 0, 0, -279, 133, 0, 134, 135, 136, 137, + 125, 0, 0, 126, 127, 0, 0, 128, 132, 0, + 0, 0, 0, 0, 0, 0, 0, 133, 0, 134, + 135, 136, 137, 138, 139, 140, 129, 130, 141, 0, + 131, 0, 142, 0, 0, 0, 143, 0, 0, 0, + 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, + 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, + 0, 152, 153, 154, 155, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 132, 157, 0, 0, 0, + 0, 158, 159, 0, 133, 160, 134, 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, - 0, 0, 144, 145, 146, 147, 0, 0, 0, 0, - 0, 0, 148, 0, 149, 150, 151, 0, 152, 153, - 154, 155, 156, 0, 0, 0, 299, 0, 0, 0, - 0, 157, -613, -613, 0, 0, 158, 159, 0, -613, - 160, 0, 0, 0, 0, 0, 0, 0, 0, -613, - -613, 0, 0, -613, -613, 0, 0, -613, -613, 0, - 0, -613, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -613, -613, 0, 0, -613, 0, 0, 0, 0, 0, - 0, 0, 0, 405, 0, 0, 0, 0, 0, 119, - 120, 0, 0, 0, 0, 0, 121, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, - 124, 125, 0, 0, 126, 127, 0, 0, 128, -613, - 0, 0, 0, 0, 0, 0, 0, 0, -613, 0, - -613, -613, -613, -613, -613, -613, -613, 129, 130, -613, - 0, 131, 0, -613, 0, 0, 0, -613, 0, 0, - 0, 0, 0, 0, 0, 0, -613, -613, -613, -613, - 0, 0, 0, 0, 0, 0, -613, 0, -613, -613, - -613, 0, -613, -613, -613, -613, -613, 0, 0, 0, - 0, 0, 0, 0, 0, -613, 132, 0, 0, 0, - -613, -613, 0, 0, -613, 133, 0, 134, 135, 136, - 137, 138, 139, 140, 0, 0, 141, 0, 0, 0, - 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, - 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, - 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 0, 562, 0, 0, - 0, 0, 157, 119, 120, 0, 0, 158, 159, 0, - 121, 160, 0, 0, 0, 0, 0, 0, 0, 0, + 747, 0, 144, 145, 146, 147, 119, 120, 0, 0, + 0, 0, 148, 121, 149, 150, 151, 0, 152, 153, + 154, 155, 156, 122, 123, 0, 0, 124, 125, 0, + 0, 126, 127, 157, 0, 128, 0, 0, 158, 159, + 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 129, 130, 0, 0, 131, 0, + 0, 0, 0, 0, 0, 0, 0, 884, 0, 0, + 0, 0, 0, 119, 120, 0, 0, 0, 0, 0, + 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, 127, - 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 129, 130, 0, 0, 131, 0, 0, 0, 0, - 0, 0, 0, 0, 745, 0, 0, 0, 0, 0, - 119, 120, 0, 0, 0, 0, 0, 121, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 122, 123, 0, - 0, 124, 125, 0, 0, 126, 127, 0, 0, 128, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 133, - 0, 134, 135, 136, 137, 138, 139, 140, 129, 130, - 141, 0, 131, 0, 142, 0, 0, 0, 143, 0, + 0, 0, 128, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 0, 134, 135, 136, 137, 138, 139, + 140, 129, 130, 141, 0, 131, 0, 142, 0, 0, + 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, + 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, + 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 132, 157, 0, 0, 0, 0, 158, 159, 0, 133, + 160, 134, 135, 136, 137, 138, 139, 140, 0, 0, + 141, 0, 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, - 0, 0, 0, 0, 0, 0, 157, 132, 0, 0, - 0, 158, 159, 0, 0, 160, 133, 0, 134, 135, - 136, 137, 138, 139, 140, 0, 0, 141, 0, 0, - 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, - 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, - 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 0, 882, 0, - 0, 0, 0, 157, 119, 120, 0, 0, 158, 159, - 0, 121, 160, 0, 0, 0, 0, 0, 0, 0, - 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, - 127, 0, 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, - 133, 0, 134, 135, 136, 137, 138, 139, 140, 0, - 0, 141, 0, 0, 0, 142, 0, 0, 0, 143, - 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, - 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 5, 0, 0, 0, 0, 500, 0, 157, 7, 8, - 0, 0, 158, 159, 0, 0, 160, 11, 12, -422, - 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, - 16, 0, 0, 501, 502, 0, 18, 19, 20, 503, - 22, 23, 24, 0, 25, 0, 0, 0, 0, 0, - 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 28, 0, -422, 0, - 0, 0, -422, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 0, 33, 34, 35, 36, 0, 0, - 0, 37, 0, 0, 38, 0, 0, 40, 0, 0, - 504, 0, 42, 43, 44, 45, 46, 47, 48, 0, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, - 5, 0, 0, 0, 0, 500, 0, 55, 7, 8, - 0, 56, 0, 0, 57, 0, 0, 11, 12, -421, - 13, 0, 0, 0, 0, 14, 15, 0, 0, 0, - 16, 0, 0, 501, 502, 0, 18, 19, 20, 503, - 22, 23, 24, 0, 25, 0, 0, 58, 0, 0, - 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 28, 0, -421, 0, - 0, 0, -421, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 0, 33, 34, 35, 36, 0, 0, - 0, 37, 0, 0, 38, 0, 0, 40, 0, 0, - 504, 0, 42, 43, 44, 45, 46, 47, 48, 0, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, - 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, - 0, 56, 5, 0, 57, 0, 0, 6, 0, 0, - 7, 8, 9, 0, 0, 0, 10, 0, 0, 11, - 12, 0, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 17, 0, 58, 18, 19, - 20, 21, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 39, 0, 40, - 0, 0, 41, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 508, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 671, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 690, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 872, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 971, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1002, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1003, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1066, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, -657, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1132, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1184, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 0, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, -647, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 500, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, -649, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 501, 502, 0, 18, 19, - 20, 503, 22, 23, 24, 0, 25, 0, 0, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 504, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 119, 120, 0, 0, 0, - 0, 0, 121, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 122, 123, 0, 0, 124, 125, 0, 55, - 126, 127, 0, 56, 128, 0, 57, 0, 0, 489, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, - 0, 0, 119, 120, 0, 0, 0, 0, 0, 121, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, - 123, 0, 0, 124, 125, 0, 0, 126, 127, 0, - 0, 128, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, - 129, 130, 141, 0, 131, 0, 142, 0, 490, 0, - 143, 393, 0, 0, 0, 0, 0, 0, 0, 144, - 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, - 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 0, 0, 0, 0, 0, 0, 157, 132, - 0, 0, 0, 158, 159, 0, 0, 160, 133, 0, - 134, 135, 136, 137, 138, 139, 140, 0, 0, 141, - 0, 0, 0, 142, 0, 0, 0, 143, 0, 0, - 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, - 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, - 151, 0, 152, 153, 154, 155, 156, 0, 0, 119, - 120, 0, 0, 0, 0, 157, 121, 0, 0, 0, - 158, 159, 0, 0, 160, 0, 122, 123, 0, 0, - 124, 125, 0, 0, 126, 127, 0, 0, 128, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 0, 0, 0, 0, 502, 0, 157, 7, + 8, 0, 0, 158, 159, 0, 0, 160, 11, 12, + -422, 13, 0, 0, 0, 0, 14, 15, 0, 0, + 0, 16, 0, 0, 503, 504, 0, 18, 19, 20, + 505, 22, 23, 24, 0, 25, 0, 0, 0, 0, + 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 28, 0, -422, + 0, 0, 0, -422, 29, 30, 31, 32, 0, 0, + 0, 0, 0, 0, 0, 33, 34, 35, 36, 0, + 0, 0, 37, 0, 0, 38, 0, 0, 40, 0, + 0, 506, 0, 42, 43, 44, 45, 46, 47, 48, + 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, + 54, 5, 0, 0, 0, 0, 502, 0, 55, 7, + 8, 0, 56, 0, 0, 57, 0, 0, 11, 12, + -421, 13, 0, 0, 0, 0, 14, 15, 0, 0, + 0, 16, 0, 0, 503, 504, 0, 18, 19, 20, + 505, 22, 23, 24, 0, 25, 0, 0, 0, 0, + 58, 0, 0, 26, 0, 27, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 28, 0, -421, + 0, 0, 0, -421, 29, 30, 31, 32, 0, 0, + 0, 0, 0, 0, 0, 33, 34, 35, 36, 0, + 0, 0, 37, 0, 0, 38, 0, 0, 40, 0, + 0, 506, 0, 42, 43, 44, 45, 46, 47, 48, + 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, + 54, 0, 0, 0, 0, 0, 0, 0, 55, 0, + 0, 0, 56, 0, 0, 57, 5, 0, 0, 0, + 0, 6, 0, 0, 7, 8, 9, 0, 0, 0, + 10, 0, 0, 11, 12, 0, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 17, + 58, 0, 18, 19, 20, 21, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 0, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 39, 0, 40, 0, 0, 41, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, 510, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, 673, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, 692, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, 874, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, 973, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, 1004, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, 1005, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, 1068, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, -659, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, 1134, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, 1186, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, 0, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, -649, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, + 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, + 57, 0, 0, 11, 12, -651, 13, 0, 0, 0, + 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, + 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, + 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, + 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, + 44, 45, 46, 47, 48, 0, 49, 0, 0, 119, + 120, 0, 0, 0, 0, 0, 121, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 122, 123, 0, 0, + 124, 125, 0, 55, 126, 127, 0, 56, 128, 0, + 57, 0, 0, 491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 119, 120, 0, 0, + 0, 0, 0, 0, 0, 58, 119, 120, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, 129, 130, 141, 0, 131, 0, - 142, 0, 0, 0, 143, 894, 0, 0, 0, 0, + 142, 0, 492, 0, 143, 393, 0, 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 157, 132, 0, 0, 0, 158, 159, 0, - 0, 160, 133, 0, 134, 135, 136, 137, 138, 139, + 0, 0, 0, 132, 157, 0, 0, 0, 0, 158, + 159, 0, 133, 160, 134, 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, - 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, - 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 157, - 0, 0, 0, 0, 158, 159, 0, 0, 160 + 144, 145, 146, 147, 119, 120, 0, 0, 0, 0, + 148, 121, 149, 150, 151, 0, 152, 153, 154, 155, + 156, 122, 123, 0, 0, 124, 125, 0, 0, 126, + 127, 157, 0, 128, 0, 0, 158, 159, 0, 0, + 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, + 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, + 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 0, 134, 135, 136, 137, 138, 139, 140, 129, + 130, 141, 0, 131, 0, 142, 0, 0, 0, 143, + 896, 0, 0, 0, 0, 0, 0, 0, 144, 145, + 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, + 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 132, 157, + 0, 0, 0, 0, 158, 159, 0, 133, 160, 134, + 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, + 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, + 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, + 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, + 0, 152, 153, 154, 155, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, + 0, 158, 159, 0, 0, 160 }; static const yytype_int16 yycheck[] = { - 5, 41, 269, 8, 271, 393, 76, 77, 79, 80, - 595, 546, 630, 303, 314, 380, 381, 382, 383, 384, - 491, 1, 27, 295, 552, 1, 31, 32, 33, 34, - 35, 298, 37, 38, 131, 40, 1002, 1003, 254, 1, - 256, 1, 1, 1, 1, 1, 1, 6, 63, 1, - 53, 1, 1, 1, 1, 1, 53, 1, 63, 1, - 157, 158, 159, 1, 1, 70, 1, 72, 1, 1, - 321, 66, 1, 7, 1, 37, 1, 15, 83, 84, - 20, 86, 87, 88, 63, 35, 35, 41, 94, 95, - 34, 53, 129, 64, 99, 35, 0, 102, 66, 104, - 66, 106, 36, 129, 52, 142, 35, 112, 0, 114, - 66, 1, 60, 61, 288, 947, 290, 143, 53, 951, - 1, 1, 178, 71, 70, 67, 744, 18, 19, 170, - 171, 79, 80, 1, 162, 163, 84, 74, 66, 35, - 31, 179, 1, 1, 1, 1, 152, 162, 163, 129, - 41, 6, 84, 129, 35, 35, 1, 1, 96, 1, - 1, 141, 1, 143, 1, 141, 1, 143, 1, 129, - 129, 176, 177, 178, 1, 1, 130, 182, 181, 184, - 1, 178, 187, 143, 66, 180, 142, 142, 193, 259, - 66, 196, 142, 198, 50, 51, 129, 202, 146, 147, - 148, 150, 181, 183, 142, 50, 74, 183, 142, 142, - 150, 182, 217, 181, 105, 181, 178, 222, 1184, 224, - 748, 178, 180, 181, 181, 180, 231, 179, 233, 179, - 178, 179, 179, 238, 178, 66, 178, 1, 129, 627, - 178, 178, 247, 178, 249, 178, 178, 514, 548, 178, - 255, 178, 180, 178, 150, 260, 18, 529, 530, 264, - 150, 142, 142, 268, 66, 270, 28, 272, 30, 274, - 486, 276, 277, 278, 142, 39, 281, 66, 66, 376, - 377, 66, 287, 142, 142, 142, 142, 292, 178, 180, - 295, 66, 297, 66, 299, 66, 50, 142, 142, 181, - 142, 142, 84, 142, 180, 142, 1, 142, 66, 142, - 62, 75, 53, 1, 78, 142, 142, 81, 82, 83, - 66, 142, 47, 142, 50, 3, 4, 5, 1047, 1048, - 1049, 66, 66, 74, 75, 99, 100, 66, 66, 66, - 81, 82, 83, 142, 54, 85, 66, 66, 52, 180, - 181, 66, 66, 66, 66, 57, 55, 35, 99, 100, - 59, 172, 173, 174, 89, 129, 130, 838, 46, 47, - 48, 49, 50, 51, 119, 70, 20, 52, 142, 181, - 84, 58, 70, 128, 1103, 60, 61, 84, 142, 1108, - 178, 180, 181, 150, 15, 180, 181, 18, 19, 1118, - 405, 406, 142, 15, 181, 180, 18, 180, 129, 180, - 31, 89, 417, 418, 15, 167, 142, 18, 142, 40, - 41, 178, 180, 15, 429, 69, 18, 432, 63, 499, - 60, 61, 142, 58, 180, 65, 801, 178, 728, 729, - 730, 446, 180, 181, 744, 180, 180, 149, 20, 1168, - 740, 180, 180, 180, 165, 133, 134, 462, 463, 464, - 180, 180, 1080, 1081, 504, 180, 180, 180, 180, 1004, - 1005, 146, 147, 148, 479, 96, 18, 19, 70, 53, - 178, 164, 733, 181, 105, 106, 107, 738, 739, 31, - 495, 496, 66, 178, 18, 19, 181, 179, 129, 41, - 74, 180, 178, 508, 266, 181, 91, 31, 129, 179, - 141, 516, 143, 518, 179, 129, 178, 41, 103, 181, - 122, 89, 179, 125, 529, 530, 179, 141, 96, 143, - 178, 536, 178, 181, 539, 181, 541, 179, 168, 169, - 16, 17, 180, 181, 20, 113, 22, 115, 166, 134, - 312, 178, 183, 66, 181, 68, 561, 142, 63, 321, - 565, 1159, 1160, 105, 106, 107, 1164, 22, 44, 183, - 180, 181, 1170, 1171, 1172, 337, 179, 339, 340, 341, - 342, 105, 344, 373, 374, 375, 66, 129, 68, 351, - 352, 353, 160, 180, 181, 179, 72, 359, 360, 361, - 362, 363, 364, 365, 179, 129, 378, 379, 179, 679, - 52, 385, 386, 89, 90, 86, 87, 179, 60, 61, - 179, 189, 179, 179, 179, 630, 877, 179, 179, 71, - 635, 179, 200, 638, 1022, 705, 641, 79, 80, 1224, - 711, 179, 179, 179, 16, 17, 75, 179, 20, 654, - 22, 179, 81, 82, 83, 223, 16, 17, 179, 53, - 179, 21, 22, 179, 179, 179, 428, 179, 179, 431, - 99, 100, 44, 67, 68, 69, 179, 747, 22, 749, - 74, 68, 142, 181, 44, 690, 181, 181, 181, 694, - 695, 142, 697, 20, 699, 34, 35, 702, 37, 74, - 72, 706, 707, 708, 146, 147, 148, 712, 142, 181, - 142, 20, 142, 53, 53, 966, 142, 89, 90, 986, - 288, 52, 290, 180, 180, 293, 180, 142, 67, 89, - 90, 91, 300, 181, 142, 74, 741, 22, 22, 20, - 745, 142, 50, 103, 142, 78, 179, 73, 66, 180, - 142, 20, 757, 758, 181, 84, 181, 181, 181, 180, - 180, 180, 180, 180, 180, 55, 180, 180, 180, 180, - 338, 180, 142, 180, 142, 181, 180, 180, 346, 347, - 348, 142, 350, 142, 180, 86, 181, 178, 181, 357, - 1, 1, 35, 181, 49, 30, 84, 142, 366, 367, - 180, 142, 180, 74, 183, 875, 179, 181, 142, 178, - 815, 68, 142, 53, 181, 180, 30, 142, 142, 1070, - 825, 141, 82, 30, 181, 180, 103, 181, 20, 81, - 75, 53, 1083, 181, 110, 142, 841, 1088, 142, 93, - 1091, 68, 179, 68, 180, 20, 954, 1093, 953, 919, - 1090, 419, 898, 742, 996, 1072, 65, 246, 305, 968, - 865, 1112, 471, 868, 869, 854, 388, 872, 842, 387, - 625, 4, 389, 626, 879, 880, 13, 13, 109, 447, - 479, 1130, 71, 175, 521, 1136, 1051, 828, 893, 1165, - 458, 836, 460, 1173, 1145, 1161, 1096, 656, 527, 721, - 843, 520, 1000, 872, 458, 258, 893, 1143, 1066, -1, - -1, 981, 917, 675, 676, 677, 678, -1, 323, -1, - 754, -1, -1, -1, 492, -1, -1, -1, -1, -1, - -1, 1182, 937, -1, -1, 940, -1, -1, -1, -1, - -1, 703, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 960, -1, -1, -1, 527, - -1, -1, -1, -1, -1, -1, 971, -1, -1, -1, - -1, 733, -1, -1, -1, -1, 738, 739, -1, 547, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1002, 1003, -1, - 762, 763, -1, 1073, 766, -1, -1, -1, -1, 771, - -1, -1, -1, -1, -1, 777, -1, 779, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 595, -1, 791, - -1, -1, -1, -1, -1, 797, -1, -1, -1, -1, - -1, -1, 1047, 1048, 1049, -1, -1, -1, 1053, 1054, - 1055, 813, 814, 1058, 1059, -1, -1, -1, -1, -1, - -1, 1066, -1, 1068, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1080, 1081, -1, -1, -1, - -1, -1, -1, 651, 1089, -1, -1, 1092, -1, -1, - -1, -1, -1, 1098, -1, -1, -1, -1, 1103, -1, - 1105, -1, 864, 1108, -1, 1110, -1, -1, 1113, -1, - -1, -1, -1, 1118, -1, 877, -1, -1, -1, 687, - -1, -1, -1, -1, -1, -1, -1, 1132, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1143, -1, - -1, -1, -1, -1, -1, -1, -1, 1217, -1, -1, - -1, -1, -1, 721, -1, -1, -1, 1227, -1, -1, - -1, -1, -1, 1168, -1, -1, -1, -1, -1, -1, - -1, 1176, 1177, -1, -1, -1, -1, -1, -1, 1184, - -1, -1, -1, 751, 752, -1, -1, -1, 950, -1, - -1, -1, -1, -1, 956, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 966, -1, -1, -1, -1, 1214, + 5, 597, 269, 8, 271, 393, 76, 77, 79, 80, + 41, 548, 632, 493, 554, 321, 303, 314, 254, 1, + 256, 295, 27, 1, 1, 1, 31, 32, 33, 34, + 35, 298, 37, 38, 131, 40, 1, 1, 1004, 1005, + 1, 380, 381, 382, 383, 384, 1, 1, 1, 1, + 1, 1, 180, 1, 1, 1, 1, 1, 63, 1, + 157, 158, 159, 64, 1, 70, 1, 72, 1, 15, + 53, 66, 1, 37, 53, 1, 1, 66, 83, 84, + 1, 86, 87, 88, 35, 35, 34, 18, 19, 53, + 47, 63, 66, 20, 99, 7, 1, 102, 35, 104, + 31, 106, 129, 50, 51, 1, 66, 112, 35, 114, + 41, 53, 67, 20, 141, 1, 143, 53, 129, 1, + 1, 1, 15, 1, 36, 18, 746, 129, 52, 74, + 66, 142, 89, 1, 1, 181, 1, 66, 74, 35, + 84, 143, 1, 1, 1, 70, 0, 129, 1, 70, + 96, 129, 1, 129, 35, 1, 1, 1, 185, 141, + 84, 143, 69, 141, 66, 143, 142, 180, 50, 74, + 183, 176, 177, 178, 105, 1, 129, 182, 66, 184, + 6, 142, 187, 184, 70, 180, 0, 66, 193, 259, + 143, 196, 142, 198, 183, 142, 142, 202, 129, 150, + 183, 180, 35, 185, 180, 182, 183, 185, 182, 183, + 750, 183, 217, 142, 62, 180, 180, 222, 183, 224, + 1186, 182, 182, 150, 150, 180, 231, 181, 233, 181, + 142, 181, 180, 238, 180, 180, 180, 142, 180, 66, + 1, 629, 247, 180, 249, 180, 142, 180, 1, 516, + 255, 182, 488, 550, 180, 260, 18, 531, 532, 264, + 142, 142, 142, 268, 142, 270, 28, 272, 30, 274, + 63, 276, 277, 278, 142, 142, 281, 142, 66, 376, + 377, 183, 287, 142, 142, 142, 39, 292, 85, 142, + 295, 52, 297, 142, 299, 183, 142, 142, 142, 60, + 61, 66, 66, 129, 183, 50, 3, 4, 5, 66, + 71, 53, 1049, 1050, 1051, 6, 66, 150, 79, 80, + 41, 169, 75, 84, 50, 78, 66, 54, 81, 82, + 83, 66, 74, 75, 66, 66, 66, 66, 35, 81, + 82, 83, 66, 172, 173, 142, 99, 100, 57, 46, + 47, 48, 49, 50, 51, 182, 183, 99, 100, 84, + 840, 66, 66, 66, 66, 66, 66, 66, 1105, 162, + 163, 15, 150, 1110, 18, 15, 129, 130, 18, 60, + 61, 94, 95, 1120, 65, 146, 147, 148, 180, 142, + 180, 183, 89, 183, 182, 183, 119, 142, 18, 19, + 405, 406, 180, 164, 165, 128, 55, 162, 163, 130, + 59, 31, 417, 418, 142, 142, 142, 182, 182, 180, + 181, 41, 182, 183, 429, 182, 70, 432, 66, 735, + 68, 501, 182, 1170, 740, 741, 133, 134, 180, 152, + 149, 446, 182, 730, 731, 732, 142, 182, 52, 746, + 182, 182, 182, 182, 84, 742, 60, 61, 182, 464, + 465, 466, 1082, 1083, 803, 180, 16, 17, 183, 1006, + 1007, 21, 22, 86, 87, 506, 481, 182, 182, 182, + 182, 182, 182, 182, 949, 105, 106, 107, 953, 170, + 171, 58, 497, 498, 44, 15, 129, 122, 18, 19, + 125, 18, 19, 183, 266, 510, 91, 142, 141, 129, + 143, 31, 129, 518, 31, 520, 180, 63, 103, 183, + 40, 41, 180, 168, 41, 183, 531, 532, 34, 35, + 20, 37, 180, 538, 181, 183, 541, 166, 543, 89, + 90, 91, 146, 147, 148, 182, 183, 53, 58, 134, + 312, 167, 185, 103, 373, 374, 375, 142, 563, 321, + 181, 67, 567, 174, 175, 176, 16, 17, 74, 66, + 20, 68, 22, 879, 181, 337, 96, 339, 340, 341, + 342, 288, 344, 290, 181, 105, 106, 107, 105, 351, + 352, 353, 182, 183, 44, 182, 183, 359, 360, 361, + 362, 363, 364, 365, 181, 53, 52, 378, 379, 129, + 181, 681, 129, 181, 60, 61, 385, 386, 181, 67, + 68, 69, 72, 181, 89, 71, 74, 632, 181, 181, + 1226, 96, 637, 79, 80, 640, 1024, 707, 643, 89, + 90, 181, 713, 181, 181, 181, 181, 181, 113, 181, + 115, 656, 16, 17, 181, 181, 20, 181, 22, 181, + 181, 63, 968, 181, 75, 181, 428, 181, 181, 431, + 81, 82, 83, 1161, 1162, 22, 181, 181, 1166, 749, + 44, 751, 181, 181, 1172, 1173, 1174, 692, 99, 100, + 22, 696, 697, 182, 699, 160, 701, 68, 142, 704, + 146, 147, 148, 708, 709, 710, 183, 183, 72, 714, + 183, 183, 142, 20, 74, 142, 183, 142, 164, 165, + 20, 988, 142, 142, 189, 89, 90, 52, 182, 53, + 182, 182, 142, 142, 183, 200, 22, 22, 743, 20, + 50, 142, 747, 142, 181, 78, 73, 182, 66, 142, + 183, 183, 20, 84, 759, 760, 55, 183, 223, 183, + 182, 182, 142, 142, 182, 182, 1072, 182, 182, 182, + 182, 86, 142, 142, 182, 182, 182, 182, 182, 1085, + 183, 1, 182, 1, 1090, 182, 35, 1093, 183, 183, + 180, 183, 49, 30, 84, 182, 142, 142, 182, 185, + 74, 183, 180, 142, 181, 68, 142, 877, 1114, 53, + 183, 141, 817, 142, 182, 30, 142, 82, 30, 103, + 183, 182, 827, 288, 183, 290, 20, 81, 293, 75, + 53, 142, 1138, 110, 183, 300, 142, 93, 843, 68, + 181, 1147, 68, 20, 182, 956, 1095, 955, 1092, 744, + 900, 921, 998, 1074, 65, 246, 970, 856, 305, 473, + 844, 389, 867, 388, 387, 870, 871, 4, 627, 874, + 628, 481, 13, 338, 13, 109, 881, 882, 1184, 1132, + 71, 346, 347, 348, 523, 350, 175, 830, 1053, 838, + 895, 1167, 357, 1175, 1163, 1098, 460, 529, 723, 522, + 1002, 366, 367, 874, 658, 845, 258, 895, 1145, 1068, + -1, -1, -1, 983, 919, 677, 678, 679, 680, 756, + -1, -1, -1, -1, -1, 323, -1, -1, -1, -1, + -1, -1, -1, -1, 939, -1, -1, 942, -1, -1, + -1, -1, -1, 705, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 419, -1, -1, 962, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 973, -1, + -1, -1, -1, 735, -1, -1, -1, -1, 740, 741, + -1, -1, 447, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 460, -1, 462, -1, 1004, + 1005, -1, 764, 765, -1, 1075, 768, -1, -1, -1, + -1, 773, -1, -1, -1, -1, -1, 779, -1, 781, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 494, + -1, 793, -1, -1, -1, -1, -1, 799, -1, -1, + -1, -1, -1, -1, 1049, 1050, 1051, -1, -1, -1, + 1055, 1056, 1057, 815, 816, 1060, 1061, -1, -1, -1, + -1, -1, -1, 1068, 529, 1070, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1082, 1083, -1, + -1, -1, -1, -1, 549, -1, 1091, -1, -1, 1094, + -1, -1, -1, -1, -1, 1100, -1, -1, -1, -1, + 1105, -1, 1107, -1, 866, 1110, -1, 1112, -1, -1, + 1115, -1, -1, -1, -1, 1120, -1, 879, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1134, + -1, -1, 597, -1, -1, -1, -1, -1, -1, -1, + 1145, -1, -1, -1, -1, -1, -1, -1, -1, 1219, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1229, + -1, -1, -1, -1, -1, 1170, -1, -1, -1, -1, + -1, -1, -1, 1178, 1179, -1, -1, -1, -1, -1, + -1, 1186, -1, -1, -1, -1, -1, -1, 653, -1, + 952, -1, -1, -1, -1, -1, 958, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 968, -1, -1, -1, + -1, 1216, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 689, -1, -1, -1, 1233, 1234, + 1235, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, + -1, -1, -1, -1, 14, 1017, -1, -1, 723, 1021, + -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, + -1, -1, 32, 33, 1036, -1, 36, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 753, 754, + -1, -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 789, -1, -1, -1, -1, 1231, 1232, 1233, -1, + 1072, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1085, -1, -1, 791, -1, 1090, -1, + -1, 1093, -1, -1, 1096, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 104, -1, -1, -1, -1, -1, + -1, -1, 1114, 113, -1, 115, 116, 117, 118, 119, + 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, + -1, -1, 132, -1, -1, -1, 1138, -1, -1, 844, + 845, 141, 142, 143, 144, 1147, -1, -1, -1, -1, + -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, + 160, 161, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 172, -1, -1, -1, -1, 177, 178, -1, + 180, 181, 1184, 183, -1, 1, -1, 892, -1, 894, + -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, + -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, + 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, + 56, -1, -1, 59, -1, 950, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1015, -1, -1, -1, 1019, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1034, -1, 842, 843, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, + -1, -1, -1, -1, -1, 1000, 1001, 113, -1, 115, + 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, + -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, + 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, + -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, + 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, + -1, 177, 178, 41, -1, 181, 182, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, + 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, + 28, 29, -1, -1, 32, 33, 104, -1, 36, -1, + -1, 1136, -1, -1, -1, 113, -1, 115, 116, 117, + 118, 119, 120, 121, -1, -1, 124, 55, 56, -1, + 128, 59, 130, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, + -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, + 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 172, -1, 104, -1, -1, 177, + 178, -1, -1, 181, -1, 113, -1, 115, 116, 117, + 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, + 128, 1226, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, + -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, + 158, 159, 160, 161, -1, 1, -1, -1, -1, -1, + -1, 7, 8, -1, 172, -1, -1, -1, 14, 177, + 178, 17, 180, 181, -1, -1, -1, -1, 24, 25, + -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, + 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, + 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 24, 25, -1, 1070, 28, - 29, -1, -1, 32, 33, -1, -1, 36, -1, -1, - -1, 1083, 890, -1, 892, -1, 1088, -1, -1, 1091, - -1, -1, 1094, -1, -1, -1, 55, 56, -1, -1, - 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1112, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1136, -1, -1, -1, -1, -1, - 948, -1, -1, 1145, -1, 104, -1, -1, -1, -1, - -1, -1, -1, -1, 113, -1, 115, 116, 117, 118, + -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, + 29, -1, -1, 32, 33, -1, -1, 36, 104, -1, + -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, + 116, 117, 118, 119, 120, 121, 55, 56, 124, -1, + 59, -1, 128, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, + -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, + -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 104, 172, -1, -1, -1, + -1, 177, 178, -1, 113, 181, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - 1182, -1, 141, 142, 143, 144, -1, -1, -1, -1, - 998, 999, 151, -1, 153, 154, 155, -1, 157, 158, - 159, 160, 161, -1, -1, -1, -1, -1, -1, -1, - -1, 170, -1, -1, -1, -1, 175, 176, 1, 178, - 179, -1, 181, -1, 7, 8, -1, -1, -1, -1, - -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, - 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, - -1, -1, -1, -1, 7, 8, -1, -1, -1, -1, - -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, - 33, 104, -1, 36, -1, -1, 1134, -1, 41, -1, - 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, - -1, 124, 55, 56, -1, 128, 59, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, - 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, - 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, - -1, -1, -1, -1, -1, -1, -1, 170, -1, -1, - -1, 104, 175, 176, -1, -1, 179, 180, -1, -1, - 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, - -1, 124, -1, -1, -1, 128, 1224, 130, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, - 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, - 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, - -1, -1, 1, -1, -1, -1, -1, 170, 7, 8, - -1, -1, 175, 176, -1, 14, 179, -1, -1, -1, + 1, -1, 141, 142, 143, 144, 7, 8, -1, -1, + -1, -1, 151, 14, 153, 154, 155, -1, 157, 158, + 159, 160, 161, 24, 25, -1, -1, 28, 29, -1, + -1, 32, 33, 172, -1, 36, -1, -1, 177, 178, + -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, + -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, + -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, + 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, + -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, + -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, + 121, 55, 56, 124, -1, 59, -1, 128, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, + 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, + 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, + 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 104, 172, -1, -1, -1, -1, 177, 178, -1, 113, + 181, 115, 116, 117, 118, 119, 120, 121, -1, -1, + 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, 1, -1, 141, 142, 143, + 144, 7, 8, -1, -1, -1, -1, 151, 14, 153, + 154, 155, -1, 157, 158, 159, 160, 161, 24, 25, + -1, -1, 28, 29, -1, -1, 32, 33, 172, -1, + 36, -1, -1, 177, 178, -1, -1, 181, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, + 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, + -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, + -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, - 29, -1, -1, 32, 33, -1, -1, 36, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 55, 56, -1, -1, - 59, -1, -1, -1, -1, -1, -1, -1, -1, 1, - -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, - -1, -1, 14, -1, -1, 17, -1, -1, -1, -1, - -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, - 32, 33, -1, -1, 36, 104, -1, -1, -1, -1, - -1, -1, -1, -1, 113, -1, 115, 116, 117, 118, - 119, 120, 121, 55, 56, 124, -1, 59, -1, 128, + 29, -1, -1, 32, 33, -1, -1, 36, 104, -1, + -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, + 116, 117, 118, 119, 120, 121, 55, 56, 124, -1, + 59, -1, 128, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, + -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, + -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 104, 172, -1, -1, -1, + -1, 177, 178, -1, 113, 181, 115, 116, 117, 118, + 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, - -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, - 159, 160, 161, -1, -1, -1, -1, -1, -1, -1, - -1, 170, 104, -1, -1, -1, 175, 176, -1, 178, - 179, 113, -1, 115, 116, 117, 118, 119, 120, 121, - -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, - -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, - -1, -1, -1, 1, -1, -1, -1, -1, 170, 7, - 8, -1, -1, 175, 176, -1, 14, 179, -1, -1, - -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, -1, -1, 36, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, - -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, - -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 55, 56, 124, -1, 59, -1, - 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, - -1, -1, 170, 104, -1, -1, -1, 175, 176, -1, - -1, 179, 113, -1, 115, 116, 117, 118, 119, 120, - 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, + 1, -1, 141, 142, 143, 144, 7, 8, -1, -1, + -1, -1, 151, 14, 153, 154, 155, -1, 157, 158, + 159, 160, 161, 24, 25, -1, -1, 28, 29, -1, + -1, 32, 33, 172, -1, 36, -1, -1, 177, 178, + -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, + -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, + -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, + 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, + -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, + -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, + 121, 55, 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, - 161, -1, -1, -1, 1, -1, -1, -1, -1, 170, - 7, 8, -1, -1, 175, 176, -1, 14, 179, -1, - -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, - -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, - -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, - -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, - -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, - -1, -1, 32, 33, -1, -1, 36, 104, -1, -1, - -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, - 117, 118, 119, 120, 121, 55, 56, 124, -1, 59, - -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, - -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, - 157, 158, 159, 160, 161, -1, -1, -1, -1, -1, - -1, -1, -1, 170, 104, -1, -1, -1, 175, 176, - -1, -1, 179, 113, -1, 115, 116, 117, 118, 119, - 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, - -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, - 160, 161, -1, -1, -1, 1, -1, -1, -1, -1, - 170, 7, 8, -1, -1, 175, 176, -1, 14, 179, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 104, 172, -1, -1, -1, -1, 177, 178, -1, 113, + 181, 115, 116, 117, 118, 119, 120, 121, -1, -1, + 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, 1, -1, 141, 142, 143, + 144, 7, 8, -1, -1, -1, -1, 151, 14, 153, + 154, 155, -1, 157, 158, 159, 160, 161, 24, 25, + -1, -1, 28, 29, -1, -1, 32, 33, 172, -1, + 36, -1, -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, @@ -2318,532 +2327,489 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, - -1, -1, -1, -1, 170, 104, -1, -1, -1, 175, - 176, -1, -1, 179, 113, -1, 115, 116, 117, 118, + -1, -1, -1, -1, -1, 104, 172, -1, -1, -1, + -1, 177, 178, -1, 113, 181, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, - -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, - 159, 160, 161, -1, -1, -1, 1, -1, -1, -1, - -1, 170, 7, 8, -1, -1, 175, 176, -1, 14, - 179, -1, -1, -1, -1, -1, -1, -1, -1, 24, - 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, - -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, - -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, - 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, -1, -1, 36, 104, - -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, - 115, 116, 117, 118, 119, 120, 121, 55, 56, 124, - -1, 59, -1, 128, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, - -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, - 155, -1, 157, 158, 159, 160, 161, -1, -1, -1, - -1, -1, -1, -1, -1, 170, 104, -1, -1, -1, - 175, 176, -1, -1, 179, 113, -1, 115, 116, 117, - 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, - 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, -1, -1, -1, 1, -1, -1, - -1, -1, 170, 7, 8, -1, -1, 175, 176, -1, - 14, 179, -1, -1, -1, -1, -1, -1, -1, -1, + 1, -1, 141, 142, 143, 144, 7, 8, -1, -1, + -1, -1, 151, 14, 153, 154, 155, -1, 157, 158, + 159, 160, 161, 24, 25, -1, -1, 28, 29, -1, + -1, 32, 33, 172, -1, 36, -1, -1, 177, 178, + -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, + -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, + -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, + 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, - -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 55, 56, -1, -1, 59, -1, -1, -1, -1, - -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, - 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, - -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, - 104, -1, -1, -1, -1, -1, -1, -1, -1, 113, - -1, 115, 116, 117, 118, 119, 120, 121, 55, 56, - 124, -1, 59, -1, 128, -1, -1, -1, 132, -1, + -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, + -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, + 121, 55, 56, 124, -1, 59, -1, 128, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, + 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, + 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, + 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 104, 172, -1, -1, -1, -1, 177, 178, -1, 113, + 181, 115, 116, 117, 118, 119, 120, 121, -1, -1, + 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, - -1, -1, -1, -1, -1, -1, 170, 104, -1, -1, - -1, 175, 176, -1, -1, 179, 113, -1, 115, 116, - 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, - -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, - -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, - 157, 158, 159, 160, 161, -1, -1, -1, 1, -1, - -1, -1, -1, 170, 7, 8, -1, -1, 175, 176, - -1, 14, 179, -1, -1, -1, -1, -1, -1, -1, - -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, - 33, -1, -1, 36, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 104, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, - -1, 124, -1, -1, -1, 128, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, - 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, - 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, - 1, -1, -1, -1, -1, 6, -1, 170, 9, 10, - -1, -1, 175, 176, -1, -1, 179, 18, 19, 20, - 21, -1, -1, -1, -1, 26, 27, -1, -1, -1, - 31, -1, -1, 34, 35, -1, 37, 38, 39, 40, - 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, - -1, -1, 53, -1, 55, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, - -1, -1, 73, 74, 75, 76, 77, -1, -1, -1, - -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, - -1, 92, -1, -1, 95, -1, -1, 98, -1, -1, - 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 123, -1, -1, 126, 127, -1, 129, 130, - 1, -1, -1, -1, -1, 6, -1, 138, 9, 10, - -1, 142, -1, -1, 145, -1, -1, 18, 19, 20, - 21, -1, -1, -1, -1, 26, 27, -1, -1, -1, - 31, -1, -1, 34, 35, -1, 37, 38, 39, 40, - 41, 42, 43, -1, 45, -1, -1, 178, -1, -1, - -1, -1, 53, -1, 55, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 67, -1, 69, -1, - -1, -1, 73, 74, 75, 76, 77, -1, -1, -1, - -1, -1, -1, -1, 85, 86, 87, 88, -1, -1, - -1, 92, -1, -1, 95, -1, -1, 98, -1, -1, - 101, -1, 103, 104, 105, 106, 107, 108, 109, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 123, -1, -1, 126, 127, -1, 129, 130, - -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, - -1, 142, 1, -1, 145, -1, -1, 6, -1, -1, - 9, 10, 11, -1, -1, -1, 15, -1, -1, 18, - 19, -1, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, -1, 178, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, -1, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, 178, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, 7, 8, -1, -1, -1, - -1, -1, 14, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 24, 25, -1, -1, 28, 29, -1, 138, - 32, 33, -1, 142, 36, -1, 145, -1, -1, 41, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, - -1, -1, 7, 8, -1, -1, -1, -1, -1, 14, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, - 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, - -1, 36, 104, -1, -1, -1, -1, -1, -1, -1, - -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, - 55, 56, 124, -1, 59, -1, 128, -1, 130, -1, - 132, 66, -1, -1, -1, -1, -1, -1, -1, 141, - 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, - -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, - -1, -1, -1, -1, -1, -1, -1, -1, 170, 104, - -1, -1, -1, 175, 176, -1, -1, 179, 113, -1, - 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, - -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, - -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, - 155, -1, 157, 158, 159, 160, 161, -1, -1, 7, - 8, -1, -1, -1, -1, 170, 14, -1, -1, -1, - 175, 176, -1, -1, 179, -1, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, -1, -1, 36, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1, -1, -1, -1, -1, 6, -1, 172, 9, + 10, -1, -1, 177, 178, -1, -1, 181, 18, 19, + 20, 21, -1, -1, -1, -1, 26, 27, -1, -1, + -1, 31, -1, -1, 34, 35, -1, 37, 38, 39, + 40, 41, 42, 43, -1, 45, -1, -1, -1, -1, + -1, -1, -1, 53, -1, 55, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, + -1, -1, -1, 73, 74, 75, 76, 77, -1, -1, + -1, -1, -1, -1, -1, 85, 86, 87, 88, -1, + -1, -1, 92, -1, -1, 95, -1, -1, 98, -1, + -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, + -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 123, -1, -1, 126, 127, -1, 129, + 130, 1, -1, -1, -1, -1, 6, -1, 138, 9, + 10, -1, 142, -1, -1, 145, -1, -1, 18, 19, + 20, 21, -1, -1, -1, -1, 26, 27, -1, -1, + -1, 31, -1, -1, 34, 35, -1, 37, 38, 39, + 40, 41, 42, 43, -1, 45, -1, -1, -1, -1, + 180, -1, -1, 53, -1, 55, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, + -1, -1, -1, 73, 74, 75, 76, 77, -1, -1, + -1, -1, -1, -1, -1, 85, 86, 87, 88, -1, + -1, -1, 92, -1, -1, 95, -1, -1, 98, -1, + -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, + -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 123, -1, -1, 126, 127, -1, 129, + 130, -1, -1, -1, -1, -1, -1, -1, 138, -1, + -1, -1, 142, -1, -1, 145, 1, -1, -1, -1, + -1, 6, -1, -1, 9, 10, 11, -1, -1, -1, + 15, -1, -1, 18, 19, -1, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 180, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, -1, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, 96, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, -1, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, 68, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, + -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, + 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, + -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, + 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, + 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, + 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, + 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, + 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, + 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, + 105, 106, 107, 108, 109, -1, 111, -1, -1, 7, + 8, -1, -1, -1, -1, -1, 14, -1, 123, -1, + -1, 126, 127, -1, 129, 130, 24, 25, -1, -1, + 28, 29, -1, 138, 32, 33, -1, 142, 36, -1, + 145, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 7, 8, -1, -1, + -1, -1, -1, -1, -1, 180, 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, 56, 124, -1, 59, -1, - 128, -1, -1, -1, 132, 133, -1, -1, -1, -1, + 128, -1, 130, -1, 132, 66, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, - -1, -1, 170, 104, -1, -1, -1, 175, 176, -1, - -1, 179, 113, -1, 115, 116, 117, 118, 119, 120, + -1, -1, -1, 104, 172, -1, -1, -1, -1, 177, + 178, -1, 113, 181, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, - 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, - 161, -1, -1, -1, -1, -1, -1, -1, -1, 170, - -1, -1, -1, -1, 175, 176, -1, -1, 179 + 141, 142, 143, 144, 7, 8, -1, -1, -1, -1, + 151, 14, 153, 154, 155, -1, 157, 158, 159, 160, + 161, 24, 25, -1, -1, 28, 29, -1, -1, 32, + 33, 172, -1, 36, -1, -1, 177, 178, -1, -1, + 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, + -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, + 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, + 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, + 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, + 133, -1, -1, -1, -1, -1, -1, -1, 141, 142, + 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, + 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 104, 172, + -1, -1, -1, -1, 177, 178, -1, 113, 181, 115, + 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, + -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, + -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, + -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 172, -1, -1, -1, + -1, 177, 178, -1, -1, 181 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 185, 187, 0, 188, 1, 6, 9, 10, 11, + 0, 187, 189, 0, 190, 1, 6, 9, 10, 11, 15, 18, 19, 21, 26, 27, 31, 34, 37, 38, 39, 40, 41, 42, 43, 45, 53, 55, 67, 74, 75, 76, 77, 85, 86, 87, 88, 92, 95, 96, 98, 101, 103, 104, 105, 106, 107, 108, 109, 111, - 123, 126, 127, 129, 130, 138, 142, 145, 178, 186, - 189, 190, 203, 221, 223, 225, 227, 228, 270, 306, - 317, 320, 322, 328, 333, 340, 343, 346, 349, 350, - 351, 352, 353, 354, 398, 400, 401, 403, 409, 410, - 427, 437, 439, 444, 445, 449, 455, 457, 186, 1, - 142, 186, 54, 142, 230, 231, 1, 39, 142, 288, - 317, 320, 1, 450, 1, 446, 1, 458, 1, 7, + 123, 126, 127, 129, 130, 138, 142, 145, 180, 188, + 191, 192, 205, 223, 225, 227, 229, 230, 272, 308, + 319, 322, 324, 330, 335, 342, 345, 348, 351, 352, + 353, 354, 355, 356, 400, 402, 403, 405, 411, 412, + 429, 439, 441, 446, 447, 451, 457, 459, 188, 1, + 142, 188, 54, 142, 232, 233, 1, 39, 142, 290, + 319, 322, 1, 452, 1, 448, 1, 460, 1, 7, 8, 14, 24, 25, 28, 29, 32, 33, 36, 55, 56, 59, 104, 113, 115, 116, 117, 118, 119, 120, 121, 124, 128, 132, 141, 142, 143, 144, 151, 153, - 154, 155, 157, 158, 159, 160, 161, 170, 175, 176, - 179, 242, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 259, 261, 264, 1, 142, 1, 142, - 15, 18, 1, 142, 1, 142, 179, 232, 186, 278, - 1, 264, 84, 264, 186, 186, 150, 186, 1, 186, - 280, 186, 1, 6, 129, 186, 186, 186, 15, 18, - 19, 31, 40, 41, 96, 129, 353, 6, 142, 299, - 142, 296, 1, 282, 1, 66, 142, 1, 329, 357, - 321, 1, 142, 1, 84, 179, 279, 399, 1, 15, - 96, 142, 186, 238, 58, 222, 222, 1, 142, 1, - 142, 294, 186, 84, 287, 332, 186, 1, 323, 290, - 20, 69, 266, 266, 1, 35, 179, 348, 1, 348, - 1, 348, 1, 142, 335, 336, 1, 129, 142, 186, - 431, 1, 186, 415, 181, 415, 415, 1, 181, 186, - 293, 414, 1, 264, 265, 411, 413, 1, 273, 1, - 440, 265, 186, 204, 186, 181, 186, 186, 142, 275, - 129, 322, 63, 433, 331, 332, 186, 265, 186, 265, - 20, 35, 150, 459, 460, 461, 471, 53, 67, 68, - 69, 74, 345, 347, 232, 179, 179, 179, 179, 179, - 179, 179, 179, 232, 179, 249, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 249, 249, - 249, 265, 58, 172, 173, 174, 170, 171, 162, 163, - 60, 61, 65, 168, 169, 62, 167, 166, 165, 164, - 63, 64, 182, 66, 345, 186, 186, 186, 438, 22, - 22, 186, 186, 180, 186, 1, 265, 416, 68, 68, - 50, 142, 186, 186, 186, 265, 186, 91, 103, 134, - 142, 142, 15, 18, 1, 355, 186, 181, 181, 301, - 181, 181, 298, 186, 265, 186, 142, 20, 74, 142, - 364, 186, 181, 186, 318, 319, 1, 286, 52, 60, - 61, 71, 79, 80, 146, 147, 148, 418, 419, 405, - 406, 186, 240, 239, 241, 229, 266, 229, 186, 224, - 186, 226, 75, 81, 82, 83, 99, 100, 307, 309, - 310, 316, 303, 50, 142, 303, 186, 303, 20, 41, - 130, 326, 327, 435, 266, 1, 67, 186, 430, 274, - 6, 34, 35, 40, 101, 267, 270, 342, 20, 186, - 57, 149, 219, 264, 271, 186, 335, 186, 335, 186, - 337, 181, 186, 186, 186, 186, 186, 402, 186, 411, - 411, 186, 265, 181, 414, 186, 335, 186, 265, 1, - 181, 276, 205, 220, 265, 231, 291, 52, 289, 264, - 53, 304, 433, 451, 447, 34, 35, 37, 53, 67, - 74, 477, 1, 219, 462, 20, 460, 180, 180, 264, - 265, 264, 264, 264, 264, 264, 265, 265, 265, 1, - 142, 180, 265, 264, 264, 264, 1, 142, 1, 142, - 1, 50, 51, 142, 265, 243, 264, 264, 264, 264, - 264, 264, 264, 265, 265, 180, 55, 59, 248, 248, - 248, 249, 249, 250, 250, 251, 251, 251, 251, 251, - 252, 252, 253, 254, 255, 258, 260, 262, 261, 181, - 453, 454, 142, 142, 186, 1, 186, 417, 281, 186, - 186, 265, 284, 285, 22, 22, 20, 142, 300, 264, - 186, 297, 264, 186, 283, 358, 404, 50, 142, 186, - 244, 245, 246, 265, 416, 265, 407, 408, 186, 186, - 186, 20, 179, 233, 233, 314, 312, 311, 313, 295, - 53, 74, 186, 308, 310, 78, 303, 436, 364, 265, - 20, 186, 186, 266, 1, 70, 1, 70, 1, 70, - 15, 18, 70, 73, 341, 344, 1, 37, 53, 186, - 432, 180, 335, 186, 186, 338, 418, 336, 407, 414, - 414, 412, 186, 441, 186, 142, 186, 456, 3, 4, - 5, 35, 46, 47, 48, 49, 50, 51, 89, 133, - 134, 206, 207, 208, 453, 1, 265, 420, 433, 305, - 304, 181, 181, 186, 20, 472, 84, 1, 34, 186, - 476, 180, 181, 181, 180, 180, 181, 180, 1, 180, - 181, 181, 180, 180, 180, 180, 180, 181, 180, 181, - 180, 180, 180, 180, 180, 180, 180, 180, 180, 181, - 244, 181, 180, 180, 180, 180, 180, 181, 180, 180, - 55, 63, 256, 257, 261, 142, 186, 454, 194, 192, - 186, 186, 186, 47, 89, 395, 16, 17, 21, 22, - 44, 89, 90, 91, 103, 385, 142, 142, 356, 142, - 302, 265, 186, 220, 359, 360, 361, 362, 434, 435, - 405, 180, 181, 181, 18, 19, 31, 41, 105, 129, - 180, 234, 235, 236, 86, 94, 95, 152, 237, 264, - 264, 264, 264, 266, 315, 265, 324, 178, 1, 74, - 186, 428, 20, 186, 186, 269, 186, 268, 186, 1, - 1, 186, 1, 264, 266, 186, 186, 186, 348, 186, - 339, 413, 181, 277, 133, 220, 220, 220, 49, 219, - 211, 219, 219, 220, 186, 208, 433, 53, 186, 426, - 30, 423, 266, 304, 266, 265, 265, 477, 84, 474, - 142, 186, 186, 264, 264, 264, 180, 142, 264, 264, - 264, 265, 180, 264, 264, 251, 183, 1, 179, 199, - 1, 179, 195, 264, 264, 186, 389, 388, 387, 74, - 386, 390, 186, 193, 191, 359, 181, 178, 366, 364, - 1, 84, 186, 334, 246, 408, 179, 180, 181, 142, - 236, 20, 264, 186, 368, 365, 366, 186, 186, 430, - 266, 219, 186, 186, 68, 68, 272, 265, 265, 456, - 142, 211, 210, 122, 125, 212, 209, 53, 421, 181, - 424, 425, 20, 20, 452, 448, 186, 142, 266, 463, - 180, 180, 180, 180, 180, 181, 180, 180, 180, 181, - 180, 180, 263, 186, 142, 200, 201, 186, 141, 196, - 197, 396, 391, 392, 393, 391, 265, 264, 391, 199, - 195, 264, 16, 17, 20, 22, 44, 72, 89, 90, - 367, 363, 186, 1, 50, 142, 219, 235, 1, 53, - 186, 429, 129, 142, 330, 20, 20, 266, 335, 442, - 30, 213, 213, 292, 265, 265, 53, 425, 429, 429, - 453, 453, 473, 82, 470, 264, 264, 261, 202, 180, - 181, 198, 180, 181, 30, 397, 181, 264, 1, 129, - 141, 143, 183, 378, 379, 1, 129, 143, 370, 371, - 1, 17, 369, 1, 129, 141, 143, 183, 373, 374, - 368, 368, 368, 365, 186, 186, 186, 180, 186, 186, - 325, 476, 20, 186, 181, 219, 103, 214, 214, 266, - 422, 186, 186, 20, 219, 81, 180, 180, 219, 186, - 201, 219, 186, 197, 264, 392, 394, 186, 380, 381, - 382, 181, 368, 186, 372, 181, 368, 186, 219, 186, - 375, 376, 377, 181, 368, 331, 1, 35, 186, 475, - 265, 219, 75, 215, 20, 53, 475, 219, 142, 7, - 36, 142, 383, 384, 383, 383, 379, 383, 371, 368, - 383, 383, 383, 374, 186, 186, 443, 219, 429, 464, - 110, 181, 216, 93, 142, 68, 217, 465, 186, 85, - 142, 266, 179, 466, 218, 68, 244, 467, 180, 266, - 468, 20, 1, 150, 186, 469, 186, 186 + 154, 155, 157, 158, 159, 160, 161, 172, 177, 178, + 181, 244, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 261, 263, 266, 1, 142, 1, 142, + 15, 18, 1, 142, 1, 142, 181, 234, 188, 280, + 1, 266, 84, 266, 188, 188, 150, 188, 1, 188, + 282, 188, 1, 6, 129, 188, 188, 188, 15, 18, + 19, 31, 40, 41, 96, 129, 355, 6, 142, 301, + 142, 298, 1, 284, 1, 66, 142, 1, 331, 359, + 323, 1, 142, 1, 84, 181, 281, 401, 1, 15, + 96, 142, 188, 240, 58, 224, 224, 1, 142, 1, + 142, 296, 188, 84, 289, 334, 188, 1, 325, 292, + 20, 69, 268, 268, 1, 35, 181, 350, 1, 350, + 1, 350, 1, 142, 337, 338, 1, 129, 142, 188, + 433, 1, 188, 417, 183, 417, 417, 1, 183, 188, + 295, 416, 1, 266, 267, 413, 415, 1, 275, 1, + 442, 267, 188, 206, 188, 183, 188, 188, 142, 277, + 129, 324, 63, 435, 333, 334, 188, 267, 188, 267, + 20, 35, 150, 461, 462, 463, 473, 53, 67, 68, + 69, 74, 347, 349, 234, 181, 181, 181, 181, 181, + 181, 181, 181, 234, 181, 251, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 251, 251, + 251, 267, 58, 174, 175, 176, 172, 173, 162, 163, + 60, 61, 65, 170, 171, 62, 169, 168, 167, 166, + 63, 64, 184, 66, 347, 188, 188, 188, 440, 22, + 22, 188, 188, 182, 188, 1, 267, 418, 68, 68, + 50, 142, 188, 188, 188, 267, 188, 91, 103, 134, + 142, 142, 15, 18, 1, 357, 188, 183, 183, 303, + 183, 183, 300, 188, 267, 188, 142, 20, 74, 142, + 366, 188, 183, 188, 320, 321, 1, 288, 52, 60, + 61, 71, 79, 80, 146, 147, 148, 164, 165, 420, + 421, 407, 408, 188, 242, 241, 243, 231, 268, 231, + 188, 226, 188, 228, 75, 81, 82, 83, 99, 100, + 309, 311, 312, 318, 305, 50, 142, 305, 188, 305, + 20, 41, 130, 328, 329, 437, 268, 1, 67, 188, + 432, 276, 6, 34, 35, 40, 101, 269, 272, 344, + 20, 188, 57, 149, 221, 266, 273, 188, 337, 188, + 337, 188, 339, 183, 188, 188, 188, 188, 188, 404, + 188, 413, 413, 188, 267, 183, 416, 188, 337, 188, + 267, 1, 183, 278, 207, 222, 267, 233, 293, 52, + 291, 266, 53, 306, 435, 453, 449, 34, 35, 37, + 53, 67, 74, 479, 1, 221, 464, 20, 462, 182, + 182, 266, 267, 266, 266, 266, 266, 266, 267, 267, + 267, 1, 142, 182, 267, 266, 266, 266, 1, 142, + 1, 142, 1, 50, 51, 142, 267, 245, 266, 266, + 266, 266, 266, 266, 266, 267, 267, 182, 55, 59, + 250, 250, 250, 251, 251, 252, 252, 253, 253, 253, + 253, 253, 254, 254, 255, 256, 257, 260, 262, 264, + 263, 183, 455, 456, 142, 142, 188, 1, 188, 419, + 283, 188, 188, 267, 286, 287, 22, 22, 20, 142, + 302, 266, 188, 299, 266, 188, 285, 360, 406, 50, + 142, 188, 246, 247, 248, 267, 418, 267, 409, 410, + 188, 188, 188, 20, 181, 235, 235, 316, 314, 313, + 315, 297, 53, 74, 188, 310, 312, 78, 305, 438, + 366, 267, 20, 188, 188, 268, 1, 70, 1, 70, + 1, 70, 15, 18, 70, 73, 343, 346, 1, 37, + 53, 188, 434, 182, 337, 188, 188, 340, 420, 338, + 409, 416, 416, 414, 188, 443, 188, 142, 188, 458, + 3, 4, 5, 35, 46, 47, 48, 49, 50, 51, + 89, 133, 134, 208, 209, 210, 455, 1, 267, 422, + 435, 307, 306, 183, 183, 188, 20, 474, 84, 1, + 34, 188, 478, 182, 183, 183, 182, 182, 183, 182, + 1, 182, 183, 183, 182, 182, 182, 182, 182, 183, + 182, 183, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 183, 246, 183, 182, 182, 182, 182, 182, 183, + 182, 182, 55, 63, 258, 259, 263, 142, 188, 456, + 196, 194, 188, 188, 188, 47, 89, 397, 16, 17, + 21, 22, 44, 89, 90, 91, 103, 387, 142, 142, + 358, 142, 304, 267, 188, 222, 361, 362, 363, 364, + 436, 437, 407, 182, 183, 183, 18, 19, 31, 41, + 105, 129, 182, 236, 237, 238, 86, 94, 95, 152, + 239, 266, 266, 266, 266, 268, 317, 267, 326, 180, + 1, 74, 188, 430, 20, 188, 188, 271, 188, 270, + 188, 1, 1, 188, 1, 266, 268, 188, 188, 188, + 350, 188, 341, 415, 183, 279, 133, 222, 222, 222, + 49, 221, 213, 221, 221, 222, 188, 210, 435, 53, + 188, 428, 30, 425, 268, 306, 268, 267, 267, 479, + 84, 476, 142, 188, 188, 266, 266, 266, 182, 142, + 266, 266, 266, 267, 182, 266, 266, 253, 185, 1, + 181, 201, 1, 181, 197, 266, 266, 188, 391, 390, + 389, 74, 388, 392, 188, 195, 193, 361, 183, 180, + 368, 366, 1, 84, 188, 336, 248, 410, 181, 182, + 183, 142, 238, 20, 266, 188, 370, 367, 368, 188, + 188, 432, 268, 221, 188, 188, 68, 68, 274, 267, + 267, 458, 142, 213, 212, 122, 125, 214, 211, 53, + 423, 183, 426, 427, 20, 20, 454, 450, 188, 142, + 268, 465, 182, 182, 182, 182, 182, 183, 182, 182, + 182, 183, 182, 182, 265, 188, 142, 202, 203, 188, + 141, 198, 199, 398, 393, 394, 395, 393, 267, 266, + 393, 201, 197, 266, 16, 17, 20, 22, 44, 72, + 89, 90, 369, 365, 188, 1, 50, 142, 221, 237, + 1, 53, 188, 431, 129, 142, 332, 20, 20, 268, + 337, 444, 30, 215, 215, 294, 267, 267, 53, 427, + 431, 431, 455, 455, 475, 82, 472, 266, 266, 263, + 204, 182, 183, 200, 182, 183, 30, 399, 183, 266, + 1, 129, 141, 143, 185, 380, 381, 1, 129, 143, + 372, 373, 1, 17, 371, 1, 129, 141, 143, 185, + 375, 376, 370, 370, 370, 367, 188, 188, 188, 182, + 188, 188, 327, 478, 20, 188, 183, 221, 103, 216, + 216, 268, 424, 188, 188, 20, 221, 81, 182, 182, + 221, 188, 203, 221, 188, 199, 266, 394, 396, 188, + 382, 383, 384, 183, 370, 188, 374, 183, 370, 188, + 221, 188, 377, 378, 379, 183, 370, 333, 1, 35, + 188, 477, 267, 221, 75, 217, 20, 53, 477, 221, + 142, 7, 36, 142, 385, 386, 385, 385, 381, 385, + 373, 370, 385, 385, 385, 376, 188, 188, 445, 221, + 431, 466, 110, 183, 218, 93, 142, 68, 219, 467, + 188, 85, 142, 268, 181, 468, 220, 68, 246, 469, + 182, 268, 470, 20, 1, 150, 188, 471, 188, 188 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 184, 185, 186, 187, 188, 187, 189, 189, 189, - 189, 189, 190, 190, 191, 190, 192, 190, 193, 190, - 194, 190, 195, 195, 196, 196, 198, 197, 199, 199, - 200, 200, 202, 201, 204, 203, 203, 205, 205, 206, - 206, 207, 207, 208, 208, 208, 208, 208, 208, 208, - 209, 208, 208, 210, 208, 208, 208, 208, 208, 211, - 211, 212, 212, 213, 213, 214, 214, 215, 216, 215, - 217, 217, 218, 217, 219, 220, 221, 221, 222, 222, - 223, 224, 223, 225, 226, 225, 227, 227, 228, 228, - 229, 230, 230, 231, 232, 232, 233, 233, 233, 234, - 234, 235, 236, 236, 236, 236, 236, 236, 236, 237, - 237, 237, 237, 238, 239, 238, 240, 238, 241, 238, - 238, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 243, 242, 242, - 242, 242, 242, 242, 244, 244, 245, 245, 246, 247, - 247, 247, 248, 248, 248, 248, 248, 249, 249, 249, - 249, 250, 250, 250, 251, 251, 251, 252, 252, 252, - 252, 252, 252, 253, 253, 253, 254, 254, 255, 255, - 256, 256, 257, 258, 257, 259, 260, 259, 261, 262, - 263, 261, 264, 264, 265, 265, 266, 266, 267, 267, - 268, 267, 267, 269, 267, 267, 267, 267, 267, 267, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 271, 270, 272, 270, 270, 273, 270, 270, 270, 270, - 274, 270, 275, 270, 270, 276, 270, 277, 270, 270, - 278, 270, 279, 270, 270, 280, 281, 270, 270, 282, - 283, 270, 270, 270, 284, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 285, 270, 270, 286, 270, 270, - 270, 270, 270, 287, 270, 270, 270, 288, 289, 270, - 270, 290, 270, 270, 270, 291, 292, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 293, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 294, 295, 270, 270, 270, 297, 296, - 298, 298, 300, 299, 301, 302, 301, 303, 305, 304, - 306, 306, 307, 308, 308, 308, 309, 309, 311, 310, - 312, 310, 313, 310, 314, 310, 315, 310, 316, 316, - 316, 317, 318, 317, 319, 317, 321, 320, 323, 324, - 325, 322, 322, 326, 327, 326, 329, 328, 330, 330, - 330, 331, 331, 332, 332, 333, 333, 333, 334, 334, - 334, 334, 334, 335, 335, 337, 336, 338, 339, 338, - 340, 341, 342, 342, 343, 343, 344, 344, 345, 345, - 346, 346, 346, 347, 347, 347, 348, 348, 348, 349, - 349, 350, 350, 351, 351, 352, 352, 353, 353, 353, - 355, 356, 354, 354, 357, 358, 354, 354, 359, 359, - 361, 360, 363, 362, 364, 365, 366, 366, 367, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 368, - 368, 369, 369, 370, 370, 372, 371, 371, 373, 373, - 375, 374, 376, 374, 377, 374, 374, 378, 378, 380, - 379, 381, 379, 382, 379, 379, 383, 384, 384, 384, - 384, 385, 385, 385, 385, 386, 385, 385, 387, 385, - 388, 385, 389, 385, 390, 385, 391, 391, 393, 394, - 392, 395, 396, 395, 397, 397, 399, 398, 400, 400, - 402, 401, 404, 403, 406, 405, 407, 407, 408, 409, - 409, 410, 410, 411, 412, 411, 413, 414, 415, 416, - 416, 417, 417, 418, 418, 418, 418, 418, 418, 419, - 419, 419, 419, 421, 422, 420, 423, 420, 420, 424, - 424, 425, 426, 426, 427, 427, 428, 428, 428, 429, - 429, 429, 430, 430, 430, 431, 431, 431, 431, 432, - 432, 432, 432, 433, 433, 434, 434, 435, 436, 435, - 438, 437, 437, 440, 441, 442, 443, 439, 439, 444, - 444, 446, 447, 448, 445, 445, 450, 451, 452, 449, - 449, 453, 453, 454, 455, 456, 458, 457, 457, 459, - 459, 460, 460, 462, 463, 464, 465, 466, 467, 468, - 461, 469, 469, 469, 470, 470, 472, 473, 471, 471, - 474, 474, 475, 475, 475, 476, 476, 476, 477, 477, - 477, 477, 477, 477, 477 + 0, 186, 187, 188, 189, 190, 189, 191, 191, 191, + 191, 191, 192, 192, 193, 192, 194, 192, 195, 192, + 196, 192, 197, 197, 198, 198, 200, 199, 201, 201, + 202, 202, 204, 203, 206, 205, 205, 207, 207, 208, + 208, 209, 209, 210, 210, 210, 210, 210, 210, 210, + 211, 210, 210, 212, 210, 210, 210, 210, 210, 213, + 213, 214, 214, 215, 215, 216, 216, 217, 218, 217, + 219, 219, 220, 219, 221, 222, 223, 223, 224, 224, + 225, 226, 225, 227, 228, 227, 229, 229, 230, 230, + 231, 232, 232, 233, 234, 234, 235, 235, 235, 236, + 236, 237, 238, 238, 238, 238, 238, 238, 238, 239, + 239, 239, 239, 240, 241, 240, 242, 240, 243, 240, + 240, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 245, 244, 244, + 244, 244, 244, 244, 246, 246, 247, 247, 248, 249, + 249, 249, 250, 250, 250, 250, 250, 251, 251, 251, + 251, 252, 252, 252, 253, 253, 253, 254, 254, 254, + 254, 254, 254, 255, 255, 255, 256, 256, 257, 257, + 258, 258, 259, 260, 259, 261, 262, 261, 263, 264, + 265, 263, 266, 266, 267, 267, 268, 268, 269, 269, + 270, 269, 269, 271, 269, 269, 269, 269, 269, 269, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 273, 272, 274, 272, 272, 275, 272, 272, 272, 272, + 276, 272, 277, 272, 272, 278, 272, 279, 272, 272, + 280, 272, 281, 272, 272, 282, 283, 272, 272, 284, + 285, 272, 272, 272, 286, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 287, 272, 272, 288, 272, 272, + 272, 272, 272, 289, 272, 272, 272, 290, 291, 272, + 272, 292, 272, 272, 272, 293, 294, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 295, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 296, 297, 272, 272, 272, 299, 298, + 300, 300, 302, 301, 303, 304, 303, 305, 307, 306, + 308, 308, 309, 310, 310, 310, 311, 311, 313, 312, + 314, 312, 315, 312, 316, 312, 317, 312, 318, 318, + 318, 319, 320, 319, 321, 319, 323, 322, 325, 326, + 327, 324, 324, 328, 329, 328, 331, 330, 332, 332, + 332, 333, 333, 334, 334, 335, 335, 335, 336, 336, + 336, 336, 336, 337, 337, 339, 338, 340, 341, 340, + 342, 343, 344, 344, 345, 345, 346, 346, 347, 347, + 348, 348, 348, 349, 349, 349, 350, 350, 350, 351, + 351, 352, 352, 353, 353, 354, 354, 355, 355, 355, + 357, 358, 356, 356, 359, 360, 356, 356, 361, 361, + 363, 362, 365, 364, 366, 367, 368, 368, 369, 369, + 369, 369, 369, 369, 369, 369, 369, 369, 369, 370, + 370, 371, 371, 372, 372, 374, 373, 373, 375, 375, + 377, 376, 378, 376, 379, 376, 376, 380, 380, 382, + 381, 383, 381, 384, 381, 381, 385, 386, 386, 386, + 386, 387, 387, 387, 387, 388, 387, 387, 389, 387, + 390, 387, 391, 387, 392, 387, 393, 393, 395, 396, + 394, 397, 398, 397, 399, 399, 401, 400, 402, 402, + 404, 403, 406, 405, 408, 407, 409, 409, 410, 411, + 411, 412, 412, 413, 414, 413, 415, 416, 417, 418, + 418, 419, 419, 420, 420, 420, 420, 420, 420, 421, + 421, 421, 421, 421, 421, 423, 424, 422, 425, 422, + 422, 426, 426, 427, 428, 428, 429, 429, 430, 430, + 430, 431, 431, 431, 432, 432, 432, 433, 433, 433, + 433, 434, 434, 434, 434, 435, 435, 436, 436, 437, + 438, 437, 440, 439, 439, 442, 443, 444, 445, 441, + 441, 446, 446, 448, 449, 450, 447, 447, 452, 453, + 454, 451, 451, 455, 455, 456, 457, 458, 460, 459, + 459, 461, 461, 462, 462, 464, 465, 466, 467, 468, + 469, 470, 463, 471, 471, 471, 472, 472, 474, 475, + 473, 473, 476, 476, 477, 477, 477, 478, 478, 478, + 479, 479, 479, 479, 479, 479, 479 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -2906,17 +2872,17 @@ static const yytype_uint8 yyr2[] = 0, 4, 0, 5, 0, 2, 1, 3, 1, 2, 2, 1, 1, 1, 0, 4, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 6, 0, 4, 2, 1, - 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, - 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, - 2, 2, 2, 0, 2, 1, 2, 1, 0, 4, - 0, 5, 3, 0, 0, 0, 0, 13, 3, 1, - 1, 0, 0, 0, 9, 3, 0, 0, 0, 9, - 3, 1, 2, 2, 1, 1, 0, 5, 5, 1, - 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, - 19, 1, 2, 2, 0, 2, 0, 0, 8, 5, - 0, 2, 1, 2, 2, 1, 2, 2, 0, 1, - 1, 1, 1, 1, 1 + 1, 1, 1, 1, 1, 0, 0, 6, 0, 4, + 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, + 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, + 2, 1, 2, 2, 2, 0, 2, 1, 2, 1, + 0, 4, 0, 5, 3, 0, 0, 0, 0, 13, + 3, 1, 1, 0, 0, 0, 9, 3, 0, 0, + 0, 9, 3, 1, 2, 2, 1, 1, 0, 5, + 5, 1, 2, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 19, 1, 2, 2, 0, 2, 0, 0, + 8, 5, 0, 2, 1, 2, 2, 1, 2, 2, + 0, 1, 1, 1, 1, 1, 1 }; @@ -3599,47 +3565,47 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 536 "rwlparser.y" /* yacc.c:1646 */ +#line 539 "rwlparser.y" /* yacc.c:1646 */ { ; // we are done! } -#line 3607 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3573 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 3: -#line 542 "rwlparser.y" /* yacc.c:1646 */ +#line 545 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) YYABORT; } -#line 3613 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3579 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 5: -#line 548 "rwlparser.y" /* yacc.c:1646 */ +#line 551 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3623 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3589 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 6: -#line 554 "rwlparser.y" /* yacc.c:1646 */ +#line 557 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3633 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3599 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 10: -#line 569 "rwlparser.y" /* yacc.c:1646 */ +#line 572 "rwlparser.y" /* yacc.c:1646 */ { rwlprintallvars(rwm); } -#line 3639 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3605 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 13: -#line 580 "rwlparser.y" /* yacc.c:1646 */ +#line 583 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) rwlcodetail(rwm); @@ -3654,11 +3620,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->codename = 0; // we are no longer compiling code rwm->codeguess = RWL_VAR_NOGUESS; } -#line 3658 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3624 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 14: -#line 596 "rwlparser.y" /* yacc.c:1646 */ +#line 599 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3666,22 +3632,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3670 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3636 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 16: -#line 605 "rwlparser.y" /* yacc.c:1646 */ +#line 608 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3681 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3647 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 18: -#line 613 "rwlparser.y" /* yacc.c:1646 */ +#line 616 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3689,83 +3655,83 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3693 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3659 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 20: -#line 622 "rwlparser.y" /* yacc.c:1646 */ +#line 625 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3703 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3669 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 22: -#line 633 "rwlparser.y" /* yacc.c:1646 */ +#line 636 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3711 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3677 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 23: -#line 637 "rwlparser.y" /* yacc.c:1646 */ +#line 640 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAST); yyerrok; } -#line 3722 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3688 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 26: -#line 650 "rwlparser.y" /* yacc.c:1646 */ +#line 653 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->sval; } -#line 3728 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3694 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 27: -#line 652 "rwlparser.y" /* yacc.c:1646 */ +#line 655 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3734 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3700 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 28: -#line 658 "rwlparser.y" /* yacc.c:1646 */ +#line 661 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3742 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3708 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 29: -#line 662 "rwlparser.y" /* yacc.c:1646 */ +#line 665 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAPROC); yyerrok; } -#line 3753 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3719 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 32: -#line 674 "rwlparser.y" /* yacc.c:1646 */ +#line 677 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->inam; } -#line 3759 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3725 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 33: -#line 676 "rwlparser.y" /* yacc.c:1646 */ +#line 679 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3765 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3731 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 34: -#line 681 "rwlparser.y" /* yacc.c:1646 */ +#line 684 "rwlparser.y" /* yacc.c:1646 */ { // add identifier sb4 ld = rwladdvar(rwm, rwm->inam, RWL_TYPE_DB, 0); @@ -3782,11 +3748,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m2flags, RWL_P2_SOMEEXPFAIL); } -#line 3786 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3752 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 35: -#line 698 "rwlparser.y" /* yacc.c:1646 */ +#line 701 "rwlparser.y" /* yacc.c:1646 */ { // fix core dump, only call builddb if everything fine if (bit(rwm->m2flags, RWL_P2_SOMEEXPFAIL)) @@ -3842,17 +3808,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m3flags, RWL_P3_GENERATE_OK); } } -#line 3846 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3812 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 36: -#line 754 "rwlparser.y" /* yacc.c:1646 */ +#line 757 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DATABASE_WRONG); yyerrok; } -#line 3852 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3818 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 38: -#line 760 "rwlparser.y" /* yacc.c:1646 */ +#line 763 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3862,11 +3828,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3866 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3832 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 43: -#line 780 "rwlparser.y" /* yacc.c:1646 */ +#line 783 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3876,20 +3842,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3880 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3846 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 44: -#line 790 "rwlparser.y" /* yacc.c:1646 */ +#line 793 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) rwm->dbsav->password = rwlstrdup(rwm, rwm->pval.sval); } -#line 3889 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3855 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 45: -#line 795 "rwlparser.y" /* yacc.c:1646 */ +#line 798 "rwlparser.y" /* yacc.c:1646 */ { if (rwlcclassgood(rwm, (rwm->pval.sval))) { @@ -3897,11 +3863,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->cclass = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3901 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3867 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 46: -#line 803 "rwlparser.y" /* yacc.c:1646 */ +#line 806 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3914,11 +3880,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3918 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3884 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 47: -#line 816 "rwlparser.y" /* yacc.c:1646 */ +#line 819 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3949,11 +3915,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3953 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3919 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 48: -#line 847 "rwlparser.y" /* yacc.c:1646 */ +#line 850 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "results", rwm->resdb); @@ -3964,11 +3930,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->resdb = rwm->dbname; } } -#line 3968 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3934 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 49: -#line 858 "rwlparser.y" /* yacc.c:1646 */ +#line 861 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "default", rwm->defdb); @@ -3979,11 +3945,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->defdb = rwm->dbname; } } -#line 3983 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3949 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 50: -#line 869 "rwlparser.y" /* yacc.c:1646 */ +#line 872 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3997,11 +3963,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"connectionpool max size"; } } -#line 4001 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3967 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 52: -#line 885 "rwlparser.y" /* yacc.c:1646 */ +#line 888 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4010,11 +3976,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags, RWL_DB_CCACHUSER); } } -#line 4014 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3980 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 53: -#line 894 "rwlparser.y" /* yacc.c:1646 */ +#line 897 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4028,11 +3994,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"sessionpool max size"; } } -#line 4032 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3998 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 55: -#line 911 "rwlparser.y" /* yacc.c:1646 */ +#line 914 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4042,11 +4008,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "drcp pooled"; } } -#line 4046 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4012 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 56: -#line 921 "rwlparser.y" /* yacc.c:1646 */ +#line 924 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4056,11 +4022,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "dedicated"; } } -#line 4060 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4026 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 57: -#line 931 "rwlparser.y" /* yacc.c:1646 */ +#line 934 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4070,11 +4036,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "threads dedicated"; } } -#line 4074 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4040 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 58: -#line 941 "rwlparser.y" /* yacc.c:1646 */ +#line 944 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4084,11 +4050,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "reconnect"; } } -#line 4088 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4054 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 61: -#line 958 "rwlparser.y" /* yacc.c:1646 */ +#line 961 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "statemark",RWL_OCI_VERSION); @@ -4096,11 +4062,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_STATEMARK); #endif } -#line 4100 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4066 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 62: -#line 966 "rwlparser.y" /* yacc.c:1646 */ +#line 969 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "requestmark",RWL_OCI_VERSION); @@ -4108,11 +4074,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_REQMARK); #endif } -#line 4112 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4078 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 63: -#line 976 "rwlparser.y" /* yacc.c:1646 */ +#line 979 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4123,11 +4089,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4127 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4093 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 64: -#line 987 "rwlparser.y" /* yacc.c:1646 */ +#line 990 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4139,11 +4105,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4143 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4109 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 66: -#line 1003 "rwlparser.y" /* yacc.c:1646 */ +#line 1006 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4152,11 +4118,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , RWL_DBPOOL_DEFAULT_TIMEOUT, (text *)"release timeout"); } } -#line 4156 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4122 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 68: -#line 1016 "rwlparser.y" /* yacc.c:1646 */ +#line 1019 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) @@ -4165,20 +4131,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool wait attribute"); #endif } -#line 4169 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4135 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 71: -#line 1030 "rwlparser.y" /* yacc.c:1646 */ +#line 1033 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); } -#line 4178 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4144 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 72: -#line 1035 "rwlparser.y" /* yacc.c:1646 */ +#line 1038 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4189,11 +4155,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[0] = rwm->inam; rwlexprbeg(rwm); } -#line 4193 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4159 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 73: -#line 1046 "rwlparser.y" /* yacc.c:1646 */ +#line 1049 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; @@ -4205,27 +4171,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 4209 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4175 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 74: -#line 1063 "rwlparser.y" /* yacc.c:1646 */ +#line 1066 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4217 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4183 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 75: -#line 1070 "rwlparser.y" /* yacc.c:1646 */ +#line 1073 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4225 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4191 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 80: -#line 1086 "rwlparser.y" /* yacc.c:1646 */ +#line 1089 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4237,11 +4203,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4241 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4207 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 81: -#line 1098 "rwlparser.y" /* yacc.c:1646 */ +#line 1101 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_FUNC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) // e.g. out of space @@ -4256,11 +4222,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, at least 1 for return value */ } -#line 4260 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4226 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 82: -#line 1114 "rwlparser.y" /* yacc.c:1646 */ +#line 1117 "rwlparser.y" /* yacc.c:1646 */ { /* codeguess was set en rwlcodeaddp */ if (rwm->codeguess>=0 && rwm->dtype) @@ -4292,11 +4258,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->supsemerr = RWL_SUPSEM_FUNC; } -#line 4296 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4262 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 83: -#line 1150 "rwlparser.y" /* yacc.c:1646 */ +#line 1153 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4307,11 +4273,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4311 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4277 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 84: -#line 1161 "rwlparser.y" /* yacc.c:1646 */ +#line 1164 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_PROC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) /* e.g. out of space */ @@ -4323,54 +4289,54 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, return value space is wasted */ } -#line 4327 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4293 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 85: -#line 1174 "rwlparser.y" /* yacc.c:1646 */ +#line 1177 "rwlparser.y" /* yacc.c:1646 */ { rwm->mxq->evar[rwm->codeguess].v2val = rwm->facnt; rwm->supsemerr = RWL_SUPSEM_PROC; } -#line 4336 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4302 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 86: -#line 1182 "rwlparser.y" /* yacc.c:1646 */ +#line 1185 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4345 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4311 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 87: -#line 1187 "rwlparser.y" /* yacc.c:1646 */ +#line 1190 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4353 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4319 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 88: -#line 1194 "rwlparser.y" /* yacc.c:1646 */ +#line 1197 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4362 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4328 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 89: -#line 1199 "rwlparser.y" /* yacc.c:1646 */ +#line 1202 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4370 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4336 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 90: -#line 1206 "rwlparser.y" /* yacc.c:1646 */ +#line 1209 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) { @@ -4452,39 +4418,39 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } finishcodebody: ; } -#line 4456 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4422 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 93: -#line 1296 "rwlparser.y" /* yacc.c:1646 */ +#line 1299 "rwlparser.y" /* yacc.c:1646 */ { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) rwlprintvar(rwm->mxq, l); } -#line 4466 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4432 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 94: -#line 1304 "rwlparser.y" /* yacc.c:1646 */ +#line 1307 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4472 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4438 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 95: -#line 1305 "rwlparser.y" /* yacc.c:1646 */ +#line 1308 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4478 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4444 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 96: -#line 1308 "rwlparser.y" /* yacc.c:1646 */ +#line 1311 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_MISSING_DECL_BRACK); } -#line 4484 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4450 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 101: -#line 1320 "rwlparser.y" /* yacc.c:1646 */ +#line 1323 "rwlparser.y" /* yacc.c:1646 */ { sb4 la; if (rwm->dtype && @@ -4508,29 +4474,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4512 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4478 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 102: -#line 1348 "rwlparser.y" /* yacc.c:1646 */ +#line 1351 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4518 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4484 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 103: -#line 1350 "rwlparser.y" /* yacc.c:1646 */ +#line 1353 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4524 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4490 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 104: -#line 1352 "rwlparser.y" /* yacc.c:1646 */ +#line 1355 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4530 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4496 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 105: -#line 1354 "rwlparser.y" /* yacc.c:1646 */ +#line 1357 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -4545,50 +4511,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen=RWL_MAX_STRING_LENGTH; } } -#line 4549 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4515 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 106: -#line 1369 "rwlparser.y" /* yacc.c:1646 */ +#line 1372 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "file"); } -#line 4558 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4524 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 107: -#line 1374 "rwlparser.y" /* yacc.c:1646 */ +#line 1377 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "sql"); } -#line 4567 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4533 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 108: -#line 1379 "rwlparser.y" /* yacc.c:1646 */ +#line 1382 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "clob"); } -#line 4576 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4542 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 110: -#line 1388 "rwlparser.y" /* yacc.c:1646 */ +#line 1391 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_STATSONLY); } -#line 4582 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4548 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 111: -#line 1390 "rwlparser.y" /* yacc.c:1646 */ +#line 1393 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_PROCHASSQL); } -#line 4588 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4554 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 112: -#line 1392 "rwlparser.y" /* yacc.c:1646 */ +#line 1395 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; l = rwlfindvar(rwm->mxq, rwm->codename, RWL_VAR_NOGUESS); @@ -4604,11 +4570,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4608 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4574 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 114: -#line 1412 "rwlparser.y" /* yacc.c:1646 */ +#line 1415 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4622,11 +4588,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "procedure", rwm->codename); } } -#line 4626 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4592 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 116: -#line 1427 "rwlparser.y" /* yacc.c:1646 */ +#line 1430 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4640,11 +4606,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "function", rwm->codename); } } -#line 4644 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4610 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 118: -#line 1442 "rwlparser.y" /* yacc.c:1646 */ +#line 1445 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4659,11 +4625,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->codename); } } -#line 4663 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4629 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 120: -#line 1458 "rwlparser.y" /* yacc.c:1646 */ +#line 1461 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4679,11 +4645,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); yyerrok; } } -#line 4683 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4649 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 121: -#line 1501 "rwlparser.y" /* yacc.c:1646 */ +#line 1504 "rwlparser.y" /* yacc.c:1646 */ { /* There are cases where we have an expression followed @@ -4696,11 +4662,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam, RWL_STACK_VAR); } -#line 4700 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4666 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 122: -#line 1515 "rwlparser.y" /* yacc.c:1646 */ +#line 1518 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4714,11 +4680,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_DBL; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4718 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4684 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 123: -#line 1529 "rwlparser.y" /* yacc.c:1646 */ +#line 1532 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4732,11 +4698,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_INT; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4736 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4702 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 124: -#line 1543 "rwlparser.y" /* yacc.c:1646 */ +#line 1546 "rwlparser.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ @@ -4748,208 +4714,208 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_STR; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4752 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4718 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 125: -#line 1555 "rwlparser.y" /* yacc.c:1646 */ +#line 1558 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } -#line 4760 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4726 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 126: -#line 1558 "rwlparser.y" /* yacc.c:1646 */ +#line 1561 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_UNIFORM); } -#line 4766 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4732 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 127: -#line 1559 "rwlparser.y" /* yacc.c:1646 */ +#line 1562 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOGB); } -#line 4772 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4738 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 128: -#line 1560 "rwlparser.y" /* yacc.c:1646 */ +#line 1563 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOG); } -#line 4778 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4744 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 129: -#line 1561 "rwlparser.y" /* yacc.c:1646 */ +#line 1564 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXPB); } -#line 4784 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4750 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 130: -#line 1562 "rwlparser.y" /* yacc.c:1646 */ +#line 1565 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXP); } -#line 4790 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4756 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 131: -#line 1563 "rwlparser.y" /* yacc.c:1646 */ +#line 1566 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CEIL); } -#line 4796 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4762 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 132: -#line 1564 "rwlparser.y" /* yacc.c:1646 */ +#line 1567 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_TRUNC); } -#line 4802 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4768 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 133: -#line 1565 "rwlparser.y" /* yacc.c:1646 */ +#line 1568 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_FLOOR); } -#line 4808 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4774 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 134: -#line 1566 "rwlparser.y" /* yacc.c:1646 */ +#line 1569 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ROUND); } -#line 4814 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4780 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 135: -#line 1567 "rwlparser.y" /* yacc.c:1646 */ +#line 1570 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SQRT); } -#line 4820 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4786 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 136: -#line 1568 "rwlparser.y" /* yacc.c:1646 */ +#line 1571 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SIN); } -#line 4826 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4792 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 137: -#line 1569 "rwlparser.y" /* yacc.c:1646 */ +#line 1572 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_COS); } -#line 4832 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4798 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 138: -#line 1570 "rwlparser.y" /* yacc.c:1646 */ +#line 1573 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ATAN2); } -#line 4838 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4804 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 139: -#line 1571 "rwlparser.y" /* yacc.c:1646 */ +#line 1574 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LENGTHB); } -#line 4844 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4810 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 140: -#line 1573 "rwlparser.y" /* yacc.c:1646 */ +#line 1576 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB2); } -#line 4850 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4816 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 141: -#line 1575 "rwlparser.y" /* yacc.c:1646 */ +#line 1578 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB3); } -#line 4856 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4822 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 142: -#line 1577 "rwlparser.y" /* yacc.c:1646 */ +#line 1580 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB2); } -#line 4862 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4828 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 143: -#line 1579 "rwlparser.y" /* yacc.c:1646 */ +#line 1582 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB3); } -#line 4868 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4834 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 144: -#line 1580 "rwlparser.y" /* yacc.c:1646 */ +#line 1583 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GETENV); } -#line 4874 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4840 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 145: -#line 1581 "rwlparser.y" /* yacc.c:1646 */ +#line 1584 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2B); } -#line 4882 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4848 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 146: -#line 1584 "rwlparser.y" /* yacc.c:1646 */ +#line 1587 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2BB); } -#line 4890 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4856 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 147: -#line 1587 "rwlparser.y" /* yacc.c:1646 */ +#line 1590 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4896 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4862 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 148: -#line 1589 "rwlparser.y" /* yacc.c:1646 */ +#line 1592 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 4904 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4870 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 149: -#line 1593 "rwlparser.y" /* yacc.c:1646 */ +#line 1596 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4913 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4879 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 150: -#line 1597 "rwlparser.y" /* yacc.c:1646 */ +#line 1600 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG); } -#line 4919 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4885 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 151: -#line 1598 "rwlparser.y" /* yacc.c:1646 */ +#line 1601 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG2); } -#line 4925 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4891 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 152: -#line 1600 "rwlparser.y" /* yacc.c:1646 */ +#line 1603 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANGK); } -#line 4931 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4897 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 153: -#line 1602 "rwlparser.y" /* yacc.c:1646 */ +#line 1605 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NORMALRANDOM); } -#line 4937 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4903 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 154: -#line 1603 "rwlparser.y" /* yacc.c:1646 */ +#line 1606 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 4943 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4909 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 155: -#line 1605 "rwlparser.y" /* yacc.c:1646 */ +#line 1608 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ACCESS); } -#line 4949 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4915 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 156: -#line 1607 "rwlparser.y" /* yacc.c:1646 */ +#line 1610 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlexprpush(rwm, rwm->resdb, RWL_STACK_SERVERRELEASE); @@ -4960,11 +4926,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "results"); } } -#line 4964 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4930 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 157: -#line 1618 "rwlparser.y" /* yacc.c:1646 */ +#line 1621 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlexprpush(rwm, rwm->defdb, RWL_STACK_SERVERRELEASE); @@ -4975,92 +4941,92 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "default"); } } -#line 4979 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4945 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 158: -#line 1629 "rwlparser.y" /* yacc.c:1646 */ +#line 1632 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SERVERRELEASE); } -#line 4987 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4953 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 159: -#line 1633 "rwlparser.y" /* yacc.c:1646 */ +#line 1636 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "serverrelease"); yyerrok; } -#line 4997 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4963 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 160: -#line 1639 "rwlparser.y" /* yacc.c:1646 */ +#line 1642 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_OPENSESSIONCOUNT); } -#line 5005 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4971 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 161: -#line 1643 "rwlparser.y" /* yacc.c:1646 */ +#line 1646 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "opensessioncount"); yyerrok; } -#line 5015 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4981 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 162: -#line 1649 "rwlparser.y" /* yacc.c:1646 */ +#line 1652 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_ACTIVESESSIONCOUNT); } -#line 5023 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4989 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 163: -#line 1653 "rwlparser.y" /* yacc.c:1646 */ +#line 1656 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "activesessioncount"); yyerrok; } -#line 5033 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4999 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 164: -#line 1659 "rwlparser.y" /* yacc.c:1646 */ +#line 1662 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); } -#line 5042 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5008 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 165: -#line 1664 "rwlparser.y" /* yacc.c:1646 */ +#line 1667 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } -#line 5050 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5016 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 166: -#line 1668 "rwlparser.y" /* yacc.c:1646 */ +#line 1671 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_SQLID_NEED_IDENT); yyerrok; } -#line 5060 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5026 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 167: -#line 1675 "rwlparser.y" /* yacc.c:1646 */ +#line 1678 "rwlparser.y" /* yacc.c:1646 */ { /* element with furlev=0 is used by procedure call */ if (++rwm->furlev>=RWL_MAX_FUNC_RECURSION) @@ -5073,11 +5039,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[rwm->furlev] = (yychar == RWL_T_IDENTIFIER) ? rwm->previnam : rwm->inam; } -#line 5077 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5043 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 168: -#line 1689 "rwlparser.y" /* yacc.c:1646 */ +#line 1692 "rwlparser.y" /* yacc.c:1646 */ { /* syntactically, the number of arguments doesn't matter so we just provide the actual arg count to exprpush2 @@ -5089,191 +5055,191 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (rwm->furlev) rwm->furlev--; } -#line 5093 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5059 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 169: -#line 1701 "rwlparser.y" /* yacc.c:1646 */ +#line 1704 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_DBSECONDS); } -#line 5101 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5067 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 170: -#line 1705 "rwlparser.y" /* yacc.c:1646 */ +#line 1708 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_OCISECONDS); } -#line 5109 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5075 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 171: -#line 1709 "rwlparser.y" /* yacc.c:1646 */ +#line 1712 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "runseconds"); rwlexprpush(rwm, 0, RWL_STACK_RUNSECONDS); } -#line 5119 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5085 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 172: -#line 1715 "rwlparser.y" /* yacc.c:1646 */ +#line 1718 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "epochseconds"); rwlexprpush(rwm, 0, RWL_STACK_EPOCHSECONDS); } -#line 5129 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5095 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 178: -#line 1734 "rwlparser.y" /* yacc.c:1646 */ +#line 1737 "rwlparser.y" /* yacc.c:1646 */ { rwm->aacnt[rwm->furlev]++; } -#line 5135 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5101 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 180: -#line 1740 "rwlparser.y" /* yacc.c:1646 */ +#line 1743 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5141 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5107 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 181: -#line 1741 "rwlparser.y" /* yacc.c:1646 */ +#line 1744 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNOTNULL); } -#line 5147 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5113 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 183: -#line 1747 "rwlparser.y" /* yacc.c:1646 */ +#line 1750 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MINUS); } -#line 5153 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5119 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 184: -#line 1748 "rwlparser.y" /* yacc.c:1646 */ +#line 1751 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5159 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5125 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 185: -#line 1749 "rwlparser.y" /* yacc.c:1646 */ +#line 1752 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5165 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5131 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 186: -#line 1750 "rwlparser.y" /* yacc.c:1646 */ +#line 1753 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_NOT); } -#line 5171 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5137 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 188: -#line 1755 "rwlparser.y" /* yacc.c:1646 */ +#line 1758 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MUL); } -#line 5177 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5143 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 189: -#line 1756 "rwlparser.y" /* yacc.c:1646 */ +#line 1759 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_DIV); } -#line 5183 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5149 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 190: -#line 1757 "rwlparser.y" /* yacc.c:1646 */ +#line 1760 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MOD); } -#line 5189 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5155 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 192: -#line 1762 "rwlparser.y" /* yacc.c:1646 */ +#line 1765 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ADD); } -#line 5195 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5161 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 193: -#line 1763 "rwlparser.y" /* yacc.c:1646 */ +#line 1766 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUB); } -#line 5201 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5167 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 195: -#line 1767 "rwlparser.y" /* yacc.c:1646 */ +#line 1770 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_LEFT_SHIFT); } -#line 5207 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5173 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 196: -#line 1768 "rwlparser.y" /* yacc.c:1646 */ +#line 1771 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_RIGHT_SHIFT); } -#line 5213 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5179 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 198: -#line 1773 "rwlparser.y" /* yacc.c:1646 */ +#line 1776 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESS); } -#line 5219 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5185 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 199: -#line 1774 "rwlparser.y" /* yacc.c:1646 */ +#line 1777 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATER); } -#line 5225 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5191 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 200: -#line 1775 "rwlparser.y" /* yacc.c:1646 */ +#line 1778 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } -#line 5231 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5197 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 201: -#line 1776 "rwlparser.y" /* yacc.c:1646 */ +#line 1779 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } -#line 5237 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5203 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 202: -#line 1777 "rwlparser.y" /* yacc.c:1646 */ +#line 1780 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } -#line 5243 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5209 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 204: -#line 1782 "rwlparser.y" /* yacc.c:1646 */ +#line 1785 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EQUAL); } -#line 5249 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5215 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 205: -#line 1783 "rwlparser.y" /* yacc.c:1646 */ +#line 1786 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } -#line 5255 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5221 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 207: -#line 1788 "rwlparser.y" /* yacc.c:1646 */ +#line 1791 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_AND); } -#line 5261 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5227 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 209: -#line 1793 "rwlparser.y" /* yacc.c:1646 */ +#line 1796 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_XOR); } -#line 5267 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5233 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 211: -#line 1798 "rwlparser.y" /* yacc.c:1646 */ +#line 1801 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_OR); } -#line 5273 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5239 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 213: -#line 1804 "rwlparser.y" /* yacc.c:1646 */ +#line 1807 "rwlparser.y" /* yacc.c:1646 */ { // With AND (and OR) skipdep is used to mark // the expression element we need to skip until @@ -5283,20 +5249,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-andskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5287 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5253 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 214: -#line 1814 "rwlparser.y" /* yacc.c:1646 */ +#line 1817 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; } -#line 5296 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5262 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 216: -#line 1823 "rwlparser.y" /* yacc.c:1646 */ +#line 1826 "rwlparser.y" /* yacc.c:1646 */ { // see comment above rwm->ptail->branchtype = RWL_EXP_ORBRANCH; @@ -5304,20 +5270,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-orskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5308 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5274 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 217: -#line 1831 "rwlparser.y" /* yacc.c:1646 */ +#line 1834 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR ,rwm->skipdep); rwm->skipdep--; } -#line 5317 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5283 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 219: -#line 1840 "rwlparser.y" /* yacc.c:1646 */ +#line 1843 "rwlparser.y" /* yacc.c:1646 */ { // With conditional execution we mark the condition // with RWL_EXP_CONDBRANCH1 @@ -5326,50 +5292,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-condskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5330 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5296 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 220: -#line 1849 "rwlparser.y" /* yacc.c:1646 */ +#line 1852 "rwlparser.y" /* yacc.c:1646 */ { // and the place of ':' (really ELSE) with // RWL_EXP_CONDBRANCH2 rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; rwm->ptail->skipnxt = rwm->skipdep; } -#line 5341 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5307 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 221: -#line 1856 "rwlparser.y" /* yacc.c:1646 */ +#line 1859 "rwlparser.y" /* yacc.c:1646 */ { // And the actual conditional is the "end if" place rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, rwm->skipdep); rwm->skipdep--; } -#line 5351 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5317 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 223: -#line 1865 "rwlparser.y" /* yacc.c:1646 */ +#line 1868 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5357 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5323 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 225: -#line 1870 "rwlparser.y" /* yacc.c:1646 */ +#line 1873 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5363 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5329 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 227: -#line 1881 "rwlparser.y" /* yacc.c:1646 */ +#line 1884 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = 0; } -#line 5369 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5335 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 228: -#line 1886 "rwlparser.y" /* yacc.c:1646 */ +#line 1889 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) { @@ -5377,65 +5343,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); YYACCEPT; } } -#line 5381 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5347 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 229: -#line 1894 "rwlparser.y" /* yacc.c:1646 */ +#line 1897 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5387 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5353 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 230: -#line 1896 "rwlparser.y" /* yacc.c:1646 */ +#line 1899 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "threads"); yyerrok; } -#line 5393 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5359 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 232: -#line 1903 "rwlparser.y" /* yacc.c:1646 */ +#line 1906 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5399 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5365 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 233: -#line 1905 "rwlparser.y" /* yacc.c:1646 */ +#line 1908 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "run"); yyerrok; } -#line 5405 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5371 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 235: -#line 1909 "rwlparser.y" /* yacc.c:1646 */ +#line 1912 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5411 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5377 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 236: -#line 1911 "rwlparser.y" /* yacc.c:1646 */ +#line 1914 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "database"); yyerrok; } -#line 5417 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5383 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 237: -#line 1913 "rwlparser.y" /* yacc.c:1646 */ +#line 1916 "rwlparser.y" /* yacc.c:1646 */ { yyerrok ; } -#line 5423 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5389 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 238: -#line 1916 "rwlparser.y" /* yacc.c:1646 */ +#line 1919 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random procedure array"); yyerrok; } -#line 5429 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5395 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 239: -#line 1919 "rwlparser.y" /* yacc.c:1646 */ +#line 1922 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random string array"); yyerrok; } -#line 5435 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5401 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 240: -#line 1924 "rwlparser.y" /* yacc.c:1646 */ +#line 1927 "rwlparser.y" /* yacc.c:1646 */ { switch(rwm->supsemerr) { @@ -5464,11 +5430,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 5468 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5434 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 241: -#line 1953 "rwlparser.y" /* yacc.c:1646 */ +#line 1956 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5483,11 +5449,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_ABORT); } } -#line 5487 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5453 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 242: -#line 1968 "rwlparser.y" /* yacc.c:1646 */ +#line 1971 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5498,37 +5464,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_NOSTATISTICS); } } -#line 5502 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5468 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 245: -#line 1985 "rwlparser.y" /* yacc.c:1646 */ +#line 1988 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } -#line 5508 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5474 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 247: -#line 1992 "rwlparser.y" /* yacc.c:1646 */ +#line 1995 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } -#line 5514 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5480 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 249: -#line 1998 "rwlparser.y" /* yacc.c:1646 */ +#line 2001 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } -#line 5520 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5486 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 250: -#line 2000 "rwlparser.y" /* yacc.c:1646 */ +#line 2003 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; } -#line 5528 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5494 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 252: -#line 2006 "rwlparser.y" /* yacc.c:1646 */ +#line 2009 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) rwm->declslen = 1; // kind of a kludge, but this prevents doube @@ -5538,33 +5504,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen = rwm->pval.ival; } } -#line 5542 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5508 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 254: -#line 2020 "rwlparser.y" /* yacc.c:1646 */ +#line 2023 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_STR); yyerrok; } -#line 5548 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5514 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 255: -#line 2022 "rwlparser.y" /* yacc.c:1646 */ +#line 2025 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_FILE; //if (rwm->codename) // rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "file"); } -#line 5558 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5524 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 257: -#line 2031 "rwlparser.y" /* yacc.c:1646 */ +#line 2034 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_FILE); yyerrok; } -#line 5564 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5530 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 258: -#line 2036 "rwlparser.y" /* yacc.c:1646 */ +#line 2039 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5585,11 +5551,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5589 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5555 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 259: -#line 2059 "rwlparser.y" /* yacc.c:1646 */ +#line 2062 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5612,17 +5578,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5616 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5582 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 260: -#line 2083 "rwlparser.y" /* yacc.c:1646 */ +#line 2086 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rslerror) rwlcodeadd0(rwm, RWL_CODE_ELSE); } -#line 5622 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5588 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 261: -#line 2086 "rwlparser.y" /* yacc.c:1646 */ +#line 2089 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5643,11 +5609,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5647 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5613 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 262: -#line 2109 "rwlparser.y" /* yacc.c:1646 */ +#line 2112 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* start expression */ @@ -5684,11 +5650,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlexprbeg(rwm); } -#line 5688 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5654 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 263: -#line 2150 "rwlparser.y" /* yacc.c:1646 */ +#line 2153 "rwlparser.y" /* yacc.c:1646 */ { switch (rwm->rsllityp[rwm->rsldepth]) { @@ -5756,65 +5722,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->rsldepth, rwm->rslmisc[rwm->rsldepth]); } } -#line 5760 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5726 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 264: -#line 2219 "rwlparser.y" /* yacc.c:1646 */ +#line 2222 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwm->rsllityp[rwm->rsldepth] = RWL_LI_BAD; yyerrok; } -#line 5770 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5736 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 265: -#line 2226 "rwlparser.y" /* yacc.c:1646 */ +#line 2229 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 5776 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5742 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 267: -#line 2229 "rwlparser.y" /* yacc.c:1646 */ +#line 2232 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 5784 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5750 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 269: -#line 2234 "rwlparser.y" /* yacc.c:1646 */ +#line 2237 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprclear(rwm); } -#line 5793 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5759 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 270: -#line 2239 "rwlparser.y" /* yacc.c:1646 */ +#line 2242 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 5804 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5770 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 272: -#line 2248 "rwlparser.y" /* yacc.c:1646 */ +#line 2251 "rwlparser.y" /* yacc.c:1646 */ { /* start expression for assign */ rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 5814 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5780 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 274: -#line 2257 "rwlparser.y" /* yacc.c:1646 */ +#line 2260 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) rwlerror(rwm, RWL_ERROR_RETURN_OUTSIDE_CODE); @@ -5826,20 +5792,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_RETURN_NO_EXPR, rwm->codename); } } -#line 5830 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5796 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 275: -#line 2269 "rwlparser.y" /* yacc.c:1646 */ +#line 2272 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5839 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5805 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 276: -#line 2274 "rwlparser.y" /* yacc.c:1646 */ +#line 2277 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5868,30 +5834,30 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeaddpu(rwm, RWL_CODE_RETURN, rwm->codename, rwm->codeguess); } } -#line 5872 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5838 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 278: -#line 2303 "rwlparser.y" /* yacc.c:1646 */ +#line 2306 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5882 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5848 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 279: -#line 2310 "rwlparser.y" /* yacc.c:1646 */ +#line 2313 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5891 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5857 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 280: -#line 2315 "rwlparser.y" /* yacc.c:1646 */ +#line 2318 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5920,21 +5886,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5924 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5890 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 282: -#line 2345 "rwlparser.y" /* yacc.c:1646 */ +#line 2348 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5934 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5900 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 283: -#line 2353 "rwlparser.y" /* yacc.c:1646 */ +#line 2356 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5948,11 +5914,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5952 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5918 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 284: -#line 2367 "rwlparser.y" /* yacc.c:1646 */ +#line 2370 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbnam = rwm->inam; rwm->mdbvar = rwlfindvar2(rwm->mxq, rwm->mdbnam, RWL_VAR_NOGUESS, rwm->codename); @@ -5963,11 +5929,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mdbvar = RWL_VAR_INVALID; } } -#line 5967 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5933 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 286: -#line 2381 "rwlparser.y" /* yacc.c:1646 */ +#line 2384 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5981,11 +5947,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5985 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5951 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 287: -#line 2397 "rwlparser.y" /* yacc.c:1646 */ +#line 2400 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5995,29 +5961,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlcodeadd0(rwm, RWL_CODE_MODDBLEAK); } -#line 5999 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5965 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 288: -#line 2408 "rwlparser.y" /* yacc.c:1646 */ +#line 2411 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 6008 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5974 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 289: -#line 2414 "rwlparser.y" /* yacc.c:1646 */ +#line 2417 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 6017 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5983 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 290: -#line 2420 "rwlparser.y" /* yacc.c:1646 */ +#line 2423 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_COMMIT); @@ -6028,11 +5994,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcommit(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 6032 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5998 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 291: -#line 2432 "rwlparser.y" /* yacc.c:1646 */ +#line 2435 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_ROLLBACK); @@ -6043,11 +6009,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlrollback(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 6047 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6013 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 292: -#line 2444 "rwlparser.y" /* yacc.c:1646 */ +#line 2447 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SHIFT); @@ -6055,11 +6021,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlshiftdollar(rwm->mxq, &rwm->loc); } -#line 6059 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6025 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 293: -#line 2453 "rwlparser.y" /* yacc.c:1646 */ +#line 2456 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_GETRUSAGE); @@ -6067,11 +6033,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlgetrusage(rwm->mxq, 0); } -#line 6071 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6037 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 294: -#line 2462 "rwlparser.y" /* yacc.c:1646 */ +#line 2465 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlinam = rwm->inam; rwm->mqbdtyp = 0; rwm->modsqlvar = rwlfindvar2(rwm->mxq, rwm->msqlinam, RWL_VAR_NOGUESS, rwm->codename); @@ -6082,17 +6048,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->modsqlvar = RWL_VAR_INVALID; } } -#line 6086 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6052 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 296: -#line 2475 "rwlparser.y" /* yacc.c:1646 */ +#line 2478 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } -#line 6092 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6058 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 297: -#line 2480 "rwlparser.y" /* yacc.c:1646 */ +#line 2483 "rwlparser.y" /* yacc.c:1646 */ { /* handle procedure call with arguments * as if it were a function call @@ -6122,11 +6088,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); : rwm->inam; rwlexprbeg(rwm); } -#line 6126 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6092 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 298: -#line 2512 "rwlparser.y" /* yacc.c:1646 */ +#line 2515 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6211,22 +6177,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprclear(rwm); } } -#line 6215 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6181 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 299: -#line 2597 "rwlparser.y" /* yacc.c:1646 */ +#line 2600 "rwlparser.y" /* yacc.c:1646 */ { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); rwlexprclear(rwm); yyerrok; } -#line 6226 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6192 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 300: -#line 2604 "rwlparser.y" /* yacc.c:1646 */ +#line 2607 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6241,29 +6207,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 6245 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6211 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 303: -#line 2623 "rwlparser.y" /* yacc.c:1646 */ +#line 2626 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = RWL_SUPSEM_EMBSQL; } -#line 6251 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6217 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 307: -#line 2629 "rwlparser.y" /* yacc.c:1646 */ +#line 2632 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6257 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6223 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 308: -#line 2631 "rwlparser.y" /* yacc.c:1646 */ +#line 2634 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6263 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6229 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 311: -#line 2637 "rwlparser.y" /* yacc.c:1646 */ +#line 2640 "rwlparser.y" /* yacc.c:1646 */ { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below @@ -6346,11 +6312,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); --rwm->rsldepth; } } -#line 6350 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6316 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 312: -#line 2722 "rwlparser.y" /* yacc.c:1646 */ +#line 2725 "rwlparser.y" /* yacc.c:1646 */ { --rwm->rsldepth; if (rwm->rslerror) @@ -6379,11 +6345,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6383 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6349 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 313: -#line 2752 "rwlparser.y" /* yacc.c:1646 */ +#line 2755 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6415,20 +6381,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_INCORRECT_TYPE2, rwm->mxq->evar[l].stype, rwm->inam, "file"); } } -#line 6419 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6385 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 314: -#line 2785 "rwlparser.y" /* yacc.c:1646 */ +#line 2788 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_FFLUSH); yyerrok; } -#line 6428 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6394 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 315: -#line 2792 "rwlparser.y" /* yacc.c:1646 */ +#line 2795 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6451,11 +6417,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 6455 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6421 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 316: -#line 2817 "rwlparser.y" /* yacc.c:1646 */ +#line 2820 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) { @@ -6484,11 +6450,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 6488 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6454 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 317: -#line 2848 "rwlparser.y" /* yacc.c:1646 */ +#line 2851 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -6507,88 +6473,88 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6511 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6477 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 323: -#line 2876 "rwlparser.y" /* yacc.c:1646 */ +#line 2879 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6522 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6488 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 325: -#line 2885 "rwlparser.y" /* yacc.c:1646 */ +#line 2888 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_STRING_FOR_SPRINTF); rwlexprclear(rwm); yyerrok; } -#line 6533 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6499 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 327: -#line 2894 "rwlparser.y" /* yacc.c:1646 */ +#line 2897 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6544 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6510 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 329: -#line 2904 "rwlparser.y" /* yacc.c:1646 */ +#line 2907 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document this syntax without comma if (rwm->filenam) rwlerror(rwm, RWL_ERROR_COMMA_IS_RECOMMENDED, rwm->filenam , bit(rwm->mflags,RWL_P_PRINTLINE) ? "writeline" : "write"); } -#line 6555 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6521 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 332: -#line 2916 "rwlparser.y" /* yacc.c:1646 */ +#line 2919 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6566 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6532 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 333: -#line 2924 "rwlparser.y" /* yacc.c:1646 */ +#line 2927 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6577 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6543 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 334: -#line 2932 "rwlparser.y" /* yacc.c:1646 */ +#line 2935 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6588 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6554 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 335: -#line 2940 "rwlparser.y" /* yacc.c:1646 */ +#line 2943 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_NEWLINE); @@ -6596,22 +6562,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); fputs(bit(rwm->m4flags, RWL_P4_CRNLWRITELINE) ? "\r\n" : "\n", stdout); bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 6600 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6566 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 337: -#line 2950 "rwlparser.y" /* yacc.c:1646 */ +#line 2953 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6611 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6577 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 339: -#line 2958 "rwlparser.y" /* yacc.c:1646 */ +#line 2961 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6622,11 +6588,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_CQNBREAK); } } -#line 6626 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6592 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 340: -#line 2969 "rwlparser.y" /* yacc.c:1646 */ +#line 2972 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6661,11 +6627,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6665 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6631 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 341: -#line 3005 "rwlparser.y" /* yacc.c:1646 */ +#line 3008 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6701,11 +6667,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6705 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6671 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 342: -#line 3042 "rwlparser.y" /* yacc.c:1646 */ +#line 3045 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6744,11 +6710,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_DONE_IN_MAIN, "writelob"); } } -#line 6748 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6714 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 343: -#line 3082 "rwlparser.y" /* yacc.c:1646 */ +#line 3085 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_CBLOCK)) { @@ -6765,11 +6731,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m2flags, RWL_P2_THROPTS); /* clear all thread option flas */ bis(rwm->m2flags, RWL_P2_CBLOCK); } -#line 6769 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6735 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 344: -#line 3099 "rwlparser.y" /* yacc.c:1646 */ +#line 3102 "rwlparser.y" /* yacc.c:1646 */ { if(!rwm->stoptime && !rwm->stopcount) { @@ -6790,11 +6756,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 6794 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6760 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 345: -#line 3122 "rwlparser.y" /* yacc.c:1646 */ +#line 3125 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_CBLOCK_BAD)) rwlloopfinish(rwm); @@ -6812,26 +6778,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6816 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6782 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 346: -#line 3141 "rwlparser.y" /* yacc.c:1646 */ +#line 3144 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_AFTER_IDENTIFIER); yyerrok; } -#line 6825 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6791 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 347: -#line 3148 "rwlparser.y" /* yacc.c:1646 */ +#line 3151 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 6831 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6797 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 348: -#line 3154 "rwlparser.y" /* yacc.c:1646 */ +#line 3157 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6855,28 +6821,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6859 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6825 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 349: -#line 3178 "rwlparser.y" /* yacc.c:1646 */ +#line 3181 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobwritedata = rwlexprfinish(rwm); rwm->loboffset = 0; } -#line 6868 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6834 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 351: -#line 3187 "rwlparser.y" /* yacc.c:1646 */ +#line 3190 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6876 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6842 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 352: -#line 3194 "rwlparser.y" /* yacc.c:1646 */ +#line 3197 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6899,11 +6865,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6903 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6869 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 353: -#line 3217 "rwlparser.y" /* yacc.c:1646 */ +#line 3220 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->loboffset = 0; @@ -6925,27 +6891,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6929 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6895 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 355: -#line 3243 "rwlparser.y" /* yacc.c:1646 */ +#line 3246 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobreadlength = rwlexprfinish(rwm); } -#line 6937 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6903 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 356: -#line 3247 "rwlparser.y" /* yacc.c:1646 */ +#line 3250 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6945 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6911 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 357: -#line 3253 "rwlparser.y" /* yacc.c:1646 */ +#line 3256 "rwlparser.y" /* yacc.c:1646 */ { /* simple sql execute */ sb4 l; @@ -7091,11 +7057,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->loc.errlin = 0; } -#line 7095 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7061 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 358: -#line 3403 "rwlparser.y" /* yacc.c:1646 */ +#line 3406 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; @@ -7205,11 +7171,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); failurecursor: rwm->loc.errlin = 0; } -#line 7209 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7175 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 359: -#line 3515 "rwlparser.y" /* yacc.c:1646 */ +#line 3518 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -7242,27 +7208,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->loc.errlin = 0; } -#line 7246 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7212 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 360: -#line 3551 "rwlparser.y" /* yacc.c:1646 */ +#line 3554 "rwlparser.y" /* yacc.c:1646 */ { // This syntax is not documented bic(rwm->m3flags, RWL_P3_CLHEADFOR); rwlerror(rwm, RWL_ERROR_LEGACY_CONTROLLOOP_SYNTAX); } -#line 7256 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7222 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 361: -#line 3556 "rwlparser.y" /* yacc.c:1646 */ +#line 3559 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7262 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7228 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 362: -#line 3560 "rwlparser.y" /* yacc.c:1646 */ +#line 3563 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document these two (legacy) syntax: // loop option .. .. ; @@ -7275,41 +7241,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // legacy and current syntax are mixed. bic(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7279 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7245 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 363: -#line 3576 "rwlparser.y" /* yacc.c:1646 */ +#line 3579 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7287 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7253 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 364: -#line 3580 "rwlparser.y" /* yacc.c:1646 */ +#line 3583 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7295 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7261 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 365: -#line 3584 "rwlparser.y" /* yacc.c:1646 */ +#line 3587 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7303 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7269 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 368: -#line 3595 "rwlparser.y" /* yacc.c:1646 */ +#line 3598 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7309 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7275 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 369: -#line 3597 "rwlparser.y" /* yacc.c:1646 */ +#line 3600 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->starttime) { @@ -7322,17 +7288,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->starttime = rwlexprfinish(rwm); } } -#line 7326 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7292 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 370: -#line 3609 "rwlparser.y" /* yacc.c:1646 */ +#line 3612 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7332 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7298 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 371: -#line 3611 "rwlparser.y" /* yacc.c:1646 */ +#line 3614 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7347,17 +7313,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bis(rwm->m2flags, RWL_P2_STOP); } } -#line 7351 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7317 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 372: -#line 3625 "rwlparser.y" /* yacc.c:1646 */ +#line 3628 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7357 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7323 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 373: -#line 3627 "rwlparser.y" /* yacc.c:1646 */ +#line 3630 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7372,17 +7338,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bic(rwm->m2flags, RWL_P2_STOP); } } -#line 7376 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7342 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 374: -#line 3641 "rwlparser.y" /* yacc.c:1646 */ +#line 3644 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7382 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7348 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 375: -#line 3643 "rwlparser.y" /* yacc.c:1646 */ +#line 3646 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7395,17 +7361,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->waittime = rwlexprfinish(rwm); } } -#line 7399 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7365 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 376: -#line 3655 "rwlparser.y" /* yacc.c:1646 */ +#line 3658 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7405 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7371 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 377: -#line 3657 "rwlparser.y" /* yacc.c:1646 */ +#line 3660 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7431,55 +7397,55 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->everytime = rwlexprfinish(rwm); } } -#line 7435 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7401 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 378: -#line 3686 "rwlparser.y" /* yacc.c:1646 */ +#line 3689 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = 0; } -#line 7441 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7407 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 379: -#line 3687 "rwlparser.y" /* yacc.c:1646 */ +#line 3690 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_QUEUE_EVERY; } -#line 7447 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7413 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 380: -#line 3688 "rwlparser.y" /* yacc.c:1646 */ +#line 3691 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_NOQUEUE_EVERY; } -#line 7453 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7419 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 381: -#line 3692 "rwlparser.y" /* yacc.c:1646 */ +#line 3695 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7462 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7428 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 382: -#line 3697 "rwlparser.y" /* yacc.c:1646 */ +#line 3700 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7471 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7437 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 383: -#line 3702 "rwlparser.y" /* yacc.c:1646 */ +#line 3705 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7479 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7445 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 384: -#line 3706 "rwlparser.y" /* yacc.c:1646 */ +#line 3709 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); // lookahead may have consumed the next identifier @@ -7487,20 +7453,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam; } -#line 7491 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7457 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 385: -#line 3714 "rwlparser.y" /* yacc.c:1646 */ +#line 3717 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7500 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7466 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 386: -#line 3723 "rwlparser.y" /* yacc.c:1646 */ +#line 3726 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; rwm->sqllino = rwm->sqltlin; // the line where we started sql scan @@ -7515,11 +7481,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->scname = rwm->sqname = rwlstrdup(rwm, sqlnam); rwm->sqllen = 0; } -#line 7519 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7485 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 387: -#line 3738 "rwlparser.y" /* yacc.c:1646 */ +#line 3741 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); @@ -7547,11 +7513,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); rwm->sqlfile = 0; /* not from a file */ } -#line 7551 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7517 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 388: -#line 3770 "rwlparser.y" /* yacc.c:1646 */ +#line 3773 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; snprintf((char *)sqlnam, sizeof(sqlnam), "sql#%05d", rwm->mxq->varcount); @@ -7565,11 +7531,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->msqlstk = 0; } -#line 7569 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7535 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 389: -#line 3785 "rwlparser.y" /* yacc.c:1646 */ +#line 3788 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMEDSQL); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); @@ -7577,11 +7543,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (bit(rwm->m3flags,RWL_P3_IMPLCASE)) bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); } -#line 7581 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7547 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 390: -#line 3794 "rwlparser.y" /* yacc.c:1646 */ +#line 3797 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_IMMISDYN) && bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -7618,26 +7584,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); cannotdoimm: ; } -#line 7622 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7588 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 392: -#line 3832 "rwlparser.y" /* yacc.c:1646 */ +#line 3835 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG) ; yyerrok; } -#line 7631 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7597 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 394: -#line 3840 "rwlparser.y" /* yacc.c:1646 */ +#line 3843 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7637 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7603 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 395: -#line 3841 "rwlparser.y" /* yacc.c:1646 */ +#line 3844 "rwlparser.y" /* yacc.c:1646 */ { if ((rwm->msqlstk = rwlexprfinish(rwm))) bis(rwm->m3flags, RWL_P3_IMMISDYN); // now dynamic @@ -7647,99 +7613,99 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 7651 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7617 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 396: -#line 3853 "rwlparser.y" /* yacc.c:1646 */ +#line 3856 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno; } -#line 7659 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7625 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 400: -#line 3862 "rwlparser.y" /* yacc.c:1646 */ +#line 3865 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "sql") ; } -#line 7667 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7633 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 403: -#line 3873 "rwlparser.y" /* yacc.c:1646 */ +#line 3876 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7675 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7641 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 404: -#line 3877 "rwlparser.y" /* yacc.c:1646 */ +#line 3880 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7684 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7650 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 405: -#line 3885 "rwlparser.y" /* yacc.c:1646 */ +#line 3888 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7692 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7658 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 406: -#line 3889 "rwlparser.y" /* yacc.c:1646 */ +#line 3892 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7700 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7666 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 407: -#line 3893 "rwlparser.y" /* yacc.c:1646 */ +#line 3896 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7709 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7675 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 409: -#line 3903 "rwlparser.y" /* yacc.c:1646 */ +#line 3906 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = 0; bis(rwm->m2flags, RWL_P2_ATDEFAULT); /* explict choose standard DB */ } -#line 7718 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7684 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 410: -#line 3909 "rwlparser.y" /* yacc.c:1646 */ +#line 3912 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); /* named DB */ } -#line 7727 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7693 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 411: -#line 3914 "rwlparser.y" /* yacc.c:1646 */ +#line 3917 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_DATABASE_NAME); yyerrok; } -#line 7733 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7699 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 412: -#line 3916 "rwlparser.y" /* yacc.c:1646 */ +#line 3919 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 7739 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7705 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 415: -#line 3924 "rwlparser.y" /* yacc.c:1646 */ +#line 3927 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename || bit(rwm->addvarbits,RWL_IDENT_PRIVATE)) { @@ -7765,11 +7731,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 7769 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7735 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 416: -#line 3950 "rwlparser.y" /* yacc.c:1646 */ +#line 3953 "rwlparser.y" /* yacc.c:1646 */ { // if compiling first file, see if there is a user arg if (bit(rwm->m2flags, RWL_P2_SCANFIRST) && rwm->decvarn >= 0) @@ -7842,20 +7808,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); donewithuserarg: ; } -#line 7846 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7812 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 418: -#line 4027 "rwlparser.y" /* yacc.c:1646 */ +#line 4030 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 7855 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7821 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 419: -#line 4032 "rwlparser.y" /* yacc.c:1646 */ +#line 4035 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->dtype) @@ -7902,11 +7868,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 7906 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7872 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 424: -#line 4095 "rwlparser.y" /* yacc.c:1646 */ +#line 4098 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7921,22 +7887,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_IF, estk); } -#line 7925 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7891 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 425: -#line 4110 "rwlparser.y" /* yacc.c:1646 */ +#line 4113 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7936 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7902 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 426: -#line 4119 "rwlparser.y" /* yacc.c:1646 */ +#line 4122 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7951,38 +7917,38 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_ELSEIF, estk); } -#line 7955 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7921 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 427: -#line 4134 "rwlparser.y" /* yacc.c:1646 */ +#line 4137 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7966 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7932 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 428: -#line 4143 "rwlparser.y" /* yacc.c:1646 */ +#line 4146 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LEGACY_WHILE_SYNTAX); } -#line 7974 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7940 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 429: -#line 4147 "rwlparser.y" /* yacc.c:1646 */ +#line 4150 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_WHILOP); } -#line 7982 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7948 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 430: -#line 4153 "rwlparser.y" /* yacc.c:1646 */ +#line 4156 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7999,33 +7965,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 8003 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7969 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 431: -#line 4170 "rwlparser.y" /* yacc.c:1646 */ +#line 4173 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8014 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7980 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 432: -#line 4177 "rwlparser.y" /* yacc.c:1646 */ +#line 4180 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_KEYWORD, "loop"); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8025 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7991 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 437: -#line 4194 "rwlparser.y" /* yacc.c:1646 */ +#line 4197 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -8041,120 +8007,120 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); nothreadssum: ; } -#line 8045 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8011 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 438: -#line 4210 "rwlparser.y" /* yacc.c:1646 */ +#line 4213 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlerror(rwm, RWL_ERROR_NO_LOCAL_SUMGLOB); else bis(rwm->addvarbits,RWL_IDENT_GLOBAL); } -#line 8056 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8022 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 439: -#line 4220 "rwlparser.y" /* yacc.c:1646 */ +#line 4223 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8066 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8032 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 440: -#line 4226 "rwlparser.y" /* yacc.c:1646 */ +#line 4229 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8075 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8041 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 441: -#line 4234 "rwlparser.y" /* yacc.c:1646 */ +#line 4237 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8085 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8051 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 442: -#line 4240 "rwlparser.y" /* yacc.c:1646 */ +#line 4243 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8094 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8060 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 443: -#line 4248 "rwlparser.y" /* yacc.c:1646 */ +#line 4251 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8104 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8070 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 444: -#line 4254 "rwlparser.y" /* yacc.c:1646 */ +#line 4257 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8113 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8079 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 445: -#line 4262 "rwlparser.y" /* yacc.c:1646 */ +#line 4265 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8122 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8088 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 446: -#line 4267 "rwlparser.y" /* yacc.c:1646 */ +#line 4270 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8130 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8096 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 447: -#line 4273 "rwlparser.y" /* yacc.c:1646 */ +#line 4276 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_CLOB; } -#line 8136 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8102 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 448: -#line 4274 "rwlparser.y" /* yacc.c:1646 */ +#line 4277 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_BLOB; } -#line 8142 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8108 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 449: -#line 4275 "rwlparser.y" /* yacc.c:1646 */ +#line 4278 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_NCLOB; } -#line 8148 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8114 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 450: -#line 4279 "rwlparser.y" /* yacc.c:1646 */ +#line 4282 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8154 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8120 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 451: -#line 4280 "rwlparser.y" /* yacc.c:1646 */ +#line 4283 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8164,25 +8130,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8168 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8134 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 453: -#line 4291 "rwlparser.y" /* yacc.c:1646 */ +#line 4294 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8176 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8142 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 454: -#line 4294 "rwlparser.y" /* yacc.c:1646 */ +#line 4297 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8182 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8148 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 455: -#line 4295 "rwlparser.y" /* yacc.c:1646 */ +#line 4298 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bic(rwm->m2flags, RWL_P2_BADSQLFILTXT); @@ -8191,19 +8157,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8195 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8161 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 457: -#line 4305 "rwlparser.y" /* yacc.c:1646 */ +#line 4308 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8203 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8169 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 460: -#line 4315 "rwlparser.y" /* yacc.c:1646 */ +#line 4318 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; @@ -8249,11 +8215,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8253 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8219 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 461: -#line 4362 "rwlparser.y" /* yacc.c:1646 */ +#line 4365 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; @@ -8284,11 +8250,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_SQL_ARRAY_AND_IGNERR); } -#line 8288 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8254 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 462: -#line 4396 "rwlparser.y" /* yacc.c:1646 */ +#line 4399 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -8297,11 +8263,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 8301 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8267 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 464: -#line 4409 "rwlparser.y" /* yacc.c:1646 */ +#line 4412 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; ub4 iflag = bit(rwm->m3flags, RWL_P3_IMMEDSQL) ? RWL_IDENT_INTERNAL : 0; @@ -8375,11 +8341,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8379 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8345 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 465: -#line 4487 "rwlparser.y" /* yacc.c:1646 */ +#line 4490 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; ub4 notyetcount = 0; @@ -8472,53 +8438,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8476 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8442 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 469: -#line 4590 "rwlparser.y" /* yacc.c:1646 */ +#line 4593 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BIND); yyerrok; } -#line 8482 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8448 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 471: -#line 4594 "rwlparser.y" /* yacc.c:1646 */ +#line 4597 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BINDOUT); yyerrok; } -#line 8488 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8454 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 473: -#line 4598 "rwlparser.y" /* yacc.c:1646 */ +#line 4601 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DEFINE); yyerrok; } -#line 8494 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8460 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 474: -#line 4600 "rwlparser.y" /* yacc.c:1646 */ +#line 4603 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_IGNERR); } -#line 8502 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8468 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 475: -#line 4604 "rwlparser.y" /* yacc.c:1646 */ +#line 4607 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8510 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8476 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 476: -#line 4608 "rwlparser.y" /* yacc.c:1646 */ +#line 4611 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8518 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8484 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 477: -#line 4613 "rwlparser.y" /* yacc.c:1646 */ +#line 4616 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) { @@ -8536,34 +8502,34 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqsav->asiz = (ub4)rwm->pval.ival; } } -#line 8540 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8506 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 478: -#line 4632 "rwlparser.y" /* yacc.c:1646 */ +#line 4635 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ARRAY); yyerrok; } -#line 8546 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8512 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 479: -#line 4637 "rwlparser.y" /* yacc.c:1646 */ +#line 4640 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON_IN_SQL); } -#line 8552 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8518 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 482: -#line 4643 "rwlparser.y" /* yacc.c:1646 */ +#line 4646 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQFLAG_DYNAMIC)) rwlerror(rwm, RWL_ERROR_DEFINE_ARRAY_NOT_DYNAMIC); else bis(rwm->sqsav->flags, RWL_SQFLAG_ARRAYD); } -#line 8563 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8529 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 485: -#line 4657 "rwlparser.y" /* yacc.c:1646 */ +#line 4660 "rwlparser.y" /* yacc.c:1646 */ { // Note that it would not be too hard to replace // the integer constant here by an expression @@ -8571,27 +8537,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // can be done with modify sql for dynamic sql rwm->bdpos = rwm->ival; rwm->bdtyp=RWL_DEFINE; } -#line 8575 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8541 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 487: -#line 4666 "rwlparser.y" /* yacc.c:1646 */ +#line 4669 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "define"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); } -#line 8585 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8551 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 490: -#line 4680 "rwlparser.y" /* yacc.c:1646 */ +#line 4683 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BINDOUT_NAME; } -#line 8591 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8557 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 492: -#line 4682 "rwlparser.y" /* yacc.c:1646 */ +#line 4685 "rwlparser.y" /* yacc.c:1646 */ { // We could also use expression here, but we would // of course need to check it was either a non-negative number @@ -8599,61 +8565,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BINDOUT_POS; } -#line 8603 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8569 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 494: -#line 4690 "rwlparser.y" /* yacc.c:1646 */ +#line 4693 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BINDOUT_SAME; } -#line 8611 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8577 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 496: -#line 4694 "rwlparser.y" /* yacc.c:1646 */ +#line 4697 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_IMPLICIT_NOT_BINDOUT); } -#line 8619 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8585 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 499: -#line 4705 "rwlparser.y" /* yacc.c:1646 */ +#line 4708 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BIND_NAME; } -#line 8625 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8591 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 501: -#line 4707 "rwlparser.y" /* yacc.c:1646 */ +#line 4710 "rwlparser.y" /* yacc.c:1646 */ { // same comment as above rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BIND_POS; } -#line 8635 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8601 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 503: -#line 4713 "rwlparser.y" /* yacc.c:1646 */ +#line 4716 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BIND_SAME; } -#line 8643 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8609 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 505: -#line 4717 "rwlparser.y" /* yacc.c:1646 */ +#line 4720 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "bind"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); } -#line 8653 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8619 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 506: -#line 4726 "rwlparser.y" /* yacc.c:1646 */ +#line 4729 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; bd = rwlalloc(rwm, sizeof(rwl_bindef)); @@ -8747,41 +8713,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8751 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8717 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 507: -#line 4822 "rwlparser.y" /* yacc.c:1646 */ +#line 4825 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "runseconds", "bind/define"); } -#line 8760 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8726 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 508: -#line 4827 "rwlparser.y" /* yacc.c:1646 */ +#line 4830 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "epochseconds", "bind/define"); } -#line 8769 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8735 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 509: -#line 4831 "rwlparser.y" /* yacc.c:1646 */ +#line 4834 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8775 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8741 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 510: -#line 4832 "rwlparser.y" /* yacc.c:1646 */ +#line 4835 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8781 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8747 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 511: -#line 4836 "rwlparser.y" /* yacc.c:1646 */ +#line 4839 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8798,11 +8764,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8802 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8768 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 512: -#line 4853 "rwlparser.y" /* yacc.c:1646 */ +#line 4856 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8819,11 +8785,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8823 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8789 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 513: -#line 4870 "rwlparser.y" /* yacc.c:1646 */ +#line 4873 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8840,11 +8806,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8844 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8810 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 514: -#line 4887 "rwlparser.y" /* yacc.c:1646 */ +#line 4890 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8867,17 +8833,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8871 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8837 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 515: -#line 4909 "rwlparser.y" /* yacc.c:1646 */ +#line 4912 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8877 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8843 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 516: -#line 4910 "rwlparser.y" /* yacc.c:1646 */ +#line 4913 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8908,11 +8874,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8912 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8878 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 517: -#line 4941 "rwlparser.y" /* yacc.c:1646 */ +#line 4944 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8933,17 +8899,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8937 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8903 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 518: -#line 4961 "rwlparser.y" /* yacc.c:1646 */ +#line 4964 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8943 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8909 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 519: -#line 4962 "rwlparser.y" /* yacc.c:1646 */ +#line 4965 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0 && (rwm->msqlstk = rwlexprfinish(rwm))) { @@ -8965,11 +8931,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8969 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8935 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 520: -#line 4984 "rwlparser.y" /* yacc.c:1646 */ +#line 4987 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8984,11 +8950,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8988 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8954 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 522: -#line 4999 "rwlparser.y" /* yacc.c:1646 */ +#line 5002 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9003,11 +8969,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9007 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8973 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 524: -#line 5014 "rwlparser.y" /* yacc.c:1646 */ +#line 5017 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9022,23 +8988,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9026 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8992 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 528: -#line 5034 "rwlparser.y" /* yacc.c:1646 */ +#line 5037 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9032 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8998 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 529: -#line 5036 "rwlparser.y" /* yacc.c:1646 */ +#line 5039 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlstk = rwlexprfinish(rwm); } -#line 9038 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9004 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 530: -#line 5038 "rwlparser.y" /* yacc.c:1646 */ +#line 5041 "rwlparser.y" /* yacc.c:1646 */ { sb4 l2; rwl_sql *sq; @@ -9089,11 +9055,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 9093 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9059 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 531: -#line 5091 "rwlparser.y" /* yacc.c:1646 */ +#line 5094 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; rwl_estack *estk; @@ -9123,21 +9089,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbcache: ; } -#line 9127 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9093 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 532: -#line 5121 "rwlparser.y" /* yacc.c:1646 */ +#line 5124 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbsphi = rwm->mdbsplo = rwlexprfinish(rwm); if (!rwm->mdbsplo) rwlexprclear(rwm); } -#line 9137 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9103 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 533: -#line 5127 "rwlparser.y" /* yacc.c:1646 */ +#line 5130 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; // are lo/hi good @@ -9166,20 +9132,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbpool: rwm->mdbsphi = rwm->mdbsplo = 0; } -#line 9170 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9136 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 535: -#line 5159 "rwlparser.y" /* yacc.c:1646 */ +#line 5162 "rwlparser.y" /* yacc.c:1646 */ { if (!(rwm->mdbsphi = rwlexprfinish(rwm))) rwlexprclear(rwm); } -#line 9179 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9145 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 536: -#line 5166 "rwlparser.y" /* yacc.c:1646 */ +#line 5169 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9199,23 +9165,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9203 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9169 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 538: -#line 5189 "rwlparser.y" /* yacc.c:1646 */ +#line 5192 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9209 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9175 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 539: -#line 5190 "rwlparser.y" /* yacc.c:1646 */ +#line 5193 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9215 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9181 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 540: -#line 5194 "rwlparser.y" /* yacc.c:1646 */ +#line 5197 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->strvarn = RWL_VAR_NOTFOUND; @@ -9235,11 +9201,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->conhead = rwm->contail = 0; } -#line 9239 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9205 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 541: -#line 5214 "rwlparser.y" /* yacc.c:1646 */ +#line 5217 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpupu(rwm, RWL_CODE_SPRINTF, rwm->strvnam @@ -9253,11 +9219,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9257 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9223 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 542: -#line 5232 "rwlparser.y" /* yacc.c:1646 */ +#line 5235 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9276,19 +9242,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9280 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9246 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 544: -#line 5254 "rwlparser.y" /* yacc.c:1646 */ +#line 5257 "rwlparser.y" /* yacc.c:1646 */ { rwm->conhead = rwm->contail = 0; } -#line 9288 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9254 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 545: -#line 5258 "rwlparser.y" /* yacc.c:1646 */ +#line 5261 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpup(rwm, RWL_CODE_FPRINTF, rwm->filenam @@ -9309,11 +9275,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9313 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9279 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 548: -#line 5286 "rwlparser.y" /* yacc.c:1646 */ +#line 5289 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwl_conlist *newcon; @@ -9332,11 +9298,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9336 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9302 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 549: -#line 5307 "rwlparser.y" /* yacc.c:1646 */ +#line 5310 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9357,11 +9323,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->mflags,RWL_P_PRINTLINE); } -#line 9361 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9327 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 550: -#line 5329 "rwlparser.y" /* yacc.c:1646 */ +#line 5332 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9382,35 +9348,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_PRINTLINE); } -#line 9386 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9352 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 551: -#line 5353 "rwlparser.y" /* yacc.c:1646 */ +#line 5356 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9395 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9361 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 552: -#line 5358 "rwlparser.y" /* yacc.c:1646 */ +#line 5361 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9404 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9370 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 554: -#line 5366 "rwlparser.y" /* yacc.c:1646 */ +#line 5369 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTBLANK); } -#line 9410 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9376 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 556: -#line 5371 "rwlparser.y" /* yacc.c:1646 */ +#line 5374 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -9468,11 +9434,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9472 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9438 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 557: -#line 5432 "rwlparser.y" /* yacc.c:1646 */ +#line 5435 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mflags,RWL_P_PRINTLINE)) { @@ -9504,11 +9470,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 9508 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9474 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 558: -#line 5467 "rwlparser.y" /* yacc.c:1646 */ +#line 5470 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -9519,11 +9485,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ; } } -#line 9523 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9489 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 559: -#line 5482 "rwlparser.y" /* yacc.c:1646 */ +#line 5485 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->assignoper) @@ -9534,6 +9500,12 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); case RWL_T_ASNADD: rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNADD); break; + case RWL_T_ASNBIS: + rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNBIS); + break; + case RWL_T_ASNBIC: + rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNBIC); + break; case RWL_T_ASSIGN: rwlexprpush2(rwm, rwm->assignvar, RWL_STACK_ASN, 0); break; @@ -9566,95 +9538,107 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9570 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9542 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 560: -#line 5525 "rwlparser.y" /* yacc.c:1646 */ +#line 5534 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 9580 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9552 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 562: -#line 5535 "rwlparser.y" /* yacc.c:1646 */ +#line 5544 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 9589 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9561 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 563: -#line 5542 "rwlparser.y" /* yacc.c:1646 */ +#line 5551 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASSIGN; } -#line 9595 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9567 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 564: -#line 5543 "rwlparser.y" /* yacc.c:1646 */ +#line 5552 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_GREATEQ; } -#line 9601 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9573 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 565: -#line 5544 "rwlparser.y" /* yacc.c:1646 */ +#line 5553 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_RSHIFTASSIGN; } -#line 9607 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9579 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 566: -#line 5545 "rwlparser.y" /* yacc.c:1646 */ +#line 5554 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_LESSEQ; } -#line 9613 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9585 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 567: -#line 5546 "rwlparser.y" /* yacc.c:1646 */ +#line 5555 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPEFROM; } -#line 9619 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9591 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 568: -#line 5547 "rwlparser.y" /* yacc.c:1646 */ +#line 5556 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPETO; } -#line 9625 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9597 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 570: -#line 5551 "rwlparser.y" /* yacc.c:1646 */ +#line 5560 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_APPEND; } -#line 9631 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9603 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 571: -#line 5552 "rwlparser.y" /* yacc.c:1646 */ +#line 5561 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNADD; } -#line 9637 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9609 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 572: -#line 5553 "rwlparser.y" /* yacc.c:1646 */ +#line 5562 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNSUB; } -#line 9643 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9615 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 573: -#line 5560 "rwlparser.y" /* yacc.c:1646 */ +#line 5563 "rwlparser.y" /* yacc.c:1646 */ + { rwm->assignoper = RWL_T_ASNBIS; } +#line 9621 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 574: +#line 5564 "rwlparser.y" /* yacc.c:1646 */ + { rwm->assignoper = RWL_T_ASNBIC; } +#line 9627 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 575: +#line 5571 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } -#line 9654 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9638 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 574: -#line 5567 "rwlparser.y" /* yacc.c:1646 */ + case 576: +#line 5578 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; sb4 l; @@ -9680,11 +9664,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllityp[rwm->rsldepth] = RWL_LI_DOTDOT; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 9684 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9668 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 576: -#line 5593 "rwlparser.y" /* yacc.c:1646 */ + case 578: +#line 5604 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeadd0(rwm, RWL_CODE_LIBEG); rwm->rsllihead[rwm->rsldepth] @@ -9697,11 +9681,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); rwm->rsllitail[rwm->rsldepth]->listk = rwlexprfinish(rwm); } -#line 9701 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9685 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 578: -#line 5607 "rwlparser.y" /* yacc.c:1646 */ + case 580: +#line 5618 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwlexprclear(rwm); @@ -9711,11 +9695,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); yyerrok; } -#line 9715 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9699 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 581: -#line 5626 "rwlparser.y" /* yacc.c:1646 */ + case 583: +#line 5637 "rwlparser.y" /* yacc.c:1646 */ { rwl_lilist *thisli = rwlalloc(rwm, sizeof(rwl_lilist)); rwlexprpush(rwm, rwm->loopvar[rwm->rsldepth], RWL_STACK_ASN); @@ -9723,61 +9707,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllitail[rwm->rsldepth]->linxt = thisli; rwm->rsllitail[rwm->rsldepth] = thisli; } -#line 9727 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9711 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 584: -#line 5646 "rwlparser.y" /* yacc.c:1646 */ + case 586: +#line 5657 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 9736 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9720 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 585: -#line 5651 "rwlparser.y" /* yacc.c:1646 */ + case 587: +#line 5662 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 9744 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9728 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 588: -#line 5660 "rwlparser.y" /* yacc.c:1646 */ + case 590: +#line 5671 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "execute") ; } -#line 9750 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9734 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 591: -#line 5667 "rwlparser.y" /* yacc.c:1646 */ + case 593: +#line 5678 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; } -#line 9756 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9740 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 594: -#line 5674 "rwlparser.y" /* yacc.c:1646 */ + case 596: +#line 5685 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "if") ; yyerrok; } -#line 9762 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9746 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 597: -#line 5681 "rwlparser.y" /* yacc.c:1646 */ + case 599: +#line 5692 "rwlparser.y" /* yacc.c:1646 */ { if (0 != rwlstrcmp(rwm->inam, rwm->sqname)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname); } -#line 9771 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9755 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 598: -#line 5686 "rwlparser.y" /* yacc.c:1646 */ + case 600: +#line 5697 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname) ; yyerrok; } -#line 9777 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9761 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 600: -#line 5692 "rwlparser.y" /* yacc.c:1646 */ + case 602: +#line 5703 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile1]"); @@ -9788,11 +9772,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop"); } } -#line 9792 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9776 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 601: -#line 5703 "rwlparser.y" /* yacc.c:1646 */ + case 603: +#line 5714 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile2]"); @@ -9803,11 +9787,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while"); } } -#line 9807 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9791 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 602: -#line 5714 "rwlparser.y" /* yacc.c:1646 */ + case 604: +#line 5725 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->rslflags[rwm->rsldepth-1], RWL_RSLFLAG_WHILOP)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; @@ -9815,27 +9799,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while") ; yyerrok; } -#line 9819 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9803 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 603: -#line 5725 "rwlparser.y" /* yacc.c:1646 */ + case 605: +#line 5736 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = 0; } -#line 9827 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9811 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 604: -#line 5730 "rwlparser.y" /* yacc.c:1646 */ + case 606: +#line 5741 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = rwlexprfinish(rwm); } -#line 9835 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9819 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 606: -#line 5737 "rwlparser.y" /* yacc.c:1646 */ + case 608: +#line 5748 "rwlparser.y" /* yacc.c:1646 */ { char plsword[6]; /* check for "begin" or "decla" or "--" */ ub4 sb, pb, len; @@ -9890,28 +9874,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_SQLWASPLS); rwlerror(rwm, RWL_ERROR_WARN_COMPILETIME_SQLTEXT, rwm->sqname); } -#line 9894 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9878 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 607: -#line 5794 "rwlparser.y" /* yacc.c:1646 */ + case 609: +#line 5805 "rwlparser.y" /* yacc.c:1646 */ { rwm->loc.errlin = 0; rwm->sqlfile = 0; /* not from a file */ } -#line 9903 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9887 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 608: -#line 5799 "rwlparser.y" /* yacc.c:1646 */ + case 610: +#line 5810 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9911 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9895 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 609: -#line 5803 "rwlparser.y" /* yacc.c:1646 */ + case 611: +#line 5814 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; FILE *f ; @@ -9992,11 +9976,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9996 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9980 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 610: -#line 5886 "rwlparser.y" /* yacc.c:1646 */ + case 612: +#line 5897 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -10016,11 +10000,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 10020 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10004 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 611: -#line 5906 "rwlparser.y" /* yacc.c:1646 */ + case 613: +#line 5917 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) // everything is good { @@ -10043,50 +10027,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10047 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10031 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 612: -#line 5930 "rwlparser.y" /* yacc.c:1646 */ + case 614: +#line 5941 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BAD_READLINE); yyerrok; } -#line 10056 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10040 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 613: -#line 5937 "rwlparser.y" /* yacc.c:1646 */ + case 615: +#line 5948 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = rwm->sub_estk = 0; } -#line 10062 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10046 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 614: -#line 5939 "rwlparser.y" /* yacc.c:1646 */ + case 616: +#line 5950 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10070 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10054 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 615: -#line 5943 "rwlparser.y" /* yacc.c:1646 */ + case 617: +#line 5954 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); } -#line 10078 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10062 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 616: -#line 5947 "rwlparser.y" /* yacc.c:1646 */ + case 618: +#line 5958 "rwlparser.y" /* yacc.c:1646 */ { rwm->sub_estk = rwlexprfinish(rwm); } -#line 10086 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10070 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 617: -#line 5951 "rwlparser.y" /* yacc.c:1646 */ + case 619: +#line 5962 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->reg_estk && rwm->str_estk && rwm->sub_estk) { @@ -10125,60 +10109,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10129 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10113 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 618: -#line 5990 "rwlparser.y" /* yacc.c:1646 */ + case 620: +#line 6001 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10139 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10123 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 619: -#line 5999 "rwlparser.y" /* yacc.c:1646 */ + case 621: +#line 6010 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10147 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10131 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 620: -#line 6003 "rwlparser.y" /* yacc.c:1646 */ + case 622: +#line 6014 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10139 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 621: -#line 6009 "rwlparser.y" /* yacc.c:1646 */ + case 623: +#line 6020 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10161 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10145 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 622: -#line 6011 "rwlparser.y" /* yacc.c:1646 */ + case 624: +#line 6022 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10169 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10153 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 623: -#line 6015 "rwlparser.y" /* yacc.c:1646 */ + case 625: +#line 6026 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10178 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10162 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 624: -#line 6020 "rwlparser.y" /* yacc.c:1646 */ + case 626: +#line 6031 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10211,44 +10195,44 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10215 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10199 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 625: -#line 6054 "rwlparser.y" /* yacc.c:1646 */ + case 627: +#line 6065 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10225 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10209 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 626: -#line 6063 "rwlparser.y" /* yacc.c:1646 */ + case 628: +#line 6074 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10231 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10215 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 627: -#line 6065 "rwlparser.y" /* yacc.c:1646 */ + case 629: +#line 6076 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10239 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10223 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 628: -#line 6069 "rwlparser.y" /* yacc.c:1646 */ + case 630: +#line 6080 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10248 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10232 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 629: -#line 6074 "rwlparser.y" /* yacc.c:1646 */ + case 631: +#line 6085 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10281,21 +10265,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10285 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10269 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 630: -#line 6108 "rwlparser.y" /* yacc.c:1646 */ + case 632: +#line 6119 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10295 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10279 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 633: -#line 6121 "rwlparser.y" /* yacc.c:1646 */ + case 635: +#line 6132 "rwlparser.y" /* yacc.c:1646 */ { rwl_idlist *newid = rwlalloc(rwm, sizeof(rwl_idlist)); @@ -10336,22 +10320,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10340 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10324 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 634: -#line 6164 "rwlparser.y" /* yacc.c:1646 */ + case 636: +#line 6175 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that the system expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 10351 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10335 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 635: -#line 6173 "rwlparser.y" /* yacc.c:1646 */ + case 637: +#line 6184 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -10367,11 +10351,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10371 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10355 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 636: -#line 6198 "rwlparser.y" /* yacc.c:1646 */ + case 638: +#line 6209 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->threadlist) rwlsevere(rwm, "[rwlparser-thrlistnotclean]"); @@ -10382,11 +10366,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->totthr = 0; } -#line 10386 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10370 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 637: -#line 6210 "rwlparser.y" /* yacc.c:1646 */ + case 639: +#line 6221 "rwlparser.y" /* yacc.c:1646 */ { rwl_thrinfo *next; rwm->loc.errlin = rwm->lexlino; @@ -10405,26 +10389,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->threadlist = rwm->mythr = 0; rwm->loc.errlin = 0; } -#line 10409 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10393 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 638: -#line 6229 "rwlparser.y" /* yacc.c:1646 */ + case 640: +#line 6240 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10415 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10399 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 643: -#line 6243 "rwlparser.y" /* yacc.c:1646 */ + case 645: +#line 6254 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->cqnstop = 0.0; rwm->cqnnow = rwlclock(rwm->mxq,0); } -#line 10424 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10408 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 644: -#line 6248 "rwlparser.y" /* yacc.c:1646 */ + case 646: +#line 6259 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *cp; sb4 l; @@ -10448,11 +10432,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10452 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10436 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 645: -#line 6273 "rwlparser.y" /* yacc.c:1646 */ + case 647: +#line 6284 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstop = rwm->pval.dval; if (rwm->cqnstop < rwm->cqnstart || rwm->cqnstop < rwm->cqnnow) @@ -10461,11 +10445,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->cqnat = 0; } } -#line 10465 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10449 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 646: -#line 6282 "rwlparser.y" /* yacc.c:1646 */ + case 648: +#line 6293 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->cqnat) { @@ -10517,11 +10501,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; rwm->mythr->dbnam = rwm->cqnat; } -#line 10521 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10505 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 647: -#line 6334 "rwlparser.y" /* yacc.c:1646 */ + case 649: +#line 6345 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->cqnat) // no errors above { @@ -10546,11 +10530,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m4flags, RWL_P4_PROCHASSQL); } -#line 10550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10534 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 648: -#line 6359 "rwlparser.y" /* yacc.c:1646 */ + case 650: +#line 6370 "rwlparser.y" /* yacc.c:1646 */ { rwlcodehead(rwm, 0); if (rwm->cqnat) // No error above @@ -10578,37 +10562,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_CQNTHEN; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10582 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10566 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 649: -#line 6387 "rwlparser.y" /* yacc.c:1646 */ + case 651: +#line 6398 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeaddu(rwm, RWL_CODE_CQNISCB, 0); // Is in callback rwlcodetail(rwm); } -#line 10591 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10575 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 653: -#line 6398 "rwlparser.y" /* yacc.c:1646 */ + case 655: +#line 6409 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "querynotification"); yyerrok; } -#line 10600 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10584 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 655: -#line 6407 "rwlparser.y" /* yacc.c:1646 */ + case 657: +#line 6418 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->pval.dval; } -#line 10608 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10592 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 656: -#line 6414 "rwlparser.y" /* yacc.c:1646 */ + case 658: +#line 6425 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m4flags, RWL_P4_PROCHASSQL); if (rwm->pval.ival < 0) @@ -10624,45 +10608,45 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_THREAD; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10628 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10612 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 657: -#line 6432 "rwlparser.y" /* yacc.c:1646 */ + case 659: +#line 6443 "rwlparser.y" /* yacc.c:1646 */ { rwlcodetail(rwm); } -#line 10636 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10620 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 659: -#line 6437 "rwlparser.y" /* yacc.c:1646 */ + case 661: +#line 6448 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10642 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10626 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 661: -#line 6442 "rwlparser.y" /* yacc.c:1646 */ + case 663: +#line 6453 "rwlparser.y" /* yacc.c:1646 */ { rwm->mythr->dbnam = rwm->inam; } -#line 10650 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10634 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 664: -#line 6451 "rwlparser.y" /* yacc.c:1646 */ + case 666: +#line 6462 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "threads") ; } -#line 10656 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10640 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 667: -#line 6459 "rwlparser.y" /* yacc.c:1646 */ + case 669: +#line 6470 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "run") ; } -#line 10662 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10646 "rwlparser.tab.c" /* yacc.c:1646 */ break; -#line 10666 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10650 "rwlparser.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/rwlparser.tab.h b/src/rwlparser.tab.h index 083c285b..0dfaa84b 100644 --- a/src/rwlparser.tab.h +++ b/src/rwlparser.tab.h @@ -214,7 +214,9 @@ extern int rwlydebug; RWL_T_WINSLASHF2BB = 416, RWL_T_BITWISE_LEFT_SHIFT = 417, RWL_T_BITWISE_RIGHT_SHIFT = 418, - RWL_T_UMINUS = 419 + RWL_T_ASNBIS = 419, + RWL_T_ASNBIC = 420, + RWL_T_UMINUS = 421 }; #endif @@ -223,7 +225,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 473 "rwlparser.y" /* yacc.c:1909 */ +#line 476 "rwlparser.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -237,7 +239,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 241 "rwlparser.tab.h" /* yacc.c:1909 */ +#line 243 "rwlparser.tab.h" /* yacc.c:1909 */ }; typedef union RWLYSTYPE RWLYSTYPE; diff --git a/src/rwlparser.y b/src/rwlparser.y index 98b0d086..d8c54a3c 100644 --- a/src/rwlparser.y +++ b/src/rwlparser.y @@ -11,8 +11,9 @@ * * History * + * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 29-aug-2024 - string->integer can be hex - * mkdash 12-aug-2024 - dbseconds and ociseconds function + * mkdash 12-aug-2024 - dbseconds and ociseconds functions * obakhir 7-aug-2024 - Add bitwise operators * bengsig 17-apr-2024 - nostatistics statement * bengsig 16-apr-2024 - -= @@ -183,6 +184,8 @@ static const rwl_yt2txt rwlyt2[] = , {"RWL_T_APPEND", "'||='"} , {"RWL_T_ARRAY", "'array'"} , {"RWL_T_ASNADD", "'+='"} + , {"RWL_T_ASNBIC", "'&~='"} + , {"RWL_T_ASNBIS", "'|='"} , {"RWL_T_ASNSUB", "'-='"} , {"RWL_T_ASSIGN", "':='"} , {"RWL_T_AT", "'at'"} @@ -512,7 +515,7 @@ rwlcomp(rwlparser_y, RWL_GCCFLAGS) %token RWL_T_PIPEFROM RWL_T_PIPETO RWL_T_RSHIFTASSIGN RWL_T_GLOBAL RWL_T_QUERYNOTIFICATION %token RWL_T_NORMALRANDOM RWL_T_STATISTICSONLY RWL_T_CEIL RWL_T_TRUNC RWL_T_FLOOR RWL_T_LOBPREFETCH %token RWL_T_SIN RWL_T_COS RWL_T_ATAN2 RWL_T_WINSLASHF2B RWL_T_WINSLASHF2BB -%token RWL_T_BITWISE_LEFT_SHIFT RWL_T_BITWISE_RIGHT_SHIFT +%token RWL_T_BITWISE_LEFT_SHIFT RWL_T_BITWISE_RIGHT_SHIFT RWL_T_ASNBIS RWL_T_ASNBIC // standard order of association %left RWL_T_CONCAT @@ -5489,6 +5492,12 @@ assignrightside: case RWL_T_ASNADD: rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNADD); break; + case RWL_T_ASNBIS: + rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNBIS); + break; + case RWL_T_ASNBIC: + rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASNBIC); + break; case RWL_T_ASSIGN: rwlexprpush2(rwm, rwm->assignvar, RWL_STACK_ASN, 0); break; @@ -5551,6 +5560,8 @@ assignoperator: | RWL_T_APPEND { rwm->assignoper = RWL_T_APPEND; } | RWL_T_ASNADD { rwm->assignoper = RWL_T_ASNADD; } | RWL_T_ASNSUB { rwm->assignoper = RWL_T_ASNSUB; } + | RWL_T_ASNBIS { rwm->assignoper = RWL_T_ASNBIS; } + | RWL_T_ASNBIC { rwm->assignoper = RWL_T_ASNBIC; } ; diff --git a/src/rwlvariable.c b/src/rwlvariable.c index 18faeeb9..dd9e9100 100644 --- a/src/rwlvariable.c +++ b/src/rwlvariable.c @@ -11,6 +11,7 @@ * * History * + * bengsig 2-sep-2024 - Assert vnam in rwlfindvar2 * bengsig 21-feb-2024 - pclose -> rwlpclose * bengsig 12-feb-2024 - \r\n on Windows * bengsig 30-jan-2024 - All includes in rwl.h @@ -384,6 +385,13 @@ sb4 rwlfindvar2(rwl_xeqenv *xev, const text *vnam, sb4 guess, text *pname) sb4 i; sb4 local, priva, publc; + if (!vnam) + { + rwlsevere(xev->rwm, "[rwlfindvar2-nullvnam:%d;%s]", guess, pname ? pname : (text *)"NONE"); + return RWL_VAR_NOTFOUND; + } + + // First check if the guess actually was correct if (guess>=0 && rwlverifyvg(xev, vnam, guess, pname) == guess) return guess; diff --git a/test/397.rwl b/test/397.rwl new file mode 100644 index 00000000..1e2544ab --- /dev/null +++ b/test/397.rwl @@ -0,0 +1,47 @@ +# test bis/bic operators + +integer a, bit1, bit7, bit8, bit20; + +a := 0x0; +bit1 := 0x1; +bit7 := 0x7; +bit8 := 0x8; +bit20 := 0x20; + +a |= bit20; printf "bis 0x%04x = 0x%04x\n", bit20, a; +a |= bit7 ; printf "bis 0x%04x = 0x%04x\n", bit7 , a; +a &~= bit8 ; printf "bic 0x%04x = 0x%04x\n", bit8 , a; +a &~= bit1 ; printf "bic 0x%04x = 0x%04x\n", bit1 , a; +a |= 0xd3 ; printf "bis 0x%04x = 0x%04x\n", 0xd3 , a; + +procedure bisa(integer b) + a |= b; + printf "bis 0x%04x = 0x%04x\n", b, a; +end; + +procedure bica(integer b) + a &~= b; + printf "bic 0x%04x = 0x%04x\n", b, a; +end; + +bisa(0x3000); +bica(0x1000); + +if 1 then + bisa(0x8000); + bica(0xf000); + a |= 0xa00 ; printf "bis 0x%04x = 0x%04x\n", 0xa00 , a; + a &~= 0xf00 ; printf "bic 0x%04x = 0x%04x\n", 0xf00 , a; +end; + + +# test some error conditions + +runnumber |= 0x1; +double xx := 32768.12; + +xx &~= 0x3; + +a |= xx; printf "bis %.2f = 0x%04x\n", xx , a; + + diff --git a/test/test.sh b/test/test.sh index 0ed80556..993f326c 100755 --- a/test/test.sh +++ b/test/test.sh @@ -47,8 +47,7 @@ then testlist="$*" else # note that 323..326 test CQN which we don't currently compile in - # 397 is currently not used - testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 398 399 400 401' + testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401' fi diffokcount=0; @@ -67,6 +66,10 @@ do pre='' post='' case $i in + 323|324|325|326) + echo $i is current not in use + continue + ;; 197|158|213) pre='-sss' ;; diff --git a/test/testres/388.err.good b/test/testres/388.err.good index 13482889..7f743c0a 100644 --- a/test/testres/388.err.good +++ b/test/testres/388.err.good @@ -1 +1 @@ -RWL-100: error at [388.rwl;16]: cannot use string 'x' as sub-assign +RWL-100: error at [388.rwl;16]: cannot use string 'x' as subtract-assign diff --git a/test/testres/394.err.good b/test/testres/394.err.good index 24acb044..c5caefb9 100644 --- a/test/testres/394.err.good +++ b/test/testres/394.err.good @@ -1,2 +1,2 @@ -RWL-601: debug at [rwldiprs.y:46]<-[394.rwl;15]: rwlzerror syntax error, unexpected RWL_Z_IDENTIFIER, expecting RWL_Z_CONCAT or ';' +RWL-601: debug at [rwldiprs.y:47]<-[394.rwl;15]: rwlzerror syntax error, unexpected RWL_Z_IDENTIFIER, expecting RWL_Z_CONCAT or ';' RWL-222: error at [394.rwl;15]: expected valid expression in $if ... $then directive diff --git a/test/testres/397.err.good b/test/testres/397.err.good new file mode 100644 index 00000000..1e479a50 --- /dev/null +++ b/test/testres/397.err.good @@ -0,0 +1,2 @@ +RWL-100: error at [397.rwl;40]: cannot use predefined variable 'runnumber' as bit-set-assign +RWL-100: error at [397.rwl;43]: cannot use double 'xx' as bit-clear-assign diff --git a/test/testres/397.out.good b/test/testres/397.out.good new file mode 100644 index 00000000..9eb4a6c5 --- /dev/null +++ b/test/testres/397.out.good @@ -0,0 +1,12 @@ +bis 0x0020 = 0x0020 +bis 0x0007 = 0x0027 +bic 0x0008 = 0x0027 +bic 0x0001 = 0x0026 +bis 0x00d3 = 0x00f7 +bis 0x3000 = 0x30f7 +bic 0x1000 = 0x20f7 +bis 0x8000 = 0xa0f7 +bic 0xf000 = 0x00f7 +bis 0x0a00 = 0x0af7 +bic 0x0f00 = 0x00f7 +bis 32768.12 = 0x80f7 From f041a53f9b3c5b05918744465edc63f280ff69ff Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 2 Sep 2024 15:01:56 +0000 Subject: [PATCH 094/118] No longer distribution of binonly --- docs/INSTALL.md | 21 +-------------------- makeship.sh | 12 +++++++----- 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/docs/INSTALL.md b/docs/INSTALL.md index d3b27bc5..8b660907 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -2,8 +2,7 @@ There are three types of binary distributions available at github releases: -* Complete binaries are in files that have -bin- in the name; this is the preferred distribution for most users. -* Little more than executables are in files that have -binonly- in the name. +* Complete binaries are in files that have -bin- in the name; this is the full distribution for most users. * Generated stand-alone binaries for utilities like ociping and awrreport; the file name starts with generated. ### Using complete binaries @@ -24,15 +23,6 @@ and it contains the following directories: |doc|The users guide as md files; you should normally read these directly on git| |oltp|Files implementing the "oltp" workload| -If you prefer to have access to source code, but avoid building the executables, -you can clone or pull from github (which would allow you to potentially compile -rwloadsim yourself), and then -use a file like rwloadsim-linux-x86_64-binonly-3.1.3.tgz. -This file contains little more than the compiled binaries of the rwloadsim program, -and you can simply un-tar this file -directly into your cloned or pulled directory; the result will be as if you had -been compiling yourself. - ### Prerequisites * An Oracle client environment such as Instant Client is required. @@ -61,15 +51,6 @@ the number refers to the client version that was used to compile the software. The client version you install much be the same as one of these, preferably the latest. You can use Oracle Instant Client or a full client (or even server) install. -### Binary only install on top of clone or pull from github - -Start by doing a pull or clone of the sources from github -as if you would do your own compile, and then use a command like -``` -tar -zxvf rwloadsim-linux-x86_64-binonly-3.1.3.tgz -``` -to extract little more than the compiled rwloadsim binaries into your already existing pull or clone. - ### Missing required libraries On some platforms (Ubuntu is one such example), you may get an error like diff --git a/makeship.sh b/makeship.sh index b32dcdc3..f4492da8 100644 --- a/makeship.sh +++ b/makeship.sh @@ -6,6 +6,7 @@ # # Changes # +# bengsig 2-sep-2024 Stop distributing binonly # bengsig 28-jun-2022 Generate project # bengsig 8-mar-2022 Updated banner # bengsig 14-jun-2021 workloads directory has gone @@ -30,15 +31,15 @@ then tgzfile=rwloadsim-$os-bin-$longname.tgz tgzgen=generated-$os-bin-$longname.tgz tgzgen11=generated-11-$os-bin-$longname.tgz - tgzbinonly=rwloadsim-$os-binonly-$longname.tgz + # tgzbinonly=rwloadsim-$os-binonly-$longname.tgz else tgzfile=rwloadsim-$os-bin-$name.tgz tgzgen=generated-$os-bin-$name.tgz tgzgen11=generated-11-$os-bin-$name.tgz - tgzbinonly=rwloadsim-$os-binonly-$name.tgz + # tgzbinonly=rwloadsim-$os-binonly-$name.tgz fi -rm -f $tgzfile $tgzbinonly +rm -f $tgzfile # $tgzbinonly # Create a new vim.tar (cd admin; rm -f vim.tar; tar -cf vim.tar .vim/ftdetect/rws.vim .vim/ftdetect/rwl.vim .vim/syntax/rwl.vim) # Make sure tags and cscope.out are newest @@ -46,10 +47,11 @@ rm -f $tgzfile $tgzbinonly # And create the two files tar -zcf $tgzfile --exclude-from=tar.exclude ./DISTRIBUTION.txt ./LICENSE.txt ./SECURITY.md ./CONTRIBUTING.md ./README.md ./CHANGELOG.md bin lib man admin demo public docs oltp -tar -zcf $tgzbinonly ./DISTRIBUTION.txt ./LICENSE.txt ./SECURITY.md ./CONTRIBUTING.md ./BINONLY.txt bin/rwloadsim?? lib/*.o admin/vim.tar src/tags src/cscope.out +# tar -zcf $tgzbinonly ./DISTRIBUTION.txt ./LICENSE.txt ./SECURITY.md ./CONTRIBUTING.md ./BINONLY.txt bin/rwloadsim?? lib/*.o admin/vim.tar src/tags src/cscope.out ( cd genbin11; tar -zhcf ../$tgzgen11 ./*) ( cd genbin19; tar -zhcf ../$tgzgen ./*) echo Created these files containing a $banner release: -ls -l $tgzfile $tgzbinonly $tgzgen $tgzgen11 +#ls -l $tgzfile $tgzbinonly $tgzgen $tgzgen11 +ls -l $tgzfile $tgzgen $tgzgen11 From 91d8d0e84ff2e4c0812884344d5655b08b6bb9d3 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 2 Sep 2024 16:20:09 +0000 Subject: [PATCH 095/118] Various doc updates --- docs/EXPRESSION.md | 16 +++++++++++++--- docs/NEWS31.md | 19 +++++++++++++++++++ docs/refman/concatenation.html | 2 +- docs/refman/constant.html | 2 +- docs/refman/expression.html | 2 +- docs/refman/function.html | 2 +- docs/refman/ociping.html | 2 +- docs/refman/statement.html | 2 +- docs/refman/statementlist.html | 2 +- man/man2rwl/connping.2rwl | 2 ++ man/man2rwl/ociping.2rwl | 2 ++ man/man2rwl/utilities.2rwl | 2 ++ 12 files changed, 45 insertions(+), 10 deletions(-) diff --git a/docs/EXPRESSION.md b/docs/EXPRESSION.md index 63d8c1da..9ba509b4 100644 --- a/docs/EXPRESSION.md +++ b/docs/EXPRESSION.md @@ -13,11 +13,15 @@ The full list of operators in order of precedence are: |operator|description|type| |--------|-----------|----| |is [not] null|Check for (not) null|Post-fix, monadic| -|- ! not|Arithmetic negative, two synonyms for boolean not|Prefix, monadic| +|- ! not ~|Arithmetic negative, two synonyms for boolean not, bitwise not|Prefix, monadic| |* / %|Multiplication, division, and integer remainder|Dyadic| |+ -|Addition, subtraction|Dyadic| +|<< >>|Bitwise left and right shift|Dyadic| |< <= > >= between/and|Inequality comparisons|Dyadic (between/and triadic)| |= != <>|Equality and two synonyms for non-equality|Dyadic| +|&|Bitwise and|Dyadic| +|^|Bitwise exclusive or|Dyadic| +|||Bitwise or|Dyadic| |and|Boolean and|Dyadic| |or|Boolean or|Dyadic| |? :|Conditional expression|Triadic| @@ -33,10 +37,12 @@ The rwloadsim language has three types of assignments: |operator|description| |--------|-----------| |:=|Ordinary assignment that assigns the value on the right side to the variable on the left| -|+=|Increment assignment that adds the value on the right side to the variable on the left, which must be an integer or a double| +|+= -=|Increment and decrement assignment that adds or subtracts the value on the right side to the variable on the left, which must be an integer or a double| +||= &~=|Bitwise set and clear assignment that sets or clears the bits of the value on the right side in the variable on the left, which must be an integer| |||=|Append assignment that appends the value on the right side to the variable on the left, which must be a string| -Constants of type integer are sequences of digits, constants of type double +Constants of type integer are sequences of digits or 0x followed by a sequence +of hexadicimal digits, constants of type double contain a decimal point and or an exponent. A possible - in front of a number constant is never part of the constant, it is always the unary minus operator. @@ -82,6 +88,10 @@ a := 1 + "2.9"; # will assign 3 to the integer as the # implicit conversion from string to integer stops at "." a += b+c; # increase the value of a by the sum of b and c +integer bitval := 0; +# set bit 5 in the variable bitval +bitval |= 0x1<<4; + # declare a string variable and assign some text to it string helloworld := "Hello"; # append some more text to it diff --git a/docs/NEWS31.md b/docs/NEWS31.md index 0118d2de..caa9ed6e 100644 --- a/docs/NEWS31.md +++ b/docs/NEWS31.md @@ -1,3 +1,22 @@ +## News and updates for version 3.1.4 of the RWP\*Load Simulator + +The most important changes in version 3.1.4 are: + +### Bitwise operations and hexadecimal input + +Bitwise shift, and, or and exclusive or has been added as well as the ability +to input hexadecimal integer constants. + +### New operators + +For bitwise operations, |= and &~= operators have been added to respectively set or clear bits +in an integer. + +### Functions for database end-2-end tracing + +Two new functions, dbseconds() and ociseconds() have been added; they return respectively the +time spent on the database side and on the clienside when executing select OCI calls. + ## News and updates for version 3.1.3 of the RWP\*Load Simulator The most important changes in version 3.1.3 are: diff --git a/docs/refman/concatenation.html b/docs/refman/concatenation.html index 168a17fb..56aacfb2 100644 --- a/docs/refman/concatenation.html +++ b/docs/refman/concatenation.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/constant.html b/docs/refman/constant.html index 168a17fb..56aacfb2 100644 --- a/docs/refman/constant.html +++ b/docs/refman/constant.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/expression.html b/docs/refman/expression.html index 168a17fb..56aacfb2 100644 --- a/docs/refman/expression.html +++ b/docs/refman/expression.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/function.html b/docs/refman/function.html index 648b8786..56aacfb2 100644 --- a/docs/refman/function.html +++ b/docs/refman/function.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/ociping.html b/docs/refman/ociping.html index f4e28eb9..3d402da7 100644 --- a/docs/refman/ociping.html +++ b/docs/refman/ociping.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/statement.html b/docs/refman/statement.html index d958bd23..03ee3ab8 100644 --- a/docs/refman/statement.html +++ b/docs/refman/statement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/statementlist.html b/docs/refman/statementlist.html index fb73ac6d..03ee3ab8 100644 --- a/docs/refman/statementlist.html +++ b/docs/refman/statementlist.html @@ -1,5 +1,5 @@ - + diff --git a/man/man2rwl/connping.2rwl b/man/man2rwl/connping.2rwl index f06f135b..ddd456cb 100644 --- a/man/man2rwl/connping.2rwl +++ b/man/man2rwl/connping.2rwl @@ -106,6 +106,8 @@ in the bin directory that calls rwloadsim with the -u option getting connping.rw the public directory. As a stand alone binary distribution, connping is an executable with the connping.rwl code embedded. +.SH DOWNLOAD +Please refer to https://github.com/oracle/rwloadsim for information about download and install. .SH COPYRIGHT Copyright \(co 2023 Oracle Corporation .br diff --git a/man/man2rwl/ociping.2rwl b/man/man2rwl/ociping.2rwl index fa70a813..f2b9c7ff 100644 --- a/man/man2rwl/ociping.2rwl +++ b/man/man2rwl/ociping.2rwl @@ -258,6 +258,8 @@ in the bin directory that calls rwloadsim with the -u option getting ociping.rwl the public directory. As a stand alone binary distribution, ociping is an executable with the ociping.rwl code embedded. +.SH DOWNLOAD +Please refer to https://github.com/oracle/rwloadsim for information about download and install. .SH COPYRIGHT Copyright \(co 2023 Oracle Corporation .br diff --git a/man/man2rwl/utilities.2rwl b/man/man2rwl/utilities.2rwl index ac29baa8..17def15b 100644 --- a/man/man2rwl/utilities.2rwl +++ b/man/man2rwl/utilities.2rwl @@ -92,6 +92,8 @@ rwloadsim -l u/p@c [options] -u utility.rwl .fi .P are for all practical purposes identical and both can be used. +.SH DOWNLOAD +Please refer to https://github.com/oracle/rwloadsim for information about download and install. .SH COPYRIGHT Copyright \(co 2023 Oracle Corporation .P From c95b3b4e8d5223cfed0a17b80d5d15a9c167be06 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 2 Sep 2024 16:23:17 +0000 Subject: [PATCH 096/118] | -> &124; in md file --- docs/EXPRESSION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/EXPRESSION.md b/docs/EXPRESSION.md index 9ba509b4..e975574e 100644 --- a/docs/EXPRESSION.md +++ b/docs/EXPRESSION.md @@ -21,7 +21,7 @@ The full list of operators in order of precedence are: |= != <>|Equality and two synonyms for non-equality|Dyadic| |&|Bitwise and|Dyadic| |^|Bitwise exclusive or|Dyadic| -|||Bitwise or|Dyadic| +|||Bitwise or|Dyadic| |and|Boolean and|Dyadic| |or|Boolean or|Dyadic| |? :|Conditional expression|Triadic| From f889ad70b3ad7cd871594354c26e19df6200f623 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 3 Sep 2024 10:39:27 +0000 Subject: [PATCH 097/118] Fix atime, dtime for complex query, clean DEBUG_MISC --- oltp/csvdata.rwl | 3 ++- src/rwldynsql.c | 4 +--- src/rwlsql.c | 8 +++----- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/oltp/csvdata.rwl b/oltp/csvdata.rwl index dabe54b4..95f8f37e 100644 --- a/oltp/csvdata.rwl +++ b/oltp/csvdata.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 3-sep-2024 - fix complex_query atime, dtime # bengsig 23-jul-2023 - ping->connping # bengsig 22-jul-2024 - Add cstorm logoff time # bengsig 17-may-2024 - PGA @@ -469,7 +470,7 @@ execute at rwloadsim , nvl(aw_transaction_avga,0) aw_atim , nvl(aw_transaction_avgd,0) aw_dtim , nvl(query_order_avga,0) qo_atim , nvl(query_order_avgd,0) qo_dtim , nvl(awindex_query_avga,0) ai_atim , nvl(awindex_query_avgd,0) ai_dtim - , nvl(complex_query_avgw,0) cq_atim , nvl(complex_query_avge,0) cq_dtim + , nvl(complex_query_avga,0) cq_atim , nvl(complex_query_avgd,0) cq_dtim from ( select vname, second , case when scount > 0 then wtime/scount else 0 end wtime diff --git a/src/rwldynsql.c b/src/rwldynsql.c index 9196daf6..4ed5c971 100644 --- a/src/rwldynsql.c +++ b/src/rwldynsql.c @@ -11,6 +11,7 @@ * * History * + * bengsig 3-sep-2024 - clean up DEBUG_MISC * bengsig 13-mar-2024 - Save sql_id rather than a pointer to it * bengsig 30-jan-2024 - All includes in rwl.h * bengsig 12-oct-2023 - bug fix ampersand at end @@ -500,9 +501,6 @@ void rwldynarreplace(rwl_xeqenv *xev ss = rwlnuminvar(xev, xev->evar+avl->arvnum); if (ss->sval) { - if (bit(xev->tflags, RWL_DEBUG_MISC)) - rwldebug(xev->rwm, "dynarrep v=%s:%d t=%d s=%s i=%d", avl->arvnam - , avl->arvnum, xev->thrnum, ss->sval, ss->ival); // copy the variable contents actlen = (ub4) rwlstrlen(ss->sval); // assert we have space diff --git a/src/rwlsql.c b/src/rwlsql.c index 6201e5c1..174b8870 100644 --- a/src/rwlsql.c +++ b/src/rwlsql.c @@ -11,6 +11,7 @@ * * History * + * bengsig 3-sep-2024 - clean up DEBUG_MISC * bengsig 28-jul-2024 - Save OCISessionGet errors * bengsig 26-jul-2024 - Avoid unneeded logoff/logon * obakhir 24-jun-2024 - rwlreadlob does piecewise reading @@ -5493,11 +5494,6 @@ void rwlgetdefines(rwl_xeqenv *xev return; } - if (bit(xev->tflags, RWL_DEBUG_MISC)) - { - rwldebugcode(xev->rwm,cloc,"get define %s %d", sq->vname, c); - } - if (!(bd=rwlsearchdef(sq, c))) { // The position has not already been defined @@ -5610,10 +5606,12 @@ void rwlgetbinds(rwl_xeqenv *xev } } +#ifdef NEVER if (bit(xev->tflags, RWL_DEBUG_MISC)) { rwldebugcode(xev->rwm,cloc,"get bind %s %d %s", sq->vname, b, bindname); } +#endif if (!(bd=rwlsearchbind(sq, b, bindname))) { From 43dd86198fed1afc966af58104bfd7e3298ee453 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 30 Sep 2024 14:02:40 +0000 Subject: [PATCH 098/118] Add grand total to concurrency run ociping --- public/ociping.rwl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/public/ociping.rwl b/public/ociping.rwl index ca1a4150..246670c5 100644 --- a/public/ociping.rwl +++ b/public/ociping.rwl @@ -6,6 +6,7 @@ # # History # +# bengsig 30-sep-2024 - Add grand total mean/stddev after concurrency run # bengsig 24-jul-2024 - Clean up and report nicely after ctrl-c # bengsig 28-feb-2024 - Windows port # bengsig 26-feb-2024 - Use filecommands.rwl include @@ -67,6 +68,7 @@ $alwaysmute:206 # RWL-206: warning: OCI compile environment (19.15) is different private double d, t1, t2; private double tsum := 0.0, tsq := 0.0, tcnt := 0.0; +private double threads sum gtsum := 0.0, gtsq := 0.0, gtcnt := 0.0; private double tmin, tmax; double period := 60; @@ -173,9 +175,9 @@ private procedure oneping() arnum:=2; end if; # Sum etc of ociping times - tsum += d; - tsq += d*d; - tcnt += 1.0; + tsum += d; gtsum += d; + tsq += d*d; gtsq += d*d; + tcnt += 1.0; gtcnt += 1.0; # min/max if tmin is null or d < tmin then tmin:=d; end; if tmax is null or d > tmax then tmax:=d; end; @@ -422,6 +424,8 @@ $else else writeline stderr, "gnuplot is missing, input available in " resultdir "/" runname ".plot"; end if; + printf "overall ociping (ms) mean=%.3f, stddev=%.3f\n" + ,gtsum/gtcnt,sqrt((gtsq-gtsum*gtsum/gtcnt)/gtcnt); $endif From adea5248ae3b192d12c5df20864c86729e75e708 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 10 Oct 2024 13:59:19 +0000 Subject: [PATCH 099/118] Implement session max lifetime and max usage --- CHANGELOG.md | 1 + docs/ERRORLIST.md | 4 + docs/refman/connping.html | 12 +- docs/refman/databasedeclaration.html | 60 +- docs/refman/ociping.html | 12 +- docs/refman/utilities.html | 12 +- man/man1rwl/databasedeclaration.1rwl | 35 +- src/rwl.h | 11 +- src/rwlerror.h | 6 + src/rwlparser.tab.c | 6066 +++++++++++++------------- src/rwlparser.tab.h | 2 +- src/rwlparser.y | 67 +- src/rwlsql.c | 25 + test/402.rwl | 62 + test/403.rwl | 58 + test/test.sh | 2 +- test/testres/402.err.good | 0 test/testres/402.out.good | 6 + test/testres/403.err.good | 0 test/testres/403.out.good | 6 + 20 files changed, 3428 insertions(+), 3019 deletions(-) create mode 100644 test/402.rwl create mode 100644 test/403.rwl create mode 100644 test/testres/402.err.good create mode 100644 test/testres/402.out.good create mode 100644 test/testres/403.err.good create mode 100644 test/testres/403.out.good diff --git a/CHANGELOG.md b/CHANGELOG.md index 01f93d83..8128c29d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * OLTP workload gets ociping and connect times * Bitwise operations and input of hexadecimal constants * Bit set/clear assignments +* session pool can set max usage count and max lifetime * dbsecounds() and ociseconds() functions ## 3.1.3 diff --git a/docs/ERRORLIST.md b/docs/ERRORLIST.md index dddd4656..16c1e055 100644 --- a/docs/ERRORLIST.md +++ b/docs/ERRORLIST.md @@ -1338,6 +1338,10 @@ allowed. The right operand of the bitwise shift operation is larger than or equal to the bit width of the left operand. The right operand should be at most 63. +### RWL-328 error: "the connection pool database '%s' cannot use release %s" +The release count or every time can only be provided for session pools, you can +use release time (without the count or every keyword) as an alternative. + ### RWL-600 internal error: '%s' An abnormal situation caused an internal error in rwloadsim. This is in most cases due to a programming error and it diff --git a/docs/refman/connping.html b/docs/refman/connping.html index d7996fd6..2a7506f3 100644 --- a/docs/refman/connping.html +++ b/docs/refman/connping.html @@ -1,5 +1,5 @@ - + @@ -26,6 +26,7 @@

    connping

    USAGE
    EXAMPLE
    NOTES
    +DOWNLOAD
    COPYRIGHT
    SEE ALSO
    @@ -185,6 +186,15 @@

    NOTES connping is an executable with the connping.rwl code embedded.

    +

    DOWNLOAD + +

    + + +

    Please refer to +https://github.com/oracle/rwloadsim for information about +download and install.

    +

    COPYRIGHT

    diff --git a/docs/refman/databasedeclaration.html b/docs/refman/databasedeclaration.html index 33047893..5644357e 100644 --- a/docs/refman/databasedeclaration.html +++ b/docs/refman/databasedeclaration.html @@ -1,5 +1,5 @@ - + @@ -47,7 +47,7 @@

    SYNTAX
    databasedeclaration ::=
       database identifier [ concatenation ]
    -  databasespecification { databasespecification }
    +  { databasespecification }
     
     databasespecification ::=
       username concatenation
    @@ -59,14 +59,25 @@ 

    SYNTAX | reconnect | [ threads ] dedicated [ requestmark | statemark ] | cursorcache expression -| sessionpool expression [ .. expression ] [ releasepool ] [ waitsession ] +| sessionpool expression [ .. expression ] { sessionrelease } ] [ waitsession ] | connectionclass concatenation -| connectionpool expression [ .. expression ] [ releasepool ] +| connectionpool expression [ .. expression ] [ idlerelease ] | connect connectionpool identifier -releasepool ::= +sessionrelease ::= + idlerelease + | countrelease + | lifetimerelease + +idlerelease ::= release expression +lifetimerelease ::= + release every expression + +countrelease ::= + release count expression + waitsession ::= wait expression @@ -189,11 +200,9 @@

    ATTRIBUTES that this can imply a high number of database connections and dis-connections.

    - -

    dedicated

    - -

    threads -dedicated

    +

    dedicated +
    +threads dedicated

    Use dedicated connections that are established once and kept logged on during the complete @@ -245,14 +254,29 @@

    ATTRIBUTES OCIConnectionPool.

    release -value

    - -

    For a pool, set the timeout -value for idle sessions (OCI_ATTR_SPOOL_TIMEOUT) or -connections (OCI_ATTR_CONN_TIMEOUT); the default is 60s. -Sessions or connections in the pool that have been idle for -more than the release value will disconnect unless the pool -already has its minimum size.

    +value
    +release count
    value
    +release every
    value

    + +

    For a pool, the first option +sets the timeout value for idle sessions +(OCI_ATTR_SPOOL_TIMEOUT) or connections +(OCI_ATTR_CONN_TIMEOUT); the default is 60s. Sessions or +connections in the pool that have been idle for more than +the release value will disconnect unless the pool already +has its minimum size.

    + +

    For a session +pool, you can also set the max usage count +(OCI_ATTR_SPOOL_MAX_USE_SESSION) or the max lifetime +(OCI_ATTR_SPOOL_MAX_LIFETIME_SESSION) using the either of +the two last options. The default is 0 implying sessions +will not have a max usage count or max lifetime.

    + +

    For all three +attributes, you may provide a double value, but since the +value used in OCI is an integer, only the integer part of +the value will be used.

    wait value
    diff --git a/docs/refman/ociping.html b/docs/refman/ociping.html index 3d402da7..2cf71f4d 100644 --- a/docs/refman/ociping.html +++ b/docs/refman/ociping.html @@ -1,5 +1,5 @@ - + @@ -29,6 +29,7 @@

    ociping

    EXAMPLE
    CONCURRENCY EXAMPLE
    NOTES
    +DOWNLOAD
    COPYRIGHT
    SEE ALSO
    @@ -375,6 +376,15 @@

    NOTES ociping is an executable with the ociping.rwl code embedded.

    +

    DOWNLOAD + +

    + + +

    Please refer to +https://github.com/oracle/rwloadsim for information about +download and install.

    +

    COPYRIGHT

    diff --git a/docs/refman/utilities.html b/docs/refman/utilities.html index 9c8fdc8d..7ee12cf8 100644 --- a/docs/refman/utilities.html +++ b/docs/refman/utilities.html @@ -1,5 +1,5 @@ - + @@ -23,6 +23,7 @@

    utilities

    NAME
    DESCRIPTION
    NOTES
    +DOWNLOAD
    COPYRIGHT
    SEE ALSO
    @@ -146,6 +147,15 @@

    NOTES

    are for all practical purposes identical and both can be used.

    +

    DOWNLOAD + +

    + + +

    Please refer to +https://github.com/oracle/rwloadsim for information about +download and install.

    +

    COPYRIGHT

    diff --git a/man/man1rwl/databasedeclaration.1rwl b/man/man1rwl/databasedeclaration.1rwl index 4af32cc5..33eeab84 100644 --- a/man/man1rwl/databasedeclaration.1rwl +++ b/man/man1rwl/databasedeclaration.1rwl @@ -6,7 +6,7 @@ databasedeclaration \- RWP*Load Simulator declare a database connection \fC databasedeclaration ::= \fBdatabase\fR identifier [ concatenation ] - databasespecification { databasespecification } + { databasespecification } databasespecification ::= \fBusername\fR concatenation @@ -18,14 +18,25 @@ databasespecification ::= | \fBreconnect\fR | [ \fBthreads\fR ] \fBdedicated\fR [ \fBrequestmark\fR | \fBstatemark\fR ] | \fBcursorcache\fR expression -| \fBsessionpool\fR expression [ \fB..\fR expression ] [ releasepool ] [ waitsession ] +| \fBsessionpool\fR expression [ \fB..\fR expression ] { sessionrelease } ] [ waitsession ] | \fBconnectionclass\fR concatenation -| \fBconnectionpool\fR expression [ \fB..\fR expression ] [ releasepool ] +| \fBconnectionpool\fR expression [ \fB..\fR expression ] [ idlerelease ] | \fBconnect\fR \fBconnectionpool\fR identifier -releasepool ::= +sessionrelease ::= + idlerelease + | countrelease + | lifetimerelease + +idlerelease ::= \fBrelease\fR expression +lifetimerelease ::= + \fBrelease\fR \fBevery\fR expression + +countrelease ::= + \fBrelease\fR \fBcount\fR expression + waitsession ::= \fBwait\fR expression | \fBwait\fR expression \fBthen break\fR @@ -121,7 +132,7 @@ Note that this can imply a high number of database connections and dis-connectio .RE .P \fBdedicated\fR -.P +.br \fBthreads dedicated\fR .RS 4 Use dedicated connections that are established once and kept logged on during @@ -169,13 +180,25 @@ does not have the counterpart of an OCIConnectionPool. .RE .P .B \fBrelease\fR value +.br +.B \fBrelease count\fR value +.br +.B \fBrelease every\fR value .RS 4 -For a pool, set the timeout value for idle +For a pool, the first option sets the timeout value for idle sessions (OCI_ATTR_SPOOL_TIMEOUT) or connections (OCI_ATTR_CONN_TIMEOUT); the default is 60s. Sessions or connections in the pool that have been idle for more than the release value will disconnect unless the pool already has its minimum size. +.P +For a session pool, you can also set the max usage count (OCI_ATTR_SPOOL_MAX_USE_SESSION) +or the max lifetime (OCI_ATTR_SPOOL_MAX_LIFETIME_SESSION) +using the either of the two last options. +The default is 0 implying sessions will not have a max usage count or max lifetime. +.P +For all three attributes, you may provide a double value, but since the value used in OCI +is an integer, only the integer part of the value will be used. .RE .P .B \fBwait\fR value diff --git a/src/rwl.h b/src/rwl.h index 87d11866..729b1f4a 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 10-oct-2024 - sessionpool release every/count * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 29-aug-2024 - rwldorxtosb8 macro * bengsig 28-aug-2024 - Add rwloeradd function @@ -461,6 +462,8 @@ struct rwl_cinfo ub4 stmtcache; /* size of statement cache */ ub4 ptimeout; /* session/conneciton pool timeout */ + ub4 pmaxuse; /* session pool max use count */ + ub4 pmaxlife; /* session pool max life time */ #define RWL_DBPOOL_DEFAULT_TIMEOUT 60 // for ptimeout double wtimeout; /* sessionpool wait timeout */ @@ -488,7 +491,13 @@ struct rwl_cinfo #define RWL_DB_CREDEXT 0x0010000 // Use OCI_CRED_EXT (for wallet authentication) #define RWL_DB_SP_NORLB 0x0020000 // Includ the OCI_SPC_NO_RLB during OCISessionPoolCreate #define RWL_DB_SPTOBREAK 0x0040000 // Break to end of procedure if OCISessionGet timeout -#define RWL_DB_COPY_FLAGS (RWL_DB_SPTOBREAK|RWL_DB_CREDEXT|RWL_DB_REQMARK|RWL_DB_STATEMARK|RWL_DB_USECPOOL|RWL_DB_CCACHUSER|RWL_DB_SP_NORLB) +#define RWL_DB_COPY_FLAGS (RWL_DB_SPTOBREAK \ + | RWL_DB_CREDEXT \ + | RWL_DB_REQMARK \ + | RWL_DB_STATEMARK \ + | RWL_DB_USECPOOL \ + | RWL_DB_CCACHUSER \ + | RWL_DB_SP_NORLB) rwl_estack *tobreak; // time out break routine sb4 errcode; // last error code diff --git a/src/rwlerror.h b/src/rwlerror.h index 7ca11e9a..4250cf68 100644 --- a/src/rwlerror.h +++ b/src/rwlerror.h @@ -11,6 +11,7 @@ * * History * + * bengsig 10-oct-2024 - sessionpool release count/every * obakhir 7-aug-2024 - Add RWL Errors from 324 to 327 for bitwise operators * obakhir 24-jun-2024 - Add RWL_ERROR_CLOB_TOO_LARGE for rwlreadlob * bengsig 4-jun-2024 - $ora01013:break @@ -1850,6 +1851,11 @@ RWLERROR("bitwise shifting by an amount greater than or equal to the bit width", RWLEDESC("The right operand of the bitwise shift operation is larger than or equal to" RWL_LINEEND "the bit width of the left operand. The right operand should be at most 63") +#define RWL_ERROR_CPOOL_NOT_RELEASE_COUNT 328 +RWLERROR("the connection pool database '%s' cannot use release %s", RWL_ERROR_PARSE) +RWLEDESC("The release count or every time can only be provided for session pools, you can" RWL_LINEEND +"use release time (without the count or every keyword) as an alternative") + // When adding new errors, add them before these lines // and make sure the #define follows a format like // #define RWL_ERROR_whatever_reasonable_here NNN diff --git a/src/rwlparser.tab.c b/src/rwlparser.tab.c index 48728d58..6ed8cc21 100644 --- a/src/rwlparser.tab.c +++ b/src/rwlparser.tab.c @@ -69,7 +69,7 @@ /* Copy the first part of user declarations. */ -#line 159 "rwlparser.y" /* yacc.c:339 */ +#line 160 "rwlparser.y" /* yacc.c:339 */ #include "rwl.h" @@ -585,7 +585,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 476 "rwlparser.y" /* yacc.c:355 */ +#line 477 "rwlparser.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -857,16 +857,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 5575 +#define YYLAST 5769 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 186 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 294 +#define YYNNTS 298 /* YYNRULES -- Number of rules. */ -#define YYNRULES 676 +#define YYNRULES 682 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1240 +#define YYNSTATES 1248 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -929,74 +929,75 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 538, 538, 545, 549, 551, 550, 566, 567, 568, - 570, 573, 580, 582, 599, 598, 608, 607, 616, 615, - 625, 624, 634, 639, 648, 649, 653, 652, 659, 664, - 672, 673, 677, 676, 684, 683, 756, 761, 762, 774, - 775, 778, 779, 782, 792, 797, 805, 818, 849, 860, - 872, 871, 887, 897, 896, 913, 923, 933, 943, 956, - 957, 960, 968, 978, 989, 1004, 1005, 1017, 1019, 1018, - 1031, 1032, 1038, 1037, 1065, 1072, 1079, 1080, 1084, 1085, - 1088, 1101, 1100, 1152, 1164, 1163, 1184, 1189, 1196, 1201, - 1208, 1293, 1294, 1298, 1307, 1308, 1311, 1312, 1313, 1317, - 1318, 1322, 1350, 1352, 1354, 1356, 1371, 1376, 1381, 1389, - 1390, 1392, 1394, 1413, 1415, 1414, 1430, 1429, 1445, 1444, - 1460, 1503, 1517, 1531, 1545, 1557, 1561, 1562, 1563, 1564, - 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, - 1575, 1577, 1579, 1581, 1583, 1584, 1587, 1590, 1591, 1595, - 1600, 1601, 1602, 1604, 1606, 1607, 1609, 1620, 1631, 1635, - 1641, 1645, 1651, 1655, 1661, 1666, 1670, 1678, 1676, 1703, - 1707, 1711, 1717, 1723, 1727, 1728, 1732, 1733, 1737, 1742, - 1743, 1744, 1749, 1750, 1751, 1752, 1753, 1757, 1758, 1759, - 1760, 1764, 1765, 1766, 1769, 1770, 1771, 1775, 1776, 1777, - 1778, 1779, 1780, 1784, 1785, 1786, 1790, 1791, 1795, 1796, - 1800, 1801, 1805, 1807, 1806, 1824, 1826, 1825, 1841, 1843, - 1852, 1842, 1867, 1868, 1872, 1873, 1883, 1884, 1888, 1896, - 1899, 1898, 1905, 1908, 1907, 1911, 1913, 1915, 1917, 1920, - 1926, 1955, 1970, 1983, 1985, 1986, 1990, 1992, 1996, 1998, - 2003, 2002, 2009, 2008, 2020, 2025, 2024, 2032, 2036, 2060, - 2086, 2084, 2112, 2110, 2220, 2229, 2228, 2232, 2231, 2236, - 2242, 2241, 2251, 2250, 2259, 2272, 2277, 2271, 2305, 2313, - 2318, 2312, 2347, 2354, 2370, 2369, 2382, 2398, 2409, 2415, - 2421, 2433, 2445, 2455, 2465, 2464, 2477, 2483, 2481, 2599, - 2606, 2622, 2624, 2626, 2626, 2627, 2630, 2632, 2634, 2631, - 2636, 2640, 2639, 2754, 2787, 2795, 2820, 2794, 2871, 2872, - 2873, 2874, 2876, 2877, 2885, 2886, 2894, 2895, 2904, 2907, - 2906, 2915, 2917, 2925, 2933, 2942, 2950, 2952, 2959, 2960, - 2971, 3007, 3044, 3085, 3102, 3084, 3143, 3150, 3157, 3156, - 3188, 3189, 3197, 3196, 3244, 3246, 3245, 3255, 3406, 3405, - 3553, 3559, 3562, 3578, 3582, 3586, 3593, 3594, 3598, 3598, - 3612, 3612, 3628, 3628, 3644, 3644, 3658, 3658, 3689, 3690, - 3691, 3694, 3700, 3699, 3709, 3708, 3726, 3725, 3773, 3788, - 3797, 3772, 3834, 3842, 3843, 3843, 3856, 3855, 3862, 3863, - 3864, 3870, 3871, 3875, 3879, 3887, 3891, 3895, 3903, 3904, - 3910, 3916, 3918, 3921, 3922, 3927, 3926, 4028, 4030, 4029, - 4084, 4088, 4092, 4093, 4097, 4112, 4121, 4136, 4145, 4149, - 4155, 4172, 4179, 4189, 4190, 4191, 4195, 4196, 4212, 4222, - 4228, 4236, 4242, 4250, 4256, 4264, 4269, 4276, 4277, 4278, - 4282, 4283, 4282, 4293, 4297, 4298, 4297, 4307, 4314, 4315, - 4318, 4318, 4399, 4397, 4411, 4488, 4585, 4586, 4590, 4591, - 4594, 4595, 4598, 4599, 4602, 4606, 4610, 4614, 4633, 4639, - 4641, 4644, 4645, 4654, 4655, 4660, 4659, 4668, 4678, 4679, - 4683, 4683, 4685, 4684, 4693, 4692, 4696, 4703, 4704, 4708, - 4708, 4710, 4709, 4716, 4715, 4719, 4728, 4824, 4829, 4834, - 4835, 4838, 4855, 4872, 4889, 4912, 4912, 4943, 4964, 4964, - 4987, 4986, 5002, 5001, 5017, 5016, 5033, 5034, 5037, 5039, - 5037, 5093, 5124, 5123, 5160, 5161, 5169, 5168, 5192, 5193, - 5197, 5196, 5235, 5234, 5257, 5257, 5284, 5285, 5288, 5309, - 5331, 5355, 5360, 5368, 5369, 5369, 5373, 5434, 5469, 5484, - 5533, 5542, 5543, 5551, 5552, 5553, 5554, 5555, 5556, 5559, - 5560, 5561, 5562, 5563, 5564, 5571, 5578, 5569, 5604, 5604, - 5617, 5630, 5631, 5635, 5648, 5649, 5656, 5661, 5668, 5669, - 5670, 5675, 5676, 5677, 5682, 5683, 5684, 5689, 5690, 5691, - 5696, 5701, 5702, 5713, 5724, 5735, 5739, 5746, 5747, 5804, - 5810, 5809, 5897, 5896, 5940, 5948, 5950, 5954, 5958, 5947, - 6000, 6009, 6013, 6020, 6022, 6026, 6019, 6064, 6074, 6076, - 6080, 6073, 6118, 6127, 6128, 6131, 6174, 6183, 6209, 6208, - 6239, 6245, 6246, 6249, 6250, 6254, 6259, 6284, 6293, 6345, - 6370, 6398, 6253, 6406, 6407, 6408, 6416, 6417, 6425, 6443, - 6424, 6447, 6451, 6452, 6459, 6460, 6461, 6467, 6468, 6469, - 6474, 6475, 6476, 6477, 6478, 6479, 6480 + 0, 539, 539, 546, 550, 552, 551, 567, 568, 569, + 571, 574, 581, 583, 600, 599, 609, 608, 617, 616, + 626, 625, 635, 640, 649, 650, 654, 653, 660, 665, + 673, 674, 678, 677, 685, 684, 757, 762, 763, 775, + 776, 779, 780, 783, 793, 798, 806, 819, 850, 861, + 873, 872, 888, 898, 897, 915, 925, 935, 945, 958, + 959, 962, 970, 980, 991, 1006, 1007, 1011, 1012, 1013, + 1016, 1040, 1064, 1076, 1078, 1077, 1090, 1091, 1097, 1096, + 1124, 1131, 1138, 1139, 1143, 1144, 1147, 1160, 1159, 1211, + 1223, 1222, 1243, 1248, 1255, 1260, 1267, 1352, 1353, 1357, + 1366, 1367, 1370, 1371, 1372, 1376, 1377, 1381, 1409, 1411, + 1413, 1415, 1430, 1435, 1440, 1448, 1449, 1451, 1453, 1472, + 1474, 1473, 1489, 1488, 1504, 1503, 1519, 1562, 1576, 1590, + 1604, 1616, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, + 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1636, 1638, 1640, + 1642, 1643, 1646, 1649, 1650, 1654, 1659, 1660, 1661, 1663, + 1665, 1666, 1668, 1679, 1690, 1694, 1700, 1704, 1710, 1714, + 1720, 1725, 1729, 1737, 1735, 1762, 1766, 1770, 1776, 1782, + 1786, 1787, 1791, 1792, 1796, 1801, 1802, 1803, 1808, 1809, + 1810, 1811, 1812, 1816, 1817, 1818, 1819, 1823, 1824, 1825, + 1828, 1829, 1830, 1834, 1835, 1836, 1837, 1838, 1839, 1843, + 1844, 1845, 1849, 1850, 1854, 1855, 1859, 1860, 1864, 1866, + 1865, 1883, 1885, 1884, 1900, 1902, 1911, 1901, 1926, 1927, + 1931, 1932, 1942, 1943, 1947, 1955, 1958, 1957, 1964, 1967, + 1966, 1970, 1972, 1974, 1976, 1979, 1985, 2014, 2029, 2042, + 2044, 2045, 2049, 2051, 2055, 2057, 2062, 2061, 2068, 2067, + 2079, 2084, 2083, 2091, 2095, 2119, 2145, 2143, 2171, 2169, + 2279, 2288, 2287, 2291, 2290, 2295, 2301, 2300, 2310, 2309, + 2318, 2331, 2336, 2330, 2364, 2372, 2377, 2371, 2406, 2413, + 2429, 2428, 2441, 2457, 2468, 2474, 2480, 2492, 2504, 2514, + 2524, 2523, 2536, 2542, 2540, 2658, 2665, 2681, 2683, 2685, + 2685, 2686, 2689, 2691, 2693, 2690, 2695, 2699, 2698, 2813, + 2846, 2854, 2879, 2853, 2930, 2931, 2932, 2933, 2935, 2936, + 2944, 2945, 2953, 2954, 2963, 2966, 2965, 2974, 2976, 2984, + 2992, 3001, 3009, 3011, 3018, 3019, 3030, 3066, 3103, 3144, + 3161, 3143, 3202, 3209, 3216, 3215, 3247, 3248, 3256, 3255, + 3303, 3305, 3304, 3314, 3465, 3464, 3612, 3618, 3621, 3637, + 3641, 3645, 3652, 3653, 3657, 3657, 3671, 3671, 3687, 3687, + 3703, 3703, 3717, 3717, 3748, 3749, 3750, 3753, 3759, 3758, + 3768, 3767, 3785, 3784, 3832, 3847, 3856, 3831, 3893, 3901, + 3902, 3902, 3915, 3914, 3921, 3922, 3923, 3929, 3930, 3934, + 3938, 3946, 3950, 3954, 3962, 3963, 3969, 3975, 3977, 3980, + 3981, 3986, 3985, 4087, 4089, 4088, 4143, 4147, 4151, 4152, + 4156, 4171, 4180, 4195, 4204, 4208, 4214, 4231, 4238, 4248, + 4249, 4250, 4254, 4255, 4271, 4281, 4287, 4295, 4301, 4309, + 4315, 4323, 4328, 4335, 4336, 4337, 4341, 4342, 4341, 4352, + 4356, 4357, 4356, 4366, 4373, 4374, 4377, 4377, 4458, 4456, + 4470, 4547, 4644, 4645, 4649, 4650, 4653, 4654, 4657, 4658, + 4661, 4665, 4669, 4673, 4692, 4698, 4700, 4703, 4704, 4713, + 4714, 4719, 4718, 4727, 4737, 4738, 4742, 4742, 4744, 4743, + 4752, 4751, 4755, 4762, 4763, 4767, 4767, 4769, 4768, 4775, + 4774, 4778, 4787, 4883, 4888, 4893, 4894, 4897, 4914, 4931, + 4948, 4971, 4971, 5002, 5023, 5023, 5046, 5045, 5061, 5060, + 5076, 5075, 5092, 5093, 5096, 5098, 5096, 5152, 5183, 5182, + 5219, 5220, 5228, 5227, 5251, 5252, 5256, 5255, 5294, 5293, + 5316, 5316, 5343, 5344, 5347, 5368, 5390, 5414, 5419, 5427, + 5428, 5428, 5432, 5493, 5528, 5543, 5592, 5601, 5602, 5610, + 5611, 5612, 5613, 5614, 5615, 5618, 5619, 5620, 5621, 5622, + 5623, 5630, 5637, 5628, 5663, 5663, 5676, 5689, 5690, 5694, + 5707, 5708, 5715, 5720, 5727, 5728, 5729, 5734, 5735, 5736, + 5741, 5742, 5743, 5748, 5749, 5750, 5755, 5760, 5761, 5772, + 5783, 5794, 5798, 5805, 5806, 5863, 5869, 5868, 5956, 5955, + 5999, 6007, 6009, 6013, 6017, 6006, 6059, 6068, 6072, 6079, + 6081, 6085, 6078, 6123, 6133, 6135, 6139, 6132, 6177, 6186, + 6187, 6190, 6233, 6242, 6268, 6267, 6298, 6304, 6305, 6308, + 6309, 6313, 6318, 6343, 6352, 6404, 6429, 6457, 6312, 6465, + 6466, 6467, 6475, 6476, 6484, 6502, 6483, 6506, 6510, 6511, + 6518, 6519, 6520, 6526, 6527, 6528, 6533, 6534, 6535, 6536, + 6537, 6538, 6539 }; #endif @@ -1055,7 +1056,8 @@ static const char *const yytname[] = "ranstringentry", "$@6", "ranidentifierspec", "ranidentifierlist", "ranidentifierentry", "$@7", "databasedeclaration", "$@8", "maybejustusername", "maybedbspeclist", "dbspeclist", "dbspec", "$@9", - "$@10", "maybemarks", "eithermark", "maybemaxpoolsize", "mayberelease", + "$@10", "maybemarks", "eithermark", "maybemaxpoolsize", "releaselist", + "poolrelease", "poolreleasecount", "poolreleaseevery", "poolreleaseidle", "maybewait", "$@11", "maybethentimeoutaction", "$@12", "compiletime_expression", "compiletime_concatenation", "subroutinedeclaration", "isaccepted", "functionhead", "$@13", @@ -1141,12 +1143,12 @@ static const yytype_uint16 yytoknum[] = }; # endif -#define YYPACT_NINF -967 +#define YYPACT_NINF -965 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-967))) + (!!((Yystate) == (-965))) -#define YYTABLE_NINF -660 +#define YYTABLE_NINF -666 #define yytable_value_is_error(Yytable_value) \ 0 @@ -1155,130 +1157,131 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -967, 146, 186, -967, 3325, -128, 120, -967, -128, 273, - -967, -967, -967, 247, 1861, 1999, -967, 49, 2066, 122, - 132, 107, -967, 133, 135, -46, -967, -128, 2204, 275, - 5394, -128, -128, 222, 1632, -128, 174, -128, -128, -967, - -128, 480, 309, -967, -967, -967, -967, 272, 304, 2271, - 71, -967, -967, 95, -967, 141, 239, -967, -967, -967, - -967, -967, -967, 54, 433, 433, 142, 143, -967, -967, - -128, 370, -128, 1562, -967, 93, -967, -967, 50, 104, - 119, 147, -967, 24, 65, 320, -128, -128, 1240, 2409, - 151, -967, -967, 2476, -967, -967, 5394, -967, -967, -128, - -967, -967, -128, -967, -13, -967, -128, 365, 76, 383, - 454, 370, -128, 5394, -128, 5394, 510, 167, 552, -46, - 353, 379, 393, 403, 423, 429, 432, 437, -46, -967, - 442, 5394, 447, 448, 460, 462, 463, 464, 465, 466, - 468, 473, 474, 476, -967, 478, -967, -967, 479, 482, - 484, 486, 487, 495, 496, 501, 502, 5394, 5394, 5394, - 5394, 490, -967, -967, 389, 171, 245, 319, 152, 355, - 384, 371, 598, -1, -967, 64, -128, -128, -128, -967, - 653, 668, -128, -967, -128, -967, 511, -128, -967, 2614, - 629, 362, 255, 5, -967, -967, -128, -967, -128, -967, - 5394, -967, -128, 415, 556, -967, -967, -967, -967, -967, - -967, -967, 360, -967, -967, 154, -967, -128, 523, 524, - 527, 528, -128, 5394, -128, 570, -967, 693, 640, 573, - -967, -128, 533, -128, 575, 1424, 554, -967, -128, -967, - -967, -967, -967, -967, -967, -967, -967, -128, -967, -128, - -967, 589, -967, 274, -967, -128, -967, 700, 279, -967, - 45, -967, 3050, 3455, -128, 291, 5394, -967, -128, 580, - -128, 580, -128, -967, 208, -967, -128, -128, -128, -967, - -967, -128, -967, -967, -967, -967, -967, -128, 5394, -967, - 5394, -967, -128, 5189, -967, 210, -967, -128, 580, -128, - 5394, 35, -967, 5394, -967, 581, -967, -967, -967, 675, - -967, -967, 5394, 676, 454, -967, -967, -967, -967, -967, - 494, 2681, -967, 73, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, -967, 546, 548, 5394, 5394, 5394, - 5394, 5394, 5394, -967, 5394, -967, 5394, 5394, 5394, 39, - 5394, 5394, 5394, 5394, 155, 156, 53, 5394, -967, 5394, - 5394, 5394, 5394, 5394, 5394, 5394, 5394, 5394, -967, -967, - -967, 549, 351, 5394, 5394, 5394, 5394, 5394, 5394, 5394, - 5394, 5394, 5394, 5394, 5394, 5394, 5394, 5394, 5394, 5394, - -967, -967, -967, 5394, -967, -967, -967, -967, 551, 590, - 591, -967, -967, -967, -967, -128, 67, -967, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -128, -128, 5394, - -967, -967, 714, 715, 719, 599, -967, -967, 5394, -128, - -967, 5394, -128, -967, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, 690, 601, -128, 5394, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, - 2614, -967, 5394, -967, -128, -128, -128, -967, 3585, -967, - -967, 563, -967, 563, -967, -967, -967, -967, -967, -967, - -967, 258, -967, 667, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, 5394, -967, 3715, -128, -128, -967, - -967, -967, 75, 79, 114, 356, 380, -967, -967, 673, - 36, -967, -967, -967, 565, 682, 580, -967, 208, -967, - 208, -967, 396, 580, -967, -967, -967, -967, -967, 5394, - -967, 210, 210, -967, -967, -967, -967, -967, 208, -967, - -967, -128, 607, -128, 303, -967, -967, -967, 551, 2819, - 454, 682, -967, -967, 676, 567, 568, -967, -967, -967, - -967, -967, -967, -128, 732, -967, 669, 52, -967, -967, - -967, 40, 574, 11, 235, 236, 98, 243, 23, 576, - 578, 579, 582, -967, 583, 26, 173, 250, 585, 586, - 587, 588, 592, 593, 594, 595, 597, 5394, 112, 260, - 265, 268, 269, 270, 121, 596, 600, -967, -967, 701, - -967, -967, -967, 389, 389, 171, 171, 245, 245, 207, - 245, 245, 319, 319, 152, 355, 384, 5394, 5394, 5394, - -967, 620, 285, -967, -967, -967, -967, -128, -967, -967, - -128, -967, -967, -128, 43, 450, 621, 630, -967, -967, - 631, 682, -967, 5394, 682, -967, -128, 5122, -967, -967, - -967, -967, 603, 605, -967, -967, -967, -967, 606, -967, - -967, -967, -967, -967, 69, 685, 287, 5394, 5394, 5394, - 5394, -967, -967, -967, -967, -967, -967, -967, -967, 5394, - -967, 610, 55, -967, -967, 3845, -128, -128, -967, -128, - -967, -128, 780, 782, -128, 2886, -967, -967, -128, -128, - -128, -967, -967, 751, 208, -967, -967, -967, -967, -967, - 606, -967, -967, 5394, -967, 608, -967, -967, -967, -967, - 5327, 5394, 5394, 743, -967, 5394, -967, -967, -967, -967, - 5394, 5394, 5394, -128, 303, -967, 28, 21, 763, -967, - 676, -967, -967, 5394, 5394, -967, 494, 710, 654, -128, - -128, -967, -967, -967, 5394, 5394, -967, -967, 5394, -967, - 613, -967, 655, 5394, -967, -967, -967, -967, -967, 5394, - -967, 5394, -967, -967, -967, -967, -967, -967, -967, -967, - -967, 5394, 616, 5394, -967, -967, -967, -967, -967, 5394, - -967, -967, -967, 5394, 371, 598, 614, -967, -967, -967, - 46, 48, -967, -967, -967, 5394, 5394, -128, -967, -967, - -967, 726, -967, -967, -967, -967, -967, -128, -967, -967, - 5122, -967, 618, -967, -967, 622, -967, -967, -967, -967, - -967, -967, -967, 56, 5394, 5394, 623, -967, -967, -967, - -967, -967, -967, 240, -967, 661, 483, -967, -967, -967, - -967, 682, 682, 682, 682, 3975, 5394, -128, -967, -967, - -128, -128, -967, -967, 45, -967, -967, -967, -967, 5394, - -967, -128, -128, -967, 737, 503, 3180, -967, -967, -967, - -967, -967, 5394, -967, 5394, -128, 664, -967, -967, -967, - -967, -967, 375, -967, -967, -967, -967, -967, 756, -967, - -967, -967, -967, 627, 4105, -967, 4235, -967, -967, -128, - 671, -967, -967, -967, -967, 271, 276, 295, -967, 632, - 212, 296, 297, 363, -967, 298, 299, 245, -967, -128, - 674, -967, -128, 670, -967, 682, 682, -967, -967, -967, - 5394, -967, 5394, -967, -967, 46, 48, -967, 5394, -967, - 550, -967, -128, 118, -967, -967, -967, -967, 5394, -967, - 483, -967, -967, 58, 682, -967, -967, -11, 636, -967, - -967, -967, 4365, -967, -967, -967, -967, -967, 580, -967, - -967, -967, -967, 375, 785, -967, -967, -967, 785, -967, - 5394, 5394, 17, -967, 58, 58, 551, 551, -967, -967, - 4495, 735, -967, -967, -967, -967, -967, 5394, -967, -967, - -967, 5394, -967, -967, 5394, -967, -967, 410, -967, -967, - -967, 413, -967, 788, 637, -967, 5394, 637, -967, 682, - 637, -967, -967, 682, 18, 47, -967, 1794, 22, -128, - -128, -128, -967, -967, -967, -128, -128, -128, 639, -967, - -128, -128, -967, -967, -967, -967, -967, -967, 52, 4625, - 208, 641, 5394, 716, 716, -967, -967, -967, -967, -967, - -967, -967, 285, 285, 806, 5394, 746, 300, 301, -967, - 5394, -128, 674, 5394, -128, 670, 5394, -967, -967, 682, - -128, -967, -967, -967, -967, 336, -967, -128, -967, -967, - 342, -967, -128, -967, 5394, -128, -967, -967, -967, -967, - 352, -967, -967, -967, -967, -967, -967, -967, -967, -967, - -967, -967, 370, -967, 63, -967, 5394, -967, 5394, 754, - -967, 4755, 777, -967, -967, 63, -967, 5394, -967, -967, - -967, -967, -967, -967, -967, -967, 682, -967, 689, -967, - 88, 88, 88, -27, -967, -967, 88, -2, -967, -967, - -128, -967, 88, 88, 88, 367, -967, -967, -128, -128, - -967, -967, -967, -967, 5394, -967, 58, -967, -967, -967, - -967, -967, -967, 723, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -967, 651, -967, - -967, 744, -967, 694, 771, -967, -128, 203, -967, -967, - -967, -967, 659, 4885, -967, 774, 5394, -967, 662, -967, - -967, 5015, 823, 74, -128, -128, -967, -967, -967, -967 + -965, 108, 159, -965, 3381, -45, 76, -965, -45, 257, + -965, -965, -965, 276, 1917, 1984, -965, 51, 2122, 132, + 133, 432, -965, 139, 141, -38, -965, -45, 2189, 115, + 5588, -45, -45, -11, 1709, -45, 79, -45, -45, -965, + -45, 459, 319, -965, -965, -965, -965, 218, 223, 2327, + 53, -965, -965, 43, -965, 143, 239, -965, -965, -965, + -965, -965, -965, 42, 340, 340, 144, 146, -965, -965, + -45, 350, -45, 1571, -965, 98, -965, -965, 54, 95, + 120, 147, -965, 52, 71, 290, -45, -45, 1340, 2394, + 151, -965, -965, 2532, -965, -965, 5588, -965, -965, -45, + -965, -965, -45, -965, -22, -965, -45, 370, 80, 317, + 453, 350, -45, 5588, -45, 5588, 498, 55, 551, -38, + 339, 343, 356, 366, 375, 380, 395, 424, -38, -965, + 425, 5588, 427, 428, 429, 431, 433, 441, 442, 445, + 447, 448, 449, 462, -965, 465, -965, -965, 466, 475, + 480, 481, 487, 489, 490, 491, 492, 5588, 5588, 5588, + 5588, 464, -965, -965, 215, -48, 181, 318, 61, 413, + 454, 493, 550, -16, -965, 349, -45, -45, -45, -965, + 654, 655, -45, -965, -45, -965, 501, -45, -965, 2599, + 616, 316, 60, 18, -965, -965, -45, -965, -45, -965, + 5588, -965, -45, 400, 543, -965, -965, -965, -965, -965, + -965, -965, 440, -965, -965, 153, -965, -45, 503, 505, + 506, 507, -45, 5588, -45, 555, -965, 673, 624, 558, + -965, -45, 518, -45, 564, 1501, 469, -965, -45, -965, + -965, -965, -965, -965, -965, -965, -965, -45, -965, -45, + -965, 470, -965, 272, -965, -45, -965, 687, 264, -965, + 36, -965, 3106, 3511, -45, 34, 5588, -965, -45, 566, + -45, 566, -45, -965, 334, -965, -45, -45, -45, -965, + -965, -45, -965, -965, -965, -965, -965, -45, 5588, -965, + 5588, -965, -45, 5383, -965, 348, -965, -45, 566, -45, + 5588, 30, -965, 5588, -965, 569, -965, -965, -965, 663, + -965, -965, 5588, 666, 453, -965, -965, -965, -965, -965, + 683, 2737, -965, 96, -965, -965, -965, -965, -965, -965, + -965, -965, -965, -965, -965, 534, 539, 5588, 5588, 5588, + 5588, 5588, 5588, -965, 5588, -965, 5588, 5588, 5588, 45, + 5588, 5588, 5588, 5588, 155, 156, 62, 5588, -965, 5588, + 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, -965, -965, + -965, 540, 337, 5588, 5588, 5588, 5588, 5588, 5588, 5588, + 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, + -965, -965, -965, 5588, -965, -965, -965, -965, 542, 581, + 589, -965, -965, -965, -965, -45, 73, -965, -965, -965, + -965, -965, -965, -965, -965, -965, -965, -45, -45, 5588, + -965, -965, 710, 711, 714, 595, -965, -965, 5588, -45, + -965, 5588, -45, -965, -965, -965, -965, -965, -965, -965, + -965, -965, -965, -965, 689, 598, -45, 5588, -965, -965, + -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, + 2599, -965, 5588, -965, -45, -45, -45, -965, 3641, -965, + -965, 560, -965, 560, -965, -965, -965, -965, -965, -965, + -965, 256, -965, 665, -965, -965, -965, -965, -965, -965, + -965, -965, -965, -965, 5588, -965, 3771, -45, -45, -965, + -965, -965, 323, 325, 341, 392, 478, -965, -965, 671, + 58, -965, -965, -965, 563, 680, 566, -965, 334, -965, + 334, -965, 446, 566, -965, -965, -965, -965, -965, 5588, + -965, 348, 348, -965, -965, -965, -965, -965, 334, -965, + -965, -45, 607, -45, 299, -965, -965, -965, 542, 2804, + 453, 680, -965, -965, 666, 568, 573, -965, -965, -965, + -965, -965, -965, -45, 732, -965, 675, 68, -965, -965, + -965, 114, 577, 26, 154, 235, 75, 246, 41, 578, + 580, 582, 583, -965, 585, 134, 145, 247, 586, 587, + 588, 590, 591, 593, 594, 596, 597, 5588, 137, 248, + 255, 263, 267, 269, 149, 599, 600, -965, -965, 708, + -965, -965, -965, 215, 215, -48, -48, 181, 181, 309, + 181, 181, 318, 318, 61, 413, 454, 5588, 5588, 5588, + -965, 635, 352, -965, -965, -965, -965, -45, -965, -965, + -45, -965, -965, -45, 40, 623, 637, 641, -965, -965, + 642, 680, -965, 5588, 680, -965, -45, 5178, -965, -965, + -965, -965, 603, 604, -965, -965, -965, -965, 605, -965, + -965, -965, -965, -965, 57, 700, 286, 5588, 5588, 5588, + 5588, -965, -965, -965, -965, -965, -965, -965, -965, 5588, + -965, 609, 63, -965, -965, 3901, -45, -45, -965, -45, + -965, -45, 789, 790, -45, 2942, -965, -965, -45, -45, + -45, -965, -965, 757, 334, -965, -965, -965, -965, -965, + 605, -965, -965, 5588, -965, 610, -965, -965, -965, -965, + 5450, 5588, 5588, 745, -965, 5588, -965, -965, -965, -965, + 5588, 5588, 5588, -45, 299, -965, -7, -6, 766, -965, + 666, -965, -965, 5588, 5588, -965, 683, 713, 656, -45, + -45, -965, -965, -965, 5588, 5588, -965, -965, 5588, -965, + 617, -965, 659, 5588, -965, -965, -965, -965, -965, 5588, + -965, 5588, -965, -965, -965, -965, -965, -965, -965, -965, + -965, 5588, 618, 5588, -965, -965, -965, -965, -965, 5588, + -965, -965, -965, 5588, 493, 550, 619, -965, -965, -965, + 48, 50, -965, -965, -965, 5588, 5588, -45, -965, -965, + -965, 728, -965, -965, -965, -965, -965, -45, -965, -965, + 5178, -965, 620, -965, -965, 625, -965, -965, -965, -965, + -965, -965, -965, 65, 5588, 5588, 627, -965, -965, -965, + -965, -965, -965, 191, -965, 664, 434, -965, -965, -965, + -965, 680, 680, 680, 680, 4031, 5588, -45, -965, -965, + -45, -45, -965, -965, 36, -965, -965, -965, -965, 5588, + -965, -45, -45, -965, 741, 415, 3236, -965, -965, -965, + -965, -965, 5588, -965, 5588, -45, 668, -965, -965, -965, + -965, -965, 419, -965, -965, -965, -965, -965, 758, -965, + -965, -965, -965, 630, 4161, -965, 4291, -965, -965, -45, + 672, -965, -965, -965, -965, 274, 275, 297, -965, 633, + 170, 298, 300, 226, -965, 302, 303, 181, -965, -45, + 674, -965, -45, 676, -965, 680, 680, -965, -965, -965, + 5588, -965, 5588, -965, -965, 48, 50, -965, 5588, -965, + 638, -965, -45, 72, -965, -965, -965, -965, 5588, -965, + 434, -965, -965, 67, 680, -965, -965, 24, 658, -965, + -965, -965, 4421, -965, -965, -965, -965, -965, 566, -965, + -965, -965, -965, 419, 788, -965, -965, -965, 788, -965, + 5588, 5588, -8, -965, 67, 67, 542, 542, -965, -965, + 4551, 737, -965, -965, -965, -965, -965, 5588, -965, -965, + -965, 5588, -965, -965, 5588, -965, -965, 285, -965, -965, + -965, 312, -965, 791, 643, -965, 5588, 643, -965, 680, + 643, -965, -965, 680, 22, 135, -965, 1779, 49, -45, + -45, -45, -965, -965, -965, -45, -45, -45, 647, -965, + -45, -45, -965, -965, -965, -965, -965, -965, 68, 4681, + 334, 648, 5588, -965, -965, -965, -965, -965, -965, -965, + -965, -965, 352, 352, 800, 5588, 743, 304, 305, -965, + 5588, -45, 674, 5588, -45, 676, 5588, -965, -965, 680, + -45, -965, -965, -965, -965, 363, -965, -45, -965, -965, + 374, -965, -45, -965, 5588, -45, -965, -965, -965, -965, + 388, -965, -965, -965, -965, -965, -965, -965, -965, -965, + -965, -965, 350, -965, 69, -965, 5588, -965, 322, 727, + 4811, 779, -965, -965, 69, -965, 5588, -965, -965, -965, + -965, -965, -965, -965, -965, 680, -965, 691, -965, 64, + 64, 64, -15, -965, -965, 64, 17, -965, -965, -45, + -965, 64, 64, 64, 382, -965, -965, -45, -45, -965, + -965, -965, 5588, 5245, -965, -965, -965, -965, -965, 67, + -965, -965, -965, -965, -965, -965, 724, -965, -965, -965, + -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, + -965, 653, -965, 5588, 5588, -965, -965, 744, -965, 697, + 772, -965, -965, -965, -45, 8, -965, -965, -965, -965, + 660, 4941, -965, 774, 5588, -965, 661, -965, -965, 5071, + 824, 104, -45, -45, -965, -965, -965, -965 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1286,165 +1289,166 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 4, 0, 5, 1, 0, 0, 0, 551, 552, 0, - 89, 440, 442, 0, 0, 0, 444, 0, 0, 0, - 0, 0, 587, 0, 0, 94, 360, 270, 0, 405, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, - 0, 0, 0, 636, 447, 448, 449, 0, 0, 0, - 0, 621, 622, 0, 386, 0, 0, 536, 3, 240, - 6, 8, 12, 0, 78, 78, 0, 0, 7, 343, - 0, 303, 0, 0, 311, 0, 226, 226, 0, 0, - 0, 0, 446, 0, 0, 0, 0, 0, 0, 0, - 0, 318, 320, 0, 321, 319, 0, 9, 347, 0, - 34, 335, 0, 93, 0, 91, 0, 0, 381, 0, - 605, 401, 0, 0, 0, 0, 0, 0, 0, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 94, 125, + 4, 0, 5, 1, 0, 0, 0, 557, 558, 0, + 95, 446, 448, 0, 0, 0, 450, 0, 0, 0, + 0, 0, 593, 0, 0, 100, 366, 276, 0, 411, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 0, 642, 453, 454, 455, 0, 0, 0, + 0, 627, 628, 0, 392, 0, 0, 542, 3, 246, + 6, 8, 12, 0, 84, 84, 0, 0, 7, 349, + 0, 309, 0, 0, 317, 0, 232, 232, 0, 0, + 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, + 0, 324, 326, 0, 327, 325, 0, 9, 353, 0, + 34, 341, 0, 99, 0, 97, 0, 0, 387, 0, + 611, 407, 0, 0, 0, 0, 0, 0, 0, 100, + 0, 0, 0, 0, 0, 0, 0, 0, 100, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 124, 121, 123, 122, 0, 0, + 0, 0, 0, 0, 130, 127, 129, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 179, 182, 187, 191, 194, 197, 203, 206, 208, - 210, 212, 215, 218, 222, 0, 0, 0, 0, 612, - 0, 0, 0, 549, 0, 550, 0, 0, 338, 0, - 0, 0, 0, 0, 290, 291, 0, 340, 0, 274, - 0, 241, 0, 0, 0, 292, 242, 300, 88, 439, - 441, 443, 0, 586, 86, 0, 445, 0, 0, 354, - 0, 350, 0, 0, 0, 0, 539, 0, 0, 0, - 464, 0, 0, 0, 382, 0, 0, 544, 0, 116, - 114, 118, 113, 13, 79, 226, 226, 0, 81, 0, - 84, 378, 357, 0, 357, 0, 357, 0, 394, 226, - 0, 260, 0, 0, 0, 0, 0, 250, 0, 0, - 0, 0, 0, 415, 0, 413, 0, 0, 0, 597, - 243, 0, 558, 326, 540, 324, 322, 0, 0, 557, - 0, 328, 0, 224, 556, 0, 553, 0, 0, 0, - 0, 0, 36, 37, 10, 0, 11, 264, 315, 0, - 396, 308, 0, 0, 605, 402, 632, 629, 627, 624, - 670, 0, 645, 0, 641, 644, 643, 429, 435, 433, - 434, 428, 431, 432, 172, 0, 0, 0, 0, 0, - 0, 0, 0, 171, 0, 185, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 185, 188, 193, 197, 200, 203, 209, 212, 214, + 216, 218, 221, 224, 228, 0, 0, 0, 0, 618, + 0, 0, 0, 555, 0, 556, 0, 0, 344, 0, + 0, 0, 0, 0, 296, 297, 0, 346, 0, 280, + 0, 247, 0, 0, 0, 298, 248, 306, 94, 445, + 447, 449, 0, 592, 92, 0, 451, 0, 0, 360, + 0, 356, 0, 0, 0, 0, 545, 0, 0, 0, + 470, 0, 0, 0, 388, 0, 0, 550, 0, 122, + 120, 124, 119, 13, 85, 232, 232, 0, 87, 0, + 90, 384, 363, 0, 363, 0, 363, 0, 400, 232, + 0, 266, 0, 0, 0, 0, 0, 256, 0, 0, + 0, 0, 0, 421, 0, 419, 0, 0, 0, 603, + 249, 0, 564, 332, 546, 330, 328, 0, 0, 563, + 0, 334, 0, 230, 562, 0, 559, 0, 0, 0, + 0, 0, 36, 37, 10, 0, 11, 270, 321, 0, + 402, 314, 0, 0, 611, 408, 638, 635, 633, 630, + 676, 0, 651, 0, 647, 650, 649, 435, 441, 439, + 440, 434, 437, 438, 178, 0, 0, 0, 0, 0, + 0, 0, 0, 177, 0, 191, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, + 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 213, 216, 219, 0, 430, 314, 313, 614, 0, 0, - 0, 333, 334, 95, 293, 0, 0, 271, 425, 424, - 406, 407, 283, 339, 278, 276, 296, 0, 0, 0, - 284, 294, 0, 0, 0, 0, 289, 352, 0, 0, - 348, 0, 0, 282, 280, 325, 538, 457, 397, 455, - 387, 323, 542, 346, 0, 0, 0, 174, 563, 566, - 564, 570, 571, 572, 567, 568, 565, 573, 574, 569, - 0, 537, 0, 120, 0, 0, 0, 77, 0, 76, - 80, 96, 83, 96, 374, 370, 368, 372, 379, 380, - 344, 378, 366, 0, 301, 403, 404, 304, 357, 305, - 392, 610, 609, 464, 0, 393, 0, 0, 0, 594, - 259, 226, 0, 0, 0, 0, 0, 227, 228, 420, - 0, 254, 437, 438, 0, 74, 0, 247, 0, 249, - 0, 245, 417, 0, 244, 600, 598, 599, 327, 0, - 332, 0, 0, 337, 225, 554, 336, 257, 0, 620, - 616, 0, 0, 0, 39, 38, 75, 92, 0, 0, - 605, 606, 358, 306, 0, 0, 0, 672, 676, 673, - 675, 671, 674, 0, 0, 658, 0, 0, 642, 169, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 173, 180, 0, - 188, 189, 190, 193, 192, 195, 196, 200, 201, 0, - 198, 199, 205, 204, 207, 209, 211, 0, 0, 0, - 223, 0, 0, 633, 20, 16, 560, 0, 561, 559, - 0, 287, 288, 0, 0, 0, 0, 0, 453, 451, - 0, 355, 341, 0, 351, 342, 0, 460, 544, 383, - 385, 299, 0, 175, 176, 178, 273, 548, 545, 546, - 117, 115, 119, 90, 0, 0, 109, 0, 0, 0, - 0, 226, 365, 364, 363, 362, 367, 376, 302, 0, - 389, 0, 0, 596, 595, 0, 0, 0, 233, 0, - 230, 0, 0, 0, 0, 0, 423, 226, 0, 0, - 0, 601, 258, 436, 0, 246, 248, 416, 418, 414, - 541, 331, 330, 0, 256, 0, 269, 267, 637, 266, + 219, 222, 225, 0, 436, 320, 319, 620, 0, 0, + 0, 339, 340, 101, 299, 0, 0, 277, 431, 430, + 412, 413, 289, 345, 284, 282, 302, 0, 0, 0, + 290, 300, 0, 0, 0, 0, 295, 358, 0, 0, + 354, 0, 0, 288, 286, 331, 544, 463, 403, 461, + 393, 329, 548, 352, 0, 0, 0, 180, 569, 572, + 570, 576, 577, 578, 573, 574, 571, 579, 580, 575, + 0, 543, 0, 126, 0, 0, 0, 83, 0, 82, + 86, 102, 89, 102, 380, 376, 374, 378, 385, 386, + 350, 384, 372, 0, 307, 409, 410, 310, 363, 311, + 398, 616, 615, 470, 0, 399, 0, 0, 0, 600, + 265, 232, 0, 0, 0, 0, 0, 233, 234, 426, + 0, 260, 443, 444, 0, 80, 0, 253, 0, 255, + 0, 251, 423, 0, 250, 606, 604, 605, 333, 0, + 338, 0, 0, 343, 231, 560, 342, 263, 0, 626, + 622, 0, 0, 0, 39, 38, 81, 98, 0, 0, + 611, 612, 364, 312, 0, 0, 0, 678, 682, 679, + 681, 677, 680, 0, 0, 664, 0, 0, 648, 175, + 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 179, 186, 0, + 194, 195, 196, 199, 198, 201, 202, 206, 207, 0, + 204, 205, 211, 210, 213, 215, 217, 0, 0, 0, + 229, 0, 0, 639, 20, 16, 566, 0, 567, 565, + 0, 293, 294, 0, 0, 0, 0, 0, 459, 457, + 0, 361, 347, 0, 357, 348, 0, 466, 550, 389, + 391, 305, 0, 181, 182, 184, 279, 554, 551, 552, + 123, 121, 125, 96, 0, 0, 115, 0, 0, 0, + 0, 232, 371, 370, 369, 368, 373, 382, 308, 0, + 395, 0, 0, 602, 601, 0, 0, 0, 239, 0, + 236, 0, 0, 0, 0, 0, 429, 232, 0, 0, + 0, 607, 264, 442, 0, 252, 254, 422, 424, 420, + 547, 337, 336, 0, 262, 0, 275, 273, 643, 272, 0, 0, 0, 0, 55, 0, 58, 59, 49, 48, - 0, 0, 0, 0, 40, 41, 605, 0, 578, 226, - 0, 226, 310, 0, 0, 640, 670, 662, 0, 0, - 0, 667, 639, 135, 0, 0, 150, 151, 0, 154, - 0, 147, 0, 0, 139, 166, 165, 144, 128, 0, - 130, 0, 134, 163, 162, 161, 160, 159, 157, 156, - 158, 0, 0, 0, 131, 132, 133, 136, 137, 0, - 145, 146, 181, 0, 214, 217, 0, 635, 613, 634, - 0, 0, 562, 277, 286, 0, 0, 0, 522, 520, - 518, 515, 524, 512, 513, 511, 517, 0, 18, 14, - 460, 353, 0, 349, 281, 0, 456, 459, 466, 458, - 464, 607, 543, 0, 0, 0, 104, 102, 103, 106, - 108, 107, 97, 0, 99, 0, 0, 111, 112, 110, - 85, 375, 371, 369, 373, 0, 0, 479, 466, 395, - 0, 0, 588, 312, 0, 236, 235, 226, 232, 0, - 229, 0, 0, 237, 0, 0, 0, 604, 602, 603, - 252, 251, 0, 555, 0, 0, 0, 46, 43, 44, - 59, 53, 56, 52, 50, 45, 35, 42, 0, 585, - 584, 580, 575, 0, 0, 309, 0, 630, 625, 0, - 0, 226, 646, 669, 668, 0, 0, 0, 149, 0, - 0, 0, 0, 0, 168, 0, 0, 202, 220, 0, - 0, 21, 0, 0, 17, 532, 531, 285, 528, 528, - 0, 514, 0, 528, 295, 0, 0, 452, 0, 608, - 0, 462, 0, 0, 408, 298, 177, 547, 0, 98, - 0, 101, 82, 0, 377, 480, 611, 398, 0, 590, - 589, 261, 0, 226, 238, 239, 427, 426, 0, 419, - 617, 268, 47, 57, 63, 62, 61, 60, 63, 316, - 0, 0, 0, 581, 0, 0, 0, 0, 661, 663, - 0, 656, 155, 126, 152, 148, 142, 0, 127, 129, - 140, 0, 153, 138, 0, 29, 32, 0, 30, 23, - 26, 0, 24, 534, 523, 526, 0, 521, 519, 516, - 525, 19, 15, 356, 0, 0, 461, 0, 0, 479, - 479, 479, 467, 466, 412, 0, 0, 0, 0, 100, - 0, 0, 591, 345, 399, 400, 390, 465, 0, 0, - 0, 0, 0, 65, 65, 226, 576, 583, 579, 582, - 263, 359, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 0, 0, 0, 0, 0, 0, 533, 528, 529, - 0, 505, 499, 501, 503, 479, 497, 0, 487, 485, - 479, 483, 0, 482, 0, 0, 496, 490, 492, 494, - 479, 488, 474, 475, 476, 463, 411, 409, 410, 105, - 593, 592, 401, 234, 0, 253, 0, 64, 0, 67, - 51, 0, 0, 631, 626, 0, 657, 0, 143, 141, - 33, 28, 31, 27, 22, 25, 535, 527, 0, 469, - 0, 0, 0, 0, 468, 473, 0, 0, 472, 478, - 479, 471, 0, 0, 0, 0, 470, 391, 0, 0, - 664, 231, 618, 66, 0, 54, 0, 577, 660, 647, - 530, 508, 507, 509, 500, 506, 502, 504, 498, 486, - 484, 477, 491, 493, 495, 489, 666, 665, 0, 68, - 317, 0, 510, 0, 70, 648, 0, 0, 69, 226, - 619, 71, 0, 0, 72, 0, 174, 650, 0, 226, - 73, 0, 0, 0, 0, 0, 653, 652, 655, 654 + 0, 0, 0, 0, 40, 41, 611, 0, 584, 232, + 0, 232, 316, 0, 0, 646, 676, 668, 0, 0, + 0, 673, 645, 141, 0, 0, 156, 157, 0, 160, + 0, 153, 0, 0, 145, 172, 171, 150, 134, 0, + 136, 0, 140, 169, 168, 167, 166, 165, 163, 162, + 164, 0, 0, 0, 137, 138, 139, 142, 143, 0, + 151, 152, 187, 0, 220, 223, 0, 641, 619, 640, + 0, 0, 568, 283, 292, 0, 0, 0, 528, 526, + 524, 521, 530, 518, 519, 517, 523, 0, 18, 14, + 466, 359, 0, 355, 287, 0, 462, 465, 472, 464, + 470, 613, 549, 0, 0, 0, 110, 108, 109, 112, + 114, 113, 103, 0, 105, 0, 0, 117, 118, 116, + 91, 381, 377, 375, 379, 0, 0, 485, 472, 401, + 0, 0, 594, 318, 0, 242, 241, 232, 238, 0, + 235, 0, 0, 243, 0, 0, 0, 610, 608, 609, + 258, 257, 0, 561, 0, 0, 0, 46, 43, 44, + 59, 53, 56, 52, 50, 45, 35, 42, 0, 591, + 590, 586, 581, 0, 0, 315, 0, 636, 631, 0, + 0, 232, 652, 675, 674, 0, 0, 0, 155, 0, + 0, 0, 0, 0, 174, 0, 0, 208, 226, 0, + 0, 21, 0, 0, 17, 538, 537, 291, 534, 534, + 0, 520, 0, 534, 301, 0, 0, 458, 0, 614, + 0, 468, 0, 0, 414, 304, 183, 553, 0, 104, + 0, 107, 88, 0, 383, 486, 617, 404, 0, 596, + 595, 267, 0, 232, 244, 245, 433, 432, 0, 425, + 623, 274, 47, 57, 63, 62, 61, 60, 63, 322, + 0, 0, 0, 587, 0, 0, 0, 0, 667, 669, + 0, 662, 161, 132, 158, 154, 148, 0, 133, 135, + 146, 0, 159, 144, 0, 29, 32, 0, 30, 23, + 26, 0, 24, 540, 529, 532, 0, 527, 525, 522, + 531, 19, 15, 362, 0, 0, 467, 0, 0, 485, + 485, 485, 473, 472, 418, 0, 0, 0, 0, 106, + 0, 0, 597, 351, 405, 406, 396, 471, 0, 0, + 0, 0, 0, 65, 65, 232, 582, 589, 585, 588, + 269, 365, 0, 0, 0, 0, 0, 0, 0, 227, + 0, 0, 0, 0, 0, 0, 0, 539, 534, 535, + 0, 511, 505, 507, 509, 485, 503, 0, 493, 491, + 485, 489, 0, 488, 0, 0, 502, 496, 498, 500, + 485, 494, 480, 481, 482, 469, 417, 415, 416, 111, + 599, 598, 407, 240, 0, 259, 0, 64, 73, 51, + 0, 0, 637, 632, 0, 663, 0, 149, 147, 33, + 28, 31, 27, 22, 25, 541, 533, 0, 475, 0, + 0, 0, 0, 474, 479, 0, 0, 478, 484, 485, + 477, 0, 0, 0, 0, 476, 397, 0, 0, 670, + 237, 624, 0, 0, 66, 67, 68, 69, 54, 0, + 583, 666, 653, 536, 514, 513, 515, 506, 512, 508, + 510, 504, 492, 490, 483, 497, 499, 501, 495, 672, + 671, 0, 74, 0, 0, 72, 323, 0, 516, 0, + 76, 71, 70, 654, 0, 0, 75, 232, 625, 77, + 0, 0, 78, 0, 180, 656, 0, 232, 79, 0, + 0, 0, 0, 0, 659, 658, 661, 660 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -967, -967, -5, -967, -967, -967, -967, -967, -967, -967, - -967, -111, -967, -249, -967, -108, -967, -244, -967, -967, - -967, -967, -967, -967, 105, -967, -967, -50, -967, -146, - -221, -967, -967, -967, -967, -306, -287, -967, 789, -967, - -967, -967, -967, -967, -967, 609, -967, 553, 277, 386, - -967, -114, 1, -967, -967, -967, -967, -967, -967, -967, - -596, -967, 16, -967, 181, -97, 229, -339, 231, 477, - 475, 472, 241, 242, -967, -967, -967, -388, -967, -967, - 238, 535, -70, -967, -967, -967, 863, -967, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -967, -967, -236, - -540, -967, -967, -967, -967, -967, 390, -967, -967, -967, - -967, -967, -967, 859, -967, -967, 861, -967, 766, -967, - -967, -967, -967, -967, -967, -967, -967, -253, 809, -967, - -967, -267, 361, -967, -967, -967, -967, -967, -967, -967, - -967, 711, -967, -967, -71, -967, -967, -967, -967, -31, - -967, -967, -967, -967, -967, 57, -967, -967, -967, -967, - -480, -165, 51, -967, -737, -967, -967, -276, -967, -967, - -282, -967, -967, -967, -967, -269, -967, -967, -967, -488, - -967, -967, -967, -967, -967, -967, -967, -465, -203, -967, - -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, - -967, 246, -967, 368, 60, -967, -967, 293, -967, 175, - -274, 387, 436, -967, 377, -967, -967, -967, -967, -967, - -967, -102, -967, -967, -967, -966, 29, -967, -967, -297, - -967, 648, -967, -967, -967, -967, -967, -967, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -967, -967, -537, - -620, -967, 12, -967, -967, -967, 602, -967, -967, -967, - -967, -967, -967, -967, -967, -967, -967, -967, -967, -967, - -967, -237, -159, 163 + -965, -965, -5, -965, -965, -965, -965, -965, -965, -965, + -965, -111, -965, -249, -965, -108, -965, -244, -965, -965, + -965, -965, -965, -965, 105, -965, -965, -50, -965, -146, + -221, -965, -965, -965, -965, -965, -965, -965, -965, -319, + -288, -965, 792, -965, -965, -965, -965, -965, -965, 608, + -965, 553, -13, 383, -965, -115, 3, -965, -965, -965, + -965, -965, -965, -965, -593, -965, 16, -965, 199, -97, + 123, -363, 201, 474, 479, 482, 241, 242, -965, -965, + -965, -388, -965, -965, 238, 535, -70, -965, -965, -965, + 868, -965, -965, -965, -965, -965, -965, -965, -965, -965, + -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, + -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, + -965, -965, -965, -218, -529, -965, -965, -965, -965, -965, + 393, -965, -965, -965, -965, -965, -965, 862, -965, -965, + 865, -965, 770, -965, -965, -965, -965, -965, -965, -965, + -965, -252, 813, -965, -965, -259, 364, -965, -965, -965, + -965, -965, -965, -965, -965, 716, -965, -965, -71, -965, + -965, -965, -965, -40, -965, -965, -965, -965, -965, 56, + -965, -965, -965, -965, -479, -165, 59, -965, -743, -965, + -965, -277, -965, -965, -281, -965, -965, -965, -965, -266, + -965, -965, -965, -508, -965, -965, -965, -965, -965, -965, + -965, -514, -200, -965, -965, -965, -965, -965, -965, -965, + -965, -965, -965, -965, -965, 245, -965, 371, 66, -965, + -965, 220, -965, 176, -271, 509, 444, -965, 384, -965, + -965, -965, -965, -965, -965, -95, -965, -965, -965, -964, + 31, -965, -965, -298, -965, 650, -965, -965, -965, -965, + -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, + -965, -965, -965, -537, -619, -965, 14, -965, -965, -965, + 601, -965, -965, -965, -965, -965, -965, -965, -965, -965, + -965, -965, -965, -965, -965, -234, -156, 163 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1453,33 +1457,33 @@ static const yytype_int16 yydefgoto[] = -1, 1, 59, 2, 4, 60, 61, 956, 811, 955, 810, 944, 1031, 1032, 1093, 941, 1027, 1028, 1090, 62, 303, 544, 743, 744, 745, 998, 994, 902, 997, 1073, - 1139, 1185, 1214, 1218, 1226, 514, 835, 63, 245, 64, - 471, 65, 473, 66, 67, 467, 104, 105, 187, 675, - 853, 854, 855, 860, 243, 465, 464, 466, 161, 597, - 662, 663, 664, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 627, 173, 628, 174, 629, 1024, - 293, 546, 468, 507, 879, 877, 508, 516, 988, 298, - 501, 309, 543, 895, 189, 236, 200, 640, 223, 656, - 644, 645, 447, 254, 109, 550, 259, 548, 1075, 290, - 251, 681, 221, 653, 432, 219, 650, 429, 832, 484, - 553, 751, 69, 480, 685, 481, 482, 679, 678, 680, - 677, 866, 483, 70, 444, 445, 71, 230, 72, 258, - 868, 1132, 493, 494, 73, 228, 1066, 314, 315, 74, - 965, 274, 275, 522, 717, 892, 75, 706, 509, 76, - 707, 332, 77, 333, 267, 78, 79, 80, 81, 82, - 83, 425, 830, 229, 657, 836, 837, 838, 839, 1053, - 440, 977, 978, 1052, 976, 1114, 1110, 1111, 1166, 1120, - 1121, 1172, 1173, 1174, 1105, 1106, 1160, 1161, 1162, 1194, - 1195, 827, 952, 950, 949, 948, 953, 1034, 1035, 1036, - 1158, 817, 1033, 1097, 84, 237, 85, 86, 529, 87, - 658, 461, 462, 668, 669, 88, 89, 295, 723, 296, - 291, 283, 407, 639, 459, 460, 749, 1000, 1142, 913, - 1002, 1003, 911, 90, 873, 1063, 500, 280, 712, 313, - 840, 841, 689, 91, 398, 92, 300, 725, 1071, 1208, - 93, 94, 115, 556, 1007, 95, 113, 555, 1006, 632, - 633, 96, 729, 97, 117, 323, 324, 325, 566, 1011, - 1211, 1219, 1225, 1229, 1232, 1237, 1086, 326, 757, 1084, - 921, 1181, 762, 563 + 1138, 1184, 1185, 1186, 1187, 1188, 1220, 1226, 1234, 514, + 835, 63, 245, 64, 471, 65, 473, 66, 67, 467, + 104, 105, 187, 675, 853, 854, 855, 860, 243, 465, + 464, 466, 161, 597, 662, 663, 664, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 627, 173, + 628, 174, 629, 1024, 293, 546, 468, 507, 879, 877, + 508, 516, 988, 298, 501, 309, 543, 895, 189, 236, + 200, 640, 223, 656, 644, 645, 447, 254, 109, 550, + 259, 548, 1075, 290, 251, 681, 221, 653, 432, 219, + 650, 429, 832, 484, 553, 751, 69, 480, 685, 481, + 482, 679, 678, 680, 677, 866, 483, 70, 444, 445, + 71, 230, 72, 258, 868, 1132, 493, 494, 73, 228, + 1066, 314, 315, 74, 965, 274, 275, 522, 717, 892, + 75, 706, 509, 76, 707, 332, 77, 333, 267, 78, + 79, 80, 81, 82, 83, 425, 830, 229, 657, 836, + 837, 838, 839, 1053, 440, 977, 978, 1052, 976, 1114, + 1110, 1111, 1165, 1120, 1121, 1171, 1172, 1173, 1105, 1106, + 1159, 1160, 1161, 1197, 1198, 827, 952, 950, 949, 948, + 953, 1034, 1035, 1036, 1157, 817, 1033, 1097, 84, 237, + 85, 86, 529, 87, 658, 461, 462, 668, 669, 88, + 89, 295, 723, 296, 291, 283, 407, 639, 459, 460, + 749, 1000, 1141, 913, 1002, 1003, 911, 90, 873, 1063, + 500, 280, 712, 313, 840, 841, 689, 91, 398, 92, + 300, 725, 1071, 1211, 93, 94, 115, 556, 1007, 95, + 113, 555, 1006, 632, 633, 96, 729, 97, 117, 323, + 324, 325, 566, 1011, 1217, 1227, 1233, 1237, 1240, 1245, + 1086, 326, 757, 1084, 921, 1180, 762, 563 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1487,99 +1491,99 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 98, 792, 518, 101, 520, 630, 262, 263, 269, 271, - 216, 746, 809, 690, 752, 565, 545, 554, 487, 1100, - 489, 536, 188, 1115, 770, 276, 194, 195, 197, 199, - 201, 538, 205, 206, 345, 207, 541, 708, 1080, 1081, - 581, 617, 618, 619, 620, 621, 497, 939, 1107, 942, - 116, 264, 58, 759, 592, 238, 870, 962, 242, 1060, - 368, 369, 370, 391, 1178, 252, 281, 256, 637, 239, - 1078, 393, 224, 709, 909, 1234, 696, 393, 279, 282, - 698, 282, 282, 289, -638, 265, 760, 846, 847, 710, - 815, 312, 393, 567, 302, 1191, 227, 304, 1179, 306, - 848, 307, 1101, 593, 594, 268, 393, 316, 321, 318, - 849, 1061, 498, 260, 1102, 700, 1103, 327, 1064, 1055, - 270, 99, 180, 176, 1192, 181, 809, 1108, -262, 871, - 393, 1065, 816, 178, 182, 186, 184, 225, 331, 265, - 963, 1109, 231, 247, 249, 697, 3, 1101, 272, 699, - 240, 1116, 297, 277, 265, 424, 588, 590, 1104, 1102, - 234, 1103, 261, 1117, 393, 1118, 278, 58, 1056, -396, - 305, 395, 396, 397, 850, 202, 1108, 401, 393, 402, - 203, 582, 404, 392, 701, 58, -2, 393, 412, 496, - 1109, 413, -436, 414, 765, 595, 241, 416, 851, -638, - 1001, 58, 321, 1104, 58, 771, 772, 1119, 778, 779, - 915, 631, 426, 226, 385, -265, 58, 433, 542, 435, - 1210, 583, 763, 322, 1235, 58, 441, 940, 443, 943, - 1193, 266, 58, 463, 58, 58, 58, -454, 58, 393, - 233, 806, 470, 58, 472, 58, -436, 58, 106, 714, - 488, 852, 688, 750, 58, 499, 175, 721, 722, 511, - 1057, -436, 100, 517, 177, 519, 191, 521, 193, 524, - 803, 525, 526, 527, 179, 183, 528, 185, 393, 613, - 614, 768, 530, 232, 248, 250, 107, 533, 1221, 273, - 289, -272, 537, -255, 539, 793, -450, 589, 591, -272, - -272, 393, 393, 204, 799, 410, 730, 731, 732, 393, - -272, 682, 1122, 1123, 1124, 217, 393, 322, -272, -272, - 491, 386, -361, 234, 485, -361, 393, 102, -361, -361, - -361, 393, 683, 474, 393, 393, 393, 393, 733, 475, - 476, 477, 393, 376, 377, 1222, -361, -361, 512, 734, - 735, 736, 737, 738, 739, 780, 781, 478, 479, 192, - 961, 393, 393, 393, 393, 393, 393, 393, 1164, 378, - 379, 702, 196, 1168, 703, 422, -307, 54, 423, 380, - 381, 857, 858, 1176, 382, -272, -272, -272, 58, 108, - 58, 523, 740, 535, 1016, 1017, 334, 411, 209, 210, - 636, 638, 58, -272, -272, 343, 608, 378, 379, 492, - 609, 211, 641, 642, 218, 103, 486, 766, 767, -381, - 235, 213, 969, 970, 652, 769, 704, 655, 393, 901, - 409, 695, 782, 1201, 903, 904, 741, 742, 58, 859, - 513, 661, 794, 897, 898, 899, 220, 795, 448, 908, - 796, 797, 798, 1012, 253, 905, 449, 450, 1013, 670, - 671, 672, 809, 809, 937, 58, 818, 819, 631, 1082, - 1083, 820, 821, 285, 286, 216, 684, 1014, 1018, 1019, - 1022, 1023, 1148, 1149, 1037, 44, 45, 46, 1040, 383, - 384, 244, 693, 694, 822, 208, 1116, 995, 209, 210, - 996, 846, 847, 284, 515, 711, 417, 308, 1117, 215, - 1118, 211, 310, 715, 848, 716, 58, 312, 418, 1163, - 212, 213, 58, 387, 849, 1167, 289, 289, 557, 558, - 320, 559, 58, 724, 335, 1175, 726, 389, 728, 823, - 824, 825, 454, 455, 456, 1020, 1021, 560, 372, 419, - 551, 388, 1119, 826, 610, 611, 612, 420, 755, 515, - 336, 561, 761, 373, 374, 375, 1044, 1045, 562, 393, - 1046, 987, 1047, 983, 337, 571, 214, 573, 574, 575, - 576, 531, 577, 532, 338, 44, 45, 46, 850, 585, - 586, 587, 1091, 1092, 1048, 1094, 1095, 598, 599, 600, - 601, 602, 603, 604, 339, 327, 448, 615, 616, 215, - 340, 865, 851, 341, 449, 450, 622, 623, 342, 328, - 329, 330, 1049, 344, 294, 451, 331, 808, 346, 347, - 1228, 301, 812, 452, 453, 813, 1089, 886, 814, 1050, - 1051, 348, 890, 349, 350, 351, 352, 353, 317, 354, - 319, 834, 1044, 1045, 355, 356, 1067, 357, 1047, 358, - 359, 390, 1058, 360, 474, 361, 651, 362, 363, 654, - 475, 476, 477, 1196, 1197, 399, 364, 365, 1199, 914, - 1048, 916, 366, 367, 1202, 1203, 1204, 872, 478, 479, - 400, 875, 876, 403, 878, 371, 880, 408, 421, 883, - 454, 455, 456, 887, 888, 889, 427, 428, 1049, 891, - 430, 431, 436, 437, 438, 439, 442, -384, 457, 458, - 490, 1070, 273, 103, 406, 1050, 1051, 549, 569, 552, - 570, 607, 634, 635, 631, 415, 646, 647, 906, 648, - 659, 649, 910, 660, 674, 687, 705, 713, 393, 727, - 753, 754, 756, 758, 923, 924, 802, 764, 434, 773, - 774, 775, 807, 828, 776, 777, 1137, 783, 784, 785, - 786, 856, 829, 831, 787, 788, 789, 790, 800, 1146, - 791, 881, 801, 882, 1150, 843, 265, 1153, 844, 845, - 869, 894, 900, 912, 920, 928, 922, 929, 934, 938, - 951, 958, 959, 971, 968, 986, 992, 982, 1170, 999, - 1001, 1030, 947, 1009, 1015, 1072, 1026, 1085, 1096, 1138, - 1098, 1129, 954, 294, 1136, 294, 1145, 1147, 534, 1184, - 1187, 1190, 1183, 1212, 1213, 540, 1216, 1215, 964, 1217, - 1224, 1189, 1227, 1233, 1230, 1042, 1155, 1041, 1152, 907, - 993, 1010, 1074, 1140, 246, 469, 1059, 972, 547, 676, - 966, 626, 975, 625, 624, 979, 980, 68, 804, 499, - 805, 686, 110, 572, 111, 311, 984, 985, 1209, 1177, - 255, 578, 579, 580, 719, 584, 394, 957, 1125, 960, - 728, 1200, 596, 1205, 1198, 1157, 666, 720, 893, 718, - 1079, 605, 606, 981, 842, 967, 495, 991, 1188, 1133, - 0, 0, 0, 1069, 1008, 861, 862, 863, 864, 919, - 0, 0, 0, 0, 0, 568, 0, 0, 0, 0, + 98, 216, 565, 101, 792, 630, 262, 263, 269, 271, + 518, 746, 520, 809, 690, 545, 554, 617, 618, 619, + 620, 621, 188, 1100, 536, 752, 194, 195, 197, 199, + 201, 541, 205, 206, 345, 207, 487, 497, 489, 538, + 1080, 1081, 770, 238, 227, 1078, 581, 909, 391, 939, + 1115, 942, 116, 276, 224, 264, 312, 239, 242, 708, + 368, 369, 370, 592, 870, 252, 962, 256, 1060, 759, + 1177, 1194, 281, 1055, 637, 846, 847, 99, 279, 282, + 202, 282, 282, 289, 393, 203, -644, 815, 848, 265, + 321, 512, 393, 1229, 302, 709, 268, 304, 849, 306, + 1195, 307, 760, 498, 1178, 1242, 334, 316, 3, 318, + 410, 710, 593, 594, 1101, 343, 567, -402, 260, 225, + 1061, 270, 1056, 385, 376, 377, 1102, 809, 1103, 816, + 265, 321, -268, 176, 178, 58, 1107, 871, 240, 196, + 182, 393, 184, 186, 231, 247, 1108, 249, 272, 963, + 1230, 1101, 297, 1064, 424, 265, 588, 590, 58, -2, + 1109, 305, 850, 1102, 234, 1103, 1065, 261, 392, 58, + 1104, 395, 396, 397, 58, 1001, 631, 401, 1116, 402, + 393, 277, 404, 513, 241, -460, 851, 582, 412, 496, + 1117, 413, 1118, 414, 278, 226, -442, 416, 58, 192, + 393, -644, 411, 393, 595, 322, 1196, 1104, 204, 765, + -271, 393, 426, 542, 1057, 393, 58, 433, 100, 435, + 393, 915, 58, 771, 772, 1216, 441, 583, 443, 940, + 386, 943, 58, 463, 1119, 266, 393, -442, 58, 852, + 233, 806, 470, 58, 472, 58, 322, 58, 58, 58, + 488, 58, 750, 58, 1243, 499, 175, 714, 768, 511, + 721, 722, -442, 517, 1108, 519, 191, 521, 193, 524, + 688, 525, 526, 527, 177, 179, 528, 106, 1109, 613, + 614, 183, 530, 185, 58, 232, 248, 533, 250, 273, + 289, -278, 537, -261, 539, -456, 763, 589, 591, -278, + -278, 393, 730, 731, 732, 491, 1122, 1123, 1124, 682, + -278, 102, 393, 393, 393, 107, 778, 779, -278, -278, + 793, 393, 485, 234, 696, 217, 698, 780, 781, 393, + 683, 474, 799, 393, 733, 393, 766, 475, 476, 477, + 393, 393, 700, 378, 379, 734, 735, 736, 737, 738, + 739, -367, 1016, 1017, -367, 478, 479, -367, -367, -367, + 218, 961, 1163, 393, 393, 220, 393, 1167, 393, 393, + 393, 393, 803, 969, 970, -367, -367, 1175, 380, 381, + 857, 858, 393, 382, 409, -278, -278, -278, 740, 373, + 374, 375, 608, 697, 492, 699, 609, 1182, 244, 103, + 636, 638, 327, -278, -278, -313, 54, 702, 1020, 1021, + 703, 701, 641, 642, 486, 393, 901, 767, 108, -387, + 235, 903, 904, 331, 652, 1183, 1204, 655, 769, 782, + 794, 695, 741, 742, 253, 1037, 58, 795, 859, 1040, + 937, 661, 897, 898, 899, 796, 310, 180, 908, 797, + 181, 798, 846, 847, 905, 422, 1012, 1013, 423, 670, + 671, 672, 704, 809, 809, 848, 216, 1091, 1092, 1082, + 1083, 378, 379, 284, 208, 849, 684, 209, 210, 1014, + 1018, 393, 1019, 987, 1022, 1023, 1147, 1148, 383, 384, + 211, 417, 693, 694, 1094, 1095, 209, 210, 448, 212, + 213, 615, 616, 418, 515, 711, 449, 450, 531, 211, + 532, 1116, 308, 715, 58, 716, 312, 523, 320, 213, + 335, 448, 372, 1117, 336, 1118, 289, 289, 58, 449, + 450, 535, 58, 724, 419, 631, 726, 337, 728, 850, + 451, 995, 420, 58, 996, 474, 1162, 338, 452, 453, + 551, 475, 476, 477, 58, 214, 339, 1166, 755, 515, + 983, 340, 761, 851, 44, 45, 46, 1119, 58, 478, + 479, 1174, 610, 611, 612, 571, 341, 573, 574, 575, + 576, 387, 577, 44, 45, 46, 622, 623, 215, 585, + 586, 587, 454, 455, 456, 285, 286, 598, 599, 600, + 601, 602, 603, 604, 327, 342, 344, 215, 346, 347, + 348, 865, 349, 390, 350, 454, 455, 456, 328, 329, + 330, 388, 351, 352, 294, 331, 353, 808, 354, 355, + 356, 301, 812, 457, 458, 813, 1089, 886, 814, 818, + 819, 1236, 890, 357, 820, 821, 358, 359, 317, 1058, + 319, 834, 1199, 1200, 1044, 1045, 360, 1202, 1046, 389, + 1047, 361, 362, 1205, 1206, 1207, 651, 822, 363, 654, + 364, 365, 366, 367, 1044, 1045, 399, 400, 1067, 914, + 1047, 916, 1048, 403, 408, 421, 427, 872, 428, 430, + 431, 875, 876, 437, 878, 371, 880, 436, 438, 883, + 439, 442, 1048, 887, 888, 889, -390, 490, 273, 891, + 1049, 103, 823, 824, 825, 549, 569, 557, 558, 552, + 559, 570, 607, 634, 406, 631, 826, 1050, 1051, 1070, + 1049, 635, 646, 647, 648, 415, 560, 649, 906, 659, + 660, 674, 910, 687, 705, 713, 393, 1050, 1051, 727, + 561, 753, 756, 1137, 923, 924, 754, 562, 434, 758, + 764, 773, 774, 802, 775, 776, 1145, 777, 783, 784, + 785, 1149, 786, 787, 1152, 788, 789, 807, 790, 828, + 791, 800, 801, 829, 831, 843, 856, 844, 845, 869, + 881, 882, 265, 894, 900, 1169, 912, 920, 922, 928, + 934, 929, 951, 958, 938, 959, 971, 982, 968, 986, + 992, 999, 947, 1001, 1009, 1015, 1026, 1030, 1072, 1085, + 1144, 1096, 954, 294, 1146, 294, 1098, 1192, 534, 1129, + 1183, 1136, 1190, 1193, 1218, 540, 1219, 1223, 964, 1224, + 1225, 1232, 1235, 1238, 1241, 1042, 1154, 1041, 1151, 907, + 993, 1010, 1074, 1139, 469, 1059, 676, 246, 547, 972, + 966, 624, 975, 1212, 1215, 979, 980, 625, 804, 499, + 805, 626, 68, 572, 686, 110, 984, 985, 111, 311, + 1176, 578, 579, 580, 255, 584, 957, 719, 1125, 1203, + 728, 394, 596, 1208, 1221, 1222, 1201, 960, 1156, 893, + 720, 605, 606, 842, 666, 981, 718, 1079, 495, 991, + 1191, 967, 1133, 1069, 1008, 861, 862, 863, 864, 919, + 0, 0, 0, 0, 568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 1029, 0, 0, 0, 0, 0, 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, 1054, 0, 0, @@ -1587,561 +1591,580 @@ static const yytype_int16 yytable[] = 0, 0, 0, 515, 0, 0, 0, 0, 515, 515, 0, 0, 665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 0, 667, 0, 1062, - 1062, 0, 925, 926, 0, 1141, 927, 0, 0, 0, + 1062, 0, 925, 926, 0, 1140, 927, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 931, 0, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 935, 0, 0, 0, 0, 0, 936, 0, 0, 0, 0, 0, 0, 975, 975, 975, 0, 0, 0, 1126, 1127, 1128, 945, 946, 1130, 1131, 0, 0, 0, 0, 0, 0, 761, 667, 1135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1143, 1144, 0, - 0, 0, 0, 0, 748, 0, 1151, 0, 0, 1154, - 0, 0, 0, 0, 0, 1159, 0, 0, 0, 0, - 975, 0, 1165, 0, 974, 975, 0, 1169, 0, 0, - 1171, 0, 0, 0, 0, 975, 0, 515, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1180, - 0, 0, 665, 0, 0, 0, 0, 0, 0, 0, - 1180, 0, 0, 0, 0, 0, 0, 0, 0, 1223, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1231, - 0, 0, 0, 0, 0, 975, 0, 0, 0, 0, - 0, 0, 0, 1206, 1207, 0, 0, 0, 0, 0, - 0, 1062, 0, 0, 0, 0, 0, 0, 833, 0, + 0, 0, 0, 0, 0, 0, 0, 1142, 1143, 0, + 0, 0, 0, 0, 748, 0, 1150, 0, 0, 1153, + 0, 0, 0, 0, 0, 1158, 0, 0, 0, 0, + 975, 0, 1164, 0, 974, 975, 0, 1168, 0, 0, + 1170, 0, 0, 0, 0, 975, 0, 515, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1179, + 0, 0, 665, 0, 0, 0, 0, 0, 0, 1179, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1231, 0, 0, + 0, 0, 0, 0, 975, 0, 0, 1239, 0, 0, + 0, 0, 1209, 1210, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1062, 0, 0, 0, 833, 0, 1039, 0, 0, 0, 0, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, - 0, 1220, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 867, 0, 0, 0, 1236, 1238, - 1239, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 287, 0, 0, 0, 0, 0, -329, -329, 0, - 0, 0, 0, 0, -329, 1087, 0, 0, 294, 1088, - 0, 0, 0, 0, -329, -329, 0, 0, -329, -329, - 0, 0, -329, -329, 1099, 0, -329, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, + 0, 0, 0, 0, 867, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1244, 1246, 1247, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1087, 0, 0, 294, 1088, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 917, 918, - 0, 0, 0, 0, 0, -329, -329, 0, 0, -329, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 933, 0, 515, 0, - 0, 515, 0, 0, 1156, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -329, 0, 0, 0, 0, 0, - 0, 0, 515, -329, 0, -329, -329, -329, -329, -329, - -329, -329, 0, 0, -329, 0, 0, 0, -329, 0, - 0, 0, -329, 0, 0, 0, 515, 0, 0, 665, - 667, -329, -329, -329, -329, 515, 0, 0, 0, 0, - 0, -329, 0, -329, -329, -329, 0, -329, -329, -329, - -329, -329, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -329, 0, 0, 0, 0, -329, -329, 0, - 58, -329, 515, 288, 0, 446, 0, 989, 0, 990, - 0, -297, -297, 0, 0, 0, 0, 0, -297, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -297, -297, - 0, 0, -297, -297, 0, 0, -297, -297, 0, 0, - -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -297, - -297, 0, 0, -297, 0, 1038, 0, 0, 0, 0, + 0, 515, 0, 0, 1155, 0, 0, 0, 0, 0, + 0, 287, 0, 0, 0, 0, 0, -335, -335, 0, + 0, 0, 515, 0, -335, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -335, -335, 0, 0, -335, -335, + 0, 0, -335, -335, 0, 0, -335, 0, 0, 665, + 667, 0, 0, 0, 515, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -335, -335, 0, 0, -335, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 515, 515, 0, 0, 0, 0, 0, 989, 0, 990, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -335, 0, 0, 0, 0, 0, + 0, 515, 515, -335, 0, -335, -335, -335, -335, -335, + -335, -335, 0, 0, -335, 0, 0, 0, -335, 0, + 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, + 0, -335, -335, -335, -335, 1038, 0, 0, 0, 0, + 0, -335, 0, -335, -335, -335, 0, -335, -335, -335, + -335, -335, 446, 0, 0, 0, 0, 0, -303, -303, + 0, 0, -335, 0, 0, -303, 0, -335, -335, 0, + 58, -335, 0, 288, 0, -303, -303, 0, 0, -303, + -303, 0, 0, -303, -303, 1076, 1077, -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -297, 0, - 0, 0, 0, 0, 0, 1076, 1077, -297, 0, -297, - -297, -297, -297, -297, -297, -297, 0, 0, -297, 0, - 0, 0, -297, 0, 0, 0, -297, 0, 0, 0, - 0, 0, 0, 257, 0, -297, -297, -297, -297, -388, - -388, 0, 0, 0, 0, -297, -388, -297, -297, -297, - 0, -297, -297, -297, -297, -297, -388, -388, 0, 0, - -388, -388, 0, 0, -388, -388, -297, 0, -388, 0, - 0, -297, -297, -388, 0, -297, -297, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -388, -388, 0, - 0, -388, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 198, 0, 0, 0, 0, 0, -275, - -275, 0, 0, 0, 0, 0, -275, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -275, -275, 0, 0, - -275, -275, 0, 0, -275, -275, -388, 0, -275, 0, - 0, 1182, 0, 0, 0, -388, 0, -388, -388, -388, - -388, -388, -388, -388, 0, 0, -388, -275, -275, 0, - -388, -275, -388, 0, -388, 0, 0, 0, 0, 0, - 0, 0, 0, -388, -388, -388, -388, 0, 0, 0, - 0, 0, 0, -388, 0, -388, -388, -388, 0, -388, - -388, -388, -388, -388, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -388, 0, -275, 0, 0, -388, - -388, 0, 0, -388, 0, -275, 0, -275, -275, -275, - -275, -275, -275, -275, 0, 0, -275, 0, 0, 0, - -275, 665, 0, 0, -275, 0, 0, 0, 0, 0, - 0, 0, 0, -275, -275, -275, -275, 0, 0, 0, - 0, 0, 0, -275, 0, -275, -275, -275, 0, -275, - -275, -275, -275, -275, 0, 1112, 0, 0, 0, 0, - 0, -481, -481, 0, -275, 0, 0, 0, -481, -275, - -275, 1113, 58, -275, 0, 0, 0, 0, -481, -481, - 0, 0, -481, -481, 0, 0, -481, -481, 0, 0, - -481, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -481, - -481, 0, 0, -481, 0, 0, 0, 0, 0, 0, - 0, 0, 112, 0, 0, 0, 0, 0, -628, -628, - 0, 0, 0, 0, 0, -628, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -628, -628, 0, 0, -628, - -628, 0, 0, -628, -628, 0, 0, -628, -481, 0, - 0, 0, 0, 0, 0, 0, 0, -481, 0, -481, - -481, -481, -481, -481, -481, -481, -628, -628, -481, 0, - -628, 0, -481, 0, 0, 0, -481, 0, 0, 0, - 0, 0, 0, 0, 0, -481, -481, -481, -481, 0, - 0, 0, 0, 0, 0, -481, 0, -481, -481, -481, - 0, -481, -481, -481, -481, -481, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -628, -481, 0, 0, 0, - 0, -481, -481, 0, -628, -481, -628, -628, -628, -628, - -628, -628, -628, 0, 0, -628, 0, 0, 0, -628, - 0, 0, 0, -628, 0, 0, 0, 0, 0, 0, - 114, 0, -628, -628, -628, -628, -623, -623, 0, 0, - 0, 0, -628, -623, -628, -628, -628, 0, -628, -628, - -628, -628, -628, -623, -623, 0, 0, -623, -623, 0, - 0, -623, -623, -628, 0, -623, 0, 0, -628, -628, - 0, 0, -628, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -623, -623, 0, 0, -623, 0, - 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, - 0, 0, 0, 119, 120, 0, 0, 0, 0, 0, - 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 122, 123, 0, 0, 124, 125, 0, 0, 126, 127, - 0, 0, 128, -623, 0, 0, 0, 0, 0, 0, - 0, 0, -623, 0, -623, -623, -623, -623, -623, -623, - -623, 129, 130, -623, 0, 131, 0, -623, 0, 0, - 0, -623, 0, 0, 0, 0, 0, 0, 0, 0, - -623, -623, -623, -623, 0, 0, 0, 0, 0, 0, - -623, 0, -623, -623, -623, 0, -623, -623, -623, -623, - -623, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, -623, 0, 0, 0, 0, -623, -623, 0, 133, - -623, 134, 135, 136, 137, 138, 139, 140, 0, 0, - 141, 0, 0, 0, 142, 0, 0, 0, 143, 0, - 0, 0, 0, 0, 0, 190, 0, 144, 145, 146, - 147, 119, 120, 0, 0, 0, 0, 148, 121, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 122, 123, - 0, 0, 124, 125, 0, 0, 126, 127, 157, 0, - 128, 0, 0, 158, 159, 0, 0, 160, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 130, 0, 0, 131, 0, 0, 0, 0, 0, 0, - 0, 0, 222, 0, 0, 0, 0, 0, -279, -279, - 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -279, -279, 0, 0, -279, - -279, 0, 0, -279, -279, 0, 0, -279, 132, 0, - 0, 0, 0, 0, 0, 0, 0, 133, 0, 134, - 135, 136, 137, 138, 139, 140, -279, -279, 141, 0, - -279, 0, 142, 0, 0, 0, 143, 0, 0, 0, - 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, - 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -279, 157, 0, 0, 0, - 0, 158, 159, 0, -279, 160, -279, -279, -279, -279, - -279, -279, -279, 0, 0, -279, 0, 0, 0, -279, - 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, - 292, 0, -279, -279, -279, -279, 119, 120, 0, 0, - 0, 0, -279, 121, -279, -279, -279, 0, -279, -279, - -279, -279, -279, 122, 123, 0, 0, 124, 125, 0, - 0, 126, 127, -279, 0, 128, 0, 0, -279, -279, - 0, 0, -279, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 130, 0, 0, 131, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, - 0, 0, 0, -615, -615, 0, 0, 0, 0, 0, - -615, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -615, -615, 0, 0, -615, -615, 0, 0, -615, -615, - 0, 0, -615, 132, 0, 0, 0, 0, 0, 0, - 0, 0, 133, 0, 134, 135, 136, 137, 138, 139, - 140, -615, -615, 141, 0, -615, 0, 142, 0, 0, - 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, - 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, - 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -615, 157, 0, 0, 0, 0, 158, 159, 0, -615, - 160, -615, -615, -615, -615, -615, -615, -615, 0, 0, - -615, 0, 0, 0, -615, 0, 0, 0, -615, 0, - 0, 0, 0, 0, 0, 405, 0, -615, -615, -615, - -615, 119, 120, 0, 0, 0, 0, -615, 121, -615, - -615, -615, 0, -615, -615, -615, -615, -615, 122, 123, - 0, 0, 124, 125, 0, 0, 126, 127, -615, 0, - 128, 0, 0, -615, -615, 0, 0, -615, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 130, 0, 0, 131, 0, 0, 0, 0, 0, 0, - 0, 0, 564, 0, 0, 0, 0, 0, 119, 120, - 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 122, 123, 0, 0, 124, - 125, 0, 0, 126, 127, 0, 0, 128, 132, 0, - 0, 0, 0, 0, 0, 0, 0, 133, 0, 134, - 135, 136, 137, 138, 139, 140, 129, 130, 141, 0, - 131, 0, 142, 0, 0, 0, 143, 0, 0, 0, - 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, - 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 157, 0, 0, 0, - 0, 158, 159, 0, 133, 160, 134, 135, 136, 137, - 138, 139, 140, 0, 0, 141, 0, 0, 0, 142, - 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, - 747, 0, 144, 145, 146, 147, 119, 120, 0, 0, - 0, 0, 148, 121, 149, 150, 151, 0, 152, 153, - 154, 155, 156, 122, 123, 0, 0, 124, 125, 0, - 0, 126, 127, 157, 0, 128, 0, 0, 158, 159, - 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 130, 0, 0, 131, 0, - 0, 0, 0, 0, 0, 0, 0, 884, 0, 0, - 0, 0, 0, 119, 120, 0, 0, 0, 0, 0, - 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 122, 123, 0, 0, 124, 125, 0, 0, 126, 127, - 0, 0, 128, 132, 0, 0, 0, 0, 0, 0, - 0, 0, 133, 0, 134, 135, 136, 137, 138, 139, - 140, 129, 130, 141, 0, 131, 0, 142, 0, 0, - 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, - 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, - 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 157, 0, 0, 0, 0, 158, 159, 0, 133, - 160, 134, 135, 136, 137, 138, 139, 140, 0, 0, - 141, 0, 0, 0, 142, 0, 0, 0, 143, 0, - 0, 0, 0, 0, 0, 0, 0, 144, 145, 146, - 147, 0, 0, 0, 0, 0, 0, 148, 0, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, - 0, 5, 0, 0, 0, 0, 502, 0, 157, 7, - 8, 0, 0, 158, 159, 0, 0, 160, 11, 12, - -422, 13, 0, 0, 0, 0, 14, 15, 0, 0, - 0, 16, 0, 0, 503, 504, 0, 18, 19, 20, - 505, 22, 23, 24, 0, 25, 0, 0, 0, 0, - 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 28, 0, -422, - 0, 0, 0, -422, 29, 30, 31, 32, 0, 0, - 0, 0, 0, 0, 0, 33, 34, 35, 36, 0, - 0, 0, 37, 0, 0, 38, 0, 0, 40, 0, - 0, 506, 0, 42, 43, 44, 45, 46, 47, 48, - 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, - 54, 5, 0, 0, 0, 0, 502, 0, 55, 7, - 8, 0, 56, 0, 0, 57, 0, 0, 11, 12, - -421, 13, 0, 0, 0, 0, 14, 15, 0, 0, - 0, 16, 0, 0, 503, 504, 0, 18, 19, 20, - 505, 22, 23, 24, 0, 25, 0, 0, 0, 0, - 58, 0, 0, 26, 0, 27, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 28, 0, -421, - 0, 0, 0, -421, 29, 30, 31, 32, 0, 0, - 0, 0, 0, 0, 0, 33, 34, 35, 36, 0, - 0, 0, 37, 0, 0, 38, 0, 0, 40, 0, - 0, 506, 0, 42, 43, 44, 45, 46, 47, 48, - 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, - 54, 0, 0, 0, 0, 0, 0, 0, 55, 0, - 0, 0, 56, 0, 0, 57, 5, 0, 0, 0, - 0, 6, 0, 0, 7, 8, 9, 0, 0, 0, - 10, 0, 0, 11, 12, 0, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 17, - 58, 0, 18, 19, 20, 21, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 0, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 39, 0, 40, 0, 0, 41, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, 510, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, 673, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, 692, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, 874, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, 973, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, 1004, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, 1005, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, 1068, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, -659, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, 1134, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, 1186, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, 0, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, -649, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 5, 0, 0, 0, - 0, 502, 0, 55, 7, 8, 0, 56, 0, 0, - 57, 0, 0, 11, 12, -651, 13, 0, 0, 0, - 0, 14, 15, 0, 0, 0, 16, 0, 0, 503, - 504, 0, 18, 19, 20, 505, 22, 23, 24, 0, - 25, 0, 0, 0, 0, 58, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 0, 0, 0, 37, 0, 0, - 38, 0, 0, 40, 0, 0, 506, 0, 42, 43, - 44, 45, 46, 47, 48, 0, 49, 0, 0, 119, - 120, 0, 0, 0, 0, 0, 121, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 122, 123, 0, 0, - 124, 125, 0, 55, 126, 127, 0, 56, 128, 0, - 57, 0, 0, 491, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -303, -303, 0, 0, + -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 257, 0, 0, 0, 0, 0, -394, -394, + 0, 0, 0, 0, 0, -394, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -394, -394, 0, 0, -394, + -394, 0, 0, -394, -394, -303, 0, -394, 0, 0, + 0, 0, -394, 0, -303, 0, -303, -303, -303, -303, + -303, -303, -303, 0, 0, -303, -394, -394, 0, -303, + -394, 0, 0, -303, 0, 0, 0, 0, 0, 0, + 0, 0, -303, -303, -303, -303, 0, 0, 0, 0, + 0, 0, -303, 0, -303, -303, -303, 0, -303, -303, + -303, -303, -303, 0, 0, 0, 0, 0, 0, 0, + 0, 1181, 0, -303, 0, -394, 0, 0, -303, -303, + 0, 0, -303, -303, -394, 0, -394, -394, -394, -394, + -394, -394, -394, 0, 0, -394, 0, 0, 0, -394, + 0, -394, 0, -394, 0, 0, 0, 0, 0, 0, + 198, 0, -394, -394, -394, -394, -281, -281, 0, 0, + 0, 0, -394, -281, -394, -394, -394, 0, -394, -394, + -394, -394, -394, -281, -281, 0, 0, -281, -281, 0, + 0, -281, -281, -394, 0, -281, 0, 0, -394, -394, + 0, 0, -394, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -281, -281, 0, 0, -281, 665, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1112, 0, 0, 0, 0, 0, -487, -487, 0, 0, + 0, 0, 0, -487, 0, 0, 1113, 0, 0, 0, + 0, 0, 0, -487, -487, 0, 0, -487, -487, 0, + 0, -487, -487, -281, 0, -487, 0, 0, 0, 0, + 0, 0, -281, 0, -281, -281, -281, -281, -281, -281, + -281, 0, 0, -281, -487, -487, 0, -281, -487, 0, + 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, + -281, -281, -281, -281, 0, 0, 0, 0, 0, 0, + -281, 0, -281, -281, -281, 0, -281, -281, -281, -281, + -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -281, 0, -487, 0, 0, -281, -281, 0, 58, + -281, 0, -487, 0, -487, -487, -487, -487, -487, -487, + -487, 0, 0, -487, 0, 0, 0, -487, 0, 0, + 0, -487, 0, 0, 0, 0, 0, 0, 112, 0, + -487, -487, -487, -487, -634, -634, 0, 0, 0, 0, + -487, -634, -487, -487, -487, 0, -487, -487, -487, -487, + -487, -634, -634, 0, 0, -634, -634, 0, 0, -634, + -634, -487, 0, -634, 0, 0, -487, -487, 0, 0, + -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -634, -634, 0, 0, -634, 0, 0, 0, + 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, + 0, -629, -629, 0, 0, 0, 0, 0, -629, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -629, -629, + 0, 0, -629, -629, 0, 0, -629, -629, 0, 0, + -629, -634, 0, 0, 0, 0, 0, 0, 0, 0, + -634, 0, -634, -634, -634, -634, -634, -634, -634, -629, + -629, -634, 0, -629, 0, -634, 0, 0, 0, -634, + 0, 0, 0, 0, 0, 0, 0, 0, -634, -634, + -634, -634, 0, 0, 0, 0, 0, 0, -634, 0, + -634, -634, -634, 0, -634, -634, -634, -634, -634, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -629, -634, + 0, 0, 0, 0, -634, -634, 0, -629, -634, -629, + -629, -629, -629, -629, -629, -629, 0, 0, -629, 0, + 0, 0, -629, 0, 0, 0, -629, 0, 0, 0, + 0, 0, 0, 118, 0, -629, -629, -629, -629, 119, + 120, 0, 0, 0, 0, -629, 121, -629, -629, -629, + 0, -629, -629, -629, -629, -629, 122, 123, 0, 0, + 124, 125, 0, 0, 126, 127, -629, 0, 128, 0, + 0, -629, -629, 0, 0, -629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 58, 119, 120, 0, 0, + 190, 0, 0, 0, 0, 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, 129, 130, 141, 0, 131, 0, - 142, 0, 492, 0, 143, 393, 0, 0, 0, 0, + 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 157, 0, 0, 0, 0, 158, 159, 0, 133, 160, 134, 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, 0, 0, 142, 0, 0, - 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 143, 0, 0, 0, 0, 0, 0, 222, 0, + 144, 145, 146, 147, -285, -285, 0, 0, 0, 0, + 148, -285, 149, 150, 151, 0, 152, 153, 154, 155, + 156, -285, -285, 0, 0, -285, -285, 0, 0, -285, + -285, 157, 0, -285, 0, 0, 158, 159, 0, 0, + 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -285, -285, 0, 0, -285, 0, 0, 0, + 0, 0, 0, 0, 0, 292, 0, 0, 0, 0, + 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, + 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, + 128, -285, 0, 0, 0, 0, 0, 0, 0, 0, + -285, 0, -285, -285, -285, -285, -285, -285, -285, 129, + 130, -285, 0, 131, 0, -285, 0, 0, 0, -285, + 0, 0, 0, 0, 0, 0, 0, 0, -285, -285, + -285, -285, 0, 0, 0, 0, 0, 0, -285, 0, + -285, -285, -285, 0, -285, -285, -285, -285, -285, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 132, -285, + 0, 0, 0, 0, -285, -285, 0, 133, -285, 134, + 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, + 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, + 0, 0, 0, 299, 0, 144, 145, 146, 147, -621, + -621, 0, 0, 0, 0, 148, -621, 149, 150, 151, + 0, 152, 153, 154, 155, 156, -621, -621, 0, 0, + -621, -621, 0, 0, -621, -621, 157, 0, -621, 0, + 0, 158, 159, 0, 0, 160, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -621, -621, 0, + 0, -621, 0, 0, 0, 0, 0, 0, 0, 0, + 405, 0, 0, 0, 0, 0, 119, 120, 0, 0, + 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, + 0, 126, 127, 0, 0, 128, -621, 0, 0, 0, + 0, 0, 0, 0, 0, -621, 0, -621, -621, -621, + -621, -621, -621, -621, 129, 130, -621, 0, 131, 0, + -621, 0, 0, 0, -621, 0, 0, 0, 0, 0, + 0, 0, 0, -621, -621, -621, -621, 0, 0, 0, + 0, 0, 0, -621, 0, -621, -621, -621, 0, -621, + -621, -621, -621, -621, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 132, -621, 0, 0, 0, 0, -621, + -621, 0, 133, -621, 134, 135, 136, 137, 138, 139, + 140, 0, 0, 141, 0, 0, 0, 142, 0, 0, + 0, 143, 0, 0, 0, 0, 0, 0, 564, 0, 144, 145, 146, 147, 119, 120, 0, 0, 0, 0, 148, 121, 149, 150, 151, 0, 152, 153, 154, 155, 156, 122, 123, 0, 0, 124, 125, 0, 0, 126, 127, 157, 0, 128, 0, 0, 158, 159, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 747, 0, 0, 0, 0, 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, 129, 130, 141, 0, 131, 0, 142, 0, 0, 0, 143, - 896, 0, 0, 0, 0, 0, 0, 0, 144, 145, + 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 157, 0, 0, 0, 0, 158, 159, 0, 133, 160, 134, 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, - 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, - 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, - 0, 158, 159, 0, 0, 160 + 0, 0, 0, 884, 0, 144, 145, 146, 147, 119, + 120, 0, 0, 0, 0, 148, 121, 149, 150, 151, + 0, 152, 153, 154, 155, 156, 122, 123, 0, 0, + 124, 125, 0, 0, 126, 127, 157, 0, 128, 0, + 0, 158, 159, 0, 0, 160, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, + 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, + 0, 0, 0, 0, 0, 133, 0, 134, 135, 136, + 137, 138, 139, 140, 0, 0, 141, 0, 0, 0, + 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, + 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, + 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, + 153, 154, 155, 156, 0, 0, 0, 5, 0, 0, + 0, 0, 502, 0, 157, 7, 8, 0, 0, 158, + 159, 0, 0, 160, 11, 12, -428, 13, 0, 0, + 0, 0, 14, 15, 0, 0, 0, 16, 0, 0, + 503, 504, 0, 18, 19, 20, 505, 22, 23, 24, + 0, 25, 0, 0, 0, 0, 0, 0, 0, 26, + 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 28, 0, -428, 0, 0, 0, -428, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, + 0, 33, 34, 35, 36, 0, 0, 0, 37, 0, + 0, 38, 0, 0, 40, 0, 0, 506, 0, 42, + 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, + 0, 0, 51, 52, 0, 53, 54, 5, 0, 0, + 0, 0, 502, 0, 55, 7, 8, 0, 56, 0, + 0, 57, 0, 0, 11, 12, -427, 13, 0, 0, + 0, 0, 14, 15, 0, 0, 0, 16, 0, 0, + 503, 504, 0, 18, 19, 20, 505, 22, 23, 24, + 0, 25, 0, 0, 0, 0, 58, 0, 0, 26, + 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 28, 0, -427, 0, 0, 0, -427, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, + 0, 33, 34, 35, 36, 0, 0, 0, 37, 0, + 0, 38, 0, 0, 40, 0, 0, 506, 0, 42, + 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, + 0, 0, 51, 52, 0, 53, 54, 0, 0, 0, + 0, 0, 0, 0, 55, 0, 0, 0, 56, 0, + 0, 57, 5, 0, 0, 0, 0, 6, 0, 0, + 7, 8, 9, 0, 0, 0, 10, 0, 0, 11, + 12, 0, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 17, 58, 0, 18, 19, + 20, 21, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 39, 0, 40, + 0, 0, 41, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 510, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 673, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 692, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 874, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 973, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 1004, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 1005, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 1068, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, -665, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 1134, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 1189, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, 0, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, -655, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, + 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, + 12, -657, 13, 0, 0, 0, 0, 14, 15, 0, + 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, + 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, + 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, + 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, + 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, + 48, 0, 49, 0, 0, 119, 120, 0, 0, 0, + 0, 0, 121, 0, 50, 0, 0, 51, 52, 0, + 53, 54, 122, 123, 0, 0, 124, 125, 0, 55, + 126, 127, 0, 56, 128, 0, 57, 0, 0, 491, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 58, 119, 120, 0, 0, 0, 0, 0, 121, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, + 123, 0, 0, 124, 125, 0, 0, 126, 127, 0, + 0, 128, 132, 0, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, + 129, 130, 141, 0, 131, 0, 142, 0, 492, 0, + 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, + 145, 146, 147, 1213, 0, 0, 0, 0, 1214, 148, + 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, + 157, 0, 0, 0, 0, 158, 159, 0, 133, 160, + 134, 135, 136, 137, 138, 139, 140, 0, 0, 141, + 0, 0, 0, 142, 0, 0, 0, 143, 0, 0, + 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, + 119, 120, 0, 0, 0, 0, 148, 121, 149, 150, + 151, 0, 152, 153, 154, 155, 156, 122, 123, 0, + 0, 124, 125, 0, 0, 126, 127, 157, 0, 128, + 0, 0, 158, 159, 0, 0, 160, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, + 0, 0, 131, 0, 0, 0, 0, 0, 0, 393, + 0, 0, 0, 0, 0, 0, 0, 119, 120, 0, + 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, + 0, 0, 126, 127, 0, 0, 128, 132, 0, 0, + 0, 0, 0, 0, 0, 0, 133, 0, 134, 135, + 136, 137, 138, 139, 140, 129, 130, 141, 0, 131, + 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, + 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, + 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, + 152, 153, 154, 155, 156, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 132, 157, 0, 0, 0, 0, + 158, 159, 0, 133, 160, 134, 135, 136, 137, 138, + 139, 140, 0, 0, 141, 0, 0, 0, 142, 0, + 0, 0, 143, 896, 0, 0, 0, 0, 0, 0, + 0, 144, 145, 146, 147, 119, 120, 0, 0, 0, + 0, 148, 121, 149, 150, 151, 0, 152, 153, 154, + 155, 156, 122, 123, 0, 0, 124, 125, 0, 0, + 126, 127, 157, 0, 128, 0, 0, 158, 159, 0, + 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, + 0, 0, 141, 0, 0, 0, 142, 0, 0, 0, + 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, + 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, + 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 157, 0, 0, 0, 0, 158, 159, 0, 0, 160 }; static const yytype_int16 yycheck[] = { - 5, 597, 269, 8, 271, 393, 76, 77, 79, 80, - 41, 548, 632, 493, 554, 321, 303, 314, 254, 1, - 256, 295, 27, 1, 1, 1, 31, 32, 33, 34, - 35, 298, 37, 38, 131, 40, 1, 1, 1004, 1005, - 1, 380, 381, 382, 383, 384, 1, 1, 1, 1, - 1, 1, 180, 1, 1, 1, 1, 1, 63, 1, - 157, 158, 159, 64, 1, 70, 1, 72, 1, 15, - 53, 66, 1, 37, 53, 1, 1, 66, 83, 84, - 1, 86, 87, 88, 35, 35, 34, 18, 19, 53, - 47, 63, 66, 20, 99, 7, 1, 102, 35, 104, - 31, 106, 129, 50, 51, 1, 66, 112, 35, 114, - 41, 53, 67, 20, 141, 1, 143, 53, 129, 1, - 1, 1, 15, 1, 36, 18, 746, 129, 52, 74, - 66, 142, 89, 1, 1, 181, 1, 66, 74, 35, - 84, 143, 1, 1, 1, 70, 0, 129, 1, 70, - 96, 129, 1, 129, 35, 1, 1, 1, 185, 141, - 84, 143, 69, 141, 66, 143, 142, 180, 50, 74, - 183, 176, 177, 178, 105, 1, 129, 182, 66, 184, - 6, 142, 187, 184, 70, 180, 0, 66, 193, 259, - 143, 196, 142, 198, 183, 142, 142, 202, 129, 150, - 183, 180, 35, 185, 180, 182, 183, 185, 182, 183, - 750, 183, 217, 142, 62, 180, 180, 222, 183, 224, - 1186, 182, 182, 150, 150, 180, 231, 181, 233, 181, - 142, 181, 180, 238, 180, 180, 180, 142, 180, 66, - 1, 629, 247, 180, 249, 180, 142, 180, 1, 516, - 255, 182, 488, 550, 180, 260, 18, 531, 532, 264, - 142, 142, 142, 268, 142, 270, 28, 272, 30, 274, - 63, 276, 277, 278, 142, 142, 281, 142, 66, 376, - 377, 183, 287, 142, 142, 142, 39, 292, 85, 142, - 295, 52, 297, 142, 299, 183, 142, 142, 142, 60, - 61, 66, 66, 129, 183, 50, 3, 4, 5, 66, - 71, 53, 1049, 1050, 1051, 6, 66, 150, 79, 80, - 41, 169, 75, 84, 50, 78, 66, 54, 81, 82, - 83, 66, 74, 75, 66, 66, 66, 66, 35, 81, - 82, 83, 66, 172, 173, 142, 99, 100, 57, 46, - 47, 48, 49, 50, 51, 182, 183, 99, 100, 84, - 840, 66, 66, 66, 66, 66, 66, 66, 1105, 162, - 163, 15, 150, 1110, 18, 15, 129, 130, 18, 60, - 61, 94, 95, 1120, 65, 146, 147, 148, 180, 142, - 180, 183, 89, 183, 182, 183, 119, 142, 18, 19, - 405, 406, 180, 164, 165, 128, 55, 162, 163, 130, - 59, 31, 417, 418, 142, 142, 142, 182, 182, 180, - 181, 41, 182, 183, 429, 182, 70, 432, 66, 735, - 68, 501, 182, 1170, 740, 741, 133, 134, 180, 152, - 149, 446, 182, 730, 731, 732, 142, 182, 52, 746, - 182, 182, 182, 182, 84, 742, 60, 61, 182, 464, - 465, 466, 1082, 1083, 803, 180, 16, 17, 183, 1006, - 1007, 21, 22, 86, 87, 506, 481, 182, 182, 182, - 182, 182, 182, 182, 949, 105, 106, 107, 953, 170, - 171, 58, 497, 498, 44, 15, 129, 122, 18, 19, - 125, 18, 19, 183, 266, 510, 91, 142, 141, 129, - 143, 31, 129, 518, 31, 520, 180, 63, 103, 183, - 40, 41, 180, 168, 41, 183, 531, 532, 34, 35, - 20, 37, 180, 538, 181, 183, 541, 166, 543, 89, - 90, 91, 146, 147, 148, 182, 183, 53, 58, 134, - 312, 167, 185, 103, 373, 374, 375, 142, 563, 321, - 181, 67, 567, 174, 175, 176, 16, 17, 74, 66, - 20, 68, 22, 879, 181, 337, 96, 339, 340, 341, - 342, 288, 344, 290, 181, 105, 106, 107, 105, 351, - 352, 353, 182, 183, 44, 182, 183, 359, 360, 361, - 362, 363, 364, 365, 181, 53, 52, 378, 379, 129, - 181, 681, 129, 181, 60, 61, 385, 386, 181, 67, - 68, 69, 72, 181, 89, 71, 74, 632, 181, 181, - 1226, 96, 637, 79, 80, 640, 1024, 707, 643, 89, - 90, 181, 713, 181, 181, 181, 181, 181, 113, 181, - 115, 656, 16, 17, 181, 181, 20, 181, 22, 181, - 181, 63, 968, 181, 75, 181, 428, 181, 181, 431, - 81, 82, 83, 1161, 1162, 22, 181, 181, 1166, 749, - 44, 751, 181, 181, 1172, 1173, 1174, 692, 99, 100, - 22, 696, 697, 182, 699, 160, 701, 68, 142, 704, - 146, 147, 148, 708, 709, 710, 183, 183, 72, 714, - 183, 183, 142, 20, 74, 142, 183, 142, 164, 165, - 20, 988, 142, 142, 189, 89, 90, 52, 182, 53, - 182, 182, 142, 142, 183, 200, 22, 22, 743, 20, - 50, 142, 747, 142, 181, 78, 73, 182, 66, 142, - 183, 183, 20, 84, 759, 760, 55, 183, 223, 183, - 182, 182, 142, 142, 182, 182, 1072, 182, 182, 182, - 182, 86, 142, 142, 182, 182, 182, 182, 182, 1085, - 183, 1, 182, 1, 1090, 182, 35, 1093, 183, 183, - 180, 183, 49, 30, 84, 182, 142, 142, 182, 185, - 74, 183, 180, 142, 181, 68, 142, 877, 1114, 53, - 183, 141, 817, 142, 182, 30, 142, 82, 30, 103, - 183, 182, 827, 288, 183, 290, 20, 81, 293, 75, - 53, 142, 1138, 110, 183, 300, 142, 93, 843, 68, - 181, 1147, 68, 20, 182, 956, 1095, 955, 1092, 744, - 900, 921, 998, 1074, 65, 246, 970, 856, 305, 473, - 844, 389, 867, 388, 387, 870, 871, 4, 627, 874, - 628, 481, 13, 338, 13, 109, 881, 882, 1184, 1132, - 71, 346, 347, 348, 523, 350, 175, 830, 1053, 838, - 895, 1167, 357, 1175, 1163, 1098, 460, 529, 723, 522, - 1002, 366, 367, 874, 658, 845, 258, 895, 1145, 1068, - -1, -1, -1, 983, 919, 677, 678, 679, 680, 756, - -1, -1, -1, -1, -1, 323, -1, -1, -1, -1, + 5, 41, 321, 8, 597, 393, 76, 77, 79, 80, + 269, 548, 271, 632, 493, 303, 314, 380, 381, 382, + 383, 384, 27, 1, 295, 554, 31, 32, 33, 34, + 35, 1, 37, 38, 131, 40, 254, 1, 256, 298, + 1004, 1005, 1, 1, 1, 53, 1, 53, 64, 1, + 1, 1, 1, 1, 1, 1, 63, 15, 63, 1, + 157, 158, 159, 1, 1, 70, 1, 72, 1, 1, + 1, 7, 1, 1, 1, 18, 19, 1, 83, 84, + 1, 86, 87, 88, 66, 6, 35, 47, 31, 35, + 35, 57, 66, 85, 99, 37, 1, 102, 41, 104, + 36, 106, 34, 67, 35, 1, 119, 112, 0, 114, + 50, 53, 50, 51, 129, 128, 20, 74, 20, 66, + 53, 1, 50, 62, 172, 173, 141, 746, 143, 89, + 35, 35, 52, 1, 1, 180, 1, 74, 96, 150, + 1, 66, 1, 181, 1, 1, 129, 1, 1, 84, + 142, 129, 1, 129, 1, 35, 1, 1, 180, 0, + 143, 183, 105, 141, 84, 143, 142, 69, 184, 180, + 185, 176, 177, 178, 180, 183, 183, 182, 129, 184, + 66, 129, 187, 149, 142, 142, 129, 142, 193, 259, + 141, 196, 143, 198, 142, 142, 142, 202, 180, 84, + 66, 150, 142, 66, 142, 150, 142, 185, 129, 183, + 180, 66, 217, 183, 142, 66, 180, 222, 142, 224, + 66, 750, 180, 182, 183, 1189, 231, 182, 233, 181, + 169, 181, 180, 238, 185, 181, 66, 142, 180, 182, + 1, 629, 247, 180, 249, 180, 150, 180, 180, 180, + 255, 180, 550, 180, 150, 260, 18, 516, 183, 264, + 531, 532, 142, 268, 129, 270, 28, 272, 30, 274, + 488, 276, 277, 278, 142, 142, 281, 1, 143, 376, + 377, 142, 287, 142, 180, 142, 142, 292, 142, 142, + 295, 52, 297, 142, 299, 142, 182, 142, 142, 60, + 61, 66, 3, 4, 5, 41, 1049, 1050, 1051, 53, + 71, 54, 66, 66, 66, 39, 182, 183, 79, 80, + 183, 66, 50, 84, 1, 6, 1, 182, 183, 66, + 74, 75, 183, 66, 35, 66, 182, 81, 82, 83, + 66, 66, 1, 162, 163, 46, 47, 48, 49, 50, + 51, 75, 182, 183, 78, 99, 100, 81, 82, 83, + 142, 840, 1105, 66, 66, 142, 66, 1110, 66, 66, + 66, 66, 63, 182, 183, 99, 100, 1120, 60, 61, + 94, 95, 66, 65, 68, 146, 147, 148, 89, 174, + 175, 176, 55, 70, 130, 70, 59, 75, 58, 142, + 405, 406, 53, 164, 165, 129, 130, 15, 182, 183, + 18, 70, 417, 418, 142, 66, 735, 182, 142, 180, + 181, 740, 741, 74, 429, 103, 1169, 432, 182, 182, + 182, 501, 133, 134, 84, 949, 180, 182, 152, 953, + 803, 446, 730, 731, 732, 182, 129, 15, 746, 182, + 18, 182, 18, 19, 742, 15, 182, 182, 18, 464, + 465, 466, 70, 1082, 1083, 31, 506, 182, 183, 1006, + 1007, 162, 163, 183, 15, 41, 481, 18, 19, 182, + 182, 66, 182, 68, 182, 182, 182, 182, 170, 171, + 31, 91, 497, 498, 182, 183, 18, 19, 52, 40, + 41, 378, 379, 103, 266, 510, 60, 61, 288, 31, + 290, 129, 142, 518, 180, 520, 63, 183, 20, 41, + 181, 52, 58, 141, 181, 143, 531, 532, 180, 60, + 61, 183, 180, 538, 134, 183, 541, 181, 543, 105, + 71, 122, 142, 180, 125, 75, 183, 181, 79, 80, + 312, 81, 82, 83, 180, 96, 181, 183, 563, 321, + 879, 181, 567, 129, 105, 106, 107, 185, 180, 99, + 100, 183, 373, 374, 375, 337, 181, 339, 340, 341, + 342, 168, 344, 105, 106, 107, 385, 386, 129, 351, + 352, 353, 146, 147, 148, 86, 87, 359, 360, 361, + 362, 363, 364, 365, 53, 181, 181, 129, 181, 181, + 181, 681, 181, 63, 181, 146, 147, 148, 67, 68, + 69, 167, 181, 181, 89, 74, 181, 632, 181, 181, + 181, 96, 637, 164, 165, 640, 1024, 707, 643, 16, + 17, 1234, 713, 181, 21, 22, 181, 181, 113, 968, + 115, 656, 1160, 1161, 16, 17, 181, 1165, 20, 166, + 22, 181, 181, 1171, 1172, 1173, 428, 44, 181, 431, + 181, 181, 181, 181, 16, 17, 22, 22, 20, 749, + 22, 751, 44, 182, 68, 142, 183, 692, 183, 183, + 183, 696, 697, 20, 699, 160, 701, 142, 74, 704, + 142, 183, 44, 708, 709, 710, 142, 20, 142, 714, + 72, 142, 89, 90, 91, 52, 182, 34, 35, 53, + 37, 182, 182, 142, 189, 183, 103, 89, 90, 988, + 72, 142, 22, 22, 20, 200, 53, 142, 743, 50, + 142, 181, 747, 78, 73, 182, 66, 89, 90, 142, + 67, 183, 20, 1072, 759, 760, 183, 74, 223, 84, + 183, 183, 182, 55, 182, 182, 1085, 182, 182, 182, + 182, 1090, 182, 182, 1093, 182, 182, 142, 182, 142, + 183, 182, 182, 142, 142, 182, 86, 183, 183, 180, + 1, 1, 35, 183, 49, 1114, 30, 84, 142, 182, + 182, 142, 74, 183, 185, 180, 142, 877, 181, 68, + 142, 53, 817, 183, 142, 182, 142, 141, 30, 82, + 20, 30, 827, 288, 81, 290, 183, 1146, 293, 182, + 103, 183, 53, 142, 110, 300, 183, 93, 843, 142, + 68, 181, 68, 182, 20, 956, 1095, 955, 1092, 744, + 900, 921, 998, 1074, 246, 970, 473, 65, 305, 856, + 844, 387, 867, 1182, 1183, 870, 871, 388, 627, 874, + 628, 389, 4, 338, 481, 13, 881, 882, 13, 109, + 1132, 346, 347, 348, 71, 350, 830, 523, 1053, 1166, + 895, 175, 357, 1174, 1213, 1214, 1162, 838, 1098, 723, + 529, 366, 367, 658, 460, 874, 522, 1002, 258, 895, + 1144, 845, 1068, 983, 919, 677, 678, 679, 680, 756, + -1, -1, -1, -1, 323, -1, -1, -1, -1, -1, -1, -1, -1, -1, 939, -1, -1, 942, -1, -1, -1, -1, -1, 705, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 419, -1, -1, 962, -1, -1, @@ -2162,451 +2185,470 @@ static const yytype_int16 yycheck[] = 1105, -1, 1107, -1, 866, 1110, -1, 1112, -1, -1, 1115, -1, -1, -1, -1, 1120, -1, 879, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1134, - -1, -1, 597, -1, -1, -1, -1, -1, -1, -1, - 1145, -1, -1, -1, -1, -1, -1, -1, -1, 1219, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1229, - -1, -1, -1, -1, -1, 1170, -1, -1, -1, -1, - -1, -1, -1, 1178, 1179, -1, -1, -1, -1, -1, - -1, 1186, -1, -1, -1, -1, -1, -1, 653, -1, + -1, -1, 597, -1, -1, -1, -1, -1, -1, 1144, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1227, -1, -1, + -1, -1, -1, -1, 1169, -1, -1, 1237, -1, -1, + -1, -1, 1177, 1178, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1189, -1, -1, -1, 653, -1, 952, -1, -1, -1, -1, -1, 958, -1, -1, -1, -1, -1, -1, -1, -1, -1, 968, -1, -1, -1, - -1, 1216, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 689, -1, -1, -1, 1233, 1234, - 1235, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, - -1, -1, -1, -1, 14, 1017, -1, -1, 723, 1021, - -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, - -1, -1, 32, 33, 1036, -1, 36, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1224, + -1, -1, -1, -1, 689, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1241, 1242, 1243, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1017, -1, -1, 723, 1021, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1036, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 753, 754, - -1, -1, -1, -1, -1, 55, 56, -1, -1, 59, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1072, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1085, -1, -1, 791, -1, 1090, -1, -1, 1093, -1, -1, 1096, -1, -1, -1, -1, -1, + -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, + -1, -1, 1114, -1, 14, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, + -1, -1, 32, 33, -1, -1, 36, -1, -1, 844, + 845, -1, -1, -1, 1146, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 55, 56, -1, -1, 59, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1182, 1183, -1, -1, -1, -1, -1, 892, -1, 894, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, -1, - -1, -1, 1114, 113, -1, 115, 116, 117, 118, 119, + -1, 1213, 1214, 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, - -1, -1, 132, -1, -1, -1, 1138, -1, -1, 844, - 845, 141, 142, 143, 144, 1147, -1, -1, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, + -1, 141, 142, 143, 144, 950, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, - 160, 161, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 172, -1, -1, -1, -1, 177, 178, -1, - 180, 181, 1184, 183, -1, 1, -1, 892, -1, 894, - -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, - 56, -1, -1, 59, -1, 950, -1, -1, -1, -1, + 160, 161, 1, -1, -1, -1, -1, -1, 7, 8, + -1, -1, 172, -1, -1, 14, -1, 177, 178, -1, + 180, 181, -1, 183, -1, 24, 25, -1, -1, 28, + 29, -1, -1, 32, 33, 1000, 1001, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, - -1, -1, -1, -1, -1, 1000, 1001, 113, -1, 115, - 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, - -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, - 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, - -1, 177, 178, 41, -1, 181, 182, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, - 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, 104, -1, 36, -1, - -1, 1136, -1, -1, -1, 113, -1, 115, 116, 117, - 118, 119, 120, 121, -1, -1, 124, 55, 56, -1, - 128, 59, 130, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 172, -1, 104, -1, -1, 177, - 178, -1, -1, 181, -1, 113, -1, 115, 116, 117, - 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, - 128, 1226, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, -1, 1, -1, -1, -1, -1, - -1, 7, 8, -1, 172, -1, -1, -1, 14, 177, - 178, 17, 180, 181, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, - 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, - -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, - 29, -1, -1, 32, 33, -1, -1, 36, 104, -1, - -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, - 116, 117, 118, 119, 120, 121, 55, 56, 124, -1, - 59, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, - -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, - -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 104, 172, -1, -1, -1, - -1, 177, 178, -1, 113, 181, 115, 116, 117, 118, - 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - 1, -1, 141, 142, 143, 144, 7, 8, -1, -1, - -1, -1, 151, 14, 153, 154, 155, -1, 157, 158, - 159, 160, 161, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, 172, -1, 36, -1, -1, 177, 178, - -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, - -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, - -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, - 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, - -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, - -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, - 121, 55, 56, 124, -1, 59, -1, 128, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, - 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, - 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 104, 172, -1, -1, -1, -1, 177, 178, -1, 113, - 181, 115, 116, 117, 118, 119, 120, 121, -1, -1, - 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 1, -1, 141, 142, 143, - 144, 7, 8, -1, -1, -1, -1, 151, 14, 153, - 154, 155, -1, 157, 158, 159, 160, 161, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, 172, -1, - 36, -1, -1, 177, 178, -1, -1, 181, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, - 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, - -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, - 29, -1, -1, 32, 33, -1, -1, 36, 104, -1, - -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, - 116, 117, 118, 119, 120, 121, 55, 56, 124, -1, - 59, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, - -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, - -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 104, 172, -1, -1, -1, - -1, 177, 178, -1, 113, 181, 115, 116, 117, 118, - 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - 1, -1, 141, 142, 143, 144, 7, 8, -1, -1, - -1, -1, 151, 14, 153, 154, 155, -1, 157, 158, - 159, 160, 161, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, 172, -1, 36, -1, -1, 177, 178, - -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, - -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, - -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, - 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, - -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, - -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, - 121, 55, 56, 124, -1, 59, -1, 128, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, - 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, - 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 104, 172, -1, -1, -1, -1, 177, 178, -1, 113, - 181, 115, 116, 117, 118, 119, 120, 121, -1, -1, - 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 1, -1, 141, 142, 143, - 144, 7, 8, -1, -1, -1, -1, 151, 14, 153, - 154, 155, -1, 157, 158, 159, 160, 161, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, 172, -1, - 36, -1, -1, 177, 178, -1, -1, 181, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, - 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 55, 56, -1, -1, + 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, - 29, -1, -1, 32, 33, -1, -1, 36, 104, -1, - -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, - 116, 117, 118, 119, 120, 121, 55, 56, 124, -1, - 59, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, - -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, - -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 104, 172, -1, -1, -1, - -1, 177, 178, -1, 113, 181, 115, 116, 117, 118, + 29, -1, -1, 32, 33, 104, -1, 36, -1, -1, + -1, -1, 41, -1, 113, -1, 115, 116, 117, 118, + 119, 120, 121, -1, -1, 124, 55, 56, -1, 128, + 59, -1, -1, 132, -1, -1, -1, -1, -1, -1, + -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, + -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, + 159, 160, 161, -1, -1, -1, -1, -1, -1, -1, + -1, 1136, -1, 172, -1, 104, -1, -1, 177, 178, + -1, -1, 181, 182, 113, -1, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + -1, 130, -1, 132, -1, -1, -1, -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, - -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, - -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, - 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, - -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 55, 56, -1, -1, 59, 1234, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, + -1, -1, -1, 14, -1, -1, 17, -1, -1, -1, + -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, + -1, 32, 33, 104, -1, 36, -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, - 121, 55, 56, 124, -1, 59, -1, 128, -1, -1, + 121, -1, -1, 124, 55, 56, -1, 128, 59, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 104, 172, -1, -1, -1, -1, 177, 178, -1, 113, - 181, 115, 116, 117, 118, 119, 120, 121, -1, -1, - 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, - 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, - 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, - -1, 1, -1, -1, -1, -1, 6, -1, 172, 9, - 10, -1, -1, 177, 178, -1, -1, 181, 18, 19, - 20, 21, -1, -1, -1, -1, 26, 27, -1, -1, - -1, 31, -1, -1, 34, 35, -1, 37, 38, 39, - 40, 41, 42, 43, -1, 45, -1, -1, -1, -1, - -1, -1, -1, 53, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, - -1, -1, -1, 73, 74, 75, 76, 77, -1, -1, - -1, -1, -1, -1, -1, 85, 86, 87, 88, -1, - -1, -1, 92, -1, -1, 95, -1, -1, 98, -1, - -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, - -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 123, -1, -1, 126, 127, -1, 129, - 130, 1, -1, -1, -1, -1, 6, -1, 138, 9, - 10, -1, 142, -1, -1, 145, -1, -1, 18, 19, - 20, 21, -1, -1, -1, -1, 26, 27, -1, -1, - -1, 31, -1, -1, 34, 35, -1, 37, 38, 39, - 40, 41, 42, 43, -1, 45, -1, -1, -1, -1, - 180, -1, -1, 53, -1, 55, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 67, -1, 69, - -1, -1, -1, 73, 74, 75, 76, 77, -1, -1, - -1, -1, -1, -1, -1, 85, 86, 87, 88, -1, - -1, -1, 92, -1, -1, 95, -1, -1, 98, -1, - -1, 101, -1, 103, 104, 105, 106, 107, 108, 109, - -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 123, -1, -1, 126, 127, -1, 129, - 130, -1, -1, -1, -1, -1, -1, -1, 138, -1, - -1, -1, 142, -1, -1, 145, 1, -1, -1, -1, - -1, 6, -1, -1, 9, 10, 11, -1, -1, -1, - 15, -1, -1, 18, 19, -1, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 180, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, -1, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, 96, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, -1, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, 68, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 1, -1, -1, -1, - -1, 6, -1, 138, 9, 10, -1, 142, -1, -1, - 145, -1, -1, 18, 19, 20, 21, -1, -1, -1, - -1, 26, 27, -1, -1, -1, 31, -1, -1, 34, - 35, -1, 37, 38, 39, 40, 41, 42, 43, -1, - 45, -1, -1, -1, -1, 180, -1, -1, 53, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, 74, - 75, 76, 77, -1, -1, -1, -1, -1, -1, -1, - 85, 86, 87, 88, -1, -1, -1, 92, -1, -1, - 95, -1, -1, 98, -1, -1, 101, -1, 103, 104, - 105, 106, 107, 108, 109, -1, 111, -1, -1, 7, - 8, -1, -1, -1, -1, -1, 14, -1, 123, -1, - -1, 126, 127, -1, 129, 130, 24, 25, -1, -1, - 28, 29, -1, 138, 32, 33, -1, 142, 36, -1, - 145, -1, -1, 41, -1, -1, -1, -1, -1, -1, + -1, 172, -1, 104, -1, -1, 177, 178, -1, 180, + 181, -1, 113, -1, 115, 116, 117, 118, 119, 120, + 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, 1, -1, + 141, 142, 143, 144, 7, 8, -1, -1, -1, -1, + 151, 14, 153, 154, 155, -1, 157, 158, 159, 160, + 161, 24, 25, -1, -1, 28, 29, -1, -1, 32, + 33, 172, -1, 36, -1, -1, 177, 178, -1, -1, + 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, + -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, + -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, + -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, + 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, + 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, + 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, + 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, + 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 104, 172, + -1, -1, -1, -1, 177, 178, -1, 113, 181, 115, + 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, + -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, + 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, + -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, + 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, + -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 180, 7, 8, -1, -1, + 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, 56, 124, -1, 59, -1, - 128, -1, 130, -1, 132, 66, -1, -1, -1, -1, + 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, 172, -1, -1, -1, -1, 177, 178, -1, 113, 181, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, - 133, -1, -1, -1, -1, -1, -1, -1, 141, 142, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, 172, -1, -1, -1, -1, 177, 178, -1, 113, 181, 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, - -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, - -1, 157, 158, 159, 160, 161, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 172, -1, -1, -1, - -1, 177, 178, -1, -1, 181 + -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, + 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, + -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, + 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, + -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, + -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, + -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, + 118, 119, 120, 121, 55, 56, 124, -1, 59, -1, + 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, + -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, + 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 104, 172, -1, -1, -1, -1, 177, + 178, -1, 113, 181, 115, 116, 117, 118, 119, 120, + 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, 1, -1, + 141, 142, 143, 144, 7, 8, -1, -1, -1, -1, + 151, 14, 153, 154, 155, -1, 157, 158, 159, 160, + 161, 24, 25, -1, -1, 28, 29, -1, -1, 32, + 33, 172, -1, 36, -1, -1, 177, 178, -1, -1, + 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, + -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, + -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, + -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, + 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, + 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, + 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, + 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, + 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 104, 172, + -1, -1, -1, -1, 177, 178, -1, 113, 181, 115, + 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, + -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, + 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, + -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, + 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, + -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, + 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, + 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, + -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, + 158, 159, 160, 161, -1, -1, -1, 1, -1, -1, + -1, -1, 6, -1, 172, 9, 10, -1, -1, 177, + 178, -1, -1, 181, 18, 19, 20, 21, -1, -1, + -1, -1, 26, 27, -1, -1, -1, 31, -1, -1, + 34, 35, -1, 37, 38, 39, 40, 41, 42, 43, + -1, 45, -1, -1, -1, -1, -1, -1, -1, 53, + -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 67, -1, 69, -1, -1, -1, 73, + 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, + -1, 85, 86, 87, 88, -1, -1, -1, 92, -1, + -1, 95, -1, -1, 98, -1, -1, 101, -1, 103, + 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, + -1, -1, 126, 127, -1, 129, 130, 1, -1, -1, + -1, -1, 6, -1, 138, 9, 10, -1, 142, -1, + -1, 145, -1, -1, 18, 19, 20, 21, -1, -1, + -1, -1, 26, 27, -1, -1, -1, 31, -1, -1, + 34, 35, -1, 37, 38, 39, 40, 41, 42, 43, + -1, 45, -1, -1, -1, -1, 180, -1, -1, 53, + -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 67, -1, 69, -1, -1, -1, 73, + 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, + -1, 85, 86, 87, 88, -1, -1, -1, 92, -1, + -1, 95, -1, -1, 98, -1, -1, 101, -1, 103, + 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, + -1, -1, 126, 127, -1, 129, 130, -1, -1, -1, + -1, -1, -1, -1, 138, -1, -1, -1, 142, -1, + -1, 145, 1, -1, -1, -1, -1, 6, -1, -1, + 9, 10, 11, -1, -1, -1, 15, -1, -1, 18, + 19, -1, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 180, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, -1, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, + 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, + 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, + -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, + 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, + -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, + -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, + -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, + -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, + 109, -1, 111, -1, -1, 7, 8, -1, -1, -1, + -1, -1, 14, -1, 123, -1, -1, 126, 127, -1, + 129, 130, 24, 25, -1, -1, 28, 29, -1, 138, + 32, 33, -1, 142, 36, -1, 145, -1, -1, 41, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 180, 7, 8, -1, -1, -1, -1, -1, 14, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, + 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, + -1, 36, 104, -1, -1, -1, -1, -1, -1, -1, + -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, + 55, 56, 124, -1, 59, -1, 128, -1, 130, -1, + 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, + 142, 143, 144, 78, -1, -1, -1, -1, 83, 151, + -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, + 172, -1, -1, -1, -1, 177, 178, -1, 113, 181, + 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, + -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, + 7, 8, -1, -1, -1, -1, 151, 14, 153, 154, + 155, -1, 157, 158, 159, 160, 161, 24, 25, -1, + -1, 28, 29, -1, -1, 32, 33, 172, -1, 36, + -1, -1, 177, 178, -1, -1, 181, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, + -1, -1, 59, -1, -1, -1, -1, -1, -1, 66, + -1, -1, -1, -1, -1, -1, -1, 7, 8, -1, + -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, + -1, -1, 32, 33, -1, -1, 36, 104, -1, -1, + -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, + 117, 118, 119, 120, 121, 55, 56, 124, -1, 59, + -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, + -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, + 157, 158, 159, 160, 161, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 104, 172, -1, -1, -1, -1, + 177, 178, -1, 113, 181, 115, 116, 117, 118, 119, + 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, + -1, -1, 132, 133, -1, -1, -1, -1, -1, -1, + -1, 141, 142, 143, 144, 7, 8, -1, -1, -1, + -1, 151, 14, 153, 154, 155, -1, 157, 158, 159, + 160, 161, 24, 25, -1, -1, 28, 29, -1, -1, + 32, 33, 172, -1, 36, -1, -1, 177, 178, -1, + -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 104, -1, -1, -1, -1, -1, -1, -1, + -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, + -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, + 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, + -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 172, -1, -1, -1, -1, 177, 178, -1, -1, 181 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2619,124 +2661,125 @@ static const yytype_uint16 yystos[] = 75, 76, 77, 85, 86, 87, 88, 92, 95, 96, 98, 101, 103, 104, 105, 106, 107, 108, 109, 111, 123, 126, 127, 129, 130, 138, 142, 145, 180, 188, - 191, 192, 205, 223, 225, 227, 229, 230, 272, 308, - 319, 322, 324, 330, 335, 342, 345, 348, 351, 352, - 353, 354, 355, 356, 400, 402, 403, 405, 411, 412, - 429, 439, 441, 446, 447, 451, 457, 459, 188, 1, - 142, 188, 54, 142, 232, 233, 1, 39, 142, 290, - 319, 322, 1, 452, 1, 448, 1, 460, 1, 7, + 191, 192, 205, 227, 229, 231, 233, 234, 276, 312, + 323, 326, 328, 334, 339, 346, 349, 352, 355, 356, + 357, 358, 359, 360, 404, 406, 407, 409, 415, 416, + 433, 443, 445, 450, 451, 455, 461, 463, 188, 1, + 142, 188, 54, 142, 236, 237, 1, 39, 142, 294, + 323, 326, 1, 456, 1, 452, 1, 464, 1, 7, 8, 14, 24, 25, 28, 29, 32, 33, 36, 55, 56, 59, 104, 113, 115, 116, 117, 118, 119, 120, 121, 124, 128, 132, 141, 142, 143, 144, 151, 153, 154, 155, 157, 158, 159, 160, 161, 172, 177, 178, - 181, 244, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 261, 263, 266, 1, 142, 1, 142, - 15, 18, 1, 142, 1, 142, 181, 234, 188, 280, - 1, 266, 84, 266, 188, 188, 150, 188, 1, 188, - 282, 188, 1, 6, 129, 188, 188, 188, 15, 18, - 19, 31, 40, 41, 96, 129, 355, 6, 142, 301, - 142, 298, 1, 284, 1, 66, 142, 1, 331, 359, - 323, 1, 142, 1, 84, 181, 281, 401, 1, 15, - 96, 142, 188, 240, 58, 224, 224, 1, 142, 1, - 142, 296, 188, 84, 289, 334, 188, 1, 325, 292, - 20, 69, 268, 268, 1, 35, 181, 350, 1, 350, - 1, 350, 1, 142, 337, 338, 1, 129, 142, 188, - 433, 1, 188, 417, 183, 417, 417, 1, 183, 188, - 295, 416, 1, 266, 267, 413, 415, 1, 275, 1, - 442, 267, 188, 206, 188, 183, 188, 188, 142, 277, - 129, 324, 63, 435, 333, 334, 188, 267, 188, 267, - 20, 35, 150, 461, 462, 463, 473, 53, 67, 68, - 69, 74, 347, 349, 234, 181, 181, 181, 181, 181, - 181, 181, 181, 234, 181, 251, 181, 181, 181, 181, + 181, 248, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 265, 267, 270, 1, 142, 1, 142, + 15, 18, 1, 142, 1, 142, 181, 238, 188, 284, + 1, 270, 84, 270, 188, 188, 150, 188, 1, 188, + 286, 188, 1, 6, 129, 188, 188, 188, 15, 18, + 19, 31, 40, 41, 96, 129, 359, 6, 142, 305, + 142, 302, 1, 288, 1, 66, 142, 1, 335, 363, + 327, 1, 142, 1, 84, 181, 285, 405, 1, 15, + 96, 142, 188, 244, 58, 228, 228, 1, 142, 1, + 142, 300, 188, 84, 293, 338, 188, 1, 329, 296, + 20, 69, 272, 272, 1, 35, 181, 354, 1, 354, + 1, 354, 1, 142, 341, 342, 1, 129, 142, 188, + 437, 1, 188, 421, 183, 421, 421, 1, 183, 188, + 299, 420, 1, 270, 271, 417, 419, 1, 279, 1, + 446, 271, 188, 206, 188, 183, 188, 188, 142, 281, + 129, 328, 63, 439, 337, 338, 188, 271, 188, 271, + 20, 35, 150, 465, 466, 467, 477, 53, 67, 68, + 69, 74, 351, 353, 238, 181, 181, 181, 181, 181, + 181, 181, 181, 238, 181, 255, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 251, 251, - 251, 267, 58, 174, 175, 176, 172, 173, 162, 163, + 181, 181, 181, 181, 181, 181, 181, 181, 255, 255, + 255, 271, 58, 174, 175, 176, 172, 173, 162, 163, 60, 61, 65, 170, 171, 62, 169, 168, 167, 166, - 63, 64, 184, 66, 347, 188, 188, 188, 440, 22, - 22, 188, 188, 182, 188, 1, 267, 418, 68, 68, - 50, 142, 188, 188, 188, 267, 188, 91, 103, 134, - 142, 142, 15, 18, 1, 357, 188, 183, 183, 303, - 183, 183, 300, 188, 267, 188, 142, 20, 74, 142, - 366, 188, 183, 188, 320, 321, 1, 288, 52, 60, - 61, 71, 79, 80, 146, 147, 148, 164, 165, 420, - 421, 407, 408, 188, 242, 241, 243, 231, 268, 231, - 188, 226, 188, 228, 75, 81, 82, 83, 99, 100, - 309, 311, 312, 318, 305, 50, 142, 305, 188, 305, - 20, 41, 130, 328, 329, 437, 268, 1, 67, 188, - 432, 276, 6, 34, 35, 40, 101, 269, 272, 344, - 20, 188, 57, 149, 221, 266, 273, 188, 337, 188, - 337, 188, 339, 183, 188, 188, 188, 188, 188, 404, - 188, 413, 413, 188, 267, 183, 416, 188, 337, 188, - 267, 1, 183, 278, 207, 222, 267, 233, 293, 52, - 291, 266, 53, 306, 435, 453, 449, 34, 35, 37, - 53, 67, 74, 479, 1, 221, 464, 20, 462, 182, - 182, 266, 267, 266, 266, 266, 266, 266, 267, 267, - 267, 1, 142, 182, 267, 266, 266, 266, 1, 142, - 1, 142, 1, 50, 51, 142, 267, 245, 266, 266, - 266, 266, 266, 266, 266, 267, 267, 182, 55, 59, - 250, 250, 250, 251, 251, 252, 252, 253, 253, 253, - 253, 253, 254, 254, 255, 256, 257, 260, 262, 264, - 263, 183, 455, 456, 142, 142, 188, 1, 188, 419, - 283, 188, 188, 267, 286, 287, 22, 22, 20, 142, - 302, 266, 188, 299, 266, 188, 285, 360, 406, 50, - 142, 188, 246, 247, 248, 267, 418, 267, 409, 410, - 188, 188, 188, 20, 181, 235, 235, 316, 314, 313, - 315, 297, 53, 74, 188, 310, 312, 78, 305, 438, - 366, 267, 20, 188, 188, 268, 1, 70, 1, 70, - 1, 70, 15, 18, 70, 73, 343, 346, 1, 37, - 53, 188, 434, 182, 337, 188, 188, 340, 420, 338, - 409, 416, 416, 414, 188, 443, 188, 142, 188, 458, + 63, 64, 184, 66, 351, 188, 188, 188, 444, 22, + 22, 188, 188, 182, 188, 1, 271, 422, 68, 68, + 50, 142, 188, 188, 188, 271, 188, 91, 103, 134, + 142, 142, 15, 18, 1, 361, 188, 183, 183, 307, + 183, 183, 304, 188, 271, 188, 142, 20, 74, 142, + 370, 188, 183, 188, 324, 325, 1, 292, 52, 60, + 61, 71, 79, 80, 146, 147, 148, 164, 165, 424, + 425, 411, 412, 188, 246, 245, 247, 235, 272, 235, + 188, 230, 188, 232, 75, 81, 82, 83, 99, 100, + 313, 315, 316, 322, 309, 50, 142, 309, 188, 309, + 20, 41, 130, 332, 333, 441, 272, 1, 67, 188, + 436, 280, 6, 34, 35, 40, 101, 273, 276, 348, + 20, 188, 57, 149, 225, 270, 277, 188, 341, 188, + 341, 188, 343, 183, 188, 188, 188, 188, 188, 408, + 188, 417, 417, 188, 271, 183, 420, 188, 341, 188, + 271, 1, 183, 282, 207, 226, 271, 237, 297, 52, + 295, 270, 53, 310, 439, 457, 453, 34, 35, 37, + 53, 67, 74, 483, 1, 225, 468, 20, 466, 182, + 182, 270, 271, 270, 270, 270, 270, 270, 271, 271, + 271, 1, 142, 182, 271, 270, 270, 270, 1, 142, + 1, 142, 1, 50, 51, 142, 271, 249, 270, 270, + 270, 270, 270, 270, 270, 271, 271, 182, 55, 59, + 254, 254, 254, 255, 255, 256, 256, 257, 257, 257, + 257, 257, 258, 258, 259, 260, 261, 264, 266, 268, + 267, 183, 459, 460, 142, 142, 188, 1, 188, 423, + 287, 188, 188, 271, 290, 291, 22, 22, 20, 142, + 306, 270, 188, 303, 270, 188, 289, 364, 410, 50, + 142, 188, 250, 251, 252, 271, 422, 271, 413, 414, + 188, 188, 188, 20, 181, 239, 239, 320, 318, 317, + 319, 301, 53, 74, 188, 314, 316, 78, 309, 442, + 370, 271, 20, 188, 188, 272, 1, 70, 1, 70, + 1, 70, 15, 18, 70, 73, 347, 350, 1, 37, + 53, 188, 438, 182, 341, 188, 188, 344, 424, 342, + 413, 420, 420, 418, 188, 447, 188, 142, 188, 462, 3, 4, 5, 35, 46, 47, 48, 49, 50, 51, - 89, 133, 134, 208, 209, 210, 455, 1, 267, 422, - 435, 307, 306, 183, 183, 188, 20, 474, 84, 1, - 34, 188, 478, 182, 183, 183, 182, 182, 183, 182, + 89, 133, 134, 208, 209, 210, 459, 1, 271, 426, + 439, 311, 310, 183, 183, 188, 20, 478, 84, 1, + 34, 188, 482, 182, 183, 183, 182, 182, 183, 182, 1, 182, 183, 183, 182, 182, 182, 182, 182, 183, 182, 183, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 183, 246, 183, 182, 182, 182, 182, 182, 183, - 182, 182, 55, 63, 258, 259, 263, 142, 188, 456, - 196, 194, 188, 188, 188, 47, 89, 397, 16, 17, - 21, 22, 44, 89, 90, 91, 103, 387, 142, 142, - 358, 142, 304, 267, 188, 222, 361, 362, 363, 364, - 436, 437, 407, 182, 183, 183, 18, 19, 31, 41, - 105, 129, 182, 236, 237, 238, 86, 94, 95, 152, - 239, 266, 266, 266, 266, 268, 317, 267, 326, 180, - 1, 74, 188, 430, 20, 188, 188, 271, 188, 270, - 188, 1, 1, 188, 1, 266, 268, 188, 188, 188, - 350, 188, 341, 415, 183, 279, 133, 222, 222, 222, - 49, 221, 213, 221, 221, 222, 188, 210, 435, 53, - 188, 428, 30, 425, 268, 306, 268, 267, 267, 479, - 84, 476, 142, 188, 188, 266, 266, 266, 182, 142, - 266, 266, 266, 267, 182, 266, 266, 253, 185, 1, - 181, 201, 1, 181, 197, 266, 266, 188, 391, 390, - 389, 74, 388, 392, 188, 195, 193, 361, 183, 180, - 368, 366, 1, 84, 188, 336, 248, 410, 181, 182, - 183, 142, 238, 20, 266, 188, 370, 367, 368, 188, - 188, 432, 268, 221, 188, 188, 68, 68, 274, 267, - 267, 458, 142, 213, 212, 122, 125, 214, 211, 53, - 423, 183, 426, 427, 20, 20, 454, 450, 188, 142, - 268, 465, 182, 182, 182, 182, 182, 183, 182, 182, - 182, 183, 182, 182, 265, 188, 142, 202, 203, 188, - 141, 198, 199, 398, 393, 394, 395, 393, 267, 266, - 393, 201, 197, 266, 16, 17, 20, 22, 44, 72, - 89, 90, 369, 365, 188, 1, 50, 142, 221, 237, - 1, 53, 188, 431, 129, 142, 332, 20, 20, 268, - 337, 444, 30, 215, 215, 294, 267, 267, 53, 427, - 431, 431, 455, 455, 475, 82, 472, 266, 266, 263, - 204, 182, 183, 200, 182, 183, 30, 399, 183, 266, - 1, 129, 141, 143, 185, 380, 381, 1, 129, 143, - 372, 373, 1, 17, 371, 1, 129, 141, 143, 185, - 375, 376, 370, 370, 370, 367, 188, 188, 188, 182, - 188, 188, 327, 478, 20, 188, 183, 221, 103, 216, - 216, 268, 424, 188, 188, 20, 221, 81, 182, 182, - 221, 188, 203, 221, 188, 199, 266, 394, 396, 188, - 382, 383, 384, 183, 370, 188, 374, 183, 370, 188, - 221, 188, 377, 378, 379, 183, 370, 333, 1, 35, - 188, 477, 267, 221, 75, 217, 20, 53, 477, 221, - 142, 7, 36, 142, 385, 386, 385, 385, 381, 385, - 373, 370, 385, 385, 385, 376, 188, 188, 445, 221, - 431, 466, 110, 183, 218, 93, 142, 68, 219, 467, - 188, 85, 142, 268, 181, 468, 220, 68, 246, 469, - 182, 268, 470, 20, 1, 150, 188, 471, 188, 188 + 182, 183, 250, 183, 182, 182, 182, 182, 182, 183, + 182, 182, 55, 63, 262, 263, 267, 142, 188, 460, + 196, 194, 188, 188, 188, 47, 89, 401, 16, 17, + 21, 22, 44, 89, 90, 91, 103, 391, 142, 142, + 362, 142, 308, 271, 188, 226, 365, 366, 367, 368, + 440, 441, 411, 182, 183, 183, 18, 19, 31, 41, + 105, 129, 182, 240, 241, 242, 86, 94, 95, 152, + 243, 270, 270, 270, 270, 272, 321, 271, 330, 180, + 1, 74, 188, 434, 20, 188, 188, 275, 188, 274, + 188, 1, 1, 188, 1, 270, 272, 188, 188, 188, + 354, 188, 345, 419, 183, 283, 133, 226, 226, 226, + 49, 225, 213, 225, 225, 226, 188, 210, 439, 53, + 188, 432, 30, 429, 272, 310, 272, 271, 271, 483, + 84, 480, 142, 188, 188, 270, 270, 270, 182, 142, + 270, 270, 270, 271, 182, 270, 270, 257, 185, 1, + 181, 201, 1, 181, 197, 270, 270, 188, 395, 394, + 393, 74, 392, 396, 188, 195, 193, 365, 183, 180, + 372, 370, 1, 84, 188, 340, 252, 414, 181, 182, + 183, 142, 242, 20, 270, 188, 374, 371, 372, 188, + 188, 436, 272, 225, 188, 188, 68, 68, 278, 271, + 271, 462, 142, 213, 212, 122, 125, 214, 211, 53, + 427, 183, 430, 431, 20, 20, 458, 454, 188, 142, + 272, 469, 182, 182, 182, 182, 182, 183, 182, 182, + 182, 183, 182, 182, 269, 188, 142, 202, 203, 188, + 141, 198, 199, 402, 397, 398, 399, 397, 271, 270, + 397, 201, 197, 270, 16, 17, 20, 22, 44, 72, + 89, 90, 373, 369, 188, 1, 50, 142, 225, 241, + 1, 53, 188, 435, 129, 142, 336, 20, 20, 272, + 341, 448, 30, 215, 215, 298, 271, 271, 53, 431, + 435, 435, 459, 459, 479, 82, 476, 270, 270, 267, + 204, 182, 183, 200, 182, 183, 30, 403, 183, 270, + 1, 129, 141, 143, 185, 384, 385, 1, 129, 143, + 376, 377, 1, 17, 375, 1, 129, 141, 143, 185, + 379, 380, 374, 374, 374, 371, 188, 188, 188, 182, + 188, 188, 331, 482, 20, 188, 183, 225, 216, 216, + 272, 428, 188, 188, 20, 225, 81, 182, 182, 225, + 188, 203, 225, 188, 199, 270, 398, 400, 188, 386, + 387, 388, 183, 374, 188, 378, 183, 374, 188, 225, + 188, 381, 382, 383, 183, 374, 337, 1, 35, 188, + 481, 271, 75, 103, 217, 218, 219, 220, 221, 20, + 53, 481, 225, 142, 7, 36, 142, 389, 390, 389, + 389, 385, 389, 377, 374, 389, 389, 389, 380, 188, + 188, 449, 225, 78, 83, 225, 435, 470, 110, 183, + 222, 225, 225, 93, 142, 68, 223, 471, 188, 85, + 142, 272, 181, 472, 224, 68, 250, 473, 182, 272, + 474, 20, 1, 150, 188, 475, 188, 188 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -2748,68 +2791,69 @@ static const yytype_uint16 yyr1[] = 202, 202, 204, 203, 206, 205, 205, 207, 207, 208, 208, 209, 209, 210, 210, 210, 210, 210, 210, 210, 211, 210, 210, 212, 210, 210, 210, 210, 210, 213, - 213, 214, 214, 215, 215, 216, 216, 217, 218, 217, - 219, 219, 220, 219, 221, 222, 223, 223, 224, 224, - 225, 226, 225, 227, 228, 227, 229, 229, 230, 230, - 231, 232, 232, 233, 234, 234, 235, 235, 235, 236, - 236, 237, 238, 238, 238, 238, 238, 238, 238, 239, - 239, 239, 239, 240, 241, 240, 242, 240, 243, 240, - 240, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 245, 244, 244, - 244, 244, 244, 244, 246, 246, 247, 247, 248, 249, - 249, 249, 250, 250, 250, 250, 250, 251, 251, 251, - 251, 252, 252, 252, 253, 253, 253, 254, 254, 254, - 254, 254, 254, 255, 255, 255, 256, 256, 257, 257, - 258, 258, 259, 260, 259, 261, 262, 261, 263, 264, - 265, 263, 266, 266, 267, 267, 268, 268, 269, 269, - 270, 269, 269, 271, 269, 269, 269, 269, 269, 269, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 273, 272, 274, 272, 272, 275, 272, 272, 272, 272, - 276, 272, 277, 272, 272, 278, 272, 279, 272, 272, - 280, 272, 281, 272, 272, 282, 283, 272, 272, 284, - 285, 272, 272, 272, 286, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 287, 272, 272, 288, 272, 272, - 272, 272, 272, 289, 272, 272, 272, 290, 291, 272, - 272, 292, 272, 272, 272, 293, 294, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 295, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 296, 297, 272, 272, 272, 299, 298, - 300, 300, 302, 301, 303, 304, 303, 305, 307, 306, - 308, 308, 309, 310, 310, 310, 311, 311, 313, 312, - 314, 312, 315, 312, 316, 312, 317, 312, 318, 318, - 318, 319, 320, 319, 321, 319, 323, 322, 325, 326, - 327, 324, 324, 328, 329, 328, 331, 330, 332, 332, - 332, 333, 333, 334, 334, 335, 335, 335, 336, 336, - 336, 336, 336, 337, 337, 339, 338, 340, 341, 340, - 342, 343, 344, 344, 345, 345, 346, 346, 347, 347, - 348, 348, 348, 349, 349, 349, 350, 350, 350, 351, - 351, 352, 352, 353, 353, 354, 354, 355, 355, 355, - 357, 358, 356, 356, 359, 360, 356, 356, 361, 361, - 363, 362, 365, 364, 366, 367, 368, 368, 369, 369, - 369, 369, 369, 369, 369, 369, 369, 369, 369, 370, - 370, 371, 371, 372, 372, 374, 373, 373, 375, 375, - 377, 376, 378, 376, 379, 376, 376, 380, 380, 382, - 381, 383, 381, 384, 381, 381, 385, 386, 386, 386, - 386, 387, 387, 387, 387, 388, 387, 387, 389, 387, - 390, 387, 391, 387, 392, 387, 393, 393, 395, 396, - 394, 397, 398, 397, 399, 399, 401, 400, 402, 402, - 404, 403, 406, 405, 408, 407, 409, 409, 410, 411, - 411, 412, 412, 413, 414, 413, 415, 416, 417, 418, - 418, 419, 419, 420, 420, 420, 420, 420, 420, 421, - 421, 421, 421, 421, 421, 423, 424, 422, 425, 422, - 422, 426, 426, 427, 428, 428, 429, 429, 430, 430, - 430, 431, 431, 431, 432, 432, 432, 433, 433, 433, - 433, 434, 434, 434, 434, 435, 435, 436, 436, 437, - 438, 437, 440, 439, 439, 442, 443, 444, 445, 441, - 441, 446, 446, 448, 449, 450, 447, 447, 452, 453, - 454, 451, 451, 455, 455, 456, 457, 458, 460, 459, - 459, 461, 461, 462, 462, 464, 465, 466, 467, 468, - 469, 470, 463, 471, 471, 471, 472, 472, 474, 475, - 473, 473, 476, 476, 477, 477, 477, 478, 478, 478, - 479, 479, 479, 479, 479, 479, 479 + 213, 214, 214, 215, 215, 216, 216, 217, 217, 217, + 218, 219, 220, 221, 222, 221, 223, 223, 224, 223, + 225, 226, 227, 227, 228, 228, 229, 230, 229, 231, + 232, 231, 233, 233, 234, 234, 235, 236, 236, 237, + 238, 238, 239, 239, 239, 240, 240, 241, 242, 242, + 242, 242, 242, 242, 242, 243, 243, 243, 243, 244, + 245, 244, 246, 244, 247, 244, 244, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, + 248, 248, 248, 249, 248, 248, 248, 248, 248, 248, + 250, 250, 251, 251, 252, 253, 253, 253, 254, 254, + 254, 254, 254, 255, 255, 255, 255, 256, 256, 256, + 257, 257, 257, 258, 258, 258, 258, 258, 258, 259, + 259, 259, 260, 260, 261, 261, 262, 262, 263, 264, + 263, 265, 266, 265, 267, 268, 269, 267, 270, 270, + 271, 271, 272, 272, 273, 273, 274, 273, 273, 275, + 273, 273, 273, 273, 273, 273, 276, 276, 276, 276, + 276, 276, 276, 276, 276, 276, 277, 276, 278, 276, + 276, 279, 276, 276, 276, 276, 280, 276, 281, 276, + 276, 282, 276, 283, 276, 276, 284, 276, 285, 276, + 276, 286, 287, 276, 276, 288, 289, 276, 276, 276, + 290, 276, 276, 276, 276, 276, 276, 276, 276, 276, + 291, 276, 276, 292, 276, 276, 276, 276, 276, 293, + 276, 276, 276, 294, 295, 276, 276, 296, 276, 276, + 276, 297, 298, 276, 276, 276, 276, 276, 276, 276, + 276, 276, 276, 276, 276, 299, 276, 276, 276, 276, + 276, 276, 276, 276, 276, 276, 276, 276, 276, 300, + 301, 276, 276, 276, 303, 302, 304, 304, 306, 305, + 307, 308, 307, 309, 311, 310, 312, 312, 313, 314, + 314, 314, 315, 315, 317, 316, 318, 316, 319, 316, + 320, 316, 321, 316, 322, 322, 322, 323, 324, 323, + 325, 323, 327, 326, 329, 330, 331, 328, 328, 332, + 333, 332, 335, 334, 336, 336, 336, 337, 337, 338, + 338, 339, 339, 339, 340, 340, 340, 340, 340, 341, + 341, 343, 342, 344, 345, 344, 346, 347, 348, 348, + 349, 349, 350, 350, 351, 351, 352, 352, 352, 353, + 353, 353, 354, 354, 354, 355, 355, 356, 356, 357, + 357, 358, 358, 359, 359, 359, 361, 362, 360, 360, + 363, 364, 360, 360, 365, 365, 367, 366, 369, 368, + 370, 371, 372, 372, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 374, 374, 375, 375, 376, + 376, 378, 377, 377, 379, 379, 381, 380, 382, 380, + 383, 380, 380, 384, 384, 386, 385, 387, 385, 388, + 385, 385, 389, 390, 390, 390, 390, 391, 391, 391, + 391, 392, 391, 391, 393, 391, 394, 391, 395, 391, + 396, 391, 397, 397, 399, 400, 398, 401, 402, 401, + 403, 403, 405, 404, 406, 406, 408, 407, 410, 409, + 412, 411, 413, 413, 414, 415, 415, 416, 416, 417, + 418, 417, 419, 420, 421, 422, 422, 423, 423, 424, + 424, 424, 424, 424, 424, 425, 425, 425, 425, 425, + 425, 427, 428, 426, 429, 426, 426, 430, 430, 431, + 432, 432, 433, 433, 434, 434, 434, 435, 435, 435, + 436, 436, 436, 437, 437, 437, 437, 438, 438, 438, + 438, 439, 439, 440, 440, 441, 442, 441, 444, 443, + 443, 446, 447, 448, 449, 445, 445, 450, 450, 452, + 453, 454, 451, 451, 456, 457, 458, 455, 455, 459, + 459, 460, 461, 462, 464, 463, 463, 465, 465, 466, + 466, 468, 469, 470, 471, 472, 473, 474, 467, 475, + 475, 475, 476, 476, 478, 479, 477, 477, 480, 480, + 481, 481, 481, 482, 482, 482, 483, 483, 483, 483, + 483, 483, 483 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -2821,68 +2865,69 @@ static const yytype_uint8 yyr2[] = 1, 3, 0, 3, 0, 6, 3, 0, 1, 0, 1, 1, 2, 2, 2, 2, 2, 3, 1, 1, 0, 5, 2, 0, 6, 1, 2, 3, 1, 0, - 2, 1, 1, 0, 2, 0, 2, 0, 0, 4, - 0, 2, 0, 6, 1, 1, 3, 3, 0, 1, - 3, 0, 6, 3, 0, 5, 2, 1, 2, 1, - 2, 1, 3, 1, 0, 2, 0, 2, 3, 1, - 3, 2, 1, 1, 1, 4, 1, 1, 1, 0, - 1, 1, 1, 1, 0, 3, 0, 3, 0, 3, - 2, 1, 1, 1, 1, 1, 6, 6, 4, 6, - 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, - 6, 8, 6, 8, 4, 4, 4, 4, 6, 5, - 4, 4, 6, 6, 4, 6, 4, 4, 4, 4, - 4, 4, 4, 4, 3, 4, 4, 0, 5, 3, - 3, 2, 2, 3, 0, 1, 1, 3, 1, 1, - 3, 4, 1, 2, 2, 2, 2, 1, 3, 3, - 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, - 3, 3, 5, 1, 3, 3, 1, 3, 1, 3, - 1, 3, 1, 0, 4, 1, 0, 4, 1, 0, - 0, 7, 1, 3, 1, 2, 0, 2, 1, 3, - 0, 7, 3, 0, 6, 3, 3, 3, 4, 4, - 1, 2, 2, 2, 3, 3, 4, 3, 4, 3, - 0, 5, 0, 8, 3, 0, 4, 3, 4, 3, - 0, 6, 0, 8, 3, 0, 4, 0, 6, 4, - 0, 3, 0, 4, 2, 0, 0, 5, 3, 0, - 0, 5, 3, 3, 0, 6, 5, 4, 4, 3, - 2, 2, 2, 3, 0, 6, 3, 0, 6, 4, - 2, 3, 4, 0, 3, 3, 4, 0, 0, 6, - 5, 0, 5, 3, 3, 0, 0, 11, 1, 1, - 1, 1, 2, 3, 2, 3, 2, 3, 2, 0, - 4, 4, 3, 3, 3, 2, 3, 3, 2, 3, - 2, 4, 4, 0, 0, 7, 3, 2, 0, 4, - 0, 2, 0, 4, 0, 0, 5, 0, 0, 5, - 1, 1, 2, 1, 1, 1, 1, 2, 0, 3, - 0, 3, 0, 3, 0, 3, 0, 4, 0, 1, - 1, 1, 0, 4, 0, 4, 0, 3, 0, 0, - 0, 9, 3, 1, 0, 3, 0, 3, 0, 1, - 1, 0, 1, 2, 2, 1, 3, 3, 1, 3, - 3, 3, 2, 1, 3, 0, 3, 0, 0, 3, - 3, 2, 0, 2, 3, 3, 3, 3, 1, 1, - 3, 3, 3, 1, 1, 1, 0, 2, 2, 2, - 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, - 0, 0, 6, 4, 0, 0, 5, 3, 1, 1, - 0, 3, 0, 4, 0, 2, 0, 2, 3, 3, - 3, 3, 3, 3, 2, 2, 2, 4, 3, 0, - 1, 0, 1, 1, 3, 0, 3, 1, 1, 3, - 0, 3, 0, 3, 0, 3, 1, 1, 3, 0, - 3, 0, 3, 0, 3, 1, 1, 1, 1, 1, - 2, 1, 1, 1, 2, 0, 3, 1, 0, 3, - 0, 3, 0, 3, 0, 3, 1, 3, 0, 0, - 4, 2, 0, 4, 0, 2, 0, 3, 3, 2, - 0, 4, 0, 5, 0, 2, 1, 3, 1, 2, - 2, 1, 1, 1, 0, 4, 1, 1, 1, 2, - 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 6, 0, 4, - 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, - 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, - 2, 1, 2, 2, 2, 0, 2, 1, 2, 1, - 0, 4, 0, 5, 3, 0, 0, 0, 0, 13, - 3, 1, 1, 0, 0, 0, 9, 3, 0, 0, - 0, 9, 3, 1, 2, 2, 1, 1, 0, 5, - 5, 1, 2, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 19, 1, 2, 2, 0, 2, 0, 0, - 8, 5, 0, 2, 1, 2, 2, 1, 2, 2, - 0, 1, 1, 1, 1, 1, 1 + 2, 1, 1, 0, 2, 0, 2, 1, 1, 1, + 3, 3, 2, 0, 0, 4, 0, 2, 0, 6, + 1, 1, 3, 3, 0, 1, 3, 0, 6, 3, + 0, 5, 2, 1, 2, 1, 2, 1, 3, 1, + 0, 2, 0, 2, 3, 1, 3, 2, 1, 1, + 1, 4, 1, 1, 1, 0, 1, 1, 1, 1, + 0, 3, 0, 3, 0, 3, 2, 1, 1, 1, + 1, 1, 6, 6, 4, 6, 4, 4, 4, 4, + 4, 4, 4, 4, 6, 4, 6, 8, 6, 8, + 4, 4, 4, 4, 6, 5, 4, 4, 6, 6, + 4, 6, 4, 4, 4, 4, 4, 4, 4, 4, + 3, 4, 4, 0, 5, 3, 3, 2, 2, 3, + 0, 1, 1, 3, 1, 1, 3, 4, 1, 2, + 2, 2, 2, 1, 3, 3, 3, 1, 3, 3, + 1, 3, 3, 1, 3, 3, 3, 3, 5, 1, + 3, 3, 1, 3, 1, 3, 1, 3, 1, 0, + 4, 1, 0, 4, 1, 0, 0, 7, 1, 3, + 1, 2, 0, 2, 1, 3, 0, 7, 3, 0, + 6, 3, 3, 3, 4, 4, 1, 2, 2, 2, + 3, 3, 4, 3, 4, 3, 0, 5, 0, 8, + 3, 0, 4, 3, 4, 3, 0, 6, 0, 8, + 3, 0, 4, 0, 6, 4, 0, 3, 0, 4, + 2, 0, 0, 5, 3, 0, 0, 5, 3, 3, + 0, 6, 5, 4, 4, 3, 2, 2, 2, 3, + 0, 6, 3, 0, 6, 4, 2, 3, 4, 0, + 3, 3, 4, 0, 0, 6, 5, 0, 5, 3, + 3, 0, 0, 11, 1, 1, 1, 1, 2, 3, + 2, 3, 2, 3, 2, 0, 4, 4, 3, 3, + 3, 2, 3, 3, 2, 3, 2, 4, 4, 0, + 0, 7, 3, 2, 0, 4, 0, 2, 0, 4, + 0, 0, 5, 0, 0, 5, 1, 1, 2, 1, + 1, 1, 1, 2, 0, 3, 0, 3, 0, 3, + 0, 3, 0, 4, 0, 1, 1, 1, 0, 4, + 0, 4, 0, 3, 0, 0, 0, 9, 3, 1, + 0, 3, 0, 3, 0, 1, 1, 0, 1, 2, + 2, 1, 3, 3, 1, 3, 3, 3, 2, 1, + 3, 0, 3, 0, 0, 3, 3, 2, 0, 2, + 3, 3, 3, 3, 1, 1, 3, 3, 3, 1, + 1, 1, 0, 2, 2, 2, 1, 2, 1, 2, + 1, 2, 1, 1, 1, 1, 0, 0, 6, 4, + 0, 0, 5, 3, 1, 1, 0, 3, 0, 4, + 0, 2, 0, 2, 3, 3, 3, 3, 3, 3, + 2, 2, 2, 4, 3, 0, 1, 0, 1, 1, + 3, 0, 3, 1, 1, 3, 0, 3, 0, 3, + 0, 3, 1, 1, 3, 0, 3, 0, 3, 0, + 3, 1, 1, 1, 1, 1, 2, 1, 1, 1, + 2, 0, 3, 1, 0, 3, 0, 3, 0, 3, + 0, 3, 1, 3, 0, 0, 4, 2, 0, 4, + 0, 2, 0, 3, 3, 2, 0, 4, 0, 5, + 0, 2, 1, 3, 1, 2, 2, 1, 1, 1, + 0, 4, 1, 1, 1, 2, 2, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 6, 0, 4, 2, 1, 2, 2, + 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, + 1, 2, 2, 1, 2, 2, 2, 1, 2, 2, + 2, 0, 2, 1, 2, 1, 0, 4, 0, 5, + 3, 0, 0, 0, 0, 13, 3, 1, 1, 0, + 0, 0, 9, 3, 0, 0, 0, 9, 3, 1, + 2, 2, 1, 1, 0, 5, 5, 1, 2, 1, + 1, 0, 0, 0, 0, 0, 0, 0, 19, 1, + 2, 2, 0, 2, 0, 0, 8, 5, 0, 2, + 1, 2, 2, 1, 2, 2, 0, 1, 1, 1, + 1, 1, 1 }; @@ -3565,47 +3610,47 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 539 "rwlparser.y" /* yacc.c:1646 */ +#line 540 "rwlparser.y" /* yacc.c:1646 */ { ; // we are done! } -#line 3573 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3618 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 3: -#line 545 "rwlparser.y" /* yacc.c:1646 */ +#line 546 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) YYABORT; } -#line 3579 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3624 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 5: -#line 551 "rwlparser.y" /* yacc.c:1646 */ +#line 552 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3589 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3634 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 6: -#line 557 "rwlparser.y" /* yacc.c:1646 */ +#line 558 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3599 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3644 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 10: -#line 572 "rwlparser.y" /* yacc.c:1646 */ +#line 573 "rwlparser.y" /* yacc.c:1646 */ { rwlprintallvars(rwm); } -#line 3605 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3650 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 13: -#line 583 "rwlparser.y" /* yacc.c:1646 */ +#line 584 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) rwlcodetail(rwm); @@ -3620,11 +3665,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->codename = 0; // we are no longer compiling code rwm->codeguess = RWL_VAR_NOGUESS; } -#line 3624 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3669 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 14: -#line 599 "rwlparser.y" /* yacc.c:1646 */ +#line 600 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3632,22 +3677,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3636 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3681 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 16: -#line 608 "rwlparser.y" /* yacc.c:1646 */ +#line 609 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3647 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3692 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 18: -#line 616 "rwlparser.y" /* yacc.c:1646 */ +#line 617 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3655,83 +3700,83 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3659 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3704 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 20: -#line 625 "rwlparser.y" /* yacc.c:1646 */ +#line 626 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3669 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3714 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 22: -#line 636 "rwlparser.y" /* yacc.c:1646 */ +#line 637 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3677 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3722 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 23: -#line 640 "rwlparser.y" /* yacc.c:1646 */ +#line 641 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAST); yyerrok; } -#line 3688 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3733 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 26: -#line 653 "rwlparser.y" /* yacc.c:1646 */ +#line 654 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->sval; } -#line 3694 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3739 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 27: -#line 655 "rwlparser.y" /* yacc.c:1646 */ +#line 656 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3700 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3745 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 28: -#line 661 "rwlparser.y" /* yacc.c:1646 */ +#line 662 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3708 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3753 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 29: -#line 665 "rwlparser.y" /* yacc.c:1646 */ +#line 666 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAPROC); yyerrok; } -#line 3719 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3764 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 32: -#line 677 "rwlparser.y" /* yacc.c:1646 */ +#line 678 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->inam; } -#line 3725 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3770 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 33: -#line 679 "rwlparser.y" /* yacc.c:1646 */ +#line 680 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3731 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3776 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 34: -#line 684 "rwlparser.y" /* yacc.c:1646 */ +#line 685 "rwlparser.y" /* yacc.c:1646 */ { // add identifier sb4 ld = rwladdvar(rwm, rwm->inam, RWL_TYPE_DB, 0); @@ -3748,11 +3793,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m2flags, RWL_P2_SOMEEXPFAIL); } -#line 3752 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3797 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 35: -#line 701 "rwlparser.y" /* yacc.c:1646 */ +#line 702 "rwlparser.y" /* yacc.c:1646 */ { // fix core dump, only call builddb if everything fine if (bit(rwm->m2flags, RWL_P2_SOMEEXPFAIL)) @@ -3808,17 +3853,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m3flags, RWL_P3_GENERATE_OK); } } -#line 3812 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3857 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 36: -#line 757 "rwlparser.y" /* yacc.c:1646 */ +#line 758 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DATABASE_WRONG); yyerrok; } -#line 3818 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3863 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 38: -#line 763 "rwlparser.y" /* yacc.c:1646 */ +#line 764 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3828,11 +3873,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3832 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3877 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 43: -#line 783 "rwlparser.y" /* yacc.c:1646 */ +#line 784 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3842,20 +3887,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3846 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3891 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 44: -#line 793 "rwlparser.y" /* yacc.c:1646 */ +#line 794 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) rwm->dbsav->password = rwlstrdup(rwm, rwm->pval.sval); } -#line 3855 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3900 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 45: -#line 798 "rwlparser.y" /* yacc.c:1646 */ +#line 799 "rwlparser.y" /* yacc.c:1646 */ { if (rwlcclassgood(rwm, (rwm->pval.sval))) { @@ -3863,11 +3908,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->cclass = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3867 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3912 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 46: -#line 806 "rwlparser.y" /* yacc.c:1646 */ +#line 807 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3880,11 +3925,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3884 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3929 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 47: -#line 819 "rwlparser.y" /* yacc.c:1646 */ +#line 820 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3915,11 +3960,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3919 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3964 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 48: -#line 850 "rwlparser.y" /* yacc.c:1646 */ +#line 851 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "results", rwm->resdb); @@ -3930,11 +3975,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->resdb = rwm->dbname; } } -#line 3934 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3979 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 49: -#line 861 "rwlparser.y" /* yacc.c:1646 */ +#line 862 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "default", rwm->defdb); @@ -3945,11 +3990,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->defdb = rwm->dbname; } } -#line 3949 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3994 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 50: -#line 872 "rwlparser.y" /* yacc.c:1646 */ +#line 873 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3963,11 +4008,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"connectionpool max size"; } } -#line 3967 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4012 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 52: -#line 888 "rwlparser.y" /* yacc.c:1646 */ +#line 889 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3976,11 +4021,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags, RWL_DB_CCACHUSER); } } -#line 3980 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4025 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 53: -#line 897 "rwlparser.y" /* yacc.c:1646 */ +#line 898 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3990,15 +4035,16 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->poolmin = rwlcheckminval(rwm->mxq, 0, rwm->pval.ival,0,0, (text *)"sessionpool min size"); rwm->dbsav->ptimeout = RWL_DBPOOL_DEFAULT_TIMEOUT; + rwm->dbsav->pmaxuse = 0; rwm->dbsav->pooltext = "session pool"; rwm->misctxt = (text *)"sessionpool max size"; } } -#line 3998 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4044 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 55: -#line 914 "rwlparser.y" /* yacc.c:1646 */ +#line 916 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4008,11 +4054,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "drcp pooled"; } } -#line 4012 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4058 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 56: -#line 924 "rwlparser.y" /* yacc.c:1646 */ +#line 926 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4022,11 +4068,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "dedicated"; } } -#line 4026 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4072 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 57: -#line 934 "rwlparser.y" /* yacc.c:1646 */ +#line 936 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4036,11 +4082,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "threads dedicated"; } } -#line 4040 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4086 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 58: -#line 944 "rwlparser.y" /* yacc.c:1646 */ +#line 946 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4050,11 +4096,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "reconnect"; } } -#line 4054 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4100 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 61: -#line 961 "rwlparser.y" /* yacc.c:1646 */ +#line 963 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "statemark",RWL_OCI_VERSION); @@ -4062,11 +4108,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_STATEMARK); #endif } -#line 4066 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4112 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 62: -#line 969 "rwlparser.y" /* yacc.c:1646 */ +#line 971 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "requestmark",RWL_OCI_VERSION); @@ -4074,11 +4120,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_REQMARK); #endif } -#line 4078 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4124 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 63: -#line 979 "rwlparser.y" /* yacc.c:1646 */ +#line 981 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4089,11 +4135,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4093 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4139 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 64: -#line 990 "rwlparser.y" /* yacc.c:1646 */ +#line 992 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4105,11 +4151,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4109 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4155 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 66: -#line 1006 "rwlparser.y" /* yacc.c:1646 */ + case 70: +#line 1017 "rwlparser.y" /* yacc.c:1646 */ + { +#if (OCI_MAJOR_VERSION > 12) + if (rwm->dbsav) + { + if (RWL_DBPOOL_CONNECT==rwm->dbsav->pooltype) + rwlerror(rwm, RWL_ERROR_CPOOL_NOT_RELEASE_COUNT + , rwm->dbsav->vname, "count"); + else + { + if (rwm->dbsav->pmaxuse) + rwlerror(rwm, RWL_ERROR_DBSPEC_ALREADY, "release count"); + else + rwm->dbsav->pmaxuse = rwlcheckminval(rwm->mxq, 0, rwm->pval.ival + , 1 , 1, (text *)"release count"); + } + } +#else + rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool release count"); +#endif + } +#line 4180 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 71: +#line 1041 "rwlparser.y" /* yacc.c:1646 */ + { +#if (OCI_MAJOR_VERSION > 12) + if (rwm->dbsav) + { + if (RWL_DBPOOL_CONNECT==rwm->dbsav->pooltype) + rwlerror(rwm, RWL_ERROR_CPOOL_NOT_RELEASE_COUNT + , rwm->dbsav->vname, "every"); + else + { + if (rwm->dbsav->pmaxlife) + rwlerror(rwm, RWL_ERROR_DBSPEC_ALREADY, "release every"); + else + rwm->dbsav->pmaxuse = rwlcheckminval(rwm->mxq, 0, rwm->pval.ival + , 1 , 1, (text *)"release every"); + } + } +#else + rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool release every"); +#endif + } +#line 4205 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 72: +#line 1065 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4118,11 +4214,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , RWL_DBPOOL_DEFAULT_TIMEOUT, (text *)"release timeout"); } } -#line 4122 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4218 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 68: -#line 1019 "rwlparser.y" /* yacc.c:1646 */ + case 74: +#line 1078 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) @@ -4131,20 +4227,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool wait attribute"); #endif } -#line 4135 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4231 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 71: -#line 1033 "rwlparser.y" /* yacc.c:1646 */ + case 77: +#line 1092 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); } -#line 4144 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4240 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 72: -#line 1038 "rwlparser.y" /* yacc.c:1646 */ + case 78: +#line 1097 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4155,11 +4251,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[0] = rwm->inam; rwlexprbeg(rwm); } -#line 4159 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4255 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 73: -#line 1049 "rwlparser.y" /* yacc.c:1646 */ + case 79: +#line 1108 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; @@ -4171,27 +4267,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 4175 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4271 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 74: -#line 1066 "rwlparser.y" /* yacc.c:1646 */ + case 80: +#line 1125 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4183 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4279 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 75: -#line 1073 "rwlparser.y" /* yacc.c:1646 */ + case 81: +#line 1132 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4191 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4287 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 80: -#line 1089 "rwlparser.y" /* yacc.c:1646 */ + case 86: +#line 1148 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4203,11 +4299,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4207 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4303 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 81: -#line 1101 "rwlparser.y" /* yacc.c:1646 */ + case 87: +#line 1160 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_FUNC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) // e.g. out of space @@ -4222,11 +4318,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, at least 1 for return value */ } -#line 4226 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4322 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 82: -#line 1117 "rwlparser.y" /* yacc.c:1646 */ + case 88: +#line 1176 "rwlparser.y" /* yacc.c:1646 */ { /* codeguess was set en rwlcodeaddp */ if (rwm->codeguess>=0 && rwm->dtype) @@ -4258,11 +4354,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->supsemerr = RWL_SUPSEM_FUNC; } -#line 4262 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4358 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 83: -#line 1153 "rwlparser.y" /* yacc.c:1646 */ + case 89: +#line 1212 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4273,11 +4369,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4277 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4373 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 84: -#line 1164 "rwlparser.y" /* yacc.c:1646 */ + case 90: +#line 1223 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_PROC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) /* e.g. out of space */ @@ -4289,54 +4385,54 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, return value space is wasted */ } -#line 4293 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4389 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 85: -#line 1177 "rwlparser.y" /* yacc.c:1646 */ + case 91: +#line 1236 "rwlparser.y" /* yacc.c:1646 */ { rwm->mxq->evar[rwm->codeguess].v2val = rwm->facnt; rwm->supsemerr = RWL_SUPSEM_PROC; } -#line 4302 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4398 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 86: -#line 1185 "rwlparser.y" /* yacc.c:1646 */ + case 92: +#line 1244 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4311 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4407 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 87: -#line 1190 "rwlparser.y" /* yacc.c:1646 */ + case 93: +#line 1249 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4319 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4415 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 88: -#line 1197 "rwlparser.y" /* yacc.c:1646 */ + case 94: +#line 1256 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4328 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4424 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 89: -#line 1202 "rwlparser.y" /* yacc.c:1646 */ + case 95: +#line 1261 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4336 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4432 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 90: -#line 1209 "rwlparser.y" /* yacc.c:1646 */ + case 96: +#line 1268 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) { @@ -4418,39 +4514,39 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } finishcodebody: ; } -#line 4422 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4518 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 93: -#line 1299 "rwlparser.y" /* yacc.c:1646 */ + case 99: +#line 1358 "rwlparser.y" /* yacc.c:1646 */ { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) rwlprintvar(rwm->mxq, l); } -#line 4432 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4528 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 94: -#line 1307 "rwlparser.y" /* yacc.c:1646 */ + case 100: +#line 1366 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4438 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4534 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 95: -#line 1308 "rwlparser.y" /* yacc.c:1646 */ + case 101: +#line 1367 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4444 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4540 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 96: -#line 1311 "rwlparser.y" /* yacc.c:1646 */ + case 102: +#line 1370 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_MISSING_DECL_BRACK); } -#line 4450 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4546 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 101: -#line 1323 "rwlparser.y" /* yacc.c:1646 */ + case 107: +#line 1382 "rwlparser.y" /* yacc.c:1646 */ { sb4 la; if (rwm->dtype && @@ -4474,29 +4570,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4478 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4574 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 102: -#line 1351 "rwlparser.y" /* yacc.c:1646 */ + case 108: +#line 1410 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4484 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4580 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 103: -#line 1353 "rwlparser.y" /* yacc.c:1646 */ + case 109: +#line 1412 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4490 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4586 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 104: -#line 1355 "rwlparser.y" /* yacc.c:1646 */ + case 110: +#line 1414 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4496 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4592 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 105: -#line 1357 "rwlparser.y" /* yacc.c:1646 */ + case 111: +#line 1416 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -4511,50 +4607,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen=RWL_MAX_STRING_LENGTH; } } -#line 4515 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4611 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 106: -#line 1372 "rwlparser.y" /* yacc.c:1646 */ + case 112: +#line 1431 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "file"); } -#line 4524 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4620 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 107: -#line 1377 "rwlparser.y" /* yacc.c:1646 */ + case 113: +#line 1436 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "sql"); } -#line 4533 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4629 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 108: -#line 1382 "rwlparser.y" /* yacc.c:1646 */ + case 114: +#line 1441 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "clob"); } -#line 4542 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4638 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 110: -#line 1391 "rwlparser.y" /* yacc.c:1646 */ + case 116: +#line 1450 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_STATSONLY); } -#line 4548 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4644 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 111: -#line 1393 "rwlparser.y" /* yacc.c:1646 */ + case 117: +#line 1452 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_PROCHASSQL); } -#line 4554 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4650 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 112: -#line 1395 "rwlparser.y" /* yacc.c:1646 */ + case 118: +#line 1454 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; l = rwlfindvar(rwm->mxq, rwm->codename, RWL_VAR_NOGUESS); @@ -4570,11 +4666,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4574 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4670 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 114: -#line 1415 "rwlparser.y" /* yacc.c:1646 */ + case 120: +#line 1474 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4588,11 +4684,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "procedure", rwm->codename); } } -#line 4592 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4688 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 116: -#line 1430 "rwlparser.y" /* yacc.c:1646 */ + case 122: +#line 1489 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4606,11 +4702,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "function", rwm->codename); } } -#line 4610 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4706 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 118: -#line 1445 "rwlparser.y" /* yacc.c:1646 */ + case 124: +#line 1504 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4625,11 +4721,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->codename); } } -#line 4629 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4725 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 120: -#line 1461 "rwlparser.y" /* yacc.c:1646 */ + case 126: +#line 1520 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4645,11 +4741,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); yyerrok; } } -#line 4649 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4745 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 121: -#line 1504 "rwlparser.y" /* yacc.c:1646 */ + case 127: +#line 1563 "rwlparser.y" /* yacc.c:1646 */ { /* There are cases where we have an expression followed @@ -4662,11 +4758,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam, RWL_STACK_VAR); } -#line 4666 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4762 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 122: -#line 1518 "rwlparser.y" /* yacc.c:1646 */ + case 128: +#line 1577 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4680,11 +4776,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_DBL; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4684 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4780 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 123: -#line 1532 "rwlparser.y" /* yacc.c:1646 */ + case 129: +#line 1591 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4698,11 +4794,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_INT; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4702 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4798 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 124: -#line 1546 "rwlparser.y" /* yacc.c:1646 */ + case 130: +#line 1605 "rwlparser.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ @@ -4714,208 +4810,208 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_STR; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4718 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4814 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 125: -#line 1558 "rwlparser.y" /* yacc.c:1646 */ + case 131: +#line 1617 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } -#line 4726 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4822 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 126: -#line 1561 "rwlparser.y" /* yacc.c:1646 */ + case 132: +#line 1620 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_UNIFORM); } -#line 4732 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4828 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 127: -#line 1562 "rwlparser.y" /* yacc.c:1646 */ + case 133: +#line 1621 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOGB); } -#line 4738 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4834 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 128: -#line 1563 "rwlparser.y" /* yacc.c:1646 */ + case 134: +#line 1622 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOG); } -#line 4744 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4840 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 129: -#line 1564 "rwlparser.y" /* yacc.c:1646 */ + case 135: +#line 1623 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXPB); } -#line 4750 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4846 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 130: -#line 1565 "rwlparser.y" /* yacc.c:1646 */ + case 136: +#line 1624 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXP); } -#line 4756 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4852 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 131: -#line 1566 "rwlparser.y" /* yacc.c:1646 */ + case 137: +#line 1625 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CEIL); } -#line 4762 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4858 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 132: -#line 1567 "rwlparser.y" /* yacc.c:1646 */ + case 138: +#line 1626 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_TRUNC); } -#line 4768 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4864 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 133: -#line 1568 "rwlparser.y" /* yacc.c:1646 */ + case 139: +#line 1627 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_FLOOR); } -#line 4774 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4870 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 134: -#line 1569 "rwlparser.y" /* yacc.c:1646 */ + case 140: +#line 1628 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ROUND); } -#line 4780 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4876 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 135: -#line 1570 "rwlparser.y" /* yacc.c:1646 */ + case 141: +#line 1629 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SQRT); } -#line 4786 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4882 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 136: -#line 1571 "rwlparser.y" /* yacc.c:1646 */ + case 142: +#line 1630 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SIN); } -#line 4792 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4888 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 137: -#line 1572 "rwlparser.y" /* yacc.c:1646 */ + case 143: +#line 1631 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_COS); } -#line 4798 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4894 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 138: -#line 1573 "rwlparser.y" /* yacc.c:1646 */ + case 144: +#line 1632 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ATAN2); } -#line 4804 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4900 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 139: -#line 1574 "rwlparser.y" /* yacc.c:1646 */ + case 145: +#line 1633 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LENGTHB); } -#line 4810 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4906 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 140: -#line 1576 "rwlparser.y" /* yacc.c:1646 */ + case 146: +#line 1635 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB2); } -#line 4816 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4912 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 141: -#line 1578 "rwlparser.y" /* yacc.c:1646 */ + case 147: +#line 1637 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB3); } -#line 4822 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4918 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 142: -#line 1580 "rwlparser.y" /* yacc.c:1646 */ + case 148: +#line 1639 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB2); } -#line 4828 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4924 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 143: -#line 1582 "rwlparser.y" /* yacc.c:1646 */ + case 149: +#line 1641 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB3); } -#line 4834 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4930 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 144: -#line 1583 "rwlparser.y" /* yacc.c:1646 */ + case 150: +#line 1642 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GETENV); } -#line 4840 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4936 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 145: -#line 1584 "rwlparser.y" /* yacc.c:1646 */ + case 151: +#line 1643 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2B); } -#line 4848 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4944 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 146: -#line 1587 "rwlparser.y" /* yacc.c:1646 */ + case 152: +#line 1646 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2BB); } -#line 4856 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4952 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 147: -#line 1590 "rwlparser.y" /* yacc.c:1646 */ + case 153: +#line 1649 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4862 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4958 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 148: -#line 1592 "rwlparser.y" /* yacc.c:1646 */ + case 154: +#line 1651 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 4870 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4966 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 149: -#line 1596 "rwlparser.y" /* yacc.c:1646 */ + case 155: +#line 1655 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4879 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4975 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 150: -#line 1600 "rwlparser.y" /* yacc.c:1646 */ + case 156: +#line 1659 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG); } -#line 4885 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4981 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 151: -#line 1601 "rwlparser.y" /* yacc.c:1646 */ + case 157: +#line 1660 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG2); } -#line 4891 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4987 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 152: -#line 1603 "rwlparser.y" /* yacc.c:1646 */ + case 158: +#line 1662 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANGK); } -#line 4897 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4993 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 153: -#line 1605 "rwlparser.y" /* yacc.c:1646 */ + case 159: +#line 1664 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NORMALRANDOM); } -#line 4903 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4999 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 154: -#line 1606 "rwlparser.y" /* yacc.c:1646 */ + case 160: +#line 1665 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 4909 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5005 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 155: -#line 1608 "rwlparser.y" /* yacc.c:1646 */ + case 161: +#line 1667 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ACCESS); } -#line 4915 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5011 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 156: -#line 1610 "rwlparser.y" /* yacc.c:1646 */ + case 162: +#line 1669 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlexprpush(rwm, rwm->resdb, RWL_STACK_SERVERRELEASE); @@ -4926,11 +5022,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "results"); } } -#line 4930 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5026 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 157: -#line 1621 "rwlparser.y" /* yacc.c:1646 */ + case 163: +#line 1680 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlexprpush(rwm, rwm->defdb, RWL_STACK_SERVERRELEASE); @@ -4941,92 +5037,92 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "default"); } } -#line 4945 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5041 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 158: -#line 1632 "rwlparser.y" /* yacc.c:1646 */ + case 164: +#line 1691 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SERVERRELEASE); } -#line 4953 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5049 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 159: -#line 1636 "rwlparser.y" /* yacc.c:1646 */ + case 165: +#line 1695 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "serverrelease"); yyerrok; } -#line 4963 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5059 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 160: -#line 1642 "rwlparser.y" /* yacc.c:1646 */ + case 166: +#line 1701 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_OPENSESSIONCOUNT); } -#line 4971 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5067 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 161: -#line 1646 "rwlparser.y" /* yacc.c:1646 */ + case 167: +#line 1705 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "opensessioncount"); yyerrok; } -#line 4981 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5077 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 162: -#line 1652 "rwlparser.y" /* yacc.c:1646 */ + case 168: +#line 1711 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_ACTIVESESSIONCOUNT); } -#line 4989 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5085 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 163: -#line 1656 "rwlparser.y" /* yacc.c:1646 */ + case 169: +#line 1715 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "activesessioncount"); yyerrok; } -#line 4999 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5095 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 164: -#line 1662 "rwlparser.y" /* yacc.c:1646 */ + case 170: +#line 1721 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); } -#line 5008 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5104 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 165: -#line 1667 "rwlparser.y" /* yacc.c:1646 */ + case 171: +#line 1726 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } -#line 5016 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5112 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 166: -#line 1671 "rwlparser.y" /* yacc.c:1646 */ + case 172: +#line 1730 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_SQLID_NEED_IDENT); yyerrok; } -#line 5026 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5122 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 167: -#line 1678 "rwlparser.y" /* yacc.c:1646 */ + case 173: +#line 1737 "rwlparser.y" /* yacc.c:1646 */ { /* element with furlev=0 is used by procedure call */ if (++rwm->furlev>=RWL_MAX_FUNC_RECURSION) @@ -5039,11 +5135,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[rwm->furlev] = (yychar == RWL_T_IDENTIFIER) ? rwm->previnam : rwm->inam; } -#line 5043 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5139 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 168: -#line 1692 "rwlparser.y" /* yacc.c:1646 */ + case 174: +#line 1751 "rwlparser.y" /* yacc.c:1646 */ { /* syntactically, the number of arguments doesn't matter so we just provide the actual arg count to exprpush2 @@ -5055,191 +5151,191 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (rwm->furlev) rwm->furlev--; } -#line 5059 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5155 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 169: -#line 1704 "rwlparser.y" /* yacc.c:1646 */ + case 175: +#line 1763 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_DBSECONDS); } -#line 5067 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5163 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 170: -#line 1708 "rwlparser.y" /* yacc.c:1646 */ + case 176: +#line 1767 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_OCISECONDS); } -#line 5075 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5171 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 171: -#line 1712 "rwlparser.y" /* yacc.c:1646 */ + case 177: +#line 1771 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "runseconds"); rwlexprpush(rwm, 0, RWL_STACK_RUNSECONDS); } -#line 5085 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5181 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 172: -#line 1718 "rwlparser.y" /* yacc.c:1646 */ + case 178: +#line 1777 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "epochseconds"); rwlexprpush(rwm, 0, RWL_STACK_EPOCHSECONDS); } -#line 5095 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5191 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 178: -#line 1737 "rwlparser.y" /* yacc.c:1646 */ + case 184: +#line 1796 "rwlparser.y" /* yacc.c:1646 */ { rwm->aacnt[rwm->furlev]++; } -#line 5101 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5197 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 180: -#line 1743 "rwlparser.y" /* yacc.c:1646 */ + case 186: +#line 1802 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5107 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5203 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 181: -#line 1744 "rwlparser.y" /* yacc.c:1646 */ + case 187: +#line 1803 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNOTNULL); } -#line 5113 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5209 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 183: -#line 1750 "rwlparser.y" /* yacc.c:1646 */ + case 189: +#line 1809 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MINUS); } -#line 5119 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5215 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 184: -#line 1751 "rwlparser.y" /* yacc.c:1646 */ + case 190: +#line 1810 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5125 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5221 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 185: -#line 1752 "rwlparser.y" /* yacc.c:1646 */ + case 191: +#line 1811 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5131 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5227 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 186: -#line 1753 "rwlparser.y" /* yacc.c:1646 */ + case 192: +#line 1812 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_NOT); } -#line 5137 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5233 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 188: -#line 1758 "rwlparser.y" /* yacc.c:1646 */ + case 194: +#line 1817 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MUL); } -#line 5143 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5239 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 189: -#line 1759 "rwlparser.y" /* yacc.c:1646 */ + case 195: +#line 1818 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_DIV); } -#line 5149 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5245 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 190: -#line 1760 "rwlparser.y" /* yacc.c:1646 */ + case 196: +#line 1819 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MOD); } -#line 5155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5251 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 192: -#line 1765 "rwlparser.y" /* yacc.c:1646 */ + case 198: +#line 1824 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ADD); } -#line 5161 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5257 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 193: -#line 1766 "rwlparser.y" /* yacc.c:1646 */ + case 199: +#line 1825 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUB); } -#line 5167 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5263 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 195: -#line 1770 "rwlparser.y" /* yacc.c:1646 */ + case 201: +#line 1829 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_LEFT_SHIFT); } -#line 5173 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5269 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 196: -#line 1771 "rwlparser.y" /* yacc.c:1646 */ + case 202: +#line 1830 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_RIGHT_SHIFT); } -#line 5179 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5275 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 198: -#line 1776 "rwlparser.y" /* yacc.c:1646 */ + case 204: +#line 1835 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESS); } -#line 5185 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5281 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 199: -#line 1777 "rwlparser.y" /* yacc.c:1646 */ + case 205: +#line 1836 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATER); } -#line 5191 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5287 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 200: -#line 1778 "rwlparser.y" /* yacc.c:1646 */ + case 206: +#line 1837 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } -#line 5197 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5293 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 201: -#line 1779 "rwlparser.y" /* yacc.c:1646 */ + case 207: +#line 1838 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } -#line 5203 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5299 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 202: -#line 1780 "rwlparser.y" /* yacc.c:1646 */ + case 208: +#line 1839 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } -#line 5209 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5305 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 204: -#line 1785 "rwlparser.y" /* yacc.c:1646 */ + case 210: +#line 1844 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EQUAL); } -#line 5215 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5311 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 205: -#line 1786 "rwlparser.y" /* yacc.c:1646 */ + case 211: +#line 1845 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } -#line 5221 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5317 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 207: -#line 1791 "rwlparser.y" /* yacc.c:1646 */ + case 213: +#line 1850 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_AND); } -#line 5227 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5323 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 209: -#line 1796 "rwlparser.y" /* yacc.c:1646 */ + case 215: +#line 1855 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_XOR); } -#line 5233 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5329 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 211: -#line 1801 "rwlparser.y" /* yacc.c:1646 */ + case 217: +#line 1860 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_OR); } -#line 5239 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5335 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 213: -#line 1807 "rwlparser.y" /* yacc.c:1646 */ + case 219: +#line 1866 "rwlparser.y" /* yacc.c:1646 */ { // With AND (and OR) skipdep is used to mark // the expression element we need to skip until @@ -5249,20 +5345,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-andskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5253 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5349 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 214: -#line 1817 "rwlparser.y" /* yacc.c:1646 */ + case 220: +#line 1876 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; } -#line 5262 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5358 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 216: -#line 1826 "rwlparser.y" /* yacc.c:1646 */ + case 222: +#line 1885 "rwlparser.y" /* yacc.c:1646 */ { // see comment above rwm->ptail->branchtype = RWL_EXP_ORBRANCH; @@ -5270,20 +5366,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-orskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5274 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5370 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 217: -#line 1834 "rwlparser.y" /* yacc.c:1646 */ + case 223: +#line 1893 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR ,rwm->skipdep); rwm->skipdep--; } -#line 5283 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5379 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 219: -#line 1843 "rwlparser.y" /* yacc.c:1646 */ + case 225: +#line 1902 "rwlparser.y" /* yacc.c:1646 */ { // With conditional execution we mark the condition // with RWL_EXP_CONDBRANCH1 @@ -5292,50 +5388,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-condskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5296 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5392 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 220: -#line 1852 "rwlparser.y" /* yacc.c:1646 */ + case 226: +#line 1911 "rwlparser.y" /* yacc.c:1646 */ { // and the place of ':' (really ELSE) with // RWL_EXP_CONDBRANCH2 rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; rwm->ptail->skipnxt = rwm->skipdep; } -#line 5307 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5403 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 221: -#line 1859 "rwlparser.y" /* yacc.c:1646 */ + case 227: +#line 1918 "rwlparser.y" /* yacc.c:1646 */ { // And the actual conditional is the "end if" place rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, rwm->skipdep); rwm->skipdep--; } -#line 5317 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5413 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 223: -#line 1868 "rwlparser.y" /* yacc.c:1646 */ + case 229: +#line 1927 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5323 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5419 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 225: -#line 1873 "rwlparser.y" /* yacc.c:1646 */ + case 231: +#line 1932 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5329 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5425 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 227: -#line 1884 "rwlparser.y" /* yacc.c:1646 */ + case 233: +#line 1943 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = 0; } -#line 5335 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5431 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 228: -#line 1889 "rwlparser.y" /* yacc.c:1646 */ + case 234: +#line 1948 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) { @@ -5343,65 +5439,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); YYACCEPT; } } -#line 5347 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5443 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 229: -#line 1897 "rwlparser.y" /* yacc.c:1646 */ + case 235: +#line 1956 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5353 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5449 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 230: -#line 1899 "rwlparser.y" /* yacc.c:1646 */ + case 236: +#line 1958 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "threads"); yyerrok; } -#line 5359 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5455 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 232: -#line 1906 "rwlparser.y" /* yacc.c:1646 */ + case 238: +#line 1965 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5365 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5461 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 233: -#line 1908 "rwlparser.y" /* yacc.c:1646 */ + case 239: +#line 1967 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "run"); yyerrok; } -#line 5371 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5467 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 235: -#line 1912 "rwlparser.y" /* yacc.c:1646 */ + case 241: +#line 1971 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5377 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5473 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 236: -#line 1914 "rwlparser.y" /* yacc.c:1646 */ + case 242: +#line 1973 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "database"); yyerrok; } -#line 5383 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5479 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 237: -#line 1916 "rwlparser.y" /* yacc.c:1646 */ + case 243: +#line 1975 "rwlparser.y" /* yacc.c:1646 */ { yyerrok ; } -#line 5389 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5485 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 238: -#line 1919 "rwlparser.y" /* yacc.c:1646 */ + case 244: +#line 1978 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random procedure array"); yyerrok; } -#line 5395 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5491 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 239: -#line 1922 "rwlparser.y" /* yacc.c:1646 */ + case 245: +#line 1981 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random string array"); yyerrok; } -#line 5401 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5497 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 240: -#line 1927 "rwlparser.y" /* yacc.c:1646 */ + case 246: +#line 1986 "rwlparser.y" /* yacc.c:1646 */ { switch(rwm->supsemerr) { @@ -5430,11 +5526,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 5434 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5530 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 241: -#line 1956 "rwlparser.y" /* yacc.c:1646 */ + case 247: +#line 2015 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5449,11 +5545,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_ABORT); } } -#line 5453 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5549 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 242: -#line 1971 "rwlparser.y" /* yacc.c:1646 */ + case 248: +#line 2030 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5464,37 +5560,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_NOSTATISTICS); } } -#line 5468 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5564 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 245: -#line 1988 "rwlparser.y" /* yacc.c:1646 */ + case 251: +#line 2047 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } -#line 5474 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5570 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 247: -#line 1995 "rwlparser.y" /* yacc.c:1646 */ + case 253: +#line 2054 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } -#line 5480 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5576 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 249: -#line 2001 "rwlparser.y" /* yacc.c:1646 */ + case 255: +#line 2060 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } -#line 5486 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5582 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 250: -#line 2003 "rwlparser.y" /* yacc.c:1646 */ + case 256: +#line 2062 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; } -#line 5494 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5590 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 252: -#line 2009 "rwlparser.y" /* yacc.c:1646 */ + case 258: +#line 2068 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) rwm->declslen = 1; // kind of a kludge, but this prevents doube @@ -5504,33 +5600,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen = rwm->pval.ival; } } -#line 5508 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5604 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 254: -#line 2023 "rwlparser.y" /* yacc.c:1646 */ + case 260: +#line 2082 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_STR); yyerrok; } -#line 5514 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5610 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 255: -#line 2025 "rwlparser.y" /* yacc.c:1646 */ + case 261: +#line 2084 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_FILE; //if (rwm->codename) // rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "file"); } -#line 5524 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5620 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 257: -#line 2034 "rwlparser.y" /* yacc.c:1646 */ + case 263: +#line 2093 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_FILE); yyerrok; } -#line 5530 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5626 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 258: -#line 2039 "rwlparser.y" /* yacc.c:1646 */ + case 264: +#line 2098 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5551,11 +5647,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5555 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5651 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 259: -#line 2062 "rwlparser.y" /* yacc.c:1646 */ + case 265: +#line 2121 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5578,17 +5674,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5582 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5678 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 260: -#line 2086 "rwlparser.y" /* yacc.c:1646 */ + case 266: +#line 2145 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rslerror) rwlcodeadd0(rwm, RWL_CODE_ELSE); } -#line 5588 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5684 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 261: -#line 2089 "rwlparser.y" /* yacc.c:1646 */ + case 267: +#line 2148 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5609,11 +5705,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5613 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5709 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 262: -#line 2112 "rwlparser.y" /* yacc.c:1646 */ + case 268: +#line 2171 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* start expression */ @@ -5650,11 +5746,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlexprbeg(rwm); } -#line 5654 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5750 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 263: -#line 2153 "rwlparser.y" /* yacc.c:1646 */ + case 269: +#line 2212 "rwlparser.y" /* yacc.c:1646 */ { switch (rwm->rsllityp[rwm->rsldepth]) { @@ -5722,65 +5818,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->rsldepth, rwm->rslmisc[rwm->rsldepth]); } } -#line 5726 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5822 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 264: -#line 2222 "rwlparser.y" /* yacc.c:1646 */ + case 270: +#line 2281 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwm->rsllityp[rwm->rsldepth] = RWL_LI_BAD; yyerrok; } -#line 5736 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5832 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 265: -#line 2229 "rwlparser.y" /* yacc.c:1646 */ + case 271: +#line 2288 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 5742 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5838 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 267: -#line 2232 "rwlparser.y" /* yacc.c:1646 */ + case 273: +#line 2291 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 5750 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5846 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 269: -#line 2237 "rwlparser.y" /* yacc.c:1646 */ + case 275: +#line 2296 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprclear(rwm); } -#line 5759 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5855 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 270: -#line 2242 "rwlparser.y" /* yacc.c:1646 */ + case 276: +#line 2301 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 5770 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5866 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 272: -#line 2251 "rwlparser.y" /* yacc.c:1646 */ + case 278: +#line 2310 "rwlparser.y" /* yacc.c:1646 */ { /* start expression for assign */ rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 5780 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5876 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 274: -#line 2260 "rwlparser.y" /* yacc.c:1646 */ + case 280: +#line 2319 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) rwlerror(rwm, RWL_ERROR_RETURN_OUTSIDE_CODE); @@ -5792,20 +5888,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_RETURN_NO_EXPR, rwm->codename); } } -#line 5796 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5892 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 275: -#line 2272 "rwlparser.y" /* yacc.c:1646 */ + case 281: +#line 2331 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5805 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5901 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 276: -#line 2277 "rwlparser.y" /* yacc.c:1646 */ + case 282: +#line 2336 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5834,30 +5930,30 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeaddpu(rwm, RWL_CODE_RETURN, rwm->codename, rwm->codeguess); } } -#line 5838 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5934 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 278: -#line 2306 "rwlparser.y" /* yacc.c:1646 */ + case 284: +#line 2365 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5848 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5944 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 279: -#line 2313 "rwlparser.y" /* yacc.c:1646 */ + case 285: +#line 2372 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5857 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5953 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 280: -#line 2318 "rwlparser.y" /* yacc.c:1646 */ + case 286: +#line 2377 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5886,21 +5982,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5890 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5986 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 282: -#line 2348 "rwlparser.y" /* yacc.c:1646 */ + case 288: +#line 2407 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5900 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5996 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 283: -#line 2356 "rwlparser.y" /* yacc.c:1646 */ + case 289: +#line 2415 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5914,11 +6010,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5918 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6014 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 284: -#line 2370 "rwlparser.y" /* yacc.c:1646 */ + case 290: +#line 2429 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbnam = rwm->inam; rwm->mdbvar = rwlfindvar2(rwm->mxq, rwm->mdbnam, RWL_VAR_NOGUESS, rwm->codename); @@ -5929,11 +6025,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mdbvar = RWL_VAR_INVALID; } } -#line 5933 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6029 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 286: -#line 2384 "rwlparser.y" /* yacc.c:1646 */ + case 292: +#line 2443 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -5947,11 +6043,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5951 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6047 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 287: -#line 2400 "rwlparser.y" /* yacc.c:1646 */ + case 293: +#line 2459 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5961,29 +6057,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlcodeadd0(rwm, RWL_CODE_MODDBLEAK); } -#line 5965 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6061 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 288: -#line 2411 "rwlparser.y" /* yacc.c:1646 */ + case 294: +#line 2470 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 5974 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6070 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 289: -#line 2417 "rwlparser.y" /* yacc.c:1646 */ + case 295: +#line 2476 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 5983 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6079 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 290: -#line 2423 "rwlparser.y" /* yacc.c:1646 */ + case 296: +#line 2482 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_COMMIT); @@ -5994,11 +6090,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcommit(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 5998 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6094 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 291: -#line 2435 "rwlparser.y" /* yacc.c:1646 */ + case 297: +#line 2494 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_ROLLBACK); @@ -6009,11 +6105,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlrollback(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 6013 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6109 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 292: -#line 2447 "rwlparser.y" /* yacc.c:1646 */ + case 298: +#line 2506 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SHIFT); @@ -6021,11 +6117,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlshiftdollar(rwm->mxq, &rwm->loc); } -#line 6025 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6121 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 293: -#line 2456 "rwlparser.y" /* yacc.c:1646 */ + case 299: +#line 2515 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_GETRUSAGE); @@ -6033,11 +6129,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlgetrusage(rwm->mxq, 0); } -#line 6037 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6133 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 294: -#line 2465 "rwlparser.y" /* yacc.c:1646 */ + case 300: +#line 2524 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlinam = rwm->inam; rwm->mqbdtyp = 0; rwm->modsqlvar = rwlfindvar2(rwm->mxq, rwm->msqlinam, RWL_VAR_NOGUESS, rwm->codename); @@ -6048,17 +6144,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->modsqlvar = RWL_VAR_INVALID; } } -#line 6052 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6148 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 296: -#line 2478 "rwlparser.y" /* yacc.c:1646 */ + case 302: +#line 2537 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } -#line 6058 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6154 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 297: -#line 2483 "rwlparser.y" /* yacc.c:1646 */ + case 303: +#line 2542 "rwlparser.y" /* yacc.c:1646 */ { /* handle procedure call with arguments * as if it were a function call @@ -6088,11 +6184,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); : rwm->inam; rwlexprbeg(rwm); } -#line 6092 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6188 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 298: -#line 2515 "rwlparser.y" /* yacc.c:1646 */ + case 304: +#line 2574 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6177,22 +6273,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprclear(rwm); } } -#line 6181 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6277 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 299: -#line 2600 "rwlparser.y" /* yacc.c:1646 */ + case 305: +#line 2659 "rwlparser.y" /* yacc.c:1646 */ { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); rwlexprclear(rwm); yyerrok; } -#line 6192 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6288 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 300: -#line 2607 "rwlparser.y" /* yacc.c:1646 */ + case 306: +#line 2666 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6207,29 +6303,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 6211 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6307 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 303: -#line 2626 "rwlparser.y" /* yacc.c:1646 */ + case 309: +#line 2685 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = RWL_SUPSEM_EMBSQL; } -#line 6217 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6313 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 307: -#line 2632 "rwlparser.y" /* yacc.c:1646 */ + case 313: +#line 2691 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6223 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6319 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 308: -#line 2634 "rwlparser.y" /* yacc.c:1646 */ + case 314: +#line 2693 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6229 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6325 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 311: -#line 2640 "rwlparser.y" /* yacc.c:1646 */ + case 317: +#line 2699 "rwlparser.y" /* yacc.c:1646 */ { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below @@ -6312,11 +6408,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); --rwm->rsldepth; } } -#line 6316 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6412 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 312: -#line 2725 "rwlparser.y" /* yacc.c:1646 */ + case 318: +#line 2784 "rwlparser.y" /* yacc.c:1646 */ { --rwm->rsldepth; if (rwm->rslerror) @@ -6345,11 +6441,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6349 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6445 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 313: -#line 2755 "rwlparser.y" /* yacc.c:1646 */ + case 319: +#line 2814 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6381,20 +6477,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_INCORRECT_TYPE2, rwm->mxq->evar[l].stype, rwm->inam, "file"); } } -#line 6385 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6481 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 314: -#line 2788 "rwlparser.y" /* yacc.c:1646 */ + case 320: +#line 2847 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_FFLUSH); yyerrok; } -#line 6394 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6490 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 315: -#line 2795 "rwlparser.y" /* yacc.c:1646 */ + case 321: +#line 2854 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6417,11 +6513,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 6421 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6517 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 316: -#line 2820 "rwlparser.y" /* yacc.c:1646 */ + case 322: +#line 2879 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) { @@ -6450,11 +6546,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 6454 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6550 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 317: -#line 2851 "rwlparser.y" /* yacc.c:1646 */ + case 323: +#line 2910 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -6473,88 +6569,88 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6477 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6573 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 323: -#line 2879 "rwlparser.y" /* yacc.c:1646 */ + case 329: +#line 2938 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6488 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6584 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 325: -#line 2888 "rwlparser.y" /* yacc.c:1646 */ + case 331: +#line 2947 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_STRING_FOR_SPRINTF); rwlexprclear(rwm); yyerrok; } -#line 6499 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6595 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 327: -#line 2897 "rwlparser.y" /* yacc.c:1646 */ + case 333: +#line 2956 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6510 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6606 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 329: -#line 2907 "rwlparser.y" /* yacc.c:1646 */ + case 335: +#line 2966 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document this syntax without comma if (rwm->filenam) rwlerror(rwm, RWL_ERROR_COMMA_IS_RECOMMENDED, rwm->filenam , bit(rwm->mflags,RWL_P_PRINTLINE) ? "writeline" : "write"); } -#line 6521 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6617 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 332: -#line 2919 "rwlparser.y" /* yacc.c:1646 */ + case 338: +#line 2978 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6532 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6628 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 333: -#line 2927 "rwlparser.y" /* yacc.c:1646 */ + case 339: +#line 2986 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6543 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6639 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 334: -#line 2935 "rwlparser.y" /* yacc.c:1646 */ + case 340: +#line 2994 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6554 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6650 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 335: -#line 2943 "rwlparser.y" /* yacc.c:1646 */ + case 341: +#line 3002 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_NEWLINE); @@ -6562,22 +6658,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); fputs(bit(rwm->m4flags, RWL_P4_CRNLWRITELINE) ? "\r\n" : "\n", stdout); bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 6566 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6662 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 337: -#line 2953 "rwlparser.y" /* yacc.c:1646 */ + case 343: +#line 3012 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6577 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6673 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 339: -#line 2961 "rwlparser.y" /* yacc.c:1646 */ + case 345: +#line 3020 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6588,11 +6684,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_CQNBREAK); } } -#line 6592 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6688 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 340: -#line 2972 "rwlparser.y" /* yacc.c:1646 */ + case 346: +#line 3031 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6627,11 +6723,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6631 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6727 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 341: -#line 3008 "rwlparser.y" /* yacc.c:1646 */ + case 347: +#line 3067 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6667,11 +6763,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6671 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6767 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 342: -#line 3045 "rwlparser.y" /* yacc.c:1646 */ + case 348: +#line 3104 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6710,11 +6806,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_DONE_IN_MAIN, "writelob"); } } -#line 6714 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6810 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 343: -#line 3085 "rwlparser.y" /* yacc.c:1646 */ + case 349: +#line 3144 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_CBLOCK)) { @@ -6731,11 +6827,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m2flags, RWL_P2_THROPTS); /* clear all thread option flas */ bis(rwm->m2flags, RWL_P2_CBLOCK); } -#line 6735 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6831 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 344: -#line 3102 "rwlparser.y" /* yacc.c:1646 */ + case 350: +#line 3161 "rwlparser.y" /* yacc.c:1646 */ { if(!rwm->stoptime && !rwm->stopcount) { @@ -6756,11 +6852,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 6760 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6856 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 345: -#line 3125 "rwlparser.y" /* yacc.c:1646 */ + case 351: +#line 3184 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_CBLOCK_BAD)) rwlloopfinish(rwm); @@ -6778,26 +6874,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6782 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6878 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 346: -#line 3144 "rwlparser.y" /* yacc.c:1646 */ + case 352: +#line 3203 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_AFTER_IDENTIFIER); yyerrok; } -#line 6791 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6887 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 347: -#line 3151 "rwlparser.y" /* yacc.c:1646 */ + case 353: +#line 3210 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 6797 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6893 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 348: -#line 3157 "rwlparser.y" /* yacc.c:1646 */ + case 354: +#line 3216 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6821,28 +6917,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6825 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6921 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 349: -#line 3181 "rwlparser.y" /* yacc.c:1646 */ + case 355: +#line 3240 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobwritedata = rwlexprfinish(rwm); rwm->loboffset = 0; } -#line 6834 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6930 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 351: -#line 3190 "rwlparser.y" /* yacc.c:1646 */ + case 357: +#line 3249 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6842 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6938 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 352: -#line 3197 "rwlparser.y" /* yacc.c:1646 */ + case 358: +#line 3256 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6865,11 +6961,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6869 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6965 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 353: -#line 3220 "rwlparser.y" /* yacc.c:1646 */ + case 359: +#line 3279 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->loboffset = 0; @@ -6891,27 +6987,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6895 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6991 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 355: -#line 3246 "rwlparser.y" /* yacc.c:1646 */ + case 361: +#line 3305 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobreadlength = rwlexprfinish(rwm); } -#line 6903 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6999 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 356: -#line 3250 "rwlparser.y" /* yacc.c:1646 */ + case 362: +#line 3309 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6911 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7007 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 357: -#line 3256 "rwlparser.y" /* yacc.c:1646 */ + case 363: +#line 3315 "rwlparser.y" /* yacc.c:1646 */ { /* simple sql execute */ sb4 l; @@ -7057,11 +7153,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->loc.errlin = 0; } -#line 7061 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7157 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 358: -#line 3406 "rwlparser.y" /* yacc.c:1646 */ + case 364: +#line 3465 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; @@ -7171,11 +7267,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); failurecursor: rwm->loc.errlin = 0; } -#line 7175 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7271 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 359: -#line 3518 "rwlparser.y" /* yacc.c:1646 */ + case 365: +#line 3577 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -7208,27 +7304,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->loc.errlin = 0; } -#line 7212 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7308 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 360: -#line 3554 "rwlparser.y" /* yacc.c:1646 */ + case 366: +#line 3613 "rwlparser.y" /* yacc.c:1646 */ { // This syntax is not documented bic(rwm->m3flags, RWL_P3_CLHEADFOR); rwlerror(rwm, RWL_ERROR_LEGACY_CONTROLLOOP_SYNTAX); } -#line 7222 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7318 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 361: -#line 3559 "rwlparser.y" /* yacc.c:1646 */ + case 367: +#line 3618 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7228 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7324 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 362: -#line 3563 "rwlparser.y" /* yacc.c:1646 */ + case 368: +#line 3622 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document these two (legacy) syntax: // loop option .. .. ; @@ -7241,41 +7337,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // legacy and current syntax are mixed. bic(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7245 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7341 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 363: -#line 3579 "rwlparser.y" /* yacc.c:1646 */ + case 369: +#line 3638 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7253 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7349 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 364: -#line 3583 "rwlparser.y" /* yacc.c:1646 */ + case 370: +#line 3642 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7261 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7357 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 365: -#line 3587 "rwlparser.y" /* yacc.c:1646 */ + case 371: +#line 3646 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7269 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7365 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 368: -#line 3598 "rwlparser.y" /* yacc.c:1646 */ + case 374: +#line 3657 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7275 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7371 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 369: -#line 3600 "rwlparser.y" /* yacc.c:1646 */ + case 375: +#line 3659 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->starttime) { @@ -7288,17 +7384,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->starttime = rwlexprfinish(rwm); } } -#line 7292 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7388 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 370: -#line 3612 "rwlparser.y" /* yacc.c:1646 */ + case 376: +#line 3671 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7298 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7394 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 371: -#line 3614 "rwlparser.y" /* yacc.c:1646 */ + case 377: +#line 3673 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7313,17 +7409,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bis(rwm->m2flags, RWL_P2_STOP); } } -#line 7317 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7413 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 372: -#line 3628 "rwlparser.y" /* yacc.c:1646 */ + case 378: +#line 3687 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7323 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7419 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 373: -#line 3630 "rwlparser.y" /* yacc.c:1646 */ + case 379: +#line 3689 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7338,17 +7434,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bic(rwm->m2flags, RWL_P2_STOP); } } -#line 7342 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7438 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 374: -#line 3644 "rwlparser.y" /* yacc.c:1646 */ + case 380: +#line 3703 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7348 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7444 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 375: -#line 3646 "rwlparser.y" /* yacc.c:1646 */ + case 381: +#line 3705 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7361,17 +7457,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->waittime = rwlexprfinish(rwm); } } -#line 7365 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7461 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 376: -#line 3658 "rwlparser.y" /* yacc.c:1646 */ + case 382: +#line 3717 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7371 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7467 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 377: -#line 3660 "rwlparser.y" /* yacc.c:1646 */ + case 383: +#line 3719 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7397,55 +7493,55 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->everytime = rwlexprfinish(rwm); } } -#line 7401 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7497 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 378: -#line 3689 "rwlparser.y" /* yacc.c:1646 */ + case 384: +#line 3748 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = 0; } -#line 7407 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7503 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 379: -#line 3690 "rwlparser.y" /* yacc.c:1646 */ + case 385: +#line 3749 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_QUEUE_EVERY; } -#line 7413 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7509 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 380: -#line 3691 "rwlparser.y" /* yacc.c:1646 */ + case 386: +#line 3750 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_NOQUEUE_EVERY; } -#line 7419 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7515 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 381: -#line 3695 "rwlparser.y" /* yacc.c:1646 */ + case 387: +#line 3754 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7428 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7524 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 382: -#line 3700 "rwlparser.y" /* yacc.c:1646 */ + case 388: +#line 3759 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7437 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7533 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 383: -#line 3705 "rwlparser.y" /* yacc.c:1646 */ + case 389: +#line 3764 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7445 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7541 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 384: -#line 3709 "rwlparser.y" /* yacc.c:1646 */ + case 390: +#line 3768 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); // lookahead may have consumed the next identifier @@ -7453,20 +7549,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam; } -#line 7457 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7553 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 385: -#line 3717 "rwlparser.y" /* yacc.c:1646 */ + case 391: +#line 3776 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7466 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7562 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 386: -#line 3726 "rwlparser.y" /* yacc.c:1646 */ + case 392: +#line 3785 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; rwm->sqllino = rwm->sqltlin; // the line where we started sql scan @@ -7481,11 +7577,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->scname = rwm->sqname = rwlstrdup(rwm, sqlnam); rwm->sqllen = 0; } -#line 7485 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7581 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 387: -#line 3741 "rwlparser.y" /* yacc.c:1646 */ + case 393: +#line 3800 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); @@ -7513,11 +7609,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); rwm->sqlfile = 0; /* not from a file */ } -#line 7517 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7613 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 388: -#line 3773 "rwlparser.y" /* yacc.c:1646 */ + case 394: +#line 3832 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; snprintf((char *)sqlnam, sizeof(sqlnam), "sql#%05d", rwm->mxq->varcount); @@ -7531,11 +7627,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->msqlstk = 0; } -#line 7535 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7631 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 389: -#line 3788 "rwlparser.y" /* yacc.c:1646 */ + case 395: +#line 3847 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMEDSQL); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); @@ -7543,11 +7639,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (bit(rwm->m3flags,RWL_P3_IMPLCASE)) bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); } -#line 7547 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7643 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 390: -#line 3797 "rwlparser.y" /* yacc.c:1646 */ + case 396: +#line 3856 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_IMMISDYN) && bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -7584,26 +7680,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); cannotdoimm: ; } -#line 7588 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7684 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 392: -#line 3835 "rwlparser.y" /* yacc.c:1646 */ + case 398: +#line 3894 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG) ; yyerrok; } -#line 7597 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7693 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 394: -#line 3843 "rwlparser.y" /* yacc.c:1646 */ + case 400: +#line 3902 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7603 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7699 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 395: -#line 3844 "rwlparser.y" /* yacc.c:1646 */ + case 401: +#line 3903 "rwlparser.y" /* yacc.c:1646 */ { if ((rwm->msqlstk = rwlexprfinish(rwm))) bis(rwm->m3flags, RWL_P3_IMMISDYN); // now dynamic @@ -7613,99 +7709,99 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 7617 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7713 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 396: -#line 3856 "rwlparser.y" /* yacc.c:1646 */ + case 402: +#line 3915 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno; } -#line 7625 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7721 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 400: -#line 3865 "rwlparser.y" /* yacc.c:1646 */ + case 406: +#line 3924 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "sql") ; } -#line 7633 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7729 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 403: -#line 3876 "rwlparser.y" /* yacc.c:1646 */ + case 409: +#line 3935 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7641 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7737 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 404: -#line 3880 "rwlparser.y" /* yacc.c:1646 */ + case 410: +#line 3939 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7650 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7746 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 405: -#line 3888 "rwlparser.y" /* yacc.c:1646 */ + case 411: +#line 3947 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7658 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7754 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 406: -#line 3892 "rwlparser.y" /* yacc.c:1646 */ + case 412: +#line 3951 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7666 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7762 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 407: -#line 3896 "rwlparser.y" /* yacc.c:1646 */ + case 413: +#line 3955 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7675 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7771 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 409: -#line 3906 "rwlparser.y" /* yacc.c:1646 */ + case 415: +#line 3965 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = 0; bis(rwm->m2flags, RWL_P2_ATDEFAULT); /* explict choose standard DB */ } -#line 7684 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7780 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 410: -#line 3912 "rwlparser.y" /* yacc.c:1646 */ + case 416: +#line 3971 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); /* named DB */ } -#line 7693 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7789 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 411: -#line 3917 "rwlparser.y" /* yacc.c:1646 */ + case 417: +#line 3976 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_DATABASE_NAME); yyerrok; } -#line 7699 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7795 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 412: -#line 3919 "rwlparser.y" /* yacc.c:1646 */ + case 418: +#line 3978 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 7705 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7801 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 415: -#line 3927 "rwlparser.y" /* yacc.c:1646 */ + case 421: +#line 3986 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename || bit(rwm->addvarbits,RWL_IDENT_PRIVATE)) { @@ -7731,11 +7827,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 7735 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7831 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 416: -#line 3953 "rwlparser.y" /* yacc.c:1646 */ + case 422: +#line 4012 "rwlparser.y" /* yacc.c:1646 */ { // if compiling first file, see if there is a user arg if (bit(rwm->m2flags, RWL_P2_SCANFIRST) && rwm->decvarn >= 0) @@ -7808,20 +7904,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); donewithuserarg: ; } -#line 7812 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7908 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 418: -#line 4030 "rwlparser.y" /* yacc.c:1646 */ + case 424: +#line 4089 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 7821 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7917 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 419: -#line 4035 "rwlparser.y" /* yacc.c:1646 */ + case 425: +#line 4094 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->dtype) @@ -7868,11 +7964,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 7872 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7968 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 424: -#line 4098 "rwlparser.y" /* yacc.c:1646 */ + case 430: +#line 4157 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7887,22 +7983,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_IF, estk); } -#line 7891 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7987 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 425: -#line 4113 "rwlparser.y" /* yacc.c:1646 */ + case 431: +#line 4172 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7902 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7998 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 426: -#line 4122 "rwlparser.y" /* yacc.c:1646 */ + case 432: +#line 4181 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7917,38 +8013,38 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_ELSEIF, estk); } -#line 7921 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8017 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 427: -#line 4137 "rwlparser.y" /* yacc.c:1646 */ + case 433: +#line 4196 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7932 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8028 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 428: -#line 4146 "rwlparser.y" /* yacc.c:1646 */ + case 434: +#line 4205 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LEGACY_WHILE_SYNTAX); } -#line 7940 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8036 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 429: -#line 4150 "rwlparser.y" /* yacc.c:1646 */ + case 435: +#line 4209 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_WHILOP); } -#line 7948 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8044 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 430: -#line 4156 "rwlparser.y" /* yacc.c:1646 */ + case 436: +#line 4215 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7965,33 +8061,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 7969 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8065 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 431: -#line 4173 "rwlparser.y" /* yacc.c:1646 */ + case 437: +#line 4232 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7980 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8076 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 432: -#line 4180 "rwlparser.y" /* yacc.c:1646 */ + case 438: +#line 4239 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_KEYWORD, "loop"); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7991 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8087 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 437: -#line 4197 "rwlparser.y" /* yacc.c:1646 */ + case 443: +#line 4256 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -8007,120 +8103,120 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); nothreadssum: ; } -#line 8011 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8107 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 438: -#line 4213 "rwlparser.y" /* yacc.c:1646 */ + case 444: +#line 4272 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlerror(rwm, RWL_ERROR_NO_LOCAL_SUMGLOB); else bis(rwm->addvarbits,RWL_IDENT_GLOBAL); } -#line 8022 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8118 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 439: -#line 4223 "rwlparser.y" /* yacc.c:1646 */ + case 445: +#line 4282 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8032 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8128 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 440: -#line 4229 "rwlparser.y" /* yacc.c:1646 */ + case 446: +#line 4288 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8041 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8137 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 441: -#line 4237 "rwlparser.y" /* yacc.c:1646 */ + case 447: +#line 4296 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8051 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8147 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 442: -#line 4243 "rwlparser.y" /* yacc.c:1646 */ + case 448: +#line 4302 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8060 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8156 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 443: -#line 4251 "rwlparser.y" /* yacc.c:1646 */ + case 449: +#line 4310 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8070 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8166 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 444: -#line 4257 "rwlparser.y" /* yacc.c:1646 */ + case 450: +#line 4316 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8079 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8175 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 445: -#line 4265 "rwlparser.y" /* yacc.c:1646 */ + case 451: +#line 4324 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8088 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8184 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 446: -#line 4270 "rwlparser.y" /* yacc.c:1646 */ + case 452: +#line 4329 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8096 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8192 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 447: -#line 4276 "rwlparser.y" /* yacc.c:1646 */ + case 453: +#line 4335 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_CLOB; } -#line 8102 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8198 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 448: -#line 4277 "rwlparser.y" /* yacc.c:1646 */ + case 454: +#line 4336 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_BLOB; } -#line 8108 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8204 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 449: -#line 4278 "rwlparser.y" /* yacc.c:1646 */ + case 455: +#line 4337 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_NCLOB; } -#line 8114 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8210 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 450: -#line 4282 "rwlparser.y" /* yacc.c:1646 */ + case 456: +#line 4341 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8120 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8216 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 451: -#line 4283 "rwlparser.y" /* yacc.c:1646 */ + case 457: +#line 4342 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8130,25 +8226,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8134 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8230 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 453: -#line 4294 "rwlparser.y" /* yacc.c:1646 */ + case 459: +#line 4353 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8142 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8238 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 454: -#line 4297 "rwlparser.y" /* yacc.c:1646 */ + case 460: +#line 4356 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8148 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8244 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 455: -#line 4298 "rwlparser.y" /* yacc.c:1646 */ + case 461: +#line 4357 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bic(rwm->m2flags, RWL_P2_BADSQLFILTXT); @@ -8157,19 +8253,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8161 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8257 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 457: -#line 4308 "rwlparser.y" /* yacc.c:1646 */ + case 463: +#line 4367 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8169 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8265 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 460: -#line 4318 "rwlparser.y" /* yacc.c:1646 */ + case 466: +#line 4377 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; @@ -8215,11 +8311,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8219 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8315 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 461: -#line 4365 "rwlparser.y" /* yacc.c:1646 */ + case 467: +#line 4424 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; @@ -8250,11 +8346,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_SQL_ARRAY_AND_IGNERR); } -#line 8254 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8350 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 462: -#line 4399 "rwlparser.y" /* yacc.c:1646 */ + case 468: +#line 4458 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -8263,11 +8359,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 8267 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8363 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 464: -#line 4412 "rwlparser.y" /* yacc.c:1646 */ + case 470: +#line 4471 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; ub4 iflag = bit(rwm->m3flags, RWL_P3_IMMEDSQL) ? RWL_IDENT_INTERNAL : 0; @@ -8341,11 +8437,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8345 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8441 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 465: -#line 4490 "rwlparser.y" /* yacc.c:1646 */ + case 471: +#line 4549 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; ub4 notyetcount = 0; @@ -8438,53 +8534,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8442 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8538 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 469: -#line 4593 "rwlparser.y" /* yacc.c:1646 */ + case 475: +#line 4652 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BIND); yyerrok; } -#line 8448 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8544 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 471: -#line 4597 "rwlparser.y" /* yacc.c:1646 */ + case 477: +#line 4656 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BINDOUT); yyerrok; } -#line 8454 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8550 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 473: -#line 4601 "rwlparser.y" /* yacc.c:1646 */ + case 479: +#line 4660 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DEFINE); yyerrok; } -#line 8460 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8556 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 474: -#line 4603 "rwlparser.y" /* yacc.c:1646 */ + case 480: +#line 4662 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_IGNERR); } -#line 8468 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8564 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 475: -#line 4607 "rwlparser.y" /* yacc.c:1646 */ + case 481: +#line 4666 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8476 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8572 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 476: -#line 4611 "rwlparser.y" /* yacc.c:1646 */ + case 482: +#line 4670 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8484 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8580 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 477: -#line 4616 "rwlparser.y" /* yacc.c:1646 */ + case 483: +#line 4675 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) { @@ -8502,34 +8598,34 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqsav->asiz = (ub4)rwm->pval.ival; } } -#line 8506 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8602 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 478: -#line 4635 "rwlparser.y" /* yacc.c:1646 */ + case 484: +#line 4694 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ARRAY); yyerrok; } -#line 8512 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8608 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 479: -#line 4640 "rwlparser.y" /* yacc.c:1646 */ + case 485: +#line 4699 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON_IN_SQL); } -#line 8518 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8614 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 482: -#line 4646 "rwlparser.y" /* yacc.c:1646 */ + case 488: +#line 4705 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQFLAG_DYNAMIC)) rwlerror(rwm, RWL_ERROR_DEFINE_ARRAY_NOT_DYNAMIC); else bis(rwm->sqsav->flags, RWL_SQFLAG_ARRAYD); } -#line 8529 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8625 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 485: -#line 4660 "rwlparser.y" /* yacc.c:1646 */ + case 491: +#line 4719 "rwlparser.y" /* yacc.c:1646 */ { // Note that it would not be too hard to replace // the integer constant here by an expression @@ -8537,27 +8633,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // can be done with modify sql for dynamic sql rwm->bdpos = rwm->ival; rwm->bdtyp=RWL_DEFINE; } -#line 8541 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8637 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 487: -#line 4669 "rwlparser.y" /* yacc.c:1646 */ + case 493: +#line 4728 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "define"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); } -#line 8551 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8647 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 490: -#line 4683 "rwlparser.y" /* yacc.c:1646 */ + case 496: +#line 4742 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BINDOUT_NAME; } -#line 8557 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8653 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 492: -#line 4685 "rwlparser.y" /* yacc.c:1646 */ + case 498: +#line 4744 "rwlparser.y" /* yacc.c:1646 */ { // We could also use expression here, but we would // of course need to check it was either a non-negative number @@ -8565,61 +8661,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BINDOUT_POS; } -#line 8569 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8665 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 494: -#line 4693 "rwlparser.y" /* yacc.c:1646 */ + case 500: +#line 4752 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BINDOUT_SAME; } -#line 8577 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8673 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 496: -#line 4697 "rwlparser.y" /* yacc.c:1646 */ + case 502: +#line 4756 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_IMPLICIT_NOT_BINDOUT); } -#line 8585 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8681 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 499: -#line 4708 "rwlparser.y" /* yacc.c:1646 */ + case 505: +#line 4767 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BIND_NAME; } -#line 8591 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8687 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 501: -#line 4710 "rwlparser.y" /* yacc.c:1646 */ + case 507: +#line 4769 "rwlparser.y" /* yacc.c:1646 */ { // same comment as above rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BIND_POS; } -#line 8601 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8697 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 503: -#line 4716 "rwlparser.y" /* yacc.c:1646 */ + case 509: +#line 4775 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BIND_SAME; } -#line 8609 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8705 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 505: -#line 4720 "rwlparser.y" /* yacc.c:1646 */ + case 511: +#line 4779 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "bind"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); } -#line 8619 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8715 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 506: -#line 4729 "rwlparser.y" /* yacc.c:1646 */ + case 512: +#line 4788 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; bd = rwlalloc(rwm, sizeof(rwl_bindef)); @@ -8713,41 +8809,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8717 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8813 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 507: -#line 4825 "rwlparser.y" /* yacc.c:1646 */ + case 513: +#line 4884 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "runseconds", "bind/define"); } -#line 8726 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8822 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 508: -#line 4830 "rwlparser.y" /* yacc.c:1646 */ + case 514: +#line 4889 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "epochseconds", "bind/define"); } -#line 8735 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8831 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 509: -#line 4834 "rwlparser.y" /* yacc.c:1646 */ + case 515: +#line 4893 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8741 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8837 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 510: -#line 4835 "rwlparser.y" /* yacc.c:1646 */ + case 516: +#line 4894 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8747 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8843 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 511: -#line 4839 "rwlparser.y" /* yacc.c:1646 */ + case 517: +#line 4898 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8764,11 +8860,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8768 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8864 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 512: -#line 4856 "rwlparser.y" /* yacc.c:1646 */ + case 518: +#line 4915 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8785,11 +8881,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8789 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8885 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 513: -#line 4873 "rwlparser.y" /* yacc.c:1646 */ + case 519: +#line 4932 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8806,11 +8902,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8810 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8906 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 514: -#line 4890 "rwlparser.y" /* yacc.c:1646 */ + case 520: +#line 4949 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8833,17 +8929,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8837 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8933 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 515: -#line 4912 "rwlparser.y" /* yacc.c:1646 */ + case 521: +#line 4971 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8843 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8939 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 516: -#line 4913 "rwlparser.y" /* yacc.c:1646 */ + case 522: +#line 4972 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8874,11 +8970,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8878 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8974 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 517: -#line 4944 "rwlparser.y" /* yacc.c:1646 */ + case 523: +#line 5003 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8899,17 +8995,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8903 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8999 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 518: -#line 4964 "rwlparser.y" /* yacc.c:1646 */ + case 524: +#line 5023 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8909 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9005 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 519: -#line 4965 "rwlparser.y" /* yacc.c:1646 */ + case 525: +#line 5024 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0 && (rwm->msqlstk = rwlexprfinish(rwm))) { @@ -8931,11 +9027,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8935 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9031 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 520: -#line 4987 "rwlparser.y" /* yacc.c:1646 */ + case 526: +#line 5046 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8950,11 +9046,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8954 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9050 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 522: -#line 5002 "rwlparser.y" /* yacc.c:1646 */ + case 528: +#line 5061 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8969,11 +9065,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8973 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9069 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 524: -#line 5017 "rwlparser.y" /* yacc.c:1646 */ + case 530: +#line 5076 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8988,23 +9084,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8992 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9088 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 528: -#line 5037 "rwlparser.y" /* yacc.c:1646 */ + case 534: +#line 5096 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8998 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9094 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 529: -#line 5039 "rwlparser.y" /* yacc.c:1646 */ + case 535: +#line 5098 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlstk = rwlexprfinish(rwm); } -#line 9004 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9100 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 530: -#line 5041 "rwlparser.y" /* yacc.c:1646 */ + case 536: +#line 5100 "rwlparser.y" /* yacc.c:1646 */ { sb4 l2; rwl_sql *sq; @@ -9055,11 +9151,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 9059 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9155 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 531: -#line 5094 "rwlparser.y" /* yacc.c:1646 */ + case 537: +#line 5153 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; rwl_estack *estk; @@ -9089,21 +9185,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbcache: ; } -#line 9093 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9189 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 532: -#line 5124 "rwlparser.y" /* yacc.c:1646 */ + case 538: +#line 5183 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbsphi = rwm->mdbsplo = rwlexprfinish(rwm); if (!rwm->mdbsplo) rwlexprclear(rwm); } -#line 9103 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9199 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 533: -#line 5130 "rwlparser.y" /* yacc.c:1646 */ + case 539: +#line 5189 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; // are lo/hi good @@ -9132,20 +9228,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbpool: rwm->mdbsphi = rwm->mdbsplo = 0; } -#line 9136 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9232 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 535: -#line 5162 "rwlparser.y" /* yacc.c:1646 */ + case 541: +#line 5221 "rwlparser.y" /* yacc.c:1646 */ { if (!(rwm->mdbsphi = rwlexprfinish(rwm))) rwlexprclear(rwm); } -#line 9145 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9241 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 536: -#line 5169 "rwlparser.y" /* yacc.c:1646 */ + case 542: +#line 5228 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9165,23 +9261,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9169 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9265 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 538: -#line 5192 "rwlparser.y" /* yacc.c:1646 */ + case 544: +#line 5251 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9175 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9271 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 539: -#line 5193 "rwlparser.y" /* yacc.c:1646 */ + case 545: +#line 5252 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9181 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9277 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 540: -#line 5197 "rwlparser.y" /* yacc.c:1646 */ + case 546: +#line 5256 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->strvarn = RWL_VAR_NOTFOUND; @@ -9201,11 +9297,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->conhead = rwm->contail = 0; } -#line 9205 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9301 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 541: -#line 5217 "rwlparser.y" /* yacc.c:1646 */ + case 547: +#line 5276 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpupu(rwm, RWL_CODE_SPRINTF, rwm->strvnam @@ -9219,11 +9315,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9223 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9319 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 542: -#line 5235 "rwlparser.y" /* yacc.c:1646 */ + case 548: +#line 5294 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9242,19 +9338,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9246 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9342 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 544: -#line 5257 "rwlparser.y" /* yacc.c:1646 */ + case 550: +#line 5316 "rwlparser.y" /* yacc.c:1646 */ { rwm->conhead = rwm->contail = 0; } -#line 9254 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9350 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 545: -#line 5261 "rwlparser.y" /* yacc.c:1646 */ + case 551: +#line 5320 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpup(rwm, RWL_CODE_FPRINTF, rwm->filenam @@ -9275,11 +9371,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9279 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9375 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 548: -#line 5289 "rwlparser.y" /* yacc.c:1646 */ + case 554: +#line 5348 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwl_conlist *newcon; @@ -9298,11 +9394,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9302 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9398 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 549: -#line 5310 "rwlparser.y" /* yacc.c:1646 */ + case 555: +#line 5369 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9323,11 +9419,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->mflags,RWL_P_PRINTLINE); } -#line 9327 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9423 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 550: -#line 5332 "rwlparser.y" /* yacc.c:1646 */ + case 556: +#line 5391 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9348,35 +9444,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_PRINTLINE); } -#line 9352 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9448 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 551: -#line 5356 "rwlparser.y" /* yacc.c:1646 */ + case 557: +#line 5415 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9361 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9457 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 552: -#line 5361 "rwlparser.y" /* yacc.c:1646 */ + case 558: +#line 5420 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9370 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9466 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 554: -#line 5369 "rwlparser.y" /* yacc.c:1646 */ + case 560: +#line 5428 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTBLANK); } -#line 9376 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9472 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 556: -#line 5374 "rwlparser.y" /* yacc.c:1646 */ + case 562: +#line 5433 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -9434,11 +9530,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9438 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9534 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 557: -#line 5435 "rwlparser.y" /* yacc.c:1646 */ + case 563: +#line 5494 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mflags,RWL_P_PRINTLINE)) { @@ -9470,11 +9566,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 9474 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9570 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 558: -#line 5470 "rwlparser.y" /* yacc.c:1646 */ + case 564: +#line 5529 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -9485,11 +9581,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ; } } -#line 9489 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9585 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 559: -#line 5485 "rwlparser.y" /* yacc.c:1646 */ + case 565: +#line 5544 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->assignoper) @@ -9538,107 +9634,107 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9542 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9638 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 560: -#line 5534 "rwlparser.y" /* yacc.c:1646 */ + case 566: +#line 5593 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 9552 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9648 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 562: -#line 5544 "rwlparser.y" /* yacc.c:1646 */ + case 568: +#line 5603 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 9561 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9657 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 563: -#line 5551 "rwlparser.y" /* yacc.c:1646 */ + case 569: +#line 5610 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASSIGN; } -#line 9567 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9663 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 564: -#line 5552 "rwlparser.y" /* yacc.c:1646 */ + case 570: +#line 5611 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_GREATEQ; } -#line 9573 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9669 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 565: -#line 5553 "rwlparser.y" /* yacc.c:1646 */ + case 571: +#line 5612 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_RSHIFTASSIGN; } -#line 9579 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9675 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 566: -#line 5554 "rwlparser.y" /* yacc.c:1646 */ + case 572: +#line 5613 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_LESSEQ; } -#line 9585 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9681 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 567: -#line 5555 "rwlparser.y" /* yacc.c:1646 */ + case 573: +#line 5614 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPEFROM; } -#line 9591 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9687 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 568: -#line 5556 "rwlparser.y" /* yacc.c:1646 */ + case 574: +#line 5615 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPETO; } -#line 9597 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9693 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 570: -#line 5560 "rwlparser.y" /* yacc.c:1646 */ + case 576: +#line 5619 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_APPEND; } -#line 9603 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9699 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 571: -#line 5561 "rwlparser.y" /* yacc.c:1646 */ + case 577: +#line 5620 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNADD; } -#line 9609 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9705 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 572: -#line 5562 "rwlparser.y" /* yacc.c:1646 */ + case 578: +#line 5621 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNSUB; } -#line 9615 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9711 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 573: -#line 5563 "rwlparser.y" /* yacc.c:1646 */ + case 579: +#line 5622 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIS; } -#line 9621 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9717 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 574: -#line 5564 "rwlparser.y" /* yacc.c:1646 */ + case 580: +#line 5623 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIC; } -#line 9627 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9723 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 575: -#line 5571 "rwlparser.y" /* yacc.c:1646 */ + case 581: +#line 5630 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } -#line 9638 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9734 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 576: -#line 5578 "rwlparser.y" /* yacc.c:1646 */ + case 582: +#line 5637 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; sb4 l; @@ -9664,11 +9760,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllityp[rwm->rsldepth] = RWL_LI_DOTDOT; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 9668 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9764 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 578: -#line 5604 "rwlparser.y" /* yacc.c:1646 */ + case 584: +#line 5663 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeadd0(rwm, RWL_CODE_LIBEG); rwm->rsllihead[rwm->rsldepth] @@ -9681,11 +9777,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); rwm->rsllitail[rwm->rsldepth]->listk = rwlexprfinish(rwm); } -#line 9685 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9781 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 580: -#line 5618 "rwlparser.y" /* yacc.c:1646 */ + case 586: +#line 5677 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwlexprclear(rwm); @@ -9695,11 +9791,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); yyerrok; } -#line 9699 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9795 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 583: -#line 5637 "rwlparser.y" /* yacc.c:1646 */ + case 589: +#line 5696 "rwlparser.y" /* yacc.c:1646 */ { rwl_lilist *thisli = rwlalloc(rwm, sizeof(rwl_lilist)); rwlexprpush(rwm, rwm->loopvar[rwm->rsldepth], RWL_STACK_ASN); @@ -9707,61 +9803,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllitail[rwm->rsldepth]->linxt = thisli; rwm->rsllitail[rwm->rsldepth] = thisli; } -#line 9711 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9807 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 586: -#line 5657 "rwlparser.y" /* yacc.c:1646 */ + case 592: +#line 5716 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 9720 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9816 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 587: -#line 5662 "rwlparser.y" /* yacc.c:1646 */ + case 593: +#line 5721 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 9728 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9824 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 590: -#line 5671 "rwlparser.y" /* yacc.c:1646 */ + case 596: +#line 5730 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "execute") ; } -#line 9734 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9830 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 593: -#line 5678 "rwlparser.y" /* yacc.c:1646 */ + case 599: +#line 5737 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; } -#line 9740 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9836 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 596: -#line 5685 "rwlparser.y" /* yacc.c:1646 */ + case 602: +#line 5744 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "if") ; yyerrok; } -#line 9746 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9842 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 599: -#line 5692 "rwlparser.y" /* yacc.c:1646 */ + case 605: +#line 5751 "rwlparser.y" /* yacc.c:1646 */ { if (0 != rwlstrcmp(rwm->inam, rwm->sqname)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname); } -#line 9755 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9851 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 600: -#line 5697 "rwlparser.y" /* yacc.c:1646 */ + case 606: +#line 5756 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname) ; yyerrok; } -#line 9761 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9857 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 602: -#line 5703 "rwlparser.y" /* yacc.c:1646 */ + case 608: +#line 5762 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile1]"); @@ -9772,11 +9868,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop"); } } -#line 9776 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9872 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 603: -#line 5714 "rwlparser.y" /* yacc.c:1646 */ + case 609: +#line 5773 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile2]"); @@ -9787,11 +9883,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while"); } } -#line 9791 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9887 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 604: -#line 5725 "rwlparser.y" /* yacc.c:1646 */ + case 610: +#line 5784 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->rslflags[rwm->rsldepth-1], RWL_RSLFLAG_WHILOP)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; @@ -9799,27 +9895,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while") ; yyerrok; } -#line 9803 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9899 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 605: -#line 5736 "rwlparser.y" /* yacc.c:1646 */ + case 611: +#line 5795 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = 0; } -#line 9811 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9907 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 606: -#line 5741 "rwlparser.y" /* yacc.c:1646 */ + case 612: +#line 5800 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = rwlexprfinish(rwm); } -#line 9819 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9915 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 608: -#line 5748 "rwlparser.y" /* yacc.c:1646 */ + case 614: +#line 5807 "rwlparser.y" /* yacc.c:1646 */ { char plsword[6]; /* check for "begin" or "decla" or "--" */ ub4 sb, pb, len; @@ -9874,28 +9970,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_SQLWASPLS); rwlerror(rwm, RWL_ERROR_WARN_COMPILETIME_SQLTEXT, rwm->sqname); } -#line 9878 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9974 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 609: -#line 5805 "rwlparser.y" /* yacc.c:1646 */ + case 615: +#line 5864 "rwlparser.y" /* yacc.c:1646 */ { rwm->loc.errlin = 0; rwm->sqlfile = 0; /* not from a file */ } -#line 9887 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9983 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 610: -#line 5810 "rwlparser.y" /* yacc.c:1646 */ + case 616: +#line 5869 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9895 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9991 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 611: -#line 5814 "rwlparser.y" /* yacc.c:1646 */ + case 617: +#line 5873 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; FILE *f ; @@ -9976,11 +10072,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9980 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10076 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 612: -#line 5897 "rwlparser.y" /* yacc.c:1646 */ + case 618: +#line 5956 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -10000,11 +10096,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 10004 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10100 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 613: -#line 5917 "rwlparser.y" /* yacc.c:1646 */ + case 619: +#line 5976 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) // everything is good { @@ -10027,50 +10123,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10031 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10127 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 614: -#line 5941 "rwlparser.y" /* yacc.c:1646 */ + case 620: +#line 6000 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BAD_READLINE); yyerrok; } -#line 10040 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10136 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 615: -#line 5948 "rwlparser.y" /* yacc.c:1646 */ + case 621: +#line 6007 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = rwm->sub_estk = 0; } -#line 10046 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10142 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 616: -#line 5950 "rwlparser.y" /* yacc.c:1646 */ + case 622: +#line 6009 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10054 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10150 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 617: -#line 5954 "rwlparser.y" /* yacc.c:1646 */ + case 623: +#line 6013 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); } -#line 10062 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10158 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 618: -#line 5958 "rwlparser.y" /* yacc.c:1646 */ + case 624: +#line 6017 "rwlparser.y" /* yacc.c:1646 */ { rwm->sub_estk = rwlexprfinish(rwm); } -#line 10070 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10166 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 619: -#line 5962 "rwlparser.y" /* yacc.c:1646 */ + case 625: +#line 6021 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->reg_estk && rwm->str_estk && rwm->sub_estk) { @@ -10109,60 +10205,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10113 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10209 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 620: -#line 6001 "rwlparser.y" /* yacc.c:1646 */ + case 626: +#line 6060 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10123 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10219 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 621: -#line 6010 "rwlparser.y" /* yacc.c:1646 */ + case 627: +#line 6069 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10131 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10227 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 622: -#line 6014 "rwlparser.y" /* yacc.c:1646 */ + case 628: +#line 6073 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10139 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10235 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 623: -#line 6020 "rwlparser.y" /* yacc.c:1646 */ + case 629: +#line 6079 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10145 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10241 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 624: -#line 6022 "rwlparser.y" /* yacc.c:1646 */ + case 630: +#line 6081 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10153 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10249 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 625: -#line 6026 "rwlparser.y" /* yacc.c:1646 */ + case 631: +#line 6085 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10162 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10258 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 626: -#line 6031 "rwlparser.y" /* yacc.c:1646 */ + case 632: +#line 6090 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10195,44 +10291,44 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10199 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10295 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 627: -#line 6065 "rwlparser.y" /* yacc.c:1646 */ + case 633: +#line 6124 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10209 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10305 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 628: -#line 6074 "rwlparser.y" /* yacc.c:1646 */ + case 634: +#line 6133 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10215 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10311 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 629: -#line 6076 "rwlparser.y" /* yacc.c:1646 */ + case 635: +#line 6135 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10223 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10319 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 630: -#line 6080 "rwlparser.y" /* yacc.c:1646 */ + case 636: +#line 6139 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10232 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10328 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 631: -#line 6085 "rwlparser.y" /* yacc.c:1646 */ + case 637: +#line 6144 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10265,21 +10361,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10269 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10365 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 632: -#line 6119 "rwlparser.y" /* yacc.c:1646 */ + case 638: +#line 6178 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10279 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10375 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 635: -#line 6132 "rwlparser.y" /* yacc.c:1646 */ + case 641: +#line 6191 "rwlparser.y" /* yacc.c:1646 */ { rwl_idlist *newid = rwlalloc(rwm, sizeof(rwl_idlist)); @@ -10320,22 +10416,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10324 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10420 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 636: -#line 6175 "rwlparser.y" /* yacc.c:1646 */ + case 642: +#line 6234 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that the system expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 10335 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10431 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 637: -#line 6184 "rwlparser.y" /* yacc.c:1646 */ + case 643: +#line 6243 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -10351,11 +10447,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10355 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10451 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 638: -#line 6209 "rwlparser.y" /* yacc.c:1646 */ + case 644: +#line 6268 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->threadlist) rwlsevere(rwm, "[rwlparser-thrlistnotclean]"); @@ -10366,11 +10462,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->totthr = 0; } -#line 10370 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10466 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 639: -#line 6221 "rwlparser.y" /* yacc.c:1646 */ + case 645: +#line 6280 "rwlparser.y" /* yacc.c:1646 */ { rwl_thrinfo *next; rwm->loc.errlin = rwm->lexlino; @@ -10389,26 +10485,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->threadlist = rwm->mythr = 0; rwm->loc.errlin = 0; } -#line 10393 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10489 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 640: -#line 6240 "rwlparser.y" /* yacc.c:1646 */ + case 646: +#line 6299 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10399 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10495 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 645: -#line 6254 "rwlparser.y" /* yacc.c:1646 */ + case 651: +#line 6313 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->cqnstop = 0.0; rwm->cqnnow = rwlclock(rwm->mxq,0); } -#line 10408 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10504 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 646: -#line 6259 "rwlparser.y" /* yacc.c:1646 */ + case 652: +#line 6318 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *cp; sb4 l; @@ -10432,11 +10528,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10436 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10532 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 647: -#line 6284 "rwlparser.y" /* yacc.c:1646 */ + case 653: +#line 6343 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstop = rwm->pval.dval; if (rwm->cqnstop < rwm->cqnstart || rwm->cqnstop < rwm->cqnnow) @@ -10445,11 +10541,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->cqnat = 0; } } -#line 10449 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10545 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 648: -#line 6293 "rwlparser.y" /* yacc.c:1646 */ + case 654: +#line 6352 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->cqnat) { @@ -10501,11 +10597,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; rwm->mythr->dbnam = rwm->cqnat; } -#line 10505 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10601 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 649: -#line 6345 "rwlparser.y" /* yacc.c:1646 */ + case 655: +#line 6404 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->cqnat) // no errors above { @@ -10530,11 +10626,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m4flags, RWL_P4_PROCHASSQL); } -#line 10534 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10630 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 650: -#line 6370 "rwlparser.y" /* yacc.c:1646 */ + case 656: +#line 6429 "rwlparser.y" /* yacc.c:1646 */ { rwlcodehead(rwm, 0); if (rwm->cqnat) // No error above @@ -10562,37 +10658,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_CQNTHEN; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10566 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10662 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 651: -#line 6398 "rwlparser.y" /* yacc.c:1646 */ + case 657: +#line 6457 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeaddu(rwm, RWL_CODE_CQNISCB, 0); // Is in callback rwlcodetail(rwm); } -#line 10575 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10671 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 655: -#line 6409 "rwlparser.y" /* yacc.c:1646 */ + case 661: +#line 6468 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "querynotification"); yyerrok; } -#line 10584 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10680 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 657: -#line 6418 "rwlparser.y" /* yacc.c:1646 */ + case 663: +#line 6477 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->pval.dval; } -#line 10592 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10688 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 658: -#line 6425 "rwlparser.y" /* yacc.c:1646 */ + case 664: +#line 6484 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m4flags, RWL_P4_PROCHASSQL); if (rwm->pval.ival < 0) @@ -10608,45 +10704,45 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_THREAD; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10612 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10708 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 659: -#line 6443 "rwlparser.y" /* yacc.c:1646 */ + case 665: +#line 6502 "rwlparser.y" /* yacc.c:1646 */ { rwlcodetail(rwm); } -#line 10620 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10716 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 661: -#line 6448 "rwlparser.y" /* yacc.c:1646 */ + case 667: +#line 6507 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10626 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10722 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 663: -#line 6453 "rwlparser.y" /* yacc.c:1646 */ + case 669: +#line 6512 "rwlparser.y" /* yacc.c:1646 */ { rwm->mythr->dbnam = rwm->inam; } -#line 10634 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10730 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 666: -#line 6462 "rwlparser.y" /* yacc.c:1646 */ + case 672: +#line 6521 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "threads") ; } -#line 10640 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10736 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 669: -#line 6470 "rwlparser.y" /* yacc.c:1646 */ + case 675: +#line 6529 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "run") ; } -#line 10646 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10742 "rwlparser.tab.c" /* yacc.c:1646 */ break; -#line 10650 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10746 "rwlparser.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/rwlparser.tab.h b/src/rwlparser.tab.h index 0dfaa84b..f6e1d37b 100644 --- a/src/rwlparser.tab.h +++ b/src/rwlparser.tab.h @@ -225,7 +225,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 476 "rwlparser.y" /* yacc.c:1909 */ +#line 477 "rwlparser.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets diff --git a/src/rwlparser.y b/src/rwlparser.y index d8c54a3c..850cc752 100644 --- a/src/rwlparser.y +++ b/src/rwlparser.y @@ -11,6 +11,7 @@ * * History * + * bengsig 10-oct-2024 - sessionpool release every/count * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 29-aug-2024 - string->integer can be hex * mkdash 12-aug-2024 - dbseconds and ociseconds functions @@ -883,7 +884,7 @@ dbspec: } } maybemaxpoolsize - mayberelease + releaselist | RWL_T_CURSORCACHE compiletime_expression { if (rwm->dbsav) @@ -903,12 +904,13 @@ dbspec: rwm->dbsav->poolmin = rwlcheckminval(rwm->mxq, 0, rwm->pval.ival,0,0, (text *)"sessionpool min size"); rwm->dbsav->ptimeout = RWL_DBPOOL_DEFAULT_TIMEOUT; + rwm->dbsav->pmaxuse = 0; rwm->dbsav->pooltext = "session pool"; rwm->misctxt = (text *)"sessionpool max size"; } } maybemaxpoolsize - mayberelease + releaselist maybewait | RWL_T_DRCP { @@ -1000,9 +1002,66 @@ maybemaxpoolsize: } ; -mayberelease: +releaselist: %empty - | RWL_T_RELEASE compiletime_expression + | releaselist poolrelease + ; + +poolrelease: + poolreleasecount + | poolreleaseevery + | poolreleaseidle + +poolreleasecount: + RWL_T_RELEASE RWL_T_COUNT compiletime_expression + { +#if (OCI_MAJOR_VERSION > 12) + if (rwm->dbsav) + { + if (RWL_DBPOOL_CONNECT==rwm->dbsav->pooltype) + rwlerror(rwm, RWL_ERROR_CPOOL_NOT_RELEASE_COUNT + , rwm->dbsav->vname, "count"); + else + { + if (rwm->dbsav->pmaxuse) + rwlerror(rwm, RWL_ERROR_DBSPEC_ALREADY, "release count"); + else + rwm->dbsav->pmaxuse = rwlcheckminval(rwm->mxq, 0, rwm->pval.ival + , 1 , 1, (text *)"release count"); + } + } +#else + rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool release count"); +#endif + } + ; + +poolreleaseevery: + RWL_T_RELEASE RWL_T_EVERY compiletime_expression + { +#if (OCI_MAJOR_VERSION > 12) + if (rwm->dbsav) + { + if (RWL_DBPOOL_CONNECT==rwm->dbsav->pooltype) + rwlerror(rwm, RWL_ERROR_CPOOL_NOT_RELEASE_COUNT + , rwm->dbsav->vname, "every"); + else + { + if (rwm->dbsav->pmaxlife) + rwlerror(rwm, RWL_ERROR_DBSPEC_ALREADY, "release every"); + else + rwm->dbsav->pmaxuse = rwlcheckminval(rwm->mxq, 0, rwm->pval.ival + , 1 , 1, (text *)"release every"); + } + } +#else + rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool release every"); +#endif + } + ; + +poolreleaseidle: + RWL_T_RELEASE compiletime_expression { if (rwm->dbsav) { diff --git a/src/rwlsql.c b/src/rwlsql.c index 174b8870..158fb638 100644 --- a/src/rwlsql.c +++ b/src/rwlsql.c @@ -11,6 +11,7 @@ * * History * + * bengsig 10-oct-2024 - sessionpool release count/every * bengsig 3-sep-2024 - clean up DEBUG_MISC * bengsig 28-jul-2024 - Save OCISessionGet errors * bengsig 26-jul-2024 - Avoid unneeded logoff/logon @@ -387,6 +388,30 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) goto handledberror; } } +#if (OCI_MAJOR_VERSION > 12) + if (db->pmaxuse) + { + if (OCI_SUCCESS != + (xev->status=OCIAttrSet( db->spool, OCI_HTYPE_SPOOL, + &db->pmaxuse, + 0, OCI_ATTR_SPOOL_MAX_USE_SESSION, xev->errhp)) + ) + { + goto handledberror; + } + } + if (db->pmaxlife) + { + if (OCI_SUCCESS != + (xev->status=OCIAttrSet( db->spool, OCI_HTYPE_SPOOL, + &db->pmaxlife, + 0, OCI_ATTR_SPOOL_MAX_LIFETIME_SESSION, xev->errhp)) + ) + { + goto handledberror; + } + } +#endif #if (OCI_MAJOR_VERSION >= 12) if (db->wtimeout) { diff --git a/test/402.rwl b/test/402.rwl new file mode 100644 index 00000000..f87bcff4 --- /dev/null +++ b/test/402.rwl @@ -0,0 +1,62 @@ +# Test sessionpool release count +$include:"testuserinfo.rwl" +$include:"testsystem.rwl" +$startseconds:0 + +database testpool1 + username test_user + password test_pass + connect test_cstring + sessionpool 0..1 release count 5; + +database testpool2 + username test_user + password test_pass + connect test_cstring + sessionpool 0..1; + +integer logons1, logons2; +sql userlogons + select sum(value) from gv$sysstat where name='user logons cumulative'; + define 1 logons2; +end ; + +userlogons at testsystem; +logons1 := logons2; + +procedure dodual() + double ran; + + sql dual + select dbms_random.value from dual; + define 1 ran; + end; + dual; + print "."; + wait 0.001; +end; + +userlogons at testsystem; +printline "\nlogons=" logons2-logons1; + +run + threads 1 at testpool1 + for count 27 loop + dodual(); + end loop; + end threads; +end run; + +userlogons at testsystem; +printline "\nlogons=" logons2-logons1; + +run + threads 1 at testpool2 + for count 27 loop + dodual(); + end loop; + end threads; +end run; + +userlogons at testsystem; +printline "\nlogons=" logons2-logons1; diff --git a/test/403.rwl b/test/403.rwl new file mode 100644 index 00000000..d9563ff6 --- /dev/null +++ b/test/403.rwl @@ -0,0 +1,58 @@ +# Test sessionpool release every +$include:"testuserinfo.rwl" +$include:"testsystem.rwl" +$startseconds:0 + +integer maxtime := 7; $useroption:maxtime +integer maxlife := 4; $useroption:maxlife + +printline "Call with --maxtime and --maxlife if you are human"; + +database testpool + username test_user + password test_pass + connect test_cstring + sessionpool 0..1 release every maxlife; + +integer logons1, logons2; +sql userlogons + select sum(value) from gv$sysstat where name='user logons cumulative'; + define 1 logons2; +end ; + +userlogons at testsystem; +logons1 := logons2; + +procedure dodual() + double ran; + + sql dual + select dbms_random.value from dual; + define 1 ran; + end; + dual; +end; + +userlogons at testsystem; +printline "\nlogons=" logons2-logons1; + +run + threads 1 at testpool + for start 0.1 every 0.9 stop maxtime loop + dodual(); + printf "%.1f ", runseconds(); + fflush stdout; + end loop; + end threads; + threads 1 at testsystem + for start 0.3 every 0.9 stop maxtime loop + userlogons; + printf "%d ", logons2-logons1; + fflush stdout; + end loop; + end threads; +end run; + +userlogons at testsystem; +printline "\nlogons=" logons2-logons1; +printline; diff --git a/test/test.sh b/test/test.sh index 993f326c..e46a002e 100755 --- a/test/test.sh +++ b/test/test.sh @@ -47,7 +47,7 @@ then testlist="$*" else # note that 323..326 test CQN which we don't currently compile in - testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401' + testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403' fi diffokcount=0; diff --git a/test/testres/402.err.good b/test/testres/402.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/402.out.good b/test/testres/402.out.good new file mode 100644 index 00000000..eaa434b7 --- /dev/null +++ b/test/testres/402.out.good @@ -0,0 +1,6 @@ + +logons=0 +........................... +logons=5 +........................... +logons=5 diff --git a/test/testres/403.err.good b/test/testres/403.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/403.out.good b/test/testres/403.out.good new file mode 100644 index 00000000..18f59a56 --- /dev/null +++ b/test/testres/403.out.good @@ -0,0 +1,6 @@ +Call with --maxtime and --maxlife if you are human + +logons=0 +0.1 0 1.0 0 1.9 0 2.8 1 3.7 1 4.6 1 5.5 1 6.4 2 +logons=2 + From e853b153e1bc9800954f5c7fabd1ebc521e9125a Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Fri, 11 Oct 2024 09:13:09 +0000 Subject: [PATCH 100/118] Add rwl_pool_mix_use/lifetime to oltp workload session pool --- oltp/oltp.rwl | 5 +++++ oltp/parameters.rwl | 5 +++++ oltp/run_user.rwl | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/oltp/oltp.rwl b/oltp/oltp.rwl index 254f3b34..570d3d88 100644 --- a/oltp/oltp.rwl +++ b/oltp/oltp.rwl @@ -387,6 +387,11 @@ rwl_daily_html := "daily.html"; # You can modify the aggresiveness of logons by changing the time # OCI waits until it disconnects an unused session in the pool # rwl_pool_release := 5.0; # default is 5.0 +# The next two will set OCI_ATTR_SPOOL_MAX_USE_SESSION or +# OCI_ATTR_SPOOL_MAX_LIFETIME_SESSION. Default are not set (null) +# implying there will be no max use or lifetime +# rwl_pool_max_use; +# rwl_pool_max_lifetime; # By default, an instance level awr report is gathered for all # instances that are open. If you also want to create a global diff --git a/oltp/parameters.rwl b/oltp/parameters.rwl index 56999675..43825c46 100644 --- a/oltp/parameters.rwl +++ b/oltp/parameters.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 10-oct-2023 - sessionpool max use/lifetime # bengsig 31-jul-2023 - rategradientstep # bengsig 17-jun-2023 - add mtit_partitions parameter # bengsig 23-may-2024 - Fix s24 full scan message @@ -67,6 +68,8 @@ double rampfactor := 0.1; integer rwl_min_pool := 3; integer rwl_max_pool := 10; double rwl_pool_release := 5.0; +integer rwl_pool_max_use; +integer rwl_pool_max_lifetime; double max_sessionwait := 30; # how long to wait max to get a session # Reduce if you want more parsing, increase if you want less @@ -631,6 +634,8 @@ if show_changed_values then end if; printline "rwl_max_pool="||rwl_max_pool; printline "rwl_pool_release="||rwl_pool_release; + printf "rwl_pool_max_use=%Nd\n", rwl_pool_max_use; + printf "rwl_pool_max_lifetime=%Nd\n", rwl_pool_max_lifetime; else if pool_type = "drcp" then printline "normal pool uses drcp"; diff --git a/oltp/run_user.rwl b/oltp/run_user.rwl index 49e7f07e..d87913d0 100644 --- a/oltp/run_user.rwl +++ b/oltp/run_user.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 10-oct-2024 - rwl_pool_max_use/lifetime # bengsig 11-sep-2023 - max_sessionwait # bengsig 21-mar-2023 - connection pool # bengsig 25-oct-2022 - External control @@ -57,6 +58,8 @@ $if $RWLOLTP_SIDE = "2" $then $if pool_type = "sessionpool" $then sessionpool rwl_min_pool .. rwl_max_pool release rwl_pool_release + $if rwl_pool_max_use is not null $then release count rwl_pool_max_use $endif + $if rwl_pool_max_lifetime is not null $then release every rwl_pool_max_lifetime $endif $if xc_enabled $then wait xc_sessionwait then call_failure("No session available due to ORA-" oraerror) $else @@ -138,6 +141,8 @@ $else $if pool_type = "sessionpool" $then sessionpool rwl_min_pool .. rwl_max_pool release rwl_pool_release + $if rwl_pool_max_use is not null $then release count rwl_pool_max_use $endif + $if rwl_pool_max_lifetime is not null $then release every rwl_pool_max_lifetime $endif $if xc_enabled $then wait xc_sessionwait then call_failure("No session available due to ORA-" oraerror) $else From 10bb2edd8bce4fbd8c886c902c3224f00637b05d Mon Sep 17 00:00:00 2001 From: Liam Pierce Date: Thu, 17 Oct 2024 14:07:38 -0700 Subject: [PATCH 101/118] Added awr_replication_cmd and updated relevant man pages. --- bin/mtitplot | 3 +++ bin/oltpplot | 3 +++ man/man2rwl/oltpsetup.2rwl | 25 +++++++++++++++++++++++++ oltp/oltp.rwl | 5 +++++ oltp/parameters.rwl | 1 + oltp/parameters2shell.rwl | 6 ++++++ 6 files changed, 43 insertions(+) diff --git a/bin/mtitplot b/bin/mtitplot index 674636af..c150d75a 100755 --- a/bin/mtitplot +++ b/bin/mtitplot @@ -437,3 +437,6 @@ $osstatembed
    END +if [ -n "$awr_replication_cmd" ]; then + eval $awr_replication_cmd +fi \ No newline at end of file diff --git a/bin/oltpplot b/bin/oltpplot index 0f1ea461..4765f6dd 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -1174,3 +1174,6 @@ then echo '
    ' >> $awrdirectory$subdir$runnumber/index.html fi +if [ -n "$awr_replication_cmd" ]; then + eval $awr_replication_cmd +fi diff --git a/man/man2rwl/oltpsetup.2rwl b/man/man2rwl/oltpsetup.2rwl index 8f94958c..758202d4 100644 --- a/man/man2rwl/oltpsetup.2rwl +++ b/man/man2rwl/oltpsetup.2rwl @@ -662,6 +662,31 @@ If the procedure is not declared, the following will be used .P implying rwloadsim will be started locally. This is always used for process number 1, as it must run locally. +.SH "REMOTE REPORT REPLICATION" +.P +When \fBrwloadsim\fR is running on a machine that cannot host a webservice, it may be useful to replicate the report data to a remote machine. This can be achieved by setting the \fBawr_replication_cmd\fR parameter to a custom command that replicates the data after the report is generated. By default, \fBawr_replication_cmd\fR is not set, so no replication occurs. +.P +If \fBawr_replication_cmd\fR is defined, it will be executed each time a report is generated, allowing automated replication to the specified remote machine. The command typically uses \fBrsync\fR to securely copy the report data. Below is an example of how to configure \fBawr_replication_cmd\fR with \fBrsync\fR: +.P +.nf +rsync -avz -e "ssh -i /path/to/identity" \\ + --rsync-path="mkdir -p /path/to/replicate${subdir}${runnumber} \\ + && rsync" $awrdirectory${subdir}${runnumber} \\ + user@host:/path/to/replicate${subdir}${runnumber} +.fi +.P +In this example: +.IP +- \fB-avz\fR options enable archive mode (preserving file permissions, timestamps, etc.), verbose output, and compression during transfer. +.IP +- \fB-e\fR specifies the SSH command, here with a custom identity file (\fI/path/to/identity\fR). +.IP +- \fB--rsync-path\fR is used to ensure that the remote directory structure exists by creating the necessary directories with \fBmkdir -p\fR before starting the transfer. +.IP +- The path variables \fI$subdir\fR and \fI$runnumber\fR dynamically set the subdirectory and run number for replication, creating an organized directory structure on the remote machine. +.P +This approach ensures that the report data is replicated to the specified path on the remote host, facilitating centralized data access even when \fBrwloadsim\fR is executed on a machine without webservice capabilities. + .SH "SAVING PASSWORDS IN KEYRING" If you have gnome keyring available, you can use that to save passwords rather than having them in your $RWLOLTP_NAME.rwl file. diff --git a/oltp/oltp.rwl b/oltp/oltp.rwl index 570d3d88..e24d9701 100644 --- a/oltp/oltp.rwl +++ b/oltp/oltp.rwl @@ -18,6 +18,11 @@ awrdirectory := "/NOTSET/var/www/html/key"; resultsdir:="/NOTSET/home/results/key"; +# Specify a command for awr results replication. +# The awr_replication_cmd is evaluated in bash as a single quoted string, meaning no variables will be injected directly. + +# awr_replication_cmd := "rsync -avz -e \"ssh -i /path/to/identity\" --rsync-path=\"mkdir -p /path/to/replicate${subdir}${runnumber} && rsync\" ${awrdirectory}${subdir}${runnumber} user@host:/path/to/replicate${subdir}${runnumber}"; + # The rwloltp suite uses several different connect # strings for different purposes. In many casess # they can have the same value. diff --git a/oltp/parameters.rwl b/oltp/parameters.rwl index 43825c46..6b1a123d 100644 --- a/oltp/parameters.rwl +++ b/oltp/parameters.rwl @@ -284,6 +284,7 @@ double pool_size_interval := 300; # These are the ones that MUST be set by the user: string awrdirectory := "/nowhere"; +string(1000) awr_replication_cmd := ""; string resultsdir := "/nowhere"; string subdir := "/r"||runnumber/1000||"/"; string system_connect := "//machine/database"; diff --git a/oltp/parameters2shell.rwl b/oltp/parameters2shell.rwl index ff52a560..3344a34c 100644 --- a/oltp/parameters2shell.rwl +++ b/oltp/parameters2shell.rwl @@ -102,6 +102,12 @@ if only_directories or !only_plus then printline "rwloadsimdir='"||rwloadsimdir||"'"; end if; +if !only_directories and !only_plus then + #string(1000) escaped_replication_cmd; + #regexsubg "\"", awr_replication_cmd, "\\\\\"", escaped_replication_cmd; + printline "awr_replication_cmd='"||awr_replication_cmd||"'"; +end if; + if only_plus or !only_directories then if passwords then printline "#AWR: sqlplus " sysawr_username "/" sysawr_password "@" sysawr_connect; From 83e005d7d63864b869a01be971eacd837dfa8c76 Mon Sep 17 00:00:00 2001 From: Liam Pierce Date: Thu, 17 Oct 2024 14:08:05 -0700 Subject: [PATCH 102/118] Cleaned up parameters2shell changes. --- oltp/parameters2shell.rwl | 2 -- 1 file changed, 2 deletions(-) diff --git a/oltp/parameters2shell.rwl b/oltp/parameters2shell.rwl index 3344a34c..a3ef652a 100644 --- a/oltp/parameters2shell.rwl +++ b/oltp/parameters2shell.rwl @@ -103,8 +103,6 @@ if only_directories or !only_plus then end if; if !only_directories and !only_plus then - #string(1000) escaped_replication_cmd; - #regexsubg "\"", awr_replication_cmd, "\\\\\"", escaped_replication_cmd; printline "awr_replication_cmd='"||awr_replication_cmd||"'"; end if; From 856c69db62e44f04b2bb35124af24b31f50764cf Mon Sep 17 00:00:00 2001 From: Liam Pierce Date: Tue, 22 Oct 2024 11:21:07 -0700 Subject: [PATCH 103/118] Added tags. --- bin/mtitplot | 1 + bin/oltpplot | 1 + oltp/parameters.rwl | 1 + oltp/parameters2shell.rwl | 1 + 4 files changed, 4 insertions(+) diff --git a/bin/mtitplot b/bin/mtitplot index c150d75a..3f5dfd47 100755 --- a/bin/mtitplot +++ b/bin/mtitplot @@ -5,6 +5,7 @@ # Changes: # +# lpierce 17-oct-2024 added awr_replication_cmd execution # bengsig 8-may-2024 global osstat # bengsig 2-may-2024 --fractiles-dropped option to oltpplot # bengsig 28-apr-2024 osstat diff --git a/bin/oltpplot b/bin/oltpplot index 4765f6dd..7c29165f 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -5,6 +5,7 @@ # Changes: # +# lpierce 17-oct-2024 - added awr_replication_cmd execution # bengsig 23-jul-2024 - ping->connping # bengsig 22-jul-2024 - Show min/max pool when xc changes # bengsig 22-jul-2024 - Add cstorm logoff time diff --git a/oltp/parameters.rwl b/oltp/parameters.rwl index 6b1a123d..c9c8aadb 100644 --- a/oltp/parameters.rwl +++ b/oltp/parameters.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# lpierce 17-oct-2024 - added awr_replication_cmd # bengsig 10-oct-2023 - sessionpool max use/lifetime # bengsig 31-jul-2023 - rategradientstep # bengsig 17-jun-2023 - add mtit_partitions parameter diff --git a/oltp/parameters2shell.rwl b/oltp/parameters2shell.rwl index a3ef652a..17b8b3e1 100644 --- a/oltp/parameters2shell.rwl +++ b/oltp/parameters2shell.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# lpierce 17-oct-2024 - added export of awr_replication_cmd # bengsig 19-mar-2024 - cstorm # bengsig 24-apr-2023 - mtit # bengsig 25-oct-2022 - External control From 0c6fe882b5157b2b16bdc8bae5a7f3efb03e4920 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 24 Oct 2024 12:12:51 +0000 Subject: [PATCH 104/118] Bugfix with missing bic RWL_P4_PROCHASSQL --- src/rwlparser.tab.c | 1944 ++++++++++++++++++++++--------------------- src/rwlparser.tab.h | 2 +- src/rwlparser.y | 11 +- 3 files changed, 985 insertions(+), 972 deletions(-) diff --git a/src/rwlparser.tab.c b/src/rwlparser.tab.c index 6ed8cc21..aca5a524 100644 --- a/src/rwlparser.tab.c +++ b/src/rwlparser.tab.c @@ -69,7 +69,7 @@ /* Copy the first part of user declarations. */ -#line 160 "rwlparser.y" /* yacc.c:339 */ +#line 161 "rwlparser.y" /* yacc.c:339 */ #include "rwl.h" @@ -585,7 +585,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 477 "rwlparser.y" /* yacc.c:355 */ +#line 478 "rwlparser.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -929,75 +929,75 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 539, 539, 546, 550, 552, 551, 567, 568, 569, - 571, 574, 581, 583, 600, 599, 609, 608, 617, 616, - 626, 625, 635, 640, 649, 650, 654, 653, 660, 665, - 673, 674, 678, 677, 685, 684, 757, 762, 763, 775, - 776, 779, 780, 783, 793, 798, 806, 819, 850, 861, - 873, 872, 888, 898, 897, 915, 925, 935, 945, 958, - 959, 962, 970, 980, 991, 1006, 1007, 1011, 1012, 1013, - 1016, 1040, 1064, 1076, 1078, 1077, 1090, 1091, 1097, 1096, - 1124, 1131, 1138, 1139, 1143, 1144, 1147, 1160, 1159, 1211, - 1223, 1222, 1243, 1248, 1255, 1260, 1267, 1352, 1353, 1357, - 1366, 1367, 1370, 1371, 1372, 1376, 1377, 1381, 1409, 1411, - 1413, 1415, 1430, 1435, 1440, 1448, 1449, 1451, 1453, 1472, - 1474, 1473, 1489, 1488, 1504, 1503, 1519, 1562, 1576, 1590, - 1604, 1616, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, - 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1636, 1638, 1640, - 1642, 1643, 1646, 1649, 1650, 1654, 1659, 1660, 1661, 1663, - 1665, 1666, 1668, 1679, 1690, 1694, 1700, 1704, 1710, 1714, - 1720, 1725, 1729, 1737, 1735, 1762, 1766, 1770, 1776, 1782, - 1786, 1787, 1791, 1792, 1796, 1801, 1802, 1803, 1808, 1809, - 1810, 1811, 1812, 1816, 1817, 1818, 1819, 1823, 1824, 1825, - 1828, 1829, 1830, 1834, 1835, 1836, 1837, 1838, 1839, 1843, - 1844, 1845, 1849, 1850, 1854, 1855, 1859, 1860, 1864, 1866, - 1865, 1883, 1885, 1884, 1900, 1902, 1911, 1901, 1926, 1927, - 1931, 1932, 1942, 1943, 1947, 1955, 1958, 1957, 1964, 1967, - 1966, 1970, 1972, 1974, 1976, 1979, 1985, 2014, 2029, 2042, - 2044, 2045, 2049, 2051, 2055, 2057, 2062, 2061, 2068, 2067, - 2079, 2084, 2083, 2091, 2095, 2119, 2145, 2143, 2171, 2169, - 2279, 2288, 2287, 2291, 2290, 2295, 2301, 2300, 2310, 2309, - 2318, 2331, 2336, 2330, 2364, 2372, 2377, 2371, 2406, 2413, - 2429, 2428, 2441, 2457, 2468, 2474, 2480, 2492, 2504, 2514, - 2524, 2523, 2536, 2542, 2540, 2658, 2665, 2681, 2683, 2685, - 2685, 2686, 2689, 2691, 2693, 2690, 2695, 2699, 2698, 2813, - 2846, 2854, 2879, 2853, 2930, 2931, 2932, 2933, 2935, 2936, - 2944, 2945, 2953, 2954, 2963, 2966, 2965, 2974, 2976, 2984, - 2992, 3001, 3009, 3011, 3018, 3019, 3030, 3066, 3103, 3144, - 3161, 3143, 3202, 3209, 3216, 3215, 3247, 3248, 3256, 3255, - 3303, 3305, 3304, 3314, 3465, 3464, 3612, 3618, 3621, 3637, - 3641, 3645, 3652, 3653, 3657, 3657, 3671, 3671, 3687, 3687, - 3703, 3703, 3717, 3717, 3748, 3749, 3750, 3753, 3759, 3758, - 3768, 3767, 3785, 3784, 3832, 3847, 3856, 3831, 3893, 3901, - 3902, 3902, 3915, 3914, 3921, 3922, 3923, 3929, 3930, 3934, - 3938, 3946, 3950, 3954, 3962, 3963, 3969, 3975, 3977, 3980, - 3981, 3986, 3985, 4087, 4089, 4088, 4143, 4147, 4151, 4152, - 4156, 4171, 4180, 4195, 4204, 4208, 4214, 4231, 4238, 4248, - 4249, 4250, 4254, 4255, 4271, 4281, 4287, 4295, 4301, 4309, - 4315, 4323, 4328, 4335, 4336, 4337, 4341, 4342, 4341, 4352, - 4356, 4357, 4356, 4366, 4373, 4374, 4377, 4377, 4458, 4456, - 4470, 4547, 4644, 4645, 4649, 4650, 4653, 4654, 4657, 4658, - 4661, 4665, 4669, 4673, 4692, 4698, 4700, 4703, 4704, 4713, - 4714, 4719, 4718, 4727, 4737, 4738, 4742, 4742, 4744, 4743, - 4752, 4751, 4755, 4762, 4763, 4767, 4767, 4769, 4768, 4775, - 4774, 4778, 4787, 4883, 4888, 4893, 4894, 4897, 4914, 4931, - 4948, 4971, 4971, 5002, 5023, 5023, 5046, 5045, 5061, 5060, - 5076, 5075, 5092, 5093, 5096, 5098, 5096, 5152, 5183, 5182, - 5219, 5220, 5228, 5227, 5251, 5252, 5256, 5255, 5294, 5293, - 5316, 5316, 5343, 5344, 5347, 5368, 5390, 5414, 5419, 5427, - 5428, 5428, 5432, 5493, 5528, 5543, 5592, 5601, 5602, 5610, - 5611, 5612, 5613, 5614, 5615, 5618, 5619, 5620, 5621, 5622, - 5623, 5630, 5637, 5628, 5663, 5663, 5676, 5689, 5690, 5694, - 5707, 5708, 5715, 5720, 5727, 5728, 5729, 5734, 5735, 5736, - 5741, 5742, 5743, 5748, 5749, 5750, 5755, 5760, 5761, 5772, - 5783, 5794, 5798, 5805, 5806, 5863, 5869, 5868, 5956, 5955, - 5999, 6007, 6009, 6013, 6017, 6006, 6059, 6068, 6072, 6079, - 6081, 6085, 6078, 6123, 6133, 6135, 6139, 6132, 6177, 6186, - 6187, 6190, 6233, 6242, 6268, 6267, 6298, 6304, 6305, 6308, - 6309, 6313, 6318, 6343, 6352, 6404, 6429, 6457, 6312, 6465, - 6466, 6467, 6475, 6476, 6484, 6502, 6483, 6506, 6510, 6511, - 6518, 6519, 6520, 6526, 6527, 6528, 6533, 6534, 6535, 6536, - 6537, 6538, 6539 + 0, 540, 540, 547, 551, 553, 552, 568, 569, 570, + 572, 575, 582, 584, 601, 600, 610, 609, 618, 617, + 627, 626, 636, 641, 650, 651, 655, 654, 661, 666, + 674, 675, 679, 678, 686, 685, 758, 763, 764, 776, + 777, 780, 781, 784, 794, 799, 807, 820, 851, 862, + 874, 873, 889, 899, 898, 916, 926, 936, 946, 959, + 960, 963, 971, 981, 992, 1007, 1008, 1012, 1013, 1014, + 1017, 1041, 1065, 1077, 1079, 1078, 1091, 1092, 1098, 1097, + 1125, 1132, 1139, 1140, 1144, 1145, 1148, 1161, 1160, 1212, + 1224, 1223, 1244, 1249, 1256, 1261, 1268, 1354, 1355, 1359, + 1368, 1369, 1372, 1373, 1374, 1378, 1379, 1383, 1411, 1413, + 1415, 1417, 1432, 1437, 1442, 1450, 1451, 1453, 1455, 1474, + 1476, 1475, 1491, 1490, 1506, 1505, 1521, 1564, 1578, 1592, + 1606, 1618, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, + 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1638, 1640, 1642, + 1644, 1645, 1648, 1651, 1652, 1656, 1661, 1662, 1663, 1665, + 1667, 1668, 1670, 1681, 1692, 1696, 1702, 1706, 1712, 1716, + 1722, 1727, 1731, 1739, 1737, 1764, 1768, 1772, 1778, 1784, + 1788, 1789, 1793, 1794, 1798, 1803, 1804, 1805, 1810, 1811, + 1812, 1813, 1814, 1818, 1819, 1820, 1821, 1825, 1826, 1827, + 1830, 1831, 1832, 1836, 1837, 1838, 1839, 1840, 1841, 1845, + 1846, 1847, 1851, 1852, 1856, 1857, 1861, 1862, 1866, 1868, + 1867, 1885, 1887, 1886, 1902, 1904, 1913, 1903, 1928, 1929, + 1933, 1934, 1944, 1945, 1949, 1957, 1960, 1959, 1966, 1969, + 1968, 1972, 1974, 1976, 1978, 1981, 1987, 2016, 2031, 2044, + 2046, 2047, 2051, 2053, 2057, 2059, 2064, 2063, 2070, 2069, + 2081, 2086, 2085, 2093, 2097, 2121, 2147, 2145, 2173, 2171, + 2282, 2291, 2290, 2294, 2293, 2298, 2304, 2303, 2313, 2312, + 2321, 2334, 2339, 2333, 2367, 2375, 2380, 2374, 2409, 2416, + 2432, 2431, 2444, 2460, 2471, 2477, 2483, 2495, 2507, 2517, + 2527, 2526, 2539, 2545, 2543, 2661, 2668, 2684, 2686, 2688, + 2688, 2689, 2692, 2694, 2696, 2693, 2698, 2702, 2701, 2818, + 2851, 2859, 2884, 2858, 2936, 2937, 2938, 2939, 2941, 2942, + 2950, 2951, 2959, 2960, 2969, 2972, 2971, 2980, 2982, 2990, + 2998, 3007, 3015, 3017, 3024, 3025, 3036, 3072, 3109, 3150, + 3167, 3149, 3209, 3216, 3223, 3222, 3254, 3255, 3263, 3262, + 3310, 3312, 3311, 3321, 3472, 3471, 3619, 3625, 3628, 3644, + 3648, 3652, 3659, 3660, 3664, 3664, 3678, 3678, 3694, 3694, + 3710, 3710, 3724, 3724, 3755, 3756, 3757, 3760, 3766, 3765, + 3775, 3774, 3792, 3791, 3839, 3854, 3863, 3838, 3900, 3908, + 3909, 3909, 3922, 3921, 3928, 3929, 3930, 3936, 3937, 3941, + 3945, 3953, 3957, 3961, 3969, 3970, 3976, 3982, 3984, 3987, + 3988, 3993, 3992, 4094, 4096, 4095, 4150, 4154, 4158, 4159, + 4163, 4178, 4187, 4202, 4211, 4215, 4221, 4238, 4245, 4255, + 4256, 4257, 4261, 4262, 4278, 4288, 4294, 4302, 4308, 4316, + 4322, 4330, 4335, 4342, 4343, 4344, 4348, 4349, 4348, 4359, + 4363, 4364, 4363, 4373, 4380, 4381, 4384, 4384, 4465, 4463, + 4477, 4554, 4651, 4652, 4656, 4657, 4660, 4661, 4664, 4665, + 4668, 4672, 4676, 4680, 4699, 4705, 4707, 4710, 4711, 4720, + 4721, 4726, 4725, 4734, 4744, 4745, 4749, 4749, 4751, 4750, + 4759, 4758, 4762, 4769, 4770, 4774, 4774, 4776, 4775, 4782, + 4781, 4785, 4794, 4890, 4895, 4900, 4901, 4904, 4921, 4938, + 4955, 4978, 4978, 5009, 5030, 5030, 5053, 5052, 5068, 5067, + 5083, 5082, 5099, 5100, 5103, 5105, 5103, 5159, 5190, 5189, + 5226, 5227, 5235, 5234, 5258, 5259, 5263, 5262, 5301, 5300, + 5323, 5323, 5350, 5351, 5354, 5375, 5397, 5421, 5426, 5434, + 5435, 5435, 5439, 5500, 5535, 5550, 5599, 5608, 5609, 5617, + 5618, 5619, 5620, 5621, 5622, 5625, 5626, 5627, 5628, 5629, + 5630, 5637, 5644, 5635, 5670, 5670, 5683, 5696, 5697, 5701, + 5714, 5715, 5722, 5727, 5734, 5735, 5736, 5741, 5742, 5743, + 5748, 5749, 5750, 5755, 5756, 5757, 5762, 5767, 5768, 5779, + 5790, 5801, 5805, 5812, 5813, 5870, 5876, 5875, 5963, 5962, + 6006, 6014, 6016, 6020, 6024, 6013, 6066, 6075, 6079, 6086, + 6088, 6092, 6085, 6130, 6140, 6142, 6146, 6139, 6184, 6193, + 6194, 6197, 6240, 6249, 6275, 6274, 6305, 6311, 6312, 6315, + 6316, 6320, 6325, 6350, 6359, 6411, 6436, 6464, 6319, 6472, + 6473, 6474, 6482, 6483, 6491, 6509, 6490, 6513, 6517, 6518, + 6525, 6526, 6527, 6533, 6534, 6535, 6540, 6541, 6542, 6543, + 6544, 6545, 6546 }; #endif @@ -3610,7 +3610,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 540 "rwlparser.y" /* yacc.c:1646 */ +#line 541 "rwlparser.y" /* yacc.c:1646 */ { ; // we are done! } @@ -3618,13 +3618,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 3: -#line 546 "rwlparser.y" /* yacc.c:1646 */ +#line 547 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) YYABORT; } #line 3624 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 5: -#line 552 "rwlparser.y" /* yacc.c:1646 */ +#line 553 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) @@ -3634,7 +3634,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 6: -#line 558 "rwlparser.y" /* yacc.c:1646 */ +#line 559 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) @@ -3644,13 +3644,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 10: -#line 573 "rwlparser.y" /* yacc.c:1646 */ +#line 574 "rwlparser.y" /* yacc.c:1646 */ { rwlprintallvars(rwm); } #line 3650 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 13: -#line 584 "rwlparser.y" /* yacc.c:1646 */ +#line 585 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) rwlcodetail(rwm); @@ -3669,7 +3669,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 14: -#line 600 "rwlparser.y" /* yacc.c:1646 */ +#line 601 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3681,7 +3681,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 16: -#line 609 "rwlparser.y" /* yacc.c:1646 */ +#line 610 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3692,7 +3692,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 18: -#line 617 "rwlparser.y" /* yacc.c:1646 */ +#line 618 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3704,7 +3704,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 20: -#line 626 "rwlparser.y" /* yacc.c:1646 */ +#line 627 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); @@ -3714,7 +3714,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 22: -#line 637 "rwlparser.y" /* yacc.c:1646 */ +#line 638 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } @@ -3722,7 +3722,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 23: -#line 641 "rwlparser.y" /* yacc.c:1646 */ +#line 642 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); @@ -3733,19 +3733,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 26: -#line 654 "rwlparser.y" /* yacc.c:1646 */ +#line 655 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->sval; } #line 3739 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 27: -#line 656 "rwlparser.y" /* yacc.c:1646 */ +#line 657 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } #line 3745 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 28: -#line 662 "rwlparser.y" /* yacc.c:1646 */ +#line 663 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } @@ -3753,7 +3753,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 29: -#line 666 "rwlparser.y" /* yacc.c:1646 */ +#line 667 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); @@ -3764,19 +3764,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 32: -#line 678 "rwlparser.y" /* yacc.c:1646 */ +#line 679 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->inam; } #line 3770 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 33: -#line 680 "rwlparser.y" /* yacc.c:1646 */ +#line 681 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } #line 3776 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 34: -#line 685 "rwlparser.y" /* yacc.c:1646 */ +#line 686 "rwlparser.y" /* yacc.c:1646 */ { // add identifier sb4 ld = rwladdvar(rwm, rwm->inam, RWL_TYPE_DB, 0); @@ -3797,7 +3797,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 35: -#line 702 "rwlparser.y" /* yacc.c:1646 */ +#line 703 "rwlparser.y" /* yacc.c:1646 */ { // fix core dump, only call builddb if everything fine if (bit(rwm->m2flags, RWL_P2_SOMEEXPFAIL)) @@ -3857,13 +3857,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 36: -#line 758 "rwlparser.y" /* yacc.c:1646 */ +#line 759 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DATABASE_WRONG); yyerrok; } #line 3863 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 38: -#line 764 "rwlparser.y" /* yacc.c:1646 */ +#line 765 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3877,7 +3877,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 43: -#line 784 "rwlparser.y" /* yacc.c:1646 */ +#line 785 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3891,7 +3891,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 44: -#line 794 "rwlparser.y" /* yacc.c:1646 */ +#line 795 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) rwm->dbsav->password = rwlstrdup(rwm, rwm->pval.sval); @@ -3900,7 +3900,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 45: -#line 799 "rwlparser.y" /* yacc.c:1646 */ +#line 800 "rwlparser.y" /* yacc.c:1646 */ { if (rwlcclassgood(rwm, (rwm->pval.sval))) { @@ -3912,7 +3912,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 46: -#line 807 "rwlparser.y" /* yacc.c:1646 */ +#line 808 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3929,7 +3929,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 47: -#line 820 "rwlparser.y" /* yacc.c:1646 */ +#line 821 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3964,7 +3964,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 48: -#line 851 "rwlparser.y" /* yacc.c:1646 */ +#line 852 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "results", rwm->resdb); @@ -3979,7 +3979,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 49: -#line 862 "rwlparser.y" /* yacc.c:1646 */ +#line 863 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "default", rwm->defdb); @@ -3994,7 +3994,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 50: -#line 873 "rwlparser.y" /* yacc.c:1646 */ +#line 874 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4012,7 +4012,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 52: -#line 889 "rwlparser.y" /* yacc.c:1646 */ +#line 890 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4025,7 +4025,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 53: -#line 898 "rwlparser.y" /* yacc.c:1646 */ +#line 899 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4044,7 +4044,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 55: -#line 916 "rwlparser.y" /* yacc.c:1646 */ +#line 917 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4058,7 +4058,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 56: -#line 926 "rwlparser.y" /* yacc.c:1646 */ +#line 927 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4072,7 +4072,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 57: -#line 936 "rwlparser.y" /* yacc.c:1646 */ +#line 937 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4086,7 +4086,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 58: -#line 946 "rwlparser.y" /* yacc.c:1646 */ +#line 947 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4100,7 +4100,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 61: -#line 963 "rwlparser.y" /* yacc.c:1646 */ +#line 964 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "statemark",RWL_OCI_VERSION); @@ -4112,7 +4112,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 62: -#line 971 "rwlparser.y" /* yacc.c:1646 */ +#line 972 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "requestmark",RWL_OCI_VERSION); @@ -4124,7 +4124,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 63: -#line 981 "rwlparser.y" /* yacc.c:1646 */ +#line 982 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4139,7 +4139,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 64: -#line 992 "rwlparser.y" /* yacc.c:1646 */ +#line 993 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4155,7 +4155,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 70: -#line 1017 "rwlparser.y" /* yacc.c:1646 */ +#line 1018 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION > 12) if (rwm->dbsav) @@ -4180,7 +4180,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 71: -#line 1041 "rwlparser.y" /* yacc.c:1646 */ +#line 1042 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION > 12) if (rwm->dbsav) @@ -4205,7 +4205,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 72: -#line 1065 "rwlparser.y" /* yacc.c:1646 */ +#line 1066 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4218,7 +4218,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 74: -#line 1078 "rwlparser.y" /* yacc.c:1646 */ +#line 1079 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) @@ -4231,7 +4231,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 77: -#line 1092 "rwlparser.y" /* yacc.c:1646 */ +#line 1093 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4240,7 +4240,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 78: -#line 1097 "rwlparser.y" /* yacc.c:1646 */ +#line 1098 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4255,7 +4255,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 79: -#line 1108 "rwlparser.y" /* yacc.c:1646 */ +#line 1109 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; @@ -4271,7 +4271,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 80: -#line 1125 "rwlparser.y" /* yacc.c:1646 */ +#line 1126 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } @@ -4279,7 +4279,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 81: -#line 1132 "rwlparser.y" /* yacc.c:1646 */ +#line 1133 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } @@ -4287,7 +4287,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 86: -#line 1148 "rwlparser.y" /* yacc.c:1646 */ +#line 1149 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4303,7 +4303,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 87: -#line 1160 "rwlparser.y" /* yacc.c:1646 */ +#line 1161 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_FUNC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) // e.g. out of space @@ -4322,7 +4322,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 88: -#line 1176 "rwlparser.y" /* yacc.c:1646 */ +#line 1177 "rwlparser.y" /* yacc.c:1646 */ { /* codeguess was set en rwlcodeaddp */ if (rwm->codeguess>=0 && rwm->dtype) @@ -4358,7 +4358,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 89: -#line 1212 "rwlparser.y" /* yacc.c:1646 */ +#line 1213 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4373,7 +4373,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 90: -#line 1223 "rwlparser.y" /* yacc.c:1646 */ +#line 1224 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_PROC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) /* e.g. out of space */ @@ -4389,7 +4389,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 91: -#line 1236 "rwlparser.y" /* yacc.c:1646 */ +#line 1237 "rwlparser.y" /* yacc.c:1646 */ { rwm->mxq->evar[rwm->codeguess].v2val = rwm->facnt; rwm->supsemerr = RWL_SUPSEM_PROC; @@ -4398,7 +4398,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 92: -#line 1244 "rwlparser.y" /* yacc.c:1646 */ +#line 1245 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -4407,7 +4407,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 93: -#line 1249 "rwlparser.y" /* yacc.c:1646 */ +#line 1250 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } @@ -4415,7 +4415,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 94: -#line 1256 "rwlparser.y" /* yacc.c:1646 */ +#line 1257 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -4424,7 +4424,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 95: -#line 1261 "rwlparser.y" /* yacc.c:1646 */ +#line 1262 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } @@ -4432,7 +4432,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 96: -#line 1268 "rwlparser.y" /* yacc.c:1646 */ +#line 1269 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) { @@ -4512,41 +4512,42 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } - finishcodebody: ; + finishcodebody: + bic(rwm->m4flags,RWL_P4_PROCHASSQL); } -#line 4518 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4519 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 99: -#line 1358 "rwlparser.y" /* yacc.c:1646 */ +#line 1360 "rwlparser.y" /* yacc.c:1646 */ { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) rwlprintvar(rwm->mxq, l); } -#line 4528 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4529 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 100: -#line 1366 "rwlparser.y" /* yacc.c:1646 */ +#line 1368 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4534 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4535 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 101: -#line 1367 "rwlparser.y" /* yacc.c:1646 */ +#line 1369 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4540 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4541 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 102: -#line 1370 "rwlparser.y" /* yacc.c:1646 */ +#line 1372 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_MISSING_DECL_BRACK); } -#line 4546 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4547 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 107: -#line 1382 "rwlparser.y" /* yacc.c:1646 */ +#line 1384 "rwlparser.y" /* yacc.c:1646 */ { sb4 la; if (rwm->dtype && @@ -4570,29 +4571,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4574 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4575 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 108: -#line 1410 "rwlparser.y" /* yacc.c:1646 */ +#line 1412 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4580 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4581 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 109: -#line 1412 "rwlparser.y" /* yacc.c:1646 */ +#line 1414 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4586 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4587 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 110: -#line 1414 "rwlparser.y" /* yacc.c:1646 */ +#line 1416 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4592 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4593 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 111: -#line 1416 "rwlparser.y" /* yacc.c:1646 */ +#line 1418 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -4607,50 +4608,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen=RWL_MAX_STRING_LENGTH; } } -#line 4611 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4612 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 112: -#line 1431 "rwlparser.y" /* yacc.c:1646 */ +#line 1433 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "file"); } -#line 4620 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4621 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 113: -#line 1436 "rwlparser.y" /* yacc.c:1646 */ +#line 1438 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "sql"); } -#line 4629 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4630 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 114: -#line 1441 "rwlparser.y" /* yacc.c:1646 */ +#line 1443 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "clob"); } -#line 4638 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4639 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 116: -#line 1450 "rwlparser.y" /* yacc.c:1646 */ +#line 1452 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_STATSONLY); } -#line 4644 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4645 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 117: -#line 1452 "rwlparser.y" /* yacc.c:1646 */ +#line 1454 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_PROCHASSQL); } -#line 4650 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4651 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 118: -#line 1454 "rwlparser.y" /* yacc.c:1646 */ +#line 1456 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; l = rwlfindvar(rwm->mxq, rwm->codename, RWL_VAR_NOGUESS); @@ -4666,11 +4667,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4670 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4671 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 120: -#line 1474 "rwlparser.y" /* yacc.c:1646 */ +#line 1476 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4684,11 +4685,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "procedure", rwm->codename); } } -#line 4688 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4689 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 122: -#line 1489 "rwlparser.y" /* yacc.c:1646 */ +#line 1491 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4702,11 +4703,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "function", rwm->codename); } } -#line 4706 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4707 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 124: -#line 1504 "rwlparser.y" /* yacc.c:1646 */ +#line 1506 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4721,11 +4722,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->codename); } } -#line 4725 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4726 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 126: -#line 1520 "rwlparser.y" /* yacc.c:1646 */ +#line 1522 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4741,11 +4742,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); yyerrok; } } -#line 4745 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4746 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 127: -#line 1563 "rwlparser.y" /* yacc.c:1646 */ +#line 1565 "rwlparser.y" /* yacc.c:1646 */ { /* There are cases where we have an expression followed @@ -4758,11 +4759,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam, RWL_STACK_VAR); } -#line 4762 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4763 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 128: -#line 1577 "rwlparser.y" /* yacc.c:1646 */ +#line 1579 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4776,11 +4777,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_DBL; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4780 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4781 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 129: -#line 1591 "rwlparser.y" /* yacc.c:1646 */ +#line 1593 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4794,11 +4795,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_INT; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4798 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4799 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 130: -#line 1605 "rwlparser.y" /* yacc.c:1646 */ +#line 1607 "rwlparser.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ @@ -4810,208 +4811,208 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_STR; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4814 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4815 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 131: -#line 1617 "rwlparser.y" /* yacc.c:1646 */ +#line 1619 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } -#line 4822 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4823 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 132: -#line 1620 "rwlparser.y" /* yacc.c:1646 */ +#line 1622 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_UNIFORM); } -#line 4828 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4829 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 133: -#line 1621 "rwlparser.y" /* yacc.c:1646 */ +#line 1623 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOGB); } -#line 4834 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4835 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 134: -#line 1622 "rwlparser.y" /* yacc.c:1646 */ +#line 1624 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOG); } -#line 4840 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4841 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 135: -#line 1623 "rwlparser.y" /* yacc.c:1646 */ +#line 1625 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXPB); } -#line 4846 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4847 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 136: -#line 1624 "rwlparser.y" /* yacc.c:1646 */ +#line 1626 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXP); } -#line 4852 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4853 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 137: -#line 1625 "rwlparser.y" /* yacc.c:1646 */ +#line 1627 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CEIL); } -#line 4858 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4859 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 138: -#line 1626 "rwlparser.y" /* yacc.c:1646 */ +#line 1628 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_TRUNC); } -#line 4864 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4865 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 139: -#line 1627 "rwlparser.y" /* yacc.c:1646 */ +#line 1629 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_FLOOR); } -#line 4870 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4871 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 140: -#line 1628 "rwlparser.y" /* yacc.c:1646 */ +#line 1630 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ROUND); } -#line 4876 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4877 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 141: -#line 1629 "rwlparser.y" /* yacc.c:1646 */ +#line 1631 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SQRT); } -#line 4882 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4883 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 142: -#line 1630 "rwlparser.y" /* yacc.c:1646 */ +#line 1632 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SIN); } -#line 4888 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4889 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 143: -#line 1631 "rwlparser.y" /* yacc.c:1646 */ +#line 1633 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_COS); } -#line 4894 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4895 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 144: -#line 1632 "rwlparser.y" /* yacc.c:1646 */ +#line 1634 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ATAN2); } -#line 4900 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4901 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 145: -#line 1633 "rwlparser.y" /* yacc.c:1646 */ +#line 1635 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LENGTHB); } -#line 4906 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4907 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 146: -#line 1635 "rwlparser.y" /* yacc.c:1646 */ +#line 1637 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB2); } -#line 4912 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4913 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 147: -#line 1637 "rwlparser.y" /* yacc.c:1646 */ +#line 1639 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB3); } -#line 4918 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4919 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 148: -#line 1639 "rwlparser.y" /* yacc.c:1646 */ +#line 1641 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB2); } -#line 4924 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4925 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 149: -#line 1641 "rwlparser.y" /* yacc.c:1646 */ +#line 1643 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB3); } -#line 4930 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4931 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 150: -#line 1642 "rwlparser.y" /* yacc.c:1646 */ +#line 1644 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GETENV); } -#line 4936 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4937 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 151: -#line 1643 "rwlparser.y" /* yacc.c:1646 */ +#line 1645 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2B); } -#line 4944 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4945 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 152: -#line 1646 "rwlparser.y" /* yacc.c:1646 */ +#line 1648 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2BB); } -#line 4952 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4953 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 153: -#line 1649 "rwlparser.y" /* yacc.c:1646 */ +#line 1651 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4958 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4959 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 154: -#line 1651 "rwlparser.y" /* yacc.c:1646 */ +#line 1653 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 4966 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4967 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 155: -#line 1655 "rwlparser.y" /* yacc.c:1646 */ +#line 1657 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4975 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4976 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 156: -#line 1659 "rwlparser.y" /* yacc.c:1646 */ +#line 1661 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG); } -#line 4981 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4982 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 157: -#line 1660 "rwlparser.y" /* yacc.c:1646 */ +#line 1662 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG2); } -#line 4987 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4988 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 158: -#line 1662 "rwlparser.y" /* yacc.c:1646 */ +#line 1664 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANGK); } -#line 4993 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4994 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 159: -#line 1664 "rwlparser.y" /* yacc.c:1646 */ +#line 1666 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NORMALRANDOM); } -#line 4999 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5000 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 160: -#line 1665 "rwlparser.y" /* yacc.c:1646 */ +#line 1667 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5005 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5006 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 161: -#line 1667 "rwlparser.y" /* yacc.c:1646 */ +#line 1669 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ACCESS); } -#line 5011 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5012 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 162: -#line 1669 "rwlparser.y" /* yacc.c:1646 */ +#line 1671 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlexprpush(rwm, rwm->resdb, RWL_STACK_SERVERRELEASE); @@ -5022,11 +5023,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "results"); } } -#line 5026 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5027 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 163: -#line 1680 "rwlparser.y" /* yacc.c:1646 */ +#line 1682 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlexprpush(rwm, rwm->defdb, RWL_STACK_SERVERRELEASE); @@ -5037,92 +5038,92 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "default"); } } -#line 5041 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5042 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 164: -#line 1691 "rwlparser.y" /* yacc.c:1646 */ +#line 1693 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SERVERRELEASE); } -#line 5049 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5050 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 165: -#line 1695 "rwlparser.y" /* yacc.c:1646 */ +#line 1697 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "serverrelease"); yyerrok; } -#line 5059 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5060 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 166: -#line 1701 "rwlparser.y" /* yacc.c:1646 */ +#line 1703 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_OPENSESSIONCOUNT); } -#line 5067 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5068 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 167: -#line 1705 "rwlparser.y" /* yacc.c:1646 */ +#line 1707 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "opensessioncount"); yyerrok; } -#line 5077 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5078 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 168: -#line 1711 "rwlparser.y" /* yacc.c:1646 */ +#line 1713 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_ACTIVESESSIONCOUNT); } -#line 5085 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5086 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 169: -#line 1715 "rwlparser.y" /* yacc.c:1646 */ +#line 1717 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "activesessioncount"); yyerrok; } -#line 5095 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5096 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 170: -#line 1721 "rwlparser.y" /* yacc.c:1646 */ +#line 1723 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); } -#line 5104 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5105 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 171: -#line 1726 "rwlparser.y" /* yacc.c:1646 */ +#line 1728 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } -#line 5112 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5113 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 172: -#line 1730 "rwlparser.y" /* yacc.c:1646 */ +#line 1732 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_SQLID_NEED_IDENT); yyerrok; } -#line 5122 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5123 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 173: -#line 1737 "rwlparser.y" /* yacc.c:1646 */ +#line 1739 "rwlparser.y" /* yacc.c:1646 */ { /* element with furlev=0 is used by procedure call */ if (++rwm->furlev>=RWL_MAX_FUNC_RECURSION) @@ -5135,11 +5136,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[rwm->furlev] = (yychar == RWL_T_IDENTIFIER) ? rwm->previnam : rwm->inam; } -#line 5139 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5140 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 174: -#line 1751 "rwlparser.y" /* yacc.c:1646 */ +#line 1753 "rwlparser.y" /* yacc.c:1646 */ { /* syntactically, the number of arguments doesn't matter so we just provide the actual arg count to exprpush2 @@ -5151,191 +5152,191 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (rwm->furlev) rwm->furlev--; } -#line 5155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5156 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 175: -#line 1763 "rwlparser.y" /* yacc.c:1646 */ +#line 1765 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_DBSECONDS); } -#line 5163 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5164 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 176: -#line 1767 "rwlparser.y" /* yacc.c:1646 */ +#line 1769 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_OCISECONDS); } -#line 5171 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5172 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 177: -#line 1771 "rwlparser.y" /* yacc.c:1646 */ +#line 1773 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "runseconds"); rwlexprpush(rwm, 0, RWL_STACK_RUNSECONDS); } -#line 5181 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5182 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 178: -#line 1777 "rwlparser.y" /* yacc.c:1646 */ +#line 1779 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "epochseconds"); rwlexprpush(rwm, 0, RWL_STACK_EPOCHSECONDS); } -#line 5191 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5192 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 184: -#line 1796 "rwlparser.y" /* yacc.c:1646 */ +#line 1798 "rwlparser.y" /* yacc.c:1646 */ { rwm->aacnt[rwm->furlev]++; } -#line 5197 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5198 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 186: -#line 1802 "rwlparser.y" /* yacc.c:1646 */ +#line 1804 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5203 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5204 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 187: -#line 1803 "rwlparser.y" /* yacc.c:1646 */ +#line 1805 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNOTNULL); } -#line 5209 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5210 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 189: -#line 1809 "rwlparser.y" /* yacc.c:1646 */ +#line 1811 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MINUS); } -#line 5215 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5216 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 190: -#line 1810 "rwlparser.y" /* yacc.c:1646 */ +#line 1812 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5221 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5222 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 191: -#line 1811 "rwlparser.y" /* yacc.c:1646 */ +#line 1813 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5227 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5228 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 192: -#line 1812 "rwlparser.y" /* yacc.c:1646 */ +#line 1814 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_NOT); } -#line 5233 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5234 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 194: -#line 1817 "rwlparser.y" /* yacc.c:1646 */ +#line 1819 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MUL); } -#line 5239 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5240 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 195: -#line 1818 "rwlparser.y" /* yacc.c:1646 */ +#line 1820 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_DIV); } -#line 5245 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5246 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 196: -#line 1819 "rwlparser.y" /* yacc.c:1646 */ +#line 1821 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MOD); } -#line 5251 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5252 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 198: -#line 1824 "rwlparser.y" /* yacc.c:1646 */ +#line 1826 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ADD); } -#line 5257 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5258 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 199: -#line 1825 "rwlparser.y" /* yacc.c:1646 */ +#line 1827 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUB); } -#line 5263 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5264 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 201: -#line 1829 "rwlparser.y" /* yacc.c:1646 */ +#line 1831 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_LEFT_SHIFT); } -#line 5269 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5270 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 202: -#line 1830 "rwlparser.y" /* yacc.c:1646 */ +#line 1832 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_RIGHT_SHIFT); } -#line 5275 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5276 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 204: -#line 1835 "rwlparser.y" /* yacc.c:1646 */ +#line 1837 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESS); } -#line 5281 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5282 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 205: -#line 1836 "rwlparser.y" /* yacc.c:1646 */ +#line 1838 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATER); } -#line 5287 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5288 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 206: -#line 1837 "rwlparser.y" /* yacc.c:1646 */ +#line 1839 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } -#line 5293 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5294 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 207: -#line 1838 "rwlparser.y" /* yacc.c:1646 */ +#line 1840 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } -#line 5299 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5300 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 208: -#line 1839 "rwlparser.y" /* yacc.c:1646 */ +#line 1841 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } -#line 5305 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5306 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 210: -#line 1844 "rwlparser.y" /* yacc.c:1646 */ +#line 1846 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EQUAL); } -#line 5311 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5312 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 211: -#line 1845 "rwlparser.y" /* yacc.c:1646 */ +#line 1847 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } -#line 5317 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5318 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 213: -#line 1850 "rwlparser.y" /* yacc.c:1646 */ +#line 1852 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_AND); } -#line 5323 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5324 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 215: -#line 1855 "rwlparser.y" /* yacc.c:1646 */ +#line 1857 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_XOR); } -#line 5329 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5330 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 217: -#line 1860 "rwlparser.y" /* yacc.c:1646 */ +#line 1862 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_OR); } -#line 5335 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5336 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 219: -#line 1866 "rwlparser.y" /* yacc.c:1646 */ +#line 1868 "rwlparser.y" /* yacc.c:1646 */ { // With AND (and OR) skipdep is used to mark // the expression element we need to skip until @@ -5345,20 +5346,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-andskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5349 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5350 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 220: -#line 1876 "rwlparser.y" /* yacc.c:1646 */ +#line 1878 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; } -#line 5358 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5359 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 222: -#line 1885 "rwlparser.y" /* yacc.c:1646 */ +#line 1887 "rwlparser.y" /* yacc.c:1646 */ { // see comment above rwm->ptail->branchtype = RWL_EXP_ORBRANCH; @@ -5366,20 +5367,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-orskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5370 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5371 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 223: -#line 1893 "rwlparser.y" /* yacc.c:1646 */ +#line 1895 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR ,rwm->skipdep); rwm->skipdep--; } -#line 5379 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5380 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 225: -#line 1902 "rwlparser.y" /* yacc.c:1646 */ +#line 1904 "rwlparser.y" /* yacc.c:1646 */ { // With conditional execution we mark the condition // with RWL_EXP_CONDBRANCH1 @@ -5388,50 +5389,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-condskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5392 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5393 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 226: -#line 1911 "rwlparser.y" /* yacc.c:1646 */ +#line 1913 "rwlparser.y" /* yacc.c:1646 */ { // and the place of ':' (really ELSE) with // RWL_EXP_CONDBRANCH2 rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; rwm->ptail->skipnxt = rwm->skipdep; } -#line 5403 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5404 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 227: -#line 1918 "rwlparser.y" /* yacc.c:1646 */ +#line 1920 "rwlparser.y" /* yacc.c:1646 */ { // And the actual conditional is the "end if" place rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, rwm->skipdep); rwm->skipdep--; } -#line 5413 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5414 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 229: -#line 1927 "rwlparser.y" /* yacc.c:1646 */ +#line 1929 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5419 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5420 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 231: -#line 1932 "rwlparser.y" /* yacc.c:1646 */ +#line 1934 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5425 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5426 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 233: -#line 1943 "rwlparser.y" /* yacc.c:1646 */ +#line 1945 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = 0; } -#line 5431 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5432 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 234: -#line 1948 "rwlparser.y" /* yacc.c:1646 */ +#line 1950 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) { @@ -5439,65 +5440,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); YYACCEPT; } } -#line 5443 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5444 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 235: -#line 1956 "rwlparser.y" /* yacc.c:1646 */ +#line 1958 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5449 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5450 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 236: -#line 1958 "rwlparser.y" /* yacc.c:1646 */ +#line 1960 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "threads"); yyerrok; } -#line 5455 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5456 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 238: -#line 1965 "rwlparser.y" /* yacc.c:1646 */ +#line 1967 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5461 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5462 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 239: -#line 1967 "rwlparser.y" /* yacc.c:1646 */ +#line 1969 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "run"); yyerrok; } -#line 5467 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5468 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 241: -#line 1971 "rwlparser.y" /* yacc.c:1646 */ +#line 1973 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5473 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5474 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 242: -#line 1973 "rwlparser.y" /* yacc.c:1646 */ +#line 1975 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "database"); yyerrok; } -#line 5479 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5480 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 243: -#line 1975 "rwlparser.y" /* yacc.c:1646 */ +#line 1977 "rwlparser.y" /* yacc.c:1646 */ { yyerrok ; } -#line 5485 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5486 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 244: -#line 1978 "rwlparser.y" /* yacc.c:1646 */ +#line 1980 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random procedure array"); yyerrok; } -#line 5491 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5492 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 245: -#line 1981 "rwlparser.y" /* yacc.c:1646 */ +#line 1983 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random string array"); yyerrok; } -#line 5497 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5498 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 246: -#line 1986 "rwlparser.y" /* yacc.c:1646 */ +#line 1988 "rwlparser.y" /* yacc.c:1646 */ { switch(rwm->supsemerr) { @@ -5526,11 +5527,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 5530 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5531 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 247: -#line 2015 "rwlparser.y" /* yacc.c:1646 */ +#line 2017 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5545,11 +5546,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_ABORT); } } -#line 5549 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5550 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 248: -#line 2030 "rwlparser.y" /* yacc.c:1646 */ +#line 2032 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5560,37 +5561,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_NOSTATISTICS); } } -#line 5564 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5565 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 251: -#line 2047 "rwlparser.y" /* yacc.c:1646 */ +#line 2049 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } -#line 5570 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5571 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 253: -#line 2054 "rwlparser.y" /* yacc.c:1646 */ +#line 2056 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } -#line 5576 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5577 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 255: -#line 2060 "rwlparser.y" /* yacc.c:1646 */ +#line 2062 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } -#line 5582 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5583 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 256: -#line 2062 "rwlparser.y" /* yacc.c:1646 */ +#line 2064 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; } -#line 5590 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5591 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 258: -#line 2068 "rwlparser.y" /* yacc.c:1646 */ +#line 2070 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) rwm->declslen = 1; // kind of a kludge, but this prevents doube @@ -5600,33 +5601,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen = rwm->pval.ival; } } -#line 5604 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5605 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 260: -#line 2082 "rwlparser.y" /* yacc.c:1646 */ +#line 2084 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_STR); yyerrok; } -#line 5610 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5611 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 261: -#line 2084 "rwlparser.y" /* yacc.c:1646 */ +#line 2086 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_FILE; //if (rwm->codename) // rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "file"); } -#line 5620 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5621 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 263: -#line 2093 "rwlparser.y" /* yacc.c:1646 */ +#line 2095 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_FILE); yyerrok; } -#line 5626 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5627 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 264: -#line 2098 "rwlparser.y" /* yacc.c:1646 */ +#line 2100 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5647,11 +5648,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5651 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5652 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 265: -#line 2121 "rwlparser.y" /* yacc.c:1646 */ +#line 2123 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5674,17 +5675,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5678 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5679 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 266: -#line 2145 "rwlparser.y" /* yacc.c:1646 */ +#line 2147 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rslerror) rwlcodeadd0(rwm, RWL_CODE_ELSE); } -#line 5684 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5685 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 267: -#line 2148 "rwlparser.y" /* yacc.c:1646 */ +#line 2150 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5705,11 +5706,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5709 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5710 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 268: -#line 2171 "rwlparser.y" /* yacc.c:1646 */ +#line 2173 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* start expression */ @@ -5742,15 +5743,16 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->totthr = 0; // now in lexer: rwm->lnosav = rwm->loc.lineno; bis(rwm->mflags, RWL_P_DXEQMAIN); + bic(rwm->m4flags,RWL_P4_PROCHASSQL); rwlcodehead(rwm, 1 /*thrcount*/); } rwlexprbeg(rwm); } -#line 5750 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5752 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 269: -#line 2212 "rwlparser.y" /* yacc.c:1646 */ +#line 2215 "rwlparser.y" /* yacc.c:1646 */ { switch (rwm->rsllityp[rwm->rsldepth]) { @@ -5818,65 +5820,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->rsldepth, rwm->rslmisc[rwm->rsldepth]); } } -#line 5822 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5824 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 270: -#line 2281 "rwlparser.y" /* yacc.c:1646 */ +#line 2284 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwm->rsllityp[rwm->rsldepth] = RWL_LI_BAD; yyerrok; } -#line 5832 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5834 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 271: -#line 2288 "rwlparser.y" /* yacc.c:1646 */ +#line 2291 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 5838 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5840 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 273: -#line 2291 "rwlparser.y" /* yacc.c:1646 */ +#line 2294 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 5846 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5848 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 275: -#line 2296 "rwlparser.y" /* yacc.c:1646 */ +#line 2299 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprclear(rwm); } -#line 5855 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5857 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 276: -#line 2301 "rwlparser.y" /* yacc.c:1646 */ +#line 2304 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 5866 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5868 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 278: -#line 2310 "rwlparser.y" /* yacc.c:1646 */ +#line 2313 "rwlparser.y" /* yacc.c:1646 */ { /* start expression for assign */ rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 5876 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5878 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 280: -#line 2319 "rwlparser.y" /* yacc.c:1646 */ +#line 2322 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) rwlerror(rwm, RWL_ERROR_RETURN_OUTSIDE_CODE); @@ -5888,20 +5890,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_RETURN_NO_EXPR, rwm->codename); } } -#line 5892 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5894 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 281: -#line 2331 "rwlparser.y" /* yacc.c:1646 */ +#line 2334 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5901 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5903 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 282: -#line 2336 "rwlparser.y" /* yacc.c:1646 */ +#line 2339 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5930,30 +5932,30 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeaddpu(rwm, RWL_CODE_RETURN, rwm->codename, rwm->codeguess); } } -#line 5934 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5936 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 284: -#line 2365 "rwlparser.y" /* yacc.c:1646 */ +#line 2368 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5944 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5946 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 285: -#line 2372 "rwlparser.y" /* yacc.c:1646 */ +#line 2375 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5953 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5955 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 286: -#line 2377 "rwlparser.y" /* yacc.c:1646 */ +#line 2380 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5982,21 +5984,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5986 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5988 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 288: -#line 2407 "rwlparser.y" /* yacc.c:1646 */ +#line 2410 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5996 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5998 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 289: -#line 2415 "rwlparser.y" /* yacc.c:1646 */ +#line 2418 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -6010,11 +6012,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6014 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6016 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 290: -#line 2429 "rwlparser.y" /* yacc.c:1646 */ +#line 2432 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbnam = rwm->inam; rwm->mdbvar = rwlfindvar2(rwm->mxq, rwm->mdbnam, RWL_VAR_NOGUESS, rwm->codename); @@ -6025,11 +6027,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mdbvar = RWL_VAR_INVALID; } } -#line 6029 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6031 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 292: -#line 2443 "rwlparser.y" /* yacc.c:1646 */ +#line 2446 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -6043,11 +6045,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6047 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6049 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 293: -#line 2459 "rwlparser.y" /* yacc.c:1646 */ +#line 2462 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6057,29 +6059,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlcodeadd0(rwm, RWL_CODE_MODDBLEAK); } -#line 6061 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6063 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 294: -#line 2470 "rwlparser.y" /* yacc.c:1646 */ +#line 2473 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 6070 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6072 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 295: -#line 2476 "rwlparser.y" /* yacc.c:1646 */ +#line 2479 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 6079 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6081 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 296: -#line 2482 "rwlparser.y" /* yacc.c:1646 */ +#line 2485 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_COMMIT); @@ -6090,11 +6092,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcommit(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 6094 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6096 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 297: -#line 2494 "rwlparser.y" /* yacc.c:1646 */ +#line 2497 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_ROLLBACK); @@ -6105,11 +6107,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlrollback(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 6109 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6111 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 298: -#line 2506 "rwlparser.y" /* yacc.c:1646 */ +#line 2509 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SHIFT); @@ -6117,11 +6119,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlshiftdollar(rwm->mxq, &rwm->loc); } -#line 6121 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6123 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 299: -#line 2515 "rwlparser.y" /* yacc.c:1646 */ +#line 2518 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_GETRUSAGE); @@ -6129,11 +6131,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlgetrusage(rwm->mxq, 0); } -#line 6133 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6135 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 300: -#line 2524 "rwlparser.y" /* yacc.c:1646 */ +#line 2527 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlinam = rwm->inam; rwm->mqbdtyp = 0; rwm->modsqlvar = rwlfindvar2(rwm->mxq, rwm->msqlinam, RWL_VAR_NOGUESS, rwm->codename); @@ -6144,17 +6146,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->modsqlvar = RWL_VAR_INVALID; } } -#line 6148 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6150 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 302: -#line 2537 "rwlparser.y" /* yacc.c:1646 */ +#line 2540 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } -#line 6154 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6156 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 303: -#line 2542 "rwlparser.y" /* yacc.c:1646 */ +#line 2545 "rwlparser.y" /* yacc.c:1646 */ { /* handle procedure call with arguments * as if it were a function call @@ -6184,11 +6186,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); : rwm->inam; rwlexprbeg(rwm); } -#line 6188 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6190 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 304: -#line 2574 "rwlparser.y" /* yacc.c:1646 */ +#line 2577 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6273,22 +6275,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprclear(rwm); } } -#line 6277 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6279 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 305: -#line 2659 "rwlparser.y" /* yacc.c:1646 */ +#line 2662 "rwlparser.y" /* yacc.c:1646 */ { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); rwlexprclear(rwm); yyerrok; } -#line 6288 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6290 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 306: -#line 2666 "rwlparser.y" /* yacc.c:1646 */ +#line 2669 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6303,33 +6305,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 6307 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6309 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 309: -#line 2685 "rwlparser.y" /* yacc.c:1646 */ +#line 2688 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = RWL_SUPSEM_EMBSQL; } -#line 6313 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6315 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 313: -#line 2691 "rwlparser.y" /* yacc.c:1646 */ +#line 2694 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6319 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6321 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 314: -#line 2693 "rwlparser.y" /* yacc.c:1646 */ +#line 2696 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6325 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6327 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 317: -#line 2699 "rwlparser.y" /* yacc.c:1646 */ +#line 2702 "rwlparser.y" /* yacc.c:1646 */ { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below - bic(rwm->m4flags,RWL_P4_PROCHASSQL); + bic(rwm->m4flags,RWL_P4_PROCHASSQL); // ?? Should we really do this here? if (rwm->codename) // building a procedure { sb4 l2; @@ -6385,6 +6387,8 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } else // directly in main { + // Shouldn't we do it here in stead: + // bic(rwm->m4flags,RWL_P4_PROCHASSQL); rwm->totthr = 0; if (rwm->rsldepth) /*ASSERT*/ rwlsevere(rwm, "[rwlparser-stmtrsldepth:%d]", rwm->rsldepth); @@ -6408,11 +6412,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); --rwm->rsldepth; } } -#line 6412 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6416 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 318: -#line 2784 "rwlparser.y" /* yacc.c:1646 */ +#line 2789 "rwlparser.y" /* yacc.c:1646 */ { --rwm->rsldepth; if (rwm->rslerror) @@ -6441,11 +6445,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6445 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6449 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 319: -#line 2814 "rwlparser.y" /* yacc.c:1646 */ +#line 2819 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6477,20 +6481,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_INCORRECT_TYPE2, rwm->mxq->evar[l].stype, rwm->inam, "file"); } } -#line 6481 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6485 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 320: -#line 2847 "rwlparser.y" /* yacc.c:1646 */ +#line 2852 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_FFLUSH); yyerrok; } -#line 6490 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6494 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 321: -#line 2854 "rwlparser.y" /* yacc.c:1646 */ +#line 2859 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6513,11 +6517,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 6517 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6521 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 322: -#line 2879 "rwlparser.y" /* yacc.c:1646 */ +#line 2884 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) { @@ -6526,6 +6530,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->totthr = 0; bis(rwm->mflags, RWL_P_DXEQMAIN); + bic(rwm->m4flags,RWL_P4_PROCHASSQL); rwlcodehead(rwm, 1 /*thrcount*/); // prepare wrapper procedure } @@ -6546,11 +6551,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 6550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6555 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 323: -#line 2910 "rwlparser.y" /* yacc.c:1646 */ +#line 2916 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -6569,88 +6574,88 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6573 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6578 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 329: -#line 2938 "rwlparser.y" /* yacc.c:1646 */ +#line 2944 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6584 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6589 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 331: -#line 2947 "rwlparser.y" /* yacc.c:1646 */ +#line 2953 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_STRING_FOR_SPRINTF); rwlexprclear(rwm); yyerrok; } -#line 6595 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6600 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 333: -#line 2956 "rwlparser.y" /* yacc.c:1646 */ +#line 2962 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6606 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6611 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 335: -#line 2966 "rwlparser.y" /* yacc.c:1646 */ +#line 2972 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document this syntax without comma if (rwm->filenam) rwlerror(rwm, RWL_ERROR_COMMA_IS_RECOMMENDED, rwm->filenam , bit(rwm->mflags,RWL_P_PRINTLINE) ? "writeline" : "write"); } -#line 6617 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6622 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 338: -#line 2978 "rwlparser.y" /* yacc.c:1646 */ +#line 2984 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6628 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6633 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 339: -#line 2986 "rwlparser.y" /* yacc.c:1646 */ +#line 2992 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6639 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6644 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 340: -#line 2994 "rwlparser.y" /* yacc.c:1646 */ +#line 3000 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6650 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6655 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 341: -#line 3002 "rwlparser.y" /* yacc.c:1646 */ +#line 3008 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_NEWLINE); @@ -6658,22 +6663,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); fputs(bit(rwm->m4flags, RWL_P4_CRNLWRITELINE) ? "\r\n" : "\n", stdout); bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 6662 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6667 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 343: -#line 3012 "rwlparser.y" /* yacc.c:1646 */ +#line 3018 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6673 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6678 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 345: -#line 3020 "rwlparser.y" /* yacc.c:1646 */ +#line 3026 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6684,11 +6689,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_CQNBREAK); } } -#line 6688 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6693 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 346: -#line 3031 "rwlparser.y" /* yacc.c:1646 */ +#line 3037 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6723,11 +6728,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6727 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6732 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 347: -#line 3067 "rwlparser.y" /* yacc.c:1646 */ +#line 3073 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6763,11 +6768,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6767 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6772 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 348: -#line 3104 "rwlparser.y" /* yacc.c:1646 */ +#line 3110 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6806,11 +6811,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_DONE_IN_MAIN, "writelob"); } } -#line 6810 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6815 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 349: -#line 3144 "rwlparser.y" /* yacc.c:1646 */ +#line 3150 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_CBLOCK)) { @@ -6827,11 +6832,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m2flags, RWL_P2_THROPTS); /* clear all thread option flas */ bis(rwm->m2flags, RWL_P2_CBLOCK); } -#line 6831 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6836 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 350: -#line 3161 "rwlparser.y" /* yacc.c:1646 */ +#line 3167 "rwlparser.y" /* yacc.c:1646 */ { if(!rwm->stoptime && !rwm->stopcount) { @@ -6844,6 +6849,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); { rwm->totthr = 0; // now in lexer: rwm->lnosav = rwm->loc.lineno; + bic(rwm->m4flags,RWL_P4_PROCHASSQL); bis(rwm->mflags, RWL_P_DXEQMAIN); rwlcodehead(rwm, 1 /*thrcount*/); } @@ -6852,11 +6858,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 6856 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6862 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 351: -#line 3184 "rwlparser.y" /* yacc.c:1646 */ +#line 3191 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_CBLOCK_BAD)) rwlloopfinish(rwm); @@ -6874,26 +6880,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6878 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6884 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 352: -#line 3203 "rwlparser.y" /* yacc.c:1646 */ +#line 3210 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_AFTER_IDENTIFIER); yyerrok; } -#line 6887 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6893 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 353: -#line 3210 "rwlparser.y" /* yacc.c:1646 */ +#line 3217 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 6893 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6899 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 354: -#line 3216 "rwlparser.y" /* yacc.c:1646 */ +#line 3223 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6917,28 +6923,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6921 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6927 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 355: -#line 3240 "rwlparser.y" /* yacc.c:1646 */ +#line 3247 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobwritedata = rwlexprfinish(rwm); rwm->loboffset = 0; } -#line 6930 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6936 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 357: -#line 3249 "rwlparser.y" /* yacc.c:1646 */ +#line 3256 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6938 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6944 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 358: -#line 3256 "rwlparser.y" /* yacc.c:1646 */ +#line 3263 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6961,11 +6967,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6965 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6971 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 359: -#line 3279 "rwlparser.y" /* yacc.c:1646 */ +#line 3286 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->loboffset = 0; @@ -6987,27 +6993,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6991 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6997 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 361: -#line 3305 "rwlparser.y" /* yacc.c:1646 */ +#line 3312 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobreadlength = rwlexprfinish(rwm); } -#line 6999 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7005 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 362: -#line 3309 "rwlparser.y" /* yacc.c:1646 */ +#line 3316 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 7007 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7013 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 363: -#line 3315 "rwlparser.y" /* yacc.c:1646 */ +#line 3322 "rwlparser.y" /* yacc.c:1646 */ { /* simple sql execute */ sb4 l; @@ -7153,11 +7159,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->loc.errlin = 0; } -#line 7157 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7163 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 364: -#line 3465 "rwlparser.y" /* yacc.c:1646 */ +#line 3472 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; @@ -7267,11 +7273,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); failurecursor: rwm->loc.errlin = 0; } -#line 7271 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7277 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 365: -#line 3577 "rwlparser.y" /* yacc.c:1646 */ +#line 3584 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -7304,27 +7310,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->loc.errlin = 0; } -#line 7308 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7314 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 366: -#line 3613 "rwlparser.y" /* yacc.c:1646 */ +#line 3620 "rwlparser.y" /* yacc.c:1646 */ { // This syntax is not documented bic(rwm->m3flags, RWL_P3_CLHEADFOR); rwlerror(rwm, RWL_ERROR_LEGACY_CONTROLLOOP_SYNTAX); } -#line 7318 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7324 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 367: -#line 3618 "rwlparser.y" /* yacc.c:1646 */ +#line 3625 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7324 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7330 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 368: -#line 3622 "rwlparser.y" /* yacc.c:1646 */ +#line 3629 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document these two (legacy) syntax: // loop option .. .. ; @@ -7337,41 +7343,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // legacy and current syntax are mixed. bic(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7341 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7347 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 369: -#line 3638 "rwlparser.y" /* yacc.c:1646 */ +#line 3645 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7349 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7355 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 370: -#line 3642 "rwlparser.y" /* yacc.c:1646 */ +#line 3649 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7357 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7363 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 371: -#line 3646 "rwlparser.y" /* yacc.c:1646 */ +#line 3653 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7365 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7371 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 374: -#line 3657 "rwlparser.y" /* yacc.c:1646 */ +#line 3664 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7371 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7377 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 375: -#line 3659 "rwlparser.y" /* yacc.c:1646 */ +#line 3666 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->starttime) { @@ -7384,17 +7390,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->starttime = rwlexprfinish(rwm); } } -#line 7388 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7394 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 376: -#line 3671 "rwlparser.y" /* yacc.c:1646 */ +#line 3678 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7394 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7400 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 377: -#line 3673 "rwlparser.y" /* yacc.c:1646 */ +#line 3680 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7409,17 +7415,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bis(rwm->m2flags, RWL_P2_STOP); } } -#line 7413 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7419 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 378: -#line 3687 "rwlparser.y" /* yacc.c:1646 */ +#line 3694 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7419 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7425 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 379: -#line 3689 "rwlparser.y" /* yacc.c:1646 */ +#line 3696 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7434,17 +7440,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bic(rwm->m2flags, RWL_P2_STOP); } } -#line 7438 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7444 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 380: -#line 3703 "rwlparser.y" /* yacc.c:1646 */ +#line 3710 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7444 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7450 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 381: -#line 3705 "rwlparser.y" /* yacc.c:1646 */ +#line 3712 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7457,17 +7463,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->waittime = rwlexprfinish(rwm); } } -#line 7461 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7467 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 382: -#line 3717 "rwlparser.y" /* yacc.c:1646 */ +#line 3724 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7467 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7473 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 383: -#line 3719 "rwlparser.y" /* yacc.c:1646 */ +#line 3726 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7493,55 +7499,55 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->everytime = rwlexprfinish(rwm); } } -#line 7497 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7503 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 384: -#line 3748 "rwlparser.y" /* yacc.c:1646 */ +#line 3755 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = 0; } -#line 7503 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7509 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 385: -#line 3749 "rwlparser.y" /* yacc.c:1646 */ +#line 3756 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_QUEUE_EVERY; } -#line 7509 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7515 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 386: -#line 3750 "rwlparser.y" /* yacc.c:1646 */ +#line 3757 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_NOQUEUE_EVERY; } -#line 7515 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7521 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 387: -#line 3754 "rwlparser.y" /* yacc.c:1646 */ +#line 3761 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7524 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7530 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 388: -#line 3759 "rwlparser.y" /* yacc.c:1646 */ +#line 3766 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7533 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7539 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 389: -#line 3764 "rwlparser.y" /* yacc.c:1646 */ +#line 3771 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7541 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7547 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 390: -#line 3768 "rwlparser.y" /* yacc.c:1646 */ +#line 3775 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); // lookahead may have consumed the next identifier @@ -7549,20 +7555,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam; } -#line 7553 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7559 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 391: -#line 3776 "rwlparser.y" /* yacc.c:1646 */ +#line 3783 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7562 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7568 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 392: -#line 3785 "rwlparser.y" /* yacc.c:1646 */ +#line 3792 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; rwm->sqllino = rwm->sqltlin; // the line where we started sql scan @@ -7577,11 +7583,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->scname = rwm->sqname = rwlstrdup(rwm, sqlnam); rwm->sqllen = 0; } -#line 7581 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7587 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 393: -#line 3800 "rwlparser.y" /* yacc.c:1646 */ +#line 3807 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); @@ -7609,11 +7615,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); rwm->sqlfile = 0; /* not from a file */ } -#line 7613 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7619 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 394: -#line 3832 "rwlparser.y" /* yacc.c:1646 */ +#line 3839 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; snprintf((char *)sqlnam, sizeof(sqlnam), "sql#%05d", rwm->mxq->varcount); @@ -7627,11 +7633,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->msqlstk = 0; } -#line 7631 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7637 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 395: -#line 3847 "rwlparser.y" /* yacc.c:1646 */ +#line 3854 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMEDSQL); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); @@ -7639,11 +7645,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (bit(rwm->m3flags,RWL_P3_IMPLCASE)) bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); } -#line 7643 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7649 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 396: -#line 3856 "rwlparser.y" /* yacc.c:1646 */ +#line 3863 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_IMMISDYN) && bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -7680,26 +7686,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); cannotdoimm: ; } -#line 7684 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7690 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 398: -#line 3894 "rwlparser.y" /* yacc.c:1646 */ +#line 3901 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG) ; yyerrok; } -#line 7693 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7699 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 400: -#line 3902 "rwlparser.y" /* yacc.c:1646 */ +#line 3909 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7699 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7705 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 401: -#line 3903 "rwlparser.y" /* yacc.c:1646 */ +#line 3910 "rwlparser.y" /* yacc.c:1646 */ { if ((rwm->msqlstk = rwlexprfinish(rwm))) bis(rwm->m3flags, RWL_P3_IMMISDYN); // now dynamic @@ -7709,99 +7715,99 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 7713 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7719 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 402: -#line 3915 "rwlparser.y" /* yacc.c:1646 */ +#line 3922 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno; } -#line 7721 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7727 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 406: -#line 3924 "rwlparser.y" /* yacc.c:1646 */ +#line 3931 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "sql") ; } -#line 7729 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7735 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 409: -#line 3935 "rwlparser.y" /* yacc.c:1646 */ +#line 3942 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7737 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7743 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 410: -#line 3939 "rwlparser.y" /* yacc.c:1646 */ +#line 3946 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7746 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7752 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 411: -#line 3947 "rwlparser.y" /* yacc.c:1646 */ +#line 3954 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7754 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7760 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 412: -#line 3951 "rwlparser.y" /* yacc.c:1646 */ +#line 3958 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7762 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7768 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 413: -#line 3955 "rwlparser.y" /* yacc.c:1646 */ +#line 3962 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7771 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7777 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 415: -#line 3965 "rwlparser.y" /* yacc.c:1646 */ +#line 3972 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = 0; bis(rwm->m2flags, RWL_P2_ATDEFAULT); /* explict choose standard DB */ } -#line 7780 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7786 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 416: -#line 3971 "rwlparser.y" /* yacc.c:1646 */ +#line 3978 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); /* named DB */ } -#line 7789 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7795 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 417: -#line 3976 "rwlparser.y" /* yacc.c:1646 */ +#line 3983 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_DATABASE_NAME); yyerrok; } -#line 7795 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7801 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 418: -#line 3978 "rwlparser.y" /* yacc.c:1646 */ +#line 3985 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 7801 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7807 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 421: -#line 3986 "rwlparser.y" /* yacc.c:1646 */ +#line 3993 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename || bit(rwm->addvarbits,RWL_IDENT_PRIVATE)) { @@ -7827,11 +7833,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 7831 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7837 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 422: -#line 4012 "rwlparser.y" /* yacc.c:1646 */ +#line 4019 "rwlparser.y" /* yacc.c:1646 */ { // if compiling first file, see if there is a user arg if (bit(rwm->m2flags, RWL_P2_SCANFIRST) && rwm->decvarn >= 0) @@ -7904,20 +7910,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); donewithuserarg: ; } -#line 7908 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7914 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 424: -#line 4089 "rwlparser.y" /* yacc.c:1646 */ +#line 4096 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 7917 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7923 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 425: -#line 4094 "rwlparser.y" /* yacc.c:1646 */ +#line 4101 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->dtype) @@ -7964,11 +7970,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 7968 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7974 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 430: -#line 4157 "rwlparser.y" /* yacc.c:1646 */ +#line 4164 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7983,22 +7989,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_IF, estk); } -#line 7987 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7993 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 431: -#line 4172 "rwlparser.y" /* yacc.c:1646 */ +#line 4179 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7998 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8004 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 432: -#line 4181 "rwlparser.y" /* yacc.c:1646 */ +#line 4188 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8013,38 +8019,38 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_ELSEIF, estk); } -#line 8017 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8023 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 433: -#line 4196 "rwlparser.y" /* yacc.c:1646 */ +#line 4203 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8028 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8034 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 434: -#line 4205 "rwlparser.y" /* yacc.c:1646 */ +#line 4212 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LEGACY_WHILE_SYNTAX); } -#line 8036 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8042 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 435: -#line 4209 "rwlparser.y" /* yacc.c:1646 */ +#line 4216 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_WHILOP); } -#line 8044 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8050 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 436: -#line 4215 "rwlparser.y" /* yacc.c:1646 */ +#line 4222 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8061,33 +8067,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 8065 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8071 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 437: -#line 4232 "rwlparser.y" /* yacc.c:1646 */ +#line 4239 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8076 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8082 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 438: -#line 4239 "rwlparser.y" /* yacc.c:1646 */ +#line 4246 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_KEYWORD, "loop"); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8087 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8093 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 443: -#line 4256 "rwlparser.y" /* yacc.c:1646 */ +#line 4263 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -8103,120 +8109,120 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); nothreadssum: ; } -#line 8107 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8113 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 444: -#line 4272 "rwlparser.y" /* yacc.c:1646 */ +#line 4279 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlerror(rwm, RWL_ERROR_NO_LOCAL_SUMGLOB); else bis(rwm->addvarbits,RWL_IDENT_GLOBAL); } -#line 8118 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8124 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 445: -#line 4282 "rwlparser.y" /* yacc.c:1646 */ +#line 4289 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8128 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8134 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 446: -#line 4288 "rwlparser.y" /* yacc.c:1646 */ +#line 4295 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8137 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8143 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 447: -#line 4296 "rwlparser.y" /* yacc.c:1646 */ +#line 4303 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8147 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8153 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 448: -#line 4302 "rwlparser.y" /* yacc.c:1646 */ +#line 4309 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8156 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8162 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 449: -#line 4310 "rwlparser.y" /* yacc.c:1646 */ +#line 4317 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8166 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8172 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 450: -#line 4316 "rwlparser.y" /* yacc.c:1646 */ +#line 4323 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8175 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8181 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 451: -#line 4324 "rwlparser.y" /* yacc.c:1646 */ +#line 4331 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8184 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8190 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 452: -#line 4329 "rwlparser.y" /* yacc.c:1646 */ +#line 4336 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8192 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8198 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 453: -#line 4335 "rwlparser.y" /* yacc.c:1646 */ +#line 4342 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_CLOB; } -#line 8198 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8204 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 454: -#line 4336 "rwlparser.y" /* yacc.c:1646 */ +#line 4343 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_BLOB; } -#line 8204 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8210 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 455: -#line 4337 "rwlparser.y" /* yacc.c:1646 */ +#line 4344 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_NCLOB; } -#line 8210 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8216 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 456: -#line 4341 "rwlparser.y" /* yacc.c:1646 */ +#line 4348 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8216 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8222 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 457: -#line 4342 "rwlparser.y" /* yacc.c:1646 */ +#line 4349 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8226,25 +8232,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8230 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8236 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 459: -#line 4353 "rwlparser.y" /* yacc.c:1646 */ +#line 4360 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8238 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8244 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 460: -#line 4356 "rwlparser.y" /* yacc.c:1646 */ +#line 4363 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8244 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8250 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 461: -#line 4357 "rwlparser.y" /* yacc.c:1646 */ +#line 4364 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bic(rwm->m2flags, RWL_P2_BADSQLFILTXT); @@ -8253,19 +8259,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8257 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8263 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 463: -#line 4367 "rwlparser.y" /* yacc.c:1646 */ +#line 4374 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8265 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8271 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 466: -#line 4377 "rwlparser.y" /* yacc.c:1646 */ +#line 4384 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; @@ -8311,11 +8317,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8315 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8321 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 467: -#line 4424 "rwlparser.y" /* yacc.c:1646 */ +#line 4431 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; @@ -8346,11 +8352,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_SQL_ARRAY_AND_IGNERR); } -#line 8350 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8356 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 468: -#line 4458 "rwlparser.y" /* yacc.c:1646 */ +#line 4465 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -8359,11 +8365,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 8363 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8369 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 470: -#line 4471 "rwlparser.y" /* yacc.c:1646 */ +#line 4478 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; ub4 iflag = bit(rwm->m3flags, RWL_P3_IMMEDSQL) ? RWL_IDENT_INTERNAL : 0; @@ -8437,11 +8443,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8441 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8447 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 471: -#line 4549 "rwlparser.y" /* yacc.c:1646 */ +#line 4556 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; ub4 notyetcount = 0; @@ -8534,53 +8540,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8538 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8544 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 475: -#line 4652 "rwlparser.y" /* yacc.c:1646 */ +#line 4659 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BIND); yyerrok; } -#line 8544 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8550 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 477: -#line 4656 "rwlparser.y" /* yacc.c:1646 */ +#line 4663 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BINDOUT); yyerrok; } -#line 8550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8556 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 479: -#line 4660 "rwlparser.y" /* yacc.c:1646 */ +#line 4667 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DEFINE); yyerrok; } -#line 8556 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8562 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 480: -#line 4662 "rwlparser.y" /* yacc.c:1646 */ +#line 4669 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_IGNERR); } -#line 8564 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8570 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 481: -#line 4666 "rwlparser.y" /* yacc.c:1646 */ +#line 4673 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8572 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8578 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 482: -#line 4670 "rwlparser.y" /* yacc.c:1646 */ +#line 4677 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8580 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8586 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 483: -#line 4675 "rwlparser.y" /* yacc.c:1646 */ +#line 4682 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) { @@ -8598,34 +8604,34 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqsav->asiz = (ub4)rwm->pval.ival; } } -#line 8602 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8608 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 484: -#line 4694 "rwlparser.y" /* yacc.c:1646 */ +#line 4701 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ARRAY); yyerrok; } -#line 8608 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8614 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 485: -#line 4699 "rwlparser.y" /* yacc.c:1646 */ +#line 4706 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON_IN_SQL); } -#line 8614 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8620 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 488: -#line 4705 "rwlparser.y" /* yacc.c:1646 */ +#line 4712 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQFLAG_DYNAMIC)) rwlerror(rwm, RWL_ERROR_DEFINE_ARRAY_NOT_DYNAMIC); else bis(rwm->sqsav->flags, RWL_SQFLAG_ARRAYD); } -#line 8625 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8631 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 491: -#line 4719 "rwlparser.y" /* yacc.c:1646 */ +#line 4726 "rwlparser.y" /* yacc.c:1646 */ { // Note that it would not be too hard to replace // the integer constant here by an expression @@ -8633,27 +8639,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // can be done with modify sql for dynamic sql rwm->bdpos = rwm->ival; rwm->bdtyp=RWL_DEFINE; } -#line 8637 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8643 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 493: -#line 4728 "rwlparser.y" /* yacc.c:1646 */ +#line 4735 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "define"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); } -#line 8647 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8653 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 496: -#line 4742 "rwlparser.y" /* yacc.c:1646 */ +#line 4749 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BINDOUT_NAME; } -#line 8653 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8659 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 498: -#line 4744 "rwlparser.y" /* yacc.c:1646 */ +#line 4751 "rwlparser.y" /* yacc.c:1646 */ { // We could also use expression here, but we would // of course need to check it was either a non-negative number @@ -8661,61 +8667,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BINDOUT_POS; } -#line 8665 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8671 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 500: -#line 4752 "rwlparser.y" /* yacc.c:1646 */ +#line 4759 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BINDOUT_SAME; } -#line 8673 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8679 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 502: -#line 4756 "rwlparser.y" /* yacc.c:1646 */ +#line 4763 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_IMPLICIT_NOT_BINDOUT); } -#line 8681 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8687 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 505: -#line 4767 "rwlparser.y" /* yacc.c:1646 */ +#line 4774 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BIND_NAME; } -#line 8687 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8693 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 507: -#line 4769 "rwlparser.y" /* yacc.c:1646 */ +#line 4776 "rwlparser.y" /* yacc.c:1646 */ { // same comment as above rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BIND_POS; } -#line 8697 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8703 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 509: -#line 4775 "rwlparser.y" /* yacc.c:1646 */ +#line 4782 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BIND_SAME; } -#line 8705 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8711 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 511: -#line 4779 "rwlparser.y" /* yacc.c:1646 */ +#line 4786 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "bind"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); } -#line 8715 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8721 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 512: -#line 4788 "rwlparser.y" /* yacc.c:1646 */ +#line 4795 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; bd = rwlalloc(rwm, sizeof(rwl_bindef)); @@ -8809,41 +8815,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8813 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8819 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 513: -#line 4884 "rwlparser.y" /* yacc.c:1646 */ +#line 4891 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "runseconds", "bind/define"); } -#line 8822 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8828 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 514: -#line 4889 "rwlparser.y" /* yacc.c:1646 */ +#line 4896 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "epochseconds", "bind/define"); } -#line 8831 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8837 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 515: -#line 4893 "rwlparser.y" /* yacc.c:1646 */ +#line 4900 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8837 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8843 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 516: -#line 4894 "rwlparser.y" /* yacc.c:1646 */ +#line 4901 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8843 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8849 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 517: -#line 4898 "rwlparser.y" /* yacc.c:1646 */ +#line 4905 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8860,11 +8866,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8864 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8870 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 518: -#line 4915 "rwlparser.y" /* yacc.c:1646 */ +#line 4922 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8881,11 +8887,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8885 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8891 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 519: -#line 4932 "rwlparser.y" /* yacc.c:1646 */ +#line 4939 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8902,11 +8908,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8906 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8912 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 520: -#line 4949 "rwlparser.y" /* yacc.c:1646 */ +#line 4956 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8929,17 +8935,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8933 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8939 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 521: -#line 4971 "rwlparser.y" /* yacc.c:1646 */ +#line 4978 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8939 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8945 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 522: -#line 4972 "rwlparser.y" /* yacc.c:1646 */ +#line 4979 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8970,11 +8976,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8974 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8980 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 523: -#line 5003 "rwlparser.y" /* yacc.c:1646 */ +#line 5010 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8995,17 +9001,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8999 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9005 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 524: -#line 5023 "rwlparser.y" /* yacc.c:1646 */ +#line 5030 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9005 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9011 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 525: -#line 5024 "rwlparser.y" /* yacc.c:1646 */ +#line 5031 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0 && (rwm->msqlstk = rwlexprfinish(rwm))) { @@ -9027,11 +9033,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9031 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9037 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 526: -#line 5046 "rwlparser.y" /* yacc.c:1646 */ +#line 5053 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9046,11 +9052,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9050 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9056 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 528: -#line 5061 "rwlparser.y" /* yacc.c:1646 */ +#line 5068 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9065,11 +9071,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9069 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9075 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 530: -#line 5076 "rwlparser.y" /* yacc.c:1646 */ +#line 5083 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9084,23 +9090,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9088 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9094 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 534: -#line 5096 "rwlparser.y" /* yacc.c:1646 */ +#line 5103 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9094 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9100 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 535: -#line 5098 "rwlparser.y" /* yacc.c:1646 */ +#line 5105 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlstk = rwlexprfinish(rwm); } -#line 9100 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9106 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 536: -#line 5100 "rwlparser.y" /* yacc.c:1646 */ +#line 5107 "rwlparser.y" /* yacc.c:1646 */ { sb4 l2; rwl_sql *sq; @@ -9151,11 +9157,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 9155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9161 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 537: -#line 5153 "rwlparser.y" /* yacc.c:1646 */ +#line 5160 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; rwl_estack *estk; @@ -9185,21 +9191,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbcache: ; } -#line 9189 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9195 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 538: -#line 5183 "rwlparser.y" /* yacc.c:1646 */ +#line 5190 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbsphi = rwm->mdbsplo = rwlexprfinish(rwm); if (!rwm->mdbsplo) rwlexprclear(rwm); } -#line 9199 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9205 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 539: -#line 5189 "rwlparser.y" /* yacc.c:1646 */ +#line 5196 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; // are lo/hi good @@ -9228,20 +9234,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbpool: rwm->mdbsphi = rwm->mdbsplo = 0; } -#line 9232 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9238 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 541: -#line 5221 "rwlparser.y" /* yacc.c:1646 */ +#line 5228 "rwlparser.y" /* yacc.c:1646 */ { if (!(rwm->mdbsphi = rwlexprfinish(rwm))) rwlexprclear(rwm); } -#line 9241 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9247 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 542: -#line 5228 "rwlparser.y" /* yacc.c:1646 */ +#line 5235 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9261,23 +9267,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9265 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9271 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 544: -#line 5251 "rwlparser.y" /* yacc.c:1646 */ +#line 5258 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9271 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9277 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 545: -#line 5252 "rwlparser.y" /* yacc.c:1646 */ +#line 5259 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9277 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9283 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 546: -#line 5256 "rwlparser.y" /* yacc.c:1646 */ +#line 5263 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->strvarn = RWL_VAR_NOTFOUND; @@ -9297,11 +9303,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->conhead = rwm->contail = 0; } -#line 9301 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9307 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 547: -#line 5276 "rwlparser.y" /* yacc.c:1646 */ +#line 5283 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpupu(rwm, RWL_CODE_SPRINTF, rwm->strvnam @@ -9315,11 +9321,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9319 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9325 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 548: -#line 5294 "rwlparser.y" /* yacc.c:1646 */ +#line 5301 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9338,19 +9344,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9342 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9348 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 550: -#line 5316 "rwlparser.y" /* yacc.c:1646 */ +#line 5323 "rwlparser.y" /* yacc.c:1646 */ { rwm->conhead = rwm->contail = 0; } -#line 9350 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9356 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 551: -#line 5320 "rwlparser.y" /* yacc.c:1646 */ +#line 5327 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpup(rwm, RWL_CODE_FPRINTF, rwm->filenam @@ -9371,11 +9377,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9375 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9381 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 554: -#line 5348 "rwlparser.y" /* yacc.c:1646 */ +#line 5355 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwl_conlist *newcon; @@ -9394,11 +9400,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9398 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9404 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 555: -#line 5369 "rwlparser.y" /* yacc.c:1646 */ +#line 5376 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9419,11 +9425,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->mflags,RWL_P_PRINTLINE); } -#line 9423 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9429 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 556: -#line 5391 "rwlparser.y" /* yacc.c:1646 */ +#line 5398 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9444,35 +9450,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_PRINTLINE); } -#line 9448 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9454 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 557: -#line 5415 "rwlparser.y" /* yacc.c:1646 */ +#line 5422 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9457 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9463 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 558: -#line 5420 "rwlparser.y" /* yacc.c:1646 */ +#line 5427 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9466 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9472 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 560: -#line 5428 "rwlparser.y" /* yacc.c:1646 */ +#line 5435 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTBLANK); } -#line 9472 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9478 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 562: -#line 5433 "rwlparser.y" /* yacc.c:1646 */ +#line 5440 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -9530,11 +9536,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9534 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9540 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 563: -#line 5494 "rwlparser.y" /* yacc.c:1646 */ +#line 5501 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mflags,RWL_P_PRINTLINE)) { @@ -9566,11 +9572,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 9570 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9576 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 564: -#line 5529 "rwlparser.y" /* yacc.c:1646 */ +#line 5536 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -9581,11 +9587,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ; } } -#line 9585 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9591 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 565: -#line 5544 "rwlparser.y" /* yacc.c:1646 */ +#line 5551 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->assignoper) @@ -9634,107 +9640,107 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9638 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9644 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 566: -#line 5593 "rwlparser.y" /* yacc.c:1646 */ +#line 5600 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 9648 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9654 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 568: -#line 5603 "rwlparser.y" /* yacc.c:1646 */ +#line 5610 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 9657 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9663 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 569: -#line 5610 "rwlparser.y" /* yacc.c:1646 */ +#line 5617 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASSIGN; } -#line 9663 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9669 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 570: -#line 5611 "rwlparser.y" /* yacc.c:1646 */ +#line 5618 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_GREATEQ; } -#line 9669 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9675 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 571: -#line 5612 "rwlparser.y" /* yacc.c:1646 */ +#line 5619 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_RSHIFTASSIGN; } -#line 9675 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9681 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 572: -#line 5613 "rwlparser.y" /* yacc.c:1646 */ +#line 5620 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_LESSEQ; } -#line 9681 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9687 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 573: -#line 5614 "rwlparser.y" /* yacc.c:1646 */ +#line 5621 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPEFROM; } -#line 9687 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9693 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 574: -#line 5615 "rwlparser.y" /* yacc.c:1646 */ +#line 5622 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPETO; } -#line 9693 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9699 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 576: -#line 5619 "rwlparser.y" /* yacc.c:1646 */ +#line 5626 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_APPEND; } -#line 9699 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9705 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 577: -#line 5620 "rwlparser.y" /* yacc.c:1646 */ +#line 5627 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNADD; } -#line 9705 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9711 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 578: -#line 5621 "rwlparser.y" /* yacc.c:1646 */ +#line 5628 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNSUB; } -#line 9711 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9717 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 579: -#line 5622 "rwlparser.y" /* yacc.c:1646 */ +#line 5629 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIS; } -#line 9717 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9723 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 580: -#line 5623 "rwlparser.y" /* yacc.c:1646 */ +#line 5630 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIC; } -#line 9723 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9729 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 581: -#line 5630 "rwlparser.y" /* yacc.c:1646 */ +#line 5637 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } -#line 9734 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9740 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 582: -#line 5637 "rwlparser.y" /* yacc.c:1646 */ +#line 5644 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; sb4 l; @@ -9760,11 +9766,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllityp[rwm->rsldepth] = RWL_LI_DOTDOT; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 9764 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9770 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 584: -#line 5663 "rwlparser.y" /* yacc.c:1646 */ +#line 5670 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeadd0(rwm, RWL_CODE_LIBEG); rwm->rsllihead[rwm->rsldepth] @@ -9777,11 +9783,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); rwm->rsllitail[rwm->rsldepth]->listk = rwlexprfinish(rwm); } -#line 9781 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9787 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 586: -#line 5677 "rwlparser.y" /* yacc.c:1646 */ +#line 5684 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwlexprclear(rwm); @@ -9791,11 +9797,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); yyerrok; } -#line 9795 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9801 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 589: -#line 5696 "rwlparser.y" /* yacc.c:1646 */ +#line 5703 "rwlparser.y" /* yacc.c:1646 */ { rwl_lilist *thisli = rwlalloc(rwm, sizeof(rwl_lilist)); rwlexprpush(rwm, rwm->loopvar[rwm->rsldepth], RWL_STACK_ASN); @@ -9803,61 +9809,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllitail[rwm->rsldepth]->linxt = thisli; rwm->rsllitail[rwm->rsldepth] = thisli; } -#line 9807 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9813 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 592: -#line 5716 "rwlparser.y" /* yacc.c:1646 */ +#line 5723 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 9816 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9822 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 593: -#line 5721 "rwlparser.y" /* yacc.c:1646 */ +#line 5728 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 9824 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9830 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 596: -#line 5730 "rwlparser.y" /* yacc.c:1646 */ +#line 5737 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "execute") ; } -#line 9830 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9836 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 599: -#line 5737 "rwlparser.y" /* yacc.c:1646 */ +#line 5744 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; } -#line 9836 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9842 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 602: -#line 5744 "rwlparser.y" /* yacc.c:1646 */ +#line 5751 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "if") ; yyerrok; } -#line 9842 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9848 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 605: -#line 5751 "rwlparser.y" /* yacc.c:1646 */ +#line 5758 "rwlparser.y" /* yacc.c:1646 */ { if (0 != rwlstrcmp(rwm->inam, rwm->sqname)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname); } -#line 9851 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9857 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 606: -#line 5756 "rwlparser.y" /* yacc.c:1646 */ +#line 5763 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname) ; yyerrok; } -#line 9857 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9863 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 608: -#line 5762 "rwlparser.y" /* yacc.c:1646 */ +#line 5769 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile1]"); @@ -9868,11 +9874,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop"); } } -#line 9872 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9878 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 609: -#line 5773 "rwlparser.y" /* yacc.c:1646 */ +#line 5780 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile2]"); @@ -9883,11 +9889,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while"); } } -#line 9887 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9893 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 610: -#line 5784 "rwlparser.y" /* yacc.c:1646 */ +#line 5791 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->rslflags[rwm->rsldepth-1], RWL_RSLFLAG_WHILOP)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; @@ -9895,27 +9901,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while") ; yyerrok; } -#line 9899 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9905 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 611: -#line 5795 "rwlparser.y" /* yacc.c:1646 */ +#line 5802 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = 0; } -#line 9907 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9913 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 612: -#line 5800 "rwlparser.y" /* yacc.c:1646 */ +#line 5807 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = rwlexprfinish(rwm); } -#line 9915 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9921 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 614: -#line 5807 "rwlparser.y" /* yacc.c:1646 */ +#line 5814 "rwlparser.y" /* yacc.c:1646 */ { char plsword[6]; /* check for "begin" or "decla" or "--" */ ub4 sb, pb, len; @@ -9970,28 +9976,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_SQLWASPLS); rwlerror(rwm, RWL_ERROR_WARN_COMPILETIME_SQLTEXT, rwm->sqname); } -#line 9974 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9980 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 615: -#line 5864 "rwlparser.y" /* yacc.c:1646 */ +#line 5871 "rwlparser.y" /* yacc.c:1646 */ { rwm->loc.errlin = 0; rwm->sqlfile = 0; /* not from a file */ } -#line 9983 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9989 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 616: -#line 5869 "rwlparser.y" /* yacc.c:1646 */ +#line 5876 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9991 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9997 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 617: -#line 5873 "rwlparser.y" /* yacc.c:1646 */ +#line 5880 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; FILE *f ; @@ -10072,11 +10078,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10076 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10082 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 618: -#line 5956 "rwlparser.y" /* yacc.c:1646 */ +#line 5963 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -10096,11 +10102,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 10100 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10106 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 619: -#line 5976 "rwlparser.y" /* yacc.c:1646 */ +#line 5983 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) // everything is good { @@ -10123,50 +10129,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10127 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10133 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 620: -#line 6000 "rwlparser.y" /* yacc.c:1646 */ +#line 6007 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BAD_READLINE); yyerrok; } -#line 10136 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10142 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 621: -#line 6007 "rwlparser.y" /* yacc.c:1646 */ +#line 6014 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = rwm->sub_estk = 0; } -#line 10142 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10148 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 622: -#line 6009 "rwlparser.y" /* yacc.c:1646 */ +#line 6016 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10150 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10156 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 623: -#line 6013 "rwlparser.y" /* yacc.c:1646 */ +#line 6020 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); } -#line 10158 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10164 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 624: -#line 6017 "rwlparser.y" /* yacc.c:1646 */ +#line 6024 "rwlparser.y" /* yacc.c:1646 */ { rwm->sub_estk = rwlexprfinish(rwm); } -#line 10166 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10172 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 625: -#line 6021 "rwlparser.y" /* yacc.c:1646 */ +#line 6028 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->reg_estk && rwm->str_estk && rwm->sub_estk) { @@ -10205,60 +10211,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10209 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10215 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 626: -#line 6060 "rwlparser.y" /* yacc.c:1646 */ +#line 6067 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10219 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10225 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 627: -#line 6069 "rwlparser.y" /* yacc.c:1646 */ +#line 6076 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10227 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10233 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 628: -#line 6073 "rwlparser.y" /* yacc.c:1646 */ +#line 6080 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10235 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10241 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 629: -#line 6079 "rwlparser.y" /* yacc.c:1646 */ +#line 6086 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10241 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10247 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 630: -#line 6081 "rwlparser.y" /* yacc.c:1646 */ +#line 6088 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10249 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10255 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 631: -#line 6085 "rwlparser.y" /* yacc.c:1646 */ +#line 6092 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10258 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10264 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 632: -#line 6090 "rwlparser.y" /* yacc.c:1646 */ +#line 6097 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10291,44 +10297,44 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10295 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10301 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 633: -#line 6124 "rwlparser.y" /* yacc.c:1646 */ +#line 6131 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10305 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10311 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 634: -#line 6133 "rwlparser.y" /* yacc.c:1646 */ +#line 6140 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10311 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10317 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 635: -#line 6135 "rwlparser.y" /* yacc.c:1646 */ +#line 6142 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10319 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10325 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 636: -#line 6139 "rwlparser.y" /* yacc.c:1646 */ +#line 6146 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10328 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10334 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 637: -#line 6144 "rwlparser.y" /* yacc.c:1646 */ +#line 6151 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10361,21 +10367,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10365 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10371 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 638: -#line 6178 "rwlparser.y" /* yacc.c:1646 */ +#line 6185 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10375 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10381 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 641: -#line 6191 "rwlparser.y" /* yacc.c:1646 */ +#line 6198 "rwlparser.y" /* yacc.c:1646 */ { rwl_idlist *newid = rwlalloc(rwm, sizeof(rwl_idlist)); @@ -10416,22 +10422,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10420 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10426 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 642: -#line 6234 "rwlparser.y" /* yacc.c:1646 */ +#line 6241 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that the system expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 10431 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10437 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 643: -#line 6243 "rwlparser.y" /* yacc.c:1646 */ +#line 6250 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -10447,11 +10453,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10451 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10457 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 644: -#line 6268 "rwlparser.y" /* yacc.c:1646 */ +#line 6275 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->threadlist) rwlsevere(rwm, "[rwlparser-thrlistnotclean]"); @@ -10462,11 +10468,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->totthr = 0; } -#line 10466 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10472 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 645: -#line 6280 "rwlparser.y" /* yacc.c:1646 */ +#line 6287 "rwlparser.y" /* yacc.c:1646 */ { rwl_thrinfo *next; rwm->loc.errlin = rwm->lexlino; @@ -10485,26 +10491,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->threadlist = rwm->mythr = 0; rwm->loc.errlin = 0; } -#line 10489 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10495 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 646: -#line 6299 "rwlparser.y" /* yacc.c:1646 */ +#line 6306 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10495 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10501 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 651: -#line 6313 "rwlparser.y" /* yacc.c:1646 */ +#line 6320 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->cqnstop = 0.0; rwm->cqnnow = rwlclock(rwm->mxq,0); } -#line 10504 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10510 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 652: -#line 6318 "rwlparser.y" /* yacc.c:1646 */ +#line 6325 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *cp; sb4 l; @@ -10528,11 +10534,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10532 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10538 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 653: -#line 6343 "rwlparser.y" /* yacc.c:1646 */ +#line 6350 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstop = rwm->pval.dval; if (rwm->cqnstop < rwm->cqnstart || rwm->cqnstop < rwm->cqnnow) @@ -10541,11 +10547,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->cqnat = 0; } } -#line 10545 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10551 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 654: -#line 6352 "rwlparser.y" /* yacc.c:1646 */ +#line 6359 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->cqnat) { @@ -10597,11 +10603,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; rwm->mythr->dbnam = rwm->cqnat; } -#line 10601 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10607 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 655: -#line 6404 "rwlparser.y" /* yacc.c:1646 */ +#line 6411 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->cqnat) // no errors above { @@ -10626,11 +10632,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m4flags, RWL_P4_PROCHASSQL); } -#line 10630 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10636 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 656: -#line 6429 "rwlparser.y" /* yacc.c:1646 */ +#line 6436 "rwlparser.y" /* yacc.c:1646 */ { rwlcodehead(rwm, 0); if (rwm->cqnat) // No error above @@ -10658,37 +10664,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_CQNTHEN; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10662 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10668 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 657: -#line 6457 "rwlparser.y" /* yacc.c:1646 */ +#line 6464 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeaddu(rwm, RWL_CODE_CQNISCB, 0); // Is in callback rwlcodetail(rwm); } -#line 10671 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10677 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 661: -#line 6468 "rwlparser.y" /* yacc.c:1646 */ +#line 6475 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "querynotification"); yyerrok; } -#line 10680 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10686 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 663: -#line 6477 "rwlparser.y" /* yacc.c:1646 */ +#line 6484 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->pval.dval; } -#line 10688 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10694 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 664: -#line 6484 "rwlparser.y" /* yacc.c:1646 */ +#line 6491 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m4flags, RWL_P4_PROCHASSQL); if (rwm->pval.ival < 0) @@ -10704,45 +10710,45 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_THREAD; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10708 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10714 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 665: -#line 6502 "rwlparser.y" /* yacc.c:1646 */ +#line 6509 "rwlparser.y" /* yacc.c:1646 */ { rwlcodetail(rwm); } -#line 10716 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10722 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 667: -#line 6507 "rwlparser.y" /* yacc.c:1646 */ +#line 6514 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10722 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10728 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 669: -#line 6512 "rwlparser.y" /* yacc.c:1646 */ +#line 6519 "rwlparser.y" /* yacc.c:1646 */ { rwm->mythr->dbnam = rwm->inam; } -#line 10730 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10736 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 672: -#line 6521 "rwlparser.y" /* yacc.c:1646 */ +#line 6528 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "threads") ; } -#line 10736 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10742 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 675: -#line 6529 "rwlparser.y" /* yacc.c:1646 */ +#line 6536 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "run") ; } -#line 10742 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10748 "rwlparser.tab.c" /* yacc.c:1646 */ break; -#line 10746 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10752 "rwlparser.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/rwlparser.tab.h b/src/rwlparser.tab.h index f6e1d37b..d3f63efe 100644 --- a/src/rwlparser.tab.h +++ b/src/rwlparser.tab.h @@ -225,7 +225,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 477 "rwlparser.y" /* yacc.c:1909 */ +#line 478 "rwlparser.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets diff --git a/src/rwlparser.y b/src/rwlparser.y index 850cc752..c301184a 100644 --- a/src/rwlparser.y +++ b/src/rwlparser.y @@ -11,6 +11,7 @@ * * History * + * bengsig 23-oct-2024 - clear RWL_P4_PROCHASSQL at various for loops in main * bengsig 10-oct-2024 - sessionpool release every/count * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 29-aug-2024 - string->integer can be hex @@ -1344,7 +1345,8 @@ codebody: } } - finishcodebody: ; + finishcodebody: + bic(rwm->m4flags,RWL_P4_PROCHASSQL); } ; @@ -2200,6 +2202,7 @@ statement: rwm->totthr = 0; // now in lexer: rwm->lnosav = rwm->loc.lineno; bis(rwm->mflags, RWL_P_DXEQMAIN); + bic(rwm->m4flags,RWL_P4_PROCHASSQL); rwlcodehead(rwm, 1 /*thrcount*/); } rwlexprbeg(rwm); @@ -2699,7 +2702,7 @@ statement: { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below - bic(rwm->m4flags,RWL_P4_PROCHASSQL); + bic(rwm->m4flags,RWL_P4_PROCHASSQL); // ?? Should we really do this here? if (rwm->codename) // building a procedure { sb4 l2; @@ -2755,6 +2758,8 @@ statement: } else // directly in main { + // Shouldn't we do it here in stead: + // bic(rwm->m4flags,RWL_P4_PROCHASSQL); rwm->totthr = 0; if (rwm->rsldepth) /*ASSERT*/ rwlsevere(rwm, "[rwlparser-stmtrsldepth:%d]", rwm->rsldepth); @@ -2884,6 +2889,7 @@ statement: rwm->totthr = 0; bis(rwm->mflags, RWL_P_DXEQMAIN); + bic(rwm->m4flags,RWL_P4_PROCHASSQL); rwlcodehead(rwm, 1 /*thrcount*/); // prepare wrapper procedure } @@ -3170,6 +3176,7 @@ statement: { rwm->totthr = 0; // now in lexer: rwm->lnosav = rwm->loc.lineno; + bic(rwm->m4flags,RWL_P4_PROCHASSQL); bis(rwm->mflags, RWL_P_DXEQMAIN); rwlcodehead(rwm, 1 /*thrcount*/); } From a66d906320ce2840258741a01ab0b1107c6c65ad Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 28 Oct 2024 12:34:14 +0000 Subject: [PATCH 105/118] Add awr_replication_cmd to oltprun --- bin/oltprun | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bin/oltprun b/bin/oltprun index ebb97279..408029f5 100755 --- a/bin/oltprun +++ b/bin/oltprun @@ -7,6 +7,7 @@ # Changes # +# bengsig 28-oct-2024 - awr_replication_cmd # bengsig 30-mar-2022 - -G/--qegraphs # bengsig 15-nov-2022 - rategradient, -i, -d options # bengsig 2-jul-2022 - Add simulatebatch @@ -125,4 +126,7 @@ fi rm -f $awrdirectory$subdir$runnumber/$runnumber.txt cp $resultsdir$subdir$runnumber/$runnumber.out $awrdirectory$subdir$runnumber/$runnumber.txt - +# just to copy over the runnumber.txt file +if [ -n "$awr_replication_cmd" ]; then + eval $awr_replication_cmd +fi From 56c0d654472cb1834ff577fa5a77a893bd25bf2f Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 29 Oct 2024 12:11:50 +0000 Subject: [PATCH 106/118] Show when hostname != $hostname: directive --- oltp/parameters.rwl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/oltp/parameters.rwl b/oltp/parameters.rwl index c9c8aadb..9574a926 100644 --- a/oltp/parameters.rwl +++ b/oltp/parameters.rwl @@ -2,6 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ +# bengsig 29-oct-2024 - Show when $hostname differs from hostname # lpierce 17-oct-2024 - added awr_replication_cmd # bengsig 10-oct-2023 - sessionpool max use/lifetime # bengsig 31-jul-2023 - rategradientstep @@ -710,7 +711,13 @@ if show_changed_values then printline "orders_hashcount="||orders_hashcount; printline "query_order_max_limit="||query_order_max_limit; printline "cursor_cache_size="||cursor_cache_size; - printline "hostname="||hostname; + string(1024) system_hostname; + system "hostname", system_hostname; + if system_hostname = hostname then + printline "hostname="||hostname; + else + printline "hostname=" hostname || " (different from system hostname=" system_hostname ")"; + end if; if fix_cursorleak is not null then if fix_cursorleak > 1.0 then fix_cursorleak := 1.0; end if; if fix_cursorleak < 0 then fix_cursorleak := 0; end if; From 2b12fbab28a4df5fdcc24cdf0f1940e7184874f3 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 29 Oct 2024 14:24:55 +0000 Subject: [PATCH 107/118] Add timestamps to ash plot x2 axis --- bin/oltpplot | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/bin/oltpplot b/bin/oltpplot index 7c29165f..44f7177e 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -907,10 +907,21 @@ cat >> $resultsdir$subdir${runnumber}/ash.plot << END set yrange [0.5:*] set ylabel 'session counts $ashnotice' set title "$runnumberintitle ash session counts $titletext" + set x2data time + set x2tics nomirror + set timefmt "%Y.%m.%d:%H:%M:%S" + set format x2 $x2format set xtics $xtics set terminal png size imgwidth,480 set output "$awrdirectory$subdir$runnumber/${runnumber}_ash.png" END +# set x2range in ash.plot +rwloadsim -q x2range.rwl $runnumber `cat $resultsdir$subdir${runnumber}/xrange.csv` $resultsdir$subdir$runnumber/ash.plot +if test $x2label = no +then + echo set nox2tics >> $resultsdir$subdir$runnumber/ash.plot +fi + cat $resultsdir$subdir${runnumber}/ashplotline.txt >> $resultsdir$subdir${runnumber}/ash.plot if test ! -z "$ashyrange" From 934c8bf68e9e6627096ed3f409077027819bc637 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Wed, 30 Oct 2024 16:32:36 +0000 Subject: [PATCH 108/118] no xtics on x2 in ash graph --- bin/oltpplot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/oltpplot b/bin/oltpplot index 44f7177e..b1c3c9a9 100755 --- a/bin/oltpplot +++ b/bin/oltpplot @@ -596,7 +596,7 @@ replot END gnuplot -persist $resultsdir$subdir${runnumber}/pga.plot -# buffer cache plot +# buffer cache, shared pool and pga cat >> $resultsdir$subdir${runnumber}/memory.plot <> $resultsdir$subdir${runnumber}/ash.plot << END set x2tics nomirror set timefmt "%Y.%m.%d:%H:%M:%S" set format x2 $x2format - set xtics $xtics + set xtics $xtics nomirror set terminal png size imgwidth,480 set output "$awrdirectory$subdir$runnumber/${runnumber}_ash.png" END From a6d2dca1ce578719a2c5dc19da6116f91a061353 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Tue, 12 Nov 2024 16:57:15 +0000 Subject: [PATCH 109/118] Make some rwlexecsevere text unique --- src/rwlmisc.c | 63 ++++++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/src/rwlmisc.c b/src/rwlmisc.c index f431aa92..bb51eb8a 100644 --- a/src/rwlmisc.c +++ b/src/rwlmisc.c @@ -14,6 +14,7 @@ * * History * + * bengsig 12-nov-2024 - make RWL-600 texts unique * bengsig 29-aug-2024 - string->integer can be hex * mkdash 9-aug-2024 - Update Debugging functionality * bengsig 16-apr-2024 - bit operation on clflags @@ -3073,7 +3074,7 @@ void rwldoprintf(rwl_xeqenv *xev } \ else \ { \ - rwlexecsevere(xev, loc, "[rwldoprintf-outofspacen%d;%s;%d;%s;%d]" \ + rwlexecsevere(xev, loc, "[rwldoprintf-outofspacen%d:%s;%d;%s;%d]" \ , si, ytformat, yl, numbuf, numout ); \ goto cannotprintf; \ } \ @@ -3092,7 +3093,7 @@ void rwldoprintf(rwl_xeqenv *xev } \ else \ { \ - rwlexecsevere(xev, loc, "[rwldoprintf-outofspacec%d;%s;%d]", si, ytformat, yl); \ + rwlexecsevere(xev, loc, "[rwldoprintf-outofspacec%d:%s;%d]", si, ytformat, yl); \ goto cannotprintf; \ } \ } while (0) @@ -3469,21 +3470,21 @@ void rwldoprintf(rwl_xeqenv *xev case RWL_NVL_ZERO: rwlpfaddc('l', 11); #ifdef RWL_SB8PRINTFLENGTH - rwlpfaddc(RWL_SB8PRINTFLENGTH, 27); + rwlpfaddc(RWL_SB8PRINTFLENGTH, 12); #endif - rwlpfaddc(c, 12); - rwlcallpf(ytformat, 0, 13); + rwlpfaddc(c, 13); + rwlcallpf(ytformat, 0, 14); break; } } else { - rwlpfaddc('l', 14); + rwlpfaddc('l', 15); #ifdef RWL_SB8PRINTFLENGTH - rwlpfaddc(RWL_SB8PRINTFLENGTH, 28); + rwlpfaddc(RWL_SB8PRINTFLENGTH, 16); #endif - rwlpfaddc(c, 15); - rwlcallpf(ytformat, anum.ival, 16); + rwlpfaddc(c, 17); + rwlcallpf(ytformat, anum.ival, 18); } break; @@ -3498,12 +3499,12 @@ void rwldoprintf(rwl_xeqenv *xev case RWL_NVL_STR: if (dotpos) // no precision when NULL yf = dotpos; - rwlpfaddc('s', 17); - rwlcallpf(ytformat, null, 18); + rwlpfaddc('s', 20); + rwlcallpf(ytformat, null, 21); break; case RWL_NVL_ZERO: - rwlpfaddc((text)(('M'==c || 'm'==c || 'K' == c || 'k'==c) ? (text) 'f' : c), 19); - rwlcallpf(ytformat, 0.0, 20); + rwlpfaddc((text)(('M'==c || 'm'==c || 'K' == c || 'k'==c) ? (text) 'f' : c), 22); + rwlcallpf(ytformat, 0.0, 23); break; } } @@ -3515,23 +3516,23 @@ void rwldoprintf(rwl_xeqenv *xev ub4 Kbit = ('K' == c); if (anum.dval<0.0 || anum.dval>1e32) { - rwlpfaddc('e', 27); + rwlpfaddc('e', 24); if (Kbit) - rwlpfaddc(' ', 28); - rwlcallpf(ytformat, anum.dval, 29); + rwlpfaddc(' ', 25); + rwlcallpf(ytformat, anum.dval, 26); } else if (anum.dval< (Kbit ? 1024.0 : 1000.0)) { if (dotpos) // no precision in string when ENG yf = dotpos; - rwlpfaddc('l', 11); + rwlpfaddc('l', 27); #ifdef RWL_SB8PRINTFLENGTH - rwlpfaddc(RWL_SB8PRINTFLENGTH, 27); + rwlpfaddc(RWL_SB8PRINTFLENGTH, 28); #endif - rwlpfaddc('i', 27); + rwlpfaddc('i', 29); if (Kbit) - rwlpfaddc(' ', 28); - rwlcallpf(ytformat, (sb8) round(anum.dval), 29); + rwlpfaddc(' ', 30); + rwlcallpf(ytformat, (sb8) round(anum.dval), 31); } /* else if (anum.dval< (Kbit ? 1024.0 : 1000.0)) @@ -3546,7 +3547,7 @@ void rwldoprintf(rwl_xeqenv *xev yf = dotpos; rwlpfaddc('s', 32); if (Kbit) - rwlpfaddc('i',35); + rwlpfaddc('i',33); rwlcallpf(ytformat, engbuf, 34); } */ @@ -3578,10 +3579,10 @@ void rwldoprintf(rwl_xeqenv *xev } if (dotpos) // no precision in string when ENG yf = dotpos; - rwlpfaddc('s', 21); + rwlpfaddc('s', 35); if (Kbit) - rwlpfaddc('i',35); - rwlcallpf(ytformat, engbuf, 22); + rwlpfaddc('i',36); + rwlcallpf(ytformat, engbuf, 37); } } else if ('M'==c || 'm'==c) @@ -3591,22 +3592,22 @@ void rwldoprintf(rwl_xeqenv *xev , prc <= 0 ? 3 : prc, ('M'==c) ); if (dotpos) // no precision in string when ENG yf = dotpos; - rwlpfaddc('s', 21); - rwlcallpf(ytformat, engbuf, 22); + rwlpfaddc('s', 38); + rwlcallpf(ytformat, engbuf, 39); } else { - rwlpfaddc(c, 23); - rwlcallpf(ytformat, anum.dval, 24); + rwlpfaddc(c, 40); + rwlcallpf(ytformat, anum.dval, 41); } } break; case RWL_TYPE_STR: // user wants the string - rwlpfaddc('s', 25); + rwlpfaddc('s', 42); if (anum.sval) - rwlcallpf(ytformat, anum.sval, 26); + rwlcallpf(ytformat, anum.sval, 43); else { rwlexecsevere(xev, loc, "[rwldoprintf-strnull2;%s;%d;%d;%ld" From 30927aff9f3401dc396ac19a027a16964511feda Mon Sep 17 00:00:00 2001 From: Manoj Dash Date: Fri, 15 Nov 2024 11:56:03 +0000 Subject: [PATCH 110/118] Bash style procedure call --- src/lex.rwly.c | 262 +- src/rwl.h | 3 + src/rwllexer.l | 8 + src/rwlparser.tab.c | 6980 +++++++++++++++++++------------------ src/rwlparser.tab.h | 321 +- src/rwlparser.y | 276 +- test/404.rwl | 30 + test/testres/404.err.good | 3 + test/testres/404.out.good | 6 + 9 files changed, 4004 insertions(+), 3885 deletions(-) create mode 100644 test/404.rwl create mode 100644 test/testres/404.err.good create mode 100644 test/testres/404.out.good diff --git a/src/lex.rwly.c b/src/lex.rwly.c index 4449bec0..8d8dcb2c 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -3815,13 +3815,21 @@ YY_RULE_SETUP if (rwlstrlen(rwm->inam)>RWL_MAX_IDLEN) rwlerror(rwm, RWL_ERROR_VERY_LONG_IDENTIFIER, rwlstrlen(rwm->inam), rwm->inam); bic(rwm->m3flags, RWL_P3_FUTNOTIDENT); + /* Check if the variable is already there as a procedure name */ + bis(rwm->mxq->tflags, RWL_P_FINDVAR_NOERR); + sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); + bic(rwm->mxq->tflags, RWL_P_FINDVAR_NOERR); + if (l>=0 && (RWL_TYPE_PROC == rwm->mxq->evar[l].vtype || RWL_TYPE_RAPROC == rwm->mxq->evar[l].vtype)) + { + return RWL_T_PROCEDURENAME; + } return RWL_T_IDENTIFIER; } } YY_BREAK case 241: YY_RULE_SETUP -#line 774 "rwllexer.l" +#line 782 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3841,7 +3849,7 @@ YY_RULE_SETUP YY_BREAK case 242: YY_RULE_SETUP -#line 791 "rwllexer.l" +#line 799 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3854,7 +3862,7 @@ YY_RULE_SETUP YY_BREAK case 243: YY_RULE_SETUP -#line 801 "rwllexer.l" +#line 809 "rwllexer.l" { text *env = rwlgetenv((text *)rwm->rwlytext+1); if (!env) @@ -3878,18 +3886,18 @@ YY_RULE_SETUP YY_BREAK case 244: YY_RULE_SETUP -#line 823 "rwllexer.l" +#line 831 "rwllexer.l" if (!rwm->ifdirbit) return ';'; YY_BREAK case 245: -#line 826 "rwllexer.l" +#line 834 "rwllexer.l" case 246: -#line 827 "rwllexer.l" +#line 835 "rwllexer.l" case 247: -#line 828 "rwllexer.l" +#line 836 "rwllexer.l" case 248: YY_RULE_SETUP -#line 828 "rwllexer.l" +#line 836 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3904,7 +3912,7 @@ YY_RULE_SETUP YY_BREAK case 249: YY_RULE_SETUP -#line 840 "rwllexer.l" +#line 848 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_SCANFIRST)) rwlerror(rwm, RWL_ERROR_ARGUMENT_NOT_FIRST); @@ -3912,7 +3920,7 @@ YY_RULE_SETUP YY_BREAK case 250: YY_RULE_SETUP -#line 845 "rwllexer.l" +#line 853 "rwllexer.l" { // This is the documented syntax. Note that there is // no simple way to allow having $if and $then on separate // lines @@ -3932,14 +3940,14 @@ YY_RULE_SETUP YY_BREAK case 251: YY_RULE_SETUP -#line 862 "rwllexer.l" +#line 870 "rwllexer.l" { // this only happens if $if and $then aren't on the same line rwlzparsestring(rwm, (text *) "0;"); // behave like $if 0 $then would } YY_BREAK case 252: YY_RULE_SETUP -#line 866 "rwllexer.l" +#line 874 "rwllexer.l" { // This was the original syntax for $if which was // $if: ; // i.e. with the expression between : and ;. @@ -3960,7 +3968,7 @@ YY_RULE_SETUP YY_BREAK case 253: YY_RULE_SETUP -#line 884 "rwllexer.l" +#line 892 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "else"); @@ -3981,7 +3989,7 @@ YY_RULE_SETUP YY_BREAK case 254: YY_RULE_SETUP -#line 902 "rwllexer.l" +#line 910 "rwllexer.l" { if (!rwm->ifdirdep) rwlerror(rwm, RWL_ERROR_UNMATCHED_ELSE_OR_END, "endif"); @@ -3999,7 +4007,7 @@ YY_RULE_SETUP YY_BREAK case 255: YY_RULE_SETUP -#line 917 "rwllexer.l" +#line 925 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS); // all set in tflags as tfalgs HAS been copied from mflags @@ -4009,7 +4017,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 256: YY_RULE_SETUP -#line 924 "rwllexer.l" +#line 932 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS); @@ -4018,7 +4026,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 257: YY_RULE_SETUP -#line 930 "rwllexer.l" +#line 938 "rwllexer.l" if (!rwm->ifdirbit) { bis(rwm->mflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); bis(rwm->mxq->tflags, RWL_P_STATISTICS|RWL_P_HISTOGRAMS|RWL_P_PERSECSTAT); @@ -4027,161 +4035,161 @@ if (!rwm->ifdirbit) { YY_BREAK case 258: YY_RULE_SETUP -#line 936 "rwllexer.l" +#line 944 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTION); } YY_BREAK case 259: YY_RULE_SETUP -#line 940 "rwllexer.l" +#line 948 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 260: YY_RULE_SETUP -#line 943 "rwllexer.l" +#line 951 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_SETACTRESET | RWL_P2_SETACTION); } YY_BREAK case 261: YY_RULE_SETUP -#line 947 "rwllexer.l" +#line 955 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_HEXINSTR); } YY_BREAK case 262: YY_RULE_SETUP -#line 951 "rwllexer.l" +#line 959 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_HEXINSTR); } YY_BREAK case 263: YY_RULE_SETUP -#line 955 "rwllexer.l" +#line 963 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 264: YY_RULE_SETUP -#line 959 "rwllexer.l" +#line 967 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_AMPERSAND); } YY_BREAK case 265: YY_RULE_SETUP -#line 963 "rwllexer.l" +#line 971 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 266: YY_RULE_SETUP -#line 967 "rwllexer.l" +#line 975 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_ERRORWTIM); } YY_BREAK case 267: YY_RULE_SETUP -#line 971 "rwllexer.l" +#line 979 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 268: YY_RULE_SETUP -#line 974 "rwllexer.l" +#line 982 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_SP_NORLB); } YY_BREAK case 269: YY_RULE_SETUP -#line 978 "rwllexer.l" +#line 986 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 270: YY_RULE_SETUP -#line 981 "rwllexer.l" +#line 989 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_NOENVEXPAND); } YY_BREAK case 271: YY_RULE_SETUP -#line 985 "rwllexer.l" +#line 993 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 272: YY_RULE_SETUP -#line 988 "rwllexer.l" +#line 996 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_NICEABORT); } YY_BREAK case 273: YY_RULE_SETUP -#line 992 "rwllexer.l" +#line 1000 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 274: YY_RULE_SETUP -#line 995 "rwllexer.l" +#line 1003 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_QUEUE); } YY_BREAK case 275: YY_RULE_SETUP -#line 999 "rwllexer.l" +#line 1007 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 276: YY_RULE_SETUP -#line 1002 "rwllexer.l" +#line 1010 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_BINDZERO); } YY_BREAK case 277: YY_RULE_SETUP -#line 1006 "rwllexer.l" +#line 1014 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_STOP; } YY_BREAK case 278: YY_RULE_SETUP -#line 1010 "rwllexer.l" +#line 1018 "rwllexer.l" { if (!rwm->ifdirbit) rwlcont1013=RWL_C1013_BREAK; } YY_BREAK case 279: YY_RULE_SETUP -#line 1013 "rwllexer.l" +#line 1021 "rwllexer.l" { if (!rwm->ifdirbit) rwlbreaknow = 0; } YY_BREAK case 280: YY_RULE_SETUP -#line 1017 "rwllexer.l" +#line 1025 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4191,53 +4199,53 @@ YY_RULE_SETUP YY_BREAK case 281: YY_RULE_SETUP -#line 1024 "rwllexer.l" +#line 1032 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 282: YY_RULE_SETUP -#line 1027 "rwllexer.l" +#line 1035 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_ERRNOCOUNT); } YY_BREAK case 283: YY_RULE_SETUP -#line 1031 "rwllexer.l" +#line 1039 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 284: YY_RULE_SETUP -#line 1035 "rwllexer.l" +#line 1043 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_STOPONORA); } YY_BREAK case 285: YY_RULE_SETUP -#line 1039 "rwllexer.l" +#line 1047 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK case 286: YY_RULE_SETUP -#line 1043 "rwllexer.l" +#line 1051 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_OERRSHOWOCI); } YY_BREAK case 287: /* rule 287 can match eol */ -#line 1048 "rwllexer.l" +#line 1056 "rwllexer.l" case 288: /* rule 288 can match eol */ YY_RULE_SETUP -#line 1048 "rwllexer.l" +#line 1056 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) // not while generating { @@ -4405,7 +4413,7 @@ YY_RULE_SETUP YY_BREAK case 289: YY_RULE_SETUP -#line 1213 "rwllexer.l" +#line 1221 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4418,7 +4426,7 @@ YY_RULE_SETUP YY_BREAK case 290: YY_RULE_SETUP -#line 1223 "rwllexer.l" +#line 1231 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -4432,7 +4440,7 @@ YY_RULE_SETUP YY_BREAK case 291: YY_RULE_SETUP -#line 1234 "rwllexer.l" +#line 1242 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4445,7 +4453,7 @@ YY_RULE_SETUP YY_BREAK case 292: YY_RULE_SETUP -#line 1244 "rwllexer.l" +#line 1252 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4458,7 +4466,7 @@ YY_RULE_SETUP YY_BREAK case 293: YY_RULE_SETUP -#line 1254 "rwllexer.l" +#line 1262 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4469,7 +4477,7 @@ YY_RULE_SETUP YY_BREAK case 294: YY_RULE_SETUP -#line 1262 "rwllexer.l" +#line 1270 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m2flags, RWL_P2_OERSTATS); @@ -4477,7 +4485,7 @@ YY_RULE_SETUP YY_BREAK case 295: YY_RULE_SETUP -#line 1267 "rwllexer.l" +#line 1275 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4493,7 +4501,7 @@ YY_RULE_SETUP YY_BREAK case 296: YY_RULE_SETUP -#line 1280 "rwllexer.l" +#line 1288 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4509,7 +4517,7 @@ YY_RULE_SETUP YY_BREAK case 297: YY_RULE_SETUP -#line 1293 "rwllexer.l" +#line 1301 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4527,7 +4535,7 @@ YY_RULE_SETUP YY_BREAK case 298: YY_RULE_SETUP -#line 1308 "rwllexer.l" +#line 1316 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4538,7 +4546,7 @@ YY_RULE_SETUP YY_BREAK case 299: YY_RULE_SETUP -#line 1316 "rwllexer.l" +#line 1324 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4549,7 +4557,7 @@ YY_RULE_SETUP YY_BREAK case 300: YY_RULE_SETUP -#line 1324 "rwllexer.l" +#line 1332 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4560,7 +4568,7 @@ YY_RULE_SETUP YY_BREAK case 301: YY_RULE_SETUP -#line 1332 "rwllexer.l" +#line 1340 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4570,7 +4578,7 @@ YY_RULE_SETUP YY_BREAK case 302: YY_RULE_SETUP -#line 1338 "rwllexer.l" +#line 1346 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4580,7 +4588,7 @@ YY_RULE_SETUP YY_BREAK case 303: YY_RULE_SETUP -#line 1344 "rwllexer.l" +#line 1352 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4591,7 +4599,7 @@ YY_RULE_SETUP YY_BREAK case 304: YY_RULE_SETUP -#line 1351 "rwllexer.l" +#line 1359 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4602,7 +4610,7 @@ YY_RULE_SETUP YY_BREAK case 305: YY_RULE_SETUP -#line 1358 "rwllexer.l" +#line 1366 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4612,7 +4620,7 @@ YY_RULE_SETUP YY_BREAK case 306: YY_RULE_SETUP -#line 1364 "rwllexer.l" +#line 1372 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4622,7 +4630,7 @@ YY_RULE_SETUP YY_BREAK case 307: YY_RULE_SETUP -#line 1371 "rwllexer.l" +#line 1379 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4632,7 +4640,7 @@ YY_RULE_SETUP YY_BREAK case 308: YY_RULE_SETUP -#line 1378 "rwllexer.l" +#line 1386 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->mflags, RWL_P_RECON1017); @@ -4640,7 +4648,7 @@ YY_RULE_SETUP YY_BREAK case 309: YY_RULE_SETUP -#line 1383 "rwllexer.l" +#line 1391 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_ON; @@ -4648,7 +4656,7 @@ YY_RULE_SETUP YY_BREAK case 310: YY_RULE_SETUP -#line 1388 "rwllexer.l" +#line 1396 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_OFF; @@ -4656,7 +4664,7 @@ YY_RULE_SETUP YY_BREAK case 311: YY_RULE_SETUP -#line 1393 "rwllexer.l" +#line 1401 "rwllexer.l" { if (!rwm->ifdirbit) rwm->pre31fil = RWL_31_FIL_WARN; @@ -4664,7 +4672,7 @@ YY_RULE_SETUP YY_BREAK case 312: YY_RULE_SETUP -#line 1398 "rwllexer.l" +#line 1406 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4681,7 +4689,7 @@ YY_RULE_SETUP YY_BREAK case 313: YY_RULE_SETUP -#line 1412 "rwllexer.l" +#line 1420 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4694,7 +4702,7 @@ YY_RULE_SETUP YY_BREAK case 314: YY_RULE_SETUP -#line 1422 "rwllexer.l" +#line 1430 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLREADLINE); @@ -4702,7 +4710,7 @@ YY_RULE_SETUP YY_BREAK case 315: YY_RULE_SETUP -#line 1427 "rwllexer.l" +#line 1435 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLREADLINE); @@ -4710,7 +4718,7 @@ YY_RULE_SETUP YY_BREAK case 316: YY_RULE_SETUP -#line 1432 "rwllexer.l" +#line 1440 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLWRITELINE); @@ -4718,7 +4726,7 @@ YY_RULE_SETUP YY_BREAK case 317: YY_RULE_SETUP -#line 1437 "rwllexer.l" +#line 1445 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLWRITELINE); @@ -4726,7 +4734,7 @@ YY_RULE_SETUP YY_BREAK case 318: YY_RULE_SETUP -#line 1442 "rwllexer.l" +#line 1450 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4737,7 +4745,7 @@ YY_RULE_SETUP YY_BREAK case 319: YY_RULE_SETUP -#line 1450 "rwllexer.l" +#line 1458 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4748,7 +4756,7 @@ YY_RULE_SETUP YY_BREAK case 320: YY_RULE_SETUP -#line 1458 "rwllexer.l" +#line 1466 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4760,7 +4768,7 @@ YY_RULE_SETUP YY_BREAK case 321: YY_RULE_SETUP -#line 1467 "rwllexer.l" +#line 1475 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSATIME); @@ -4768,7 +4776,7 @@ YY_RULE_SETUP YY_BREAK case 322: YY_RULE_SETUP -#line 1472 "rwllexer.l" +#line 1480 "rwllexer.l" { if (!rwm->ifdirbit) #if RWL_OS == RWL_LINUX @@ -4780,7 +4788,7 @@ YY_RULE_SETUP YY_BREAK case 323: YY_RULE_SETUP -#line 1481 "rwllexer.l" +#line 1489 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_STATSDTIME); @@ -4788,7 +4796,7 @@ YY_RULE_SETUP YY_BREAK case 324: YY_RULE_SETUP -#line 1486 "rwllexer.l" +#line 1494 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CRNLSTRING); @@ -4796,7 +4804,7 @@ YY_RULE_SETUP YY_BREAK case 325: YY_RULE_SETUP -#line 1491 "rwllexer.l" +#line 1499 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CRNLSTRING); @@ -4804,7 +4812,7 @@ YY_RULE_SETUP YY_BREAK case 326: YY_RULE_SETUP -#line 1496 "rwllexer.l" +#line 1504 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m3flags, RWL_P3_QETIMES); @@ -4812,7 +4820,7 @@ YY_RULE_SETUP YY_BREAK case 327: YY_RULE_SETUP -#line 1501 "rwllexer.l" +#line 1509 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m3flags, RWL_P3_QETIMES); @@ -4820,7 +4828,7 @@ YY_RULE_SETUP YY_BREAK case 328: YY_RULE_SETUP -#line 1507 "rwllexer.l" +#line 1515 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -4830,7 +4838,7 @@ YY_RULE_SETUP YY_BREAK case 329: YY_RULE_SETUP -#line 1514 "rwllexer.l" +#line 1522 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_CONERROK); @@ -4838,7 +4846,7 @@ YY_RULE_SETUP YY_BREAK case 330: YY_RULE_SETUP -#line 1519 "rwllexer.l" +#line 1527 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_CONERROK); @@ -4846,21 +4854,21 @@ YY_RULE_SETUP YY_BREAK case 331: YY_RULE_SETUP -#line 1524 "rwllexer.l" +#line 1532 "rwllexer.l" { if (!rwm->ifdirbit) rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+6),1 /* warn if !warning*/ ); } YY_BREAK case 332: YY_RULE_SETUP -#line 1528 "rwllexer.l" +#line 1536 "rwllexer.l" { rwlerrormute(rwm, (ub4) rwlatoi(rwm->rwlytext+12),1 /* warn if !warning*/ ); } YY_BREAK case 333: YY_RULE_SETUP -#line 1532 "rwllexer.l" +#line 1540 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; newval = (ub4)rwlatoi(rwm->rwlytext+11) + 1; //+1 for the return value @@ -4877,7 +4885,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 334: YY_RULE_SETUP -#line 1546 "rwllexer.l" +#line 1554 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4895,7 +4903,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 335: YY_RULE_SETUP -#line 1561 "rwllexer.l" +#line 1569 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4913,7 +4921,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 336: YY_RULE_SETUP -#line 1576 "rwllexer.l" +#line 1584 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newval; if (bit(rwm->m2flags, RWL_P2_INRCFILE)) @@ -4931,7 +4939,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 337: YY_RULE_SETUP -#line 1591 "rwllexer.l" +#line 1599 "rwllexer.l" if (!rwm->ifdirbit) { rwm->iformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckiformat(rwm); @@ -4939,7 +4947,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 338: YY_RULE_SETUP -#line 1595 "rwllexer.l" +#line 1603 "rwllexer.l" if (!rwm->ifdirbit) { rwm->dformat = (char *) rwlstrdup(rwm, rwm->rwlytext+9); rwlcheckdformat(rwm); @@ -4947,7 +4955,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 339: YY_RULE_SETUP -#line 1600 "rwllexer.l" +#line 1608 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+9); bis(rwm->mflags, newdebug); @@ -4961,7 +4969,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 340: YY_RULE_SETUP -#line 1611 "rwllexer.l" +#line 1619 "rwllexer.l" if (!rwm->ifdirbit) { ub4 newdebug = rwldebugconv(rwm, (text *)rwm->rwlytext+10); // ub4 newdebug = (ub4) rwlhex2ub8(rwm->rwlytext+10, 2*sizeof(ub4)); @@ -4972,7 +4980,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 341: YY_RULE_SETUP -#line 1619 "rwllexer.l" +#line 1627 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+10,2*sizeof(unsigned short)); @@ -4990,7 +4998,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 342: YY_RULE_SETUP -#line 1636 "rwllexer.l" +#line 1644 "rwllexer.l" if (!rwm->ifdirbit) { rwm->mxq->xsubi[0] = (unsigned short) rwlhex2ub8(rwm->rwlytext+12, 2*sizeof(unsigned short)); @@ -5007,10 +5015,10 @@ if (!rwm->ifdirbit) { } YY_BREAK case 343: -#line 1652 "rwllexer.l" +#line 1660 "rwllexer.l" case 344: YY_RULE_SETUP -#line 1652 "rwllexer.l" +#line 1660 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -5022,10 +5030,10 @@ if (!rwm->ifdirbit) { } YY_BREAK case 345: -#line 1663 "rwllexer.l" +#line 1671 "rwllexer.l" case 346: YY_RULE_SETUP -#line 1663 "rwllexer.l" +#line 1671 "rwllexer.l" if (!rwm->ifdirbit) { if (rwm->runnumber) rwlerror(rwm, RWL_ERROR_STARTSEC_TOO_LATE, rwm->adjepoch); @@ -5038,7 +5046,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 347: YY_RULE_SETUP -#line 1673 "rwllexer.l" +#line 1681 "rwllexer.l" if (!rwm->ifdirbit) { { rwm->musymbol = rwlstrdup(rwm, rwm->rwlytext+10); @@ -5048,7 +5056,7 @@ if (!rwm->ifdirbit) { YY_BREAK case 348: YY_RULE_SETUP -#line 1680 "rwllexer.l" +#line 1688 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5070,7 +5078,7 @@ YY_RULE_SETUP YY_BREAK case 349: YY_RULE_SETUP -#line 1699 "rwllexer.l" +#line 1707 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5084,7 +5092,7 @@ YY_RULE_SETUP YY_BREAK case 350: YY_RULE_SETUP -#line 1710 "rwllexer.l" +#line 1718 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5099,7 +5107,7 @@ YY_RULE_SETUP case 351: /* rule 351 can match eol */ YY_RULE_SETUP -#line 1721 "rwllexer.l" +#line 1729 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5133,7 +5141,7 @@ YY_RULE_SETUP case 352: /* rule 352 can match eol */ YY_RULE_SETUP -#line 1751 "rwllexer.l" +#line 1759 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5166,7 +5174,7 @@ YY_RULE_SETUP YY_BREAK case 353: YY_RULE_SETUP -#line 1781 "rwllexer.l" +#line 1789 "rwllexer.l" { if (!rwm->ifdirbit) { @@ -5179,14 +5187,14 @@ YY_RULE_SETUP YY_BREAK case 354: YY_RULE_SETUP -#line 1790 "rwllexer.l" +#line 1798 "rwllexer.l" { if (!rwm->ifdirbit) bis(rwm->m4flags, RWL_P4_TRIGRAD); } YY_BREAK case 355: YY_RULE_SETUP -#line 1793 "rwllexer.l" +#line 1801 "rwllexer.l" { if (!rwm->ifdirbit) bic(rwm->m4flags, RWL_P4_TRIGRAD); } @@ -5194,7 +5202,7 @@ YY_RULE_SETUP case 356: /* rule 356 can match eol */ YY_RULE_SETUP -#line 1797 "rwllexer.l" +#line 1805 "rwllexer.l" { rwm->loc.fname = rwlstrdup(rwm, rwlstrchr(rwm->rwlytext,'"')); rwm->loc.fname[rwlstrlen(rwm->loc.fname)-1] = 0; @@ -5204,10 +5212,10 @@ YY_RULE_SETUP } YY_BREAK case 357: -#line 1805 "rwllexer.l" +#line 1813 "rwllexer.l" case 358: YY_RULE_SETUP -#line 1805 "rwllexer.l" +#line 1813 "rwllexer.l" { // bad directive char idbuf[100], c; ub4 i; @@ -5251,34 +5259,34 @@ YY_RULE_SETUP case 359: /* rule 359 can match eol */ YY_RULE_SETUP -#line 1846 "rwllexer.l" +#line 1854 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 360: /* rule 360 can match eol */ YY_RULE_SETUP -#line 1847 "rwllexer.l" +#line 1855 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 361: /* rule 361 can match eol */ YY_RULE_SETUP -#line 1848 "rwllexer.l" +#line 1856 "rwllexer.l" { rwm->loc.lineno++; rwm->loc.inpos=0; } YY_BREAK case 362: YY_RULE_SETUP -#line 1849 "rwllexer.l" +#line 1857 "rwllexer.l" /* nothing */ ; YY_BREAK case 363: YY_RULE_SETUP -#line 1850 "rwllexer.l" +#line 1858 "rwllexer.l" /* nothing */ ; YY_BREAK case 364: YY_RULE_SETUP -#line 1851 "rwllexer.l" +#line 1859 "rwllexer.l" { if (++rwm->badchar>RWL_MAX_ILLEGAL_CHAR) { @@ -5295,10 +5303,10 @@ YY_RULE_SETUP YY_BREAK case 365: YY_RULE_SETUP -#line 1865 "rwllexer.l" +#line 1873 "rwllexer.l" ECHO; YY_BREAK -#line 5302 "lex.rwly.c" +#line 5310 "lex.rwly.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -6479,7 +6487,7 @@ void rwlyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1865 "rwllexer.l" +#line 1873 "rwllexer.l" diff --git a/src/rwl.h b/src/rwl.h index 729b1f4a..aa1a3d4e 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * mkdash 24-oct-2024 - implement bash like procedure calls * bengsig 10-oct-2024 - sessionpool release every/count * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 29-aug-2024 - rwldorxtosb8 macro @@ -1322,6 +1323,7 @@ struct rwl_main text *musymbol; text *lineend; // "\n" except "\r\n" on windows text *rwlytext; + text *rwlyprevtoken; ub4 rwlyleng; ub4 musymlen; text sqlbuffer[RWL_MAXSQL+2]; /* text of last SQL */ @@ -1552,6 +1554,7 @@ enum rwl_stack_t , RWL_STACK_WINSLASHF2BB // rwlwinslashf2bb , RWL_STACK_DBSECONDS /* dbseconds function */ , RWL_STACK_OCISECONDS /* ociseconds function */ +, RWL_STACK_PROCNAME /* name of the procedure */ }; /* parse time evaluation stack diff --git a/src/rwllexer.l b/src/rwllexer.l index 7ae5b9f1..85b31165 100644 --- a/src/rwllexer.l +++ b/src/rwllexer.l @@ -767,6 +767,14 @@ if (rwlstrlen(rwm->inam)>RWL_MAX_IDLEN) rwlerror(rwm, RWL_ERROR_VERY_LONG_IDENTIFIER, rwlstrlen(rwm->inam), rwm->inam); bic(rwm->m3flags, RWL_P3_FUTNOTIDENT); + /* Check if the variable is already there as a procedure name */ + bis(rwm->mxq->tflags, RWL_P_FINDVAR_NOERR); + sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); + bic(rwm->mxq->tflags, RWL_P_FINDVAR_NOERR); + if (l>=0 && (RWL_TYPE_PROC == rwm->mxq->evar[l].vtype || RWL_TYPE_RAPROC == rwm->mxq->evar[l].vtype)) + { + return RWL_T_PROCEDURENAME; + } return RWL_T_IDENTIFIER; } } diff --git a/src/rwlparser.tab.c b/src/rwlparser.tab.c index 6ed8cc21..41e61806 100644 --- a/src/rwlparser.tab.c +++ b/src/rwlparser.tab.c @@ -193,6 +193,7 @@ static const rwl_yt2txt rwlyt2[] = , {"RWL_T_PRINTVAR", "'printvar'"} , {"RWL_T_PRIVATE", "'private'"} , {"RWL_T_PROCEDURE", "'procedure'"} + , {"RWL_T_PROCEDURENAME", "'procedure name'"} , {"RWL_T_PUBLIC", "'public'"} , {"RWL_T_QUERYNOTIFICATION", "'querynotification'"} , {"RWL_T_QUEUE", "'queue'"} @@ -370,7 +371,7 @@ static void rwlyerror(rwl_main *rwm, const char *in) rwlcomp(rwlparser_y, RWL_GCCFLAGS) -#line 374 "rwlparser.tab.c" /* yacc.c:339 */ +#line 375 "rwlparser.tab.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -419,164 +420,165 @@ extern int rwlydebug; RWL_T_DATABASE = 261, RWL_T_EPOCHSECONDS = 262, RWL_T_DBSECONDS = 263, - RWL_T_PRINT = 264, - RWL_T_PRINTLINE = 265, - RWL_T_PRINTVAR = 266, - RWL_T_SHARDKEY = 267, - RWL_T_SUPERSHK = 268, - RWL_T_OCISECONDS = 269, - RWL_T_PROCEDURE = 270, - RWL_T_BIND = 271, - RWL_T_DEFINE = 272, - RWL_T_STRING = 273, - RWL_T_INTEGER = 274, - RWL_T_END = 275, - RWL_T_FOR = 276, - RWL_T_ARRAY = 277, - RWL_T_DATE = 278, - RWL_T_SQRT = 279, - RWL_T_ACCESS = 280, - RWL_T_REGEX = 281, - RWL_T_REGEXTRACT = 282, - RWL_T_UNIFORM = 283, - RWL_T_ERLANG = 284, - RWL_T_DOTDOT = 285, - RWL_T_DOUBLE = 286, - RWL_T_ERLANG2 = 287, - RWL_T_ERLANGK = 288, - RWL_T_RUN = 289, - RWL_T_THREADS = 290, - RWL_T_RUNSECONDS = 291, - RWL_T_WHILE = 292, - RWL_T_FFLUSH = 293, - RWL_T_READLINE = 294, - RWL_T_RANDOM = 295, - RWL_T_FILE = 296, - RWL_T_WRITE = 297, - RWL_T_WRITELINE = 298, - RWL_T_BINDOUT = 299, - RWL_T_GETRUSAGE = 300, - RWL_T_DRCP = 301, - RWL_T_SESSIONPOOL = 302, - RWL_T_RECONNECT = 303, - RWL_T_DEDICATED = 304, - RWL_T_DEFAULT = 305, - RWL_T_RESULTS = 306, - RWL_T_ASSIGN = 307, - RWL_T_LOOP = 308, - RWL_T_ALL = 309, - RWL_T_NULL = 310, - RWL_T_ISNULL = 311, - RWL_T_SUM = 312, - RWL_T_IS = 313, - RWL_T_NOT = 314, - RWL_T_LESSEQ = 315, - RWL_T_GREATEQ = 316, - RWL_T_NOTEQ = 317, - RWL_T_AND = 318, - RWL_T_OR = 319, - RWL_T_BETWEEN = 320, - RWL_T_CONCAT = 321, - RWL_T_IF = 322, - RWL_T_THEN = 323, - RWL_T_ELSE = 324, - RWL_T_NEVER = 325, - RWL_T_APPEND = 326, - RWL_T_IGNOREERROR = 327, - RWL_T_ELSEIF = 328, - RWL_T_EXECUTE = 329, - RWL_T_WAIT = 330, - RWL_T_COMMIT = 331, - RWL_T_ROLLBACK = 332, - RWL_T_EVERY = 333, - RWL_T_ASNADD = 334, - RWL_T_ASNSUB = 335, - RWL_T_STOP = 336, - RWL_T_START = 337, - RWL_T_COUNT = 338, - RWL_T_AT = 339, - RWL_T_BREAK = 340, - RWL_T_RETURN = 341, - RWL_T_ABORT = 342, - RWL_T_MODIFY = 343, - RWL_T_CURSORCACHE = 344, - RWL_T_NOCURSORCACHE = 345, - RWL_T_LEAK = 346, - RWL_T_SHIFT = 347, - RWL_T_WHEN = 348, - RWL_T_STATISTICS = 349, - RWL_T_NOSTATISTICS = 350, - RWL_T_FUNCTION = 351, - RWL_T_PUBLIC = 352, - RWL_T_OCIPING = 353, - RWL_T_QUEUE = 354, - RWL_T_NOQUEUE = 355, - RWL_T_PRIVATE = 356, - RWL_T_BEGIN = 357, - RWL_T_RELEASE = 358, - RWL_T_SYSTEM = 359, - RWL_T_CLOB = 360, - RWL_T_BLOB = 361, - RWL_T_NCLOB = 362, - RWL_T_READLOB = 363, - RWL_T_WRITELOB = 364, - RWL_T_RAW = 365, - RWL_T_EXIT = 366, - RWL_T_SUBSTR = 367, - RWL_T_SUBSTRB = 368, - RWL_T_LENGTH = 369, - RWL_T_LENGTHB = 370, - RWL_T_SQL_ID = 371, - RWL_T_GETENV = 372, - RWL_T_LOG = 373, - RWL_T_EXP = 374, - RWL_T_ROUND = 375, - RWL_T_ACTIVESESSIONCOUNT = 376, - RWL_T_REQUESTMARK = 377, - RWL_T_SPRINTF = 378, - RWL_T_OPENSESSIONCOUNT = 379, - RWL_T_STATEMARK = 380, - RWL_T_REGEXSUB = 381, - RWL_T_REGEXSUBG = 382, - RWL_T_SERVERRELEASE = 383, - RWL_T_SQL = 384, - RWL_T_SQL_TEXT = 385, - RWL_T_INSTR = 386, - RWL_T_INSTRB = 387, - RWL_T_CONNECTIONPOOL = 388, - RWL_T_CONNECTIONCLASS = 389, - RWL_T_UNSIGNED = 390, - RWL_T_HEXADECIMAL = 391, - RWL_T_OCTAL = 392, - RWL_T_FPRINTF = 393, - RWL_T_ENCODE = 394, - RWL_T_DECODE = 395, - RWL_T_STRING_CONST = 396, - RWL_T_IDENTIFIER = 397, - RWL_T_INTEGER_CONST = 398, - RWL_T_DOUBLE_CONST = 399, - RWL_T_PRINTF = 400, - RWL_T_PIPEFROM = 401, - RWL_T_PIPETO = 402, - RWL_T_RSHIFTASSIGN = 403, - RWL_T_GLOBAL = 404, - RWL_T_QUERYNOTIFICATION = 405, - RWL_T_NORMALRANDOM = 406, - RWL_T_STATISTICSONLY = 407, - RWL_T_CEIL = 408, - RWL_T_TRUNC = 409, - RWL_T_FLOOR = 410, - RWL_T_LOBPREFETCH = 411, - RWL_T_SIN = 412, - RWL_T_COS = 413, - RWL_T_ATAN2 = 414, - RWL_T_WINSLASHF2B = 415, - RWL_T_WINSLASHF2BB = 416, - RWL_T_BITWISE_LEFT_SHIFT = 417, - RWL_T_BITWISE_RIGHT_SHIFT = 418, - RWL_T_ASNBIS = 419, - RWL_T_ASNBIC = 420, - RWL_T_UMINUS = 421 + RWL_T_PROCEDURENAME = 264, + RWL_T_PRINT = 265, + RWL_T_PRINTLINE = 266, + RWL_T_PRINTVAR = 267, + RWL_T_SHARDKEY = 268, + RWL_T_SUPERSHK = 269, + RWL_T_OCISECONDS = 270, + RWL_T_PROCEDURE = 271, + RWL_T_BIND = 272, + RWL_T_DEFINE = 273, + RWL_T_STRING = 274, + RWL_T_INTEGER = 275, + RWL_T_END = 276, + RWL_T_FOR = 277, + RWL_T_ARRAY = 278, + RWL_T_DATE = 279, + RWL_T_SQRT = 280, + RWL_T_ACCESS = 281, + RWL_T_REGEX = 282, + RWL_T_REGEXTRACT = 283, + RWL_T_UNIFORM = 284, + RWL_T_ERLANG = 285, + RWL_T_DOTDOT = 286, + RWL_T_DOUBLE = 287, + RWL_T_ERLANG2 = 288, + RWL_T_ERLANGK = 289, + RWL_T_RUN = 290, + RWL_T_THREADS = 291, + RWL_T_RUNSECONDS = 292, + RWL_T_WHILE = 293, + RWL_T_FFLUSH = 294, + RWL_T_READLINE = 295, + RWL_T_RANDOM = 296, + RWL_T_FILE = 297, + RWL_T_WRITE = 298, + RWL_T_WRITELINE = 299, + RWL_T_BINDOUT = 300, + RWL_T_GETRUSAGE = 301, + RWL_T_DRCP = 302, + RWL_T_SESSIONPOOL = 303, + RWL_T_RECONNECT = 304, + RWL_T_DEDICATED = 305, + RWL_T_DEFAULT = 306, + RWL_T_RESULTS = 307, + RWL_T_ASSIGN = 308, + RWL_T_LOOP = 309, + RWL_T_ALL = 310, + RWL_T_NULL = 311, + RWL_T_ISNULL = 312, + RWL_T_SUM = 313, + RWL_T_IS = 314, + RWL_T_NOT = 315, + RWL_T_LESSEQ = 316, + RWL_T_GREATEQ = 317, + RWL_T_NOTEQ = 318, + RWL_T_AND = 319, + RWL_T_OR = 320, + RWL_T_BETWEEN = 321, + RWL_T_CONCAT = 322, + RWL_T_IF = 323, + RWL_T_THEN = 324, + RWL_T_ELSE = 325, + RWL_T_NEVER = 326, + RWL_T_APPEND = 327, + RWL_T_IGNOREERROR = 328, + RWL_T_ELSEIF = 329, + RWL_T_EXECUTE = 330, + RWL_T_WAIT = 331, + RWL_T_COMMIT = 332, + RWL_T_ROLLBACK = 333, + RWL_T_EVERY = 334, + RWL_T_ASNADD = 335, + RWL_T_ASNSUB = 336, + RWL_T_STOP = 337, + RWL_T_START = 338, + RWL_T_COUNT = 339, + RWL_T_AT = 340, + RWL_T_BREAK = 341, + RWL_T_RETURN = 342, + RWL_T_ABORT = 343, + RWL_T_MODIFY = 344, + RWL_T_CURSORCACHE = 345, + RWL_T_NOCURSORCACHE = 346, + RWL_T_LEAK = 347, + RWL_T_SHIFT = 348, + RWL_T_WHEN = 349, + RWL_T_STATISTICS = 350, + RWL_T_NOSTATISTICS = 351, + RWL_T_FUNCTION = 352, + RWL_T_PUBLIC = 353, + RWL_T_OCIPING = 354, + RWL_T_QUEUE = 355, + RWL_T_NOQUEUE = 356, + RWL_T_PRIVATE = 357, + RWL_T_BEGIN = 358, + RWL_T_RELEASE = 359, + RWL_T_SYSTEM = 360, + RWL_T_CLOB = 361, + RWL_T_BLOB = 362, + RWL_T_NCLOB = 363, + RWL_T_READLOB = 364, + RWL_T_WRITELOB = 365, + RWL_T_RAW = 366, + RWL_T_EXIT = 367, + RWL_T_SUBSTR = 368, + RWL_T_SUBSTRB = 369, + RWL_T_LENGTH = 370, + RWL_T_LENGTHB = 371, + RWL_T_SQL_ID = 372, + RWL_T_GETENV = 373, + RWL_T_LOG = 374, + RWL_T_EXP = 375, + RWL_T_ROUND = 376, + RWL_T_ACTIVESESSIONCOUNT = 377, + RWL_T_REQUESTMARK = 378, + RWL_T_SPRINTF = 379, + RWL_T_OPENSESSIONCOUNT = 380, + RWL_T_STATEMARK = 381, + RWL_T_REGEXSUB = 382, + RWL_T_REGEXSUBG = 383, + RWL_T_SERVERRELEASE = 384, + RWL_T_SQL = 385, + RWL_T_SQL_TEXT = 386, + RWL_T_INSTR = 387, + RWL_T_INSTRB = 388, + RWL_T_CONNECTIONPOOL = 389, + RWL_T_CONNECTIONCLASS = 390, + RWL_T_UNSIGNED = 391, + RWL_T_HEXADECIMAL = 392, + RWL_T_OCTAL = 393, + RWL_T_FPRINTF = 394, + RWL_T_ENCODE = 395, + RWL_T_DECODE = 396, + RWL_T_STRING_CONST = 397, + RWL_T_IDENTIFIER = 398, + RWL_T_INTEGER_CONST = 399, + RWL_T_DOUBLE_CONST = 400, + RWL_T_PRINTF = 401, + RWL_T_PIPEFROM = 402, + RWL_T_PIPETO = 403, + RWL_T_RSHIFTASSIGN = 404, + RWL_T_GLOBAL = 405, + RWL_T_QUERYNOTIFICATION = 406, + RWL_T_NORMALRANDOM = 407, + RWL_T_STATISTICSONLY = 408, + RWL_T_CEIL = 409, + RWL_T_TRUNC = 410, + RWL_T_FLOOR = 411, + RWL_T_LOBPREFETCH = 412, + RWL_T_SIN = 413, + RWL_T_COS = 414, + RWL_T_ATAN2 = 415, + RWL_T_WINSLASHF2B = 416, + RWL_T_WINSLASHF2BB = 417, + RWL_T_BITWISE_LEFT_SHIFT = 418, + RWL_T_BITWISE_RIGHT_SHIFT = 419, + RWL_T_ASNBIS = 420, + RWL_T_ASNBIC = 421, + RWL_T_UMINUS = 422 }; #endif @@ -585,7 +587,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 477 "rwlparser.y" /* yacc.c:355 */ +#line 478 "rwlparser.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -599,7 +601,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 603 "rwlparser.tab.c" /* yacc.c:355 */ +#line 605 "rwlparser.tab.c" /* yacc.c:355 */ }; typedef union RWLYSTYPE RWLYSTYPE; @@ -615,7 +617,7 @@ int rwlyparse (rwl_main *rwm); /* Copy the second part of user declarations. */ -#line 619 "rwlparser.tab.c" /* yacc.c:358 */ +#line 621 "rwlparser.tab.c" /* yacc.c:358 */ #ifdef short # undef short @@ -857,21 +859,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 5769 +#define YYLAST 5883 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 186 +#define YYNTOKENS 187 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 298 +#define YYNNTS 300 /* YYNRULES -- Number of rules. */ -#define YYNRULES 682 +#define YYNRULES 686 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1248 +#define YYNSTATES 1255 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 421 +#define YYMAXUTOK 422 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -883,16 +885,16 @@ 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, 177, 2, 2, 2, 176, 168, 2, - 181, 182, 174, 173, 183, 172, 2, 175, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 185, 180, - 170, 169, 171, 184, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 178, 2, 2, 2, 177, 169, 2, + 182, 183, 175, 174, 184, 173, 2, 176, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 186, 181, + 171, 170, 172, 185, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 167, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 168, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 166, 2, 178, 2, 2, 2, + 2, 2, 2, 2, 167, 2, 179, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -922,82 +924,82 @@ static const yytype_uint8 yytranslate[] = 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 179 + 165, 166, 180 }; #if RWLYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 539, 539, 546, 550, 552, 551, 567, 568, 569, - 571, 574, 581, 583, 600, 599, 609, 608, 617, 616, - 626, 625, 635, 640, 649, 650, 654, 653, 660, 665, - 673, 674, 678, 677, 685, 684, 757, 762, 763, 775, - 776, 779, 780, 783, 793, 798, 806, 819, 850, 861, - 873, 872, 888, 898, 897, 915, 925, 935, 945, 958, - 959, 962, 970, 980, 991, 1006, 1007, 1011, 1012, 1013, - 1016, 1040, 1064, 1076, 1078, 1077, 1090, 1091, 1097, 1096, - 1124, 1131, 1138, 1139, 1143, 1144, 1147, 1160, 1159, 1211, - 1223, 1222, 1243, 1248, 1255, 1260, 1267, 1352, 1353, 1357, - 1366, 1367, 1370, 1371, 1372, 1376, 1377, 1381, 1409, 1411, - 1413, 1415, 1430, 1435, 1440, 1448, 1449, 1451, 1453, 1472, - 1474, 1473, 1489, 1488, 1504, 1503, 1519, 1562, 1576, 1590, - 1604, 1616, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, - 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1636, 1638, 1640, - 1642, 1643, 1646, 1649, 1650, 1654, 1659, 1660, 1661, 1663, - 1665, 1666, 1668, 1679, 1690, 1694, 1700, 1704, 1710, 1714, - 1720, 1725, 1729, 1737, 1735, 1762, 1766, 1770, 1776, 1782, - 1786, 1787, 1791, 1792, 1796, 1801, 1802, 1803, 1808, 1809, - 1810, 1811, 1812, 1816, 1817, 1818, 1819, 1823, 1824, 1825, - 1828, 1829, 1830, 1834, 1835, 1836, 1837, 1838, 1839, 1843, - 1844, 1845, 1849, 1850, 1854, 1855, 1859, 1860, 1864, 1866, - 1865, 1883, 1885, 1884, 1900, 1902, 1911, 1901, 1926, 1927, - 1931, 1932, 1942, 1943, 1947, 1955, 1958, 1957, 1964, 1967, - 1966, 1970, 1972, 1974, 1976, 1979, 1985, 2014, 2029, 2042, - 2044, 2045, 2049, 2051, 2055, 2057, 2062, 2061, 2068, 2067, - 2079, 2084, 2083, 2091, 2095, 2119, 2145, 2143, 2171, 2169, - 2279, 2288, 2287, 2291, 2290, 2295, 2301, 2300, 2310, 2309, - 2318, 2331, 2336, 2330, 2364, 2372, 2377, 2371, 2406, 2413, - 2429, 2428, 2441, 2457, 2468, 2474, 2480, 2492, 2504, 2514, - 2524, 2523, 2536, 2542, 2540, 2658, 2665, 2681, 2683, 2685, - 2685, 2686, 2689, 2691, 2693, 2690, 2695, 2699, 2698, 2813, - 2846, 2854, 2879, 2853, 2930, 2931, 2932, 2933, 2935, 2936, - 2944, 2945, 2953, 2954, 2963, 2966, 2965, 2974, 2976, 2984, - 2992, 3001, 3009, 3011, 3018, 3019, 3030, 3066, 3103, 3144, - 3161, 3143, 3202, 3209, 3216, 3215, 3247, 3248, 3256, 3255, - 3303, 3305, 3304, 3314, 3465, 3464, 3612, 3618, 3621, 3637, - 3641, 3645, 3652, 3653, 3657, 3657, 3671, 3671, 3687, 3687, - 3703, 3703, 3717, 3717, 3748, 3749, 3750, 3753, 3759, 3758, - 3768, 3767, 3785, 3784, 3832, 3847, 3856, 3831, 3893, 3901, - 3902, 3902, 3915, 3914, 3921, 3922, 3923, 3929, 3930, 3934, - 3938, 3946, 3950, 3954, 3962, 3963, 3969, 3975, 3977, 3980, - 3981, 3986, 3985, 4087, 4089, 4088, 4143, 4147, 4151, 4152, - 4156, 4171, 4180, 4195, 4204, 4208, 4214, 4231, 4238, 4248, - 4249, 4250, 4254, 4255, 4271, 4281, 4287, 4295, 4301, 4309, - 4315, 4323, 4328, 4335, 4336, 4337, 4341, 4342, 4341, 4352, - 4356, 4357, 4356, 4366, 4373, 4374, 4377, 4377, 4458, 4456, - 4470, 4547, 4644, 4645, 4649, 4650, 4653, 4654, 4657, 4658, - 4661, 4665, 4669, 4673, 4692, 4698, 4700, 4703, 4704, 4713, - 4714, 4719, 4718, 4727, 4737, 4738, 4742, 4742, 4744, 4743, - 4752, 4751, 4755, 4762, 4763, 4767, 4767, 4769, 4768, 4775, - 4774, 4778, 4787, 4883, 4888, 4893, 4894, 4897, 4914, 4931, - 4948, 4971, 4971, 5002, 5023, 5023, 5046, 5045, 5061, 5060, - 5076, 5075, 5092, 5093, 5096, 5098, 5096, 5152, 5183, 5182, - 5219, 5220, 5228, 5227, 5251, 5252, 5256, 5255, 5294, 5293, - 5316, 5316, 5343, 5344, 5347, 5368, 5390, 5414, 5419, 5427, - 5428, 5428, 5432, 5493, 5528, 5543, 5592, 5601, 5602, 5610, - 5611, 5612, 5613, 5614, 5615, 5618, 5619, 5620, 5621, 5622, - 5623, 5630, 5637, 5628, 5663, 5663, 5676, 5689, 5690, 5694, - 5707, 5708, 5715, 5720, 5727, 5728, 5729, 5734, 5735, 5736, - 5741, 5742, 5743, 5748, 5749, 5750, 5755, 5760, 5761, 5772, - 5783, 5794, 5798, 5805, 5806, 5863, 5869, 5868, 5956, 5955, - 5999, 6007, 6009, 6013, 6017, 6006, 6059, 6068, 6072, 6079, - 6081, 6085, 6078, 6123, 6133, 6135, 6139, 6132, 6177, 6186, - 6187, 6190, 6233, 6242, 6268, 6267, 6298, 6304, 6305, 6308, - 6309, 6313, 6318, 6343, 6352, 6404, 6429, 6457, 6312, 6465, - 6466, 6467, 6475, 6476, 6484, 6502, 6483, 6506, 6510, 6511, - 6518, 6519, 6520, 6526, 6527, 6528, 6533, 6534, 6535, 6536, - 6537, 6538, 6539 + 0, 540, 540, 547, 551, 553, 552, 568, 569, 570, + 572, 575, 582, 584, 601, 600, 610, 609, 618, 617, + 627, 626, 636, 641, 650, 651, 655, 654, 661, 666, + 674, 675, 679, 678, 686, 685, 758, 763, 764, 776, + 777, 780, 781, 784, 794, 799, 807, 820, 851, 862, + 874, 873, 889, 899, 898, 916, 926, 936, 946, 959, + 960, 963, 971, 981, 992, 1007, 1008, 1012, 1013, 1014, + 1017, 1041, 1065, 1077, 1079, 1078, 1091, 1092, 1098, 1097, + 1125, 1132, 1139, 1140, 1144, 1145, 1148, 1161, 1160, 1212, + 1224, 1223, 1244, 1249, 1256, 1261, 1268, 1353, 1354, 1358, + 1367, 1368, 1372, 1373, 1376, 1377, 1378, 1382, 1383, 1387, + 1415, 1417, 1419, 1421, 1436, 1441, 1446, 1454, 1455, 1457, + 1459, 1478, 1480, 1479, 1495, 1494, 1510, 1509, 1525, 1568, + 1582, 1596, 1610, 1622, 1626, 1627, 1628, 1629, 1630, 1631, + 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1642, + 1644, 1646, 1648, 1649, 1652, 1655, 1656, 1660, 1665, 1666, + 1667, 1669, 1671, 1672, 1674, 1685, 1696, 1700, 1706, 1710, + 1716, 1720, 1726, 1731, 1735, 1743, 1741, 1768, 1772, 1776, + 1782, 1788, 1792, 1793, 1797, 1798, 1802, 1807, 1808, 1809, + 1814, 1815, 1816, 1817, 1818, 1822, 1823, 1824, 1825, 1829, + 1830, 1831, 1834, 1835, 1836, 1840, 1841, 1842, 1843, 1844, + 1845, 1849, 1850, 1851, 1855, 1856, 1860, 1861, 1865, 1866, + 1870, 1872, 1871, 1889, 1891, 1890, 1906, 1908, 1917, 1907, + 1932, 1933, 1937, 1938, 1948, 1949, 1953, 1961, 1964, 1963, + 1970, 1973, 1972, 1976, 1978, 1980, 1982, 1985, 1991, 2020, + 2035, 2048, 2050, 2051, 2055, 2057, 2061, 2063, 2068, 2067, + 2074, 2073, 2085, 2090, 2089, 2097, 2101, 2125, 2151, 2149, + 2177, 2175, 2285, 2294, 2293, 2297, 2296, 2301, 2307, 2306, + 2316, 2315, 2324, 2337, 2342, 2336, 2370, 2378, 2383, 2377, + 2412, 2419, 2435, 2434, 2447, 2463, 2474, 2480, 2486, 2498, + 2510, 2520, 2530, 2529, 2542, 2546, 2551, 2555, 2562, 2578, + 2580, 2582, 2582, 2583, 2586, 2588, 2590, 2587, 2592, 2596, + 2595, 2710, 2743, 2751, 2776, 2750, 2827, 2828, 2829, 2830, + 2832, 2833, 2841, 2842, 2850, 2851, 2860, 2863, 2862, 2871, + 2873, 2881, 2889, 2898, 2906, 2908, 2915, 2916, 2927, 2963, + 3000, 3041, 3058, 3040, 3099, 3106, 3113, 3151, 3240, 3239, + 3271, 3272, 3280, 3279, 3327, 3329, 3328, 3338, 3489, 3488, + 3636, 3642, 3645, 3661, 3665, 3669, 3676, 3677, 3681, 3681, + 3695, 3695, 3711, 3711, 3727, 3727, 3741, 3741, 3772, 3773, + 3774, 3777, 3783, 3782, 3792, 3791, 3809, 3808, 3856, 3871, + 3880, 3855, 3917, 3925, 3926, 3926, 3939, 3938, 3945, 3946, + 3947, 3953, 3954, 3958, 3962, 3970, 3974, 3978, 3986, 3987, + 3993, 3999, 4001, 4004, 4005, 4010, 4009, 4111, 4113, 4112, + 4167, 4171, 4175, 4176, 4180, 4195, 4204, 4219, 4228, 4232, + 4238, 4255, 4262, 4272, 4273, 4274, 4278, 4279, 4295, 4305, + 4311, 4319, 4325, 4333, 4339, 4347, 4352, 4359, 4360, 4361, + 4365, 4366, 4365, 4376, 4380, 4381, 4380, 4390, 4397, 4398, + 4401, 4401, 4482, 4480, 4494, 4571, 4668, 4669, 4673, 4674, + 4677, 4678, 4681, 4682, 4685, 4689, 4693, 4697, 4716, 4722, + 4724, 4727, 4728, 4737, 4738, 4743, 4742, 4751, 4761, 4762, + 4766, 4766, 4768, 4767, 4776, 4775, 4779, 4786, 4787, 4791, + 4791, 4793, 4792, 4799, 4798, 4802, 4811, 4907, 4912, 4917, + 4918, 4921, 4938, 4955, 4972, 4995, 4995, 5026, 5047, 5047, + 5070, 5069, 5085, 5084, 5100, 5099, 5116, 5117, 5120, 5122, + 5120, 5176, 5207, 5206, 5243, 5244, 5252, 5251, 5275, 5276, + 5280, 5279, 5318, 5317, 5340, 5340, 5367, 5368, 5371, 5392, + 5414, 5438, 5443, 5451, 5452, 5452, 5456, 5517, 5552, 5567, + 5616, 5625, 5626, 5634, 5635, 5636, 5637, 5638, 5639, 5642, + 5643, 5644, 5645, 5646, 5647, 5654, 5661, 5652, 5687, 5687, + 5700, 5713, 5714, 5718, 5731, 5732, 5739, 5744, 5751, 5752, + 5753, 5758, 5759, 5760, 5765, 5766, 5767, 5772, 5773, 5774, + 5779, 5784, 5785, 5796, 5807, 5818, 5822, 5829, 5830, 5887, + 5893, 5892, 5980, 5979, 6023, 6031, 6033, 6037, 6041, 6030, + 6083, 6092, 6096, 6103, 6105, 6109, 6102, 6147, 6157, 6159, + 6163, 6156, 6201, 6210, 6211, 6214, 6257, 6266, 6292, 6291, + 6322, 6328, 6329, 6332, 6333, 6337, 6342, 6367, 6376, 6428, + 6453, 6481, 6336, 6489, 6490, 6491, 6499, 6500, 6508, 6526, + 6507, 6530, 6534, 6535, 6542, 6543, 6544, 6550, 6551, 6552, + 6557, 6558, 6559, 6560, 6561, 6562, 6563 }; #endif @@ -1008,27 +1010,28 @@ static const char *const yytname[] = { "$end", "error", "$undefined", "RWL_T_CONNECT", "RWL_T_USERNAME", "RWL_T_PASSWORD", "RWL_T_DATABASE", "RWL_T_EPOCHSECONDS", - "RWL_T_DBSECONDS", "RWL_T_PRINT", "RWL_T_PRINTLINE", "RWL_T_PRINTVAR", - "RWL_T_SHARDKEY", "RWL_T_SUPERSHK", "RWL_T_OCISECONDS", - "RWL_T_PROCEDURE", "RWL_T_BIND", "RWL_T_DEFINE", "RWL_T_STRING", - "RWL_T_INTEGER", "RWL_T_END", "RWL_T_FOR", "RWL_T_ARRAY", "RWL_T_DATE", - "RWL_T_SQRT", "RWL_T_ACCESS", "RWL_T_REGEX", "RWL_T_REGEXTRACT", - "RWL_T_UNIFORM", "RWL_T_ERLANG", "RWL_T_DOTDOT", "RWL_T_DOUBLE", - "RWL_T_ERLANG2", "RWL_T_ERLANGK", "RWL_T_RUN", "RWL_T_THREADS", - "RWL_T_RUNSECONDS", "RWL_T_WHILE", "RWL_T_FFLUSH", "RWL_T_READLINE", - "RWL_T_RANDOM", "RWL_T_FILE", "RWL_T_WRITE", "RWL_T_WRITELINE", - "RWL_T_BINDOUT", "RWL_T_GETRUSAGE", "RWL_T_DRCP", "RWL_T_SESSIONPOOL", - "RWL_T_RECONNECT", "RWL_T_DEDICATED", "RWL_T_DEFAULT", "RWL_T_RESULTS", - "RWL_T_ASSIGN", "RWL_T_LOOP", "RWL_T_ALL", "RWL_T_NULL", "RWL_T_ISNULL", - "RWL_T_SUM", "RWL_T_IS", "RWL_T_NOT", "RWL_T_LESSEQ", "RWL_T_GREATEQ", - "RWL_T_NOTEQ", "RWL_T_AND", "RWL_T_OR", "RWL_T_BETWEEN", "RWL_T_CONCAT", - "RWL_T_IF", "RWL_T_THEN", "RWL_T_ELSE", "RWL_T_NEVER", "RWL_T_APPEND", - "RWL_T_IGNOREERROR", "RWL_T_ELSEIF", "RWL_T_EXECUTE", "RWL_T_WAIT", - "RWL_T_COMMIT", "RWL_T_ROLLBACK", "RWL_T_EVERY", "RWL_T_ASNADD", - "RWL_T_ASNSUB", "RWL_T_STOP", "RWL_T_START", "RWL_T_COUNT", "RWL_T_AT", - "RWL_T_BREAK", "RWL_T_RETURN", "RWL_T_ABORT", "RWL_T_MODIFY", - "RWL_T_CURSORCACHE", "RWL_T_NOCURSORCACHE", "RWL_T_LEAK", "RWL_T_SHIFT", - "RWL_T_WHEN", "RWL_T_STATISTICS", "RWL_T_NOSTATISTICS", "RWL_T_FUNCTION", + "RWL_T_DBSECONDS", "RWL_T_PROCEDURENAME", "RWL_T_PRINT", + "RWL_T_PRINTLINE", "RWL_T_PRINTVAR", "RWL_T_SHARDKEY", "RWL_T_SUPERSHK", + "RWL_T_OCISECONDS", "RWL_T_PROCEDURE", "RWL_T_BIND", "RWL_T_DEFINE", + "RWL_T_STRING", "RWL_T_INTEGER", "RWL_T_END", "RWL_T_FOR", "RWL_T_ARRAY", + "RWL_T_DATE", "RWL_T_SQRT", "RWL_T_ACCESS", "RWL_T_REGEX", + "RWL_T_REGEXTRACT", "RWL_T_UNIFORM", "RWL_T_ERLANG", "RWL_T_DOTDOT", + "RWL_T_DOUBLE", "RWL_T_ERLANG2", "RWL_T_ERLANGK", "RWL_T_RUN", + "RWL_T_THREADS", "RWL_T_RUNSECONDS", "RWL_T_WHILE", "RWL_T_FFLUSH", + "RWL_T_READLINE", "RWL_T_RANDOM", "RWL_T_FILE", "RWL_T_WRITE", + "RWL_T_WRITELINE", "RWL_T_BINDOUT", "RWL_T_GETRUSAGE", "RWL_T_DRCP", + "RWL_T_SESSIONPOOL", "RWL_T_RECONNECT", "RWL_T_DEDICATED", + "RWL_T_DEFAULT", "RWL_T_RESULTS", "RWL_T_ASSIGN", "RWL_T_LOOP", + "RWL_T_ALL", "RWL_T_NULL", "RWL_T_ISNULL", "RWL_T_SUM", "RWL_T_IS", + "RWL_T_NOT", "RWL_T_LESSEQ", "RWL_T_GREATEQ", "RWL_T_NOTEQ", "RWL_T_AND", + "RWL_T_OR", "RWL_T_BETWEEN", "RWL_T_CONCAT", "RWL_T_IF", "RWL_T_THEN", + "RWL_T_ELSE", "RWL_T_NEVER", "RWL_T_APPEND", "RWL_T_IGNOREERROR", + "RWL_T_ELSEIF", "RWL_T_EXECUTE", "RWL_T_WAIT", "RWL_T_COMMIT", + "RWL_T_ROLLBACK", "RWL_T_EVERY", "RWL_T_ASNADD", "RWL_T_ASNSUB", + "RWL_T_STOP", "RWL_T_START", "RWL_T_COUNT", "RWL_T_AT", "RWL_T_BREAK", + "RWL_T_RETURN", "RWL_T_ABORT", "RWL_T_MODIFY", "RWL_T_CURSORCACHE", + "RWL_T_NOCURSORCACHE", "RWL_T_LEAK", "RWL_T_SHIFT", "RWL_T_WHEN", + "RWL_T_STATISTICS", "RWL_T_NOSTATISTICS", "RWL_T_FUNCTION", "RWL_T_PUBLIC", "RWL_T_OCIPING", "RWL_T_QUEUE", "RWL_T_NOQUEUE", "RWL_T_PRIVATE", "RWL_T_BEGIN", "RWL_T_RELEASE", "RWL_T_SYSTEM", "RWL_T_CLOB", "RWL_T_BLOB", "RWL_T_NCLOB", "RWL_T_READLOB", @@ -1062,55 +1065,56 @@ static const char *const yytname[] = "compiletime_expression", "compiletime_concatenation", "subroutinedeclaration", "isaccepted", "functionhead", "$@13", "procedurehead", "$@14", "maybeprivatefunction", "maybeprivateprocedure", - "codebody", "printvarlist", "printvarelement", "maybeemptybrackets", - "maybearguments", "formalargumentlist", "formalargument", "argumenttype", - "maybestatistics", "codeterminator", "$@15", "$@16", "$@17", - "identifier_or_constant", "$@18", "maybe_expression_list", - "expression_list", "countexpressions", "primary_expression", - "unary_expression", "multiplication", "addition", "bitwise_shift", - "comparison", "equality", "bitwise_and", "bitwise_xor", "bitwise_or", - "logicaland", "$@19", "logicalor", "$@20", "conditional", "$@21", "$@22", - "expression", "concatenation", "statementlist", "goodorbadstatement", - "$@23", "$@24", "statement", "$@25", "$@26", "$@27", "$@28", "$@29", - "$@30", "$@31", "$@32", "$@33", "$@34", "$@35", "$@36", "$@37", "$@38", - "$@39", "$@40", "$@41", "$@42", "$@43", "$@44", "$@45", "$@46", "$@47", - "$@48", "$@49", "writelobhead", "$@50", "maybewritelobtail", - "readlobhead", "$@51", "maybereadlobtail", "$@52", "docallonesql", - "dosqlloop", "$@53", "controlloopheader", "controllooplistandend", - "controlloopheadend", "controllooplist", "controlloopoption", "$@54", - "$@55", "$@56", "$@57", "$@58", "maybequeue", "callsql", "$@59", "$@60", - "embeddedsql", "$@61", "immediatesql", "$@62", "$@63", "$@64", - "getdynamicorinlineimmsql", "$@65", "immediatesqlheader", "$@66", + "codebody", "printvarlist", "printvarelement", "identifierorprocname", + "maybeemptybrackets", "maybearguments", "formalargumentlist", + "formalargument", "argumenttype", "maybestatistics", "codeterminator", + "$@15", "$@16", "$@17", "identifier_or_constant", "$@18", + "maybe_expression_list", "expression_list", "countexpressions", + "primary_expression", "unary_expression", "multiplication", "addition", + "bitwise_shift", "comparison", "equality", "bitwise_and", "bitwise_xor", + "bitwise_or", "logicaland", "$@19", "logicalor", "$@20", "conditional", + "$@21", "$@22", "expression", "concatenation", "statementlist", + "goodorbadstatement", "$@23", "$@24", "statement", "$@25", "$@26", + "$@27", "$@28", "$@29", "$@30", "$@31", "$@32", "$@33", "$@34", "$@35", + "$@36", "$@37", "$@38", "$@39", "$@40", "$@41", "$@42", "$@43", "$@44", + "$@45", "$@46", "$@47", "$@48", "beginofprocedurecall", + "endofprocedurecall", "writelobhead", "$@49", "maybewritelobtail", + "readlobhead", "$@50", "maybereadlobtail", "$@51", "docallonesql", + "dosqlloop", "$@52", "controlloopheader", "controllooplistandend", + "controlloopheadend", "controllooplist", "controlloopoption", "$@53", + "$@54", "$@55", "$@56", "$@57", "maybequeue", "callsql", "$@58", "$@59", + "embeddedsql", "$@60", "immediatesql", "$@61", "$@62", "$@63", + "getdynamicorinlineimmsql", "$@64", "immediatesqlheader", "$@65", "immediatesqlendsqlisok", "immediatesqltail", "immediateatclause", - "executehead", "maybeatdatabase", "declinitlist", "declinit", "$@67", - "declinitassign", "$@68", "ifstatements", "elseifstatements", + "executehead", "maybeatdatabase", "declinitlist", "declinit", "$@66", + "declinitassign", "$@67", "ifstatements", "elseifstatements", "maybeelseiflist", "ifhead", "elseifhead", "whileheadkeyword", "whilehead", "whileheadwrongkeyword", "maybethreadsattr", "maybeprivatestring", "maybeprivateinteger", "maybeprivatedouble", - "maybeprivatelob", "eitherlobtype", "sqldeclaration", "$@69", "$@70", - "$@71", "$@72", "namedsqldeclaration", "dynamicsqlbody", "$@73", - "staticsqlbody", "$@74", "addsqlvariable", "parsesqlspecifications", + "maybeprivatelob", "eitherlobtype", "sqldeclaration", "$@68", "$@69", + "$@70", "$@71", "namedsqldeclaration", "dynamicsqlbody", "$@72", + "staticsqlbody", "$@73", "addsqlvariable", "parsesqlspecifications", "sqlspeclist", "sqlspec", "musthaveterminator", "maybearraydefine", - "definelist", "defineelement", "$@75", "bindoutlist", "bindoutelement", - "$@76", "$@77", "$@78", "bindlist", "bindelement", "$@79", "$@80", - "$@81", "bdidentifier", "bdidentname", "modsqlstatement", "$@82", "$@83", - "$@84", "$@85", "$@86", "modsqlbdlist", "modsqlbd", "$@87", "$@88", - "moddbstatement", "$@89", "moddbsespmaybedotdot", "printf", "$@90", - "sprintfheader", "sprintf", "$@91", "fprintf", "$@92", - "handlefprintflist", "$@93", "printflist", "printfelement", "write", - "print", "printlist", "$@94", "printelement", "pwterminator", + "definelist", "defineelement", "$@74", "bindoutlist", "bindoutelement", + "$@75", "$@76", "$@77", "bindlist", "bindelement", "$@78", "$@79", + "$@80", "bdidentifier", "bdidentname", "modsqlstatement", "$@81", "$@82", + "$@83", "$@84", "$@85", "modsqlbdlist", "modsqlbd", "$@86", "$@87", + "moddbstatement", "$@88", "moddbsespmaybedotdot", "printf", "$@89", + "sprintfheader", "sprintf", "$@90", "fprintf", "$@91", + "handlefprintflist", "$@92", "printflist", "printfelement", "write", + "print", "printlist", "$@93", "printelement", "pwterminator", "pfterminator", "assignrightside", "assignterminator", - "declassignoperator", "assignoperator", "loopiterator", "$@95", "$@96", - "$@97", "commaconcatenationlist", "commaconcatenation", + "declassignoperator", "assignoperator", "loopiterator", "$@94", "$@95", + "$@96", "commaconcatenationlist", "commaconcatenation", "loopiteratorrecover", "maybeprivatefile", "executeterminator", "loopterminator", "ifterminator", "sqlterminator", "whileterminator", - "maybeandexpression", "getstaticsqltext", "getinlinesql", "$@98", - "readfromfile", "$@99", "regexsub", "$@100", "$@101", "$@102", "$@103", - "regexsuborsubg", "regextract", "$@104", "$@105", "$@106", "regex", - "$@107", "$@108", "$@109", "readlist", "readlistelement", "systemstart", - "systemfinish", "threadexecution", "$@110", "threadlistp", "threadorcqn", - "cqnthread", "$@111", "$@112", "$@113", "$@114", "$@115", "$@116", - "$@117", "cqnterminator", "maybecqnstart", "thread", "$@118", "$@119", + "maybeandexpression", "getstaticsqltext", "getinlinesql", "$@97", + "readfromfile", "$@98", "regexsub", "$@99", "$@100", "$@101", "$@102", + "regexsuborsubg", "regextract", "$@103", "$@104", "$@105", "regex", + "$@106", "$@107", "$@108", "readlist", "readlistelement", "systemstart", + "systemfinish", "threadexecution", "$@109", "threadlistp", "threadorcqn", + "cqnthread", "$@110", "$@111", "$@112", "$@113", "$@114", "$@115", + "$@116", "cqnterminator", "maybecqnstart", "thread", "$@117", "$@118", "maybedatabase", "threadsterminator", "runterminator", "maybeenderrorkeyword", YY_NULLPTR }; @@ -1137,18 +1141,18 @@ static const yytype_uint16 yytoknum[] = 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 124, 94, 38, 61, - 60, 62, 45, 43, 42, 47, 37, 33, 126, 421, - 59, 40, 41, 44, 63, 58 + 415, 416, 417, 418, 419, 420, 421, 124, 94, 38, + 61, 60, 62, 45, 43, 42, 47, 37, 33, 126, + 422, 59, 40, 41, 44, 63, 58 }; # endif -#define YYPACT_NINF -965 +#define YYPACT_NINF -909 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-965))) + (!!((Yystate) == (-909))) -#define YYTABLE_NINF -666 +#define YYTABLE_NINF -670 #define yytable_value_is_error(Yytable_value) \ 0 @@ -1157,131 +1161,132 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -965, 108, 159, -965, 3381, -45, 76, -965, -45, 257, - -965, -965, -965, 276, 1917, 1984, -965, 51, 2122, 132, - 133, 432, -965, 139, 141, -38, -965, -45, 2189, 115, - 5588, -45, -45, -11, 1709, -45, 79, -45, -45, -965, - -45, 459, 319, -965, -965, -965, -965, 218, 223, 2327, - 53, -965, -965, 43, -965, 143, 239, -965, -965, -965, - -965, -965, -965, 42, 340, 340, 144, 146, -965, -965, - -45, 350, -45, 1571, -965, 98, -965, -965, 54, 95, - 120, 147, -965, 52, 71, 290, -45, -45, 1340, 2394, - 151, -965, -965, 2532, -965, -965, 5588, -965, -965, -45, - -965, -965, -45, -965, -22, -965, -45, 370, 80, 317, - 453, 350, -45, 5588, -45, 5588, 498, 55, 551, -38, - 339, 343, 356, 366, 375, 380, 395, 424, -38, -965, - 425, 5588, 427, 428, 429, 431, 433, 441, 442, 445, - 447, 448, 449, 462, -965, 465, -965, -965, 466, 475, - 480, 481, 487, 489, 490, 491, 492, 5588, 5588, 5588, - 5588, 464, -965, -965, 215, -48, 181, 318, 61, 413, - 454, 493, 550, -16, -965, 349, -45, -45, -45, -965, - 654, 655, -45, -965, -45, -965, 501, -45, -965, 2599, - 616, 316, 60, 18, -965, -965, -45, -965, -45, -965, - 5588, -965, -45, 400, 543, -965, -965, -965, -965, -965, - -965, -965, 440, -965, -965, 153, -965, -45, 503, 505, - 506, 507, -45, 5588, -45, 555, -965, 673, 624, 558, - -965, -45, 518, -45, 564, 1501, 469, -965, -45, -965, - -965, -965, -965, -965, -965, -965, -965, -45, -965, -45, - -965, 470, -965, 272, -965, -45, -965, 687, 264, -965, - 36, -965, 3106, 3511, -45, 34, 5588, -965, -45, 566, - -45, 566, -45, -965, 334, -965, -45, -45, -45, -965, - -965, -45, -965, -965, -965, -965, -965, -45, 5588, -965, - 5588, -965, -45, 5383, -965, 348, -965, -45, 566, -45, - 5588, 30, -965, 5588, -965, 569, -965, -965, -965, 663, - -965, -965, 5588, 666, 453, -965, -965, -965, -965, -965, - 683, 2737, -965, 96, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, -965, 534, 539, 5588, 5588, 5588, - 5588, 5588, 5588, -965, 5588, -965, 5588, 5588, 5588, 45, - 5588, 5588, 5588, 5588, 155, 156, 62, 5588, -965, 5588, - 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, -965, -965, - -965, 540, 337, 5588, 5588, 5588, 5588, 5588, 5588, 5588, - 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, - -965, -965, -965, 5588, -965, -965, -965, -965, 542, 581, - 589, -965, -965, -965, -965, -45, 73, -965, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -45, -45, 5588, - -965, -965, 710, 711, 714, 595, -965, -965, 5588, -45, - -965, 5588, -45, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, 689, 598, -45, 5588, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, - 2599, -965, 5588, -965, -45, -45, -45, -965, 3641, -965, - -965, 560, -965, 560, -965, -965, -965, -965, -965, -965, - -965, 256, -965, 665, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, 5588, -965, 3771, -45, -45, -965, - -965, -965, 323, 325, 341, 392, 478, -965, -965, 671, - 58, -965, -965, -965, 563, 680, 566, -965, 334, -965, - 334, -965, 446, 566, -965, -965, -965, -965, -965, 5588, - -965, 348, 348, -965, -965, -965, -965, -965, 334, -965, - -965, -45, 607, -45, 299, -965, -965, -965, 542, 2804, - 453, 680, -965, -965, 666, 568, 573, -965, -965, -965, - -965, -965, -965, -45, 732, -965, 675, 68, -965, -965, - -965, 114, 577, 26, 154, 235, 75, 246, 41, 578, - 580, 582, 583, -965, 585, 134, 145, 247, 586, 587, - 588, 590, 591, 593, 594, 596, 597, 5588, 137, 248, - 255, 263, 267, 269, 149, 599, 600, -965, -965, 708, - -965, -965, -965, 215, 215, -48, -48, 181, 181, 309, - 181, 181, 318, 318, 61, 413, 454, 5588, 5588, 5588, - -965, 635, 352, -965, -965, -965, -965, -45, -965, -965, - -45, -965, -965, -45, 40, 623, 637, 641, -965, -965, - 642, 680, -965, 5588, 680, -965, -45, 5178, -965, -965, - -965, -965, 603, 604, -965, -965, -965, -965, 605, -965, - -965, -965, -965, -965, 57, 700, 286, 5588, 5588, 5588, - 5588, -965, -965, -965, -965, -965, -965, -965, -965, 5588, - -965, 609, 63, -965, -965, 3901, -45, -45, -965, -45, - -965, -45, 789, 790, -45, 2942, -965, -965, -45, -45, - -45, -965, -965, 757, 334, -965, -965, -965, -965, -965, - 605, -965, -965, 5588, -965, 610, -965, -965, -965, -965, - 5450, 5588, 5588, 745, -965, 5588, -965, -965, -965, -965, - 5588, 5588, 5588, -45, 299, -965, -7, -6, 766, -965, - 666, -965, -965, 5588, 5588, -965, 683, 713, 656, -45, - -45, -965, -965, -965, 5588, 5588, -965, -965, 5588, -965, - 617, -965, 659, 5588, -965, -965, -965, -965, -965, 5588, - -965, 5588, -965, -965, -965, -965, -965, -965, -965, -965, - -965, 5588, 618, 5588, -965, -965, -965, -965, -965, 5588, - -965, -965, -965, 5588, 493, 550, 619, -965, -965, -965, - 48, 50, -965, -965, -965, 5588, 5588, -45, -965, -965, - -965, 728, -965, -965, -965, -965, -965, -45, -965, -965, - 5178, -965, 620, -965, -965, 625, -965, -965, -965, -965, - -965, -965, -965, 65, 5588, 5588, 627, -965, -965, -965, - -965, -965, -965, 191, -965, 664, 434, -965, -965, -965, - -965, 680, 680, 680, 680, 4031, 5588, -45, -965, -965, - -45, -45, -965, -965, 36, -965, -965, -965, -965, 5588, - -965, -45, -45, -965, 741, 415, 3236, -965, -965, -965, - -965, -965, 5588, -965, 5588, -45, 668, -965, -965, -965, - -965, -965, 419, -965, -965, -965, -965, -965, 758, -965, - -965, -965, -965, 630, 4161, -965, 4291, -965, -965, -45, - 672, -965, -965, -965, -965, 274, 275, 297, -965, 633, - 170, 298, 300, 226, -965, 302, 303, 181, -965, -45, - 674, -965, -45, 676, -965, 680, 680, -965, -965, -965, - 5588, -965, 5588, -965, -965, 48, 50, -965, 5588, -965, - 638, -965, -45, 72, -965, -965, -965, -965, 5588, -965, - 434, -965, -965, 67, 680, -965, -965, 24, 658, -965, - -965, -965, 4421, -965, -965, -965, -965, -965, 566, -965, - -965, -965, -965, 419, 788, -965, -965, -965, 788, -965, - 5588, 5588, -8, -965, 67, 67, 542, 542, -965, -965, - 4551, 737, -965, -965, -965, -965, -965, 5588, -965, -965, - -965, 5588, -965, -965, 5588, -965, -965, 285, -965, -965, - -965, 312, -965, 791, 643, -965, 5588, 643, -965, 680, - 643, -965, -965, 680, 22, 135, -965, 1779, 49, -45, - -45, -45, -965, -965, -965, -45, -45, -45, 647, -965, - -45, -45, -965, -965, -965, -965, -965, -965, 68, 4681, - 334, 648, 5588, -965, -965, -965, -965, -965, -965, -965, - -965, -965, 352, 352, 800, 5588, 743, 304, 305, -965, - 5588, -45, 674, 5588, -45, 676, 5588, -965, -965, 680, - -45, -965, -965, -965, -965, 363, -965, -45, -965, -965, - 374, -965, -45, -965, 5588, -45, -965, -965, -965, -965, - 388, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, 350, -965, 69, -965, 5588, -965, 322, 727, - 4811, 779, -965, -965, 69, -965, 5588, -965, -965, -965, - -965, -965, -965, -965, -965, 680, -965, 691, -965, 64, - 64, 64, -15, -965, -965, 64, 17, -965, -965, -45, - -965, 64, 64, 64, 382, -965, -965, -45, -45, -965, - -965, -965, 5588, 5245, -965, -965, -965, -965, -965, 67, - -965, -965, -965, -965, -965, -965, 724, -965, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, 653, -965, 5588, 5588, -965, -965, 744, -965, 697, - 772, -965, -965, -965, -45, 8, -965, -965, -965, -965, - 660, 4941, -965, 774, 5588, -965, 661, -965, -965, 5071, - 824, 104, -45, -45, -965, -965, -965, -965 + -909, 139, 155, -909, 3439, -12, 72, 1396, -909, -12, + 94, -909, -909, -909, 50, 1854, 2016, -909, 39, 2083, + 105, 115, 368, -909, 130, 136, 159, -909, -12, 2245, + 300, 5701, -12, -12, -24, 1625, -12, 80, -12, -12, + -909, -12, 387, 313, -909, -909, -909, -909, 228, 261, + 2312, 53, -909, -909, 46, -909, 137, 229, -909, -909, + -909, -909, -909, -909, 48, 293, 293, 140, 141, -909, + -909, -12, 329, -12, 1558, -909, 101, -909, -909, 49, + 99, 100, 146, -909, 52, 71, 306, -12, -12, 1234, + 2474, 151, -909, -909, 2541, -909, -909, 5701, -909, -909, + -12, -909, -12, -909, 5701, -909, -909, -12, -909, 209, + -909, -909, -12, 298, 287, 266, 385, 329, -12, 5701, + -12, 5701, 483, 203, 615, 159, 285, 334, 347, 376, + 381, 389, 401, 405, 159, -909, 410, 5701, 425, 434, + 443, 449, 451, 454, 456, 460, 467, 471, 475, 480, + -909, 488, -909, -909, 493, 499, 504, 505, 506, 507, + 509, 512, 513, 5701, 5701, 5701, 5701, 596, -909, -909, + 321, 248, 245, 304, 311, 492, 497, 526, 632, 29, + -909, 89, -12, -12, -12, -909, 674, 676, -12, -909, + -12, -909, 517, -12, -909, 2703, 635, 265, 322, 194, + -909, -909, -12, -909, -12, -909, 5701, -909, -12, 421, + 563, -909, -909, -909, -909, -909, -909, -909, 386, -909, + -909, 153, -909, -12, 525, 527, 528, 529, -12, 5701, + -12, 574, -909, 697, 644, 578, -909, -12, 541, -12, + 580, 479, -909, -12, -909, -909, -909, -909, -909, -909, + -909, -909, -12, -909, -12, -909, 539, -909, 340, -909, + -12, -909, 705, 67, -909, 55, -909, 3164, 3570, -12, + 341, 5701, -909, -12, 585, -12, 585, -12, -909, 234, + -909, -12, -12, -12, -909, -909, -12, -909, -909, -909, + -909, -909, -12, 5701, -909, 5701, -909, -12, 5475, -909, + 236, -909, -12, 585, -12, 5701, 38, -909, 5701, -909, + 5701, 59, 545, -909, -909, -909, 103, -909, -909, -909, + 678, -909, -909, 5701, 679, 385, -909, -909, -909, -909, + -909, 531, 2770, -909, 286, -909, -909, -909, -909, -909, + -909, -909, -909, -909, -909, -909, 552, 554, 5701, 5701, + 5701, 5701, 5701, 5701, -909, 5701, -909, 5701, 5701, 5701, + 43, 5701, 5701, 5701, 5701, 161, 162, 66, 5701, -909, + 5701, 5701, 5701, 5701, 5701, 5701, 5701, 5701, 5701, -909, + -909, -909, 555, 323, 5701, 5701, 5701, 5701, 5701, 5701, + 5701, 5701, 5701, 5701, 5701, 5701, 5701, 5701, 5701, 5701, + 5701, -909, -909, -909, 5701, -909, -909, -909, -909, 556, + 598, 599, -909, -909, -909, -909, -12, 75, -909, -909, + -909, -909, -909, -909, -909, -909, -909, -909, -12, -12, + 5701, -909, -909, 720, 721, 724, 607, -909, -909, 5701, + -12, -909, 5701, -12, -909, -909, -909, -909, -909, -909, + -909, -909, -909, -909, -909, 700, 610, -909, -909, -909, + -909, -909, -909, -909, -909, -909, -909, -909, -909, 2703, + -909, 5701, -909, -12, -12, -12, -909, 3701, -909, -909, + 579, -909, 579, -909, -909, -909, -909, -909, -909, -909, + 267, -909, 685, -909, -909, -909, -909, -909, -909, -909, + -909, -909, -909, 5701, -909, 3832, -12, -12, -909, -909, + -909, 95, 97, 326, 473, 511, -909, -909, 691, 54, + -909, -909, -909, 583, 706, 585, -909, 234, -909, 234, + -909, 339, 585, -909, -909, -909, -909, -909, 5701, -909, + 236, 236, -909, -909, -909, -909, -909, 234, -909, -909, + -12, 624, -12, 308, -909, -909, 591, -12, 68, -909, + -909, -909, 5701, -909, 556, 2932, 385, 706, -909, -909, + 679, 593, 595, -909, -909, -909, -909, -909, -909, -12, + 754, -909, 695, 64, -909, -909, -909, 92, 597, 20, + 233, 251, 109, 253, 37, 601, 606, 608, -909, 609, + 611, 22, 133, 256, 612, 613, 616, 617, 618, 619, + 620, 621, 614, 5701, 149, 257, 268, 269, 270, 271, + 196, 625, 626, -909, -909, 726, -909, -909, -909, 321, + 321, 248, 248, 245, 245, 262, 245, 245, 304, 304, + 311, 492, 497, 5701, 5701, 5701, -909, 650, 327, -909, + -909, -909, -909, -12, -909, -909, -12, -909, -909, -12, + 77, 656, 667, 668, -909, -909, 669, 706, -909, 5701, + 706, -909, -12, 5249, -909, -909, -909, -909, -909, 629, + -909, -909, -909, -909, -909, 283, 727, 235, 5701, 5701, + 5701, 5701, -909, -909, -909, -909, -909, -909, -909, -909, + 5701, -909, 634, 73, -909, -909, 3963, -12, -12, -909, + -12, -909, -12, 815, 816, -12, 2999, -909, -909, -12, + -12, -12, -909, -909, 782, 234, -909, -909, -909, -909, + -909, 629, -909, -909, 5701, -909, 636, -909, -909, -909, + -909, 5634, 5701, 5701, 769, -909, 5701, -909, -909, -909, + -909, 5701, 5701, 5701, -12, 308, -909, 59, -909, -12, + -12, -12, -909, 24, -9, 790, -909, 679, -909, -909, + 5701, 5701, -909, 531, 737, 680, -12, -12, -909, -909, + -909, 5701, 5701, -909, -909, 5701, -909, 641, -909, 682, + 5701, -909, -909, -909, -909, -909, 5701, -909, 5701, -909, + -909, -909, -909, -909, -909, -909, -909, -909, 5701, 643, + 5701, -909, -909, -909, -909, -909, 5701, -909, -909, -909, + 5701, 526, 632, 642, -909, -909, -909, 42, 45, -909, + -909, -909, 5701, 5701, -12, -909, -909, -909, 752, -909, + -909, -909, -909, -909, -12, -909, -909, 5249, -909, 646, + -909, -909, 651, -909, -909, -909, -909, -909, -909, -909, + 5701, 649, -909, -909, -909, -909, -909, -909, 247, -909, + 690, 562, -909, -909, -909, -909, 706, 706, 706, 706, + 4094, 5701, -12, -909, -909, -12, -12, -909, -909, 55, + -909, -909, -909, -909, 5701, -909, -12, -12, -909, 766, + 470, 3295, -909, -909, -909, -909, -909, 5701, -909, 5701, + -12, 693, -909, -909, -909, -909, -909, 392, -909, -909, + -909, -909, -909, -909, -909, -909, -909, 783, -909, -909, + -909, -909, 654, 4225, -909, 4356, -909, -909, -12, 698, + -909, -909, -909, -909, 272, 278, 279, -909, 657, 145, + 280, 281, 337, -909, 294, 295, 245, -909, -12, 103, + -909, -12, 701, -909, 706, 706, -909, -909, -909, 5701, + -909, 5701, -909, -909, 42, 45, -909, 5701, -909, 482, + -909, -909, 5701, -909, 562, -909, -909, 70, 706, -909, + -909, 10, 489, -909, -909, -909, 4487, -909, -909, -909, + -909, -909, 585, -909, -909, -909, -909, 392, 811, -909, + -909, -909, 811, -909, 5701, 5701, 23, -909, 70, 70, + 556, 556, -909, -909, 4618, 761, -909, -909, -909, -909, + -909, 5701, -909, -909, -909, 5701, -909, -909, 5701, -909, + 393, -909, -909, -909, -909, 446, -909, 814, 662, -909, + 5701, 662, -909, 706, 662, -909, -909, 706, 16, 57, + -909, 1787, 31, -12, -12, -12, -909, -909, 664, -909, + -12, -12, -909, -909, -909, -909, -909, -909, 64, 4749, + 234, 665, 5701, -909, -909, -909, -909, -909, -909, -909, + -909, -909, 327, 327, 827, 5701, 768, 296, 297, -909, + -12, 103, 5701, 5701, -12, 701, 5701, -909, -909, 706, + -12, -909, -909, -909, -909, 365, -909, -12, -909, -909, + 373, -909, -12, -909, 5701, -12, -909, -909, -909, -909, + 384, -909, -909, -909, -909, -909, -909, -909, -909, 329, + -909, 69, -909, 5701, -909, 277, 747, 4880, 798, -909, + -909, 69, -909, 5701, -909, -909, -909, -909, -909, -909, + -909, -909, 706, -909, 710, -909, 41, 41, 41, 490, + -909, -909, 41, -16, -909, -909, -12, -909, 41, 41, + 41, 522, -909, -909, -12, -12, -909, -909, -909, 5701, + 5408, -909, -909, -909, -909, -909, 70, -909, -909, -909, + -909, -909, -909, 743, -909, -909, -909, -909, -909, -909, + -909, -909, -909, -909, -909, -909, -909, -909, 671, -909, + 5701, 5701, -909, -909, 763, -909, 715, 791, -909, -909, + -909, -12, 84, -909, -909, -909, 681, -909, 5011, -909, + 792, 5701, -909, 683, -909, -909, 5142, 841, 90, -12, + -12, -909, -909, -909, -909 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1289,201 +1294,202 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 4, 0, 5, 1, 0, 0, 0, 557, 558, 0, - 95, 446, 448, 0, 0, 0, 450, 0, 0, 0, - 0, 0, 593, 0, 0, 100, 366, 276, 0, 411, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, - 0, 0, 0, 642, 453, 454, 455, 0, 0, 0, - 0, 627, 628, 0, 392, 0, 0, 542, 3, 246, - 6, 8, 12, 0, 84, 84, 0, 0, 7, 349, - 0, 309, 0, 0, 317, 0, 232, 232, 0, 0, - 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, - 0, 324, 326, 0, 327, 325, 0, 9, 353, 0, - 34, 341, 0, 99, 0, 97, 0, 0, 387, 0, - 611, 407, 0, 0, 0, 0, 0, 0, 0, 100, - 0, 0, 0, 0, 0, 0, 0, 0, 100, 131, + 4, 0, 5, 1, 0, 0, 0, 0, 561, 562, + 0, 95, 450, 452, 0, 0, 0, 454, 0, 0, + 0, 0, 0, 597, 0, 0, 102, 370, 278, 0, + 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 0, 646, 457, 458, 459, 0, 0, + 0, 0, 631, 632, 0, 396, 0, 0, 546, 3, + 248, 6, 8, 12, 0, 84, 84, 0, 0, 7, + 351, 0, 311, 0, 0, 319, 0, 234, 234, 0, + 0, 0, 0, 456, 0, 0, 0, 0, 0, 0, + 0, 0, 326, 328, 0, 329, 327, 0, 9, 355, + 0, 34, 0, 356, 182, 343, 101, 0, 100, 0, + 97, 99, 0, 0, 391, 0, 615, 411, 0, 0, + 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, + 0, 0, 0, 0, 102, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 130, 127, 129, 128, 0, 0, + 132, 129, 131, 130, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 190, 195, + 199, 202, 205, 211, 214, 216, 218, 220, 223, 226, + 230, 0, 0, 0, 0, 622, 0, 0, 0, 559, + 0, 560, 0, 0, 346, 0, 0, 0, 0, 0, + 298, 299, 0, 348, 0, 282, 0, 249, 0, 0, + 0, 300, 250, 308, 94, 449, 451, 453, 0, 596, + 92, 0, 455, 0, 0, 364, 0, 360, 0, 0, + 0, 0, 549, 0, 0, 0, 474, 0, 0, 0, + 392, 0, 554, 0, 124, 122, 121, 126, 13, 85, + 234, 234, 0, 87, 0, 90, 388, 367, 0, 367, + 0, 367, 0, 404, 234, 0, 268, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 425, 0, + 423, 0, 0, 0, 607, 251, 0, 568, 334, 550, + 332, 330, 0, 0, 567, 0, 336, 0, 232, 566, + 0, 563, 0, 0, 0, 0, 0, 36, 37, 307, + 182, 0, 183, 184, 186, 10, 0, 11, 272, 323, + 0, 406, 316, 0, 0, 615, 412, 642, 639, 637, + 634, 680, 0, 655, 0, 651, 654, 653, 439, 445, + 443, 444, 438, 441, 442, 180, 0, 0, 0, 0, + 0, 0, 0, 0, 179, 0, 193, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, + 192, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 185, 188, 193, 197, 200, 203, 209, 212, 214, - 216, 218, 221, 224, 228, 0, 0, 0, 0, 618, - 0, 0, 0, 555, 0, 556, 0, 0, 344, 0, - 0, 0, 0, 0, 296, 297, 0, 346, 0, 280, - 0, 247, 0, 0, 0, 298, 248, 306, 94, 445, - 447, 449, 0, 592, 92, 0, 451, 0, 0, 360, - 0, 356, 0, 0, 0, 0, 545, 0, 0, 0, - 470, 0, 0, 0, 388, 0, 0, 550, 0, 122, - 120, 124, 119, 13, 85, 232, 232, 0, 87, 0, - 90, 384, 363, 0, 363, 0, 363, 0, 400, 232, - 0, 266, 0, 0, 0, 0, 0, 256, 0, 0, - 0, 0, 0, 421, 0, 419, 0, 0, 0, 603, - 249, 0, 564, 332, 546, 330, 328, 0, 0, 563, - 0, 334, 0, 230, 562, 0, 559, 0, 0, 0, - 0, 0, 36, 37, 10, 0, 11, 270, 321, 0, - 402, 314, 0, 0, 611, 408, 638, 635, 633, 630, - 676, 0, 651, 0, 647, 650, 649, 435, 441, 439, - 440, 434, 437, 438, 178, 0, 0, 0, 0, 0, - 0, 0, 0, 177, 0, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, - 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 221, 224, 227, 0, 440, 322, 321, 624, 0, + 0, 0, 341, 342, 103, 301, 0, 0, 279, 435, + 434, 416, 417, 291, 347, 286, 284, 304, 0, 0, + 0, 292, 302, 0, 0, 0, 0, 297, 362, 0, + 0, 358, 0, 0, 290, 288, 333, 548, 467, 407, + 465, 397, 331, 552, 354, 0, 0, 573, 576, 574, + 580, 581, 582, 577, 578, 575, 583, 584, 579, 0, + 547, 0, 128, 0, 0, 0, 83, 0, 82, 86, + 104, 89, 104, 384, 380, 378, 382, 389, 390, 352, + 388, 376, 0, 309, 413, 414, 312, 367, 313, 402, + 620, 619, 474, 0, 403, 0, 0, 0, 604, 267, + 234, 0, 0, 0, 0, 0, 235, 236, 430, 0, + 262, 447, 448, 0, 80, 0, 255, 0, 257, 0, + 253, 427, 0, 252, 610, 608, 609, 335, 0, 340, + 0, 0, 345, 233, 564, 344, 265, 0, 630, 626, + 0, 0, 0, 39, 38, 81, 0, 0, 0, 418, + 306, 357, 0, 98, 0, 0, 615, 616, 368, 314, + 0, 0, 0, 682, 686, 683, 685, 681, 684, 0, + 0, 668, 0, 0, 652, 177, 178, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 219, 222, 225, 0, 436, 320, 319, 620, 0, 0, - 0, 339, 340, 101, 299, 0, 0, 277, 431, 430, - 412, 413, 289, 345, 284, 282, 302, 0, 0, 0, - 290, 300, 0, 0, 0, 0, 295, 358, 0, 0, - 354, 0, 0, 288, 286, 331, 544, 463, 403, 461, - 393, 329, 548, 352, 0, 0, 0, 180, 569, 572, - 570, 576, 577, 578, 573, 574, 571, 579, 580, 575, - 0, 543, 0, 126, 0, 0, 0, 83, 0, 82, - 86, 102, 89, 102, 380, 376, 374, 378, 385, 386, - 350, 384, 372, 0, 307, 409, 410, 310, 363, 311, - 398, 616, 615, 470, 0, 399, 0, 0, 0, 600, - 265, 232, 0, 0, 0, 0, 0, 233, 234, 426, - 0, 260, 443, 444, 0, 80, 0, 253, 0, 255, - 0, 251, 423, 0, 250, 606, 604, 605, 333, 0, - 338, 0, 0, 343, 231, 560, 342, 263, 0, 626, - 622, 0, 0, 0, 39, 38, 81, 98, 0, 0, - 611, 612, 364, 312, 0, 0, 0, 678, 682, 679, - 681, 677, 680, 0, 0, 664, 0, 0, 648, 175, - 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 179, 186, 0, - 194, 195, 196, 199, 198, 201, 202, 206, 207, 0, - 204, 205, 211, 210, 213, 215, 217, 0, 0, 0, - 229, 0, 0, 639, 20, 16, 566, 0, 567, 565, - 0, 293, 294, 0, 0, 0, 0, 0, 459, 457, - 0, 361, 347, 0, 357, 348, 0, 466, 550, 389, - 391, 305, 0, 181, 182, 184, 279, 554, 551, 552, - 123, 121, 125, 96, 0, 0, 115, 0, 0, 0, - 0, 232, 371, 370, 369, 368, 373, 382, 308, 0, - 395, 0, 0, 602, 601, 0, 0, 0, 239, 0, - 236, 0, 0, 0, 0, 0, 429, 232, 0, 0, - 0, 607, 264, 442, 0, 252, 254, 422, 424, 420, - 547, 337, 336, 0, 262, 0, 275, 273, 643, 272, - 0, 0, 0, 0, 55, 0, 58, 59, 49, 48, - 0, 0, 0, 0, 40, 41, 611, 0, 584, 232, - 0, 232, 316, 0, 0, 646, 676, 668, 0, 0, - 0, 673, 645, 141, 0, 0, 156, 157, 0, 160, - 0, 153, 0, 0, 145, 172, 171, 150, 134, 0, - 136, 0, 140, 169, 168, 167, 166, 165, 163, 162, - 164, 0, 0, 0, 137, 138, 139, 142, 143, 0, - 151, 152, 187, 0, 220, 223, 0, 641, 619, 640, - 0, 0, 568, 283, 292, 0, 0, 0, 528, 526, - 524, 521, 530, 518, 519, 517, 523, 0, 18, 14, - 466, 359, 0, 355, 287, 0, 462, 465, 472, 464, - 470, 613, 549, 0, 0, 0, 110, 108, 109, 112, - 114, 113, 103, 0, 105, 0, 0, 117, 118, 116, - 91, 381, 377, 375, 379, 0, 0, 485, 472, 401, - 0, 0, 594, 318, 0, 242, 241, 232, 238, 0, - 235, 0, 0, 243, 0, 0, 0, 610, 608, 609, - 258, 257, 0, 561, 0, 0, 0, 46, 43, 44, - 59, 53, 56, 52, 50, 45, 35, 42, 0, 591, - 590, 586, 581, 0, 0, 315, 0, 636, 631, 0, - 0, 232, 652, 675, 674, 0, 0, 0, 155, 0, - 0, 0, 0, 0, 174, 0, 0, 208, 226, 0, - 0, 21, 0, 0, 17, 538, 537, 291, 534, 534, - 0, 520, 0, 534, 301, 0, 0, 458, 0, 614, - 0, 468, 0, 0, 414, 304, 183, 553, 0, 104, - 0, 107, 88, 0, 383, 486, 617, 404, 0, 596, - 595, 267, 0, 232, 244, 245, 433, 432, 0, 425, - 623, 274, 47, 57, 63, 62, 61, 60, 63, 322, - 0, 0, 0, 587, 0, 0, 0, 0, 667, 669, - 0, 662, 161, 132, 158, 154, 148, 0, 133, 135, - 146, 0, 159, 144, 0, 29, 32, 0, 30, 23, - 26, 0, 24, 540, 529, 532, 0, 527, 525, 522, - 531, 19, 15, 362, 0, 0, 467, 0, 0, 485, - 485, 485, 473, 472, 418, 0, 0, 0, 0, 106, - 0, 0, 597, 351, 405, 406, 396, 471, 0, 0, - 0, 0, 0, 65, 65, 232, 582, 589, 585, 588, - 269, 365, 0, 0, 0, 0, 0, 0, 0, 227, - 0, 0, 0, 0, 0, 0, 0, 539, 534, 535, - 0, 511, 505, 507, 509, 485, 503, 0, 493, 491, - 485, 489, 0, 488, 0, 0, 502, 496, 498, 500, - 485, 494, 480, 481, 482, 469, 417, 415, 416, 111, - 599, 598, 407, 240, 0, 259, 0, 64, 73, 51, - 0, 0, 637, 632, 0, 663, 0, 149, 147, 33, - 28, 31, 27, 22, 25, 541, 533, 0, 475, 0, - 0, 0, 0, 474, 479, 0, 0, 478, 484, 485, - 477, 0, 0, 0, 0, 476, 397, 0, 0, 670, - 237, 624, 0, 0, 66, 67, 68, 69, 54, 0, - 583, 666, 653, 536, 514, 513, 515, 506, 512, 508, - 510, 504, 492, 490, 483, 497, 499, 501, 495, 672, - 671, 0, 74, 0, 0, 72, 323, 0, 516, 0, - 76, 71, 70, 654, 0, 0, 75, 232, 625, 77, - 0, 0, 78, 0, 180, 656, 0, 232, 79, 0, - 0, 0, 0, 0, 659, 658, 661, 660 + 0, 0, 0, 182, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 181, 188, 0, 196, 197, 198, 201, + 200, 203, 204, 208, 209, 0, 206, 207, 213, 212, + 215, 217, 219, 0, 0, 0, 231, 0, 0, 643, + 20, 16, 570, 0, 571, 569, 0, 295, 296, 0, + 0, 0, 0, 0, 463, 461, 0, 365, 349, 0, + 361, 350, 0, 470, 554, 393, 395, 281, 558, 555, + 556, 125, 123, 127, 96, 0, 0, 117, 0, 0, + 0, 0, 234, 375, 374, 373, 372, 377, 386, 310, + 0, 399, 0, 0, 606, 605, 0, 0, 0, 241, + 0, 238, 0, 0, 0, 0, 0, 433, 234, 0, + 0, 0, 611, 266, 446, 0, 254, 256, 426, 428, + 424, 551, 339, 338, 0, 264, 0, 277, 275, 647, + 274, 0, 0, 0, 0, 55, 0, 58, 59, 49, + 48, 0, 0, 0, 0, 40, 41, 0, 422, 0, + 0, 0, 185, 615, 0, 588, 234, 0, 234, 318, + 0, 0, 650, 680, 672, 0, 0, 0, 677, 649, + 143, 0, 0, 158, 159, 0, 162, 0, 155, 0, + 0, 147, 174, 173, 152, 136, 0, 138, 0, 142, + 171, 170, 169, 168, 167, 165, 164, 166, 0, 0, + 0, 139, 140, 141, 144, 145, 0, 153, 154, 189, + 0, 222, 225, 0, 645, 623, 644, 0, 0, 572, + 285, 294, 0, 0, 0, 532, 530, 528, 525, 534, + 522, 523, 521, 527, 0, 18, 14, 470, 363, 0, + 359, 289, 0, 466, 469, 476, 468, 474, 617, 553, + 0, 112, 110, 111, 114, 116, 115, 105, 0, 107, + 0, 0, 119, 120, 118, 91, 385, 381, 379, 383, + 0, 0, 489, 476, 405, 0, 0, 598, 320, 0, + 244, 243, 234, 240, 0, 237, 0, 0, 245, 0, + 0, 0, 614, 612, 613, 260, 259, 0, 565, 0, + 0, 0, 46, 43, 44, 59, 53, 56, 52, 50, + 45, 35, 42, 305, 421, 419, 420, 0, 595, 594, + 590, 585, 0, 0, 317, 0, 640, 635, 0, 0, + 234, 656, 679, 678, 0, 0, 0, 157, 0, 0, + 0, 0, 0, 176, 0, 0, 210, 228, 0, 0, + 21, 0, 0, 17, 542, 541, 293, 538, 538, 0, + 524, 0, 538, 303, 0, 0, 462, 0, 618, 0, + 472, 557, 0, 106, 0, 109, 88, 0, 387, 490, + 621, 408, 0, 600, 599, 269, 0, 234, 246, 247, + 437, 436, 0, 429, 627, 276, 47, 57, 63, 62, + 61, 60, 63, 324, 0, 0, 0, 591, 0, 0, + 0, 0, 671, 673, 0, 666, 163, 134, 160, 156, + 150, 0, 135, 137, 148, 0, 161, 146, 0, 29, + 0, 30, 32, 23, 26, 0, 24, 544, 533, 536, + 0, 531, 529, 526, 535, 19, 15, 366, 0, 0, + 471, 0, 0, 489, 489, 489, 477, 476, 0, 108, + 0, 0, 601, 353, 409, 410, 400, 475, 0, 0, + 0, 0, 0, 65, 65, 234, 586, 593, 589, 592, + 271, 369, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 0, 0, 0, 0, 0, 0, 543, 538, 539, + 0, 515, 509, 511, 513, 489, 507, 0, 497, 495, + 489, 493, 0, 492, 0, 0, 506, 500, 502, 504, + 489, 498, 484, 485, 486, 473, 113, 603, 602, 411, + 242, 0, 261, 0, 64, 73, 51, 0, 0, 641, + 636, 0, 667, 0, 151, 149, 28, 31, 33, 27, + 22, 25, 545, 537, 0, 479, 0, 0, 0, 0, + 478, 483, 0, 0, 482, 488, 489, 481, 0, 0, + 0, 0, 480, 401, 0, 0, 674, 239, 628, 0, + 0, 66, 67, 68, 69, 54, 0, 587, 670, 657, + 540, 518, 517, 519, 510, 516, 512, 514, 508, 496, + 494, 487, 501, 503, 505, 499, 676, 675, 0, 74, + 0, 0, 72, 325, 0, 520, 0, 76, 71, 70, + 658, 0, 0, 75, 234, 629, 0, 77, 0, 78, + 0, 182, 660, 0, 234, 79, 0, 0, 0, 0, + 0, 663, 662, 665, 664 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -965, -965, -5, -965, -965, -965, -965, -965, -965, -965, - -965, -111, -965, -249, -965, -108, -965, -244, -965, -965, - -965, -965, -965, -965, 105, -965, -965, -50, -965, -146, - -221, -965, -965, -965, -965, -965, -965, -965, -965, -319, - -288, -965, 792, -965, -965, -965, -965, -965, -965, 608, - -965, 553, -13, 383, -965, -115, 3, -965, -965, -965, - -965, -965, -965, -965, -593, -965, 16, -965, 199, -97, - 123, -363, 201, 474, 479, 482, 241, 242, -965, -965, - -965, -388, -965, -965, 238, 535, -70, -965, -965, -965, - 868, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -218, -529, -965, -965, -965, -965, -965, - 393, -965, -965, -965, -965, -965, -965, 862, -965, -965, - 865, -965, 770, -965, -965, -965, -965, -965, -965, -965, - -965, -252, 813, -965, -965, -259, 364, -965, -965, -965, - -965, -965, -965, -965, -965, 716, -965, -965, -71, -965, - -965, -965, -965, -40, -965, -965, -965, -965, -965, 56, - -965, -965, -965, -965, -479, -165, 59, -965, -743, -965, - -965, -277, -965, -965, -281, -965, -965, -965, -965, -266, - -965, -965, -965, -508, -965, -965, -965, -965, -965, -965, - -965, -514, -200, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, -965, 245, -965, 371, 66, -965, - -965, 220, -965, 176, -271, 509, 444, -965, 384, -965, - -965, -965, -965, -965, -965, -95, -965, -965, -965, -964, - 31, -965, -965, -298, -965, 650, -965, -965, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -537, -619, -965, 14, -965, -965, -965, - 601, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, -965, -234, -156, 163 + -909, -909, -5, -909, -909, -909, -909, -909, -909, -909, + -909, -111, -909, -240, -909, -107, -909, -233, -909, -909, + -909, -909, -909, -909, 114, -909, -909, -43, -909, -139, + -210, -909, -909, -909, -909, -909, -909, -909, -909, -319, + -297, -909, 809, -909, -909, -909, -909, -909, -909, 627, + -909, 560, -62, 40, 397, -909, -101, 11, -909, -909, + -909, -909, -909, -909, -909, -305, -909, 324, -909, 212, + -102, 282, -373, 250, 487, 491, 494, 244, 249, -909, + -909, -909, -401, -909, -909, 238, 429, -36, -909, -909, + -909, 884, -909, -909, -909, -909, -909, -909, -909, -909, + -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, + -909, -909, -909, -909, -909, -909, 786, 138, -909, -909, + -909, -909, -909, -909, -909, -235, -554, -909, -909, -909, + -909, -909, 406, -909, -909, -909, -909, -909, -909, 885, + -909, -909, 889, -909, 793, -909, -909, -909, -909, -909, + -909, -909, -909, -232, 834, -909, -909, -266, 377, -909, + -909, -909, -909, -909, -909, -909, -909, 729, -909, -909, + -74, -909, -909, -909, -909, -33, -909, -909, -909, -909, + -909, 65, -909, -909, -909, -909, -488, -156, 58, -909, + -592, -909, -909, -259, -909, -909, -265, -909, -909, -909, + -909, -254, -909, -909, -909, -410, -909, -909, -909, -909, + -909, -909, -909, -586, -191, -909, -909, -909, -909, -909, + -909, -909, -909, -909, -909, -909, -909, 246, -909, 380, + 61, -909, -909, 310, -909, 185, -275, 572, 453, -909, + 394, -909, -909, -909, -909, -909, -909, -93, -909, -909, + -909, -908, 35, -909, -909, -313, -909, 672, -909, -909, + -909, -909, -909, -909, -909, -909, -909, -909, -909, -909, + -909, -909, -909, -909, -909, -563, -633, -909, 21, -909, + -909, -909, 600, -909, -909, -909, -909, -909, -909, -909, + -909, -909, -909, -909, -909, -909, -909, -221, -141, 165 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 59, 2, 4, 60, 61, 956, 811, 955, - 810, 944, 1031, 1032, 1093, 941, 1027, 1028, 1090, 62, - 303, 544, 743, 744, 745, 998, 994, 902, 997, 1073, - 1138, 1184, 1185, 1186, 1187, 1188, 1220, 1226, 1234, 514, - 835, 63, 245, 64, 471, 65, 473, 66, 67, 467, - 104, 105, 187, 675, 853, 854, 855, 860, 243, 465, - 464, 466, 161, 597, 662, 663, 664, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 627, 173, - 628, 174, 629, 1024, 293, 546, 468, 507, 879, 877, - 508, 516, 988, 298, 501, 309, 543, 895, 189, 236, - 200, 640, 223, 656, 644, 645, 447, 254, 109, 550, - 259, 548, 1075, 290, 251, 681, 221, 653, 432, 219, - 650, 429, 832, 484, 553, 751, 69, 480, 685, 481, - 482, 679, 678, 680, 677, 866, 483, 70, 444, 445, - 71, 230, 72, 258, 868, 1132, 493, 494, 73, 228, - 1066, 314, 315, 74, 965, 274, 275, 522, 717, 892, - 75, 706, 509, 76, 707, 332, 77, 333, 267, 78, - 79, 80, 81, 82, 83, 425, 830, 229, 657, 836, - 837, 838, 839, 1053, 440, 977, 978, 1052, 976, 1114, - 1110, 1111, 1165, 1120, 1121, 1171, 1172, 1173, 1105, 1106, - 1159, 1160, 1161, 1197, 1198, 827, 952, 950, 949, 948, - 953, 1034, 1035, 1036, 1157, 817, 1033, 1097, 84, 237, - 85, 86, 529, 87, 658, 461, 462, 668, 669, 88, - 89, 295, 723, 296, 291, 283, 407, 639, 459, 460, - 749, 1000, 1141, 913, 1002, 1003, 911, 90, 873, 1063, - 500, 280, 712, 313, 840, 841, 689, 91, 398, 92, - 300, 725, 1071, 1211, 93, 94, 115, 556, 1007, 95, - 113, 555, 1006, 632, 633, 96, 729, 97, 117, 323, - 324, 325, 566, 1011, 1217, 1227, 1233, 1237, 1240, 1245, - 1086, 326, 757, 1084, 921, 1180, 762, 563 + -1, 1, 60, 2, 4, 61, 62, 975, 828, 974, + 827, 963, 1045, 1046, 1103, 960, 1040, 1041, 1102, 63, + 308, 553, 754, 755, 756, 1012, 1008, 917, 1011, 1083, + 1145, 1191, 1192, 1193, 1194, 1195, 1227, 1233, 1241, 523, + 852, 64, 250, 65, 480, 66, 482, 67, 68, 476, + 109, 110, 111, 193, 686, 868, 869, 870, 875, 248, + 474, 473, 475, 167, 613, 311, 312, 313, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 643, + 179, 644, 180, 645, 1038, 298, 555, 477, 516, 894, + 892, 517, 525, 1002, 303, 510, 320, 552, 910, 195, + 241, 206, 656, 229, 672, 660, 661, 259, 115, 566, + 264, 564, 1085, 295, 256, 692, 104, 560, 227, 669, + 443, 225, 666, 440, 849, 493, 569, 768, 70, 489, + 696, 490, 491, 690, 689, 691, 688, 881, 492, 71, + 455, 456, 72, 236, 73, 263, 883, 1139, 502, 503, + 74, 234, 1076, 325, 326, 75, 561, 279, 280, 531, + 728, 907, 76, 717, 518, 77, 718, 343, 78, 344, + 272, 79, 80, 81, 82, 83, 84, 436, 847, 235, + 673, 853, 854, 855, 856, 1067, 451, 991, 992, 1066, + 990, 1124, 1120, 1121, 1172, 1130, 1131, 1178, 1179, 1180, + 1115, 1116, 1166, 1167, 1168, 1204, 1205, 844, 971, 969, + 968, 967, 972, 1048, 1049, 1050, 1164, 834, 1047, 1107, + 85, 242, 86, 87, 538, 88, 674, 470, 471, 679, + 680, 89, 90, 300, 734, 301, 296, 288, 418, 655, + 468, 469, 766, 1014, 1148, 932, 1016, 1017, 930, 91, + 888, 1073, 509, 285, 723, 324, 857, 858, 700, 92, + 409, 93, 305, 736, 1081, 1218, 94, 95, 121, 572, + 1021, 96, 119, 571, 1020, 648, 649, 97, 740, 98, + 123, 334, 335, 336, 582, 1025, 1224, 1234, 1240, 1244, + 1247, 1252, 1096, 337, 774, 1094, 940, 1187, 779, 579 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1491,1369 +1497,1394 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 98, 216, 565, 101, 792, 630, 262, 263, 269, 271, - 518, 746, 520, 809, 690, 545, 554, 617, 618, 619, - 620, 621, 188, 1100, 536, 752, 194, 195, 197, 199, - 201, 541, 205, 206, 345, 207, 487, 497, 489, 538, - 1080, 1081, 770, 238, 227, 1078, 581, 909, 391, 939, - 1115, 942, 116, 276, 224, 264, 312, 239, 242, 708, - 368, 369, 370, 592, 870, 252, 962, 256, 1060, 759, - 1177, 1194, 281, 1055, 637, 846, 847, 99, 279, 282, - 202, 282, 282, 289, 393, 203, -644, 815, 848, 265, - 321, 512, 393, 1229, 302, 709, 268, 304, 849, 306, - 1195, 307, 760, 498, 1178, 1242, 334, 316, 3, 318, - 410, 710, 593, 594, 1101, 343, 567, -402, 260, 225, - 1061, 270, 1056, 385, 376, 377, 1102, 809, 1103, 816, - 265, 321, -268, 176, 178, 58, 1107, 871, 240, 196, - 182, 393, 184, 186, 231, 247, 1108, 249, 272, 963, - 1230, 1101, 297, 1064, 424, 265, 588, 590, 58, -2, - 1109, 305, 850, 1102, 234, 1103, 1065, 261, 392, 58, - 1104, 395, 396, 397, 58, 1001, 631, 401, 1116, 402, - 393, 277, 404, 513, 241, -460, 851, 582, 412, 496, - 1117, 413, 1118, 414, 278, 226, -442, 416, 58, 192, - 393, -644, 411, 393, 595, 322, 1196, 1104, 204, 765, - -271, 393, 426, 542, 1057, 393, 58, 433, 100, 435, - 393, 915, 58, 771, 772, 1216, 441, 583, 443, 940, - 386, 943, 58, 463, 1119, 266, 393, -442, 58, 852, - 233, 806, 470, 58, 472, 58, 322, 58, 58, 58, - 488, 58, 750, 58, 1243, 499, 175, 714, 768, 511, - 721, 722, -442, 517, 1108, 519, 191, 521, 193, 524, - 688, 525, 526, 527, 177, 179, 528, 106, 1109, 613, - 614, 183, 530, 185, 58, 232, 248, 533, 250, 273, - 289, -278, 537, -261, 539, -456, 763, 589, 591, -278, - -278, 393, 730, 731, 732, 491, 1122, 1123, 1124, 682, - -278, 102, 393, 393, 393, 107, 778, 779, -278, -278, - 793, 393, 485, 234, 696, 217, 698, 780, 781, 393, - 683, 474, 799, 393, 733, 393, 766, 475, 476, 477, - 393, 393, 700, 378, 379, 734, 735, 736, 737, 738, - 739, -367, 1016, 1017, -367, 478, 479, -367, -367, -367, - 218, 961, 1163, 393, 393, 220, 393, 1167, 393, 393, - 393, 393, 803, 969, 970, -367, -367, 1175, 380, 381, - 857, 858, 393, 382, 409, -278, -278, -278, 740, 373, - 374, 375, 608, 697, 492, 699, 609, 1182, 244, 103, - 636, 638, 327, -278, -278, -313, 54, 702, 1020, 1021, - 703, 701, 641, 642, 486, 393, 901, 767, 108, -387, - 235, 903, 904, 331, 652, 1183, 1204, 655, 769, 782, - 794, 695, 741, 742, 253, 1037, 58, 795, 859, 1040, - 937, 661, 897, 898, 899, 796, 310, 180, 908, 797, - 181, 798, 846, 847, 905, 422, 1012, 1013, 423, 670, - 671, 672, 704, 809, 809, 848, 216, 1091, 1092, 1082, - 1083, 378, 379, 284, 208, 849, 684, 209, 210, 1014, - 1018, 393, 1019, 987, 1022, 1023, 1147, 1148, 383, 384, - 211, 417, 693, 694, 1094, 1095, 209, 210, 448, 212, - 213, 615, 616, 418, 515, 711, 449, 450, 531, 211, - 532, 1116, 308, 715, 58, 716, 312, 523, 320, 213, - 335, 448, 372, 1117, 336, 1118, 289, 289, 58, 449, - 450, 535, 58, 724, 419, 631, 726, 337, 728, 850, - 451, 995, 420, 58, 996, 474, 1162, 338, 452, 453, - 551, 475, 476, 477, 58, 214, 339, 1166, 755, 515, - 983, 340, 761, 851, 44, 45, 46, 1119, 58, 478, - 479, 1174, 610, 611, 612, 571, 341, 573, 574, 575, - 576, 387, 577, 44, 45, 46, 622, 623, 215, 585, - 586, 587, 454, 455, 456, 285, 286, 598, 599, 600, - 601, 602, 603, 604, 327, 342, 344, 215, 346, 347, - 348, 865, 349, 390, 350, 454, 455, 456, 328, 329, - 330, 388, 351, 352, 294, 331, 353, 808, 354, 355, - 356, 301, 812, 457, 458, 813, 1089, 886, 814, 818, - 819, 1236, 890, 357, 820, 821, 358, 359, 317, 1058, - 319, 834, 1199, 1200, 1044, 1045, 360, 1202, 1046, 389, - 1047, 361, 362, 1205, 1206, 1207, 651, 822, 363, 654, - 364, 365, 366, 367, 1044, 1045, 399, 400, 1067, 914, - 1047, 916, 1048, 403, 408, 421, 427, 872, 428, 430, - 431, 875, 876, 437, 878, 371, 880, 436, 438, 883, - 439, 442, 1048, 887, 888, 889, -390, 490, 273, 891, - 1049, 103, 823, 824, 825, 549, 569, 557, 558, 552, - 559, 570, 607, 634, 406, 631, 826, 1050, 1051, 1070, - 1049, 635, 646, 647, 648, 415, 560, 649, 906, 659, - 660, 674, 910, 687, 705, 713, 393, 1050, 1051, 727, - 561, 753, 756, 1137, 923, 924, 754, 562, 434, 758, - 764, 773, 774, 802, 775, 776, 1145, 777, 783, 784, - 785, 1149, 786, 787, 1152, 788, 789, 807, 790, 828, - 791, 800, 801, 829, 831, 843, 856, 844, 845, 869, - 881, 882, 265, 894, 900, 1169, 912, 920, 922, 928, - 934, 929, 951, 958, 938, 959, 971, 982, 968, 986, - 992, 999, 947, 1001, 1009, 1015, 1026, 1030, 1072, 1085, - 1144, 1096, 954, 294, 1146, 294, 1098, 1192, 534, 1129, - 1183, 1136, 1190, 1193, 1218, 540, 1219, 1223, 964, 1224, - 1225, 1232, 1235, 1238, 1241, 1042, 1154, 1041, 1151, 907, - 993, 1010, 1074, 1139, 469, 1059, 676, 246, 547, 972, - 966, 624, 975, 1212, 1215, 979, 980, 625, 804, 499, - 805, 626, 68, 572, 686, 110, 984, 985, 111, 311, - 1176, 578, 579, 580, 255, 584, 957, 719, 1125, 1203, - 728, 394, 596, 1208, 1221, 1222, 1201, 960, 1156, 893, - 720, 605, 606, 842, 666, 981, 718, 1079, 495, 991, - 1191, 967, 1133, 1069, 1008, 861, 862, 863, 864, 919, - 0, 0, 0, 0, 568, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1025, 0, 0, 1029, 0, 0, - 0, 0, 0, 885, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 643, 0, 0, 1054, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1062, 0, - 0, 0, 0, 515, 0, 0, 0, 0, 515, 515, - 0, 0, 665, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 406, 0, 667, 0, 1062, - 1062, 0, 925, 926, 0, 1140, 927, 0, 0, 0, - 0, 930, 0, 0, 0, 0, 0, 931, 0, 932, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, - 0, 935, 0, 0, 0, 0, 0, 936, 0, 0, - 0, 0, 0, 0, 975, 975, 975, 0, 0, 0, - 1126, 1127, 1128, 945, 946, 1130, 1131, 0, 0, 0, - 0, 0, 0, 761, 667, 1135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1142, 1143, 0, - 0, 0, 0, 0, 748, 0, 1150, 0, 0, 1153, - 0, 0, 0, 0, 0, 1158, 0, 0, 0, 0, - 975, 0, 1164, 0, 974, 975, 0, 1168, 0, 0, - 1170, 0, 0, 0, 0, 975, 0, 515, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1179, - 0, 0, 665, 0, 0, 0, 0, 0, 0, 1179, + 99, 763, 247, 646, 105, 556, 274, 276, 527, 222, + 529, 554, 570, 581, 701, 826, 769, 1110, 633, 634, + 635, 636, 637, 194, 496, 545, 498, 200, 201, 203, + 205, 207, 1125, 211, 212, 356, 213, 547, 787, 550, + 122, 267, 268, 958, 597, 928, 961, 233, 1201, 243, + 269, 112, 106, 281, 230, 719, 506, 106, 1117, 246, + 557, 379, 380, 381, 244, 776, 257, 608, 261, 759, + 1184, 1070, 286, 100, 885, -648, 653, 1088, 1202, 284, + 287, 208, 287, 287, 294, 270, 209, 404, 323, 404, + 113, 1249, 720, 1236, 402, 307, 707, 309, 709, 777, + 273, 275, 315, 106, 317, 1185, 182, 318, 721, 500, + 1090, 1091, 106, 327, 1118, 329, 184, 609, 610, 760, + 231, -406, 265, 507, 1071, 832, -371, 202, 1119, -371, + 826, 188, -371, -371, -371, 270, 270, 190, 237, 3, + 1074, 252, 254, 338, 558, 245, 1111, 277, 886, 107, + -371, -371, 302, 1075, 435, -2, 404, 59, 1112, 404, + 1113, 1126, 604, 606, 342, 345, 708, 833, 710, 59, + 1237, 266, 59, 1127, 354, 1128, 404, 406, 407, 408, + -315, 55, 282, 412, 1203, 413, 108, 1118, 415, -464, + -648, 108, -446, 114, 423, 283, 232, 424, 501, 425, + 404, 1119, 1114, 427, 782, 795, 796, 1015, 647, 611, + 210, 761, 404, 934, 403, 101, 404, 1129, 437, -273, + 788, 789, 551, 444, 959, 446, 598, 962, 505, 59, + 239, 271, 452, 59, 454, 59, 59, 108, 472, 332, + 59, 1250, -446, -446, 823, 59, 108, 479, 183, 481, + 59, 59, 59, 767, 59, 497, 59, 181, 185, 725, + 508, 404, 699, 404, 520, 732, 733, 197, 526, 199, + 528, 59, 530, 189, 533, 780, 534, 535, 536, 191, + 238, 537, -280, 253, 255, 629, 630, 539, 1223, 278, + -280, -280, 542, 785, -263, 294, -460, 546, 599, 548, + 404, -280, 861, 862, 605, 607, 559, 583, 809, -280, + -280, 741, 742, 743, 240, 863, 797, 798, 404, 223, + 404, 693, 332, 404, 404, 864, 820, 711, 1030, 1031, + 872, 873, 404, 810, 420, 404, 404, 404, 404, 404, + -270, 192, 694, 483, 744, 404, 404, 404, 404, 484, + 485, 486, 249, 1189, 333, 745, 746, 747, 748, 749, + 750, 404, 404, 404, 404, 391, 392, 487, 488, 980, + 393, 224, 240, 421, 396, 59, -280, -280, -280, 624, + 816, 1190, 1051, 625, 186, 198, 1054, 187, 874, 865, + 59, 494, 457, 316, -280, -280, 321, 712, 751, 521, + 458, 459, 433, 214, 226, 434, 215, 216, 389, 390, + -391, 652, 654, 866, 258, 59, 783, 59, 532, 217, + 544, 387, 388, 657, 658, 389, 390, 916, 218, 219, + 983, 984, 918, 919, 784, 668, 786, 333, 671, 799, + 811, 319, 752, 753, 912, 913, 914, 956, 59, 323, + 927, 812, 813, 814, 815, 1026, 920, 1092, 1093, 826, + 826, 1027, 1028, 1032, 1033, 422, 867, 346, 681, 682, + 683, 1132, 1133, 1134, 706, 394, 395, 1036, 1037, 1154, + 1155, 397, 222, 495, 220, 695, 463, 464, 465, 713, + 289, 522, 714, 45, 46, 47, 384, 385, 386, 1058, + 1059, 704, 705, 1060, 331, 1061, 1058, 1059, 59, 524, + 1077, 647, 1061, 428, 722, 1009, 347, 221, 1010, 299, + 1034, 1035, 726, 1170, 727, 429, 306, 1062, 1174, 348, + 215, 216, 457, 314, 1062, 294, 294, 404, 1182, 1001, + 458, 459, 735, 217, 715, 737, 59, 739, 328, 1169, + 330, 460, 758, 219, 59, 1063, 430, 1173, 349, 461, + 462, 567, 1063, 350, 431, 59, 573, 574, 1181, 575, + 524, 351, 1064, 1065, 772, 997, 1100, 1101, 778, 1064, + 1065, 861, 862, 352, 1211, 576, 587, 353, 589, 590, + 591, 592, 355, 593, 863, 382, 626, 627, 628, 577, + 601, 602, 603, 540, 864, 541, 578, 357, 614, 615, + 616, 617, 618, 619, 620, 483, 358, 45, 46, 47, + 1111, 484, 485, 486, 417, 359, 463, 464, 465, 1104, + 1105, 360, 1112, 361, 1113, 426, 362, 1099, 363, 487, + 488, 221, 364, 825, 466, 467, 638, 639, 829, 365, + 905, 830, 1126, 366, 831, 383, 880, 367, 445, 290, + 291, 398, 368, 1068, 1127, 399, 1128, 851, 865, 338, + 369, 631, 632, 835, 836, 370, 1114, 667, 837, 838, + 670, 371, 901, 339, 340, 341, 372, 373, 374, 375, + 342, 376, 866, 400, 377, 378, 401, 410, 887, 411, + 414, 839, 890, 891, 419, 893, 432, 895, 1129, 438, + 898, 439, 441, 442, 902, 903, 904, 447, 448, 449, + 906, 450, 299, -394, 299, 453, 499, 543, 278, 562, + 933, 565, 935, 568, 549, 585, 1080, 586, 623, 314, + 647, 650, 651, 662, 663, 664, 840, 841, 842, 921, + 665, 675, 559, 676, 924, 925, 926, 1206, 1207, 929, + 843, 685, 1209, 1144, 698, 716, 724, 738, 1212, 1213, + 1214, 942, 943, 404, 757, 773, 1152, 770, 588, 771, + 775, 781, 819, 1158, 1159, 790, 594, 595, 596, 791, + 600, 792, 793, 824, 794, 800, 801, 612, 808, 802, + 803, 804, 805, 806, 807, 1176, 621, 622, 817, 818, + 845, 846, 848, 860, 871, 884, 896, 897, 270, 915, + 909, 931, 939, 941, 947, 948, 953, 970, 957, 966, + 977, 982, 978, 985, 1199, 1000, 1006, 1013, 1015, 973, + 1029, 1023, 1082, 1044, 1095, 1106, 1108, 1136, 1151, 1143, + 1153, 1190, 1197, 1200, 1225, 1226, 996, 1230, 1231, 659, + 1232, 1242, 1248, 1239, 1056, 1161, 1245, 1055, 1157, 922, + 1219, 1222, 1007, 1084, 1146, 251, 563, 989, 478, 687, + 993, 994, 986, 1069, 508, 640, 762, 821, 69, 310, + 641, 998, 999, 822, 642, 923, 697, 1042, 417, 116, + 678, 1228, 1229, 117, 1024, 739, 260, 1183, 322, 730, + 405, 1135, 976, 979, 1210, 1208, 1215, 1163, 731, 908, + 859, 981, 677, 1089, 995, 729, 876, 877, 878, 879, + 1198, 1005, 702, 1022, 584, 504, 1243, 1140, 938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1231, 0, 0, - 0, 0, 0, 0, 975, 0, 0, 1239, 0, 0, - 0, 0, 1209, 1210, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1062, 0, 0, 0, 833, 0, - 1039, 0, 0, 0, 0, 0, 1043, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, - 0, 0, 0, 0, 867, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1244, 1246, 1247, 0, + 0, 0, 0, 1039, 900, 0, 1043, 0, 0, 0, + 0, 1079, 0, 0, 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1087, 0, 0, 294, 1088, + 0, 0, 1072, 0, 524, 0, 0, 0, 0, 524, + 524, 314, 0, 0, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1099, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 917, 918, + 0, 0, 0, 1072, 1072, 0, 0, 0, 0, 944, + 945, 0, 0, 946, 0, 0, 0, 0, 949, 0, + 0, 0, 0, 0, 950, 0, 951, 0, 0, 1042, + 0, 0, 314, 0, 0, 0, 0, 0, 954, 1147, + 0, 0, 0, 0, 955, 0, 0, 0, 989, 989, + 989, 0, 0, 0, 0, 1137, 1138, 0, 0, 0, + 964, 965, 0, 778, 0, 1142, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1149, 1150, 0, + 0, 0, 0, 0, 0, 1156, 0, 0, 850, 1160, + 0, 0, 0, 0, 0, 1165, 0, 0, 0, 0, + 989, 0, 1171, 0, 0, 989, 0, 1175, 0, 988, + 1177, 0, 0, 0, 0, 989, 0, 0, 0, 882, + 0, 0, 524, 0, 0, 0, 1186, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, + 0, 989, 0, 0, 0, 0, 0, 0, 0, 1216, + 1217, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1072, 0, 0, 0, 0, 0, 0, 1238, 936, + 937, 0, 0, 0, 0, 0, 0, 0, 1246, 1053, + 0, 0, 0, 0, 0, 1057, 0, 0, 0, 0, + 524, 0, 0, 0, 0, 0, 1235, 0, 0, 0, + 0, 0, 0, 0, 0, 292, 0, 952, 0, 0, + 0, -337, -337, 1251, 1253, 1254, 0, 0, 0, -337, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -337, + -337, 0, 0, -337, -337, 0, 0, -337, -337, 1097, + 0, -337, 0, 1098, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1109, 678, + -337, -337, 0, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 515, 0, 0, 933, 0, 515, 0, - 0, 515, 0, 0, 1155, 0, 0, 0, 0, 0, - 0, 287, 0, 0, 0, 0, 0, -335, -335, 0, - 0, 0, 515, 0, -335, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -335, -335, 0, 0, -335, -335, - 0, 0, -335, -335, 0, 0, -335, 0, 0, 665, - 667, 0, 0, 0, 515, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -335, -335, 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 524, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 524, 0, 0, 1003, 0, 1004, -337, + 524, 524, 0, 0, 1162, 0, 0, 0, -337, 0, + -337, -337, -337, -337, -337, -337, -337, 0, 0, -337, + 0, 0, 524, -337, 0, 0, 0, -337, 0, 0, + 0, 0, 0, 0, 0, 0, -337, -337, -337, -337, + 0, 0, 0, 0, 0, 0, -337, 0, -337, -337, + -337, 524, -337, -337, -337, -337, -337, 102, 1052, 0, + 0, 0, 0, -356, -356, 0, 0, -337, 0, 0, + 0, -356, -337, -337, 0, 59, -337, 0, 293, 0, + 0, -356, -356, 0, 0, -356, -356, 524, 524, -356, + -356, 0, 0, -356, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1086, 1087, 0, 0, 0, 0, 0, + 0, 0, -356, -356, 0, 0, -356, 0, 524, 524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 515, 515, 0, 0, 0, 0, 0, 989, 0, 990, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -335, 0, 0, 0, 0, 0, - 0, 515, 515, -335, 0, -335, -335, -335, -335, -335, - -335, -335, 0, 0, -335, 0, 0, 0, -335, 0, - 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, - 0, -335, -335, -335, -335, 1038, 0, 0, 0, 0, - 0, -335, 0, -335, -335, -335, 0, -335, -335, -335, - -335, -335, 446, 0, 0, 0, 0, 0, -303, -303, - 0, 0, -335, 0, 0, -303, 0, -335, -335, 0, - 58, -335, 0, 288, 0, -303, -303, 0, 0, -303, - -303, 0, 0, -303, -303, 1076, 1077, -303, 0, 0, + 0, -356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -303, -303, 0, 0, - -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 257, 0, 0, 0, 0, 0, -394, -394, - 0, 0, 0, 0, 0, -394, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -394, -394, 0, 0, -394, - -394, 0, 0, -394, -394, -303, 0, -394, 0, 0, - 0, 0, -394, 0, -303, 0, -303, -303, -303, -303, - -303, -303, -303, 0, 0, -303, -394, -394, 0, -303, - -394, 0, 0, -303, 0, 0, 0, 0, 0, 0, - 0, 0, -303, -303, -303, -303, 0, 0, 0, 0, - 0, 0, -303, 0, -303, -303, -303, 0, -303, -303, - -303, -303, -303, 0, 0, 0, 0, 0, 0, 0, - 0, 1181, 0, -303, 0, -394, 0, 0, -303, -303, - 0, 0, -303, -303, -394, 0, -394, -394, -394, -394, - -394, -394, -394, 0, 0, -394, 0, 0, 0, -394, - 0, -394, 0, -394, 0, 0, 0, 0, 0, 0, - 198, 0, -394, -394, -394, -394, -281, -281, 0, 0, - 0, 0, -394, -281, -394, -394, -394, 0, -394, -394, - -394, -394, -394, -281, -281, 0, 0, -281, -281, 0, - 0, -281, -281, -394, 0, -281, 0, 0, -394, -394, - 0, 0, -394, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -281, -281, 0, 0, -281, 665, + 0, -356, 0, 0, 0, 0, 0, 0, 0, 0, + -356, 0, -356, -356, -356, -356, -356, -356, -356, 0, + 0, -356, 0, 0, 0, -356, 0, 0, 0, -356, + 0, 0, 0, 0, 0, 0, 0, 0, -356, -356, + -356, -356, 0, 0, 0, 0, 0, 0, -356, 0, + -356, -356, -356, 0, -356, -356, -356, -356, -356, 262, + 0, 0, 0, 0, 0, -398, -398, 0, 0, -356, + 0, 0, 1188, -398, -356, -356, 0, -356, 103, 0, + 0, 0, 0, -398, -398, 0, 0, -398, -398, 0, + 0, -398, -398, 0, 0, -398, 0, 0, 0, 0, + -398, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -398, -398, 0, 0, -398, 0, + 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, + 0, 0, -283, -283, 0, 0, 0, 0, 0, 0, + -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -283, -283, 0, 0, -283, -283, 0, 0, -283, -283, + 0, 0, -283, -398, 0, 0, 0, 0, 0, 0, + 314, 0, -398, 0, -398, -398, -398, -398, -398, -398, + -398, -283, -283, -398, 0, -283, 0, -398, 0, -398, + 0, -398, 0, 0, 0, 0, 0, 0, 0, 0, + -398, -398, -398, -398, 0, 0, 0, 0, 0, 0, + -398, 0, -398, -398, -398, 0, -398, -398, -398, -398, + -398, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -283, -398, 0, 0, 0, 0, -398, -398, 0, -283, + -398, -283, -283, -283, -283, -283, -283, -283, 0, 0, + -283, 0, 0, 0, -283, 0, 0, 0, -283, 0, + 0, 0, 0, 0, 0, 0, 0, -283, -283, -283, + -283, 0, 0, 0, 0, 0, 0, -283, 0, -283, + -283, -283, 0, -283, -283, -283, -283, -283, 1122, 0, + 0, 0, 0, 0, -491, -491, 0, 0, -283, 0, + 0, 0, -491, -283, -283, 1123, 59, -283, 0, 0, + 0, 0, -491, -491, 0, 0, -491, -491, 0, 0, + -491, -491, 0, 0, -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1112, 0, 0, 0, 0, 0, -487, -487, 0, 0, - 0, 0, 0, -487, 0, 0, 1113, 0, 0, 0, - 0, 0, 0, -487, -487, 0, 0, -487, -487, 0, - 0, -487, -487, -281, 0, -487, 0, 0, 0, 0, - 0, 0, -281, 0, -281, -281, -281, -281, -281, -281, - -281, 0, 0, -281, -487, -487, 0, -281, -487, 0, - 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, - -281, -281, -281, -281, 0, 0, 0, 0, 0, 0, - -281, 0, -281, -281, -281, 0, -281, -281, -281, -281, - -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -281, 0, -487, 0, 0, -281, -281, 0, 58, - -281, 0, -487, 0, -487, -487, -487, -487, -487, -487, - -487, 0, 0, -487, 0, 0, 0, -487, 0, 0, - 0, -487, 0, 0, 0, 0, 0, 0, 112, 0, - -487, -487, -487, -487, -634, -634, 0, 0, 0, 0, - -487, -634, -487, -487, -487, 0, -487, -487, -487, -487, - -487, -634, -634, 0, 0, -634, -634, 0, 0, -634, - -634, -487, 0, -634, 0, 0, -487, -487, 0, 0, - -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -634, -634, 0, 0, -634, 0, 0, 0, - 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, - 0, -629, -629, 0, 0, 0, 0, 0, -629, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -629, -629, - 0, 0, -629, -629, 0, 0, -629, -629, 0, 0, - -629, -634, 0, 0, 0, 0, 0, 0, 0, 0, - -634, 0, -634, -634, -634, -634, -634, -634, -634, -629, - -629, -634, 0, -629, 0, -634, 0, 0, 0, -634, - 0, 0, 0, 0, 0, 0, 0, 0, -634, -634, - -634, -634, 0, 0, 0, 0, 0, 0, -634, 0, - -634, -634, -634, 0, -634, -634, -634, -634, -634, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -629, -634, - 0, 0, 0, 0, -634, -634, 0, -629, -634, -629, - -629, -629, -629, -629, -629, -629, 0, 0, -629, 0, - 0, 0, -629, 0, 0, 0, -629, 0, 0, 0, - 0, 0, 0, 118, 0, -629, -629, -629, -629, 119, - 120, 0, 0, 0, 0, -629, 121, -629, -629, -629, - 0, -629, -629, -629, -629, -629, 122, 123, 0, 0, - 124, 125, 0, 0, 126, 127, -629, 0, 128, 0, - 0, -629, -629, 0, 0, -629, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, - 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 190, 0, 0, 0, 0, 0, 119, 120, 0, 0, - 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, - 0, 126, 127, 0, 0, 128, 132, 0, 0, 0, - 0, 0, 0, 0, 0, 133, 0, 134, 135, 136, - 137, 138, 139, 140, 129, 130, 141, 0, 131, 0, - 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, - 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, - 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 157, 0, 0, 0, 0, 158, - 159, 0, 133, 160, 134, 135, 136, 137, 138, 139, - 140, 0, 0, 141, 0, 0, 0, 142, 0, 0, - 0, 143, 0, 0, 0, 0, 0, 0, 222, 0, - 144, 145, 146, 147, -285, -285, 0, 0, 0, 0, - 148, -285, 149, 150, 151, 0, 152, 153, 154, 155, - 156, -285, -285, 0, 0, -285, -285, 0, 0, -285, - -285, 157, 0, -285, 0, 0, 158, 159, 0, 0, - 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -285, -285, 0, 0, -285, 0, 0, 0, - 0, 0, 0, 0, 0, 292, 0, 0, 0, 0, - 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, - 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, - 128, -285, 0, 0, 0, 0, 0, 0, 0, 0, - -285, 0, -285, -285, -285, -285, -285, -285, -285, 129, - 130, -285, 0, 131, 0, -285, 0, 0, 0, -285, - 0, 0, 0, 0, 0, 0, 0, 0, -285, -285, - -285, -285, 0, 0, 0, 0, 0, 0, -285, 0, - -285, -285, -285, 0, -285, -285, -285, -285, -285, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 132, -285, - 0, 0, 0, 0, -285, -285, 0, 133, -285, 134, - 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, - 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, - 0, 0, 0, 299, 0, 144, 145, 146, 147, -621, - -621, 0, 0, 0, 0, 148, -621, 149, 150, 151, - 0, 152, 153, 154, 155, 156, -621, -621, 0, 0, - -621, -621, 0, 0, -621, -621, 157, 0, -621, 0, - 0, 158, 159, 0, 0, 160, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -621, -621, 0, - 0, -621, 0, 0, 0, 0, 0, 0, 0, 0, - 405, 0, 0, 0, 0, 0, 119, 120, 0, 0, - 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, - 0, 126, 127, 0, 0, 128, -621, 0, 0, 0, - 0, 0, 0, 0, 0, -621, 0, -621, -621, -621, - -621, -621, -621, -621, 129, 130, -621, 0, 131, 0, - -621, 0, 0, 0, -621, 0, 0, 0, 0, 0, - 0, 0, 0, -621, -621, -621, -621, 0, 0, 0, - 0, 0, 0, -621, 0, -621, -621, -621, 0, -621, - -621, -621, -621, -621, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, -621, 0, 0, 0, 0, -621, - -621, 0, 133, -621, 134, 135, 136, 137, 138, 139, - 140, 0, 0, 141, 0, 0, 0, 142, 0, 0, - 0, 143, 0, 0, 0, 0, 0, 0, 564, 0, - 144, 145, 146, 147, 119, 120, 0, 0, 0, 0, - 148, 121, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 122, 123, 0, 0, 124, 125, 0, 0, 126, - 127, 157, 0, 128, 0, 0, 158, 159, 0, 0, - 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, - 0, 0, 0, 0, 0, 747, 0, 0, 0, 0, - 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, - 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, - 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, - 133, 0, 134, 135, 136, 137, 138, 139, 140, 129, - 130, 141, 0, 131, 0, 142, 0, 0, 0, 143, - 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, - 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 132, 157, - 0, 0, 0, 0, 158, 159, 0, 133, 160, 134, - 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, - 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, - 0, 0, 0, 884, 0, 144, 145, 146, 147, 119, - 120, 0, 0, 0, 0, 148, 121, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 122, 123, 0, 0, - 124, 125, 0, 0, 126, 127, 157, 0, 128, 0, - 0, 158, 159, 0, 0, 160, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, - 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -491, -491, 0, 0, -491, 0, 0, + 0, 0, 0, 0, 0, 118, 0, 0, 0, 0, + 0, -638, -638, 0, 0, 0, 0, 0, 0, -638, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -638, + -638, 0, 0, -638, -638, 0, 0, -638, -638, 0, + 0, -638, -491, 0, 0, 0, 0, 0, 0, 0, + 0, -491, 0, -491, -491, -491, -491, -491, -491, -491, + -638, -638, -491, 0, -638, 0, -491, 0, 0, 0, + -491, 0, 0, 0, 0, 0, 0, 0, 0, -491, + -491, -491, -491, 0, 0, 0, 0, 0, 0, -491, + 0, -491, -491, -491, 0, -491, -491, -491, -491, -491, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -638, + -491, 0, 0, 0, 0, -491, -491, 0, -638, -491, + -638, -638, -638, -638, -638, -638, -638, 0, 0, -638, + 0, 0, 0, -638, 0, 0, 0, -638, 0, 0, + 0, 0, 0, 0, 0, 0, -638, -638, -638, -638, + 0, 0, 0, 0, 0, 0, -638, 0, -638, -638, + -638, 0, -638, -638, -638, -638, -638, 120, 0, 0, + 0, 0, 0, -633, -633, 0, 0, -638, 0, 0, + 0, -633, -638, -638, 0, 0, -638, 0, 0, 0, + 0, -633, -633, 0, 0, -633, -633, 0, 0, -633, + -633, 0, 0, -633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -633, -633, 0, 0, -633, 0, 0, 0, + 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, + 125, 126, 0, 0, 0, 0, 0, 0, 127, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, + 0, 0, 130, 131, 0, 0, 132, 133, 0, 0, + 134, -633, 0, 0, 0, 0, 0, 0, 0, 0, + -633, 0, -633, -633, -633, -633, -633, -633, -633, 135, + 136, -633, 0, 137, 0, -633, 0, 0, 0, -633, + 0, 0, 0, 0, 0, 0, 0, 0, -633, -633, + -633, -633, 0, 0, 0, 0, 0, 0, -633, 0, + -633, -633, -633, 0, -633, -633, -633, -633, -633, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 138, -633, + 0, 0, 0, 0, -633, -633, 0, 139, -633, 140, + 141, 142, 143, 144, 145, 146, 0, 0, 147, 0, + 0, 0, 148, 0, 0, 0, 149, 0, 0, 0, + 0, 0, 0, 0, 0, 150, 151, 152, 153, 0, + 0, 0, 0, 0, 0, 154, 0, 155, 156, 157, + 0, 158, 159, 160, 161, 162, 196, 0, 0, 0, + 0, 0, 125, 126, 0, 0, 163, 0, 0, 0, + 127, 164, 165, 0, 0, 166, 0, 0, 0, 0, + 128, 129, 0, 0, 130, 131, 0, 0, 132, 133, + 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 135, 136, 0, 0, 137, 0, 0, 0, 0, + 0, 0, 0, 228, 0, 0, 0, 0, 0, -287, + -287, 0, 0, 0, 0, 0, 0, -287, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -287, -287, 0, + 0, -287, -287, 0, 0, -287, -287, 0, 0, -287, + 138, 0, 0, 0, 0, 0, 0, 0, 0, 139, + 0, 140, 141, 142, 143, 144, 145, 146, -287, -287, + 147, 0, -287, 0, 148, 0, 0, 0, 149, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 151, 152, + 153, 0, 0, 0, 0, 0, 0, 154, 0, 155, + 156, 157, 0, 158, 159, 160, 161, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -287, 163, 0, + 0, 0, 0, 164, 165, 0, -287, 166, -287, -287, + -287, -287, -287, -287, -287, 0, 0, -287, 0, 0, + 0, -287, 0, 0, 0, -287, 0, 0, 0, 0, + 0, 0, 0, 0, -287, -287, -287, -287, 0, 0, + 0, 0, 0, 0, -287, 0, -287, -287, -287, 0, + -287, -287, -287, -287, -287, 297, 0, 0, 0, 0, + 0, 125, 126, 0, 0, -287, 0, 0, 0, 127, + -287, -287, 0, 0, -287, 0, 0, 0, 0, 128, + 129, 0, 0, 130, 131, 0, 0, 132, 133, 0, + 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, - 0, 0, 0, 0, 0, 133, 0, 134, 135, 136, - 137, 138, 139, 140, 0, 0, 141, 0, 0, 0, - 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, - 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, - 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 0, 5, 0, 0, - 0, 0, 502, 0, 157, 7, 8, 0, 0, 158, - 159, 0, 0, 160, 11, 12, -428, 13, 0, 0, - 0, 0, 14, 15, 0, 0, 0, 16, 0, 0, - 503, 504, 0, 18, 19, 20, 505, 22, 23, 24, - 0, 25, 0, 0, 0, 0, 0, 0, 0, 26, - 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, -428, 0, 0, 0, -428, - 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, - 0, 33, 34, 35, 36, 0, 0, 0, 37, 0, - 0, 38, 0, 0, 40, 0, 0, 506, 0, 42, - 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 0, 0, 51, 52, 0, 53, 54, 5, 0, 0, - 0, 0, 502, 0, 55, 7, 8, 0, 56, 0, - 0, 57, 0, 0, 11, 12, -427, 13, 0, 0, - 0, 0, 14, 15, 0, 0, 0, 16, 0, 0, - 503, 504, 0, 18, 19, 20, 505, 22, 23, 24, - 0, 25, 0, 0, 0, 0, 58, 0, 0, 26, - 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, -427, 0, 0, 0, -427, - 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, - 0, 33, 34, 35, 36, 0, 0, 0, 37, 0, - 0, 38, 0, 0, 40, 0, 0, 506, 0, 42, - 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 0, 0, 51, 52, 0, 53, 54, 0, 0, 0, - 0, 0, 0, 0, 55, 0, 0, 0, 56, 0, - 0, 57, 5, 0, 0, 0, 0, 6, 0, 0, - 7, 8, 9, 0, 0, 0, 10, 0, 0, 11, - 12, 0, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 17, 58, 0, 18, 19, - 20, 21, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 39, 0, 40, - 0, 0, 41, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 510, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 673, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 692, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 874, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 973, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1004, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1005, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1068, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, -665, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1134, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1189, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 0, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, -655, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, -657, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 119, 120, 0, 0, 0, - 0, 0, 121, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 122, 123, 0, 0, 124, 125, 0, 55, - 126, 127, 0, 56, 128, 0, 57, 0, 0, 491, + 135, 136, 0, 0, 137, 0, 0, 0, 0, 0, + 0, 0, 304, 0, 0, 0, 0, 0, -625, -625, + 0, 0, 0, 0, 0, 0, -625, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -625, -625, 0, 0, + -625, -625, 0, 0, -625, -625, 0, 0, -625, 138, + 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, + 140, 141, 142, 143, 144, 145, 146, -625, -625, 147, + 0, -625, 0, 148, 0, 0, 0, 149, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 151, 152, 153, + 0, 0, 0, 0, 0, 0, 154, 0, 155, 156, + 157, 0, 158, 159, 160, 161, 162, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -625, 163, 0, 0, + 0, 0, 164, 165, 0, -625, 166, -625, -625, -625, + -625, -625, -625, -625, 0, 0, -625, 0, 0, 0, + -625, 0, 0, 0, -625, 0, 0, 0, 0, 0, + 0, 0, 0, -625, -625, -625, -625, 0, 0, 0, + 0, 0, 0, -625, 0, -625, -625, -625, 0, -625, + -625, -625, -625, -625, 416, 0, 0, 0, 0, 0, + 125, 126, 0, 0, -625, 0, 0, 0, 127, -625, + -625, 0, 0, -625, 0, 0, 0, 0, 128, 129, + 0, 0, 130, 131, 0, 0, 132, 133, 0, 0, + 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, + 136, 0, 0, 137, 0, 0, 0, 0, 0, 0, + 0, 580, 0, 0, 0, 0, 0, 125, 126, 0, + 0, 0, 0, 0, 0, 127, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, 129, 0, 0, 130, + 131, 0, 0, 132, 133, 0, 0, 134, 138, 0, + 0, 0, 0, 0, 0, 0, 0, 139, 0, 140, + 141, 142, 143, 144, 145, 146, 135, 136, 147, 0, + 137, 0, 148, 0, 0, 0, 149, 0, 0, 0, + 0, 0, 0, 0, 0, 150, 151, 152, 153, 0, + 0, 0, 0, 0, 0, 154, 0, 155, 156, 157, + 0, 158, 159, 160, 161, 162, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 138, 163, 0, 0, 0, + 0, 164, 165, 0, 139, 166, 140, 141, 142, 143, + 144, 145, 146, 0, 0, 147, 0, 0, 0, 148, + 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 151, 152, 153, 0, 0, 0, 0, + 0, 0, 154, 0, 155, 156, 157, 0, 158, 159, + 160, 161, 162, 764, 0, 0, 0, 0, 0, 125, + 126, 0, 0, 163, 0, 0, 0, 127, 164, 165, + 0, 0, 166, 0, 0, 0, 0, 128, 129, 0, + 0, 130, 131, 0, 0, 132, 133, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 135, 136, + 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, + 899, 0, 0, 0, 0, 0, 125, 126, 0, 0, + 0, 0, 0, 0, 127, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 128, 129, 0, 0, 130, 131, + 0, 0, 132, 133, 0, 0, 134, 138, 0, 0, + 0, 0, 0, 0, 0, 0, 139, 0, 140, 141, + 142, 143, 144, 145, 146, 135, 136, 147, 0, 137, + 0, 148, 0, 0, 0, 149, 0, 0, 0, 0, + 0, 0, 0, 0, 150, 151, 152, 153, 0, 0, + 0, 0, 0, 0, 154, 0, 155, 156, 157, 0, + 158, 159, 160, 161, 162, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 163, 0, 0, 0, 0, + 164, 165, 0, 139, 166, 140, 141, 142, 143, 144, + 145, 146, 0, 0, 147, 0, 0, 0, 148, 0, + 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, + 0, 150, 151, 152, 153, 0, 0, 0, 0, 0, + 0, 154, 0, 155, 156, 157, 0, 158, 159, 160, + 161, 162, 0, 0, 0, 5, 0, 0, 0, 0, + 511, 0, 163, 7, 8, 9, 0, 164, 165, 0, + 0, 166, 0, 12, 13, -432, 14, 0, 0, 0, + 0, 15, 16, 0, 0, 0, 17, 0, 0, 512, + 513, 0, 19, 20, 21, 514, 23, 24, 25, 0, + 26, 0, 0, 0, 0, 0, 0, 0, 27, 0, + 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 29, 0, -432, 0, 0, 0, -432, 30, + 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, + 34, 35, 36, 37, 0, 0, 0, 38, 0, 0, + 39, 0, 0, 41, 0, 0, 515, 0, 43, 44, + 45, 46, 47, 48, 49, 0, 50, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, + 0, 52, 53, 0, 54, 55, 5, 0, 0, 0, + 0, 511, 0, 56, 7, 8, 9, 57, 0, 0, + 58, 0, 0, 0, 12, 13, -431, 14, 0, 0, + 0, 0, 15, 16, 0, 0, 0, 17, 0, 0, + 512, 513, 0, 19, 20, 21, 514, 23, 24, 25, + 0, 26, 0, 0, 0, 59, 0, 0, 0, 27, + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, -431, 0, 0, 0, -431, + 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, + 0, 34, 35, 36, 37, 0, 0, 0, 38, 0, + 0, 39, 0, 0, 41, 0, 0, 515, 0, 43, + 44, 45, 46, 47, 48, 49, 0, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 0, 0, 52, 53, 0, 54, 55, 0, 0, 0, + 0, 0, 0, 0, 56, 0, 0, 0, 57, 0, + 5, 58, 0, 0, 0, 6, 0, 0, 7, 8, + 9, 10, 0, 0, 0, 11, 0, 0, 12, 13, + 0, 14, 0, 0, 0, 0, 15, 16, 0, 0, + 0, 17, 0, 0, 18, 0, 59, 19, 20, 21, + 22, 23, 24, 25, 0, 26, 0, 0, 0, 0, + 0, 0, 0, 27, 0, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 33, 0, 0, + 0, 0, 0, 0, 0, 34, 35, 36, 37, 0, + 0, 0, 38, 0, 0, 39, 40, 0, 41, 0, + 0, 42, 0, 43, 44, 45, 46, 47, 48, 49, + 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, + 55, 5, 0, 0, 0, 0, 511, 0, 56, 7, + 8, 9, 57, 0, 0, 58, 0, 0, 0, 12, + 13, 519, 14, 0, 0, 0, 0, 15, 16, 0, + 0, 0, 17, 0, 0, 512, 513, 0, 19, 20, + 21, 514, 23, 24, 25, 0, 26, 0, 0, 0, + 59, 0, 0, 0, 27, 0, 28, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, + 0, 0, 0, 0, 0, 30, 31, 32, 33, 0, + 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, + 0, 0, 0, 38, 0, 0, 39, 0, 0, 41, + 0, 0, 515, 0, 43, 44, 45, 46, 47, 48, + 49, 0, 50, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, + 54, 55, 5, 0, 0, 0, 0, 511, 0, 56, + 7, 8, 9, 57, 0, 0, 58, 0, 0, 0, + 12, 13, 684, 14, 0, 0, 0, 0, 15, 16, + 0, 0, 0, 17, 0, 0, 512, 513, 0, 19, + 20, 21, 514, 23, 24, 25, 0, 26, 0, 0, + 0, 59, 0, 0, 0, 27, 0, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, + 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, + 37, 0, 0, 0, 38, 0, 0, 39, 0, 0, + 41, 0, 0, 515, 0, 43, 44, 45, 46, 47, + 48, 49, 0, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, + 0, 54, 55, 5, 0, 0, 0, 0, 511, 0, + 56, 7, 8, 9, 57, 0, 0, 58, 0, 0, + 0, 12, 13, 703, 14, 0, 0, 0, 0, 15, + 16, 0, 0, 0, 17, 0, 0, 512, 513, 0, + 19, 20, 21, 514, 23, 24, 25, 0, 26, 0, + 0, 0, 59, 0, 0, 0, 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 58, 119, 120, 0, 0, 0, 0, 0, 121, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, - 123, 0, 0, 124, 125, 0, 0, 126, 127, 0, - 0, 128, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, - 129, 130, 141, 0, 131, 0, 142, 0, 492, 0, - 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, - 145, 146, 147, 1213, 0, 0, 0, 0, 1214, 148, - 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, - 157, 0, 0, 0, 0, 158, 159, 0, 133, 160, - 134, 135, 136, 137, 138, 139, 140, 0, 0, 141, - 0, 0, 0, 142, 0, 0, 0, 143, 0, 0, - 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, - 119, 120, 0, 0, 0, 0, 148, 121, 149, 150, - 151, 0, 152, 153, 154, 155, 156, 122, 123, 0, - 0, 124, 125, 0, 0, 126, 127, 157, 0, 128, - 0, 0, 158, 159, 0, 0, 160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, - 0, 0, 131, 0, 0, 0, 0, 0, 0, 393, - 0, 0, 0, 0, 0, 0, 0, 119, 120, 0, - 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, - 0, 0, 126, 127, 0, 0, 128, 132, 0, 0, - 0, 0, 0, 0, 0, 0, 133, 0, 134, 135, - 136, 137, 138, 139, 140, 129, 130, 141, 0, 131, - 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, - 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, - 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 132, 157, 0, 0, 0, 0, - 158, 159, 0, 133, 160, 134, 135, 136, 137, 138, - 139, 140, 0, 0, 141, 0, 0, 0, 142, 0, - 0, 0, 143, 896, 0, 0, 0, 0, 0, 0, - 0, 144, 145, 146, 147, 119, 120, 0, 0, 0, - 0, 148, 121, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 122, 123, 0, 0, 124, 125, 0, 0, - 126, 127, 157, 0, 128, 0, 0, 158, 159, 0, - 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, + 29, 0, 0, 0, 0, 0, 0, 30, 31, 32, + 33, 0, 0, 0, 0, 0, 0, 0, 34, 35, + 36, 37, 0, 0, 0, 38, 0, 0, 39, 0, + 0, 41, 0, 0, 515, 0, 43, 44, 45, 46, + 47, 48, 49, 0, 50, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 0, 0, 52, + 53, 0, 54, 55, 5, 0, 0, 0, 0, 511, + 0, 56, 7, 8, 9, 57, 0, 0, 58, 0, + 0, 0, 12, 13, 889, 14, 0, 0, 0, 0, + 15, 16, 0, 0, 0, 17, 0, 0, 512, 513, + 0, 19, 20, 21, 514, 23, 24, 25, 0, 26, + 0, 0, 0, 59, 0, 0, 0, 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 33, 0, 0, 0, 0, 0, 0, 0, 34, + 35, 36, 37, 0, 0, 0, 38, 0, 0, 39, + 0, 0, 41, 0, 0, 515, 0, 43, 44, 45, + 46, 47, 48, 49, 0, 50, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, + 52, 53, 0, 54, 55, 5, 0, 0, 0, 0, + 511, 0, 56, 7, 8, 9, 57, 0, 0, 58, + 0, 0, 0, 12, 13, 987, 14, 0, 0, 0, + 0, 15, 16, 0, 0, 0, 17, 0, 0, 512, + 513, 0, 19, 20, 21, 514, 23, 24, 25, 0, + 26, 0, 0, 0, 59, 0, 0, 0, 27, 0, + 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 0, 0, 0, 0, 30, + 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, + 34, 35, 36, 37, 0, 0, 0, 38, 0, 0, + 39, 0, 0, 41, 0, 0, 515, 0, 43, 44, + 45, 46, 47, 48, 49, 0, 50, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, + 0, 52, 53, 0, 54, 55, 5, 0, 0, 0, + 0, 511, 0, 56, 7, 8, 9, 57, 0, 0, + 58, 0, 0, 0, 12, 13, 1018, 14, 0, 0, + 0, 0, 15, 16, 0, 0, 0, 17, 0, 0, + 512, 513, 0, 19, 20, 21, 514, 23, 24, 25, + 0, 26, 0, 0, 0, 59, 0, 0, 0, 27, + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, + 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, + 0, 34, 35, 36, 37, 0, 0, 0, 38, 0, + 0, 39, 0, 0, 41, 0, 0, 515, 0, 43, + 44, 45, 46, 47, 48, 49, 0, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 0, 0, 52, 53, 0, 54, 55, 5, 0, 0, + 0, 0, 511, 0, 56, 7, 8, 9, 57, 0, + 0, 58, 0, 0, 0, 12, 13, 1019, 14, 0, + 0, 0, 0, 15, 16, 0, 0, 0, 17, 0, + 0, 512, 513, 0, 19, 20, 21, 514, 23, 24, + 25, 0, 26, 0, 0, 0, 59, 0, 0, 0, + 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 33, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 37, 0, 0, 0, 38, + 0, 0, 39, 0, 0, 41, 0, 0, 515, 0, + 43, 44, 45, 46, 47, 48, 49, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 0, 0, 52, 53, 0, 54, 55, 5, 0, + 0, 0, 0, 511, 0, 56, 7, 8, 9, 57, + 0, 0, 58, 0, 0, 0, 12, 13, 1078, 14, + 0, 0, 0, 0, 15, 16, 0, 0, 0, 17, + 0, 0, 512, 513, 0, 19, 20, 21, 514, 23, + 24, 25, 0, 26, 0, 0, 0, 59, 0, 0, + 0, 27, 0, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, + 0, 0, 30, 31, 32, 33, 0, 0, 0, 0, + 0, 0, 0, 34, 35, 36, 37, 0, 0, 0, + 38, 0, 0, 39, 0, 0, 41, 0, 0, 515, + 0, 43, 44, 45, 46, 47, 48, 49, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 0, 0, 52, 53, 0, 54, 55, 5, + 0, 0, 0, 0, 511, 0, 56, 7, 8, 9, + 57, 0, 0, 58, 0, 0, 0, 12, 13, -669, + 14, 0, 0, 0, 0, 15, 16, 0, 0, 0, + 17, 0, 0, 512, 513, 0, 19, 20, 21, 514, + 23, 24, 25, 0, 26, 0, 0, 0, 59, 0, + 0, 0, 27, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, + 0, 0, 0, 30, 31, 32, 33, 0, 0, 0, + 0, 0, 0, 0, 34, 35, 36, 37, 0, 0, + 0, 38, 0, 0, 39, 0, 0, 41, 0, 0, + 515, 0, 43, 44, 45, 46, 47, 48, 49, 0, + 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, + 5, 0, 0, 0, 0, 511, 0, 56, 7, 8, + 9, 57, 0, 0, 58, 0, 0, 0, 12, 13, + 1141, 14, 0, 0, 0, 0, 15, 16, 0, 0, + 0, 17, 0, 0, 512, 513, 0, 19, 20, 21, + 514, 23, 24, 25, 0, 26, 0, 0, 0, 59, + 0, 0, 0, 27, 0, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 33, 0, 0, + 0, 0, 0, 0, 0, 34, 35, 36, 37, 0, + 0, 0, 38, 0, 0, 39, 0, 0, 41, 0, + 0, 515, 0, 43, 44, 45, 46, 47, 48, 49, + 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, + 55, 5, 0, 0, 0, 0, 511, 0, 56, 7, + 8, 9, 57, 0, 0, 58, 0, 0, 0, 12, + 13, 1196, 14, 0, 0, 0, 0, 15, 16, 0, + 0, 0, 17, 0, 0, 512, 513, 0, 19, 20, + 21, 514, 23, 24, 25, 0, 26, 0, 0, 0, + 59, 0, 0, 0, 27, 0, 28, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, + 0, 0, 0, 0, 0, 30, 31, 32, 33, 0, + 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, + 0, 0, 0, 38, 0, 0, 39, 0, 0, 41, + 0, 0, 515, 0, 43, 44, 45, 46, 47, 48, + 49, 0, 50, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, + 54, 55, 5, 0, 0, 0, 0, 511, 0, 56, + 7, 8, 9, 57, 0, 0, 58, 0, 0, 0, + 12, 13, 0, 14, 0, 0, 0, 0, 15, 16, + 0, 0, 0, 17, 0, 0, 512, 513, 0, 19, + 20, 21, 514, 23, 24, 25, 0, 26, 0, 0, + 0, 59, 0, 0, 0, 27, 0, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, + -659, 0, 0, 0, 0, 0, 30, 31, 32, 33, + 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, + 37, 0, 0, 0, 38, 0, 0, 39, 0, 0, + 41, 0, 0, 515, 0, 43, 44, 45, 46, 47, + 48, 49, 0, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, + 0, 54, 55, 5, 0, 0, 0, 0, 511, 0, + 56, 7, 8, 9, 57, 0, 0, 58, 0, 0, + 0, 12, 13, -661, 14, 0, 0, 0, 0, 15, + 16, 0, 0, 0, 17, 0, 0, 512, 513, 0, + 19, 20, 21, 514, 23, 24, 25, 0, 26, 0, + 0, 0, 59, 0, 0, 0, 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, - 0, 0, 141, 0, 0, 0, 142, 0, 0, 0, - 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, - 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, - 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, + 29, 0, 0, 0, 0, 0, 0, 30, 31, 32, + 33, 0, 0, 0, 0, 0, 0, 0, 34, 35, + 36, 37, 0, 0, 0, 38, 0, 0, 39, 0, + 0, 41, 0, 0, 515, 0, 43, 44, 45, 46, + 47, 48, 49, 0, 50, 0, 125, 126, 0, 0, + 0, 0, 0, 0, 127, 0, 51, 0, 0, 52, + 53, 0, 54, 55, 128, 129, 0, 0, 130, 131, + 0, 56, 132, 133, 0, 57, 134, 0, 58, 0, + 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 135, 136, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 157, 0, 0, 0, 0, 158, 159, 0, 0, 160 + 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, + 0, 0, 0, 139, 0, 140, 141, 142, 143, 144, + 145, 146, 0, 0, 147, 0, 0, 0, 148, 0, + 501, 0, 149, 0, 0, 0, 0, 0, 0, 0, + 0, 150, 151, 152, 153, 0, 0, 0, 0, 0, + 0, 154, 0, 155, 156, 157, 0, 158, 159, 160, + 161, 162, 0, 0, 0, 125, 126, 0, 0, 0, + 0, 0, 163, 127, 0, 0, 0, 164, 165, 0, + 0, 166, 0, 128, 129, 0, 0, 130, 131, 0, + 0, 132, 133, 0, 0, 134, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 135, 136, 0, 0, 137, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 125, 126, 0, 0, 0, 1220, 0, 0, + 127, 0, 1221, 0, 0, 0, 0, 0, 0, 0, + 128, 129, 0, 0, 130, 131, 0, 0, 132, 133, + 0, 0, 134, 138, 0, 0, 0, 0, 0, 0, + 0, 0, 139, 0, 140, 141, 142, 143, 144, 145, + 146, 135, 136, 147, 0, 137, 0, 148, 0, 0, + 0, 149, 404, 0, 0, 0, 0, 0, 0, 0, + 150, 151, 152, 153, 0, 0, 0, 0, 0, 0, + 154, 0, 155, 156, 157, 0, 158, 159, 160, 161, + 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 163, 0, 0, 0, 0, 164, 165, 0, 139, + 166, 140, 141, 142, 143, 144, 145, 146, 0, 0, + 147, 0, 0, 0, 148, 0, 0, 0, 149, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 151, 152, + 153, 0, 0, 0, 0, 0, 0, 154, 0, 155, + 156, 157, 0, 158, 159, 160, 161, 162, 0, 0, + 0, 125, 126, 0, 0, 0, 0, 0, 163, 127, + 0, 0, 0, 164, 165, 0, 0, 166, 0, 128, + 129, 0, 0, 130, 131, 0, 0, 132, 133, 0, + 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 135, 136, 0, 0, 137, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 125, 126, + 0, 0, 0, 0, 0, 0, 127, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 128, 129, 0, 0, + 130, 131, 0, 0, 132, 133, 0, 0, 134, 138, + 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, + 140, 141, 142, 143, 144, 145, 146, 135, 136, 147, + 0, 137, 0, 148, 0, 0, 0, 149, 911, 0, + 0, 0, 0, 0, 0, 0, 150, 151, 152, 153, + 0, 0, 0, 0, 0, 0, 154, 0, 155, 156, + 157, 0, 158, 159, 160, 161, 162, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 138, 163, 0, 0, + 0, 0, 164, 165, 0, 139, 166, 140, 141, 142, + 143, 144, 145, 146, 0, 0, 147, 0, 0, 0, + 148, 0, 0, 0, 149, 0, 0, 0, 0, 0, + 0, 0, 0, 150, 151, 152, 153, 0, 0, 0, + 0, 0, 0, 154, 0, 155, 156, 157, 0, 158, + 159, 160, 161, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 163, 0, 0, 0, 0, 164, + 165, 0, 0, 166 }; static const yytype_int16 yycheck[] = { - 5, 41, 321, 8, 597, 393, 76, 77, 79, 80, - 269, 548, 271, 632, 493, 303, 314, 380, 381, 382, - 383, 384, 27, 1, 295, 554, 31, 32, 33, 34, - 35, 1, 37, 38, 131, 40, 254, 1, 256, 298, - 1004, 1005, 1, 1, 1, 53, 1, 53, 64, 1, - 1, 1, 1, 1, 1, 1, 63, 15, 63, 1, - 157, 158, 159, 1, 1, 70, 1, 72, 1, 1, - 1, 7, 1, 1, 1, 18, 19, 1, 83, 84, - 1, 86, 87, 88, 66, 6, 35, 47, 31, 35, - 35, 57, 66, 85, 99, 37, 1, 102, 41, 104, - 36, 106, 34, 67, 35, 1, 119, 112, 0, 114, - 50, 53, 50, 51, 129, 128, 20, 74, 20, 66, - 53, 1, 50, 62, 172, 173, 141, 746, 143, 89, - 35, 35, 52, 1, 1, 180, 1, 74, 96, 150, - 1, 66, 1, 181, 1, 1, 129, 1, 1, 84, - 142, 129, 1, 129, 1, 35, 1, 1, 180, 0, - 143, 183, 105, 141, 84, 143, 142, 69, 184, 180, - 185, 176, 177, 178, 180, 183, 183, 182, 129, 184, - 66, 129, 187, 149, 142, 142, 129, 142, 193, 259, - 141, 196, 143, 198, 142, 142, 142, 202, 180, 84, - 66, 150, 142, 66, 142, 150, 142, 185, 129, 183, - 180, 66, 217, 183, 142, 66, 180, 222, 142, 224, - 66, 750, 180, 182, 183, 1189, 231, 182, 233, 181, - 169, 181, 180, 238, 185, 181, 66, 142, 180, 182, - 1, 629, 247, 180, 249, 180, 150, 180, 180, 180, - 255, 180, 550, 180, 150, 260, 18, 516, 183, 264, - 531, 532, 142, 268, 129, 270, 28, 272, 30, 274, - 488, 276, 277, 278, 142, 142, 281, 1, 143, 376, - 377, 142, 287, 142, 180, 142, 142, 292, 142, 142, - 295, 52, 297, 142, 299, 142, 182, 142, 142, 60, - 61, 66, 3, 4, 5, 41, 1049, 1050, 1051, 53, - 71, 54, 66, 66, 66, 39, 182, 183, 79, 80, - 183, 66, 50, 84, 1, 6, 1, 182, 183, 66, - 74, 75, 183, 66, 35, 66, 182, 81, 82, 83, - 66, 66, 1, 162, 163, 46, 47, 48, 49, 50, - 51, 75, 182, 183, 78, 99, 100, 81, 82, 83, - 142, 840, 1105, 66, 66, 142, 66, 1110, 66, 66, - 66, 66, 63, 182, 183, 99, 100, 1120, 60, 61, - 94, 95, 66, 65, 68, 146, 147, 148, 89, 174, - 175, 176, 55, 70, 130, 70, 59, 75, 58, 142, - 405, 406, 53, 164, 165, 129, 130, 15, 182, 183, - 18, 70, 417, 418, 142, 66, 735, 182, 142, 180, - 181, 740, 741, 74, 429, 103, 1169, 432, 182, 182, - 182, 501, 133, 134, 84, 949, 180, 182, 152, 953, - 803, 446, 730, 731, 732, 182, 129, 15, 746, 182, - 18, 182, 18, 19, 742, 15, 182, 182, 18, 464, - 465, 466, 70, 1082, 1083, 31, 506, 182, 183, 1006, - 1007, 162, 163, 183, 15, 41, 481, 18, 19, 182, - 182, 66, 182, 68, 182, 182, 182, 182, 170, 171, - 31, 91, 497, 498, 182, 183, 18, 19, 52, 40, - 41, 378, 379, 103, 266, 510, 60, 61, 288, 31, - 290, 129, 142, 518, 180, 520, 63, 183, 20, 41, - 181, 52, 58, 141, 181, 143, 531, 532, 180, 60, - 61, 183, 180, 538, 134, 183, 541, 181, 543, 105, - 71, 122, 142, 180, 125, 75, 183, 181, 79, 80, - 312, 81, 82, 83, 180, 96, 181, 183, 563, 321, - 879, 181, 567, 129, 105, 106, 107, 185, 180, 99, - 100, 183, 373, 374, 375, 337, 181, 339, 340, 341, - 342, 168, 344, 105, 106, 107, 385, 386, 129, 351, - 352, 353, 146, 147, 148, 86, 87, 359, 360, 361, - 362, 363, 364, 365, 53, 181, 181, 129, 181, 181, - 181, 681, 181, 63, 181, 146, 147, 148, 67, 68, - 69, 167, 181, 181, 89, 74, 181, 632, 181, 181, - 181, 96, 637, 164, 165, 640, 1024, 707, 643, 16, - 17, 1234, 713, 181, 21, 22, 181, 181, 113, 968, - 115, 656, 1160, 1161, 16, 17, 181, 1165, 20, 166, - 22, 181, 181, 1171, 1172, 1173, 428, 44, 181, 431, - 181, 181, 181, 181, 16, 17, 22, 22, 20, 749, - 22, 751, 44, 182, 68, 142, 183, 692, 183, 183, - 183, 696, 697, 20, 699, 160, 701, 142, 74, 704, - 142, 183, 44, 708, 709, 710, 142, 20, 142, 714, - 72, 142, 89, 90, 91, 52, 182, 34, 35, 53, - 37, 182, 182, 142, 189, 183, 103, 89, 90, 988, - 72, 142, 22, 22, 20, 200, 53, 142, 743, 50, - 142, 181, 747, 78, 73, 182, 66, 89, 90, 142, - 67, 183, 20, 1072, 759, 760, 183, 74, 223, 84, - 183, 183, 182, 55, 182, 182, 1085, 182, 182, 182, - 182, 1090, 182, 182, 1093, 182, 182, 142, 182, 142, - 183, 182, 182, 142, 142, 182, 86, 183, 183, 180, - 1, 1, 35, 183, 49, 1114, 30, 84, 142, 182, - 182, 142, 74, 183, 185, 180, 142, 877, 181, 68, - 142, 53, 817, 183, 142, 182, 142, 141, 30, 82, - 20, 30, 827, 288, 81, 290, 183, 1146, 293, 182, - 103, 183, 53, 142, 110, 300, 183, 93, 843, 142, - 68, 181, 68, 182, 20, 956, 1095, 955, 1092, 744, - 900, 921, 998, 1074, 246, 970, 473, 65, 305, 856, - 844, 387, 867, 1182, 1183, 870, 871, 388, 627, 874, - 628, 389, 4, 338, 481, 13, 881, 882, 13, 109, - 1132, 346, 347, 348, 71, 350, 830, 523, 1053, 1166, - 895, 175, 357, 1174, 1213, 1214, 1162, 838, 1098, 723, - 529, 366, 367, 658, 460, 874, 522, 1002, 258, 895, - 1144, 845, 1068, 983, 919, 677, 678, 679, 680, 756, - -1, -1, -1, -1, 323, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 939, -1, -1, 942, -1, -1, - -1, -1, -1, 705, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 419, -1, -1, 962, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 973, -1, - -1, -1, -1, 735, -1, -1, -1, -1, 740, 741, - -1, -1, 447, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 460, -1, 462, -1, 1004, - 1005, -1, 764, 765, -1, 1075, 768, -1, -1, -1, - -1, 773, -1, -1, -1, -1, -1, 779, -1, 781, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 494, - -1, 793, -1, -1, -1, -1, -1, 799, -1, -1, - -1, -1, -1, -1, 1049, 1050, 1051, -1, -1, -1, - 1055, 1056, 1057, 815, 816, 1060, 1061, -1, -1, -1, - -1, -1, -1, 1068, 529, 1070, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1082, 1083, -1, - -1, -1, -1, -1, 549, -1, 1091, -1, -1, 1094, - -1, -1, -1, -1, -1, 1100, -1, -1, -1, -1, - 1105, -1, 1107, -1, 866, 1110, -1, 1112, -1, -1, - 1115, -1, -1, -1, -1, 1120, -1, 879, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1134, - -1, -1, 597, -1, -1, -1, -1, -1, -1, 1144, + 5, 564, 64, 404, 9, 310, 80, 81, 274, 42, + 276, 308, 325, 332, 502, 648, 570, 1, 391, 392, + 393, 394, 395, 28, 259, 300, 261, 32, 33, 34, + 35, 36, 1, 38, 39, 137, 41, 303, 1, 1, + 1, 77, 78, 1, 1, 54, 1, 1, 7, 1, + 1, 1, 9, 1, 1, 1, 1, 9, 1, 64, + 1, 163, 164, 165, 16, 1, 71, 1, 73, 1, + 1, 1, 1, 1, 1, 36, 1, 54, 37, 84, + 85, 1, 87, 88, 89, 36, 6, 67, 64, 67, + 40, 1, 38, 9, 65, 100, 1, 102, 1, 35, + 1, 1, 107, 9, 109, 36, 1, 112, 54, 42, + 1018, 1019, 9, 118, 130, 120, 1, 51, 52, 51, + 67, 75, 21, 68, 54, 48, 76, 151, 144, 79, + 763, 1, 82, 83, 84, 36, 36, 1, 1, 0, + 130, 1, 1, 54, 85, 97, 130, 1, 75, 55, + 100, 101, 1, 143, 1, 0, 67, 181, 142, 67, + 144, 130, 1, 1, 75, 125, 71, 90, 71, 181, + 86, 70, 181, 142, 134, 144, 67, 182, 183, 184, + 130, 131, 130, 188, 143, 190, 143, 130, 193, 143, + 151, 143, 143, 143, 199, 143, 143, 202, 131, 204, + 67, 144, 186, 208, 184, 183, 184, 184, 184, 143, + 130, 143, 67, 767, 185, 143, 67, 186, 223, 181, + 183, 184, 184, 228, 182, 230, 183, 182, 264, 181, + 1, 182, 237, 181, 239, 181, 181, 143, 243, 36, + 181, 151, 143, 143, 645, 181, 143, 252, 143, 254, + 181, 181, 181, 566, 181, 260, 181, 19, 143, 525, + 265, 67, 497, 67, 269, 540, 541, 29, 273, 31, + 275, 181, 277, 143, 279, 183, 281, 282, 283, 143, + 143, 286, 53, 143, 143, 387, 388, 292, 1196, 143, + 61, 62, 297, 184, 143, 300, 143, 302, 360, 304, + 67, 72, 19, 20, 143, 143, 311, 21, 613, 80, + 81, 3, 4, 5, 85, 32, 183, 184, 67, 6, + 67, 54, 36, 67, 67, 42, 64, 1, 183, 184, + 95, 96, 67, 184, 69, 67, 67, 67, 67, 67, + 53, 182, 75, 76, 36, 67, 67, 67, 67, 82, + 83, 84, 59, 76, 151, 47, 48, 49, 50, 51, + 52, 67, 67, 67, 67, 61, 62, 100, 101, 857, + 66, 143, 85, 51, 63, 181, 147, 148, 149, 56, + 184, 104, 968, 60, 16, 85, 972, 19, 153, 106, + 181, 51, 53, 184, 165, 166, 130, 71, 90, 58, + 61, 62, 16, 16, 143, 19, 19, 20, 163, 164, + 181, 416, 417, 130, 85, 181, 183, 181, 184, 32, + 184, 173, 174, 428, 429, 163, 164, 746, 41, 42, + 183, 184, 751, 752, 183, 440, 183, 151, 443, 183, + 183, 143, 134, 135, 741, 742, 743, 820, 181, 64, + 763, 183, 183, 183, 183, 183, 753, 1020, 1021, 1092, + 1093, 183, 183, 183, 183, 143, 183, 182, 473, 474, + 475, 1063, 1064, 1065, 510, 171, 172, 183, 183, 183, + 183, 170, 515, 143, 97, 490, 147, 148, 149, 16, + 184, 150, 19, 106, 107, 108, 175, 176, 177, 17, + 18, 506, 507, 21, 21, 23, 17, 18, 181, 271, + 21, 184, 23, 92, 519, 123, 182, 130, 126, 90, + 183, 184, 527, 1115, 529, 104, 97, 45, 1120, 182, + 19, 20, 53, 104, 45, 540, 541, 67, 1130, 69, + 61, 62, 547, 32, 71, 550, 181, 552, 119, 184, + 121, 72, 557, 42, 181, 73, 135, 184, 182, 80, + 81, 323, 73, 182, 143, 181, 35, 36, 184, 38, + 332, 182, 90, 91, 579, 894, 183, 184, 583, 90, + 91, 19, 20, 182, 1176, 54, 348, 182, 350, 351, + 352, 353, 182, 355, 32, 166, 384, 385, 386, 68, + 362, 363, 364, 293, 42, 295, 75, 182, 370, 371, + 372, 373, 374, 375, 376, 76, 182, 106, 107, 108, + 130, 82, 83, 84, 195, 182, 147, 148, 149, 183, + 184, 182, 142, 182, 144, 206, 182, 1038, 182, 100, + 101, 130, 182, 648, 165, 166, 396, 397, 653, 182, + 724, 656, 130, 182, 659, 59, 692, 182, 229, 87, + 88, 169, 182, 982, 142, 168, 144, 672, 106, 54, + 182, 389, 390, 17, 18, 182, 186, 439, 22, 23, + 442, 182, 718, 68, 69, 70, 182, 182, 182, 182, + 75, 182, 130, 167, 182, 182, 64, 23, 703, 23, + 183, 45, 707, 708, 69, 710, 143, 712, 186, 184, + 715, 184, 184, 184, 719, 720, 721, 143, 21, 75, + 725, 143, 293, 143, 295, 184, 21, 298, 143, 184, + 766, 53, 768, 54, 305, 183, 1002, 183, 183, 310, + 184, 143, 143, 23, 23, 21, 90, 91, 92, 754, + 143, 51, 757, 143, 759, 760, 761, 1167, 1168, 764, + 104, 182, 1172, 1082, 79, 74, 183, 143, 1178, 1179, + 1180, 776, 777, 67, 183, 21, 1095, 184, 349, 184, + 85, 184, 56, 1102, 1103, 184, 357, 358, 359, 183, + 361, 183, 183, 143, 183, 183, 183, 368, 184, 183, + 183, 183, 183, 183, 183, 1124, 377, 378, 183, 183, + 143, 143, 143, 184, 87, 181, 1, 1, 36, 50, + 184, 31, 85, 143, 183, 143, 183, 75, 186, 834, + 184, 182, 181, 143, 1153, 69, 143, 54, 184, 844, + 183, 143, 31, 142, 83, 31, 184, 183, 21, 184, + 82, 104, 54, 143, 111, 184, 892, 94, 143, 430, + 69, 69, 21, 182, 975, 1105, 183, 974, 1101, 755, + 1189, 1190, 915, 1012, 1084, 66, 316, 882, 251, 482, + 885, 886, 871, 984, 889, 398, 562, 643, 4, 103, + 399, 896, 897, 644, 400, 757, 490, 959, 469, 14, + 471, 1220, 1221, 14, 940, 910, 72, 1139, 115, 532, + 181, 1067, 847, 855, 1173, 1169, 1181, 1108, 538, 734, + 674, 860, 469, 1016, 889, 531, 688, 689, 690, 691, + 1151, 910, 503, 938, 334, 263, 1241, 1078, 773, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1227, -1, -1, - -1, -1, -1, -1, 1169, -1, -1, 1237, -1, -1, - -1, -1, 1177, 1178, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1189, -1, -1, -1, 653, -1, - 952, -1, -1, -1, -1, -1, 958, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 968, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1224, - -1, -1, -1, -1, 689, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1241, 1242, 1243, -1, + -1, -1, -1, 958, 716, -1, 961, -1, -1, -1, + -1, 997, -1, -1, -1, -1, -1, 538, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1017, -1, -1, 723, 1021, + -1, -1, 987, -1, 746, -1, -1, -1, -1, 751, + 752, 562, -1, -1, 565, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1036, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 753, 754, + -1, -1, -1, 1018, 1019, -1, -1, -1, -1, 781, + 782, -1, -1, 785, -1, -1, -1, -1, 790, -1, + -1, -1, -1, -1, 796, -1, 798, -1, -1, 1101, + -1, -1, 613, -1, -1, -1, -1, -1, 810, 1085, + -1, -1, -1, -1, 816, -1, -1, -1, 1063, 1064, + 1065, -1, -1, -1, -1, 1070, 1071, -1, -1, -1, + 832, 833, -1, 1078, -1, 1080, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1092, 1093, -1, + -1, -1, -1, -1, -1, 1100, -1, -1, 669, 1104, + -1, -1, -1, -1, -1, 1110, -1, -1, -1, -1, + 1115, -1, 1117, -1, -1, 1120, -1, 1122, -1, 881, + 1125, -1, -1, -1, -1, 1130, -1, -1, -1, 700, + -1, -1, 894, -1, -1, -1, 1141, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1151, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 734, -1, -1, -1, -1, -1, -1, + -1, 1176, -1, -1, -1, -1, -1, -1, -1, 1184, + 1185, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1196, -1, -1, -1, -1, -1, -1, 1234, 770, + 771, -1, -1, -1, -1, -1, -1, -1, 1244, 971, + -1, -1, -1, -1, -1, 977, -1, -1, -1, -1, + 982, -1, -1, -1, -1, -1, 1231, -1, -1, -1, + -1, -1, -1, -1, -1, 1, -1, 808, -1, -1, + -1, 7, 8, 1248, 1249, 1250, -1, -1, -1, 15, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, + 26, -1, -1, 29, 30, -1, -1, 33, 34, 1031, + -1, 37, -1, 1035, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1050, 860, + 56, 57, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1072, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1085, -1, -1, 791, -1, 1090, -1, - -1, 1093, -1, -1, 1096, -1, -1, -1, -1, -1, - -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, - -1, -1, 1114, -1, 14, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, - -1, -1, 32, 33, -1, -1, 36, -1, -1, 844, - 845, -1, -1, -1, 1146, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1082, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1095, -1, -1, 907, -1, 909, 105, + 1102, 1103, -1, -1, 1106, -1, -1, -1, 114, -1, + 116, 117, 118, 119, 120, 121, 122, -1, -1, 125, + -1, -1, 1124, 129, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 143, 144, 145, + -1, -1, -1, -1, -1, -1, 152, -1, 154, 155, + 156, 1153, 158, 159, 160, 161, 162, 1, 969, -1, + -1, -1, -1, 7, 8, -1, -1, 173, -1, -1, + -1, 15, 178, 179, -1, 181, 182, -1, 184, -1, + -1, 25, 26, -1, -1, 29, 30, 1189, 1190, 33, + 34, -1, -1, 37, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1014, 1015, -1, -1, -1, -1, -1, + -1, -1, 56, 57, -1, -1, 60, -1, 1220, 1221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1182, 1183, -1, -1, -1, -1, -1, 892, -1, 894, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 104, -1, -1, -1, -1, -1, - -1, 1213, 1214, 113, -1, 115, 116, 117, 118, 119, - 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 142, 143, 144, 950, -1, -1, -1, -1, - -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, - 160, 161, 1, -1, -1, -1, -1, -1, 7, 8, - -1, -1, 172, -1, -1, 14, -1, 177, 178, -1, - 180, 181, -1, 183, -1, 24, 25, -1, -1, 28, - 29, -1, -1, 32, 33, 1000, 1001, 36, -1, -1, + -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 55, 56, -1, -1, - 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, - -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, - 29, -1, -1, 32, 33, 104, -1, 36, -1, -1, - -1, -1, 41, -1, 113, -1, 115, 116, 117, 118, - 119, 120, 121, -1, -1, 124, 55, 56, -1, 128, - 59, -1, -1, 132, -1, -1, -1, -1, -1, -1, - -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, - -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, - 159, 160, 161, -1, -1, -1, -1, -1, -1, -1, - -1, 1136, -1, 172, -1, 104, -1, -1, 177, 178, - -1, -1, 181, 182, 113, -1, 115, 116, 117, 118, - 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, - -1, 130, -1, 132, -1, -1, -1, -1, -1, -1, - 1, -1, 141, 142, 143, 144, 7, 8, -1, -1, - -1, -1, 151, 14, 153, 154, 155, -1, 157, 158, - 159, 160, 161, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, 172, -1, 36, -1, -1, 177, 178, - -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 55, 56, -1, -1, 59, 1234, + -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, + 114, -1, 116, 117, 118, 119, 120, 121, 122, -1, + -1, 125, -1, -1, -1, 129, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 143, + 144, 145, -1, -1, -1, -1, -1, -1, 152, -1, + 154, 155, 156, -1, 158, 159, 160, 161, 162, 1, + -1, -1, -1, -1, -1, 7, 8, -1, -1, 173, + -1, -1, 1143, 15, 178, 179, -1, 181, 182, -1, + -1, -1, -1, 25, 26, -1, -1, 29, 30, -1, + -1, 33, 34, -1, -1, 37, -1, -1, -1, -1, + 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 56, 57, -1, -1, 60, -1, + -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, + -1, -1, 7, 8, -1, -1, -1, -1, -1, -1, + 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 25, 26, -1, -1, 29, 30, -1, -1, 33, 34, + -1, -1, 37, 105, -1, -1, -1, -1, -1, -1, + 1241, -1, 114, -1, 116, 117, 118, 119, 120, 121, + 122, 56, 57, 125, -1, 60, -1, 129, -1, 131, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 143, 144, 145, -1, -1, -1, -1, -1, -1, + 152, -1, 154, 155, 156, -1, 158, 159, 160, 161, + 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 105, 173, -1, -1, -1, -1, 178, 179, -1, 114, + 182, 116, 117, 118, 119, 120, 121, 122, -1, -1, + 125, -1, -1, -1, 129, -1, -1, -1, 133, -1, + -1, -1, -1, -1, -1, -1, -1, 142, 143, 144, + 145, -1, -1, -1, -1, -1, -1, 152, -1, 154, + 155, 156, -1, 158, 159, 160, 161, 162, 1, -1, + -1, -1, -1, -1, 7, 8, -1, -1, 173, -1, + -1, -1, 15, 178, 179, 18, 181, 182, -1, -1, + -1, -1, 25, 26, -1, -1, 29, 30, -1, -1, + 33, 34, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, - -1, -1, -1, 14, -1, -1, 17, -1, -1, -1, - -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, 104, -1, 36, -1, -1, -1, -1, - -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, - 121, -1, -1, 124, 55, 56, -1, 128, 59, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, - 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, - 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 172, -1, 104, -1, -1, 177, 178, -1, 180, - 181, -1, 113, -1, 115, 116, 117, 118, 119, 120, - 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 1, -1, - 141, 142, 143, 144, 7, 8, -1, -1, -1, -1, - 151, 14, 153, 154, 155, -1, 157, 158, 159, 160, - 161, 24, 25, -1, -1, 28, 29, -1, -1, 32, - 33, 172, -1, 36, -1, -1, 177, 178, -1, -1, - 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, + -1, -1, -1, 56, 57, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, - -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, - 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, - 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, - 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 104, 172, - -1, -1, -1, -1, 177, 178, -1, 113, 181, 115, - 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, - -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, - 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, - -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, - -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, - -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 55, 56, 124, -1, 59, -1, - 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 104, 172, -1, -1, -1, -1, 177, - 178, -1, 113, 181, 115, 116, 117, 118, 119, 120, - 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 1, -1, - 141, 142, 143, 144, 7, 8, -1, -1, -1, -1, - 151, 14, 153, 154, 155, -1, 157, 158, 159, 160, - 161, 24, 25, -1, -1, 28, 29, -1, -1, 32, - 33, 172, -1, 36, -1, -1, 177, 178, -1, -1, - 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, - -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, - 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, - 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, - 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 104, 172, - -1, -1, -1, -1, 177, 178, -1, 113, 181, 115, - 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, - -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, - 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, - -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 7, 8, -1, -1, -1, -1, -1, -1, 15, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, + 26, -1, -1, 29, 30, -1, -1, 33, 34, -1, + -1, 37, 105, -1, -1, -1, -1, -1, -1, -1, + -1, 114, -1, 116, 117, 118, 119, 120, 121, 122, + 56, 57, 125, -1, 60, -1, 129, -1, -1, -1, + 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, + 143, 144, 145, -1, -1, -1, -1, -1, -1, 152, + -1, 154, 155, 156, -1, 158, 159, 160, 161, 162, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, + 173, -1, -1, -1, -1, 178, 179, -1, 114, 182, + 116, 117, 118, 119, 120, 121, 122, -1, -1, 125, + -1, -1, -1, 129, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 143, 144, 145, + -1, -1, -1, -1, -1, -1, 152, -1, 154, 155, + 156, -1, 158, 159, 160, 161, 162, 1, -1, -1, + -1, -1, -1, 7, 8, -1, -1, 173, -1, -1, + -1, 15, 178, 179, -1, -1, 182, -1, -1, -1, + -1, 25, 26, -1, -1, 29, 30, -1, -1, 33, + 34, -1, -1, 37, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 56, 57, -1, -1, 60, -1, -1, -1, + -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, + 7, 8, -1, -1, -1, -1, -1, -1, 15, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, + -1, -1, 29, 30, -1, -1, 33, 34, -1, -1, + 37, 105, -1, -1, -1, -1, -1, -1, -1, -1, + 114, -1, 116, 117, 118, 119, 120, 121, 122, 56, + 57, 125, -1, 60, -1, 129, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 143, + 144, 145, -1, -1, -1, -1, -1, -1, 152, -1, + 154, 155, 156, -1, 158, 159, 160, 161, 162, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 105, 173, + -1, -1, -1, -1, 178, 179, -1, 114, 182, 116, + 117, 118, 119, 120, 121, 122, -1, -1, 125, -1, + -1, -1, 129, -1, -1, -1, 133, -1, -1, -1, + -1, -1, -1, -1, -1, 142, 143, 144, 145, -1, + -1, -1, -1, -1, -1, 152, -1, 154, 155, 156, + -1, 158, 159, 160, 161, 162, 1, -1, -1, -1, + -1, -1, 7, 8, -1, -1, 173, -1, -1, -1, + 15, 178, 179, -1, -1, 182, -1, -1, -1, -1, + 25, 26, -1, -1, 29, 30, -1, -1, 33, 34, + -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 56, 57, -1, -1, 60, -1, -1, -1, -1, + -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, + 8, -1, -1, -1, -1, -1, -1, 15, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 25, 26, -1, + -1, 29, 30, -1, -1, 33, 34, -1, -1, 37, + 105, -1, -1, -1, -1, -1, -1, -1, -1, 114, + -1, 116, 117, 118, 119, 120, 121, 122, 56, 57, + 125, -1, 60, -1, 129, -1, -1, -1, 133, -1, + -1, -1, -1, -1, -1, -1, -1, 142, 143, 144, + 145, -1, -1, -1, -1, -1, -1, 152, -1, 154, + 155, 156, -1, 158, 159, 160, 161, 162, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 105, 173, -1, + -1, -1, -1, 178, 179, -1, 114, 182, 116, 117, + 118, 119, 120, 121, 122, -1, -1, 125, -1, -1, + -1, 129, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 143, 144, 145, -1, -1, + -1, -1, -1, -1, 152, -1, 154, 155, 156, -1, + 158, 159, 160, 161, 162, 1, -1, -1, -1, -1, + -1, 7, 8, -1, -1, 173, -1, -1, -1, 15, + 178, 179, -1, -1, 182, -1, -1, -1, -1, 25, + 26, -1, -1, 29, 30, -1, -1, 33, 34, -1, + -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 56, 57, -1, -1, 60, -1, -1, -1, -1, -1, + -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, + -1, -1, -1, -1, -1, -1, 15, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 25, 26, -1, -1, + 29, 30, -1, -1, 33, 34, -1, -1, 37, 105, + -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, + 116, 117, 118, 119, 120, 121, 122, 56, 57, 125, + -1, 60, -1, 129, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 143, 144, 145, + -1, -1, -1, -1, -1, -1, 152, -1, 154, 155, + 156, -1, 158, 159, 160, 161, 162, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 105, 173, -1, -1, + -1, -1, 178, 179, -1, 114, 182, 116, 117, 118, + 119, 120, 121, 122, -1, -1, 125, -1, -1, -1, + 129, -1, -1, -1, 133, -1, -1, -1, -1, -1, + -1, -1, -1, 142, 143, 144, 145, -1, -1, -1, + -1, -1, -1, 152, -1, 154, 155, 156, -1, 158, + 159, 160, 161, 162, 1, -1, -1, -1, -1, -1, + 7, 8, -1, -1, 173, -1, -1, -1, 15, 178, + 179, -1, -1, 182, -1, -1, -1, -1, 25, 26, + -1, -1, 29, 30, -1, -1, 33, 34, -1, -1, + 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, + 57, -1, -1, 60, -1, -1, -1, -1, -1, -1, + -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, + -1, -1, -1, -1, -1, 15, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 25, 26, -1, -1, 29, + 30, -1, -1, 33, 34, -1, -1, 37, 105, -1, + -1, -1, -1, -1, -1, -1, -1, 114, -1, 116, + 117, 118, 119, 120, 121, 122, 56, 57, 125, -1, + 60, -1, 129, -1, -1, -1, 133, -1, -1, -1, + -1, -1, -1, -1, -1, 142, 143, 144, 145, -1, + -1, -1, -1, -1, -1, 152, -1, 154, 155, 156, + -1, 158, 159, 160, 161, 162, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 105, 173, -1, -1, -1, + -1, 178, 179, -1, 114, 182, 116, 117, 118, 119, + 120, 121, 122, -1, -1, 125, -1, -1, -1, 129, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, 142, 143, 144, 145, -1, -1, -1, -1, + -1, -1, 152, -1, 154, 155, 156, -1, 158, 159, + 160, 161, 162, 1, -1, -1, -1, -1, -1, 7, + 8, -1, -1, 173, -1, -1, -1, 15, 178, 179, + -1, -1, 182, -1, -1, -1, -1, 25, 26, -1, + -1, 29, 30, -1, -1, 33, 34, -1, -1, 37, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, + -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, - -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, - -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 55, 56, 124, -1, 59, -1, - 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 104, 172, -1, -1, -1, -1, 177, - 178, -1, 113, 181, 115, 116, 117, 118, 119, 120, - 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 1, -1, - 141, 142, 143, 144, 7, 8, -1, -1, -1, -1, - 151, 14, 153, 154, 155, -1, 157, 158, 159, 160, - 161, 24, 25, -1, -1, 28, 29, -1, -1, 32, - 33, 172, -1, 36, -1, -1, 177, 178, -1, -1, - 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, - -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, - 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, - 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, - 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 104, 172, - -1, -1, -1, -1, 177, 178, -1, 113, 181, 115, - 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, - -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, - 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, - -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 15, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 25, 26, -1, -1, 29, 30, + -1, -1, 33, 34, -1, -1, 37, 105, -1, -1, + -1, -1, -1, -1, -1, -1, 114, -1, 116, 117, + 118, 119, 120, 121, 122, 56, 57, 125, -1, 60, + -1, 129, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 143, 144, 145, -1, -1, + -1, -1, -1, -1, 152, -1, 154, 155, 156, -1, + 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 105, 173, -1, -1, -1, -1, + 178, 179, -1, 114, 182, 116, 117, 118, 119, 120, + 121, 122, -1, -1, 125, -1, -1, -1, 129, -1, + -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, + -1, 142, 143, 144, 145, -1, -1, -1, -1, -1, + -1, 152, -1, 154, 155, 156, -1, 158, 159, 160, + 161, 162, -1, -1, -1, 1, -1, -1, -1, -1, + 6, -1, 173, 9, 10, 11, -1, 178, 179, -1, + -1, 182, -1, 19, 20, 21, 22, -1, -1, -1, + -1, 27, 28, -1, -1, -1, 32, -1, -1, 35, + 36, -1, 38, 39, 40, 41, 42, 43, 44, -1, + 46, -1, -1, -1, -1, -1, -1, -1, 54, -1, + 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 68, -1, 70, -1, -1, -1, 74, 75, + 76, 77, 78, -1, -1, -1, -1, -1, -1, -1, + 86, 87, 88, 89, -1, -1, -1, 93, -1, -1, + 96, -1, -1, 99, -1, -1, 102, -1, 104, 105, + 106, 107, 108, 109, 110, -1, 112, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, -1, + -1, 127, 128, -1, 130, 131, 1, -1, -1, -1, + -1, 6, -1, 139, 9, 10, 11, 143, -1, -1, + 146, -1, -1, -1, 19, 20, 21, 22, -1, -1, + -1, -1, 27, 28, -1, -1, -1, 32, -1, -1, + 35, 36, -1, 38, 39, 40, 41, 42, 43, 44, + -1, 46, -1, -1, -1, 181, -1, -1, -1, 54, + -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 68, -1, 70, -1, -1, -1, 74, + 75, 76, 77, 78, -1, -1, -1, -1, -1, -1, + -1, 86, 87, 88, 89, -1, -1, -1, 93, -1, + -1, 96, -1, -1, 99, -1, -1, 102, -1, 104, + 105, 106, 107, 108, 109, 110, -1, 112, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + -1, -1, 127, 128, -1, 130, 131, -1, -1, -1, + -1, -1, -1, -1, 139, -1, -1, -1, 143, -1, + 1, 146, -1, -1, -1, 6, -1, -1, 9, 10, + 11, 12, -1, -1, -1, 16, -1, -1, 19, 20, + -1, 22, -1, -1, -1, -1, 27, 28, -1, -1, + -1, 32, -1, -1, 35, -1, 181, 38, 39, 40, + 41, 42, 43, 44, -1, 46, -1, -1, -1, -1, + -1, -1, -1, 54, -1, 56, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 68, -1, -1, + -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, + -1, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, 93, -1, -1, 96, 97, -1, 99, -1, + -1, 102, -1, 104, 105, 106, 107, 108, 109, 110, + -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, -1, -1, 127, 128, -1, 130, + 131, 1, -1, -1, -1, -1, 6, -1, 139, 9, + 10, 11, 143, -1, -1, 146, -1, -1, -1, 19, + 20, 21, 22, -1, -1, -1, -1, 27, 28, -1, + -1, -1, 32, -1, -1, 35, 36, -1, 38, 39, + 40, 41, 42, 43, 44, -1, 46, -1, -1, -1, + 181, -1, -1, -1, 54, -1, 56, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 68, -1, + -1, -1, -1, -1, -1, 75, 76, 77, 78, -1, + -1, -1, -1, -1, -1, -1, 86, 87, 88, 89, + -1, -1, -1, 93, -1, -1, 96, -1, -1, 99, + -1, -1, 102, -1, 104, 105, 106, 107, 108, 109, + 110, -1, 112, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, -1, -1, 127, 128, -1, + 130, 131, 1, -1, -1, -1, -1, 6, -1, 139, + 9, 10, 11, 143, -1, -1, 146, -1, -1, -1, + 19, 20, 21, 22, -1, -1, -1, -1, 27, 28, + -1, -1, -1, 32, -1, -1, 35, 36, -1, 38, + 39, 40, 41, 42, 43, 44, -1, 46, -1, -1, + -1, 181, -1, -1, -1, 54, -1, 56, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, + -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, + -1, -1, -1, -1, -1, -1, -1, 86, 87, 88, + 89, -1, -1, -1, 93, -1, -1, 96, -1, -1, + 99, -1, -1, 102, -1, 104, 105, 106, 107, 108, + 109, 110, -1, 112, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 124, -1, -1, 127, 128, + -1, 130, 131, 1, -1, -1, -1, -1, 6, -1, + 139, 9, 10, 11, 143, -1, -1, 146, -1, -1, + -1, 19, 20, 21, 22, -1, -1, -1, -1, 27, + 28, -1, -1, -1, 32, -1, -1, 35, 36, -1, + 38, 39, 40, 41, 42, 43, 44, -1, 46, -1, + -1, -1, 181, -1, -1, -1, 54, -1, 56, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 68, -1, -1, -1, -1, -1, -1, 75, 76, 77, + 78, -1, -1, -1, -1, -1, -1, -1, 86, 87, + 88, 89, -1, -1, -1, 93, -1, -1, 96, -1, + -1, 99, -1, -1, 102, -1, 104, 105, 106, 107, + 108, 109, 110, -1, 112, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 124, -1, -1, 127, + 128, -1, 130, 131, 1, -1, -1, -1, -1, 6, + -1, 139, 9, 10, 11, 143, -1, -1, 146, -1, + -1, -1, 19, 20, 21, 22, -1, -1, -1, -1, + 27, 28, -1, -1, -1, 32, -1, -1, 35, 36, + -1, 38, 39, 40, 41, 42, 43, 44, -1, 46, + -1, -1, -1, 181, -1, -1, -1, 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 68, -1, -1, -1, -1, -1, -1, 75, 76, + 77, 78, -1, -1, -1, -1, -1, -1, -1, 86, + 87, 88, 89, -1, -1, -1, 93, -1, -1, 96, + -1, -1, 99, -1, -1, 102, -1, 104, 105, 106, + 107, 108, 109, 110, -1, 112, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, -1, -1, + 127, 128, -1, 130, 131, 1, -1, -1, -1, -1, + 6, -1, 139, 9, 10, 11, 143, -1, -1, 146, + -1, -1, -1, 19, 20, 21, 22, -1, -1, -1, + -1, 27, 28, -1, -1, -1, 32, -1, -1, 35, + 36, -1, 38, 39, 40, 41, 42, 43, 44, -1, + 46, -1, -1, -1, 181, -1, -1, -1, 54, -1, + 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 68, -1, -1, -1, -1, -1, -1, 75, + 76, 77, 78, -1, -1, -1, -1, -1, -1, -1, + 86, 87, 88, 89, -1, -1, -1, 93, -1, -1, + 96, -1, -1, 99, -1, -1, 102, -1, 104, 105, + 106, 107, 108, 109, 110, -1, 112, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, -1, + -1, 127, 128, -1, 130, 131, 1, -1, -1, -1, + -1, 6, -1, 139, 9, 10, 11, 143, -1, -1, + 146, -1, -1, -1, 19, 20, 21, 22, -1, -1, + -1, -1, 27, 28, -1, -1, -1, 32, -1, -1, + 35, 36, -1, 38, 39, 40, 41, 42, 43, 44, + -1, 46, -1, -1, -1, 181, -1, -1, -1, 54, + -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, + 75, 76, 77, 78, -1, -1, -1, -1, -1, -1, + -1, 86, 87, 88, 89, -1, -1, -1, 93, -1, + -1, 96, -1, -1, 99, -1, -1, 102, -1, 104, + 105, 106, 107, 108, 109, 110, -1, 112, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + -1, -1, 127, 128, -1, 130, 131, 1, -1, -1, + -1, -1, 6, -1, 139, 9, 10, 11, 143, -1, + -1, 146, -1, -1, -1, 19, 20, 21, 22, -1, + -1, -1, -1, 27, 28, -1, -1, -1, 32, -1, + -1, 35, 36, -1, 38, 39, 40, 41, 42, 43, + 44, -1, 46, -1, -1, -1, 181, -1, -1, -1, + 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 68, -1, -1, -1, -1, -1, + -1, 75, 76, 77, 78, -1, -1, -1, -1, -1, + -1, -1, 86, 87, 88, 89, -1, -1, -1, 93, + -1, -1, 96, -1, -1, 99, -1, -1, 102, -1, + 104, 105, 106, 107, 108, 109, 110, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, -1, -1, 127, 128, -1, 130, 131, 1, -1, + -1, -1, -1, 6, -1, 139, 9, 10, 11, 143, + -1, -1, 146, -1, -1, -1, 19, 20, 21, 22, + -1, -1, -1, -1, 27, 28, -1, -1, -1, 32, + -1, -1, 35, 36, -1, 38, 39, 40, 41, 42, + 43, 44, -1, 46, -1, -1, -1, 181, -1, -1, + -1, 54, -1, 56, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 68, -1, -1, -1, -1, + -1, -1, 75, 76, 77, 78, -1, -1, -1, -1, + -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, + 93, -1, -1, 96, -1, -1, 99, -1, -1, 102, + -1, 104, 105, 106, 107, 108, 109, 110, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, - -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, - 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, - 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, -1, -1, -1, 1, -1, -1, - -1, -1, 6, -1, 172, 9, 10, -1, -1, 177, - 178, -1, -1, 181, 18, 19, 20, 21, -1, -1, - -1, -1, 26, 27, -1, -1, -1, 31, -1, -1, - 34, 35, -1, 37, 38, 39, 40, 41, 42, 43, - -1, 45, -1, -1, -1, -1, -1, -1, -1, 53, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 67, -1, 69, -1, -1, -1, 73, - 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, - -1, 85, 86, 87, 88, -1, -1, -1, 92, -1, - -1, 95, -1, -1, 98, -1, -1, 101, -1, 103, - 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - -1, -1, 126, 127, -1, 129, 130, 1, -1, -1, - -1, -1, 6, -1, 138, 9, 10, -1, 142, -1, - -1, 145, -1, -1, 18, 19, 20, 21, -1, -1, - -1, -1, 26, 27, -1, -1, -1, 31, -1, -1, - 34, 35, -1, 37, 38, 39, 40, 41, 42, 43, - -1, 45, -1, -1, -1, -1, 180, -1, -1, 53, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 67, -1, 69, -1, -1, -1, 73, - 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, - -1, 85, 86, 87, 88, -1, -1, -1, 92, -1, - -1, 95, -1, -1, 98, -1, -1, 101, -1, 103, - 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - -1, -1, 126, 127, -1, 129, 130, -1, -1, -1, - -1, -1, -1, -1, 138, -1, -1, -1, 142, -1, - -1, 145, 1, -1, -1, -1, -1, 6, -1, -1, - 9, 10, 11, -1, -1, -1, 15, -1, -1, 18, - 19, -1, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 180, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, -1, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, 7, 8, -1, -1, -1, - -1, -1, 14, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 24, 25, -1, -1, 28, 29, -1, 138, - 32, 33, -1, 142, 36, -1, 145, -1, -1, 41, + -1, 124, -1, -1, 127, 128, -1, 130, 131, 1, + -1, -1, -1, -1, 6, -1, 139, 9, 10, 11, + 143, -1, -1, 146, -1, -1, -1, 19, 20, 21, + 22, -1, -1, -1, -1, 27, 28, -1, -1, -1, + 32, -1, -1, 35, 36, -1, 38, 39, 40, 41, + 42, 43, 44, -1, 46, -1, -1, -1, 181, -1, + -1, -1, 54, -1, 56, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 68, -1, -1, -1, + -1, -1, -1, 75, 76, 77, 78, -1, -1, -1, + -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, + -1, 93, -1, -1, 96, -1, -1, 99, -1, -1, + 102, -1, 104, 105, 106, 107, 108, 109, 110, -1, + 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 124, -1, -1, 127, 128, -1, 130, 131, + 1, -1, -1, -1, -1, 6, -1, 139, 9, 10, + 11, 143, -1, -1, 146, -1, -1, -1, 19, 20, + 21, 22, -1, -1, -1, -1, 27, 28, -1, -1, + -1, 32, -1, -1, 35, 36, -1, 38, 39, 40, + 41, 42, 43, 44, -1, 46, -1, -1, -1, 181, + -1, -1, -1, 54, -1, 56, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 68, -1, -1, + -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, + -1, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, 93, -1, -1, 96, -1, -1, 99, -1, + -1, 102, -1, 104, 105, 106, 107, 108, 109, 110, + -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, -1, -1, 127, 128, -1, 130, + 131, 1, -1, -1, -1, -1, 6, -1, 139, 9, + 10, 11, 143, -1, -1, 146, -1, -1, -1, 19, + 20, 21, 22, -1, -1, -1, -1, 27, 28, -1, + -1, -1, 32, -1, -1, 35, 36, -1, 38, 39, + 40, 41, 42, 43, 44, -1, 46, -1, -1, -1, + 181, -1, -1, -1, 54, -1, 56, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 68, -1, + -1, -1, -1, -1, -1, 75, 76, 77, 78, -1, + -1, -1, -1, -1, -1, -1, 86, 87, 88, 89, + -1, -1, -1, 93, -1, -1, 96, -1, -1, 99, + -1, -1, 102, -1, 104, 105, 106, 107, 108, 109, + 110, -1, 112, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, -1, -1, 127, 128, -1, + 130, 131, 1, -1, -1, -1, -1, 6, -1, 139, + 9, 10, 11, 143, -1, -1, 146, -1, -1, -1, + 19, 20, -1, 22, -1, -1, -1, -1, 27, 28, + -1, -1, -1, 32, -1, -1, 35, 36, -1, 38, + 39, 40, 41, 42, 43, 44, -1, 46, -1, -1, + -1, 181, -1, -1, -1, 54, -1, 56, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, + 69, -1, -1, -1, -1, -1, 75, 76, 77, 78, + -1, -1, -1, -1, -1, -1, -1, 86, 87, 88, + 89, -1, -1, -1, 93, -1, -1, 96, -1, -1, + 99, -1, -1, 102, -1, 104, 105, 106, 107, 108, + 109, 110, -1, 112, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 124, -1, -1, 127, 128, + -1, 130, 131, 1, -1, -1, -1, -1, 6, -1, + 139, 9, 10, 11, 143, -1, -1, 146, -1, -1, + -1, 19, 20, 21, 22, -1, -1, -1, -1, 27, + 28, -1, -1, -1, 32, -1, -1, 35, 36, -1, + 38, 39, 40, 41, 42, 43, 44, -1, 46, -1, + -1, -1, 181, -1, -1, -1, 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, + 68, -1, -1, -1, -1, -1, -1, 75, 76, 77, + 78, -1, -1, -1, -1, -1, -1, -1, 86, 87, + 88, 89, -1, -1, -1, 93, -1, -1, 96, -1, + -1, 99, -1, -1, 102, -1, 104, 105, 106, 107, + 108, 109, 110, -1, 112, -1, 7, 8, -1, -1, + -1, -1, -1, -1, 15, -1, 124, -1, -1, 127, + 128, -1, 130, 131, 25, 26, -1, -1, 29, 30, + -1, 139, 33, 34, -1, 143, 37, -1, 146, -1, + -1, 42, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, 57, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 180, 7, 8, -1, -1, -1, -1, -1, 14, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, - 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, - -1, 36, 104, -1, -1, -1, -1, -1, -1, -1, - -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, - 55, 56, 124, -1, 59, -1, 128, -1, 130, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 142, 143, 144, 78, -1, -1, -1, -1, 83, 151, - -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, - 172, -1, -1, -1, -1, 177, 178, -1, 113, 181, - 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, - -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, - 7, 8, -1, -1, -1, -1, 151, 14, 153, 154, - 155, -1, 157, 158, 159, 160, 161, 24, 25, -1, - -1, 28, 29, -1, -1, 32, 33, 172, -1, 36, - -1, -1, 177, 178, -1, -1, 181, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, - -1, -1, 59, -1, -1, -1, -1, -1, -1, 66, - -1, -1, -1, -1, -1, -1, -1, 7, 8, -1, - -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, - -1, -1, 32, 33, -1, -1, 36, 104, -1, -1, - -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, - 117, 118, 119, 120, 121, 55, 56, 124, -1, 59, - -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, - -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, - 157, 158, 159, 160, 161, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 104, 172, -1, -1, -1, -1, - 177, 178, -1, 113, 181, 115, 116, 117, 118, 119, - 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, - -1, -1, 132, 133, -1, -1, -1, -1, -1, -1, - -1, 141, 142, 143, 144, 7, 8, -1, -1, -1, - -1, 151, 14, 153, 154, 155, -1, 157, 158, 159, - 160, 161, 24, 25, -1, -1, 28, 29, -1, -1, - 32, 33, 172, -1, 36, -1, -1, 177, 178, -1, - -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, + -1, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, + -1, -1, -1, 114, -1, 116, 117, 118, 119, 120, + 121, 122, -1, -1, 125, -1, -1, -1, 129, -1, + 131, -1, 133, -1, -1, -1, -1, -1, -1, -1, + -1, 142, 143, 144, 145, -1, -1, -1, -1, -1, + -1, 152, -1, 154, 155, 156, -1, 158, 159, 160, + 161, 162, -1, -1, -1, 7, 8, -1, -1, -1, + -1, -1, 173, 15, -1, -1, -1, 178, 179, -1, + -1, 182, -1, 25, 26, -1, -1, 29, 30, -1, + -1, 33, 34, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 56, 57, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 104, -1, -1, -1, -1, -1, -1, -1, - -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, - -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, - -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, + -1, -1, 7, 8, -1, -1, -1, 79, -1, -1, + 15, -1, 84, -1, -1, -1, -1, -1, -1, -1, + 25, 26, -1, -1, 29, 30, -1, -1, 33, 34, + -1, -1, 37, 105, -1, -1, -1, -1, -1, -1, + -1, -1, 114, -1, 116, 117, 118, 119, 120, 121, + 122, 56, 57, 125, -1, 60, -1, 129, -1, -1, + -1, 133, 67, -1, -1, -1, -1, -1, -1, -1, + 142, 143, 144, 145, -1, -1, -1, -1, -1, -1, + 152, -1, 154, 155, 156, -1, 158, 159, 160, 161, + 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 105, 173, -1, -1, -1, -1, 178, 179, -1, 114, + 182, 116, 117, 118, 119, 120, 121, 122, -1, -1, + 125, -1, -1, -1, 129, -1, -1, -1, 133, -1, + -1, -1, -1, -1, -1, -1, -1, 142, 143, 144, + 145, -1, -1, -1, -1, -1, -1, 152, -1, 154, + 155, 156, -1, 158, 159, 160, 161, 162, -1, -1, + -1, 7, 8, -1, -1, -1, -1, -1, 173, 15, + -1, -1, -1, 178, 179, -1, -1, 182, -1, 25, + 26, -1, -1, 29, 30, -1, -1, 33, 34, -1, + -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 172, -1, -1, -1, -1, 177, 178, -1, -1, 181 + 56, 57, -1, -1, 60, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 7, 8, + -1, -1, -1, -1, -1, -1, 15, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 25, 26, -1, -1, + 29, 30, -1, -1, 33, 34, -1, -1, 37, 105, + -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, + 116, 117, 118, 119, 120, 121, 122, 56, 57, 125, + -1, 60, -1, 129, -1, -1, -1, 133, 134, -1, + -1, -1, -1, -1, -1, -1, 142, 143, 144, 145, + -1, -1, -1, -1, -1, -1, 152, -1, 154, 155, + 156, -1, 158, 159, 160, 161, 162, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 105, 173, -1, -1, + -1, -1, 178, 179, -1, 114, 182, 116, 117, 118, + 119, 120, 121, 122, -1, -1, 125, -1, -1, -1, + 129, -1, -1, -1, 133, -1, -1, -1, -1, -1, + -1, -1, -1, 142, 143, 144, 145, -1, -1, -1, + -1, -1, -1, 152, -1, 154, 155, 156, -1, 158, + 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 173, -1, -1, -1, -1, 178, + 179, -1, -1, 182 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 187, 189, 0, 190, 1, 6, 9, 10, 11, - 15, 18, 19, 21, 26, 27, 31, 34, 37, 38, - 39, 40, 41, 42, 43, 45, 53, 55, 67, 74, - 75, 76, 77, 85, 86, 87, 88, 92, 95, 96, - 98, 101, 103, 104, 105, 106, 107, 108, 109, 111, - 123, 126, 127, 129, 130, 138, 142, 145, 180, 188, - 191, 192, 205, 227, 229, 231, 233, 234, 276, 312, - 323, 326, 328, 334, 339, 346, 349, 352, 355, 356, - 357, 358, 359, 360, 404, 406, 407, 409, 415, 416, - 433, 443, 445, 450, 451, 455, 461, 463, 188, 1, - 142, 188, 54, 142, 236, 237, 1, 39, 142, 294, - 323, 326, 1, 456, 1, 452, 1, 464, 1, 7, - 8, 14, 24, 25, 28, 29, 32, 33, 36, 55, - 56, 59, 104, 113, 115, 116, 117, 118, 119, 120, - 121, 124, 128, 132, 141, 142, 143, 144, 151, 153, - 154, 155, 157, 158, 159, 160, 161, 172, 177, 178, - 181, 248, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 265, 267, 270, 1, 142, 1, 142, - 15, 18, 1, 142, 1, 142, 181, 238, 188, 284, - 1, 270, 84, 270, 188, 188, 150, 188, 1, 188, - 286, 188, 1, 6, 129, 188, 188, 188, 15, 18, - 19, 31, 40, 41, 96, 129, 359, 6, 142, 305, - 142, 302, 1, 288, 1, 66, 142, 1, 335, 363, - 327, 1, 142, 1, 84, 181, 285, 405, 1, 15, - 96, 142, 188, 244, 58, 228, 228, 1, 142, 1, - 142, 300, 188, 84, 293, 338, 188, 1, 329, 296, - 20, 69, 272, 272, 1, 35, 181, 354, 1, 354, - 1, 354, 1, 142, 341, 342, 1, 129, 142, 188, - 437, 1, 188, 421, 183, 421, 421, 1, 183, 188, - 299, 420, 1, 270, 271, 417, 419, 1, 279, 1, - 446, 271, 188, 206, 188, 183, 188, 188, 142, 281, - 129, 328, 63, 439, 337, 338, 188, 271, 188, 271, - 20, 35, 150, 465, 466, 467, 477, 53, 67, 68, - 69, 74, 351, 353, 238, 181, 181, 181, 181, 181, - 181, 181, 181, 238, 181, 255, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 255, 255, - 255, 271, 58, 174, 175, 176, 172, 173, 162, 163, - 60, 61, 65, 170, 171, 62, 169, 168, 167, 166, - 63, 64, 184, 66, 351, 188, 188, 188, 444, 22, - 22, 188, 188, 182, 188, 1, 271, 422, 68, 68, - 50, 142, 188, 188, 188, 271, 188, 91, 103, 134, - 142, 142, 15, 18, 1, 361, 188, 183, 183, 307, - 183, 183, 304, 188, 271, 188, 142, 20, 74, 142, - 370, 188, 183, 188, 324, 325, 1, 292, 52, 60, - 61, 71, 79, 80, 146, 147, 148, 164, 165, 424, - 425, 411, 412, 188, 246, 245, 247, 235, 272, 235, - 188, 230, 188, 232, 75, 81, 82, 83, 99, 100, - 313, 315, 316, 322, 309, 50, 142, 309, 188, 309, - 20, 41, 130, 332, 333, 441, 272, 1, 67, 188, - 436, 280, 6, 34, 35, 40, 101, 273, 276, 348, - 20, 188, 57, 149, 225, 270, 277, 188, 341, 188, - 341, 188, 343, 183, 188, 188, 188, 188, 188, 408, - 188, 417, 417, 188, 271, 183, 420, 188, 341, 188, - 271, 1, 183, 282, 207, 226, 271, 237, 297, 52, - 295, 270, 53, 310, 439, 457, 453, 34, 35, 37, - 53, 67, 74, 483, 1, 225, 468, 20, 466, 182, - 182, 270, 271, 270, 270, 270, 270, 270, 271, 271, - 271, 1, 142, 182, 271, 270, 270, 270, 1, 142, - 1, 142, 1, 50, 51, 142, 271, 249, 270, 270, - 270, 270, 270, 270, 270, 271, 271, 182, 55, 59, - 254, 254, 254, 255, 255, 256, 256, 257, 257, 257, - 257, 257, 258, 258, 259, 260, 261, 264, 266, 268, - 267, 183, 459, 460, 142, 142, 188, 1, 188, 423, - 287, 188, 188, 271, 290, 291, 22, 22, 20, 142, - 306, 270, 188, 303, 270, 188, 289, 364, 410, 50, - 142, 188, 250, 251, 252, 271, 422, 271, 413, 414, - 188, 188, 188, 20, 181, 239, 239, 320, 318, 317, - 319, 301, 53, 74, 188, 314, 316, 78, 309, 442, - 370, 271, 20, 188, 188, 272, 1, 70, 1, 70, - 1, 70, 15, 18, 70, 73, 347, 350, 1, 37, - 53, 188, 438, 182, 341, 188, 188, 344, 424, 342, - 413, 420, 420, 418, 188, 447, 188, 142, 188, 462, - 3, 4, 5, 35, 46, 47, 48, 49, 50, 51, - 89, 133, 134, 208, 209, 210, 459, 1, 271, 426, - 439, 311, 310, 183, 183, 188, 20, 478, 84, 1, - 34, 188, 482, 182, 183, 183, 182, 182, 183, 182, - 1, 182, 183, 183, 182, 182, 182, 182, 182, 183, - 182, 183, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 183, 250, 183, 182, 182, 182, 182, 182, 183, - 182, 182, 55, 63, 262, 263, 267, 142, 188, 460, - 196, 194, 188, 188, 188, 47, 89, 401, 16, 17, - 21, 22, 44, 89, 90, 91, 103, 391, 142, 142, - 362, 142, 308, 271, 188, 226, 365, 366, 367, 368, - 440, 441, 411, 182, 183, 183, 18, 19, 31, 41, - 105, 129, 182, 240, 241, 242, 86, 94, 95, 152, - 243, 270, 270, 270, 270, 272, 321, 271, 330, 180, - 1, 74, 188, 434, 20, 188, 188, 275, 188, 274, - 188, 1, 1, 188, 1, 270, 272, 188, 188, 188, - 354, 188, 345, 419, 183, 283, 133, 226, 226, 226, - 49, 225, 213, 225, 225, 226, 188, 210, 439, 53, - 188, 432, 30, 429, 272, 310, 272, 271, 271, 483, - 84, 480, 142, 188, 188, 270, 270, 270, 182, 142, - 270, 270, 270, 271, 182, 270, 270, 257, 185, 1, - 181, 201, 1, 181, 197, 270, 270, 188, 395, 394, - 393, 74, 392, 396, 188, 195, 193, 365, 183, 180, - 372, 370, 1, 84, 188, 340, 252, 414, 181, 182, - 183, 142, 242, 20, 270, 188, 374, 371, 372, 188, - 188, 436, 272, 225, 188, 188, 68, 68, 278, 271, - 271, 462, 142, 213, 212, 122, 125, 214, 211, 53, - 427, 183, 430, 431, 20, 20, 458, 454, 188, 142, - 272, 469, 182, 182, 182, 182, 182, 183, 182, 182, - 182, 183, 182, 182, 269, 188, 142, 202, 203, 188, - 141, 198, 199, 402, 397, 398, 399, 397, 271, 270, - 397, 201, 197, 270, 16, 17, 20, 22, 44, 72, - 89, 90, 373, 369, 188, 1, 50, 142, 225, 241, - 1, 53, 188, 435, 129, 142, 336, 20, 20, 272, - 341, 448, 30, 215, 215, 298, 271, 271, 53, 431, - 435, 435, 459, 459, 479, 82, 476, 270, 270, 267, - 204, 182, 183, 200, 182, 183, 30, 403, 183, 270, - 1, 129, 141, 143, 185, 384, 385, 1, 129, 143, - 376, 377, 1, 17, 375, 1, 129, 141, 143, 185, - 379, 380, 374, 374, 374, 371, 188, 188, 188, 182, - 188, 188, 331, 482, 20, 188, 183, 225, 216, 216, - 272, 428, 188, 188, 20, 225, 81, 182, 182, 225, - 188, 203, 225, 188, 199, 270, 398, 400, 188, 386, - 387, 388, 183, 374, 188, 378, 183, 374, 188, 225, - 188, 381, 382, 383, 183, 374, 337, 1, 35, 188, - 481, 271, 75, 103, 217, 218, 219, 220, 221, 20, - 53, 481, 225, 142, 7, 36, 142, 389, 390, 389, - 389, 385, 389, 377, 374, 389, 389, 389, 380, 188, - 188, 449, 225, 78, 83, 225, 435, 470, 110, 183, - 222, 225, 225, 93, 142, 68, 223, 471, 188, 85, - 142, 272, 181, 472, 224, 68, 250, 473, 182, 272, - 474, 20, 1, 150, 188, 475, 188, 188 + 0, 188, 190, 0, 191, 1, 6, 9, 10, 11, + 12, 16, 19, 20, 22, 27, 28, 32, 35, 38, + 39, 40, 41, 42, 43, 44, 46, 54, 56, 68, + 75, 76, 77, 78, 86, 87, 88, 89, 93, 96, + 97, 99, 102, 104, 105, 106, 107, 108, 109, 110, + 112, 124, 127, 128, 130, 131, 139, 143, 146, 181, + 189, 192, 193, 206, 228, 230, 232, 234, 235, 278, + 315, 326, 329, 331, 337, 342, 349, 352, 355, 358, + 359, 360, 361, 362, 363, 407, 409, 410, 412, 418, + 419, 436, 446, 448, 453, 454, 458, 464, 466, 189, + 1, 143, 1, 182, 303, 189, 9, 55, 143, 237, + 238, 239, 1, 40, 143, 295, 326, 329, 1, 459, + 1, 455, 1, 467, 1, 7, 8, 15, 25, 26, + 29, 30, 33, 34, 37, 56, 57, 60, 105, 114, + 116, 117, 118, 119, 120, 121, 122, 125, 129, 133, + 142, 143, 144, 145, 152, 154, 155, 156, 158, 159, + 160, 161, 162, 173, 178, 179, 182, 250, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 267, + 269, 272, 1, 143, 1, 143, 16, 19, 1, 143, + 1, 143, 182, 240, 189, 286, 1, 272, 85, 272, + 189, 189, 151, 189, 1, 189, 288, 189, 1, 6, + 130, 189, 189, 189, 16, 19, 20, 32, 41, 42, + 97, 130, 362, 6, 143, 308, 143, 305, 1, 290, + 1, 67, 143, 1, 338, 366, 330, 1, 143, 1, + 85, 287, 408, 1, 16, 97, 189, 239, 246, 59, + 229, 229, 1, 143, 1, 143, 301, 189, 85, 294, + 341, 189, 1, 332, 297, 21, 70, 274, 274, 1, + 36, 182, 357, 1, 357, 1, 357, 1, 143, 344, + 345, 1, 130, 143, 189, 440, 1, 189, 424, 184, + 424, 424, 1, 184, 189, 300, 423, 1, 272, 273, + 420, 422, 1, 281, 1, 449, 273, 189, 207, 189, + 303, 252, 253, 254, 273, 189, 184, 189, 189, 143, + 283, 130, 331, 64, 442, 340, 341, 189, 273, 189, + 273, 21, 36, 151, 468, 469, 470, 480, 54, 68, + 69, 70, 75, 354, 356, 240, 182, 182, 182, 182, + 182, 182, 182, 182, 240, 182, 257, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 257, + 257, 257, 273, 59, 175, 176, 177, 173, 174, 163, + 164, 61, 62, 66, 171, 172, 63, 170, 169, 168, + 167, 64, 65, 185, 67, 354, 189, 189, 189, 447, + 23, 23, 189, 189, 183, 189, 1, 273, 425, 69, + 69, 51, 143, 189, 189, 189, 273, 189, 92, 104, + 135, 143, 143, 16, 19, 1, 364, 189, 184, 184, + 310, 184, 184, 307, 189, 273, 189, 143, 21, 75, + 143, 373, 189, 184, 189, 327, 328, 53, 61, 62, + 72, 80, 81, 147, 148, 149, 165, 166, 427, 428, + 414, 415, 189, 248, 247, 249, 236, 274, 236, 189, + 231, 189, 233, 76, 82, 83, 84, 100, 101, 316, + 318, 319, 325, 312, 51, 143, 312, 189, 312, 21, + 42, 131, 335, 336, 444, 274, 1, 68, 189, 439, + 282, 6, 35, 36, 41, 102, 275, 278, 351, 21, + 189, 58, 150, 226, 272, 279, 189, 344, 189, 344, + 189, 346, 184, 189, 189, 189, 189, 189, 411, 189, + 420, 420, 189, 273, 184, 423, 189, 344, 189, 273, + 1, 184, 284, 208, 227, 273, 252, 1, 85, 189, + 304, 343, 184, 238, 298, 53, 296, 272, 54, 313, + 442, 460, 456, 35, 36, 38, 54, 68, 75, 486, + 1, 226, 471, 21, 469, 183, 183, 272, 273, 272, + 272, 272, 272, 272, 273, 273, 273, 1, 183, 239, + 273, 272, 272, 272, 1, 143, 1, 143, 1, 51, + 52, 143, 273, 251, 272, 272, 272, 272, 272, 272, + 272, 273, 273, 183, 56, 60, 256, 256, 256, 257, + 257, 258, 258, 259, 259, 259, 259, 259, 260, 260, + 261, 262, 263, 266, 268, 270, 269, 184, 462, 463, + 143, 143, 189, 1, 189, 426, 289, 189, 189, 273, + 292, 293, 23, 23, 21, 143, 309, 272, 189, 306, + 272, 189, 291, 367, 413, 51, 143, 425, 273, 416, + 417, 189, 189, 189, 21, 182, 241, 241, 323, 321, + 320, 322, 302, 54, 75, 189, 317, 319, 79, 312, + 445, 373, 273, 21, 189, 189, 274, 1, 71, 1, + 71, 1, 71, 16, 19, 71, 74, 350, 353, 1, + 38, 54, 189, 441, 183, 344, 189, 189, 347, 427, + 345, 416, 423, 423, 421, 189, 450, 189, 143, 189, + 465, 3, 4, 5, 36, 47, 48, 49, 50, 51, + 52, 90, 134, 135, 209, 210, 211, 183, 189, 1, + 51, 143, 254, 462, 1, 273, 429, 442, 314, 313, + 184, 184, 189, 21, 481, 85, 1, 35, 189, 485, + 183, 184, 184, 183, 183, 184, 183, 1, 183, 184, + 184, 183, 183, 183, 183, 183, 184, 183, 184, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 184, 252, + 184, 183, 183, 183, 183, 183, 184, 183, 183, 56, + 64, 264, 265, 269, 143, 189, 463, 197, 195, 189, + 189, 189, 48, 90, 404, 17, 18, 22, 23, 45, + 90, 91, 92, 104, 394, 143, 143, 365, 143, 311, + 273, 189, 227, 368, 369, 370, 371, 443, 444, 414, + 184, 19, 20, 32, 42, 106, 130, 183, 242, 243, + 244, 87, 95, 96, 153, 245, 272, 272, 272, 272, + 274, 324, 273, 333, 181, 1, 75, 189, 437, 21, + 189, 189, 277, 189, 276, 189, 1, 1, 189, 1, + 272, 274, 189, 189, 189, 357, 189, 348, 422, 184, + 285, 134, 227, 227, 227, 50, 226, 214, 226, 226, + 227, 189, 211, 304, 189, 189, 189, 442, 54, 189, + 435, 31, 432, 274, 313, 274, 273, 273, 486, 85, + 483, 143, 189, 189, 272, 272, 272, 183, 143, 272, + 272, 272, 273, 183, 272, 272, 259, 186, 1, 182, + 202, 1, 182, 198, 272, 272, 189, 398, 397, 396, + 75, 395, 399, 189, 196, 194, 368, 184, 181, 375, + 373, 417, 182, 183, 184, 143, 244, 21, 272, 189, + 377, 374, 375, 189, 189, 439, 274, 226, 189, 189, + 69, 69, 280, 273, 273, 465, 143, 214, 213, 123, + 126, 215, 212, 54, 430, 184, 433, 434, 21, 21, + 461, 457, 189, 143, 274, 472, 183, 183, 183, 183, + 183, 184, 183, 183, 183, 184, 183, 183, 271, 189, + 203, 204, 239, 189, 142, 199, 200, 405, 400, 401, + 402, 400, 273, 272, 400, 202, 198, 272, 17, 18, + 21, 23, 45, 73, 90, 91, 376, 372, 226, 243, + 1, 54, 189, 438, 130, 143, 339, 21, 21, 274, + 344, 451, 31, 216, 216, 299, 273, 273, 54, 434, + 438, 438, 462, 462, 482, 83, 479, 272, 272, 269, + 183, 184, 205, 201, 183, 184, 31, 406, 184, 272, + 1, 130, 142, 144, 186, 387, 388, 1, 130, 144, + 379, 380, 1, 18, 378, 1, 130, 142, 144, 186, + 382, 383, 377, 377, 377, 374, 183, 189, 189, 334, + 485, 21, 189, 184, 226, 217, 217, 274, 431, 189, + 189, 21, 226, 82, 183, 183, 189, 204, 226, 226, + 189, 200, 272, 401, 403, 189, 389, 390, 391, 184, + 377, 189, 381, 184, 377, 189, 226, 189, 384, 385, + 386, 184, 377, 340, 1, 36, 189, 484, 273, 76, + 104, 218, 219, 220, 221, 222, 21, 54, 484, 226, + 143, 7, 37, 143, 392, 393, 392, 392, 388, 392, + 380, 377, 392, 392, 392, 383, 189, 189, 452, 226, + 79, 84, 226, 438, 473, 111, 184, 223, 226, 226, + 94, 143, 69, 224, 474, 189, 9, 86, 274, 182, + 475, 225, 69, 252, 476, 183, 274, 477, 21, 1, + 151, 189, 478, 189, 189 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 186, 187, 188, 189, 190, 189, 191, 191, 191, - 191, 191, 192, 192, 193, 192, 194, 192, 195, 192, - 196, 192, 197, 197, 198, 198, 200, 199, 201, 201, - 202, 202, 204, 203, 206, 205, 205, 207, 207, 208, - 208, 209, 209, 210, 210, 210, 210, 210, 210, 210, - 211, 210, 210, 212, 210, 210, 210, 210, 210, 213, - 213, 214, 214, 215, 215, 216, 216, 217, 217, 217, - 218, 219, 220, 221, 222, 221, 223, 223, 224, 223, - 225, 226, 227, 227, 228, 228, 229, 230, 229, 231, - 232, 231, 233, 233, 234, 234, 235, 236, 236, 237, - 238, 238, 239, 239, 239, 240, 240, 241, 242, 242, - 242, 242, 242, 242, 242, 243, 243, 243, 243, 244, - 245, 244, 246, 244, 247, 244, 244, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 249, 248, 248, 248, 248, 248, 248, - 250, 250, 251, 251, 252, 253, 253, 253, 254, 254, - 254, 254, 254, 255, 255, 255, 255, 256, 256, 256, - 257, 257, 257, 258, 258, 258, 258, 258, 258, 259, - 259, 259, 260, 260, 261, 261, 262, 262, 263, 264, - 263, 265, 266, 265, 267, 268, 269, 267, 270, 270, - 271, 271, 272, 272, 273, 273, 274, 273, 273, 275, - 273, 273, 273, 273, 273, 273, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 277, 276, 278, 276, - 276, 279, 276, 276, 276, 276, 280, 276, 281, 276, - 276, 282, 276, 283, 276, 276, 284, 276, 285, 276, - 276, 286, 287, 276, 276, 288, 289, 276, 276, 276, - 290, 276, 276, 276, 276, 276, 276, 276, 276, 276, - 291, 276, 276, 292, 276, 276, 276, 276, 276, 293, - 276, 276, 276, 294, 295, 276, 276, 296, 276, 276, - 276, 297, 298, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 299, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 300, - 301, 276, 276, 276, 303, 302, 304, 304, 306, 305, - 307, 308, 307, 309, 311, 310, 312, 312, 313, 314, - 314, 314, 315, 315, 317, 316, 318, 316, 319, 316, - 320, 316, 321, 316, 322, 322, 322, 323, 324, 323, - 325, 323, 327, 326, 329, 330, 331, 328, 328, 332, - 333, 332, 335, 334, 336, 336, 336, 337, 337, 338, - 338, 339, 339, 339, 340, 340, 340, 340, 340, 341, - 341, 343, 342, 344, 345, 344, 346, 347, 348, 348, - 349, 349, 350, 350, 351, 351, 352, 352, 352, 353, - 353, 353, 354, 354, 354, 355, 355, 356, 356, 357, - 357, 358, 358, 359, 359, 359, 361, 362, 360, 360, - 363, 364, 360, 360, 365, 365, 367, 366, 369, 368, - 370, 371, 372, 372, 373, 373, 373, 373, 373, 373, - 373, 373, 373, 373, 373, 374, 374, 375, 375, 376, - 376, 378, 377, 377, 379, 379, 381, 380, 382, 380, - 383, 380, 380, 384, 384, 386, 385, 387, 385, 388, - 385, 385, 389, 390, 390, 390, 390, 391, 391, 391, - 391, 392, 391, 391, 393, 391, 394, 391, 395, 391, - 396, 391, 397, 397, 399, 400, 398, 401, 402, 401, - 403, 403, 405, 404, 406, 406, 408, 407, 410, 409, - 412, 411, 413, 413, 414, 415, 415, 416, 416, 417, - 418, 417, 419, 420, 421, 422, 422, 423, 423, 424, - 424, 424, 424, 424, 424, 425, 425, 425, 425, 425, - 425, 427, 428, 426, 429, 426, 426, 430, 430, 431, - 432, 432, 433, 433, 434, 434, 434, 435, 435, 435, - 436, 436, 436, 437, 437, 437, 437, 438, 438, 438, - 438, 439, 439, 440, 440, 441, 442, 441, 444, 443, - 443, 446, 447, 448, 449, 445, 445, 450, 450, 452, - 453, 454, 451, 451, 456, 457, 458, 455, 455, 459, - 459, 460, 461, 462, 464, 463, 463, 465, 465, 466, - 466, 468, 469, 470, 471, 472, 473, 474, 467, 475, - 475, 475, 476, 476, 478, 479, 477, 477, 480, 480, - 481, 481, 481, 482, 482, 482, 483, 483, 483, 483, - 483, 483, 483 + 0, 187, 188, 189, 190, 191, 190, 192, 192, 192, + 192, 192, 193, 193, 194, 193, 195, 193, 196, 193, + 197, 193, 198, 198, 199, 199, 201, 200, 202, 202, + 203, 203, 205, 204, 207, 206, 206, 208, 208, 209, + 209, 210, 210, 211, 211, 211, 211, 211, 211, 211, + 212, 211, 211, 213, 211, 211, 211, 211, 211, 214, + 214, 215, 215, 216, 216, 217, 217, 218, 218, 218, + 219, 220, 221, 222, 223, 222, 224, 224, 225, 224, + 226, 227, 228, 228, 229, 229, 230, 231, 230, 232, + 233, 232, 234, 234, 235, 235, 236, 237, 237, 238, + 239, 239, 240, 240, 241, 241, 241, 242, 242, 243, + 244, 244, 244, 244, 244, 244, 244, 245, 245, 245, + 245, 246, 247, 246, 248, 246, 249, 246, 246, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 251, 250, 250, 250, 250, + 250, 250, 252, 252, 253, 253, 254, 255, 255, 255, + 256, 256, 256, 256, 256, 257, 257, 257, 257, 258, + 258, 258, 259, 259, 259, 260, 260, 260, 260, 260, + 260, 261, 261, 261, 262, 262, 263, 263, 264, 264, + 265, 266, 265, 267, 268, 267, 269, 270, 271, 269, + 272, 272, 273, 273, 274, 274, 275, 275, 276, 275, + 275, 277, 275, 275, 275, 275, 275, 275, 278, 278, + 278, 278, 278, 278, 278, 278, 278, 278, 279, 278, + 280, 278, 278, 281, 278, 278, 278, 278, 282, 278, + 283, 278, 278, 284, 278, 285, 278, 278, 286, 278, + 287, 278, 278, 288, 289, 278, 278, 290, 291, 278, + 278, 278, 292, 278, 278, 278, 278, 278, 278, 278, + 278, 278, 293, 278, 278, 278, 278, 278, 278, 278, + 278, 294, 278, 278, 278, 295, 296, 278, 278, 297, + 278, 278, 278, 298, 299, 278, 278, 278, 278, 278, + 278, 278, 278, 278, 278, 278, 278, 300, 278, 278, + 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, + 278, 301, 302, 278, 278, 278, 303, 304, 306, 305, + 307, 307, 309, 308, 310, 311, 310, 312, 314, 313, + 315, 315, 316, 317, 317, 317, 318, 318, 320, 319, + 321, 319, 322, 319, 323, 319, 324, 319, 325, 325, + 325, 326, 327, 326, 328, 326, 330, 329, 332, 333, + 334, 331, 331, 335, 336, 335, 338, 337, 339, 339, + 339, 340, 340, 341, 341, 342, 342, 342, 343, 343, + 343, 343, 343, 344, 344, 346, 345, 347, 348, 347, + 349, 350, 351, 351, 352, 352, 353, 353, 354, 354, + 355, 355, 355, 356, 356, 356, 357, 357, 357, 358, + 358, 359, 359, 360, 360, 361, 361, 362, 362, 362, + 364, 365, 363, 363, 366, 367, 363, 363, 368, 368, + 370, 369, 372, 371, 373, 374, 375, 375, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 377, + 377, 378, 378, 379, 379, 381, 380, 380, 382, 382, + 384, 383, 385, 383, 386, 383, 383, 387, 387, 389, + 388, 390, 388, 391, 388, 388, 392, 393, 393, 393, + 393, 394, 394, 394, 394, 395, 394, 394, 396, 394, + 397, 394, 398, 394, 399, 394, 400, 400, 402, 403, + 401, 404, 405, 404, 406, 406, 408, 407, 409, 409, + 411, 410, 413, 412, 415, 414, 416, 416, 417, 418, + 418, 419, 419, 420, 421, 420, 422, 423, 424, 425, + 425, 426, 426, 427, 427, 427, 427, 427, 427, 428, + 428, 428, 428, 428, 428, 430, 431, 429, 432, 429, + 429, 433, 433, 434, 435, 435, 436, 436, 437, 437, + 437, 438, 438, 438, 439, 439, 439, 440, 440, 440, + 440, 441, 441, 441, 441, 442, 442, 443, 443, 444, + 445, 444, 447, 446, 446, 449, 450, 451, 452, 448, + 448, 453, 453, 455, 456, 457, 454, 454, 459, 460, + 461, 458, 458, 462, 462, 463, 464, 465, 467, 466, + 466, 468, 468, 469, 469, 471, 472, 473, 474, 475, + 476, 477, 470, 478, 478, 478, 479, 479, 481, 482, + 480, 480, 483, 483, 484, 484, 484, 485, 485, 485, + 486, 486, 486, 486, 486, 486, 486 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -2869,65 +2900,65 @@ static const yytype_uint8 yyr2[] = 3, 3, 2, 0, 0, 4, 0, 2, 0, 6, 1, 1, 3, 3, 0, 1, 3, 0, 6, 3, 0, 5, 2, 1, 2, 1, 2, 1, 3, 1, - 0, 2, 0, 2, 3, 1, 3, 2, 1, 1, - 1, 4, 1, 1, 1, 0, 1, 1, 1, 1, - 0, 3, 0, 3, 0, 3, 2, 1, 1, 1, - 1, 1, 6, 6, 4, 6, 4, 4, 4, 4, - 4, 4, 4, 4, 6, 4, 6, 8, 6, 8, - 4, 4, 4, 4, 6, 5, 4, 4, 6, 6, - 4, 6, 4, 4, 4, 4, 4, 4, 4, 4, - 3, 4, 4, 0, 5, 3, 3, 2, 2, 3, - 0, 1, 1, 3, 1, 1, 3, 4, 1, 2, - 2, 2, 2, 1, 3, 3, 3, 1, 3, 3, - 1, 3, 3, 1, 3, 3, 3, 3, 5, 1, - 3, 3, 1, 3, 1, 3, 1, 3, 1, 0, - 4, 1, 0, 4, 1, 0, 0, 7, 1, 3, - 1, 2, 0, 2, 1, 3, 0, 7, 3, 0, - 6, 3, 3, 3, 4, 4, 1, 2, 2, 2, - 3, 3, 4, 3, 4, 3, 0, 5, 0, 8, - 3, 0, 4, 3, 4, 3, 0, 6, 0, 8, - 3, 0, 4, 0, 6, 4, 0, 3, 0, 4, - 2, 0, 0, 5, 3, 0, 0, 5, 3, 3, - 0, 6, 5, 4, 4, 3, 2, 2, 2, 3, - 0, 6, 3, 0, 6, 4, 2, 3, 4, 0, - 3, 3, 4, 0, 0, 6, 5, 0, 5, 3, - 3, 0, 0, 11, 1, 1, 1, 1, 2, 3, - 2, 3, 2, 3, 2, 0, 4, 4, 3, 3, - 3, 2, 3, 3, 2, 3, 2, 4, 4, 0, - 0, 7, 3, 2, 0, 4, 0, 2, 0, 4, - 0, 0, 5, 0, 0, 5, 1, 1, 2, 1, - 1, 1, 1, 2, 0, 3, 0, 3, 0, 3, - 0, 3, 0, 4, 0, 1, 1, 1, 0, 4, - 0, 4, 0, 3, 0, 0, 0, 9, 3, 1, - 0, 3, 0, 3, 0, 1, 1, 0, 1, 2, - 2, 1, 3, 3, 1, 3, 3, 3, 2, 1, - 3, 0, 3, 0, 0, 3, 3, 2, 0, 2, - 3, 3, 3, 3, 1, 1, 3, 3, 3, 1, - 1, 1, 0, 2, 2, 2, 1, 2, 1, 2, - 1, 2, 1, 1, 1, 1, 0, 0, 6, 4, - 0, 0, 5, 3, 1, 1, 0, 3, 0, 4, - 0, 2, 0, 2, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 4, 3, 0, 1, 0, 1, 1, - 3, 0, 3, 1, 1, 3, 0, 3, 0, 3, - 0, 3, 1, 1, 3, 0, 3, 0, 3, 0, - 3, 1, 1, 1, 1, 1, 2, 1, 1, 1, - 2, 0, 3, 1, 0, 3, 0, 3, 0, 3, - 0, 3, 1, 3, 0, 0, 4, 2, 0, 4, - 0, 2, 0, 3, 3, 2, 0, 4, 0, 5, - 0, 2, 1, 3, 1, 2, 2, 1, 1, 1, - 0, 4, 1, 1, 1, 2, 2, 1, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 6, 0, 4, 2, 1, 2, 2, - 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, - 1, 2, 2, 1, 2, 2, 2, 1, 2, 2, - 2, 0, 2, 1, 2, 1, 0, 4, 0, 5, - 3, 0, 0, 0, 0, 13, 3, 1, 1, 0, - 0, 0, 9, 3, 0, 0, 0, 9, 3, 1, - 2, 2, 1, 1, 0, 5, 5, 1, 2, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 19, 1, - 2, 2, 0, 2, 0, 0, 8, 5, 0, 2, - 1, 2, 2, 1, 2, 2, 0, 1, 1, 1, - 1, 1, 1 + 1, 1, 0, 2, 0, 2, 3, 1, 3, 2, + 1, 1, 1, 4, 1, 1, 1, 0, 1, 1, + 1, 1, 0, 3, 0, 3, 0, 3, 2, 1, + 1, 1, 1, 1, 6, 6, 4, 6, 4, 4, + 4, 4, 4, 4, 4, 4, 6, 4, 6, 8, + 6, 8, 4, 4, 4, 4, 6, 5, 4, 4, + 6, 6, 4, 6, 4, 4, 4, 4, 4, 4, + 4, 4, 3, 4, 4, 0, 5, 3, 3, 2, + 2, 3, 0, 1, 1, 3, 1, 1, 3, 4, + 1, 2, 2, 2, 2, 1, 3, 3, 3, 1, + 3, 3, 1, 3, 3, 1, 3, 3, 3, 3, + 5, 1, 3, 3, 1, 3, 1, 3, 1, 3, + 1, 0, 4, 1, 0, 4, 1, 0, 0, 7, + 1, 3, 1, 2, 0, 2, 1, 3, 0, 7, + 3, 0, 6, 3, 3, 3, 4, 4, 1, 2, + 2, 2, 3, 3, 4, 3, 4, 3, 0, 5, + 0, 8, 3, 0, 4, 3, 4, 3, 0, 6, + 0, 8, 3, 0, 4, 0, 6, 4, 0, 3, + 0, 4, 2, 0, 0, 5, 3, 0, 0, 5, + 3, 3, 0, 6, 5, 4, 4, 3, 2, 2, + 2, 3, 0, 6, 3, 6, 4, 3, 2, 3, + 4, 0, 3, 3, 4, 0, 0, 6, 5, 0, + 5, 3, 3, 0, 0, 11, 1, 1, 1, 1, + 2, 3, 2, 3, 2, 3, 2, 0, 4, 4, + 3, 3, 3, 2, 3, 3, 2, 3, 2, 4, + 4, 0, 0, 7, 3, 2, 0, 1, 0, 4, + 0, 2, 0, 4, 0, 0, 5, 0, 0, 5, + 1, 1, 2, 1, 1, 1, 1, 2, 0, 3, + 0, 3, 0, 3, 0, 3, 0, 4, 0, 1, + 1, 1, 0, 4, 0, 4, 0, 3, 0, 0, + 0, 9, 3, 1, 0, 3, 0, 3, 0, 1, + 1, 0, 1, 2, 2, 1, 3, 3, 1, 3, + 3, 3, 2, 1, 3, 0, 3, 0, 0, 3, + 3, 2, 0, 2, 3, 3, 3, 3, 1, 1, + 3, 3, 3, 1, 1, 1, 0, 2, 2, 2, + 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, + 0, 0, 6, 4, 0, 0, 5, 3, 1, 1, + 0, 3, 0, 4, 0, 2, 0, 2, 3, 3, + 3, 3, 3, 3, 2, 2, 2, 4, 3, 0, + 1, 0, 1, 1, 3, 0, 3, 1, 1, 3, + 0, 3, 0, 3, 0, 3, 1, 1, 3, 0, + 3, 0, 3, 0, 3, 1, 1, 1, 1, 1, + 2, 1, 1, 1, 2, 0, 3, 1, 0, 3, + 0, 3, 0, 3, 0, 3, 1, 3, 0, 0, + 4, 2, 0, 4, 0, 2, 0, 3, 3, 2, + 0, 4, 0, 5, 0, 2, 1, 3, 1, 2, + 2, 1, 1, 1, 0, 4, 1, 1, 1, 2, + 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 0, 6, 0, 4, + 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, + 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, + 2, 1, 2, 2, 2, 0, 2, 1, 2, 1, + 0, 4, 0, 5, 3, 0, 0, 0, 0, 13, + 3, 1, 1, 0, 0, 0, 9, 3, 0, 0, + 0, 9, 3, 1, 2, 2, 1, 1, 0, 5, + 5, 1, 2, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 19, 1, 2, 2, 0, 2, 0, 0, + 8, 5, 0, 2, 1, 2, 2, 1, 2, 2, + 0, 1, 1, 1, 1, 1, 1 }; @@ -3610,47 +3641,47 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 540 "rwlparser.y" /* yacc.c:1646 */ +#line 541 "rwlparser.y" /* yacc.c:1646 */ { ; // we are done! } -#line 3618 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3649 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 3: -#line 546 "rwlparser.y" /* yacc.c:1646 */ +#line 547 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) YYABORT; } -#line 3624 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3655 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 5: -#line 552 "rwlparser.y" /* yacc.c:1646 */ +#line 553 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3634 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3665 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 6: -#line 558 "rwlparser.y" /* yacc.c:1646 */ +#line 559 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3644 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3675 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 10: -#line 573 "rwlparser.y" /* yacc.c:1646 */ +#line 574 "rwlparser.y" /* yacc.c:1646 */ { rwlprintallvars(rwm); } -#line 3650 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3681 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 13: -#line 584 "rwlparser.y" /* yacc.c:1646 */ +#line 585 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) rwlcodetail(rwm); @@ -3665,11 +3696,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->codename = 0; // we are no longer compiling code rwm->codeguess = RWL_VAR_NOGUESS; } -#line 3669 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3700 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 14: -#line 600 "rwlparser.y" /* yacc.c:1646 */ +#line 601 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3677,22 +3708,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3681 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3712 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 16: -#line 609 "rwlparser.y" /* yacc.c:1646 */ +#line 610 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3692 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3723 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 18: -#line 617 "rwlparser.y" /* yacc.c:1646 */ +#line 618 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3700,83 +3731,83 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3704 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3735 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 20: -#line 626 "rwlparser.y" /* yacc.c:1646 */ +#line 627 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3714 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3745 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 22: -#line 637 "rwlparser.y" /* yacc.c:1646 */ +#line 638 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3722 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3753 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 23: -#line 641 "rwlparser.y" /* yacc.c:1646 */ +#line 642 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAST); yyerrok; } -#line 3733 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3764 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 26: -#line 654 "rwlparser.y" /* yacc.c:1646 */ +#line 655 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->sval; } -#line 3739 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3770 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 27: -#line 656 "rwlparser.y" /* yacc.c:1646 */ +#line 657 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3745 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3776 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 28: -#line 662 "rwlparser.y" /* yacc.c:1646 */ +#line 663 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3753 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3784 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 29: -#line 666 "rwlparser.y" /* yacc.c:1646 */ +#line 667 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAPROC); yyerrok; } -#line 3764 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3795 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 32: -#line 678 "rwlparser.y" /* yacc.c:1646 */ +#line 679 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->inam; } -#line 3770 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3801 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 33: -#line 680 "rwlparser.y" /* yacc.c:1646 */ +#line 681 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3776 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3807 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 34: -#line 685 "rwlparser.y" /* yacc.c:1646 */ +#line 686 "rwlparser.y" /* yacc.c:1646 */ { // add identifier sb4 ld = rwladdvar(rwm, rwm->inam, RWL_TYPE_DB, 0); @@ -3793,11 +3824,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m2flags, RWL_P2_SOMEEXPFAIL); } -#line 3797 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3828 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 35: -#line 702 "rwlparser.y" /* yacc.c:1646 */ +#line 703 "rwlparser.y" /* yacc.c:1646 */ { // fix core dump, only call builddb if everything fine if (bit(rwm->m2flags, RWL_P2_SOMEEXPFAIL)) @@ -3853,17 +3884,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m3flags, RWL_P3_GENERATE_OK); } } -#line 3857 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3888 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 36: -#line 758 "rwlparser.y" /* yacc.c:1646 */ +#line 759 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DATABASE_WRONG); yyerrok; } -#line 3863 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3894 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 38: -#line 764 "rwlparser.y" /* yacc.c:1646 */ +#line 765 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3873,11 +3904,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3877 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3908 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 43: -#line 784 "rwlparser.y" /* yacc.c:1646 */ +#line 785 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3887,20 +3918,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3891 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3922 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 44: -#line 794 "rwlparser.y" /* yacc.c:1646 */ +#line 795 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) rwm->dbsav->password = rwlstrdup(rwm, rwm->pval.sval); } -#line 3900 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3931 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 45: -#line 799 "rwlparser.y" /* yacc.c:1646 */ +#line 800 "rwlparser.y" /* yacc.c:1646 */ { if (rwlcclassgood(rwm, (rwm->pval.sval))) { @@ -3908,11 +3939,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->cclass = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3912 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3943 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 46: -#line 807 "rwlparser.y" /* yacc.c:1646 */ +#line 808 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3925,11 +3956,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3929 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3960 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 47: -#line 820 "rwlparser.y" /* yacc.c:1646 */ +#line 821 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3960,11 +3991,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3964 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3995 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 48: -#line 851 "rwlparser.y" /* yacc.c:1646 */ +#line 852 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "results", rwm->resdb); @@ -3975,11 +4006,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->resdb = rwm->dbname; } } -#line 3979 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4010 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 49: -#line 862 "rwlparser.y" /* yacc.c:1646 */ +#line 863 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "default", rwm->defdb); @@ -3990,11 +4021,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->defdb = rwm->dbname; } } -#line 3994 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4025 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 50: -#line 873 "rwlparser.y" /* yacc.c:1646 */ +#line 874 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4008,11 +4039,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"connectionpool max size"; } } -#line 4012 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4043 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 52: -#line 889 "rwlparser.y" /* yacc.c:1646 */ +#line 890 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4021,11 +4052,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags, RWL_DB_CCACHUSER); } } -#line 4025 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4056 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 53: -#line 898 "rwlparser.y" /* yacc.c:1646 */ +#line 899 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4040,11 +4071,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"sessionpool max size"; } } -#line 4044 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4075 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 55: -#line 916 "rwlparser.y" /* yacc.c:1646 */ +#line 917 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4054,11 +4085,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "drcp pooled"; } } -#line 4058 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4089 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 56: -#line 926 "rwlparser.y" /* yacc.c:1646 */ +#line 927 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4068,11 +4099,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "dedicated"; } } -#line 4072 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4103 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 57: -#line 936 "rwlparser.y" /* yacc.c:1646 */ +#line 937 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4082,11 +4113,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "threads dedicated"; } } -#line 4086 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4117 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 58: -#line 946 "rwlparser.y" /* yacc.c:1646 */ +#line 947 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4096,11 +4127,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "reconnect"; } } -#line 4100 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4131 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 61: -#line 963 "rwlparser.y" /* yacc.c:1646 */ +#line 964 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "statemark",RWL_OCI_VERSION); @@ -4108,11 +4139,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_STATEMARK); #endif } -#line 4112 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4143 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 62: -#line 971 "rwlparser.y" /* yacc.c:1646 */ +#line 972 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "requestmark",RWL_OCI_VERSION); @@ -4120,11 +4151,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_REQMARK); #endif } -#line 4124 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4155 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 63: -#line 981 "rwlparser.y" /* yacc.c:1646 */ +#line 982 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4135,11 +4166,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4139 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4170 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 64: -#line 992 "rwlparser.y" /* yacc.c:1646 */ +#line 993 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4151,11 +4182,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4186 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 70: -#line 1017 "rwlparser.y" /* yacc.c:1646 */ +#line 1018 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION > 12) if (rwm->dbsav) @@ -4176,11 +4207,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool release count"); #endif } -#line 4180 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4211 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 71: -#line 1041 "rwlparser.y" /* yacc.c:1646 */ +#line 1042 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION > 12) if (rwm->dbsav) @@ -4201,11 +4232,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool release every"); #endif } -#line 4205 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4236 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 72: -#line 1065 "rwlparser.y" /* yacc.c:1646 */ +#line 1066 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4214,11 +4245,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , RWL_DBPOOL_DEFAULT_TIMEOUT, (text *)"release timeout"); } } -#line 4218 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4249 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 74: -#line 1078 "rwlparser.y" /* yacc.c:1646 */ +#line 1079 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) @@ -4227,20 +4258,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool wait attribute"); #endif } -#line 4231 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4262 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 77: -#line 1092 "rwlparser.y" /* yacc.c:1646 */ +#line 1093 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); } -#line 4240 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4271 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 78: -#line 1097 "rwlparser.y" /* yacc.c:1646 */ +#line 1098 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4251,11 +4282,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[0] = rwm->inam; rwlexprbeg(rwm); } -#line 4255 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4286 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 79: -#line 1108 "rwlparser.y" /* yacc.c:1646 */ +#line 1109 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; @@ -4267,27 +4298,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 4271 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4302 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 80: -#line 1125 "rwlparser.y" /* yacc.c:1646 */ +#line 1126 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4279 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4310 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 81: -#line 1132 "rwlparser.y" /* yacc.c:1646 */ +#line 1133 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4287 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4318 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 86: -#line 1148 "rwlparser.y" /* yacc.c:1646 */ +#line 1149 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4299,11 +4330,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4303 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4334 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 87: -#line 1160 "rwlparser.y" /* yacc.c:1646 */ +#line 1161 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_FUNC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) // e.g. out of space @@ -4318,11 +4349,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, at least 1 for return value */ } -#line 4322 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4353 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 88: -#line 1176 "rwlparser.y" /* yacc.c:1646 */ +#line 1177 "rwlparser.y" /* yacc.c:1646 */ { /* codeguess was set en rwlcodeaddp */ if (rwm->codeguess>=0 && rwm->dtype) @@ -4354,11 +4385,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->supsemerr = RWL_SUPSEM_FUNC; } -#line 4358 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4389 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 89: -#line 1212 "rwlparser.y" /* yacc.c:1646 */ +#line 1213 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4369,11 +4400,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4373 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4404 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 90: -#line 1223 "rwlparser.y" /* yacc.c:1646 */ +#line 1224 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_PROC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) /* e.g. out of space */ @@ -4385,54 +4416,54 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, return value space is wasted */ } -#line 4389 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4420 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 91: -#line 1236 "rwlparser.y" /* yacc.c:1646 */ +#line 1237 "rwlparser.y" /* yacc.c:1646 */ { rwm->mxq->evar[rwm->codeguess].v2val = rwm->facnt; rwm->supsemerr = RWL_SUPSEM_PROC; } -#line 4398 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4429 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 92: -#line 1244 "rwlparser.y" /* yacc.c:1646 */ +#line 1245 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4407 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4438 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 93: -#line 1249 "rwlparser.y" /* yacc.c:1646 */ +#line 1250 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4415 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4446 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 94: -#line 1256 "rwlparser.y" /* yacc.c:1646 */ +#line 1257 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4424 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4455 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 95: -#line 1261 "rwlparser.y" /* yacc.c:1646 */ +#line 1262 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4432 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4463 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 96: -#line 1268 "rwlparser.y" /* yacc.c:1646 */ +#line 1269 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) { @@ -4514,39 +4545,39 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } finishcodebody: ; } -#line 4518 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4549 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 99: -#line 1358 "rwlparser.y" /* yacc.c:1646 */ +#line 1359 "rwlparser.y" /* yacc.c:1646 */ { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) rwlprintvar(rwm->mxq, l); } -#line 4528 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4559 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 100: -#line 1366 "rwlparser.y" /* yacc.c:1646 */ + case 102: +#line 1372 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4534 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4565 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 101: -#line 1367 "rwlparser.y" /* yacc.c:1646 */ + case 103: +#line 1373 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4540 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4571 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 102: -#line 1370 "rwlparser.y" /* yacc.c:1646 */ + case 104: +#line 1376 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_MISSING_DECL_BRACK); } -#line 4546 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4577 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 107: -#line 1382 "rwlparser.y" /* yacc.c:1646 */ + case 109: +#line 1388 "rwlparser.y" /* yacc.c:1646 */ { sb4 la; if (rwm->dtype && @@ -4570,29 +4601,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4574 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4605 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 108: -#line 1410 "rwlparser.y" /* yacc.c:1646 */ + case 110: +#line 1416 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4580 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4611 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 109: -#line 1412 "rwlparser.y" /* yacc.c:1646 */ + case 111: +#line 1418 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4586 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4617 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 110: -#line 1414 "rwlparser.y" /* yacc.c:1646 */ + case 112: +#line 1420 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4592 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4623 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 111: -#line 1416 "rwlparser.y" /* yacc.c:1646 */ + case 113: +#line 1422 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -4607,50 +4638,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen=RWL_MAX_STRING_LENGTH; } } -#line 4611 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4642 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 112: -#line 1431 "rwlparser.y" /* yacc.c:1646 */ + case 114: +#line 1437 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "file"); } -#line 4620 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4651 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 113: -#line 1436 "rwlparser.y" /* yacc.c:1646 */ + case 115: +#line 1442 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "sql"); } -#line 4629 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4660 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 114: -#line 1441 "rwlparser.y" /* yacc.c:1646 */ + case 116: +#line 1447 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "clob"); } -#line 4638 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4669 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 116: -#line 1450 "rwlparser.y" /* yacc.c:1646 */ + case 118: +#line 1456 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_STATSONLY); } -#line 4644 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4675 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 117: -#line 1452 "rwlparser.y" /* yacc.c:1646 */ + case 119: +#line 1458 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_PROCHASSQL); } -#line 4650 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4681 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 118: -#line 1454 "rwlparser.y" /* yacc.c:1646 */ + case 120: +#line 1460 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; l = rwlfindvar(rwm->mxq, rwm->codename, RWL_VAR_NOGUESS); @@ -4666,11 +4697,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4670 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4701 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 120: -#line 1474 "rwlparser.y" /* yacc.c:1646 */ + case 122: +#line 1480 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4684,11 +4715,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "procedure", rwm->codename); } } -#line 4688 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4719 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 122: -#line 1489 "rwlparser.y" /* yacc.c:1646 */ + case 124: +#line 1495 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4702,11 +4733,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "function", rwm->codename); } } -#line 4706 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4737 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 124: -#line 1504 "rwlparser.y" /* yacc.c:1646 */ + case 126: +#line 1510 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4721,11 +4752,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->codename); } } -#line 4725 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4756 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 126: -#line 1520 "rwlparser.y" /* yacc.c:1646 */ + case 128: +#line 1526 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4741,11 +4772,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); yyerrok; } } -#line 4745 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4776 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 127: -#line 1563 "rwlparser.y" /* yacc.c:1646 */ + case 129: +#line 1569 "rwlparser.y" /* yacc.c:1646 */ { /* There are cases where we have an expression followed @@ -4758,11 +4789,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam, RWL_STACK_VAR); } -#line 4762 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4793 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 128: -#line 1577 "rwlparser.y" /* yacc.c:1646 */ + case 130: +#line 1583 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4776,11 +4807,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_DBL; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4780 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4811 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 129: -#line 1591 "rwlparser.y" /* yacc.c:1646 */ + case 131: +#line 1597 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4794,11 +4825,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_INT; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4798 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4829 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 130: -#line 1605 "rwlparser.y" /* yacc.c:1646 */ + case 132: +#line 1611 "rwlparser.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ @@ -4810,208 +4841,208 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_STR; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4814 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4845 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 131: -#line 1617 "rwlparser.y" /* yacc.c:1646 */ + case 133: +#line 1623 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } -#line 4822 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4853 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 132: -#line 1620 "rwlparser.y" /* yacc.c:1646 */ + case 134: +#line 1626 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_UNIFORM); } -#line 4828 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4859 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 133: -#line 1621 "rwlparser.y" /* yacc.c:1646 */ + case 135: +#line 1627 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOGB); } -#line 4834 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4865 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 134: -#line 1622 "rwlparser.y" /* yacc.c:1646 */ + case 136: +#line 1628 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOG); } -#line 4840 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4871 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 135: -#line 1623 "rwlparser.y" /* yacc.c:1646 */ + case 137: +#line 1629 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXPB); } -#line 4846 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4877 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 136: -#line 1624 "rwlparser.y" /* yacc.c:1646 */ + case 138: +#line 1630 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXP); } -#line 4852 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4883 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 137: -#line 1625 "rwlparser.y" /* yacc.c:1646 */ + case 139: +#line 1631 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CEIL); } -#line 4858 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4889 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 138: -#line 1626 "rwlparser.y" /* yacc.c:1646 */ + case 140: +#line 1632 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_TRUNC); } -#line 4864 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4895 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 139: -#line 1627 "rwlparser.y" /* yacc.c:1646 */ + case 141: +#line 1633 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_FLOOR); } -#line 4870 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4901 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 140: -#line 1628 "rwlparser.y" /* yacc.c:1646 */ + case 142: +#line 1634 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ROUND); } -#line 4876 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4907 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 141: -#line 1629 "rwlparser.y" /* yacc.c:1646 */ + case 143: +#line 1635 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SQRT); } -#line 4882 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4913 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 142: -#line 1630 "rwlparser.y" /* yacc.c:1646 */ + case 144: +#line 1636 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SIN); } -#line 4888 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4919 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 143: -#line 1631 "rwlparser.y" /* yacc.c:1646 */ + case 145: +#line 1637 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_COS); } -#line 4894 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4925 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 144: -#line 1632 "rwlparser.y" /* yacc.c:1646 */ + case 146: +#line 1638 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ATAN2); } -#line 4900 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4931 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 145: -#line 1633 "rwlparser.y" /* yacc.c:1646 */ + case 147: +#line 1639 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LENGTHB); } -#line 4906 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4937 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 146: -#line 1635 "rwlparser.y" /* yacc.c:1646 */ + case 148: +#line 1641 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB2); } -#line 4912 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4943 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 147: -#line 1637 "rwlparser.y" /* yacc.c:1646 */ + case 149: +#line 1643 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB3); } -#line 4918 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4949 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 148: -#line 1639 "rwlparser.y" /* yacc.c:1646 */ + case 150: +#line 1645 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB2); } -#line 4924 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4955 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 149: -#line 1641 "rwlparser.y" /* yacc.c:1646 */ + case 151: +#line 1647 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB3); } -#line 4930 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4961 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 150: -#line 1642 "rwlparser.y" /* yacc.c:1646 */ + case 152: +#line 1648 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GETENV); } -#line 4936 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4967 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 151: -#line 1643 "rwlparser.y" /* yacc.c:1646 */ + case 153: +#line 1649 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2B); } -#line 4944 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4975 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 152: -#line 1646 "rwlparser.y" /* yacc.c:1646 */ + case 154: +#line 1652 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2BB); } -#line 4952 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4983 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 153: -#line 1649 "rwlparser.y" /* yacc.c:1646 */ + case 155: +#line 1655 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4958 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4989 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 154: -#line 1651 "rwlparser.y" /* yacc.c:1646 */ + case 156: +#line 1657 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 4966 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4997 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 155: -#line 1655 "rwlparser.y" /* yacc.c:1646 */ + case 157: +#line 1661 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4975 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5006 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 156: -#line 1659 "rwlparser.y" /* yacc.c:1646 */ + case 158: +#line 1665 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG); } -#line 4981 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5012 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 157: -#line 1660 "rwlparser.y" /* yacc.c:1646 */ + case 159: +#line 1666 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG2); } -#line 4987 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5018 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 158: -#line 1662 "rwlparser.y" /* yacc.c:1646 */ + case 160: +#line 1668 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANGK); } -#line 4993 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5024 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 159: -#line 1664 "rwlparser.y" /* yacc.c:1646 */ + case 161: +#line 1670 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NORMALRANDOM); } -#line 4999 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5030 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 160: -#line 1665 "rwlparser.y" /* yacc.c:1646 */ + case 162: +#line 1671 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5005 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5036 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 161: -#line 1667 "rwlparser.y" /* yacc.c:1646 */ + case 163: +#line 1673 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ACCESS); } -#line 5011 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5042 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 162: -#line 1669 "rwlparser.y" /* yacc.c:1646 */ + case 164: +#line 1675 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlexprpush(rwm, rwm->resdb, RWL_STACK_SERVERRELEASE); @@ -5022,11 +5053,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "results"); } } -#line 5026 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5057 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 163: -#line 1680 "rwlparser.y" /* yacc.c:1646 */ + case 165: +#line 1686 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlexprpush(rwm, rwm->defdb, RWL_STACK_SERVERRELEASE); @@ -5037,92 +5068,92 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "default"); } } -#line 5041 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5072 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 164: -#line 1691 "rwlparser.y" /* yacc.c:1646 */ + case 166: +#line 1697 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SERVERRELEASE); } -#line 5049 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5080 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 165: -#line 1695 "rwlparser.y" /* yacc.c:1646 */ + case 167: +#line 1701 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "serverrelease"); yyerrok; } -#line 5059 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5090 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 166: -#line 1701 "rwlparser.y" /* yacc.c:1646 */ + case 168: +#line 1707 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_OPENSESSIONCOUNT); } -#line 5067 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5098 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 167: -#line 1705 "rwlparser.y" /* yacc.c:1646 */ + case 169: +#line 1711 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "opensessioncount"); yyerrok; } -#line 5077 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5108 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 168: -#line 1711 "rwlparser.y" /* yacc.c:1646 */ + case 170: +#line 1717 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_ACTIVESESSIONCOUNT); } -#line 5085 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5116 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 169: -#line 1715 "rwlparser.y" /* yacc.c:1646 */ + case 171: +#line 1721 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "activesessioncount"); yyerrok; } -#line 5095 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5126 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 170: -#line 1721 "rwlparser.y" /* yacc.c:1646 */ + case 172: +#line 1727 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); } -#line 5104 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5135 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 171: -#line 1726 "rwlparser.y" /* yacc.c:1646 */ + case 173: +#line 1732 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } -#line 5112 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5143 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 172: -#line 1730 "rwlparser.y" /* yacc.c:1646 */ + case 174: +#line 1736 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_SQLID_NEED_IDENT); yyerrok; } -#line 5122 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5153 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 173: -#line 1737 "rwlparser.y" /* yacc.c:1646 */ + case 175: +#line 1743 "rwlparser.y" /* yacc.c:1646 */ { /* element with furlev=0 is used by procedure call */ if (++rwm->furlev>=RWL_MAX_FUNC_RECURSION) @@ -5135,11 +5166,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[rwm->furlev] = (yychar == RWL_T_IDENTIFIER) ? rwm->previnam : rwm->inam; } -#line 5139 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5170 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 174: -#line 1751 "rwlparser.y" /* yacc.c:1646 */ + case 176: +#line 1757 "rwlparser.y" /* yacc.c:1646 */ { /* syntactically, the number of arguments doesn't matter so we just provide the actual arg count to exprpush2 @@ -5151,191 +5182,191 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (rwm->furlev) rwm->furlev--; } -#line 5155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5186 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 175: -#line 1763 "rwlparser.y" /* yacc.c:1646 */ + case 177: +#line 1769 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_DBSECONDS); } -#line 5163 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5194 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 176: -#line 1767 "rwlparser.y" /* yacc.c:1646 */ + case 178: +#line 1773 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_OCISECONDS); } -#line 5171 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5202 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 177: -#line 1771 "rwlparser.y" /* yacc.c:1646 */ + case 179: +#line 1777 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "runseconds"); rwlexprpush(rwm, 0, RWL_STACK_RUNSECONDS); } -#line 5181 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5212 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 178: -#line 1777 "rwlparser.y" /* yacc.c:1646 */ + case 180: +#line 1783 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "epochseconds"); rwlexprpush(rwm, 0, RWL_STACK_EPOCHSECONDS); } -#line 5191 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5222 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 184: -#line 1796 "rwlparser.y" /* yacc.c:1646 */ + case 186: +#line 1802 "rwlparser.y" /* yacc.c:1646 */ { rwm->aacnt[rwm->furlev]++; } -#line 5197 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5228 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 186: -#line 1802 "rwlparser.y" /* yacc.c:1646 */ + case 188: +#line 1808 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5203 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5234 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 187: -#line 1803 "rwlparser.y" /* yacc.c:1646 */ + case 189: +#line 1809 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNOTNULL); } -#line 5209 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5240 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 189: -#line 1809 "rwlparser.y" /* yacc.c:1646 */ + case 191: +#line 1815 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MINUS); } -#line 5215 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5246 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 190: -#line 1810 "rwlparser.y" /* yacc.c:1646 */ + case 192: +#line 1816 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5221 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5252 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 191: -#line 1811 "rwlparser.y" /* yacc.c:1646 */ + case 193: +#line 1817 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5227 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5258 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 192: -#line 1812 "rwlparser.y" /* yacc.c:1646 */ + case 194: +#line 1818 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_NOT); } -#line 5233 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5264 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 194: -#line 1817 "rwlparser.y" /* yacc.c:1646 */ + case 196: +#line 1823 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MUL); } -#line 5239 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5270 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 195: -#line 1818 "rwlparser.y" /* yacc.c:1646 */ + case 197: +#line 1824 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_DIV); } -#line 5245 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5276 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 196: -#line 1819 "rwlparser.y" /* yacc.c:1646 */ + case 198: +#line 1825 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MOD); } -#line 5251 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5282 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 198: -#line 1824 "rwlparser.y" /* yacc.c:1646 */ + case 200: +#line 1830 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ADD); } -#line 5257 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5288 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 199: -#line 1825 "rwlparser.y" /* yacc.c:1646 */ + case 201: +#line 1831 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUB); } -#line 5263 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5294 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 201: -#line 1829 "rwlparser.y" /* yacc.c:1646 */ + case 203: +#line 1835 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_LEFT_SHIFT); } -#line 5269 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5300 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 202: -#line 1830 "rwlparser.y" /* yacc.c:1646 */ + case 204: +#line 1836 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_RIGHT_SHIFT); } -#line 5275 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5306 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 204: -#line 1835 "rwlparser.y" /* yacc.c:1646 */ + case 206: +#line 1841 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESS); } -#line 5281 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5312 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 205: -#line 1836 "rwlparser.y" /* yacc.c:1646 */ + case 207: +#line 1842 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATER); } -#line 5287 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5318 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 206: -#line 1837 "rwlparser.y" /* yacc.c:1646 */ + case 208: +#line 1843 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } -#line 5293 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5324 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 207: -#line 1838 "rwlparser.y" /* yacc.c:1646 */ + case 209: +#line 1844 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } -#line 5299 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5330 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 208: -#line 1839 "rwlparser.y" /* yacc.c:1646 */ + case 210: +#line 1845 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } -#line 5305 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5336 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 210: -#line 1844 "rwlparser.y" /* yacc.c:1646 */ + case 212: +#line 1850 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EQUAL); } -#line 5311 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5342 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 211: -#line 1845 "rwlparser.y" /* yacc.c:1646 */ + case 213: +#line 1851 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } -#line 5317 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5348 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 213: -#line 1850 "rwlparser.y" /* yacc.c:1646 */ + case 215: +#line 1856 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_AND); } -#line 5323 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5354 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 215: -#line 1855 "rwlparser.y" /* yacc.c:1646 */ + case 217: +#line 1861 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_XOR); } -#line 5329 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5360 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 217: -#line 1860 "rwlparser.y" /* yacc.c:1646 */ + case 219: +#line 1866 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_OR); } -#line 5335 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5366 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 219: -#line 1866 "rwlparser.y" /* yacc.c:1646 */ + case 221: +#line 1872 "rwlparser.y" /* yacc.c:1646 */ { // With AND (and OR) skipdep is used to mark // the expression element we need to skip until @@ -5345,20 +5376,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-andskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5349 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5380 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 220: -#line 1876 "rwlparser.y" /* yacc.c:1646 */ + case 222: +#line 1882 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; } -#line 5358 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5389 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 222: -#line 1885 "rwlparser.y" /* yacc.c:1646 */ + case 224: +#line 1891 "rwlparser.y" /* yacc.c:1646 */ { // see comment above rwm->ptail->branchtype = RWL_EXP_ORBRANCH; @@ -5366,20 +5397,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-orskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5370 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5401 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 223: -#line 1893 "rwlparser.y" /* yacc.c:1646 */ + case 225: +#line 1899 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR ,rwm->skipdep); rwm->skipdep--; } -#line 5379 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5410 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 225: -#line 1902 "rwlparser.y" /* yacc.c:1646 */ + case 227: +#line 1908 "rwlparser.y" /* yacc.c:1646 */ { // With conditional execution we mark the condition // with RWL_EXP_CONDBRANCH1 @@ -5388,50 +5419,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-condskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5392 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5423 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 226: -#line 1911 "rwlparser.y" /* yacc.c:1646 */ + case 228: +#line 1917 "rwlparser.y" /* yacc.c:1646 */ { // and the place of ':' (really ELSE) with // RWL_EXP_CONDBRANCH2 rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; rwm->ptail->skipnxt = rwm->skipdep; } -#line 5403 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5434 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 227: -#line 1918 "rwlparser.y" /* yacc.c:1646 */ + case 229: +#line 1924 "rwlparser.y" /* yacc.c:1646 */ { // And the actual conditional is the "end if" place rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, rwm->skipdep); rwm->skipdep--; } -#line 5413 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5444 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 229: -#line 1927 "rwlparser.y" /* yacc.c:1646 */ + case 231: +#line 1933 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5419 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5450 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 231: -#line 1932 "rwlparser.y" /* yacc.c:1646 */ + case 233: +#line 1938 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5425 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5456 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 233: -#line 1943 "rwlparser.y" /* yacc.c:1646 */ + case 235: +#line 1949 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = 0; } -#line 5431 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5462 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 234: -#line 1948 "rwlparser.y" /* yacc.c:1646 */ + case 236: +#line 1954 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) { @@ -5439,65 +5470,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); YYACCEPT; } } -#line 5443 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5474 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 235: -#line 1956 "rwlparser.y" /* yacc.c:1646 */ + case 237: +#line 1962 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5449 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5480 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 236: -#line 1958 "rwlparser.y" /* yacc.c:1646 */ + case 238: +#line 1964 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "threads"); yyerrok; } -#line 5455 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5486 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 238: -#line 1965 "rwlparser.y" /* yacc.c:1646 */ + case 240: +#line 1971 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5461 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5492 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 239: -#line 1967 "rwlparser.y" /* yacc.c:1646 */ + case 241: +#line 1973 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "run"); yyerrok; } -#line 5467 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5498 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 241: -#line 1971 "rwlparser.y" /* yacc.c:1646 */ + case 243: +#line 1977 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5473 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5504 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 242: -#line 1973 "rwlparser.y" /* yacc.c:1646 */ + case 244: +#line 1979 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "database"); yyerrok; } -#line 5479 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5510 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 243: -#line 1975 "rwlparser.y" /* yacc.c:1646 */ + case 245: +#line 1981 "rwlparser.y" /* yacc.c:1646 */ { yyerrok ; } -#line 5485 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5516 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 244: -#line 1978 "rwlparser.y" /* yacc.c:1646 */ + case 246: +#line 1984 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random procedure array"); yyerrok; } -#line 5491 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5522 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 245: -#line 1981 "rwlparser.y" /* yacc.c:1646 */ + case 247: +#line 1987 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random string array"); yyerrok; } -#line 5497 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5528 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 246: -#line 1986 "rwlparser.y" /* yacc.c:1646 */ + case 248: +#line 1992 "rwlparser.y" /* yacc.c:1646 */ { switch(rwm->supsemerr) { @@ -5526,11 +5557,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 5530 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5561 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 247: -#line 2015 "rwlparser.y" /* yacc.c:1646 */ + case 249: +#line 2021 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5545,11 +5576,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_ABORT); } } -#line 5549 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5580 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 248: -#line 2030 "rwlparser.y" /* yacc.c:1646 */ + case 250: +#line 2036 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5560,37 +5591,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_NOSTATISTICS); } } -#line 5564 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5595 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 251: -#line 2047 "rwlparser.y" /* yacc.c:1646 */ + case 253: +#line 2053 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } -#line 5570 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5601 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 253: -#line 2054 "rwlparser.y" /* yacc.c:1646 */ + case 255: +#line 2060 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } -#line 5576 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5607 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 255: -#line 2060 "rwlparser.y" /* yacc.c:1646 */ + case 257: +#line 2066 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } -#line 5582 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5613 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 256: -#line 2062 "rwlparser.y" /* yacc.c:1646 */ + case 258: +#line 2068 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; } -#line 5590 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5621 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 258: -#line 2068 "rwlparser.y" /* yacc.c:1646 */ + case 260: +#line 2074 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) rwm->declslen = 1; // kind of a kludge, but this prevents doube @@ -5600,33 +5631,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen = rwm->pval.ival; } } -#line 5604 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5635 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 260: -#line 2082 "rwlparser.y" /* yacc.c:1646 */ + case 262: +#line 2088 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_STR); yyerrok; } -#line 5610 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5641 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 261: -#line 2084 "rwlparser.y" /* yacc.c:1646 */ + case 263: +#line 2090 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_FILE; //if (rwm->codename) // rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "file"); } -#line 5620 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5651 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 263: -#line 2093 "rwlparser.y" /* yacc.c:1646 */ + case 265: +#line 2099 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_FILE); yyerrok; } -#line 5626 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5657 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 264: -#line 2098 "rwlparser.y" /* yacc.c:1646 */ + case 266: +#line 2104 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5647,11 +5678,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5651 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5682 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 265: -#line 2121 "rwlparser.y" /* yacc.c:1646 */ + case 267: +#line 2127 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5674,17 +5705,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5678 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5709 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 266: -#line 2145 "rwlparser.y" /* yacc.c:1646 */ + case 268: +#line 2151 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rslerror) rwlcodeadd0(rwm, RWL_CODE_ELSE); } -#line 5684 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5715 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 267: -#line 2148 "rwlparser.y" /* yacc.c:1646 */ + case 269: +#line 2154 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5705,11 +5736,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5709 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5740 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 268: -#line 2171 "rwlparser.y" /* yacc.c:1646 */ + case 270: +#line 2177 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* start expression */ @@ -5746,11 +5777,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlexprbeg(rwm); } -#line 5750 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5781 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 269: -#line 2212 "rwlparser.y" /* yacc.c:1646 */ + case 271: +#line 2218 "rwlparser.y" /* yacc.c:1646 */ { switch (rwm->rsllityp[rwm->rsldepth]) { @@ -5818,65 +5849,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->rsldepth, rwm->rslmisc[rwm->rsldepth]); } } -#line 5822 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5853 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 270: -#line 2281 "rwlparser.y" /* yacc.c:1646 */ + case 272: +#line 2287 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwm->rsllityp[rwm->rsldepth] = RWL_LI_BAD; yyerrok; } -#line 5832 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5863 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 271: -#line 2288 "rwlparser.y" /* yacc.c:1646 */ + case 273: +#line 2294 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 5838 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5869 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 273: -#line 2291 "rwlparser.y" /* yacc.c:1646 */ + case 275: +#line 2297 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 5846 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5877 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 275: -#line 2296 "rwlparser.y" /* yacc.c:1646 */ + case 277: +#line 2302 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprclear(rwm); } -#line 5855 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5886 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 276: -#line 2301 "rwlparser.y" /* yacc.c:1646 */ + case 278: +#line 2307 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 5866 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5897 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 278: -#line 2310 "rwlparser.y" /* yacc.c:1646 */ + case 280: +#line 2316 "rwlparser.y" /* yacc.c:1646 */ { /* start expression for assign */ rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 5876 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5907 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 280: -#line 2319 "rwlparser.y" /* yacc.c:1646 */ + case 282: +#line 2325 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) rwlerror(rwm, RWL_ERROR_RETURN_OUTSIDE_CODE); @@ -5888,20 +5919,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_RETURN_NO_EXPR, rwm->codename); } } -#line 5892 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5923 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 281: -#line 2331 "rwlparser.y" /* yacc.c:1646 */ + case 283: +#line 2337 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5901 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5932 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 282: -#line 2336 "rwlparser.y" /* yacc.c:1646 */ + case 284: +#line 2342 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5930,30 +5961,30 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeaddpu(rwm, RWL_CODE_RETURN, rwm->codename, rwm->codeguess); } } -#line 5934 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5965 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 284: -#line 2365 "rwlparser.y" /* yacc.c:1646 */ + case 286: +#line 2371 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5944 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5975 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 285: -#line 2372 "rwlparser.y" /* yacc.c:1646 */ + case 287: +#line 2378 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5953 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5984 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 286: -#line 2377 "rwlparser.y" /* yacc.c:1646 */ + case 288: +#line 2383 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5982,21 +6013,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5986 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6017 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 288: -#line 2407 "rwlparser.y" /* yacc.c:1646 */ + case 290: +#line 2413 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5996 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6027 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 289: -#line 2415 "rwlparser.y" /* yacc.c:1646 */ + case 291: +#line 2421 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -6010,11 +6041,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6014 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6045 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 290: -#line 2429 "rwlparser.y" /* yacc.c:1646 */ + case 292: +#line 2435 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbnam = rwm->inam; rwm->mdbvar = rwlfindvar2(rwm->mxq, rwm->mdbnam, RWL_VAR_NOGUESS, rwm->codename); @@ -6025,11 +6056,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mdbvar = RWL_VAR_INVALID; } } -#line 6029 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6060 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 292: -#line 2443 "rwlparser.y" /* yacc.c:1646 */ + case 294: +#line 2449 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -6043,11 +6074,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6047 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6078 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 293: -#line 2459 "rwlparser.y" /* yacc.c:1646 */ + case 295: +#line 2465 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6057,29 +6088,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlcodeadd0(rwm, RWL_CODE_MODDBLEAK); } -#line 6061 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6092 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 294: -#line 2470 "rwlparser.y" /* yacc.c:1646 */ + case 296: +#line 2476 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 6070 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6101 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 295: -#line 2476 "rwlparser.y" /* yacc.c:1646 */ + case 297: +#line 2482 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 6079 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6110 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 296: -#line 2482 "rwlparser.y" /* yacc.c:1646 */ + case 298: +#line 2488 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_COMMIT); @@ -6090,11 +6121,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcommit(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 6094 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6125 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 297: -#line 2494 "rwlparser.y" /* yacc.c:1646 */ + case 299: +#line 2500 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_ROLLBACK); @@ -6105,11 +6136,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlrollback(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 6109 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6140 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 298: -#line 2506 "rwlparser.y" /* yacc.c:1646 */ + case 300: +#line 2512 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SHIFT); @@ -6117,11 +6148,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlshiftdollar(rwm->mxq, &rwm->loc); } -#line 6121 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6152 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 299: -#line 2515 "rwlparser.y" /* yacc.c:1646 */ + case 301: +#line 2521 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_GETRUSAGE); @@ -6129,11 +6160,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlgetrusage(rwm->mxq, 0); } -#line 6133 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6164 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 300: -#line 2524 "rwlparser.y" /* yacc.c:1646 */ + case 302: +#line 2530 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlinam = rwm->inam; rwm->mqbdtyp = 0; rwm->modsqlvar = rwlfindvar2(rwm->mxq, rwm->msqlinam, RWL_VAR_NOGUESS, rwm->codename); @@ -6144,151 +6175,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->modsqlvar = RWL_VAR_INVALID; } } -#line 6148 "rwlparser.tab.c" /* yacc.c:1646 */ - break; - - case 302: -#line 2537 "rwlparser.y" /* yacc.c:1646 */ - { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } -#line 6154 "rwlparser.tab.c" /* yacc.c:1646 */ - break; - - case 303: -#line 2542 "rwlparser.y" /* yacc.c:1646 */ - { - /* handle procedure call with arguments - * as if it were a function call - */ - if (0 != rwm->furlev) - rwlsevere(rwm,"[rwlparser-recurse2:%d]", rwm->furlev); - bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); /* default DB */ - rwm->aacnt[0] = 0; - /* - Here is a bit of a hack. Due to the error handling code - below, the parser may have been doing lookahead, and that lookahead - may have seen an identifier. Compare these two: - - someproc(a); - someproc(0+a); - - The lookahead after '(' will be either "a" or 0. In the former - case, the lexer has consumed "a", so rwm->inam now contains "a" - in stead of "someproc" which we need below. However, the lexer - has saved the previous identifier name as previnam. - - Hence, we see if the lookahead is an identifier, if it is, the - function name is stored in previnam rather than inam - */ - rwm->funcn[0] = (yychar == RWL_T_IDENTIFIER) - ? rwm->previnam - : rwm->inam; - rwlexprbeg(rwm); - } -#line 6188 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6179 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 304: -#line 2574 "rwlparser.y" /* yacc.c:1646 */ - { - if (rwm->codename) // building a procedure - { - rwl_estack *estk; - sb4 l2 = RWL_VAR_NOGUESS; - if (bit(rwm->m2flags, RWL_P2_AT)) - { - l2 = rwlfindvar(rwm->mxq, rwm->dbname, RWL_VAR_NOGUESS); - if (RWL_TYPE_DB != rwm->mxq->evar[l2].vtype) - { - rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2 - , rwm->mxq->evar[l2].stype, rwm->dbname, "at clause"); - } - else - { - rwl_cinfo *thisdb = rwm->mxq->evar[l2].vdata; - switch (thisdb->pooltype) - { - case RWL_DBPOOL_RETHRDED: - rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "threads dedicated", thisdb->vname); - l2 = RWL_VAR_NOGUESS; - break; - case RWL_DBPOOL_DEDICATED: - rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "dedicated", thisdb->vname); - l2 = RWL_VAR_NOGUESS; - break; - case RWL_DBPOOL_POOLED: - case RWL_DBPOOL_RECONNECT: - case RWL_DBPOOL_SESSION: - break; - - default: // shut up gcc - break; - } - } - } - // If at clause was found, wrap the RWL_STACK_PROCCALL/RWL_CODE_STACK - // with NEWDB/OLDDB - if (l2>=0) - rwlcodeaddpu(rwm, RWL_CODE_NEWDB, rwm->dbname, l2); - // or with DEFDB - if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) - rwlcodeadd0(rwm, RWL_CODE_DEFDB); - - rwlexprpush2(rwm, rwm->funcn[0] - , RWL_STACK_PROCCALL - , rwm->aacnt[0] ); - if ((estk = rwlexprfinish(rwm))) - rwlcodeaddp(rwm, RWL_CODE_STACK, estk); - else - rwlexprclear(rwm); - - if (l2>=0 || bit(rwm->m2flags, RWL_P2_ATDEFAULT)) - rwlcodeadd0(rwm, RWL_CODE_OLDDB); - } - else // exeucting directly in main - { - rwl_estack *estk; - - if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) - rwlerror(rwm, RWL_ERROR_AT_DEFAULT_NO_IMPACT); - - if (bit(rwm->m2flags, RWL_P2_AT)) - rwldummyonbad(rwm->mxq, rwm->dbname); - else - rwldummyonbad(rwm->mxq, rwm->defdb); - - /* syntactically, the number of arguments doesn't matter - so we just provide the actual arg count to exprpush2 - and deal with a mis-count there - */ - rwlexprpush2(rwm, rwm->funcn[0] - , RWL_STACK_PROCCALL - , rwm->aacnt[0] ); - - if ((estk = rwlexprfinish(rwm))) - { - rwlexpreval(estk, &rwm->loc, rwm->mxq, 0); - rwlexprdestroy(rwm, estk); - } - else - rwlexprclear(rwm); - } - } -#line 6277 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 2543 "rwlparser.y" /* yacc.c:1646 */ + { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } +#line 6185 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 305: -#line 2659 "rwlparser.y" /* yacc.c:1646 */ + case 307: +#line 2556 "rwlparser.y" /* yacc.c:1646 */ { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); rwlexprclear(rwm); yyerrok; } -#line 6288 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6196 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 306: -#line 2666 "rwlparser.y" /* yacc.c:1646 */ + case 308: +#line 2563 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6303,29 +6211,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 6307 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6215 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 309: -#line 2685 "rwlparser.y" /* yacc.c:1646 */ + case 311: +#line 2582 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = RWL_SUPSEM_EMBSQL; } -#line 6313 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6221 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 313: -#line 2691 "rwlparser.y" /* yacc.c:1646 */ + case 315: +#line 2588 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6319 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6227 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 314: -#line 2693 "rwlparser.y" /* yacc.c:1646 */ + case 316: +#line 2590 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6325 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6233 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 317: -#line 2699 "rwlparser.y" /* yacc.c:1646 */ + case 319: +#line 2596 "rwlparser.y" /* yacc.c:1646 */ { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below @@ -6408,11 +6316,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); --rwm->rsldepth; } } -#line 6412 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6320 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 318: -#line 2784 "rwlparser.y" /* yacc.c:1646 */ + case 320: +#line 2681 "rwlparser.y" /* yacc.c:1646 */ { --rwm->rsldepth; if (rwm->rslerror) @@ -6441,11 +6349,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6445 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6353 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 319: -#line 2814 "rwlparser.y" /* yacc.c:1646 */ + case 321: +#line 2711 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6477,20 +6385,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_INCORRECT_TYPE2, rwm->mxq->evar[l].stype, rwm->inam, "file"); } } -#line 6481 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6389 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 320: -#line 2847 "rwlparser.y" /* yacc.c:1646 */ + case 322: +#line 2744 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_FFLUSH); yyerrok; } -#line 6490 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6398 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 321: -#line 2854 "rwlparser.y" /* yacc.c:1646 */ + case 323: +#line 2751 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6513,11 +6421,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 6517 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6425 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 322: -#line 2879 "rwlparser.y" /* yacc.c:1646 */ + case 324: +#line 2776 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) { @@ -6546,11 +6454,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 6550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6458 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 323: -#line 2910 "rwlparser.y" /* yacc.c:1646 */ + case 325: +#line 2807 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -6569,88 +6477,88 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6573 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6481 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 329: -#line 2938 "rwlparser.y" /* yacc.c:1646 */ + case 331: +#line 2835 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6584 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6492 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 331: -#line 2947 "rwlparser.y" /* yacc.c:1646 */ + case 333: +#line 2844 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_STRING_FOR_SPRINTF); rwlexprclear(rwm); yyerrok; } -#line 6595 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6503 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 333: -#line 2956 "rwlparser.y" /* yacc.c:1646 */ + case 335: +#line 2853 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6606 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6514 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 335: -#line 2966 "rwlparser.y" /* yacc.c:1646 */ + case 337: +#line 2863 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document this syntax without comma if (rwm->filenam) rwlerror(rwm, RWL_ERROR_COMMA_IS_RECOMMENDED, rwm->filenam , bit(rwm->mflags,RWL_P_PRINTLINE) ? "writeline" : "write"); } -#line 6617 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6525 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 338: -#line 2978 "rwlparser.y" /* yacc.c:1646 */ + case 340: +#line 2875 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6628 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6536 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 339: -#line 2986 "rwlparser.y" /* yacc.c:1646 */ + case 341: +#line 2883 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6639 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6547 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 340: -#line 2994 "rwlparser.y" /* yacc.c:1646 */ + case 342: +#line 2891 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6650 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6558 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 341: -#line 3002 "rwlparser.y" /* yacc.c:1646 */ + case 343: +#line 2899 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_NEWLINE); @@ -6658,22 +6566,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); fputs(bit(rwm->m4flags, RWL_P4_CRNLWRITELINE) ? "\r\n" : "\n", stdout); bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 6662 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6570 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 343: -#line 3012 "rwlparser.y" /* yacc.c:1646 */ + case 345: +#line 2909 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6673 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6581 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 345: -#line 3020 "rwlparser.y" /* yacc.c:1646 */ + case 347: +#line 2917 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6684,11 +6592,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_CQNBREAK); } } -#line 6688 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6596 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 346: -#line 3031 "rwlparser.y" /* yacc.c:1646 */ + case 348: +#line 2928 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6723,11 +6631,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6727 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6635 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 347: -#line 3067 "rwlparser.y" /* yacc.c:1646 */ + case 349: +#line 2964 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6763,11 +6671,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6767 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6675 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 348: -#line 3104 "rwlparser.y" /* yacc.c:1646 */ + case 350: +#line 3001 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6806,11 +6714,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_DONE_IN_MAIN, "writelob"); } } -#line 6810 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6718 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 349: -#line 3144 "rwlparser.y" /* yacc.c:1646 */ + case 351: +#line 3041 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_CBLOCK)) { @@ -6827,11 +6735,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m2flags, RWL_P2_THROPTS); /* clear all thread option flas */ bis(rwm->m2flags, RWL_P2_CBLOCK); } -#line 6831 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6739 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 350: -#line 3161 "rwlparser.y" /* yacc.c:1646 */ + case 352: +#line 3058 "rwlparser.y" /* yacc.c:1646 */ { if(!rwm->stoptime && !rwm->stopcount) { @@ -6852,11 +6760,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 6856 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6764 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 351: -#line 3184 "rwlparser.y" /* yacc.c:1646 */ + case 353: +#line 3081 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_CBLOCK_BAD)) rwlloopfinish(rwm); @@ -6874,26 +6782,154 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6878 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6786 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 352: -#line 3203 "rwlparser.y" /* yacc.c:1646 */ + case 354: +#line 3100 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_AFTER_IDENTIFIER); yyerrok; } -#line 6887 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6795 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 353: -#line 3210 "rwlparser.y" /* yacc.c:1646 */ + case 355: +#line 3107 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 6893 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6801 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 356: +#line 3114 "rwlparser.y" /* yacc.c:1646 */ + { + /* handle procedure call with arguments + * as if it were a function call + */ + if (0 != rwm->furlev) + rwlsevere(rwm,"[rwlparser-recurse2:%d]", rwm->furlev); + bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); + rwm->aacnt[0] = 0; + /* + Here is a bit of a hack. Due to the error handling code + below, the parser may have been doing lookahead, and that lookahead + may have seen an identifier. Compare these two: + + someproc(a); + someproc(0+a); + + The lookahead after '(' will be either "a" or 0. In the former + case, the lexer has consumed "a", so rwm->inam now contains "a" + in stead of "someproc" which we need below. However, the lexer + has saved the previous identifier name as previnam. + + Hence, we see if the lookahead is an identifier, if it is, the + function name is stored in previnam rather than inam + */ + + if (0 != rwm->furlev) + rwlsevere(rwm,"[rwlparser-recurse2:%d]", rwm->furlev); + bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); + rwm->aacnt[0] = 0; + rwm->funcn[0] = (yychar == RWL_T_IDENTIFIER) + ? rwm->previnam + : rwm->inam; + rwlexprbeg(rwm); + } +#line 6840 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 354: -#line 3216 "rwlparser.y" /* yacc.c:1646 */ + case 357: +#line 3152 "rwlparser.y" /* yacc.c:1646 */ + { + if (rwm->codename) // building a procedure + { + rwl_estack *estk; + sb4 l2 = RWL_VAR_NOGUESS; + if (bit(rwm->m2flags, RWL_P2_AT)) + { + l2 = rwlfindvar(rwm->mxq, rwm->dbname, RWL_VAR_NOGUESS); + if (RWL_TYPE_DB != rwm->mxq->evar[l2].vtype) + { + rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2 + , rwm->mxq->evar[l2].stype, rwm->dbname, "at clause"); + } + else + { + rwl_cinfo *thisdb = rwm->mxq->evar[l2].vdata; + switch (thisdb->pooltype) + { + case RWL_DBPOOL_RETHRDED: + rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "threads dedicated", thisdb->vname); + l2 = RWL_VAR_NOGUESS; + break; + case RWL_DBPOOL_DEDICATED: + rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "dedicated", thisdb->vname); + l2 = RWL_VAR_NOGUESS; + break; + case RWL_DBPOOL_POOLED: + case RWL_DBPOOL_RECONNECT: + case RWL_DBPOOL_SESSION: + break; + + default: // shut up gcc + break; + } + } + } + // If at clause was found, wrap the RWL_STACK_PROCCALL/RWL_CODE_STACK + // with NEWDB/OLDDB + if (l2>=0) + rwlcodeaddpu(rwm, RWL_CODE_NEWDB, rwm->dbname, l2); + // or with DEFDB + if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) + rwlcodeadd0(rwm, RWL_CODE_DEFDB); + + rwlexprpush2(rwm, rwm->funcn[0] + , RWL_STACK_PROCCALL + , rwm->aacnt[0] ); + if ((estk = rwlexprfinish(rwm))) + rwlcodeaddp(rwm, RWL_CODE_STACK, estk); + else + rwlexprclear(rwm); + + if (l2>=0 || bit(rwm->m2flags, RWL_P2_ATDEFAULT)) + rwlcodeadd0(rwm, RWL_CODE_OLDDB); + } + else // exeucting directly in main + { + rwl_estack *estk; + + if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) + rwlerror(rwm, RWL_ERROR_AT_DEFAULT_NO_IMPACT); + + if (bit(rwm->m2flags, RWL_P2_AT)) + rwldummyonbad(rwm->mxq, rwm->dbname); + else + rwldummyonbad(rwm->mxq, rwm->defdb); + + /* syntactically, the number of arguments doesn't matter + so we just provide the actual arg count to exprpush2 + and deal with a mis-count there + */ + rwlexprpush2(rwm, rwm->funcn[0] + , RWL_STACK_PROCCALL + , rwm->aacnt[0] ); + + if ((estk = rwlexprfinish(rwm))) + { + rwlexpreval(estk, &rwm->loc, rwm->mxq, 0); + rwlexprdestroy(rwm, estk); + } + else + rwlexprclear(rwm); + } + } +#line 6929 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 358: +#line 3240 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6917,28 +6953,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6921 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6957 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 355: -#line 3240 "rwlparser.y" /* yacc.c:1646 */ + case 359: +#line 3264 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobwritedata = rwlexprfinish(rwm); rwm->loboffset = 0; } -#line 6930 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6966 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 357: -#line 3249 "rwlparser.y" /* yacc.c:1646 */ + case 361: +#line 3273 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6938 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6974 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 358: -#line 3256 "rwlparser.y" /* yacc.c:1646 */ + case 362: +#line 3280 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6961,11 +6997,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6965 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7001 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 359: -#line 3279 "rwlparser.y" /* yacc.c:1646 */ + case 363: +#line 3303 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->loboffset = 0; @@ -6987,27 +7023,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6991 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7027 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 361: -#line 3305 "rwlparser.y" /* yacc.c:1646 */ + case 365: +#line 3329 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobreadlength = rwlexprfinish(rwm); } -#line 6999 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7035 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 362: -#line 3309 "rwlparser.y" /* yacc.c:1646 */ + case 366: +#line 3333 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 7007 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7043 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 363: -#line 3315 "rwlparser.y" /* yacc.c:1646 */ + case 367: +#line 3339 "rwlparser.y" /* yacc.c:1646 */ { /* simple sql execute */ sb4 l; @@ -7153,11 +7189,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->loc.errlin = 0; } -#line 7157 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7193 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 364: -#line 3465 "rwlparser.y" /* yacc.c:1646 */ + case 368: +#line 3489 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; @@ -7267,11 +7303,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); failurecursor: rwm->loc.errlin = 0; } -#line 7271 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7307 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 365: -#line 3577 "rwlparser.y" /* yacc.c:1646 */ + case 369: +#line 3601 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -7304,27 +7340,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->loc.errlin = 0; } -#line 7308 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7344 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 366: -#line 3613 "rwlparser.y" /* yacc.c:1646 */ + case 370: +#line 3637 "rwlparser.y" /* yacc.c:1646 */ { // This syntax is not documented bic(rwm->m3flags, RWL_P3_CLHEADFOR); rwlerror(rwm, RWL_ERROR_LEGACY_CONTROLLOOP_SYNTAX); } -#line 7318 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7354 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 367: -#line 3618 "rwlparser.y" /* yacc.c:1646 */ + case 371: +#line 3642 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7324 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7360 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 368: -#line 3622 "rwlparser.y" /* yacc.c:1646 */ + case 372: +#line 3646 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document these two (legacy) syntax: // loop option .. .. ; @@ -7337,41 +7373,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // legacy and current syntax are mixed. bic(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7341 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7377 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 369: -#line 3638 "rwlparser.y" /* yacc.c:1646 */ + case 373: +#line 3662 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7349 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7385 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 370: -#line 3642 "rwlparser.y" /* yacc.c:1646 */ + case 374: +#line 3666 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7357 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7393 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 371: -#line 3646 "rwlparser.y" /* yacc.c:1646 */ + case 375: +#line 3670 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7365 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7401 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 374: -#line 3657 "rwlparser.y" /* yacc.c:1646 */ + case 378: +#line 3681 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7371 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7407 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 375: -#line 3659 "rwlparser.y" /* yacc.c:1646 */ + case 379: +#line 3683 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->starttime) { @@ -7384,17 +7420,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->starttime = rwlexprfinish(rwm); } } -#line 7388 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7424 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 376: -#line 3671 "rwlparser.y" /* yacc.c:1646 */ + case 380: +#line 3695 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7394 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7430 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 377: -#line 3673 "rwlparser.y" /* yacc.c:1646 */ + case 381: +#line 3697 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7409,17 +7445,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bis(rwm->m2flags, RWL_P2_STOP); } } -#line 7413 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7449 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 378: -#line 3687 "rwlparser.y" /* yacc.c:1646 */ + case 382: +#line 3711 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7419 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7455 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 379: -#line 3689 "rwlparser.y" /* yacc.c:1646 */ + case 383: +#line 3713 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7434,17 +7470,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bic(rwm->m2flags, RWL_P2_STOP); } } -#line 7438 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7474 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 380: -#line 3703 "rwlparser.y" /* yacc.c:1646 */ + case 384: +#line 3727 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7444 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7480 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 381: -#line 3705 "rwlparser.y" /* yacc.c:1646 */ + case 385: +#line 3729 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7457,17 +7493,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->waittime = rwlexprfinish(rwm); } } -#line 7461 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7497 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 382: -#line 3717 "rwlparser.y" /* yacc.c:1646 */ + case 386: +#line 3741 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7467 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7503 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 383: -#line 3719 "rwlparser.y" /* yacc.c:1646 */ + case 387: +#line 3743 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7493,55 +7529,55 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->everytime = rwlexprfinish(rwm); } } -#line 7497 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7533 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 384: -#line 3748 "rwlparser.y" /* yacc.c:1646 */ + case 388: +#line 3772 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = 0; } -#line 7503 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7539 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 385: -#line 3749 "rwlparser.y" /* yacc.c:1646 */ + case 389: +#line 3773 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_QUEUE_EVERY; } -#line 7509 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7545 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 386: -#line 3750 "rwlparser.y" /* yacc.c:1646 */ + case 390: +#line 3774 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_NOQUEUE_EVERY; } -#line 7515 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7551 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 387: -#line 3754 "rwlparser.y" /* yacc.c:1646 */ + case 391: +#line 3778 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7524 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7560 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 388: -#line 3759 "rwlparser.y" /* yacc.c:1646 */ + case 392: +#line 3783 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7533 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7569 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 389: -#line 3764 "rwlparser.y" /* yacc.c:1646 */ + case 393: +#line 3788 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7541 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7577 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 390: -#line 3768 "rwlparser.y" /* yacc.c:1646 */ + case 394: +#line 3792 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); // lookahead may have consumed the next identifier @@ -7549,20 +7585,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam; } -#line 7553 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7589 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 391: -#line 3776 "rwlparser.y" /* yacc.c:1646 */ + case 395: +#line 3800 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7562 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7598 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 392: -#line 3785 "rwlparser.y" /* yacc.c:1646 */ + case 396: +#line 3809 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; rwm->sqllino = rwm->sqltlin; // the line where we started sql scan @@ -7577,11 +7613,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->scname = rwm->sqname = rwlstrdup(rwm, sqlnam); rwm->sqllen = 0; } -#line 7581 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7617 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 393: -#line 3800 "rwlparser.y" /* yacc.c:1646 */ + case 397: +#line 3824 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); @@ -7609,11 +7645,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); rwm->sqlfile = 0; /* not from a file */ } -#line 7613 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7649 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 394: -#line 3832 "rwlparser.y" /* yacc.c:1646 */ + case 398: +#line 3856 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; snprintf((char *)sqlnam, sizeof(sqlnam), "sql#%05d", rwm->mxq->varcount); @@ -7627,11 +7663,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->msqlstk = 0; } -#line 7631 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7667 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 395: -#line 3847 "rwlparser.y" /* yacc.c:1646 */ + case 399: +#line 3871 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMEDSQL); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); @@ -7639,11 +7675,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (bit(rwm->m3flags,RWL_P3_IMPLCASE)) bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); } -#line 7643 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7679 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 396: -#line 3856 "rwlparser.y" /* yacc.c:1646 */ + case 400: +#line 3880 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_IMMISDYN) && bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -7680,26 +7716,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); cannotdoimm: ; } -#line 7684 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7720 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 398: -#line 3894 "rwlparser.y" /* yacc.c:1646 */ + case 402: +#line 3918 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG) ; yyerrok; } -#line 7693 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7729 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 400: -#line 3902 "rwlparser.y" /* yacc.c:1646 */ + case 404: +#line 3926 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7699 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7735 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 401: -#line 3903 "rwlparser.y" /* yacc.c:1646 */ + case 405: +#line 3927 "rwlparser.y" /* yacc.c:1646 */ { if ((rwm->msqlstk = rwlexprfinish(rwm))) bis(rwm->m3flags, RWL_P3_IMMISDYN); // now dynamic @@ -7709,99 +7745,99 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 7713 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7749 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 402: -#line 3915 "rwlparser.y" /* yacc.c:1646 */ + case 406: +#line 3939 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno; } -#line 7721 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7757 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 406: -#line 3924 "rwlparser.y" /* yacc.c:1646 */ + case 410: +#line 3948 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "sql") ; } -#line 7729 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7765 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 409: -#line 3935 "rwlparser.y" /* yacc.c:1646 */ + case 413: +#line 3959 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7737 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7773 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 410: -#line 3939 "rwlparser.y" /* yacc.c:1646 */ + case 414: +#line 3963 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7746 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7782 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 411: -#line 3947 "rwlparser.y" /* yacc.c:1646 */ + case 415: +#line 3971 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7754 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7790 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 412: -#line 3951 "rwlparser.y" /* yacc.c:1646 */ + case 416: +#line 3975 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7762 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7798 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 413: -#line 3955 "rwlparser.y" /* yacc.c:1646 */ + case 417: +#line 3979 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7771 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7807 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 415: -#line 3965 "rwlparser.y" /* yacc.c:1646 */ + case 419: +#line 3989 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = 0; bis(rwm->m2flags, RWL_P2_ATDEFAULT); /* explict choose standard DB */ } -#line 7780 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7816 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 416: -#line 3971 "rwlparser.y" /* yacc.c:1646 */ + case 420: +#line 3995 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); /* named DB */ } -#line 7789 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7825 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 417: -#line 3976 "rwlparser.y" /* yacc.c:1646 */ + case 421: +#line 4000 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_DATABASE_NAME); yyerrok; } -#line 7795 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7831 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 418: -#line 3978 "rwlparser.y" /* yacc.c:1646 */ + case 422: +#line 4002 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 7801 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7837 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 421: -#line 3986 "rwlparser.y" /* yacc.c:1646 */ + case 425: +#line 4010 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename || bit(rwm->addvarbits,RWL_IDENT_PRIVATE)) { @@ -7827,11 +7863,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 7831 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7867 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 422: -#line 4012 "rwlparser.y" /* yacc.c:1646 */ + case 426: +#line 4036 "rwlparser.y" /* yacc.c:1646 */ { // if compiling first file, see if there is a user arg if (bit(rwm->m2flags, RWL_P2_SCANFIRST) && rwm->decvarn >= 0) @@ -7904,20 +7940,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); donewithuserarg: ; } -#line 7908 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7944 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 424: -#line 4089 "rwlparser.y" /* yacc.c:1646 */ + case 428: +#line 4113 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 7917 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7953 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 425: -#line 4094 "rwlparser.y" /* yacc.c:1646 */ + case 429: +#line 4118 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->dtype) @@ -7964,11 +8000,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 7968 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8004 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 430: -#line 4157 "rwlparser.y" /* yacc.c:1646 */ + case 434: +#line 4181 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7983,22 +8019,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_IF, estk); } -#line 7987 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8023 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 431: -#line 4172 "rwlparser.y" /* yacc.c:1646 */ + case 435: +#line 4196 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 7998 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8034 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 432: -#line 4181 "rwlparser.y" /* yacc.c:1646 */ + case 436: +#line 4205 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8013,38 +8049,38 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_ELSEIF, estk); } -#line 8017 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8053 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 433: -#line 4196 "rwlparser.y" /* yacc.c:1646 */ + case 437: +#line 4220 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8028 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8064 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 434: -#line 4205 "rwlparser.y" /* yacc.c:1646 */ + case 438: +#line 4229 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LEGACY_WHILE_SYNTAX); } -#line 8036 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8072 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 435: -#line 4209 "rwlparser.y" /* yacc.c:1646 */ + case 439: +#line 4233 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_WHILOP); } -#line 8044 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8080 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 436: -#line 4215 "rwlparser.y" /* yacc.c:1646 */ + case 440: +#line 4239 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8061,33 +8097,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 8065 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8101 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 437: -#line 4232 "rwlparser.y" /* yacc.c:1646 */ + case 441: +#line 4256 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8076 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8112 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 438: -#line 4239 "rwlparser.y" /* yacc.c:1646 */ + case 442: +#line 4263 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_KEYWORD, "loop"); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8087 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8123 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 443: -#line 4256 "rwlparser.y" /* yacc.c:1646 */ + case 447: +#line 4280 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -8103,120 +8139,120 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); nothreadssum: ; } -#line 8107 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8143 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 444: -#line 4272 "rwlparser.y" /* yacc.c:1646 */ + case 448: +#line 4296 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlerror(rwm, RWL_ERROR_NO_LOCAL_SUMGLOB); else bis(rwm->addvarbits,RWL_IDENT_GLOBAL); } -#line 8118 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8154 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 445: -#line 4282 "rwlparser.y" /* yacc.c:1646 */ + case 449: +#line 4306 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8128 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8164 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 446: -#line 4288 "rwlparser.y" /* yacc.c:1646 */ + case 450: +#line 4312 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8137 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8173 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 447: -#line 4296 "rwlparser.y" /* yacc.c:1646 */ + case 451: +#line 4320 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8147 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8183 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 448: -#line 4302 "rwlparser.y" /* yacc.c:1646 */ + case 452: +#line 4326 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8156 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8192 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 449: -#line 4310 "rwlparser.y" /* yacc.c:1646 */ + case 453: +#line 4334 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8166 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8202 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 450: -#line 4316 "rwlparser.y" /* yacc.c:1646 */ + case 454: +#line 4340 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8175 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8211 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 451: -#line 4324 "rwlparser.y" /* yacc.c:1646 */ + case 455: +#line 4348 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8184 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8220 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 452: -#line 4329 "rwlparser.y" /* yacc.c:1646 */ + case 456: +#line 4353 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8192 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8228 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 453: -#line 4335 "rwlparser.y" /* yacc.c:1646 */ + case 457: +#line 4359 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_CLOB; } -#line 8198 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8234 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 454: -#line 4336 "rwlparser.y" /* yacc.c:1646 */ + case 458: +#line 4360 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_BLOB; } -#line 8204 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8240 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 455: -#line 4337 "rwlparser.y" /* yacc.c:1646 */ + case 459: +#line 4361 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_NCLOB; } -#line 8210 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8246 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 456: -#line 4341 "rwlparser.y" /* yacc.c:1646 */ + case 460: +#line 4365 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8216 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8252 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 457: -#line 4342 "rwlparser.y" /* yacc.c:1646 */ + case 461: +#line 4366 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8226,25 +8262,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8230 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8266 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 459: -#line 4353 "rwlparser.y" /* yacc.c:1646 */ + case 463: +#line 4377 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8238 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8274 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 460: -#line 4356 "rwlparser.y" /* yacc.c:1646 */ + case 464: +#line 4380 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8244 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8280 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 461: -#line 4357 "rwlparser.y" /* yacc.c:1646 */ + case 465: +#line 4381 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bic(rwm->m2flags, RWL_P2_BADSQLFILTXT); @@ -8253,19 +8289,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8257 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8293 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 463: -#line 4367 "rwlparser.y" /* yacc.c:1646 */ + case 467: +#line 4391 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8265 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8301 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 466: -#line 4377 "rwlparser.y" /* yacc.c:1646 */ + case 470: +#line 4401 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; @@ -8311,11 +8347,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8315 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8351 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 467: -#line 4424 "rwlparser.y" /* yacc.c:1646 */ + case 471: +#line 4448 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; @@ -8346,11 +8382,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_SQL_ARRAY_AND_IGNERR); } -#line 8350 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8386 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 468: -#line 4458 "rwlparser.y" /* yacc.c:1646 */ + case 472: +#line 4482 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -8359,11 +8395,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 8363 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8399 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 470: -#line 4471 "rwlparser.y" /* yacc.c:1646 */ + case 474: +#line 4495 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; ub4 iflag = bit(rwm->m3flags, RWL_P3_IMMEDSQL) ? RWL_IDENT_INTERNAL : 0; @@ -8437,11 +8473,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8441 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8477 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 471: -#line 4549 "rwlparser.y" /* yacc.c:1646 */ + case 475: +#line 4573 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; ub4 notyetcount = 0; @@ -8534,53 +8570,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8538 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8574 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 475: -#line 4652 "rwlparser.y" /* yacc.c:1646 */ + case 479: +#line 4676 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BIND); yyerrok; } -#line 8544 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8580 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 477: -#line 4656 "rwlparser.y" /* yacc.c:1646 */ + case 481: +#line 4680 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BINDOUT); yyerrok; } -#line 8550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8586 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 479: -#line 4660 "rwlparser.y" /* yacc.c:1646 */ + case 483: +#line 4684 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DEFINE); yyerrok; } -#line 8556 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8592 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 480: -#line 4662 "rwlparser.y" /* yacc.c:1646 */ + case 484: +#line 4686 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_IGNERR); } -#line 8564 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8600 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 481: -#line 4666 "rwlparser.y" /* yacc.c:1646 */ + case 485: +#line 4690 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8572 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8608 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 482: -#line 4670 "rwlparser.y" /* yacc.c:1646 */ + case 486: +#line 4694 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8580 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8616 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 483: -#line 4675 "rwlparser.y" /* yacc.c:1646 */ + case 487: +#line 4699 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) { @@ -8598,34 +8634,34 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqsav->asiz = (ub4)rwm->pval.ival; } } -#line 8602 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8638 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 484: -#line 4694 "rwlparser.y" /* yacc.c:1646 */ + case 488: +#line 4718 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ARRAY); yyerrok; } -#line 8608 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8644 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 485: -#line 4699 "rwlparser.y" /* yacc.c:1646 */ + case 489: +#line 4723 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON_IN_SQL); } -#line 8614 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8650 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 488: -#line 4705 "rwlparser.y" /* yacc.c:1646 */ + case 492: +#line 4729 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQFLAG_DYNAMIC)) rwlerror(rwm, RWL_ERROR_DEFINE_ARRAY_NOT_DYNAMIC); else bis(rwm->sqsav->flags, RWL_SQFLAG_ARRAYD); } -#line 8625 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8661 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 491: -#line 4719 "rwlparser.y" /* yacc.c:1646 */ + case 495: +#line 4743 "rwlparser.y" /* yacc.c:1646 */ { // Note that it would not be too hard to replace // the integer constant here by an expression @@ -8633,27 +8669,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // can be done with modify sql for dynamic sql rwm->bdpos = rwm->ival; rwm->bdtyp=RWL_DEFINE; } -#line 8637 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8673 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 493: -#line 4728 "rwlparser.y" /* yacc.c:1646 */ + case 497: +#line 4752 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "define"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); } -#line 8647 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8683 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 496: -#line 4742 "rwlparser.y" /* yacc.c:1646 */ + case 500: +#line 4766 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BINDOUT_NAME; } -#line 8653 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8689 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 498: -#line 4744 "rwlparser.y" /* yacc.c:1646 */ + case 502: +#line 4768 "rwlparser.y" /* yacc.c:1646 */ { // We could also use expression here, but we would // of course need to check it was either a non-negative number @@ -8661,61 +8697,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BINDOUT_POS; } -#line 8665 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8701 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 500: -#line 4752 "rwlparser.y" /* yacc.c:1646 */ + case 504: +#line 4776 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BINDOUT_SAME; } -#line 8673 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8709 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 502: -#line 4756 "rwlparser.y" /* yacc.c:1646 */ + case 506: +#line 4780 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_IMPLICIT_NOT_BINDOUT); } -#line 8681 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8717 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 505: -#line 4767 "rwlparser.y" /* yacc.c:1646 */ + case 509: +#line 4791 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BIND_NAME; } -#line 8687 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8723 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 507: -#line 4769 "rwlparser.y" /* yacc.c:1646 */ + case 511: +#line 4793 "rwlparser.y" /* yacc.c:1646 */ { // same comment as above rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BIND_POS; } -#line 8697 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8733 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 509: -#line 4775 "rwlparser.y" /* yacc.c:1646 */ + case 513: +#line 4799 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BIND_SAME; } -#line 8705 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8741 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 511: -#line 4779 "rwlparser.y" /* yacc.c:1646 */ + case 515: +#line 4803 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "bind"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); } -#line 8715 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8751 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 512: -#line 4788 "rwlparser.y" /* yacc.c:1646 */ + case 516: +#line 4812 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; bd = rwlalloc(rwm, sizeof(rwl_bindef)); @@ -8809,41 +8845,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8813 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8849 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 513: -#line 4884 "rwlparser.y" /* yacc.c:1646 */ + case 517: +#line 4908 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "runseconds", "bind/define"); } -#line 8822 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8858 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 514: -#line 4889 "rwlparser.y" /* yacc.c:1646 */ + case 518: +#line 4913 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "epochseconds", "bind/define"); } -#line 8831 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8867 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 515: -#line 4893 "rwlparser.y" /* yacc.c:1646 */ + case 519: +#line 4917 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8837 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8873 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 516: -#line 4894 "rwlparser.y" /* yacc.c:1646 */ + case 520: +#line 4918 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8843 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8879 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 517: -#line 4898 "rwlparser.y" /* yacc.c:1646 */ + case 521: +#line 4922 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8860,11 +8896,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8864 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8900 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 518: -#line 4915 "rwlparser.y" /* yacc.c:1646 */ + case 522: +#line 4939 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8881,11 +8917,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8885 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8921 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 519: -#line 4932 "rwlparser.y" /* yacc.c:1646 */ + case 523: +#line 4956 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8902,11 +8938,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8906 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8942 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 520: -#line 4949 "rwlparser.y" /* yacc.c:1646 */ + case 524: +#line 4973 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8929,17 +8965,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8933 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8969 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 521: -#line 4971 "rwlparser.y" /* yacc.c:1646 */ + case 525: +#line 4995 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8939 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8975 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 522: -#line 4972 "rwlparser.y" /* yacc.c:1646 */ + case 526: +#line 4996 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8970,11 +9006,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8974 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9010 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 523: -#line 5003 "rwlparser.y" /* yacc.c:1646 */ + case 527: +#line 5027 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8995,17 +9031,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8999 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9035 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 524: -#line 5023 "rwlparser.y" /* yacc.c:1646 */ + case 528: +#line 5047 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9005 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9041 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 525: -#line 5024 "rwlparser.y" /* yacc.c:1646 */ + case 529: +#line 5048 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0 && (rwm->msqlstk = rwlexprfinish(rwm))) { @@ -9027,11 +9063,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9031 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9067 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 526: -#line 5046 "rwlparser.y" /* yacc.c:1646 */ + case 530: +#line 5070 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9046,11 +9082,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9050 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9086 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 528: -#line 5061 "rwlparser.y" /* yacc.c:1646 */ + case 532: +#line 5085 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9065,11 +9101,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9069 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9105 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 530: -#line 5076 "rwlparser.y" /* yacc.c:1646 */ + case 534: +#line 5100 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9084,23 +9120,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9088 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9124 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 534: -#line 5096 "rwlparser.y" /* yacc.c:1646 */ + case 538: +#line 5120 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9094 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9130 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 535: -#line 5098 "rwlparser.y" /* yacc.c:1646 */ + case 539: +#line 5122 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlstk = rwlexprfinish(rwm); } -#line 9100 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9136 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 536: -#line 5100 "rwlparser.y" /* yacc.c:1646 */ + case 540: +#line 5124 "rwlparser.y" /* yacc.c:1646 */ { sb4 l2; rwl_sql *sq; @@ -9151,11 +9187,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 9155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9191 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 537: -#line 5153 "rwlparser.y" /* yacc.c:1646 */ + case 541: +#line 5177 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; rwl_estack *estk; @@ -9185,21 +9221,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbcache: ; } -#line 9189 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9225 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 538: -#line 5183 "rwlparser.y" /* yacc.c:1646 */ + case 542: +#line 5207 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbsphi = rwm->mdbsplo = rwlexprfinish(rwm); if (!rwm->mdbsplo) rwlexprclear(rwm); } -#line 9199 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9235 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 539: -#line 5189 "rwlparser.y" /* yacc.c:1646 */ + case 543: +#line 5213 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; // are lo/hi good @@ -9228,20 +9264,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbpool: rwm->mdbsphi = rwm->mdbsplo = 0; } -#line 9232 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9268 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 541: -#line 5221 "rwlparser.y" /* yacc.c:1646 */ + case 545: +#line 5245 "rwlparser.y" /* yacc.c:1646 */ { if (!(rwm->mdbsphi = rwlexprfinish(rwm))) rwlexprclear(rwm); } -#line 9241 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9277 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 542: -#line 5228 "rwlparser.y" /* yacc.c:1646 */ + case 546: +#line 5252 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9261,23 +9297,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9265 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9301 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 544: -#line 5251 "rwlparser.y" /* yacc.c:1646 */ + case 548: +#line 5275 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9271 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9307 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 545: -#line 5252 "rwlparser.y" /* yacc.c:1646 */ + case 549: +#line 5276 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9277 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9313 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 546: -#line 5256 "rwlparser.y" /* yacc.c:1646 */ + case 550: +#line 5280 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->strvarn = RWL_VAR_NOTFOUND; @@ -9297,11 +9333,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->conhead = rwm->contail = 0; } -#line 9301 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9337 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 547: -#line 5276 "rwlparser.y" /* yacc.c:1646 */ + case 551: +#line 5300 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpupu(rwm, RWL_CODE_SPRINTF, rwm->strvnam @@ -9315,11 +9351,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9319 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9355 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 548: -#line 5294 "rwlparser.y" /* yacc.c:1646 */ + case 552: +#line 5318 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9338,19 +9374,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9342 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9378 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 550: -#line 5316 "rwlparser.y" /* yacc.c:1646 */ + case 554: +#line 5340 "rwlparser.y" /* yacc.c:1646 */ { rwm->conhead = rwm->contail = 0; } -#line 9350 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9386 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 551: -#line 5320 "rwlparser.y" /* yacc.c:1646 */ + case 555: +#line 5344 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpup(rwm, RWL_CODE_FPRINTF, rwm->filenam @@ -9371,11 +9407,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9375 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9411 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 554: -#line 5348 "rwlparser.y" /* yacc.c:1646 */ + case 558: +#line 5372 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwl_conlist *newcon; @@ -9394,11 +9430,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9398 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9434 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 555: -#line 5369 "rwlparser.y" /* yacc.c:1646 */ + case 559: +#line 5393 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9419,11 +9455,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->mflags,RWL_P_PRINTLINE); } -#line 9423 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9459 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 556: -#line 5391 "rwlparser.y" /* yacc.c:1646 */ + case 560: +#line 5415 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9444,35 +9480,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_PRINTLINE); } -#line 9448 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9484 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 557: -#line 5415 "rwlparser.y" /* yacc.c:1646 */ + case 561: +#line 5439 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9457 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9493 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 558: -#line 5420 "rwlparser.y" /* yacc.c:1646 */ + case 562: +#line 5444 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9466 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9502 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 560: -#line 5428 "rwlparser.y" /* yacc.c:1646 */ + case 564: +#line 5452 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTBLANK); } -#line 9472 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9508 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 562: -#line 5433 "rwlparser.y" /* yacc.c:1646 */ + case 566: +#line 5457 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -9530,11 +9566,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9534 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9570 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 563: -#line 5494 "rwlparser.y" /* yacc.c:1646 */ + case 567: +#line 5518 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mflags,RWL_P_PRINTLINE)) { @@ -9566,11 +9602,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 9570 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9606 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 564: -#line 5529 "rwlparser.y" /* yacc.c:1646 */ + case 568: +#line 5553 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -9581,11 +9617,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ; } } -#line 9585 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9621 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 565: -#line 5544 "rwlparser.y" /* yacc.c:1646 */ + case 569: +#line 5568 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->assignoper) @@ -9634,107 +9670,107 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9638 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9674 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 566: -#line 5593 "rwlparser.y" /* yacc.c:1646 */ + case 570: +#line 5617 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 9648 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9684 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 568: -#line 5603 "rwlparser.y" /* yacc.c:1646 */ + case 572: +#line 5627 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 9657 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9693 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 569: -#line 5610 "rwlparser.y" /* yacc.c:1646 */ + case 573: +#line 5634 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASSIGN; } -#line 9663 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9699 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 570: -#line 5611 "rwlparser.y" /* yacc.c:1646 */ + case 574: +#line 5635 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_GREATEQ; } -#line 9669 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9705 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 571: -#line 5612 "rwlparser.y" /* yacc.c:1646 */ + case 575: +#line 5636 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_RSHIFTASSIGN; } -#line 9675 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9711 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 572: -#line 5613 "rwlparser.y" /* yacc.c:1646 */ + case 576: +#line 5637 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_LESSEQ; } -#line 9681 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9717 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 573: -#line 5614 "rwlparser.y" /* yacc.c:1646 */ + case 577: +#line 5638 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPEFROM; } -#line 9687 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9723 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 574: -#line 5615 "rwlparser.y" /* yacc.c:1646 */ + case 578: +#line 5639 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPETO; } -#line 9693 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9729 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 576: -#line 5619 "rwlparser.y" /* yacc.c:1646 */ + case 580: +#line 5643 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_APPEND; } -#line 9699 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9735 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 577: -#line 5620 "rwlparser.y" /* yacc.c:1646 */ + case 581: +#line 5644 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNADD; } -#line 9705 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9741 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 578: -#line 5621 "rwlparser.y" /* yacc.c:1646 */ + case 582: +#line 5645 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNSUB; } -#line 9711 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9747 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 579: -#line 5622 "rwlparser.y" /* yacc.c:1646 */ + case 583: +#line 5646 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIS; } -#line 9717 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9753 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 580: -#line 5623 "rwlparser.y" /* yacc.c:1646 */ + case 584: +#line 5647 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIC; } -#line 9723 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9759 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 581: -#line 5630 "rwlparser.y" /* yacc.c:1646 */ + case 585: +#line 5654 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } -#line 9734 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9770 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 582: -#line 5637 "rwlparser.y" /* yacc.c:1646 */ + case 586: +#line 5661 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; sb4 l; @@ -9760,11 +9796,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllityp[rwm->rsldepth] = RWL_LI_DOTDOT; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 9764 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9800 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 584: -#line 5663 "rwlparser.y" /* yacc.c:1646 */ + case 588: +#line 5687 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeadd0(rwm, RWL_CODE_LIBEG); rwm->rsllihead[rwm->rsldepth] @@ -9777,11 +9813,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); rwm->rsllitail[rwm->rsldepth]->listk = rwlexprfinish(rwm); } -#line 9781 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9817 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 586: -#line 5677 "rwlparser.y" /* yacc.c:1646 */ + case 590: +#line 5701 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwlexprclear(rwm); @@ -9791,11 +9827,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); yyerrok; } -#line 9795 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9831 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 589: -#line 5696 "rwlparser.y" /* yacc.c:1646 */ + case 593: +#line 5720 "rwlparser.y" /* yacc.c:1646 */ { rwl_lilist *thisli = rwlalloc(rwm, sizeof(rwl_lilist)); rwlexprpush(rwm, rwm->loopvar[rwm->rsldepth], RWL_STACK_ASN); @@ -9803,61 +9839,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllitail[rwm->rsldepth]->linxt = thisli; rwm->rsllitail[rwm->rsldepth] = thisli; } -#line 9807 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9843 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 592: -#line 5716 "rwlparser.y" /* yacc.c:1646 */ + case 596: +#line 5740 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 9816 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9852 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 593: -#line 5721 "rwlparser.y" /* yacc.c:1646 */ + case 597: +#line 5745 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 9824 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9860 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 596: -#line 5730 "rwlparser.y" /* yacc.c:1646 */ + case 600: +#line 5754 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "execute") ; } -#line 9830 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9866 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 599: -#line 5737 "rwlparser.y" /* yacc.c:1646 */ + case 603: +#line 5761 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; } -#line 9836 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9872 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 602: -#line 5744 "rwlparser.y" /* yacc.c:1646 */ + case 606: +#line 5768 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "if") ; yyerrok; } -#line 9842 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9878 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 605: -#line 5751 "rwlparser.y" /* yacc.c:1646 */ + case 609: +#line 5775 "rwlparser.y" /* yacc.c:1646 */ { if (0 != rwlstrcmp(rwm->inam, rwm->sqname)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname); } -#line 9851 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9887 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 606: -#line 5756 "rwlparser.y" /* yacc.c:1646 */ + case 610: +#line 5780 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname) ; yyerrok; } -#line 9857 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9893 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 608: -#line 5762 "rwlparser.y" /* yacc.c:1646 */ + case 612: +#line 5786 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile1]"); @@ -9868,11 +9904,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop"); } } -#line 9872 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9908 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 609: -#line 5773 "rwlparser.y" /* yacc.c:1646 */ + case 613: +#line 5797 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile2]"); @@ -9883,11 +9919,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while"); } } -#line 9887 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9923 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 610: -#line 5784 "rwlparser.y" /* yacc.c:1646 */ + case 614: +#line 5808 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->rslflags[rwm->rsldepth-1], RWL_RSLFLAG_WHILOP)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; @@ -9895,27 +9931,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while") ; yyerrok; } -#line 9899 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9935 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 611: -#line 5795 "rwlparser.y" /* yacc.c:1646 */ + case 615: +#line 5819 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = 0; } -#line 9907 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9943 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 612: -#line 5800 "rwlparser.y" /* yacc.c:1646 */ + case 616: +#line 5824 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = rwlexprfinish(rwm); } -#line 9915 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9951 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 614: -#line 5807 "rwlparser.y" /* yacc.c:1646 */ + case 618: +#line 5831 "rwlparser.y" /* yacc.c:1646 */ { char plsword[6]; /* check for "begin" or "decla" or "--" */ ub4 sb, pb, len; @@ -9970,28 +10006,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_SQLWASPLS); rwlerror(rwm, RWL_ERROR_WARN_COMPILETIME_SQLTEXT, rwm->sqname); } -#line 9974 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10010 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 615: -#line 5864 "rwlparser.y" /* yacc.c:1646 */ + case 619: +#line 5888 "rwlparser.y" /* yacc.c:1646 */ { rwm->loc.errlin = 0; rwm->sqlfile = 0; /* not from a file */ } -#line 9983 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10019 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 616: -#line 5869 "rwlparser.y" /* yacc.c:1646 */ + case 620: +#line 5893 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9991 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10027 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 617: -#line 5873 "rwlparser.y" /* yacc.c:1646 */ + case 621: +#line 5897 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; FILE *f ; @@ -10072,11 +10108,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10076 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10112 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 618: -#line 5956 "rwlparser.y" /* yacc.c:1646 */ + case 622: +#line 5980 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -10096,11 +10132,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 10100 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10136 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 619: -#line 5976 "rwlparser.y" /* yacc.c:1646 */ + case 623: +#line 6000 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) // everything is good { @@ -10123,50 +10159,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10127 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10163 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 620: -#line 6000 "rwlparser.y" /* yacc.c:1646 */ + case 624: +#line 6024 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BAD_READLINE); yyerrok; } -#line 10136 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10172 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 621: -#line 6007 "rwlparser.y" /* yacc.c:1646 */ + case 625: +#line 6031 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = rwm->sub_estk = 0; } -#line 10142 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10178 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 622: -#line 6009 "rwlparser.y" /* yacc.c:1646 */ + case 626: +#line 6033 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10150 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10186 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 623: -#line 6013 "rwlparser.y" /* yacc.c:1646 */ + case 627: +#line 6037 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); } -#line 10158 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10194 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 624: -#line 6017 "rwlparser.y" /* yacc.c:1646 */ + case 628: +#line 6041 "rwlparser.y" /* yacc.c:1646 */ { rwm->sub_estk = rwlexprfinish(rwm); } -#line 10166 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10202 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 625: -#line 6021 "rwlparser.y" /* yacc.c:1646 */ + case 629: +#line 6045 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->reg_estk && rwm->str_estk && rwm->sub_estk) { @@ -10205,60 +10241,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10209 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10245 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 626: -#line 6060 "rwlparser.y" /* yacc.c:1646 */ + case 630: +#line 6084 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10219 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10255 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 627: -#line 6069 "rwlparser.y" /* yacc.c:1646 */ + case 631: +#line 6093 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10227 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10263 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 628: -#line 6073 "rwlparser.y" /* yacc.c:1646 */ + case 632: +#line 6097 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10235 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10271 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 629: -#line 6079 "rwlparser.y" /* yacc.c:1646 */ + case 633: +#line 6103 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10241 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10277 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 630: -#line 6081 "rwlparser.y" /* yacc.c:1646 */ + case 634: +#line 6105 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10249 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10285 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 631: -#line 6085 "rwlparser.y" /* yacc.c:1646 */ + case 635: +#line 6109 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10258 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10294 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 632: -#line 6090 "rwlparser.y" /* yacc.c:1646 */ + case 636: +#line 6114 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10291,44 +10327,44 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10295 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10331 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 633: -#line 6124 "rwlparser.y" /* yacc.c:1646 */ + case 637: +#line 6148 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10305 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10341 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 634: -#line 6133 "rwlparser.y" /* yacc.c:1646 */ + case 638: +#line 6157 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10311 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10347 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 635: -#line 6135 "rwlparser.y" /* yacc.c:1646 */ + case 639: +#line 6159 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10319 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10355 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 636: -#line 6139 "rwlparser.y" /* yacc.c:1646 */ + case 640: +#line 6163 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10328 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10364 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 637: -#line 6144 "rwlparser.y" /* yacc.c:1646 */ + case 641: +#line 6168 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10361,21 +10397,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10365 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10401 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 638: -#line 6178 "rwlparser.y" /* yacc.c:1646 */ + case 642: +#line 6202 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10375 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10411 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 641: -#line 6191 "rwlparser.y" /* yacc.c:1646 */ + case 645: +#line 6215 "rwlparser.y" /* yacc.c:1646 */ { rwl_idlist *newid = rwlalloc(rwm, sizeof(rwl_idlist)); @@ -10416,22 +10452,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10420 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10456 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 642: -#line 6234 "rwlparser.y" /* yacc.c:1646 */ + case 646: +#line 6258 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that the system expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 10431 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10467 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 643: -#line 6243 "rwlparser.y" /* yacc.c:1646 */ + case 647: +#line 6267 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -10447,11 +10483,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10451 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10487 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 644: -#line 6268 "rwlparser.y" /* yacc.c:1646 */ + case 648: +#line 6292 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->threadlist) rwlsevere(rwm, "[rwlparser-thrlistnotclean]"); @@ -10462,11 +10498,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->totthr = 0; } -#line 10466 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10502 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 645: -#line 6280 "rwlparser.y" /* yacc.c:1646 */ + case 649: +#line 6304 "rwlparser.y" /* yacc.c:1646 */ { rwl_thrinfo *next; rwm->loc.errlin = rwm->lexlino; @@ -10485,26 +10521,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->threadlist = rwm->mythr = 0; rwm->loc.errlin = 0; } -#line 10489 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10525 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 646: -#line 6299 "rwlparser.y" /* yacc.c:1646 */ + case 650: +#line 6323 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10495 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10531 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 651: -#line 6313 "rwlparser.y" /* yacc.c:1646 */ + case 655: +#line 6337 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->cqnstop = 0.0; rwm->cqnnow = rwlclock(rwm->mxq,0); } -#line 10504 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10540 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 652: -#line 6318 "rwlparser.y" /* yacc.c:1646 */ + case 656: +#line 6342 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *cp; sb4 l; @@ -10528,11 +10564,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10532 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10568 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 653: -#line 6343 "rwlparser.y" /* yacc.c:1646 */ + case 657: +#line 6367 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstop = rwm->pval.dval; if (rwm->cqnstop < rwm->cqnstart || rwm->cqnstop < rwm->cqnnow) @@ -10541,11 +10577,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->cqnat = 0; } } -#line 10545 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10581 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 654: -#line 6352 "rwlparser.y" /* yacc.c:1646 */ + case 658: +#line 6376 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->cqnat) { @@ -10597,11 +10633,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; rwm->mythr->dbnam = rwm->cqnat; } -#line 10601 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10637 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 655: -#line 6404 "rwlparser.y" /* yacc.c:1646 */ + case 659: +#line 6428 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->cqnat) // no errors above { @@ -10626,11 +10662,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m4flags, RWL_P4_PROCHASSQL); } -#line 10630 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10666 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 656: -#line 6429 "rwlparser.y" /* yacc.c:1646 */ + case 660: +#line 6453 "rwlparser.y" /* yacc.c:1646 */ { rwlcodehead(rwm, 0); if (rwm->cqnat) // No error above @@ -10658,37 +10694,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_CQNTHEN; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10662 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10698 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 657: -#line 6457 "rwlparser.y" /* yacc.c:1646 */ + case 661: +#line 6481 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeaddu(rwm, RWL_CODE_CQNISCB, 0); // Is in callback rwlcodetail(rwm); } -#line 10671 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10707 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 661: -#line 6468 "rwlparser.y" /* yacc.c:1646 */ + case 665: +#line 6492 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "querynotification"); yyerrok; } -#line 10680 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10716 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 663: -#line 6477 "rwlparser.y" /* yacc.c:1646 */ + case 667: +#line 6501 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->pval.dval; } -#line 10688 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10724 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 664: -#line 6484 "rwlparser.y" /* yacc.c:1646 */ + case 668: +#line 6508 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m4flags, RWL_P4_PROCHASSQL); if (rwm->pval.ival < 0) @@ -10704,45 +10740,45 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_THREAD; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10708 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10744 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 665: -#line 6502 "rwlparser.y" /* yacc.c:1646 */ + case 669: +#line 6526 "rwlparser.y" /* yacc.c:1646 */ { rwlcodetail(rwm); } -#line 10716 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10752 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 667: -#line 6507 "rwlparser.y" /* yacc.c:1646 */ + case 671: +#line 6531 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10722 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10758 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 669: -#line 6512 "rwlparser.y" /* yacc.c:1646 */ + case 673: +#line 6536 "rwlparser.y" /* yacc.c:1646 */ { rwm->mythr->dbnam = rwm->inam; } -#line 10730 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10766 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 672: -#line 6521 "rwlparser.y" /* yacc.c:1646 */ + case 676: +#line 6545 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "threads") ; } -#line 10736 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10772 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 675: -#line 6529 "rwlparser.y" /* yacc.c:1646 */ + case 679: +#line 6553 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "run") ; } -#line 10742 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10778 "rwlparser.tab.c" /* yacc.c:1646 */ break; -#line 10746 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10782 "rwlparser.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/rwlparser.tab.h b/src/rwlparser.tab.h index f6e1d37b..762be597 100644 --- a/src/rwlparser.tab.h +++ b/src/rwlparser.tab.h @@ -59,164 +59,165 @@ extern int rwlydebug; RWL_T_DATABASE = 261, RWL_T_EPOCHSECONDS = 262, RWL_T_DBSECONDS = 263, - RWL_T_PRINT = 264, - RWL_T_PRINTLINE = 265, - RWL_T_PRINTVAR = 266, - RWL_T_SHARDKEY = 267, - RWL_T_SUPERSHK = 268, - RWL_T_OCISECONDS = 269, - RWL_T_PROCEDURE = 270, - RWL_T_BIND = 271, - RWL_T_DEFINE = 272, - RWL_T_STRING = 273, - RWL_T_INTEGER = 274, - RWL_T_END = 275, - RWL_T_FOR = 276, - RWL_T_ARRAY = 277, - RWL_T_DATE = 278, - RWL_T_SQRT = 279, - RWL_T_ACCESS = 280, - RWL_T_REGEX = 281, - RWL_T_REGEXTRACT = 282, - RWL_T_UNIFORM = 283, - RWL_T_ERLANG = 284, - RWL_T_DOTDOT = 285, - RWL_T_DOUBLE = 286, - RWL_T_ERLANG2 = 287, - RWL_T_ERLANGK = 288, - RWL_T_RUN = 289, - RWL_T_THREADS = 290, - RWL_T_RUNSECONDS = 291, - RWL_T_WHILE = 292, - RWL_T_FFLUSH = 293, - RWL_T_READLINE = 294, - RWL_T_RANDOM = 295, - RWL_T_FILE = 296, - RWL_T_WRITE = 297, - RWL_T_WRITELINE = 298, - RWL_T_BINDOUT = 299, - RWL_T_GETRUSAGE = 300, - RWL_T_DRCP = 301, - RWL_T_SESSIONPOOL = 302, - RWL_T_RECONNECT = 303, - RWL_T_DEDICATED = 304, - RWL_T_DEFAULT = 305, - RWL_T_RESULTS = 306, - RWL_T_ASSIGN = 307, - RWL_T_LOOP = 308, - RWL_T_ALL = 309, - RWL_T_NULL = 310, - RWL_T_ISNULL = 311, - RWL_T_SUM = 312, - RWL_T_IS = 313, - RWL_T_NOT = 314, - RWL_T_LESSEQ = 315, - RWL_T_GREATEQ = 316, - RWL_T_NOTEQ = 317, - RWL_T_AND = 318, - RWL_T_OR = 319, - RWL_T_BETWEEN = 320, - RWL_T_CONCAT = 321, - RWL_T_IF = 322, - RWL_T_THEN = 323, - RWL_T_ELSE = 324, - RWL_T_NEVER = 325, - RWL_T_APPEND = 326, - RWL_T_IGNOREERROR = 327, - RWL_T_ELSEIF = 328, - RWL_T_EXECUTE = 329, - RWL_T_WAIT = 330, - RWL_T_COMMIT = 331, - RWL_T_ROLLBACK = 332, - RWL_T_EVERY = 333, - RWL_T_ASNADD = 334, - RWL_T_ASNSUB = 335, - RWL_T_STOP = 336, - RWL_T_START = 337, - RWL_T_COUNT = 338, - RWL_T_AT = 339, - RWL_T_BREAK = 340, - RWL_T_RETURN = 341, - RWL_T_ABORT = 342, - RWL_T_MODIFY = 343, - RWL_T_CURSORCACHE = 344, - RWL_T_NOCURSORCACHE = 345, - RWL_T_LEAK = 346, - RWL_T_SHIFT = 347, - RWL_T_WHEN = 348, - RWL_T_STATISTICS = 349, - RWL_T_NOSTATISTICS = 350, - RWL_T_FUNCTION = 351, - RWL_T_PUBLIC = 352, - RWL_T_OCIPING = 353, - RWL_T_QUEUE = 354, - RWL_T_NOQUEUE = 355, - RWL_T_PRIVATE = 356, - RWL_T_BEGIN = 357, - RWL_T_RELEASE = 358, - RWL_T_SYSTEM = 359, - RWL_T_CLOB = 360, - RWL_T_BLOB = 361, - RWL_T_NCLOB = 362, - RWL_T_READLOB = 363, - RWL_T_WRITELOB = 364, - RWL_T_RAW = 365, - RWL_T_EXIT = 366, - RWL_T_SUBSTR = 367, - RWL_T_SUBSTRB = 368, - RWL_T_LENGTH = 369, - RWL_T_LENGTHB = 370, - RWL_T_SQL_ID = 371, - RWL_T_GETENV = 372, - RWL_T_LOG = 373, - RWL_T_EXP = 374, - RWL_T_ROUND = 375, - RWL_T_ACTIVESESSIONCOUNT = 376, - RWL_T_REQUESTMARK = 377, - RWL_T_SPRINTF = 378, - RWL_T_OPENSESSIONCOUNT = 379, - RWL_T_STATEMARK = 380, - RWL_T_REGEXSUB = 381, - RWL_T_REGEXSUBG = 382, - RWL_T_SERVERRELEASE = 383, - RWL_T_SQL = 384, - RWL_T_SQL_TEXT = 385, - RWL_T_INSTR = 386, - RWL_T_INSTRB = 387, - RWL_T_CONNECTIONPOOL = 388, - RWL_T_CONNECTIONCLASS = 389, - RWL_T_UNSIGNED = 390, - RWL_T_HEXADECIMAL = 391, - RWL_T_OCTAL = 392, - RWL_T_FPRINTF = 393, - RWL_T_ENCODE = 394, - RWL_T_DECODE = 395, - RWL_T_STRING_CONST = 396, - RWL_T_IDENTIFIER = 397, - RWL_T_INTEGER_CONST = 398, - RWL_T_DOUBLE_CONST = 399, - RWL_T_PRINTF = 400, - RWL_T_PIPEFROM = 401, - RWL_T_PIPETO = 402, - RWL_T_RSHIFTASSIGN = 403, - RWL_T_GLOBAL = 404, - RWL_T_QUERYNOTIFICATION = 405, - RWL_T_NORMALRANDOM = 406, - RWL_T_STATISTICSONLY = 407, - RWL_T_CEIL = 408, - RWL_T_TRUNC = 409, - RWL_T_FLOOR = 410, - RWL_T_LOBPREFETCH = 411, - RWL_T_SIN = 412, - RWL_T_COS = 413, - RWL_T_ATAN2 = 414, - RWL_T_WINSLASHF2B = 415, - RWL_T_WINSLASHF2BB = 416, - RWL_T_BITWISE_LEFT_SHIFT = 417, - RWL_T_BITWISE_RIGHT_SHIFT = 418, - RWL_T_ASNBIS = 419, - RWL_T_ASNBIC = 420, - RWL_T_UMINUS = 421 + RWL_T_PROCEDURENAME = 264, + RWL_T_PRINT = 265, + RWL_T_PRINTLINE = 266, + RWL_T_PRINTVAR = 267, + RWL_T_SHARDKEY = 268, + RWL_T_SUPERSHK = 269, + RWL_T_OCISECONDS = 270, + RWL_T_PROCEDURE = 271, + RWL_T_BIND = 272, + RWL_T_DEFINE = 273, + RWL_T_STRING = 274, + RWL_T_INTEGER = 275, + RWL_T_END = 276, + RWL_T_FOR = 277, + RWL_T_ARRAY = 278, + RWL_T_DATE = 279, + RWL_T_SQRT = 280, + RWL_T_ACCESS = 281, + RWL_T_REGEX = 282, + RWL_T_REGEXTRACT = 283, + RWL_T_UNIFORM = 284, + RWL_T_ERLANG = 285, + RWL_T_DOTDOT = 286, + RWL_T_DOUBLE = 287, + RWL_T_ERLANG2 = 288, + RWL_T_ERLANGK = 289, + RWL_T_RUN = 290, + RWL_T_THREADS = 291, + RWL_T_RUNSECONDS = 292, + RWL_T_WHILE = 293, + RWL_T_FFLUSH = 294, + RWL_T_READLINE = 295, + RWL_T_RANDOM = 296, + RWL_T_FILE = 297, + RWL_T_WRITE = 298, + RWL_T_WRITELINE = 299, + RWL_T_BINDOUT = 300, + RWL_T_GETRUSAGE = 301, + RWL_T_DRCP = 302, + RWL_T_SESSIONPOOL = 303, + RWL_T_RECONNECT = 304, + RWL_T_DEDICATED = 305, + RWL_T_DEFAULT = 306, + RWL_T_RESULTS = 307, + RWL_T_ASSIGN = 308, + RWL_T_LOOP = 309, + RWL_T_ALL = 310, + RWL_T_NULL = 311, + RWL_T_ISNULL = 312, + RWL_T_SUM = 313, + RWL_T_IS = 314, + RWL_T_NOT = 315, + RWL_T_LESSEQ = 316, + RWL_T_GREATEQ = 317, + RWL_T_NOTEQ = 318, + RWL_T_AND = 319, + RWL_T_OR = 320, + RWL_T_BETWEEN = 321, + RWL_T_CONCAT = 322, + RWL_T_IF = 323, + RWL_T_THEN = 324, + RWL_T_ELSE = 325, + RWL_T_NEVER = 326, + RWL_T_APPEND = 327, + RWL_T_IGNOREERROR = 328, + RWL_T_ELSEIF = 329, + RWL_T_EXECUTE = 330, + RWL_T_WAIT = 331, + RWL_T_COMMIT = 332, + RWL_T_ROLLBACK = 333, + RWL_T_EVERY = 334, + RWL_T_ASNADD = 335, + RWL_T_ASNSUB = 336, + RWL_T_STOP = 337, + RWL_T_START = 338, + RWL_T_COUNT = 339, + RWL_T_AT = 340, + RWL_T_BREAK = 341, + RWL_T_RETURN = 342, + RWL_T_ABORT = 343, + RWL_T_MODIFY = 344, + RWL_T_CURSORCACHE = 345, + RWL_T_NOCURSORCACHE = 346, + RWL_T_LEAK = 347, + RWL_T_SHIFT = 348, + RWL_T_WHEN = 349, + RWL_T_STATISTICS = 350, + RWL_T_NOSTATISTICS = 351, + RWL_T_FUNCTION = 352, + RWL_T_PUBLIC = 353, + RWL_T_OCIPING = 354, + RWL_T_QUEUE = 355, + RWL_T_NOQUEUE = 356, + RWL_T_PRIVATE = 357, + RWL_T_BEGIN = 358, + RWL_T_RELEASE = 359, + RWL_T_SYSTEM = 360, + RWL_T_CLOB = 361, + RWL_T_BLOB = 362, + RWL_T_NCLOB = 363, + RWL_T_READLOB = 364, + RWL_T_WRITELOB = 365, + RWL_T_RAW = 366, + RWL_T_EXIT = 367, + RWL_T_SUBSTR = 368, + RWL_T_SUBSTRB = 369, + RWL_T_LENGTH = 370, + RWL_T_LENGTHB = 371, + RWL_T_SQL_ID = 372, + RWL_T_GETENV = 373, + RWL_T_LOG = 374, + RWL_T_EXP = 375, + RWL_T_ROUND = 376, + RWL_T_ACTIVESESSIONCOUNT = 377, + RWL_T_REQUESTMARK = 378, + RWL_T_SPRINTF = 379, + RWL_T_OPENSESSIONCOUNT = 380, + RWL_T_STATEMARK = 381, + RWL_T_REGEXSUB = 382, + RWL_T_REGEXSUBG = 383, + RWL_T_SERVERRELEASE = 384, + RWL_T_SQL = 385, + RWL_T_SQL_TEXT = 386, + RWL_T_INSTR = 387, + RWL_T_INSTRB = 388, + RWL_T_CONNECTIONPOOL = 389, + RWL_T_CONNECTIONCLASS = 390, + RWL_T_UNSIGNED = 391, + RWL_T_HEXADECIMAL = 392, + RWL_T_OCTAL = 393, + RWL_T_FPRINTF = 394, + RWL_T_ENCODE = 395, + RWL_T_DECODE = 396, + RWL_T_STRING_CONST = 397, + RWL_T_IDENTIFIER = 398, + RWL_T_INTEGER_CONST = 399, + RWL_T_DOUBLE_CONST = 400, + RWL_T_PRINTF = 401, + RWL_T_PIPEFROM = 402, + RWL_T_PIPETO = 403, + RWL_T_RSHIFTASSIGN = 404, + RWL_T_GLOBAL = 405, + RWL_T_QUERYNOTIFICATION = 406, + RWL_T_NORMALRANDOM = 407, + RWL_T_STATISTICSONLY = 408, + RWL_T_CEIL = 409, + RWL_T_TRUNC = 410, + RWL_T_FLOOR = 411, + RWL_T_LOBPREFETCH = 412, + RWL_T_SIN = 413, + RWL_T_COS = 414, + RWL_T_ATAN2 = 415, + RWL_T_WINSLASHF2B = 416, + RWL_T_WINSLASHF2BB = 417, + RWL_T_BITWISE_LEFT_SHIFT = 418, + RWL_T_BITWISE_RIGHT_SHIFT = 419, + RWL_T_ASNBIS = 420, + RWL_T_ASNBIC = 421, + RWL_T_UMINUS = 422 }; #endif @@ -225,7 +226,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 477 "rwlparser.y" /* yacc.c:1909 */ +#line 478 "rwlparser.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -239,7 +240,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 243 "rwlparser.tab.h" /* yacc.c:1909 */ +#line 244 "rwlparser.tab.h" /* yacc.c:1909 */ }; typedef union RWLYSTYPE RWLYSTYPE; diff --git a/src/rwlparser.y b/src/rwlparser.y index 850cc752..5e027761 100644 --- a/src/rwlparser.y +++ b/src/rwlparser.y @@ -280,6 +280,7 @@ static const rwl_yt2txt rwlyt2[] = , {"RWL_T_PRINTVAR", "'printvar'"} , {"RWL_T_PRIVATE", "'private'"} , {"RWL_T_PROCEDURE", "'procedure'"} + , {"RWL_T_PROCEDURENAME", "'procedure name'"} , {"RWL_T_PUBLIC", "'public'"} , {"RWL_T_QUERYNOTIFICATION", "'querynotification'"} , {"RWL_T_QUEUE", "'queue'"} @@ -471,7 +472,7 @@ rwlcomp(rwlparser_y, RWL_GCCFLAGS) %define parse.error verbose // Four conflicts from concatenation without || -%expect 5 +%expect 7 %union { @@ -490,7 +491,7 @@ rwlcomp(rwlparser_y, RWL_GCCFLAGS) // The tokens -%token RWL_T_CONNECT RWL_T_USERNAME RWL_T_PASSWORD RWL_T_DATABASE RWL_T_EPOCHSECONDS RWL_T_DBSECONDS +%token RWL_T_CONNECT RWL_T_USERNAME RWL_T_PASSWORD RWL_T_DATABASE RWL_T_EPOCHSECONDS RWL_T_DBSECONDS RWL_T_PROCEDURENAME %token RWL_T_PRINT RWL_T_PRINTLINE RWL_T_PRINTVAR RWL_T_SHARDKEY RWL_T_SUPERSHK RWL_T_OCISECONDS %token RWL_T_PROCEDURE RWL_T_BIND RWL_T_DEFINE RWL_T_STRING RWL_T_INTEGER RWL_T_END %token RWL_T_FOR RWL_T_ARRAY RWL_T_DATE RWL_T_SQRT RWL_T_ACCESS RWL_T_REGEX RWL_T_REGEXTRACT @@ -674,7 +675,7 @@ ranidentifierlist: | ranidentifierlist ',' ranidentifierentry ; ranidentifierentry: - RWL_T_IDENTIFIER + identifierorprocname {rwm->raentry = rwm->inam; } compiletime_expression {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } @@ -1093,7 +1094,7 @@ maybethentimeoutaction: if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); } - | RWL_T_THEN RWL_T_IDENTIFIER '(' + | RWL_T_THEN RWL_T_PROCEDURENAME '(' { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -1354,7 +1355,7 @@ printvarlist: ; printvarelement: - RWL_T_IDENTIFIER + identifierorprocname { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) @@ -1362,6 +1363,11 @@ printvarelement: } ; +identifierorprocname: + RWL_T_IDENTIFIER + | RWL_T_PROCEDURENAME + ; + maybeemptybrackets: %empty { bis(rwm->m3flags, RWL_P3_MISBRACK); } | '(' ')' { bic(rwm->m3flags, RWL_P3_MISBRACK); } @@ -1500,7 +1506,7 @@ codeterminator: } } terminator - | RWL_T_IDENTIFIER + | identifierorprocname { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -1722,7 +1728,7 @@ identifier_or_constant: if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); } - | RWL_T_SQL_ID '(' RWL_T_IDENTIFIER ')' + | RWL_T_SQL_ID '(' identifierorprocname ')' { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } @@ -2537,125 +2543,16 @@ statement: { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } - | RWL_T_IDENTIFIER - '(' - { - /* handle procedure call with arguments - * as if it were a function call - */ - if (0 != rwm->furlev) - rwlsevere(rwm,"[rwlparser-recurse2:%d]", rwm->furlev); - bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); /* default DB */ - rwm->aacnt[0] = 0; - /* - Here is a bit of a hack. Due to the error handling code - below, the parser may have been doing lookahead, and that lookahead - may have seen an identifier. Compare these two: - - someproc(a); - someproc(0+a); - - The lookahead after '(' will be either "a" or 0. In the former - case, the lexer has consumed "a", so rwm->inam now contains "a" - in stead of "someproc" which we need below. However, the lexer - has saved the previous identifier name as previnam. - - Hence, we see if the lookahead is an identifier, if it is, the - function name is stored in previnam rather than inam - */ - rwm->funcn[0] = (yychar == RWL_T_IDENTIFIER) - ? rwm->previnam - : rwm->inam; - rwlexprbeg(rwm); - } - maybe_expression_list - ')' - maybeatdatabase // includes terminator - { - if (rwm->codename) // building a procedure - { - rwl_estack *estk; - sb4 l2 = RWL_VAR_NOGUESS; - if (bit(rwm->m2flags, RWL_P2_AT)) - { - l2 = rwlfindvar(rwm->mxq, rwm->dbname, RWL_VAR_NOGUESS); - if (RWL_TYPE_DB != rwm->mxq->evar[l2].vtype) - { - rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2 - , rwm->mxq->evar[l2].stype, rwm->dbname, "at clause"); - } - else - { - rwl_cinfo *thisdb = rwm->mxq->evar[l2].vdata; - switch (thisdb->pooltype) - { - case RWL_DBPOOL_RETHRDED: - rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "threads dedicated", thisdb->vname); - l2 = RWL_VAR_NOGUESS; - break; - case RWL_DBPOOL_DEDICATED: - rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "dedicated", thisdb->vname); - l2 = RWL_VAR_NOGUESS; - break; - case RWL_DBPOOL_POOLED: - case RWL_DBPOOL_RECONNECT: - case RWL_DBPOOL_SESSION: - break; - - default: // shut up gcc - break; - } - } - } - // If at clause was found, wrap the RWL_STACK_PROCCALL/RWL_CODE_STACK - // with NEWDB/OLDDB - if (l2>=0) - rwlcodeaddpu(rwm, RWL_CODE_NEWDB, rwm->dbname, l2); - // or with DEFDB - if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) - rwlcodeadd0(rwm, RWL_CODE_DEFDB); - - rwlexprpush2(rwm, rwm->funcn[0] - , RWL_STACK_PROCCALL - , rwm->aacnt[0] ); - if ((estk = rwlexprfinish(rwm))) - rwlcodeaddp(rwm, RWL_CODE_STACK, estk); - else - rwlexprclear(rwm); - - if (l2>=0 || bit(rwm->m2flags, RWL_P2_ATDEFAULT)) - rwlcodeadd0(rwm, RWL_CODE_OLDDB); - } - else // exeucting directly in main - { - rwl_estack *estk; - - if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) - rwlerror(rwm, RWL_ERROR_AT_DEFAULT_NO_IMPACT); - - if (bit(rwm->m2flags, RWL_P2_AT)) - rwldummyonbad(rwm->mxq, rwm->dbname); - else - rwldummyonbad(rwm->mxq, rwm->defdb); - - /* syntactically, the number of arguments doesn't matter - so we just provide the actual arg count to exprpush2 - and deal with a mis-count there - */ - rwlexprpush2(rwm, rwm->funcn[0] - , RWL_STACK_PROCCALL - , rwm->aacnt[0] ); - - if ((estk = rwlexprfinish(rwm))) - { - rwlexpreval(estk, &rwm->loc, rwm->mxq, 0); - rwlexprdestroy(rwm, estk); - } - else - rwlexprclear(rwm); - } - } - | RWL_T_IDENTIFIER '(' error terminator + | RWL_T_PROCEDURENAME '(' + beginofprocedurecall + maybe_expression_list + ')' + endofprocedurecall + | RWL_T_PROCEDURENAME + beginofprocedurecall + maybe_expression_list + endofprocedurecall + | RWL_T_PROCEDURENAME error terminator { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); @@ -3211,6 +3108,133 @@ statement: ; /* end of statement */ + +beginofprocedurecall: + %empty + { + /* handle procedure call with arguments + * as if it were a function call + */ + if (0 != rwm->furlev) + rwlsevere(rwm,"[rwlparser-recurse2:%d]", rwm->furlev); + bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); + rwm->aacnt[0] = 0; + /* + Here is a bit of a hack. Due to the error handling code + below, the parser may have been doing lookahead, and that lookahead + may have seen an identifier. Compare these two: + + someproc(a); + someproc(0+a); + + The lookahead after '(' will be either "a" or 0. In the former + case, the lexer has consumed "a", so rwm->inam now contains "a" + in stead of "someproc" which we need below. However, the lexer + has saved the previous identifier name as previnam. + + Hence, we see if the lookahead is an identifier, if it is, the + function name is stored in previnam rather than inam + */ + + if (0 != rwm->furlev) + rwlsevere(rwm,"[rwlparser-recurse2:%d]", rwm->furlev); + bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); + rwm->aacnt[0] = 0; + rwm->funcn[0] = (yychar == RWL_T_IDENTIFIER) + ? rwm->previnam + : rwm->inam; + rwlexprbeg(rwm); + } + ; + +endofprocedurecall: + maybeatdatabase // includes terminator + { + if (rwm->codename) // building a procedure + { + rwl_estack *estk; + sb4 l2 = RWL_VAR_NOGUESS; + if (bit(rwm->m2flags, RWL_P2_AT)) + { + l2 = rwlfindvar(rwm->mxq, rwm->dbname, RWL_VAR_NOGUESS); + if (RWL_TYPE_DB != rwm->mxq->evar[l2].vtype) + { + rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2 + , rwm->mxq->evar[l2].stype, rwm->dbname, "at clause"); + } + else + { + rwl_cinfo *thisdb = rwm->mxq->evar[l2].vdata; + switch (thisdb->pooltype) + { + case RWL_DBPOOL_RETHRDED: + rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "threads dedicated", thisdb->vname); + l2 = RWL_VAR_NOGUESS; + break; + case RWL_DBPOOL_DEDICATED: + rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "dedicated", thisdb->vname); + l2 = RWL_VAR_NOGUESS; + break; + case RWL_DBPOOL_POOLED: + case RWL_DBPOOL_RECONNECT: + case RWL_DBPOOL_SESSION: + break; + + default: // shut up gcc + break; + } + } + } + // If at clause was found, wrap the RWL_STACK_PROCCALL/RWL_CODE_STACK + // with NEWDB/OLDDB + if (l2>=0) + rwlcodeaddpu(rwm, RWL_CODE_NEWDB, rwm->dbname, l2); + // or with DEFDB + if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) + rwlcodeadd0(rwm, RWL_CODE_DEFDB); + + rwlexprpush2(rwm, rwm->funcn[0] + , RWL_STACK_PROCCALL + , rwm->aacnt[0] ); + if ((estk = rwlexprfinish(rwm))) + rwlcodeaddp(rwm, RWL_CODE_STACK, estk); + else + rwlexprclear(rwm); + + if (l2>=0 || bit(rwm->m2flags, RWL_P2_ATDEFAULT)) + rwlcodeadd0(rwm, RWL_CODE_OLDDB); + } + else // exeucting directly in main + { + rwl_estack *estk; + + if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) + rwlerror(rwm, RWL_ERROR_AT_DEFAULT_NO_IMPACT); + + if (bit(rwm->m2flags, RWL_P2_AT)) + rwldummyonbad(rwm->mxq, rwm->dbname); + else + rwldummyonbad(rwm->mxq, rwm->defdb); + + /* syntactically, the number of arguments doesn't matter + so we just provide the actual arg count to exprpush2 + and deal with a mis-count there + */ + rwlexprpush2(rwm, rwm->funcn[0] + , RWL_STACK_PROCCALL + , rwm->aacnt[0] ); + + if ((estk = rwlexprfinish(rwm))) + { + rwlexpreval(estk, &rwm->loc, rwm->mxq, 0); + rwlexprdestroy(rwm, estk); + } + else + rwlexprclear(rwm); + } + } + ; + writelobhead: RWL_T_IDENTIFIER ',' { diff --git a/test/404.rwl b/test/404.rwl new file mode 100644 index 00000000..1e48a9f0 --- /dev/null +++ b/test/404.rwl @@ -0,0 +1,30 @@ +# New procedure syntax and usage +# allows to call a procedure P without '(' & ')' +# Declaration though remain same as it is. + +procedure doit1 (integer a, integer b) +is + printline "inside doit1: a = ", a, ",b = ", b; +end doit1; + +procedure doit2 (integer a, integer b) +is + printline "inside doit2: a = ", a, ",b = ", b; +end ; + + +procedure doit3 () +is + printline "inside doit3: "; +end ; + +doit1 (500, 400); +doit2 ((500*2), (400+ 100)); +doit1 ((500*2), 250); +doit1 500*2, 250; +doit2 500*2, (250 + 50); +doit3; + +# Below procedure call would cause syntax error as it would look for doit1(a, b) +doit1 (500*2), 250; + diff --git a/test/testres/404.err.good b/test/testres/404.err.good new file mode 100644 index 00000000..aed421f3 --- /dev/null +++ b/test/testres/404.err.good @@ -0,0 +1,3 @@ +RWL-278: error at [404.rwl;29]: parse error at position 14: unexpected ',', expecting 'at' or ';' +RWL-011: error at [404.rwl;29]: unexpected keyword or identifier (missing ';') +RWL-125: error at [404.rwl;29]: procedure or function 'doit1' called with too few arguments diff --git a/test/testres/404.out.good b/test/testres/404.out.good new file mode 100644 index 00000000..22ec93a3 --- /dev/null +++ b/test/testres/404.out.good @@ -0,0 +1,6 @@ +inside doit1: a = 500 ,b = 400 +inside doit2: a = 1000 ,b = 500 +inside doit1: a = 1000 ,b = 250 +inside doit1: a = 1000 ,b = 250 +inside doit2: a = 1000 ,b = 300 +inside doit3: From 4f3d9d32dcbbd687b55cc47f83f8379ff157f380 Mon Sep 17 00:00:00 2001 From: Manoj Dash Date: Thu, 28 Nov 2024 10:17:52 +0000 Subject: [PATCH 111/118] bash like procedure call --- man/man1rwl/statement.1rwl | 7 +- src/rwl.h | 2 - src/rwlparser.tab.c | 1096 ++++++++++++++++++------------------ src/rwlparser.tab.h | 2 +- src/rwlparser.y | 1 + test/404.rwl | 31 + test/test.sh | 2 +- test/testres/404.err.good | 7 +- test/testres/404.out.good | 6 + 9 files changed, 598 insertions(+), 556 deletions(-) diff --git a/man/man1rwl/statement.1rwl b/man/man1rwl/statement.1rwl index a7a71efa..e363a4c9 100644 --- a/man/man1rwl/statement.1rwl +++ b/man/man1rwl/statement.1rwl @@ -52,7 +52,12 @@ never two semicolons following each other. .RS 4 An identifier followed by a potentially empty list of comma-separated expressions inside a set of parentheses -is a procedure call. +is a procedure call. + +A procedure call may have an optional parentheses. +If parentheses is used for expressions as arguments, then all comma-separated arguments should get +wrapped within parentheses. An error will be throwns instead. + If an at clause is provided, the execution will be against the specified database. .RE .PP diff --git a/src/rwl.h b/src/rwl.h index aa1a3d4e..8ce402f0 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -1323,7 +1323,6 @@ struct rwl_main text *musymbol; text *lineend; // "\n" except "\r\n" on windows text *rwlytext; - text *rwlyprevtoken; ub4 rwlyleng; ub4 musymlen; text sqlbuffer[RWL_MAXSQL+2]; /* text of last SQL */ @@ -1554,7 +1553,6 @@ enum rwl_stack_t , RWL_STACK_WINSLASHF2BB // rwlwinslashf2bb , RWL_STACK_DBSECONDS /* dbseconds function */ , RWL_STACK_OCISECONDS /* ociseconds function */ -, RWL_STACK_PROCNAME /* name of the procedure */ }; /* parse time evaluation stack diff --git a/src/rwlparser.tab.c b/src/rwlparser.tab.c index 41e61806..a29c498f 100644 --- a/src/rwlparser.tab.c +++ b/src/rwlparser.tab.c @@ -69,7 +69,7 @@ /* Copy the first part of user declarations. */ -#line 160 "rwlparser.y" /* yacc.c:339 */ +#line 161 "rwlparser.y" /* yacc.c:339 */ #include "rwl.h" @@ -587,7 +587,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 478 "rwlparser.y" /* yacc.c:355 */ +#line 479 "rwlparser.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -931,75 +931,75 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 540, 540, 547, 551, 553, 552, 568, 569, 570, - 572, 575, 582, 584, 601, 600, 610, 609, 618, 617, - 627, 626, 636, 641, 650, 651, 655, 654, 661, 666, - 674, 675, 679, 678, 686, 685, 758, 763, 764, 776, - 777, 780, 781, 784, 794, 799, 807, 820, 851, 862, - 874, 873, 889, 899, 898, 916, 926, 936, 946, 959, - 960, 963, 971, 981, 992, 1007, 1008, 1012, 1013, 1014, - 1017, 1041, 1065, 1077, 1079, 1078, 1091, 1092, 1098, 1097, - 1125, 1132, 1139, 1140, 1144, 1145, 1148, 1161, 1160, 1212, - 1224, 1223, 1244, 1249, 1256, 1261, 1268, 1353, 1354, 1358, - 1367, 1368, 1372, 1373, 1376, 1377, 1378, 1382, 1383, 1387, - 1415, 1417, 1419, 1421, 1436, 1441, 1446, 1454, 1455, 1457, - 1459, 1478, 1480, 1479, 1495, 1494, 1510, 1509, 1525, 1568, - 1582, 1596, 1610, 1622, 1626, 1627, 1628, 1629, 1630, 1631, - 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1642, - 1644, 1646, 1648, 1649, 1652, 1655, 1656, 1660, 1665, 1666, - 1667, 1669, 1671, 1672, 1674, 1685, 1696, 1700, 1706, 1710, - 1716, 1720, 1726, 1731, 1735, 1743, 1741, 1768, 1772, 1776, - 1782, 1788, 1792, 1793, 1797, 1798, 1802, 1807, 1808, 1809, - 1814, 1815, 1816, 1817, 1818, 1822, 1823, 1824, 1825, 1829, - 1830, 1831, 1834, 1835, 1836, 1840, 1841, 1842, 1843, 1844, - 1845, 1849, 1850, 1851, 1855, 1856, 1860, 1861, 1865, 1866, - 1870, 1872, 1871, 1889, 1891, 1890, 1906, 1908, 1917, 1907, - 1932, 1933, 1937, 1938, 1948, 1949, 1953, 1961, 1964, 1963, - 1970, 1973, 1972, 1976, 1978, 1980, 1982, 1985, 1991, 2020, - 2035, 2048, 2050, 2051, 2055, 2057, 2061, 2063, 2068, 2067, - 2074, 2073, 2085, 2090, 2089, 2097, 2101, 2125, 2151, 2149, - 2177, 2175, 2285, 2294, 2293, 2297, 2296, 2301, 2307, 2306, - 2316, 2315, 2324, 2337, 2342, 2336, 2370, 2378, 2383, 2377, - 2412, 2419, 2435, 2434, 2447, 2463, 2474, 2480, 2486, 2498, - 2510, 2520, 2530, 2529, 2542, 2546, 2551, 2555, 2562, 2578, - 2580, 2582, 2582, 2583, 2586, 2588, 2590, 2587, 2592, 2596, - 2595, 2710, 2743, 2751, 2776, 2750, 2827, 2828, 2829, 2830, - 2832, 2833, 2841, 2842, 2850, 2851, 2860, 2863, 2862, 2871, - 2873, 2881, 2889, 2898, 2906, 2908, 2915, 2916, 2927, 2963, - 3000, 3041, 3058, 3040, 3099, 3106, 3113, 3151, 3240, 3239, - 3271, 3272, 3280, 3279, 3327, 3329, 3328, 3338, 3489, 3488, - 3636, 3642, 3645, 3661, 3665, 3669, 3676, 3677, 3681, 3681, - 3695, 3695, 3711, 3711, 3727, 3727, 3741, 3741, 3772, 3773, - 3774, 3777, 3783, 3782, 3792, 3791, 3809, 3808, 3856, 3871, - 3880, 3855, 3917, 3925, 3926, 3926, 3939, 3938, 3945, 3946, - 3947, 3953, 3954, 3958, 3962, 3970, 3974, 3978, 3986, 3987, - 3993, 3999, 4001, 4004, 4005, 4010, 4009, 4111, 4113, 4112, - 4167, 4171, 4175, 4176, 4180, 4195, 4204, 4219, 4228, 4232, - 4238, 4255, 4262, 4272, 4273, 4274, 4278, 4279, 4295, 4305, - 4311, 4319, 4325, 4333, 4339, 4347, 4352, 4359, 4360, 4361, - 4365, 4366, 4365, 4376, 4380, 4381, 4380, 4390, 4397, 4398, - 4401, 4401, 4482, 4480, 4494, 4571, 4668, 4669, 4673, 4674, - 4677, 4678, 4681, 4682, 4685, 4689, 4693, 4697, 4716, 4722, - 4724, 4727, 4728, 4737, 4738, 4743, 4742, 4751, 4761, 4762, - 4766, 4766, 4768, 4767, 4776, 4775, 4779, 4786, 4787, 4791, - 4791, 4793, 4792, 4799, 4798, 4802, 4811, 4907, 4912, 4917, - 4918, 4921, 4938, 4955, 4972, 4995, 4995, 5026, 5047, 5047, - 5070, 5069, 5085, 5084, 5100, 5099, 5116, 5117, 5120, 5122, - 5120, 5176, 5207, 5206, 5243, 5244, 5252, 5251, 5275, 5276, - 5280, 5279, 5318, 5317, 5340, 5340, 5367, 5368, 5371, 5392, - 5414, 5438, 5443, 5451, 5452, 5452, 5456, 5517, 5552, 5567, - 5616, 5625, 5626, 5634, 5635, 5636, 5637, 5638, 5639, 5642, - 5643, 5644, 5645, 5646, 5647, 5654, 5661, 5652, 5687, 5687, - 5700, 5713, 5714, 5718, 5731, 5732, 5739, 5744, 5751, 5752, - 5753, 5758, 5759, 5760, 5765, 5766, 5767, 5772, 5773, 5774, - 5779, 5784, 5785, 5796, 5807, 5818, 5822, 5829, 5830, 5887, - 5893, 5892, 5980, 5979, 6023, 6031, 6033, 6037, 6041, 6030, - 6083, 6092, 6096, 6103, 6105, 6109, 6102, 6147, 6157, 6159, - 6163, 6156, 6201, 6210, 6211, 6214, 6257, 6266, 6292, 6291, - 6322, 6328, 6329, 6332, 6333, 6337, 6342, 6367, 6376, 6428, - 6453, 6481, 6336, 6489, 6490, 6491, 6499, 6500, 6508, 6526, - 6507, 6530, 6534, 6535, 6542, 6543, 6544, 6550, 6551, 6552, - 6557, 6558, 6559, 6560, 6561, 6562, 6563 + 0, 541, 541, 548, 552, 554, 553, 569, 570, 571, + 573, 576, 583, 585, 602, 601, 611, 610, 619, 618, + 628, 627, 637, 642, 651, 652, 656, 655, 662, 667, + 675, 676, 680, 679, 687, 686, 759, 764, 765, 777, + 778, 781, 782, 785, 795, 800, 808, 821, 852, 863, + 875, 874, 890, 900, 899, 917, 927, 937, 947, 960, + 961, 964, 972, 982, 993, 1008, 1009, 1013, 1014, 1015, + 1018, 1042, 1066, 1078, 1080, 1079, 1092, 1093, 1099, 1098, + 1126, 1133, 1140, 1141, 1145, 1146, 1149, 1162, 1161, 1213, + 1225, 1224, 1245, 1250, 1257, 1262, 1269, 1354, 1355, 1359, + 1368, 1369, 1373, 1374, 1377, 1378, 1379, 1383, 1384, 1388, + 1416, 1418, 1420, 1422, 1437, 1442, 1447, 1455, 1456, 1458, + 1460, 1479, 1481, 1480, 1496, 1495, 1511, 1510, 1526, 1569, + 1583, 1597, 1611, 1623, 1627, 1628, 1629, 1630, 1631, 1632, + 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1643, + 1645, 1647, 1649, 1650, 1653, 1656, 1657, 1661, 1666, 1667, + 1668, 1670, 1672, 1673, 1675, 1686, 1697, 1701, 1707, 1711, + 1717, 1721, 1727, 1732, 1736, 1744, 1742, 1769, 1773, 1777, + 1783, 1789, 1793, 1794, 1798, 1799, 1803, 1808, 1809, 1810, + 1815, 1816, 1817, 1818, 1819, 1823, 1824, 1825, 1826, 1830, + 1831, 1832, 1835, 1836, 1837, 1841, 1842, 1843, 1844, 1845, + 1846, 1850, 1851, 1852, 1856, 1857, 1861, 1862, 1866, 1867, + 1871, 1873, 1872, 1890, 1892, 1891, 1907, 1909, 1918, 1908, + 1933, 1934, 1938, 1939, 1949, 1950, 1954, 1962, 1965, 1964, + 1971, 1974, 1973, 1977, 1979, 1981, 1983, 1986, 1992, 2021, + 2036, 2049, 2051, 2052, 2056, 2058, 2062, 2064, 2069, 2068, + 2075, 2074, 2086, 2091, 2090, 2098, 2102, 2126, 2152, 2150, + 2178, 2176, 2286, 2295, 2294, 2298, 2297, 2302, 2308, 2307, + 2317, 2316, 2325, 2338, 2343, 2337, 2371, 2379, 2384, 2378, + 2413, 2420, 2436, 2435, 2448, 2464, 2475, 2481, 2487, 2499, + 2511, 2521, 2531, 2530, 2543, 2547, 2552, 2556, 2563, 2579, + 2581, 2583, 2583, 2584, 2587, 2589, 2591, 2588, 2593, 2597, + 2596, 2711, 2744, 2752, 2777, 2751, 2828, 2829, 2830, 2831, + 2833, 2834, 2842, 2843, 2851, 2852, 2861, 2864, 2863, 2872, + 2874, 2882, 2890, 2899, 2907, 2909, 2916, 2917, 2928, 2964, + 3001, 3042, 3059, 3041, 3100, 3107, 3114, 3152, 3241, 3240, + 3272, 3273, 3281, 3280, 3328, 3330, 3329, 3339, 3490, 3489, + 3637, 3643, 3646, 3662, 3666, 3670, 3677, 3678, 3682, 3682, + 3696, 3696, 3712, 3712, 3728, 3728, 3742, 3742, 3773, 3774, + 3775, 3778, 3784, 3783, 3793, 3792, 3810, 3809, 3857, 3872, + 3881, 3856, 3918, 3926, 3927, 3927, 3940, 3939, 3946, 3947, + 3948, 3954, 3955, 3959, 3963, 3971, 3975, 3979, 3987, 3988, + 3994, 4000, 4002, 4005, 4006, 4011, 4010, 4112, 4114, 4113, + 4168, 4172, 4176, 4177, 4181, 4196, 4205, 4220, 4229, 4233, + 4239, 4256, 4263, 4273, 4274, 4275, 4279, 4280, 4296, 4306, + 4312, 4320, 4326, 4334, 4340, 4348, 4353, 4360, 4361, 4362, + 4366, 4367, 4366, 4377, 4381, 4382, 4381, 4391, 4398, 4399, + 4402, 4402, 4483, 4481, 4495, 4572, 4669, 4670, 4674, 4675, + 4678, 4679, 4682, 4683, 4686, 4690, 4694, 4698, 4717, 4723, + 4725, 4728, 4729, 4738, 4739, 4744, 4743, 4752, 4762, 4763, + 4767, 4767, 4769, 4768, 4777, 4776, 4780, 4787, 4788, 4792, + 4792, 4794, 4793, 4800, 4799, 4803, 4812, 4908, 4913, 4918, + 4919, 4922, 4939, 4956, 4973, 4996, 4996, 5027, 5048, 5048, + 5071, 5070, 5086, 5085, 5101, 5100, 5117, 5118, 5121, 5123, + 5121, 5177, 5208, 5207, 5244, 5245, 5253, 5252, 5276, 5277, + 5281, 5280, 5319, 5318, 5341, 5341, 5368, 5369, 5372, 5393, + 5415, 5439, 5444, 5452, 5453, 5453, 5457, 5518, 5553, 5568, + 5617, 5626, 5627, 5635, 5636, 5637, 5638, 5639, 5640, 5643, + 5644, 5645, 5646, 5647, 5648, 5655, 5662, 5653, 5688, 5688, + 5701, 5714, 5715, 5719, 5732, 5733, 5740, 5745, 5752, 5753, + 5754, 5759, 5760, 5761, 5766, 5767, 5768, 5773, 5774, 5775, + 5780, 5785, 5786, 5797, 5808, 5819, 5823, 5830, 5831, 5888, + 5894, 5893, 5981, 5980, 6024, 6032, 6034, 6038, 6042, 6031, + 6084, 6093, 6097, 6104, 6106, 6110, 6103, 6148, 6158, 6160, + 6164, 6157, 6202, 6211, 6212, 6215, 6258, 6267, 6293, 6292, + 6323, 6329, 6330, 6333, 6334, 6338, 6343, 6368, 6377, 6429, + 6454, 6482, 6337, 6490, 6491, 6492, 6500, 6501, 6509, 6527, + 6508, 6531, 6535, 6536, 6543, 6544, 6545, 6551, 6552, 6553, + 6558, 6559, 6560, 6561, 6562, 6563, 6564 }; #endif @@ -3641,7 +3641,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 541 "rwlparser.y" /* yacc.c:1646 */ +#line 542 "rwlparser.y" /* yacc.c:1646 */ { ; // we are done! } @@ -3649,13 +3649,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 3: -#line 547 "rwlparser.y" /* yacc.c:1646 */ +#line 548 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) YYABORT; } #line 3655 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 5: -#line 553 "rwlparser.y" /* yacc.c:1646 */ +#line 554 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) @@ -3665,7 +3665,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 6: -#line 559 "rwlparser.y" /* yacc.c:1646 */ +#line 560 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) @@ -3675,13 +3675,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 10: -#line 574 "rwlparser.y" /* yacc.c:1646 */ +#line 575 "rwlparser.y" /* yacc.c:1646 */ { rwlprintallvars(rwm); } #line 3681 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 13: -#line 585 "rwlparser.y" /* yacc.c:1646 */ +#line 586 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) rwlcodetail(rwm); @@ -3700,7 +3700,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 14: -#line 601 "rwlparser.y" /* yacc.c:1646 */ +#line 602 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3712,7 +3712,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 16: -#line 610 "rwlparser.y" /* yacc.c:1646 */ +#line 611 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3723,7 +3723,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 18: -#line 618 "rwlparser.y" /* yacc.c:1646 */ +#line 619 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3735,7 +3735,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 20: -#line 627 "rwlparser.y" /* yacc.c:1646 */ +#line 628 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); @@ -3745,7 +3745,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 22: -#line 638 "rwlparser.y" /* yacc.c:1646 */ +#line 639 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } @@ -3753,7 +3753,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 23: -#line 642 "rwlparser.y" /* yacc.c:1646 */ +#line 643 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); @@ -3764,19 +3764,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 26: -#line 655 "rwlparser.y" /* yacc.c:1646 */ +#line 656 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->sval; } #line 3770 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 27: -#line 657 "rwlparser.y" /* yacc.c:1646 */ +#line 658 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } #line 3776 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 28: -#line 663 "rwlparser.y" /* yacc.c:1646 */ +#line 664 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } @@ -3784,7 +3784,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 29: -#line 667 "rwlparser.y" /* yacc.c:1646 */ +#line 668 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); @@ -3795,19 +3795,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 32: -#line 679 "rwlparser.y" /* yacc.c:1646 */ +#line 680 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->inam; } #line 3801 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 33: -#line 681 "rwlparser.y" /* yacc.c:1646 */ +#line 682 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } #line 3807 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 34: -#line 686 "rwlparser.y" /* yacc.c:1646 */ +#line 687 "rwlparser.y" /* yacc.c:1646 */ { // add identifier sb4 ld = rwladdvar(rwm, rwm->inam, RWL_TYPE_DB, 0); @@ -3828,7 +3828,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 35: -#line 703 "rwlparser.y" /* yacc.c:1646 */ +#line 704 "rwlparser.y" /* yacc.c:1646 */ { // fix core dump, only call builddb if everything fine if (bit(rwm->m2flags, RWL_P2_SOMEEXPFAIL)) @@ -3888,13 +3888,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 36: -#line 759 "rwlparser.y" /* yacc.c:1646 */ +#line 760 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DATABASE_WRONG); yyerrok; } #line 3894 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 38: -#line 765 "rwlparser.y" /* yacc.c:1646 */ +#line 766 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3908,7 +3908,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 43: -#line 785 "rwlparser.y" /* yacc.c:1646 */ +#line 786 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3922,7 +3922,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 44: -#line 795 "rwlparser.y" /* yacc.c:1646 */ +#line 796 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) rwm->dbsav->password = rwlstrdup(rwm, rwm->pval.sval); @@ -3931,7 +3931,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 45: -#line 800 "rwlparser.y" /* yacc.c:1646 */ +#line 801 "rwlparser.y" /* yacc.c:1646 */ { if (rwlcclassgood(rwm, (rwm->pval.sval))) { @@ -3943,7 +3943,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 46: -#line 808 "rwlparser.y" /* yacc.c:1646 */ +#line 809 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3960,7 +3960,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 47: -#line 821 "rwlparser.y" /* yacc.c:1646 */ +#line 822 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3995,7 +3995,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 48: -#line 852 "rwlparser.y" /* yacc.c:1646 */ +#line 853 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "results", rwm->resdb); @@ -4010,7 +4010,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 49: -#line 863 "rwlparser.y" /* yacc.c:1646 */ +#line 864 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "default", rwm->defdb); @@ -4025,7 +4025,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 50: -#line 874 "rwlparser.y" /* yacc.c:1646 */ +#line 875 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4043,7 +4043,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 52: -#line 890 "rwlparser.y" /* yacc.c:1646 */ +#line 891 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4056,7 +4056,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 53: -#line 899 "rwlparser.y" /* yacc.c:1646 */ +#line 900 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4075,7 +4075,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 55: -#line 917 "rwlparser.y" /* yacc.c:1646 */ +#line 918 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4089,7 +4089,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 56: -#line 927 "rwlparser.y" /* yacc.c:1646 */ +#line 928 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4103,7 +4103,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 57: -#line 937 "rwlparser.y" /* yacc.c:1646 */ +#line 938 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4117,7 +4117,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 58: -#line 947 "rwlparser.y" /* yacc.c:1646 */ +#line 948 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4131,7 +4131,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 61: -#line 964 "rwlparser.y" /* yacc.c:1646 */ +#line 965 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "statemark",RWL_OCI_VERSION); @@ -4143,7 +4143,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 62: -#line 972 "rwlparser.y" /* yacc.c:1646 */ +#line 973 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "requestmark",RWL_OCI_VERSION); @@ -4155,7 +4155,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 63: -#line 982 "rwlparser.y" /* yacc.c:1646 */ +#line 983 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4170,7 +4170,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 64: -#line 993 "rwlparser.y" /* yacc.c:1646 */ +#line 994 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4186,7 +4186,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 70: -#line 1018 "rwlparser.y" /* yacc.c:1646 */ +#line 1019 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION > 12) if (rwm->dbsav) @@ -4211,7 +4211,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 71: -#line 1042 "rwlparser.y" /* yacc.c:1646 */ +#line 1043 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION > 12) if (rwm->dbsav) @@ -4236,7 +4236,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 72: -#line 1066 "rwlparser.y" /* yacc.c:1646 */ +#line 1067 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4249,7 +4249,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 74: -#line 1079 "rwlparser.y" /* yacc.c:1646 */ +#line 1080 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) @@ -4262,7 +4262,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 77: -#line 1093 "rwlparser.y" /* yacc.c:1646 */ +#line 1094 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4271,7 +4271,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 78: -#line 1098 "rwlparser.y" /* yacc.c:1646 */ +#line 1099 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4286,7 +4286,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 79: -#line 1109 "rwlparser.y" /* yacc.c:1646 */ +#line 1110 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; @@ -4302,7 +4302,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 80: -#line 1126 "rwlparser.y" /* yacc.c:1646 */ +#line 1127 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } @@ -4310,7 +4310,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 81: -#line 1133 "rwlparser.y" /* yacc.c:1646 */ +#line 1134 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } @@ -4318,7 +4318,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 86: -#line 1149 "rwlparser.y" /* yacc.c:1646 */ +#line 1150 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4334,7 +4334,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 87: -#line 1161 "rwlparser.y" /* yacc.c:1646 */ +#line 1162 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_FUNC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) // e.g. out of space @@ -4353,7 +4353,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 88: -#line 1177 "rwlparser.y" /* yacc.c:1646 */ +#line 1178 "rwlparser.y" /* yacc.c:1646 */ { /* codeguess was set en rwlcodeaddp */ if (rwm->codeguess>=0 && rwm->dtype) @@ -4389,7 +4389,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 89: -#line 1213 "rwlparser.y" /* yacc.c:1646 */ +#line 1214 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4404,7 +4404,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 90: -#line 1224 "rwlparser.y" /* yacc.c:1646 */ +#line 1225 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_PROC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) /* e.g. out of space */ @@ -4420,7 +4420,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 91: -#line 1237 "rwlparser.y" /* yacc.c:1646 */ +#line 1238 "rwlparser.y" /* yacc.c:1646 */ { rwm->mxq->evar[rwm->codeguess].v2val = rwm->facnt; rwm->supsemerr = RWL_SUPSEM_PROC; @@ -4429,7 +4429,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 92: -#line 1245 "rwlparser.y" /* yacc.c:1646 */ +#line 1246 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -4438,7 +4438,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 93: -#line 1250 "rwlparser.y" /* yacc.c:1646 */ +#line 1251 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } @@ -4446,7 +4446,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 94: -#line 1257 "rwlparser.y" /* yacc.c:1646 */ +#line 1258 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -4455,7 +4455,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 95: -#line 1262 "rwlparser.y" /* yacc.c:1646 */ +#line 1263 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } @@ -4463,7 +4463,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 96: -#line 1269 "rwlparser.y" /* yacc.c:1646 */ +#line 1270 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) { @@ -4549,7 +4549,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 99: -#line 1359 "rwlparser.y" /* yacc.c:1646 */ +#line 1360 "rwlparser.y" /* yacc.c:1646 */ { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) @@ -4559,25 +4559,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 102: -#line 1372 "rwlparser.y" /* yacc.c:1646 */ +#line 1373 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_MISBRACK); } #line 4565 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 103: -#line 1373 "rwlparser.y" /* yacc.c:1646 */ +#line 1374 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_MISBRACK); } #line 4571 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 104: -#line 1376 "rwlparser.y" /* yacc.c:1646 */ +#line 1377 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_MISSING_DECL_BRACK); } #line 4577 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 109: -#line 1388 "rwlparser.y" /* yacc.c:1646 */ +#line 1389 "rwlparser.y" /* yacc.c:1646 */ { sb4 la; if (rwm->dtype && @@ -4605,25 +4605,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 110: -#line 1416 "rwlparser.y" /* yacc.c:1646 */ +#line 1417 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } #line 4611 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 111: -#line 1418 "rwlparser.y" /* yacc.c:1646 */ +#line 1419 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } #line 4617 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 112: -#line 1420 "rwlparser.y" /* yacc.c:1646 */ +#line 1421 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } #line 4623 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 113: -#line 1422 "rwlparser.y" /* yacc.c:1646 */ +#line 1423 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -4642,7 +4642,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 114: -#line 1437 "rwlparser.y" /* yacc.c:1646 */ +#line 1438 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "file"); @@ -4651,7 +4651,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 115: -#line 1442 "rwlparser.y" /* yacc.c:1646 */ +#line 1443 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "sql"); @@ -4660,7 +4660,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 116: -#line 1447 "rwlparser.y" /* yacc.c:1646 */ +#line 1448 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "clob"); @@ -4669,19 +4669,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 118: -#line 1456 "rwlparser.y" /* yacc.c:1646 */ +#line 1457 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_STATSONLY); } #line 4675 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 119: -#line 1458 "rwlparser.y" /* yacc.c:1646 */ +#line 1459 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_PROCHASSQL); } #line 4681 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 120: -#line 1460 "rwlparser.y" /* yacc.c:1646 */ +#line 1461 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; l = rwlfindvar(rwm->mxq, rwm->codename, RWL_VAR_NOGUESS); @@ -4701,7 +4701,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 122: -#line 1480 "rwlparser.y" /* yacc.c:1646 */ +#line 1481 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4719,7 +4719,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 124: -#line 1495 "rwlparser.y" /* yacc.c:1646 */ +#line 1496 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4737,7 +4737,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 126: -#line 1510 "rwlparser.y" /* yacc.c:1646 */ +#line 1511 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4756,7 +4756,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 128: -#line 1526 "rwlparser.y" /* yacc.c:1646 */ +#line 1527 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4776,7 +4776,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 129: -#line 1569 "rwlparser.y" /* yacc.c:1646 */ +#line 1570 "rwlparser.y" /* yacc.c:1646 */ { /* There are cases where we have an expression followed @@ -4793,7 +4793,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 130: -#line 1583 "rwlparser.y" /* yacc.c:1646 */ +#line 1584 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4811,7 +4811,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 131: -#line 1597 "rwlparser.y" /* yacc.c:1646 */ +#line 1598 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4829,7 +4829,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 132: -#line 1611 "rwlparser.y" /* yacc.c:1646 */ +#line 1612 "rwlparser.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ @@ -4845,7 +4845,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 133: -#line 1623 "rwlparser.y" /* yacc.c:1646 */ +#line 1624 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } @@ -4853,121 +4853,121 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 134: -#line 1626 "rwlparser.y" /* yacc.c:1646 */ +#line 1627 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_UNIFORM); } #line 4859 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 135: -#line 1627 "rwlparser.y" /* yacc.c:1646 */ +#line 1628 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOGB); } #line 4865 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 136: -#line 1628 "rwlparser.y" /* yacc.c:1646 */ +#line 1629 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOG); } #line 4871 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 137: -#line 1629 "rwlparser.y" /* yacc.c:1646 */ +#line 1630 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXPB); } #line 4877 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 138: -#line 1630 "rwlparser.y" /* yacc.c:1646 */ +#line 1631 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXP); } #line 4883 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 139: -#line 1631 "rwlparser.y" /* yacc.c:1646 */ +#line 1632 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CEIL); } #line 4889 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 140: -#line 1632 "rwlparser.y" /* yacc.c:1646 */ +#line 1633 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_TRUNC); } #line 4895 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 141: -#line 1633 "rwlparser.y" /* yacc.c:1646 */ +#line 1634 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_FLOOR); } #line 4901 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 142: -#line 1634 "rwlparser.y" /* yacc.c:1646 */ +#line 1635 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ROUND); } #line 4907 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 143: -#line 1635 "rwlparser.y" /* yacc.c:1646 */ +#line 1636 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SQRT); } #line 4913 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 144: -#line 1636 "rwlparser.y" /* yacc.c:1646 */ +#line 1637 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SIN); } #line 4919 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 145: -#line 1637 "rwlparser.y" /* yacc.c:1646 */ +#line 1638 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_COS); } #line 4925 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 146: -#line 1638 "rwlparser.y" /* yacc.c:1646 */ +#line 1639 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ATAN2); } #line 4931 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 147: -#line 1639 "rwlparser.y" /* yacc.c:1646 */ +#line 1640 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LENGTHB); } #line 4937 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 148: -#line 1641 "rwlparser.y" /* yacc.c:1646 */ +#line 1642 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB2); } #line 4943 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 149: -#line 1643 "rwlparser.y" /* yacc.c:1646 */ +#line 1644 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB3); } #line 4949 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 150: -#line 1645 "rwlparser.y" /* yacc.c:1646 */ +#line 1646 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB2); } #line 4955 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 151: -#line 1647 "rwlparser.y" /* yacc.c:1646 */ +#line 1648 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB3); } #line 4961 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 152: -#line 1648 "rwlparser.y" /* yacc.c:1646 */ +#line 1649 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GETENV); } #line 4967 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 153: -#line 1649 "rwlparser.y" /* yacc.c:1646 */ +#line 1650 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2B); } @@ -4975,7 +4975,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 154: -#line 1652 "rwlparser.y" /* yacc.c:1646 */ +#line 1653 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2BB); } @@ -4983,13 +4983,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 155: -#line 1655 "rwlparser.y" /* yacc.c:1646 */ +#line 1656 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } #line 4989 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 156: -#line 1657 "rwlparser.y" /* yacc.c:1646 */ +#line 1658 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } @@ -4997,7 +4997,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 157: -#line 1661 "rwlparser.y" /* yacc.c:1646 */ +#line 1662 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprpush0(rwm,RWL_STACK_SYSTEM); @@ -5006,43 +5006,43 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 158: -#line 1665 "rwlparser.y" /* yacc.c:1646 */ +#line 1666 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG); } #line 5012 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 159: -#line 1666 "rwlparser.y" /* yacc.c:1646 */ +#line 1667 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG2); } #line 5018 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 160: -#line 1668 "rwlparser.y" /* yacc.c:1646 */ +#line 1669 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANGK); } #line 5024 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 161: -#line 1670 "rwlparser.y" /* yacc.c:1646 */ +#line 1671 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NORMALRANDOM); } #line 5030 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 162: -#line 1671 "rwlparser.y" /* yacc.c:1646 */ +#line 1672 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } #line 5036 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 163: -#line 1673 "rwlparser.y" /* yacc.c:1646 */ +#line 1674 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ACCESS); } #line 5042 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 164: -#line 1675 "rwlparser.y" /* yacc.c:1646 */ +#line 1676 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlexprpush(rwm, rwm->resdb, RWL_STACK_SERVERRELEASE); @@ -5057,7 +5057,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 165: -#line 1686 "rwlparser.y" /* yacc.c:1646 */ +#line 1687 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlexprpush(rwm, rwm->defdb, RWL_STACK_SERVERRELEASE); @@ -5072,7 +5072,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 166: -#line 1697 "rwlparser.y" /* yacc.c:1646 */ +#line 1698 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SERVERRELEASE); } @@ -5080,7 +5080,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 167: -#line 1701 "rwlparser.y" /* yacc.c:1646 */ +#line 1702 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); @@ -5090,7 +5090,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 168: -#line 1707 "rwlparser.y" /* yacc.c:1646 */ +#line 1708 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_OPENSESSIONCOUNT); } @@ -5098,7 +5098,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 169: -#line 1711 "rwlparser.y" /* yacc.c:1646 */ +#line 1712 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); @@ -5108,7 +5108,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 170: -#line 1717 "rwlparser.y" /* yacc.c:1646 */ +#line 1718 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_ACTIVESESSIONCOUNT); } @@ -5116,7 +5116,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 171: -#line 1721 "rwlparser.y" /* yacc.c:1646 */ +#line 1722 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); @@ -5126,7 +5126,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 172: -#line 1727 "rwlparser.y" /* yacc.c:1646 */ +#line 1728 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); @@ -5135,7 +5135,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 173: -#line 1732 "rwlparser.y" /* yacc.c:1646 */ +#line 1733 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } @@ -5143,7 +5143,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 174: -#line 1736 "rwlparser.y" /* yacc.c:1646 */ +#line 1737 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); @@ -5153,7 +5153,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 175: -#line 1743 "rwlparser.y" /* yacc.c:1646 */ +#line 1744 "rwlparser.y" /* yacc.c:1646 */ { /* element with furlev=0 is used by procedure call */ if (++rwm->furlev>=RWL_MAX_FUNC_RECURSION) @@ -5170,7 +5170,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 176: -#line 1757 "rwlparser.y" /* yacc.c:1646 */ +#line 1758 "rwlparser.y" /* yacc.c:1646 */ { /* syntactically, the number of arguments doesn't matter so we just provide the actual arg count to exprpush2 @@ -5186,7 +5186,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 177: -#line 1769 "rwlparser.y" /* yacc.c:1646 */ +#line 1770 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_DBSECONDS); } @@ -5194,7 +5194,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 178: -#line 1773 "rwlparser.y" /* yacc.c:1646 */ +#line 1774 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_OCISECONDS); } @@ -5202,7 +5202,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 179: -#line 1777 "rwlparser.y" /* yacc.c:1646 */ +#line 1778 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "runseconds"); @@ -5212,7 +5212,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 180: -#line 1783 "rwlparser.y" /* yacc.c:1646 */ +#line 1784 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "epochseconds"); @@ -5222,151 +5222,151 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 186: -#line 1802 "rwlparser.y" /* yacc.c:1646 */ +#line 1803 "rwlparser.y" /* yacc.c:1646 */ { rwm->aacnt[rwm->furlev]++; } #line 5228 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 188: -#line 1808 "rwlparser.y" /* yacc.c:1646 */ +#line 1809 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } #line 5234 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 189: -#line 1809 "rwlparser.y" /* yacc.c:1646 */ +#line 1810 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNOTNULL); } #line 5240 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 191: -#line 1815 "rwlparser.y" /* yacc.c:1646 */ +#line 1816 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MINUS); } #line 5246 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 192: -#line 1816 "rwlparser.y" /* yacc.c:1646 */ +#line 1817 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } #line 5252 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 193: -#line 1817 "rwlparser.y" /* yacc.c:1646 */ +#line 1818 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } #line 5258 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 194: -#line 1818 "rwlparser.y" /* yacc.c:1646 */ +#line 1819 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_NOT); } #line 5264 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 196: -#line 1823 "rwlparser.y" /* yacc.c:1646 */ +#line 1824 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MUL); } #line 5270 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 197: -#line 1824 "rwlparser.y" /* yacc.c:1646 */ +#line 1825 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_DIV); } #line 5276 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 198: -#line 1825 "rwlparser.y" /* yacc.c:1646 */ +#line 1826 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MOD); } #line 5282 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 200: -#line 1830 "rwlparser.y" /* yacc.c:1646 */ +#line 1831 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ADD); } #line 5288 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 201: -#line 1831 "rwlparser.y" /* yacc.c:1646 */ +#line 1832 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUB); } #line 5294 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 203: -#line 1835 "rwlparser.y" /* yacc.c:1646 */ +#line 1836 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_LEFT_SHIFT); } #line 5300 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 204: -#line 1836 "rwlparser.y" /* yacc.c:1646 */ +#line 1837 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_RIGHT_SHIFT); } #line 5306 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 206: -#line 1841 "rwlparser.y" /* yacc.c:1646 */ +#line 1842 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESS); } #line 5312 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 207: -#line 1842 "rwlparser.y" /* yacc.c:1646 */ +#line 1843 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATER); } #line 5318 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 208: -#line 1843 "rwlparser.y" /* yacc.c:1646 */ +#line 1844 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } #line 5324 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 209: -#line 1844 "rwlparser.y" /* yacc.c:1646 */ +#line 1845 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } #line 5330 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 210: -#line 1845 "rwlparser.y" /* yacc.c:1646 */ +#line 1846 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } #line 5336 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 212: -#line 1850 "rwlparser.y" /* yacc.c:1646 */ +#line 1851 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EQUAL); } #line 5342 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 213: -#line 1851 "rwlparser.y" /* yacc.c:1646 */ +#line 1852 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } #line 5348 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 215: -#line 1856 "rwlparser.y" /* yacc.c:1646 */ +#line 1857 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_AND); } #line 5354 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 217: -#line 1861 "rwlparser.y" /* yacc.c:1646 */ +#line 1862 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_XOR); } #line 5360 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 219: -#line 1866 "rwlparser.y" /* yacc.c:1646 */ +#line 1867 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_OR); } #line 5366 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 221: -#line 1872 "rwlparser.y" /* yacc.c:1646 */ +#line 1873 "rwlparser.y" /* yacc.c:1646 */ { // With AND (and OR) skipdep is used to mark // the expression element we need to skip until @@ -5380,7 +5380,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 222: -#line 1882 "rwlparser.y" /* yacc.c:1646 */ +#line 1883 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; @@ -5389,7 +5389,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 224: -#line 1891 "rwlparser.y" /* yacc.c:1646 */ +#line 1892 "rwlparser.y" /* yacc.c:1646 */ { // see comment above rwm->ptail->branchtype = RWL_EXP_ORBRANCH; @@ -5401,7 +5401,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 225: -#line 1899 "rwlparser.y" /* yacc.c:1646 */ +#line 1900 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR ,rwm->skipdep); rwm->skipdep--; @@ -5410,7 +5410,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 227: -#line 1908 "rwlparser.y" /* yacc.c:1646 */ +#line 1909 "rwlparser.y" /* yacc.c:1646 */ { // With conditional execution we mark the condition // with RWL_EXP_CONDBRANCH1 @@ -5423,7 +5423,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 228: -#line 1917 "rwlparser.y" /* yacc.c:1646 */ +#line 1918 "rwlparser.y" /* yacc.c:1646 */ { // and the place of ':' (really ELSE) with // RWL_EXP_CONDBRANCH2 @@ -5434,7 +5434,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 229: -#line 1924 "rwlparser.y" /* yacc.c:1646 */ +#line 1925 "rwlparser.y" /* yacc.c:1646 */ { // And the actual conditional is the "end if" place rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, rwm->skipdep); @@ -5444,25 +5444,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 231: -#line 1933 "rwlparser.y" /* yacc.c:1646 */ +#line 1934 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } #line 5450 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 233: -#line 1938 "rwlparser.y" /* yacc.c:1646 */ +#line 1939 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } #line 5456 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 235: -#line 1949 "rwlparser.y" /* yacc.c:1646 */ +#line 1950 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = 0; } #line 5462 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 236: -#line 1954 "rwlparser.y" /* yacc.c:1646 */ +#line 1955 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) { @@ -5474,61 +5474,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 237: -#line 1962 "rwlparser.y" /* yacc.c:1646 */ +#line 1963 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } #line 5480 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 238: -#line 1964 "rwlparser.y" /* yacc.c:1646 */ +#line 1965 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "threads"); yyerrok; } #line 5486 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 240: -#line 1971 "rwlparser.y" /* yacc.c:1646 */ +#line 1972 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } #line 5492 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 241: -#line 1973 "rwlparser.y" /* yacc.c:1646 */ +#line 1974 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "run"); yyerrok; } #line 5498 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 243: -#line 1977 "rwlparser.y" /* yacc.c:1646 */ +#line 1978 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } #line 5504 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 244: -#line 1979 "rwlparser.y" /* yacc.c:1646 */ +#line 1980 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "database"); yyerrok; } #line 5510 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 245: -#line 1981 "rwlparser.y" /* yacc.c:1646 */ +#line 1982 "rwlparser.y" /* yacc.c:1646 */ { yyerrok ; } #line 5516 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 246: -#line 1984 "rwlparser.y" /* yacc.c:1646 */ +#line 1985 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random procedure array"); yyerrok; } #line 5522 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 247: -#line 1987 "rwlparser.y" /* yacc.c:1646 */ +#line 1988 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random string array"); yyerrok; } #line 5528 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 248: -#line 1992 "rwlparser.y" /* yacc.c:1646 */ +#line 1993 "rwlparser.y" /* yacc.c:1646 */ { switch(rwm->supsemerr) { @@ -5561,7 +5561,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 249: -#line 2021 "rwlparser.y" /* yacc.c:1646 */ +#line 2022 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5580,7 +5580,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 250: -#line 2036 "rwlparser.y" /* yacc.c:1646 */ +#line 2037 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5595,25 +5595,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 253: -#line 2053 "rwlparser.y" /* yacc.c:1646 */ +#line 2054 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } #line 5601 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 255: -#line 2060 "rwlparser.y" /* yacc.c:1646 */ +#line 2061 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } #line 5607 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 257: -#line 2066 "rwlparser.y" /* yacc.c:1646 */ +#line 2067 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } #line 5613 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 258: -#line 2068 "rwlparser.y" /* yacc.c:1646 */ +#line 2069 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; } @@ -5621,7 +5621,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 260: -#line 2074 "rwlparser.y" /* yacc.c:1646 */ +#line 2075 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) rwm->declslen = 1; // kind of a kludge, but this prevents doube @@ -5635,13 +5635,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 262: -#line 2088 "rwlparser.y" /* yacc.c:1646 */ +#line 2089 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_STR); yyerrok; } #line 5641 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 263: -#line 2090 "rwlparser.y" /* yacc.c:1646 */ +#line 2091 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_FILE; //if (rwm->codename) @@ -5651,13 +5651,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 265: -#line 2099 "rwlparser.y" /* yacc.c:1646 */ +#line 2100 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_FILE); yyerrok; } #line 5657 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 266: -#line 2104 "rwlparser.y" /* yacc.c:1646 */ +#line 2105 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5682,7 +5682,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 267: -#line 2127 "rwlparser.y" /* yacc.c:1646 */ +#line 2128 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5709,13 +5709,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 268: -#line 2151 "rwlparser.y" /* yacc.c:1646 */ +#line 2152 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rslerror) rwlcodeadd0(rwm, RWL_CODE_ELSE); } #line 5715 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 269: -#line 2154 "rwlparser.y" /* yacc.c:1646 */ +#line 2155 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5740,7 +5740,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 270: -#line 2177 "rwlparser.y" /* yacc.c:1646 */ +#line 2178 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* start expression */ @@ -5781,7 +5781,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 271: -#line 2218 "rwlparser.y" /* yacc.c:1646 */ +#line 2219 "rwlparser.y" /* yacc.c:1646 */ { switch (rwm->rsllityp[rwm->rsldepth]) { @@ -5853,7 +5853,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 272: -#line 2287 "rwlparser.y" /* yacc.c:1646 */ +#line 2288 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwm->rsllityp[rwm->rsldepth] = RWL_LI_BAD; @@ -5863,13 +5863,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 273: -#line 2294 "rwlparser.y" /* yacc.c:1646 */ +#line 2295 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } #line 5869 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 275: -#line 2297 "rwlparser.y" /* yacc.c:1646 */ +#line 2298 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } @@ -5877,7 +5877,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 277: -#line 2302 "rwlparser.y" /* yacc.c:1646 */ +#line 2303 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprclear(rwm); @@ -5886,7 +5886,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 278: -#line 2307 "rwlparser.y" /* yacc.c:1646 */ +#line 2308 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; @@ -5897,7 +5897,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 280: -#line 2316 "rwlparser.y" /* yacc.c:1646 */ +#line 2317 "rwlparser.y" /* yacc.c:1646 */ { /* start expression for assign */ rwm->assignvar = rwm->inam; @@ -5907,7 +5907,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 282: -#line 2325 "rwlparser.y" /* yacc.c:1646 */ +#line 2326 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) rwlerror(rwm, RWL_ERROR_RETURN_OUTSIDE_CODE); @@ -5923,7 +5923,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 283: -#line 2337 "rwlparser.y" /* yacc.c:1646 */ +#line 2338 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); @@ -5932,7 +5932,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 284: -#line 2342 "rwlparser.y" /* yacc.c:1646 */ +#line 2343 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5965,7 +5965,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 286: -#line 2371 "rwlparser.y" /* yacc.c:1646 */ +#line 2372 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -5975,7 +5975,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 287: -#line 2378 "rwlparser.y" /* yacc.c:1646 */ +#line 2379 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); @@ -5984,7 +5984,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 288: -#line 2383 "rwlparser.y" /* yacc.c:1646 */ +#line 2384 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -6017,7 +6017,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 290: -#line 2413 "rwlparser.y" /* yacc.c:1646 */ +#line 2414 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -6027,7 +6027,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 291: -#line 2421 "rwlparser.y" /* yacc.c:1646 */ +#line 2422 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -6045,7 +6045,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 292: -#line 2435 "rwlparser.y" /* yacc.c:1646 */ +#line 2436 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbnam = rwm->inam; rwm->mdbvar = rwlfindvar2(rwm->mxq, rwm->mdbnam, RWL_VAR_NOGUESS, rwm->codename); @@ -6060,7 +6060,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 294: -#line 2449 "rwlparser.y" /* yacc.c:1646 */ +#line 2450 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -6078,7 +6078,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 295: -#line 2465 "rwlparser.y" /* yacc.c:1646 */ +#line 2466 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6092,7 +6092,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 296: -#line 2476 "rwlparser.y" /* yacc.c:1646 */ +#line 2477 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); @@ -6101,7 +6101,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 297: -#line 2482 "rwlparser.y" /* yacc.c:1646 */ +#line 2483 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); @@ -6110,7 +6110,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 298: -#line 2488 "rwlparser.y" /* yacc.c:1646 */ +#line 2489 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_COMMIT); @@ -6125,7 +6125,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 299: -#line 2500 "rwlparser.y" /* yacc.c:1646 */ +#line 2501 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_ROLLBACK); @@ -6140,7 +6140,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 300: -#line 2512 "rwlparser.y" /* yacc.c:1646 */ +#line 2513 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SHIFT); @@ -6152,7 +6152,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 301: -#line 2521 "rwlparser.y" /* yacc.c:1646 */ +#line 2522 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_GETRUSAGE); @@ -6164,7 +6164,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 302: -#line 2530 "rwlparser.y" /* yacc.c:1646 */ +#line 2531 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlinam = rwm->inam; rwm->mqbdtyp = 0; rwm->modsqlvar = rwlfindvar2(rwm->mxq, rwm->msqlinam, RWL_VAR_NOGUESS, rwm->codename); @@ -6179,13 +6179,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 304: -#line 2543 "rwlparser.y" /* yacc.c:1646 */ +#line 2544 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } #line 6185 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 307: -#line 2556 "rwlparser.y" /* yacc.c:1646 */ +#line 2557 "rwlparser.y" /* yacc.c:1646 */ { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); @@ -6196,7 +6196,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 308: -#line 2563 "rwlparser.y" /* yacc.c:1646 */ +#line 2564 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6215,25 +6215,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 311: -#line 2582 "rwlparser.y" /* yacc.c:1646 */ +#line 2583 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = RWL_SUPSEM_EMBSQL; } #line 6221 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 315: -#line 2588 "rwlparser.y" /* yacc.c:1646 */ +#line 2589 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_IMMPARSEFOR); } #line 6227 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 316: -#line 2590 "rwlparser.y" /* yacc.c:1646 */ +#line 2591 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMPARSEFOR); } #line 6233 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 319: -#line 2596 "rwlparser.y" /* yacc.c:1646 */ +#line 2597 "rwlparser.y" /* yacc.c:1646 */ { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below @@ -6320,7 +6320,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 320: -#line 2681 "rwlparser.y" /* yacc.c:1646 */ +#line 2682 "rwlparser.y" /* yacc.c:1646 */ { --rwm->rsldepth; if (rwm->rslerror) @@ -6353,7 +6353,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 321: -#line 2711 "rwlparser.y" /* yacc.c:1646 */ +#line 2712 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6389,7 +6389,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 322: -#line 2744 "rwlparser.y" /* yacc.c:1646 */ +#line 2745 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_FFLUSH); yyerrok; @@ -6398,7 +6398,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 323: -#line 2751 "rwlparser.y" /* yacc.c:1646 */ +#line 2752 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6425,7 +6425,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 324: -#line 2776 "rwlparser.y" /* yacc.c:1646 */ +#line 2777 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) { @@ -6458,7 +6458,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 325: -#line 2807 "rwlparser.y" /* yacc.c:1646 */ +#line 2808 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -6481,7 +6481,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 331: -#line 2835 "rwlparser.y" /* yacc.c:1646 */ +#line 2836 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); @@ -6492,7 +6492,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 333: -#line 2844 "rwlparser.y" /* yacc.c:1646 */ +#line 2845 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_STRING_FOR_SPRINTF); @@ -6503,7 +6503,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 335: -#line 2853 "rwlparser.y" /* yacc.c:1646 */ +#line 2854 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); @@ -6514,7 +6514,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 337: -#line 2863 "rwlparser.y" /* yacc.c:1646 */ +#line 2864 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document this syntax without comma if (rwm->filenam) @@ -6525,7 +6525,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 340: -#line 2875 "rwlparser.y" /* yacc.c:1646 */ +#line 2876 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); @@ -6536,7 +6536,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 341: -#line 2883 "rwlparser.y" /* yacc.c:1646 */ +#line 2884 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); @@ -6547,7 +6547,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 342: -#line 2891 "rwlparser.y" /* yacc.c:1646 */ +#line 2892 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); @@ -6558,7 +6558,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 343: -#line 2899 "rwlparser.y" /* yacc.c:1646 */ +#line 2900 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_NEWLINE); @@ -6570,7 +6570,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 345: -#line 2909 "rwlparser.y" /* yacc.c:1646 */ +#line 2910 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); @@ -6581,7 +6581,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 347: -#line 2917 "rwlparser.y" /* yacc.c:1646 */ +#line 2918 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6596,7 +6596,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 348: -#line 2928 "rwlparser.y" /* yacc.c:1646 */ +#line 2929 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6635,7 +6635,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 349: -#line 2964 "rwlparser.y" /* yacc.c:1646 */ +#line 2965 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6675,7 +6675,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 350: -#line 3001 "rwlparser.y" /* yacc.c:1646 */ +#line 3002 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6718,7 +6718,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 351: -#line 3041 "rwlparser.y" /* yacc.c:1646 */ +#line 3042 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_CBLOCK)) { @@ -6739,7 +6739,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 352: -#line 3058 "rwlparser.y" /* yacc.c:1646 */ +#line 3059 "rwlparser.y" /* yacc.c:1646 */ { if(!rwm->stoptime && !rwm->stopcount) { @@ -6764,7 +6764,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 353: -#line 3081 "rwlparser.y" /* yacc.c:1646 */ +#line 3082 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_CBLOCK_BAD)) rwlloopfinish(rwm); @@ -6786,7 +6786,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 354: -#line 3100 "rwlparser.y" /* yacc.c:1646 */ +#line 3101 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_AFTER_IDENTIFIER); yyerrok; @@ -6795,13 +6795,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 355: -#line 3107 "rwlparser.y" /* yacc.c:1646 */ +#line 3108 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } #line 6801 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 356: -#line 3114 "rwlparser.y" /* yacc.c:1646 */ +#line 3115 "rwlparser.y" /* yacc.c:1646 */ { /* handle procedure call with arguments * as if it were a function call @@ -6840,7 +6840,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 357: -#line 3152 "rwlparser.y" /* yacc.c:1646 */ +#line 3153 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6929,7 +6929,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 358: -#line 3240 "rwlparser.y" /* yacc.c:1646 */ +#line 3241 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6957,7 +6957,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 359: -#line 3264 "rwlparser.y" /* yacc.c:1646 */ +#line 3265 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobwritedata = rwlexprfinish(rwm); rwm->loboffset = 0; @@ -6966,7 +6966,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 361: -#line 3273 "rwlparser.y" /* yacc.c:1646 */ +#line 3274 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } @@ -6974,7 +6974,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 362: -#line 3280 "rwlparser.y" /* yacc.c:1646 */ +#line 3281 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -7001,7 +7001,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 363: -#line 3303 "rwlparser.y" /* yacc.c:1646 */ +#line 3304 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->loboffset = 0; @@ -7027,7 +7027,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 365: -#line 3329 "rwlparser.y" /* yacc.c:1646 */ +#line 3330 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobreadlength = rwlexprfinish(rwm); } @@ -7035,7 +7035,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 366: -#line 3333 "rwlparser.y" /* yacc.c:1646 */ +#line 3334 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } @@ -7043,7 +7043,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 367: -#line 3339 "rwlparser.y" /* yacc.c:1646 */ +#line 3340 "rwlparser.y" /* yacc.c:1646 */ { /* simple sql execute */ sb4 l; @@ -7193,7 +7193,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 368: -#line 3489 "rwlparser.y" /* yacc.c:1646 */ +#line 3490 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; @@ -7307,7 +7307,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 369: -#line 3601 "rwlparser.y" /* yacc.c:1646 */ +#line 3602 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -7344,7 +7344,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 370: -#line 3637 "rwlparser.y" /* yacc.c:1646 */ +#line 3638 "rwlparser.y" /* yacc.c:1646 */ { // This syntax is not documented bic(rwm->m3flags, RWL_P3_CLHEADFOR); @@ -7354,13 +7354,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 371: -#line 3642 "rwlparser.y" /* yacc.c:1646 */ +#line 3643 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_CLHEADFOR); } #line 7360 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 372: -#line 3646 "rwlparser.y" /* yacc.c:1646 */ +#line 3647 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document these two (legacy) syntax: // loop option .. .. ; @@ -7377,7 +7377,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 373: -#line 3662 "rwlparser.y" /* yacc.c:1646 */ +#line 3663 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } @@ -7385,7 +7385,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 374: -#line 3666 "rwlparser.y" /* yacc.c:1646 */ +#line 3667 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } @@ -7393,7 +7393,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 375: -#line 3670 "rwlparser.y" /* yacc.c:1646 */ +#line 3671 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } @@ -7401,13 +7401,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 378: -#line 3681 "rwlparser.y" /* yacc.c:1646 */ +#line 3682 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7407 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 379: -#line 3683 "rwlparser.y" /* yacc.c:1646 */ +#line 3684 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->starttime) { @@ -7424,13 +7424,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 380: -#line 3695 "rwlparser.y" /* yacc.c:1646 */ +#line 3696 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7430 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 381: -#line 3697 "rwlparser.y" /* yacc.c:1646 */ +#line 3698 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7449,13 +7449,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 382: -#line 3711 "rwlparser.y" /* yacc.c:1646 */ +#line 3712 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7455 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 383: -#line 3713 "rwlparser.y" /* yacc.c:1646 */ +#line 3714 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7474,13 +7474,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 384: -#line 3727 "rwlparser.y" /* yacc.c:1646 */ +#line 3728 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7480 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 385: -#line 3729 "rwlparser.y" /* yacc.c:1646 */ +#line 3730 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7497,13 +7497,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 386: -#line 3741 "rwlparser.y" /* yacc.c:1646 */ +#line 3742 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7503 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 387: -#line 3743 "rwlparser.y" /* yacc.c:1646 */ +#line 3744 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7533,25 +7533,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 388: -#line 3772 "rwlparser.y" /* yacc.c:1646 */ +#line 3773 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = 0; } #line 7539 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 389: -#line 3773 "rwlparser.y" /* yacc.c:1646 */ +#line 3774 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_QUEUE_EVERY; } #line 7545 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 390: -#line 3774 "rwlparser.y" /* yacc.c:1646 */ +#line 3775 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_NOQUEUE_EVERY; } #line 7551 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 391: -#line 3778 "rwlparser.y" /* yacc.c:1646 */ +#line 3779 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); @@ -7560,7 +7560,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 392: -#line 3783 "rwlparser.y" /* yacc.c:1646 */ +#line 3784 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); @@ -7569,7 +7569,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 393: -#line 3788 "rwlparser.y" /* yacc.c:1646 */ +#line 3789 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } @@ -7577,7 +7577,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 394: -#line 3792 "rwlparser.y" /* yacc.c:1646 */ +#line 3793 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); // lookahead may have consumed the next identifier @@ -7589,7 +7589,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 395: -#line 3800 "rwlparser.y" /* yacc.c:1646 */ +#line 3801 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); @@ -7598,7 +7598,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 396: -#line 3809 "rwlparser.y" /* yacc.c:1646 */ +#line 3810 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; rwm->sqllino = rwm->sqltlin; // the line where we started sql scan @@ -7617,7 +7617,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 397: -#line 3824 "rwlparser.y" /* yacc.c:1646 */ +#line 3825 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); @@ -7649,7 +7649,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 398: -#line 3856 "rwlparser.y" /* yacc.c:1646 */ +#line 3857 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; snprintf((char *)sqlnam, sizeof(sqlnam), "sql#%05d", rwm->mxq->varcount); @@ -7667,7 +7667,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 399: -#line 3871 "rwlparser.y" /* yacc.c:1646 */ +#line 3872 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMEDSQL); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); @@ -7679,7 +7679,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 400: -#line 3880 "rwlparser.y" /* yacc.c:1646 */ +#line 3881 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_IMMISDYN) && bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -7720,7 +7720,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 402: -#line 3918 "rwlparser.y" /* yacc.c:1646 */ +#line 3919 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG) ; yyerrok; @@ -7729,13 +7729,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 404: -#line 3926 "rwlparser.y" /* yacc.c:1646 */ +#line 3927 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7735 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 405: -#line 3927 "rwlparser.y" /* yacc.c:1646 */ +#line 3928 "rwlparser.y" /* yacc.c:1646 */ { if ((rwm->msqlstk = rwlexprfinish(rwm))) bis(rwm->m3flags, RWL_P3_IMMISDYN); // now dynamic @@ -7749,7 +7749,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 406: -#line 3939 "rwlparser.y" /* yacc.c:1646 */ +#line 3940 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno; } @@ -7757,7 +7757,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 410: -#line 3948 "rwlparser.y" /* yacc.c:1646 */ +#line 3949 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "sql") ; } @@ -7765,7 +7765,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 413: -#line 3959 "rwlparser.y" /* yacc.c:1646 */ +#line 3960 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } @@ -7773,7 +7773,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 414: -#line 3963 "rwlparser.y" /* yacc.c:1646 */ +#line 3964 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); @@ -7782,7 +7782,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 415: -#line 3971 "rwlparser.y" /* yacc.c:1646 */ +#line 3972 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } @@ -7790,7 +7790,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 416: -#line 3975 "rwlparser.y" /* yacc.c:1646 */ +#line 3976 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } @@ -7798,7 +7798,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 417: -#line 3979 "rwlparser.y" /* yacc.c:1646 */ +#line 3980 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); @@ -7807,7 +7807,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 419: -#line 3989 "rwlparser.y" /* yacc.c:1646 */ +#line 3990 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = 0; bis(rwm->m2flags, RWL_P2_ATDEFAULT); /* explict choose standard DB */ @@ -7816,7 +7816,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 420: -#line 3995 "rwlparser.y" /* yacc.c:1646 */ +#line 3996 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); /* named DB */ @@ -7825,19 +7825,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 421: -#line 4000 "rwlparser.y" /* yacc.c:1646 */ +#line 4001 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_DATABASE_NAME); yyerrok; } #line 7831 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 422: -#line 4002 "rwlparser.y" /* yacc.c:1646 */ +#line 4003 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } #line 7837 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 425: -#line 4010 "rwlparser.y" /* yacc.c:1646 */ +#line 4011 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename || bit(rwm->addvarbits,RWL_IDENT_PRIVATE)) { @@ -7867,7 +7867,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 426: -#line 4036 "rwlparser.y" /* yacc.c:1646 */ +#line 4037 "rwlparser.y" /* yacc.c:1646 */ { // if compiling first file, see if there is a user arg if (bit(rwm->m2flags, RWL_P2_SCANFIRST) && rwm->decvarn >= 0) @@ -7944,7 +7944,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 428: -#line 4113 "rwlparser.y" /* yacc.c:1646 */ +#line 4114 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->inam; rwlexprbeg(rwm); @@ -7953,7 +7953,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 429: -#line 4118 "rwlparser.y" /* yacc.c:1646 */ +#line 4119 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->dtype) @@ -8004,7 +8004,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 434: -#line 4181 "rwlparser.y" /* yacc.c:1646 */ +#line 4182 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8023,7 +8023,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 435: -#line 4196 "rwlparser.y" /* yacc.c:1646 */ +#line 4197 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -8034,7 +8034,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 436: -#line 4205 "rwlparser.y" /* yacc.c:1646 */ +#line 4206 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8053,7 +8053,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 437: -#line 4220 "rwlparser.y" /* yacc.c:1646 */ +#line 4221 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -8064,7 +8064,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 438: -#line 4229 "rwlparser.y" /* yacc.c:1646 */ +#line 4230 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LEGACY_WHILE_SYNTAX); } @@ -8072,7 +8072,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 439: -#line 4233 "rwlparser.y" /* yacc.c:1646 */ +#line 4234 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_WHILOP); } @@ -8080,7 +8080,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 440: -#line 4239 "rwlparser.y" /* yacc.c:1646 */ +#line 4240 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8101,7 +8101,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 441: -#line 4256 "rwlparser.y" /* yacc.c:1646 */ +#line 4257 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -8112,7 +8112,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 442: -#line 4263 "rwlparser.y" /* yacc.c:1646 */ +#line 4264 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_KEYWORD, "loop"); rwlexprclear(rwm); @@ -8123,7 +8123,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 447: -#line 4280 "rwlparser.y" /* yacc.c:1646 */ +#line 4281 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -8143,7 +8143,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 448: -#line 4296 "rwlparser.y" /* yacc.c:1646 */ +#line 4297 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlerror(rwm, RWL_ERROR_NO_LOCAL_SUMGLOB); @@ -8154,7 +8154,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 449: -#line 4306 "rwlparser.y" /* yacc.c:1646 */ +#line 4307 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8164,7 +8164,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 450: -#line 4312 "rwlparser.y" /* yacc.c:1646 */ +#line 4313 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8173,7 +8173,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 451: -#line 4320 "rwlparser.y" /* yacc.c:1646 */ +#line 4321 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8183,7 +8183,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 452: -#line 4326 "rwlparser.y" /* yacc.c:1646 */ +#line 4327 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8192,7 +8192,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 453: -#line 4334 "rwlparser.y" /* yacc.c:1646 */ +#line 4335 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8202,7 +8202,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 454: -#line 4340 "rwlparser.y" /* yacc.c:1646 */ +#line 4341 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8211,7 +8211,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 455: -#line 4348 "rwlparser.y" /* yacc.c:1646 */ +#line 4349 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8220,7 +8220,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 456: -#line 4353 "rwlparser.y" /* yacc.c:1646 */ +#line 4354 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } @@ -8228,31 +8228,31 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 457: -#line 4359 "rwlparser.y" /* yacc.c:1646 */ +#line 4360 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_CLOB; } #line 8234 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 458: -#line 4360 "rwlparser.y" /* yacc.c:1646 */ +#line 4361 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_BLOB; } #line 8240 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 459: -#line 4361 "rwlparser.y" /* yacc.c:1646 */ +#line 4362 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_NCLOB; } #line 8246 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 460: -#line 4365 "rwlparser.y" /* yacc.c:1646 */ +#line 4366 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} #line 8252 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 461: -#line 4366 "rwlparser.y" /* yacc.c:1646 */ +#line 4367 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8266,7 +8266,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 463: -#line 4377 "rwlparser.y" /* yacc.c:1646 */ +#line 4378 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } @@ -8274,13 +8274,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 464: -#line 4380 "rwlparser.y" /* yacc.c:1646 */ +#line 4381 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} #line 8280 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 465: -#line 4381 "rwlparser.y" /* yacc.c:1646 */ +#line 4382 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bic(rwm->m2flags, RWL_P2_BADSQLFILTXT); @@ -8293,7 +8293,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 467: -#line 4391 "rwlparser.y" /* yacc.c:1646 */ +#line 4392 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } @@ -8301,7 +8301,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 470: -#line 4401 "rwlparser.y" /* yacc.c:1646 */ +#line 4402 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; @@ -8351,7 +8351,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 471: -#line 4448 "rwlparser.y" /* yacc.c:1646 */ +#line 4449 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; @@ -8386,7 +8386,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 472: -#line 4482 "rwlparser.y" /* yacc.c:1646 */ +#line 4483 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -8399,7 +8399,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 474: -#line 4495 "rwlparser.y" /* yacc.c:1646 */ +#line 4496 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; ub4 iflag = bit(rwm->m3flags, RWL_P3_IMMEDSQL) ? RWL_IDENT_INTERNAL : 0; @@ -8477,7 +8477,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 475: -#line 4573 "rwlparser.y" /* yacc.c:1646 */ +#line 4574 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; ub4 notyetcount = 0; @@ -8574,25 +8574,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 479: -#line 4676 "rwlparser.y" /* yacc.c:1646 */ +#line 4677 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BIND); yyerrok; } #line 8580 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 481: -#line 4680 "rwlparser.y" /* yacc.c:1646 */ +#line 4681 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BINDOUT); yyerrok; } #line 8586 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 483: -#line 4684 "rwlparser.y" /* yacc.c:1646 */ +#line 4685 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DEFINE); yyerrok; } #line 8592 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 484: -#line 4686 "rwlparser.y" /* yacc.c:1646 */ +#line 4687 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_IGNERR); } @@ -8600,7 +8600,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 485: -#line 4690 "rwlparser.y" /* yacc.c:1646 */ +#line 4691 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } @@ -8608,7 +8608,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 486: -#line 4694 "rwlparser.y" /* yacc.c:1646 */ +#line 4695 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } @@ -8616,7 +8616,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 487: -#line 4699 "rwlparser.y" /* yacc.c:1646 */ +#line 4700 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) { @@ -8638,19 +8638,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 488: -#line 4718 "rwlparser.y" /* yacc.c:1646 */ +#line 4719 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ARRAY); yyerrok; } #line 8644 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 489: -#line 4723 "rwlparser.y" /* yacc.c:1646 */ +#line 4724 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON_IN_SQL); } #line 8650 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 492: -#line 4729 "rwlparser.y" /* yacc.c:1646 */ +#line 4730 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQFLAG_DYNAMIC)) rwlerror(rwm, RWL_ERROR_DEFINE_ARRAY_NOT_DYNAMIC); @@ -8661,7 +8661,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 495: -#line 4743 "rwlparser.y" /* yacc.c:1646 */ +#line 4744 "rwlparser.y" /* yacc.c:1646 */ { // Note that it would not be too hard to replace // the integer constant here by an expression @@ -8673,7 +8673,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 497: -#line 4752 "rwlparser.y" /* yacc.c:1646 */ +#line 4753 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "define"); @@ -8683,13 +8683,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 500: -#line 4766 "rwlparser.y" /* yacc.c:1646 */ +#line 4767 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BINDOUT_NAME; } #line 8689 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 502: -#line 4768 "rwlparser.y" /* yacc.c:1646 */ +#line 4769 "rwlparser.y" /* yacc.c:1646 */ { // We could also use expression here, but we would // of course need to check it was either a non-negative number @@ -8701,7 +8701,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 504: -#line 4776 "rwlparser.y" /* yacc.c:1646 */ +#line 4777 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BINDOUT_SAME; } @@ -8709,7 +8709,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 506: -#line 4780 "rwlparser.y" /* yacc.c:1646 */ +#line 4781 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_IMPLICIT_NOT_BINDOUT); } @@ -8717,13 +8717,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 509: -#line 4791 "rwlparser.y" /* yacc.c:1646 */ +#line 4792 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BIND_NAME; } #line 8723 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 511: -#line 4793 "rwlparser.y" /* yacc.c:1646 */ +#line 4794 "rwlparser.y" /* yacc.c:1646 */ { // same comment as above rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; @@ -8733,7 +8733,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 513: -#line 4799 "rwlparser.y" /* yacc.c:1646 */ +#line 4800 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BIND_SAME; } @@ -8741,7 +8741,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 515: -#line 4803 "rwlparser.y" /* yacc.c:1646 */ +#line 4804 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "bind"); @@ -8751,7 +8751,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 516: -#line 4812 "rwlparser.y" /* yacc.c:1646 */ +#line 4813 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; bd = rwlalloc(rwm, sizeof(rwl_bindef)); @@ -8849,7 +8849,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 517: -#line 4908 "rwlparser.y" /* yacc.c:1646 */ +#line 4909 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "runseconds", "bind/define"); @@ -8858,7 +8858,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 518: -#line 4913 "rwlparser.y" /* yacc.c:1646 */ +#line 4914 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "epochseconds", "bind/define"); @@ -8867,19 +8867,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 519: -#line 4917 "rwlparser.y" /* yacc.c:1646 */ +#line 4918 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags,RWL_P2_BINDRAW); } #line 8873 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 520: -#line 4918 "rwlparser.y" /* yacc.c:1646 */ +#line 4919 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags,RWL_P2_BINDRAW); } #line 8879 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 521: -#line 4922 "rwlparser.y" /* yacc.c:1646 */ +#line 4923 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8900,7 +8900,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 522: -#line 4939 "rwlparser.y" /* yacc.c:1646 */ +#line 4940 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8921,7 +8921,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 523: -#line 4956 "rwlparser.y" /* yacc.c:1646 */ +#line 4957 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8942,7 +8942,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 524: -#line 4973 "rwlparser.y" /* yacc.c:1646 */ +#line 4974 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8969,13 +8969,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 525: -#line 4995 "rwlparser.y" /* yacc.c:1646 */ +#line 4996 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 8975 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 526: -#line 4996 "rwlparser.y" /* yacc.c:1646 */ +#line 4997 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9010,7 +9010,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 527: -#line 5027 "rwlparser.y" /* yacc.c:1646 */ +#line 5028 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9035,13 +9035,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 528: -#line 5047 "rwlparser.y" /* yacc.c:1646 */ +#line 5048 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 9041 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 529: -#line 5048 "rwlparser.y" /* yacc.c:1646 */ +#line 5049 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0 && (rwm->msqlstk = rwlexprfinish(rwm))) { @@ -9067,7 +9067,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 530: -#line 5070 "rwlparser.y" /* yacc.c:1646 */ +#line 5071 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9086,7 +9086,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 532: -#line 5085 "rwlparser.y" /* yacc.c:1646 */ +#line 5086 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9105,7 +9105,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 534: -#line 5100 "rwlparser.y" /* yacc.c:1646 */ +#line 5101 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9124,19 +9124,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 538: -#line 5120 "rwlparser.y" /* yacc.c:1646 */ +#line 5121 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 9130 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 539: -#line 5122 "rwlparser.y" /* yacc.c:1646 */ +#line 5123 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlstk = rwlexprfinish(rwm); } #line 9136 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 540: -#line 5124 "rwlparser.y" /* yacc.c:1646 */ +#line 5125 "rwlparser.y" /* yacc.c:1646 */ { sb4 l2; rwl_sql *sq; @@ -9191,7 +9191,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 541: -#line 5177 "rwlparser.y" /* yacc.c:1646 */ +#line 5178 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; rwl_estack *estk; @@ -9225,7 +9225,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 542: -#line 5207 "rwlparser.y" /* yacc.c:1646 */ +#line 5208 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbsphi = rwm->mdbsplo = rwlexprfinish(rwm); if (!rwm->mdbsplo) @@ -9235,7 +9235,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 543: -#line 5213 "rwlparser.y" /* yacc.c:1646 */ +#line 5214 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; // are lo/hi good @@ -9268,7 +9268,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 545: -#line 5245 "rwlparser.y" /* yacc.c:1646 */ +#line 5246 "rwlparser.y" /* yacc.c:1646 */ { if (!(rwm->mdbsphi = rwlexprfinish(rwm))) rwlexprclear(rwm); @@ -9277,7 +9277,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 546: -#line 5252 "rwlparser.y" /* yacc.c:1646 */ +#line 5253 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9301,19 +9301,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 548: -#line 5275 "rwlparser.y" /* yacc.c:1646 */ +#line 5276 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_SPFCONCAT); } #line 9307 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 549: -#line 5276 "rwlparser.y" /* yacc.c:1646 */ +#line 5277 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_SPFCONCAT); } #line 9313 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 550: -#line 5280 "rwlparser.y" /* yacc.c:1646 */ +#line 5281 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->strvarn = RWL_VAR_NOTFOUND; @@ -9337,7 +9337,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 551: -#line 5300 "rwlparser.y" /* yacc.c:1646 */ +#line 5301 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpupu(rwm, RWL_CODE_SPRINTF, rwm->strvnam @@ -9355,7 +9355,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 552: -#line 5318 "rwlparser.y" /* yacc.c:1646 */ +#line 5319 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9378,7 +9378,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 554: -#line 5340 "rwlparser.y" /* yacc.c:1646 */ +#line 5341 "rwlparser.y" /* yacc.c:1646 */ { rwm->conhead = rwm->contail = 0; } @@ -9386,7 +9386,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 555: -#line 5344 "rwlparser.y" /* yacc.c:1646 */ +#line 5345 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpup(rwm, RWL_CODE_FPRINTF, rwm->filenam @@ -9411,7 +9411,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 558: -#line 5372 "rwlparser.y" /* yacc.c:1646 */ +#line 5373 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwl_conlist *newcon; @@ -9434,7 +9434,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 559: -#line 5393 "rwlparser.y" /* yacc.c:1646 */ +#line 5394 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9459,7 +9459,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 560: -#line 5415 "rwlparser.y" /* yacc.c:1646 */ +#line 5416 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9484,7 +9484,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 561: -#line 5439 "rwlparser.y" /* yacc.c:1646 */ +#line 5440 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); @@ -9493,7 +9493,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 562: -#line 5444 "rwlparser.y" /* yacc.c:1646 */ +#line 5445 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); @@ -9502,13 +9502,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 564: -#line 5452 "rwlparser.y" /* yacc.c:1646 */ +#line 5453 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTBLANK); } #line 9508 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 566: -#line 5457 "rwlparser.y" /* yacc.c:1646 */ +#line 5458 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -9570,7 +9570,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 567: -#line 5518 "rwlparser.y" /* yacc.c:1646 */ +#line 5519 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mflags,RWL_P_PRINTLINE)) { @@ -9606,7 +9606,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 568: -#line 5553 "rwlparser.y" /* yacc.c:1646 */ +#line 5554 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -9621,7 +9621,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 569: -#line 5568 "rwlparser.y" /* yacc.c:1646 */ +#line 5569 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->assignoper) @@ -9674,7 +9674,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 570: -#line 5617 "rwlparser.y" /* yacc.c:1646 */ +#line 5618 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -9684,7 +9684,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 572: -#line 5627 "rwlparser.y" /* yacc.c:1646 */ +#line 5628 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; @@ -9693,73 +9693,73 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 573: -#line 5634 "rwlparser.y" /* yacc.c:1646 */ +#line 5635 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASSIGN; } #line 9699 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 574: -#line 5635 "rwlparser.y" /* yacc.c:1646 */ +#line 5636 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_GREATEQ; } #line 9705 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 575: -#line 5636 "rwlparser.y" /* yacc.c:1646 */ +#line 5637 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_RSHIFTASSIGN; } #line 9711 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 576: -#line 5637 "rwlparser.y" /* yacc.c:1646 */ +#line 5638 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_LESSEQ; } #line 9717 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 577: -#line 5638 "rwlparser.y" /* yacc.c:1646 */ +#line 5639 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPEFROM; } #line 9723 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 578: -#line 5639 "rwlparser.y" /* yacc.c:1646 */ +#line 5640 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPETO; } #line 9729 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 580: -#line 5643 "rwlparser.y" /* yacc.c:1646 */ +#line 5644 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_APPEND; } #line 9735 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 581: -#line 5644 "rwlparser.y" /* yacc.c:1646 */ +#line 5645 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNADD; } #line 9741 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 582: -#line 5645 "rwlparser.y" /* yacc.c:1646 */ +#line 5646 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNSUB; } #line 9747 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 583: -#line 5646 "rwlparser.y" /* yacc.c:1646 */ +#line 5647 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIS; } #line 9753 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 584: -#line 5647 "rwlparser.y" /* yacc.c:1646 */ +#line 5648 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIC; } #line 9759 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 585: -#line 5654 "rwlparser.y" /* yacc.c:1646 */ +#line 5655 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); @@ -9770,7 +9770,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 586: -#line 5661 "rwlparser.y" /* yacc.c:1646 */ +#line 5662 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; sb4 l; @@ -9800,7 +9800,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 588: -#line 5687 "rwlparser.y" /* yacc.c:1646 */ +#line 5688 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeadd0(rwm, RWL_CODE_LIBEG); rwm->rsllihead[rwm->rsldepth] @@ -9817,7 +9817,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 590: -#line 5701 "rwlparser.y" /* yacc.c:1646 */ +#line 5702 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwlexprclear(rwm); @@ -9831,7 +9831,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 593: -#line 5720 "rwlparser.y" /* yacc.c:1646 */ +#line 5721 "rwlparser.y" /* yacc.c:1646 */ { rwl_lilist *thisli = rwlalloc(rwm, sizeof(rwl_lilist)); rwlexprpush(rwm, rwm->loopvar[rwm->rsldepth], RWL_STACK_ASN); @@ -9843,7 +9843,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 596: -#line 5740 "rwlparser.y" /* yacc.c:1646 */ +#line 5741 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -9852,7 +9852,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 597: -#line 5745 "rwlparser.y" /* yacc.c:1646 */ +#line 5746 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } @@ -9860,25 +9860,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 600: -#line 5754 "rwlparser.y" /* yacc.c:1646 */ +#line 5755 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "execute") ; } #line 9866 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 603: -#line 5761 "rwlparser.y" /* yacc.c:1646 */ +#line 5762 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; } #line 9872 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 606: -#line 5768 "rwlparser.y" /* yacc.c:1646 */ +#line 5769 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "if") ; yyerrok; } #line 9878 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 609: -#line 5775 "rwlparser.y" /* yacc.c:1646 */ +#line 5776 "rwlparser.y" /* yacc.c:1646 */ { if (0 != rwlstrcmp(rwm->inam, rwm->sqname)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname); @@ -9887,13 +9887,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 610: -#line 5780 "rwlparser.y" /* yacc.c:1646 */ +#line 5781 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname) ; yyerrok; } #line 9893 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 612: -#line 5786 "rwlparser.y" /* yacc.c:1646 */ +#line 5787 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile1]"); @@ -9908,7 +9908,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 613: -#line 5797 "rwlparser.y" /* yacc.c:1646 */ +#line 5798 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile2]"); @@ -9923,7 +9923,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 614: -#line 5808 "rwlparser.y" /* yacc.c:1646 */ +#line 5809 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->rslflags[rwm->rsldepth-1], RWL_RSLFLAG_WHILOP)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; @@ -9935,7 +9935,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 615: -#line 5819 "rwlparser.y" /* yacc.c:1646 */ +#line 5820 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = 0; } @@ -9943,7 +9943,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 616: -#line 5824 "rwlparser.y" /* yacc.c:1646 */ +#line 5825 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = rwlexprfinish(rwm); } @@ -9951,7 +9951,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 618: -#line 5831 "rwlparser.y" /* yacc.c:1646 */ +#line 5832 "rwlparser.y" /* yacc.c:1646 */ { char plsword[6]; /* check for "begin" or "decla" or "--" */ ub4 sb, pb, len; @@ -10010,7 +10010,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 619: -#line 5888 "rwlparser.y" /* yacc.c:1646 */ +#line 5889 "rwlparser.y" /* yacc.c:1646 */ { rwm->loc.errlin = 0; rwm->sqlfile = 0; /* not from a file */ @@ -10019,7 +10019,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 620: -#line 5893 "rwlparser.y" /* yacc.c:1646 */ +#line 5894 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } @@ -10027,7 +10027,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 621: -#line 5897 "rwlparser.y" /* yacc.c:1646 */ +#line 5898 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; FILE *f ; @@ -10112,7 +10112,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 622: -#line 5980 "rwlparser.y" /* yacc.c:1646 */ +#line 5981 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -10136,7 +10136,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 623: -#line 6000 "rwlparser.y" /* yacc.c:1646 */ +#line 6001 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) // everything is good { @@ -10163,7 +10163,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 624: -#line 6024 "rwlparser.y" /* yacc.c:1646 */ +#line 6025 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BAD_READLINE); yyerrok; @@ -10172,13 +10172,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 625: -#line 6031 "rwlparser.y" /* yacc.c:1646 */ +#line 6032 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = rwm->sub_estk = 0; } #line 10178 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 626: -#line 6033 "rwlparser.y" /* yacc.c:1646 */ +#line 6034 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } @@ -10186,7 +10186,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 627: -#line 6037 "rwlparser.y" /* yacc.c:1646 */ +#line 6038 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); } @@ -10194,7 +10194,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 628: -#line 6041 "rwlparser.y" /* yacc.c:1646 */ +#line 6042 "rwlparser.y" /* yacc.c:1646 */ { rwm->sub_estk = rwlexprfinish(rwm); } @@ -10202,7 +10202,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 629: -#line 6045 "rwlparser.y" /* yacc.c:1646 */ +#line 6046 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->reg_estk && rwm->str_estk && rwm->sub_estk) { @@ -10245,7 +10245,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 630: -#line 6084 "rwlparser.y" /* yacc.c:1646 */ +#line 6085 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); @@ -10255,7 +10255,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 631: -#line 6093 "rwlparser.y" /* yacc.c:1646 */ +#line 6094 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_REGEXSUBG); } @@ -10263,7 +10263,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 632: -#line 6097 "rwlparser.y" /* yacc.c:1646 */ +#line 6098 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_REGEXSUBG); } @@ -10271,13 +10271,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 633: -#line 6103 "rwlparser.y" /* yacc.c:1646 */ +#line 6104 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } #line 10277 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 634: -#line 6105 "rwlparser.y" /* yacc.c:1646 */ +#line 6106 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } @@ -10285,7 +10285,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 635: -#line 6109 "rwlparser.y" /* yacc.c:1646 */ +#line 6110 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; @@ -10294,7 +10294,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 636: -#line 6114 "rwlparser.y" /* yacc.c:1646 */ +#line 6115 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10331,7 +10331,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 637: -#line 6148 "rwlparser.y" /* yacc.c:1646 */ +#line 6149 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); @@ -10341,13 +10341,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 638: -#line 6157 "rwlparser.y" /* yacc.c:1646 */ +#line 6158 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } #line 10347 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 639: -#line 6159 "rwlparser.y" /* yacc.c:1646 */ +#line 6160 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } @@ -10355,7 +10355,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 640: -#line 6163 "rwlparser.y" /* yacc.c:1646 */ +#line 6164 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; @@ -10364,7 +10364,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 641: -#line 6168 "rwlparser.y" /* yacc.c:1646 */ +#line 6169 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10401,7 +10401,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 642: -#line 6202 "rwlparser.y" /* yacc.c:1646 */ +#line 6203 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); @@ -10411,7 +10411,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 645: -#line 6215 "rwlparser.y" /* yacc.c:1646 */ +#line 6216 "rwlparser.y" /* yacc.c:1646 */ { rwl_idlist *newid = rwlalloc(rwm, sizeof(rwl_idlist)); @@ -10456,7 +10456,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 646: -#line 6258 "rwlparser.y" /* yacc.c:1646 */ +#line 6259 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that the system expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; @@ -10467,7 +10467,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 647: -#line 6267 "rwlparser.y" /* yacc.c:1646 */ +#line 6268 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -10487,7 +10487,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 648: -#line 6292 "rwlparser.y" /* yacc.c:1646 */ +#line 6293 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->threadlist) rwlsevere(rwm, "[rwlparser-thrlistnotclean]"); @@ -10502,7 +10502,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 649: -#line 6304 "rwlparser.y" /* yacc.c:1646 */ +#line 6305 "rwlparser.y" /* yacc.c:1646 */ { rwl_thrinfo *next; rwm->loc.errlin = rwm->lexlino; @@ -10525,13 +10525,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 650: -#line 6323 "rwlparser.y" /* yacc.c:1646 */ +#line 6324 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } #line 10531 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 655: -#line 6337 "rwlparser.y" /* yacc.c:1646 */ +#line 6338 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->cqnstop = 0.0; rwm->cqnnow = rwlclock(rwm->mxq,0); @@ -10540,7 +10540,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 656: -#line 6342 "rwlparser.y" /* yacc.c:1646 */ +#line 6343 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *cp; sb4 l; @@ -10568,7 +10568,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 657: -#line 6367 "rwlparser.y" /* yacc.c:1646 */ +#line 6368 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstop = rwm->pval.dval; if (rwm->cqnstop < rwm->cqnstart || rwm->cqnstop < rwm->cqnnow) @@ -10581,7 +10581,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 658: -#line 6376 "rwlparser.y" /* yacc.c:1646 */ +#line 6377 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->cqnat) { @@ -10637,7 +10637,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 659: -#line 6428 "rwlparser.y" /* yacc.c:1646 */ +#line 6429 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->cqnat) // no errors above { @@ -10666,7 +10666,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 660: -#line 6453 "rwlparser.y" /* yacc.c:1646 */ +#line 6454 "rwlparser.y" /* yacc.c:1646 */ { rwlcodehead(rwm, 0); if (rwm->cqnat) // No error above @@ -10698,7 +10698,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 661: -#line 6481 "rwlparser.y" /* yacc.c:1646 */ +#line 6482 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeaddu(rwm, RWL_CODE_CQNISCB, 0); // Is in callback rwlcodetail(rwm); @@ -10707,7 +10707,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 665: -#line 6492 "rwlparser.y" /* yacc.c:1646 */ +#line 6493 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "querynotification"); yyerrok; @@ -10716,7 +10716,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 667: -#line 6501 "rwlparser.y" /* yacc.c:1646 */ +#line 6502 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->pval.dval; } @@ -10724,7 +10724,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 668: -#line 6508 "rwlparser.y" /* yacc.c:1646 */ +#line 6509 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m4flags, RWL_P4_PROCHASSQL); if (rwm->pval.ival < 0) @@ -10744,7 +10744,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 669: -#line 6526 "rwlparser.y" /* yacc.c:1646 */ +#line 6527 "rwlparser.y" /* yacc.c:1646 */ { rwlcodetail(rwm); } @@ -10752,13 +10752,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 671: -#line 6531 "rwlparser.y" /* yacc.c:1646 */ +#line 6532 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } #line 10758 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 673: -#line 6536 "rwlparser.y" /* yacc.c:1646 */ +#line 6537 "rwlparser.y" /* yacc.c:1646 */ { rwm->mythr->dbnam = rwm->inam; } @@ -10766,13 +10766,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 676: -#line 6545 "rwlparser.y" /* yacc.c:1646 */ +#line 6546 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "threads") ; } #line 10772 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 679: -#line 6553 "rwlparser.y" /* yacc.c:1646 */ +#line 6554 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "run") ; } #line 10778 "rwlparser.tab.c" /* yacc.c:1646 */ break; diff --git a/src/rwlparser.tab.h b/src/rwlparser.tab.h index 762be597..7a97dd70 100644 --- a/src/rwlparser.tab.h +++ b/src/rwlparser.tab.h @@ -226,7 +226,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 478 "rwlparser.y" /* yacc.c:1909 */ +#line 479 "rwlparser.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets diff --git a/src/rwlparser.y b/src/rwlparser.y index 5e027761..254e8f3e 100644 --- a/src/rwlparser.y +++ b/src/rwlparser.y @@ -11,6 +11,7 @@ * * History * + * mkdash 24-oct-2024 - implement bash like procedure calls * bengsig 10-oct-2024 - sessionpool release every/count * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 29-aug-2024 - string->integer can be hex diff --git a/test/404.rwl b/test/404.rwl index 1e48a9f0..b4c835cc 100644 --- a/test/404.rwl +++ b/test/404.rwl @@ -2,6 +2,8 @@ # allows to call a procedure P without '(' & ')' # Declaration though remain same as it is. +double xx := 15.0; + procedure doit1 (integer a, integer b) is printline "inside doit1: a = ", a, ",b = ", b; @@ -18,6 +20,26 @@ is printline "inside doit3: "; end ; +integer yy; + +procedure add2(integer x, integer y) + yy := x + y; + printline "inside add2(): ", xx, yy; +end; + +procedure add3(integer a, double b, double c) + xx := a + b + c; + printline "inside add3(): xx=", xx; + add2(a,a); + add2 a,a ; +end; + + +procedure just1(string hello) + printline hello; +end; + + doit1 (500, 400); doit2 ((500*2), (400+ 100)); doit1 ((500*2), 250); @@ -25,6 +47,15 @@ doit1 500*2, 250; doit2 500*2, (250 + 50); doit3; + + +add3(5.5,2.2,3.3); +add2(123,456); + +just1("hvordan gaar det:"||xx); +just1 "hvordan gaar det:"||xx ; +# # Below procedure call would cause syntax error as it would look for doit1(a, b) doit1 (500*2), 250; +add2(1,2,3); diff --git a/test/test.sh b/test/test.sh index e46a002e..fc079248 100755 --- a/test/test.sh +++ b/test/test.sh @@ -47,7 +47,7 @@ then testlist="$*" else # note that 323..326 test CQN which we don't currently compile in - testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403' + testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404' fi diffokcount=0; diff --git a/test/testres/404.err.good b/test/testres/404.err.good index aed421f3..f040fc99 100644 --- a/test/testres/404.err.good +++ b/test/testres/404.err.good @@ -1,3 +1,4 @@ -RWL-278: error at [404.rwl;29]: parse error at position 14: unexpected ',', expecting 'at' or ';' -RWL-011: error at [404.rwl;29]: unexpected keyword or identifier (missing ';') -RWL-125: error at [404.rwl;29]: procedure or function 'doit1' called with too few arguments +RWL-278: error at [404.rwl;59]: parse error at position 14: unexpected ',', expecting 'at' or ';' +RWL-011: error at [404.rwl;59]: unexpected keyword or identifier (missing ';') +RWL-125: error at [404.rwl;59]: procedure or function 'doit1' called with too few arguments +RWL-124: error at [404.rwl;60]: procedure or function 'add2' called with too many arguments diff --git a/test/testres/404.out.good b/test/testres/404.out.good index 22ec93a3..e3c34906 100644 --- a/test/testres/404.out.good +++ b/test/testres/404.out.good @@ -4,3 +4,9 @@ inside doit1: a = 1000 ,b = 250 inside doit1: a = 1000 ,b = 250 inside doit2: a = 1000 ,b = 300 inside doit3: +inside add3(): xx= 11.00 +inside add2(): 11.00 10 +inside add2(): 11.00 10 +inside add2(): 11.00 579 +hvordan gaar det:11.00 +hvordan gaar det:11.00 From a28f18384910973dce6527d83891afa8d31d501d Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 28 Nov 2024 14:51:49 +0000 Subject: [PATCH 112/118] Lots of follow-up to mkdash's procedure call like bash --- CHANGELOG.md | 1 + docs/INTRODUCTION.md | 2 +- docs/NEWS31.md | 5 + docs/PROCFUNC.md | 15 + docs/RANPROC.md | 2 +- docs/STATISTICS.md | 2 +- docs/WORKING.md | 20 +- docs/refman/databasedeclaration.html | 29 +- docs/refman/identifier.html | 36 +- docs/refman/oltpsetup.html | 63 +- docs/refman/statement.html | 32 +- docs/refman/statementlist.html | 32 +- docs/refman/variable.html | 36 +- man/man1rwl/databasedeclaration.1rwl | 9 +- man/man1rwl/identifier.1rwl | 26 + man/man1rwl/statement.1rwl | 24 +- src/rwlparser.tab.c | 7056 +++++++++++++------------- src/rwlparser.tab.h | 297 +- src/rwlparser.y | 67 +- test/353.rwl | 6 +- test/405.rwl | 15 + test/406.rwl | 14 + test/407.rwl | 4 + test/408.rwl | 28 + test/409.rwl | 47 + test/410.rwl | 58 + test/test.sh | 4 +- test/testres/138.err.good | 3 +- test/testres/353.err.good | 16 +- test/testres/353.out.good | 2 +- test/testres/354.out.good | 2 +- test/testres/405.err.good | 0 test/testres/405.out.good | 2 + test/testres/406.err.good | 3 + test/testres/406.out.good | 0 test/testres/407.err.good | 0 test/testres/407.out.good | 18 + test/testres/408.err.good | 2 + test/testres/408.out.good | 3 + test/testres/409.err.good | 0 test/testres/409.out.good | 22 + test/testres/410.err.good | 6 + test/testres/410.out.good | 26 + test/testres/53.err.good | 3 +- test/testres/59.err.good | 6 +- test/testres/59.out.good | 1 - test/testres/68.err.good | 3 +- 47 files changed, 4296 insertions(+), 3752 deletions(-) create mode 100644 test/405.rwl create mode 100644 test/406.rwl create mode 100644 test/407.rwl create mode 100644 test/408.rwl create mode 100644 test/409.rwl create mode 100644 test/410.rwl create mode 100644 test/testres/405.err.good create mode 100644 test/testres/405.out.good create mode 100644 test/testres/406.err.good create mode 100644 test/testres/406.out.good create mode 100644 test/testres/407.err.good create mode 100644 test/testres/407.out.good create mode 100644 test/testres/408.err.good create mode 100644 test/testres/408.out.good create mode 100644 test/testres/409.err.good create mode 100644 test/testres/409.out.good create mode 100644 test/testres/410.err.good create mode 100644 test/testres/410.out.good diff --git a/CHANGELOG.md b/CHANGELOG.md index 8128c29d..c3305f80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ * Bit set/clear assignments * session pool can set max usage count and max lifetime * dbsecounds() and ociseconds() functions +* procedures can be called without ( ) just like in bash ## 3.1.3 diff --git a/docs/INTRODUCTION.md b/docs/INTRODUCTION.md index 9f28e3f6..6b113b03 100644 --- a/docs/INTRODUCTION.md +++ b/docs/INTRODUCTION.md @@ -87,7 +87,7 @@ run every erlang2(0.2) # simulate 5 per second arrival rate stop 300 # finish after 300 seconds loop - simulate_business(); # Randomly execute some business function + simulate_business; # Randomly execute some business function end loop; end threads; # Start 1 thread doing awr diff --git a/docs/NEWS31.md b/docs/NEWS31.md index caa9ed6e..a8c86775 100644 --- a/docs/NEWS31.md +++ b/docs/NEWS31.md @@ -17,6 +17,11 @@ in an integer. Two new functions, dbseconds() and ociseconds() have been added; they return respectively the time spent on the database side and on the clienside when executing select OCI calls. +### Procedure calls do not require parentheses + +To make the the rwloadsim scripting language more similar to bash, there is no longer a requirement +to have parentheses around the arguments to procedure calls. + ## News and updates for version 3.1.3 of the RWP\*Load Simulator The most important changes in version 3.1.3 are: diff --git a/docs/PROCFUNC.md b/docs/PROCFUNC.md index eb776ebc..2b78f25c 100644 --- a/docs/PROCFUNC.md +++ b/docs/PROCFUNC.md @@ -37,6 +37,16 @@ end; ``` you will get an error about re-declaration of the local variable y. +Procedures are called very similar to how built-in statements are: +The name of the procedure is followed by a list of arguments separated by comma. +Each argument must be an expression. +As examples, samples calls to the isbig procedure are: +``` +isbig 50; +integer a := 200; +isbig a+42; +``` + ## Function declaration A function is similar to a procedure, but it has a return value of a specified type, and it is used in expressions. @@ -50,6 +60,11 @@ is end function; ``` +Functions are called as part of expressions and a sample call is +``` +isbig add(200, 300); +``` + ## Navigation * [index.md](index.md#rwpload-simulator-users-guide) Table of contents * [SCALAR.md](SCALAR.md) Previous topic: Declaring scalars such as integers and doubles diff --git a/docs/RANPROC.md b/docs/RANPROC.md index 1ef21316..19243845 100644 --- a/docs/RANPROC.md +++ b/docs/RANPROC.md @@ -20,7 +20,7 @@ random procedure array doit ( one 10, two 25, three 5, four 60 ); As the sum of the four values is 100, the values are effectively percentages. The net result is that whenever your rwloadsim program executes -"doit(value)", the actual execution will with the specified probability +"doit value;", the actual execution will with the specified probability be one of those four. As with random strings, rwloadsim will scale the weights to probabilities in the range [0;1]. diff --git a/docs/STATISTICS.md b/docs/STATISTICS.md index c1810691..7de34e49 100644 --- a/docs/STATISTICS.md +++ b/docs/STATISTICS.md @@ -106,7 +106,7 @@ end; run threads 2 at db1 - loop every 0.1 stop 60; top(); end loop; + loop every 0.1 stop 60; top; end loop; end threads; end run; ``` diff --git a/docs/WORKING.md b/docs/WORKING.md index 4d1c05e3..33ca431b 100644 --- a/docs/WORKING.md +++ b/docs/WORKING.md @@ -96,12 +96,12 @@ integer i; # declarations can come anywhere procedure runten() for i := 1 .. 10 loop # do something ten times - setab(); - add(a,b); + setab; + add a,b; end; end; -runten(); # execute the procedure +runten; # execute the procedure printline a,b,a-b; # print the values of a and b ``` @@ -129,6 +129,8 @@ arguments and contain a list of statements Private variables are discussed in the section on modular programming. * Expressions such as a+b, a-b, uniform(0,50) can be used in assignments and other places +* Procedures are called by providing a comma-separated list of expressions; for legacy reasons +you can have a set of parentheses around the expression list. * Procedures can call other procedures and can be called recursively. * Programming constructs like if/then/end and for loops are @@ -219,7 +221,7 @@ procedure doinsert() end; # actually execute the procedure -doinsert(); +doinsert; ``` You can now execute this: ``` @@ -482,7 +484,7 @@ procedure doinsert(). * There is a variable `totalrows`, which is declared with the threads sum option; it will shortly be described what the purpose of this is. -* There is no `doinsert()` at the end of the file, so no actual execution of the procedure takes place. +* There is no `doinsert` at the end of the file, so no actual execution of the procedure takes place. Due to the missing execution, if you run ``` @@ -491,7 +493,7 @@ $ rwloadsim rwltest.rwl simpleinsert2.rwl nothing will actually be inserted into the database. If you had included a line like ``` -doinsert(5); +doinsert 5; ``` running it would have inserted 5 lines into the table. @@ -507,7 +509,7 @@ procedure someinserts() integer rr; for wait 0.5 stop 10 loop rr := uniform(1,10); - doinsert(rr); + doinsert rr; end; end; @@ -564,7 +566,7 @@ procedure someinserts() integer rr; for wait 0.5 stop 10 loop rr := uniform(1,10); - doinsert(rr); + doinsert rr; end; end; @@ -647,7 +649,7 @@ procedure someinserts() integer rr; for wait erlang2(0.02) stop exectime loop rr := uniform(1,10); - doinsert(rr); + doinsert rr; end; end; diff --git a/docs/refman/databasedeclaration.html b/docs/refman/databasedeclaration.html index 5644357e..3faec9f9 100644 --- a/docs/refman/databasedeclaration.html +++ b/docs/refman/databasedeclaration.html @@ -1,5 +1,5 @@ - + @@ -82,7 +82,7 @@

    SYNTAX waitsession ::= wait expression | wait expression then break - | wait expression then identifier ( [ concatenation { , concatenation } ] )

    + | wait expression then procedurecall

    DESCRIPTION @@ -281,8 +281,7 @@

    ATTRIBUTES

    wait value
    wait
    value then break
    -wait
    value then identifier( ... -)

    +wait value then procedurename ...

    By default, whenever a worker threads gets a session from a session pool, it will wait @@ -300,16 +299,16 @@

    ATTRIBUTES do next.

    Finally, if -then and a procedure call with a potentially empty -argument list is specified, that procedure will be executed -in stead of the procedure that was causing the session get. -The procedure called like this cannot perform any -database calls (as it is called exactly when a session was -unavailable), but it can have the statisticsonly -attribute causing the count of failures in getting a session -to be maintained in the repository. As for then -break, a control loop will typically control what to do -next.

    +then and a procedure call is specified, that +procedure will be executed in stead of the procedure that +was causing the session get. You can optionally have a set +of parentheses around the argument list. The procedure +called like this cannot perform any database calls +(as it is called exactly when a session was unavailable), +but it can have the statisticsonly attribute causing +the count of failures in getting a session to be maintained +in the repository. As for then break, a control loop +will typically control what to do next.

    The oraerror variable will contain either of the values @@ -430,7 +429,7 @@

    SEE ALSO

    declaration(1rwl), -databasestatement(1rwl)

    +databasestatement(1rwl), statement(1rwl)


    diff --git a/docs/refman/identifier.html b/docs/refman/identifier.html index ff612590..ed262108 100644 --- a/docs/refman/identifier.html +++ b/docs/refman/identifier.html @@ -1,5 +1,5 @@ - + @@ -25,6 +25,7 @@

    identifier

    DESCRIPTION
    PREDEFINED VARIABLES
    NOTES
    +PROCEDURE NAMES
    COPYRIGHT
    SEE ALSO
    @@ -67,6 +68,13 @@

    DESCRIPTION single name-scope for all identifiers and you can e.g. not have a sql statement and an integer with the same name.

    +

    When an +identifier has been used to declare a procedure, it is +syntactically treated as a procedure name. This is shown in +the syntax diagrams as procedurename. Attempts at incorrect +use of a procedure name is therefore a syntax error +rather than a semantic error.

    +

    PREDEFINED VARIABLES

    @@ -290,6 +298,32 @@

    NOTES in some future release. Since they really are functions, they cannot be used to do SQL bind.

    +

    PROCEDURE NAMES + +

    + + +

    The fact that +procedure names are different from any other declared +identifiers can be seen in this example:

    +
    procedure abc(integer a) end;
    +
    +sql qqq end;
    +
    +integer x;
    +x := 2 + qqq(3);
    +
    +x := 42 + abc(0);
    + +

    In the first +assignment to the variable x, the use of qqq is +syntactically correct, as qqq is an identifier, but you will +get an error about using a variable of type sql as if it +were a function call. In the second assignment to the +variable x, the use of abc is syntactically incorrect as abc +is a procedure name, you will therefore get a parsing +error.

    +

    COPYRIGHT

    diff --git a/docs/refman/oltpsetup.html b/docs/refman/oltpsetup.html index 9f9155a5..61f17ff9 100644 --- a/docs/refman/oltpsetup.html +++ b/docs/refman/oltpsetup.html @@ -1,5 +1,5 @@ - + @@ -31,6 +31,7 @@

    oltpsetup

    24H SIMULATION
    VERIFICATION
    REMOTE EXECUTION
    +REMOTE REPORT REPLICATION
    SAVING PASSWORDS IN KEYRING
    UNDOCUMENTED PARAMETERS
    BUGS
    @@ -941,6 +942,66 @@

    REMOTE EXECUTION rwloadsim will be started locally. This is always used for process number 1, as it must run locally.

    +

    REMOTE REPORT REPLICATION + +

    + + +

    When +rwloadsim is running on a machine that cannot host a +webservice, it may be useful to replicate the report data to +a remote machine. This can be achieved by setting the +awr_replication_cmd parameter to a custom command +that replicates the data after the report is generated. By +default, awr_replication_cmd is not set, so no +replication occurs.

    + +

    If +awr_replication_cmd is defined, it will be executed +each time a report is generated, allowing automated +replication to the specified remote machine. The command +typically uses rsync to securely copy the report +data. Below is an example of how to configure +awr_replication_cmd with rsync:

    + +

    rsync -avz -e +"ssh -i /path/to/identity" \
    +--rsync-path="mkdir -p +/path/to/replicate${subdir}${runnumber} \
    +&& rsync" $awrdirectory${subdir}${runnumber} \ +
    +user@host:/path/to/replicate${subdir}${runnumber}

    + +

    In this +example:

    + +

    - -avz +options enable archive mode (preserving file permissions, +timestamps, etc.), verbose output, and compression during +transfer.

    + +

    - -e +specifies the SSH command, here with a custom identity file +(/path/to/identity).

    + +

    - +--rsync-path is used to ensure that the remote +directory structure exists by creating the necessary +directories with mkdir -p before starting the +transfer.

    + +

    - The path +variables $subdir and $runnumber dynamically +set the subdirectory and run number for replication, +creating an organized directory structure on the remote +machine.

    + +

    This approach +ensures that the report data is replicated to the specified +path on the remote host, facilitating centralized data +access even when rwloadsim is executed on a machine +without webservice capabilities.

    +

    SAVING PASSWORDS IN KEYRING

    diff --git a/docs/refman/statement.html b/docs/refman/statement.html index 03ee3ab8..f9c86b1d 100644 --- a/docs/refman/statement.html +++ b/docs/refman/statement.html @@ -1,5 +1,5 @@ - + @@ -45,7 +45,7 @@

    SYNTAX
    statement ::=
       simpledeclaration
    -| identifier ( [ concatenation { , concatenation } ] ) [ atclause ]
    +| procedurecall [ atclause ]
     | identifier ( := | ||= ) concatenation
     | identifier ( += | -= ) expression
     | identifier ( |= | &~= ) expression
    @@ -70,6 +70,10 @@ 

    SYNTAX | identifier [ atclause ] | abort +procedurecall ::= + procedurename [ concatenation { , concatenation } ] +| procedurename ( [ concatenation { , concatenation } ] ) + terminatedstatement ::= statement ; | embeddedsqltext @@ -95,13 +99,25 @@

    SIMPLE STATEMENTS

    -

    identifier( -... )

    -

    An identifier followed by a -potentially empty list of comma-separated expressions inside -a set of parentheses is a procedure call. If an at clause is -provided, the execution will be against the specified +

    procedurename +...
    +procedurename( ... )

    + +

    A procedure name, i.e. an +identifier that is the name of a declared procedure followed +by a potentially empty list of comma-separated expressions +is a procedure call.

    + +

    For legacy +reasons, a procedure call may optionally have parentheses +around the (possibly empty) argument list. Note that if the +first token after the procedure name is a (, it is +taken as that optional parentheses, and the whole argument +list must therefore be concluded by a matching ).

    + +

    If an at clause +is provided, the execution will be against the specified database.

    diff --git a/docs/refman/statementlist.html b/docs/refman/statementlist.html index 03ee3ab8..f9c86b1d 100644 --- a/docs/refman/statementlist.html +++ b/docs/refman/statementlist.html @@ -1,5 +1,5 @@ - + @@ -45,7 +45,7 @@

    SYNTAX
    statement ::=
       simpledeclaration
    -| identifier ( [ concatenation { , concatenation } ] ) [ atclause ]
    +| procedurecall [ atclause ]
     | identifier ( := | ||= ) concatenation
     | identifier ( += | -= ) expression
     | identifier ( |= | &~= ) expression
    @@ -70,6 +70,10 @@ 

    SYNTAX | identifier [ atclause ] | abort +procedurecall ::= + procedurename [ concatenation { , concatenation } ] +| procedurename ( [ concatenation { , concatenation } ] ) + terminatedstatement ::= statement ; | embeddedsqltext @@ -95,13 +99,25 @@

    SIMPLE STATEMENTS

    -

    identifier( -... )

    -

    An identifier followed by a -potentially empty list of comma-separated expressions inside -a set of parentheses is a procedure call. If an at clause is -provided, the execution will be against the specified +

    procedurename +...
    +procedurename( ... )

    + +

    A procedure name, i.e. an +identifier that is the name of a declared procedure followed +by a potentially empty list of comma-separated expressions +is a procedure call.

    + +

    For legacy +reasons, a procedure call may optionally have parentheses +around the (possibly empty) argument list. Note that if the +first token after the procedure name is a (, it is +taken as that optional parentheses, and the whole argument +list must therefore be concluded by a matching ).

    + +

    If an at clause +is provided, the execution will be against the specified database.

    diff --git a/docs/refman/variable.html b/docs/refman/variable.html index 725351b5..ed262108 100644 --- a/docs/refman/variable.html +++ b/docs/refman/variable.html @@ -1,5 +1,5 @@ - + @@ -25,6 +25,7 @@

    identifier

    DESCRIPTION
    PREDEFINED VARIABLES
    NOTES
    +PROCEDURE NAMES
    COPYRIGHT
    SEE ALSO
    @@ -67,6 +68,13 @@

    DESCRIPTION single name-scope for all identifiers and you can e.g. not have a sql statement and an integer with the same name.

    +

    When an +identifier has been used to declare a procedure, it is +syntactically treated as a procedure name. This is shown in +the syntax diagrams as procedurename. Attempts at incorrect +use of a procedure name is therefore a syntax error +rather than a semantic error.

    +

    PREDEFINED VARIABLES

    @@ -290,6 +298,32 @@

    NOTES in some future release. Since they really are functions, they cannot be used to do SQL bind.

    +

    PROCEDURE NAMES + +

    + + +

    The fact that +procedure names are different from any other declared +identifiers can be seen in this example:

    +
    procedure abc(integer a) end;
    +
    +sql qqq end;
    +
    +integer x;
    +x := 2 + qqq(3);
    +
    +x := 42 + abc(0);
    + +

    In the first +assignment to the variable x, the use of qqq is +syntactically correct, as qqq is an identifier, but you will +get an error about using a variable of type sql as if it +were a function call. In the second assignment to the +variable x, the use of abc is syntactically incorrect as abc +is a procedure name, you will therefore get a parsing +error.

    +

    COPYRIGHT

    diff --git a/man/man1rwl/databasedeclaration.1rwl b/man/man1rwl/databasedeclaration.1rwl index 33eeab84..ef7bf033 100644 --- a/man/man1rwl/databasedeclaration.1rwl +++ b/man/man1rwl/databasedeclaration.1rwl @@ -40,7 +40,7 @@ countrelease ::= waitsession ::= \fBwait\fR expression | \fBwait\fR expression \fBthen break\fR - | \fBwait\fR expression \fBthen\fR identifier \fB(\fR [ concatenation { \fB,\fR concatenation } ] \fB)\fR + | \fBwait\fR expression \fBthen\fR procedurecall \fR .fi .SH DESCRIPTION @@ -205,7 +205,7 @@ is an integer, only the integer part of the value will be used. .br .B \fBwait\fR value \fBthen break\fR .br -.B \fBwait\fR value \fBthen\fR identifier\fB(\fR ... \fB)\fR +.B \fBwait\fR value \fBthen\fR procedurename ... .RS 4 By default, whenever a worker threads gets a session from a session pool, it will wait until an entry is available. @@ -219,9 +219,10 @@ If \fBthen break\fR is specified, the procedure that was causing the session get executed; as this is typically done inside a control loop, the control loop will handle what to do next. .PP -Finally, if \fBthen\fR and a procedure call with a potentially empty argument list +Finally, if \fBthen\fR and a procedure call is specified, that procedure will be executed in stead of the procedure that was causing the session get. +You can optionally have a set of parentheses around the argument list. The procedure called like this .I cannot perform any database calls (as it is called exactly when a session was unavailable), but it @@ -312,4 +313,4 @@ Copyright \(co 2023 Oracle Corporation Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl .SH "SEE ALSO" -declaration(1rwl), databasestatement(1rwl) +declaration(1rwl), databasestatement(1rwl), statement(1rwl) diff --git a/man/man1rwl/identifier.1rwl b/man/man1rwl/identifier.1rwl index dfe623d0..8e4a2c99 100644 --- a/man/man1rwl/identifier.1rwl +++ b/man/man1rwl/identifier.1rwl @@ -19,6 +19,9 @@ In addition to these, $# and a $ followed by digits are identifiers. There is one single name-scope for all identifiers and you can e.g. not have a sql statement and an integer with the same name. .PP +When an identifier has been used to declare a procedure, it is syntactically treated as a procedure name. +This is shown in the syntax diagrams as procedurename. +Attempts at incorrect use of a procedure name is therefore a \fIsyntax error\fR rather than a semantic error. .SH "PREDEFINED VARIABLES" The following lists predefined variables that are read only except when explicitly noted. .TP 14 @@ -94,6 +97,29 @@ and as if these two were variables containing the same values as the functions of the same name; this is deprecated and will be desupported in some future release. Since they really are functions, they cannot be used to do SQL bind. +.SH "PROCEDURE NAMES" +The fact that procedure names are different from any other declared identifiers can be seen +in this example: +.RS 4 +.P +.nf +\fC +procedure abc(integer a) end; + +sql qqq end; + +integer x; +x := 2 + qqq(3); + +x := 42 + abc(0); +\fR +.fi +.P +.RE +In the first assignment to the variable x, the use of qqq is syntactically correct, as qqq is an identifier, +but you will get an error about using a variable of type sql as if it were a function call. +In the second assignment to the variable x, the use of abc is syntactically incorrect as abc is a procedure name, +you will therefore get a parsing error. .SH COPYRIGHT Copyright \(co 2023 Oracle Corporation .br diff --git a/man/man1rwl/statement.1rwl b/man/man1rwl/statement.1rwl index e363a4c9..bf88711e 100644 --- a/man/man1rwl/statement.1rwl +++ b/man/man1rwl/statement.1rwl @@ -6,7 +6,7 @@ statement \- RWP*Load Simulator statement syntax \fC statement ::= simpledeclaration -| identifier \fB(\fR [ concatenation { \fB,\fR concatenation } ] \fB)\fR [ atclause ] +| procedurecall [ atclause ] | identifier ( \fB:=\fR | \fB||=\fR ) concatenation | identifier ( \fB+=\fR | \fB-=\fR ) expression | identifier ( \fB|=\fR | \fB&~=\fR ) expression @@ -31,6 +31,10 @@ statement ::= | identifier [ atclause ] | \fBabort\fR +procedurecall ::= + procedurename [ concatenation { \fB,\fR concatenation } ] +| procedurename \fB(\fR [ concatenation { \fB,\fR concatenation } ] \fB)\fR + terminatedstatement ::= statement \fB;\fR | embeddedsqltext @@ -48,16 +52,18 @@ Statements are terminated by a semicolon, and cannot be empty, so there are never two semicolons following each other. .SH "SIMPLE STATEMENTS" .PP -\fBidentifier( ... )\fR +\fBprocedurename ... \fR +.br +\fBprocedurename( ... )\fR .RS 4 -An identifier followed by a potentially empty list of comma-separated expressions -inside a set of parentheses +A procedure name, i.e. an identifier that is the name of a declared procedure +followed by a potentially empty list of comma-separated expressions is a procedure call. - -A procedure call may have an optional parentheses. -If parentheses is used for expressions as arguments, then all comma-separated arguments should get -wrapped within parentheses. An error will be throwns instead. - +.P +For legacy reasons, a procedure call may optionally have parentheses around the (possibly empty) argument list. +Note that if the first token after the procedure name is a \fB(\fR, it is taken as that optional parentheses, +and the whole argument list must therefore be concluded by a matching \fB)\fR. +.P If an at clause is provided, the execution will be against the specified database. .RE .PP diff --git a/src/rwlparser.tab.c b/src/rwlparser.tab.c index aca5a524..2da5581f 100644 --- a/src/rwlparser.tab.c +++ b/src/rwlparser.tab.c @@ -69,7 +69,7 @@ /* Copy the first part of user declarations. */ -#line 161 "rwlparser.y" /* yacc.c:339 */ +#line 162 "rwlparser.y" /* yacc.c:339 */ #include "rwl.h" @@ -193,6 +193,7 @@ static const rwl_yt2txt rwlyt2[] = , {"RWL_T_PRINTVAR", "'printvar'"} , {"RWL_T_PRIVATE", "'private'"} , {"RWL_T_PROCEDURE", "'procedure'"} + , {"RWL_T_PROCEDURENAME", "'procedure name'"} , {"RWL_T_PUBLIC", "'public'"} , {"RWL_T_QUERYNOTIFICATION", "'querynotification'"} , {"RWL_T_QUEUE", "'queue'"} @@ -370,7 +371,7 @@ static void rwlyerror(rwl_main *rwm, const char *in) rwlcomp(rwlparser_y, RWL_GCCFLAGS) -#line 374 "rwlparser.tab.c" /* yacc.c:339 */ +#line 375 "rwlparser.tab.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -431,152 +432,153 @@ extern int rwlydebug; RWL_T_STRING = 273, RWL_T_INTEGER = 274, RWL_T_END = 275, - RWL_T_FOR = 276, - RWL_T_ARRAY = 277, - RWL_T_DATE = 278, - RWL_T_SQRT = 279, - RWL_T_ACCESS = 280, - RWL_T_REGEX = 281, - RWL_T_REGEXTRACT = 282, - RWL_T_UNIFORM = 283, - RWL_T_ERLANG = 284, - RWL_T_DOTDOT = 285, - RWL_T_DOUBLE = 286, - RWL_T_ERLANG2 = 287, - RWL_T_ERLANGK = 288, - RWL_T_RUN = 289, - RWL_T_THREADS = 290, - RWL_T_RUNSECONDS = 291, - RWL_T_WHILE = 292, - RWL_T_FFLUSH = 293, - RWL_T_READLINE = 294, - RWL_T_RANDOM = 295, - RWL_T_FILE = 296, - RWL_T_WRITE = 297, - RWL_T_WRITELINE = 298, - RWL_T_BINDOUT = 299, - RWL_T_GETRUSAGE = 300, - RWL_T_DRCP = 301, - RWL_T_SESSIONPOOL = 302, - RWL_T_RECONNECT = 303, - RWL_T_DEDICATED = 304, - RWL_T_DEFAULT = 305, - RWL_T_RESULTS = 306, - RWL_T_ASSIGN = 307, - RWL_T_LOOP = 308, - RWL_T_ALL = 309, - RWL_T_NULL = 310, - RWL_T_ISNULL = 311, - RWL_T_SUM = 312, - RWL_T_IS = 313, - RWL_T_NOT = 314, - RWL_T_LESSEQ = 315, - RWL_T_GREATEQ = 316, - RWL_T_NOTEQ = 317, - RWL_T_AND = 318, - RWL_T_OR = 319, - RWL_T_BETWEEN = 320, - RWL_T_CONCAT = 321, - RWL_T_IF = 322, - RWL_T_THEN = 323, - RWL_T_ELSE = 324, - RWL_T_NEVER = 325, - RWL_T_APPEND = 326, - RWL_T_IGNOREERROR = 327, - RWL_T_ELSEIF = 328, - RWL_T_EXECUTE = 329, - RWL_T_WAIT = 330, - RWL_T_COMMIT = 331, - RWL_T_ROLLBACK = 332, - RWL_T_EVERY = 333, - RWL_T_ASNADD = 334, - RWL_T_ASNSUB = 335, - RWL_T_STOP = 336, - RWL_T_START = 337, - RWL_T_COUNT = 338, - RWL_T_AT = 339, - RWL_T_BREAK = 340, - RWL_T_RETURN = 341, - RWL_T_ABORT = 342, - RWL_T_MODIFY = 343, - RWL_T_CURSORCACHE = 344, - RWL_T_NOCURSORCACHE = 345, - RWL_T_LEAK = 346, - RWL_T_SHIFT = 347, - RWL_T_WHEN = 348, - RWL_T_STATISTICS = 349, - RWL_T_NOSTATISTICS = 350, - RWL_T_FUNCTION = 351, - RWL_T_PUBLIC = 352, - RWL_T_OCIPING = 353, - RWL_T_QUEUE = 354, - RWL_T_NOQUEUE = 355, - RWL_T_PRIVATE = 356, - RWL_T_BEGIN = 357, - RWL_T_RELEASE = 358, - RWL_T_SYSTEM = 359, - RWL_T_CLOB = 360, - RWL_T_BLOB = 361, - RWL_T_NCLOB = 362, - RWL_T_READLOB = 363, - RWL_T_WRITELOB = 364, - RWL_T_RAW = 365, - RWL_T_EXIT = 366, - RWL_T_SUBSTR = 367, - RWL_T_SUBSTRB = 368, - RWL_T_LENGTH = 369, - RWL_T_LENGTHB = 370, - RWL_T_SQL_ID = 371, - RWL_T_GETENV = 372, - RWL_T_LOG = 373, - RWL_T_EXP = 374, - RWL_T_ROUND = 375, - RWL_T_ACTIVESESSIONCOUNT = 376, - RWL_T_REQUESTMARK = 377, - RWL_T_SPRINTF = 378, - RWL_T_OPENSESSIONCOUNT = 379, - RWL_T_STATEMARK = 380, - RWL_T_REGEXSUB = 381, - RWL_T_REGEXSUBG = 382, - RWL_T_SERVERRELEASE = 383, - RWL_T_SQL = 384, - RWL_T_SQL_TEXT = 385, - RWL_T_INSTR = 386, - RWL_T_INSTRB = 387, - RWL_T_CONNECTIONPOOL = 388, - RWL_T_CONNECTIONCLASS = 389, - RWL_T_UNSIGNED = 390, - RWL_T_HEXADECIMAL = 391, - RWL_T_OCTAL = 392, - RWL_T_FPRINTF = 393, - RWL_T_ENCODE = 394, - RWL_T_DECODE = 395, - RWL_T_STRING_CONST = 396, - RWL_T_IDENTIFIER = 397, - RWL_T_INTEGER_CONST = 398, - RWL_T_DOUBLE_CONST = 399, - RWL_T_PRINTF = 400, - RWL_T_PIPEFROM = 401, - RWL_T_PIPETO = 402, - RWL_T_RSHIFTASSIGN = 403, - RWL_T_GLOBAL = 404, - RWL_T_QUERYNOTIFICATION = 405, - RWL_T_NORMALRANDOM = 406, - RWL_T_STATISTICSONLY = 407, - RWL_T_CEIL = 408, - RWL_T_TRUNC = 409, - RWL_T_FLOOR = 410, - RWL_T_LOBPREFETCH = 411, - RWL_T_SIN = 412, - RWL_T_COS = 413, - RWL_T_ATAN2 = 414, - RWL_T_WINSLASHF2B = 415, - RWL_T_WINSLASHF2BB = 416, - RWL_T_BITWISE_LEFT_SHIFT = 417, - RWL_T_BITWISE_RIGHT_SHIFT = 418, - RWL_T_ASNBIS = 419, - RWL_T_ASNBIC = 420, - RWL_T_UMINUS = 421 + RWL_T_PROCEDURENAME = 276, + RWL_T_FOR = 277, + RWL_T_ARRAY = 278, + RWL_T_DATE = 279, + RWL_T_SQRT = 280, + RWL_T_ACCESS = 281, + RWL_T_REGEX = 282, + RWL_T_REGEXTRACT = 283, + RWL_T_UNIFORM = 284, + RWL_T_ERLANG = 285, + RWL_T_DOTDOT = 286, + RWL_T_DOUBLE = 287, + RWL_T_ERLANG2 = 288, + RWL_T_ERLANGK = 289, + RWL_T_RUN = 290, + RWL_T_THREADS = 291, + RWL_T_RUNSECONDS = 292, + RWL_T_WHILE = 293, + RWL_T_FFLUSH = 294, + RWL_T_READLINE = 295, + RWL_T_RANDOM = 296, + RWL_T_FILE = 297, + RWL_T_WRITE = 298, + RWL_T_WRITELINE = 299, + RWL_T_BINDOUT = 300, + RWL_T_GETRUSAGE = 301, + RWL_T_DRCP = 302, + RWL_T_SESSIONPOOL = 303, + RWL_T_RECONNECT = 304, + RWL_T_DEDICATED = 305, + RWL_T_DEFAULT = 306, + RWL_T_RESULTS = 307, + RWL_T_ASSIGN = 308, + RWL_T_LOOP = 309, + RWL_T_ALL = 310, + RWL_T_NULL = 311, + RWL_T_ISNULL = 312, + RWL_T_SUM = 313, + RWL_T_IS = 314, + RWL_T_NOT = 315, + RWL_T_LESSEQ = 316, + RWL_T_GREATEQ = 317, + RWL_T_NOTEQ = 318, + RWL_T_AND = 319, + RWL_T_OR = 320, + RWL_T_BETWEEN = 321, + RWL_T_CONCAT = 322, + RWL_T_IF = 323, + RWL_T_THEN = 324, + RWL_T_ELSE = 325, + RWL_T_NEVER = 326, + RWL_T_APPEND = 327, + RWL_T_IGNOREERROR = 328, + RWL_T_ELSEIF = 329, + RWL_T_EXECUTE = 330, + RWL_T_WAIT = 331, + RWL_T_COMMIT = 332, + RWL_T_ROLLBACK = 333, + RWL_T_EVERY = 334, + RWL_T_ASNADD = 335, + RWL_T_ASNSUB = 336, + RWL_T_STOP = 337, + RWL_T_START = 338, + RWL_T_COUNT = 339, + RWL_T_AT = 340, + RWL_T_BREAK = 341, + RWL_T_RETURN = 342, + RWL_T_ABORT = 343, + RWL_T_MODIFY = 344, + RWL_T_CURSORCACHE = 345, + RWL_T_NOCURSORCACHE = 346, + RWL_T_LEAK = 347, + RWL_T_SHIFT = 348, + RWL_T_WHEN = 349, + RWL_T_STATISTICS = 350, + RWL_T_NOSTATISTICS = 351, + RWL_T_FUNCTION = 352, + RWL_T_PUBLIC = 353, + RWL_T_OCIPING = 354, + RWL_T_QUEUE = 355, + RWL_T_NOQUEUE = 356, + RWL_T_PRIVATE = 357, + RWL_T_BEGIN = 358, + RWL_T_RELEASE = 359, + RWL_T_SYSTEM = 360, + RWL_T_CLOB = 361, + RWL_T_BLOB = 362, + RWL_T_NCLOB = 363, + RWL_T_READLOB = 364, + RWL_T_WRITELOB = 365, + RWL_T_RAW = 366, + RWL_T_EXIT = 367, + RWL_T_SUBSTR = 368, + RWL_T_SUBSTRB = 369, + RWL_T_LENGTH = 370, + RWL_T_LENGTHB = 371, + RWL_T_SQL_ID = 372, + RWL_T_GETENV = 373, + RWL_T_LOG = 374, + RWL_T_EXP = 375, + RWL_T_ROUND = 376, + RWL_T_ACTIVESESSIONCOUNT = 377, + RWL_T_REQUESTMARK = 378, + RWL_T_SPRINTF = 379, + RWL_T_OPENSESSIONCOUNT = 380, + RWL_T_STATEMARK = 381, + RWL_T_REGEXSUB = 382, + RWL_T_REGEXSUBG = 383, + RWL_T_SERVERRELEASE = 384, + RWL_T_SQL = 385, + RWL_T_SQL_TEXT = 386, + RWL_T_INSTR = 387, + RWL_T_INSTRB = 388, + RWL_T_CONNECTIONPOOL = 389, + RWL_T_CONNECTIONCLASS = 390, + RWL_T_UNSIGNED = 391, + RWL_T_HEXADECIMAL = 392, + RWL_T_OCTAL = 393, + RWL_T_FPRINTF = 394, + RWL_T_ENCODE = 395, + RWL_T_DECODE = 396, + RWL_T_STRING_CONST = 397, + RWL_T_IDENTIFIER = 398, + RWL_T_INTEGER_CONST = 399, + RWL_T_DOUBLE_CONST = 400, + RWL_T_PRINTF = 401, + RWL_T_PIPEFROM = 402, + RWL_T_PIPETO = 403, + RWL_T_RSHIFTASSIGN = 404, + RWL_T_GLOBAL = 405, + RWL_T_QUERYNOTIFICATION = 406, + RWL_T_NORMALRANDOM = 407, + RWL_T_STATISTICSONLY = 408, + RWL_T_CEIL = 409, + RWL_T_TRUNC = 410, + RWL_T_FLOOR = 411, + RWL_T_LOBPREFETCH = 412, + RWL_T_SIN = 413, + RWL_T_COS = 414, + RWL_T_ATAN2 = 415, + RWL_T_WINSLASHF2B = 416, + RWL_T_WINSLASHF2BB = 417, + RWL_T_BITWISE_LEFT_SHIFT = 418, + RWL_T_BITWISE_RIGHT_SHIFT = 419, + RWL_T_ASNBIS = 420, + RWL_T_ASNBIC = 421, + RWL_T_UMINUS = 422 }; #endif @@ -585,7 +587,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 478 "rwlparser.y" /* yacc.c:355 */ +#line 481 "rwlparser.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -599,7 +601,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 603 "rwlparser.tab.c" /* yacc.c:355 */ +#line 605 "rwlparser.tab.c" /* yacc.c:355 */ }; typedef union RWLYSTYPE RWLYSTYPE; @@ -615,7 +617,7 @@ int rwlyparse (rwl_main *rwm); /* Copy the second part of user declarations. */ -#line 619 "rwlparser.tab.c" /* yacc.c:358 */ +#line 621 "rwlparser.tab.c" /* yacc.c:358 */ #ifdef short # undef short @@ -857,21 +859,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 5769 +#define YYLAST 5975 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 186 +#define YYNTOKENS 187 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 298 +#define YYNNTS 301 /* YYNRULES -- Number of rules. */ -#define YYNRULES 682 +#define YYNRULES 688 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1248 +#define YYNSTATES 1259 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 421 +#define YYMAXUTOK 422 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -883,16 +885,16 @@ 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, 177, 2, 2, 2, 176, 168, 2, - 181, 182, 174, 173, 183, 172, 2, 175, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 185, 180, - 170, 169, 171, 184, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 178, 2, 2, 2, 177, 169, 2, + 182, 183, 175, 174, 184, 173, 2, 176, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 186, 181, + 171, 170, 172, 185, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 167, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 168, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 166, 2, 178, 2, 2, 2, + 2, 2, 2, 2, 167, 2, 179, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -922,82 +924,82 @@ static const yytype_uint8 yytranslate[] = 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 179 + 165, 166, 180 }; #if RWLYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 540, 540, 547, 551, 553, 552, 568, 569, 570, - 572, 575, 582, 584, 601, 600, 610, 609, 618, 617, - 627, 626, 636, 641, 650, 651, 655, 654, 661, 666, - 674, 675, 679, 678, 686, 685, 758, 763, 764, 776, - 777, 780, 781, 784, 794, 799, 807, 820, 851, 862, - 874, 873, 889, 899, 898, 916, 926, 936, 946, 959, - 960, 963, 971, 981, 992, 1007, 1008, 1012, 1013, 1014, - 1017, 1041, 1065, 1077, 1079, 1078, 1091, 1092, 1098, 1097, - 1125, 1132, 1139, 1140, 1144, 1145, 1148, 1161, 1160, 1212, - 1224, 1223, 1244, 1249, 1256, 1261, 1268, 1354, 1355, 1359, - 1368, 1369, 1372, 1373, 1374, 1378, 1379, 1383, 1411, 1413, - 1415, 1417, 1432, 1437, 1442, 1450, 1451, 1453, 1455, 1474, - 1476, 1475, 1491, 1490, 1506, 1505, 1521, 1564, 1578, 1592, - 1606, 1618, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, - 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1638, 1640, 1642, - 1644, 1645, 1648, 1651, 1652, 1656, 1661, 1662, 1663, 1665, - 1667, 1668, 1670, 1681, 1692, 1696, 1702, 1706, 1712, 1716, - 1722, 1727, 1731, 1739, 1737, 1764, 1768, 1772, 1778, 1784, - 1788, 1789, 1793, 1794, 1798, 1803, 1804, 1805, 1810, 1811, - 1812, 1813, 1814, 1818, 1819, 1820, 1821, 1825, 1826, 1827, - 1830, 1831, 1832, 1836, 1837, 1838, 1839, 1840, 1841, 1845, - 1846, 1847, 1851, 1852, 1856, 1857, 1861, 1862, 1866, 1868, - 1867, 1885, 1887, 1886, 1902, 1904, 1913, 1903, 1928, 1929, - 1933, 1934, 1944, 1945, 1949, 1957, 1960, 1959, 1966, 1969, - 1968, 1972, 1974, 1976, 1978, 1981, 1987, 2016, 2031, 2044, - 2046, 2047, 2051, 2053, 2057, 2059, 2064, 2063, 2070, 2069, - 2081, 2086, 2085, 2093, 2097, 2121, 2147, 2145, 2173, 2171, - 2282, 2291, 2290, 2294, 2293, 2298, 2304, 2303, 2313, 2312, - 2321, 2334, 2339, 2333, 2367, 2375, 2380, 2374, 2409, 2416, - 2432, 2431, 2444, 2460, 2471, 2477, 2483, 2495, 2507, 2517, - 2527, 2526, 2539, 2545, 2543, 2661, 2668, 2684, 2686, 2688, - 2688, 2689, 2692, 2694, 2696, 2693, 2698, 2702, 2701, 2818, - 2851, 2859, 2884, 2858, 2936, 2937, 2938, 2939, 2941, 2942, - 2950, 2951, 2959, 2960, 2969, 2972, 2971, 2980, 2982, 2990, - 2998, 3007, 3015, 3017, 3024, 3025, 3036, 3072, 3109, 3150, - 3167, 3149, 3209, 3216, 3223, 3222, 3254, 3255, 3263, 3262, - 3310, 3312, 3311, 3321, 3472, 3471, 3619, 3625, 3628, 3644, - 3648, 3652, 3659, 3660, 3664, 3664, 3678, 3678, 3694, 3694, - 3710, 3710, 3724, 3724, 3755, 3756, 3757, 3760, 3766, 3765, - 3775, 3774, 3792, 3791, 3839, 3854, 3863, 3838, 3900, 3908, - 3909, 3909, 3922, 3921, 3928, 3929, 3930, 3936, 3937, 3941, - 3945, 3953, 3957, 3961, 3969, 3970, 3976, 3982, 3984, 3987, - 3988, 3993, 3992, 4094, 4096, 4095, 4150, 4154, 4158, 4159, - 4163, 4178, 4187, 4202, 4211, 4215, 4221, 4238, 4245, 4255, - 4256, 4257, 4261, 4262, 4278, 4288, 4294, 4302, 4308, 4316, - 4322, 4330, 4335, 4342, 4343, 4344, 4348, 4349, 4348, 4359, - 4363, 4364, 4363, 4373, 4380, 4381, 4384, 4384, 4465, 4463, - 4477, 4554, 4651, 4652, 4656, 4657, 4660, 4661, 4664, 4665, - 4668, 4672, 4676, 4680, 4699, 4705, 4707, 4710, 4711, 4720, - 4721, 4726, 4725, 4734, 4744, 4745, 4749, 4749, 4751, 4750, - 4759, 4758, 4762, 4769, 4770, 4774, 4774, 4776, 4775, 4782, - 4781, 4785, 4794, 4890, 4895, 4900, 4901, 4904, 4921, 4938, - 4955, 4978, 4978, 5009, 5030, 5030, 5053, 5052, 5068, 5067, - 5083, 5082, 5099, 5100, 5103, 5105, 5103, 5159, 5190, 5189, - 5226, 5227, 5235, 5234, 5258, 5259, 5263, 5262, 5301, 5300, - 5323, 5323, 5350, 5351, 5354, 5375, 5397, 5421, 5426, 5434, - 5435, 5435, 5439, 5500, 5535, 5550, 5599, 5608, 5609, 5617, - 5618, 5619, 5620, 5621, 5622, 5625, 5626, 5627, 5628, 5629, - 5630, 5637, 5644, 5635, 5670, 5670, 5683, 5696, 5697, 5701, - 5714, 5715, 5722, 5727, 5734, 5735, 5736, 5741, 5742, 5743, - 5748, 5749, 5750, 5755, 5756, 5757, 5762, 5767, 5768, 5779, - 5790, 5801, 5805, 5812, 5813, 5870, 5876, 5875, 5963, 5962, - 6006, 6014, 6016, 6020, 6024, 6013, 6066, 6075, 6079, 6086, - 6088, 6092, 6085, 6130, 6140, 6142, 6146, 6139, 6184, 6193, - 6194, 6197, 6240, 6249, 6275, 6274, 6305, 6311, 6312, 6315, - 6316, 6320, 6325, 6350, 6359, 6411, 6436, 6464, 6319, 6472, - 6473, 6474, 6482, 6483, 6491, 6509, 6490, 6513, 6517, 6518, - 6525, 6526, 6527, 6533, 6534, 6535, 6540, 6541, 6542, 6543, - 6544, 6545, 6546 + 0, 543, 543, 550, 554, 556, 555, 571, 572, 573, + 575, 578, 585, 587, 604, 603, 613, 612, 621, 620, + 630, 629, 639, 644, 653, 654, 658, 657, 664, 669, + 677, 678, 682, 681, 689, 688, 761, 766, 767, 779, + 780, 783, 784, 787, 797, 802, 810, 823, 854, 865, + 877, 876, 892, 902, 901, 919, 929, 939, 949, 962, + 963, 966, 974, 984, 995, 1010, 1011, 1015, 1016, 1017, + 1020, 1044, 1068, 1080, 1082, 1081, 1094, 1095, 1100, 1104, + 1111, 1125, 1142, 1149, 1156, 1157, 1161, 1162, 1165, 1178, + 1177, 1229, 1241, 1240, 1261, 1266, 1273, 1278, 1285, 1371, + 1372, 1376, 1385, 1386, 1390, 1391, 1394, 1395, 1396, 1400, + 1401, 1405, 1433, 1435, 1437, 1439, 1454, 1459, 1464, 1472, + 1473, 1475, 1477, 1496, 1498, 1497, 1513, 1512, 1528, 1527, + 1543, 1586, 1600, 1614, 1628, 1640, 1644, 1645, 1646, 1647, + 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, + 1658, 1660, 1662, 1664, 1666, 1667, 1670, 1673, 1674, 1678, + 1683, 1684, 1685, 1687, 1689, 1690, 1692, 1703, 1714, 1718, + 1724, 1728, 1734, 1738, 1744, 1749, 1753, 1761, 1759, 1786, + 1790, 1794, 1800, 1806, 1810, 1811, 1815, 1816, 1820, 1825, + 1826, 1827, 1832, 1833, 1834, 1835, 1836, 1840, 1841, 1842, + 1843, 1847, 1848, 1849, 1852, 1853, 1854, 1858, 1859, 1860, + 1861, 1862, 1863, 1867, 1868, 1869, 1873, 1874, 1878, 1879, + 1883, 1884, 1888, 1890, 1889, 1907, 1909, 1908, 1924, 1926, + 1935, 1925, 1950, 1951, 1955, 1956, 1966, 1967, 1971, 1979, + 1982, 1981, 1988, 1991, 1990, 1994, 1996, 1998, 2000, 2003, + 2009, 2038, 2053, 2066, 2068, 2069, 2073, 2075, 2079, 2081, + 2086, 2085, 2092, 2091, 2103, 2108, 2107, 2115, 2119, 2143, + 2169, 2167, 2195, 2193, 2304, 2313, 2312, 2316, 2315, 2320, + 2326, 2325, 2335, 2334, 2343, 2356, 2361, 2355, 2389, 2397, + 2402, 2396, 2431, 2438, 2454, 2453, 2466, 2482, 2493, 2499, + 2505, 2517, 2529, 2539, 2549, 2548, 2561, 2565, 2570, 2574, + 2581, 2597, 2599, 2601, 2601, 2602, 2605, 2607, 2609, 2606, + 2611, 2615, 2614, 2731, 2764, 2772, 2797, 2771, 2849, 2850, + 2851, 2852, 2854, 2855, 2863, 2864, 2872, 2873, 2882, 2885, + 2884, 2893, 2895, 2903, 2911, 2920, 2928, 2930, 2937, 2938, + 2949, 2985, 3022, 3063, 3080, 3062, 3122, 3129, 3136, 3174, + 3263, 3262, 3294, 3295, 3303, 3302, 3350, 3352, 3351, 3361, + 3512, 3511, 3659, 3665, 3668, 3684, 3688, 3692, 3699, 3700, + 3704, 3704, 3718, 3718, 3734, 3734, 3750, 3750, 3764, 3764, + 3795, 3796, 3797, 3800, 3806, 3805, 3815, 3814, 3832, 3831, + 3879, 3894, 3903, 3878, 3940, 3948, 3949, 3949, 3962, 3961, + 3968, 3969, 3970, 3976, 3977, 3981, 3985, 3993, 3997, 4001, + 4009, 4010, 4016, 4022, 4024, 4027, 4028, 4033, 4032, 4134, + 4136, 4135, 4190, 4194, 4198, 4199, 4203, 4218, 4227, 4242, + 4251, 4255, 4261, 4278, 4285, 4295, 4296, 4297, 4301, 4302, + 4318, 4328, 4334, 4342, 4348, 4356, 4362, 4370, 4375, 4382, + 4383, 4384, 4388, 4389, 4388, 4399, 4403, 4404, 4403, 4413, + 4420, 4421, 4424, 4424, 4505, 4503, 4517, 4594, 4691, 4692, + 4696, 4697, 4700, 4701, 4704, 4705, 4708, 4712, 4716, 4720, + 4739, 4745, 4747, 4750, 4751, 4760, 4761, 4766, 4765, 4774, + 4784, 4785, 4789, 4789, 4791, 4790, 4799, 4798, 4802, 4809, + 4810, 4814, 4814, 4816, 4815, 4822, 4821, 4825, 4834, 4930, + 4935, 4940, 4941, 4944, 4961, 4978, 4995, 5018, 5018, 5049, + 5070, 5070, 5093, 5092, 5108, 5107, 5123, 5122, 5139, 5140, + 5143, 5145, 5143, 5199, 5230, 5229, 5266, 5267, 5275, 5274, + 5298, 5299, 5303, 5302, 5341, 5340, 5363, 5363, 5390, 5391, + 5394, 5415, 5437, 5461, 5466, 5474, 5475, 5475, 5479, 5540, + 5575, 5590, 5639, 5648, 5649, 5657, 5658, 5659, 5660, 5661, + 5662, 5665, 5666, 5667, 5668, 5669, 5670, 5677, 5684, 5675, + 5710, 5710, 5723, 5736, 5737, 5741, 5754, 5755, 5762, 5767, + 5774, 5775, 5776, 5781, 5782, 5783, 5788, 5789, 5790, 5795, + 5796, 5797, 5802, 5807, 5808, 5819, 5830, 5841, 5845, 5852, + 5853, 5910, 5916, 5915, 6003, 6002, 6046, 6054, 6056, 6060, + 6064, 6053, 6106, 6115, 6119, 6126, 6128, 6132, 6125, 6170, + 6180, 6182, 6186, 6179, 6224, 6233, 6234, 6237, 6280, 6289, + 6315, 6314, 6345, 6351, 6352, 6355, 6356, 6360, 6365, 6390, + 6399, 6451, 6476, 6504, 6359, 6512, 6513, 6514, 6522, 6523, + 6531, 6549, 6530, 6553, 6557, 6558, 6565, 6566, 6567, 6573, + 6574, 6575, 6580, 6581, 6582, 6583, 6584, 6585, 6586 }; #endif @@ -1011,24 +1013,25 @@ static const char *const yytname[] = "RWL_T_DBSECONDS", "RWL_T_PRINT", "RWL_T_PRINTLINE", "RWL_T_PRINTVAR", "RWL_T_SHARDKEY", "RWL_T_SUPERSHK", "RWL_T_OCISECONDS", "RWL_T_PROCEDURE", "RWL_T_BIND", "RWL_T_DEFINE", "RWL_T_STRING", - "RWL_T_INTEGER", "RWL_T_END", "RWL_T_FOR", "RWL_T_ARRAY", "RWL_T_DATE", - "RWL_T_SQRT", "RWL_T_ACCESS", "RWL_T_REGEX", "RWL_T_REGEXTRACT", - "RWL_T_UNIFORM", "RWL_T_ERLANG", "RWL_T_DOTDOT", "RWL_T_DOUBLE", - "RWL_T_ERLANG2", "RWL_T_ERLANGK", "RWL_T_RUN", "RWL_T_THREADS", - "RWL_T_RUNSECONDS", "RWL_T_WHILE", "RWL_T_FFLUSH", "RWL_T_READLINE", - "RWL_T_RANDOM", "RWL_T_FILE", "RWL_T_WRITE", "RWL_T_WRITELINE", - "RWL_T_BINDOUT", "RWL_T_GETRUSAGE", "RWL_T_DRCP", "RWL_T_SESSIONPOOL", - "RWL_T_RECONNECT", "RWL_T_DEDICATED", "RWL_T_DEFAULT", "RWL_T_RESULTS", - "RWL_T_ASSIGN", "RWL_T_LOOP", "RWL_T_ALL", "RWL_T_NULL", "RWL_T_ISNULL", - "RWL_T_SUM", "RWL_T_IS", "RWL_T_NOT", "RWL_T_LESSEQ", "RWL_T_GREATEQ", - "RWL_T_NOTEQ", "RWL_T_AND", "RWL_T_OR", "RWL_T_BETWEEN", "RWL_T_CONCAT", - "RWL_T_IF", "RWL_T_THEN", "RWL_T_ELSE", "RWL_T_NEVER", "RWL_T_APPEND", - "RWL_T_IGNOREERROR", "RWL_T_ELSEIF", "RWL_T_EXECUTE", "RWL_T_WAIT", - "RWL_T_COMMIT", "RWL_T_ROLLBACK", "RWL_T_EVERY", "RWL_T_ASNADD", - "RWL_T_ASNSUB", "RWL_T_STOP", "RWL_T_START", "RWL_T_COUNT", "RWL_T_AT", - "RWL_T_BREAK", "RWL_T_RETURN", "RWL_T_ABORT", "RWL_T_MODIFY", - "RWL_T_CURSORCACHE", "RWL_T_NOCURSORCACHE", "RWL_T_LEAK", "RWL_T_SHIFT", - "RWL_T_WHEN", "RWL_T_STATISTICS", "RWL_T_NOSTATISTICS", "RWL_T_FUNCTION", + "RWL_T_INTEGER", "RWL_T_END", "RWL_T_PROCEDURENAME", "RWL_T_FOR", + "RWL_T_ARRAY", "RWL_T_DATE", "RWL_T_SQRT", "RWL_T_ACCESS", "RWL_T_REGEX", + "RWL_T_REGEXTRACT", "RWL_T_UNIFORM", "RWL_T_ERLANG", "RWL_T_DOTDOT", + "RWL_T_DOUBLE", "RWL_T_ERLANG2", "RWL_T_ERLANGK", "RWL_T_RUN", + "RWL_T_THREADS", "RWL_T_RUNSECONDS", "RWL_T_WHILE", "RWL_T_FFLUSH", + "RWL_T_READLINE", "RWL_T_RANDOM", "RWL_T_FILE", "RWL_T_WRITE", + "RWL_T_WRITELINE", "RWL_T_BINDOUT", "RWL_T_GETRUSAGE", "RWL_T_DRCP", + "RWL_T_SESSIONPOOL", "RWL_T_RECONNECT", "RWL_T_DEDICATED", + "RWL_T_DEFAULT", "RWL_T_RESULTS", "RWL_T_ASSIGN", "RWL_T_LOOP", + "RWL_T_ALL", "RWL_T_NULL", "RWL_T_ISNULL", "RWL_T_SUM", "RWL_T_IS", + "RWL_T_NOT", "RWL_T_LESSEQ", "RWL_T_GREATEQ", "RWL_T_NOTEQ", "RWL_T_AND", + "RWL_T_OR", "RWL_T_BETWEEN", "RWL_T_CONCAT", "RWL_T_IF", "RWL_T_THEN", + "RWL_T_ELSE", "RWL_T_NEVER", "RWL_T_APPEND", "RWL_T_IGNOREERROR", + "RWL_T_ELSEIF", "RWL_T_EXECUTE", "RWL_T_WAIT", "RWL_T_COMMIT", + "RWL_T_ROLLBACK", "RWL_T_EVERY", "RWL_T_ASNADD", "RWL_T_ASNSUB", + "RWL_T_STOP", "RWL_T_START", "RWL_T_COUNT", "RWL_T_AT", "RWL_T_BREAK", + "RWL_T_RETURN", "RWL_T_ABORT", "RWL_T_MODIFY", "RWL_T_CURSORCACHE", + "RWL_T_NOCURSORCACHE", "RWL_T_LEAK", "RWL_T_SHIFT", "RWL_T_WHEN", + "RWL_T_STATISTICS", "RWL_T_NOSTATISTICS", "RWL_T_FUNCTION", "RWL_T_PUBLIC", "RWL_T_OCIPING", "RWL_T_QUEUE", "RWL_T_NOQUEUE", "RWL_T_PRIVATE", "RWL_T_BEGIN", "RWL_T_RELEASE", "RWL_T_SYSTEM", "RWL_T_CLOB", "RWL_T_BLOB", "RWL_T_NCLOB", "RWL_T_READLOB", @@ -1058,59 +1061,60 @@ static const char *const yytname[] = "maybejustusername", "maybedbspeclist", "dbspeclist", "dbspec", "$@9", "$@10", "maybemarks", "eithermark", "maybemaxpoolsize", "releaselist", "poolrelease", "poolreleasecount", "poolreleaseevery", "poolreleaseidle", - "maybewait", "$@11", "maybethentimeoutaction", "$@12", - "compiletime_expression", "compiletime_concatenation", - "subroutinedeclaration", "isaccepted", "functionhead", "$@13", - "procedurehead", "$@14", "maybeprivatefunction", "maybeprivateprocedure", - "codebody", "printvarlist", "printvarelement", "maybeemptybrackets", - "maybearguments", "formalargumentlist", "formalargument", "argumenttype", - "maybestatistics", "codeterminator", "$@15", "$@16", "$@17", - "identifier_or_constant", "$@18", "maybe_expression_list", + "maybewait", "$@11", "maybethentimeoutaction", "thenprocedurenamehead", + "thenprocedurenametail", "compiletime_expression", + "compiletime_concatenation", "subroutinedeclaration", "isaccepted", + "functionhead", "$@12", "procedurehead", "$@13", "maybeprivatefunction", + "maybeprivateprocedure", "codebody", "printvarlist", "printvarelement", + "identifierorprocname", "maybeemptybrackets", "maybearguments", + "formalargumentlist", "formalargument", "argumenttype", + "maybestatistics", "codeterminator", "$@14", "$@15", "$@16", + "identifier_or_constant", "$@17", "maybe_expression_list", "expression_list", "countexpressions", "primary_expression", "unary_expression", "multiplication", "addition", "bitwise_shift", "comparison", "equality", "bitwise_and", "bitwise_xor", "bitwise_or", - "logicaland", "$@19", "logicalor", "$@20", "conditional", "$@21", "$@22", + "logicaland", "$@18", "logicalor", "$@19", "conditional", "$@20", "$@21", "expression", "concatenation", "statementlist", "goodorbadstatement", - "$@23", "$@24", "statement", "$@25", "$@26", "$@27", "$@28", "$@29", - "$@30", "$@31", "$@32", "$@33", "$@34", "$@35", "$@36", "$@37", "$@38", - "$@39", "$@40", "$@41", "$@42", "$@43", "$@44", "$@45", "$@46", "$@47", - "$@48", "$@49", "writelobhead", "$@50", "maybewritelobtail", - "readlobhead", "$@51", "maybereadlobtail", "$@52", "docallonesql", - "dosqlloop", "$@53", "controlloopheader", "controllooplistandend", - "controlloopheadend", "controllooplist", "controlloopoption", "$@54", - "$@55", "$@56", "$@57", "$@58", "maybequeue", "callsql", "$@59", "$@60", - "embeddedsql", "$@61", "immediatesql", "$@62", "$@63", "$@64", - "getdynamicorinlineimmsql", "$@65", "immediatesqlheader", "$@66", - "immediatesqlendsqlisok", "immediatesqltail", "immediateatclause", - "executehead", "maybeatdatabase", "declinitlist", "declinit", "$@67", - "declinitassign", "$@68", "ifstatements", "elseifstatements", - "maybeelseiflist", "ifhead", "elseifhead", "whileheadkeyword", - "whilehead", "whileheadwrongkeyword", "maybethreadsattr", - "maybeprivatestring", "maybeprivateinteger", "maybeprivatedouble", - "maybeprivatelob", "eitherlobtype", "sqldeclaration", "$@69", "$@70", - "$@71", "$@72", "namedsqldeclaration", "dynamicsqlbody", "$@73", - "staticsqlbody", "$@74", "addsqlvariable", "parsesqlspecifications", - "sqlspeclist", "sqlspec", "musthaveterminator", "maybearraydefine", - "definelist", "defineelement", "$@75", "bindoutlist", "bindoutelement", - "$@76", "$@77", "$@78", "bindlist", "bindelement", "$@79", "$@80", - "$@81", "bdidentifier", "bdidentname", "modsqlstatement", "$@82", "$@83", - "$@84", "$@85", "$@86", "modsqlbdlist", "modsqlbd", "$@87", "$@88", - "moddbstatement", "$@89", "moddbsespmaybedotdot", "printf", "$@90", - "sprintfheader", "sprintf", "$@91", "fprintf", "$@92", - "handlefprintflist", "$@93", "printflist", "printfelement", "write", - "print", "printlist", "$@94", "printelement", "pwterminator", + "$@22", "$@23", "statement", "$@24", "$@25", "$@26", "$@27", "$@28", + "$@29", "$@30", "$@31", "$@32", "$@33", "$@34", "$@35", "$@36", "$@37", + "$@38", "$@39", "$@40", "$@41", "$@42", "$@43", "$@44", "$@45", "$@46", + "$@47", "beginofprocedurecall", "endofprocedurecall", "writelobhead", + "$@48", "maybewritelobtail", "readlobhead", "$@49", "maybereadlobtail", + "$@50", "docallonesql", "dosqlloop", "$@51", "controlloopheader", + "controllooplistandend", "controlloopheadend", "controllooplist", + "controlloopoption", "$@52", "$@53", "$@54", "$@55", "$@56", + "maybequeue", "callsql", "$@57", "$@58", "embeddedsql", "$@59", + "immediatesql", "$@60", "$@61", "$@62", "getdynamicorinlineimmsql", + "$@63", "immediatesqlheader", "$@64", "immediatesqlendsqlisok", + "immediatesqltail", "immediateatclause", "executehead", + "maybeatdatabase", "declinitlist", "declinit", "$@65", "declinitassign", + "$@66", "ifstatements", "elseifstatements", "maybeelseiflist", "ifhead", + "elseifhead", "whileheadkeyword", "whilehead", "whileheadwrongkeyword", + "maybethreadsattr", "maybeprivatestring", "maybeprivateinteger", + "maybeprivatedouble", "maybeprivatelob", "eitherlobtype", + "sqldeclaration", "$@67", "$@68", "$@69", "$@70", "namedsqldeclaration", + "dynamicsqlbody", "$@71", "staticsqlbody", "$@72", "addsqlvariable", + "parsesqlspecifications", "sqlspeclist", "sqlspec", "musthaveterminator", + "maybearraydefine", "definelist", "defineelement", "$@73", "bindoutlist", + "bindoutelement", "$@74", "$@75", "$@76", "bindlist", "bindelement", + "$@77", "$@78", "$@79", "bdidentifier", "bdidentname", "modsqlstatement", + "$@80", "$@81", "$@82", "$@83", "$@84", "modsqlbdlist", "modsqlbd", + "$@85", "$@86", "moddbstatement", "$@87", "moddbsespmaybedotdot", + "printf", "$@88", "sprintfheader", "sprintf", "$@89", "fprintf", "$@90", + "handlefprintflist", "$@91", "printflist", "printfelement", "write", + "print", "printlist", "$@92", "printelement", "pwterminator", "pfterminator", "assignrightside", "assignterminator", - "declassignoperator", "assignoperator", "loopiterator", "$@95", "$@96", - "$@97", "commaconcatenationlist", "commaconcatenation", + "declassignoperator", "assignoperator", "loopiterator", "$@93", "$@94", + "$@95", "commaconcatenationlist", "commaconcatenation", "loopiteratorrecover", "maybeprivatefile", "executeterminator", "loopterminator", "ifterminator", "sqlterminator", "whileterminator", - "maybeandexpression", "getstaticsqltext", "getinlinesql", "$@98", - "readfromfile", "$@99", "regexsub", "$@100", "$@101", "$@102", "$@103", - "regexsuborsubg", "regextract", "$@104", "$@105", "$@106", "regex", - "$@107", "$@108", "$@109", "readlist", "readlistelement", "systemstart", - "systemfinish", "threadexecution", "$@110", "threadlistp", "threadorcqn", - "cqnthread", "$@111", "$@112", "$@113", "$@114", "$@115", "$@116", - "$@117", "cqnterminator", "maybecqnstart", "thread", "$@118", "$@119", + "maybeandexpression", "getstaticsqltext", "getinlinesql", "$@96", + "readfromfile", "$@97", "regexsub", "$@98", "$@99", "$@100", "$@101", + "regexsuborsubg", "regextract", "$@102", "$@103", "$@104", "regex", + "$@105", "$@106", "$@107", "readlist", "readlistelement", "systemstart", + "systemfinish", "threadexecution", "$@108", "threadlistp", "threadorcqn", + "cqnthread", "$@109", "$@110", "$@111", "$@112", "$@113", "$@114", + "$@115", "cqnterminator", "maybecqnstart", "thread", "$@116", "$@117", "maybedatabase", "threadsterminator", "runterminator", "maybeenderrorkeyword", YY_NULLPTR }; @@ -1137,18 +1141,18 @@ static const yytype_uint16 yytoknum[] = 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 124, 94, 38, 61, - 60, 62, 45, 43, 42, 47, 37, 33, 126, 421, - 59, 40, 41, 44, 63, 58 + 415, 416, 417, 418, 419, 420, 421, 124, 94, 38, + 61, 60, 62, 45, 43, 42, 47, 37, 33, 126, + 422, 59, 40, 41, 44, 63, 58 }; # endif -#define YYPACT_NINF -965 +#define YYPACT_NINF -926 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-965))) + (!!((Yystate) == (-926))) -#define YYTABLE_NINF -666 +#define YYTABLE_NINF -672 #define yytable_value_is_error(Yytable_value) \ 0 @@ -1157,131 +1161,132 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -965, 108, 159, -965, 3381, -45, 76, -965, -45, 257, - -965, -965, -965, 276, 1917, 1984, -965, 51, 2122, 132, - 133, 432, -965, 139, 141, -38, -965, -45, 2189, 115, - 5588, -45, -45, -11, 1709, -45, 79, -45, -45, -965, - -45, 459, 319, -965, -965, -965, -965, 218, 223, 2327, - 53, -965, -965, 43, -965, 143, 239, -965, -965, -965, - -965, -965, -965, 42, 340, 340, 144, 146, -965, -965, - -45, 350, -45, 1571, -965, 98, -965, -965, 54, 95, - 120, 147, -965, 52, 71, 290, -45, -45, 1340, 2394, - 151, -965, -965, 2532, -965, -965, 5588, -965, -965, -45, - -965, -965, -45, -965, -22, -965, -45, 370, 80, 317, - 453, 350, -45, 5588, -45, 5588, 498, 55, 551, -38, - 339, 343, 356, 366, 375, 380, 395, 424, -38, -965, - 425, 5588, 427, 428, 429, 431, 433, 441, 442, 445, - 447, 448, 449, 462, -965, 465, -965, -965, 466, 475, - 480, 481, 487, 489, 490, 491, 492, 5588, 5588, 5588, - 5588, 464, -965, -965, 215, -48, 181, 318, 61, 413, - 454, 493, 550, -16, -965, 349, -45, -45, -45, -965, - 654, 655, -45, -965, -45, -965, 501, -45, -965, 2599, - 616, 316, 60, 18, -965, -965, -45, -965, -45, -965, - 5588, -965, -45, 400, 543, -965, -965, -965, -965, -965, - -965, -965, 440, -965, -965, 153, -965, -45, 503, 505, - 506, 507, -45, 5588, -45, 555, -965, 673, 624, 558, - -965, -45, 518, -45, 564, 1501, 469, -965, -45, -965, - -965, -965, -965, -965, -965, -965, -965, -45, -965, -45, - -965, 470, -965, 272, -965, -45, -965, 687, 264, -965, - 36, -965, 3106, 3511, -45, 34, 5588, -965, -45, 566, - -45, 566, -45, -965, 334, -965, -45, -45, -45, -965, - -965, -45, -965, -965, -965, -965, -965, -45, 5588, -965, - 5588, -965, -45, 5383, -965, 348, -965, -45, 566, -45, - 5588, 30, -965, 5588, -965, 569, -965, -965, -965, 663, - -965, -965, 5588, 666, 453, -965, -965, -965, -965, -965, - 683, 2737, -965, 96, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, -965, 534, 539, 5588, 5588, 5588, - 5588, 5588, 5588, -965, 5588, -965, 5588, 5588, 5588, 45, - 5588, 5588, 5588, 5588, 155, 156, 62, 5588, -965, 5588, - 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, -965, -965, - -965, 540, 337, 5588, 5588, 5588, 5588, 5588, 5588, 5588, - 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, 5588, - -965, -965, -965, 5588, -965, -965, -965, -965, 542, 581, - 589, -965, -965, -965, -965, -45, 73, -965, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -45, -45, 5588, - -965, -965, 710, 711, 714, 595, -965, -965, 5588, -45, - -965, 5588, -45, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, 689, 598, -45, 5588, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, - 2599, -965, 5588, -965, -45, -45, -45, -965, 3641, -965, - -965, 560, -965, 560, -965, -965, -965, -965, -965, -965, - -965, 256, -965, 665, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, 5588, -965, 3771, -45, -45, -965, - -965, -965, 323, 325, 341, 392, 478, -965, -965, 671, - 58, -965, -965, -965, 563, 680, 566, -965, 334, -965, - 334, -965, 446, 566, -965, -965, -965, -965, -965, 5588, - -965, 348, 348, -965, -965, -965, -965, -965, 334, -965, - -965, -45, 607, -45, 299, -965, -965, -965, 542, 2804, - 453, 680, -965, -965, 666, 568, 573, -965, -965, -965, - -965, -965, -965, -45, 732, -965, 675, 68, -965, -965, - -965, 114, 577, 26, 154, 235, 75, 246, 41, 578, - 580, 582, 583, -965, 585, 134, 145, 247, 586, 587, - 588, 590, 591, 593, 594, 596, 597, 5588, 137, 248, - 255, 263, 267, 269, 149, 599, 600, -965, -965, 708, - -965, -965, -965, 215, 215, -48, -48, 181, 181, 309, - 181, 181, 318, 318, 61, 413, 454, 5588, 5588, 5588, - -965, 635, 352, -965, -965, -965, -965, -45, -965, -965, - -45, -965, -965, -45, 40, 623, 637, 641, -965, -965, - 642, 680, -965, 5588, 680, -965, -45, 5178, -965, -965, - -965, -965, 603, 604, -965, -965, -965, -965, 605, -965, - -965, -965, -965, -965, 57, 700, 286, 5588, 5588, 5588, - 5588, -965, -965, -965, -965, -965, -965, -965, -965, 5588, - -965, 609, 63, -965, -965, 3901, -45, -45, -965, -45, - -965, -45, 789, 790, -45, 2942, -965, -965, -45, -45, - -45, -965, -965, 757, 334, -965, -965, -965, -965, -965, - 605, -965, -965, 5588, -965, 610, -965, -965, -965, -965, - 5450, 5588, 5588, 745, -965, 5588, -965, -965, -965, -965, - 5588, 5588, 5588, -45, 299, -965, -7, -6, 766, -965, - 666, -965, -965, 5588, 5588, -965, 683, 713, 656, -45, - -45, -965, -965, -965, 5588, 5588, -965, -965, 5588, -965, - 617, -965, 659, 5588, -965, -965, -965, -965, -965, 5588, - -965, 5588, -965, -965, -965, -965, -965, -965, -965, -965, - -965, 5588, 618, 5588, -965, -965, -965, -965, -965, 5588, - -965, -965, -965, 5588, 493, 550, 619, -965, -965, -965, - 48, 50, -965, -965, -965, 5588, 5588, -45, -965, -965, - -965, 728, -965, -965, -965, -965, -965, -45, -965, -965, - 5178, -965, 620, -965, -965, 625, -965, -965, -965, -965, - -965, -965, -965, 65, 5588, 5588, 627, -965, -965, -965, - -965, -965, -965, 191, -965, 664, 434, -965, -965, -965, - -965, 680, 680, 680, 680, 4031, 5588, -45, -965, -965, - -45, -45, -965, -965, 36, -965, -965, -965, -965, 5588, - -965, -45, -45, -965, 741, 415, 3236, -965, -965, -965, - -965, -965, 5588, -965, 5588, -45, 668, -965, -965, -965, - -965, -965, 419, -965, -965, -965, -965, -965, 758, -965, - -965, -965, -965, 630, 4161, -965, 4291, -965, -965, -45, - 672, -965, -965, -965, -965, 274, 275, 297, -965, 633, - 170, 298, 300, 226, -965, 302, 303, 181, -965, -45, - 674, -965, -45, 676, -965, 680, 680, -965, -965, -965, - 5588, -965, 5588, -965, -965, 48, 50, -965, 5588, -965, - 638, -965, -45, 72, -965, -965, -965, -965, 5588, -965, - 434, -965, -965, 67, 680, -965, -965, 24, 658, -965, - -965, -965, 4421, -965, -965, -965, -965, -965, 566, -965, - -965, -965, -965, 419, 788, -965, -965, -965, 788, -965, - 5588, 5588, -8, -965, 67, 67, 542, 542, -965, -965, - 4551, 737, -965, -965, -965, -965, -965, 5588, -965, -965, - -965, 5588, -965, -965, 5588, -965, -965, 285, -965, -965, - -965, 312, -965, 791, 643, -965, 5588, 643, -965, 680, - 643, -965, -965, 680, 22, 135, -965, 1779, 49, -45, - -45, -45, -965, -965, -965, -45, -45, -45, 647, -965, - -45, -45, -965, -965, -965, -965, -965, -965, 68, 4681, - 334, 648, 5588, -965, -965, -965, -965, -965, -965, -965, - -965, -965, 352, 352, 800, 5588, 743, 304, 305, -965, - 5588, -45, 674, 5588, -45, 676, 5588, -965, -965, 680, - -45, -965, -965, -965, -965, 363, -965, -45, -965, -965, - 374, -965, -45, -965, 5588, -45, -965, -965, -965, -965, - 388, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, 350, -965, 69, -965, 5588, -965, 322, 727, - 4811, 779, -965, -965, 69, -965, 5588, -965, -965, -965, - -965, -965, -965, -965, -965, 680, -965, 691, -965, 64, - 64, 64, -15, -965, -965, 64, 17, -965, -965, -45, - -965, 64, 64, 64, 382, -965, -965, -45, -45, -965, - -965, -965, 5588, 5245, -965, -965, -965, -965, -965, 67, - -965, -965, -965, -965, -965, -965, 724, -965, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, 653, -965, 5588, 5588, -965, -965, 744, -965, 697, - 772, -965, -965, -965, -45, 8, -965, -965, -965, -965, - 660, 4941, -965, 774, 5588, -965, 661, -965, -965, 5071, - 824, 104, -45, -45, -965, -965, -965, -965 + -926, 127, 333, -926, 3533, -43, 57, -926, -43, 67, + -926, -926, -926, 1482, 260, 1948, 2110, -926, 39, 2177, + 68, 120, 156, -926, 132, 136, -37, -926, -43, 2339, + 269, 5793, -43, -43, -31, 1718, -43, 85, -43, -43, + -926, -43, 457, 363, -926, -926, -926, -926, 198, 233, + 2406, 52, -926, -926, 53, -926, 139, 240, -926, -926, + -926, -926, -926, -926, 55, 334, 334, 140, 141, -926, + -926, -43, 345, -43, 1651, -926, 94, -926, -926, 49, + 76, 96, 145, -926, 59, 72, 316, -43, -43, 1320, + 2568, 146, -926, -926, 2635, -926, -926, 5793, -926, -926, + -43, -926, -926, -926, -43, -926, 199, -926, -926, -43, + -926, 5793, -43, 373, 341, 393, 477, 345, -43, 5793, + -43, 5793, 529, 16, 553, -37, 369, 395, 412, 424, + 438, 443, 444, 447, -37, -926, 448, 5793, 449, 450, + 451, 452, 456, 458, 459, 460, 464, 465, 467, 468, + -926, 470, -926, -926, 471, 474, 475, 478, 479, 480, + 482, 483, 484, 5793, 5793, 5793, 5793, 525, -926, -926, + 357, 226, 185, 335, 245, 490, 469, 472, 580, 22, + -926, 278, -43, -43, -43, -926, 645, 646, -43, -926, + -43, -926, 493, -43, -926, 2797, 609, 86, 65, 31, + -926, -926, -43, -926, -43, -926, 5793, -926, -43, 360, + 536, -926, -926, -926, -926, -926, -926, -926, 377, -926, + -926, 153, -926, -43, 500, 501, 503, 504, -43, 5793, + -43, 546, -926, 672, 621, 556, -926, -43, 516, -43, + 558, 651, -926, -43, -926, -926, -926, -926, -926, -926, + -926, -926, -43, -926, -43, -926, 455, -926, 265, -926, + -43, -926, 686, 356, -926, 56, -926, 3258, 3664, -43, + 294, 5793, -926, -43, 565, -43, 565, -43, -926, 223, + -926, -43, -43, -43, -926, -926, -43, -926, -926, -926, + -926, -926, -43, 5793, -926, 5793, -926, -43, 5568, -926, + 293, -926, -43, 565, -43, 5793, 46, -926, 5793, -926, + 27, -926, -926, 5793, 63, 527, -926, -926, -926, -926, + 656, -926, -926, 5793, 663, 477, -926, -926, -926, -926, + -926, 508, 2864, -926, 274, -926, -926, -926, -926, -926, + -926, -926, -926, -926, -926, -926, 535, 538, 5793, 5793, + 5793, 5793, 5793, 5793, -926, 5793, -926, 5793, 5793, 5793, + 50, 5793, 5793, 5793, 5793, 160, 162, 66, 5793, -926, + 5793, 5793, 5793, 5793, 5793, 5793, 5793, 5793, 5793, -926, + -926, -926, 542, 102, 5793, 5793, 5793, 5793, 5793, 5793, + 5793, 5793, 5793, 5793, 5793, 5793, 5793, 5793, 5793, 5793, + 5793, -926, -926, -926, 5793, -926, -926, -926, -926, 544, + 583, 586, -926, -926, -926, -926, -43, 77, -926, -926, + -926, -926, -926, -926, -926, -926, -926, -926, -43, -43, + 5793, -926, -926, 707, 710, 715, 596, -926, -926, 5793, + -43, -926, 5793, -43, -926, -926, -926, -926, -926, -926, + -926, -926, -926, -926, -926, 689, 600, -926, -926, -926, + -926, -926, -926, -926, -926, -926, -926, -926, -926, 2797, + -926, 5793, -926, -43, -43, -43, -926, 3795, -926, -926, + 563, -926, 563, -926, -926, -926, -926, -926, -926, -926, + 281, -926, 667, -926, -926, -926, -926, -926, -926, -926, + -926, -926, -926, 5793, -926, 3926, -43, -43, -926, -926, + -926, 88, 133, 142, 402, 473, -926, -926, 676, 54, + -926, -926, -926, 568, 681, 565, -926, 223, -926, 223, + -926, 381, 565, -926, -926, -926, -926, -926, 5793, -926, + 293, 293, -926, -926, -926, -926, -926, 223, -926, -926, + -43, 610, -43, 323, -926, -926, -926, 574, -43, 105, + -926, -926, -926, 5793, 544, 3026, 477, 681, -926, -926, + 663, 576, 577, -926, -926, -926, -926, -926, -926, -43, + 738, -926, 677, 70, -926, -926, -926, 23, 584, 62, + 90, 175, 114, 239, 37, 585, 587, 590, 591, -926, + 592, -18, 134, 246, 594, 597, 598, 599, 602, 606, + 608, 612, 595, 5793, 138, 248, 256, 257, 262, 267, + 244, 613, 618, -926, -926, 711, -926, -926, -926, 357, + 357, 226, 226, 185, 185, 255, 185, 185, 335, 335, + 245, 490, 469, 5793, 5793, 5793, -926, 649, 309, -926, + -926, -926, -926, -43, -926, -926, -43, -926, -926, -43, + 289, 582, 650, 659, -926, -926, 660, 681, -926, 5793, + 681, -926, -43, 5343, -926, -926, -926, -926, -926, 620, + -926, -926, -926, -926, -926, 272, 722, 7, 5793, 5793, + 5793, 5793, -926, -926, -926, -926, -926, -926, -926, -926, + 5793, -926, 627, 64, -926, -926, 4057, -43, -43, -926, + -43, -926, -43, 809, 812, -43, 3093, -926, -926, -43, + -43, -43, -926, -926, 778, 223, -926, -926, -926, -926, + -926, 620, -926, -926, 5793, -926, 631, -926, -926, -926, + -926, 5726, 5793, 5793, 768, -926, 5793, -926, -926, -926, + -926, 5793, 5793, 5793, -43, 323, -926, 63, -926, -43, + -43, -43, -926, 32, -12, 789, -926, 663, -926, -926, + 5793, 5793, -926, 508, 736, 679, -43, -43, -926, -926, + -926, 5793, 5793, -926, -926, 5793, -926, 640, -926, 682, + 5793, -926, -926, -926, -926, -926, 5793, -926, 5793, -926, + -926, -926, -926, -926, -926, -926, -926, -926, 5793, 641, + 5793, -926, -926, -926, -926, -926, 5793, -926, -926, -926, + 5793, 472, 580, 642, -926, -926, -926, 40, 44, -926, + -926, -926, 5793, 5793, -43, -926, -926, -926, 751, -926, + -926, -926, -926, -926, -43, -926, -926, 5343, -926, 643, + -926, -926, 652, -926, -926, -926, -926, -926, -926, -926, + 5793, 648, -926, -926, -926, -926, -926, -926, 328, -926, + 688, 462, -926, -926, -926, -926, 681, 681, 681, 681, + 4188, 5793, -43, -926, -926, -43, -43, -926, -926, 56, + -926, -926, -926, -926, 5793, -926, -43, -43, -926, 763, + 347, 3389, -926, -926, -926, -926, -926, 5793, -926, 5793, + -43, 692, -926, -926, -926, -926, -926, 394, -926, -926, + -926, -926, -926, -926, -926, -926, -926, 782, -926, -926, + -926, -926, 653, 4319, -926, 4450, -926, -926, -43, 695, + -926, -926, -926, -926, 271, 273, 280, -926, 657, 147, + 284, 288, 375, -926, 295, 299, 185, -926, -43, 27, + -926, -43, 699, -926, 681, 681, -926, -926, -926, 5793, + -926, 5793, -926, -926, 40, 44, -926, 5793, -926, 674, + -926, -926, 5793, -926, 462, -926, -926, 71, 681, -926, + -926, 6, 721, -926, -926, -926, 4581, -926, -926, -926, + -926, -926, 565, -926, -926, -926, -926, 394, 811, -926, + -926, -926, 811, -926, 5793, 5793, -8, -926, 71, 71, + 544, 544, -926, -926, 4712, 760, -926, -926, -926, -926, + -926, 5793, -926, -926, -926, 5793, -926, -926, 5793, -926, + 413, -926, -926, -926, -926, 432, -926, 813, 661, -926, + 5793, 661, -926, 681, 661, -926, -926, 681, 38, 43, + -926, 1881, 42, -43, -43, -43, -926, -926, 664, -926, + -43, -43, -926, -926, -926, -926, -926, -926, 70, 4843, + 223, 662, 5793, -926, -926, -926, -926, -926, -926, -926, + -926, -926, 309, 309, 828, 5793, 767, 300, 301, -926, + -43, 27, 5793, 5793, -43, 699, 5793, -926, -926, 681, + -43, -926, -926, -926, -926, 337, -926, -43, -926, -926, + 376, -926, -43, -926, 5793, -43, -926, -926, -926, -926, + 401, -926, -926, -926, -926, -926, -926, -926, -926, 345, + -926, 73, -926, 5793, -926, 47, 746, 4974, 797, -926, + -926, 73, -926, 5793, -926, -926, -926, -926, -926, -926, + -926, -926, 681, -926, 709, -926, 74, 74, 74, 366, + -926, -926, 74, 0, -926, -926, -43, -926, 74, 74, + 74, 383, -926, -926, -43, -43, -926, -926, -926, 5793, + 5501, -926, -926, -926, -926, -926, 71, -926, -926, -926, + -926, -926, -926, 742, -926, -926, -926, -926, -926, -926, + -926, -926, -926, -926, -926, -926, -926, -926, 670, -926, + 5793, 5793, -926, -926, 761, -926, 713, 788, -926, -926, + -926, -43, 89, -926, -926, -926, 678, -926, 5105, -926, + 5793, 792, 5793, -926, -926, 675, -926, -926, -926, 5236, + -926, 842, 99, -43, -43, -926, -926, -926, -926 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1289,201 +1294,204 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 4, 0, 5, 1, 0, 0, 0, 557, 558, 0, - 95, 446, 448, 0, 0, 0, 450, 0, 0, 0, - 0, 0, 593, 0, 0, 100, 366, 276, 0, 411, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, - 0, 0, 0, 642, 453, 454, 455, 0, 0, 0, - 0, 627, 628, 0, 392, 0, 0, 542, 3, 246, - 6, 8, 12, 0, 84, 84, 0, 0, 7, 349, - 0, 309, 0, 0, 317, 0, 232, 232, 0, 0, - 0, 0, 452, 0, 0, 0, 0, 0, 0, 0, - 0, 324, 326, 0, 327, 325, 0, 9, 353, 0, - 34, 341, 0, 99, 0, 97, 0, 0, 387, 0, - 611, 407, 0, 0, 0, 0, 0, 0, 0, 100, - 0, 0, 0, 0, 0, 0, 0, 0, 100, 131, + 4, 0, 5, 1, 0, 0, 0, 563, 564, 0, + 97, 452, 454, 0, 0, 0, 0, 456, 0, 0, + 0, 0, 0, 599, 0, 0, 104, 372, 280, 0, + 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 95, 0, 0, 0, 648, 459, 460, 461, 0, 0, + 0, 0, 633, 634, 0, 398, 0, 0, 548, 3, + 250, 6, 8, 12, 0, 86, 86, 0, 0, 7, + 353, 0, 313, 0, 0, 321, 0, 236, 236, 0, + 0, 0, 0, 458, 0, 0, 0, 0, 0, 0, + 0, 0, 328, 330, 0, 331, 329, 0, 9, 357, + 0, 34, 345, 103, 0, 102, 0, 99, 101, 0, + 358, 184, 0, 0, 393, 0, 617, 413, 0, 0, + 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, + 0, 0, 0, 0, 104, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 130, 127, 129, 128, 0, 0, + 134, 131, 133, 132, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 189, 192, 197, + 201, 204, 207, 213, 216, 218, 220, 222, 225, 228, + 232, 0, 0, 0, 0, 624, 0, 0, 0, 561, + 0, 562, 0, 0, 348, 0, 0, 0, 0, 0, + 300, 301, 0, 350, 0, 284, 0, 251, 0, 0, + 0, 302, 252, 310, 96, 451, 453, 455, 0, 598, + 94, 0, 457, 0, 0, 366, 0, 362, 0, 0, + 0, 0, 551, 0, 0, 0, 476, 0, 0, 0, + 394, 0, 556, 0, 126, 124, 123, 128, 13, 87, + 236, 236, 0, 89, 0, 92, 390, 369, 0, 369, + 0, 369, 0, 406, 236, 0, 270, 0, 0, 0, + 0, 0, 260, 0, 0, 0, 0, 0, 427, 0, + 425, 0, 0, 0, 609, 253, 0, 570, 336, 552, + 334, 332, 0, 0, 569, 0, 338, 0, 234, 568, + 0, 565, 0, 0, 0, 0, 0, 36, 37, 10, + 0, 11, 309, 184, 0, 185, 186, 188, 274, 325, + 0, 408, 318, 0, 0, 617, 414, 644, 641, 639, + 636, 682, 0, 657, 0, 653, 656, 655, 441, 447, + 445, 446, 440, 443, 444, 182, 0, 0, 0, 0, + 0, 0, 0, 0, 181, 0, 195, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 185, 188, 193, 197, 200, 203, 209, 212, 214, - 216, 218, 221, 224, 228, 0, 0, 0, 0, 618, - 0, 0, 0, 555, 0, 556, 0, 0, 344, 0, - 0, 0, 0, 0, 296, 297, 0, 346, 0, 280, - 0, 247, 0, 0, 0, 298, 248, 306, 94, 445, - 447, 449, 0, 592, 92, 0, 451, 0, 0, 360, - 0, 356, 0, 0, 0, 0, 545, 0, 0, 0, - 470, 0, 0, 0, 388, 0, 0, 550, 0, 122, - 120, 124, 119, 13, 85, 232, 232, 0, 87, 0, - 90, 384, 363, 0, 363, 0, 363, 0, 400, 232, - 0, 266, 0, 0, 0, 0, 0, 256, 0, 0, - 0, 0, 0, 421, 0, 419, 0, 0, 0, 603, - 249, 0, 564, 332, 546, 330, 328, 0, 0, 563, - 0, 334, 0, 230, 562, 0, 559, 0, 0, 0, - 0, 0, 36, 37, 10, 0, 11, 270, 321, 0, - 402, 314, 0, 0, 611, 408, 638, 635, 633, 630, - 676, 0, 651, 0, 647, 650, 649, 435, 441, 439, - 440, 434, 437, 438, 178, 0, 0, 0, 0, 0, - 0, 0, 0, 177, 0, 191, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 189, 190, - 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 223, 226, 229, 0, 442, 324, 323, 626, 0, + 0, 0, 343, 344, 105, 303, 0, 0, 281, 437, + 436, 418, 419, 293, 349, 288, 286, 306, 0, 0, + 0, 294, 304, 0, 0, 0, 0, 299, 364, 0, + 0, 360, 0, 0, 292, 290, 335, 550, 469, 409, + 467, 399, 333, 554, 356, 0, 0, 575, 578, 576, + 582, 583, 584, 579, 580, 577, 585, 586, 581, 0, + 549, 0, 130, 0, 0, 0, 85, 0, 84, 88, + 106, 91, 106, 386, 382, 380, 384, 391, 392, 354, + 390, 378, 0, 311, 415, 416, 314, 369, 315, 404, + 622, 621, 476, 0, 405, 0, 0, 0, 606, 269, + 236, 0, 0, 0, 0, 0, 237, 238, 432, 0, + 264, 449, 450, 0, 82, 0, 257, 0, 259, 0, + 255, 429, 0, 254, 612, 610, 611, 337, 0, 342, + 0, 0, 347, 235, 566, 346, 267, 0, 632, 628, + 0, 0, 0, 39, 38, 83, 100, 0, 0, 0, + 420, 308, 359, 0, 0, 0, 617, 618, 370, 316, + 0, 0, 0, 684, 688, 685, 687, 683, 686, 0, + 0, 670, 0, 0, 654, 179, 180, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 219, 222, 225, 0, 436, 320, 319, 620, 0, 0, - 0, 339, 340, 101, 299, 0, 0, 277, 431, 430, - 412, 413, 289, 345, 284, 282, 302, 0, 0, 0, - 290, 300, 0, 0, 0, 0, 295, 358, 0, 0, - 354, 0, 0, 288, 286, 331, 544, 463, 403, 461, - 393, 329, 548, 352, 0, 0, 0, 180, 569, 572, - 570, 576, 577, 578, 573, 574, 571, 579, 580, 575, - 0, 543, 0, 126, 0, 0, 0, 83, 0, 82, - 86, 102, 89, 102, 380, 376, 374, 378, 385, 386, - 350, 384, 372, 0, 307, 409, 410, 310, 363, 311, - 398, 616, 615, 470, 0, 399, 0, 0, 0, 600, - 265, 232, 0, 0, 0, 0, 0, 233, 234, 426, - 0, 260, 443, 444, 0, 80, 0, 253, 0, 255, - 0, 251, 423, 0, 250, 606, 604, 605, 333, 0, - 338, 0, 0, 343, 231, 560, 342, 263, 0, 626, - 622, 0, 0, 0, 39, 38, 81, 98, 0, 0, - 611, 612, 364, 312, 0, 0, 0, 678, 682, 679, - 681, 677, 680, 0, 0, 664, 0, 0, 648, 175, - 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 179, 186, 0, - 194, 195, 196, 199, 198, 201, 202, 206, 207, 0, - 204, 205, 211, 210, 213, 215, 217, 0, 0, 0, - 229, 0, 0, 639, 20, 16, 566, 0, 567, 565, - 0, 293, 294, 0, 0, 0, 0, 0, 459, 457, - 0, 361, 347, 0, 357, 348, 0, 466, 550, 389, - 391, 305, 0, 181, 182, 184, 279, 554, 551, 552, - 123, 121, 125, 96, 0, 0, 115, 0, 0, 0, - 0, 232, 371, 370, 369, 368, 373, 382, 308, 0, - 395, 0, 0, 602, 601, 0, 0, 0, 239, 0, - 236, 0, 0, 0, 0, 0, 429, 232, 0, 0, - 0, 607, 264, 442, 0, 252, 254, 422, 424, 420, - 547, 337, 336, 0, 262, 0, 275, 273, 643, 272, - 0, 0, 0, 0, 55, 0, 58, 59, 49, 48, - 0, 0, 0, 0, 40, 41, 611, 0, 584, 232, - 0, 232, 316, 0, 0, 646, 676, 668, 0, 0, - 0, 673, 645, 141, 0, 0, 156, 157, 0, 160, - 0, 153, 0, 0, 145, 172, 171, 150, 134, 0, - 136, 0, 140, 169, 168, 167, 166, 165, 163, 162, - 164, 0, 0, 0, 137, 138, 139, 142, 143, 0, - 151, 152, 187, 0, 220, 223, 0, 641, 619, 640, - 0, 0, 568, 283, 292, 0, 0, 0, 528, 526, - 524, 521, 530, 518, 519, 517, 523, 0, 18, 14, - 466, 359, 0, 355, 287, 0, 462, 465, 472, 464, - 470, 613, 549, 0, 0, 0, 110, 108, 109, 112, - 114, 113, 103, 0, 105, 0, 0, 117, 118, 116, - 91, 381, 377, 375, 379, 0, 0, 485, 472, 401, - 0, 0, 594, 318, 0, 242, 241, 232, 238, 0, - 235, 0, 0, 243, 0, 0, 0, 610, 608, 609, - 258, 257, 0, 561, 0, 0, 0, 46, 43, 44, - 59, 53, 56, 52, 50, 45, 35, 42, 0, 591, - 590, 586, 581, 0, 0, 315, 0, 636, 631, 0, - 0, 232, 652, 675, 674, 0, 0, 0, 155, 0, - 0, 0, 0, 0, 174, 0, 0, 208, 226, 0, - 0, 21, 0, 0, 17, 538, 537, 291, 534, 534, - 0, 520, 0, 534, 301, 0, 0, 458, 0, 614, - 0, 468, 0, 0, 414, 304, 183, 553, 0, 104, - 0, 107, 88, 0, 383, 486, 617, 404, 0, 596, - 595, 267, 0, 232, 244, 245, 433, 432, 0, 425, - 623, 274, 47, 57, 63, 62, 61, 60, 63, 322, - 0, 0, 0, 587, 0, 0, 0, 0, 667, 669, - 0, 662, 161, 132, 158, 154, 148, 0, 133, 135, - 146, 0, 159, 144, 0, 29, 32, 0, 30, 23, - 26, 0, 24, 540, 529, 532, 0, 527, 525, 522, - 531, 19, 15, 362, 0, 0, 467, 0, 0, 485, - 485, 485, 473, 472, 418, 0, 0, 0, 0, 106, - 0, 0, 597, 351, 405, 406, 396, 471, 0, 0, - 0, 0, 0, 65, 65, 232, 582, 589, 585, 588, - 269, 365, 0, 0, 0, 0, 0, 0, 0, 227, - 0, 0, 0, 0, 0, 0, 0, 539, 534, 535, - 0, 511, 505, 507, 509, 485, 503, 0, 493, 491, - 485, 489, 0, 488, 0, 0, 502, 496, 498, 500, - 485, 494, 480, 481, 482, 469, 417, 415, 416, 111, - 599, 598, 407, 240, 0, 259, 0, 64, 73, 51, - 0, 0, 637, 632, 0, 663, 0, 149, 147, 33, - 28, 31, 27, 22, 25, 541, 533, 0, 475, 0, - 0, 0, 0, 474, 479, 0, 0, 478, 484, 485, - 477, 0, 0, 0, 0, 476, 397, 0, 0, 670, - 237, 624, 0, 0, 66, 67, 68, 69, 54, 0, - 583, 666, 653, 536, 514, 513, 515, 506, 512, 508, - 510, 504, 492, 490, 483, 497, 499, 501, 495, 672, - 671, 0, 74, 0, 0, 72, 323, 0, 516, 0, - 76, 71, 70, 654, 0, 0, 75, 232, 625, 77, - 0, 0, 78, 0, 180, 656, 0, 232, 79, 0, - 0, 0, 0, 0, 659, 658, 661, 660 + 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 183, 190, 0, 198, 199, 200, 203, + 202, 205, 206, 210, 211, 0, 208, 209, 215, 214, + 217, 219, 221, 0, 0, 0, 233, 0, 0, 645, + 20, 16, 572, 0, 573, 571, 0, 297, 298, 0, + 0, 0, 0, 0, 465, 463, 0, 367, 351, 0, + 363, 352, 0, 472, 556, 395, 397, 283, 560, 557, + 558, 127, 125, 129, 98, 0, 0, 119, 0, 0, + 0, 0, 236, 377, 376, 375, 374, 379, 388, 312, + 0, 401, 0, 0, 608, 607, 0, 0, 0, 243, + 0, 240, 0, 0, 0, 0, 0, 435, 236, 0, + 0, 0, 613, 268, 448, 0, 256, 258, 428, 430, + 426, 553, 341, 340, 0, 266, 0, 279, 277, 649, + 276, 0, 0, 0, 0, 55, 0, 58, 59, 49, + 48, 0, 0, 0, 0, 40, 41, 0, 424, 0, + 0, 0, 187, 617, 0, 590, 236, 0, 236, 320, + 0, 0, 652, 682, 674, 0, 0, 0, 679, 651, + 145, 0, 0, 160, 161, 0, 164, 0, 157, 0, + 0, 149, 176, 175, 154, 138, 0, 140, 0, 144, + 173, 172, 171, 170, 169, 167, 166, 168, 0, 0, + 0, 141, 142, 143, 146, 147, 0, 155, 156, 191, + 0, 224, 227, 0, 647, 625, 646, 0, 0, 574, + 287, 296, 0, 0, 0, 534, 532, 530, 527, 536, + 524, 525, 523, 529, 0, 18, 14, 472, 365, 0, + 361, 291, 0, 468, 471, 478, 470, 476, 619, 555, + 0, 114, 112, 113, 116, 118, 117, 107, 0, 109, + 0, 0, 121, 122, 120, 93, 387, 383, 381, 385, + 0, 0, 491, 478, 407, 0, 0, 600, 322, 0, + 246, 245, 236, 242, 0, 239, 0, 0, 247, 0, + 0, 0, 616, 614, 615, 262, 261, 0, 567, 0, + 0, 0, 46, 43, 44, 59, 53, 56, 52, 50, + 45, 35, 42, 307, 423, 421, 422, 0, 597, 596, + 592, 587, 0, 0, 319, 0, 642, 637, 0, 0, + 236, 658, 681, 680, 0, 0, 0, 159, 0, 0, + 0, 0, 0, 178, 0, 0, 212, 230, 0, 0, + 21, 0, 0, 17, 544, 543, 295, 540, 540, 0, + 526, 0, 540, 305, 0, 0, 464, 0, 620, 0, + 474, 559, 0, 108, 0, 111, 90, 0, 389, 492, + 623, 410, 0, 602, 601, 271, 0, 236, 248, 249, + 439, 438, 0, 431, 629, 278, 47, 57, 63, 62, + 61, 60, 63, 326, 0, 0, 0, 593, 0, 0, + 0, 0, 673, 675, 0, 668, 165, 136, 162, 158, + 152, 0, 137, 139, 150, 0, 163, 148, 0, 29, + 0, 30, 32, 23, 26, 0, 24, 546, 535, 538, + 0, 533, 531, 528, 537, 19, 15, 368, 0, 0, + 473, 0, 0, 491, 491, 491, 479, 478, 0, 110, + 0, 0, 603, 355, 411, 412, 402, 477, 0, 0, + 0, 0, 0, 65, 65, 236, 588, 595, 591, 594, + 273, 371, 0, 0, 0, 0, 0, 0, 0, 231, + 0, 0, 0, 0, 0, 0, 0, 545, 540, 541, + 0, 517, 511, 513, 515, 491, 509, 0, 499, 497, + 491, 495, 0, 494, 0, 0, 508, 502, 504, 506, + 491, 500, 486, 487, 488, 475, 115, 605, 604, 413, + 244, 0, 263, 0, 64, 73, 51, 0, 0, 643, + 638, 0, 669, 0, 153, 151, 28, 31, 33, 27, + 22, 25, 547, 539, 0, 481, 0, 0, 0, 0, + 480, 485, 0, 0, 484, 490, 491, 483, 0, 0, + 0, 0, 482, 403, 0, 0, 676, 241, 630, 0, + 0, 66, 67, 68, 69, 54, 0, 589, 672, 659, + 542, 520, 519, 521, 512, 518, 514, 516, 510, 498, + 496, 489, 503, 505, 507, 501, 678, 677, 0, 74, + 0, 0, 72, 327, 0, 522, 0, 76, 71, 70, + 660, 0, 0, 75, 236, 631, 80, 77, 0, 80, + 184, 0, 184, 81, 662, 0, 78, 236, 81, 0, + 79, 0, 0, 0, 0, 665, 664, 667, 666 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -965, -965, -5, -965, -965, -965, -965, -965, -965, -965, - -965, -111, -965, -249, -965, -108, -965, -244, -965, -965, - -965, -965, -965, -965, 105, -965, -965, -50, -965, -146, - -221, -965, -965, -965, -965, -965, -965, -965, -965, -319, - -288, -965, 792, -965, -965, -965, -965, -965, -965, 608, - -965, 553, -13, 383, -965, -115, 3, -965, -965, -965, - -965, -965, -965, -965, -593, -965, 16, -965, 199, -97, - 123, -363, 201, 474, 479, 482, 241, 242, -965, -965, - -965, -388, -965, -965, 238, 535, -70, -965, -965, -965, - 868, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -218, -529, -965, -965, -965, -965, -965, - 393, -965, -965, -965, -965, -965, -965, 862, -965, -965, - 865, -965, 770, -965, -965, -965, -965, -965, -965, -965, - -965, -252, 813, -965, -965, -259, 364, -965, -965, -965, - -965, -965, -965, -965, -965, 716, -965, -965, -71, -965, - -965, -965, -965, -40, -965, -965, -965, -965, -965, 56, - -965, -965, -965, -965, -479, -165, 59, -965, -743, -965, - -965, -277, -965, -965, -281, -965, -965, -965, -965, -266, - -965, -965, -965, -508, -965, -965, -965, -965, -965, -965, - -965, -514, -200, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, -965, 245, -965, 371, 66, -965, - -965, 220, -965, 176, -271, 509, 444, -965, 384, -965, - -965, -965, -965, -965, -965, -95, -965, -965, -965, -964, - 31, -965, -965, -298, -965, 650, -965, -965, -965, -965, - -965, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -537, -619, -965, 14, -965, -965, -965, - 601, -965, -965, -965, -965, -965, -965, -965, -965, -965, - -965, -965, -965, -965, -965, -234, -156, 163 + -926, -926, -5, -926, -926, -926, -926, -926, -926, -926, + -926, -112, -926, -241, -926, -109, -926, -233, -926, -926, + -926, -926, -926, -926, 111, -926, -926, -46, -926, -140, + -211, -926, -926, -926, -926, -926, -926, -926, -365, -373, + -319, -294, -926, 810, -926, -926, -926, -926, -926, -926, + 628, -926, 572, -63, 1, 396, -926, -101, 14, -926, + -926, -926, -926, -926, -926, -926, -306, -926, 324, -926, + 187, -102, 20, -374, 170, 488, 489, 494, 247, 249, + -926, -926, -926, -402, -926, -926, 238, 429, -73, -926, + -926, -926, 885, -926, -926, -926, -926, -926, -926, -926, + -926, -926, -926, -926, -926, -926, -926, -926, -926, -926, + -926, -926, -926, -926, -926, -926, -926, 785, 149, -926, + -926, -926, -926, -926, -926, -926, -235, -538, -926, -926, + -926, -926, -926, 407, -926, -926, -926, -926, -926, -926, + 889, -926, -926, 890, -926, 784, -926, -926, -926, -926, + -926, -926, -926, -926, -232, 836, -926, -926, -266, 378, + -926, -926, -926, -926, -926, -926, -926, -926, 728, -926, + -926, -69, -926, -926, -926, -926, -36, -926, -926, -926, + -926, -926, 69, -926, -926, -926, -926, -480, -156, 58, + -926, -679, -926, -926, -261, -926, -926, -267, -926, -926, + -926, -926, -254, -926, -926, -926, -497, -926, -926, -926, + -926, -926, -926, -926, -622, -191, -926, -926, -926, -926, + -926, -926, -926, -926, -926, -926, -926, -926, 251, -926, + 380, 60, -926, -926, 193, -926, 188, -275, 530, 454, + -926, 388, -926, -926, -926, -926, -926, -926, -95, -926, + -926, -926, -925, 41, -926, -926, -310, -926, 668, -926, + -926, -926, -926, -926, -926, -926, -926, -926, -926, -926, + -926, -926, -926, -926, -926, -926, -555, -632, -926, 25, + -926, -926, -926, 603, -926, -926, -926, -926, -926, -926, + -926, -926, -926, -926, -926, -926, -926, -926, -213, -139, + 167 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 59, 2, 4, 60, 61, 956, 811, 955, - 810, 944, 1031, 1032, 1093, 941, 1027, 1028, 1090, 62, - 303, 544, 743, 744, 745, 998, 994, 902, 997, 1073, - 1138, 1184, 1185, 1186, 1187, 1188, 1220, 1226, 1234, 514, - 835, 63, 245, 64, 471, 65, 473, 66, 67, 467, - 104, 105, 187, 675, 853, 854, 855, 860, 243, 465, - 464, 466, 161, 597, 662, 663, 664, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 627, 173, - 628, 174, 629, 1024, 293, 546, 468, 507, 879, 877, - 508, 516, 988, 298, 501, 309, 543, 895, 189, 236, - 200, 640, 223, 656, 644, 645, 447, 254, 109, 550, - 259, 548, 1075, 290, 251, 681, 221, 653, 432, 219, - 650, 429, 832, 484, 553, 751, 69, 480, 685, 481, - 482, 679, 678, 680, 677, 866, 483, 70, 444, 445, - 71, 230, 72, 258, 868, 1132, 493, 494, 73, 228, - 1066, 314, 315, 74, 965, 274, 275, 522, 717, 892, - 75, 706, 509, 76, 707, 332, 77, 333, 267, 78, - 79, 80, 81, 82, 83, 425, 830, 229, 657, 836, - 837, 838, 839, 1053, 440, 977, 978, 1052, 976, 1114, - 1110, 1111, 1165, 1120, 1121, 1171, 1172, 1173, 1105, 1106, - 1159, 1160, 1161, 1197, 1198, 827, 952, 950, 949, 948, - 953, 1034, 1035, 1036, 1157, 817, 1033, 1097, 84, 237, - 85, 86, 529, 87, 658, 461, 462, 668, 669, 88, - 89, 295, 723, 296, 291, 283, 407, 639, 459, 460, - 749, 1000, 1141, 913, 1002, 1003, 911, 90, 873, 1063, - 500, 280, 712, 313, 840, 841, 689, 91, 398, 92, - 300, 725, 1071, 1211, 93, 94, 115, 556, 1007, 95, - 113, 555, 1006, 632, 633, 96, 729, 97, 117, 323, - 324, 325, 566, 1011, 1217, 1227, 1233, 1237, 1240, 1245, - 1086, 326, 757, 1084, 921, 1180, 762, 563 + -1, 1, 60, 2, 4, 61, 62, 975, 828, 974, + 827, 963, 1045, 1046, 1103, 960, 1040, 1041, 1102, 63, + 308, 553, 754, 755, 756, 1012, 1008, 917, 1011, 1083, + 1145, 1191, 1192, 1193, 1194, 1195, 1227, 1233, 1240, 1246, + 523, 852, 64, 250, 65, 480, 66, 482, 67, 68, + 476, 106, 107, 108, 193, 686, 868, 869, 870, 875, + 248, 474, 473, 475, 167, 613, 314, 315, 316, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 643, 179, 644, 180, 645, 1038, 298, 555, 477, 516, + 894, 892, 517, 525, 1002, 303, 510, 320, 552, 910, + 195, 241, 206, 656, 229, 672, 660, 661, 259, 115, + 566, 264, 564, 1085, 295, 256, 692, 111, 561, 227, + 669, 443, 225, 666, 440, 849, 493, 569, 768, 70, + 489, 696, 490, 491, 690, 689, 691, 688, 881, 492, + 71, 455, 456, 72, 236, 73, 263, 883, 1139, 502, + 503, 74, 234, 1076, 325, 326, 75, 562, 279, 280, + 531, 728, 907, 76, 717, 518, 77, 718, 343, 78, + 344, 272, 79, 80, 81, 82, 83, 84, 436, 847, + 235, 673, 853, 854, 855, 856, 1067, 451, 991, 992, + 1066, 990, 1124, 1120, 1121, 1172, 1130, 1131, 1178, 1179, + 1180, 1115, 1116, 1166, 1167, 1168, 1204, 1205, 844, 971, + 969, 968, 967, 972, 1048, 1049, 1050, 1164, 834, 1047, + 1107, 85, 242, 86, 87, 538, 88, 674, 470, 471, + 679, 680, 89, 90, 300, 734, 301, 296, 288, 418, + 655, 468, 469, 766, 1014, 1148, 932, 1016, 1017, 930, + 91, 888, 1073, 509, 285, 723, 324, 857, 858, 700, + 92, 409, 93, 305, 736, 1081, 1218, 94, 95, 121, + 572, 1021, 96, 119, 571, 1020, 648, 649, 97, 740, + 98, 123, 334, 335, 336, 582, 1025, 1224, 1234, 1241, + 1247, 1251, 1256, 1096, 337, 774, 1094, 940, 1187, 779, + 579 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1491,1369 +1499,1412 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 98, 216, 565, 101, 792, 630, 262, 263, 269, 271, - 518, 746, 520, 809, 690, 545, 554, 617, 618, 619, - 620, 621, 188, 1100, 536, 752, 194, 195, 197, 199, - 201, 541, 205, 206, 345, 207, 487, 497, 489, 538, - 1080, 1081, 770, 238, 227, 1078, 581, 909, 391, 939, - 1115, 942, 116, 276, 224, 264, 312, 239, 242, 708, - 368, 369, 370, 592, 870, 252, 962, 256, 1060, 759, - 1177, 1194, 281, 1055, 637, 846, 847, 99, 279, 282, - 202, 282, 282, 289, 393, 203, -644, 815, 848, 265, - 321, 512, 393, 1229, 302, 709, 268, 304, 849, 306, - 1195, 307, 760, 498, 1178, 1242, 334, 316, 3, 318, - 410, 710, 593, 594, 1101, 343, 567, -402, 260, 225, - 1061, 270, 1056, 385, 376, 377, 1102, 809, 1103, 816, - 265, 321, -268, 176, 178, 58, 1107, 871, 240, 196, - 182, 393, 184, 186, 231, 247, 1108, 249, 272, 963, - 1230, 1101, 297, 1064, 424, 265, 588, 590, 58, -2, - 1109, 305, 850, 1102, 234, 1103, 1065, 261, 392, 58, - 1104, 395, 396, 397, 58, 1001, 631, 401, 1116, 402, - 393, 277, 404, 513, 241, -460, 851, 582, 412, 496, - 1117, 413, 1118, 414, 278, 226, -442, 416, 58, 192, - 393, -644, 411, 393, 595, 322, 1196, 1104, 204, 765, - -271, 393, 426, 542, 1057, 393, 58, 433, 100, 435, - 393, 915, 58, 771, 772, 1216, 441, 583, 443, 940, - 386, 943, 58, 463, 1119, 266, 393, -442, 58, 852, - 233, 806, 470, 58, 472, 58, 322, 58, 58, 58, - 488, 58, 750, 58, 1243, 499, 175, 714, 768, 511, - 721, 722, -442, 517, 1108, 519, 191, 521, 193, 524, - 688, 525, 526, 527, 177, 179, 528, 106, 1109, 613, - 614, 183, 530, 185, 58, 232, 248, 533, 250, 273, - 289, -278, 537, -261, 539, -456, 763, 589, 591, -278, - -278, 393, 730, 731, 732, 491, 1122, 1123, 1124, 682, - -278, 102, 393, 393, 393, 107, 778, 779, -278, -278, - 793, 393, 485, 234, 696, 217, 698, 780, 781, 393, - 683, 474, 799, 393, 733, 393, 766, 475, 476, 477, - 393, 393, 700, 378, 379, 734, 735, 736, 737, 738, - 739, -367, 1016, 1017, -367, 478, 479, -367, -367, -367, - 218, 961, 1163, 393, 393, 220, 393, 1167, 393, 393, - 393, 393, 803, 969, 970, -367, -367, 1175, 380, 381, - 857, 858, 393, 382, 409, -278, -278, -278, 740, 373, - 374, 375, 608, 697, 492, 699, 609, 1182, 244, 103, - 636, 638, 327, -278, -278, -313, 54, 702, 1020, 1021, - 703, 701, 641, 642, 486, 393, 901, 767, 108, -387, - 235, 903, 904, 331, 652, 1183, 1204, 655, 769, 782, - 794, 695, 741, 742, 253, 1037, 58, 795, 859, 1040, - 937, 661, 897, 898, 899, 796, 310, 180, 908, 797, - 181, 798, 846, 847, 905, 422, 1012, 1013, 423, 670, - 671, 672, 704, 809, 809, 848, 216, 1091, 1092, 1082, - 1083, 378, 379, 284, 208, 849, 684, 209, 210, 1014, - 1018, 393, 1019, 987, 1022, 1023, 1147, 1148, 383, 384, - 211, 417, 693, 694, 1094, 1095, 209, 210, 448, 212, - 213, 615, 616, 418, 515, 711, 449, 450, 531, 211, - 532, 1116, 308, 715, 58, 716, 312, 523, 320, 213, - 335, 448, 372, 1117, 336, 1118, 289, 289, 58, 449, - 450, 535, 58, 724, 419, 631, 726, 337, 728, 850, - 451, 995, 420, 58, 996, 474, 1162, 338, 452, 453, - 551, 475, 476, 477, 58, 214, 339, 1166, 755, 515, - 983, 340, 761, 851, 44, 45, 46, 1119, 58, 478, - 479, 1174, 610, 611, 612, 571, 341, 573, 574, 575, - 576, 387, 577, 44, 45, 46, 622, 623, 215, 585, - 586, 587, 454, 455, 456, 285, 286, 598, 599, 600, - 601, 602, 603, 604, 327, 342, 344, 215, 346, 347, - 348, 865, 349, 390, 350, 454, 455, 456, 328, 329, - 330, 388, 351, 352, 294, 331, 353, 808, 354, 355, - 356, 301, 812, 457, 458, 813, 1089, 886, 814, 818, - 819, 1236, 890, 357, 820, 821, 358, 359, 317, 1058, - 319, 834, 1199, 1200, 1044, 1045, 360, 1202, 1046, 389, - 1047, 361, 362, 1205, 1206, 1207, 651, 822, 363, 654, - 364, 365, 366, 367, 1044, 1045, 399, 400, 1067, 914, - 1047, 916, 1048, 403, 408, 421, 427, 872, 428, 430, - 431, 875, 876, 437, 878, 371, 880, 436, 438, 883, - 439, 442, 1048, 887, 888, 889, -390, 490, 273, 891, - 1049, 103, 823, 824, 825, 549, 569, 557, 558, 552, - 559, 570, 607, 634, 406, 631, 826, 1050, 1051, 1070, - 1049, 635, 646, 647, 648, 415, 560, 649, 906, 659, - 660, 674, 910, 687, 705, 713, 393, 1050, 1051, 727, - 561, 753, 756, 1137, 923, 924, 754, 562, 434, 758, - 764, 773, 774, 802, 775, 776, 1145, 777, 783, 784, - 785, 1149, 786, 787, 1152, 788, 789, 807, 790, 828, - 791, 800, 801, 829, 831, 843, 856, 844, 845, 869, - 881, 882, 265, 894, 900, 1169, 912, 920, 922, 928, - 934, 929, 951, 958, 938, 959, 971, 982, 968, 986, - 992, 999, 947, 1001, 1009, 1015, 1026, 1030, 1072, 1085, - 1144, 1096, 954, 294, 1146, 294, 1098, 1192, 534, 1129, - 1183, 1136, 1190, 1193, 1218, 540, 1219, 1223, 964, 1224, - 1225, 1232, 1235, 1238, 1241, 1042, 1154, 1041, 1151, 907, - 993, 1010, 1074, 1139, 469, 1059, 676, 246, 547, 972, - 966, 624, 975, 1212, 1215, 979, 980, 625, 804, 499, - 805, 626, 68, 572, 686, 110, 984, 985, 111, 311, - 1176, 578, 579, 580, 255, 584, 957, 719, 1125, 1203, - 728, 394, 596, 1208, 1221, 1222, 1201, 960, 1156, 893, - 720, 605, 606, 842, 666, 981, 718, 1079, 495, 991, - 1191, 967, 1133, 1069, 1008, 861, 862, 863, 864, 919, - 0, 0, 0, 0, 568, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1025, 0, 0, 1029, 0, 0, - 0, 0, 0, 885, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 643, 0, 0, 1054, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1062, 0, - 0, 0, 0, 515, 0, 0, 0, 0, 515, 515, - 0, 0, 665, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 406, 0, 667, 0, 1062, - 1062, 0, 925, 926, 0, 1140, 927, 0, 0, 0, - 0, 930, 0, 0, 0, 0, 0, 931, 0, 932, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, - 0, 935, 0, 0, 0, 0, 0, 936, 0, 0, - 0, 0, 0, 0, 975, 975, 975, 0, 0, 0, - 1126, 1127, 1128, 945, 946, 1130, 1131, 0, 0, 0, - 0, 0, 0, 761, 667, 1135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1142, 1143, 0, - 0, 0, 0, 0, 748, 0, 1150, 0, 0, 1153, - 0, 0, 0, 0, 0, 1158, 0, 0, 0, 0, - 975, 0, 1164, 0, 974, 975, 0, 1168, 0, 0, - 1170, 0, 0, 0, 0, 975, 0, 515, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1179, - 0, 0, 665, 0, 0, 0, 0, 0, 0, 1179, + 99, 247, 646, 102, 267, 268, 222, 557, 527, 763, + 529, 274, 276, 581, 554, 570, 826, 633, 634, 635, + 636, 637, 701, 194, 496, 545, 498, 200, 201, 203, + 205, 207, 769, 211, 212, 356, 213, 547, 787, 1110, + 122, 958, 928, 1125, 1117, 961, 1088, 550, 103, 404, + 269, 597, 332, 230, 233, 719, 243, 506, 100, 246, + 281, 379, 380, 381, 558, 885, 257, 608, 261, 182, + 244, 776, 1070, 286, 1184, -650, 103, 273, 653, 284, + 287, 1201, 287, 287, 294, 270, 208, 402, 103, 707, + 404, 209, 720, 1090, 1091, 307, 323, 275, 404, 309, + 1253, 311, 872, 873, 312, 777, 759, 318, 721, 1185, + 1236, 1202, 270, 327, 265, 329, 421, 609, 610, 231, + 202, 184, 104, 1189, 507, 1071, 345, 3, -408, 404, + 1118, 826, 270, 188, 709, 354, 1074, 190, 59, 886, + 237, 252, 254, 711, 1119, 192, 277, 302, 559, 1075, + 59, 1190, 245, 404, 435, 420, 760, 404, 624, 708, + 874, 604, 625, 606, 266, 795, 796, 333, 1111, 59, + 105, 186, 1126, 1118, 187, 1237, 1015, 406, 407, 408, + 1112, 404, 1113, 412, 1127, 413, 1128, 1119, 415, 282, + -650, 505, -448, 598, 423, 232, -466, 424, 105, 425, + 101, 404, 283, 427, 710, 404, 780, 403, 422, 611, + 105, 183, 59, 712, 404, 210, 647, 1203, 437, -448, + 788, 789, 959, 444, 1114, 446, 962, -275, 1129, 934, + 551, 271, 452, 599, 454, 59, 59, 59, 472, -448, + 59, 239, 404, 823, 59, 59, 782, 479, 761, 481, + 1254, 59, 59, 59, 59, 497, 767, 181, 59, 725, + 508, 112, 699, 185, 520, 732, 733, 197, 526, 199, + 528, 1223, 530, 783, 533, 189, 534, 535, 536, 191, + 59, 537, 238, 253, 255, 629, 630, 539, 278, -265, + 861, 862, 542, -282, 583, 294, -462, 546, 785, 548, + 113, -282, -282, 605, 863, 607, 404, 809, 396, 560, + 332, 404, -282, 404, 864, 404, 494, 797, 798, 820, + -282, -282, 810, 404, 404, 240, 741, 742, 743, 404, + 1030, 1031, 338, -2, 404, 693, -373, 832, 404, -373, + 404, 224, -373, -373, -373, 404, 1051, 404, 389, 390, + 1054, 404, 521, 342, 198, 404, 694, 483, 784, 744, + -373, -373, 404, 484, 485, 486, 404, 404, 404, 223, + 745, 746, 747, 748, 749, 750, 226, 980, 865, 833, + 59, 487, 488, 310, 1132, 1133, 1134, -282, -282, -282, + -317, 55, 433, 249, -272, 434, 391, 392, 500, 387, + 388, 393, 866, 114, 59, -282, -282, 532, 495, 631, + 632, 652, 654, 751, 404, 397, 1001, 713, 389, 390, + 714, -393, 786, 657, 658, 333, 240, 916, 816, 799, + 258, 811, 918, 919, 457, 668, 1170, 706, 671, 812, + 813, 1174, 458, 459, 522, 814, 956, 912, 913, 914, + 815, 1182, 428, 927, 1026, 867, 1027, 752, 753, 920, + 826, 826, 59, 1028, 429, 1092, 1093, 1032, 681, 682, + 683, 1033, 214, 715, 59, 215, 216, 544, 1036, 222, + 861, 862, 1037, 1154, 1155, 695, 540, 501, 541, 217, + 59, 215, 216, 647, 863, 430, 1111, 1211, 218, 219, + 289, 704, 705, 431, 864, 217, 394, 395, 1112, 524, + 1113, 983, 984, 1126, 722, 219, 319, 1009, 59, 299, + 1010, 1169, 726, 321, 727, 1127, 306, 1128, 463, 464, + 465, 483, 384, 385, 386, 294, 294, 484, 485, 486, + 317, 323, 735, 573, 574, 737, 575, 739, 328, 331, + 330, 346, 1114, 758, 220, 487, 488, 59, 1034, 1035, + 1173, 567, 576, 45, 46, 47, 638, 639, 865, 1129, + 524, 626, 627, 628, 772, 997, 577, 347, 778, 45, + 46, 47, 59, 578, 383, 1181, 587, 221, 589, 590, + 591, 592, 866, 593, 348, 382, 1100, 1101, 835, 836, + 601, 602, 603, 221, 837, 838, 349, 338, 614, 615, + 616, 617, 618, 619, 620, 1104, 1105, 290, 291, 880, + 350, 339, 340, 341, 417, 351, 352, 839, 342, 353, + 355, 357, 358, 359, 360, 426, 1099, 399, 361, 400, + 362, 363, 364, 825, 401, 901, 365, 366, 829, 367, + 368, 830, 369, 370, 831, 905, 371, 372, 445, 398, + 373, 374, 375, 1068, 376, 377, 378, 851, 410, 411, + 1206, 1207, 840, 841, 842, 1209, 414, 667, 419, 432, + 670, 1212, 1213, 1214, 438, 439, 843, 441, 442, 447, + 1058, 1059, 448, 933, 1060, 935, 449, 1061, 887, 450, + 453, -396, 890, 891, 457, 893, 499, 895, 278, 565, + 898, 563, 458, 459, 902, 903, 904, 568, 585, 1062, + 906, 586, 299, 460, 299, 623, 650, 543, 647, 651, + 662, 461, 462, 663, 549, 664, 1080, 1058, 1059, 665, + 675, 1077, 317, 676, 1061, 685, 698, 1063, 404, 921, + 716, 724, 560, 738, 924, 925, 926, 757, 773, 929, + 770, 771, 775, 1144, 1064, 1065, 1062, 819, 781, 790, + 791, 942, 943, 792, 793, 794, 1152, 800, 588, 808, + 801, 802, 803, 1158, 1159, 804, 594, 595, 596, 805, + 600, 806, 824, 845, 1063, 807, 817, 612, 463, 464, + 465, 818, 846, 848, 860, 1176, 621, 622, 884, 871, + 896, 1064, 1065, 897, 270, 909, 466, 467, 915, 996, + 931, 939, 941, 947, 953, 948, 970, 977, 957, 966, + 982, 985, 1000, 978, 1199, 1006, 1013, 1015, 1023, 973, + 1029, 1044, 1082, 1095, 1106, 1108, 1143, 1136, 1151, 1153, + 1190, 1197, 1200, 1225, 1226, 1230, 1231, 1232, 1248, 659, + 1239, 1244, 1252, 1056, 1161, 1055, 922, 1024, 1157, 1007, + 1219, 1222, 1084, 1146, 1242, 1250, 251, 989, 687, 478, + 993, 994, 556, 1069, 508, 986, 640, 762, 641, 69, + 821, 998, 999, 822, 642, 313, 1042, 697, 417, 322, + 678, 1228, 1229, 116, 117, 739, 923, 1183, 260, 405, + 730, 1135, 1210, 979, 1215, 1208, 976, 1163, 731, 729, + 981, 1089, 908, 677, 1079, 859, 876, 877, 878, 879, + 995, 504, 702, 1022, 1243, 1005, 1245, 584, 1198, 1140, + 938, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1039, 900, 0, 1043, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1231, 0, 0, - 0, 0, 0, 0, 975, 0, 0, 1239, 0, 0, - 0, 0, 1209, 1210, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1062, 0, 0, 0, 833, 0, - 1039, 0, 0, 0, 0, 0, 1043, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 515, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, - 0, 0, 0, 0, 867, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1244, 1246, 1247, 0, + 0, 0, 1072, 0, 524, 0, 0, 0, 0, 524, + 524, 0, 317, 0, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1087, 0, 0, 294, 1088, + 0, 0, 1147, 1072, 1072, 0, 0, 0, 0, 944, + 945, 0, 0, 946, 0, 0, 0, 0, 949, 0, + 0, 0, 0, 0, 950, 0, 951, 0, 1042, 0, + 0, 0, 317, 0, 0, 0, 0, 0, 954, 0, + 0, 0, 0, 0, 955, 0, 0, 0, 989, 989, + 989, 0, 0, 0, 0, 1137, 1138, 0, 0, 0, + 964, 965, 0, 778, 0, 1142, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1149, 1150, 0, + 0, 0, 0, 0, 0, 1156, 0, 0, 850, 1160, + 0, 0, 0, 0, 0, 1165, 0, 0, 0, 0, + 989, 0, 1171, 0, 0, 989, 0, 1175, 0, 988, + 1177, 0, 0, 0, 0, 989, 0, 0, 0, 882, + 0, 0, 524, 0, 0, 0, 1186, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1099, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 917, 918, + 0, 1238, 0, 299, 0, 0, 0, 0, 0, 0, + 0, 989, 0, 0, 1249, 0, 0, 0, 0, 1216, + 1217, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1072, 0, 0, 0, 0, 0, 0, 0, 936, + 937, 0, 0, 0, 0, 0, 0, 0, 0, 1053, + 0, 0, 0, 0, 0, 1057, 0, 0, 0, 0, + 524, 0, 0, 0, 0, 0, 1235, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 952, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1255, 1257, 1258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1097, + 0, 0, 0, 1098, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1109, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 515, 0, 0, 933, 0, 515, 0, - 0, 515, 0, 0, 1155, 0, 0, 0, 0, 0, - 0, 287, 0, 0, 0, 0, 0, -335, -335, 0, - 0, 0, 515, 0, -335, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -335, -335, 0, 0, -335, -335, - 0, 0, -335, -335, 0, 0, -335, 0, 0, 665, - 667, 0, 0, 0, 515, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -335, -335, 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 515, 515, 0, 0, 0, 0, 0, 989, 0, 990, + 524, 292, 0, 0, 0, 0, 0, -339, -339, 0, + 0, 0, 0, 524, -339, 0, 1003, 0, 1004, 0, + 524, 524, 0, 0, 1162, -339, -339, 0, 0, -339, + -339, 0, 0, -339, -339, 0, 0, -339, 0, 0, + 0, 0, 524, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -339, -339, 0, 0, + -339, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 524, 0, 0, 0, 0, 0, 0, 1052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -335, 0, 0, 0, 0, 0, - 0, 515, 515, -335, 0, -335, -335, -335, -335, -335, - -335, -335, 0, 0, -335, 0, 0, 0, -335, 0, - 0, 0, -335, 0, 0, 0, 0, 0, 0, 0, - 0, -335, -335, -335, -335, 1038, 0, 0, 0, 0, - 0, -335, 0, -335, -335, -335, 0, -335, -335, -335, - -335, -335, 446, 0, 0, 0, 0, 0, -303, -303, - 0, 0, -335, 0, 0, -303, 0, -335, -335, 0, - 58, -335, 0, 288, 0, -303, -303, 0, 0, -303, - -303, 0, 0, -303, -303, 1076, 1077, -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -303, -303, 0, 0, - -303, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 257, 0, 0, 0, 0, 0, -394, -394, - 0, 0, 0, 0, 0, -394, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -394, -394, 0, 0, -394, - -394, 0, 0, -394, -394, -303, 0, -394, 0, 0, - 0, 0, -394, 0, -303, 0, -303, -303, -303, -303, - -303, -303, -303, 0, 0, -303, -394, -394, 0, -303, - -394, 0, 0, -303, 0, 0, 0, 0, 0, 0, - 0, 0, -303, -303, -303, -303, 0, 0, 0, 0, - 0, 0, -303, 0, -303, -303, -303, 0, -303, -303, - -303, -303, -303, 0, 0, 0, 0, 0, 0, 0, - 0, 1181, 0, -303, 0, -394, 0, 0, -303, -303, - 0, 0, -303, -303, -394, 0, -394, -394, -394, -394, - -394, -394, -394, 0, 0, -394, 0, 0, 0, -394, - 0, -394, 0, -394, 0, 0, 0, 0, 0, 0, - 198, 0, -394, -394, -394, -394, -281, -281, 0, 0, - 0, 0, -394, -281, -394, -394, -394, 0, -394, -394, - -394, -394, -394, -281, -281, 0, 0, -281, -281, 0, - 0, -281, -281, -394, 0, -281, 0, 0, -394, -394, - 0, 0, -394, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -281, -281, 0, 0, -281, 665, + 0, 0, 0, 0, 0, -339, 0, 524, 524, 0, + 0, 0, 0, 0, -339, 0, -339, -339, -339, -339, + -339, -339, -339, 1086, 1087, -339, 0, 0, 0, -339, + 0, 0, 0, -339, 0, 0, 0, 0, 524, 524, + 0, 0, -339, -339, -339, -339, 0, 0, 0, 0, + 0, 0, -339, 0, -339, -339, -339, 0, -339, -339, + -339, -339, -339, 109, 0, 0, 0, 0, 0, -358, + -358, 0, 0, -339, 0, 0, -358, 0, -339, -339, + 0, 59, -339, 0, 293, 0, 0, -358, -358, 0, + 0, -358, -358, 0, 0, -358, -358, 0, 0, -358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1112, 0, 0, 0, 0, 0, -487, -487, 0, 0, - 0, 0, 0, -487, 0, 0, 1113, 0, 0, 0, - 0, 0, 0, -487, -487, 0, 0, -487, -487, 0, - 0, -487, -487, -281, 0, -487, 0, 0, 0, 0, - 0, 0, -281, 0, -281, -281, -281, -281, -281, -281, - -281, 0, 0, -281, -487, -487, 0, -281, -487, 0, - 0, -281, 0, 0, 0, 0, 0, 0, 0, 0, - -281, -281, -281, -281, 0, 0, 0, 0, 0, 0, - -281, 0, -281, -281, -281, 0, -281, -281, -281, -281, - -281, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -281, 0, -487, 0, 0, -281, -281, 0, 58, - -281, 0, -487, 0, -487, -487, -487, -487, -487, -487, - -487, 0, 0, -487, 0, 0, 0, -487, 0, 0, - 0, -487, 0, 0, 0, 0, 0, 0, 112, 0, - -487, -487, -487, -487, -634, -634, 0, 0, 0, 0, - -487, -634, -487, -487, -487, 0, -487, -487, -487, -487, - -487, -634, -634, 0, 0, -634, -634, 0, 0, -634, - -634, -487, 0, -634, 0, 0, -487, -487, 0, 0, - -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -634, -634, 0, 0, -634, 0, 0, 0, - 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, - 0, -629, -629, 0, 0, 0, 0, 0, -629, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -629, -629, - 0, 0, -629, -629, 0, 0, -629, -629, 0, 0, - -629, -634, 0, 0, 0, 0, 0, 0, 0, 0, - -634, 0, -634, -634, -634, -634, -634, -634, -634, -629, - -629, -634, 0, -629, 0, -634, 0, 0, 0, -634, - 0, 0, 0, 0, 0, 0, 0, 0, -634, -634, - -634, -634, 0, 0, 0, 0, 0, 0, -634, 0, - -634, -634, -634, 0, -634, -634, -634, -634, -634, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -629, -634, - 0, 0, 0, 0, -634, -634, 0, -629, -634, -629, - -629, -629, -629, -629, -629, -629, 0, 0, -629, 0, - 0, 0, -629, 0, 0, 0, -629, 0, 0, 0, - 0, 0, 0, 118, 0, -629, -629, -629, -629, 119, - 120, 0, 0, 0, 0, -629, 121, -629, -629, -629, - 0, -629, -629, -629, -629, -629, 122, 123, 0, 0, - 124, 125, 0, 0, 126, 127, -629, 0, 128, 0, - 0, -629, -629, 0, 0, -629, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, - 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, - 190, 0, 0, 0, 0, 0, 119, 120, 0, 0, - 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, - 0, 126, 127, 0, 0, 128, 132, 0, 0, 0, - 0, 0, 0, 0, 0, 133, 0, 134, 135, 136, - 137, 138, 139, 140, 129, 130, 141, 0, 131, 0, - 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, - 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, - 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 157, 0, 0, 0, 0, 158, - 159, 0, 133, 160, 134, 135, 136, 137, 138, 139, - 140, 0, 0, 141, 0, 0, 0, 142, 0, 0, - 0, 143, 0, 0, 0, 0, 0, 0, 222, 0, - 144, 145, 146, 147, -285, -285, 0, 0, 0, 0, - 148, -285, 149, 150, 151, 0, 152, 153, 154, 155, - 156, -285, -285, 0, 0, -285, -285, 0, 0, -285, - -285, 157, 0, -285, 0, 0, 158, 159, 0, 0, - 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -285, -285, 0, 0, -285, 0, 0, 0, - 0, 0, 0, 0, 0, 292, 0, 0, 0, 0, - 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, - 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, - 128, -285, 0, 0, 0, 0, 0, 0, 0, 0, - -285, 0, -285, -285, -285, -285, -285, -285, -285, 129, - 130, -285, 0, 131, 0, -285, 0, 0, 0, -285, - 0, 0, 0, 0, 0, 0, 0, 0, -285, -285, - -285, -285, 0, 0, 0, 0, 0, 0, -285, 0, - -285, -285, -285, 0, -285, -285, -285, -285, -285, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 132, -285, - 0, 0, 0, 0, -285, -285, 0, 133, -285, 134, - 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, - 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, - 0, 0, 0, 299, 0, 144, 145, 146, 147, -621, - -621, 0, 0, 0, 0, 148, -621, 149, 150, 151, - 0, 152, 153, 154, 155, 156, -621, -621, 0, 0, - -621, -621, 0, 0, -621, -621, 157, 0, -621, 0, - 0, 158, 159, 0, 0, 160, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -621, -621, 0, - 0, -621, 0, 0, 0, 0, 0, 0, 0, 0, - 405, 0, 0, 0, 0, 0, 119, 120, 0, 0, - 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 122, 123, 0, 0, 124, 125, 0, - 0, 126, 127, 0, 0, 128, -621, 0, 0, 0, - 0, 0, 0, 0, 0, -621, 0, -621, -621, -621, - -621, -621, -621, -621, 129, 130, -621, 0, 131, 0, - -621, 0, 0, 0, -621, 0, 0, 0, 0, 0, - 0, 0, 0, -621, -621, -621, -621, 0, 0, 0, - 0, 0, 0, -621, 0, -621, -621, -621, 0, -621, - -621, -621, -621, -621, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, -621, 0, 0, 0, 0, -621, - -621, 0, 133, -621, 134, 135, 136, 137, 138, 139, - 140, 0, 0, 141, 0, 0, 0, 142, 0, 0, - 0, 143, 0, 0, 0, 0, 0, 0, 564, 0, - 144, 145, 146, 147, 119, 120, 0, 0, 0, 0, - 148, 121, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 122, 123, 0, 0, 124, 125, 0, 0, 126, - 127, 157, 0, 128, 0, 0, 158, 159, 0, 0, - 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 129, 130, 0, 0, 131, 0, 0, 0, - 0, 0, 0, 0, 0, 747, 0, 0, 0, 0, - 0, 119, 120, 0, 0, 0, 0, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, - 0, 0, 124, 125, 0, 0, 126, 127, 0, 0, - 128, 132, 0, 0, 0, 0, 0, 0, 0, 0, - 133, 0, 134, 135, 136, 137, 138, 139, 140, 129, - 130, 141, 0, 131, 0, 142, 0, 0, 0, 143, - 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, - 146, 147, 0, 0, 0, 0, 0, 0, 148, 0, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 132, 157, - 0, 0, 0, 0, 158, 159, 0, 133, 160, 134, - 135, 136, 137, 138, 139, 140, 0, 0, 141, 0, - 0, 0, 142, 0, 0, 0, 143, 0, 0, 0, - 0, 0, 0, 884, 0, 144, 145, 146, 147, 119, - 120, 0, 0, 0, 0, 148, 121, 149, 150, 151, - 0, 152, 153, 154, 155, 156, 122, 123, 0, 0, - 124, 125, 0, 0, 126, 127, 157, 0, 128, 0, - 0, 158, 159, 0, 0, 160, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, - 0, 131, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -358, -358, + 0, 0, -358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -358, 0, 0, + 0, 0, 1188, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -358, 0, 0, + 0, 0, 0, 0, 0, 0, -358, 0, -358, -358, + -358, -358, -358, -358, -358, 0, 0, -358, 0, 0, + 0, -358, 0, 0, 0, -358, 0, 0, 0, 0, + 0, 0, 0, 0, -358, -358, -358, -358, 0, 0, + 0, 0, 0, 0, -358, 0, -358, -358, -358, 0, + -358, -358, -358, -358, -358, 0, 0, 0, 0, 0, + 0, 0, 262, 0, 0, -358, 0, 0, -400, -400, + -358, -358, 0, -358, 110, -400, 0, 0, 0, 317, + 0, 317, 0, 0, 0, 0, -400, -400, 0, 0, + -400, -400, 0, 0, -400, -400, 0, 0, -400, 0, + 0, 0, 0, -400, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -400, -400, 0, + 0, -400, 0, 0, 0, 0, 0, 0, 0, 204, + 0, 0, 0, 0, 0, -285, -285, 0, 0, 0, + 0, 0, -285, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -285, -285, 0, 0, -285, -285, 0, + 0, -285, -285, 0, 0, -285, -400, 0, 0, 0, + 0, 0, 0, 0, 0, -400, 0, -400, -400, -400, + -400, -400, -400, -400, -285, -285, -400, 0, -285, 0, + -400, 0, -400, 0, -400, 0, 0, 0, 0, 0, + 0, 0, 0, -400, -400, -400, -400, 0, 0, 0, + 0, 0, 0, -400, 0, -400, -400, -400, 0, -400, + -400, -400, -400, -400, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -285, -400, 0, 0, 0, 0, -400, + -400, 0, -285, -400, -285, -285, -285, -285, -285, -285, + -285, 0, 0, -285, 0, 0, 0, -285, 0, 0, + 0, -285, 0, 0, 0, 0, 0, 0, 0, 0, + -285, -285, -285, -285, 0, 0, 0, 0, 0, 0, + -285, 0, -285, -285, -285, 0, -285, -285, -285, -285, + -285, 0, 1122, 0, 0, 0, 0, 0, -493, -493, + 0, -285, 0, 0, 0, -493, -285, -285, 1123, 59, + -285, 0, 0, 0, 0, 0, -493, -493, 0, 0, + -493, -493, 0, 0, -493, -493, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -493, -493, 0, + 0, -493, 0, 0, 0, 0, 0, 0, 0, 118, + 0, 0, 0, 0, 0, -640, -640, 0, 0, 0, + 0, 0, -640, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -640, -640, 0, 0, -640, -640, 0, + 0, -640, -640, 0, 0, -640, -493, 0, 0, 0, + 0, 0, 0, 0, 0, -493, 0, -493, -493, -493, + -493, -493, -493, -493, -640, -640, -493, 0, -640, 0, + -493, 0, 0, 0, -493, 0, 0, 0, 0, 0, + 0, 0, 0, -493, -493, -493, -493, 0, 0, 0, + 0, 0, 0, -493, 0, -493, -493, -493, 0, -493, + -493, -493, -493, -493, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -640, -493, 0, 0, 0, 0, -493, + -493, 0, -640, -493, -640, -640, -640, -640, -640, -640, + -640, 0, 0, -640, 0, 0, 0, -640, 0, 0, + 0, -640, 0, 0, 0, 0, 0, 0, 0, 0, + -640, -640, -640, -640, 0, 0, 0, 0, 0, 0, + -640, 0, -640, -640, -640, 0, -640, -640, -640, -640, + -640, 120, 0, 0, 0, 0, 0, -635, -635, 0, + 0, -640, 0, 0, -635, 0, -640, -640, 0, 0, + -640, 0, 0, 0, 0, -635, -635, 0, 0, -635, + -635, 0, 0, -635, -635, 0, 0, -635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, - 0, 0, 0, 0, 0, 133, 0, 134, 135, 136, - 137, 138, 139, 140, 0, 0, 141, 0, 0, 0, - 142, 0, 0, 0, 143, 0, 0, 0, 0, 0, - 0, 0, 0, 144, 145, 146, 147, 0, 0, 0, - 0, 0, 0, 148, 0, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 0, 5, 0, 0, - 0, 0, 502, 0, 157, 7, 8, 0, 0, 158, - 159, 0, 0, 160, 11, 12, -428, 13, 0, 0, - 0, 0, 14, 15, 0, 0, 0, 16, 0, 0, - 503, 504, 0, 18, 19, 20, 505, 22, 23, 24, - 0, 25, 0, 0, 0, 0, 0, 0, 0, 26, - 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, -428, 0, 0, 0, -428, - 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, - 0, 33, 34, 35, 36, 0, 0, 0, 37, 0, - 0, 38, 0, 0, 40, 0, 0, 506, 0, 42, - 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 0, 0, 51, 52, 0, 53, 54, 5, 0, 0, - 0, 0, 502, 0, 55, 7, 8, 0, 56, 0, - 0, 57, 0, 0, 11, 12, -427, 13, 0, 0, - 0, 0, 14, 15, 0, 0, 0, 16, 0, 0, - 503, 504, 0, 18, 19, 20, 505, 22, 23, 24, - 0, 25, 0, 0, 0, 0, 58, 0, 0, 26, - 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, -427, 0, 0, 0, -427, - 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, - 0, 33, 34, 35, 36, 0, 0, 0, 37, 0, - 0, 38, 0, 0, 40, 0, 0, 506, 0, 42, - 43, 44, 45, 46, 47, 48, 0, 49, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, - 0, 0, 51, 52, 0, 53, 54, 0, 0, 0, - 0, 0, 0, 0, 55, 0, 0, 0, 56, 0, - 0, 57, 5, 0, 0, 0, 0, 6, 0, 0, - 7, 8, 9, 0, 0, 0, 10, 0, 0, 11, - 12, 0, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 17, 58, 0, 18, 19, - 20, 21, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 39, 0, 40, - 0, 0, 41, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 510, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 673, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 692, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 874, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 973, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1004, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1005, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1068, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, -665, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1134, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 1189, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, 0, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, -655, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 5, 0, 0, 0, 0, 502, 0, 55, - 7, 8, 0, 56, 0, 0, 57, 0, 0, 11, - 12, -657, 13, 0, 0, 0, 0, 14, 15, 0, - 0, 0, 16, 0, 0, 503, 504, 0, 18, 19, - 20, 505, 22, 23, 24, 0, 25, 0, 0, 0, - 0, 58, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 29, 30, 31, 32, 0, - 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, - 0, 0, 0, 37, 0, 0, 38, 0, 0, 40, - 0, 0, 506, 0, 42, 43, 44, 45, 46, 47, - 48, 0, 49, 0, 0, 119, 120, 0, 0, 0, - 0, 0, 121, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 122, 123, 0, 0, 124, 125, 0, 55, - 126, 127, 0, 56, 128, 0, 57, 0, 0, 491, + 0, 0, 0, 0, 0, 0, -635, -635, 0, 0, + -635, 0, 0, 0, 0, 0, 0, 0, 124, 0, + 0, 0, 0, 0, 125, 126, 0, 0, 0, 0, + 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 128, 129, 0, 0, 130, 131, 0, 0, + 132, 133, 0, 0, 134, -635, 0, 0, 0, 0, + 0, 0, 0, 0, -635, 0, -635, -635, -635, -635, + -635, -635, -635, 135, 136, -635, 0, 137, 0, -635, + 0, 0, 0, -635, 0, 0, 0, 0, 0, 0, + 0, 0, -635, -635, -635, -635, 0, 0, 0, 0, + 0, 0, -635, 0, -635, -635, -635, 0, -635, -635, + -635, -635, -635, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 138, -635, 0, 0, 0, 0, -635, -635, + 0, 139, -635, 140, 141, 142, 143, 144, 145, 146, + 0, 0, 147, 0, 0, 0, 148, 0, 0, 0, + 149, 0, 0, 0, 0, 0, 0, 0, 0, 150, + 151, 152, 153, 0, 0, 0, 0, 0, 0, 154, + 0, 155, 156, 157, 0, 158, 159, 160, 161, 162, + 196, 0, 0, 0, 0, 0, 125, 126, 0, 0, + 163, 0, 0, 127, 0, 164, 165, 0, 0, 166, + 0, 0, 0, 0, 128, 129, 0, 0, 130, 131, + 0, 0, 132, 133, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, + 0, 0, 0, 0, 0, 135, 136, 0, 0, 137, + 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, + 0, 0, 0, -289, -289, 0, 0, 0, 0, 0, + -289, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -289, -289, 0, 0, -289, -289, 0, 0, -289, + -289, 0, 0, -289, 138, 0, 0, 0, 0, 0, + 0, 0, 0, 139, 0, 140, 141, 142, 143, 144, + 145, 146, -289, -289, 147, 0, -289, 0, 148, 0, + 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, + 0, 150, 151, 152, 153, 0, 0, 0, 0, 0, + 0, 154, 0, 155, 156, 157, 0, 158, 159, 160, + 161, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -289, 163, 0, 0, 0, 0, 164, 165, 0, + -289, 166, -289, -289, -289, -289, -289, -289, -289, 0, + 0, -289, 0, 0, 0, -289, 0, 0, 0, -289, + 0, 0, 0, 0, 0, 0, 0, 0, -289, -289, + -289, -289, 0, 0, 0, 0, 0, 0, -289, 0, + -289, -289, -289, 0, -289, -289, -289, -289, -289, 297, + 0, 0, 0, 0, 0, 125, 126, 0, 0, -289, + 0, 0, 127, 0, -289, -289, 0, 0, -289, 0, + 0, 0, 0, 128, 129, 0, 0, 130, 131, 0, + 0, 132, 133, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 58, 119, 120, 0, 0, 0, 0, 0, 121, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, - 123, 0, 0, 124, 125, 0, 0, 126, 127, 0, - 0, 128, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, - 129, 130, 141, 0, 131, 0, 142, 0, 492, 0, - 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, - 145, 146, 147, 1213, 0, 0, 0, 0, 1214, 148, - 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, - 157, 0, 0, 0, 0, 158, 159, 0, 133, 160, - 134, 135, 136, 137, 138, 139, 140, 0, 0, 141, - 0, 0, 0, 142, 0, 0, 0, 143, 0, 0, - 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, - 119, 120, 0, 0, 0, 0, 148, 121, 149, 150, - 151, 0, 152, 153, 154, 155, 156, 122, 123, 0, - 0, 124, 125, 0, 0, 126, 127, 157, 0, 128, - 0, 0, 158, 159, 0, 0, 160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, - 0, 0, 131, 0, 0, 0, 0, 0, 0, 393, - 0, 0, 0, 0, 0, 0, 0, 119, 120, 0, - 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 122, 123, 0, 0, 124, 125, - 0, 0, 126, 127, 0, 0, 128, 132, 0, 0, - 0, 0, 0, 0, 0, 0, 133, 0, 134, 135, - 136, 137, 138, 139, 140, 129, 130, 141, 0, 131, - 0, 142, 0, 0, 0, 143, 0, 0, 0, 0, - 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, - 0, 0, 0, 0, 148, 0, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 132, 157, 0, 0, 0, 0, - 158, 159, 0, 133, 160, 134, 135, 136, 137, 138, - 139, 140, 0, 0, 141, 0, 0, 0, 142, 0, - 0, 0, 143, 896, 0, 0, 0, 0, 0, 0, - 0, 144, 145, 146, 147, 119, 120, 0, 0, 0, - 0, 148, 121, 149, 150, 151, 0, 152, 153, 154, - 155, 156, 122, 123, 0, 0, 124, 125, 0, 0, - 126, 127, 157, 0, 128, 0, 0, 158, 159, 0, - 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 129, 130, 0, 0, 131, 0, 0, + 0, 0, 0, 0, 135, 136, 0, 0, 137, 0, + 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, + 0, 0, -627, -627, 0, 0, 0, 0, 0, -627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -627, -627, 0, 0, -627, -627, 0, 0, -627, -627, + 0, 0, -627, 138, 0, 0, 0, 0, 0, 0, + 0, 0, 139, 0, 140, 141, 142, 143, 144, 145, + 146, -627, -627, 147, 0, -627, 0, 148, 0, 0, + 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, + 150, 151, 152, 153, 0, 0, 0, 0, 0, 0, + 154, 0, 155, 156, 157, 0, 158, 159, 160, 161, + 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -627, 163, 0, 0, 0, 0, 164, 165, 0, -627, + 166, -627, -627, -627, -627, -627, -627, -627, 0, 0, + -627, 0, 0, 0, -627, 0, 0, 0, -627, 0, + 0, 0, 0, 0, 0, 0, 0, -627, -627, -627, + -627, 0, 0, 0, 0, 0, 0, -627, 0, -627, + -627, -627, 0, -627, -627, -627, -627, -627, 416, 0, + 0, 0, 0, 0, 125, 126, 0, 0, -627, 0, + 0, 127, 0, -627, -627, 0, 0, -627, 0, 0, + 0, 0, 128, 129, 0, 0, 130, 131, 0, 0, + 132, 133, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 135, 136, 0, 0, 137, 0, 0, + 0, 0, 0, 0, 0, 580, 0, 0, 0, 0, + 0, 125, 126, 0, 0, 0, 0, 0, 127, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, + 129, 0, 0, 130, 131, 0, 0, 132, 133, 0, + 0, 134, 138, 0, 0, 0, 0, 0, 0, 0, + 0, 139, 0, 140, 141, 142, 143, 144, 145, 146, + 135, 136, 147, 0, 137, 0, 148, 0, 0, 0, + 149, 0, 0, 0, 0, 0, 0, 0, 0, 150, + 151, 152, 153, 0, 0, 0, 0, 0, 0, 154, + 0, 155, 156, 157, 0, 158, 159, 160, 161, 162, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, + 163, 0, 0, 0, 0, 164, 165, 0, 139, 166, + 140, 141, 142, 143, 144, 145, 146, 0, 0, 147, + 0, 0, 0, 148, 0, 0, 0, 149, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 151, 152, 153, + 0, 0, 0, 0, 0, 0, 154, 0, 155, 156, + 157, 0, 158, 159, 160, 161, 162, 764, 0, 0, + 0, 0, 0, 125, 126, 0, 0, 163, 0, 0, + 127, 0, 164, 165, 0, 0, 166, 0, 0, 0, + 0, 128, 129, 0, 0, 130, 131, 0, 0, 132, + 133, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 135, 136, 0, 0, 137, 0, 0, 0, + 0, 0, 0, 0, 899, 0, 0, 0, 0, 0, + 125, 126, 0, 0, 0, 0, 0, 127, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, + 0, 0, 130, 131, 0, 0, 132, 133, 0, 0, + 134, 138, 0, 0, 0, 0, 0, 0, 0, 0, + 139, 0, 140, 141, 142, 143, 144, 145, 146, 135, + 136, 147, 0, 137, 0, 148, 0, 0, 0, 149, + 0, 0, 0, 0, 0, 0, 0, 0, 150, 151, + 152, 153, 0, 0, 0, 0, 0, 0, 154, 0, + 155, 156, 157, 0, 158, 159, 160, 161, 162, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 138, 163, + 0, 0, 0, 0, 164, 165, 0, 139, 166, 140, + 141, 142, 143, 144, 145, 146, 0, 0, 147, 0, + 0, 0, 148, 0, 0, 0, 149, 0, 0, 0, + 0, 0, 0, 0, 0, 150, 151, 152, 153, 0, + 0, 0, 0, 0, 0, 154, 0, 155, 156, 157, + 0, 158, 159, 160, 161, 162, 0, 0, 0, 5, + 0, 0, 0, 0, 511, 0, 163, 7, 8, 0, + 0, 164, 165, 0, 0, 166, 11, 12, -434, 13, + 14, 0, 0, 0, 0, 15, 16, 0, 0, 0, + 17, 0, 0, 512, 513, 0, 19, 20, 21, 514, + 23, 24, 25, 0, 26, 0, 0, 0, 0, 0, + 0, 0, 27, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 29, 0, -434, 0, + 0, 0, -434, 30, 31, 32, 33, 0, 0, 0, + 0, 0, 0, 0, 34, 35, 36, 37, 0, 0, + 0, 38, 0, 0, 39, 0, 0, 41, 0, 0, + 515, 0, 43, 44, 45, 46, 47, 48, 49, 0, + 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, + 5, 0, 0, 0, 0, 511, 0, 56, 7, 8, + 0, 57, 0, 0, 58, 0, 0, 11, 12, -433, + 13, 14, 0, 0, 0, 0, 15, 16, 0, 0, + 0, 17, 0, 0, 512, 513, 0, 19, 20, 21, + 514, 23, 24, 25, 0, 26, 0, 0, 0, 59, + 0, 0, 0, 27, 0, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 29, 0, -433, + 0, 0, 0, -433, 30, 31, 32, 33, 0, 0, + 0, 0, 0, 0, 0, 34, 35, 36, 37, 0, + 0, 0, 38, 0, 0, 39, 0, 0, 41, 0, + 0, 515, 0, 43, 44, 45, 46, 47, 48, 49, + 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, + 55, 0, 0, 0, 0, 0, 0, 0, 56, 0, + 0, 0, 57, 0, 5, 58, 0, 0, 0, 6, + 0, 0, 7, 8, 9, 0, 0, 0, 10, 0, + 0, 11, 12, 0, 13, 14, 0, 0, 0, 0, + 15, 16, 0, 0, 0, 17, 0, 0, 18, 0, + 59, 19, 20, 21, 22, 23, 24, 25, 0, 26, + 0, 0, 0, 0, 0, 0, 0, 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 133, 0, 134, 135, 136, 137, 138, 139, 140, - 0, 0, 141, 0, 0, 0, 142, 0, 0, 0, - 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, - 145, 146, 147, 0, 0, 0, 0, 0, 0, 148, - 0, 149, 150, 151, 0, 152, 153, 154, 155, 156, + 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 33, 0, 0, 0, 0, 0, 0, 0, 34, + 35, 36, 37, 0, 0, 0, 38, 0, 0, 39, + 40, 0, 41, 0, 0, 42, 0, 43, 44, 45, + 46, 47, 48, 49, 0, 50, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, + 52, 53, 0, 54, 55, 5, 0, 0, 0, 0, + 511, 0, 56, 7, 8, 0, 57, 0, 0, 58, + 0, 0, 11, 12, 519, 13, 14, 0, 0, 0, + 0, 15, 16, 0, 0, 0, 17, 0, 0, 512, + 513, 0, 19, 20, 21, 514, 23, 24, 25, 0, + 26, 0, 0, 0, 59, 0, 0, 0, 27, 0, + 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 0, 0, 0, 0, 30, + 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, + 34, 35, 36, 37, 0, 0, 0, 38, 0, 0, + 39, 0, 0, 41, 0, 0, 515, 0, 43, 44, + 45, 46, 47, 48, 49, 0, 50, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, + 0, 52, 53, 0, 54, 55, 5, 0, 0, 0, + 0, 511, 0, 56, 7, 8, 0, 57, 0, 0, + 58, 0, 0, 11, 12, 684, 13, 14, 0, 0, + 0, 0, 15, 16, 0, 0, 0, 17, 0, 0, + 512, 513, 0, 19, 20, 21, 514, 23, 24, 25, + 0, 26, 0, 0, 0, 59, 0, 0, 0, 27, + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, + 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, + 0, 34, 35, 36, 37, 0, 0, 0, 38, 0, + 0, 39, 0, 0, 41, 0, 0, 515, 0, 43, + 44, 45, 46, 47, 48, 49, 0, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 0, 0, 52, 53, 0, 54, 55, 5, 0, 0, + 0, 0, 511, 0, 56, 7, 8, 0, 57, 0, + 0, 58, 0, 0, 11, 12, 703, 13, 14, 0, + 0, 0, 0, 15, 16, 0, 0, 0, 17, 0, + 0, 512, 513, 0, 19, 20, 21, 514, 23, 24, + 25, 0, 26, 0, 0, 0, 59, 0, 0, 0, + 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 33, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 37, 0, 0, 0, 38, + 0, 0, 39, 0, 0, 41, 0, 0, 515, 0, + 43, 44, 45, 46, 47, 48, 49, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 157, 0, 0, 0, 0, 158, 159, 0, 0, 160 + 51, 0, 0, 52, 53, 0, 54, 55, 5, 0, + 0, 0, 0, 511, 0, 56, 7, 8, 0, 57, + 0, 0, 58, 0, 0, 11, 12, 889, 13, 14, + 0, 0, 0, 0, 15, 16, 0, 0, 0, 17, + 0, 0, 512, 513, 0, 19, 20, 21, 514, 23, + 24, 25, 0, 26, 0, 0, 0, 59, 0, 0, + 0, 27, 0, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, + 0, 0, 30, 31, 32, 33, 0, 0, 0, 0, + 0, 0, 0, 34, 35, 36, 37, 0, 0, 0, + 38, 0, 0, 39, 0, 0, 41, 0, 0, 515, + 0, 43, 44, 45, 46, 47, 48, 49, 0, 50, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 0, 0, 52, 53, 0, 54, 55, 5, + 0, 0, 0, 0, 511, 0, 56, 7, 8, 0, + 57, 0, 0, 58, 0, 0, 11, 12, 987, 13, + 14, 0, 0, 0, 0, 15, 16, 0, 0, 0, + 17, 0, 0, 512, 513, 0, 19, 20, 21, 514, + 23, 24, 25, 0, 26, 0, 0, 0, 59, 0, + 0, 0, 27, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, + 0, 0, 0, 30, 31, 32, 33, 0, 0, 0, + 0, 0, 0, 0, 34, 35, 36, 37, 0, 0, + 0, 38, 0, 0, 39, 0, 0, 41, 0, 0, + 515, 0, 43, 44, 45, 46, 47, 48, 49, 0, + 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 0, 0, 52, 53, 0, 54, 55, + 5, 0, 0, 0, 0, 511, 0, 56, 7, 8, + 0, 57, 0, 0, 58, 0, 0, 11, 12, 1018, + 13, 14, 0, 0, 0, 0, 15, 16, 0, 0, + 0, 17, 0, 0, 512, 513, 0, 19, 20, 21, + 514, 23, 24, 25, 0, 26, 0, 0, 0, 59, + 0, 0, 0, 27, 0, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 33, 0, 0, + 0, 0, 0, 0, 0, 34, 35, 36, 37, 0, + 0, 0, 38, 0, 0, 39, 0, 0, 41, 0, + 0, 515, 0, 43, 44, 45, 46, 47, 48, 49, + 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 51, 0, 0, 52, 53, 0, 54, + 55, 5, 0, 0, 0, 0, 511, 0, 56, 7, + 8, 0, 57, 0, 0, 58, 0, 0, 11, 12, + 1019, 13, 14, 0, 0, 0, 0, 15, 16, 0, + 0, 0, 17, 0, 0, 512, 513, 0, 19, 20, + 21, 514, 23, 24, 25, 0, 26, 0, 0, 0, + 59, 0, 0, 0, 27, 0, 28, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, + 0, 0, 0, 0, 0, 30, 31, 32, 33, 0, + 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, + 0, 0, 0, 38, 0, 0, 39, 0, 0, 41, + 0, 0, 515, 0, 43, 44, 45, 46, 47, 48, + 49, 0, 50, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 0, 0, 52, 53, 0, + 54, 55, 5, 0, 0, 0, 0, 511, 0, 56, + 7, 8, 0, 57, 0, 0, 58, 0, 0, 11, + 12, 1078, 13, 14, 0, 0, 0, 0, 15, 16, + 0, 0, 0, 17, 0, 0, 512, 513, 0, 19, + 20, 21, 514, 23, 24, 25, 0, 26, 0, 0, + 0, 59, 0, 0, 0, 27, 0, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, + 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, + 37, 0, 0, 0, 38, 0, 0, 39, 0, 0, + 41, 0, 0, 515, 0, 43, 44, 45, 46, 47, + 48, 49, 0, 50, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 0, 0, 52, 53, + 0, 54, 55, 5, 0, 0, 0, 0, 511, 0, + 56, 7, 8, 0, 57, 0, 0, 58, 0, 0, + 11, 12, -671, 13, 14, 0, 0, 0, 0, 15, + 16, 0, 0, 0, 17, 0, 0, 512, 513, 0, + 19, 20, 21, 514, 23, 24, 25, 0, 26, 0, + 0, 0, 59, 0, 0, 0, 27, 0, 28, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 29, 0, 0, 0, 0, 0, 0, 30, 31, 32, + 33, 0, 0, 0, 0, 0, 0, 0, 34, 35, + 36, 37, 0, 0, 0, 38, 0, 0, 39, 0, + 0, 41, 0, 0, 515, 0, 43, 44, 45, 46, + 47, 48, 49, 0, 50, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 0, 0, 52, + 53, 0, 54, 55, 5, 0, 0, 0, 0, 511, + 0, 56, 7, 8, 0, 57, 0, 0, 58, 0, + 0, 11, 12, 1141, 13, 14, 0, 0, 0, 0, + 15, 16, 0, 0, 0, 17, 0, 0, 512, 513, + 0, 19, 20, 21, 514, 23, 24, 25, 0, 26, + 0, 0, 0, 59, 0, 0, 0, 27, 0, 28, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 29, 0, 0, 0, 0, 0, 0, 30, 31, + 32, 33, 0, 0, 0, 0, 0, 0, 0, 34, + 35, 36, 37, 0, 0, 0, 38, 0, 0, 39, + 0, 0, 41, 0, 0, 515, 0, 43, 44, 45, + 46, 47, 48, 49, 0, 50, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, + 52, 53, 0, 54, 55, 5, 0, 0, 0, 0, + 511, 0, 56, 7, 8, 0, 57, 0, 0, 58, + 0, 0, 11, 12, 1196, 13, 14, 0, 0, 0, + 0, 15, 16, 0, 0, 0, 17, 0, 0, 512, + 513, 0, 19, 20, 21, 514, 23, 24, 25, 0, + 26, 0, 0, 0, 59, 0, 0, 0, 27, 0, + 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 0, 0, 0, 0, 30, + 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, + 34, 35, 36, 37, 0, 0, 0, 38, 0, 0, + 39, 0, 0, 41, 0, 0, 515, 0, 43, 44, + 45, 46, 47, 48, 49, 0, 50, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, + 0, 52, 53, 0, 54, 55, 5, 0, 0, 0, + 0, 511, 0, 56, 7, 8, 0, 57, 0, 0, + 58, 0, 0, 11, 12, 0, 13, 14, 0, 0, + 0, 0, 15, 16, 0, 0, 0, 17, 0, 0, + 512, 513, 0, 19, 20, 21, 514, 23, 24, 25, + 0, 26, 0, 0, 0, 59, 0, 0, 0, 27, + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, -661, 0, 0, 0, 0, 0, + 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, + 0, 34, 35, 36, 37, 0, 0, 0, 38, 0, + 0, 39, 0, 0, 41, 0, 0, 515, 0, 43, + 44, 45, 46, 47, 48, 49, 0, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 0, 0, 52, 53, 0, 54, 55, 5, 0, 0, + 0, 0, 511, 0, 56, 7, 8, 0, 57, 0, + 0, 58, 0, 0, 11, 12, -663, 13, 14, 0, + 0, 0, 0, 15, 16, 0, 0, 0, 17, 0, + 0, 512, 513, 0, 19, 20, 21, 514, 23, 24, + 25, 0, 26, 0, 0, 0, 59, 0, 0, 0, + 27, 0, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 33, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 37, 0, 0, 0, 38, + 0, 0, 39, 0, 0, 41, 0, 0, 515, 0, + 43, 44, 45, 46, 47, 48, 49, 0, 50, 0, + 125, 126, 0, 0, 0, 0, 0, 127, 0, 0, + 51, 0, 0, 52, 53, 0, 54, 55, 128, 129, + 0, 0, 130, 131, 0, 56, 132, 133, 0, 57, + 134, 0, 58, 0, 0, 500, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, + 136, 0, 0, 137, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, + 0, 0, 0, 0, 0, 0, 0, 139, 0, 140, + 141, 142, 143, 144, 145, 146, 0, 0, 147, 0, + 0, 0, 148, 0, 501, 0, 149, 0, 0, 0, + 0, 0, 0, 0, 0, 150, 151, 152, 153, 0, + 0, 0, 0, 0, 0, 154, 0, 155, 156, 157, + 0, 158, 159, 160, 161, 162, 0, 0, 125, 126, + 0, 0, 0, 0, 0, 127, 163, 0, 0, 0, + 0, 164, 165, 0, 0, 166, 128, 129, 0, 0, + 130, 131, 0, 0, 132, 133, 0, 0, 134, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 135, 136, 0, + 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 125, 126, 0, 0, 0, + 1220, 0, 127, 0, 0, 1221, 0, 0, 0, 0, + 0, 0, 0, 128, 129, 0, 0, 130, 131, 0, + 0, 132, 133, 0, 0, 134, 138, 0, 0, 0, + 0, 0, 0, 0, 0, 139, 0, 140, 141, 142, + 143, 144, 145, 146, 135, 136, 147, 0, 137, 0, + 148, 0, 0, 0, 149, 404, 0, 0, 0, 0, + 0, 0, 0, 150, 151, 152, 153, 0, 0, 0, + 0, 0, 0, 154, 0, 155, 156, 157, 0, 158, + 159, 160, 161, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 138, 163, 0, 0, 0, 0, 164, + 165, 0, 139, 166, 140, 141, 142, 143, 144, 145, + 146, 0, 0, 147, 0, 0, 0, 148, 0, 0, + 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, + 150, 151, 152, 153, 0, 0, 0, 0, 0, 0, + 154, 0, 155, 156, 157, 0, 158, 159, 160, 161, + 162, 0, 0, 125, 126, 0, 0, 0, 0, 0, + 127, 163, 0, 0, 0, 0, 164, 165, 0, 0, + 166, 128, 129, 0, 0, 130, 131, 0, 0, 132, + 133, 0, 0, 134, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 135, 136, 0, 0, 137, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 125, 126, 0, 0, 0, 0, 0, 127, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, + 0, 0, 130, 131, 0, 0, 132, 133, 0, 0, + 134, 138, 0, 0, 0, 0, 0, 0, 0, 0, + 139, 0, 140, 141, 142, 143, 144, 145, 146, 135, + 136, 147, 0, 137, 0, 148, 0, 0, 0, 149, + 911, 0, 0, 0, 0, 0, 0, 0, 150, 151, + 152, 153, 0, 0, 0, 0, 0, 0, 154, 0, + 155, 156, 157, 0, 158, 159, 160, 161, 162, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 138, 163, + 0, 0, 0, 0, 164, 165, 0, 139, 166, 140, + 141, 142, 143, 144, 145, 146, 0, 0, 147, 0, + 0, 0, 148, 0, 0, 0, 149, 0, 0, 0, + 0, 0, 0, 0, 0, 150, 151, 152, 153, 0, + 0, 0, 0, 0, 0, 154, 0, 155, 156, 157, + 0, 158, 159, 160, 161, 162, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, + 0, 164, 165, 0, 0, 166 }; static const yytype_int16 yycheck[] = { - 5, 41, 321, 8, 597, 393, 76, 77, 79, 80, - 269, 548, 271, 632, 493, 303, 314, 380, 381, 382, - 383, 384, 27, 1, 295, 554, 31, 32, 33, 34, - 35, 1, 37, 38, 131, 40, 254, 1, 256, 298, - 1004, 1005, 1, 1, 1, 53, 1, 53, 64, 1, - 1, 1, 1, 1, 1, 1, 63, 15, 63, 1, - 157, 158, 159, 1, 1, 70, 1, 72, 1, 1, - 1, 7, 1, 1, 1, 18, 19, 1, 83, 84, - 1, 86, 87, 88, 66, 6, 35, 47, 31, 35, - 35, 57, 66, 85, 99, 37, 1, 102, 41, 104, - 36, 106, 34, 67, 35, 1, 119, 112, 0, 114, - 50, 53, 50, 51, 129, 128, 20, 74, 20, 66, - 53, 1, 50, 62, 172, 173, 141, 746, 143, 89, - 35, 35, 52, 1, 1, 180, 1, 74, 96, 150, - 1, 66, 1, 181, 1, 1, 129, 1, 1, 84, - 142, 129, 1, 129, 1, 35, 1, 1, 180, 0, - 143, 183, 105, 141, 84, 143, 142, 69, 184, 180, - 185, 176, 177, 178, 180, 183, 183, 182, 129, 184, - 66, 129, 187, 149, 142, 142, 129, 142, 193, 259, - 141, 196, 143, 198, 142, 142, 142, 202, 180, 84, - 66, 150, 142, 66, 142, 150, 142, 185, 129, 183, - 180, 66, 217, 183, 142, 66, 180, 222, 142, 224, - 66, 750, 180, 182, 183, 1189, 231, 182, 233, 181, - 169, 181, 180, 238, 185, 181, 66, 142, 180, 182, - 1, 629, 247, 180, 249, 180, 150, 180, 180, 180, - 255, 180, 550, 180, 150, 260, 18, 516, 183, 264, - 531, 532, 142, 268, 129, 270, 28, 272, 30, 274, - 488, 276, 277, 278, 142, 142, 281, 1, 143, 376, - 377, 142, 287, 142, 180, 142, 142, 292, 142, 142, - 295, 52, 297, 142, 299, 142, 182, 142, 142, 60, - 61, 66, 3, 4, 5, 41, 1049, 1050, 1051, 53, - 71, 54, 66, 66, 66, 39, 182, 183, 79, 80, - 183, 66, 50, 84, 1, 6, 1, 182, 183, 66, - 74, 75, 183, 66, 35, 66, 182, 81, 82, 83, - 66, 66, 1, 162, 163, 46, 47, 48, 49, 50, - 51, 75, 182, 183, 78, 99, 100, 81, 82, 83, - 142, 840, 1105, 66, 66, 142, 66, 1110, 66, 66, - 66, 66, 63, 182, 183, 99, 100, 1120, 60, 61, - 94, 95, 66, 65, 68, 146, 147, 148, 89, 174, - 175, 176, 55, 70, 130, 70, 59, 75, 58, 142, - 405, 406, 53, 164, 165, 129, 130, 15, 182, 183, - 18, 70, 417, 418, 142, 66, 735, 182, 142, 180, - 181, 740, 741, 74, 429, 103, 1169, 432, 182, 182, - 182, 501, 133, 134, 84, 949, 180, 182, 152, 953, - 803, 446, 730, 731, 732, 182, 129, 15, 746, 182, - 18, 182, 18, 19, 742, 15, 182, 182, 18, 464, - 465, 466, 70, 1082, 1083, 31, 506, 182, 183, 1006, - 1007, 162, 163, 183, 15, 41, 481, 18, 19, 182, - 182, 66, 182, 68, 182, 182, 182, 182, 170, 171, - 31, 91, 497, 498, 182, 183, 18, 19, 52, 40, - 41, 378, 379, 103, 266, 510, 60, 61, 288, 31, - 290, 129, 142, 518, 180, 520, 63, 183, 20, 41, - 181, 52, 58, 141, 181, 143, 531, 532, 180, 60, - 61, 183, 180, 538, 134, 183, 541, 181, 543, 105, - 71, 122, 142, 180, 125, 75, 183, 181, 79, 80, - 312, 81, 82, 83, 180, 96, 181, 183, 563, 321, - 879, 181, 567, 129, 105, 106, 107, 185, 180, 99, - 100, 183, 373, 374, 375, 337, 181, 339, 340, 341, - 342, 168, 344, 105, 106, 107, 385, 386, 129, 351, - 352, 353, 146, 147, 148, 86, 87, 359, 360, 361, - 362, 363, 364, 365, 53, 181, 181, 129, 181, 181, - 181, 681, 181, 63, 181, 146, 147, 148, 67, 68, - 69, 167, 181, 181, 89, 74, 181, 632, 181, 181, - 181, 96, 637, 164, 165, 640, 1024, 707, 643, 16, - 17, 1234, 713, 181, 21, 22, 181, 181, 113, 968, - 115, 656, 1160, 1161, 16, 17, 181, 1165, 20, 166, - 22, 181, 181, 1171, 1172, 1173, 428, 44, 181, 431, - 181, 181, 181, 181, 16, 17, 22, 22, 20, 749, - 22, 751, 44, 182, 68, 142, 183, 692, 183, 183, - 183, 696, 697, 20, 699, 160, 701, 142, 74, 704, - 142, 183, 44, 708, 709, 710, 142, 20, 142, 714, - 72, 142, 89, 90, 91, 52, 182, 34, 35, 53, - 37, 182, 182, 142, 189, 183, 103, 89, 90, 988, - 72, 142, 22, 22, 20, 200, 53, 142, 743, 50, - 142, 181, 747, 78, 73, 182, 66, 89, 90, 142, - 67, 183, 20, 1072, 759, 760, 183, 74, 223, 84, - 183, 183, 182, 55, 182, 182, 1085, 182, 182, 182, - 182, 1090, 182, 182, 1093, 182, 182, 142, 182, 142, - 183, 182, 182, 142, 142, 182, 86, 183, 183, 180, - 1, 1, 35, 183, 49, 1114, 30, 84, 142, 182, - 182, 142, 74, 183, 185, 180, 142, 877, 181, 68, - 142, 53, 817, 183, 142, 182, 142, 141, 30, 82, - 20, 30, 827, 288, 81, 290, 183, 1146, 293, 182, - 103, 183, 53, 142, 110, 300, 183, 93, 843, 142, - 68, 181, 68, 182, 20, 956, 1095, 955, 1092, 744, - 900, 921, 998, 1074, 246, 970, 473, 65, 305, 856, - 844, 387, 867, 1182, 1183, 870, 871, 388, 627, 874, - 628, 389, 4, 338, 481, 13, 881, 882, 13, 109, - 1132, 346, 347, 348, 71, 350, 830, 523, 1053, 1166, - 895, 175, 357, 1174, 1213, 1214, 1162, 838, 1098, 723, - 529, 366, 367, 658, 460, 874, 522, 1002, 258, 895, - 1144, 845, 1068, 983, 919, 677, 678, 679, 680, 756, - -1, -1, -1, -1, 323, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 939, -1, -1, 942, -1, -1, - -1, -1, -1, 705, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 419, -1, -1, 962, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 973, -1, - -1, -1, -1, 735, -1, -1, -1, -1, 740, 741, - -1, -1, 447, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 460, -1, 462, -1, 1004, - 1005, -1, 764, 765, -1, 1075, 768, -1, -1, -1, - -1, 773, -1, -1, -1, -1, -1, 779, -1, 781, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 494, - -1, 793, -1, -1, -1, -1, -1, 799, -1, -1, - -1, -1, -1, -1, 1049, 1050, 1051, -1, -1, -1, - 1055, 1056, 1057, 815, 816, 1060, 1061, -1, -1, -1, - -1, -1, -1, 1068, 529, 1070, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1082, 1083, -1, - -1, -1, -1, -1, 549, -1, 1091, -1, -1, 1094, - -1, -1, -1, -1, -1, 1100, -1, -1, -1, -1, - 1105, -1, 1107, -1, 866, 1110, -1, 1112, -1, -1, - 1115, -1, -1, -1, -1, 1120, -1, 879, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1134, - -1, -1, 597, -1, -1, -1, -1, -1, -1, 1144, + 5, 64, 404, 8, 77, 78, 42, 313, 274, 564, + 276, 80, 81, 332, 308, 325, 648, 391, 392, 393, + 394, 395, 502, 28, 259, 300, 261, 32, 33, 34, + 35, 36, 570, 38, 39, 137, 41, 303, 1, 1, + 1, 1, 54, 1, 1, 1, 54, 1, 21, 67, + 1, 1, 36, 1, 1, 1, 1, 1, 1, 64, + 1, 163, 164, 165, 1, 1, 71, 1, 73, 1, + 15, 1, 1, 1, 1, 36, 21, 1, 1, 84, + 85, 7, 87, 88, 89, 36, 1, 65, 21, 1, + 67, 6, 38, 1018, 1019, 100, 64, 1, 67, 104, + 1, 106, 95, 96, 109, 35, 1, 112, 54, 36, + 21, 37, 36, 118, 20, 120, 51, 51, 52, 67, + 151, 1, 55, 76, 68, 54, 125, 0, 75, 67, + 130, 763, 36, 1, 1, 134, 130, 1, 181, 75, + 1, 1, 1, 1, 144, 182, 1, 1, 85, 143, + 181, 104, 97, 67, 1, 69, 51, 67, 56, 71, + 153, 1, 60, 1, 70, 183, 184, 151, 130, 181, + 143, 15, 130, 130, 18, 86, 184, 182, 183, 184, + 142, 67, 144, 188, 142, 190, 144, 144, 193, 130, + 151, 264, 143, 143, 199, 143, 143, 202, 143, 204, + 143, 67, 143, 208, 71, 67, 183, 185, 143, 143, + 143, 143, 181, 71, 67, 130, 184, 143, 223, 143, + 183, 184, 182, 228, 186, 230, 182, 181, 186, 767, + 184, 182, 237, 183, 239, 181, 181, 181, 243, 143, + 181, 1, 67, 645, 181, 181, 184, 252, 143, 254, + 151, 181, 181, 181, 181, 260, 566, 19, 181, 525, + 265, 1, 497, 143, 269, 540, 541, 29, 273, 31, + 275, 1196, 277, 183, 279, 143, 281, 282, 283, 143, + 181, 286, 143, 143, 143, 387, 388, 292, 143, 143, + 18, 19, 297, 53, 20, 300, 143, 302, 184, 304, + 40, 61, 62, 143, 32, 143, 67, 613, 63, 314, + 36, 67, 72, 67, 42, 67, 51, 183, 184, 64, + 80, 81, 184, 67, 67, 85, 3, 4, 5, 67, + 183, 184, 54, 0, 67, 54, 76, 48, 67, 79, + 67, 143, 82, 83, 84, 67, 968, 67, 163, 164, + 972, 67, 58, 75, 85, 67, 75, 76, 183, 36, + 100, 101, 67, 82, 83, 84, 67, 67, 67, 6, + 47, 48, 49, 50, 51, 52, 143, 857, 106, 90, + 181, 100, 101, 184, 1063, 1064, 1065, 147, 148, 149, + 130, 131, 15, 59, 53, 18, 61, 62, 42, 173, + 174, 66, 130, 143, 181, 165, 166, 184, 143, 389, + 390, 416, 417, 90, 67, 170, 69, 15, 163, 164, + 18, 181, 183, 428, 429, 151, 85, 746, 184, 183, + 85, 183, 751, 752, 53, 440, 1115, 510, 443, 183, + 183, 1120, 61, 62, 150, 183, 820, 741, 742, 743, + 183, 1130, 92, 763, 183, 183, 183, 134, 135, 753, + 1092, 1093, 181, 183, 104, 1020, 1021, 183, 473, 474, + 475, 183, 15, 71, 181, 18, 19, 184, 183, 515, + 18, 19, 183, 183, 183, 490, 293, 131, 295, 32, + 181, 18, 19, 184, 32, 135, 130, 1176, 41, 42, + 184, 506, 507, 143, 42, 32, 171, 172, 142, 271, + 144, 183, 184, 130, 519, 42, 143, 123, 181, 90, + 126, 184, 527, 130, 529, 142, 97, 144, 147, 148, + 149, 76, 175, 176, 177, 540, 541, 82, 83, 84, + 111, 64, 547, 35, 36, 550, 38, 552, 119, 20, + 121, 182, 186, 558, 97, 100, 101, 181, 183, 184, + 184, 323, 54, 106, 107, 108, 396, 397, 106, 186, + 332, 384, 385, 386, 579, 894, 68, 182, 583, 106, + 107, 108, 181, 75, 59, 184, 348, 130, 350, 351, + 352, 353, 130, 355, 182, 166, 183, 184, 16, 17, + 362, 363, 364, 130, 22, 23, 182, 54, 370, 371, + 372, 373, 374, 375, 376, 183, 184, 87, 88, 692, + 182, 68, 69, 70, 195, 182, 182, 45, 75, 182, + 182, 182, 182, 182, 182, 206, 1038, 168, 182, 167, + 182, 182, 182, 648, 64, 718, 182, 182, 653, 182, + 182, 656, 182, 182, 659, 724, 182, 182, 229, 169, + 182, 182, 182, 982, 182, 182, 182, 672, 23, 23, + 1167, 1168, 90, 91, 92, 1172, 183, 439, 69, 143, + 442, 1178, 1179, 1180, 184, 184, 104, 184, 184, 143, + 16, 17, 20, 766, 20, 768, 75, 23, 703, 143, + 184, 143, 707, 708, 53, 710, 20, 712, 143, 53, + 715, 184, 61, 62, 719, 720, 721, 54, 183, 45, + 725, 183, 293, 72, 295, 183, 143, 298, 184, 143, + 23, 80, 81, 23, 305, 20, 1002, 16, 17, 143, + 51, 20, 313, 143, 23, 182, 79, 73, 67, 754, + 74, 183, 757, 143, 759, 760, 761, 183, 20, 764, + 184, 184, 85, 1082, 90, 91, 45, 56, 184, 184, + 183, 776, 777, 183, 183, 183, 1095, 183, 349, 184, + 183, 183, 183, 1102, 1103, 183, 357, 358, 359, 183, + 361, 183, 143, 143, 73, 183, 183, 368, 147, 148, + 149, 183, 143, 143, 184, 1124, 377, 378, 181, 87, + 1, 90, 91, 1, 36, 184, 165, 166, 50, 892, + 31, 85, 143, 183, 183, 143, 75, 184, 186, 834, + 182, 143, 69, 181, 1153, 143, 54, 184, 143, 844, + 183, 142, 31, 83, 31, 184, 184, 183, 20, 82, + 104, 54, 143, 111, 184, 94, 143, 69, 183, 430, + 182, 69, 20, 975, 1105, 974, 755, 940, 1101, 915, + 1189, 1190, 1012, 1084, 1239, 1248, 66, 882, 482, 251, + 885, 886, 310, 984, 889, 871, 398, 563, 399, 4, + 643, 896, 897, 644, 400, 110, 959, 490, 469, 115, + 471, 1220, 1221, 14, 14, 910, 757, 1139, 72, 181, + 532, 1067, 1173, 855, 1181, 1169, 847, 1108, 538, 531, + 860, 1016, 734, 469, 997, 674, 688, 689, 690, 691, + 889, 263, 503, 938, 1240, 910, 1242, 334, 1151, 1078, + 773, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 958, 716, -1, 961, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 538, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1227, -1, -1, - -1, -1, -1, -1, 1169, -1, -1, 1237, -1, -1, - -1, -1, 1177, 1178, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1189, -1, -1, -1, 653, -1, - 952, -1, -1, -1, -1, -1, 958, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 968, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1224, - -1, -1, -1, -1, 689, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1241, 1242, 1243, -1, + -1, -1, 987, -1, 746, -1, -1, -1, -1, 751, + 752, -1, 563, -1, 565, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1017, -1, -1, 723, 1021, + -1, -1, 1085, 1018, 1019, -1, -1, -1, -1, 781, + 782, -1, -1, 785, -1, -1, -1, -1, 790, -1, + -1, -1, -1, -1, 796, -1, 798, -1, 1101, -1, + -1, -1, 613, -1, -1, -1, -1, -1, 810, -1, + -1, -1, -1, -1, 816, -1, -1, -1, 1063, 1064, + 1065, -1, -1, -1, -1, 1070, 1071, -1, -1, -1, + 832, 833, -1, 1078, -1, 1080, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1092, 1093, -1, + -1, -1, -1, -1, -1, 1100, -1, -1, 669, 1104, + -1, -1, -1, -1, -1, 1110, -1, -1, -1, -1, + 1115, -1, 1117, -1, -1, 1120, -1, 1122, -1, 881, + 1125, -1, -1, -1, -1, 1130, -1, -1, -1, 700, + -1, -1, 894, -1, -1, -1, 1141, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1151, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1036, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 753, 754, + -1, 1234, -1, 734, -1, -1, -1, -1, -1, -1, + -1, 1176, -1, -1, 1247, -1, -1, -1, -1, 1184, + 1185, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1196, -1, -1, -1, -1, -1, -1, -1, 770, + 771, -1, -1, -1, -1, -1, -1, -1, -1, 971, + -1, -1, -1, -1, -1, 977, -1, -1, -1, -1, + 982, -1, -1, -1, -1, -1, 1231, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 808, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1252, 1253, 1254, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1031, + -1, -1, -1, 1035, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1050, 860, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1072, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1085, -1, -1, 791, -1, 1090, -1, - -1, 1093, -1, -1, 1096, -1, -1, -1, -1, -1, - -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, - -1, -1, 1114, -1, 14, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, - -1, -1, 32, 33, -1, -1, 36, -1, -1, 844, - 845, -1, -1, -1, 1146, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1182, 1183, -1, -1, -1, -1, -1, 892, -1, 894, + 1082, 1, -1, -1, -1, -1, -1, 7, 8, -1, + -1, -1, -1, 1095, 14, -1, 907, -1, 909, -1, + 1102, 1103, -1, -1, 1106, 25, 26, -1, -1, 29, + 30, -1, -1, 33, 34, -1, -1, 37, -1, -1, + -1, -1, 1124, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 56, 57, -1, -1, + 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1153, -1, -1, -1, -1, -1, -1, 969, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 104, -1, -1, -1, -1, -1, - -1, 1213, 1214, 113, -1, 115, 116, 117, 118, 119, - 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 142, 143, 144, 950, -1, -1, -1, -1, - -1, 151, -1, 153, 154, 155, -1, 157, 158, 159, - 160, 161, 1, -1, -1, -1, -1, -1, 7, 8, - -1, -1, 172, -1, -1, 14, -1, 177, 178, -1, - 180, 181, -1, 183, -1, 24, 25, -1, -1, 28, - 29, -1, -1, 32, 33, 1000, 1001, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 55, 56, -1, -1, - 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, - -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 24, 25, -1, -1, 28, - 29, -1, -1, 32, 33, 104, -1, 36, -1, -1, - -1, -1, 41, -1, 113, -1, 115, 116, 117, 118, - 119, 120, 121, -1, -1, 124, 55, 56, -1, 128, - 59, -1, -1, 132, -1, -1, -1, -1, -1, -1, - -1, -1, 141, 142, 143, 144, -1, -1, -1, -1, - -1, -1, 151, -1, 153, 154, 155, -1, 157, 158, - 159, 160, 161, -1, -1, -1, -1, -1, -1, -1, - -1, 1136, -1, 172, -1, 104, -1, -1, 177, 178, - -1, -1, 181, 182, 113, -1, 115, 116, 117, 118, - 119, 120, 121, -1, -1, 124, -1, -1, -1, 128, - -1, 130, -1, 132, -1, -1, -1, -1, -1, -1, - 1, -1, 141, 142, 143, 144, 7, 8, -1, -1, - -1, -1, 151, 14, 153, 154, 155, -1, 157, 158, - 159, 160, 161, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, 172, -1, 36, -1, -1, 177, 178, - -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 55, 56, -1, -1, 59, 1234, + -1, -1, -1, -1, -1, 105, -1, 1189, 1190, -1, + -1, -1, -1, -1, 114, -1, 116, 117, 118, 119, + 120, 121, 122, 1014, 1015, 125, -1, -1, -1, 129, + -1, -1, -1, 133, -1, -1, -1, -1, 1220, 1221, + -1, -1, 142, 143, 144, 145, -1, -1, -1, -1, + -1, -1, 152, -1, 154, 155, 156, -1, 158, 159, + 160, 161, 162, 1, -1, -1, -1, -1, -1, 7, + 8, -1, -1, 173, -1, -1, 14, -1, 178, 179, + -1, 181, 182, -1, 184, -1, -1, 25, 26, -1, + -1, 29, 30, -1, -1, 33, 34, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 56, 57, + -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 85, -1, -1, + -1, -1, 1143, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, + -1, -1, -1, -1, -1, -1, 114, -1, 116, 117, + 118, 119, 120, 121, 122, -1, -1, 125, -1, -1, + -1, 129, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, -1, -1, 142, 143, 144, 145, -1, -1, + -1, -1, -1, -1, 152, -1, 154, 155, 156, -1, + 158, 159, 160, 161, 162, -1, -1, -1, -1, -1, + -1, -1, 1, -1, -1, 173, -1, -1, 7, 8, + 178, 179, -1, 181, 182, 14, -1, -1, -1, 1240, + -1, 1242, -1, -1, -1, -1, 25, 26, -1, -1, + 29, 30, -1, -1, 33, 34, -1, -1, 37, -1, + -1, -1, -1, 42, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 56, 57, -1, + -1, 60, -1, -1, -1, -1, -1, -1, -1, 1, + -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, + -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 25, 26, -1, -1, 29, 30, -1, + -1, 33, 34, -1, -1, 37, 105, -1, -1, -1, + -1, -1, -1, -1, -1, 114, -1, 116, 117, 118, + 119, 120, 121, 122, 56, 57, 125, -1, 60, -1, + 129, -1, 131, -1, 133, -1, -1, -1, -1, -1, + -1, -1, -1, 142, 143, 144, 145, -1, -1, -1, + -1, -1, -1, 152, -1, 154, 155, 156, -1, 158, + 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 105, 173, -1, -1, -1, -1, 178, + 179, -1, 114, 182, 116, 117, 118, 119, 120, 121, + 122, -1, -1, 125, -1, -1, -1, 129, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 143, 144, 145, -1, -1, -1, -1, -1, -1, + 152, -1, 154, 155, 156, -1, 158, 159, 160, 161, + 162, -1, 1, -1, -1, -1, -1, -1, 7, 8, + -1, 173, -1, -1, -1, 14, 178, 179, 17, 181, + 182, -1, -1, -1, -1, -1, 25, 26, -1, -1, + 29, 30, -1, -1, 33, 34, -1, -1, 37, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 56, 57, -1, + -1, 60, -1, -1, -1, -1, -1, -1, -1, 1, + -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, + -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 25, 26, -1, -1, 29, 30, -1, + -1, 33, 34, -1, -1, 37, 105, -1, -1, -1, + -1, -1, -1, -1, -1, 114, -1, 116, 117, 118, + 119, 120, 121, 122, 56, 57, 125, -1, 60, -1, + 129, -1, -1, -1, 133, -1, -1, -1, -1, -1, + -1, -1, -1, 142, 143, 144, 145, -1, -1, -1, + -1, -1, -1, 152, -1, 154, 155, 156, -1, 158, + 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 105, 173, -1, -1, -1, -1, 178, + 179, -1, 114, 182, 116, 117, 118, 119, 120, 121, + 122, -1, -1, 125, -1, -1, -1, 129, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 143, 144, 145, -1, -1, -1, -1, -1, -1, + 152, -1, 154, 155, 156, -1, 158, 159, 160, 161, + 162, 1, -1, -1, -1, -1, -1, 7, 8, -1, + -1, 173, -1, -1, 14, -1, 178, 179, -1, -1, + 182, -1, -1, -1, -1, 25, 26, -1, -1, 29, + 30, -1, -1, 33, 34, -1, -1, 37, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 56, 57, -1, -1, + 60, -1, -1, -1, -1, -1, -1, -1, 1, -1, + -1, -1, -1, -1, 7, 8, -1, -1, -1, -1, + -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 25, 26, -1, -1, 29, 30, -1, -1, + 33, 34, -1, -1, 37, 105, -1, -1, -1, -1, + -1, -1, -1, -1, 114, -1, 116, 117, 118, 119, + 120, 121, 122, 56, 57, 125, -1, 60, -1, 129, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, -1, 142, 143, 144, 145, -1, -1, -1, -1, + -1, -1, 152, -1, 154, 155, 156, -1, 158, 159, + 160, 161, 162, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 105, 173, -1, -1, -1, -1, 178, 179, + -1, 114, 182, 116, 117, 118, 119, 120, 121, 122, + -1, -1, 125, -1, -1, -1, 129, -1, -1, -1, + 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, + 143, 144, 145, -1, -1, -1, -1, -1, -1, 152, + -1, 154, 155, 156, -1, 158, 159, 160, 161, 162, 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, - -1, -1, -1, 14, -1, -1, 17, -1, -1, -1, - -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, 104, -1, 36, -1, -1, -1, -1, - -1, -1, 113, -1, 115, 116, 117, 118, 119, 120, - 121, -1, -1, 124, 55, 56, -1, 128, 59, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - 141, 142, 143, 144, -1, -1, -1, -1, -1, -1, - 151, -1, 153, 154, 155, -1, 157, 158, 159, 160, - 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 172, -1, 104, -1, -1, 177, 178, -1, 180, - 181, -1, 113, -1, 115, 116, 117, 118, 119, 120, - 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 1, -1, - 141, 142, 143, 144, 7, 8, -1, -1, -1, -1, - 151, 14, 153, 154, 155, -1, 157, 158, 159, 160, - 161, 24, 25, -1, -1, 28, 29, -1, -1, 32, - 33, 172, -1, 36, -1, -1, 177, 178, -1, -1, - 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, - -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, - 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, - 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, - 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 104, 172, - -1, -1, -1, -1, 177, 178, -1, 113, 181, 115, - 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, - -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, - 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, - -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, - -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, - -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 55, 56, 124, -1, 59, -1, - 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 104, 172, -1, -1, -1, -1, 177, - 178, -1, 113, 181, 115, 116, 117, 118, 119, 120, - 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 1, -1, - 141, 142, 143, 144, 7, 8, -1, -1, -1, -1, - 151, 14, 153, 154, 155, -1, 157, 158, 159, 160, - 161, 24, 25, -1, -1, 28, 29, -1, -1, 32, - 33, 172, -1, 36, -1, -1, 177, 178, -1, -1, - 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, - -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, - 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, - 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, - 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 104, 172, - -1, -1, -1, -1, 177, 178, -1, 113, 181, 115, - 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, - -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, - 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, - -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, - -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 24, 25, -1, -1, 28, 29, -1, - -1, 32, 33, -1, -1, 36, 104, -1, -1, -1, - -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, - 118, 119, 120, 121, 55, 56, 124, -1, 59, -1, - 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 104, 172, -1, -1, -1, -1, 177, - 178, -1, 113, 181, 115, 116, 117, 118, 119, 120, - 121, -1, -1, 124, -1, -1, -1, 128, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 1, -1, - 141, 142, 143, 144, 7, 8, -1, -1, -1, -1, - 151, 14, 153, 154, 155, -1, 157, 158, 159, 160, - 161, 24, 25, -1, -1, 28, 29, -1, -1, 32, - 33, 172, -1, 36, -1, -1, 177, 178, -1, -1, - 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 56, -1, -1, 59, -1, -1, -1, + 173, -1, -1, 14, -1, 178, 179, -1, -1, 182, + -1, -1, -1, -1, 25, 26, -1, -1, 29, 30, + -1, -1, 33, 34, -1, -1, 37, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 56, 57, -1, -1, 60, + -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, + -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, + 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 25, 26, -1, -1, 29, 30, -1, -1, 33, + 34, -1, -1, 37, 105, -1, -1, -1, -1, -1, + -1, -1, -1, 114, -1, 116, 117, 118, 119, 120, + 121, 122, 56, 57, 125, -1, 60, -1, 129, -1, + -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, + -1, 142, 143, 144, 145, -1, -1, -1, -1, -1, + -1, 152, -1, 154, 155, 156, -1, 158, 159, 160, + 161, 162, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 105, 173, -1, -1, -1, -1, 178, 179, -1, + 114, 182, 116, 117, 118, 119, 120, 121, 122, -1, + -1, 125, -1, -1, -1, 129, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 143, + 144, 145, -1, -1, -1, -1, -1, -1, 152, -1, + 154, 155, 156, -1, 158, 159, 160, 161, 162, 1, + -1, -1, -1, -1, -1, 7, 8, -1, -1, 173, + -1, -1, 14, -1, 178, 179, -1, -1, 182, -1, + -1, -1, -1, 25, 26, -1, -1, 29, 30, -1, + -1, 33, 34, -1, -1, 37, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 56, 57, -1, -1, 60, -1, + -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, + -1, -1, 7, 8, -1, -1, -1, -1, -1, 14, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 25, 26, -1, -1, 29, 30, -1, -1, 33, 34, + -1, -1, 37, 105, -1, -1, -1, -1, -1, -1, + -1, -1, 114, -1, 116, 117, 118, 119, 120, 121, + 122, 56, 57, 125, -1, 60, -1, 129, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 143, 144, 145, -1, -1, -1, -1, -1, -1, + 152, -1, 154, 155, 156, -1, 158, 159, 160, 161, + 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 105, 173, -1, -1, -1, -1, 178, 179, -1, 114, + 182, 116, 117, 118, 119, 120, 121, 122, -1, -1, + 125, -1, -1, -1, 129, -1, -1, -1, 133, -1, + -1, -1, -1, -1, -1, -1, -1, 142, 143, 144, + 145, -1, -1, -1, -1, -1, -1, 152, -1, 154, + 155, 156, -1, 158, 159, 160, 161, 162, 1, -1, + -1, -1, -1, -1, 7, 8, -1, -1, 173, -1, + -1, 14, -1, 178, 179, -1, -1, 182, -1, -1, + -1, -1, 25, 26, -1, -1, 29, 30, -1, -1, + 33, 34, -1, -1, 37, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 56, 57, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, -1, -1, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, - -1, -1, 28, 29, -1, -1, 32, 33, -1, -1, - 36, 104, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, 115, 116, 117, 118, 119, 120, 121, 55, - 56, 124, -1, 59, -1, 128, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, - 143, 144, -1, -1, -1, -1, -1, -1, 151, -1, - 153, 154, 155, -1, 157, 158, 159, 160, 161, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 104, 172, - -1, -1, -1, -1, 177, 178, -1, 113, 181, 115, - 116, 117, 118, 119, 120, 121, -1, -1, 124, -1, - -1, -1, 128, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 1, -1, 141, 142, 143, 144, 7, - 8, -1, -1, -1, -1, 151, 14, 153, 154, 155, - -1, 157, 158, 159, 160, 161, 24, 25, -1, -1, - 28, 29, -1, -1, 32, 33, 172, -1, 36, -1, - -1, 177, 178, -1, -1, 181, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, - -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, + 26, -1, -1, 29, 30, -1, -1, 33, 34, -1, + -1, 37, 105, -1, -1, -1, -1, -1, -1, -1, + -1, 114, -1, 116, 117, 118, 119, 120, 121, 122, + 56, 57, 125, -1, 60, -1, 129, -1, -1, -1, + 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, + 143, 144, 145, -1, -1, -1, -1, -1, -1, 152, + -1, 154, 155, 156, -1, 158, 159, 160, 161, 162, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, + 173, -1, -1, -1, -1, 178, 179, -1, 114, 182, + 116, 117, 118, 119, 120, 121, 122, -1, -1, 125, + -1, -1, -1, 129, -1, -1, -1, 133, -1, -1, + -1, -1, -1, -1, -1, -1, 142, 143, 144, 145, + -1, -1, -1, -1, -1, -1, 152, -1, 154, 155, + 156, -1, 158, 159, 160, 161, 162, 1, -1, -1, + -1, -1, -1, 7, 8, -1, -1, 173, -1, -1, + 14, -1, 178, 179, -1, -1, 182, -1, -1, -1, + -1, 25, 26, -1, -1, 29, 30, -1, -1, 33, + 34, -1, -1, 37, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 56, 57, -1, -1, 60, -1, -1, -1, + -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, + 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, + -1, -1, 29, 30, -1, -1, 33, 34, -1, -1, + 37, 105, -1, -1, -1, -1, -1, -1, -1, -1, + 114, -1, 116, 117, 118, 119, 120, 121, 122, 56, + 57, 125, -1, 60, -1, 129, -1, -1, -1, 133, + -1, -1, -1, -1, -1, -1, -1, -1, 142, 143, + 144, 145, -1, -1, -1, -1, -1, -1, 152, -1, + 154, 155, 156, -1, 158, 159, 160, 161, 162, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 105, 173, + -1, -1, -1, -1, 178, 179, -1, 114, 182, 116, + 117, 118, 119, 120, 121, 122, -1, -1, 125, -1, + -1, -1, 129, -1, -1, -1, 133, -1, -1, -1, + -1, -1, -1, -1, -1, 142, 143, 144, 145, -1, + -1, -1, -1, -1, -1, 152, -1, 154, 155, 156, + -1, 158, 159, 160, 161, 162, -1, -1, -1, 1, + -1, -1, -1, -1, 6, -1, 173, 9, 10, -1, + -1, 178, 179, -1, -1, 182, 18, 19, 20, 21, + 22, -1, -1, -1, -1, 27, 28, -1, -1, -1, + 32, -1, -1, 35, 36, -1, 38, 39, 40, 41, + 42, 43, 44, -1, 46, -1, -1, -1, -1, -1, + -1, -1, 54, -1, 56, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 68, -1, 70, -1, + -1, -1, 74, 75, 76, 77, 78, -1, -1, -1, + -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, + -1, 93, -1, -1, 96, -1, -1, 99, -1, -1, + 102, -1, 104, 105, 106, 107, 108, 109, 110, -1, + 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 124, -1, -1, 127, 128, -1, 130, 131, + 1, -1, -1, -1, -1, 6, -1, 139, 9, 10, + -1, 143, -1, -1, 146, -1, -1, 18, 19, 20, + 21, 22, -1, -1, -1, -1, 27, 28, -1, -1, + -1, 32, -1, -1, 35, 36, -1, 38, 39, 40, + 41, 42, 43, 44, -1, 46, -1, -1, -1, 181, + -1, -1, -1, 54, -1, 56, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 68, -1, 70, + -1, -1, -1, 74, 75, 76, 77, 78, -1, -1, + -1, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, 93, -1, -1, 96, -1, -1, 99, -1, + -1, 102, -1, 104, 105, 106, 107, 108, 109, 110, + -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, -1, -1, 127, 128, -1, 130, + 131, -1, -1, -1, -1, -1, -1, -1, 139, -1, + -1, -1, 143, -1, 1, 146, -1, -1, -1, 6, + -1, -1, 9, 10, 11, -1, -1, -1, 15, -1, + -1, 18, 19, -1, 21, 22, -1, -1, -1, -1, + 27, 28, -1, -1, -1, 32, -1, -1, 35, -1, + 181, 38, 39, 40, 41, 42, 43, 44, -1, 46, + -1, -1, -1, -1, -1, -1, -1, 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 68, -1, -1, -1, -1, -1, -1, 75, 76, + 77, 78, -1, -1, -1, -1, -1, -1, -1, 86, + 87, 88, 89, -1, -1, -1, 93, -1, -1, 96, + 97, -1, 99, -1, -1, 102, -1, 104, 105, 106, + 107, 108, 109, 110, -1, 112, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, -1, -1, + 127, 128, -1, 130, 131, 1, -1, -1, -1, -1, + 6, -1, 139, 9, 10, -1, 143, -1, -1, 146, + -1, -1, 18, 19, 20, 21, 22, -1, -1, -1, + -1, 27, 28, -1, -1, -1, 32, -1, -1, 35, + 36, -1, 38, 39, 40, 41, 42, 43, 44, -1, + 46, -1, -1, -1, 181, -1, -1, -1, 54, -1, + 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 68, -1, -1, -1, -1, -1, -1, 75, + 76, 77, 78, -1, -1, -1, -1, -1, -1, -1, + 86, 87, 88, 89, -1, -1, -1, 93, -1, -1, + 96, -1, -1, 99, -1, -1, 102, -1, 104, 105, + 106, 107, 108, 109, 110, -1, 112, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, -1, + -1, 127, 128, -1, 130, 131, 1, -1, -1, -1, + -1, 6, -1, 139, 9, 10, -1, 143, -1, -1, + 146, -1, -1, 18, 19, 20, 21, 22, -1, -1, + -1, -1, 27, 28, -1, -1, -1, 32, -1, -1, + 35, 36, -1, 38, 39, 40, 41, 42, 43, 44, + -1, 46, -1, -1, -1, 181, -1, -1, -1, 54, + -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, + 75, 76, 77, 78, -1, -1, -1, -1, -1, -1, + -1, 86, 87, 88, 89, -1, -1, -1, 93, -1, + -1, 96, -1, -1, 99, -1, -1, 102, -1, 104, + 105, 106, 107, 108, 109, 110, -1, 112, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + -1, -1, 127, 128, -1, 130, 131, 1, -1, -1, + -1, -1, 6, -1, 139, 9, 10, -1, 143, -1, + -1, 146, -1, -1, 18, 19, 20, 21, 22, -1, + -1, -1, -1, 27, 28, -1, -1, -1, 32, -1, + -1, 35, 36, -1, 38, 39, 40, 41, 42, 43, + 44, -1, 46, -1, -1, -1, 181, -1, -1, -1, + 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 68, -1, -1, -1, -1, -1, + -1, 75, 76, 77, 78, -1, -1, -1, -1, -1, + -1, -1, 86, 87, 88, 89, -1, -1, -1, 93, + -1, -1, 96, -1, -1, 99, -1, -1, 102, -1, + 104, 105, 106, 107, 108, 109, 110, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, -1, -1, 127, 128, -1, 130, 131, 1, -1, + -1, -1, -1, 6, -1, 139, 9, 10, -1, 143, + -1, -1, 146, -1, -1, 18, 19, 20, 21, 22, + -1, -1, -1, -1, 27, 28, -1, -1, -1, 32, + -1, -1, 35, 36, -1, 38, 39, 40, 41, 42, + 43, 44, -1, 46, -1, -1, -1, 181, -1, -1, + -1, 54, -1, 56, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 68, -1, -1, -1, -1, + -1, -1, 75, 76, 77, 78, -1, -1, -1, -1, + -1, -1, -1, 86, 87, 88, 89, -1, -1, -1, + 93, -1, -1, 96, -1, -1, 99, -1, -1, 102, + -1, 104, 105, 106, 107, 108, 109, 110, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, - -1, -1, -1, -1, -1, 113, -1, 115, 116, 117, - 118, 119, 120, 121, -1, -1, 124, -1, -1, -1, - 128, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, -1, -1, -1, - -1, -1, -1, 151, -1, 153, 154, 155, -1, 157, - 158, 159, 160, 161, -1, -1, -1, 1, -1, -1, - -1, -1, 6, -1, 172, 9, 10, -1, -1, 177, - 178, -1, -1, 181, 18, 19, 20, 21, -1, -1, - -1, -1, 26, 27, -1, -1, -1, 31, -1, -1, - 34, 35, -1, 37, 38, 39, 40, 41, 42, 43, - -1, 45, -1, -1, -1, -1, -1, -1, -1, 53, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 67, -1, 69, -1, -1, -1, 73, - 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, - -1, 85, 86, 87, 88, -1, -1, -1, 92, -1, - -1, 95, -1, -1, 98, -1, -1, 101, -1, 103, - 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - -1, -1, 126, 127, -1, 129, 130, 1, -1, -1, - -1, -1, 6, -1, 138, 9, 10, -1, 142, -1, - -1, 145, -1, -1, 18, 19, 20, 21, -1, -1, - -1, -1, 26, 27, -1, -1, -1, 31, -1, -1, - 34, 35, -1, 37, 38, 39, 40, 41, 42, 43, - -1, 45, -1, -1, -1, -1, 180, -1, -1, 53, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 67, -1, 69, -1, -1, -1, 73, - 74, 75, 76, 77, -1, -1, -1, -1, -1, -1, - -1, 85, 86, 87, 88, -1, -1, -1, 92, -1, - -1, 95, -1, -1, 98, -1, -1, 101, -1, 103, - 104, 105, 106, 107, 108, 109, -1, 111, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - -1, -1, 126, 127, -1, 129, 130, -1, -1, -1, - -1, -1, -1, -1, 138, -1, -1, -1, 142, -1, - -1, 145, 1, -1, -1, -1, -1, 6, -1, -1, - 9, 10, 11, -1, -1, -1, 15, -1, -1, 18, - 19, -1, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 180, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, -1, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, -1, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 1, -1, -1, -1, -1, 6, -1, 138, - 9, 10, -1, 142, -1, -1, 145, -1, -1, 18, - 19, 20, 21, -1, -1, -1, -1, 26, 27, -1, - -1, -1, 31, -1, -1, 34, 35, -1, 37, 38, - 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, - -1, 180, -1, -1, 53, -1, 55, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, -1, -1, -1, -1, 74, 75, 76, 77, -1, - -1, -1, -1, -1, -1, -1, 85, 86, 87, 88, - -1, -1, -1, 92, -1, -1, 95, -1, -1, 98, - -1, -1, 101, -1, 103, 104, 105, 106, 107, 108, - 109, -1, 111, -1, -1, 7, 8, -1, -1, -1, - -1, -1, 14, -1, 123, -1, -1, 126, 127, -1, - 129, 130, 24, 25, -1, -1, 28, 29, -1, 138, - 32, 33, -1, 142, 36, -1, 145, -1, -1, 41, + -1, 124, -1, -1, 127, 128, -1, 130, 131, 1, + -1, -1, -1, -1, 6, -1, 139, 9, 10, -1, + 143, -1, -1, 146, -1, -1, 18, 19, 20, 21, + 22, -1, -1, -1, -1, 27, 28, -1, -1, -1, + 32, -1, -1, 35, 36, -1, 38, 39, 40, 41, + 42, 43, 44, -1, 46, -1, -1, -1, 181, -1, + -1, -1, 54, -1, 56, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 68, -1, -1, -1, + -1, -1, -1, 75, 76, 77, 78, -1, -1, -1, + -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, + -1, 93, -1, -1, 96, -1, -1, 99, -1, -1, + 102, -1, 104, 105, 106, 107, 108, 109, 110, -1, + 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 124, -1, -1, 127, 128, -1, 130, 131, + 1, -1, -1, -1, -1, 6, -1, 139, 9, 10, + -1, 143, -1, -1, 146, -1, -1, 18, 19, 20, + 21, 22, -1, -1, -1, -1, 27, 28, -1, -1, + -1, 32, -1, -1, 35, 36, -1, 38, 39, 40, + 41, 42, 43, 44, -1, 46, -1, -1, -1, 181, + -1, -1, -1, 54, -1, 56, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 68, -1, -1, + -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, + -1, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, 93, -1, -1, 96, -1, -1, 99, -1, + -1, 102, -1, 104, 105, 106, 107, 108, 109, 110, + -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, -1, -1, 127, 128, -1, 130, + 131, 1, -1, -1, -1, -1, 6, -1, 139, 9, + 10, -1, 143, -1, -1, 146, -1, -1, 18, 19, + 20, 21, 22, -1, -1, -1, -1, 27, 28, -1, + -1, -1, 32, -1, -1, 35, 36, -1, 38, 39, + 40, 41, 42, 43, 44, -1, 46, -1, -1, -1, + 181, -1, -1, -1, 54, -1, 56, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 68, -1, + -1, -1, -1, -1, -1, 75, 76, 77, 78, -1, + -1, -1, -1, -1, -1, -1, 86, 87, 88, 89, + -1, -1, -1, 93, -1, -1, 96, -1, -1, 99, + -1, -1, 102, -1, 104, 105, 106, 107, 108, 109, + 110, -1, 112, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, -1, -1, 127, 128, -1, + 130, 131, 1, -1, -1, -1, -1, 6, -1, 139, + 9, 10, -1, 143, -1, -1, 146, -1, -1, 18, + 19, 20, 21, 22, -1, -1, -1, -1, 27, 28, + -1, -1, -1, 32, -1, -1, 35, 36, -1, 38, + 39, 40, 41, 42, 43, 44, -1, 46, -1, -1, + -1, 181, -1, -1, -1, 54, -1, 56, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, + -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, + -1, -1, -1, -1, -1, -1, -1, 86, 87, 88, + 89, -1, -1, -1, 93, -1, -1, 96, -1, -1, + 99, -1, -1, 102, -1, 104, 105, 106, 107, 108, + 109, 110, -1, 112, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 124, -1, -1, 127, 128, + -1, 130, 131, 1, -1, -1, -1, -1, 6, -1, + 139, 9, 10, -1, 143, -1, -1, 146, -1, -1, + 18, 19, 20, 21, 22, -1, -1, -1, -1, 27, + 28, -1, -1, -1, 32, -1, -1, 35, 36, -1, + 38, 39, 40, 41, 42, 43, 44, -1, 46, -1, + -1, -1, 181, -1, -1, -1, 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, + 68, -1, -1, -1, -1, -1, -1, 75, 76, 77, + 78, -1, -1, -1, -1, -1, -1, -1, 86, 87, + 88, 89, -1, -1, -1, 93, -1, -1, 96, -1, + -1, 99, -1, -1, 102, -1, 104, 105, 106, 107, + 108, 109, 110, -1, 112, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 124, -1, -1, 127, + 128, -1, 130, 131, 1, -1, -1, -1, -1, 6, + -1, 139, 9, 10, -1, 143, -1, -1, 146, -1, + -1, 18, 19, 20, 21, 22, -1, -1, -1, -1, + 27, 28, -1, -1, -1, 32, -1, -1, 35, 36, + -1, 38, 39, 40, 41, 42, 43, 44, -1, 46, + -1, -1, -1, 181, -1, -1, -1, 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 180, 7, 8, -1, -1, -1, -1, -1, 14, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, - 25, -1, -1, 28, 29, -1, -1, 32, 33, -1, - -1, 36, 104, -1, -1, -1, -1, -1, -1, -1, - -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, - 55, 56, 124, -1, 59, -1, 128, -1, 130, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 142, 143, 144, 78, -1, -1, -1, -1, 83, 151, - -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, - 172, -1, -1, -1, -1, 177, 178, -1, 113, 181, - 115, 116, 117, 118, 119, 120, 121, -1, -1, 124, - -1, -1, -1, 128, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, - 7, 8, -1, -1, -1, -1, 151, 14, 153, 154, - 155, -1, 157, 158, 159, 160, 161, 24, 25, -1, - -1, 28, 29, -1, -1, 32, 33, 172, -1, 36, - -1, -1, 177, 178, -1, -1, 181, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 55, 56, - -1, -1, 59, -1, -1, -1, -1, -1, -1, 66, - -1, -1, -1, -1, -1, -1, -1, 7, 8, -1, - -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 24, 25, -1, -1, 28, 29, - -1, -1, 32, 33, -1, -1, 36, 104, -1, -1, - -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, - 117, 118, 119, 120, 121, 55, 56, 124, -1, 59, - -1, 128, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, - -1, -1, -1, -1, 151, -1, 153, 154, 155, -1, - 157, 158, 159, 160, 161, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 104, 172, -1, -1, -1, -1, - 177, 178, -1, 113, 181, 115, 116, 117, 118, 119, - 120, 121, -1, -1, 124, -1, -1, -1, 128, -1, - -1, -1, 132, 133, -1, -1, -1, -1, -1, -1, - -1, 141, 142, 143, 144, 7, 8, -1, -1, -1, - -1, 151, 14, 153, 154, 155, -1, 157, 158, 159, - 160, 161, 24, 25, -1, -1, 28, 29, -1, -1, - 32, 33, 172, -1, 36, -1, -1, 177, 178, -1, - -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 55, 56, -1, -1, 59, -1, -1, + -1, 68, -1, -1, -1, -1, -1, -1, 75, 76, + 77, 78, -1, -1, -1, -1, -1, -1, -1, 86, + 87, 88, 89, -1, -1, -1, 93, -1, -1, 96, + -1, -1, 99, -1, -1, 102, -1, 104, 105, 106, + 107, 108, 109, 110, -1, 112, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, -1, -1, + 127, 128, -1, 130, 131, 1, -1, -1, -1, -1, + 6, -1, 139, 9, 10, -1, 143, -1, -1, 146, + -1, -1, 18, 19, 20, 21, 22, -1, -1, -1, + -1, 27, 28, -1, -1, -1, 32, -1, -1, 35, + 36, -1, 38, 39, 40, 41, 42, 43, 44, -1, + 46, -1, -1, -1, 181, -1, -1, -1, 54, -1, + 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 68, -1, -1, -1, -1, -1, -1, 75, + 76, 77, 78, -1, -1, -1, -1, -1, -1, -1, + 86, 87, 88, 89, -1, -1, -1, 93, -1, -1, + 96, -1, -1, 99, -1, -1, 102, -1, 104, 105, + 106, 107, 108, 109, 110, -1, 112, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, -1, + -1, 127, 128, -1, 130, 131, 1, -1, -1, -1, + -1, 6, -1, 139, 9, 10, -1, 143, -1, -1, + 146, -1, -1, 18, 19, -1, 21, 22, -1, -1, + -1, -1, 27, 28, -1, -1, -1, 32, -1, -1, + 35, 36, -1, 38, 39, 40, 41, 42, 43, 44, + -1, 46, -1, -1, -1, 181, -1, -1, -1, 54, + -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 68, 69, -1, -1, -1, -1, -1, + 75, 76, 77, 78, -1, -1, -1, -1, -1, -1, + -1, 86, 87, 88, 89, -1, -1, -1, 93, -1, + -1, 96, -1, -1, 99, -1, -1, 102, -1, 104, + 105, 106, 107, 108, 109, 110, -1, 112, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + -1, -1, 127, 128, -1, 130, 131, 1, -1, -1, + -1, -1, 6, -1, 139, 9, 10, -1, 143, -1, + -1, 146, -1, -1, 18, 19, 20, 21, 22, -1, + -1, -1, -1, 27, 28, -1, -1, -1, 32, -1, + -1, 35, 36, -1, 38, 39, 40, 41, 42, 43, + 44, -1, 46, -1, -1, -1, 181, -1, -1, -1, + 54, -1, 56, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 68, -1, -1, -1, -1, -1, + -1, 75, 76, 77, 78, -1, -1, -1, -1, -1, + -1, -1, 86, 87, 88, 89, -1, -1, -1, 93, + -1, -1, 96, -1, -1, 99, -1, -1, 102, -1, + 104, 105, 106, 107, 108, 109, 110, -1, 112, -1, + 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, + 124, -1, -1, 127, 128, -1, 130, 131, 25, 26, + -1, -1, 29, 30, -1, 139, 33, 34, -1, 143, + 37, -1, 146, -1, -1, 42, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, + 57, -1, -1, 60, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 105, -1, + -1, -1, -1, -1, -1, -1, -1, 114, -1, 116, + 117, 118, 119, 120, 121, 122, -1, -1, 125, -1, + -1, -1, 129, -1, 131, -1, 133, -1, -1, -1, + -1, -1, -1, -1, -1, 142, 143, 144, 145, -1, + -1, -1, -1, -1, -1, 152, -1, 154, 155, 156, + -1, 158, 159, 160, 161, 162, -1, -1, 7, 8, + -1, -1, -1, -1, -1, 14, 173, -1, -1, -1, + -1, 178, 179, -1, -1, 182, 25, 26, -1, -1, + 29, 30, -1, -1, 33, 34, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 56, 57, -1, + -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 7, 8, -1, -1, -1, + 79, -1, 14, -1, -1, 84, -1, -1, -1, -1, + -1, -1, -1, 25, 26, -1, -1, 29, 30, -1, + -1, 33, 34, -1, -1, 37, 105, -1, -1, -1, + -1, -1, -1, -1, -1, 114, -1, 116, 117, 118, + 119, 120, 121, 122, 56, 57, 125, -1, 60, -1, + 129, -1, -1, -1, 133, 67, -1, -1, -1, -1, + -1, -1, -1, 142, 143, 144, 145, -1, -1, -1, + -1, -1, -1, 152, -1, 154, 155, 156, -1, 158, + 159, 160, 161, 162, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 105, 173, -1, -1, -1, -1, 178, + 179, -1, 114, 182, 116, 117, 118, 119, 120, 121, + 122, -1, -1, 125, -1, -1, -1, 129, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 143, 144, 145, -1, -1, -1, -1, -1, -1, + 152, -1, 154, 155, 156, -1, 158, 159, 160, 161, + 162, -1, -1, 7, 8, -1, -1, -1, -1, -1, + 14, 173, -1, -1, -1, -1, 178, 179, -1, -1, + 182, 25, 26, -1, -1, 29, 30, -1, -1, 33, + 34, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 104, -1, -1, -1, -1, -1, -1, -1, - -1, 113, -1, 115, 116, 117, 118, 119, 120, 121, - -1, -1, 124, -1, -1, -1, 128, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 142, 143, 144, -1, -1, -1, -1, -1, -1, 151, - -1, 153, 154, 155, -1, 157, 158, 159, 160, 161, + -1, -1, 56, 57, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 172, -1, -1, -1, -1, 177, 178, -1, -1, 181 + 7, 8, -1, -1, -1, -1, -1, 14, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, + -1, -1, 29, 30, -1, -1, 33, 34, -1, -1, + 37, 105, -1, -1, -1, -1, -1, -1, -1, -1, + 114, -1, 116, 117, 118, 119, 120, 121, 122, 56, + 57, 125, -1, 60, -1, 129, -1, -1, -1, 133, + 134, -1, -1, -1, -1, -1, -1, -1, 142, 143, + 144, 145, -1, -1, -1, -1, -1, -1, 152, -1, + 154, 155, 156, -1, 158, 159, 160, 161, 162, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 105, 173, + -1, -1, -1, -1, 178, 179, -1, 114, 182, 116, + 117, 118, 119, 120, 121, 122, -1, -1, 125, -1, + -1, -1, 129, -1, -1, -1, 133, -1, -1, -1, + -1, -1, -1, -1, -1, 142, 143, 144, 145, -1, + -1, -1, -1, -1, -1, 152, -1, 154, 155, 156, + -1, 158, 159, 160, 161, 162, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 173, -1, -1, -1, + -1, 178, 179, -1, -1, 182 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 187, 189, 0, 190, 1, 6, 9, 10, 11, - 15, 18, 19, 21, 26, 27, 31, 34, 37, 38, - 39, 40, 41, 42, 43, 45, 53, 55, 67, 74, - 75, 76, 77, 85, 86, 87, 88, 92, 95, 96, - 98, 101, 103, 104, 105, 106, 107, 108, 109, 111, - 123, 126, 127, 129, 130, 138, 142, 145, 180, 188, - 191, 192, 205, 227, 229, 231, 233, 234, 276, 312, - 323, 326, 328, 334, 339, 346, 349, 352, 355, 356, - 357, 358, 359, 360, 404, 406, 407, 409, 415, 416, - 433, 443, 445, 450, 451, 455, 461, 463, 188, 1, - 142, 188, 54, 142, 236, 237, 1, 39, 142, 294, - 323, 326, 1, 456, 1, 452, 1, 464, 1, 7, - 8, 14, 24, 25, 28, 29, 32, 33, 36, 55, - 56, 59, 104, 113, 115, 116, 117, 118, 119, 120, - 121, 124, 128, 132, 141, 142, 143, 144, 151, 153, - 154, 155, 157, 158, 159, 160, 161, 172, 177, 178, - 181, 248, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 265, 267, 270, 1, 142, 1, 142, - 15, 18, 1, 142, 1, 142, 181, 238, 188, 284, - 1, 270, 84, 270, 188, 188, 150, 188, 1, 188, - 286, 188, 1, 6, 129, 188, 188, 188, 15, 18, - 19, 31, 40, 41, 96, 129, 359, 6, 142, 305, - 142, 302, 1, 288, 1, 66, 142, 1, 335, 363, - 327, 1, 142, 1, 84, 181, 285, 405, 1, 15, - 96, 142, 188, 244, 58, 228, 228, 1, 142, 1, - 142, 300, 188, 84, 293, 338, 188, 1, 329, 296, - 20, 69, 272, 272, 1, 35, 181, 354, 1, 354, - 1, 354, 1, 142, 341, 342, 1, 129, 142, 188, - 437, 1, 188, 421, 183, 421, 421, 1, 183, 188, - 299, 420, 1, 270, 271, 417, 419, 1, 279, 1, - 446, 271, 188, 206, 188, 183, 188, 188, 142, 281, - 129, 328, 63, 439, 337, 338, 188, 271, 188, 271, - 20, 35, 150, 465, 466, 467, 477, 53, 67, 68, - 69, 74, 351, 353, 238, 181, 181, 181, 181, 181, - 181, 181, 181, 238, 181, 255, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 181, 181, 181, 181, 181, 255, 255, - 255, 271, 58, 174, 175, 176, 172, 173, 162, 163, - 60, 61, 65, 170, 171, 62, 169, 168, 167, 166, - 63, 64, 184, 66, 351, 188, 188, 188, 444, 22, - 22, 188, 188, 182, 188, 1, 271, 422, 68, 68, - 50, 142, 188, 188, 188, 271, 188, 91, 103, 134, - 142, 142, 15, 18, 1, 361, 188, 183, 183, 307, - 183, 183, 304, 188, 271, 188, 142, 20, 74, 142, - 370, 188, 183, 188, 324, 325, 1, 292, 52, 60, - 61, 71, 79, 80, 146, 147, 148, 164, 165, 424, - 425, 411, 412, 188, 246, 245, 247, 235, 272, 235, - 188, 230, 188, 232, 75, 81, 82, 83, 99, 100, - 313, 315, 316, 322, 309, 50, 142, 309, 188, 309, - 20, 41, 130, 332, 333, 441, 272, 1, 67, 188, - 436, 280, 6, 34, 35, 40, 101, 273, 276, 348, - 20, 188, 57, 149, 225, 270, 277, 188, 341, 188, - 341, 188, 343, 183, 188, 188, 188, 188, 188, 408, - 188, 417, 417, 188, 271, 183, 420, 188, 341, 188, - 271, 1, 183, 282, 207, 226, 271, 237, 297, 52, - 295, 270, 53, 310, 439, 457, 453, 34, 35, 37, - 53, 67, 74, 483, 1, 225, 468, 20, 466, 182, - 182, 270, 271, 270, 270, 270, 270, 270, 271, 271, - 271, 1, 142, 182, 271, 270, 270, 270, 1, 142, - 1, 142, 1, 50, 51, 142, 271, 249, 270, 270, - 270, 270, 270, 270, 270, 271, 271, 182, 55, 59, - 254, 254, 254, 255, 255, 256, 256, 257, 257, 257, - 257, 257, 258, 258, 259, 260, 261, 264, 266, 268, - 267, 183, 459, 460, 142, 142, 188, 1, 188, 423, - 287, 188, 188, 271, 290, 291, 22, 22, 20, 142, - 306, 270, 188, 303, 270, 188, 289, 364, 410, 50, - 142, 188, 250, 251, 252, 271, 422, 271, 413, 414, - 188, 188, 188, 20, 181, 239, 239, 320, 318, 317, - 319, 301, 53, 74, 188, 314, 316, 78, 309, 442, - 370, 271, 20, 188, 188, 272, 1, 70, 1, 70, - 1, 70, 15, 18, 70, 73, 347, 350, 1, 37, - 53, 188, 438, 182, 341, 188, 188, 344, 424, 342, - 413, 420, 420, 418, 188, 447, 188, 142, 188, 462, - 3, 4, 5, 35, 46, 47, 48, 49, 50, 51, - 89, 133, 134, 208, 209, 210, 459, 1, 271, 426, - 439, 311, 310, 183, 183, 188, 20, 478, 84, 1, - 34, 188, 482, 182, 183, 183, 182, 182, 183, 182, - 1, 182, 183, 183, 182, 182, 182, 182, 182, 183, - 182, 183, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 183, 250, 183, 182, 182, 182, 182, 182, 183, - 182, 182, 55, 63, 262, 263, 267, 142, 188, 460, - 196, 194, 188, 188, 188, 47, 89, 401, 16, 17, - 21, 22, 44, 89, 90, 91, 103, 391, 142, 142, - 362, 142, 308, 271, 188, 226, 365, 366, 367, 368, - 440, 441, 411, 182, 183, 183, 18, 19, 31, 41, - 105, 129, 182, 240, 241, 242, 86, 94, 95, 152, - 243, 270, 270, 270, 270, 272, 321, 271, 330, 180, - 1, 74, 188, 434, 20, 188, 188, 275, 188, 274, - 188, 1, 1, 188, 1, 270, 272, 188, 188, 188, - 354, 188, 345, 419, 183, 283, 133, 226, 226, 226, - 49, 225, 213, 225, 225, 226, 188, 210, 439, 53, - 188, 432, 30, 429, 272, 310, 272, 271, 271, 483, - 84, 480, 142, 188, 188, 270, 270, 270, 182, 142, - 270, 270, 270, 271, 182, 270, 270, 257, 185, 1, - 181, 201, 1, 181, 197, 270, 270, 188, 395, 394, - 393, 74, 392, 396, 188, 195, 193, 365, 183, 180, - 372, 370, 1, 84, 188, 340, 252, 414, 181, 182, - 183, 142, 242, 20, 270, 188, 374, 371, 372, 188, - 188, 436, 272, 225, 188, 188, 68, 68, 278, 271, - 271, 462, 142, 213, 212, 122, 125, 214, 211, 53, - 427, 183, 430, 431, 20, 20, 458, 454, 188, 142, - 272, 469, 182, 182, 182, 182, 182, 183, 182, 182, - 182, 183, 182, 182, 269, 188, 142, 202, 203, 188, - 141, 198, 199, 402, 397, 398, 399, 397, 271, 270, - 397, 201, 197, 270, 16, 17, 20, 22, 44, 72, - 89, 90, 373, 369, 188, 1, 50, 142, 225, 241, - 1, 53, 188, 435, 129, 142, 336, 20, 20, 272, - 341, 448, 30, 215, 215, 298, 271, 271, 53, 431, - 435, 435, 459, 459, 479, 82, 476, 270, 270, 267, - 204, 182, 183, 200, 182, 183, 30, 403, 183, 270, - 1, 129, 141, 143, 185, 384, 385, 1, 129, 143, - 376, 377, 1, 17, 375, 1, 129, 141, 143, 185, - 379, 380, 374, 374, 374, 371, 188, 188, 188, 182, - 188, 188, 331, 482, 20, 188, 183, 225, 216, 216, - 272, 428, 188, 188, 20, 225, 81, 182, 182, 225, - 188, 203, 225, 188, 199, 270, 398, 400, 188, 386, - 387, 388, 183, 374, 188, 378, 183, 374, 188, 225, - 188, 381, 382, 383, 183, 374, 337, 1, 35, 188, - 481, 271, 75, 103, 217, 218, 219, 220, 221, 20, - 53, 481, 225, 142, 7, 36, 142, 389, 390, 389, - 389, 385, 389, 377, 374, 389, 389, 389, 380, 188, - 188, 449, 225, 78, 83, 225, 435, 470, 110, 183, - 222, 225, 225, 93, 142, 68, 223, 471, 188, 85, - 142, 272, 181, 472, 224, 68, 250, 473, 182, 272, - 474, 20, 1, 150, 188, 475, 188, 188 + 0, 188, 190, 0, 191, 1, 6, 9, 10, 11, + 15, 18, 19, 21, 22, 27, 28, 32, 35, 38, + 39, 40, 41, 42, 43, 44, 46, 54, 56, 68, + 75, 76, 77, 78, 86, 87, 88, 89, 93, 96, + 97, 99, 102, 104, 105, 106, 107, 108, 109, 110, + 112, 124, 127, 128, 130, 131, 139, 143, 146, 181, + 189, 192, 193, 206, 229, 231, 233, 235, 236, 279, + 316, 327, 330, 332, 338, 343, 350, 353, 356, 359, + 360, 361, 362, 363, 364, 408, 410, 411, 413, 419, + 420, 437, 447, 449, 454, 455, 459, 465, 467, 189, + 1, 143, 189, 21, 55, 143, 238, 239, 240, 1, + 182, 304, 1, 40, 143, 296, 327, 330, 1, 460, + 1, 456, 1, 468, 1, 7, 8, 14, 25, 26, + 29, 30, 33, 34, 37, 56, 57, 60, 105, 114, + 116, 117, 118, 119, 120, 121, 122, 125, 129, 133, + 142, 143, 144, 145, 152, 154, 155, 156, 158, 159, + 160, 161, 162, 173, 178, 179, 182, 251, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 268, + 270, 273, 1, 143, 1, 143, 15, 18, 1, 143, + 1, 143, 182, 241, 189, 287, 1, 273, 85, 273, + 189, 189, 151, 189, 1, 189, 289, 189, 1, 6, + 130, 189, 189, 189, 15, 18, 19, 32, 41, 42, + 97, 130, 363, 6, 143, 309, 143, 306, 1, 291, + 1, 67, 143, 1, 339, 367, 331, 1, 143, 1, + 85, 288, 409, 1, 15, 97, 189, 240, 247, 59, + 230, 230, 1, 143, 1, 143, 302, 189, 85, 295, + 342, 189, 1, 333, 298, 20, 70, 275, 275, 1, + 36, 182, 358, 1, 358, 1, 358, 1, 143, 345, + 346, 1, 130, 143, 189, 441, 1, 189, 425, 184, + 425, 425, 1, 184, 189, 301, 424, 1, 273, 274, + 421, 423, 1, 282, 1, 450, 274, 189, 207, 189, + 184, 189, 189, 304, 253, 254, 255, 274, 189, 143, + 284, 130, 332, 64, 443, 341, 342, 189, 274, 189, + 274, 20, 36, 151, 469, 470, 471, 481, 54, 68, + 69, 70, 75, 355, 357, 241, 182, 182, 182, 182, + 182, 182, 182, 182, 241, 182, 258, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 258, + 258, 258, 274, 59, 175, 176, 177, 173, 174, 163, + 164, 61, 62, 66, 171, 172, 63, 170, 169, 168, + 167, 64, 65, 185, 67, 355, 189, 189, 189, 448, + 23, 23, 189, 189, 183, 189, 1, 274, 426, 69, + 69, 51, 143, 189, 189, 189, 274, 189, 92, 104, + 135, 143, 143, 15, 18, 1, 365, 189, 184, 184, + 311, 184, 184, 308, 189, 274, 189, 143, 20, 75, + 143, 374, 189, 184, 189, 328, 329, 53, 61, 62, + 72, 80, 81, 147, 148, 149, 165, 166, 428, 429, + 415, 416, 189, 249, 248, 250, 237, 275, 237, 189, + 232, 189, 234, 76, 82, 83, 84, 100, 101, 317, + 319, 320, 326, 313, 51, 143, 313, 189, 313, 20, + 42, 131, 336, 337, 445, 275, 1, 68, 189, 440, + 283, 6, 35, 36, 41, 102, 276, 279, 352, 20, + 189, 58, 150, 227, 273, 280, 189, 345, 189, 345, + 189, 347, 184, 189, 189, 189, 189, 189, 412, 189, + 421, 421, 189, 274, 184, 424, 189, 345, 189, 274, + 1, 184, 285, 208, 228, 274, 239, 253, 1, 85, + 189, 305, 344, 184, 299, 53, 297, 273, 54, 314, + 443, 461, 457, 35, 36, 38, 54, 68, 75, 487, + 1, 227, 472, 20, 470, 183, 183, 273, 274, 273, + 273, 273, 273, 273, 274, 274, 274, 1, 143, 183, + 274, 273, 273, 273, 1, 143, 1, 143, 1, 51, + 52, 143, 274, 252, 273, 273, 273, 273, 273, 273, + 273, 274, 274, 183, 56, 60, 257, 257, 257, 258, + 258, 259, 259, 260, 260, 260, 260, 260, 261, 261, + 262, 263, 264, 267, 269, 271, 270, 184, 463, 464, + 143, 143, 189, 1, 189, 427, 290, 189, 189, 274, + 293, 294, 23, 23, 20, 143, 310, 273, 189, 307, + 273, 189, 292, 368, 414, 51, 143, 426, 274, 417, + 418, 189, 189, 189, 20, 182, 242, 242, 324, 322, + 321, 323, 303, 54, 75, 189, 318, 320, 79, 313, + 446, 374, 274, 20, 189, 189, 275, 1, 71, 1, + 71, 1, 71, 15, 18, 71, 74, 351, 354, 1, + 38, 54, 189, 442, 183, 345, 189, 189, 348, 428, + 346, 417, 424, 424, 422, 189, 451, 189, 143, 189, + 466, 3, 4, 5, 36, 47, 48, 49, 50, 51, + 52, 90, 134, 135, 209, 210, 211, 183, 189, 1, + 51, 143, 255, 463, 1, 274, 430, 443, 315, 314, + 184, 184, 189, 20, 482, 85, 1, 35, 189, 486, + 183, 184, 184, 183, 183, 184, 183, 1, 183, 184, + 184, 183, 183, 183, 183, 183, 184, 183, 184, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 184, 253, + 184, 183, 183, 183, 183, 183, 184, 183, 183, 56, + 64, 265, 266, 270, 143, 189, 464, 197, 195, 189, + 189, 189, 48, 90, 405, 16, 17, 22, 23, 45, + 90, 91, 92, 104, 395, 143, 143, 366, 143, 312, + 274, 189, 228, 369, 370, 371, 372, 444, 445, 415, + 184, 18, 19, 32, 42, 106, 130, 183, 243, 244, + 245, 87, 95, 96, 153, 246, 273, 273, 273, 273, + 275, 325, 274, 334, 181, 1, 75, 189, 438, 20, + 189, 189, 278, 189, 277, 189, 1, 1, 189, 1, + 273, 275, 189, 189, 189, 358, 189, 349, 423, 184, + 286, 134, 228, 228, 228, 50, 227, 214, 227, 227, + 228, 189, 211, 305, 189, 189, 189, 443, 54, 189, + 436, 31, 433, 275, 314, 275, 274, 274, 487, 85, + 484, 143, 189, 189, 273, 273, 273, 183, 143, 273, + 273, 273, 274, 183, 273, 273, 260, 186, 1, 182, + 202, 1, 182, 198, 273, 273, 189, 399, 398, 397, + 75, 396, 400, 189, 196, 194, 369, 184, 181, 376, + 374, 418, 182, 183, 184, 143, 245, 20, 273, 189, + 378, 375, 376, 189, 189, 440, 275, 227, 189, 189, + 69, 69, 281, 274, 274, 466, 143, 214, 213, 123, + 126, 215, 212, 54, 431, 184, 434, 435, 20, 20, + 462, 458, 189, 143, 275, 473, 183, 183, 183, 183, + 183, 184, 183, 183, 183, 184, 183, 183, 272, 189, + 203, 204, 240, 189, 142, 199, 200, 406, 401, 402, + 403, 401, 274, 273, 401, 202, 198, 273, 16, 17, + 20, 23, 45, 73, 90, 91, 377, 373, 227, 244, + 1, 54, 189, 439, 130, 143, 340, 20, 20, 275, + 345, 452, 31, 216, 216, 300, 274, 274, 54, 435, + 439, 439, 463, 463, 483, 83, 480, 273, 273, 270, + 183, 184, 205, 201, 183, 184, 31, 407, 184, 273, + 1, 130, 142, 144, 186, 388, 389, 1, 130, 144, + 380, 381, 1, 17, 379, 1, 130, 142, 144, 186, + 383, 384, 378, 378, 378, 375, 183, 189, 189, 335, + 486, 20, 189, 184, 227, 217, 217, 275, 432, 189, + 189, 20, 227, 82, 183, 183, 189, 204, 227, 227, + 189, 200, 273, 402, 404, 189, 390, 391, 392, 184, + 378, 189, 382, 184, 378, 189, 227, 189, 385, 386, + 387, 184, 378, 341, 1, 36, 189, 485, 274, 76, + 104, 218, 219, 220, 221, 222, 20, 54, 485, 227, + 143, 7, 37, 143, 393, 394, 393, 393, 389, 393, + 381, 378, 393, 393, 393, 384, 189, 189, 453, 227, + 79, 84, 227, 439, 474, 111, 184, 223, 227, 227, + 94, 143, 69, 224, 475, 189, 21, 86, 275, 182, + 225, 476, 225, 253, 69, 253, 226, 477, 183, 275, + 226, 478, 20, 1, 151, 189, 479, 189, 189 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 186, 187, 188, 189, 190, 189, 191, 191, 191, - 191, 191, 192, 192, 193, 192, 194, 192, 195, 192, - 196, 192, 197, 197, 198, 198, 200, 199, 201, 201, - 202, 202, 204, 203, 206, 205, 205, 207, 207, 208, - 208, 209, 209, 210, 210, 210, 210, 210, 210, 210, - 211, 210, 210, 212, 210, 210, 210, 210, 210, 213, - 213, 214, 214, 215, 215, 216, 216, 217, 217, 217, - 218, 219, 220, 221, 222, 221, 223, 223, 224, 223, - 225, 226, 227, 227, 228, 228, 229, 230, 229, 231, - 232, 231, 233, 233, 234, 234, 235, 236, 236, 237, - 238, 238, 239, 239, 239, 240, 240, 241, 242, 242, - 242, 242, 242, 242, 242, 243, 243, 243, 243, 244, - 245, 244, 246, 244, 247, 244, 244, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 249, 248, 248, 248, 248, 248, 248, - 250, 250, 251, 251, 252, 253, 253, 253, 254, 254, - 254, 254, 254, 255, 255, 255, 255, 256, 256, 256, - 257, 257, 257, 258, 258, 258, 258, 258, 258, 259, - 259, 259, 260, 260, 261, 261, 262, 262, 263, 264, - 263, 265, 266, 265, 267, 268, 269, 267, 270, 270, - 271, 271, 272, 272, 273, 273, 274, 273, 273, 275, - 273, 273, 273, 273, 273, 273, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 277, 276, 278, 276, - 276, 279, 276, 276, 276, 276, 280, 276, 281, 276, - 276, 282, 276, 283, 276, 276, 284, 276, 285, 276, - 276, 286, 287, 276, 276, 288, 289, 276, 276, 276, - 290, 276, 276, 276, 276, 276, 276, 276, 276, 276, - 291, 276, 276, 292, 276, 276, 276, 276, 276, 293, - 276, 276, 276, 294, 295, 276, 276, 296, 276, 276, - 276, 297, 298, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 299, 276, 276, 276, 276, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 300, - 301, 276, 276, 276, 303, 302, 304, 304, 306, 305, - 307, 308, 307, 309, 311, 310, 312, 312, 313, 314, - 314, 314, 315, 315, 317, 316, 318, 316, 319, 316, - 320, 316, 321, 316, 322, 322, 322, 323, 324, 323, - 325, 323, 327, 326, 329, 330, 331, 328, 328, 332, - 333, 332, 335, 334, 336, 336, 336, 337, 337, 338, - 338, 339, 339, 339, 340, 340, 340, 340, 340, 341, - 341, 343, 342, 344, 345, 344, 346, 347, 348, 348, - 349, 349, 350, 350, 351, 351, 352, 352, 352, 353, - 353, 353, 354, 354, 354, 355, 355, 356, 356, 357, - 357, 358, 358, 359, 359, 359, 361, 362, 360, 360, - 363, 364, 360, 360, 365, 365, 367, 366, 369, 368, - 370, 371, 372, 372, 373, 373, 373, 373, 373, 373, - 373, 373, 373, 373, 373, 374, 374, 375, 375, 376, - 376, 378, 377, 377, 379, 379, 381, 380, 382, 380, - 383, 380, 380, 384, 384, 386, 385, 387, 385, 388, - 385, 385, 389, 390, 390, 390, 390, 391, 391, 391, - 391, 392, 391, 391, 393, 391, 394, 391, 395, 391, - 396, 391, 397, 397, 399, 400, 398, 401, 402, 401, - 403, 403, 405, 404, 406, 406, 408, 407, 410, 409, - 412, 411, 413, 413, 414, 415, 415, 416, 416, 417, - 418, 417, 419, 420, 421, 422, 422, 423, 423, 424, - 424, 424, 424, 424, 424, 425, 425, 425, 425, 425, - 425, 427, 428, 426, 429, 426, 426, 430, 430, 431, - 432, 432, 433, 433, 434, 434, 434, 435, 435, 435, - 436, 436, 436, 437, 437, 437, 437, 438, 438, 438, - 438, 439, 439, 440, 440, 441, 442, 441, 444, 443, - 443, 446, 447, 448, 449, 445, 445, 450, 450, 452, - 453, 454, 451, 451, 456, 457, 458, 455, 455, 459, - 459, 460, 461, 462, 464, 463, 463, 465, 465, 466, - 466, 468, 469, 470, 471, 472, 473, 474, 467, 475, - 475, 475, 476, 476, 478, 479, 477, 477, 480, 480, - 481, 481, 481, 482, 482, 482, 483, 483, 483, 483, - 483, 483, 483 + 0, 187, 188, 189, 190, 191, 190, 192, 192, 192, + 192, 192, 193, 193, 194, 193, 195, 193, 196, 193, + 197, 193, 198, 198, 199, 199, 201, 200, 202, 202, + 203, 203, 205, 204, 207, 206, 206, 208, 208, 209, + 209, 210, 210, 211, 211, 211, 211, 211, 211, 211, + 212, 211, 211, 213, 211, 211, 211, 211, 211, 214, + 214, 215, 215, 216, 216, 217, 217, 218, 218, 218, + 219, 220, 221, 222, 223, 222, 224, 224, 224, 224, + 225, 226, 227, 228, 229, 229, 230, 230, 231, 232, + 231, 233, 234, 233, 235, 235, 236, 236, 237, 238, + 238, 239, 240, 240, 241, 241, 242, 242, 242, 243, + 243, 244, 245, 245, 245, 245, 245, 245, 245, 246, + 246, 246, 246, 247, 248, 247, 249, 247, 250, 247, + 247, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 251, 251, 251, 251, 251, 251, 252, 251, 251, + 251, 251, 251, 251, 253, 253, 254, 254, 255, 256, + 256, 256, 257, 257, 257, 257, 257, 258, 258, 258, + 258, 259, 259, 259, 260, 260, 260, 261, 261, 261, + 261, 261, 261, 262, 262, 262, 263, 263, 264, 264, + 265, 265, 266, 267, 266, 268, 269, 268, 270, 271, + 272, 270, 273, 273, 274, 274, 275, 275, 276, 276, + 277, 276, 276, 278, 276, 276, 276, 276, 276, 276, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 280, 279, 281, 279, 279, 282, 279, 279, 279, 279, + 283, 279, 284, 279, 279, 285, 279, 286, 279, 279, + 287, 279, 288, 279, 279, 289, 290, 279, 279, 291, + 292, 279, 279, 279, 293, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 294, 279, 279, 279, 279, 279, + 279, 279, 279, 295, 279, 279, 279, 296, 297, 279, + 279, 298, 279, 279, 279, 299, 300, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 301, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 302, 303, 279, 279, 279, 304, 305, + 307, 306, 308, 308, 310, 309, 311, 312, 311, 313, + 315, 314, 316, 316, 317, 318, 318, 318, 319, 319, + 321, 320, 322, 320, 323, 320, 324, 320, 325, 320, + 326, 326, 326, 327, 328, 327, 329, 327, 331, 330, + 333, 334, 335, 332, 332, 336, 337, 336, 339, 338, + 340, 340, 340, 341, 341, 342, 342, 343, 343, 343, + 344, 344, 344, 344, 344, 345, 345, 347, 346, 348, + 349, 348, 350, 351, 352, 352, 353, 353, 354, 354, + 355, 355, 356, 356, 356, 357, 357, 357, 358, 358, + 358, 359, 359, 360, 360, 361, 361, 362, 362, 363, + 363, 363, 365, 366, 364, 364, 367, 368, 364, 364, + 369, 369, 371, 370, 373, 372, 374, 375, 376, 376, + 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, + 377, 378, 378, 379, 379, 380, 380, 382, 381, 381, + 383, 383, 385, 384, 386, 384, 387, 384, 384, 388, + 388, 390, 389, 391, 389, 392, 389, 389, 393, 394, + 394, 394, 394, 395, 395, 395, 395, 396, 395, 395, + 397, 395, 398, 395, 399, 395, 400, 395, 401, 401, + 403, 404, 402, 405, 406, 405, 407, 407, 409, 408, + 410, 410, 412, 411, 414, 413, 416, 415, 417, 417, + 418, 419, 419, 420, 420, 421, 422, 421, 423, 424, + 425, 426, 426, 427, 427, 428, 428, 428, 428, 428, + 428, 429, 429, 429, 429, 429, 429, 431, 432, 430, + 433, 430, 430, 434, 434, 435, 436, 436, 437, 437, + 438, 438, 438, 439, 439, 439, 440, 440, 440, 441, + 441, 441, 441, 442, 442, 442, 442, 443, 443, 444, + 444, 445, 446, 445, 448, 447, 447, 450, 451, 452, + 453, 449, 449, 454, 454, 456, 457, 458, 455, 455, + 460, 461, 462, 459, 459, 463, 463, 464, 465, 466, + 468, 467, 467, 469, 469, 470, 470, 472, 473, 474, + 475, 476, 477, 478, 471, 479, 479, 479, 480, 480, + 482, 483, 481, 481, 484, 484, 485, 485, 485, 486, + 486, 486, 487, 487, 487, 487, 487, 487, 487 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -2866,68 +2917,68 @@ static const yytype_uint8 yyr2[] = 1, 1, 2, 2, 2, 2, 2, 3, 1, 1, 0, 5, 2, 0, 6, 1, 2, 3, 1, 0, 2, 1, 1, 0, 2, 0, 2, 1, 1, 1, - 3, 3, 2, 0, 0, 4, 0, 2, 0, 6, - 1, 1, 3, 3, 0, 1, 3, 0, 6, 3, - 0, 5, 2, 1, 2, 1, 2, 1, 3, 1, - 0, 2, 0, 2, 3, 1, 3, 2, 1, 1, - 1, 4, 1, 1, 1, 0, 1, 1, 1, 1, - 0, 3, 0, 3, 0, 3, 2, 1, 1, 1, - 1, 1, 6, 6, 4, 6, 4, 4, 4, 4, - 4, 4, 4, 4, 6, 4, 6, 8, 6, 8, - 4, 4, 4, 4, 6, 5, 4, 4, 6, 6, - 4, 6, 4, 4, 4, 4, 4, 4, 4, 4, - 3, 4, 4, 0, 5, 3, 3, 2, 2, 3, - 0, 1, 1, 3, 1, 1, 3, 4, 1, 2, - 2, 2, 2, 1, 3, 3, 3, 1, 3, 3, - 1, 3, 3, 1, 3, 3, 3, 3, 5, 1, - 3, 3, 1, 3, 1, 3, 1, 3, 1, 0, - 4, 1, 0, 4, 1, 0, 0, 7, 1, 3, - 1, 2, 0, 2, 1, 3, 0, 7, 3, 0, - 6, 3, 3, 3, 4, 4, 1, 2, 2, 2, - 3, 3, 4, 3, 4, 3, 0, 5, 0, 8, - 3, 0, 4, 3, 4, 3, 0, 6, 0, 8, - 3, 0, 4, 0, 6, 4, 0, 3, 0, 4, - 2, 0, 0, 5, 3, 0, 0, 5, 3, 3, - 0, 6, 5, 4, 4, 3, 2, 2, 2, 3, - 0, 6, 3, 0, 6, 4, 2, 3, 4, 0, - 3, 3, 4, 0, 0, 6, 5, 0, 5, 3, - 3, 0, 0, 11, 1, 1, 1, 1, 2, 3, - 2, 3, 2, 3, 2, 0, 4, 4, 3, 3, - 3, 2, 3, 3, 2, 3, 2, 4, 4, 0, - 0, 7, 3, 2, 0, 4, 0, 2, 0, 4, - 0, 0, 5, 0, 0, 5, 1, 1, 2, 1, - 1, 1, 1, 2, 0, 3, 0, 3, 0, 3, - 0, 3, 0, 4, 0, 1, 1, 1, 0, 4, - 0, 4, 0, 3, 0, 0, 0, 9, 3, 1, - 0, 3, 0, 3, 0, 1, 1, 0, 1, 2, - 2, 1, 3, 3, 1, 3, 3, 3, 2, 1, - 3, 0, 3, 0, 0, 3, 3, 2, 0, 2, - 3, 3, 3, 3, 1, 1, 3, 3, 3, 1, - 1, 1, 0, 2, 2, 2, 1, 2, 1, 2, - 1, 2, 1, 1, 1, 1, 0, 0, 6, 4, - 0, 0, 5, 3, 1, 1, 0, 3, 0, 4, - 0, 2, 0, 2, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 4, 3, 0, 1, 0, 1, 1, - 3, 0, 3, 1, 1, 3, 0, 3, 0, 3, - 0, 3, 1, 1, 3, 0, 3, 0, 3, 0, - 3, 1, 1, 1, 1, 1, 2, 1, 1, 1, - 2, 0, 3, 1, 0, 3, 0, 3, 0, 3, - 0, 3, 1, 3, 0, 0, 4, 2, 0, 4, - 0, 2, 0, 3, 3, 2, 0, 4, 0, 5, - 0, 2, 1, 3, 1, 2, 2, 1, 1, 1, - 0, 4, 1, 1, 1, 2, 2, 1, 2, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 6, 0, 4, 2, 1, 2, 2, - 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, - 1, 2, 2, 1, 2, 2, 2, 1, 2, 2, - 2, 0, 2, 1, 2, 1, 0, 4, 0, 5, - 3, 0, 0, 0, 0, 13, 3, 1, 1, 0, - 0, 0, 9, 3, 0, 0, 0, 9, 3, 1, - 2, 2, 1, 1, 0, 5, 5, 1, 2, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 19, 1, - 2, 2, 0, 2, 0, 0, 8, 5, 0, 2, - 1, 2, 2, 1, 2, 2, 0, 1, 1, 1, - 1, 1, 1 + 3, 3, 2, 0, 0, 4, 0, 2, 5, 7, + 0, 0, 1, 1, 3, 3, 0, 1, 3, 0, + 6, 3, 0, 5, 2, 1, 2, 1, 2, 1, + 3, 1, 1, 1, 0, 2, 0, 2, 3, 1, + 3, 2, 1, 1, 1, 4, 1, 1, 1, 0, + 1, 1, 1, 1, 0, 3, 0, 3, 0, 3, + 2, 1, 1, 1, 1, 1, 6, 6, 4, 6, + 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, + 6, 8, 6, 8, 4, 4, 4, 4, 6, 5, + 4, 4, 6, 6, 4, 6, 4, 4, 4, 4, + 4, 4, 4, 4, 3, 4, 4, 0, 5, 3, + 3, 2, 2, 3, 0, 1, 1, 3, 1, 1, + 3, 4, 1, 2, 2, 2, 2, 1, 3, 3, + 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, + 3, 3, 5, 1, 3, 3, 1, 3, 1, 3, + 1, 3, 1, 0, 4, 1, 0, 4, 1, 0, + 0, 7, 1, 3, 1, 2, 0, 2, 1, 3, + 0, 7, 3, 0, 6, 3, 3, 3, 4, 4, + 1, 2, 2, 2, 3, 3, 4, 3, 4, 3, + 0, 5, 0, 8, 3, 0, 4, 3, 4, 3, + 0, 6, 0, 8, 3, 0, 4, 0, 6, 4, + 0, 3, 0, 4, 2, 0, 0, 5, 3, 0, + 0, 5, 3, 3, 0, 6, 5, 4, 4, 3, + 2, 2, 2, 3, 0, 6, 3, 6, 4, 3, + 2, 3, 4, 0, 3, 3, 4, 0, 0, 6, + 5, 0, 5, 3, 3, 0, 0, 11, 1, 1, + 1, 1, 2, 3, 2, 3, 2, 3, 2, 0, + 4, 4, 3, 3, 3, 2, 3, 3, 2, 3, + 2, 4, 4, 0, 0, 7, 3, 2, 0, 1, + 0, 4, 0, 2, 0, 4, 0, 0, 5, 0, + 0, 5, 1, 1, 2, 1, 1, 1, 1, 2, + 0, 3, 0, 3, 0, 3, 0, 3, 0, 4, + 0, 1, 1, 1, 0, 4, 0, 4, 0, 3, + 0, 0, 0, 9, 3, 1, 0, 3, 0, 3, + 0, 1, 1, 0, 1, 2, 2, 1, 3, 3, + 1, 3, 3, 3, 2, 1, 3, 0, 3, 0, + 0, 3, 3, 2, 0, 2, 3, 3, 3, 3, + 1, 1, 3, 3, 3, 1, 1, 1, 0, 2, + 2, 2, 1, 2, 1, 2, 1, 2, 1, 1, + 1, 1, 0, 0, 6, 4, 0, 0, 5, 3, + 1, 1, 0, 3, 0, 4, 0, 2, 0, 2, + 3, 3, 3, 3, 3, 3, 2, 2, 2, 4, + 3, 0, 1, 0, 1, 1, 3, 0, 3, 1, + 1, 3, 0, 3, 0, 3, 0, 3, 1, 1, + 3, 0, 3, 0, 3, 0, 3, 1, 1, 1, + 1, 1, 2, 1, 1, 1, 2, 0, 3, 1, + 0, 3, 0, 3, 0, 3, 0, 3, 1, 3, + 0, 0, 4, 2, 0, 4, 0, 2, 0, 3, + 3, 2, 0, 4, 0, 5, 0, 2, 1, 3, + 1, 2, 2, 1, 1, 1, 0, 4, 1, 1, + 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 0, 6, + 0, 4, 2, 1, 2, 2, 1, 1, 2, 1, + 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, + 2, 2, 2, 1, 2, 2, 2, 0, 2, 1, + 2, 1, 0, 4, 0, 5, 3, 0, 0, 0, + 0, 13, 3, 1, 1, 0, 0, 0, 9, 3, + 0, 0, 0, 9, 3, 1, 2, 2, 1, 1, + 0, 5, 5, 1, 2, 1, 1, 0, 0, 0, + 0, 0, 0, 0, 19, 1, 2, 2, 0, 2, + 0, 0, 8, 5, 0, 2, 1, 2, 2, 1, + 2, 2, 0, 1, 1, 1, 1, 1, 1 }; @@ -3610,47 +3661,47 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 541 "rwlparser.y" /* yacc.c:1646 */ +#line 544 "rwlparser.y" /* yacc.c:1646 */ { ; // we are done! } -#line 3618 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3669 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 3: -#line 547 "rwlparser.y" /* yacc.c:1646 */ +#line 550 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) YYABORT; } -#line 3624 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3675 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 5: -#line 553 "rwlparser.y" /* yacc.c:1646 */ +#line 556 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3634 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3685 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 6: -#line 559 "rwlparser.y" /* yacc.c:1646 */ +#line 562 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) YYACCEPT; } -#line 3644 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3695 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 10: -#line 574 "rwlparser.y" /* yacc.c:1646 */ +#line 577 "rwlparser.y" /* yacc.c:1646 */ { rwlprintallvars(rwm); } -#line 3650 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3701 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 13: -#line 585 "rwlparser.y" /* yacc.c:1646 */ +#line 588 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) rwlcodetail(rwm); @@ -3665,11 +3716,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->codename = 0; // we are no longer compiling code rwm->codeguess = RWL_VAR_NOGUESS; } -#line 3669 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3720 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 14: -#line 601 "rwlparser.y" /* yacc.c:1646 */ +#line 604 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3677,22 +3728,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3681 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3732 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 16: -#line 610 "rwlparser.y" /* yacc.c:1646 */ +#line 613 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAST, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAST); } -#line 3692 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3743 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 18: -#line 618 "rwlparser.y" /* yacc.c:1646 */ +#line 621 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3700,83 +3751,83 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3704 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3755 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 20: -#line 627 "rwlparser.y" /* yacc.c:1646 */ +#line 630 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); rwlrastbeg(rwm, rwm->raname, RWL_TYPE_RAPROC); } -#line 3714 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3765 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 22: -#line 638 "rwlparser.y" /* yacc.c:1646 */ +#line 641 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3722 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3773 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 23: -#line 642 "rwlparser.y" /* yacc.c:1646 */ +#line 645 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAST); yyerrok; } -#line 3733 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3784 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 26: -#line 655 "rwlparser.y" /* yacc.c:1646 */ +#line 658 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->sval; } -#line 3739 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3790 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 27: -#line 657 "rwlparser.y" /* yacc.c:1646 */ +#line 660 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3745 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3796 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 28: -#line 663 "rwlparser.y" /* yacc.c:1646 */ +#line 666 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } -#line 3753 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3804 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 29: -#line 667 "rwlparser.y" /* yacc.c:1646 */ +#line 670 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); rwlerror(rwm, RWL_ERROR_DECL_RAPROC); yyerrok; } -#line 3764 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3815 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 32: -#line 679 "rwlparser.y" /* yacc.c:1646 */ +#line 682 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->inam; } -#line 3770 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3821 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 33: -#line 681 "rwlparser.y" /* yacc.c:1646 */ +#line 684 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } -#line 3776 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3827 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 34: -#line 686 "rwlparser.y" /* yacc.c:1646 */ +#line 689 "rwlparser.y" /* yacc.c:1646 */ { // add identifier sb4 ld = rwladdvar(rwm, rwm->inam, RWL_TYPE_DB, 0); @@ -3793,11 +3844,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m2flags, RWL_P2_SOMEEXPFAIL); } -#line 3797 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3848 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 35: -#line 703 "rwlparser.y" /* yacc.c:1646 */ +#line 706 "rwlparser.y" /* yacc.c:1646 */ { // fix core dump, only call builddb if everything fine if (bit(rwm->m2flags, RWL_P2_SOMEEXPFAIL)) @@ -3853,17 +3904,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m3flags, RWL_P3_GENERATE_OK); } } -#line 3857 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3908 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 36: -#line 759 "rwlparser.y" /* yacc.c:1646 */ +#line 762 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DATABASE_WRONG); yyerrok; } -#line 3863 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3914 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 38: -#line 765 "rwlparser.y" /* yacc.c:1646 */ +#line 768 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3873,11 +3924,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3877 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3928 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 43: -#line 785 "rwlparser.y" /* yacc.c:1646 */ +#line 788 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3887,20 +3938,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->username = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3891 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3942 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 44: -#line 795 "rwlparser.y" /* yacc.c:1646 */ +#line 798 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) rwm->dbsav->password = rwlstrdup(rwm, rwm->pval.sval); } -#line 3900 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3951 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 45: -#line 800 "rwlparser.y" /* yacc.c:1646 */ +#line 803 "rwlparser.y" /* yacc.c:1646 */ { if (rwlcclassgood(rwm, (rwm->pval.sval))) { @@ -3908,11 +3959,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->cclass = rwlstrdup(rwm, rwm->pval.sval); } } -#line 3912 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3963 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 46: -#line 808 "rwlparser.y" /* yacc.c:1646 */ +#line 811 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3925,11 +3976,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3929 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 3980 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 47: -#line 821 "rwlparser.y" /* yacc.c:1646 */ +#line 824 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3960,11 +4011,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 3964 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4015 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 48: -#line 852 "rwlparser.y" /* yacc.c:1646 */ +#line 855 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "results", rwm->resdb); @@ -3975,11 +4026,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->resdb = rwm->dbname; } } -#line 3979 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4030 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 49: -#line 863 "rwlparser.y" /* yacc.c:1646 */ +#line 866 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "default", rwm->defdb); @@ -3990,11 +4041,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->defdb = rwm->dbname; } } -#line 3994 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4045 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 50: -#line 874 "rwlparser.y" /* yacc.c:1646 */ +#line 877 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4008,11 +4059,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"connectionpool max size"; } } -#line 4012 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4063 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 52: -#line 890 "rwlparser.y" /* yacc.c:1646 */ +#line 893 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4021,11 +4072,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags, RWL_DB_CCACHUSER); } } -#line 4025 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4076 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 53: -#line 899 "rwlparser.y" /* yacc.c:1646 */ +#line 902 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4040,11 +4091,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->misctxt = (text *)"sessionpool max size"; } } -#line 4044 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4095 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 55: -#line 917 "rwlparser.y" /* yacc.c:1646 */ +#line 920 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4054,11 +4105,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "drcp pooled"; } } -#line 4058 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4109 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 56: -#line 927 "rwlparser.y" /* yacc.c:1646 */ +#line 930 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4068,11 +4119,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "dedicated"; } } -#line 4072 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4123 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 57: -#line 937 "rwlparser.y" /* yacc.c:1646 */ +#line 940 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4082,11 +4133,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "threads dedicated"; } } -#line 4086 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4137 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 58: -#line 947 "rwlparser.y" /* yacc.c:1646 */ +#line 950 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4096,11 +4147,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->dbsav->pooltext = "reconnect"; } } -#line 4100 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4151 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 61: -#line 964 "rwlparser.y" /* yacc.c:1646 */ +#line 967 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "statemark",RWL_OCI_VERSION); @@ -4108,11 +4159,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_STATEMARK); #endif } -#line 4112 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4163 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 62: -#line 972 "rwlparser.y" /* yacc.c:1646 */ +#line 975 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "requestmark",RWL_OCI_VERSION); @@ -4120,11 +4171,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->dbsav->flags,RWL_DB_REQMARK); #endif } -#line 4124 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4175 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 63: -#line 982 "rwlparser.y" /* yacc.c:1646 */ +#line 985 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4135,11 +4186,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4139 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4190 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 64: -#line 993 "rwlparser.y" /* yacc.c:1646 */ +#line 996 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4151,11 +4202,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , 1, 1, rwm->misctxt); } } -#line 4155 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4206 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 70: -#line 1018 "rwlparser.y" /* yacc.c:1646 */ +#line 1021 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION > 12) if (rwm->dbsav) @@ -4176,11 +4227,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool release count"); #endif } -#line 4180 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4231 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 71: -#line 1042 "rwlparser.y" /* yacc.c:1646 */ +#line 1045 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION > 12) if (rwm->dbsav) @@ -4201,11 +4252,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool release every"); #endif } -#line 4205 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4256 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 72: -#line 1066 "rwlparser.y" /* yacc.c:1646 */ +#line 1069 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4214,11 +4265,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , RWL_DBPOOL_DEFAULT_TIMEOUT, (text *)"release timeout"); } } -#line 4218 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4269 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 74: -#line 1079 "rwlparser.y" /* yacc.c:1646 */ +#line 1082 "rwlparser.y" /* yacc.c:1646 */ { #if (OCI_MAJOR_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) @@ -4227,67 +4278,67 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, "sessionpool wait attribute"); #endif } -#line 4231 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4282 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 77: -#line 1093 "rwlparser.y" /* yacc.c:1646 */ +#line 1096 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); } -#line 4240 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4291 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 78: -#line 1098 "rwlparser.y" /* yacc.c:1646 */ + case 80: +#line 1112 "rwlparser.y" /* yacc.c:1646 */ { - if (rwm->dbsav && rwm->pval.dval >= 0) - bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); - // similar to normal procedure call - if (0 != rwm->furlev) - rwlsevere(rwm,"[rwlparser-recursethen:%d]", rwm->furlev); - rwm->aacnt[0] = 0; - rwm->funcn[0] = rwm->inam; - rwlexprbeg(rwm); - } -#line 4255 "rwlparser.tab.c" /* yacc.c:1646 */ + if (rwm->dbsav && rwm->pval.dval >= 0) + bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); + // similar to normal procedure call + if (0 != rwm->furlev) + rwlsevere(rwm,"[rwlparser-recursethen:%d]", rwm->furlev); + rwm->aacnt[0] = 0; + rwm->funcn[0] = rwm->inam; + rwlexprbeg(rwm); + } +#line 4306 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 79: -#line 1109 "rwlparser.y" /* yacc.c:1646 */ + case 81: +#line 1126 "rwlparser.y" /* yacc.c:1646 */ { - rwl_estack *estk; - - rwlexprpush2(rwm, rwm->funcn[0] - , RWL_STACK_PROCCALL - , rwm->aacnt[0] ); - if ((estk = rwlexprfinish(rwm))) - rwm->dbsav->tobreak = estk; - else - rwlexprclear(rwm); - } -#line 4271 "rwlparser.tab.c" /* yacc.c:1646 */ + rwl_estack *estk; + + rwlexprpush2(rwm, rwm->funcn[0] + , RWL_STACK_PROCCALL + , rwm->aacnt[0] ); + if ((estk = rwlexprfinish(rwm))) + rwm->dbsav->tobreak = estk; + else + rwlexprclear(rwm); + } +#line 4322 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 80: -#line 1126 "rwlparser.y" /* yacc.c:1646 */ + case 82: +#line 1143 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4279 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4330 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 81: -#line 1133 "rwlparser.y" /* yacc.c:1646 */ + case 83: +#line 1150 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } -#line 4287 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4338 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 86: -#line 1149 "rwlparser.y" /* yacc.c:1646 */ + case 88: +#line 1166 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4299,11 +4350,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4303 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4354 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 87: -#line 1161 "rwlparser.y" /* yacc.c:1646 */ + case 89: +#line 1178 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_FUNC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) // e.g. out of space @@ -4318,11 +4369,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, at least 1 for return value */ } -#line 4322 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4373 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 88: -#line 1177 "rwlparser.y" /* yacc.c:1646 */ + case 90: +#line 1194 "rwlparser.y" /* yacc.c:1646 */ { /* codeguess was set en rwlcodeaddp */ if (rwm->codeguess>=0 && rwm->dtype) @@ -4354,11 +4405,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->supsemerr = RWL_SUPSEM_FUNC; } -#line 4358 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4409 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 89: -#line 1213 "rwlparser.y" /* yacc.c:1646 */ + case 91: +#line 1230 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4369,11 +4420,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodehead(rwm, 1 /*thrcount*/); yyerrok; } -#line 4373 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4424 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 90: -#line 1224 "rwlparser.y" /* yacc.c:1646 */ + case 92: +#line 1241 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_PROC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) /* e.g. out of space */ @@ -4385,54 +4436,54 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->facnt = 0; /* formal argument count */ rwm->lvcount = 1; /* total local variable count, return value space is wasted */ } -#line 4389 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4440 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 91: -#line 1237 "rwlparser.y" /* yacc.c:1646 */ + case 93: +#line 1254 "rwlparser.y" /* yacc.c:1646 */ { rwm->mxq->evar[rwm->codeguess].v2val = rwm->facnt; rwm->supsemerr = RWL_SUPSEM_PROC; } -#line 4398 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4449 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 92: -#line 1245 "rwlparser.y" /* yacc.c:1646 */ + case 94: +#line 1262 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4407 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4458 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 93: -#line 1250 "rwlparser.y" /* yacc.c:1646 */ + case 95: +#line 1267 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4415 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4466 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 94: -#line 1257 "rwlparser.y" /* yacc.c:1646 */ + case 96: +#line 1274 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 4424 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4475 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 95: -#line 1262 "rwlparser.y" /* yacc.c:1646 */ + case 97: +#line 1279 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4432 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4483 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 96: -#line 1269 "rwlparser.y" /* yacc.c:1646 */ + case 98: +#line 1286 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) { @@ -4515,39 +4566,39 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); finishcodebody: bic(rwm->m4flags,RWL_P4_PROCHASSQL); } -#line 4519 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4570 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 99: -#line 1360 "rwlparser.y" /* yacc.c:1646 */ + case 101: +#line 1377 "rwlparser.y" /* yacc.c:1646 */ { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) rwlprintvar(rwm->mxq, l); } -#line 4529 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4580 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 100: -#line 1368 "rwlparser.y" /* yacc.c:1646 */ + case 104: +#line 1390 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4535 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4586 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 101: -#line 1369 "rwlparser.y" /* yacc.c:1646 */ + case 105: +#line 1391 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_MISBRACK); } -#line 4541 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4592 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 102: -#line 1372 "rwlparser.y" /* yacc.c:1646 */ + case 106: +#line 1394 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_MISSING_DECL_BRACK); } -#line 4547 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4598 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 107: -#line 1384 "rwlparser.y" /* yacc.c:1646 */ + case 111: +#line 1406 "rwlparser.y" /* yacc.c:1646 */ { sb4 la; if (rwm->dtype && @@ -4571,29 +4622,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4575 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4626 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 108: -#line 1412 "rwlparser.y" /* yacc.c:1646 */ + case 112: +#line 1434 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4581 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4632 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 109: -#line 1414 "rwlparser.y" /* yacc.c:1646 */ + case 113: +#line 1436 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4587 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4638 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 110: -#line 1416 "rwlparser.y" /* yacc.c:1646 */ + case 114: +#line 1438 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 4593 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4644 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 111: -#line 1418 "rwlparser.y" /* yacc.c:1646 */ + case 115: +#line 1440 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -4608,50 +4659,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen=RWL_MAX_STRING_LENGTH; } } -#line 4612 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4663 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 112: -#line 1433 "rwlparser.y" /* yacc.c:1646 */ + case 116: +#line 1455 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "file"); } -#line 4621 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4672 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 113: -#line 1438 "rwlparser.y" /* yacc.c:1646 */ + case 117: +#line 1460 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "sql"); } -#line 4630 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4681 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 114: -#line 1443 "rwlparser.y" /* yacc.c:1646 */ + case 118: +#line 1465 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "clob"); } -#line 4639 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4690 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 116: -#line 1452 "rwlparser.y" /* yacc.c:1646 */ + case 120: +#line 1474 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_STATSONLY); } -#line 4645 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4696 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 117: -#line 1454 "rwlparser.y" /* yacc.c:1646 */ + case 121: +#line 1476 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_PROCHASSQL); } -#line 4651 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4702 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 118: -#line 1456 "rwlparser.y" /* yacc.c:1646 */ + case 122: +#line 1478 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; l = rwlfindvar(rwm->mxq, rwm->codename, RWL_VAR_NOGUESS); @@ -4667,11 +4718,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 4671 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4722 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 120: -#line 1476 "rwlparser.y" /* yacc.c:1646 */ + case 124: +#line 1498 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4685,11 +4736,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "procedure", rwm->codename); } } -#line 4689 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4740 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 122: -#line 1491 "rwlparser.y" /* yacc.c:1646 */ + case 126: +#line 1513 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4703,11 +4754,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , "function", rwm->codename); } } -#line 4707 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4758 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 124: -#line 1506 "rwlparser.y" /* yacc.c:1646 */ + case 128: +#line 1528 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4722,11 +4773,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->codename); } } -#line 4726 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4777 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 126: -#line 1522 "rwlparser.y" /* yacc.c:1646 */ + case 130: +#line 1544 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4742,11 +4793,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); yyerrok; } } -#line 4746 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4797 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 127: -#line 1565 "rwlparser.y" /* yacc.c:1646 */ + case 131: +#line 1587 "rwlparser.y" /* yacc.c:1646 */ { /* There are cases where we have an expression followed @@ -4759,11 +4810,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam, RWL_STACK_VAR); } -#line 4763 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4814 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 128: -#line 1579 "rwlparser.y" /* yacc.c:1646 */ + case 132: +#line 1601 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4777,11 +4828,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_DBL; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4781 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4832 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 129: -#line 1593 "rwlparser.y" /* yacc.c:1646 */ + case 133: +#line 1615 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4795,11 +4846,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_INT; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4799 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4850 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 130: -#line 1607 "rwlparser.y" /* yacc.c:1646 */ + case 134: +#line 1629 "rwlparser.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ @@ -4811,208 +4862,208 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); num.vtype = RWL_TYPE_STR; rwlexprpush(rwm, &num, RWL_STACK_NUM); } -#line 4815 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4866 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 131: -#line 1619 "rwlparser.y" /* yacc.c:1646 */ + case 135: +#line 1641 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } -#line 4823 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4874 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 132: -#line 1622 "rwlparser.y" /* yacc.c:1646 */ + case 136: +#line 1644 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_UNIFORM); } -#line 4829 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4880 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 133: -#line 1623 "rwlparser.y" /* yacc.c:1646 */ + case 137: +#line 1645 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOGB); } -#line 4835 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4886 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 134: -#line 1624 "rwlparser.y" /* yacc.c:1646 */ + case 138: +#line 1646 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOG); } -#line 4841 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4892 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 135: -#line 1625 "rwlparser.y" /* yacc.c:1646 */ + case 139: +#line 1647 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXPB); } -#line 4847 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4898 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 136: -#line 1626 "rwlparser.y" /* yacc.c:1646 */ + case 140: +#line 1648 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXP); } -#line 4853 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4904 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 137: -#line 1627 "rwlparser.y" /* yacc.c:1646 */ + case 141: +#line 1649 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CEIL); } -#line 4859 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4910 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 138: -#line 1628 "rwlparser.y" /* yacc.c:1646 */ + case 142: +#line 1650 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_TRUNC); } -#line 4865 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4916 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 139: -#line 1629 "rwlparser.y" /* yacc.c:1646 */ + case 143: +#line 1651 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_FLOOR); } -#line 4871 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4922 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 140: -#line 1630 "rwlparser.y" /* yacc.c:1646 */ + case 144: +#line 1652 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ROUND); } -#line 4877 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4928 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 141: -#line 1631 "rwlparser.y" /* yacc.c:1646 */ + case 145: +#line 1653 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SQRT); } -#line 4883 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4934 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 142: -#line 1632 "rwlparser.y" /* yacc.c:1646 */ + case 146: +#line 1654 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SIN); } -#line 4889 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4940 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 143: -#line 1633 "rwlparser.y" /* yacc.c:1646 */ + case 147: +#line 1655 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_COS); } -#line 4895 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4946 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 144: -#line 1634 "rwlparser.y" /* yacc.c:1646 */ + case 148: +#line 1656 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ATAN2); } -#line 4901 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4952 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 145: -#line 1635 "rwlparser.y" /* yacc.c:1646 */ + case 149: +#line 1657 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LENGTHB); } -#line 4907 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4958 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 146: -#line 1637 "rwlparser.y" /* yacc.c:1646 */ + case 150: +#line 1659 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB2); } -#line 4913 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4964 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 147: -#line 1639 "rwlparser.y" /* yacc.c:1646 */ + case 151: +#line 1661 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB3); } -#line 4919 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4970 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 148: -#line 1641 "rwlparser.y" /* yacc.c:1646 */ + case 152: +#line 1663 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB2); } -#line 4925 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4976 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 149: -#line 1643 "rwlparser.y" /* yacc.c:1646 */ + case 153: +#line 1665 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB3); } -#line 4931 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4982 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 150: -#line 1644 "rwlparser.y" /* yacc.c:1646 */ + case 154: +#line 1666 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GETENV); } -#line 4937 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4988 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 151: -#line 1645 "rwlparser.y" /* yacc.c:1646 */ + case 155: +#line 1667 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2B); } -#line 4945 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 4996 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 152: -#line 1648 "rwlparser.y" /* yacc.c:1646 */ + case 156: +#line 1670 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2BB); } -#line 4953 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5004 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 153: -#line 1651 "rwlparser.y" /* yacc.c:1646 */ + case 157: +#line 1673 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4959 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5010 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 154: -#line 1653 "rwlparser.y" /* yacc.c:1646 */ + case 158: +#line 1675 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 4967 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5018 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 155: -#line 1657 "rwlparser.y" /* yacc.c:1646 */ + case 159: +#line 1679 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 4976 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5027 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 156: -#line 1661 "rwlparser.y" /* yacc.c:1646 */ + case 160: +#line 1683 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG); } -#line 4982 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5033 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 157: -#line 1662 "rwlparser.y" /* yacc.c:1646 */ + case 161: +#line 1684 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG2); } -#line 4988 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5039 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 158: -#line 1664 "rwlparser.y" /* yacc.c:1646 */ + case 162: +#line 1686 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANGK); } -#line 4994 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5045 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 159: -#line 1666 "rwlparser.y" /* yacc.c:1646 */ + case 163: +#line 1688 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NORMALRANDOM); } -#line 5000 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5051 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 160: -#line 1667 "rwlparser.y" /* yacc.c:1646 */ + case 164: +#line 1689 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5006 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5057 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 161: -#line 1669 "rwlparser.y" /* yacc.c:1646 */ + case 165: +#line 1691 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ACCESS); } -#line 5012 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5063 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 162: -#line 1671 "rwlparser.y" /* yacc.c:1646 */ + case 166: +#line 1693 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlexprpush(rwm, rwm->resdb, RWL_STACK_SERVERRELEASE); @@ -5023,11 +5074,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "results"); } } -#line 5027 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5078 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 163: -#line 1682 "rwlparser.y" /* yacc.c:1646 */ + case 167: +#line 1704 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlexprpush(rwm, rwm->defdb, RWL_STACK_SERVERRELEASE); @@ -5038,92 +5089,92 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NO_DATABASE, "default"); } } -#line 5042 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5093 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 164: -#line 1693 "rwlparser.y" /* yacc.c:1646 */ + case 168: +#line 1715 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SERVERRELEASE); } -#line 5050 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5101 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 165: -#line 1697 "rwlparser.y" /* yacc.c:1646 */ + case 169: +#line 1719 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "serverrelease"); yyerrok; } -#line 5060 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5111 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 166: -#line 1703 "rwlparser.y" /* yacc.c:1646 */ + case 170: +#line 1725 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_OPENSESSIONCOUNT); } -#line 5068 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5119 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 167: -#line 1707 "rwlparser.y" /* yacc.c:1646 */ + case 171: +#line 1729 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "opensessioncount"); yyerrok; } -#line 5078 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5129 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 168: -#line 1713 "rwlparser.y" /* yacc.c:1646 */ + case 172: +#line 1735 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_ACTIVESESSIONCOUNT); } -#line 5086 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5137 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 169: -#line 1717 "rwlparser.y" /* yacc.c:1646 */ + case 173: +#line 1739 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_DBFUN_NEED_IDENT, "activesessioncount"); yyerrok; } -#line 5096 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5147 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 170: -#line 1723 "rwlparser.y" /* yacc.c:1646 */ + case 174: +#line 1745 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); } -#line 5105 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5156 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 171: -#line 1728 "rwlparser.y" /* yacc.c:1646 */ + case 175: +#line 1750 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } -#line 5113 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5164 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 172: -#line 1732 "rwlparser.y" /* yacc.c:1646 */ + case 176: +#line 1754 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); rwlerror(rwm, RWL_ERROR_SQLID_NEED_IDENT); yyerrok; } -#line 5123 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5174 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 173: -#line 1739 "rwlparser.y" /* yacc.c:1646 */ + case 177: +#line 1761 "rwlparser.y" /* yacc.c:1646 */ { /* element with furlev=0 is used by procedure call */ if (++rwm->furlev>=RWL_MAX_FUNC_RECURSION) @@ -5136,11 +5187,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->funcn[rwm->furlev] = (yychar == RWL_T_IDENTIFIER) ? rwm->previnam : rwm->inam; } -#line 5140 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5191 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 174: -#line 1753 "rwlparser.y" /* yacc.c:1646 */ + case 178: +#line 1775 "rwlparser.y" /* yacc.c:1646 */ { /* syntactically, the number of arguments doesn't matter so we just provide the actual arg count to exprpush2 @@ -5152,191 +5203,191 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (rwm->furlev) rwm->furlev--; } -#line 5156 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5207 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 175: -#line 1765 "rwlparser.y" /* yacc.c:1646 */ + case 179: +#line 1787 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_DBSECONDS); } -#line 5164 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5215 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 176: -#line 1769 "rwlparser.y" /* yacc.c:1646 */ + case 180: +#line 1791 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_OCISECONDS); } -#line 5172 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5223 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 177: -#line 1773 "rwlparser.y" /* yacc.c:1646 */ + case 181: +#line 1795 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "runseconds"); rwlexprpush(rwm, 0, RWL_STACK_RUNSECONDS); } -#line 5182 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5233 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 178: -#line 1779 "rwlparser.y" /* yacc.c:1646 */ + case 182: +#line 1801 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "epochseconds"); rwlexprpush(rwm, 0, RWL_STACK_EPOCHSECONDS); } -#line 5192 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5243 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 184: -#line 1798 "rwlparser.y" /* yacc.c:1646 */ + case 188: +#line 1820 "rwlparser.y" /* yacc.c:1646 */ { rwm->aacnt[rwm->furlev]++; } -#line 5198 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5249 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 186: -#line 1804 "rwlparser.y" /* yacc.c:1646 */ + case 190: +#line 1826 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } -#line 5204 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5255 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 187: -#line 1805 "rwlparser.y" /* yacc.c:1646 */ + case 191: +#line 1827 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNOTNULL); } -#line 5210 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5261 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 189: -#line 1811 "rwlparser.y" /* yacc.c:1646 */ + case 193: +#line 1833 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MINUS); } -#line 5216 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5267 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 190: -#line 1812 "rwlparser.y" /* yacc.c:1646 */ + case 194: +#line 1834 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5222 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5273 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 191: -#line 1813 "rwlparser.y" /* yacc.c:1646 */ + case 195: +#line 1835 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } -#line 5228 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5279 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 192: -#line 1814 "rwlparser.y" /* yacc.c:1646 */ + case 196: +#line 1836 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_NOT); } -#line 5234 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5285 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 194: -#line 1819 "rwlparser.y" /* yacc.c:1646 */ + case 198: +#line 1841 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MUL); } -#line 5240 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5291 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 195: -#line 1820 "rwlparser.y" /* yacc.c:1646 */ + case 199: +#line 1842 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_DIV); } -#line 5246 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5297 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 196: -#line 1821 "rwlparser.y" /* yacc.c:1646 */ + case 200: +#line 1843 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MOD); } -#line 5252 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5303 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 198: -#line 1826 "rwlparser.y" /* yacc.c:1646 */ + case 202: +#line 1848 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ADD); } -#line 5258 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5309 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 199: -#line 1827 "rwlparser.y" /* yacc.c:1646 */ + case 203: +#line 1849 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUB); } -#line 5264 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5315 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 201: -#line 1831 "rwlparser.y" /* yacc.c:1646 */ + case 205: +#line 1853 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_LEFT_SHIFT); } -#line 5270 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5321 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 202: -#line 1832 "rwlparser.y" /* yacc.c:1646 */ + case 206: +#line 1854 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_RIGHT_SHIFT); } -#line 5276 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5327 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 204: -#line 1837 "rwlparser.y" /* yacc.c:1646 */ + case 208: +#line 1859 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESS); } -#line 5282 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5333 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 205: -#line 1838 "rwlparser.y" /* yacc.c:1646 */ + case 209: +#line 1860 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATER); } -#line 5288 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5339 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 206: -#line 1839 "rwlparser.y" /* yacc.c:1646 */ + case 210: +#line 1861 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } -#line 5294 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5345 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 207: -#line 1840 "rwlparser.y" /* yacc.c:1646 */ + case 211: +#line 1862 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } -#line 5300 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5351 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 208: -#line 1841 "rwlparser.y" /* yacc.c:1646 */ + case 212: +#line 1863 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } -#line 5306 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5357 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 210: -#line 1846 "rwlparser.y" /* yacc.c:1646 */ + case 214: +#line 1868 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EQUAL); } -#line 5312 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5363 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 211: -#line 1847 "rwlparser.y" /* yacc.c:1646 */ + case 215: +#line 1869 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } -#line 5318 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5369 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 213: -#line 1852 "rwlparser.y" /* yacc.c:1646 */ + case 217: +#line 1874 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_AND); } -#line 5324 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5375 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 215: -#line 1857 "rwlparser.y" /* yacc.c:1646 */ + case 219: +#line 1879 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_XOR); } -#line 5330 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5381 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 217: -#line 1862 "rwlparser.y" /* yacc.c:1646 */ + case 221: +#line 1884 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_OR); } -#line 5336 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5387 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 219: -#line 1868 "rwlparser.y" /* yacc.c:1646 */ + case 223: +#line 1890 "rwlparser.y" /* yacc.c:1646 */ { // With AND (and OR) skipdep is used to mark // the expression element we need to skip until @@ -5346,20 +5397,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-andskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5350 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5401 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 220: -#line 1878 "rwlparser.y" /* yacc.c:1646 */ + case 224: +#line 1900 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; } -#line 5359 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5410 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 222: -#line 1887 "rwlparser.y" /* yacc.c:1646 */ + case 226: +#line 1909 "rwlparser.y" /* yacc.c:1646 */ { // see comment above rwm->ptail->branchtype = RWL_EXP_ORBRANCH; @@ -5367,20 +5418,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-orskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5371 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5422 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 223: -#line 1895 "rwlparser.y" /* yacc.c:1646 */ + case 227: +#line 1917 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR ,rwm->skipdep); rwm->skipdep--; } -#line 5380 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5431 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 225: -#line 1904 "rwlparser.y" /* yacc.c:1646 */ + case 229: +#line 1926 "rwlparser.y" /* yacc.c:1646 */ { // With conditional execution we mark the condition // with RWL_EXP_CONDBRANCH1 @@ -5389,50 +5440,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlsevere(rwm, "[rwlparser-condskip:%d]", rwm->skipdep); rwm->ptail->skipnxt = rwm->skipdep; } -#line 5393 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5444 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 226: -#line 1913 "rwlparser.y" /* yacc.c:1646 */ + case 230: +#line 1935 "rwlparser.y" /* yacc.c:1646 */ { // and the place of ':' (really ELSE) with // RWL_EXP_CONDBRANCH2 rwm->ptail->branchtype = RWL_EXP_CONDBRANCH2; rwm->ptail->skipnxt = rwm->skipdep; } -#line 5404 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5455 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 227: -#line 1920 "rwlparser.y" /* yacc.c:1646 */ + case 231: +#line 1942 "rwlparser.y" /* yacc.c:1646 */ { // And the actual conditional is the "end if" place rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, rwm->skipdep); rwm->skipdep--; } -#line 5414 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5465 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 229: -#line 1929 "rwlparser.y" /* yacc.c:1646 */ + case 233: +#line 1951 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5420 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5471 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 231: -#line 1934 "rwlparser.y" /* yacc.c:1646 */ + case 235: +#line 1956 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } -#line 5426 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5477 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 233: -#line 1945 "rwlparser.y" /* yacc.c:1646 */ + case 237: +#line 1967 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = 0; } -#line 5432 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5483 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 234: -#line 1950 "rwlparser.y" /* yacc.c:1646 */ + case 238: +#line 1972 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) { @@ -5440,65 +5491,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); YYACCEPT; } } -#line 5444 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5495 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 235: -#line 1958 "rwlparser.y" /* yacc.c:1646 */ + case 239: +#line 1980 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5450 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5501 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 236: -#line 1960 "rwlparser.y" /* yacc.c:1646 */ + case 240: +#line 1982 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "threads"); yyerrok; } -#line 5456 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5507 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 238: -#line 1967 "rwlparser.y" /* yacc.c:1646 */ + case 242: +#line 1989 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5462 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5513 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 239: -#line 1969 "rwlparser.y" /* yacc.c:1646 */ + case 243: +#line 1991 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "run"); yyerrok; } -#line 5468 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5519 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 241: -#line 1973 "rwlparser.y" /* yacc.c:1646 */ + case 245: +#line 1995 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } -#line 5474 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5525 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 242: -#line 1975 "rwlparser.y" /* yacc.c:1646 */ + case 246: +#line 1997 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "database"); yyerrok; } -#line 5480 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5531 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 243: -#line 1977 "rwlparser.y" /* yacc.c:1646 */ + case 247: +#line 1999 "rwlparser.y" /* yacc.c:1646 */ { yyerrok ; } -#line 5486 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5537 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 244: -#line 1980 "rwlparser.y" /* yacc.c:1646 */ + case 248: +#line 2002 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random procedure array"); yyerrok; } -#line 5492 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5543 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 245: -#line 1983 "rwlparser.y" /* yacc.c:1646 */ + case 249: +#line 2005 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random string array"); yyerrok; } -#line 5498 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5549 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 246: -#line 1988 "rwlparser.y" /* yacc.c:1646 */ + case 250: +#line 2010 "rwlparser.y" /* yacc.c:1646 */ { switch(rwm->supsemerr) { @@ -5527,11 +5578,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 5531 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5582 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 247: -#line 2017 "rwlparser.y" /* yacc.c:1646 */ + case 251: +#line 2039 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5546,11 +5597,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_ABORT); } } -#line 5550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5601 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 248: -#line 2032 "rwlparser.y" /* yacc.c:1646 */ + case 252: +#line 2054 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5561,37 +5612,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_NOSTATISTICS); } } -#line 5565 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5616 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 251: -#line 2049 "rwlparser.y" /* yacc.c:1646 */ + case 255: +#line 2071 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } -#line 5571 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5622 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 253: -#line 2056 "rwlparser.y" /* yacc.c:1646 */ + case 257: +#line 2078 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } -#line 5577 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5628 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 255: -#line 2062 "rwlparser.y" /* yacc.c:1646 */ + case 259: +#line 2084 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } -#line 5583 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5634 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 256: -#line 2064 "rwlparser.y" /* yacc.c:1646 */ + case 260: +#line 2086 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; } -#line 5591 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5642 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 258: -#line 2070 "rwlparser.y" /* yacc.c:1646 */ + case 262: +#line 2092 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) rwm->declslen = 1; // kind of a kludge, but this prevents doube @@ -5601,33 +5652,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->declslen = rwm->pval.ival; } } -#line 5605 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5656 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 260: -#line 2084 "rwlparser.y" /* yacc.c:1646 */ + case 264: +#line 2106 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_STR); yyerrok; } -#line 5611 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5662 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 261: -#line 2086 "rwlparser.y" /* yacc.c:1646 */ + case 265: +#line 2108 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_FILE; //if (rwm->codename) // rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "file"); } -#line 5621 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5672 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 263: -#line 2095 "rwlparser.y" /* yacc.c:1646 */ + case 267: +#line 2117 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_FILE); yyerrok; } -#line 5627 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5678 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 264: -#line 2100 "rwlparser.y" /* yacc.c:1646 */ + case 268: +#line 2122 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5648,11 +5699,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5652 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5703 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 265: -#line 2123 "rwlparser.y" /* yacc.c:1646 */ + case 269: +#line 2145 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5675,17 +5726,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5679 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5730 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 266: -#line 2147 "rwlparser.y" /* yacc.c:1646 */ + case 270: +#line 2169 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rslerror) rwlcodeadd0(rwm, RWL_CODE_ELSE); } -#line 5685 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5736 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 267: -#line 2150 "rwlparser.y" /* yacc.c:1646 */ + case 271: +#line 2172 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5706,11 +5757,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5710 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5761 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 268: -#line 2173 "rwlparser.y" /* yacc.c:1646 */ + case 272: +#line 2195 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* start expression */ @@ -5748,11 +5799,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlexprbeg(rwm); } -#line 5752 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5803 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 269: -#line 2215 "rwlparser.y" /* yacc.c:1646 */ + case 273: +#line 2237 "rwlparser.y" /* yacc.c:1646 */ { switch (rwm->rsllityp[rwm->rsldepth]) { @@ -5820,65 +5871,65 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); , rwm->rsldepth, rwm->rslmisc[rwm->rsldepth]); } } -#line 5824 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5875 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 270: -#line 2284 "rwlparser.y" /* yacc.c:1646 */ + case 274: +#line 2306 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwm->rsllityp[rwm->rsldepth] = RWL_LI_BAD; yyerrok; } -#line 5834 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5885 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 271: -#line 2291 "rwlparser.y" /* yacc.c:1646 */ + case 275: +#line 2313 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } -#line 5840 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5891 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 273: -#line 2294 "rwlparser.y" /* yacc.c:1646 */ + case 277: +#line 2316 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } -#line 5848 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5899 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 275: -#line 2299 "rwlparser.y" /* yacc.c:1646 */ + case 279: +#line 2321 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprclear(rwm); } -#line 5857 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5908 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 276: -#line 2304 "rwlparser.y" /* yacc.c:1646 */ + case 280: +#line 2326 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 5868 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5919 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 278: -#line 2313 "rwlparser.y" /* yacc.c:1646 */ + case 282: +#line 2335 "rwlparser.y" /* yacc.c:1646 */ { /* start expression for assign */ rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 5878 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5929 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 280: -#line 2322 "rwlparser.y" /* yacc.c:1646 */ + case 284: +#line 2344 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) rwlerror(rwm, RWL_ERROR_RETURN_OUTSIDE_CODE); @@ -5890,20 +5941,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_RETURN_NO_EXPR, rwm->codename); } } -#line 5894 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5945 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 281: -#line 2334 "rwlparser.y" /* yacc.c:1646 */ + case 285: +#line 2356 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5903 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5954 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 282: -#line 2339 "rwlparser.y" /* yacc.c:1646 */ + case 286: +#line 2361 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5932,30 +5983,30 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeaddpu(rwm, RWL_CODE_RETURN, rwm->codename, rwm->codeguess); } } -#line 5936 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5987 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 284: -#line 2368 "rwlparser.y" /* yacc.c:1646 */ + case 288: +#line 2390 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5946 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 5997 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 285: -#line 2375 "rwlparser.y" /* yacc.c:1646 */ + case 289: +#line 2397 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); } -#line 5955 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6006 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 286: -#line 2380 "rwlparser.y" /* yacc.c:1646 */ + case 290: +#line 2402 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5984,21 +6035,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 5988 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6039 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 288: -#line 2410 "rwlparser.y" /* yacc.c:1646 */ + case 292: +#line 2432 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 5998 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6049 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 289: -#line 2418 "rwlparser.y" /* yacc.c:1646 */ + case 293: +#line 2440 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -6012,11 +6063,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6016 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6067 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 290: -#line 2432 "rwlparser.y" /* yacc.c:1646 */ + case 294: +#line 2454 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbnam = rwm->inam; rwm->mdbvar = rwlfindvar2(rwm->mxq, rwm->mdbnam, RWL_VAR_NOGUESS, rwm->codename); @@ -6027,11 +6078,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mdbvar = RWL_VAR_INVALID; } } -#line 6031 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6082 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 292: -#line 2446 "rwlparser.y" /* yacc.c:1646 */ + case 296: +#line 2468 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -6045,11 +6096,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6049 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6100 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 293: -#line 2462 "rwlparser.y" /* yacc.c:1646 */ + case 297: +#line 2484 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6059,29 +6110,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlcodeadd0(rwm, RWL_CODE_MODDBLEAK); } -#line 6063 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6114 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 294: -#line 2473 "rwlparser.y" /* yacc.c:1646 */ + case 298: +#line 2495 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 6072 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6123 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 295: -#line 2479 "rwlparser.y" /* yacc.c:1646 */ + case 299: +#line 2501 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); } -#line 6081 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6132 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 296: -#line 2485 "rwlparser.y" /* yacc.c:1646 */ + case 300: +#line 2507 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_COMMIT); @@ -6092,11 +6143,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcommit(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 6096 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6147 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 297: -#line 2497 "rwlparser.y" /* yacc.c:1646 */ + case 301: +#line 2519 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_ROLLBACK); @@ -6107,11 +6158,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlrollback(rwm->mxq, &rwm->loc, rwm->mxq->curdb); } } -#line 6111 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6162 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 298: -#line 2509 "rwlparser.y" /* yacc.c:1646 */ + case 302: +#line 2531 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SHIFT); @@ -6119,11 +6170,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlshiftdollar(rwm->mxq, &rwm->loc); } -#line 6123 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6174 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 299: -#line 2518 "rwlparser.y" /* yacc.c:1646 */ + case 303: +#line 2540 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_GETRUSAGE); @@ -6131,11 +6182,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (!bit(rwm->m2flags, RWL_P2_NOEXEC)) rwlgetrusage(rwm->mxq, 0); } -#line 6135 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6186 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 300: -#line 2527 "rwlparser.y" /* yacc.c:1646 */ + case 304: +#line 2549 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlinam = rwm->inam; rwm->mqbdtyp = 0; rwm->modsqlvar = rwlfindvar2(rwm->mxq, rwm->msqlinam, RWL_VAR_NOGUESS, rwm->codename); @@ -6146,151 +6197,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->modsqlvar = RWL_VAR_INVALID; } } -#line 6150 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6201 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 302: -#line 2540 "rwlparser.y" /* yacc.c:1646 */ + case 306: +#line 2562 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } -#line 6156 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6207 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 303: -#line 2545 "rwlparser.y" /* yacc.c:1646 */ - { - /* handle procedure call with arguments - * as if it were a function call - */ - if (0 != rwm->furlev) - rwlsevere(rwm,"[rwlparser-recurse2:%d]", rwm->furlev); - bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); /* default DB */ - rwm->aacnt[0] = 0; - /* - Here is a bit of a hack. Due to the error handling code - below, the parser may have been doing lookahead, and that lookahead - may have seen an identifier. Compare these two: - - someproc(a); - someproc(0+a); - - The lookahead after '(' will be either "a" or 0. In the former - case, the lexer has consumed "a", so rwm->inam now contains "a" - in stead of "someproc" which we need below. However, the lexer - has saved the previous identifier name as previnam. - - Hence, we see if the lookahead is an identifier, if it is, the - function name is stored in previnam rather than inam - */ - rwm->funcn[0] = (yychar == RWL_T_IDENTIFIER) - ? rwm->previnam - : rwm->inam; - rwlexprbeg(rwm); - } -#line 6190 "rwlparser.tab.c" /* yacc.c:1646 */ - break; - - case 304: -#line 2577 "rwlparser.y" /* yacc.c:1646 */ - { - if (rwm->codename) // building a procedure - { - rwl_estack *estk; - sb4 l2 = RWL_VAR_NOGUESS; - if (bit(rwm->m2flags, RWL_P2_AT)) - { - l2 = rwlfindvar(rwm->mxq, rwm->dbname, RWL_VAR_NOGUESS); - if (RWL_TYPE_DB != rwm->mxq->evar[l2].vtype) - { - rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2 - , rwm->mxq->evar[l2].stype, rwm->dbname, "at clause"); - } - else - { - rwl_cinfo *thisdb = rwm->mxq->evar[l2].vdata; - switch (thisdb->pooltype) - { - case RWL_DBPOOL_RETHRDED: - rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "threads dedicated", thisdb->vname); - l2 = RWL_VAR_NOGUESS; - break; - case RWL_DBPOOL_DEDICATED: - rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "dedicated", thisdb->vname); - l2 = RWL_VAR_NOGUESS; - break; - case RWL_DBPOOL_POOLED: - case RWL_DBPOOL_RECONNECT: - case RWL_DBPOOL_SESSION: - break; - - default: // shut up gcc - break; - } - } - } - // If at clause was found, wrap the RWL_STACK_PROCCALL/RWL_CODE_STACK - // with NEWDB/OLDDB - if (l2>=0) - rwlcodeaddpu(rwm, RWL_CODE_NEWDB, rwm->dbname, l2); - // or with DEFDB - if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) - rwlcodeadd0(rwm, RWL_CODE_DEFDB); - - rwlexprpush2(rwm, rwm->funcn[0] - , RWL_STACK_PROCCALL - , rwm->aacnt[0] ); - if ((estk = rwlexprfinish(rwm))) - rwlcodeaddp(rwm, RWL_CODE_STACK, estk); - else - rwlexprclear(rwm); - - if (l2>=0 || bit(rwm->m2flags, RWL_P2_ATDEFAULT)) - rwlcodeadd0(rwm, RWL_CODE_OLDDB); - } - else // exeucting directly in main - { - rwl_estack *estk; - - if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) - rwlerror(rwm, RWL_ERROR_AT_DEFAULT_NO_IMPACT); - - if (bit(rwm->m2flags, RWL_P2_AT)) - rwldummyonbad(rwm->mxq, rwm->dbname); - else - rwldummyonbad(rwm->mxq, rwm->defdb); - - /* syntactically, the number of arguments doesn't matter - so we just provide the actual arg count to exprpush2 - and deal with a mis-count there - */ - rwlexprpush2(rwm, rwm->funcn[0] - , RWL_STACK_PROCCALL - , rwm->aacnt[0] ); - - if ((estk = rwlexprfinish(rwm))) - { - rwlexpreval(estk, &rwm->loc, rwm->mxq, 0); - rwlexprdestroy(rwm, estk); - } - else - rwlexprclear(rwm); - } - } -#line 6279 "rwlparser.tab.c" /* yacc.c:1646 */ - break; - - case 305: -#line 2662 "rwlparser.y" /* yacc.c:1646 */ + case 309: +#line 2575 "rwlparser.y" /* yacc.c:1646 */ { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); rwlexprclear(rwm); yyerrok; } -#line 6290 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6218 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 306: -#line 2669 "rwlparser.y" /* yacc.c:1646 */ + case 310: +#line 2582 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6305,29 +6233,29 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 6309 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6237 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 309: -#line 2688 "rwlparser.y" /* yacc.c:1646 */ + case 313: +#line 2601 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = RWL_SUPSEM_EMBSQL; } -#line 6315 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6243 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 313: -#line 2694 "rwlparser.y" /* yacc.c:1646 */ + case 317: +#line 2607 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6321 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6249 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 314: -#line 2696 "rwlparser.y" /* yacc.c:1646 */ + case 318: +#line 2609 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMPARSEFOR); } -#line 6327 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6255 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 317: -#line 2702 "rwlparser.y" /* yacc.c:1646 */ + case 321: +#line 2615 "rwlparser.y" /* yacc.c:1646 */ { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below @@ -6412,11 +6340,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); --rwm->rsldepth; } } -#line 6416 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6344 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 318: -#line 2789 "rwlparser.y" /* yacc.c:1646 */ + case 322: +#line 2702 "rwlparser.y" /* yacc.c:1646 */ { --rwm->rsldepth; if (rwm->rslerror) @@ -6445,11 +6373,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6449 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6377 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 319: -#line 2819 "rwlparser.y" /* yacc.c:1646 */ + case 323: +#line 2732 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6481,20 +6409,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm,RWL_ERROR_INCORRECT_TYPE2, rwm->mxq->evar[l].stype, rwm->inam, "file"); } } -#line 6485 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6413 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 320: -#line 2852 "rwlparser.y" /* yacc.c:1646 */ + case 324: +#line 2765 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_FFLUSH); yyerrok; } -#line 6494 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6422 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 321: -#line 2859 "rwlparser.y" /* yacc.c:1646 */ + case 325: +#line 2772 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6517,11 +6445,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 6521 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6449 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 322: -#line 2884 "rwlparser.y" /* yacc.c:1646 */ + case 326: +#line 2797 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) { @@ -6551,11 +6479,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 6555 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6483 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 323: -#line 2916 "rwlparser.y" /* yacc.c:1646 */ + case 327: +#line 2829 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -6574,88 +6502,88 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6578 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6506 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 329: -#line 2944 "rwlparser.y" /* yacc.c:1646 */ + case 333: +#line 2857 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6589 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6517 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 331: -#line 2953 "rwlparser.y" /* yacc.c:1646 */ + case 335: +#line 2866 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_STRING_FOR_SPRINTF); rwlexprclear(rwm); yyerrok; } -#line 6600 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6528 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 333: -#line 2962 "rwlparser.y" /* yacc.c:1646 */ + case 337: +#line 2875 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6611 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6539 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 335: -#line 2972 "rwlparser.y" /* yacc.c:1646 */ + case 339: +#line 2885 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document this syntax without comma if (rwm->filenam) rwlerror(rwm, RWL_ERROR_COMMA_IS_RECOMMENDED, rwm->filenam , bit(rwm->mflags,RWL_P_PRINTLINE) ? "writeline" : "write"); } -#line 6622 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6550 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 338: -#line 2984 "rwlparser.y" /* yacc.c:1646 */ + case 342: +#line 2897 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6633 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6561 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 339: -#line 2992 "rwlparser.y" /* yacc.c:1646 */ + case 343: +#line 2905 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6644 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6572 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 340: -#line 3000 "rwlparser.y" /* yacc.c:1646 */ + case 344: +#line 2913 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); rwlexprclear(rwm); yyerrok; } -#line 6655 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6583 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 341: -#line 3008 "rwlparser.y" /* yacc.c:1646 */ + case 345: +#line 2921 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_NEWLINE); @@ -6663,22 +6591,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); fputs(bit(rwm->m4flags, RWL_P4_CRNLWRITELINE) ? "\r\n" : "\n", stdout); bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 6667 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6595 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 343: -#line 3018 "rwlparser.y" /* yacc.c:1646 */ + case 347: +#line 2931 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 6678 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6606 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 345: -#line 3026 "rwlparser.y" /* yacc.c:1646 */ + case 349: +#line 2939 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6689,11 +6617,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlcodeadd0(rwm, RWL_CODE_CQNBREAK); } } -#line 6693 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6621 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 346: -#line 3037 "rwlparser.y" /* yacc.c:1646 */ + case 350: +#line 2950 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6728,11 +6656,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6732 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6660 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 347: -#line 3073 "rwlparser.y" /* yacc.c:1646 */ + case 351: +#line 2986 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6768,11 +6696,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6772 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6700 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 348: -#line 3110 "rwlparser.y" /* yacc.c:1646 */ + case 352: +#line 3023 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6811,11 +6739,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_DONE_IN_MAIN, "writelob"); } } -#line 6815 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6743 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 349: -#line 3150 "rwlparser.y" /* yacc.c:1646 */ + case 353: +#line 3063 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_CBLOCK)) { @@ -6832,11 +6760,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->m2flags, RWL_P2_THROPTS); /* clear all thread option flas */ bis(rwm->m2flags, RWL_P2_CBLOCK); } -#line 6836 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6764 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 350: -#line 3167 "rwlparser.y" /* yacc.c:1646 */ + case 354: +#line 3080 "rwlparser.y" /* yacc.c:1646 */ { if(!rwm->stoptime && !rwm->stopcount) { @@ -6858,11 +6786,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 6862 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6790 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 351: -#line 3191 "rwlparser.y" /* yacc.c:1646 */ + case 355: +#line 3104 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_CBLOCK_BAD)) rwlloopfinish(rwm); @@ -6880,26 +6808,154 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6884 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6812 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 352: -#line 3210 "rwlparser.y" /* yacc.c:1646 */ + case 356: +#line 3123 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_AFTER_IDENTIFIER); yyerrok; } -#line 6893 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6821 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 353: -#line 3217 "rwlparser.y" /* yacc.c:1646 */ + case 357: +#line 3130 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 6899 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6827 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 354: -#line 3223 "rwlparser.y" /* yacc.c:1646 */ + case 358: +#line 3137 "rwlparser.y" /* yacc.c:1646 */ + { + /* handle procedure call with arguments + * as if it were a function call + */ + if (0 != rwm->furlev) + rwlsevere(rwm,"[rwlparser-recurse2:%d]", rwm->furlev); + bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); + rwm->aacnt[0] = 0; + /* + Here is a bit of a hack. Due to the error handling code + below, the parser may have been doing lookahead, and that lookahead + may have seen an identifier. Compare these two: + + someproc(a); + someproc(0+a); + + The lookahead after '(' will be either "a" or 0. In the former + case, the lexer has consumed "a", so rwm->inam now contains "a" + in stead of "someproc" which we need below. However, the lexer + has saved the previous identifier name as previnam. + + Hence, we see if the lookahead is an identifier, if it is, the + function name is stored in previnam rather than inam + */ + + if (0 != rwm->furlev) + rwlsevere(rwm,"[rwlparser-recurse2:%d]", rwm->furlev); + bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); + rwm->aacnt[0] = 0; + rwm->funcn[0] = (yychar == RWL_T_IDENTIFIER) + ? rwm->previnam + : rwm->inam; + rwlexprbeg(rwm); + } +#line 6866 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 359: +#line 3175 "rwlparser.y" /* yacc.c:1646 */ + { + if (rwm->codename) // building a procedure + { + rwl_estack *estk; + sb4 l2 = RWL_VAR_NOGUESS; + if (bit(rwm->m2flags, RWL_P2_AT)) + { + l2 = rwlfindvar(rwm->mxq, rwm->dbname, RWL_VAR_NOGUESS); + if (RWL_TYPE_DB != rwm->mxq->evar[l2].vtype) + { + rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2 + , rwm->mxq->evar[l2].stype, rwm->dbname, "at clause"); + } + else + { + rwl_cinfo *thisdb = rwm->mxq->evar[l2].vdata; + switch (thisdb->pooltype) + { + case RWL_DBPOOL_RETHRDED: + rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "threads dedicated", thisdb->vname); + l2 = RWL_VAR_NOGUESS; + break; + case RWL_DBPOOL_DEDICATED: + rwlerror(rwm,RWL_ERROR_WRONG_DB_IN_CODE, "dedicated", thisdb->vname); + l2 = RWL_VAR_NOGUESS; + break; + case RWL_DBPOOL_POOLED: + case RWL_DBPOOL_RECONNECT: + case RWL_DBPOOL_SESSION: + break; + + default: // shut up gcc + break; + } + } + } + // If at clause was found, wrap the RWL_STACK_PROCCALL/RWL_CODE_STACK + // with NEWDB/OLDDB + if (l2>=0) + rwlcodeaddpu(rwm, RWL_CODE_NEWDB, rwm->dbname, l2); + // or with DEFDB + if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) + rwlcodeadd0(rwm, RWL_CODE_DEFDB); + + rwlexprpush2(rwm, rwm->funcn[0] + , RWL_STACK_PROCCALL + , rwm->aacnt[0] ); + if ((estk = rwlexprfinish(rwm))) + rwlcodeaddp(rwm, RWL_CODE_STACK, estk); + else + rwlexprclear(rwm); + + if (l2>=0 || bit(rwm->m2flags, RWL_P2_ATDEFAULT)) + rwlcodeadd0(rwm, RWL_CODE_OLDDB); + } + else // exeucting directly in main + { + rwl_estack *estk; + + if (bit(rwm->m2flags, RWL_P2_ATDEFAULT)) + rwlerror(rwm, RWL_ERROR_AT_DEFAULT_NO_IMPACT); + + if (bit(rwm->m2flags, RWL_P2_AT)) + rwldummyonbad(rwm->mxq, rwm->dbname); + else + rwldummyonbad(rwm->mxq, rwm->defdb); + + /* syntactically, the number of arguments doesn't matter + so we just provide the actual arg count to exprpush2 + and deal with a mis-count there + */ + rwlexprpush2(rwm, rwm->funcn[0] + , RWL_STACK_PROCCALL + , rwm->aacnt[0] ); + + if ((estk = rwlexprfinish(rwm))) + { + rwlexpreval(estk, &rwm->loc, rwm->mxq, 0); + rwlexprdestroy(rwm, estk); + } + else + rwlexprclear(rwm); + } + } +#line 6955 "rwlparser.tab.c" /* yacc.c:1646 */ + break; + + case 360: +#line 3263 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6923,28 +6979,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6927 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6983 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 355: -#line 3247 "rwlparser.y" /* yacc.c:1646 */ + case 361: +#line 3287 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobwritedata = rwlexprfinish(rwm); rwm->loboffset = 0; } -#line 6936 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 6992 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 357: -#line 3256 "rwlparser.y" /* yacc.c:1646 */ + case 363: +#line 3296 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 6944 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7000 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 358: -#line 3263 "rwlparser.y" /* yacc.c:1646 */ + case 364: +#line 3303 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6967,11 +7023,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6971 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7027 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 359: -#line 3286 "rwlparser.y" /* yacc.c:1646 */ + case 365: +#line 3326 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->loboffset = 0; @@ -6993,27 +7049,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 6997 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7053 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 361: -#line 3312 "rwlparser.y" /* yacc.c:1646 */ + case 367: +#line 3352 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobreadlength = rwlexprfinish(rwm); } -#line 7005 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7061 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 362: -#line 3316 "rwlparser.y" /* yacc.c:1646 */ + case 368: +#line 3356 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } -#line 7013 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7069 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 363: -#line 3322 "rwlparser.y" /* yacc.c:1646 */ + case 369: +#line 3362 "rwlparser.y" /* yacc.c:1646 */ { /* simple sql execute */ sb4 l; @@ -7159,11 +7215,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->loc.errlin = 0; } -#line 7163 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7219 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 364: -#line 3472 "rwlparser.y" /* yacc.c:1646 */ + case 370: +#line 3512 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; @@ -7273,11 +7329,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); failurecursor: rwm->loc.errlin = 0; } -#line 7277 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7333 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 365: -#line 3584 "rwlparser.y" /* yacc.c:1646 */ + case 371: +#line 3624 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -7310,27 +7366,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->loc.errlin = 0; } -#line 7314 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7370 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 366: -#line 3620 "rwlparser.y" /* yacc.c:1646 */ + case 372: +#line 3660 "rwlparser.y" /* yacc.c:1646 */ { // This syntax is not documented bic(rwm->m3flags, RWL_P3_CLHEADFOR); rwlerror(rwm, RWL_ERROR_LEGACY_CONTROLLOOP_SYNTAX); } -#line 7324 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7380 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 367: -#line 3625 "rwlparser.y" /* yacc.c:1646 */ + case 373: +#line 3665 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7330 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7386 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 368: -#line 3629 "rwlparser.y" /* yacc.c:1646 */ + case 374: +#line 3669 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document these two (legacy) syntax: // loop option .. .. ; @@ -7343,41 +7399,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // legacy and current syntax are mixed. bic(rwm->m3flags, RWL_P3_CLHEADFOR); } -#line 7347 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7403 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 369: -#line 3645 "rwlparser.y" /* yacc.c:1646 */ + case 375: +#line 3685 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7355 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7411 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 370: -#line 3649 "rwlparser.y" /* yacc.c:1646 */ + case 376: +#line 3689 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7363 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7419 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 371: -#line 3653 "rwlparser.y" /* yacc.c:1646 */ + case 377: +#line 3693 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } -#line 7371 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7427 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 374: -#line 3664 "rwlparser.y" /* yacc.c:1646 */ + case 380: +#line 3704 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7377 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7433 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 375: -#line 3666 "rwlparser.y" /* yacc.c:1646 */ + case 381: +#line 3706 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->starttime) { @@ -7390,17 +7446,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->starttime = rwlexprfinish(rwm); } } -#line 7394 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7450 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 376: -#line 3678 "rwlparser.y" /* yacc.c:1646 */ + case 382: +#line 3718 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7400 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7456 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 377: -#line 3680 "rwlparser.y" /* yacc.c:1646 */ + case 383: +#line 3720 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7415,17 +7471,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bis(rwm->m2flags, RWL_P2_STOP); } } -#line 7419 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7475 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 378: -#line 3694 "rwlparser.y" /* yacc.c:1646 */ + case 384: +#line 3734 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7425 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7481 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 379: -#line 3696 "rwlparser.y" /* yacc.c:1646 */ + case 385: +#line 3736 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7440,17 +7496,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); //bic(rwm->m2flags, RWL_P2_STOP); } } -#line 7444 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7500 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 380: -#line 3710 "rwlparser.y" /* yacc.c:1646 */ + case 386: +#line 3750 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7450 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7506 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 381: -#line 3712 "rwlparser.y" /* yacc.c:1646 */ + case 387: +#line 3752 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7463,17 +7519,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->waittime = rwlexprfinish(rwm); } } -#line 7467 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7523 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 382: -#line 3724 "rwlparser.y" /* yacc.c:1646 */ + case 388: +#line 3764 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7473 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7529 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 383: -#line 3726 "rwlparser.y" /* yacc.c:1646 */ + case 389: +#line 3766 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7499,55 +7555,55 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->everytime = rwlexprfinish(rwm); } } -#line 7503 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7559 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 384: -#line 3755 "rwlparser.y" /* yacc.c:1646 */ + case 390: +#line 3795 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = 0; } -#line 7509 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7565 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 385: -#line 3756 "rwlparser.y" /* yacc.c:1646 */ + case 391: +#line 3796 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_QUEUE_EVERY; } -#line 7515 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7571 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 386: -#line 3757 "rwlparser.y" /* yacc.c:1646 */ + case 392: +#line 3797 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_NOQUEUE_EVERY; } -#line 7521 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7577 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 387: -#line 3761 "rwlparser.y" /* yacc.c:1646 */ + case 393: +#line 3801 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7530 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7586 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 388: -#line 3766 "rwlparser.y" /* yacc.c:1646 */ + case 394: +#line 3806 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7539 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7595 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 389: -#line 3771 "rwlparser.y" /* yacc.c:1646 */ + case 395: +#line 3811 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7547 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7603 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 390: -#line 3775 "rwlparser.y" /* yacc.c:1646 */ + case 396: +#line 3815 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); // lookahead may have consumed the next identifier @@ -7555,20 +7611,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ? rwm->previnam : rwm->inam; } -#line 7559 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7615 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 391: -#line 3783 "rwlparser.y" /* yacc.c:1646 */ + case 397: +#line 3823 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7568 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7624 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 392: -#line 3792 "rwlparser.y" /* yacc.c:1646 */ + case 398: +#line 3832 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; rwm->sqllino = rwm->sqltlin; // the line where we started sql scan @@ -7583,11 +7639,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->scname = rwm->sqname = rwlstrdup(rwm, sqlnam); rwm->sqllen = 0; } -#line 7587 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7643 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 393: -#line 3807 "rwlparser.y" /* yacc.c:1646 */ + case 399: +#line 3847 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); @@ -7615,11 +7671,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); rwm->sqlfile = 0; /* not from a file */ } -#line 7619 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7675 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 394: -#line 3839 "rwlparser.y" /* yacc.c:1646 */ + case 400: +#line 3879 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; snprintf((char *)sqlnam, sizeof(sqlnam), "sql#%05d", rwm->mxq->varcount); @@ -7633,11 +7689,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->msqlstk = 0; } -#line 7637 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7693 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 395: -#line 3854 "rwlparser.y" /* yacc.c:1646 */ + case 401: +#line 3894 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMEDSQL); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); @@ -7645,11 +7701,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); if (bit(rwm->m3flags,RWL_P3_IMPLCASE)) bis(rwm->sqsav->flags, RWL_SQLFLAG_ICASE); } -#line 7649 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7705 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 396: -#line 3863 "rwlparser.y" /* yacc.c:1646 */ + case 402: +#line 3903 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_IMMISDYN) && bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -7686,26 +7742,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); cannotdoimm: ; } -#line 7690 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7746 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 398: -#line 3901 "rwlparser.y" /* yacc.c:1646 */ + case 404: +#line 3941 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG) ; yyerrok; } -#line 7699 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7755 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 400: -#line 3909 "rwlparser.y" /* yacc.c:1646 */ + case 406: +#line 3949 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 7705 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7761 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 401: -#line 3910 "rwlparser.y" /* yacc.c:1646 */ + case 407: +#line 3950 "rwlparser.y" /* yacc.c:1646 */ { if ((rwm->msqlstk = rwlexprfinish(rwm))) bis(rwm->m3flags, RWL_P3_IMMISDYN); // now dynamic @@ -7715,99 +7771,99 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 7719 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7775 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 402: -#line 3922 "rwlparser.y" /* yacc.c:1646 */ + case 408: +#line 3962 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno; } -#line 7727 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7783 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 406: -#line 3931 "rwlparser.y" /* yacc.c:1646 */ + case 412: +#line 3971 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "sql") ; } -#line 7735 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7791 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 409: -#line 3942 "rwlparser.y" /* yacc.c:1646 */ + case 415: +#line 3982 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7743 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7799 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 410: -#line 3946 "rwlparser.y" /* yacc.c:1646 */ + case 416: +#line 3986 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7752 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7808 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 411: -#line 3954 "rwlparser.y" /* yacc.c:1646 */ + case 417: +#line 3994 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } -#line 7760 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7816 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 412: -#line 3958 "rwlparser.y" /* yacc.c:1646 */ + case 418: +#line 3998 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } -#line 7768 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7824 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 413: -#line 3962 "rwlparser.y" /* yacc.c:1646 */ + case 419: +#line 4002 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); } -#line 7777 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7833 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 415: -#line 3972 "rwlparser.y" /* yacc.c:1646 */ + case 421: +#line 4012 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = 0; bis(rwm->m2flags, RWL_P2_ATDEFAULT); /* explict choose standard DB */ } -#line 7786 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7842 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 416: -#line 3978 "rwlparser.y" /* yacc.c:1646 */ + case 422: +#line 4018 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); /* named DB */ } -#line 7795 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7851 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 417: -#line 3983 "rwlparser.y" /* yacc.c:1646 */ + case 423: +#line 4023 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_DATABASE_NAME); yyerrok; } -#line 7801 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7857 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 418: -#line 3985 "rwlparser.y" /* yacc.c:1646 */ + case 424: +#line 4025 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 7807 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7863 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 421: -#line 3993 "rwlparser.y" /* yacc.c:1646 */ + case 427: +#line 4033 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename || bit(rwm->addvarbits,RWL_IDENT_PRIVATE)) { @@ -7833,11 +7889,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 7837 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7893 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 422: -#line 4019 "rwlparser.y" /* yacc.c:1646 */ + case 428: +#line 4059 "rwlparser.y" /* yacc.c:1646 */ { // if compiling first file, see if there is a user arg if (bit(rwm->m2flags, RWL_P2_SCANFIRST) && rwm->decvarn >= 0) @@ -7910,20 +7966,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); donewithuserarg: ; } -#line 7914 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7970 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 424: -#line 4096 "rwlparser.y" /* yacc.c:1646 */ + case 430: +#line 4136 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->inam; rwlexprbeg(rwm); } -#line 7923 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 7979 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 425: -#line 4101 "rwlparser.y" /* yacc.c:1646 */ + case 431: +#line 4141 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->dtype) @@ -7970,11 +8026,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; } } -#line 7974 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8030 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 430: -#line 4164 "rwlparser.y" /* yacc.c:1646 */ + case 436: +#line 4204 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -7989,22 +8045,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_IF, estk); } -#line 7993 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8049 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 431: -#line 4179 "rwlparser.y" /* yacc.c:1646 */ + case 437: +#line 4219 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8004 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8060 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 432: -#line 4188 "rwlparser.y" /* yacc.c:1646 */ + case 438: +#line 4228 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8019,38 +8075,38 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwlcodeaddp(rwm, RWL_CODE_ELSEIF, estk); } -#line 8023 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8079 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 433: -#line 4203 "rwlparser.y" /* yacc.c:1646 */ + case 439: +#line 4243 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8034 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8090 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 434: -#line 4212 "rwlparser.y" /* yacc.c:1646 */ + case 440: +#line 4252 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LEGACY_WHILE_SYNTAX); } -#line 8042 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8098 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 435: -#line 4216 "rwlparser.y" /* yacc.c:1646 */ + case 441: +#line 4256 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_WHILOP); } -#line 8050 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8106 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 436: -#line 4222 "rwlparser.y" /* yacc.c:1646 */ + case 442: +#line 4262 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8067,33 +8123,33 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 8071 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8127 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 437: -#line 4239 "rwlparser.y" /* yacc.c:1646 */ + case 443: +#line 4279 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8082 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8138 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 438: -#line 4246 "rwlparser.y" /* yacc.c:1646 */ + case 444: +#line 4286 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_KEYWORD, "loop"); rwlexprclear(rwm); rwm->rslerror++; // to prevent attempting else/endif code generation yyerrok; } -#line 8093 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8149 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 443: -#line 4263 "rwlparser.y" /* yacc.c:1646 */ + case 449: +#line 4303 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -8109,120 +8165,120 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); nothreadssum: ; } -#line 8113 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8169 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 444: -#line 4279 "rwlparser.y" /* yacc.c:1646 */ + case 450: +#line 4319 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlerror(rwm, RWL_ERROR_NO_LOCAL_SUMGLOB); else bis(rwm->addvarbits,RWL_IDENT_GLOBAL); } -#line 8124 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8180 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 445: -#line 4289 "rwlparser.y" /* yacc.c:1646 */ + case 451: +#line 4329 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8134 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8190 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 446: -#line 4295 "rwlparser.y" /* yacc.c:1646 */ + case 452: +#line 4335 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8143 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8199 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 447: -#line 4303 "rwlparser.y" /* yacc.c:1646 */ + case 453: +#line 4343 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8153 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8209 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 448: -#line 4309 "rwlparser.y" /* yacc.c:1646 */ + case 454: +#line 4349 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8162 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8218 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 449: -#line 4317 "rwlparser.y" /* yacc.c:1646 */ + case 455: +#line 4357 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8172 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8228 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 450: -#line 4323 "rwlparser.y" /* yacc.c:1646 */ + case 456: +#line 4363 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8181 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8237 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 451: -#line 4331 "rwlparser.y" /* yacc.c:1646 */ + case 457: +#line 4371 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 8190 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8246 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 452: -#line 4336 "rwlparser.y" /* yacc.c:1646 */ + case 458: +#line 4376 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 8198 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8254 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 453: -#line 4342 "rwlparser.y" /* yacc.c:1646 */ + case 459: +#line 4382 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_CLOB; } -#line 8204 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8260 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 454: -#line 4343 "rwlparser.y" /* yacc.c:1646 */ + case 460: +#line 4383 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_BLOB; } -#line 8210 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8266 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 455: -#line 4344 "rwlparser.y" /* yacc.c:1646 */ + case 461: +#line 4384 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_NCLOB; } -#line 8216 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8272 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 456: -#line 4348 "rwlparser.y" /* yacc.c:1646 */ + case 462: +#line 4388 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8222 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8278 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 457: -#line 4349 "rwlparser.y" /* yacc.c:1646 */ + case 463: +#line 4389 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8232,25 +8288,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8236 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8292 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 459: -#line 4360 "rwlparser.y" /* yacc.c:1646 */ + case 465: +#line 4400 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8244 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8300 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 460: -#line 4363 "rwlparser.y" /* yacc.c:1646 */ + case 466: +#line 4403 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} -#line 8250 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8306 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 461: -#line 4364 "rwlparser.y" /* yacc.c:1646 */ + case 467: +#line 4404 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bic(rwm->m2flags, RWL_P2_BADSQLFILTXT); @@ -8259,19 +8315,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqllen = 0; rwm->sqname = rwm->inam; } -#line 8263 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8319 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 463: -#line 4374 "rwlparser.y" /* yacc.c:1646 */ + case 469: +#line 4414 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } -#line 8271 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8327 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 466: -#line 4384 "rwlparser.y" /* yacc.c:1646 */ + case 472: +#line 4424 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; @@ -8317,11 +8373,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8321 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8377 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 467: -#line 4431 "rwlparser.y" /* yacc.c:1646 */ + case 473: +#line 4471 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; @@ -8352,11 +8408,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_SQL_ARRAY_AND_IGNERR); } -#line 8356 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8412 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 468: -#line 4465 "rwlparser.y" /* yacc.c:1646 */ + case 474: +#line 4505 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -8365,11 +8421,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->mxq->evar[rwm->sqsavvarn].stype = "cancelled (sql)"; } } -#line 8369 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8425 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 470: -#line 4478 "rwlparser.y" /* yacc.c:1646 */ + case 476: +#line 4518 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; ub4 iflag = bit(rwm->m3flags, RWL_P3_IMMEDSQL) ? RWL_IDENT_INTERNAL : 0; @@ -8443,11 +8499,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8447 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8503 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 471: -#line 4556 "rwlparser.y" /* yacc.c:1646 */ + case 477: +#line 4596 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; ub4 notyetcount = 0; @@ -8540,53 +8596,53 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8544 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8600 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 475: -#line 4659 "rwlparser.y" /* yacc.c:1646 */ + case 481: +#line 4699 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BIND); yyerrok; } -#line 8550 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8606 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 477: -#line 4663 "rwlparser.y" /* yacc.c:1646 */ + case 483: +#line 4703 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BINDOUT); yyerrok; } -#line 8556 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8612 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 479: -#line 4667 "rwlparser.y" /* yacc.c:1646 */ + case 485: +#line 4707 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DEFINE); yyerrok; } -#line 8562 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8618 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 480: -#line 4669 "rwlparser.y" /* yacc.c:1646 */ + case 486: +#line 4709 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_IGNERR); } -#line 8570 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8626 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 481: -#line 4673 "rwlparser.y" /* yacc.c:1646 */ + case 487: +#line 4713 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8578 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8634 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 482: -#line 4677 "rwlparser.y" /* yacc.c:1646 */ + case 488: +#line 4717 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } -#line 8586 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8642 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 483: -#line 4682 "rwlparser.y" /* yacc.c:1646 */ + case 489: +#line 4722 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) { @@ -8604,34 +8660,34 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->sqsav->asiz = (ub4)rwm->pval.ival; } } -#line 8608 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8664 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 484: -#line 4701 "rwlparser.y" /* yacc.c:1646 */ + case 490: +#line 4741 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ARRAY); yyerrok; } -#line 8614 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8670 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 485: -#line 4706 "rwlparser.y" /* yacc.c:1646 */ + case 491: +#line 4746 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON_IN_SQL); } -#line 8620 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8676 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 488: -#line 4712 "rwlparser.y" /* yacc.c:1646 */ + case 494: +#line 4752 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQFLAG_DYNAMIC)) rwlerror(rwm, RWL_ERROR_DEFINE_ARRAY_NOT_DYNAMIC); else bis(rwm->sqsav->flags, RWL_SQFLAG_ARRAYD); } -#line 8631 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8687 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 491: -#line 4726 "rwlparser.y" /* yacc.c:1646 */ + case 497: +#line 4766 "rwlparser.y" /* yacc.c:1646 */ { // Note that it would not be too hard to replace // the integer constant here by an expression @@ -8639,27 +8695,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // can be done with modify sql for dynamic sql rwm->bdpos = rwm->ival; rwm->bdtyp=RWL_DEFINE; } -#line 8643 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8699 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 493: -#line 4735 "rwlparser.y" /* yacc.c:1646 */ + case 499: +#line 4775 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "define"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); } -#line 8653 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8709 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 496: -#line 4749 "rwlparser.y" /* yacc.c:1646 */ + case 502: +#line 4789 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BINDOUT_NAME; } -#line 8659 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8715 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 498: -#line 4751 "rwlparser.y" /* yacc.c:1646 */ + case 504: +#line 4791 "rwlparser.y" /* yacc.c:1646 */ { // We could also use expression here, but we would // of course need to check it was either a non-negative number @@ -8667,61 +8723,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BINDOUT_POS; } -#line 8671 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8727 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 500: -#line 4759 "rwlparser.y" /* yacc.c:1646 */ + case 506: +#line 4799 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BINDOUT_SAME; } -#line 8679 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8735 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 502: -#line 4763 "rwlparser.y" /* yacc.c:1646 */ + case 508: +#line 4803 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_IMPLICIT_NOT_BINDOUT); } -#line 8687 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8743 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 505: -#line 4774 "rwlparser.y" /* yacc.c:1646 */ + case 511: +#line 4814 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BIND_NAME; } -#line 8693 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8749 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 507: -#line 4776 "rwlparser.y" /* yacc.c:1646 */ + case 513: +#line 4816 "rwlparser.y" /* yacc.c:1646 */ { // same comment as above rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; rwm->bdtyp=RWL_BIND_POS; } -#line 8703 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8759 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 509: -#line 4782 "rwlparser.y" /* yacc.c:1646 */ + case 515: +#line 4822 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BIND_SAME; } -#line 8711 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8767 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 511: -#line 4786 "rwlparser.y" /* yacc.c:1646 */ + case 517: +#line 4826 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "bind"); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); } -#line 8721 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8777 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 512: -#line 4795 "rwlparser.y" /* yacc.c:1646 */ + case 518: +#line 4835 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; bd = rwlalloc(rwm, sizeof(rwl_bindef)); @@ -8815,41 +8871,41 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8819 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8875 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 513: -#line 4891 "rwlparser.y" /* yacc.c:1646 */ + case 519: +#line 4931 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "runseconds", "bind/define"); } -#line 8828 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8884 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 514: -#line 4896 "rwlparser.y" /* yacc.c:1646 */ + case 520: +#line 4936 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "epochseconds", "bind/define"); } -#line 8837 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8893 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 515: -#line 4900 "rwlparser.y" /* yacc.c:1646 */ + case 521: +#line 4940 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8843 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8899 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 516: -#line 4901 "rwlparser.y" /* yacc.c:1646 */ + case 522: +#line 4941 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags,RWL_P2_BINDRAW); } -#line 8849 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8905 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 517: -#line 4905 "rwlparser.y" /* yacc.c:1646 */ + case 523: +#line 4945 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8866,11 +8922,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8870 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8926 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 518: -#line 4922 "rwlparser.y" /* yacc.c:1646 */ + case 524: +#line 4962 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8887,11 +8943,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8891 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8947 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 519: -#line 4939 "rwlparser.y" /* yacc.c:1646 */ + case 525: +#line 4979 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8908,11 +8964,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8912 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8968 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 520: -#line 4956 "rwlparser.y" /* yacc.c:1646 */ + case 526: +#line 4996 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8935,17 +8991,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8939 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 8995 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 521: -#line 4978 "rwlparser.y" /* yacc.c:1646 */ + case 527: +#line 5018 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 8945 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9001 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 522: -#line 4979 "rwlparser.y" /* yacc.c:1646 */ + case 528: +#line 5019 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8976,11 +9032,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 8980 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9036 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 523: -#line 5010 "rwlparser.y" /* yacc.c:1646 */ + case 529: +#line 5050 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9001,17 +9057,17 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9005 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9061 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 524: -#line 5030 "rwlparser.y" /* yacc.c:1646 */ + case 530: +#line 5070 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9011 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9067 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 525: -#line 5031 "rwlparser.y" /* yacc.c:1646 */ + case 531: +#line 5071 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0 && (rwm->msqlstk = rwlexprfinish(rwm))) { @@ -9033,11 +9089,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9037 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9093 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 526: -#line 5053 "rwlparser.y" /* yacc.c:1646 */ + case 532: +#line 5093 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9052,11 +9108,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9056 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9112 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 528: -#line 5068 "rwlparser.y" /* yacc.c:1646 */ + case 534: +#line 5108 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9071,11 +9127,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9075 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9131 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 530: -#line 5083 "rwlparser.y" /* yacc.c:1646 */ + case 536: +#line 5123 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9090,23 +9146,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9094 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9150 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 534: -#line 5103 "rwlparser.y" /* yacc.c:1646 */ + case 540: +#line 5143 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9100 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9156 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 535: -#line 5105 "rwlparser.y" /* yacc.c:1646 */ + case 541: +#line 5145 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlstk = rwlexprfinish(rwm); } -#line 9106 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9162 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 536: -#line 5107 "rwlparser.y" /* yacc.c:1646 */ + case 542: +#line 5147 "rwlparser.y" /* yacc.c:1646 */ { sb4 l2; rwl_sql *sq; @@ -9157,11 +9213,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); else rwlexprclear(rwm); } -#line 9161 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9217 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 537: -#line 5160 "rwlparser.y" /* yacc.c:1646 */ + case 543: +#line 5200 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; rwl_estack *estk; @@ -9191,21 +9247,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbcache: ; } -#line 9195 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9251 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 538: -#line 5190 "rwlparser.y" /* yacc.c:1646 */ + case 544: +#line 5230 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbsphi = rwm->mdbsplo = rwlexprfinish(rwm); if (!rwm->mdbsplo) rwlexprclear(rwm); } -#line 9205 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9261 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 539: -#line 5196 "rwlparser.y" /* yacc.c:1646 */ + case 545: +#line 5236 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; // are lo/hi good @@ -9234,20 +9290,20 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); dontmoddbpool: rwm->mdbsphi = rwm->mdbsplo = 0; } -#line 9238 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9294 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 541: -#line 5228 "rwlparser.y" /* yacc.c:1646 */ + case 547: +#line 5268 "rwlparser.y" /* yacc.c:1646 */ { if (!(rwm->mdbsphi = rwlexprfinish(rwm))) rwlexprclear(rwm); } -#line 9247 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9303 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 542: -#line 5235 "rwlparser.y" /* yacc.c:1646 */ + case 548: +#line 5275 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9267,23 +9323,23 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9271 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9327 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 544: -#line 5258 "rwlparser.y" /* yacc.c:1646 */ + case 550: +#line 5298 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9277 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9333 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 545: -#line 5259 "rwlparser.y" /* yacc.c:1646 */ + case 551: +#line 5299 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_SPFCONCAT); } -#line 9283 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9339 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 546: -#line 5263 "rwlparser.y" /* yacc.c:1646 */ + case 552: +#line 5303 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->strvarn = RWL_VAR_NOTFOUND; @@ -9303,11 +9359,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->conhead = rwm->contail = 0; } -#line 9307 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9363 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 547: -#line 5283 "rwlparser.y" /* yacc.c:1646 */ + case 553: +#line 5323 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpupu(rwm, RWL_CODE_SPRINTF, rwm->strvnam @@ -9321,11 +9377,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9325 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9381 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 548: -#line 5301 "rwlparser.y" /* yacc.c:1646 */ + case 554: +#line 5341 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9344,19 +9400,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 9348 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9404 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 550: -#line 5323 "rwlparser.y" /* yacc.c:1646 */ + case 556: +#line 5363 "rwlparser.y" /* yacc.c:1646 */ { rwm->conhead = rwm->contail = 0; } -#line 9356 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9412 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 551: -#line 5327 "rwlparser.y" /* yacc.c:1646 */ + case 557: +#line 5367 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpup(rwm, RWL_CODE_FPRINTF, rwm->filenam @@ -9377,11 +9433,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } ; } -#line 9381 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9437 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 554: -#line 5355 "rwlparser.y" /* yacc.c:1646 */ + case 560: +#line 5395 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwl_conlist *newcon; @@ -9400,11 +9456,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9404 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9460 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 555: -#line 5376 "rwlparser.y" /* yacc.c:1646 */ + case 561: +#line 5416 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9425,11 +9481,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->mflags,RWL_P_PRINTLINE); } -#line 9429 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9485 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 556: -#line 5398 "rwlparser.y" /* yacc.c:1646 */ + case 562: +#line 5438 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9450,35 +9506,35 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_PRINTLINE); } -#line 9454 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9510 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 557: -#line 5422 "rwlparser.y" /* yacc.c:1646 */ + case 563: +#line 5462 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9463 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9519 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 558: -#line 5427 "rwlparser.y" /* yacc.c:1646 */ + case 564: +#line 5467 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); } -#line 9472 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9528 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 560: -#line 5435 "rwlparser.y" /* yacc.c:1646 */ + case 566: +#line 5475 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTBLANK); } -#line 9478 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9534 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 562: -#line 5440 "rwlparser.y" /* yacc.c:1646 */ + case 568: +#line 5480 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -9536,11 +9592,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9540 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9596 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 563: -#line 5501 "rwlparser.y" /* yacc.c:1646 */ + case 569: +#line 5541 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mflags,RWL_P_PRINTLINE)) { @@ -9572,11 +9628,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->mflags,RWL_P_PRINTLINE|RWL_P_PRINTBLANK); } -#line 9576 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9632 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 564: -#line 5536 "rwlparser.y" /* yacc.c:1646 */ + case 570: +#line 5576 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -9587,11 +9643,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); ; } } -#line 9591 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9647 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 565: -#line 5551 "rwlparser.y" /* yacc.c:1646 */ + case 571: +#line 5591 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->assignoper) @@ -9640,107 +9696,107 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 9644 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9700 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 566: -#line 5600 "rwlparser.y" /* yacc.c:1646 */ + case 572: +#line 5640 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); yyerrok; } -#line 9654 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9710 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 568: -#line 5610 "rwlparser.y" /* yacc.c:1646 */ + case 574: +#line 5650 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } -#line 9663 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9719 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 569: -#line 5617 "rwlparser.y" /* yacc.c:1646 */ + case 575: +#line 5657 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASSIGN; } -#line 9669 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9725 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 570: -#line 5618 "rwlparser.y" /* yacc.c:1646 */ + case 576: +#line 5658 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_GREATEQ; } -#line 9675 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9731 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 571: -#line 5619 "rwlparser.y" /* yacc.c:1646 */ + case 577: +#line 5659 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_RSHIFTASSIGN; } -#line 9681 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9737 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 572: -#line 5620 "rwlparser.y" /* yacc.c:1646 */ + case 578: +#line 5660 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_LESSEQ; } -#line 9687 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9743 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 573: -#line 5621 "rwlparser.y" /* yacc.c:1646 */ + case 579: +#line 5661 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPEFROM; } -#line 9693 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9749 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 574: -#line 5622 "rwlparser.y" /* yacc.c:1646 */ + case 580: +#line 5662 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPETO; } -#line 9699 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9755 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 576: -#line 5626 "rwlparser.y" /* yacc.c:1646 */ + case 582: +#line 5666 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_APPEND; } -#line 9705 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9761 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 577: -#line 5627 "rwlparser.y" /* yacc.c:1646 */ + case 583: +#line 5667 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNADD; } -#line 9711 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9767 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 578: -#line 5628 "rwlparser.y" /* yacc.c:1646 */ + case 584: +#line 5668 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNSUB; } -#line 9717 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9773 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 579: -#line 5629 "rwlparser.y" /* yacc.c:1646 */ + case 585: +#line 5669 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIS; } -#line 9723 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9779 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 580: -#line 5630 "rwlparser.y" /* yacc.c:1646 */ + case 586: +#line 5670 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIC; } -#line 9729 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9785 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 581: -#line 5637 "rwlparser.y" /* yacc.c:1646 */ + case 587: +#line 5677 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); estk = rwlexprfinish(rwm); rwlcodeaddp(rwm, RWL_CODE_ASSIGN, estk); } -#line 9740 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9796 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 582: -#line 5644 "rwlparser.y" /* yacc.c:1646 */ + case 588: +#line 5684 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; sb4 l; @@ -9766,11 +9822,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllityp[rwm->rsldepth] = RWL_LI_DOTDOT; bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); } -#line 9770 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9826 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 584: -#line 5670 "rwlparser.y" /* yacc.c:1646 */ + case 590: +#line 5710 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeadd0(rwm, RWL_CODE_LIBEG); rwm->rsllihead[rwm->rsldepth] @@ -9783,11 +9839,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); rwm->rsllitail[rwm->rsldepth]->listk = rwlexprfinish(rwm); } -#line 9787 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9843 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 586: -#line 5684 "rwlparser.y" /* yacc.c:1646 */ + case 592: +#line 5724 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwlexprclear(rwm); @@ -9797,11 +9853,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bic(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_MAYBRK); yyerrok; } -#line 9801 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9857 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 589: -#line 5703 "rwlparser.y" /* yacc.c:1646 */ + case 595: +#line 5743 "rwlparser.y" /* yacc.c:1646 */ { rwl_lilist *thisli = rwlalloc(rwm, sizeof(rwl_lilist)); rwlexprpush(rwm, rwm->loopvar[rwm->rsldepth], RWL_STACK_ASN); @@ -9809,61 +9865,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rsllitail[rwm->rsldepth]->linxt = thisli; rwm->rsllitail[rwm->rsldepth] = thisli; } -#line 9813 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9869 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 592: -#line 5723 "rwlparser.y" /* yacc.c:1646 */ + case 598: +#line 5763 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); } -#line 9822 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9878 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 593: -#line 5728 "rwlparser.y" /* yacc.c:1646 */ + case 599: +#line 5768 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } -#line 9830 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9886 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 596: -#line 5737 "rwlparser.y" /* yacc.c:1646 */ + case 602: +#line 5777 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "execute") ; } -#line 9836 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9892 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 599: -#line 5744 "rwlparser.y" /* yacc.c:1646 */ + case 605: +#line 5784 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; } -#line 9842 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9898 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 602: -#line 5751 "rwlparser.y" /* yacc.c:1646 */ + case 608: +#line 5791 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "if") ; yyerrok; } -#line 9848 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9904 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 605: -#line 5758 "rwlparser.y" /* yacc.c:1646 */ + case 611: +#line 5798 "rwlparser.y" /* yacc.c:1646 */ { if (0 != rwlstrcmp(rwm->inam, rwm->sqname)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname); } -#line 9857 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9913 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 606: -#line 5763 "rwlparser.y" /* yacc.c:1646 */ + case 612: +#line 5803 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname) ; yyerrok; } -#line 9863 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9919 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 608: -#line 5769 "rwlparser.y" /* yacc.c:1646 */ + case 614: +#line 5809 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile1]"); @@ -9874,11 +9930,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop"); } } -#line 9878 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9934 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 609: -#line 5780 "rwlparser.y" /* yacc.c:1646 */ + case 615: +#line 5820 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile2]"); @@ -9889,11 +9945,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while"); } } -#line 9893 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9949 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 610: -#line 5791 "rwlparser.y" /* yacc.c:1646 */ + case 616: +#line 5831 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->rslflags[rwm->rsldepth-1], RWL_RSLFLAG_WHILOP)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; @@ -9901,27 +9957,27 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "while") ; yyerrok; } -#line 9905 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9961 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 611: -#line 5802 "rwlparser.y" /* yacc.c:1646 */ + case 617: +#line 5842 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = 0; } -#line 9913 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9969 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 612: -#line 5807 "rwlparser.y" /* yacc.c:1646 */ + case 618: +#line 5847 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = rwlexprfinish(rwm); } -#line 9921 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 9977 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 614: -#line 5814 "rwlparser.y" /* yacc.c:1646 */ + case 620: +#line 5854 "rwlparser.y" /* yacc.c:1646 */ { char plsword[6]; /* check for "begin" or "decla" or "--" */ ub4 sb, pb, len; @@ -9976,28 +10032,28 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); bis(rwm->mflags,RWL_P_SQLWASPLS); rwlerror(rwm, RWL_ERROR_WARN_COMPILETIME_SQLTEXT, rwm->sqname); } -#line 9980 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10036 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 615: -#line 5871 "rwlparser.y" /* yacc.c:1646 */ + case 621: +#line 5911 "rwlparser.y" /* yacc.c:1646 */ { rwm->loc.errlin = 0; rwm->sqlfile = 0; /* not from a file */ } -#line 9989 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10045 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 616: -#line 5876 "rwlparser.y" /* yacc.c:1646 */ + case 622: +#line 5916 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } -#line 9997 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10053 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 617: -#line 5880 "rwlparser.y" /* yacc.c:1646 */ + case 623: +#line 5920 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; FILE *f ; @@ -10078,11 +10134,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10082 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10138 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 618: -#line 5963 "rwlparser.y" /* yacc.c:1646 */ + case 624: +#line 6003 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -10102,11 +10158,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); // initialize identifier list rwm->idlist = rwm->idtail = 0; } -#line 10106 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10162 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 619: -#line 5983 "rwlparser.y" /* yacc.c:1646 */ + case 625: +#line 6023 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) // everything is good { @@ -10129,50 +10185,50 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10133 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10189 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 620: -#line 6007 "rwlparser.y" /* yacc.c:1646 */ + case 626: +#line 6047 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BAD_READLINE); yyerrok; } -#line 10142 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10198 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 621: -#line 6014 "rwlparser.y" /* yacc.c:1646 */ + case 627: +#line 6054 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = rwm->sub_estk = 0; } -#line 10148 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10204 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 622: -#line 6016 "rwlparser.y" /* yacc.c:1646 */ + case 628: +#line 6056 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10156 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10212 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 623: -#line 6020 "rwlparser.y" /* yacc.c:1646 */ + case 629: +#line 6060 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); } -#line 10164 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10220 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 624: -#line 6024 "rwlparser.y" /* yacc.c:1646 */ + case 630: +#line 6064 "rwlparser.y" /* yacc.c:1646 */ { rwm->sub_estk = rwlexprfinish(rwm); } -#line 10172 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10228 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 625: -#line 6028 "rwlparser.y" /* yacc.c:1646 */ + case 631: +#line 6068 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->reg_estk && rwm->str_estk && rwm->sub_estk) { @@ -10211,60 +10267,60 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10215 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10271 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 626: -#line 6067 "rwlparser.y" /* yacc.c:1646 */ + case 632: +#line 6107 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10225 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10281 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 627: -#line 6076 "rwlparser.y" /* yacc.c:1646 */ + case 633: +#line 6116 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10233 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10289 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 628: -#line 6080 "rwlparser.y" /* yacc.c:1646 */ + case 634: +#line 6120 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_REGEXSUBG); } -#line 10241 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10297 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 629: -#line 6086 "rwlparser.y" /* yacc.c:1646 */ + case 635: +#line 6126 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10247 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10303 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 630: -#line 6088 "rwlparser.y" /* yacc.c:1646 */ + case 636: +#line 6128 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10255 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10311 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 631: -#line 6092 "rwlparser.y" /* yacc.c:1646 */ + case 637: +#line 6132 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10264 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10320 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 632: -#line 6097 "rwlparser.y" /* yacc.c:1646 */ + case 638: +#line 6137 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10297,44 +10353,44 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10301 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10357 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 633: -#line 6131 "rwlparser.y" /* yacc.c:1646 */ + case 639: +#line 6171 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10311 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10367 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 634: -#line 6140 "rwlparser.y" /* yacc.c:1646 */ + case 640: +#line 6180 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } -#line 10317 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10373 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 635: -#line 6142 "rwlparser.y" /* yacc.c:1646 */ + case 641: +#line 6182 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } -#line 10325 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10381 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 636: -#line 6146 "rwlparser.y" /* yacc.c:1646 */ + case 642: +#line 6186 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; } -#line 10334 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10390 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 637: -#line 6151 "rwlparser.y" /* yacc.c:1646 */ + case 643: +#line 6191 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10367,21 +10423,21 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwlerror(rwm, RWL_ERROR_NOT_ON_WINDOWS, "regular expression"); #endif } -#line 10371 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10427 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 638: -#line 6185 "rwlparser.y" /* yacc.c:1646 */ + case 644: +#line 6225 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); yyerrok; } -#line 10381 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10437 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 641: -#line 6198 "rwlparser.y" /* yacc.c:1646 */ + case 647: +#line 6238 "rwlparser.y" /* yacc.c:1646 */ { rwl_idlist *newid = rwlalloc(rwm, sizeof(rwl_idlist)); @@ -10422,22 +10478,22 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10426 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10482 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 642: -#line 6241 "rwlparser.y" /* yacc.c:1646 */ + case 648: +#line 6281 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that the system expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; rwm->assignoper = RWL_T_ASSIGN; rwlexprbeg(rwm); } -#line 10437 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10493 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 643: -#line 6250 "rwlparser.y" /* yacc.c:1646 */ + case 649: +#line 6290 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -10453,11 +10509,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } } -#line 10457 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10513 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 644: -#line 6275 "rwlparser.y" /* yacc.c:1646 */ + case 650: +#line 6315 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->threadlist) rwlsevere(rwm, "[rwlparser-thrlistnotclean]"); @@ -10468,11 +10524,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } rwm->totthr = 0; } -#line 10472 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10528 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 645: -#line 6287 "rwlparser.y" /* yacc.c:1646 */ + case 651: +#line 6327 "rwlparser.y" /* yacc.c:1646 */ { rwl_thrinfo *next; rwm->loc.errlin = rwm->lexlino; @@ -10491,26 +10547,26 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->threadlist = rwm->mythr = 0; rwm->loc.errlin = 0; } -#line 10495 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10551 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 646: -#line 6306 "rwlparser.y" /* yacc.c:1646 */ + case 652: +#line 6346 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10501 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10557 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 651: -#line 6320 "rwlparser.y" /* yacc.c:1646 */ + case 657: +#line 6360 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->cqnstop = 0.0; rwm->cqnnow = rwlclock(rwm->mxq,0); } -#line 10510 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10566 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 652: -#line 6325 "rwlparser.y" /* yacc.c:1646 */ + case 658: +#line 6365 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *cp; sb4 l; @@ -10534,11 +10590,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } } -#line 10538 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10594 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 653: -#line 6350 "rwlparser.y" /* yacc.c:1646 */ + case 659: +#line 6390 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstop = rwm->pval.dval; if (rwm->cqnstop < rwm->cqnstart || rwm->cqnstop < rwm->cqnnow) @@ -10547,11 +10603,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->cqnat = 0; } } -#line 10551 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10607 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 654: -#line 6359 "rwlparser.y" /* yacc.c:1646 */ + case 660: +#line 6399 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->cqnat) { @@ -10603,11 +10659,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->rslpcbrk[rwm->rsldepth] = 0; rwm->mythr->dbnam = rwm->cqnat; } -#line 10607 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10663 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 655: -#line 6411 "rwlparser.y" /* yacc.c:1646 */ + case 661: +#line 6451 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->cqnat) // no errors above { @@ -10632,11 +10688,11 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); } bic(rwm->m4flags, RWL_P4_PROCHASSQL); } -#line 10636 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10692 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 656: -#line 6436 "rwlparser.y" /* yacc.c:1646 */ + case 662: +#line 6476 "rwlparser.y" /* yacc.c:1646 */ { rwlcodehead(rwm, 0); if (rwm->cqnat) // No error above @@ -10664,37 +10720,37 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_CQNTHEN; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10668 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10724 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 657: -#line 6464 "rwlparser.y" /* yacc.c:1646 */ + case 663: +#line 6504 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeaddu(rwm, RWL_CODE_CQNISCB, 0); // Is in callback rwlcodetail(rwm); } -#line 10677 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10733 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 661: -#line 6475 "rwlparser.y" /* yacc.c:1646 */ + case 667: +#line 6515 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "querynotification"); yyerrok; } -#line 10686 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10742 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 663: -#line 6484 "rwlparser.y" /* yacc.c:1646 */ + case 669: +#line 6524 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->pval.dval; } -#line 10694 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10750 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 664: -#line 6491 "rwlparser.y" /* yacc.c:1646 */ + case 670: +#line 6531 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m4flags, RWL_P4_PROCHASSQL); if (rwm->pval.ival < 0) @@ -10710,45 +10766,45 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); rwm->supsemerr = RWL_SUPSEM_THREAD; rwm->rslpcbrk[rwm->rsldepth] = 0; } -#line 10714 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10770 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 665: -#line 6509 "rwlparser.y" /* yacc.c:1646 */ + case 671: +#line 6549 "rwlparser.y" /* yacc.c:1646 */ { rwlcodetail(rwm); } -#line 10722 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10778 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 667: -#line 6514 "rwlparser.y" /* yacc.c:1646 */ + case 673: +#line 6554 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } -#line 10728 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10784 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 669: -#line 6519 "rwlparser.y" /* yacc.c:1646 */ + case 675: +#line 6559 "rwlparser.y" /* yacc.c:1646 */ { rwm->mythr->dbnam = rwm->inam; } -#line 10736 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10792 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 672: -#line 6528 "rwlparser.y" /* yacc.c:1646 */ + case 678: +#line 6568 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "threads") ; } -#line 10742 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10798 "rwlparser.tab.c" /* yacc.c:1646 */ break; - case 675: -#line 6536 "rwlparser.y" /* yacc.c:1646 */ + case 681: +#line 6576 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "run") ; } -#line 10748 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10804 "rwlparser.tab.c" /* yacc.c:1646 */ break; -#line 10752 "rwlparser.tab.c" /* yacc.c:1646 */ +#line 10808 "rwlparser.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/src/rwlparser.tab.h b/src/rwlparser.tab.h index d3f63efe..a775b588 100644 --- a/src/rwlparser.tab.h +++ b/src/rwlparser.tab.h @@ -71,152 +71,153 @@ extern int rwlydebug; RWL_T_STRING = 273, RWL_T_INTEGER = 274, RWL_T_END = 275, - RWL_T_FOR = 276, - RWL_T_ARRAY = 277, - RWL_T_DATE = 278, - RWL_T_SQRT = 279, - RWL_T_ACCESS = 280, - RWL_T_REGEX = 281, - RWL_T_REGEXTRACT = 282, - RWL_T_UNIFORM = 283, - RWL_T_ERLANG = 284, - RWL_T_DOTDOT = 285, - RWL_T_DOUBLE = 286, - RWL_T_ERLANG2 = 287, - RWL_T_ERLANGK = 288, - RWL_T_RUN = 289, - RWL_T_THREADS = 290, - RWL_T_RUNSECONDS = 291, - RWL_T_WHILE = 292, - RWL_T_FFLUSH = 293, - RWL_T_READLINE = 294, - RWL_T_RANDOM = 295, - RWL_T_FILE = 296, - RWL_T_WRITE = 297, - RWL_T_WRITELINE = 298, - RWL_T_BINDOUT = 299, - RWL_T_GETRUSAGE = 300, - RWL_T_DRCP = 301, - RWL_T_SESSIONPOOL = 302, - RWL_T_RECONNECT = 303, - RWL_T_DEDICATED = 304, - RWL_T_DEFAULT = 305, - RWL_T_RESULTS = 306, - RWL_T_ASSIGN = 307, - RWL_T_LOOP = 308, - RWL_T_ALL = 309, - RWL_T_NULL = 310, - RWL_T_ISNULL = 311, - RWL_T_SUM = 312, - RWL_T_IS = 313, - RWL_T_NOT = 314, - RWL_T_LESSEQ = 315, - RWL_T_GREATEQ = 316, - RWL_T_NOTEQ = 317, - RWL_T_AND = 318, - RWL_T_OR = 319, - RWL_T_BETWEEN = 320, - RWL_T_CONCAT = 321, - RWL_T_IF = 322, - RWL_T_THEN = 323, - RWL_T_ELSE = 324, - RWL_T_NEVER = 325, - RWL_T_APPEND = 326, - RWL_T_IGNOREERROR = 327, - RWL_T_ELSEIF = 328, - RWL_T_EXECUTE = 329, - RWL_T_WAIT = 330, - RWL_T_COMMIT = 331, - RWL_T_ROLLBACK = 332, - RWL_T_EVERY = 333, - RWL_T_ASNADD = 334, - RWL_T_ASNSUB = 335, - RWL_T_STOP = 336, - RWL_T_START = 337, - RWL_T_COUNT = 338, - RWL_T_AT = 339, - RWL_T_BREAK = 340, - RWL_T_RETURN = 341, - RWL_T_ABORT = 342, - RWL_T_MODIFY = 343, - RWL_T_CURSORCACHE = 344, - RWL_T_NOCURSORCACHE = 345, - RWL_T_LEAK = 346, - RWL_T_SHIFT = 347, - RWL_T_WHEN = 348, - RWL_T_STATISTICS = 349, - RWL_T_NOSTATISTICS = 350, - RWL_T_FUNCTION = 351, - RWL_T_PUBLIC = 352, - RWL_T_OCIPING = 353, - RWL_T_QUEUE = 354, - RWL_T_NOQUEUE = 355, - RWL_T_PRIVATE = 356, - RWL_T_BEGIN = 357, - RWL_T_RELEASE = 358, - RWL_T_SYSTEM = 359, - RWL_T_CLOB = 360, - RWL_T_BLOB = 361, - RWL_T_NCLOB = 362, - RWL_T_READLOB = 363, - RWL_T_WRITELOB = 364, - RWL_T_RAW = 365, - RWL_T_EXIT = 366, - RWL_T_SUBSTR = 367, - RWL_T_SUBSTRB = 368, - RWL_T_LENGTH = 369, - RWL_T_LENGTHB = 370, - RWL_T_SQL_ID = 371, - RWL_T_GETENV = 372, - RWL_T_LOG = 373, - RWL_T_EXP = 374, - RWL_T_ROUND = 375, - RWL_T_ACTIVESESSIONCOUNT = 376, - RWL_T_REQUESTMARK = 377, - RWL_T_SPRINTF = 378, - RWL_T_OPENSESSIONCOUNT = 379, - RWL_T_STATEMARK = 380, - RWL_T_REGEXSUB = 381, - RWL_T_REGEXSUBG = 382, - RWL_T_SERVERRELEASE = 383, - RWL_T_SQL = 384, - RWL_T_SQL_TEXT = 385, - RWL_T_INSTR = 386, - RWL_T_INSTRB = 387, - RWL_T_CONNECTIONPOOL = 388, - RWL_T_CONNECTIONCLASS = 389, - RWL_T_UNSIGNED = 390, - RWL_T_HEXADECIMAL = 391, - RWL_T_OCTAL = 392, - RWL_T_FPRINTF = 393, - RWL_T_ENCODE = 394, - RWL_T_DECODE = 395, - RWL_T_STRING_CONST = 396, - RWL_T_IDENTIFIER = 397, - RWL_T_INTEGER_CONST = 398, - RWL_T_DOUBLE_CONST = 399, - RWL_T_PRINTF = 400, - RWL_T_PIPEFROM = 401, - RWL_T_PIPETO = 402, - RWL_T_RSHIFTASSIGN = 403, - RWL_T_GLOBAL = 404, - RWL_T_QUERYNOTIFICATION = 405, - RWL_T_NORMALRANDOM = 406, - RWL_T_STATISTICSONLY = 407, - RWL_T_CEIL = 408, - RWL_T_TRUNC = 409, - RWL_T_FLOOR = 410, - RWL_T_LOBPREFETCH = 411, - RWL_T_SIN = 412, - RWL_T_COS = 413, - RWL_T_ATAN2 = 414, - RWL_T_WINSLASHF2B = 415, - RWL_T_WINSLASHF2BB = 416, - RWL_T_BITWISE_LEFT_SHIFT = 417, - RWL_T_BITWISE_RIGHT_SHIFT = 418, - RWL_T_ASNBIS = 419, - RWL_T_ASNBIC = 420, - RWL_T_UMINUS = 421 + RWL_T_PROCEDURENAME = 276, + RWL_T_FOR = 277, + RWL_T_ARRAY = 278, + RWL_T_DATE = 279, + RWL_T_SQRT = 280, + RWL_T_ACCESS = 281, + RWL_T_REGEX = 282, + RWL_T_REGEXTRACT = 283, + RWL_T_UNIFORM = 284, + RWL_T_ERLANG = 285, + RWL_T_DOTDOT = 286, + RWL_T_DOUBLE = 287, + RWL_T_ERLANG2 = 288, + RWL_T_ERLANGK = 289, + RWL_T_RUN = 290, + RWL_T_THREADS = 291, + RWL_T_RUNSECONDS = 292, + RWL_T_WHILE = 293, + RWL_T_FFLUSH = 294, + RWL_T_READLINE = 295, + RWL_T_RANDOM = 296, + RWL_T_FILE = 297, + RWL_T_WRITE = 298, + RWL_T_WRITELINE = 299, + RWL_T_BINDOUT = 300, + RWL_T_GETRUSAGE = 301, + RWL_T_DRCP = 302, + RWL_T_SESSIONPOOL = 303, + RWL_T_RECONNECT = 304, + RWL_T_DEDICATED = 305, + RWL_T_DEFAULT = 306, + RWL_T_RESULTS = 307, + RWL_T_ASSIGN = 308, + RWL_T_LOOP = 309, + RWL_T_ALL = 310, + RWL_T_NULL = 311, + RWL_T_ISNULL = 312, + RWL_T_SUM = 313, + RWL_T_IS = 314, + RWL_T_NOT = 315, + RWL_T_LESSEQ = 316, + RWL_T_GREATEQ = 317, + RWL_T_NOTEQ = 318, + RWL_T_AND = 319, + RWL_T_OR = 320, + RWL_T_BETWEEN = 321, + RWL_T_CONCAT = 322, + RWL_T_IF = 323, + RWL_T_THEN = 324, + RWL_T_ELSE = 325, + RWL_T_NEVER = 326, + RWL_T_APPEND = 327, + RWL_T_IGNOREERROR = 328, + RWL_T_ELSEIF = 329, + RWL_T_EXECUTE = 330, + RWL_T_WAIT = 331, + RWL_T_COMMIT = 332, + RWL_T_ROLLBACK = 333, + RWL_T_EVERY = 334, + RWL_T_ASNADD = 335, + RWL_T_ASNSUB = 336, + RWL_T_STOP = 337, + RWL_T_START = 338, + RWL_T_COUNT = 339, + RWL_T_AT = 340, + RWL_T_BREAK = 341, + RWL_T_RETURN = 342, + RWL_T_ABORT = 343, + RWL_T_MODIFY = 344, + RWL_T_CURSORCACHE = 345, + RWL_T_NOCURSORCACHE = 346, + RWL_T_LEAK = 347, + RWL_T_SHIFT = 348, + RWL_T_WHEN = 349, + RWL_T_STATISTICS = 350, + RWL_T_NOSTATISTICS = 351, + RWL_T_FUNCTION = 352, + RWL_T_PUBLIC = 353, + RWL_T_OCIPING = 354, + RWL_T_QUEUE = 355, + RWL_T_NOQUEUE = 356, + RWL_T_PRIVATE = 357, + RWL_T_BEGIN = 358, + RWL_T_RELEASE = 359, + RWL_T_SYSTEM = 360, + RWL_T_CLOB = 361, + RWL_T_BLOB = 362, + RWL_T_NCLOB = 363, + RWL_T_READLOB = 364, + RWL_T_WRITELOB = 365, + RWL_T_RAW = 366, + RWL_T_EXIT = 367, + RWL_T_SUBSTR = 368, + RWL_T_SUBSTRB = 369, + RWL_T_LENGTH = 370, + RWL_T_LENGTHB = 371, + RWL_T_SQL_ID = 372, + RWL_T_GETENV = 373, + RWL_T_LOG = 374, + RWL_T_EXP = 375, + RWL_T_ROUND = 376, + RWL_T_ACTIVESESSIONCOUNT = 377, + RWL_T_REQUESTMARK = 378, + RWL_T_SPRINTF = 379, + RWL_T_OPENSESSIONCOUNT = 380, + RWL_T_STATEMARK = 381, + RWL_T_REGEXSUB = 382, + RWL_T_REGEXSUBG = 383, + RWL_T_SERVERRELEASE = 384, + RWL_T_SQL = 385, + RWL_T_SQL_TEXT = 386, + RWL_T_INSTR = 387, + RWL_T_INSTRB = 388, + RWL_T_CONNECTIONPOOL = 389, + RWL_T_CONNECTIONCLASS = 390, + RWL_T_UNSIGNED = 391, + RWL_T_HEXADECIMAL = 392, + RWL_T_OCTAL = 393, + RWL_T_FPRINTF = 394, + RWL_T_ENCODE = 395, + RWL_T_DECODE = 396, + RWL_T_STRING_CONST = 397, + RWL_T_IDENTIFIER = 398, + RWL_T_INTEGER_CONST = 399, + RWL_T_DOUBLE_CONST = 400, + RWL_T_PRINTF = 401, + RWL_T_PIPEFROM = 402, + RWL_T_PIPETO = 403, + RWL_T_RSHIFTASSIGN = 404, + RWL_T_GLOBAL = 405, + RWL_T_QUERYNOTIFICATION = 406, + RWL_T_NORMALRANDOM = 407, + RWL_T_STATISTICSONLY = 408, + RWL_T_CEIL = 409, + RWL_T_TRUNC = 410, + RWL_T_FLOOR = 411, + RWL_T_LOBPREFETCH = 412, + RWL_T_SIN = 413, + RWL_T_COS = 414, + RWL_T_ATAN2 = 415, + RWL_T_WINSLASHF2B = 416, + RWL_T_WINSLASHF2BB = 417, + RWL_T_BITWISE_LEFT_SHIFT = 418, + RWL_T_BITWISE_RIGHT_SHIFT = 419, + RWL_T_ASNBIS = 420, + RWL_T_ASNBIC = 421, + RWL_T_UMINUS = 422 }; #endif @@ -225,7 +226,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 478 "rwlparser.y" /* yacc.c:1909 */ +#line 481 "rwlparser.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -239,7 +240,7 @@ union RWLYSTYPE */ void *rwl_never_used; -#line 243 "rwlparser.tab.h" /* yacc.c:1909 */ +#line 244 "rwlparser.tab.h" /* yacc.c:1909 */ }; typedef union RWLYSTYPE RWLYSTYPE; diff --git a/src/rwlparser.y b/src/rwlparser.y index 4946e397..0b8c8a3f 100644 --- a/src/rwlparser.y +++ b/src/rwlparser.y @@ -473,8 +473,9 @@ rwlcomp(rwlparser_y, RWL_GCCFLAGS) %lex-param {void *rwlyrwmscanner} %define parse.error verbose -// Four conflicts from concatenation without || -%expect 7 +// conflicts from concatenation without || +// conflicts from ( ) as procedure arguments vs expression +%expect 8 %union { @@ -493,9 +494,9 @@ rwlcomp(rwlparser_y, RWL_GCCFLAGS) // The tokens -%token RWL_T_CONNECT RWL_T_USERNAME RWL_T_PASSWORD RWL_T_DATABASE RWL_T_EPOCHSECONDS RWL_T_DBSECONDS RWL_T_PROCEDURENAME +%token RWL_T_CONNECT RWL_T_USERNAME RWL_T_PASSWORD RWL_T_DATABASE RWL_T_EPOCHSECONDS RWL_T_DBSECONDS %token RWL_T_PRINT RWL_T_PRINTLINE RWL_T_PRINTVAR RWL_T_SHARDKEY RWL_T_SUPERSHK RWL_T_OCISECONDS -%token RWL_T_PROCEDURE RWL_T_BIND RWL_T_DEFINE RWL_T_STRING RWL_T_INTEGER RWL_T_END +%token RWL_T_PROCEDURE RWL_T_BIND RWL_T_DEFINE RWL_T_STRING RWL_T_INTEGER RWL_T_END RWL_T_PROCEDURENAME %token RWL_T_FOR RWL_T_ARRAY RWL_T_DATE RWL_T_SQRT RWL_T_ACCESS RWL_T_REGEX RWL_T_REGEXTRACT %token RWL_T_UNIFORM RWL_T_ERLANG RWL_T_DOTDOT RWL_T_DOUBLE RWL_T_ERLANG2 RWL_T_ERLANGK %token RWL_T_RUN RWL_T_THREADS RWL_T_RUNSECONDS RWL_T_WHILE RWL_T_FFLUSH RWL_T_READLINE @@ -1096,31 +1097,45 @@ maybethentimeoutaction: if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); } + | RWL_T_THEN RWL_T_PROCEDURENAME + thenprocedurenamehead + maybe_expression_list + thenprocedurenametail | RWL_T_THEN RWL_T_PROCEDURENAME '(' - { - if (rwm->dbsav && rwm->pval.dval >= 0) - bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); - // similar to normal procedure call - if (0 != rwm->furlev) - rwlsevere(rwm,"[rwlparser-recursethen:%d]", rwm->furlev); - rwm->aacnt[0] = 0; - rwm->funcn[0] = rwm->inam; - rwlexprbeg(rwm); - } + thenprocedurenamehead maybe_expression_list ')' - { - rwl_estack *estk; - - rwlexprpush2(rwm, rwm->funcn[0] - , RWL_STACK_PROCCALL - , rwm->aacnt[0] ); - if ((estk = rwlexprfinish(rwm))) - rwm->dbsav->tobreak = estk; - else - rwlexprclear(rwm); - } + thenprocedurenametail ; +thenprocedurenamehead: + %empty + { + if (rwm->dbsav && rwm->pval.dval >= 0) + bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); + // similar to normal procedure call + if (0 != rwm->furlev) + rwlsevere(rwm,"[rwlparser-recursethen:%d]", rwm->furlev); + rwm->aacnt[0] = 0; + rwm->funcn[0] = rwm->inam; + rwlexprbeg(rwm); + } + ; + +thenprocedurenametail: + %empty + { + rwl_estack *estk; + + rwlexprpush2(rwm, rwm->funcn[0] + , RWL_STACK_PROCCALL + , rwm->aacnt[0] ); + if ((estk = rwlexprfinish(rwm))) + rwm->dbsav->tobreak = estk; + else + rwlexprclear(rwm); + } + ; + // evaluate an expression immediatedly during parse compiletime_expression: @@ -1731,7 +1746,7 @@ identifier_or_constant: if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); } - | RWL_T_SQL_ID '(' identifierorprocname ')' + | RWL_T_SQL_ID '(' RWL_T_IDENTIFIER ')' { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } diff --git a/test/353.rwl b/test/353.rwl index 6aea2948..be22096e 100644 --- a/test/353.rwl +++ b/test/353.rwl @@ -22,7 +22,11 @@ database p connect test_cstring sessionpool 1 .. 2 wait 0.1 $if defined(thenfunc) $then - then tout("time out at " runseconds()) + $if defined(thenparen) $then + then tout("time out at " runseconds()) + $else + then tout "time out at " runseconds() + $endif $else then break $endif diff --git a/test/405.rwl b/test/405.rwl new file mode 100644 index 00000000..87a9ef59 --- /dev/null +++ b/test/405.rwl @@ -0,0 +1,15 @@ +# test for clear bit PROCHASSQL +# +# without the fix, this causes +# RWL-037: error at [405.rwl;12]<-[405.rwl;14]: default database not declared or not accessible + +integer i; + +procedure xx() + ociping; +end; + +for i := 1 .. 2 loop + printline i; +end loop; + diff --git a/test/406.rwl b/test/406.rwl new file mode 100644 index 00000000..d34af646 --- /dev/null +++ b/test/406.rwl @@ -0,0 +1,14 @@ +# show difference between syntax and semantic error + +procedure abc(integer a) +end; + +sql qqq +end; + +integer x; +x := 2 + qqq(3); + +x := 42 + abc(0); + + diff --git a/test/407.rwl b/test/407.rwl new file mode 100644 index 00000000..042524cd --- /dev/null +++ b/test/407.rwl @@ -0,0 +1,4 @@ +# use 353.rwl with a function without parentheses +integer thenfunc := 1; +integer thenparen := 1; +$include:"353.rwl" diff --git a/test/408.rwl b/test/408.rwl new file mode 100644 index 00000000..3175be62 --- /dev/null +++ b/test/408.rwl @@ -0,0 +1,28 @@ +# more procedure testing without parentheses +double xx := 17.0; + +procedure add3(integer a, double b, double c) + xx := a + b + c; + printline "xx=", xx; +end; + +integer yy; + +procedure add2(integer x, integer y) + yy := x + y; + printline xx, yy; +end; + +procedure just1(string hello) + printline hello; +end; + +add3 5.9,2.2,3.3; +add2 123,456; + +just1 "hvordan gaar det"||xx; + +just1; + +add2 1,2,3; + diff --git a/test/409.rwl b/test/409.rwl new file mode 100644 index 00000000..7f0b6118 --- /dev/null +++ b/test/409.rwl @@ -0,0 +1,47 @@ +# test random procedures without parentheses +# +$include:"rwlrand.rwl" + +integer max := 20; +integer a:= 0; +integer i; +double xyz; +$mute:120 $dformat:%.5f + +private procedure good() + string fine := "good "; + xyz := xyz * 1.2345; + print fine; +end; + +procedure bad() + xyz := xyz * 2.3456; + print "bad "; +end; + +procedure maybe() + xyz := xyz / -3.456; + print "maybe "; + a := a+1; +end; + +private random procedure array callsomething +( good a+50 +, maybe 20 +, bad 30 +); + +procedure callmore() + for i := 1 .. max loop + callsomething; + printline "xyz is now ", xyz; + end; +end; + +xyz := 1.4; + +callsomething; printline; + +callmore; +callsomething; printline a, "in maybe state"; + diff --git a/test/410.rwl b/test/410.rwl new file mode 100644 index 00000000..e2f46003 --- /dev/null +++ b/test/410.rwl @@ -0,0 +1,58 @@ +$randseed:042 # test procedures with arguments, also wrong arg count errors +# test without parentheses, based on 51.rwl + +procedure proc1(integer a) + printline "proc1", a; + printline "proc1", a+0; +end; + +procedure proc2(integer x) + printline "proc2:"||x; + printline "proc2:"||x/3; +end; + +procedure proc3(double z) + printline z; +end; + +procedure proc4(integer a, integer b) + printline a+b; +end; + +random procedure array proca ( proc1 50, proc2 50 ); + +proca 3 ; +proca 2 ; +proca 4 ; +proca 5 ; +proca 6 ; +proca 7 ; +printline "done"; + + +procedure procone(integer jjj) + proca jjj ; + if (jjj<5) then + print "jjj<5 "; + proca(jjj+jjj); + end; +end; + +procone 42 ; +procone -42 ; +procone 123.456 ; +procone "hello, world" ; + +proca 2,3 ; +printline "after two args error"; + +procedure proctwo() + integer x; + proca(x,0); + proca(); +end; + +proctwo; + +random procedure array procb ( proc1 1, proc3 1); +random procedure array procc ( proc4 1, proc2 1); diff --git a/test/test.sh b/test/test.sh index fc079248..2cdde3c2 100755 --- a/test/test.sh +++ b/test/test.sh @@ -47,7 +47,7 @@ then testlist="$*" else # note that 323..326 test CQN which we don't currently compile in - testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404' + testlist='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410' fi diffokcount=0; @@ -189,7 +189,7 @@ do errok=no thisisgood=yes case $i in - 28|29|35|39|40|43|60|126|143|144|145|136|151|152|155|156|197|208|229|230|235|312|313|325|353|354|381|389) diffok=yes;; + 28|29|35|39|40|43|60|126|143|144|145|136|151|152|155|156|197|208|229|230|235|312|313|325|353|354|381|389|407) diffok=yes;; esac case $i in 21|41|68|88|270) ociok=yes;; diff --git a/test/testres/138.err.good b/test/testres/138.err.good index 8e18c33b..d8322e43 100644 --- a/test/testres/138.err.good +++ b/test/testres/138.err.good @@ -1,3 +1,4 @@ -RWL-100: error at [138.rwl;48]: cannot use procedure 'doit' as sql_id +RWL-278: error at [138.rwl;48]: parse error at position 24: unexpected 'procedure name', expecting identifier or ')' +RWL-205: error at [138.rwl;48]: sql_id function requires name of sql variable RWL-278: error at [138.rwl;52]: parse error at position 19: unexpected integer constant, expecting identifier or ')' RWL-205: error at [138.rwl;52]: sql_id function requires name of sql variable diff --git a/test/testres/353.err.good b/test/testres/353.err.good index b8782933..ccd24c44 100644 --- a/test/testres/353.err.good +++ b/test/testres/353.err.good @@ -1,8 +1,8 @@ -RWL-305: warning at [353.rwl;31]<-[353.rwl;42]: timeout after 0.100s waiting for a session in 'p' -RWL-305: warning at [353.rwl;31]<-[353.rwl;42]: timeout after 0.100s waiting for a session in 'p' -RWL-305: warning at [353.rwl;31]<-[353.rwl;42]: timeout after 0.100s waiting for a session in 'p' -RWL-305: warning at [353.rwl;31]<-[353.rwl;42]: timeout after 0.100s waiting for a session in 'p' -RWL-305: warning at [353.rwl;31]<-[353.rwl;42]: timeout after 0.100s waiting for a session in 'p' -RWL-305: warning at [353.rwl;31]<-[353.rwl;42]: timeout after 0.100s waiting for a session in 'p' -RWL-305: warning at [353.rwl;31]<-[353.rwl;42]: timeout after 0.100s waiting for a session in 'p' -RWL-305: warning at [353.rwl;31]<-[353.rwl;42]: timeout after 0.100s waiting for a session in 'p' +RWL-305: warning at [353.rwl;35]<-[353.rwl;46]: timeout after 0.100s waiting for a session in 'p' +RWL-305: warning at [353.rwl;35]<-[353.rwl;46]: timeout after 0.100s waiting for a session in 'p' +RWL-305: warning at [353.rwl;35]<-[353.rwl;46]: timeout after 0.100s waiting for a session in 'p' +RWL-305: warning at [353.rwl;35]<-[353.rwl;46]: timeout after 0.100s waiting for a session in 'p' +RWL-305: warning at [353.rwl;35]<-[353.rwl;46]: timeout after 0.100s waiting for a session in 'p' +RWL-305: warning at [353.rwl;35]<-[353.rwl;46]: timeout after 0.100s waiting for a session in 'p' +RWL-305: warning at [353.rwl;35]<-[353.rwl;46]: timeout after 0.100s waiting for a session in 'p' +RWL-305: warning at [353.rwl;35]<-[353.rwl;46]: timeout after 0.100s waiting for a session in 'p' diff --git a/test/testres/353.out.good b/test/testres/353.out.good index 3a926fb4..6b3e3b9a 100644 --- a/test/testres/353.out.good +++ b/test/testres/353.out.good @@ -6,4 +6,4 @@ 2 x 1.2 1 x 1.6 2 x 1.7 -doit 0.1 4.6 16 4 +doit 0.0 4.6 16 4 diff --git a/test/testres/354.out.good b/test/testres/354.out.good index d37950e6..581c8962 100644 --- a/test/testres/354.out.good +++ b/test/testres/354.out.good @@ -14,5 +14,5 @@ time out at 1.5 2 x 1.7 time out at 1.9 time out at 2.0 -doit 0.1 4.6 16 4 +doit 0.0 4.6 16 4 tout 0.0 0.0 8 2 diff --git a/test/testres/405.err.good b/test/testres/405.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/405.out.good b/test/testres/405.out.good new file mode 100644 index 00000000..1191247b --- /dev/null +++ b/test/testres/405.out.good @@ -0,0 +1,2 @@ +1 +2 diff --git a/test/testres/406.err.good b/test/testres/406.err.good new file mode 100644 index 00000000..1bef8382 --- /dev/null +++ b/test/testres/406.err.good @@ -0,0 +1,3 @@ +RWL-100: error at [406.rwl;10]: cannot use sql 'qqq' as function call +RWL-278: error at [406.rwl;12]: parse error at position 13: unexpected 'procedure name' +RWL-008: error at [406.rwl;12]: expected valid expression diff --git a/test/testres/406.out.good b/test/testres/406.out.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/407.err.good b/test/testres/407.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/407.out.good b/test/testres/407.out.good new file mode 100644 index 00000000..581c8962 --- /dev/null +++ b/test/testres/407.out.good @@ -0,0 +1,18 @@ +1 x 0.1 +2 x 0.2 +time out at 0.4 +time out at 0.5 +1 x 0.6 +2 x 0.7 +time out at 0.9 +time out at 1.0 +1 x 1.1 +2 x 1.2 +time out at 1.4 +time out at 1.5 +1 x 1.6 +2 x 1.7 +time out at 1.9 +time out at 2.0 +doit 0.0 4.6 16 4 +tout 0.0 0.0 8 2 diff --git a/test/testres/408.err.good b/test/testres/408.err.good new file mode 100644 index 00000000..48581e7c --- /dev/null +++ b/test/testres/408.err.good @@ -0,0 +1,2 @@ +RWL-125: error at [408.rwl;25]: procedure or function 'just1' called with too few arguments +RWL-124: error at [408.rwl;27]: procedure or function 'add2' called with too many arguments diff --git a/test/testres/408.out.good b/test/testres/408.out.good new file mode 100644 index 00000000..931c5efb --- /dev/null +++ b/test/testres/408.out.good @@ -0,0 +1,3 @@ +xx= 11.40 +11.40 579 +hvordan gaar det11.40 diff --git a/test/testres/409.err.good b/test/testres/409.err.good new file mode 100644 index 00000000..e69de29b diff --git a/test/testres/409.out.good b/test/testres/409.out.good new file mode 100644 index 00000000..3a2389b0 --- /dev/null +++ b/test/testres/409.out.good @@ -0,0 +1,22 @@ +bad +good xyz is now 4.05390 +good xyz is now 5.00454 +good xyz is now 6.17810 +maybe xyz is now -1.78765 +good xyz is now -2.20685 +bad xyz is now -5.17639 +good xyz is now -6.39025 +good xyz is now -7.88876 +maybe xyz is now 2.28263 +good xyz is now 2.81790 +bad xyz is now 6.60967 +good xyz is now 8.15964 +good xyz is now 10.07308 +maybe xyz is now -2.91466 +bad xyz is now -6.83664 +good xyz is now -8.43983 +good xyz is now -10.41897 +maybe xyz is now 3.01475 +bad xyz is now 7.07139 +good xyz is now 8.72963 +bad 4 in maybe state diff --git a/test/testres/410.err.good b/test/testres/410.err.good new file mode 100644 index 00000000..a81d05ba --- /dev/null +++ b/test/testres/410.err.good @@ -0,0 +1,6 @@ +RWL-124: error at [410.rwl;46]: procedure or function 'proca' called with too many arguments +RWL-124: error at [410.rwl;51]: procedure or function 'proca' called with too many arguments +RWL-125: error at [410.rwl;52]: procedure or function 'proca' called with too few arguments +RWL-025: error at [410.rwl;55]: cannot execute 'proctwo' due to previous errors +RWL-168: error at [410.rwl;57]: random procedure 'procb' has different argument type for argument 1 of 'proc3' and 'proc1' +RWL-167: error at [410.rwl;58]: random procedure 'procc' has different argument count for 'proc2' and 'proc4' diff --git a/test/testres/410.out.good b/test/testres/410.out.good new file mode 100644 index 00000000..2f61eb3f --- /dev/null +++ b/test/testres/410.out.good @@ -0,0 +1,26 @@ +proc2:3 +proc2:1 +proc2:2 +proc2:0 +proc1 4 +proc1 4 +proc2:5 +proc2:1 +proc1 6 +proc1 6 +proc2:7 +proc2:2 +done +proc2:42 +proc2:14 +proc1 -42 +proc1 -42 +jjj<5 proc2:-84 +proc2:-28 +proc2:123.46 +proc2:41 +proc1 hello, world +proc1 0 +jjj<5 proc2:0 +proc2:0 +after two args error diff --git a/test/testres/53.err.good b/test/testres/53.err.good index c0c14644..dc788003 100644 --- a/test/testres/53.err.good +++ b/test/testres/53.err.good @@ -1,3 +1,4 @@ RWL-125: error at [53.rwl;24]: procedure or function 'just1' called with too few arguments RWL-124: error at [53.rwl;26]: procedure or function 'add2' called with too many arguments -RWL-100: error at [53.rwl;32]: cannot use sql 'dummy' as procedure call +RWL-278: error at [53.rwl;32]: parse error at position 6: unexpected '(' +RWL-007: error at [53.rwl;32]: expected valid input after identifier diff --git a/test/testres/59.err.good b/test/testres/59.err.good index fdb16a56..ef03b9e6 100644 --- a/test/testres/59.err.good +++ b/test/testres/59.err.good @@ -4,5 +4,7 @@ RWL-100: error at [59.rwl;49]: cannot use integer function 'sum3' as assignment RWL-017: error at [59.rwl;50]: 'args4' has not been declared RWL-278: error at [59.rwl;54]: parse error at position 19: unexpected ';', expecting ')' RWL-130: error at [59.rwl;54]: incorrect argument list -RWL-100: error at [59.rwl;55]: cannot use string function 'concat' as procedure call -RWL-100: error at [59.rwl;58]: cannot use procedure 'showadd2' as function call +RWL-278: error at [59.rwl;55]: parse error at position 9: unexpected '(' +RWL-007: error at [59.rwl;55]: expected valid input after identifier +RWL-278: error at [59.rwl;58]: parse error at position 18: unexpected 'procedure name' +RWL-008: error at [59.rwl;58]: expected valid expression diff --git a/test/testres/59.out.good b/test/testres/59.out.good index 45360c2f..3485f308 100644 --- a/test/testres/59.out.good +++ b/test/testres/59.out.good @@ -4,4 +4,3 @@ xx1 was zero sum3: 573 too few too many - diff --git a/test/testres/68.err.good b/test/testres/68.err.good index 0ccf00ca..f7167090 100644 --- a/test/testres/68.err.good +++ b/test/testres/68.err.good @@ -9,6 +9,7 @@ RWL-041: warning at [68.rwl;18]<-[68.rwl;30]: mismatch between result list count RWL-079: error at [68.rwl;18]<-[68.rwl;30]: oracle error 1406 in 'selemp' declared at [68.rwl;9] ORA-01406: fetched column value was truncated RWL-125: error at [68.rwl;30]: procedure or function 'showemps' called with too few arguments -RWL-100: error at [68.rwl;31]: cannot use integer function 'showemps' as procedure call +RWL-278: error at [68.rwl;31]: parse error at position 9: unexpected '(' +RWL-007: error at [68.rwl;31]: expected valid input after identifier RWL-017: error at [68.rwl;45]: 'minemx' has not been declared RWL-025: error at [68.rwl;54]: cannot execute 'showempx' due to previous errors From 5c934dba6721207d5f732946eeeb14ae09a4b937 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 2 Dec 2024 12:15:50 +0000 Subject: [PATCH 113/118] Procedure call parentheses removal --- CHANGELOG.md | 3 +- demo/massinsert.rwl | 8 +- demo/runsimple.rwl | 2 +- demo/runsimple2.rwl | 2 +- demo/runsimple3.rwl | 2 +- demo/runsimulation.rwl | 14 +- demo/sample1.rwl | 4 +- demo/simpleinsert.rwl | 2 +- demo/testquery.rwl | 24 +- docs/ATCLAUSE.md | 8 +- docs/EXPRESSION.md | 4 +- docs/INSTALL.md | 2 +- docs/NEWS31.md | 26 +- docs/NEWS32.md | 30 + docs/OLTP.md | 2 + docs/PRINTF.md | 2 +- docs/PROCFUNC.md | 4 + docs/SIMULATOR.md | 20 +- docs/STATISTICS.md | 6 +- docs/WORKING.md | 6 +- docs/index.md | 7 +- oltp/run.rwl | 79 +-- public/ashplot.rwl | 7 +- public/connping.rwl | 3 +- public/netthroughput.rwl | 7 +- public/ociping.rwl | 7 +- src/lex.rwly.c | 494 ++++++++--------- src/rwllexer.l | 6 +- src/rwlparser.tab.c | 1102 ++++++++++++++++++------------------- src/rwlparser.tab.h | 2 +- src/rwlparser.y | 7 +- src/rwlsql.c | 5 +- test/TEST.md | 4 +- test/testres/184.out.good | 4 +- test/testres/205.out.good | 8 +- 35 files changed, 970 insertions(+), 943 deletions(-) create mode 100644 docs/NEWS32.md diff --git a/CHANGELOG.md b/CHANGELOG.md index c3305f80..2d86c69b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # RWP\*Load Simulator Release Notes -## 3.1.4 +## 3.2.0 * Bug fixes * -Dsrc will show source line of all debug messages @@ -10,6 +10,7 @@ * session pool can set max usage count and max lifetime * dbsecounds() and ociseconds() functions * procedures can be called without ( ) just like in bash +* Output from tests are based on database version 21.16 ## 3.1.3 diff --git a/demo/massinsert.rwl b/demo/massinsert.rwl index 1de21ccc..ae2eb38e 100644 --- a/demo/massinsert.rwl +++ b/demo/massinsert.rwl @@ -5,7 +5,7 @@ integer thrcount := 3; procedure massinsert() # just busy loop insorder() for count runcount loop - insorder(); + insorder; end; end; @@ -13,11 +13,11 @@ run threads thrcount # start 20 threads at demouser # Using this database - massinsert(); - showcounts(); + massinsert; + showcounts; end; end; -showcounts(); # to show total +showcounts; # to show total diff --git a/demo/runsimple.rwl b/demo/runsimple.rwl index 6a1924f0..6a0c76f6 100644 --- a/demo/runsimple.rwl +++ b/demo/runsimple.rwl @@ -12,6 +12,6 @@ procedure someinserts() end; end; -someinserts(); +someinserts; printline "inserted", totalrows; diff --git a/demo/runsimple2.rwl b/demo/runsimple2.rwl index 0f0e4940..86a01916 100644 --- a/demo/runsimple2.rwl +++ b/demo/runsimple2.rwl @@ -13,7 +13,7 @@ end; # background in the shell with a wait at then end run threads 10 - someinserts(); + someinserts; end; end; diff --git a/demo/runsimple3.rwl b/demo/runsimple3.rwl index 2d2e4c48..071ded1c 100644 --- a/demo/runsimple3.rwl +++ b/demo/runsimple3.rwl @@ -20,7 +20,7 @@ end; # a session from the pool run threads numthreads at rwlpool - someinserts(); + someinserts; end; end; diff --git a/demo/runsimulation.rwl b/demo/runsimulation.rwl index 76204769..70d87172 100644 --- a/demo/runsimulation.rwl +++ b/demo/runsimulation.rwl @@ -35,7 +35,7 @@ run every erlang2(0.05) # simulate arrival rate of 20 per second stop totaltime # this many times loop - doeither(); # executing this + doeither; # executing this end; end; @@ -44,15 +44,15 @@ run at awruser # begin 5 seconds into run wait(5); - beginawr(); + beginawr; # end 5 seconds before finish - wait(totaltime-runseconds-5); - makeawr(); + wait(totaltime-runseconds()-5); + makeawr; end; end; -showcounts(); # to show total -qshowcounts(); # to show total -cshowcounts(); # to show total +showcounts; # to show total +qshowcounts; # to show total +cshowcounts; # to show total printline "runnumber:", runnumber; diff --git a/demo/sample1.rwl b/demo/sample1.rwl index 8044d28a..d2bab87d 100644 --- a/demo/sample1.rwl +++ b/demo/sample1.rwl @@ -18,8 +18,8 @@ integer i; # declarations can come anywhere procedure runten() for i := 1 .. 10 loop # do something ten times - setab(); - add(a,b); + setab; + add a,b; end; end; diff --git a/demo/simpleinsert.rwl b/demo/simpleinsert.rwl index b77fbaf8..dc378c44 100644 --- a/demo/simpleinsert.rwl +++ b/demo/simpleinsert.rwl @@ -31,4 +31,4 @@ procedure doinsert() end; # actually execute the procedure -doinsert(); +doinsert; diff --git a/demo/testquery.rwl b/demo/testquery.rwl index 8602398a..f8615dc8 100644 --- a/demo/testquery.rwl +++ b/demo/testquery.rwl @@ -1,33 +1,33 @@ -selorder(); -qshowcounts(); +selorder; +qshowcounts; -qcomplex(); +qcomplex; procedure getorders() for wait 0.5 stop 5 loop - selorder(); + selorder; end; end; procedure getqs() for every 1.0 stop 4 loop - qcomplex(); + qcomplex; end; end; run threads 2 - getorders(); - qshowcounts(); + getorders; + qshowcounts; end; threads 1 - getqs(); - cshowcounts(); + getqs; + cshowcounts; end; end; -qshowcounts(); -cshowcounts(); +qshowcounts; +cshowcounts; procedure showrun() if runnumber is not null then @@ -35,5 +35,5 @@ procedure showrun() end; end; -showrun(); +showrun; diff --git a/docs/ATCLAUSE.md b/docs/ATCLAUSE.md index b8b5c7c9..409a3ee3 100644 --- a/docs/ATCLAUSE.md +++ b/docs/ATCLAUSE.md @@ -25,9 +25,9 @@ This mechanism applies in the following cases of the use of an at clause outside a declared procedure or function, i.e. directly at the "top level" of your rwloadsim code: - * procedurecall() at database; + * procedurecall at database; * sqlstatement at database; - * execute at database; ... end; + * execute at database ... end; When any of these is found directly in your main program, a database session will be acquired, the code will be executed and the session @@ -89,9 +89,9 @@ procedure copytodest() commit; # always against the effective database in use end; -copytodest() at destdb; +copytodest at destdb; ``` -When the procedure copytodest() is being called at the last line above, +When the procedure copytodest is being called at the last line above, the named database (destdb) is being used during the call. Inside the procedure, a cursor loop is being executed selecting rows from the named database (sourcedb), and for each row returned, the SQL diff --git a/docs/EXPRESSION.md b/docs/EXPRESSION.md index e975574e..61f5edbd 100644 --- a/docs/EXPRESSION.md +++ b/docs/EXPRESSION.md @@ -32,7 +32,7 @@ concatenation. In the manual pages, the term _expression_ refers to an expression that does not include implicit concatenation, while the term _concatenation_ is an expression that potentially does include implicit concatenation without the || operator. -The rwloadsim language has three types of assignments: +The rwloadsim language has three types of assignments operating on integer, double or string: |operator|description| |--------|-----------| @@ -108,6 +108,8 @@ Note that assignments are not themselves expressions so you cannot do something ``` a := b := 0; # This is illegal ``` + +There are further assignment operators used to open and close files or pipelines; see [FILE.md](FILE.md) for details. ## Navigation * [index.md](index.md#rwpload-simulator-users-guide) Table of contents * [SQL.md](SQL.md) Previous topic: Declaring and using static SQL diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 8b660907..e0872741 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -242,4 +242,4 @@ The only other requirement is an Oracle client environment as explained above. ### Navigation * [index.md](index.md#rwpload-simulator-users-guide) Table of contents * [INTRODUCTION.md](INTRODUCTION.md) Previous topic: A brief introduction the RWP*Load Simulator -* [NEWS31.md](NEWS31.md) Next topic: News in version 3.1 +* [NEWS32.md](NEWS32.md) Next topic: News in version 3.2 diff --git a/docs/NEWS31.md b/docs/NEWS31.md index a8c86775..5ae7a2b4 100644 --- a/docs/NEWS31.md +++ b/docs/NEWS31.md @@ -1,27 +1,3 @@ -## News and updates for version 3.1.4 of the RWP\*Load Simulator - -The most important changes in version 3.1.4 are: - -### Bitwise operations and hexadecimal input - -Bitwise shift, and, or and exclusive or has been added as well as the ability -to input hexadecimal integer constants. - -### New operators - -For bitwise operations, |= and &~= operators have been added to respectively set or clear bits -in an integer. - -### Functions for database end-2-end tracing - -Two new functions, dbseconds() and ociseconds() have been added; they return respectively the -time spent on the database side and on the clienside when executing select OCI calls. - -### Procedure calls do not require parentheses - -To make the the rwloadsim scripting language more similar to bash, there is no longer a requirement -to have parentheses around the arguments to procedure calls. - ## News and updates for version 3.1.3 of the RWP\*Load Simulator The most important changes in version 3.1.3 are: @@ -383,5 +359,5 @@ similar to how SQL*Plus does it. ## Navigation * [index.md](index.md#rwpload-simulator-users-guide) Table of contents -* [INSTALL.md](INSTALL.md) Previous topic: Install and create repository +* [NEWS32.md](NEWS32.md) Previous topic: Install and create repository * [WORKING.md](WORKING.md) Next topic: Working with rwloadsim using a few examples diff --git a/docs/NEWS32.md b/docs/NEWS32.md new file mode 100644 index 00000000..01cc16e7 --- /dev/null +++ b/docs/NEWS32.md @@ -0,0 +1,30 @@ +## News and updates for version 3.2.0 of the RWP\*Load Simulator + +The most important changes in version 3.2.0 are: + +### Bitwise operations and hexadecimal input + +Bitwise shift, and, or and exclusive or operators have been added as well as the ability +to input hexadecimal integer constants. + +Additionally, bitwise set and clear assignments have been added. + +### Functions for database end-2-end tracing + +Two new functions, dbseconds() and ociseconds() have been added; they return respectively the +time spent on the database side and on the clienside when executing select OCI calls. + +### Procedure calls do not require parentheses + +To make the the rwloadsim scripting language more similar to bash and to make calls to built-in statements +and user declared procedures appear identical, there is no longer a requirement +to have parentheses around the arguments to procedure calls. + +### Several changes to standard oltp workload + +The standard oltp workload has evolved gradually in particular in the area of reporting. + +## Navigation +* [index.md](index.md#rwpload-simulator-users-guide) Table of contents +* [INSTALL.md](INSTALL.md) Previous topic: Install and create repository +* [NEWS31.md](NEWS31.md) Next topic: Working with rwloadsim using a few examples diff --git a/docs/OLTP.md b/docs/OLTP.md index 1147f914..6903ed93 100644 --- a/docs/OLTP.md +++ b/docs/OLTP.md @@ -32,6 +32,8 @@ to call the top level scripts appropriately. If, however, you want to expand the scripts or change them to suit your specific purposes, you need to be prepared to spend some time understanding the details. +Note that most scripts are still using the pre-3.2 procedure call +syntax with a set of parentheses around arguments. There is a [OLTPQUICKSTART.md](OLTPQUICKSTART.md) file that has very brief instructions for the experienced user of the workload, diff --git a/docs/PRINTF.md b/docs/PRINTF.md index 44d7a0ae..8a298610 100644 --- a/docs/PRINTF.md +++ b/docs/PRINTF.md @@ -6,7 +6,7 @@ respectively double and integer. For more advanced output, you can use the fprintf statement or the sprintf statement to output to a string. -These work very similarly to how the work in C, and are in +These work very similarly to how they work in C, and are in fact implemented using their C equivalents. There are three such statements, sprintf that writes to a string, diff --git a/docs/PROCFUNC.md b/docs/PROCFUNC.md index 2b78f25c..29adec37 100644 --- a/docs/PROCFUNC.md +++ b/docs/PROCFUNC.md @@ -46,6 +46,10 @@ isbig 50; integer a := 200; isbig a+42; ``` +Note that in previous versions of rwloadsim, the procedure call syntax required +a set of parentheses was required around the potentially empty list of arguments. +This is now optional, but is still used in several distributed .rwl files in e.g. the +public directory. ## Function declaration A function is similar to a procedure, but it has a return value of a diff --git a/docs/SIMULATOR.md b/docs/SIMULATOR.md index 6ba7e4c3..90a5cef3 100644 --- a/docs/SIMULATOR.md +++ b/docs/SIMULATOR.md @@ -17,7 +17,7 @@ procedure abc() ... end; run threads 10 for stop 60 loop - abc(); + abc; end loop; end threads; end run; @@ -44,17 +44,17 @@ procedure def() ... end; # And put them in a random procedure array random procedure array doit (abc 20, def 80); -procedure xyz() ... end; +procedure xyz(integer val) ... end; run threads 10 at mydb # provide thread count and database # control how frequent and for how long to execute this for every erlang2(0.1) stop 300 loop - doit(); + doit; end; end; threads 1 # Another single thread - for start 10 count 2 loop xyz(); end; + for start 10 count 2 loop xyz uniform(0,100); end; end; end; ``` @@ -66,7 +66,7 @@ Assuming both abc() and def() execute SQL, each execution of either will acquire release sessions from the named database, mydb, which typically would be using a session pool. Start another single thread, that with a delay of 10 seconds will -execute the procedure "xyz" twice. +execute the procedure "xyz" twice with a random integer between 0 and 100 as argument. Another example showing some other possibilities are: ``` @@ -78,15 +78,15 @@ run for start threadnumber*0.1 every 1 stop exectime loop something(); end; end; threads onetwothree # start two threads that will execute three different things - for count 10 loop one() end; - for start 30 count 5 loop two() end; - for start 50 count 1 loop three(); end; + for count 10 loop one end; + for start 30 count 5 loop two end; + for start 50 count 1 loop three; end; end; threads 1 at system # start 1 thread at a named database wait(10-runseconds()); - begawr(); + begawr; wait(exectime-runseconds()-10); - endawr(); + endawr; end; end; ``` diff --git a/docs/STATISTICS.md b/docs/STATISTICS.md index 7de34e49..679c7e99 100644 --- a/docs/STATISTICS.md +++ b/docs/STATISTICS.md @@ -22,7 +22,7 @@ often using a control loop as in: run threads 20 at mypool for every 0.1s stop 120 loop - dosomething(); + dosomething; end loop; end threads; end run; @@ -110,11 +110,11 @@ run end threads; end run; ``` -the control loop in the two threads will call top() every 0.1s and each +the control loop in the two threads will call top every 0.1s and each call with be timed for the time taken to acquire a session from db1 and to execute the code in the procedure. However, as the call to sql2 includes an actual session acquire/release -from db2, the time registered for executing top() will not only be the +from db2, the time registered for executing top will not only be the time taken by the actual SQL statements (such as sql1), but also the time taken for the full processing of sql2 including session acquire/release for db2. diff --git a/docs/WORKING.md b/docs/WORKING.md index 33ca431b..cdf3ce82 100644 --- a/docs/WORKING.md +++ b/docs/WORKING.md @@ -513,7 +513,7 @@ procedure someinserts() end; end; -someinserts(); +someinserts; printline "inserted", totalrows; ``` @@ -572,7 +572,7 @@ end; run threads 10 - someinserts(); + someinserts; end; end; @@ -655,7 +655,7 @@ end; run threads numthreads at rwlpool - someinserts(); + someinserts; end; end; diff --git a/docs/index.md b/docs/index.md index 01373b8c..a846c46c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -15,13 +15,17 @@ This gap is exactly what the RWP\*Load Simulator is filling in addition to its ability to actually simulate load. -Release 3 of the tool has primary focus on the +Release 3.1 of the tool has primary focus on the facilities for scripting, and it includes a much more versatile and easier to use model for executing SQL, advanced printf style output and much more. Please make sure to read [NEWS31.md](NEWS31.md) that describes important changed behavior and all new features. +Release 3.2 has further focus on scripting facilicites, +and it adds bitwise operations and hexadecimal input. +The full list of changes is available in [NEWS32.md](NEWS32.md). + If you think of a bit of bash and SQL, a dose of PL/SQL, a nip of C or Java, a fragment of Oracle Call Interface, a dash of awk, a grain of sed plus a few drops of secret sauce @@ -42,6 +46,7 @@ you will find both sources and binary distributions. * [WHATISIT.md](WHATISIT.md) What is the RWP*Load Simulator * [INTRODUCTION.md](INTRODUCTION.md) A brief introduction the RWP*Load Simulator * [INSTALL.md](INSTALL.md) Install the software from binary distribution and create the repository +* [NEWS32.md](NEWS32.md) News in version 3.1 * [NEWS31.md](NEWS31.md) News in version 3.1 * [WORKING.md](WORKING.md) Working with rwloadsim using a few examples * [SCRIPTING.md](SCRIPTING.md) Using rwloadsim for scripting diff --git a/oltp/run.rwl b/oltp/run.rwl index db58a997..2eba3a6c 100644 --- a/oltp/run.rwl +++ b/oltp/run.rwl @@ -2,7 +2,8 @@ # Licensed under the Universal Permissive License v 1.0 # as shown at https://oss.oracle.com/licenses/upl/ -# bengsig 31-jul-2023 - rategradientstep +# bengsig 1-dec-2024 - Use ( ) free syntax for procedure call +# bengsig 31-jul-2024 - rategradientstep # bengsig 22-jul-2024 - Show min/max pool when xc changes # bengsig 26-mar-2024 - cstorm fixes # bengsig 19-mar-2024 - cstorm @@ -83,11 +84,11 @@ $if xc_enabled $then $endif procedure makeorder() - make_order(uniform(1,max_customer)); + make_order uniform(1,max_customer); end; procedure makeinvoices() - make_invoices(uniform(1,max_customer)); + make_invoices uniform(1,max_customer); end; procedure shiporders() @@ -99,11 +100,11 @@ procedure shiporders() end; procedure searchproduct() - search_products( ovidstring(1) "%" ovidstring(1) ); + search_products ovidstring(1) "%" ovidstring(1); end; procedure queryorder() - query_order(1); + query_order 1; end; # Receive something at some wharehouse @@ -116,7 +117,7 @@ procedure stockup() statistics integer s, stocks := uniform(1,max_product/100); # Add inventories to many products for s := 1..stocks loop - add_inventory(warehouse_id, uniform(1,max_product), erlang2(1000)); + add_inventory warehouse_id, uniform(1,max_product), erlang2(1000); end loop; warehouse_received := warehouse_received + 1; end; @@ -143,12 +144,12 @@ procedure call_real_or_timeout() # call to call_failure, which is used to drain below $if time_out is not null and !simulatebatch $then if runseconds() > everyuntil+time_out then - call_failure(""); + call_failure ""; else - call_real(); + call_real; end if; $else - call_real(); + call_real; $endif end call_real_or_timeout; @@ -161,10 +162,10 @@ $if cstorm_threads $then if runseconds() between cstorm_start and cstorm_start + cstorm_period then # inside the storm period if threadnumber between threadcount-cstorm_threads+1 and threadcount then - grab_session(); + grab_session; everyuntil := runseconds(); # flushes the queue else - call_real_or_timeout(); + call_real_or_timeout; end if; else # outside storm @@ -172,11 +173,11 @@ $if cstorm_threads $then # The 3 seconds drain here is just taken randomly and it implies the threads # that we did the grab_session() on get drained rather than showing a huge # call_failure amount. - call_real_or_timeout(); + call_real_or_timeout; end if; end if; $else - call_real_or_timeout(); + call_real_or_timeout; $endif end; @@ -241,7 +242,7 @@ $if wburst_count > 0 $then # This is a bit of a hack, but doing ociping makes # us get the reconnect session when we enter this # routine and not only when we call either of - # the routines in doeither() + # the routines in doeither ociping; $endif for @@ -250,7 +251,7 @@ $if wburst_count > 0 $then ( 0.08 / ratefactor) stop wburst_start + wburst_length loop - doeither(); + doeither; end loop; end wburst_run; $endif @@ -287,7 +288,7 @@ $if xc_enabled $then wburst_count := 0; end if; if procnumber = 1 and pool_type = "sessionpool" then - xc_poolprint(0.0, rwl_min_pool, rwl_max_pool); + xc_poolprint 0.0, rwl_min_pool, rwl_max_pool; end if; $endif @@ -297,7 +298,7 @@ run # database does two null operations per second threads 1 at rwloadsim for queue every 0.5 stop runperiod loop - heartbeat(); + heartbeat; $if xc_enabled $then if xc_stopnow=1 or xc_stopnow=2 then break; end if; $endif @@ -309,14 +310,14 @@ $endif if procnumber = 1 then for count 1 loop $if pool_type = "sessionpool" $then - doociping() at rwl_run_pool; # make sure it can connect + doociping at rwl_run_pool; # make sure it can connect $endif - markrunning(); + markrunning; end; end if; $if xc_enabled $then for start uniform(0.0,xc_refresh) every xc_refresh stop runperiod loop - xc_read(procnumber=1); + xc_read procnumber=1; if xc_stopnow=1 or xc_stopnow=2 then break; end if; end loop; if xc_stopnow=1 or xc_stopnow=2 then @@ -325,7 +326,7 @@ $if xc_enabled $then else wait 1; end if; - xc_kill("process " procnumber); + xc_kill "process " procnumber; end if; $endif end; @@ -420,7 +421,7 @@ $if xc_enabled $then # subtract 3 from threadnumber, as the first of the # real worker threads has number 3 if threadnumber-3 <= threadcount * xc_loadfactor then - doeither(); + doeither; end if; if xc_stopnow=1 or xc_stopnow=2 then break; @@ -431,13 +432,13 @@ $else # If were are using aburst, and we are doing something real # which when the thread is an active one or if we are after # the aburst_split time, call a real transaction - doeither(); + doeither; else # Otherwise, just make sure we get a database - doociping(); + doociping; end; $else - doeither(); + doeither; $endif $endif end loop; @@ -457,8 +458,8 @@ $if wburst_count > 0 $then $else rwl_run_pool $endif - wburst_wait(); - wburst_run(); + wburst_wait; + wburst_run; end; $endif $if delay_length > 0 and pool_type = "sessionpool" $then @@ -485,7 +486,7 @@ $if xc_enabled $then loop # release database; if xc_loadfactor > 0.1 then - makeinvoices(); + makeinvoices; end if; if xc_stopnow=1 or xc_stopnow=2 then break; @@ -499,14 +500,14 @@ $else # stuff which has high potential for TX contention # Note that we only run this in one process # but the TX contention comes from the occasional - # execution of it via the non-batched doeither() + # execution of it via the non-batched doeither threads !dontdo_batch1 and (procnumber=1) at rwl_run_batch for start erlang2(5.0) every 10.0 + erlang2(10.0 / ratefactor) stop runperiod loop - ship_many_orders(5, 100 * proccount); + ship_many_orders 5, 100 * proccount; wait 10; # always include an idle period end loop; end threads; @@ -519,7 +520,7 @@ $else for start erlang2(2*procnumber*rampfactor) every erlang2(0.5 / ratefactor) stop runperiod loop - complex_query(); + complex_query; end loop; end threads; @@ -531,7 +532,7 @@ $else start erlang2(10*procnumber*rampfactor) every erlang2(5 / ratefactor) stop runperiod loop # release database; - stockup(); + stockup; end loop; end threads; @@ -545,23 +546,23 @@ $else stop runperiod loop # release database; - makeinvoices(); + makeinvoices; end loop; end threads; # And here comes the long running stuff threads procnumber=1 and !dontdolong at rwl_run_batch - for count 1 loop longpoolqry(); end loop; + for count 1 loop longpoolqry; end loop; end threads; threads procnumber=1 and !dontdolong at rwl_run_batch - for count 1 loop longpooldml(); end loop; + for count 1 loop longpooldml; end loop; end threads; $endif threads procnumber=1 and !dontdolong at rwl_run - for count 1 loop longdedqry(); end loop; + for count 1 loop longdedqry; end loop; end threads; threads procnumber=1 and !dontdolong at rwl_run - for count 1 loop longdeddml(); end loop; + for count 1 loop longdeddml; end loop; end threads; $endif @@ -577,7 +578,7 @@ $endif bind 1 runnumber, 2 procnumber, 3 usr, 4 sys, 5 thissec; bind 6 actpool, 7 actbatch, 8 openpool, 9 openbatch; end; - showstart(); + showstart; getrusage; # Call is necessary to make usrseconds, sysseconds recent lastusr := usrseconds; lastsys:= sysseconds; lastsec := runseconds(); wait 1; @@ -627,7 +628,7 @@ end; $if xc_enabled $then if procnumber = 1 and pool_type = "sessionpool" then - xc_poolprint(runseconds(), rwl_min_pool, rwl_max_pool); + xc_poolprint runseconds(), rwl_min_pool, rwl_max_pool; end if; $endif diff --git a/public/ashplot.rwl b/public/ashplot.rwl index 71c5cb45..43af37a8 100644 --- a/public/ashplot.rwl +++ b/public/ashplot.rwl @@ -10,6 +10,7 @@ # # Modified Date Comments # +# bengsig 1-dec-2024 No () around procedure arguments # bengsig 3-jun-2024 running graphs on X # bengsig 28-may-2024 fromminutes # bengsig 27-feb-2024 MS Windows @@ -621,14 +622,14 @@ $if autoupdate is null $then # and copy files if user asked for them if output_svg != "" then - copyfile(tempdir "/ash.svg", output_svg); + copyfile tempdir "/ash.svg", output_svg; end if; if output_png != "" then - copyfile(tempdir "/ash.png", output_png); + copyfile tempdir "/ash.png", output_png; end if; $endif if !ashplot_debug and ashplot_tempdir = "" and tempdir != "" then - removetempdir(tempdir); + removetempdir tempdir; end if; diff --git a/public/connping.rwl b/public/connping.rwl index 7906079a..586c45ee 100644 --- a/public/connping.rwl +++ b/public/connping.rwl @@ -6,6 +6,7 @@ # # History # +# bengsig 1-dec-2024 - oneping() -> oneping # bengsig 28-feb-2024 - Windows port # bengsig 23-feb-2023 - All add avg/std as comment to csvfile when not excel # bengsig 9-feb-2023 - Ensure ociping is as correct as possible @@ -260,7 +261,7 @@ run # Save time before call to oneping, i.e. time # just before we acquire the session t0 := runseconds(); - oneping(); + oneping; end loop; end threads; end run; diff --git a/public/netthroughput.rwl b/public/netthroughput.rwl index 730f9b6f..1712ff04 100644 --- a/public/netthroughput.rwl +++ b/public/netthroughput.rwl @@ -6,6 +6,7 @@ # # History # +# bengsig 1-dec-2024 - No () after procedure call # bengsig 28-feb-2024 - Windows port # bengsig 19-sep-2022 - Simplified and enhanced # bengsig 13-sep-2022 - Now netthroughput.rwl @@ -259,14 +260,14 @@ procedure start1mqueries() if dophys then qrybytes; netmb1 := netmb2; - exec1mqueries(); + exec1mqueries; qrybytes; if verbosetest then fprintf stderr, "Thread %d returned %.0fMB physical bytes\n",threadnumber, netmb2-netmb1; end if; totalnetmb += netmb2-netmb1; else - exec1mqueries(); + exec1mqueries; end if; end procedure; @@ -276,7 +277,7 @@ run threads concurrency # delay each start to allow connect wait 0.5*threadnumber; - start1mqueries(); + start1mqueries; end threads; end run; diff --git a/public/ociping.rwl b/public/ociping.rwl index 246670c5..8643e327 100644 --- a/public/ociping.rwl +++ b/public/ociping.rwl @@ -6,6 +6,7 @@ # # History # +# bengsig 1-dec-2024 - Remove () for oneping call # bengsig 30-sep-2024 - Add grand total mean/stddev after concurrency run # bengsig 24-jul-2024 - Clean up and report nicely after ctrl-c # bengsig 28-feb-2024 - Windows port @@ -249,7 +250,7 @@ $if concurrency is null $then $ora01013:break for queue every interval stop period loop - oneping(); + oneping; end loop; $ora01013:reset @@ -375,7 +376,7 @@ $else queue every interval stop period + threadnumber*separation + separation loop - oneping(); + oneping; if threadnumber = concurrency then print loopnumber " "; @@ -418,7 +419,7 @@ $else writeline stderr, "cannot execute gnuplot " resultdir "/" runname ".plot"; else if rmresult then - removetempdir(resultdir); + removetempdir resultdir; end if; end if; else diff --git a/src/lex.rwly.c b/src/lex.rwly.c index 8d8dcb2c..b76cf94b 100644 --- a/src/lex.rwly.c +++ b/src/lex.rwly.c @@ -1897,6 +1897,7 @@ static yyconst flex_int16_t yy_chk[3583] = * * History * + * mkdash 24-oct-2024 - implement bash like procedure calls * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 29-aug-2024 - string->integer can be hex * obakhir 9-aug-2024 - Add hexadecimal integers @@ -2000,7 +2001,7 @@ static yyconst flex_int16_t yy_chk[3583] = * bengsig 06-feb-2018 - added ociping * bengsig 10-feb-2017 - creation */ -#line 119 "rwllexer.l" +#line 120 "rwllexer.l" #include "rwl.h" #include "rwlparser.tab.h" @@ -2013,7 +2014,7 @@ static yyconst flex_int16_t yy_chk[3583] = rwm->rwlytext = (text *)yytext; \ } -#line 2017 "lex.rwly.c" +#line 2018 "lex.rwly.c" #define INITIAL 0 @@ -2286,7 +2287,7 @@ YY_DECL } { -#line 137 "rwllexer.l" +#line 138 "rwllexer.l" @@ -2298,7 +2299,7 @@ YY_DECL /* **************************************************************** */ /*LEXTAG:RWL_T_SQL_TEXT*/ -#line 2302 "lex.rwly.c" +#line 2303 "lex.rwly.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2357,128 +2358,128 @@ YY_DECL case 1: /* rule 1 can match eol */ -#line 149 "rwllexer.l" +#line 150 "rwllexer.l" case 2: /* rule 2 can match eol */ -#line 150 "rwllexer.l" +#line 151 "rwllexer.l" case 3: /* rule 3 can match eol */ -#line 151 "rwllexer.l" +#line 152 "rwllexer.l" case 4: /* rule 4 can match eol */ -#line 152 "rwllexer.l" +#line 153 "rwllexer.l" case 5: /* rule 5 can match eol */ -#line 153 "rwllexer.l" +#line 154 "rwllexer.l" case 6: /* rule 6 can match eol */ -#line 154 "rwllexer.l" +#line 155 "rwllexer.l" case 7: /* rule 7 can match eol */ -#line 155 "rwllexer.l" +#line 156 "rwllexer.l" case 8: /* rule 8 can match eol */ -#line 156 "rwllexer.l" +#line 157 "rwllexer.l" case 9: /* rule 9 can match eol */ -#line 157 "rwllexer.l" +#line 158 "rwllexer.l" case 10: /* rule 10 can match eol */ -#line 158 "rwllexer.l" +#line 159 "rwllexer.l" case 11: /* rule 11 can match eol */ -#line 159 "rwllexer.l" +#line 160 "rwllexer.l" case 12: /* rule 12 can match eol */ -#line 160 "rwllexer.l" +#line 161 "rwllexer.l" case 13: /* rule 13 can match eol */ -#line 161 "rwllexer.l" +#line 162 "rwllexer.l" case 14: /* rule 14 can match eol */ -#line 162 "rwllexer.l" +#line 163 "rwllexer.l" case 15: /* rule 15 can match eol */ -#line 163 "rwllexer.l" +#line 164 "rwllexer.l" case 16: /* rule 16 can match eol */ -#line 164 "rwllexer.l" +#line 165 "rwllexer.l" case 17: /* rule 17 can match eol */ -#line 165 "rwllexer.l" +#line 166 "rwllexer.l" case 18: /* rule 18 can match eol */ -#line 166 "rwllexer.l" +#line 167 "rwllexer.l" case 19: /* rule 19 can match eol */ -#line 167 "rwllexer.l" +#line 168 "rwllexer.l" case 20: /* rule 20 can match eol */ -#line 168 "rwllexer.l" +#line 169 "rwllexer.l" case 21: /* rule 21 can match eol */ -#line 169 "rwllexer.l" +#line 170 "rwllexer.l" case 22: /* rule 22 can match eol */ -#line 170 "rwllexer.l" +#line 171 "rwllexer.l" case 23: /* rule 23 can match eol */ -#line 171 "rwllexer.l" +#line 172 "rwllexer.l" case 24: /* rule 24 can match eol */ -#line 172 "rwllexer.l" +#line 173 "rwllexer.l" case 25: /* rule 25 can match eol */ -#line 173 "rwllexer.l" +#line 174 "rwllexer.l" case 26: /* rule 26 can match eol */ -#line 174 "rwllexer.l" +#line 175 "rwllexer.l" case 27: /* rule 27 can match eol */ -#line 175 "rwllexer.l" +#line 176 "rwllexer.l" case 28: /* rule 28 can match eol */ -#line 176 "rwllexer.l" +#line 177 "rwllexer.l" case 29: /* rule 29 can match eol */ -#line 177 "rwllexer.l" +#line 178 "rwllexer.l" case 30: /* rule 30 can match eol */ -#line 178 "rwllexer.l" +#line 179 "rwllexer.l" case 31: /* rule 31 can match eol */ -#line 179 "rwllexer.l" +#line 180 "rwllexer.l" case 32: /* rule 32 can match eol */ -#line 180 "rwllexer.l" +#line 181 "rwllexer.l" case 33: /* rule 33 can match eol */ -#line 181 "rwllexer.l" +#line 182 "rwllexer.l" case 34: /* rule 34 can match eol */ -#line 182 "rwllexer.l" +#line 183 "rwllexer.l" case 35: /* rule 35 can match eol */ -#line 183 "rwllexer.l" +#line 184 "rwllexer.l" case 36: /* rule 36 can match eol */ -#line 184 "rwllexer.l" +#line 185 "rwllexer.l" case 37: /* rule 37 can match eol */ -#line 185 "rwllexer.l" +#line 186 "rwllexer.l" case 38: /* rule 38 can match eol */ -#line 186 "rwllexer.l" +#line 187 "rwllexer.l" case 39: /* rule 39 can match eol */ -#line 187 "rwllexer.l" +#line 188 "rwllexer.l" case 40: /* rule 40 can match eol */ -#line 188 "rwllexer.l" +#line 189 "rwllexer.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP -#line 188 "rwllexer.l" +#line 189 "rwllexer.l" { /* we match anything that can initiate SQL or PL/SQL. @@ -2497,7 +2498,7 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 204 "rwllexer.l" +#line 205 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_USE_QUOTE_FOR_STRING); rwm->badchar++; @@ -2507,7 +2508,7 @@ YY_RULE_SETUP case 43: /* rule 43 can match eol */ YY_RULE_SETUP -#line 210 "rwllexer.l" +#line 211 "rwllexer.l" { // Note that this flex input means that the input // consist of any number of either of the following // any character @@ -2524,12 +2525,12 @@ YY_RULE_SETUP YY_BREAK /*LEXTAG:RWL_T_DOUBLE_CONST*/ case 44: -#line 226 "rwllexer.l" -case 45: #line 227 "rwllexer.l" +case 45: +#line 228 "rwllexer.l" case 46: YY_RULE_SETUP -#line 227 "rwllexer.l" +#line 228 "rwllexer.l" { /* set both dval and ival when seeing float */ rwm->dval = rwlatof(rwm->rwlytext); @@ -2540,7 +2541,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_INTEGER_CONST*/ case 47: YY_RULE_SETUP -#line 236 "rwllexer.l" +#line 237 "rwllexer.l" { /* set both dval and ival when seeing integer */ rwm->ival = rwlatosb8(rwm->rwlytext); @@ -2550,7 +2551,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 243 "rwllexer.l" +#line 244 "rwllexer.l" { /* make .. be a token even after an integer so that 1..10 is scanned as 1 .. 10 and not as 1. . 10 @@ -2564,7 +2565,7 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 254 "rwllexer.l" +#line 255 "rwllexer.l" { /* Handle hexadecimal integer constants */ rwm->ival = rwlhex2ub8(rwm->rwlytext+2, sizeof(ub8)); @@ -2574,7 +2575,7 @@ YY_RULE_SETUP YY_BREAK case 50: YY_RULE_SETUP -#line 261 "rwllexer.l" +#line 262 "rwllexer.l" { /* Handle hexadecimal constants followed by .. */ rwm->ival = rwlhex2ub8(rwm->rwlytext+2, sizeof(ub8)); @@ -2586,43 +2587,43 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FUNCTION*/ case 51: YY_RULE_SETUP -#line 270 "rwllexer.l" +#line 271 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FUNCTION; } YY_BREAK /*LEXTAG:RWL_T_RETURN*/ case 52: YY_RULE_SETUP -#line 272 "rwllexer.l" +#line 273 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_RETURN; } YY_BREAK /*LEXTAG:RWL_T_EXIT*/ case 53: YY_RULE_SETUP -#line 274 "rwllexer.l" +#line 275 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_EXIT; } YY_BREAK /*LEXTAG:RWL_T_READLOB*/ case 54: YY_RULE_SETUP -#line 276 "rwllexer.l" +#line 277 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_READLOB; } YY_BREAK /*LEXTAG:RWL_T_WRITELOB*/ case 55: YY_RULE_SETUP -#line 278 "rwllexer.l" +#line 279 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_WRITELOB; } YY_BREAK /*LEXTAG:RWL_T_CLOB*/ case 56: YY_RULE_SETUP -#line 280 "rwllexer.l" +#line 281 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_CLOB; } YY_BREAK /*LEXTAG:RWL_T_BLOB*/ case 57: YY_RULE_SETUP -#line 282 "rwllexer.l" +#line 283 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_BLOB; } @@ -2633,7 +2634,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RAW*/ case 58: YY_RULE_SETUP -#line 289 "rwllexer.l" +#line 290 "rwllexer.l" { if (bit(rwm->mflags,RWL_DEBUG_ALLOWHACK)) { if (!rwm->ifdirbit) return RWL_T_RAW; } @@ -2644,7 +2645,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_NCLOB*/ case 59: YY_RULE_SETUP -#line 296 "rwllexer.l" +#line 297 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_NCLOB; @@ -2653,7 +2654,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PUBLIC*/ case 60: YY_RULE_SETUP -#line 301 "rwllexer.l" +#line 302 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_PUBLIC; @@ -2662,7 +2663,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATE*/ case 61: YY_RULE_SETUP -#line 306 "rwllexer.l" +#line 307 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DATE; @@ -2671,7 +2672,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BREAK*/ case 62: YY_RULE_SETUP -#line 311 "rwllexer.l" +#line 312 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_BREAK; } @@ -2679,7 +2680,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_UNSIGNED*/ case 63: YY_RULE_SETUP -#line 315 "rwllexer.l" +#line 316 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_UNSIGNED; @@ -2688,7 +2689,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_HEXADECIMAL*/ case 64: YY_RULE_SETUP -#line 320 "rwllexer.l" +#line 321 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_HEXADECIMAL; @@ -2697,7 +2698,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCTAL*/ case 65: YY_RULE_SETUP -#line 325 "rwllexer.l" +#line 326 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_OCTAL; @@ -2706,7 +2707,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LOBPREFETCH*/ case 66: YY_RULE_SETUP -#line 330 "rwllexer.l" +#line 331 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_LOBPREFETCH; @@ -2715,7 +2716,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PRINTF*/ case 67: YY_RULE_SETUP -#line 335 "rwllexer.l" +#line 336 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_PRINTF; } @@ -2723,7 +2724,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SPRINTF*/ case 68: YY_RULE_SETUP -#line 339 "rwllexer.l" +#line 340 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SPRINTF; } @@ -2731,7 +2732,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FPRINTF*/ case 69: YY_RULE_SETUP -#line 343 "rwllexer.l" +#line 344 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_FPRINTF; } @@ -2739,7 +2740,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ENCODE*/ case 70: YY_RULE_SETUP -#line 347 "rwllexer.l" +#line 348 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_ENCODE; @@ -2748,7 +2749,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DECODE*/ case 71: YY_RULE_SETUP -#line 352 "rwllexer.l" +#line 353 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_RESERVED_FOR_FUTURE, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_DECODE; @@ -2757,7 +2758,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_LEAK*/ case 72: YY_RULE_SETUP -#line 357 "rwllexer.l" +#line 358 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_LEAK; } @@ -2765,19 +2766,19 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ABORT*/ case 73: YY_RULE_SETUP -#line 361 "rwllexer.l" +#line 362 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ABORT; YY_BREAK /*LEXTAG:RWL_T_MODIFY*/ case 74: YY_RULE_SETUP -#line 363 "rwllexer.l" +#line 364 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_MODIFY; YY_BREAK /*LEXTAG:RWL_T_SQL*/ case 75: YY_RULE_SETUP -#line 365 "rwllexer.l" +#line 366 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_SQL; } @@ -2785,25 +2786,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IGNOREERROR*/ case 76: YY_RULE_SETUP -#line 369 "rwllexer.l" +#line 370 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IGNOREERROR; YY_BREAK /*LEXTAG:RWL_T_CURSORCACHE*/ case 77: YY_RULE_SETUP -#line 371 "rwllexer.l" +#line 372 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_NOCURSORCACHE*/ case 78: YY_RULE_SETUP -#line 373 "rwllexer.l" +#line 374 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOCURSORCACHE; YY_BREAK /*LEXTAG:RWL_T_CONNECT*/ case 79: YY_RULE_SETUP -#line 375 "rwllexer.l" +#line 376 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2813,7 +2814,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_USERNAME*/ case 80: YY_RULE_SETUP -#line 381 "rwllexer.l" +#line 382 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2823,7 +2824,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_PASSWORD*/ case 81: YY_RULE_SETUP -#line 387 "rwllexer.l" +#line 388 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2833,7 +2834,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_DATABASE*/ case 82: YY_RULE_SETUP -#line 393 "rwllexer.l" +#line 394 "rwllexer.l" { if (bit(rwm->m3flags, RWL_P3_GENERATE)) bis(rwm->m3flags, RWL_P3_GEN_SENSITIVE); @@ -2843,25 +2844,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_REQUESTMARK*/ case 83: YY_RULE_SETUP -#line 399 "rwllexer.l" +#line 400 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REQUESTMARK; YY_BREAK /*LEXTAG:RWL_T_STATEMARK*/ case 84: YY_RULE_SETUP -#line 401 "rwllexer.l" +#line 402 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATEMARK; YY_BREAK /*LEXTAG:RWL_T_RELEASE*/ case 85: YY_RULE_SETUP -#line 403 "rwllexer.l" +#line 404 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RELEASE; YY_BREAK /*LEXTAG:RWL_T_SHARDKEY*/ case 86: YY_RULE_SETUP -#line 405 "rwllexer.l" +#line 406 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); if (!rwm->ifdirbit) return RWL_T_SHARDKEY; @@ -2870,67 +2871,67 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OCIPING*/ case 87: YY_RULE_SETUP -#line 410 "rwllexer.l" +#line 411 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCIPING; YY_BREAK /*LEXTAG:RWL_T_COMMIT*/ case 88: YY_RULE_SETUP -#line 412 "rwllexer.l" +#line 413 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COMMIT; YY_BREAK /*LEXTAG:RWL_T_ROLLBACK*/ case 89: YY_RULE_SETUP -#line 414 "rwllexer.l" +#line 415 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROLLBACK; YY_BREAK /*LEXTAG:RWL_T_DEFAULT*/ case 90: YY_RULE_SETUP -#line 416 "rwllexer.l" +#line 417 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFAULT; YY_BREAK /*LEXTAG:RWL_T_AT*/ case 91: YY_RULE_SETUP -#line 418 "rwllexer.l" +#line 419 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AT; YY_BREAK /*LEXTAG:RWL_T_RESULTS*/ case 92: YY_RULE_SETUP -#line 420 "rwllexer.l" +#line 421 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RESULTS; YY_BREAK /*LEXTAG:RWL_T_PROCEDURE*/ case 93: YY_RULE_SETUP -#line 422 "rwllexer.l" +#line 423 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PROCEDURE; YY_BREAK /*LEXTAG:RWL_T_THREADS*/ case 94: YY_RULE_SETUP -#line 424 "rwllexer.l" +#line 425 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THREADS; YY_BREAK /*LEXTAG:RWL_T_GLOBAL*/ case 95: YY_RULE_SETUP -#line 426 "rwllexer.l" +#line 427 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GLOBAL; YY_BREAK /*LEXTAG:RWL_T_PRIVATE*/ case 96: YY_RULE_SETUP -#line 428 "rwllexer.l" +#line 429 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRIVATE; YY_BREAK /*LEXTAG:RWL_T_RUN*/ case 97: YY_RULE_SETUP -#line 430 "rwllexer.l" +#line 431 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -2940,167 +2941,167 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_BIND*/ case 98: YY_RULE_SETUP -#line 436 "rwllexer.l" +#line 437 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BIND; YY_BREAK /*LEXTAG:RWL_T_BINDOUT*/ case 99: YY_RULE_SETUP -#line 438 "rwllexer.l" +#line 439 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BINDOUT; YY_BREAK /*LEXTAG:RWL_T_DEFINE*/ case 100: YY_RULE_SETUP -#line 440 "rwllexer.l" +#line 441 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEFINE; YY_BREAK /*LEXTAG:RWL_T_START*/ case 101: YY_RULE_SETUP -#line 442 "rwllexer.l" +#line 443 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_START; YY_BREAK /*LEXTAG:RWL_T_COUNT*/ case 102: YY_RULE_SETUP -#line 444 "rwllexer.l" +#line 445 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COUNT; YY_BREAK /*LEXTAG:RWL_T_STOP*/ case 103: YY_RULE_SETUP -#line 446 "rwllexer.l" +#line 447 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STOP; YY_BREAK /*LEXTAG:RWL_T_END*/ case 104: YY_RULE_SETUP -#line 448 "rwllexer.l" +#line 449 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_END; YY_BREAK /*LEXTAG:RWL_T_SESSIONPOOL*/ case 105: YY_RULE_SETUP -#line 450 "rwllexer.l" +#line 451 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SESSIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONPOOL*/ case 106: YY_RULE_SETUP -#line 452 "rwllexer.l" +#line 453 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONPOOL; YY_BREAK /*LEXTAG:RWL_T_CONNECTIONCLASS*/ case 107: YY_RULE_SETUP -#line 454 "rwllexer.l" +#line 455 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONNECTIONCLASS; YY_BREAK /*LEXTAG:RWL_T_DRCP*/ case 108: YY_RULE_SETUP -#line 456 "rwllexer.l" +#line 457 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DRCP; YY_BREAK /*LEXTAG:RWL_T_DEDICATED*/ case 109: YY_RULE_SETUP -#line 458 "rwllexer.l" +#line 459 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DEDICATED; YY_BREAK /*LEXTAG:RWL_T_RECONNECT*/ case 110: YY_RULE_SETUP -#line 460 "rwllexer.l" +#line 461 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RECONNECT; YY_BREAK /*LEXTAG:RWL_T_UNIFORM*/ case 111: YY_RULE_SETUP -#line 462 "rwllexer.l" +#line 463 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_UNIFORM; YY_BREAK /*LEXTAG:RWL_T_NORMALRANDOM*/ case 112: YY_RULE_SETUP -#line 464 "rwllexer.l" +#line 465 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NORMALRANDOM; YY_BREAK /*LEXTAG:RWL_T_LOG*/ case 113: YY_RULE_SETUP -#line 466 "rwllexer.l" +#line 467 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LOG; YY_BREAK /*LEXTAG:RWL_T_EXP*/ case 114: YY_RULE_SETUP -#line 468 "rwllexer.l" +#line 469 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EXP; YY_BREAK /*LEXTAG:RWL_T_CEIL*/ case 115: YY_RULE_SETUP -#line 470 "rwllexer.l" +#line 471 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CEIL; YY_BREAK /*LEXTAG:RWL_T_TRUNC*/ case 116: YY_RULE_SETUP -#line 472 "rwllexer.l" +#line 473 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_TRUNC; YY_BREAK /*LEXTAG:RWL_T_FLOOR*/ case 117: YY_RULE_SETUP -#line 474 "rwllexer.l" +#line 475 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FLOOR; YY_BREAK /*LEXTAG:RWL_T_ROUND*/ case 118: YY_RULE_SETUP -#line 476 "rwllexer.l" +#line 477 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ROUND; YY_BREAK /*LEXTAG:RWL_T_STATISTICS*/ case 119: YY_RULE_SETUP -#line 478 "rwllexer.l" +#line 479 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICS; YY_BREAK /*LEXTAG:RWL_T_STATISTICSONLY*/ case 120: YY_RULE_SETUP -#line 480 "rwllexer.l" +#line 481 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STATISTICSONLY; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 121: YY_RULE_SETUP -#line 482 "rwllexer.l" +#line 483 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOSTATISTICS; YY_BREAK /*LEXTAG:RWL_T_SQRT*/ case 122: YY_RULE_SETUP -#line 484 "rwllexer.l" +#line 485 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SQRT; YY_BREAK case 123: YY_RULE_SETUP -#line 485 "rwllexer.l" +#line 486 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SIN; YY_BREAK case 124: YY_RULE_SETUP -#line 486 "rwllexer.l" +#line 487 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_COS; YY_BREAK /*LEXTAG:RWL_T_INSTRB*/ case 125: YY_RULE_SETUP -#line 488 "rwllexer.l" +#line 489 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "instr", "instrb"); if (!rwm->ifdirbit) return RWL_T_INSTRB; @@ -3108,13 +3109,13 @@ YY_RULE_SETUP YY_BREAK case 126: YY_RULE_SETUP -#line 492 "rwllexer.l" +#line 493 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INSTRB; YY_BREAK /*LEXTAG:RWL_T_SUBSTRB*/ case 127: YY_RULE_SETUP -#line 494 "rwllexer.l" +#line 495 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "substr", "substrb"); if (!rwm->ifdirbit) return RWL_T_SUBSTRB; @@ -3123,13 +3124,13 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_SUBSTRB*/ case 128: YY_RULE_SETUP -#line 499 "rwllexer.l" +#line 500 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUBSTRB; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 129: YY_RULE_SETUP -#line 501 "rwllexer.l" +#line 502 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_CURRENTLY_AS, "length", "lengthb"); if (!rwm->ifdirbit) return RWL_T_LENGTHB; @@ -3138,50 +3139,50 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_GETENV*/ case 130: YY_RULE_SETUP -#line 506 "rwllexer.l" +#line 507 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETENV; YY_BREAK /*LEXTAG:RWL_T_SYSTEM*/ case 131: YY_RULE_SETUP -#line 508 "rwllexer.l" +#line 509 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SYSTEM; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 132: YY_RULE_SETUP -#line 510 "rwllexer.l" +#line 511 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LENGTHB; YY_BREAK /*LEXTAG:RWL_T_ERLANG*/ case 133: -#line 513 "rwllexer.l" +#line 514 "rwllexer.l" case 134: YY_RULE_SETUP -#line 513 "rwllexer.l" +#line 514 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG; YY_BREAK /*LEXTAG:RWL_T_LENGTHB*/ case 135: YY_RULE_SETUP -#line 515 "rwllexer.l" +#line 516 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANG2; YY_BREAK /*LEXTAG:RWL_T_ERLANGK*/ case 136: YY_RULE_SETUP -#line 517 "rwllexer.l" +#line 518 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ERLANGK; YY_BREAK /*LEXTAG:RWL_T_ACCESS*/ case 137: YY_RULE_SETUP -#line 519 "rwllexer.l" +#line 520 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ACCESS; YY_BREAK case 138: YY_RULE_SETUP -#line 520 "rwllexer.l" +#line 521 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3190,7 +3191,7 @@ YY_RULE_SETUP YY_BREAK case 139: YY_RULE_SETUP -#line 525 "rwllexer.l" +#line 526 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_GAMMA_TO_ERLANG); @@ -3200,139 +3201,139 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_RUNSECONDS*/ case 140: YY_RULE_SETUP -#line 531 "rwllexer.l" +#line 532 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RUNSECONDS; YY_BREAK /*LEXTAG:RWL_T_EPOCHSECONDS*/ case 141: YY_RULE_SETUP -#line 533 "rwllexer.l" +#line 534 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EPOCHSECONDS; YY_BREAK /*LEXTAG:RWL_T_DBSECONDS*/ case 142: YY_RULE_SETUP -#line 535 "rwllexer.l" +#line 536 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DBSECONDS; YY_BREAK /*LEXTAG:RWL_T_OCISECONDS*/ case 143: YY_RULE_SETUP -#line 537 "rwllexer.l" +#line 538 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OCISECONDS; YY_BREAK /*LEXTAG:RWL_T_GETRUSAGE*/ case 144: YY_RULE_SETUP -#line 539 "rwllexer.l" +#line 540 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GETRUSAGE; YY_BREAK /*LEXTAG:RWL_T_DOUBLE*/ case 145: YY_RULE_SETUP -#line 541 "rwllexer.l" +#line 542 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOUBLE; YY_BREAK /*LEXTAG:RWL_T_INTEGER*/ case 146: YY_RULE_SETUP -#line 543 "rwllexer.l" +#line 544 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_INTEGER; YY_BREAK /*LEXTAG:RWL_T_STRING*/ case 147: YY_RULE_SETUP -#line 545 "rwllexer.l" +#line 546 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_STRING; YY_BREAK /*LEXTAG:RWL_T_RANDOM*/ case 148: YY_RULE_SETUP -#line 547 "rwllexer.l" +#line 548 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RANDOM; YY_BREAK /*LEXTAG:RWL_T_ARRAY*/ case 149: YY_RULE_SETUP -#line 549 "rwllexer.l" +#line 550 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ARRAY; YY_BREAK /*LEXTAG:RWL_T_FILE*/ case 150: YY_RULE_SETUP -#line 551 "rwllexer.l" +#line 552 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FILE; YY_BREAK /*LEXTAG:RWL_T_WRITE*/ case 151: YY_RULE_SETUP -#line 553 "rwllexer.l" +#line 554 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITE; YY_BREAK /*LEXTAG:RWL_T_WRITELINE*/ case 152: YY_RULE_SETUP -#line 555 "rwllexer.l" +#line 556 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WRITELINE; YY_BREAK /*LEXTAG:RWL_T_READLINE*/ case 153: YY_RULE_SETUP -#line 557 "rwllexer.l" +#line 558 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_READLINE; YY_BREAK /*LEXTAG:RWL_T_REGEX*/ case 154: YY_RULE_SETUP -#line 559 "rwllexer.l" +#line 560 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEX; YY_BREAK /*LEXTAG:RWL_T_REGEXSUB*/ case 155: YY_RULE_SETUP -#line 561 "rwllexer.l" +#line 562 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUB; YY_BREAK /*LEXTAG:RWL_T_REGEXSUBG*/ case 156: YY_RULE_SETUP -#line 563 "rwllexer.l" +#line 564 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXSUBG; YY_BREAK /*LEXTAG:RWL_T_REGEXTRACT*/ case 157: YY_RULE_SETUP -#line 565 "rwllexer.l" +#line 566 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_REGEXTRACT; YY_BREAK /*LEXTAG:RWL_T_FFLUSH*/ case 158: YY_RULE_SETUP -#line 567 "rwllexer.l" +#line 568 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FFLUSH; YY_BREAK /*LEXTAG:RWL_T_PRINT*/ case 159: YY_RULE_SETUP -#line 569 "rwllexer.l" +#line 570 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINT; YY_BREAK /*LEXTAG:RWL_T_PRINTLINE*/ case 160: YY_RULE_SETUP -#line 571 "rwllexer.l" +#line 572 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTLINE; YY_BREAK /*LEXTAG:RWL_T_PRINTVAR*/ case 161: YY_RULE_SETUP -#line 573 "rwllexer.l" +#line 574 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PRINTVAR; YY_BREAK /*LEXTAG:RWL_T_IF*/ case 162: YY_RULE_SETUP -#line 575 "rwllexer.l" +#line 576 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3342,61 +3343,61 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_WHEN*/ case 163: YY_RULE_SETUP -#line 581 "rwllexer.l" +#line 582 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHEN; YY_BREAK /*LEXTAG:RWL_T_THEN*/ case 164: YY_RULE_SETUP -#line 583 "rwllexer.l" +#line 584 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_THEN; YY_BREAK /*LEXTAG:RWL_T_ELSE*/ case 165: YY_RULE_SETUP -#line 585 "rwllexer.l" +#line 586 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSE; YY_BREAK /*LEXTAG:RWL_T_ELSEIF*/ case 166: YY_RULE_SETUP -#line 587 "rwllexer.l" +#line 588 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ELSEIF; YY_BREAK /*LEXTAG:RWL_T_WHILE*/ case 167: YY_RULE_SETUP -#line 589 "rwllexer.l" +#line 590 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WHILE; YY_BREAK /*LEXTAG:RWL_T_WAIT*/ case 168: YY_RULE_SETUP -#line 591 "rwllexer.l" +#line 592 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WAIT; YY_BREAK /*LEXTAG:RWL_T_QUEUE*/ case 169: YY_RULE_SETUP -#line 593 "rwllexer.l" +#line 594 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_QUEUE; YY_BREAK /*LEXTAG:RWL_T_NOQUEUE*/ case 170: YY_RULE_SETUP -#line 595 "rwllexer.l" +#line 596 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOQUEUE; YY_BREAK /*LEXTAG:RWL_T_EVERY*/ case 171: YY_RULE_SETUP -#line 597 "rwllexer.l" +#line 598 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_EVERY; YY_BREAK /*LEXTAG:RWL_T_LOOP*/ case 172: YY_RULE_SETUP -#line 599 "rwllexer.l" +#line 600 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3406,25 +3407,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_FOR*/ case 173: YY_RULE_SETUP -#line 605 "rwllexer.l" +#line 606 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_FOR; YY_BREAK /*LEXTAG:RWL_T_ALL*/ case 174: YY_RULE_SETUP -#line 607 "rwllexer.l" +#line 608 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ALL; YY_BREAK /*LEXTAG:RWL_T_SHIFT*/ case 175: YY_RULE_SETUP -#line 609 "rwllexer.l" +#line 610 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SHIFT; YY_BREAK /*LEXTAG:RWL_T_EXECUTE*/ case 176: YY_RULE_SETUP -#line 611 "rwllexer.l" +#line 612 "rwllexer.l" { if (!(bit(rwm->m2flags, RWL_P2_INTHING))) rwm->lexlino = rwm->loc.lineno; @@ -3434,25 +3435,25 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_EXECUTE*/ case 177: YY_RULE_SETUP -#line 617 "rwllexer.l" +#line 618 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_DOTDOT; /* see RWL_T_INTEGER_CONST above */ YY_BREAK /*LEXTAG:RWL_T_NULL*/ case 178: YY_RULE_SETUP -#line 619 "rwllexer.l" +#line 620 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NULL; YY_BREAK /*LEXTAG:RWL_T_SUM*/ case 179: YY_RULE_SETUP -#line 621 "rwllexer.l" +#line 622 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SUM; YY_BREAK /*LEXTAG:RWL_T_ISNULL*/ case 180: YY_RULE_SETUP -#line 623 "rwllexer.l" +#line 624 "rwllexer.l" { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_ISNULL_DEPRECATED); @@ -3462,57 +3463,57 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IS*/ case 181: YY_RULE_SETUP -#line 629 "rwllexer.l" +#line 630 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_IS; YY_BREAK case 182: YY_RULE_SETUP -#line 630 "rwllexer.l" +#line 631 "rwllexer.l" if (!rwm->ifdirbit) return '+'; YY_BREAK case 183: YY_RULE_SETUP -#line 631 "rwllexer.l" +#line 632 "rwllexer.l" if (!rwm->ifdirbit) return '-'; YY_BREAK case 184: YY_RULE_SETUP -#line 632 "rwllexer.l" +#line 633 "rwllexer.l" if (!rwm->ifdirbit) return '*'; YY_BREAK case 185: YY_RULE_SETUP -#line 633 "rwllexer.l" +#line 634 "rwllexer.l" if (!rwm->ifdirbit) return '/'; YY_BREAK case 186: YY_RULE_SETUP -#line 634 "rwllexer.l" +#line 635 "rwllexer.l" if (!rwm->ifdirbit) return '%'; YY_BREAK case 187: YY_RULE_SETUP -#line 635 "rwllexer.l" +#line 636 "rwllexer.l" if (!rwm->ifdirbit) return '('; YY_BREAK case 188: YY_RULE_SETUP -#line 636 "rwllexer.l" +#line 637 "rwllexer.l" if (!rwm->ifdirbit) return ')'; YY_BREAK case 189: YY_RULE_SETUP -#line 637 "rwllexer.l" +#line 638 "rwllexer.l" if (!rwm->ifdirbit) return ','; YY_BREAK case 190: YY_RULE_SETUP -#line 638 "rwllexer.l" +#line 639 "rwllexer.l" if (!rwm->ifdirbit) return '='; YY_BREAK case 191: YY_RULE_SETUP -#line 639 "rwllexer.l" +#line 640 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_EQUALEQUAL, rwm->rwlytext); if (!rwm->ifdirbit) return '='; @@ -3520,190 +3521,190 @@ YY_RULE_SETUP YY_BREAK case 192: YY_RULE_SETUP -#line 643 "rwllexer.l" +#line 644 "rwllexer.l" if (!rwm->ifdirbit) return '<'; YY_BREAK case 193: YY_RULE_SETUP -#line 644 "rwllexer.l" +#line 645 "rwllexer.l" if (!rwm->ifdirbit) return '>'; YY_BREAK case 194: YY_RULE_SETUP -#line 645 "rwllexer.l" +#line 646 "rwllexer.l" if (!rwm->ifdirbit) return '!'; YY_BREAK case 195: YY_RULE_SETUP -#line 646 "rwllexer.l" +#line 647 "rwllexer.l" if (!rwm->ifdirbit) return '?'; YY_BREAK case 196: YY_RULE_SETUP -#line 647 "rwllexer.l" +#line 648 "rwllexer.l" if (!rwm->ifdirbit) return ':'; YY_BREAK /*LEXTAG:RWL_T_NOT*/ case 197: YY_RULE_SETUP -#line 649 "rwllexer.l" +#line 650 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOT; YY_BREAK /*LEXTAG:RWL_T_AND*/ case 198: YY_RULE_SETUP -#line 651 "rwllexer.l" +#line 652 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_AND; YY_BREAK /*LEXTAG:RWL_T_BETWEEN*/ case 199: YY_RULE_SETUP -#line 653 "rwllexer.l" +#line 654 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BETWEEN; YY_BREAK /*LEXTAG:RWL_T_OR*/ case 200: YY_RULE_SETUP -#line 655 "rwllexer.l" +#line 656 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_OR; YY_BREAK /*LEXTAG:RWL_T_LESSEQ*/ case 201: YY_RULE_SETUP -#line 657 "rwllexer.l" +#line 658 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_LESSEQ; YY_BREAK /*LEXTAG:RWL_T_GREATEQ*/ case 202: YY_RULE_SETUP -#line 659 "rwllexer.l" +#line 660 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_GREATEQ; YY_BREAK /*LEXTAG:RWL_T_RSHIFTASSIGN*/ case 203: YY_RULE_SETUP -#line 661 "rwllexer.l" +#line 662 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_RSHIFTASSIGN; YY_BREAK /*LEXTAG:RWL_T_NOTEQ*/ case 204: YY_RULE_SETUP -#line 663 "rwllexer.l" +#line 664 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK case 205: YY_RULE_SETUP -#line 664 "rwllexer.l" +#line 665 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_NOTEQ; YY_BREAK /*LEXTAG:RWL_T_ASSIGN*/ case 206: YY_RULE_SETUP -#line 666 "rwllexer.l" +#line 667 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASSIGN; YY_BREAK /*LEXTAG:RWL_T_ASNADD*/ case 207: YY_RULE_SETUP -#line 668 "rwllexer.l" +#line 669 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNADD; YY_BREAK /*LEXTAG:RWL_T_ASBSUB*/ case 208: YY_RULE_SETUP -#line 670 "rwllexer.l" +#line 671 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNSUB; YY_BREAK /*LEXTAG:RWL_T_ASNBIC*/ case 209: YY_RULE_SETUP -#line 672 "rwllexer.l" +#line 673 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNBIS; YY_BREAK /*LEXTAG:RWL_T_CONBIS*/ case 210: YY_RULE_SETUP -#line 674 "rwllexer.l" +#line 675 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ASNBIC; YY_BREAK /*LEXTAG:RWL_T_CONCAT*/ case 211: YY_RULE_SETUP -#line 676 "rwllexer.l" +#line 677 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_CONCAT; YY_BREAK /*LEXTAG:RWL_T_PIPETO*/ case 212: YY_RULE_SETUP -#line 678 "rwllexer.l" +#line 679 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPETO; YY_BREAK /*LEXTAG:RWL_T_PIPEFROM*/ case 213: YY_RULE_SETUP -#line 680 "rwllexer.l" +#line 681 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_PIPEFROM; YY_BREAK /*LEXTAG:RWL_T_APPEND*/ case 214: YY_RULE_SETUP -#line 682 "rwllexer.l" +#line 683 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_APPEND; YY_BREAK case 215: YY_RULE_SETUP -#line 683 "rwllexer.l" +#line 684 "rwllexer.l" if (!rwm->ifdirbit) return '~'; YY_BREAK /*LEXTAG:RWL_T_BITWISE_LEFT_SHIFT*/ case 216: YY_RULE_SETUP -#line 685 "rwllexer.l" +#line 686 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BITWISE_LEFT_SHIFT; YY_BREAK /*LEXTAG:RWL_T_BITWISE_RIGHT_SHIFT*/ case 217: YY_RULE_SETUP -#line 687 "rwllexer.l" +#line 688 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_BITWISE_RIGHT_SHIFT; YY_BREAK case 218: YY_RULE_SETUP -#line 688 "rwllexer.l" +#line 689 "rwllexer.l" if (!rwm->ifdirbit) return '&'; YY_BREAK case 219: YY_RULE_SETUP -#line 689 "rwllexer.l" +#line 690 "rwllexer.l" if (!rwm->ifdirbit) return '^'; YY_BREAK case 220: YY_RULE_SETUP -#line 690 "rwllexer.l" +#line 691 "rwllexer.l" if (!rwm->ifdirbit) return '|'; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2B*/ case 221: YY_RULE_SETUP -#line 692 "rwllexer.l" +#line 693 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2B; YY_BREAK /*LEXTAG:RWL_T_WINSLASHF2BB*/ case 222: YY_RULE_SETUP -#line 694 "rwllexer.l" +#line 695 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_WINSLASHF2BB; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 223: YY_RULE_SETUP -#line 696 "rwllexer.l" +#line 697 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_SERVERRELEASE; YY_BREAK /*LEXTAG:RWL_T_SQL_ID*/ case 224: YY_RULE_SETUP -#line 698 "rwllexer.l" +#line 699 "rwllexer.l" { # ifndef RWL_USE_SQL_ID rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3714,7 +3715,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_OPENSESSIONCOUNT*/ case 225: YY_RULE_SETUP -#line 705 "rwllexer.l" +#line 706 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_OPENSESSIONCOUNT; } @@ -3722,7 +3723,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ACTIVESESSIONCOUNT*/ case 226: YY_RULE_SETUP -#line 709 "rwllexer.l" +#line 710 "rwllexer.l" { if (!rwm->ifdirbit) return RWL_T_ACTIVESESSIONCOUNT; } @@ -3730,7 +3731,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_QUERYNOTIFICATION*/ case 227: YY_RULE_SETUP -#line 713 "rwllexer.l" +#line 714 "rwllexer.l" { #ifndef RWL_USE_CQN rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); @@ -3741,12 +3742,12 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_ATAN2*/ case 228: YY_RULE_SETUP -#line 720 "rwllexer.l" +#line 721 "rwllexer.l" if (!rwm->ifdirbit) return RWL_T_ATAN2; YY_BREAK case 229: YY_RULE_SETUP -#line 722 "rwllexer.l" +#line 723 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); // return something so compilation continues @@ -3754,22 +3755,22 @@ YY_RULE_SETUP } YY_BREAK case 230: -#line 729 "rwllexer.l" +#line 730 "rwllexer.l" case 231: YY_RULE_SETUP -#line 729 "rwllexer.l" +#line 730 "rwllexer.l" { // note that "--" is the beginning of RWL_T_SQL_TEXT rwlerror(rwm, RWL_ERROR_THIS_IS_NOT_C, rwm->rwlytext); } YY_BREAK case 232: -#line 734 "rwllexer.l" -case 233: #line 735 "rwllexer.l" +case 233: +#line 736 "rwllexer.l" case 234: YY_RULE_SETUP -#line 735 "rwllexer.l" +#line 736 "rwllexer.l" { rwlerror(rwm, RWL_ERROR_NOT_YET_IMPL, rwm->rwlytext); // return something so compilation continues @@ -3777,16 +3778,16 @@ YY_RULE_SETUP } YY_BREAK case 235: -#line 742 "rwllexer.l" -case 236: #line 743 "rwllexer.l" -case 237: +case 236: #line 744 "rwllexer.l" -case 238: +case 237: #line 745 "rwllexer.l" +case 238: +#line 746 "rwllexer.l" case 239: YY_RULE_SETUP -#line 745 "rwllexer.l" +#line 746 "rwllexer.l" { bic(rwm->m3flags, RWL_P3_WARNSQLKW); if (!rwm->ifdirbit) @@ -3801,7 +3802,7 @@ YY_RULE_SETUP /*LEXTAG:RWL_T_IDENTIFIER*/ case 240: YY_RULE_SETUP -#line 757 "rwllexer.l" +#line 758 "rwllexer.l" { /* previnam is used when the parser has been doing @@ -3820,10 +3821,9 @@ YY_RULE_SETUP sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); bic(rwm->mxq->tflags, RWL_P_FINDVAR_NOERR); if (l>=0 && (RWL_TYPE_PROC == rwm->mxq->evar[l].vtype || RWL_TYPE_RAPROC == rwm->mxq->evar[l].vtype)) - { return RWL_T_PROCEDURENAME; - } - return RWL_T_IDENTIFIER; + else + return RWL_T_IDENTIFIER; } } YY_BREAK diff --git a/src/rwllexer.l b/src/rwllexer.l index 85b31165..d21150af 100644 --- a/src/rwllexer.l +++ b/src/rwllexer.l @@ -11,6 +11,7 @@ * * History * + * mkdash 24-oct-2024 - implement bash like procedure calls * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments * bengsig 29-aug-2024 - string->integer can be hex * obakhir 9-aug-2024 - Add hexadecimal integers @@ -772,10 +773,9 @@ sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); bic(rwm->mxq->tflags, RWL_P_FINDVAR_NOERR); if (l>=0 && (RWL_TYPE_PROC == rwm->mxq->evar[l].vtype || RWL_TYPE_RAPROC == rwm->mxq->evar[l].vtype)) - { return RWL_T_PROCEDURENAME; - } - return RWL_T_IDENTIFIER; + else + return RWL_T_IDENTIFIER; } } diff --git a/src/rwlparser.tab.c b/src/rwlparser.tab.c index 2da5581f..dc02671a 100644 --- a/src/rwlparser.tab.c +++ b/src/rwlparser.tab.c @@ -69,7 +69,7 @@ /* Copy the first part of user declarations. */ -#line 162 "rwlparser.y" /* yacc.c:339 */ +#line 163 "rwlparser.y" /* yacc.c:339 */ #include "rwl.h" @@ -587,7 +587,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 481 "rwlparser.y" /* yacc.c:355 */ +#line 482 "rwlparser.y" /* yacc.c:355 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets @@ -931,75 +931,75 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 543, 543, 550, 554, 556, 555, 571, 572, 573, - 575, 578, 585, 587, 604, 603, 613, 612, 621, 620, - 630, 629, 639, 644, 653, 654, 658, 657, 664, 669, - 677, 678, 682, 681, 689, 688, 761, 766, 767, 779, - 780, 783, 784, 787, 797, 802, 810, 823, 854, 865, - 877, 876, 892, 902, 901, 919, 929, 939, 949, 962, - 963, 966, 974, 984, 995, 1010, 1011, 1015, 1016, 1017, - 1020, 1044, 1068, 1080, 1082, 1081, 1094, 1095, 1100, 1104, - 1111, 1125, 1142, 1149, 1156, 1157, 1161, 1162, 1165, 1178, - 1177, 1229, 1241, 1240, 1261, 1266, 1273, 1278, 1285, 1371, - 1372, 1376, 1385, 1386, 1390, 1391, 1394, 1395, 1396, 1400, - 1401, 1405, 1433, 1435, 1437, 1439, 1454, 1459, 1464, 1472, - 1473, 1475, 1477, 1496, 1498, 1497, 1513, 1512, 1528, 1527, - 1543, 1586, 1600, 1614, 1628, 1640, 1644, 1645, 1646, 1647, - 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, - 1658, 1660, 1662, 1664, 1666, 1667, 1670, 1673, 1674, 1678, - 1683, 1684, 1685, 1687, 1689, 1690, 1692, 1703, 1714, 1718, - 1724, 1728, 1734, 1738, 1744, 1749, 1753, 1761, 1759, 1786, - 1790, 1794, 1800, 1806, 1810, 1811, 1815, 1816, 1820, 1825, - 1826, 1827, 1832, 1833, 1834, 1835, 1836, 1840, 1841, 1842, - 1843, 1847, 1848, 1849, 1852, 1853, 1854, 1858, 1859, 1860, - 1861, 1862, 1863, 1867, 1868, 1869, 1873, 1874, 1878, 1879, - 1883, 1884, 1888, 1890, 1889, 1907, 1909, 1908, 1924, 1926, - 1935, 1925, 1950, 1951, 1955, 1956, 1966, 1967, 1971, 1979, - 1982, 1981, 1988, 1991, 1990, 1994, 1996, 1998, 2000, 2003, - 2009, 2038, 2053, 2066, 2068, 2069, 2073, 2075, 2079, 2081, - 2086, 2085, 2092, 2091, 2103, 2108, 2107, 2115, 2119, 2143, - 2169, 2167, 2195, 2193, 2304, 2313, 2312, 2316, 2315, 2320, - 2326, 2325, 2335, 2334, 2343, 2356, 2361, 2355, 2389, 2397, - 2402, 2396, 2431, 2438, 2454, 2453, 2466, 2482, 2493, 2499, - 2505, 2517, 2529, 2539, 2549, 2548, 2561, 2565, 2570, 2574, - 2581, 2597, 2599, 2601, 2601, 2602, 2605, 2607, 2609, 2606, - 2611, 2615, 2614, 2731, 2764, 2772, 2797, 2771, 2849, 2850, - 2851, 2852, 2854, 2855, 2863, 2864, 2872, 2873, 2882, 2885, - 2884, 2893, 2895, 2903, 2911, 2920, 2928, 2930, 2937, 2938, - 2949, 2985, 3022, 3063, 3080, 3062, 3122, 3129, 3136, 3174, - 3263, 3262, 3294, 3295, 3303, 3302, 3350, 3352, 3351, 3361, - 3512, 3511, 3659, 3665, 3668, 3684, 3688, 3692, 3699, 3700, - 3704, 3704, 3718, 3718, 3734, 3734, 3750, 3750, 3764, 3764, - 3795, 3796, 3797, 3800, 3806, 3805, 3815, 3814, 3832, 3831, - 3879, 3894, 3903, 3878, 3940, 3948, 3949, 3949, 3962, 3961, - 3968, 3969, 3970, 3976, 3977, 3981, 3985, 3993, 3997, 4001, - 4009, 4010, 4016, 4022, 4024, 4027, 4028, 4033, 4032, 4134, - 4136, 4135, 4190, 4194, 4198, 4199, 4203, 4218, 4227, 4242, - 4251, 4255, 4261, 4278, 4285, 4295, 4296, 4297, 4301, 4302, - 4318, 4328, 4334, 4342, 4348, 4356, 4362, 4370, 4375, 4382, - 4383, 4384, 4388, 4389, 4388, 4399, 4403, 4404, 4403, 4413, - 4420, 4421, 4424, 4424, 4505, 4503, 4517, 4594, 4691, 4692, - 4696, 4697, 4700, 4701, 4704, 4705, 4708, 4712, 4716, 4720, - 4739, 4745, 4747, 4750, 4751, 4760, 4761, 4766, 4765, 4774, - 4784, 4785, 4789, 4789, 4791, 4790, 4799, 4798, 4802, 4809, - 4810, 4814, 4814, 4816, 4815, 4822, 4821, 4825, 4834, 4930, - 4935, 4940, 4941, 4944, 4961, 4978, 4995, 5018, 5018, 5049, - 5070, 5070, 5093, 5092, 5108, 5107, 5123, 5122, 5139, 5140, - 5143, 5145, 5143, 5199, 5230, 5229, 5266, 5267, 5275, 5274, - 5298, 5299, 5303, 5302, 5341, 5340, 5363, 5363, 5390, 5391, - 5394, 5415, 5437, 5461, 5466, 5474, 5475, 5475, 5479, 5540, - 5575, 5590, 5639, 5648, 5649, 5657, 5658, 5659, 5660, 5661, - 5662, 5665, 5666, 5667, 5668, 5669, 5670, 5677, 5684, 5675, - 5710, 5710, 5723, 5736, 5737, 5741, 5754, 5755, 5762, 5767, - 5774, 5775, 5776, 5781, 5782, 5783, 5788, 5789, 5790, 5795, - 5796, 5797, 5802, 5807, 5808, 5819, 5830, 5841, 5845, 5852, - 5853, 5910, 5916, 5915, 6003, 6002, 6046, 6054, 6056, 6060, - 6064, 6053, 6106, 6115, 6119, 6126, 6128, 6132, 6125, 6170, - 6180, 6182, 6186, 6179, 6224, 6233, 6234, 6237, 6280, 6289, - 6315, 6314, 6345, 6351, 6352, 6355, 6356, 6360, 6365, 6390, - 6399, 6451, 6476, 6504, 6359, 6512, 6513, 6514, 6522, 6523, - 6531, 6549, 6530, 6553, 6557, 6558, 6565, 6566, 6567, 6573, - 6574, 6575, 6580, 6581, 6582, 6583, 6584, 6585, 6586 + 0, 544, 544, 551, 555, 557, 556, 572, 573, 574, + 576, 579, 586, 588, 605, 604, 614, 613, 622, 621, + 631, 630, 640, 645, 654, 655, 659, 658, 665, 670, + 678, 679, 683, 682, 690, 689, 762, 767, 768, 780, + 781, 784, 785, 788, 798, 803, 811, 824, 855, 866, + 878, 877, 893, 903, 902, 920, 930, 940, 950, 963, + 964, 967, 975, 985, 996, 1011, 1012, 1016, 1017, 1018, + 1021, 1045, 1069, 1081, 1083, 1082, 1095, 1096, 1101, 1105, + 1112, 1126, 1143, 1150, 1157, 1158, 1162, 1163, 1166, 1179, + 1178, 1230, 1242, 1241, 1262, 1267, 1274, 1279, 1286, 1372, + 1373, 1377, 1386, 1387, 1391, 1392, 1395, 1396, 1397, 1401, + 1402, 1406, 1434, 1436, 1438, 1440, 1455, 1460, 1465, 1473, + 1474, 1476, 1478, 1497, 1499, 1498, 1514, 1513, 1529, 1528, + 1544, 1587, 1601, 1615, 1629, 1641, 1645, 1646, 1647, 1648, + 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, + 1659, 1661, 1663, 1665, 1667, 1668, 1671, 1674, 1675, 1679, + 1684, 1685, 1686, 1688, 1690, 1691, 1693, 1704, 1715, 1719, + 1725, 1729, 1735, 1739, 1745, 1750, 1754, 1762, 1760, 1787, + 1791, 1795, 1801, 1807, 1811, 1812, 1816, 1817, 1821, 1826, + 1827, 1828, 1833, 1834, 1835, 1836, 1837, 1841, 1842, 1843, + 1844, 1848, 1849, 1850, 1853, 1854, 1855, 1859, 1860, 1861, + 1862, 1863, 1864, 1868, 1869, 1870, 1874, 1875, 1879, 1880, + 1884, 1885, 1889, 1891, 1890, 1908, 1910, 1909, 1925, 1927, + 1936, 1926, 1951, 1952, 1956, 1957, 1967, 1968, 1972, 1980, + 1983, 1982, 1989, 1992, 1991, 1995, 1997, 1999, 2001, 2004, + 2010, 2039, 2054, 2067, 2069, 2070, 2074, 2076, 2080, 2082, + 2087, 2086, 2093, 2092, 2104, 2109, 2108, 2116, 2120, 2144, + 2170, 2168, 2196, 2194, 2305, 2314, 2313, 2317, 2316, 2321, + 2327, 2326, 2336, 2335, 2344, 2357, 2362, 2356, 2390, 2398, + 2403, 2397, 2432, 2439, 2455, 2454, 2467, 2483, 2494, 2500, + 2506, 2518, 2530, 2540, 2550, 2549, 2562, 2566, 2571, 2575, + 2582, 2598, 2600, 2602, 2602, 2603, 2606, 2608, 2610, 2607, + 2612, 2616, 2615, 2732, 2765, 2773, 2798, 2772, 2850, 2851, + 2852, 2853, 2855, 2856, 2864, 2865, 2873, 2874, 2883, 2886, + 2885, 2894, 2896, 2904, 2912, 2921, 2929, 2931, 2938, 2939, + 2950, 2986, 3023, 3064, 3081, 3063, 3123, 3130, 3137, 3175, + 3264, 3263, 3295, 3296, 3304, 3303, 3351, 3353, 3352, 3362, + 3513, 3512, 3660, 3666, 3669, 3685, 3689, 3693, 3700, 3701, + 3705, 3705, 3719, 3719, 3735, 3735, 3751, 3751, 3765, 3765, + 3796, 3797, 3798, 3801, 3807, 3806, 3816, 3815, 3833, 3832, + 3880, 3895, 3904, 3879, 3941, 3949, 3950, 3950, 3963, 3962, + 3969, 3970, 3971, 3977, 3978, 3982, 3986, 3994, 3998, 4002, + 4010, 4011, 4017, 4023, 4025, 4028, 4029, 4034, 4033, 4135, + 4137, 4136, 4191, 4195, 4199, 4200, 4204, 4219, 4228, 4243, + 4252, 4256, 4262, 4279, 4286, 4296, 4297, 4298, 4302, 4303, + 4319, 4329, 4335, 4343, 4349, 4357, 4363, 4371, 4376, 4383, + 4384, 4385, 4389, 4390, 4389, 4400, 4404, 4405, 4404, 4414, + 4421, 4422, 4425, 4425, 4506, 4504, 4518, 4595, 4692, 4693, + 4697, 4698, 4701, 4702, 4705, 4706, 4709, 4713, 4717, 4721, + 4740, 4746, 4748, 4751, 4752, 4761, 4762, 4767, 4766, 4775, + 4785, 4786, 4790, 4790, 4792, 4791, 4800, 4799, 4803, 4810, + 4811, 4815, 4815, 4817, 4816, 4823, 4822, 4826, 4835, 4931, + 4936, 4941, 4942, 4945, 4962, 4979, 4996, 5019, 5019, 5050, + 5071, 5071, 5094, 5093, 5109, 5108, 5124, 5123, 5140, 5141, + 5144, 5146, 5144, 5200, 5231, 5230, 5267, 5268, 5276, 5275, + 5299, 5300, 5304, 5303, 5342, 5341, 5364, 5364, 5391, 5392, + 5395, 5416, 5438, 5462, 5467, 5475, 5476, 5476, 5480, 5541, + 5576, 5591, 5640, 5649, 5650, 5658, 5659, 5660, 5661, 5662, + 5663, 5666, 5667, 5668, 5669, 5670, 5671, 5678, 5685, 5676, + 5711, 5711, 5724, 5737, 5738, 5742, 5755, 5756, 5763, 5768, + 5775, 5776, 5777, 5782, 5783, 5784, 5789, 5790, 5791, 5796, + 5797, 5798, 5803, 5808, 5809, 5820, 5831, 5842, 5846, 5853, + 5854, 5911, 5917, 5916, 6004, 6003, 6047, 6055, 6057, 6061, + 6065, 6054, 6107, 6116, 6120, 6127, 6129, 6133, 6126, 6171, + 6181, 6183, 6187, 6180, 6225, 6234, 6235, 6238, 6281, 6290, + 6316, 6315, 6346, 6352, 6353, 6356, 6357, 6361, 6366, 6391, + 6400, 6452, 6477, 6505, 6360, 6513, 6514, 6515, 6523, 6524, + 6532, 6550, 6531, 6554, 6558, 6559, 6566, 6567, 6568, 6574, + 6575, 6576, 6581, 6582, 6583, 6584, 6585, 6586, 6587 }; #endif @@ -3661,7 +3661,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); switch (yyn) { case 2: -#line 544 "rwlparser.y" /* yacc.c:1646 */ +#line 545 "rwlparser.y" /* yacc.c:1646 */ { ; // we are done! } @@ -3669,13 +3669,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 3: -#line 550 "rwlparser.y" /* yacc.c:1646 */ +#line 551 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) YYABORT; } #line 3675 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 5: -#line 556 "rwlparser.y" /* yacc.c:1646 */ +#line 557 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) @@ -3685,7 +3685,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 6: -#line 562 "rwlparser.y" /* yacc.c:1646 */ +#line 563 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_INTHING); if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) @@ -3695,13 +3695,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 10: -#line 577 "rwlparser.y" /* yacc.c:1646 */ +#line 578 "rwlparser.y" /* yacc.c:1646 */ { rwlprintallvars(rwm); } #line 3701 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 13: -#line 588 "rwlparser.y" /* yacc.c:1646 */ +#line 589 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) rwlcodetail(rwm); @@ -3720,7 +3720,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 14: -#line 604 "rwlparser.y" /* yacc.c:1646 */ +#line 605 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3732,7 +3732,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 16: -#line 613 "rwlparser.y" /* yacc.c:1646 */ +#line 614 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3743,7 +3743,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 18: -#line 621 "rwlparser.y" /* yacc.c:1646 */ +#line 622 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -3755,7 +3755,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 20: -#line 630 "rwlparser.y" /* yacc.c:1646 */ +#line 631 "rwlparser.y" /* yacc.c:1646 */ { rwm->raname = rwm->inam; rwm->ravarn = rwladdvar(rwm, rwm->inam, RWL_TYPE_RAPROC, 0); @@ -3765,7 +3765,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 22: -#line 641 "rwlparser.y" /* yacc.c:1646 */ +#line 642 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } @@ -3773,7 +3773,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 23: -#line 645 "rwlparser.y" /* yacc.c:1646 */ +#line 646 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); @@ -3784,19 +3784,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 26: -#line 658 "rwlparser.y" /* yacc.c:1646 */ +#line 659 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->sval; } #line 3790 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 27: -#line 660 "rwlparser.y" /* yacc.c:1646 */ +#line 661 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } #line 3796 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 28: -#line 666 "rwlparser.y" /* yacc.c:1646 */ +#line 667 "rwlparser.y" /* yacc.c:1646 */ { rwlrastfin(rwm, rwm->raname, (sb4) rwm->ravarn); } @@ -3804,7 +3804,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 29: -#line 670 "rwlparser.y" /* yacc.c:1646 */ +#line 671 "rwlparser.y" /* yacc.c:1646 */ { rwlcancelvar(rwm, rwm->raname, (sb4) rwm->ravarn); rwlrastclear(rwm); @@ -3815,19 +3815,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 32: -#line 682 "rwlparser.y" /* yacc.c:1646 */ +#line 683 "rwlparser.y" /* yacc.c:1646 */ {rwm->raentry = rwm->inam; } #line 3821 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 33: -#line 684 "rwlparser.y" /* yacc.c:1646 */ +#line 685 "rwlparser.y" /* yacc.c:1646 */ {rwlrastadd(rwm, rwm->raentry, rwm->pval.dval); } #line 3827 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 34: -#line 689 "rwlparser.y" /* yacc.c:1646 */ +#line 690 "rwlparser.y" /* yacc.c:1646 */ { // add identifier sb4 ld = rwladdvar(rwm, rwm->inam, RWL_TYPE_DB, 0); @@ -3848,7 +3848,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 35: -#line 706 "rwlparser.y" /* yacc.c:1646 */ +#line 707 "rwlparser.y" /* yacc.c:1646 */ { // fix core dump, only call builddb if everything fine if (bit(rwm->m2flags, RWL_P2_SOMEEXPFAIL)) @@ -3908,13 +3908,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 36: -#line 762 "rwlparser.y" /* yacc.c:1646 */ +#line 763 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DATABASE_WRONG); yyerrok; } #line 3914 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 38: -#line 768 "rwlparser.y" /* yacc.c:1646 */ +#line 769 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3928,7 +3928,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 43: -#line 788 "rwlparser.y" /* yacc.c:1646 */ +#line 789 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3942,7 +3942,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 44: -#line 798 "rwlparser.y" /* yacc.c:1646 */ +#line 799 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) rwm->dbsav->password = rwlstrdup(rwm, rwm->pval.sval); @@ -3951,7 +3951,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 45: -#line 803 "rwlparser.y" /* yacc.c:1646 */ +#line 804 "rwlparser.y" /* yacc.c:1646 */ { if (rwlcclassgood(rwm, (rwm->pval.sval))) { @@ -3963,7 +3963,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 46: -#line 811 "rwlparser.y" /* yacc.c:1646 */ +#line 812 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -3980,7 +3980,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 47: -#line 824 "rwlparser.y" /* yacc.c:1646 */ +#line 825 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4015,7 +4015,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 48: -#line 855 "rwlparser.y" /* yacc.c:1646 */ +#line 856 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "results", rwm->resdb); @@ -4030,7 +4030,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 49: -#line 866 "rwlparser.y" /* yacc.c:1646 */ +#line 867 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlerror(rwm, RWL_ERROR_DBALREADY, "default", rwm->defdb); @@ -4045,7 +4045,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 50: -#line 877 "rwlparser.y" /* yacc.c:1646 */ +#line 878 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4063,7 +4063,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 52: -#line 893 "rwlparser.y" /* yacc.c:1646 */ +#line 894 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4076,7 +4076,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 53: -#line 902 "rwlparser.y" /* yacc.c:1646 */ +#line 903 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4095,7 +4095,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 55: -#line 920 "rwlparser.y" /* yacc.c:1646 */ +#line 921 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4109,7 +4109,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 56: -#line 930 "rwlparser.y" /* yacc.c:1646 */ +#line 931 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4123,7 +4123,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 57: -#line 940 "rwlparser.y" /* yacc.c:1646 */ +#line 941 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4137,7 +4137,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 58: -#line 950 "rwlparser.y" /* yacc.c:1646 */ +#line 951 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4151,7 +4151,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 61: -#line 967 "rwlparser.y" /* yacc.c:1646 */ +#line 968 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "statemark",RWL_OCI_VERSION); @@ -4163,7 +4163,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 62: -#line 975 "rwlparser.y" /* yacc.c:1646 */ +#line 976 "rwlparser.y" /* yacc.c:1646 */ { #if (RWL_OCI_VERSION<12) rwlerror(rwm, RWL_ERROR_NOT_SUPPORTED_IN_VERSION, "requestmark",RWL_OCI_VERSION); @@ -4175,7 +4175,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 63: -#line 985 "rwlparser.y" /* yacc.c:1646 */ +#line 986 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4190,7 +4190,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 64: -#line 996 "rwlparser.y" /* yacc.c:1646 */ +#line 997 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4206,9 +4206,9 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 70: -#line 1021 "rwlparser.y" /* yacc.c:1646 */ +#line 1022 "rwlparser.y" /* yacc.c:1646 */ { -#if (OCI_MAJOR_VERSION > 12) +#if (RWL_OCI_VERSION > 12) if (rwm->dbsav) { if (RWL_DBPOOL_CONNECT==rwm->dbsav->pooltype) @@ -4231,9 +4231,9 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 71: -#line 1045 "rwlparser.y" /* yacc.c:1646 */ +#line 1046 "rwlparser.y" /* yacc.c:1646 */ { -#if (OCI_MAJOR_VERSION > 12) +#if (RWL_OCI_VERSION > 12) if (rwm->dbsav) { if (RWL_DBPOOL_CONNECT==rwm->dbsav->pooltype) @@ -4256,7 +4256,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 72: -#line 1069 "rwlparser.y" /* yacc.c:1646 */ +#line 1070 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav) { @@ -4269,9 +4269,9 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 74: -#line 1082 "rwlparser.y" /* yacc.c:1646 */ +#line 1083 "rwlparser.y" /* yacc.c:1646 */ { -#if (OCI_MAJOR_VERSION >= 12) +#if (RWL_OCI_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) rwm->dbsav->wtimeout = rwm->pval.dval; #else @@ -4282,7 +4282,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 77: -#line 1096 "rwlparser.y" /* yacc.c:1646 */ +#line 1097 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4291,7 +4291,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 80: -#line 1112 "rwlparser.y" /* yacc.c:1646 */ +#line 1113 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->dbsav && rwm->pval.dval >= 0) bis(rwm->dbsav->flags, RWL_DB_SPTOBREAK); @@ -4306,7 +4306,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 81: -#line 1126 "rwlparser.y" /* yacc.c:1646 */ +#line 1127 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; @@ -4322,7 +4322,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 82: -#line 1143 "rwlparser.y" /* yacc.c:1646 */ +#line 1144 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } @@ -4330,7 +4330,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 83: -#line 1150 "rwlparser.y" /* yacc.c:1646 */ +#line 1151 "rwlparser.y" /* yacc.c:1646 */ { rwlexprimmed(rwm); } @@ -4338,7 +4338,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 88: -#line 1166 "rwlparser.y" /* yacc.c:1646 */ +#line 1167 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4354,7 +4354,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 89: -#line 1178 "rwlparser.y" /* yacc.c:1646 */ +#line 1179 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_FUNC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) // e.g. out of space @@ -4373,7 +4373,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 90: -#line 1194 "rwlparser.y" /* yacc.c:1646 */ +#line 1195 "rwlparser.y" /* yacc.c:1646 */ { /* codeguess was set en rwlcodeaddp */ if (rwm->codeguess>=0 && rwm->dtype) @@ -4409,7 +4409,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 91: -#line 1230 "rwlparser.y" /* yacc.c:1646 */ +#line 1231 "rwlparser.y" /* yacc.c:1646 */ { // start building a dummy procedure we never execute rwm->totthr = 0; @@ -4424,7 +4424,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 92: -#line 1241 "rwlparser.y" /* yacc.c:1646 */ +#line 1242 "rwlparser.y" /* yacc.c:1646 */ { rwm->codeguess=rwladdvar(rwm, rwm->inam, RWL_TYPE_PROC, rwm->addvarbits); if (!bit(rwm->mxq->errbits,RWL_ERROR_SEVERE)) /* e.g. out of space */ @@ -4440,7 +4440,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 93: -#line 1254 "rwlparser.y" /* yacc.c:1646 */ +#line 1255 "rwlparser.y" /* yacc.c:1646 */ { rwm->mxq->evar[rwm->codeguess].v2val = rwm->facnt; rwm->supsemerr = RWL_SUPSEM_PROC; @@ -4449,7 +4449,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 94: -#line 1262 "rwlparser.y" /* yacc.c:1646 */ +#line 1263 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -4458,7 +4458,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 95: -#line 1267 "rwlparser.y" /* yacc.c:1646 */ +#line 1268 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } @@ -4466,7 +4466,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 96: -#line 1274 "rwlparser.y" /* yacc.c:1646 */ +#line 1275 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -4475,7 +4475,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 97: -#line 1279 "rwlparser.y" /* yacc.c:1646 */ +#line 1280 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } @@ -4483,7 +4483,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 98: -#line 1286 "rwlparser.y" /* yacc.c:1646 */ +#line 1287 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_BNOXPROC|RWL_P3_BNOXFUNC)) { @@ -4570,7 +4570,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 101: -#line 1377 "rwlparser.y" /* yacc.c:1646 */ +#line 1378 "rwlparser.y" /* yacc.c:1646 */ { sb4 l = rwlfindvar(rwm->mxq, rwm->inam, RWL_VAR_NOGUESS); if (l>=0) @@ -4580,25 +4580,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 104: -#line 1390 "rwlparser.y" /* yacc.c:1646 */ +#line 1391 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_MISBRACK); } #line 4586 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 105: -#line 1391 "rwlparser.y" /* yacc.c:1646 */ +#line 1392 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_MISBRACK); } #line 4592 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 106: -#line 1394 "rwlparser.y" /* yacc.c:1646 */ +#line 1395 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP)) rwlerror(rwm, RWL_ERROR_MISSING_DECL_BRACK); } #line 4598 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 111: -#line 1406 "rwlparser.y" /* yacc.c:1646 */ +#line 1407 "rwlparser.y" /* yacc.c:1646 */ { sb4 la; if (rwm->dtype && @@ -4626,25 +4626,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 112: -#line 1434 "rwlparser.y" /* yacc.c:1646 */ +#line 1435 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } #line 4632 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 113: -#line 1436 "rwlparser.y" /* yacc.c:1646 */ +#line 1437 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } #line 4638 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 114: -#line 1438 "rwlparser.y" /* yacc.c:1646 */ +#line 1439 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } #line 4644 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 115: -#line 1440 "rwlparser.y" /* yacc.c:1646 */ +#line 1441 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -4663,7 +4663,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 116: -#line 1455 "rwlparser.y" /* yacc.c:1646 */ +#line 1456 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "file"); @@ -4672,7 +4672,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 117: -#line 1460 "rwlparser.y" /* yacc.c:1646 */ +#line 1461 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "sql"); @@ -4681,7 +4681,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 118: -#line 1465 "rwlparser.y" /* yacc.c:1646 */ +#line 1466 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype = 0; rwlerror(rwm, RWL_ERROR_BAD_ARGUMENT_TYPE, "clob"); @@ -4690,19 +4690,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 120: -#line 1474 "rwlparser.y" /* yacc.c:1646 */ +#line 1475 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_STATSONLY); } #line 4696 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 121: -#line 1476 "rwlparser.y" /* yacc.c:1646 */ +#line 1477 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m4flags,RWL_P4_PROCHASSQL); } #line 4702 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 122: -#line 1478 "rwlparser.y" /* yacc.c:1646 */ +#line 1479 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; l = rwlfindvar(rwm->mxq, rwm->codename, RWL_VAR_NOGUESS); @@ -4722,7 +4722,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 124: -#line 1498 "rwlparser.y" /* yacc.c:1646 */ +#line 1499 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4740,7 +4740,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 126: -#line 1513 "rwlparser.y" /* yacc.c:1646 */ +#line 1514 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4758,7 +4758,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 128: -#line 1528 "rwlparser.y" /* yacc.c:1646 */ +#line 1529 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4777,7 +4777,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 130: -#line 1544 "rwlparser.y" /* yacc.c:1646 */ +#line 1545 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_BNOXFUNC|RWL_P3_BNOXPROC)) { @@ -4797,7 +4797,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 131: -#line 1587 "rwlparser.y" /* yacc.c:1646 */ +#line 1588 "rwlparser.y" /* yacc.c:1646 */ { /* There are cases where we have an expression followed @@ -4814,7 +4814,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 132: -#line 1601 "rwlparser.y" /* yacc.c:1646 */ +#line 1602 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4832,7 +4832,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 133: -#line 1615 "rwlparser.y" /* yacc.c:1646 */ +#line 1616 "rwlparser.y" /* yacc.c:1646 */ { text buf[RWL_PFBUF]; rwl_value num; @@ -4850,7 +4850,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 134: -#line 1629 "rwlparser.y" /* yacc.c:1646 */ +#line 1630 "rwlparser.y" /* yacc.c:1646 */ { rwl_value num; num.sval = rwm->sval; /* no strdup as RWL_T_STRING_CONST from lexer already is strdup'ed */ @@ -4866,7 +4866,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 135: -#line 1641 "rwlparser.y" /* yacc.c:1646 */ +#line 1642 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); } @@ -4874,121 +4874,121 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 136: -#line 1644 "rwlparser.y" /* yacc.c:1646 */ +#line 1645 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_UNIFORM); } #line 4880 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 137: -#line 1645 "rwlparser.y" /* yacc.c:1646 */ +#line 1646 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOGB); } #line 4886 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 138: -#line 1646 "rwlparser.y" /* yacc.c:1646 */ +#line 1647 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LOG); } #line 4892 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 139: -#line 1647 "rwlparser.y" /* yacc.c:1646 */ +#line 1648 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXPB); } #line 4898 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 140: -#line 1648 "rwlparser.y" /* yacc.c:1646 */ +#line 1649 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EXP); } #line 4904 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 141: -#line 1649 "rwlparser.y" /* yacc.c:1646 */ +#line 1650 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CEIL); } #line 4910 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 142: -#line 1650 "rwlparser.y" /* yacc.c:1646 */ +#line 1651 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_TRUNC); } #line 4916 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 143: -#line 1651 "rwlparser.y" /* yacc.c:1646 */ +#line 1652 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_FLOOR); } #line 4922 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 144: -#line 1652 "rwlparser.y" /* yacc.c:1646 */ +#line 1653 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ROUND); } #line 4928 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 145: -#line 1653 "rwlparser.y" /* yacc.c:1646 */ +#line 1654 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SQRT); } #line 4934 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 146: -#line 1654 "rwlparser.y" /* yacc.c:1646 */ +#line 1655 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SIN); } #line 4940 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 147: -#line 1655 "rwlparser.y" /* yacc.c:1646 */ +#line 1656 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_COS); } #line 4946 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 148: -#line 1656 "rwlparser.y" /* yacc.c:1646 */ +#line 1657 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ATAN2); } #line 4952 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 149: -#line 1657 "rwlparser.y" /* yacc.c:1646 */ +#line 1658 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LENGTHB); } #line 4958 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 150: -#line 1659 "rwlparser.y" /* yacc.c:1646 */ +#line 1660 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB2); } #line 4964 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 151: -#line 1661 "rwlparser.y" /* yacc.c:1646 */ +#line 1662 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_INSTRB3); } #line 4970 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 152: -#line 1663 "rwlparser.y" /* yacc.c:1646 */ +#line 1664 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB2); } #line 4976 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 153: -#line 1665 "rwlparser.y" /* yacc.c:1646 */ +#line 1666 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUBSTRB3); } #line 4982 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 154: -#line 1666 "rwlparser.y" /* yacc.c:1646 */ +#line 1667 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GETENV); } #line 4988 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 155: -#line 1667 "rwlparser.y" /* yacc.c:1646 */ +#line 1668 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2B); } @@ -4996,7 +4996,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 156: -#line 1670 "rwlparser.y" /* yacc.c:1646 */ +#line 1671 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_SLASHCONVERT)) rwlexprpush0(rwm,RWL_STACK_WINSLASHF2BB); } @@ -5004,13 +5004,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 157: -#line 1673 "rwlparser.y" /* yacc.c:1646 */ +#line 1674 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } #line 5010 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 158: -#line 1675 "rwlparser.y" /* yacc.c:1646 */ +#line 1676 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } @@ -5018,7 +5018,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 159: -#line 1679 "rwlparser.y" /* yacc.c:1646 */ +#line 1680 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprpush0(rwm,RWL_STACK_SYSTEM); @@ -5027,43 +5027,43 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 160: -#line 1683 "rwlparser.y" /* yacc.c:1646 */ +#line 1684 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG); } #line 5033 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 161: -#line 1684 "rwlparser.y" /* yacc.c:1646 */ +#line 1685 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANG2); } #line 5039 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 162: -#line 1686 "rwlparser.y" /* yacc.c:1646 */ +#line 1687 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ERLANGK); } #line 5045 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 163: -#line 1688 "rwlparser.y" /* yacc.c:1646 */ +#line 1689 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NORMALRANDOM); } #line 5051 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 164: -#line 1689 "rwlparser.y" /* yacc.c:1646 */ +#line 1690 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } #line 5057 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 165: -#line 1691 "rwlparser.y" /* yacc.c:1646 */ +#line 1692 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ACCESS); } #line 5063 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 166: -#line 1693 "rwlparser.y" /* yacc.c:1646 */ +#line 1694 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->resdb) rwlexprpush(rwm, rwm->resdb, RWL_STACK_SERVERRELEASE); @@ -5078,7 +5078,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 167: -#line 1704 "rwlparser.y" /* yacc.c:1646 */ +#line 1705 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->defdb) rwlexprpush(rwm, rwm->defdb, RWL_STACK_SERVERRELEASE); @@ -5093,7 +5093,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 168: -#line 1715 "rwlparser.y" /* yacc.c:1646 */ +#line 1716 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SERVERRELEASE); } @@ -5101,7 +5101,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 169: -#line 1719 "rwlparser.y" /* yacc.c:1646 */ +#line 1720 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); @@ -5111,7 +5111,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 170: -#line 1725 "rwlparser.y" /* yacc.c:1646 */ +#line 1726 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_OPENSESSIONCOUNT); } @@ -5119,7 +5119,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 171: -#line 1729 "rwlparser.y" /* yacc.c:1646 */ +#line 1730 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); @@ -5129,7 +5129,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 172: -#line 1735 "rwlparser.y" /* yacc.c:1646 */ +#line 1736 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_ACTIVESESSIONCOUNT); } @@ -5137,7 +5137,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 173: -#line 1739 "rwlparser.y" /* yacc.c:1646 */ +#line 1740 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); @@ -5147,7 +5147,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 174: -#line 1745 "rwlparser.y" /* yacc.c:1646 */ +#line 1746 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->sqname) rwlexprpush(rwm, rwm->sqname, RWL_STACK_SQL_ID); @@ -5156,7 +5156,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 175: -#line 1750 "rwlparser.y" /* yacc.c:1646 */ +#line 1751 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, rwm->inam, RWL_STACK_SQL_ID); } @@ -5164,7 +5164,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 176: -#line 1754 "rwlparser.y" /* yacc.c:1646 */ +#line 1755 "rwlparser.y" /* yacc.c:1646 */ { // push RWL_T_NULL to make exprfinish work rwlexprpush(rwm, rwl_nullp, RWL_STACK_NUM); @@ -5174,7 +5174,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 177: -#line 1761 "rwlparser.y" /* yacc.c:1646 */ +#line 1762 "rwlparser.y" /* yacc.c:1646 */ { /* element with furlev=0 is used by procedure call */ if (++rwm->furlev>=RWL_MAX_FUNC_RECURSION) @@ -5191,7 +5191,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 178: -#line 1775 "rwlparser.y" /* yacc.c:1646 */ +#line 1776 "rwlparser.y" /* yacc.c:1646 */ { /* syntactically, the number of arguments doesn't matter so we just provide the actual arg count to exprpush2 @@ -5207,7 +5207,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 179: -#line 1787 "rwlparser.y" /* yacc.c:1646 */ +#line 1788 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_DBSECONDS); } @@ -5215,7 +5215,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 180: -#line 1791 "rwlparser.y" /* yacc.c:1646 */ +#line 1792 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm, 0, RWL_STACK_OCISECONDS); } @@ -5223,7 +5223,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 181: -#line 1795 "rwlparser.y" /* yacc.c:1646 */ +#line 1796 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "runseconds"); @@ -5233,7 +5233,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 182: -#line 1801 "rwlparser.y" /* yacc.c:1646 */ +#line 1802 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_NOWARNDEP) && bit(rwm->m3flags,RWL_P3_MISBRACK)) rwlerror(rwm, RWL_ERROR_MISSING_EMPTY_BRACKETS, "epochseconds"); @@ -5243,151 +5243,151 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 188: -#line 1820 "rwlparser.y" /* yacc.c:1646 */ +#line 1821 "rwlparser.y" /* yacc.c:1646 */ { rwm->aacnt[rwm->furlev]++; } #line 5249 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 190: -#line 1826 "rwlparser.y" /* yacc.c:1646 */ +#line 1827 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNULL); } #line 5255 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 191: -#line 1827 "rwlparser.y" /* yacc.c:1646 */ +#line 1828 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ISNOTNULL); } #line 5261 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 193: -#line 1833 "rwlparser.y" /* yacc.c:1646 */ +#line 1834 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MINUS); } #line 5267 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 194: -#line 1834 "rwlparser.y" /* yacc.c:1646 */ +#line 1835 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } #line 5273 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 195: -#line 1835 "rwlparser.y" /* yacc.c:1646 */ +#line 1836 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOT); } #line 5279 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 196: -#line 1836 "rwlparser.y" /* yacc.c:1646 */ +#line 1837 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_NOT); } #line 5285 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 198: -#line 1841 "rwlparser.y" /* yacc.c:1646 */ +#line 1842 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MUL); } #line 5291 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 199: -#line 1842 "rwlparser.y" /* yacc.c:1646 */ +#line 1843 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_DIV); } #line 5297 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 200: -#line 1843 "rwlparser.y" /* yacc.c:1646 */ +#line 1844 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_MOD); } #line 5303 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 202: -#line 1848 "rwlparser.y" /* yacc.c:1646 */ +#line 1849 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_ADD); } #line 5309 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 203: -#line 1849 "rwlparser.y" /* yacc.c:1646 */ +#line 1850 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SUB); } #line 5315 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 205: -#line 1853 "rwlparser.y" /* yacc.c:1646 */ +#line 1854 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_LEFT_SHIFT); } #line 5321 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 206: -#line 1854 "rwlparser.y" /* yacc.c:1646 */ +#line 1855 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_RIGHT_SHIFT); } #line 5327 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 208: -#line 1859 "rwlparser.y" /* yacc.c:1646 */ +#line 1860 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESS); } #line 5333 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 209: -#line 1860 "rwlparser.y" /* yacc.c:1646 */ +#line 1861 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATER); } #line 5339 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 210: -#line 1861 "rwlparser.y" /* yacc.c:1646 */ +#line 1862 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_LESSEQ); } #line 5345 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 211: -#line 1862 "rwlparser.y" /* yacc.c:1646 */ +#line 1863 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_GREATEREQ); } #line 5351 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 212: -#line 1863 "rwlparser.y" /* yacc.c:1646 */ +#line 1864 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BETWEEN); } #line 5357 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 214: -#line 1868 "rwlparser.y" /* yacc.c:1646 */ +#line 1869 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_EQUAL); } #line 5363 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 215: -#line 1869 "rwlparser.y" /* yacc.c:1646 */ +#line 1870 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_NOTEQUAL); } #line 5369 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 217: -#line 1874 "rwlparser.y" /* yacc.c:1646 */ +#line 1875 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_AND); } #line 5375 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 219: -#line 1879 "rwlparser.y" /* yacc.c:1646 */ +#line 1880 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_XOR); } #line 5381 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 221: -#line 1884 "rwlparser.y" /* yacc.c:1646 */ +#line 1885 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_BITWISE_OR); } #line 5387 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 223: -#line 1890 "rwlparser.y" /* yacc.c:1646 */ +#line 1891 "rwlparser.y" /* yacc.c:1646 */ { // With AND (and OR) skipdep is used to mark // the expression element we need to skip until @@ -5401,7 +5401,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 224: -#line 1900 "rwlparser.y" /* yacc.c:1646 */ +#line 1901 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_AND, rwm->skipdep); rwm->skipdep--; @@ -5410,7 +5410,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 226: -#line 1909 "rwlparser.y" /* yacc.c:1646 */ +#line 1910 "rwlparser.y" /* yacc.c:1646 */ { // see comment above rwm->ptail->branchtype = RWL_EXP_ORBRANCH; @@ -5422,7 +5422,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 227: -#line 1917 "rwlparser.y" /* yacc.c:1646 */ +#line 1918 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush2(rwm,0,RWL_STACK_OR ,rwm->skipdep); rwm->skipdep--; @@ -5431,7 +5431,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 229: -#line 1926 "rwlparser.y" /* yacc.c:1646 */ +#line 1927 "rwlparser.y" /* yacc.c:1646 */ { // With conditional execution we mark the condition // with RWL_EXP_CONDBRANCH1 @@ -5444,7 +5444,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 230: -#line 1935 "rwlparser.y" /* yacc.c:1646 */ +#line 1936 "rwlparser.y" /* yacc.c:1646 */ { // and the place of ':' (really ELSE) with // RWL_EXP_CONDBRANCH2 @@ -5455,7 +5455,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 231: -#line 1942 "rwlparser.y" /* yacc.c:1646 */ +#line 1943 "rwlparser.y" /* yacc.c:1646 */ { // And the actual conditional is the "end if" place rwlexprpush2(rwm,0,RWL_STACK_CONDITIONAL, rwm->skipdep); @@ -5465,25 +5465,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 233: -#line 1951 "rwlparser.y" /* yacc.c:1646 */ +#line 1952 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } #line 5471 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 235: -#line 1956 "rwlparser.y" /* yacc.c:1646 */ +#line 1957 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_CONCAT); } #line 5477 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 237: -#line 1967 "rwlparser.y" /* yacc.c:1646 */ +#line 1968 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = 0; } #line 5483 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 238: -#line 1972 "rwlparser.y" /* yacc.c:1646 */ +#line 1973 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_USEREXIT) || rwlstopnow) { @@ -5495,61 +5495,61 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 239: -#line 1980 "rwlparser.y" /* yacc.c:1646 */ +#line 1981 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } #line 5501 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 240: -#line 1982 "rwlparser.y" /* yacc.c:1646 */ +#line 1983 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "threads"); yyerrok; } #line 5507 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 242: -#line 1989 "rwlparser.y" /* yacc.c:1646 */ +#line 1990 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } #line 5513 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 243: -#line 1991 "rwlparser.y" /* yacc.c:1646 */ +#line 1992 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_COMMAND_NOT_LOCAL, "run"); yyerrok; } #line 5519 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 245: -#line 1995 "rwlparser.y" /* yacc.c:1646 */ +#line 1996 "rwlparser.y" /* yacc.c:1646 */ { yyerrok; } #line 5525 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 246: -#line 1997 "rwlparser.y" /* yacc.c:1646 */ +#line 1998 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "database"); yyerrok; } #line 5531 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 247: -#line 1999 "rwlparser.y" /* yacc.c:1646 */ +#line 2000 "rwlparser.y" /* yacc.c:1646 */ { yyerrok ; } #line 5537 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 248: -#line 2002 "rwlparser.y" /* yacc.c:1646 */ +#line 2003 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random procedure array"); yyerrok; } #line 5543 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 249: -#line 2005 "rwlparser.y" /* yacc.c:1646 */ +#line 2006 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NOT_LOCAL, "random string array"); yyerrok; } #line 5549 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 250: -#line 2010 "rwlparser.y" /* yacc.c:1646 */ +#line 2011 "rwlparser.y" /* yacc.c:1646 */ { switch(rwm->supsemerr) { @@ -5582,7 +5582,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 251: -#line 2039 "rwlparser.y" /* yacc.c:1646 */ +#line 2040 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5601,7 +5601,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 252: -#line 2054 "rwlparser.y" /* yacc.c:1646 */ +#line 2055 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -5616,25 +5616,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 255: -#line 2071 "rwlparser.y" /* yacc.c:1646 */ +#line 2072 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_LOB); yyerrok; } #line 5622 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 257: -#line 2078 "rwlparser.y" /* yacc.c:1646 */ +#line 2079 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_INT); yyerrok; } #line 5628 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 259: -#line 2084 "rwlparser.y" /* yacc.c:1646 */ +#line 2085 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_DBL); yyerrok; } #line 5634 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 260: -#line 2086 "rwlparser.y" /* yacc.c:1646 */ +#line 2087 "rwlparser.y" /* yacc.c:1646 */ { rwm->declslen=RWL_DEFAULT_STRLEN; } @@ -5642,7 +5642,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 262: -#line 2092 "rwlparser.y" /* yacc.c:1646 */ +#line 2093 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) rwm->declslen = 1; // kind of a kludge, but this prevents doube @@ -5656,13 +5656,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 264: -#line 2106 "rwlparser.y" /* yacc.c:1646 */ +#line 2107 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_STR); yyerrok; } #line 5662 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 265: -#line 2108 "rwlparser.y" /* yacc.c:1646 */ +#line 2109 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_FILE; //if (rwm->codename) @@ -5672,13 +5672,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 267: -#line 2117 "rwlparser.y" /* yacc.c:1646 */ +#line 2118 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DECL_FILE); yyerrok; } #line 5678 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 268: -#line 2122 "rwlparser.y" /* yacc.c:1646 */ +#line 2123 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5703,7 +5703,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 269: -#line 2145 "rwlparser.y" /* yacc.c:1646 */ +#line 2146 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5730,13 +5730,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 270: -#line 2169 "rwlparser.y" /* yacc.c:1646 */ +#line 2170 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rslerror) rwlcodeadd0(rwm, RWL_CODE_ELSE); } #line 5736 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 271: -#line 2172 "rwlparser.y" /* yacc.c:1646 */ +#line 2173 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -5761,7 +5761,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 272: -#line 2195 "rwlparser.y" /* yacc.c:1646 */ +#line 2196 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* start expression */ @@ -5803,7 +5803,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 273: -#line 2237 "rwlparser.y" /* yacc.c:1646 */ +#line 2238 "rwlparser.y" /* yacc.c:1646 */ { switch (rwm->rsllityp[rwm->rsldepth]) { @@ -5875,7 +5875,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 274: -#line 2306 "rwlparser.y" /* yacc.c:1646 */ +#line 2307 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwm->rsllityp[rwm->rsldepth] = RWL_LI_BAD; @@ -5885,13 +5885,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 275: -#line 2313 "rwlparser.y" /* yacc.c:1646 */ +#line 2314 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush0(rwm,RWL_STACK_SYSTEM); } #line 5891 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 277: -#line 2316 "rwlparser.y" /* yacc.c:1646 */ +#line 2317 "rwlparser.y" /* yacc.c:1646 */ { rwlexprpush(rwm,rwm->inam ,RWL_STACK_SYSTEM2STR); } @@ -5899,7 +5899,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 279: -#line 2321 "rwlparser.y" /* yacc.c:1646 */ +#line 2322 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SYSTEM_BAD); yyerrok; rwlexprclear(rwm); @@ -5908,7 +5908,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 280: -#line 2326 "rwlparser.y" /* yacc.c:1646 */ +#line 2327 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; @@ -5919,7 +5919,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 282: -#line 2335 "rwlparser.y" /* yacc.c:1646 */ +#line 2336 "rwlparser.y" /* yacc.c:1646 */ { /* start expression for assign */ rwm->assignvar = rwm->inam; @@ -5929,7 +5929,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 284: -#line 2344 "rwlparser.y" /* yacc.c:1646 */ +#line 2345 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) rwlerror(rwm, RWL_ERROR_RETURN_OUTSIDE_CODE); @@ -5945,7 +5945,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 285: -#line 2356 "rwlparser.y" /* yacc.c:1646 */ +#line 2357 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); @@ -5954,7 +5954,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 286: -#line 2361 "rwlparser.y" /* yacc.c:1646 */ +#line 2362 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -5987,7 +5987,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 288: -#line 2390 "rwlparser.y" /* yacc.c:1646 */ +#line 2391 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -5997,7 +5997,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 289: -#line 2397 "rwlparser.y" /* yacc.c:1646 */ +#line 2398 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->codename; rwlexprbeg(rwm); @@ -6006,7 +6006,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 290: -#line 2402 "rwlparser.y" /* yacc.c:1646 */ +#line 2403 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if (!rwm->codename) @@ -6039,7 +6039,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 292: -#line 2432 "rwlparser.y" /* yacc.c:1646 */ +#line 2433 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -6049,7 +6049,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 293: -#line 2440 "rwlparser.y" /* yacc.c:1646 */ +#line 2441 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -6067,7 +6067,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 294: -#line 2454 "rwlparser.y" /* yacc.c:1646 */ +#line 2455 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbnam = rwm->inam; rwm->mdbvar = rwlfindvar2(rwm->mxq, rwm->mdbnam, RWL_VAR_NOGUESS, rwm->codename); @@ -6082,7 +6082,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 296: -#line 2468 "rwlparser.y" /* yacc.c:1646 */ +#line 2469 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -6100,7 +6100,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 297: -#line 2484 "rwlparser.y" /* yacc.c:1646 */ +#line 2485 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6114,7 +6114,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 298: -#line 2495 "rwlparser.y" /* yacc.c:1646 */ +#line 2496 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); @@ -6123,7 +6123,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 299: -#line 2501 "rwlparser.y" /* yacc.c:1646 */ +#line 2502 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SESRELDROP); @@ -6132,7 +6132,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 300: -#line 2507 "rwlparser.y" /* yacc.c:1646 */ +#line 2508 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_COMMIT); @@ -6147,7 +6147,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 301: -#line 2519 "rwlparser.y" /* yacc.c:1646 */ +#line 2520 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_ROLLBACK); @@ -6162,7 +6162,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 302: -#line 2531 "rwlparser.y" /* yacc.c:1646 */ +#line 2532 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_SHIFT); @@ -6174,7 +6174,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 303: -#line 2540 "rwlparser.y" /* yacc.c:1646 */ +#line 2541 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_GETRUSAGE); @@ -6186,7 +6186,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 304: -#line 2549 "rwlparser.y" /* yacc.c:1646 */ +#line 2550 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlinam = rwm->inam; rwm->mqbdtyp = 0; rwm->modsqlvar = rwlfindvar2(rwm->mxq, rwm->msqlinam, RWL_VAR_NOGUESS, rwm->codename); @@ -6201,13 +6201,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 306: -#line 2562 "rwlparser.y" /* yacc.c:1646 */ +#line 2563 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MODIFY); yyerrok; } #line 6207 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 309: -#line 2575 "rwlparser.y" /* yacc.c:1646 */ +#line 2576 "rwlparser.y" /* yacc.c:1646 */ { /* This code can cause lookahead */ rwlerror(rwm, RWL_ERROR_BAD_ARG_LIST); @@ -6218,7 +6218,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 310: -#line 2582 "rwlparser.y" /* yacc.c:1646 */ +#line 2583 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6237,25 +6237,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 313: -#line 2601 "rwlparser.y" /* yacc.c:1646 */ +#line 2602 "rwlparser.y" /* yacc.c:1646 */ { rwm->supsemerr = RWL_SUPSEM_EMBSQL; } #line 6243 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 317: -#line 2607 "rwlparser.y" /* yacc.c:1646 */ +#line 2608 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_IMMPARSEFOR); } #line 6249 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 318: -#line 2609 "rwlparser.y" /* yacc.c:1646 */ +#line 2610 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMPARSEFOR); } #line 6255 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 321: -#line 2615 "rwlparser.y" /* yacc.c:1646 */ +#line 2616 "rwlparser.y" /* yacc.c:1646 */ { rwm->rslmisc[rwm->rsldepth] = RWL_VAR_NOGUESS; // see finish wrapper test below @@ -6344,7 +6344,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 322: -#line 2702 "rwlparser.y" /* yacc.c:1646 */ +#line 2703 "rwlparser.y" /* yacc.c:1646 */ { --rwm->rsldepth; if (rwm->rslerror) @@ -6377,7 +6377,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 323: -#line 2732 "rwlparser.y" /* yacc.c:1646 */ +#line 2733 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6413,7 +6413,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 324: -#line 2765 "rwlparser.y" /* yacc.c:1646 */ +#line 2766 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_FFLUSH); yyerrok; @@ -6422,7 +6422,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 325: -#line 2772 "rwlparser.y" /* yacc.c:1646 */ +#line 2773 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -6449,7 +6449,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 326: -#line 2797 "rwlparser.y" /* yacc.c:1646 */ +#line 2798 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) { @@ -6483,7 +6483,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 327: -#line 2829 "rwlparser.y" /* yacc.c:1646 */ +#line 2830 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -6506,7 +6506,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 333: -#line 2857 "rwlparser.y" /* yacc.c:1646 */ +#line 2858 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); @@ -6517,7 +6517,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 335: -#line 2866 "rwlparser.y" /* yacc.c:1646 */ +#line 2867 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_STRING_FOR_SPRINTF); @@ -6528,7 +6528,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 337: -#line 2875 "rwlparser.y" /* yacc.c:1646 */ +#line 2876 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); @@ -6539,7 +6539,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 339: -#line 2885 "rwlparser.y" /* yacc.c:1646 */ +#line 2886 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document this syntax without comma if (rwm->filenam) @@ -6550,7 +6550,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 342: -#line 2897 "rwlparser.y" /* yacc.c:1646 */ +#line 2898 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); @@ -6561,7 +6561,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 343: -#line 2905 "rwlparser.y" /* yacc.c:1646 */ +#line 2906 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); @@ -6572,7 +6572,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 344: -#line 2913 "rwlparser.y" /* yacc.c:1646 */ +#line 2914 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_FILE_FOR_WRITE); @@ -6583,7 +6583,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 345: -#line 2921 "rwlparser.y" /* yacc.c:1646 */ +#line 2922 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeadd0(rwm, RWL_CODE_NEWLINE); @@ -6595,7 +6595,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 347: -#line 2931 "rwlparser.y" /* yacc.c:1646 */ +#line 2932 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); @@ -6606,7 +6606,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 349: -#line 2939 "rwlparser.y" /* yacc.c:1646 */ +#line 2940 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6621,7 +6621,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 350: -#line 2950 "rwlparser.y" /* yacc.c:1646 */ +#line 2951 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename) { @@ -6660,7 +6660,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 351: -#line 2986 "rwlparser.y" /* yacc.c:1646 */ +#line 2987 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6700,7 +6700,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 352: -#line 3023 "rwlparser.y" /* yacc.c:1646 */ +#line 3024 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -6743,7 +6743,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 353: -#line 3063 "rwlparser.y" /* yacc.c:1646 */ +#line 3064 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_CBLOCK)) { @@ -6764,7 +6764,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 354: -#line 3080 "rwlparser.y" /* yacc.c:1646 */ +#line 3081 "rwlparser.y" /* yacc.c:1646 */ { if(!rwm->stoptime && !rwm->stopcount) { @@ -6790,7 +6790,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 355: -#line 3104 "rwlparser.y" /* yacc.c:1646 */ +#line 3105 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m2flags, RWL_P2_CBLOCK_BAD)) rwlloopfinish(rwm); @@ -6812,7 +6812,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 356: -#line 3123 "rwlparser.y" /* yacc.c:1646 */ +#line 3124 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_AFTER_IDENTIFIER); yyerrok; @@ -6821,13 +6821,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 357: -#line 3130 "rwlparser.y" /* yacc.c:1646 */ +#line 3131 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } #line 6827 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 358: -#line 3137 "rwlparser.y" /* yacc.c:1646 */ +#line 3138 "rwlparser.y" /* yacc.c:1646 */ { /* handle procedure call with arguments * as if it were a function call @@ -6866,7 +6866,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 359: -#line 3175 "rwlparser.y" /* yacc.c:1646 */ +#line 3176 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) // building a procedure { @@ -6955,7 +6955,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 360: -#line 3263 "rwlparser.y" /* yacc.c:1646 */ +#line 3264 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -6983,7 +6983,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 361: -#line 3287 "rwlparser.y" /* yacc.c:1646 */ +#line 3288 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobwritedata = rwlexprfinish(rwm); rwm->loboffset = 0; @@ -6992,7 +6992,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 363: -#line 3296 "rwlparser.y" /* yacc.c:1646 */ +#line 3297 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } @@ -7000,7 +7000,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 364: -#line 3303 "rwlparser.y" /* yacc.c:1646 */ +#line 3304 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->lobvarn = RWL_VAR_NOTFOUND; @@ -7027,7 +7027,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 365: -#line 3326 "rwlparser.y" /* yacc.c:1646 */ +#line 3327 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->loboffset = 0; @@ -7053,7 +7053,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 367: -#line 3352 "rwlparser.y" /* yacc.c:1646 */ +#line 3353 "rwlparser.y" /* yacc.c:1646 */ { rwm->lobreadlength = rwlexprfinish(rwm); } @@ -7061,7 +7061,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 368: -#line 3356 "rwlparser.y" /* yacc.c:1646 */ +#line 3357 "rwlparser.y" /* yacc.c:1646 */ { rwm->loboffset = rwlexprfinish(rwm); } @@ -7069,7 +7069,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 369: -#line 3362 "rwlparser.y" /* yacc.c:1646 */ +#line 3363 "rwlparser.y" /* yacc.c:1646 */ { /* simple sql execute */ sb4 l; @@ -7219,7 +7219,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 370: -#line 3512 "rwlparser.y" /* yacc.c:1646 */ +#line 3513 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; @@ -7333,7 +7333,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 371: -#line 3624 "rwlparser.y" /* yacc.c:1646 */ +#line 3625 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->rslerror) rwm->rslerror--; @@ -7370,7 +7370,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 372: -#line 3660 "rwlparser.y" /* yacc.c:1646 */ +#line 3661 "rwlparser.y" /* yacc.c:1646 */ { // This syntax is not documented bic(rwm->m3flags, RWL_P3_CLHEADFOR); @@ -7380,13 +7380,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 373: -#line 3665 "rwlparser.y" /* yacc.c:1646 */ +#line 3666 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_CLHEADFOR); } #line 7386 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 374: -#line 3669 "rwlparser.y" /* yacc.c:1646 */ +#line 3670 "rwlparser.y" /* yacc.c:1646 */ { // Note that we do not document these two (legacy) syntax: // loop option .. .. ; @@ -7403,7 +7403,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 375: -#line 3685 "rwlparser.y" /* yacc.c:1646 */ +#line 3686 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } @@ -7411,7 +7411,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 376: -#line 3689 "rwlparser.y" /* yacc.c:1646 */ +#line 3690 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } @@ -7419,7 +7419,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 377: -#line 3693 "rwlparser.y" /* yacc.c:1646 */ +#line 3694 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_CLHEADFOR)) rwlerror(rwm, RWL_ERROR_MIX_LEGACY_CLOOP); } @@ -7427,13 +7427,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 380: -#line 3704 "rwlparser.y" /* yacc.c:1646 */ +#line 3705 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7433 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 381: -#line 3706 "rwlparser.y" /* yacc.c:1646 */ +#line 3707 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->starttime) { @@ -7450,13 +7450,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 382: -#line 3718 "rwlparser.y" /* yacc.c:1646 */ +#line 3719 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7456 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 383: -#line 3720 "rwlparser.y" /* yacc.c:1646 */ +#line 3721 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7475,13 +7475,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 384: -#line 3734 "rwlparser.y" /* yacc.c:1646 */ +#line 3735 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7481 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 385: -#line 3736 "rwlparser.y" /* yacc.c:1646 */ +#line 3737 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->stoptime || rwm->stopcount) { @@ -7500,13 +7500,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 386: -#line 3750 "rwlparser.y" /* yacc.c:1646 */ +#line 3751 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7506 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 387: -#line 3752 "rwlparser.y" /* yacc.c:1646 */ +#line 3753 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7523,13 +7523,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 388: -#line 3764 "rwlparser.y" /* yacc.c:1646 */ +#line 3765 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7529 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 389: -#line 3766 "rwlparser.y" /* yacc.c:1646 */ +#line 3767 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m2flags, RWL_P2_WAIT|RWL_P2_EVERY)) { @@ -7559,25 +7559,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 390: -#line 3795 "rwlparser.y" /* yacc.c:1646 */ +#line 3796 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = 0; } #line 7565 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 391: -#line 3796 "rwlparser.y" /* yacc.c:1646 */ +#line 3797 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_QUEUE_EVERY; } #line 7571 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 392: -#line 3797 "rwlparser.y" /* yacc.c:1646 */ +#line 3798 "rwlparser.y" /* yacc.c:1646 */ { rwm->ynqueue = RWL_NOQUEUE_EVERY; } #line 7577 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 393: -#line 3801 "rwlparser.y" /* yacc.c:1646 */ +#line 3802 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); @@ -7586,7 +7586,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 394: -#line 3806 "rwlparser.y" /* yacc.c:1646 */ +#line 3807 "rwlparser.y" /* yacc.c:1646 */ { rwm->scname = rwm->inam; bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); @@ -7595,7 +7595,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 395: -#line 3811 "rwlparser.y" /* yacc.c:1646 */ +#line 3812 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } @@ -7603,7 +7603,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 396: -#line 3815 "rwlparser.y" /* yacc.c:1646 */ +#line 3816 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); // lookahead may have consumed the next identifier @@ -7615,7 +7615,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 397: -#line 3823 "rwlparser.y" /* yacc.c:1646 */ +#line 3824 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); @@ -7624,7 +7624,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 398: -#line 3832 "rwlparser.y" /* yacc.c:1646 */ +#line 3833 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; rwm->sqllino = rwm->sqltlin; // the line where we started sql scan @@ -7643,7 +7643,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 399: -#line 3847 "rwlparser.y" /* yacc.c:1646 */ +#line 3848 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); bis(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE); @@ -7675,7 +7675,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 400: -#line 3879 "rwlparser.y" /* yacc.c:1646 */ +#line 3880 "rwlparser.y" /* yacc.c:1646 */ { text sqlnam[100]; snprintf((char *)sqlnam, sizeof(sqlnam), "sql#%05d", rwm->mxq->varcount); @@ -7693,7 +7693,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 401: -#line 3894 "rwlparser.y" /* yacc.c:1646 */ +#line 3895 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_IMMEDSQL); bis(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE); @@ -7705,7 +7705,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 402: -#line 3903 "rwlparser.y" /* yacc.c:1646 */ +#line 3904 "rwlparser.y" /* yacc.c:1646 */ { if (!bit(rwm->m3flags, RWL_P3_IMMISDYN) && bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -7746,7 +7746,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 404: -#line 3941 "rwlparser.y" /* yacc.c:1646 */ +#line 3942 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG) ; yyerrok; @@ -7755,13 +7755,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 406: -#line 3949 "rwlparser.y" /* yacc.c:1646 */ +#line 3950 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 7761 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 407: -#line 3950 "rwlparser.y" /* yacc.c:1646 */ +#line 3951 "rwlparser.y" /* yacc.c:1646 */ { if ((rwm->msqlstk = rwlexprfinish(rwm))) bis(rwm->m3flags, RWL_P3_IMMISDYN); // now dynamic @@ -7775,7 +7775,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 408: -#line 3962 "rwlparser.y" /* yacc.c:1646 */ +#line 3963 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno; } @@ -7783,7 +7783,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 412: -#line 3971 "rwlparser.y" /* yacc.c:1646 */ +#line 3972 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "sql") ; } @@ -7791,7 +7791,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 415: -#line 3982 "rwlparser.y" /* yacc.c:1646 */ +#line 3983 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } @@ -7799,7 +7799,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 416: -#line 3986 "rwlparser.y" /* yacc.c:1646 */ +#line 3987 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); @@ -7808,7 +7808,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 417: -#line 3994 "rwlparser.y" /* yacc.c:1646 */ +#line 3995 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_AT|RWL_P2_ATDEFAULT); } @@ -7816,7 +7816,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 418: -#line 3998 "rwlparser.y" /* yacc.c:1646 */ +#line 3999 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_ATDEFAULT); } @@ -7824,7 +7824,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 419: -#line 4002 "rwlparser.y" /* yacc.c:1646 */ +#line 4003 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); @@ -7833,7 +7833,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 421: -#line 4012 "rwlparser.y" /* yacc.c:1646 */ +#line 4013 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = 0; bis(rwm->m2flags, RWL_P2_ATDEFAULT); /* explict choose standard DB */ @@ -7842,7 +7842,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 422: -#line 4018 "rwlparser.y" /* yacc.c:1646 */ +#line 4019 "rwlparser.y" /* yacc.c:1646 */ { rwm->dbname = rwm->inam; bis(rwm->m2flags, RWL_P2_AT); /* named DB */ @@ -7851,19 +7851,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 423: -#line 4023 "rwlparser.y" /* yacc.c:1646 */ +#line 4024 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_DATABASE_NAME); yyerrok; } #line 7857 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 424: -#line 4025 "rwlparser.y" /* yacc.c:1646 */ +#line 4026 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; } #line 7863 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 427: -#line 4033 "rwlparser.y" /* yacc.c:1646 */ +#line 4034 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->codename || bit(rwm->addvarbits,RWL_IDENT_PRIVATE)) { @@ -7893,7 +7893,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 428: -#line 4059 "rwlparser.y" /* yacc.c:1646 */ +#line 4060 "rwlparser.y" /* yacc.c:1646 */ { // if compiling first file, see if there is a user arg if (bit(rwm->m2flags, RWL_P2_SCANFIRST) && rwm->decvarn >= 0) @@ -7970,7 +7970,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 430: -#line 4136 "rwlparser.y" /* yacc.c:1646 */ +#line 4137 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignvar = rwm->inam; rwlexprbeg(rwm); @@ -7979,7 +7979,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 431: -#line 4141 "rwlparser.y" /* yacc.c:1646 */ +#line 4142 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->dtype) @@ -8030,7 +8030,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 436: -#line 4204 "rwlparser.y" /* yacc.c:1646 */ +#line 4205 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8049,7 +8049,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 437: -#line 4219 "rwlparser.y" /* yacc.c:1646 */ +#line 4220 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -8060,7 +8060,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 438: -#line 4228 "rwlparser.y" /* yacc.c:1646 */ +#line 4229 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8079,7 +8079,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 439: -#line 4243 "rwlparser.y" /* yacc.c:1646 */ +#line 4244 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -8090,7 +8090,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 440: -#line 4252 "rwlparser.y" /* yacc.c:1646 */ +#line 4253 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LEGACY_WHILE_SYNTAX); } @@ -8098,7 +8098,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 441: -#line 4256 "rwlparser.y" /* yacc.c:1646 */ +#line 4257 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->rslflags[rwm->rsldepth], RWL_RSLFLAG_WHILOP); } @@ -8106,7 +8106,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 442: -#line 4262 "rwlparser.y" /* yacc.c:1646 */ +#line 4263 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; estk = rwlexprfinish(rwm); @@ -8127,7 +8127,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 443: -#line 4279 "rwlparser.y" /* yacc.c:1646 */ +#line 4280 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -8138,7 +8138,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 444: -#line 4286 "rwlparser.y" /* yacc.c:1646 */ +#line 4287 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_UNEXPECTED_KEYWORD, "loop"); rwlexprclear(rwm); @@ -8149,7 +8149,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 449: -#line 4303 "rwlparser.y" /* yacc.c:1646 */ +#line 4304 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -8169,7 +8169,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 450: -#line 4319 "rwlparser.y" /* yacc.c:1646 */ +#line 4320 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlerror(rwm, RWL_ERROR_NO_LOCAL_SUMGLOB); @@ -8180,7 +8180,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 451: -#line 4329 "rwlparser.y" /* yacc.c:1646 */ +#line 4330 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8190,7 +8190,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 452: -#line 4335 "rwlparser.y" /* yacc.c:1646 */ +#line 4336 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_STR; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8199,7 +8199,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 453: -#line 4343 "rwlparser.y" /* yacc.c:1646 */ +#line 4344 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8209,7 +8209,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 454: -#line 4349 "rwlparser.y" /* yacc.c:1646 */ +#line 4350 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_INT; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8218,7 +8218,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 455: -#line 4357 "rwlparser.y" /* yacc.c:1646 */ +#line 4358 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8228,7 +8228,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 456: -#line 4363 "rwlparser.y" /* yacc.c:1646 */ +#line 4364 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_DBL; bic(rwm->addvarbits,RWL_IDENT_THRSPEC); @@ -8237,7 +8237,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 457: -#line 4371 "rwlparser.y" /* yacc.c:1646 */ +#line 4372 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8246,7 +8246,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 458: -#line 4376 "rwlparser.y" /* yacc.c:1646 */ +#line 4377 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } @@ -8254,31 +8254,31 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 459: -#line 4382 "rwlparser.y" /* yacc.c:1646 */ +#line 4383 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_CLOB; } #line 8260 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 460: -#line 4383 "rwlparser.y" /* yacc.c:1646 */ +#line 4384 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_BLOB; } #line 8266 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 461: -#line 4384 "rwlparser.y" /* yacc.c:1646 */ +#line 4385 "rwlparser.y" /* yacc.c:1646 */ { rwm->dtype=RWL_TYPE_NCLOB; } #line 8272 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 462: -#line 4388 "rwlparser.y" /* yacc.c:1646 */ +#line 4389 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} #line 8278 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 463: -#line 4389 "rwlparser.y" /* yacc.c:1646 */ +#line 4390 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -8292,7 +8292,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 465: -#line 4400 "rwlparser.y" /* yacc.c:1646 */ +#line 4401 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } @@ -8300,13 +8300,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 466: -#line 4403 "rwlparser.y" /* yacc.c:1646 */ +#line 4404 "rwlparser.y" /* yacc.c:1646 */ { rwm->sqllino = rwm->loc.lineno;} #line 8306 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 467: -#line 4404 "rwlparser.y" /* yacc.c:1646 */ +#line 4405 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bic(rwm->m2flags, RWL_P2_BADSQLFILTXT); @@ -8319,7 +8319,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 469: -#line 4414 "rwlparser.y" /* yacc.c:1646 */ +#line 4415 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_SQL_WRONG); yyerrok; } @@ -8327,7 +8327,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 472: -#line 4424 "rwlparser.y" /* yacc.c:1646 */ +#line 4425 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; @@ -8377,7 +8377,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 473: -#line 4471 "rwlparser.y" /* yacc.c:1646 */ +#line 4472 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; @@ -8412,7 +8412,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 474: -#line 4505 "rwlparser.y" /* yacc.c:1646 */ +#line 4506 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->m4flags, RWL_P4_AMPERSAND) && rwldynarcheck(rwm)) { @@ -8425,7 +8425,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 476: -#line 4518 "rwlparser.y" /* yacc.c:1646 */ +#line 4519 "rwlparser.y" /* yacc.c:1646 */ { sb4 ll; ub4 iflag = bit(rwm->m3flags, RWL_P3_IMMEDSQL) ? RWL_IDENT_INTERNAL : 0; @@ -8503,7 +8503,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 477: -#line 4596 "rwlparser.y" /* yacc.c:1646 */ +#line 4597 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; ub4 notyetcount = 0; @@ -8600,25 +8600,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 481: -#line 4699 "rwlparser.y" /* yacc.c:1646 */ +#line 4700 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BIND); yyerrok; } #line 8606 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 483: -#line 4703 "rwlparser.y" /* yacc.c:1646 */ +#line 4704 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BINDOUT); yyerrok; } #line 8612 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 485: -#line 4707 "rwlparser.y" /* yacc.c:1646 */ +#line 4708 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_DEFINE); yyerrok; } #line 8618 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 486: -#line 4709 "rwlparser.y" /* yacc.c:1646 */ +#line 4710 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_IGNERR); } @@ -8626,7 +8626,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 487: -#line 4713 "rwlparser.y" /* yacc.c:1646 */ +#line 4714 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } @@ -8634,7 +8634,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 488: -#line 4717 "rwlparser.y" /* yacc.c:1646 */ +#line 4718 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->sqsav->flags, RWL_SQFLAG_NOCURC); } @@ -8642,7 +8642,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 489: -#line 4722 "rwlparser.y" /* yacc.c:1646 */ +#line 4723 "rwlparser.y" /* yacc.c:1646 */ { if (RWL_TYPE_CANCELLED == rwm->pval.vtype) { @@ -8664,19 +8664,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 490: -#line 4741 "rwlparser.y" /* yacc.c:1646 */ +#line 4742 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ARRAY); yyerrok; } #line 8670 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 491: -#line 4746 "rwlparser.y" /* yacc.c:1646 */ +#line 4747 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON_IN_SQL); } #line 8676 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 494: -#line 4752 "rwlparser.y" /* yacc.c:1646 */ +#line 4753 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQFLAG_DYNAMIC)) rwlerror(rwm, RWL_ERROR_DEFINE_ARRAY_NOT_DYNAMIC); @@ -8687,7 +8687,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 497: -#line 4766 "rwlparser.y" /* yacc.c:1646 */ +#line 4767 "rwlparser.y" /* yacc.c:1646 */ { // Note that it would not be too hard to replace // the integer constant here by an expression @@ -8699,7 +8699,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 499: -#line 4775 "rwlparser.y" /* yacc.c:1646 */ +#line 4776 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IDUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "define"); @@ -8709,13 +8709,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 502: -#line 4789 "rwlparser.y" /* yacc.c:1646 */ +#line 4790 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BINDOUT_NAME; } #line 8715 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 504: -#line 4791 "rwlparser.y" /* yacc.c:1646 */ +#line 4792 "rwlparser.y" /* yacc.c:1646 */ { // We could also use expression here, but we would // of course need to check it was either a non-negative number @@ -8727,7 +8727,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 506: -#line 4799 "rwlparser.y" /* yacc.c:1646 */ +#line 4800 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BINDOUT_SAME; } @@ -8735,7 +8735,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 508: -#line 4803 "rwlparser.y" /* yacc.c:1646 */ +#line 4804 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_IMPLICIT_NOT_BINDOUT); } @@ -8743,13 +8743,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 511: -#line 4814 "rwlparser.y" /* yacc.c:1646 */ +#line 4815 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdname = rwm->sval; rwm->bdtyp=RWL_BIND_NAME; } #line 8749 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 513: -#line 4816 "rwlparser.y" /* yacc.c:1646 */ +#line 4817 "rwlparser.y" /* yacc.c:1646 */ { // same comment as above rwm->bdpos = bit(rwm->m2flags,RWL_P2_BINDZERO) ? rwm->ival+1 : rwm->ival; @@ -8759,7 +8759,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 515: -#line 4822 "rwlparser.y" /* yacc.c:1646 */ +#line 4823 "rwlparser.y" /* yacc.c:1646 */ { rwm->bdtyp=RWL_BIND_SAME; } @@ -8767,7 +8767,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 517: -#line 4826 "rwlparser.y" /* yacc.c:1646 */ +#line 4827 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->sqsav->flags, RWL_SQLFLAG_IBUSE)) rwlerror(rwm, RWL_ERROR_IMPLICIT_ALREADY, "bind"); @@ -8777,7 +8777,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 518: -#line 4835 "rwlparser.y" /* yacc.c:1646 */ +#line 4836 "rwlparser.y" /* yacc.c:1646 */ { rwl_bindef *bd; bd = rwlalloc(rwm, sizeof(rwl_bindef)); @@ -8875,7 +8875,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 519: -#line 4931 "rwlparser.y" /* yacc.c:1646 */ +#line 4932 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "runseconds", "bind/define"); @@ -8884,7 +8884,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 520: -#line 4936 "rwlparser.y" /* yacc.c:1646 */ +#line 4937 "rwlparser.y" /* yacc.c:1646 */ { rwm->inam = RWL_DUMMY_VAR; rwlerror(rwm, RWL_ERROR_INCORRECT_TYPE2, "function", "epochseconds", "bind/define"); @@ -8893,19 +8893,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 521: -#line 4940 "rwlparser.y" /* yacc.c:1646 */ +#line 4941 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags,RWL_P2_BINDRAW); } #line 8899 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 522: -#line 4941 "rwlparser.y" /* yacc.c:1646 */ +#line 4942 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags,RWL_P2_BINDRAW); } #line 8905 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 523: -#line 4945 "rwlparser.y" /* yacc.c:1646 */ +#line 4946 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8926,7 +8926,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 524: -#line 4962 "rwlparser.y" /* yacc.c:1646 */ +#line 4963 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8947,7 +8947,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 525: -#line 4979 "rwlparser.y" /* yacc.c:1646 */ +#line 4980 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8968,7 +8968,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 526: -#line 4996 "rwlparser.y" /* yacc.c:1646 */ +#line 4997 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -8995,13 +8995,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 527: -#line 5018 "rwlparser.y" /* yacc.c:1646 */ +#line 5019 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 9001 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 528: -#line 5019 "rwlparser.y" /* yacc.c:1646 */ +#line 5020 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9036,7 +9036,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 529: -#line 5050 "rwlparser.y" /* yacc.c:1646 */ +#line 5051 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9061,13 +9061,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 530: -#line 5070 "rwlparser.y" /* yacc.c:1646 */ +#line 5071 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 9067 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 531: -#line 5071 "rwlparser.y" /* yacc.c:1646 */ +#line 5072 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0 && (rwm->msqlstk = rwlexprfinish(rwm))) { @@ -9093,7 +9093,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 532: -#line 5093 "rwlparser.y" /* yacc.c:1646 */ +#line 5094 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9112,7 +9112,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 534: -#line 5108 "rwlparser.y" /* yacc.c:1646 */ +#line 5109 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9131,7 +9131,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 536: -#line 5123 "rwlparser.y" /* yacc.c:1646 */ +#line 5124 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->modsqlvar>=0) { @@ -9150,19 +9150,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 540: -#line 5143 "rwlparser.y" /* yacc.c:1646 */ +#line 5144 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } #line 9156 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 541: -#line 5145 "rwlparser.y" /* yacc.c:1646 */ +#line 5146 "rwlparser.y" /* yacc.c:1646 */ { rwm->msqlstk = rwlexprfinish(rwm); } #line 9162 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 542: -#line 5147 "rwlparser.y" /* yacc.c:1646 */ +#line 5148 "rwlparser.y" /* yacc.c:1646 */ { sb4 l2; rwl_sql *sq; @@ -9217,7 +9217,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 543: -#line 5200 "rwlparser.y" /* yacc.c:1646 */ +#line 5201 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; rwl_estack *estk; @@ -9251,7 +9251,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 544: -#line 5230 "rwlparser.y" /* yacc.c:1646 */ +#line 5231 "rwlparser.y" /* yacc.c:1646 */ { rwm->mdbsphi = rwm->mdbsplo = rwlexprfinish(rwm); if (!rwm->mdbsplo) @@ -9261,7 +9261,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 545: -#line 5236 "rwlparser.y" /* yacc.c:1646 */ +#line 5237 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *mdb; // are lo/hi good @@ -9294,7 +9294,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 547: -#line 5268 "rwlparser.y" /* yacc.c:1646 */ +#line 5269 "rwlparser.y" /* yacc.c:1646 */ { if (!(rwm->mdbsphi = rwlexprfinish(rwm))) rwlexprclear(rwm); @@ -9303,7 +9303,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 548: -#line 5275 "rwlparser.y" /* yacc.c:1646 */ +#line 5276 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9327,19 +9327,19 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 550: -#line 5298 "rwlparser.y" /* yacc.c:1646 */ +#line 5299 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m3flags, RWL_P3_SPFCONCAT); } #line 9333 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 551: -#line 5299 "rwlparser.y" /* yacc.c:1646 */ +#line 5300 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m3flags, RWL_P3_SPFCONCAT); } #line 9339 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 552: -#line 5303 "rwlparser.y" /* yacc.c:1646 */ +#line 5304 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->strvarn = RWL_VAR_NOTFOUND; @@ -9363,7 +9363,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 553: -#line 5323 "rwlparser.y" /* yacc.c:1646 */ +#line 5324 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpupu(rwm, RWL_CODE_SPRINTF, rwm->strvnam @@ -9381,7 +9381,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 554: -#line 5341 "rwlparser.y" /* yacc.c:1646 */ +#line 5342 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9404,7 +9404,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 556: -#line 5363 "rwlparser.y" /* yacc.c:1646 */ +#line 5364 "rwlparser.y" /* yacc.c:1646 */ { rwm->conhead = rwm->contail = 0; } @@ -9412,7 +9412,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 557: -#line 5367 "rwlparser.y" /* yacc.c:1646 */ +#line 5368 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) rwlcodeaddpup(rwm, RWL_CODE_FPRINTF, rwm->filenam @@ -9437,7 +9437,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 560: -#line 5395 "rwlparser.y" /* yacc.c:1646 */ +#line 5396 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwl_conlist *newcon; @@ -9460,7 +9460,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 561: -#line 5416 "rwlparser.y" /* yacc.c:1646 */ +#line 5417 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; rwm->filvarn = RWL_VAR_NOTFOUND; @@ -9485,7 +9485,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 562: -#line 5438 "rwlparser.y" /* yacc.c:1646 */ +#line 5439 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -9510,7 +9510,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 563: -#line 5462 "rwlparser.y" /* yacc.c:1646 */ +#line 5463 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); @@ -9519,7 +9519,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 564: -#line 5467 "rwlparser.y" /* yacc.c:1646 */ +#line 5468 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTLINE); bic(rwm->mflags,RWL_P_PRINTTOFILE); @@ -9528,13 +9528,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 566: -#line 5475 "rwlparser.y" /* yacc.c:1646 */ +#line 5476 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->mflags,RWL_P_PRINTBLANK); } #line 9534 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 568: -#line 5480 "rwlparser.y" /* yacc.c:1646 */ +#line 5481 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -9596,7 +9596,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 569: -#line 5541 "rwlparser.y" /* yacc.c:1646 */ +#line 5542 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->mflags,RWL_P_PRINTLINE)) { @@ -9632,7 +9632,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 570: -#line 5576 "rwlparser.y" /* yacc.c:1646 */ +#line 5577 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->codename) { @@ -9647,7 +9647,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 571: -#line 5591 "rwlparser.y" /* yacc.c:1646 */ +#line 5592 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; switch (rwm->assignoper) @@ -9700,7 +9700,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 572: -#line 5640 "rwlparser.y" /* yacc.c:1646 */ +#line 5641 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_NO_VALID_EXPRESSION); rwlexprclear(rwm); @@ -9710,7 +9710,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 574: -#line 5650 "rwlparser.y" /* yacc.c:1646 */ +#line 5651 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_MISSING_SEMICOLON); yyerrok; @@ -9719,73 +9719,73 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 575: -#line 5657 "rwlparser.y" /* yacc.c:1646 */ +#line 5658 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASSIGN; } #line 9725 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 576: -#line 5658 "rwlparser.y" /* yacc.c:1646 */ +#line 5659 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_GREATEQ; } #line 9731 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 577: -#line 5659 "rwlparser.y" /* yacc.c:1646 */ +#line 5660 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_RSHIFTASSIGN; } #line 9737 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 578: -#line 5660 "rwlparser.y" /* yacc.c:1646 */ +#line 5661 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_LESSEQ; } #line 9743 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 579: -#line 5661 "rwlparser.y" /* yacc.c:1646 */ +#line 5662 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPEFROM; } #line 9749 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 580: -#line 5662 "rwlparser.y" /* yacc.c:1646 */ +#line 5663 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_PIPETO; } #line 9755 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 582: -#line 5666 "rwlparser.y" /* yacc.c:1646 */ +#line 5667 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_APPEND; } #line 9761 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 583: -#line 5667 "rwlparser.y" /* yacc.c:1646 */ +#line 5668 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNADD; } #line 9767 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 584: -#line 5668 "rwlparser.y" /* yacc.c:1646 */ +#line 5669 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNSUB; } #line 9773 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 585: -#line 5669 "rwlparser.y" /* yacc.c:1646 */ +#line 5670 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIS; } #line 9779 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 586: -#line 5670 "rwlparser.y" /* yacc.c:1646 */ +#line 5671 "rwlparser.y" /* yacc.c:1646 */ { rwm->assignoper = RWL_T_ASNBIC; } #line 9785 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 587: -#line 5677 "rwlparser.y" /* yacc.c:1646 */ +#line 5678 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; rwlexprpush(rwm, rwm->assignvar, RWL_STACK_ASN); @@ -9796,7 +9796,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 588: -#line 5684 "rwlparser.y" /* yacc.c:1646 */ +#line 5685 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; sb4 l; @@ -9826,7 +9826,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 590: -#line 5710 "rwlparser.y" /* yacc.c:1646 */ +#line 5711 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeadd0(rwm, RWL_CODE_LIBEG); rwm->rsllihead[rwm->rsldepth] @@ -9843,7 +9843,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 592: -#line 5724 "rwlparser.y" /* yacc.c:1646 */ +#line 5725 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_LOOP); rwlexprclear(rwm); @@ -9857,7 +9857,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 595: -#line 5743 "rwlparser.y" /* yacc.c:1646 */ +#line 5744 "rwlparser.y" /* yacc.c:1646 */ { rwl_lilist *thisli = rwlalloc(rwm, sizeof(rwl_lilist)); rwlexprpush(rwm, rwm->loopvar[rwm->rsldepth], RWL_STACK_ASN); @@ -9869,7 +9869,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 598: -#line 5763 "rwlparser.y" /* yacc.c:1646 */ +#line 5764 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); bis(rwm->addvarbits,RWL_IDENT_PRIVATE); @@ -9878,7 +9878,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 599: -#line 5768 "rwlparser.y" /* yacc.c:1646 */ +#line 5769 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->addvarbits,RWL_IDENT_THRSPEC); } @@ -9886,25 +9886,25 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 602: -#line 5777 "rwlparser.y" /* yacc.c:1646 */ +#line 5778 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "execute") ; } #line 9892 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 605: -#line 5784 "rwlparser.y" /* yacc.c:1646 */ +#line 5785 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; } #line 9898 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 608: -#line 5791 "rwlparser.y" /* yacc.c:1646 */ +#line 5792 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "if") ; yyerrok; } #line 9904 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 611: -#line 5798 "rwlparser.y" /* yacc.c:1646 */ +#line 5799 "rwlparser.y" /* yacc.c:1646 */ { if (0 != rwlstrcmp(rwm->inam, rwm->sqname)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname); @@ -9913,13 +9913,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 612: -#line 5803 "rwlparser.y" /* yacc.c:1646 */ +#line 5804 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END2, "sql", rwm->sqname) ; yyerrok; } #line 9919 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 614: -#line 5809 "rwlparser.y" /* yacc.c:1646 */ +#line 5810 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile1]"); @@ -9934,7 +9934,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 615: -#line 5820 "rwlparser.y" /* yacc.c:1646 */ +#line 5821 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->rsldepth) rwlsevere(rwm, "[rwlparser-rsldependwhile2]"); @@ -9949,7 +9949,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 616: -#line 5831 "rwlparser.y" /* yacc.c:1646 */ +#line 5832 "rwlparser.y" /* yacc.c:1646 */ { if (bit(rwm->rslflags[rwm->rsldepth-1], RWL_RSLFLAG_WHILOP)) rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "loop") ; @@ -9961,7 +9961,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 617: -#line 5842 "rwlparser.y" /* yacc.c:1646 */ +#line 5843 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = 0; } @@ -9969,7 +9969,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 618: -#line 5847 "rwlparser.y" /* yacc.c:1646 */ +#line 5848 "rwlparser.y" /* yacc.c:1646 */ { rwm->cursorand = rwlexprfinish(rwm); } @@ -9977,7 +9977,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 620: -#line 5854 "rwlparser.y" /* yacc.c:1646 */ +#line 5855 "rwlparser.y" /* yacc.c:1646 */ { char plsword[6]; /* check for "begin" or "decla" or "--" */ ub4 sb, pb, len; @@ -10036,7 +10036,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 621: -#line 5911 "rwlparser.y" /* yacc.c:1646 */ +#line 5912 "rwlparser.y" /* yacc.c:1646 */ { rwm->loc.errlin = 0; rwm->sqlfile = 0; /* not from a file */ @@ -10045,7 +10045,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 622: -#line 5916 "rwlparser.y" /* yacc.c:1646 */ +#line 5917 "rwlparser.y" /* yacc.c:1646 */ { rwlexprbeg(rwm); } @@ -10053,7 +10053,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 623: -#line 5920 "rwlparser.y" /* yacc.c:1646 */ +#line 5921 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; FILE *f ; @@ -10138,7 +10138,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 624: -#line 6003 "rwlparser.y" /* yacc.c:1646 */ +#line 6004 "rwlparser.y" /* yacc.c:1646 */ { sb4 l; /* lookup the file and check it is a file */ @@ -10162,7 +10162,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 625: -#line 6023 "rwlparser.y" /* yacc.c:1646 */ +#line 6024 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->filvarn>=0) // everything is good { @@ -10189,7 +10189,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 626: -#line 6047 "rwlparser.y" /* yacc.c:1646 */ +#line 6048 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_BAD_READLINE); yyerrok; @@ -10198,13 +10198,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 627: -#line 6054 "rwlparser.y" /* yacc.c:1646 */ +#line 6055 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = rwm->sub_estk = 0; } #line 10204 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 628: -#line 6056 "rwlparser.y" /* yacc.c:1646 */ +#line 6057 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } @@ -10212,7 +10212,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 629: -#line 6060 "rwlparser.y" /* yacc.c:1646 */ +#line 6061 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); } @@ -10220,7 +10220,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 630: -#line 6064 "rwlparser.y" /* yacc.c:1646 */ +#line 6065 "rwlparser.y" /* yacc.c:1646 */ { rwm->sub_estk = rwlexprfinish(rwm); } @@ -10228,7 +10228,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 631: -#line 6068 "rwlparser.y" /* yacc.c:1646 */ +#line 6069 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->reg_estk && rwm->str_estk && rwm->sub_estk) { @@ -10271,7 +10271,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 632: -#line 6107 "rwlparser.y" /* yacc.c:1646 */ +#line 6108 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); @@ -10281,7 +10281,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 633: -#line 6116 "rwlparser.y" /* yacc.c:1646 */ +#line 6117 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m2flags, RWL_P2_REGEXSUBG); } @@ -10289,7 +10289,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 634: -#line 6120 "rwlparser.y" /* yacc.c:1646 */ +#line 6121 "rwlparser.y" /* yacc.c:1646 */ { bis(rwm->m2flags, RWL_P2_REGEXSUBG); } @@ -10297,13 +10297,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 635: -#line 6126 "rwlparser.y" /* yacc.c:1646 */ +#line 6127 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } #line 10303 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 636: -#line 6128 "rwlparser.y" /* yacc.c:1646 */ +#line 6129 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } @@ -10311,7 +10311,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 637: -#line 6132 "rwlparser.y" /* yacc.c:1646 */ +#line 6133 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; @@ -10320,7 +10320,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 638: -#line 6137 "rwlparser.y" /* yacc.c:1646 */ +#line 6138 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10357,7 +10357,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 639: -#line 6171 "rwlparser.y" /* yacc.c:1646 */ +#line 6172 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); @@ -10367,13 +10367,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 640: -#line 6180 "rwlparser.y" /* yacc.c:1646 */ +#line 6181 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwm->str_estk = 0; } #line 10373 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 641: -#line 6182 "rwlparser.y" /* yacc.c:1646 */ +#line 6183 "rwlparser.y" /* yacc.c:1646 */ { rwm->reg_estk = rwlexprfinish(rwm); } @@ -10381,7 +10381,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 642: -#line 6186 "rwlparser.y" /* yacc.c:1646 */ +#line 6187 "rwlparser.y" /* yacc.c:1646 */ { rwm->str_estk = rwlexprfinish(rwm); rwm->idlist = rwm->idtail = 0; @@ -10390,7 +10390,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 643: -#line 6191 "rwlparser.y" /* yacc.c:1646 */ +#line 6192 "rwlparser.y" /* yacc.c:1646 */ { #if RWL_OS != RWL_WINDOWS if (rwm->reg_estk && rwm->str_estk) @@ -10427,7 +10427,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 644: -#line 6225 "rwlparser.y" /* yacc.c:1646 */ +#line 6226 "rwlparser.y" /* yacc.c:1646 */ { rwlexprclear(rwm); rwlerror(rwm, RWL_ERROR_BAD_REGEX); @@ -10437,7 +10437,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 647: -#line 6238 "rwlparser.y" /* yacc.c:1646 */ +#line 6239 "rwlparser.y" /* yacc.c:1646 */ { rwl_idlist *newid = rwlalloc(rwm, sizeof(rwl_idlist)); @@ -10482,7 +10482,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 648: -#line 6281 "rwlparser.y" /* yacc.c:1646 */ +#line 6282 "rwlparser.y" /* yacc.c:1646 */ { /* start a dummy assignment such that the system expression gets executed */ rwm->assignvar = RWL_DUMMY_VAR; @@ -10493,7 +10493,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 649: -#line 6290 "rwlparser.y" /* yacc.c:1646 */ +#line 6291 "rwlparser.y" /* yacc.c:1646 */ { rwl_estack *estk; if ((estk = rwlexprfinish(rwm))) @@ -10513,7 +10513,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 650: -#line 6315 "rwlparser.y" /* yacc.c:1646 */ +#line 6316 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->threadlist) rwlsevere(rwm, "[rwlparser-thrlistnotclean]"); @@ -10528,7 +10528,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 651: -#line 6327 "rwlparser.y" /* yacc.c:1646 */ +#line 6328 "rwlparser.y" /* yacc.c:1646 */ { rwl_thrinfo *next; rwm->loc.errlin = rwm->lexlino; @@ -10551,13 +10551,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 652: -#line 6346 "rwlparser.y" /* yacc.c:1646 */ +#line 6347 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } #line 10557 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 657: -#line 6360 "rwlparser.y" /* yacc.c:1646 */ +#line 6361 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->cqnstop = 0.0; rwm->cqnnow = rwlclock(rwm->mxq,0); @@ -10566,7 +10566,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 658: -#line 6365 "rwlparser.y" /* yacc.c:1646 */ +#line 6366 "rwlparser.y" /* yacc.c:1646 */ { rwl_cinfo *cp; sb4 l; @@ -10594,7 +10594,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 659: -#line 6390 "rwlparser.y" /* yacc.c:1646 */ +#line 6391 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstop = rwm->pval.dval; if (rwm->cqnstop < rwm->cqnstart || rwm->cqnstop < rwm->cqnnow) @@ -10607,7 +10607,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 660: -#line 6399 "rwlparser.y" /* yacc.c:1646 */ +#line 6400 "rwlparser.y" /* yacc.c:1646 */ { if (!rwm->cqnat) { @@ -10663,7 +10663,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 661: -#line 6451 "rwlparser.y" /* yacc.c:1646 */ +#line 6452 "rwlparser.y" /* yacc.c:1646 */ { if (rwm->cqnat) // no errors above { @@ -10692,7 +10692,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 662: -#line 6476 "rwlparser.y" /* yacc.c:1646 */ +#line 6477 "rwlparser.y" /* yacc.c:1646 */ { rwlcodehead(rwm, 0); if (rwm->cqnat) // No error above @@ -10724,7 +10724,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 663: -#line 6504 "rwlparser.y" /* yacc.c:1646 */ +#line 6505 "rwlparser.y" /* yacc.c:1646 */ { rwlcodeaddu(rwm, RWL_CODE_CQNISCB, 0); // Is in callback rwlcodetail(rwm); @@ -10733,7 +10733,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 667: -#line 6515 "rwlparser.y" /* yacc.c:1646 */ +#line 6516 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "querynotification"); yyerrok; @@ -10742,7 +10742,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 669: -#line 6524 "rwlparser.y" /* yacc.c:1646 */ +#line 6525 "rwlparser.y" /* yacc.c:1646 */ { rwm->cqnstart = rwm->pval.dval; } @@ -10750,7 +10750,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 670: -#line 6531 "rwlparser.y" /* yacc.c:1646 */ +#line 6532 "rwlparser.y" /* yacc.c:1646 */ { bic(rwm->m4flags, RWL_P4_PROCHASSQL); if (rwm->pval.ival < 0) @@ -10770,7 +10770,7 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 671: -#line 6549 "rwlparser.y" /* yacc.c:1646 */ +#line 6550 "rwlparser.y" /* yacc.c:1646 */ { rwlcodetail(rwm); } @@ -10778,13 +10778,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 673: -#line 6554 "rwlparser.y" /* yacc.c:1646 */ +#line 6555 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ILLEGAL_THREAD); yyerrok; } #line 10784 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 675: -#line 6559 "rwlparser.y" /* yacc.c:1646 */ +#line 6560 "rwlparser.y" /* yacc.c:1646 */ { rwm->mythr->dbnam = rwm->inam; } @@ -10792,13 +10792,13 @@ YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); break; case 678: -#line 6568 "rwlparser.y" /* yacc.c:1646 */ +#line 6569 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "threads") ; } #line 10798 "rwlparser.tab.c" /* yacc.c:1646 */ break; case 681: -#line 6576 "rwlparser.y" /* yacc.c:1646 */ +#line 6577 "rwlparser.y" /* yacc.c:1646 */ { rwlerror(rwm, RWL_ERROR_ONLY_THIS_AFTER_END, "run") ; } #line 10804 "rwlparser.tab.c" /* yacc.c:1646 */ break; diff --git a/src/rwlparser.tab.h b/src/rwlparser.tab.h index a775b588..2ace8fbc 100644 --- a/src/rwlparser.tab.h +++ b/src/rwlparser.tab.h @@ -226,7 +226,7 @@ extern int rwlydebug; union RWLYSTYPE { -#line 481 "rwlparser.y" /* yacc.c:1909 */ +#line 482 "rwlparser.y" /* yacc.c:1909 */ /* this must be declared as it is ifdef'ed as YYSTYPE ** but we never actually use it as the lexer sets diff --git a/src/rwlparser.y b/src/rwlparser.y index 0b8c8a3f..2f727ac0 100644 --- a/src/rwlparser.y +++ b/src/rwlparser.y @@ -11,6 +11,7 @@ * * History * + * bengsig 28-nov-2024 - OCI_MAJOR_VERSION -> RWL_OCI_VERSION * mkdash 24-oct-2024 - implement bash like procedure calls * bengsig 23-oct-2024 - clear RWL_P4_PROCHASSQL at various for loops in main * bengsig 10-oct-2024 - sessionpool release every/count @@ -1019,7 +1020,7 @@ poolrelease: poolreleasecount: RWL_T_RELEASE RWL_T_COUNT compiletime_expression { -#if (OCI_MAJOR_VERSION > 12) +#if (RWL_OCI_VERSION > 12) if (rwm->dbsav) { if (RWL_DBPOOL_CONNECT==rwm->dbsav->pooltype) @@ -1043,7 +1044,7 @@ poolreleasecount: poolreleaseevery: RWL_T_RELEASE RWL_T_EVERY compiletime_expression { -#if (OCI_MAJOR_VERSION > 12) +#if (RWL_OCI_VERSION > 12) if (rwm->dbsav) { if (RWL_DBPOOL_CONNECT==rwm->dbsav->pooltype) @@ -1080,7 +1081,7 @@ maybewait: %empty | RWL_T_WAIT compiletime_expression { -#if (OCI_MAJOR_VERSION >= 12) +#if (RWL_OCI_VERSION >= 12) if (rwm->dbsav && rwm->pval.dval >= 0) rwm->dbsav->wtimeout = rwm->pval.dval; #else diff --git a/src/rwlsql.c b/src/rwlsql.c index 158fb638..149a447c 100644 --- a/src/rwlsql.c +++ b/src/rwlsql.c @@ -11,6 +11,7 @@ * * History * + * bengsig 28-nov-2024 - OCI_MAJOR_VERSION -> RWL_OCI_VERSION * bengsig 10-oct-2024 - sessionpool release count/every * bengsig 3-sep-2024 - clean up DEBUG_MISC * bengsig 28-jul-2024 - Save OCISessionGet errors @@ -388,7 +389,7 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) goto handledberror; } } -#if (OCI_MAJOR_VERSION > 12) +#if (RWL_OCI_VERSION > 12) if (db->pmaxuse) { if (OCI_SUCCESS != @@ -412,7 +413,7 @@ void rwldbconnect(rwl_xeqenv *xev, rwl_location *cloc, rwl_cinfo *db) } } #endif -#if (OCI_MAJOR_VERSION >= 12) +#if (RWL_OCI_VERSION >= 12) if (db->wtimeout) { ub1attr = OCI_SPOOL_ATTRVAL_TIMEDWAIT; diff --git a/test/TEST.md b/test/TEST.md index 77f7d63b..fd9bb273 100644 --- a/test/TEST.md +++ b/test/TEST.md @@ -188,8 +188,8 @@ The expected differences can be due to timing or performance, versions, portabil You should always investigate why differences are there, and if you are confident the results are actually good, you can overwrite the .good files to achieve a clean test. -The distributed .good files were created using a database release 21.3 running -on Oracle Linux 7. +The distributed .good files were created using a database release 21.16 running +on Oracle Linux 8. The following lists some tests with known potential differences, although the list is not comprehensive. diff --git a/test/testres/184.out.good b/test/testres/184.out.good index bc03418d..6cd9861f 100644 --- a/test/testres/184.out.good +++ b/test/testres/184.out.good @@ -1,2 +1,2 @@ -21.9.0.0.0 21.9.0.0.0 -21.9.0.0.0 21.9.0.0.0 +21.16.0.0.0 21.16.0.0.0 +21.16.0.0.0 21.16.0.0.0 diff --git a/test/testres/205.out.good b/test/testres/205.out.good index 1db6904c..323247ca 100644 --- a/test/testres/205.out.good +++ b/test/testres/205.out.good @@ -1,5 +1,5 @@ -21.9.0.0.0 21.9.0.0.0 -21.9.0.0.0 21.9.0.0.0 -default:21.9.0.0.0 +21.16.0.0.0 21.16.0.0.0 +21.16.0.0.0 21.16.0.0.0 +default:21.16.0.0.0 results: -results:21.9.0.0.0 +results:21.16.0.0.0 From f3a5fd9f99cb24774d07be971fb75bedd5120b91 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 2 Dec 2024 12:18:28 +0000 Subject: [PATCH 114/118] testdb => 21.16 --- test/TEST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/TEST.md b/test/TEST.md index fd9bb273..74fd2d07 100644 --- a/test/TEST.md +++ b/test/TEST.md @@ -34,7 +34,7 @@ access the root database as a DBA as well as using "as sysdba". The database _must_ be registered with a listener to execute the actual tests; connections via ORACLE_SID are not sufficient. Note that some tests include output of the actual database version, and that this -currently is version 21.9. +currently is version 21.16. Therefore, if your test database is some other version, certain differences are expected. The file testuser.sql drops and creates the test user. From e45dd2179a4906d72c3d4c18b947089bef2a4203 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 2 Dec 2024 13:37:16 +0000 Subject: [PATCH 115/118] Release 3.2 Production --- docs/index.md | 4 ++-- src/rwl.h | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/index.md b/docs/index.md index a846c46c..da8189fe 100644 --- a/docs/index.md +++ b/docs/index.md @@ -46,8 +46,8 @@ you will find both sources and binary distributions. * [WHATISIT.md](WHATISIT.md) What is the RWP*Load Simulator * [INTRODUCTION.md](INTRODUCTION.md) A brief introduction the RWP*Load Simulator * [INSTALL.md](INSTALL.md) Install the software from binary distribution and create the repository -* [NEWS32.md](NEWS32.md) News in version 3.1 -* [NEWS31.md](NEWS31.md) News in version 3.1 +* [NEWS32.md](NEWS32.md) News in version 3.2 +* [NEWS31.md](NEWS31.md) News in versions 3.0 and 3.1 * [WORKING.md](WORKING.md) Working with rwloadsim using a few examples * [SCRIPTING.md](SCRIPTING.md) Using rwloadsim for scripting diff --git a/src/rwl.h b/src/rwl.h index 8ce402f0..69e5287c 100644 --- a/src/rwl.h +++ b/src/rwl.h @@ -11,6 +11,7 @@ * * History * + * bengsig 1-dec-2024 - Releasing 3.2.0 production * mkdash 24-oct-2024 - implement bash like procedure calls * bengsig 10-oct-2024 - sessionpool release every/count * bengsig 2-sep-2024 - |= (bis) and &~= (bic) assignments @@ -2357,9 +2358,9 @@ extern const char rwlexecbanner[]; #define RWL_EXTRA_VERSION_TEXT "" #define RWL_VERSION_MAJOR 3 -#define RWL_VERSION_MINOR 1 -#define RWL_VERSION_RELEASE 3 -#define RWL_VERSION_TEXT "Development" RWL_EXTRA_VERSION_TEXT +#define RWL_VERSION_MINOR 2 +#define RWL_VERSION_RELEASE 0 +#define RWL_VERSION_TEXT "Production" RWL_EXTRA_VERSION_TEXT #define RWL_VERSION_DATE // undef to not include compile date extern ub4 rwlpatch; From 5858e4ee5f1c5ea1d09695e4ae3d2512077f1af6 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 2 Dec 2024 15:36:30 +0000 Subject: [PATCH 116/118] 3.1->3.2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 109732b0..a300a1a7 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ installation using rwlman and from ## News -Release 3.1 includes several new features with primary focus on using rwloadsim +Releases 3.2 and earlier 3.1 include several new features with primary focus on using rwloadsim as a scripting tool. For details, see [CHANGELOG.md](CHANGELOG.md). From 6bb95a2384b652415104e0f037d98d3525502cb7 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Mon, 2 Dec 2024 15:46:55 +0000 Subject: [PATCH 117/118] A few final 3.2 changes --- admin/{rwl314.sql => rwl320.rwl} | 0 docs/INSTALL.md | 10 +++++----- docs/ORACLENET.md | 4 ++-- docs/refman/databasedeclaration.html | 2 +- docs/refman/identifier.html | 2 +- docs/refman/statement.html | 2 +- docs/refman/statementlist.html | 2 +- docs/refman/variable.html | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) rename admin/{rwl314.sql => rwl320.rwl} (100%) diff --git a/admin/rwl314.sql b/admin/rwl320.rwl similarity index 100% rename from admin/rwl314.sql rename to admin/rwl320.rwl diff --git a/docs/INSTALL.md b/docs/INSTALL.md index e0872741..3e19bda9 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -7,7 +7,7 @@ There are three types of binary distributions available at github releases: ### Using complete binaries -Complete binaries distributed in a file such rwloadsim-linux-x86_64-bin-3.1.3.tgz +Complete binaries distributed in a file such rwloadsim-linux-x86_64-bin-3.2.0.tgz can be used as is, i.e. without getting a clone or pull from github. It should be used if you simply want a full run time environment and it contains the following directories: @@ -36,7 +36,7 @@ On the system where you are going to run rwloadsim, create a (possibly shared) directory where you simply use a command like ``` -tar -zxvf rwloadsim-linux-x86_64-bin-3.1.3.tgz +tar -zxvf rwloadsim-linux-x86_64-bin-3.2.0.tgz ``` One install can be shared between several users as long as all have access to the directory. If appropriate, you can put the directory on an NFS (or some other) share and make it available to multiple systems. @@ -138,10 +138,10 @@ If you are sharing the repository between many different users/projects, having the grants are set to only allow the needed access to the various repository tables. For most tables, this is insert and select. -### Updating the repository to version 3.1.4 +### Updating the repository to version 3.2.0 -In version 3.1.4, there are a few changed tables in the repository -and you need to log in to your repository schema and execute rwl314.sql. +In version 3.2.0 there were a few changed tables in the repository +and you need to log in to your repository schema and execute rwl320.sql. Note that repository updates are not cummulative. diff --git a/docs/ORACLENET.md b/docs/ORACLENET.md index f45879f2..f7569b9b 100644 --- a/docs/ORACLENET.md +++ b/docs/ORACLENET.md @@ -52,7 +52,7 @@ or ```rwlman nettest```. In addition to being part of the full rwloadsim distribution, the three utilities are distributed together with other as completely stand-alone -executables in the file generated-linux-x86_64-bin-3.1.3.tgz. +executables in the file generated-linux-x86_64-bin-3.2.0.tgz. It only contains the executable files, and they can be used without a complete installation of rwloadsim, as long as there is an Oracle client environment that can be an ordinary installation or an Instant Client installation. @@ -63,7 +63,7 @@ with Instant Client it is the top directory of the installation. After download, simply execute ``` -tar -zxvf generated-linux-x86_64-bin-3.1.3.tgz +tar -zxvf generated-linux-x86_64-bin-3.2.0.tgz ``` and possibly move the executables to one of the directories in your PATH. To get help for either, call it with the -h option. diff --git a/docs/refman/databasedeclaration.html b/docs/refman/databasedeclaration.html index 3faec9f9..53595cd7 100644 --- a/docs/refman/databasedeclaration.html +++ b/docs/refman/databasedeclaration.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/identifier.html b/docs/refman/identifier.html index ed262108..dee4bd1b 100644 --- a/docs/refman/identifier.html +++ b/docs/refman/identifier.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/statement.html b/docs/refman/statement.html index f9c86b1d..e7daf834 100644 --- a/docs/refman/statement.html +++ b/docs/refman/statement.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/statementlist.html b/docs/refman/statementlist.html index f9c86b1d..e7daf834 100644 --- a/docs/refman/statementlist.html +++ b/docs/refman/statementlist.html @@ -1,5 +1,5 @@ - + diff --git a/docs/refman/variable.html b/docs/refman/variable.html index ed262108..dee4bd1b 100644 --- a/docs/refman/variable.html +++ b/docs/refman/variable.html @@ -1,5 +1,5 @@ - + From 894e5c4b0d817dbf8bc0fdccff449ea8394aa094 Mon Sep 17 00:00:00 2001 From: Bjorn Kisbye Engsig Date: Thu, 5 Dec 2024 12:02:52 +0000 Subject: [PATCH 118/118] Add sqlexplain, use CLOB in sqlreport, sqlmonitor --- bin/sqlexplain | 13 ++++ docs/refman/Makefile.refman | 3 +- docs/refman/sqlexplain.html | 143 ++++++++++++++++++++++++++++++++++++ docs/refman/sqlmonitor.html | 5 +- docs/refman/sqlreport.html | 5 +- man/man2rwl/sqlexplain.2rwl | 67 +++++++++++++++++ man/man2rwl/sqlmonitor.2rwl | 2 +- man/man2rwl/sqlreport.2rwl | 2 +- public/sqlexplain.rwl | 79 ++++++++++++++++++++ public/sqlmonitor.rwl | 37 ++++------ public/sqlreport.rwl | 24 +++--- 11 files changed, 338 insertions(+), 42 deletions(-) create mode 100755 bin/sqlexplain create mode 100644 docs/refman/sqlexplain.html create mode 100644 man/man2rwl/sqlexplain.2rwl create mode 100644 public/sqlexplain.rwl diff --git a/bin/sqlexplain b/bin/sqlexplain new file mode 100755 index 00000000..cfad2c10 --- /dev/null +++ b/bin/sqlexplain @@ -0,0 +1,13 @@ +#!/bin/sh + +# RWP*Load Simulator +# +# Copyright (c) 2024 Oracle Corporation +# Licensed under the Universal Permissive License v 1.0 +# as shown at https://oss.oracle.com/licenses/upl/ +# +# call rwloadsim -u sqlreport.rwl + +# bengsig 6-dec-2024 - Created + +exec rwloadsim --pretend-gen-banner='RWP*SQL Explain' -u sqlexplain.rwl "$@" diff --git a/docs/refman/Makefile.refman b/docs/refman/Makefile.refman index fc2089a2..e249209a 100644 --- a/docs/refman/Makefile.refman +++ b/docs/refman/Makefile.refman @@ -21,7 +21,7 @@ ALL1=atclause.html bengsig.html compoundstatement.html conditional.html controlloop.html database.html databasedeclaration.html databasestatement.html declaration.html directive.html double.html expression.html filestatement.html histogram.html identifier.html include.html integer.html lob.html lobdeclaration.html multiprocess.html oerstats.html percentiles.html persec.html proceduredeclaration.html randomproceduredeclaration.html randomstringdeclaration.html regex.html runres.html rwlcpu.html rwlman.html rwloadsim.html rwlprogram.html rwlrun.html simpledeclaration.html sqldeclaration.html sqlexecution.html sqlstatement.html statement.html statistics.html string.html sysres.html threadexecution.html useroption.html rwlerror.html random.html procedure.html printfstatement.html cqnthread.html clob.html concatenation.html constant.html cursor.html cursorloop.html directives.html executionblock.html file.html forloop.html fractiles.html function.html functiondeclaration.html histogram_a.html if.html ifstatement.html longoption.html loop.html persec_a.html printline.html readline.html readlob.html readloop.html regexextract.html regexsearch.html regexsubstitute.html run.html runres_a.html rwl.html rwlcpu_a.html scalardeclaration.html sql.html statementlist.html thread.html threads.html userswitch.html variable.html while.html writeline.html writelob.html userhelp.html -ALL2=ashplot.html awrreport.html awreport.html awrdump.html connping.html nettest.html oltp.html oltpcheckkey.html oltpcore.html oltpcreate.html oltpday.html oltpping.html oltpdrop.html oltpfilloe.html oltpforever.html oltpparams.html oltpplot.html oltprun.html oltpscale.html oltpscalereport.html oltpverify.html ovid2.html sqlid2file.html sqlmonitor.html sqlmonitorawr.html ociping.html oltpsetup.html oltpawcols.html oltpplus.html oltpconnect.html utilities.html sqlreport.html netthroughput.html oltpxcset.html oltpxcrun.html oltpxc.html oltpdirectory.html oltpkomment.html ashdata.html rwlash.html filecommands.html +ALL2=ashplot.html awrreport.html awreport.html awrdump.html connping.html nettest.html oltp.html oltpcheckkey.html oltpcore.html oltpcreate.html oltpday.html oltpping.html oltpdrop.html oltpfilloe.html oltpforever.html oltpparams.html oltpplot.html oltprun.html oltpscale.html oltpscalereport.html oltpverify.html ovid2.html sqlid2file.html sqlexplain.html sqlmonitor.html sqlmonitorawr.html ociping.html oltpsetup.html oltpawcols.html oltpplus.html oltpconnect.html utilities.html sqlreport.html netthroughput.html oltpxcset.html oltpxcrun.html oltpxc.html oltpdirectory.html oltpkomment.html ashdata.html rwlash.html filecommands.html all: $(ALL1) $(ALL2) @@ -145,6 +145,7 @@ oltpverify.html: ../../man/man2rwl/oltpverify.2rwl ovid2.html: ../../man/man2rwl/ovid2.2rwl sqlid2file.html: ../../man/man2rwl/sqlid2file.2rwl sqlreport.html: ../../man/man2rwl/sqlreport.2rwl +sqlexplain.html: ../../man/man2rwl/sqlexplain.2rwl sqlmonitor.html: ../../man/man2rwl/sqlmonitor.2rwl sqlmonitorawr.html: ../../man/man2rwl/sqlmonitorawr.2rwl rwlash.html: ../../man/man2rwl/rwlash.2rwl diff --git a/docs/refman/sqlexplain.html b/docs/refman/sqlexplain.html new file mode 100644 index 00000000..4e20dc11 --- /dev/null +++ b/docs/refman/sqlexplain.html @@ -0,0 +1,143 @@ + + + + + + + + + +sqlexplain + + + + +

    sqlexplain

    + +NAME
    +SYNOPSIS
    +OPTIONS
    +EXAMPLE
    +COPYRIGHT
    +SEE ALSO
    + +
    + + +

    NAME + +

    + + +

    sqlexplain +− Create an explain plan

    + +

    SYNOPSIS + +

    + + +

    sqlexplain +[options] -l u/p@c sqlid

    + +

    For the +provided sqlid, the sqlexplain utility will write an explain +plan to stdout calling dbms_xplan.display_cursor or +dbms_xplan.display_awr

    + +

    OPTIONS + +

    + + +

    -l +u/p

    + +

    -l +u/p@c

    + +

    Compulsory option to provide +the username, password, and potentially connect string for a +database connection that provides access to a login with +access to various gv$ and dba_ views. If you omit /p, +rwloadsim will prompt for the password.

    + + +

    --awr

    + +

    Use the display_awr function +rather then the display_cursor function from the dbms_xplan +package.

    + + +

    --format=’ +text string ’

    + +

    Provide the format argument; +the default is ’last, all, allstats’.

    + + +

    --child-no=child#

    + +

    When using the display_cursor +function, provide this cursor_child_no, the default is +0.

    + + +

    --sessionid=sid +
    +--instance=inst#

    + +

    Rather than providing the sqlid +as a command line argument, get it by querying v$session for +the provided sessionid or gv$session for the provided +sessionid and instance number.

    + + +

    sqlid

    + +

    Unless +--sessionid is specified, exactly one sqlid must be given as +a command line argument.

    + +

    EXAMPLE + +

    + + +
    sqlexplain -l system/{password} 07rw9znc8g7aj
    + + +

    will print the +output of running the query select * from +table(dbms_xplan.display_cursor(’07rw9znc8g7aj’,0,’last, +all, allstats’)) to stdout

    + +

    COPYRIGHT + +

    + + +

    Copyright +© 2024 Oracle Corporation
    +Licensed under the Universal Permissive License v 1.0 as +shown at https://oss.oracle.com/licenses/upl

    + +

    SEE ALSO + +

    + + + +

    rwloadsim(1rwl), +sqlreport(2rwl), sqlmonitor(2rwl) sqlmonitorawr(2rwl), +utilities(2rwl)

    +
    + + diff --git a/docs/refman/sqlmonitor.html b/docs/refman/sqlmonitor.html index 9a162fdf..62c53eaa 100644 --- a/docs/refman/sqlmonitor.html +++ b/docs/refman/sqlmonitor.html @@ -1,5 +1,5 @@ - + @@ -157,7 +157,8 @@

    SEE ALSO

    rwloadsim(1rwl), -sqlreport(2rwl), sqlmonitorawr(2rwl), utilities(2rwl)

    +sqlreport(2rwl), sqlmonitorawr(2rwl), sqlexplain(2rwl), +utilities(2rwl)


    diff --git a/docs/refman/sqlreport.html b/docs/refman/sqlreport.html index 0be28d2a..3017f1c3 100644 --- a/docs/refman/sqlreport.html +++ b/docs/refman/sqlreport.html @@ -1,5 +1,5 @@ - + @@ -125,7 +125,8 @@

    SEE ALSO

    rwloadsim(1rwl), -sqlmonitor(2rwl) sqlmonitorawr(2rwl), utilities(2rwl)

    +sqlmonitor(2rwl) sqlmonitorawr(2rwl), sqlexplain(2rwl), +utilities(2rwl)


    diff --git a/man/man2rwl/sqlexplain.2rwl b/man/man2rwl/sqlexplain.2rwl new file mode 100644 index 00000000..9b475aa4 --- /dev/null +++ b/man/man2rwl/sqlexplain.2rwl @@ -0,0 +1,67 @@ +.TH sqlexplain "2rwl" "December 2024" "RWP*Load Simulator" "Utilities Syntax" +.SH NAME +sqlexplain \- Create an explain plan +.SH SYNOPSIS +\fBsqlexplain [options] -l u/p@c sqlid \fR +.P +For the provided sqlid, the sqlexplain utility will write an explain plan +to stdout +calling dbms_xplan.display_cursor or dbms_xplan.display_awr +.P +.SH OPTIONS +.B -l u/p +.P +.B -l u/p@c +.RS 4 +Compulsory option to provide the username, password, and potentially +connect string for a database connection that provides access to +a login with access to various gv$ and dba_ views. +If you omit /p, rwloadsim will prompt for the password. +.RE +.P +.B --awr +.RS 4 +Use the display_awr function rather then the display_cursor function from the dbms_xplan package. +.RE +.P +.B --format=' text string ' +.RS 4 +Provide the format argument; the default is 'last, all, allstats'. +.RE +.P +.B --child-no=child# +.RS 4 +When using the display_cursor function, provide this cursor_child_no, the default is 0. +.RE +.P +.B --sessionid=sid +.br +.B --instance=inst# +.RS 4 +Rather than providing the sqlid as a command line argument, get it by querying +v$session for the provided sessionid +or gv$session for the provided sessionid and instance number. +.RE +.P +\fBsqlid\fR +.RS 4 +.P +Unless --sessionid is specified, exactly one sqlid must be given as a command line argument. +.RE +.SH EXAMPLE +.nf +\fC +sqlexplain -l system/{password} 07rw9znc8g7aj +\fR +.fi +.P +will print the output of running the query +select * from table(dbms_xplan.display_cursor('07rw9znc8g7aj',0,'last, all, allstats')) +to stdout +.SH COPYRIGHT +Copyright \(co 2024 Oracle Corporation +.br +Licensed under the Universal Permissive License v 1.0 +as shown at https://oss.oracle.com/licenses/upl +.SH "SEE ALSO" +rwloadsim(1rwl), sqlreport(2rwl), sqlmonitor(2rwl) sqlmonitorawr(2rwl), utilities(2rwl) diff --git a/man/man2rwl/sqlmonitor.2rwl b/man/man2rwl/sqlmonitor.2rwl index 5f5f2e0c..fd94d2b2 100644 --- a/man/man2rwl/sqlmonitor.2rwl +++ b/man/man2rwl/sqlmonitor.2rwl @@ -80,4 +80,4 @@ Copyright \(co 2023 Oracle Corporation Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl .SH "SEE ALSO" -rwloadsim(1rwl), sqlreport(2rwl), sqlmonitorawr(2rwl), utilities(2rwl) +rwloadsim(1rwl), sqlreport(2rwl), sqlmonitorawr(2rwl), sqlexplain(2rwl), utilities(2rwl) diff --git a/man/man2rwl/sqlreport.2rwl b/man/man2rwl/sqlreport.2rwl index 8b4471f7..057f0d15 100644 --- a/man/man2rwl/sqlreport.2rwl +++ b/man/man2rwl/sqlreport.2rwl @@ -58,4 +58,4 @@ Copyright \(co 2023 Oracle Corporation Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl .SH "SEE ALSO" -rwloadsim(1rwl), sqlmonitor(2rwl) sqlmonitorawr(2rwl), utilities(2rwl) +rwloadsim(1rwl), sqlmonitor(2rwl) sqlmonitorawr(2rwl), sqlexplain(2rwl), utilities(2rwl) diff --git a/public/sqlexplain.rwl b/public/sqlexplain.rwl new file mode 100644 index 00000000..aa42df44 --- /dev/null +++ b/public/sqlexplain.rwl @@ -0,0 +1,79 @@ +# sqlexplain.rwl +# +# Copyright (c) 2024 Oracle Corporation +# Licensed under the Universal Permissive License v 1.0 +# as shown at https://oss.oracle.com/licenses/upl/ +# +# History +# +# bengsig 5-dec-2024 - Creation +# +# usage: +# +# rwloadsim -ul system/{password}@//host/database sqlexplain.rwl sqlid +# +$alwaysmute:206 + +# If we didn't connect, don't do anything +$if not defined(default database) $then + writeline stderr, "Missing or incorrect -l option; use -h to get help"; + exit 1; +$endif + +$longoption:file-count=1 + +integer sessionid, instance; +integer awr := 0, child_no := 0; +string format := "last, all, allstats"; + + $userhelp:"Create a sql explain plan by calling dbms_xplan.display_cursor" + $userhelp:"-l usr/pwd@con : required option to give database logon" + $userhelp:"sqlid : if provided, use that sqlid" + $useroption:child-no:"--child-no=child# : provide cursor_child_no, default 0" + $useroption:format:"--format='format text' : provide format, default 'last, all, allstats'" + $useroption:sessionid:"--sesssionid=sid : query v$session for the sqlid" + $useroption:instance:"--instance=inst# : query gv$session" + $userswitch:awr:"--awr : use display_awr in stead of display_cursor" + +$oraerror:stop + +string(13) sqlid; + +if $# = 1 then + sqlid := $1; +elseif instance is null and sessionid is not null then + select nvl(sql_id,prev_sql_id) sqlid + from v$session where sid=:sessionid + / +elseif instance is not null and sessionid is not null then + select nvl(sql_id,prev_sql_id) sqlid + from gv$session where sid=:sessionid + and inst_id = :instance + / +end if; + +if sqlid = "" then + writeline stderr, "\nusage: sqlexplain [--help] [options] -l system/{password}@//host/database sqlid"; + exit 1; +end if; + +string(10000) plan_table_output; + +if awr then + for + select * from + table(dbms_xplan.display_awr(sql_id=>:sqlid,format=>:format)) + / + loop + printline plan_table_output; + end loop; +else + for + select * from + table(dbms_xplan.display_cursor(sql_id=>:sqlid,cursor_child_no=>:child_no,format=>:format)) + / + loop + printline plan_table_output; + end loop; +end if; + diff --git a/public/sqlmonitor.rwl b/public/sqlmonitor.rwl index 92700b90..e77d3c7b 100644 --- a/public/sqlmonitor.rwl +++ b/public/sqlmonitor.rwl @@ -6,6 +6,7 @@ # # History # +# bengsig 6-dec-2024 - Use CLOB # bengsig 13-jun-2024 - modernize, call from shell script # bengsig 27-jun-2023 - Fix _, mute # bengsig 28-apr-2022 - Exit on connect error @@ -66,26 +67,22 @@ sqlid := $1; # $mute:46 string(10000000) txt; - -sql rep_sql - begin - :1 := dbms_sql_monitor.report_sql_monitor - ( sql_id => :2 - , sql_exec_id => :3 - , sql_exec_start => to_date(:4,'DD.MM.YYYY"T"HH24:MI:SS') - , sql_plan_hash_value => :5 - , con_name => :6 +clob outcl; +$bindoutname:on + +begin + :outcl := dbms_sql_monitor.report_sql_monitor + ( sql_id => :sqlid + , sql_exec_id => :sql_exec_id + , sql_exec_start => to_date(:sql_exec_start,'DD.MM.YYYY"T"HH24:MI:SS') + , sql_plan_hash_value => :sql_plan_hash_value + , con_name => :con_name , type => 'active' , report_level => 'ALL'); - end; - / - bindout 1 txt; - bind 2 sqlid, 3 sql_exec_id, 4 sql_exec_start; - bind 5 sql_plan_hash_value, 6 con_name; end; +/ -rep_sql; - +readlob outcl, txt; file out; if output_file = "" then @@ -97,8 +94,6 @@ end if; writeline out, txt; out := null; -if output_file = "" then - printline "Created " output_directory "/" sqlid ".html" ; -else - printline "Created " output_directory "/" output_file; -end if; + +printf "Wrote %.1KB to %s/%s\n", lengthb(txt), output_directory, + output_file = "" ? (sqlid ".html" ) : output_file; diff --git a/public/sqlreport.rwl b/public/sqlreport.rwl index 5af1c55e..fb5a6eed 100644 --- a/public/sqlreport.rwl +++ b/public/sqlreport.rwl @@ -6,6 +6,7 @@ # # History # +# bengsig 6-dec-2024 - Use CLOB # bengsig 13-jun-2024 - Modernize # bengsig 28-apr-2022 - Exit on connect error # bengsig 13-apr-2022 - Change output's to use hyphen @@ -48,21 +49,19 @@ end if; sqlid := $1; +clob outcl; string(10000000) txt; +$bindoutname:on -sql rep_sql - begin - :1 := dbms_sqltune.report_sql_detail - ( sql_id => :2 +begin + :outcl := dbms_sqltune.report_sql_detail + ( sql_id => :sqlid , type => 'active' , report_level => 'ALL'); - end; - / - bindout 1 txt; - bind 2 sqlid; end; +/ -rep_sql; +readlob outcl, txt; file out; @@ -75,8 +74,5 @@ end if; writeline out, txt; out := null; -if output_file = "" then - printline "Created " output_directory "/" sqlid ".html" ; -else - printline "Created " output_directory "/" output_file; -end if; +printf "Wrote %.1KB to %s/%s\n", lengthb(txt), output_directory, + output_file = "" ? (sqlid ".html" ) : output_file;