diff --git a/src/OpenFOAM/expressions/exprDriver/exprDriver.C b/src/OpenFOAM/expressions/exprDriver/exprDriver.C index 6c37a88faafe17692814dde725b604778c8157b1..0af06ea570fc3de0ff237e512b58d7c985668004 100644 --- a/src/OpenFOAM/expressions/exprDriver/exprDriver.C +++ b/src/OpenFOAM/expressions/exprDriver/exprDriver.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2010-2018 Bernhard Gschaider <bgschaid@hfd-research.com> - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -92,6 +92,7 @@ Foam::expressions::exprDriver::exprDriver result_(), variableStrings_(), variables_(), + arg1Value_(0), stashedTokenId_(0), // Controls @@ -120,6 +121,7 @@ Foam::expressions::exprDriver::exprDriver result_(rhs.result_), variableStrings_(rhs.variableStrings_), variables_(rhs.variables_), + arg1Value_(rhs.arg1Value_), stashedTokenId_(0), debugScanner_(rhs.debugScanner_), @@ -194,6 +196,18 @@ void Foam::expressions::exprDriver::clearVariables() } +void Foam::expressions::exprDriver::setArgument(scalar val) +{ + arg1Value_ = val; +} + + +Foam::scalar Foam::expressions::exprDriver::argValue() const +{ + return arg1Value_; +} + + void Foam::expressions::exprDriver::evaluateVariable ( const word& varName, diff --git a/src/OpenFOAM/expressions/exprDriver/exprDriver.H b/src/OpenFOAM/expressions/exprDriver/exprDriver.H index 723d45a53d18a51bd33247b4e35a924391829414..d94a0a82cd6b7b371c507be03eb105e3bb828d13 100644 --- a/src/OpenFOAM/expressions/exprDriver/exprDriver.H +++ b/src/OpenFOAM/expressions/exprDriver/exprDriver.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Original code Copyright (C) 2010-2018 Bernhard Gschaider + Copyright (C) 2010-2018 Bernhard Gschaider Copyright (C) 2019 OpenCFD Ltd. ------------------------------------------------------------------------------- License @@ -79,7 +79,7 @@ class exprDriver { protected: - // Private Data + // Protected Data // Stored Data @@ -95,6 +95,9 @@ protected: //- The variables table HashTable<exprResult> variables_; + //- Special-purpose scalar reference argument + scalar arg1Value_; + // Controls, tracing etc. @@ -123,8 +126,6 @@ protected: bool searchFiles_; -protected: - // Protected Member Functions //- Read an interpolation table @@ -292,6 +293,14 @@ public: } + // Globals, Mesh Related + + //- Set special-purpose scalar reference argument. + // Typically available as \c arg() in an expression and + // may corrspond to table index, time value etc. + scalar argValue() const; + + // General Controls //- Get "look-behind" parsing context (internal bookkeeping) @@ -336,6 +345,11 @@ public: //- Clear temporary variables and resets from expression strings virtual void clearVariables(); + //- Set special-purpose scalar reference argument. + // Typically available as \c arg() in an expression and + // may corrspond to table index, time value etc. + virtual void setArgument(const scalar val); + //- True if named variable exists inline virtual bool hasVariable(const word& name) const; diff --git a/src/OpenFOAM/expressions/fields/fieldExprLemonParser.h b/src/OpenFOAM/expressions/fields/fieldExprLemonParser.h index ca96bf3f900775d3933ed74630883321c4393859..57702c282f4c824277b718f9f8e33870edb33d0b 100644 --- a/src/OpenFOAM/expressions/fields/fieldExprLemonParser.h +++ b/src/OpenFOAM/expressions/fields/fieldExprLemonParser.h @@ -25,66 +25,67 @@ #define TOK_RPAREN 25 #define TOK_DEG_TO_RAD 26 #define TOK_RAD_TO_DEG 27 -#define TOK_SCALAR_ID 28 -#define TOK_MIN 29 -#define TOK_COMMA 30 -#define TOK_MAX 31 -#define TOK_SUM 32 -#define TOK_AVERAGE 33 -#define TOK_EXP 34 -#define TOK_LOG 35 -#define TOK_LOG10 36 -#define TOK_SQR 37 -#define TOK_SQRT 38 -#define TOK_CBRT 39 -#define TOK_SIN 40 -#define TOK_COS 41 -#define TOK_TAN 42 -#define TOK_ASIN 43 -#define TOK_ACOS 44 -#define TOK_ATAN 45 -#define TOK_SINH 46 -#define TOK_COSH 47 -#define TOK_TANH 48 -#define TOK_POW 49 -#define TOK_ATAN2 50 -#define TOK_POS 51 -#define TOK_NEG 52 -#define TOK_POS0 53 -#define TOK_NEG0 54 -#define TOK_SIGN 55 -#define TOK_FLOOR 56 -#define TOK_CEIL 57 -#define TOK_ROUND 58 -#define TOK_HYPOT 59 -#define TOK_RAND 60 -#define TOK_VECTOR_ID 61 -#define TOK_SPH_TENSOR_ID 62 -#define TOK_SYM_TENSOR_ID 63 -#define TOK_UNIT_TENSOR 64 -#define TOK_TENSOR_ID 65 -#define TOK_LTRUE 66 -#define TOK_LFALSE 67 -#define TOK_BOOL 68 -#define TOK_BOOL_ID 69 -#define TOK_MAG 70 -#define TOK_MAGSQR 71 -#define TOK_VECTOR 72 -#define TOK_TENSOR 73 -#define TOK_SYM_TENSOR 74 -#define TOK_SPH_TENSOR 75 -#define TOK_CMPT_X 76 -#define TOK_CMPT_Y 77 -#define TOK_CMPT_Z 78 -#define TOK_CMPT_XX 79 -#define TOK_CMPT_XY 80 -#define TOK_CMPT_XZ 81 -#define TOK_CMPT_YX 82 -#define TOK_CMPT_YY 83 -#define TOK_CMPT_YZ 84 -#define TOK_CMPT_ZX 85 -#define TOK_CMPT_ZY 86 -#define TOK_CMPT_ZZ 87 -#define TOK_CMPT_II 88 -#define TOK_TRANSPOSE 89 -#define TOK_DIAG 90 +#define TOK_ARG 28 +#define TOK_SCALAR_ID 29 +#define TOK_MIN 30 +#define TOK_COMMA 31 +#define TOK_MAX 32 +#define TOK_SUM 33 +#define TOK_AVERAGE 34 +#define TOK_EXP 35 +#define TOK_LOG 36 +#define TOK_LOG10 37 +#define TOK_SQR 38 +#define TOK_SQRT 39 +#define TOK_CBRT 40 +#define TOK_SIN 41 +#define TOK_COS 42 +#define TOK_TAN 43 +#define TOK_ASIN 44 +#define TOK_ACOS 45 +#define TOK_ATAN 46 +#define TOK_SINH 47 +#define TOK_COSH 48 +#define TOK_TANH 49 +#define TOK_POW 50 +#define TOK_ATAN2 51 +#define TOK_POS 52 +#define TOK_NEG 53 +#define TOK_POS0 54 +#define TOK_NEG0 55 +#define TOK_SIGN 56 +#define TOK_FLOOR 57 +#define TOK_CEIL 58 +#define TOK_ROUND 59 +#define TOK_HYPOT 60 +#define TOK_RAND 61 +#define TOK_VECTOR_ID 62 +#define TOK_SPH_TENSOR_ID 63 +#define TOK_SYM_TENSOR_ID 64 +#define TOK_UNIT_TENSOR 65 +#define TOK_TENSOR_ID 66 +#define TOK_LTRUE 67 +#define TOK_LFALSE 68 +#define TOK_BOOL 69 +#define TOK_BOOL_ID 70 +#define TOK_MAG 71 +#define TOK_MAGSQR 72 +#define TOK_VECTOR 73 +#define TOK_TENSOR 74 +#define TOK_SYM_TENSOR 75 +#define TOK_SPH_TENSOR 76 +#define TOK_CMPT_X 77 +#define TOK_CMPT_Y 78 +#define TOK_CMPT_Z 79 +#define TOK_CMPT_XX 80 +#define TOK_CMPT_XY 81 +#define TOK_CMPT_XZ 82 +#define TOK_CMPT_YX 83 +#define TOK_CMPT_YY 84 +#define TOK_CMPT_YZ 85 +#define TOK_CMPT_ZX 86 +#define TOK_CMPT_ZY 87 +#define TOK_CMPT_ZZ 88 +#define TOK_CMPT_II 89 +#define TOK_TRANSPOSE 90 +#define TOK_DIAG 91 diff --git a/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 b/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 index 485c74c59a814149803c4e472c9a13fff9e41b83..b5054395c5dadcd633217425c30a8e7bed928c11 100644 --- a/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 +++ b/src/OpenFOAM/expressions/fields/fieldExprLemonParser.lyy-m4 @@ -164,6 +164,7 @@ svalue (lhs) ::= ZERO . { lhs = Foam::Zero; } svalue (lhs) ::= PI LPAREN RPAREN . { lhs = Foam::constant::mathematical::pi; } svalue (lhs) ::= DEG_TO_RAD LPAREN RPAREN . { lhs = Foam::degToRad(); } svalue (lhs) ::= RAD_TO_DEG LPAREN RPAREN . { lhs = Foam::radToDeg(); } +svalue (lhs) ::= ARG LPAREN RPAREN . { lhs = driver->argValue(); } dnl svalue (lhs) ::= TIME LPAREN RPAREN . { lhs = driver->timeValue(); } diff --git a/src/OpenFOAM/expressions/fields/fieldExprScanner.cc b/src/OpenFOAM/expressions/fields/fieldExprScanner.cc index da8256024a9478ff61fc06e1babf9c2fe33ca33c..4ed61751d4e54c24bffaace9a95dde0ddb2f5bc5 100644 --- a/src/OpenFOAM/expressions/fields/fieldExprScanner.cc +++ b/src/OpenFOAM/expressions/fields/fieldExprScanner.cc @@ -7,7 +7,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -171,7 +171,7 @@ static const int fieldExpr_error = 0; static const int fieldExpr_en_main = 11; -#line 303 "fieldExprScanner.rl" +#line 304 "fieldExprScanner.rl" @@ -411,7 +411,7 @@ bool Foam::expressions::fieldExpr::scanner::process act = 0; } -#line 533 "fieldExprScanner.rl" +#line 534 "fieldExprScanner.rl" /* ^^^ FSM initialization here ^^^ */; @@ -696,6 +696,9 @@ tr68: {{p = ((te))-1;} EMIT_TOKEN(LFALSE); } break; case 67: + {{p = ((te))-1;} EMIT_TOKEN(ARG); } + break; + case 68: {{p = ((te))-1;} driver_.parsePosition() = (ts-buf); dispatch_ident(driver_, scanTok, word(ts, te-ts, false)); @@ -705,43 +708,43 @@ tr68: } } goto st11; -tr82: +tr84: #line 260 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(ATAN); }} goto st11; -tr97: +tr99: #line 256 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(COS); }} goto st11; -tr114: +tr116: #line 249 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(LOG); }} goto st11; -tr121: +tr123: #line 265 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(MAG); }} goto st11; -tr128: +tr130: #line 269 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(NEG); }} goto st11; -tr134: +tr136: #line 268 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(POS); }} goto st11; -tr153: +tr155: #line 255 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SIN); }} goto st11; -tr169: +tr171: #line 252 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SQR); }} goto st11; -tr184: +tr186: #line 257 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TAN); }} goto st11; -tr190: +tr192: #line 284 "fieldExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TENSOR); }} goto st11; @@ -753,7 +756,7 @@ st11: case 11: #line 1 "NONE" {ts = p;} -#line 757 "fieldExprScanner.cc" +#line 760 "fieldExprScanner.cc" switch( (*p) ) { case 32: goto st12; case 33: goto st13; @@ -778,19 +781,19 @@ case 11: case 94: goto tr35; case 95: goto st22; case 97: goto st27; - case 98: goto st40; - case 99: goto st43; - case 100: goto st48; - case 101: goto st55; - case 102: goto st57; - case 108: goto st61; - case 109: goto st65; - case 110: goto st71; - case 112: goto st74; - case 114: goto st77; - case 115: goto st85; - case 116: goto st113; - case 118: goto st123; + case 98: goto st41; + case 99: goto st44; + case 100: goto st49; + case 101: goto st56; + case 102: goto st58; + case 108: goto st62; + case 109: goto st66; + case 110: goto st72; + case 112: goto st75; + case 114: goto st78; + case 115: goto st86; + case 116: goto st114; + case 118: goto st124; case 124: goto st10; } if ( (*p) < 48 ) { @@ -880,7 +883,7 @@ st16: if ( ++p == pe ) goto _test_eof16; case 16: -#line 884 "fieldExprScanner.cc" +#line 887 "fieldExprScanner.cc" switch( (*p) ) { case 69: goto st5; case 101: goto st5; @@ -931,7 +934,7 @@ st19: if ( ++p == pe ) goto _test_eof19; case 19: -#line 935 "fieldExprScanner.cc" +#line 938 "fieldExprScanner.cc" switch( (*p) ) { case 46: goto tr57; case 69: goto st5; @@ -982,7 +985,7 @@ tr67: #line 1 "NONE" {te = p+1;} #line 189 "fieldExprScanner.rl" - {act = 67;} + {act = 68;} goto st23; tr71: #line 1 "NONE" @@ -990,175 +993,181 @@ tr71: #line 289 "fieldExprScanner.rl" {act = 63;} goto st23; -tr77: +tr78: #line 1 "NONE" {te = p+1;} #line 259 "fieldExprScanner.rl" {act = 40;} goto st23; tr79: +#line 1 "NONE" + {te = p+1;} +#line 293 "fieldExprScanner.rl" + {act = 67;} + goto st23; +tr81: #line 1 "NONE" {te = p+1;} #line 258 "fieldExprScanner.rl" {act = 39;} goto st23; -tr83: +tr85: #line 1 "NONE" {te = p+1;} #line 261 "fieldExprScanner.rl" {act = 42;} goto st23; -tr88: +tr90: #line 1 "NONE" {te = p+1;} #line 277 "fieldExprScanner.rl" {act = 55;} goto st23; -tr91: +tr93: #line 1 "NONE" {te = p+1;} #line 282 "fieldExprScanner.rl" {act = 58;} goto st23; -tr95: +tr97: #line 1 "NONE" {te = p+1;} #line 254 "fieldExprScanner.rl" {act = 35;} goto st23; -tr98: +tr100: #line 1 "NONE" {te = p+1;} #line 263 "fieldExprScanner.rl" {act = 44;} goto st23; -tr105: +tr107: #line 1 "NONE" {te = p+1;} #line 246 "fieldExprScanner.rl" {act = 27;} goto st23; -tr107: +tr109: #line 1 "NONE" {te = p+1;} #line 248 "fieldExprScanner.rl" {act = 29;} goto st23; -tr111: +tr113: #line 1 "NONE" {te = p+1;} #line 291 "fieldExprScanner.rl" {act = 65;} goto st23; -tr116: +tr118: #line 1 "NONE" {te = p+1;} #line 250 "fieldExprScanner.rl" {act = 31;} goto st23; -tr120: +tr122: #line 1 "NONE" {te = p+1;} #line 276 "fieldExprScanner.rl" {act = 54;} goto st23; -tr124: +tr126: #line 1 "NONE" {te = p+1;} #line 266 "fieldExprScanner.rl" {act = 47;} goto st23; -tr125: +tr127: #line 1 "NONE" {te = p+1;} #line 275 "fieldExprScanner.rl" {act = 53;} goto st23; -tr129: +tr131: #line 1 "NONE" {te = p+1;} #line 271 "fieldExprScanner.rl" {act = 51;} goto st23; -tr130: +tr132: #line 1 "NONE" {te = p+1;} #line 245 "fieldExprScanner.rl" {act = 26;} goto st23; -tr133: +tr135: #line 1 "NONE" {te = p+1;} #line 251 "fieldExprScanner.rl" {act = 32;} goto st23; -tr135: +tr137: #line 1 "NONE" {te = p+1;} #line 270 "fieldExprScanner.rl" {act = 50;} goto st23; -tr143: +tr145: #line 1 "NONE" {te = p+1;} #line 247 "fieldExprScanner.rl" {act = 28;} goto st23; -tr144: +tr146: #line 1 "NONE" {te = p+1;} #line 279 "fieldExprScanner.rl" {act = 57;} goto st23; -tr152: +tr154: #line 1 "NONE" {te = p+1;} #line 272 "fieldExprScanner.rl" {act = 52;} goto st23; -tr154: +tr156: #line 1 "NONE" {te = p+1;} #line 262 "fieldExprScanner.rl" {act = 43;} goto st23; -tr167: +tr169: #line 1 "NONE" {te = p+1;} #line 286 "fieldExprScanner.rl" {act = 62;} goto st23; -tr170: +tr172: #line 1 "NONE" {te = p+1;} #line 253 "fieldExprScanner.rl" {act = 34;} goto st23; -tr171: +tr173: #line 1 "NONE" {te = p+1;} #line 278 "fieldExprScanner.rl" {act = 56;} goto st23; -tr179: +tr181: #line 1 "NONE" {te = p+1;} #line 285 "fieldExprScanner.rl" {act = 61;} goto st23; -tr185: +tr187: #line 1 "NONE" {te = p+1;} #line 264 "fieldExprScanner.rl" {act = 45;} goto st23; -tr193: +tr195: #line 1 "NONE" {te = p+1;} #line 290 "fieldExprScanner.rl" {act = 64;} goto st23; -tr198: +tr200: #line 1 "NONE" {te = p+1;} #line 283 "fieldExprScanner.rl" @@ -1168,7 +1177,7 @@ st23: if ( ++p == pe ) goto _test_eof23; case 23: -#line 1172 "fieldExprScanner.cc" +#line 1181 "fieldExprScanner.cc" switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; @@ -1244,9 +1253,10 @@ case 27: case 46: goto tr67; case 95: goto tr67; case 99: goto st28; - case 115: goto st30; - case 116: goto st32; - case 118: goto st35; + case 114: goto st30; + case 115: goto st31; + case 116: goto st33; + case 118: goto st36; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1282,7 +1292,7 @@ case 29: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 115: goto tr77; + case 115: goto tr78; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1300,7 +1310,7 @@ case 30: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 105: goto st31; + case 103: goto tr79; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1318,7 +1328,7 @@ case 31: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 110: goto tr79; + case 105: goto st32; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1336,13 +1346,13 @@ case 32: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 97: goto st33; + case 110: goto tr81; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -1354,13 +1364,13 @@ case 33: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 110: goto st34; + case 97: goto st34; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -1371,8 +1381,8 @@ st34: case 34: switch( (*p) ) { case 46: goto tr67; - case 50: goto tr83; case 95: goto tr67; + case 110: goto st35; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1382,15 +1392,15 @@ case 34: goto tr67; } else goto tr67; - goto tr82; + goto tr66; st35: if ( ++p == pe ) goto _test_eof35; case 35: switch( (*p) ) { case 46: goto tr67; + case 50: goto tr85; case 95: goto tr67; - case 101: goto st36; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1400,7 +1410,7 @@ case 35: goto tr67; } else goto tr67; - goto tr66; + goto tr84; st36: if ( ++p == pe ) goto _test_eof36; @@ -1408,7 +1418,7 @@ case 36: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 114: goto st37; + case 101: goto st37; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1426,13 +1436,13 @@ case 37: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 97: goto st38; + case 114: goto st38; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -1444,13 +1454,13 @@ case 38: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 103: goto st39; + case 97: goto st39; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -1462,7 +1472,7 @@ case 39: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 101: goto tr88; + case 103: goto st40; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1480,7 +1490,7 @@ case 40: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 111: goto st41; + case 101: goto tr90; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1516,7 +1526,7 @@ case 42: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 108: goto tr91; + case 111: goto st43; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1534,8 +1544,7 @@ case 43: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 98: goto st44; - case 111: goto st46; + case 108: goto tr93; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1553,7 +1562,8 @@ case 44: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 114: goto st45; + case 98: goto st45; + case 111: goto st47; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1571,7 +1581,7 @@ case 45: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 116: goto tr95; + case 114: goto st46; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1589,7 +1599,7 @@ case 46: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 115: goto st47; + case 116: goto tr97; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1607,7 +1617,7 @@ case 47: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 104: goto tr98; + case 115: goto st48; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1617,7 +1627,7 @@ case 47: goto tr67; } else goto tr67; - goto tr97; + goto tr66; st48: if ( ++p == pe ) goto _test_eof48; @@ -1625,7 +1635,7 @@ case 48: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 101: goto st49; + case 104: goto tr100; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1635,7 +1645,7 @@ case 48: goto tr67; } else goto tr67; - goto tr66; + goto tr99; st49: if ( ++p == pe ) goto _test_eof49; @@ -1643,7 +1653,7 @@ case 49: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 103: goto st50; + case 101: goto st50; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1660,8 +1670,8 @@ st50: case 50: switch( (*p) ) { case 46: goto tr67; - case 84: goto st51; case 95: goto tr67; + case 103: goto st51; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1678,8 +1688,8 @@ st51: case 51: switch( (*p) ) { case 46: goto tr67; + case 84: goto st52; case 95: goto tr67; - case 111: goto st52; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1696,8 +1706,8 @@ st52: case 52: switch( (*p) ) { case 46: goto tr67; - case 82: goto st53; case 95: goto tr67; + case 111: goto st53; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1714,14 +1724,14 @@ st53: case 53: switch( (*p) ) { case 46: goto tr67; + case 82: goto st54; case 95: goto tr67; - case 97: goto st54; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -1733,13 +1743,13 @@ case 54: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 100: goto tr105; + case 97: goto st55; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -1751,7 +1761,7 @@ case 55: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 120: goto st56; + case 100: goto tr107; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1769,7 +1779,7 @@ case 56: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 112: goto tr107; + case 120: goto st57; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1787,13 +1797,13 @@ case 57: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 97: goto st58; + case 112: goto tr109; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -1805,13 +1815,13 @@ case 58: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 108: goto st59; + case 97: goto st59; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -1823,7 +1833,7 @@ case 59: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 115: goto st60; + case 108: goto st60; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1841,7 +1851,7 @@ case 60: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 101: goto tr111; + case 115: goto st61; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1859,7 +1869,7 @@ case 61: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 111: goto st62; + case 101: goto tr113; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1877,7 +1887,7 @@ case 62: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 103: goto st63; + case 111: goto st63; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1894,8 +1904,8 @@ st63: case 63: switch( (*p) ) { case 46: goto tr67; - case 49: goto st64; case 95: goto tr67; + case 103: goto st64; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1905,40 +1915,39 @@ case 63: goto tr67; } else goto tr67; - goto tr114; + goto tr66; st64: if ( ++p == pe ) goto _test_eof64; case 64: switch( (*p) ) { case 46: goto tr67; - case 48: goto tr116; + case 49: goto st65; case 95: goto tr67; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) + if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; - goto tr66; + goto tr116; st65: if ( ++p == pe ) goto _test_eof65; case 65: switch( (*p) ) { case 46: goto tr67; + case 48: goto tr118; case 95: goto tr67; - case 97: goto st66; - case 105: goto st70; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) + if ( 49 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -1950,14 +1959,14 @@ case 66: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 103: goto st67; - case 120: goto tr120; + case 97: goto st67; + case 105: goto st71; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -1968,8 +1977,9 @@ st67: case 67: switch( (*p) ) { case 46: goto tr67; - case 83: goto st68; case 95: goto tr67; + case 103: goto st68; + case 120: goto tr122; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1979,15 +1989,15 @@ case 67: goto tr67; } else goto tr67; - goto tr121; + goto tr66; st68: if ( ++p == pe ) goto _test_eof68; case 68: switch( (*p) ) { case 46: goto tr67; + case 83: goto st69; case 95: goto tr67; - case 113: goto st69; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1997,7 +2007,7 @@ case 68: goto tr67; } else goto tr67; - goto tr66; + goto tr123; st69: if ( ++p == pe ) goto _test_eof69; @@ -2005,7 +2015,7 @@ case 69: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 114: goto tr124; + case 113: goto st70; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2023,7 +2033,7 @@ case 70: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 110: goto tr125; + case 114: goto tr126; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2041,7 +2051,7 @@ case 71: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 101: goto st72; + case 110: goto tr127; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2059,7 +2069,7 @@ case 72: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 103: goto st73; + case 101: goto st73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2076,37 +2086,36 @@ st73: case 73: switch( (*p) ) { case 46: goto tr67; - case 48: goto tr129; case 95: goto tr67; + case 103: goto st74; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) + if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; - goto tr128; + goto tr66; st74: if ( ++p == pe ) goto _test_eof74; case 74: switch( (*p) ) { case 46: goto tr67; + case 48: goto tr131; case 95: goto tr67; - case 105: goto tr130; - case 111: goto st75; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) + if ( 49 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; - goto tr66; + goto tr130; st75: if ( ++p == pe ) goto _test_eof75; @@ -2114,8 +2123,8 @@ case 75: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 115: goto st76; - case 119: goto tr133; + case 105: goto tr132; + case 111: goto st76; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2132,36 +2141,37 @@ st76: case 76: switch( (*p) ) { case 46: goto tr67; - case 48: goto tr135; case 95: goto tr67; + case 115: goto st77; + case 119: goto tr135; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) + if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; - goto tr134; + goto tr66; st77: if ( ++p == pe ) goto _test_eof77; case 77: switch( (*p) ) { case 46: goto tr67; + case 48: goto tr137; case 95: goto tr67; - case 97: goto st78; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) + if ( 49 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; - goto tr66; + goto tr136; st78: if ( ++p == pe ) goto _test_eof78; @@ -2169,14 +2179,13 @@ case 78: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 100: goto st79; - case 110: goto st84; + case 97: goto st79; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -2187,8 +2196,9 @@ st79: case 79: switch( (*p) ) { case 46: goto tr67; - case 84: goto st80; case 95: goto tr67; + case 100: goto st80; + case 110: goto st85; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2205,8 +2215,8 @@ st80: case 80: switch( (*p) ) { case 46: goto tr67; + case 84: goto st81; case 95: goto tr67; - case 111: goto st81; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2223,8 +2233,8 @@ st81: case 81: switch( (*p) ) { case 46: goto tr67; - case 68: goto st82; case 95: goto tr67; + case 111: goto st82; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2241,8 +2251,8 @@ st82: case 82: switch( (*p) ) { case 46: goto tr67; + case 68: goto st83; case 95: goto tr67; - case 101: goto st83; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2260,7 +2270,7 @@ case 83: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 103: goto tr143; + case 101: goto st84; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2278,7 +2288,7 @@ case 84: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 100: goto tr144; + case 103: goto tr145; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2296,11 +2306,7 @@ case 85: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 105: goto st86; - case 112: goto st89; - case 113: goto st102; - case 117: goto st104; - case 121: goto st105; + case 100: goto tr146; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2318,8 +2324,11 @@ case 86: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 103: goto st87; - case 110: goto st88; + case 105: goto st87; + case 112: goto st90; + case 113: goto st103; + case 117: goto st105; + case 121: goto st106; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2337,7 +2346,8 @@ case 87: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 110: goto tr152; + case 103: goto st88; + case 110: goto st89; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2355,7 +2365,7 @@ case 88: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 104: goto tr154; + case 110: goto tr154; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2365,7 +2375,7 @@ case 88: goto tr67; } else goto tr67; - goto tr153; + goto tr66; st89: if ( ++p == pe ) goto _test_eof89; @@ -2373,7 +2383,7 @@ case 89: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 104: goto st90; + case 104: goto tr156; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2383,7 +2393,7 @@ case 89: goto tr67; } else goto tr67; - goto tr66; + goto tr155; st90: if ( ++p == pe ) goto _test_eof90; @@ -2391,7 +2401,7 @@ case 90: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 101: goto st91; + case 104: goto st91; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2409,7 +2419,7 @@ case 91: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 114: goto st92; + case 101: goto st92; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2427,7 +2437,7 @@ case 92: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 105: goto st93; + case 114: goto st93; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2445,7 +2455,7 @@ case 93: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 99: goto st94; + case 105: goto st94; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2463,13 +2473,13 @@ case 94: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 97: goto st95; + case 99: goto st95; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -2481,13 +2491,13 @@ case 95: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 108: goto st96; + case 97: goto st96; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -2498,8 +2508,8 @@ st96: case 96: switch( (*p) ) { case 46: goto tr67; - case 84: goto st97; case 95: goto tr67; + case 108: goto st97; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2516,8 +2526,8 @@ st97: case 97: switch( (*p) ) { case 46: goto tr67; + case 84: goto st98; case 95: goto tr67; - case 101: goto st98; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2535,7 +2545,7 @@ case 98: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 110: goto st99; + case 101: goto st99; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2553,7 +2563,7 @@ case 99: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 115: goto st100; + case 110: goto st100; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2571,7 +2581,7 @@ case 100: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 111: goto st101; + case 115: goto st101; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2589,7 +2599,7 @@ case 101: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 114: goto tr167; + case 111: goto st102; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2607,7 +2617,7 @@ case 102: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 114: goto st103; + case 114: goto tr169; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2625,7 +2635,7 @@ case 103: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 116: goto tr170; + case 114: goto st104; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2635,7 +2645,7 @@ case 103: goto tr67; } else goto tr67; - goto tr169; + goto tr66; st104: if ( ++p == pe ) goto _test_eof104; @@ -2643,7 +2653,7 @@ case 104: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 109: goto tr171; + case 116: goto tr172; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2653,7 +2663,7 @@ case 104: goto tr67; } else goto tr67; - goto tr66; + goto tr171; st105: if ( ++p == pe ) goto _test_eof105; @@ -2661,7 +2671,7 @@ case 105: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 109: goto st106; + case 109: goto tr173; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2696,8 +2706,8 @@ st107: case 107: switch( (*p) ) { case 46: goto tr67; - case 84: goto st108; case 95: goto tr67; + case 109: goto st108; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2714,8 +2724,8 @@ st108: case 108: switch( (*p) ) { case 46: goto tr67; + case 84: goto st109; case 95: goto tr67; - case 101: goto st109; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2733,7 +2743,7 @@ case 109: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 110: goto st110; + case 101: goto st110; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2751,7 +2761,7 @@ case 110: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 115: goto st111; + case 110: goto st111; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2769,7 +2779,7 @@ case 111: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 111: goto st112; + case 115: goto st112; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2787,7 +2797,7 @@ case 112: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 114: goto tr179; + case 111: goto st113; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2805,15 +2815,13 @@ case 113: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 97: goto st114; - case 101: goto st116; - case 114: goto st121; + case 114: goto tr181; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -2825,13 +2833,15 @@ case 114: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 110: goto st115; + case 97: goto st115; + case 101: goto st117; + case 114: goto st122; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr67; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr67; } else goto tr67; @@ -2843,7 +2853,7 @@ case 115: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 104: goto tr185; + case 110: goto st116; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2853,7 +2863,7 @@ case 115: goto tr67; } else goto tr67; - goto tr184; + goto tr66; st116: if ( ++p == pe ) goto _test_eof116; @@ -2861,7 +2871,7 @@ case 116: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 110: goto st117; + case 104: goto tr187; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2871,7 +2881,7 @@ case 116: goto tr67; } else goto tr67; - goto tr66; + goto tr186; st117: if ( ++p == pe ) goto _test_eof117; @@ -2879,7 +2889,7 @@ case 117: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 115: goto st118; + case 110: goto st118; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2897,7 +2907,7 @@ case 118: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 111: goto st119; + case 115: goto st119; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2915,7 +2925,7 @@ case 119: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 114: goto tr189; + case 111: goto st120; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2926,19 +2936,14 @@ case 119: } else goto tr67; goto tr66; -tr189: -#line 1 "NONE" - {te = p+1;} - goto st120; st120: if ( ++p == pe ) goto _test_eof120; case 120: -#line 2938 "fieldExprScanner.cc" switch( (*p) ) { case 46: goto tr67; - case 58: goto st8; case 95: goto tr67; + case 114: goto tr191; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2948,29 +2953,20 @@ case 120: goto tr67; } else goto tr67; - goto tr190; -st8: - if ( ++p == pe ) - goto _test_eof8; -case 8: - if ( (*p) == 58 ) - goto st9; - goto tr9; -st9: - if ( ++p == pe ) - goto _test_eof9; -case 9: - if ( (*p) == 73 ) - goto tr11; - goto tr9; + goto tr66; +tr191: +#line 1 "NONE" + {te = p+1;} + goto st121; st121: if ( ++p == pe ) goto _test_eof121; case 121: +#line 2966 "fieldExprScanner.cc" switch( (*p) ) { case 46: goto tr67; + case 58: goto st8; case 95: goto tr67; - case 117: goto st122; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2980,7 +2976,21 @@ case 121: goto tr67; } else goto tr67; - goto tr66; + goto tr192; +st8: + if ( ++p == pe ) + goto _test_eof8; +case 8: + if ( (*p) == 58 ) + goto st9; + goto tr9; +st9: + if ( ++p == pe ) + goto _test_eof9; +case 9: + if ( (*p) == 73 ) + goto tr11; + goto tr9; st122: if ( ++p == pe ) goto _test_eof122; @@ -2988,7 +2998,7 @@ case 122: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 101: goto tr193; + case 117: goto st123; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3006,7 +3016,7 @@ case 123: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 101: goto st124; + case 101: goto tr195; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3024,7 +3034,7 @@ case 124: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 99: goto st125; + case 101: goto st125; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3042,7 +3052,7 @@ case 125: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 116: goto st126; + case 99: goto st126; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3060,7 +3070,7 @@ case 126: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 111: goto st127; + case 116: goto st127; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3078,7 +3088,25 @@ case 127: switch( (*p) ) { case 46: goto tr67; case 95: goto tr67; - case 114: goto tr198; + case 111: goto st128; + } + if ( (*p) < 65 ) { + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr67; + } else if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr67; + } else + goto tr67; + goto tr66; +st128: + if ( ++p == pe ) + goto _test_eof128; +case 128: + switch( (*p) ) { + case 46: goto tr67; + case 95: goto tr67; + case 114: goto tr200; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3214,15 +3242,16 @@ case 10: _test_eof118: cs = 118; goto _test_eof; _test_eof119: cs = 119; goto _test_eof; _test_eof120: cs = 120; goto _test_eof; + _test_eof121: cs = 121; goto _test_eof; _test_eof8: cs = 8; goto _test_eof; _test_eof9: cs = 9; goto _test_eof; - _test_eof121: cs = 121; goto _test_eof; _test_eof122: cs = 122; goto _test_eof; _test_eof123: cs = 123; goto _test_eof; _test_eof124: cs = 124; goto _test_eof; _test_eof125: cs = 125; goto _test_eof; _test_eof126: cs = 126; goto _test_eof; _test_eof127: cs = 127; goto _test_eof; + _test_eof128: cs = 128; goto _test_eof; _test_eof10: cs = 10; goto _test_eof; _test_eof: {} @@ -3253,8 +3282,8 @@ case 10: case 31: goto tr66; case 32: goto tr66; case 33: goto tr66; - case 34: goto tr82; - case 35: goto tr66; + case 34: goto tr66; + case 35: goto tr84; case 36: goto tr66; case 37: goto tr66; case 38: goto tr66; @@ -3266,8 +3295,8 @@ case 10: case 44: goto tr66; case 45: goto tr66; case 46: goto tr66; - case 47: goto tr97; - case 48: goto tr66; + case 47: goto tr66; + case 48: goto tr99; case 49: goto tr66; case 50: goto tr66; case 51: goto tr66; @@ -3282,21 +3311,21 @@ case 10: case 60: goto tr66; case 61: goto tr66; case 62: goto tr66; - case 63: goto tr114; - case 64: goto tr66; + case 63: goto tr66; + case 64: goto tr116; case 65: goto tr66; case 66: goto tr66; - case 67: goto tr121; - case 68: goto tr66; + case 67: goto tr66; + case 68: goto tr123; case 69: goto tr66; case 70: goto tr66; case 71: goto tr66; case 72: goto tr66; - case 73: goto tr128; - case 74: goto tr66; + case 73: goto tr66; + case 74: goto tr130; case 75: goto tr66; - case 76: goto tr134; - case 77: goto tr66; + case 76: goto tr66; + case 77: goto tr136; case 78: goto tr66; case 79: goto tr66; case 80: goto tr66; @@ -3307,8 +3336,8 @@ case 10: case 85: goto tr66; case 86: goto tr66; case 87: goto tr66; - case 88: goto tr153; - case 89: goto tr66; + case 88: goto tr66; + case 89: goto tr155; case 90: goto tr66; case 91: goto tr66; case 92: goto tr66; @@ -3322,8 +3351,8 @@ case 10: case 100: goto tr66; case 101: goto tr66; case 102: goto tr66; - case 103: goto tr169; - case 104: goto tr66; + case 103: goto tr66; + case 104: goto tr171; case 105: goto tr66; case 106: goto tr66; case 107: goto tr66; @@ -3334,28 +3363,29 @@ case 10: case 112: goto tr66; case 113: goto tr66; case 114: goto tr66; - case 115: goto tr184; - case 116: goto tr66; + case 115: goto tr66; + case 116: goto tr186; case 117: goto tr66; case 118: goto tr66; case 119: goto tr66; - case 120: goto tr190; + case 120: goto tr66; + case 121: goto tr192; case 8: goto tr9; case 9: goto tr9; - case 121: goto tr66; case 122: goto tr66; case 123: goto tr66; case 124: goto tr66; case 125: goto tr66; case 126: goto tr66; case 127: goto tr66; + case 128: goto tr66; } } _out: {} } -#line 535 "fieldExprScanner.rl" +#line 536 "fieldExprScanner.rl" /* ^^^ FSM execution here ^^^ */; if (0 == cs) diff --git a/src/OpenFOAM/expressions/fields/fieldExprScanner.rl b/src/OpenFOAM/expressions/fields/fieldExprScanner.rl index a1e8b3fe28f32550b2840f56da055fd706bfb2f5..2024cf1e6f70c9b6d904b25733f4b656c38fc96c 100644 --- a/src/OpenFOAM/expressions/fields/fieldExprScanner.rl +++ b/src/OpenFOAM/expressions/fields/fieldExprScanner.rl @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -290,6 +290,7 @@ static int driverTokenType "true" =>{ EMIT_TOKEN(LTRUE); }; "false" =>{ EMIT_TOKEN(LFALSE); }; "tensor::I" =>{ EMIT_TOKEN(UNIT_TENSOR); }; + "arg" =>{ EMIT_TOKEN(ARG); }; ## "time" =>{ EMIT_TOKEN(TIME); }; ## Identifier (field, etc - error if unknown) diff --git a/src/finiteVolume/expressions/base/fvExprDriver.H b/src/finiteVolume/expressions/base/fvExprDriver.H index 016e9d055a3b295b8c1647cb2c201fa5c07086eb..dd1d5aec047d3eb3461f949b4e375dab3c99456d 100644 --- a/src/finiteVolume/expressions/base/fvExprDriver.H +++ b/src/finiteVolume/expressions/base/fvExprDriver.H @@ -5,8 +5,8 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Original code Copyright (C) 2010-2018 Bernhard Gschaider - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2010-2018 Bernhard Gschaider + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -99,7 +99,7 @@ class fvExprDriver static bool cacheSets_; - // Protected Data + // Private Data // Stored Data @@ -431,7 +431,7 @@ public: virtual label pointSize() const = 0; - // Mesh Related + // Globals, Mesh Related //- The Time associated with the mesh const Time& runTime() const; diff --git a/src/finiteVolume/expressions/fields/base/patchExprFieldBase.C b/src/finiteVolume/expressions/fields/base/patchExprFieldBase.C index a00d9b115ddd053d7ec8a49bd77b819f9535da43..8056893f296ce9c51d61809e90eb9d8e7f45bc1c 100644 --- a/src/finiteVolume/expressions/fields/base/patchExprFieldBase.C +++ b/src/finiteVolume/expressions/fields/base/patchExprFieldBase.C @@ -5,8 +5,8 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Original code Copyright (C) 2011-2018 Bernhard Gschaider - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2011-2018 Bernhard Gschaider + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -53,6 +53,25 @@ Foam::expressions::patchExprFieldBase::getFvPatch(const facePointPatch& pp) } +const Foam::fvPatch& +Foam::expressions::patchExprFieldBase::getFvPatch(const polyPatch& pp) +{ + const polyMesh& pmesh = pp.boundaryMesh().mesh(); + + const fvMesh* meshptr = isA<fvMesh>(pmesh); + + if (!meshptr) + { + FatalErrorInFunction + << "Poly patch not attached to a base fvMesh, " + << "cannot use patch expressions" << nl << endl + << exit(FatalError); + } + + return meshptr->boundary()[pp.index()]; +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::expressions::patchExprFieldBase::patchExprFieldBase() @@ -82,9 +101,9 @@ Foam::expressions::patchExprFieldBase::patchExprFieldBase bool isPointVal ) : - debug_(dict.lookupOrDefault("debug", false)), + debug_(dict.getOrDefault("debug", false)), allowGradient_(allowGradient), - evalOnConstruct_(dict.lookupOrDefault<bool>("evalOnConstruct", false)), + evalOnConstruct_(dict.getOrDefault<bool>("evalOnConstruct", false)), valueExpr_(), gradExpr_(), fracExpr_() diff --git a/src/finiteVolume/expressions/fields/base/patchExprFieldBase.H b/src/finiteVolume/expressions/fields/base/patchExprFieldBase.H index 5c802b10aa5e13952af01febf009fd4040472680..06529939bfd20c851017f1c0f4e40ec4e531f758 100644 --- a/src/finiteVolume/expressions/fields/base/patchExprFieldBase.H +++ b/src/finiteVolume/expressions/fields/base/patchExprFieldBase.H @@ -5,8 +5,8 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Original code Copyright (C) 2011-2018 Bernhard Gschaider - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2011-2018 Bernhard Gschaider + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -58,6 +58,7 @@ namespace Foam // Forward Declarations class facePointPatch; class fvPatch; +class polyPatch; namespace expressions { @@ -91,10 +92,13 @@ public: //- Find (guess) fvPatch from a pointPatch static const fvPatch& getFvPatch(const facePointPatch& fp); + //- Find (guess) fvPatch from a polyPatch + static const fvPatch& getFvPatch(const polyPatch& pp); + // Constructors - //- Null constructor + //- Default construct patchExprFieldBase(); //- Construct with specified gradient handling diff --git a/src/finiteVolume/expressions/patch/patchExprLemonParser.h b/src/finiteVolume/expressions/patch/patchExprLemonParser.h index 8a84326c4dd20a35dbfb0ef4cbf29d37b1eb8a67..f10e76fcb8c5c2142cf97b0b4c19408ec7948278 100644 --- a/src/finiteVolume/expressions/patch/patchExprLemonParser.h +++ b/src/finiteVolume/expressions/patch/patchExprLemonParser.h @@ -25,86 +25,87 @@ #define TOK_RPAREN 25 #define TOK_DEG_TO_RAD 26 #define TOK_RAD_TO_DEG 27 -#define TOK_TIME 28 -#define TOK_SCALAR_ID 29 -#define TOK_SSCALAR_ID 30 -#define TOK_MIN 31 -#define TOK_COMMA 32 -#define TOK_MAX 33 -#define TOK_SUM 34 -#define TOK_AVERAGE 35 -#define TOK_EXP 36 -#define TOK_LOG 37 -#define TOK_LOG10 38 -#define TOK_SQR 39 -#define TOK_SQRT 40 -#define TOK_CBRT 41 -#define TOK_SIN 42 -#define TOK_COS 43 -#define TOK_TAN 44 -#define TOK_ASIN 45 -#define TOK_ACOS 46 -#define TOK_ATAN 47 -#define TOK_SINH 48 -#define TOK_COSH 49 -#define TOK_TANH 50 -#define TOK_POW 51 -#define TOK_ATAN2 52 -#define TOK_POS 53 -#define TOK_NEG 54 -#define TOK_POS0 55 -#define TOK_NEG0 56 -#define TOK_SIGN 57 -#define TOK_FLOOR 58 -#define TOK_CEIL 59 -#define TOK_ROUND 60 -#define TOK_HYPOT 61 -#define TOK_RAND 62 -#define TOK_VECTOR_ID 63 -#define TOK_SVECTOR_ID 64 -#define TOK_SPH_TENSOR_ID 65 -#define TOK_SSPH_TENSOR_ID 66 -#define TOK_SYM_TENSOR_ID 67 -#define TOK_SSYM_TENSOR_ID 68 -#define TOK_UNIT_TENSOR 69 -#define TOK_TENSOR_ID 70 -#define TOK_STENSOR_ID 71 -#define TOK_LTRUE 72 -#define TOK_LFALSE 73 -#define TOK_BOOL 74 -#define TOK_SBOOL_ID 75 -#define TOK_FACE_AREA 76 -#define TOK_FACE_EXPR 77 -#define TOK_WEIGHT_AVERAGE 78 -#define TOK_WEIGHT_SUM 79 -#define TOK_POINT_EXPR 80 -#define TOK_PSCALAR_ID 81 -#define TOK_PVECTOR_ID 82 -#define TOK_PSPH_TENSOR_ID 83 -#define TOK_PSYM_TENSOR_ID 84 -#define TOK_PTENSOR_ID 85 -#define TOK_PBOOL_ID 86 -#define TOK_POINTS 87 -#define TOK_MAG 88 -#define TOK_MAGSQR 89 -#define TOK_VECTOR 90 -#define TOK_TENSOR 91 -#define TOK_SYM_TENSOR 92 -#define TOK_SPH_TENSOR 93 -#define TOK_CMPT_X 94 -#define TOK_CMPT_Y 95 -#define TOK_CMPT_Z 96 -#define TOK_CMPT_XX 97 -#define TOK_CMPT_XY 98 -#define TOK_CMPT_XZ 99 -#define TOK_CMPT_YX 100 -#define TOK_CMPT_YY 101 -#define TOK_CMPT_YZ 102 -#define TOK_CMPT_ZX 103 -#define TOK_CMPT_ZY 104 -#define TOK_CMPT_ZZ 105 -#define TOK_CMPT_II 106 -#define TOK_TRANSPOSE 107 -#define TOK_DIAG 108 -#define TOK_POINT_TO_FACE 109 -#define TOK_FACE_TO_POINT 110 +#define TOK_ARG 28 +#define TOK_TIME 29 +#define TOK_SCALAR_ID 30 +#define TOK_SSCALAR_ID 31 +#define TOK_MIN 32 +#define TOK_COMMA 33 +#define TOK_MAX 34 +#define TOK_SUM 35 +#define TOK_AVERAGE 36 +#define TOK_EXP 37 +#define TOK_LOG 38 +#define TOK_LOG10 39 +#define TOK_SQR 40 +#define TOK_SQRT 41 +#define TOK_CBRT 42 +#define TOK_SIN 43 +#define TOK_COS 44 +#define TOK_TAN 45 +#define TOK_ASIN 46 +#define TOK_ACOS 47 +#define TOK_ATAN 48 +#define TOK_SINH 49 +#define TOK_COSH 50 +#define TOK_TANH 51 +#define TOK_POW 52 +#define TOK_ATAN2 53 +#define TOK_POS 54 +#define TOK_NEG 55 +#define TOK_POS0 56 +#define TOK_NEG0 57 +#define TOK_SIGN 58 +#define TOK_FLOOR 59 +#define TOK_CEIL 60 +#define TOK_ROUND 61 +#define TOK_HYPOT 62 +#define TOK_RAND 63 +#define TOK_VECTOR_ID 64 +#define TOK_SVECTOR_ID 65 +#define TOK_SPH_TENSOR_ID 66 +#define TOK_SSPH_TENSOR_ID 67 +#define TOK_SYM_TENSOR_ID 68 +#define TOK_SSYM_TENSOR_ID 69 +#define TOK_UNIT_TENSOR 70 +#define TOK_TENSOR_ID 71 +#define TOK_STENSOR_ID 72 +#define TOK_LTRUE 73 +#define TOK_LFALSE 74 +#define TOK_BOOL 75 +#define TOK_SBOOL_ID 76 +#define TOK_FACE_AREA 77 +#define TOK_FACE_EXPR 78 +#define TOK_WEIGHT_AVERAGE 79 +#define TOK_WEIGHT_SUM 80 +#define TOK_POINT_EXPR 81 +#define TOK_PSCALAR_ID 82 +#define TOK_PVECTOR_ID 83 +#define TOK_PSPH_TENSOR_ID 84 +#define TOK_PSYM_TENSOR_ID 85 +#define TOK_PTENSOR_ID 86 +#define TOK_PBOOL_ID 87 +#define TOK_POINTS 88 +#define TOK_MAG 89 +#define TOK_MAGSQR 90 +#define TOK_VECTOR 91 +#define TOK_TENSOR 92 +#define TOK_SYM_TENSOR 93 +#define TOK_SPH_TENSOR 94 +#define TOK_CMPT_X 95 +#define TOK_CMPT_Y 96 +#define TOK_CMPT_Z 97 +#define TOK_CMPT_XX 98 +#define TOK_CMPT_XY 99 +#define TOK_CMPT_XZ 100 +#define TOK_CMPT_YX 101 +#define TOK_CMPT_YY 102 +#define TOK_CMPT_YZ 103 +#define TOK_CMPT_ZX 104 +#define TOK_CMPT_ZY 105 +#define TOK_CMPT_ZZ 106 +#define TOK_CMPT_II 107 +#define TOK_TRANSPOSE 108 +#define TOK_DIAG 109 +#define TOK_POINT_TO_FACE 110 +#define TOK_FACE_TO_POINT 111 diff --git a/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 b/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 index 6080db3477e2435f7fa31139a828de75b17afc0f..57a9e5eb63978b90941c0c7e3d256c77d3ed8461 100644 --- a/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 +++ b/src/finiteVolume/expressions/patch/patchExprLemonParser.lyy-m4 @@ -118,6 +118,7 @@ svalue (lhs) ::= ZERO . { lhs = Foam::Zero; } svalue (lhs) ::= PI LPAREN RPAREN . { lhs = Foam::constant::mathematical::pi; } svalue (lhs) ::= DEG_TO_RAD LPAREN RPAREN . { lhs = Foam::degToRad(); } svalue (lhs) ::= RAD_TO_DEG LPAREN RPAREN . { lhs = Foam::radToDeg(); } +svalue (lhs) ::= ARG LPAREN RPAREN . { lhs = driver->argValue(); } svalue (lhs) ::= TIME LPAREN RPAREN . { lhs = driver->timeValue(); } diff --git a/src/finiteVolume/expressions/patch/patchExprScanner.cc b/src/finiteVolume/expressions/patch/patchExprScanner.cc index c78ac70e72effb481ddf68208656303bb507bc0f..7650f62338db5d034a1072501062c99ef57ee648 100644 --- a/src/finiteVolume/expressions/patch/patchExprScanner.cc +++ b/src/finiteVolume/expressions/patch/patchExprScanner.cc @@ -7,7 +7,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -295,7 +295,7 @@ static const int patchExpr_error = 0; static const int patchExpr_en_main = 11; -#line 429 "patchExprScanner.rl" +#line 430 "patchExprScanner.rl" @@ -535,7 +535,7 @@ bool Foam::expressions::patchExpr::scanner::process act = 0; } -#line 659 "patchExprScanner.rl" +#line 660 "patchExprScanner.rl" /* ^^^ FSM initialization here ^^^ */; @@ -826,9 +826,12 @@ tr69: {{p = ((te))-1;} EMIT_TOKEN(LFALSE); } break; case 69: - {{p = ((te))-1;} EMIT_TOKEN(TIME); } + {{p = ((te))-1;} EMIT_TOKEN(ARG); } break; case 70: + {{p = ((te))-1;} EMIT_TOKEN(TIME); } + break; + case 71: {{p = ((te))-1;} driver_.parsePosition() = (ts-buf); dispatch_ident(driver_, scanTok, word(ts, te-ts, false)); @@ -838,43 +841,43 @@ tr69: } } goto st11; -tr83: +tr85: #line 384 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(ATAN); }} goto st11; -tr98: +tr100: #line 380 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(COS); }} goto st11; -tr115: +tr117: #line 373 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(LOG); }} goto st11; -tr122: +tr124: #line 389 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(MAG); }} goto st11; -tr129: +tr131: #line 393 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(NEG); }} goto st11; -tr135: +tr137: #line 392 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(POS); }} goto st11; -tr154: +tr156: #line 379 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SIN); }} goto st11; -tr170: +tr172: #line 376 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SQR); }} goto st11; -tr186: +tr188: #line 381 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TAN); }} goto st11; -tr192: +tr194: #line 410 "patchExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TENSOR); }} goto st11; @@ -886,7 +889,7 @@ st11: case 11: #line 1 "NONE" {ts = p;} -#line 890 "patchExprScanner.cc" +#line 893 "patchExprScanner.cc" switch( (*p) ) { case 32: goto st12; case 33: goto st13; @@ -911,20 +914,20 @@ case 11: case 94: goto tr35; case 95: goto st22; case 97: goto st27; - case 98: goto st40; - case 99: goto st43; - case 100: goto st48; - case 101: goto st55; - case 102: goto st57; - case 108: goto st61; - case 109: goto st65; - case 110: goto st71; - case 112: goto st74; - case 114: goto st77; - case 115: goto st85; - case 116: goto st113; - case 118: goto st125; - case 119: goto st130; + case 98: goto st41; + case 99: goto st44; + case 100: goto st49; + case 101: goto st56; + case 102: goto st58; + case 108: goto st62; + case 109: goto st66; + case 110: goto st72; + case 112: goto st75; + case 114: goto st78; + case 115: goto st86; + case 116: goto st114; + case 118: goto st126; + case 119: goto st131; case 124: goto st10; } if ( (*p) < 48 ) { @@ -1014,7 +1017,7 @@ st16: if ( ++p == pe ) goto _test_eof16; case 16: -#line 1018 "patchExprScanner.cc" +#line 1021 "patchExprScanner.cc" switch( (*p) ) { case 69: goto st5; case 101: goto st5; @@ -1065,7 +1068,7 @@ st19: if ( ++p == pe ) goto _test_eof19; case 19: -#line 1069 "patchExprScanner.cc" +#line 1072 "patchExprScanner.cc" switch( (*p) ) { case 46: goto tr58; case 69: goto st5; @@ -1116,7 +1119,7 @@ tr68: #line 1 "NONE" {te = p+1;} #line 313 "patchExprScanner.rl" - {act = 70;} + {act = 71;} goto st23; tr72: #line 1 "NONE" @@ -1124,193 +1127,199 @@ tr72: #line 415 "patchExprScanner.rl" {act = 65;} goto st23; -tr78: +tr79: #line 1 "NONE" {te = p+1;} #line 383 "patchExprScanner.rl" {act = 40;} goto st23; tr80: +#line 1 "NONE" + {te = p+1;} +#line 419 "patchExprScanner.rl" + {act = 69;} + goto st23; +tr82: #line 1 "NONE" {te = p+1;} #line 382 "patchExprScanner.rl" {act = 39;} goto st23; -tr84: +tr86: #line 1 "NONE" {te = p+1;} #line 385 "patchExprScanner.rl" {act = 42;} goto st23; -tr89: +tr91: #line 1 "NONE" {te = p+1;} #line 401 "patchExprScanner.rl" {act = 55;} goto st23; -tr92: +tr94: #line 1 "NONE" {te = p+1;} #line 408 "patchExprScanner.rl" {act = 60;} goto st23; -tr96: +tr98: #line 1 "NONE" {te = p+1;} #line 378 "patchExprScanner.rl" {act = 35;} goto st23; -tr99: +tr101: #line 1 "NONE" {te = p+1;} #line 387 "patchExprScanner.rl" {act = 44;} goto st23; -tr106: +tr108: #line 1 "NONE" {te = p+1;} #line 370 "patchExprScanner.rl" {act = 27;} goto st23; -tr108: +tr110: #line 1 "NONE" {te = p+1;} #line 372 "patchExprScanner.rl" {act = 29;} goto st23; -tr112: +tr114: #line 1 "NONE" {te = p+1;} #line 417 "patchExprScanner.rl" {act = 67;} goto st23; -tr117: +tr119: #line 1 "NONE" {te = p+1;} #line 374 "patchExprScanner.rl" {act = 31;} goto st23; -tr121: +tr123: #line 1 "NONE" {te = p+1;} #line 400 "patchExprScanner.rl" {act = 54;} goto st23; -tr125: +tr127: #line 1 "NONE" {te = p+1;} #line 390 "patchExprScanner.rl" {act = 47;} goto st23; -tr126: +tr128: #line 1 "NONE" {te = p+1;} #line 399 "patchExprScanner.rl" {act = 53;} goto st23; -tr130: +tr132: #line 1 "NONE" {te = p+1;} #line 395 "patchExprScanner.rl" {act = 51;} goto st23; -tr131: +tr133: #line 1 "NONE" {te = p+1;} #line 369 "patchExprScanner.rl" {act = 26;} goto st23; -tr134: +tr136: #line 1 "NONE" {te = p+1;} #line 375 "patchExprScanner.rl" {act = 32;} goto st23; -tr136: +tr138: #line 1 "NONE" {te = p+1;} #line 394 "patchExprScanner.rl" {act = 50;} goto st23; -tr144: +tr146: #line 1 "NONE" {te = p+1;} #line 371 "patchExprScanner.rl" {act = 28;} goto st23; -tr145: +tr147: #line 1 "NONE" {te = p+1;} #line 405 "patchExprScanner.rl" {act = 59;} goto st23; -tr153: +tr155: #line 1 "NONE" {te = p+1;} #line 396 "patchExprScanner.rl" {act = 52;} goto st23; -tr155: +tr157: #line 1 "NONE" {te = p+1;} #line 386 "patchExprScanner.rl" {act = 43;} goto st23; -tr168: +tr170: #line 1 "NONE" {te = p+1;} #line 412 "patchExprScanner.rl" {act = 64;} goto st23; -tr171: +tr173: #line 1 "NONE" {te = p+1;} #line 377 "patchExprScanner.rl" {act = 34;} goto st23; -tr172: +tr174: #line 1 "NONE" {te = p+1;} #line 402 "patchExprScanner.rl" {act = 56;} goto st23; -tr180: +tr182: #line 1 "NONE" {te = p+1;} #line 411 "patchExprScanner.rl" {act = 63;} goto st23; -tr187: +tr189: #line 1 "NONE" {te = p+1;} #line 388 "patchExprScanner.rl" {act = 45;} goto st23; -tr195: +tr197: #line 1 "NONE" {te = p+1;} -#line 419 "patchExprScanner.rl" - {act = 69;} +#line 420 "patchExprScanner.rl" + {act = 70;} goto st23; -tr197: +tr199: #line 1 "NONE" {te = p+1;} #line 416 "patchExprScanner.rl" {act = 66;} goto st23; -tr202: +tr204: #line 1 "NONE" {te = p+1;} #line 409 "patchExprScanner.rl" {act = 61;} goto st23; -tr215: +tr217: #line 1 "NONE" {te = p+1;} #line 403 "patchExprScanner.rl" {act = 57;} goto st23; -tr217: +tr219: #line 1 "NONE" {te = p+1;} #line 404 "patchExprScanner.rl" @@ -1320,7 +1329,7 @@ st23: if ( ++p == pe ) goto _test_eof23; case 23: -#line 1324 "patchExprScanner.cc" +#line 1333 "patchExprScanner.cc" switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; @@ -1396,9 +1405,10 @@ case 27: case 46: goto tr68; case 95: goto tr68; case 99: goto st28; - case 115: goto st30; - case 116: goto st32; - case 118: goto st35; + case 114: goto st30; + case 115: goto st31; + case 116: goto st33; + case 118: goto st36; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1434,7 +1444,7 @@ case 29: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto tr78; + case 115: goto tr79; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1452,7 +1462,7 @@ case 30: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 105: goto st31; + case 103: goto tr80; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1470,7 +1480,7 @@ case 31: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto tr80; + case 105: goto st32; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1488,13 +1498,13 @@ case 32: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st33; + case 110: goto tr82; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1506,13 +1516,13 @@ case 33: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto st34; + case 97: goto st34; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1523,8 +1533,8 @@ st34: case 34: switch( (*p) ) { case 46: goto tr68; - case 50: goto tr84; case 95: goto tr68; + case 110: goto st35; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1534,15 +1544,15 @@ case 34: goto tr68; } else goto tr68; - goto tr83; + goto tr67; st35: if ( ++p == pe ) goto _test_eof35; case 35: switch( (*p) ) { case 46: goto tr68; + case 50: goto tr86; case 95: goto tr68; - case 101: goto st36; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1552,7 +1562,7 @@ case 35: goto tr68; } else goto tr68; - goto tr67; + goto tr85; st36: if ( ++p == pe ) goto _test_eof36; @@ -1560,7 +1570,7 @@ case 36: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto st37; + case 101: goto st37; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1578,13 +1588,13 @@ case 37: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st38; + case 114: goto st38; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1596,13 +1606,13 @@ case 38: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st39; + case 97: goto st39; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1614,7 +1624,7 @@ case 39: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto tr89; + case 103: goto st40; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1632,7 +1642,7 @@ case 40: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st41; + case 101: goto tr91; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1668,7 +1678,7 @@ case 42: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 108: goto tr92; + case 111: goto st43; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1686,8 +1696,7 @@ case 43: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 98: goto st44; - case 111: goto st46; + case 108: goto tr94; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1705,7 +1714,8 @@ case 44: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto st45; + case 98: goto st45; + case 111: goto st47; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1723,7 +1733,7 @@ case 45: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 116: goto tr96; + case 114: goto st46; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1741,7 +1751,7 @@ case 46: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st47; + case 116: goto tr98; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1759,7 +1769,7 @@ case 47: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 104: goto tr99; + case 115: goto st48; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1769,7 +1779,7 @@ case 47: goto tr68; } else goto tr68; - goto tr98; + goto tr67; st48: if ( ++p == pe ) goto _test_eof48; @@ -1777,7 +1787,7 @@ case 48: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st49; + case 104: goto tr101; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1787,7 +1797,7 @@ case 48: goto tr68; } else goto tr68; - goto tr67; + goto tr100; st49: if ( ++p == pe ) goto _test_eof49; @@ -1795,7 +1805,7 @@ case 49: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st50; + case 101: goto st50; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1812,8 +1822,8 @@ st50: case 50: switch( (*p) ) { case 46: goto tr68; - case 84: goto st51; case 95: goto tr68; + case 103: goto st51; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1830,8 +1840,8 @@ st51: case 51: switch( (*p) ) { case 46: goto tr68; + case 84: goto st52; case 95: goto tr68; - case 111: goto st52; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1848,8 +1858,8 @@ st52: case 52: switch( (*p) ) { case 46: goto tr68; - case 82: goto st53; case 95: goto tr68; + case 111: goto st53; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1866,14 +1876,14 @@ st53: case 53: switch( (*p) ) { case 46: goto tr68; + case 82: goto st54; case 95: goto tr68; - case 97: goto st54; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1885,13 +1895,13 @@ case 54: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 100: goto tr106; + case 97: goto st55; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1903,7 +1913,7 @@ case 55: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 120: goto st56; + case 100: goto tr108; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1921,7 +1931,7 @@ case 56: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 112: goto tr108; + case 120: goto st57; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1939,13 +1949,13 @@ case 57: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st58; + case 112: goto tr110; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1957,13 +1967,13 @@ case 58: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 108: goto st59; + case 97: goto st59; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1975,7 +1985,7 @@ case 59: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st60; + case 108: goto st60; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1993,7 +2003,7 @@ case 60: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto tr112; + case 115: goto st61; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2011,7 +2021,7 @@ case 61: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st62; + case 101: goto tr114; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2029,7 +2039,7 @@ case 62: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st63; + case 111: goto st63; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2046,8 +2056,8 @@ st63: case 63: switch( (*p) ) { case 46: goto tr68; - case 49: goto st64; case 95: goto tr68; + case 103: goto st64; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2057,40 +2067,39 @@ case 63: goto tr68; } else goto tr68; - goto tr115; + goto tr67; st64: if ( ++p == pe ) goto _test_eof64; case 64: switch( (*p) ) { case 46: goto tr68; - case 48: goto tr117; + case 49: goto st65; case 95: goto tr68; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) + if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; - goto tr67; + goto tr117; st65: if ( ++p == pe ) goto _test_eof65; case 65: switch( (*p) ) { case 46: goto tr68; + case 48: goto tr119; case 95: goto tr68; - case 97: goto st66; - case 105: goto st70; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) + if ( 49 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2102,14 +2111,14 @@ case 66: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st67; - case 120: goto tr121; + case 97: goto st67; + case 105: goto st71; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2120,8 +2129,9 @@ st67: case 67: switch( (*p) ) { case 46: goto tr68; - case 83: goto st68; case 95: goto tr68; + case 103: goto st68; + case 120: goto tr123; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2131,15 +2141,15 @@ case 67: goto tr68; } else goto tr68; - goto tr122; + goto tr67; st68: if ( ++p == pe ) goto _test_eof68; case 68: switch( (*p) ) { case 46: goto tr68; + case 83: goto st69; case 95: goto tr68; - case 113: goto st69; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2149,7 +2159,7 @@ case 68: goto tr68; } else goto tr68; - goto tr67; + goto tr124; st69: if ( ++p == pe ) goto _test_eof69; @@ -2157,7 +2167,7 @@ case 69: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto tr125; + case 113: goto st70; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2175,7 +2185,7 @@ case 70: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto tr126; + case 114: goto tr127; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2193,7 +2203,7 @@ case 71: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st72; + case 110: goto tr128; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2211,7 +2221,7 @@ case 72: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st73; + case 101: goto st73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2228,37 +2238,36 @@ st73: case 73: switch( (*p) ) { case 46: goto tr68; - case 48: goto tr130; case 95: goto tr68; + case 103: goto st74; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) + if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; - goto tr129; + goto tr67; st74: if ( ++p == pe ) goto _test_eof74; case 74: switch( (*p) ) { case 46: goto tr68; + case 48: goto tr132; case 95: goto tr68; - case 105: goto tr131; - case 111: goto st75; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) + if ( 49 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; - goto tr67; + goto tr131; st75: if ( ++p == pe ) goto _test_eof75; @@ -2266,8 +2275,8 @@ case 75: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st76; - case 119: goto tr134; + case 105: goto tr133; + case 111: goto st76; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2284,36 +2293,37 @@ st76: case 76: switch( (*p) ) { case 46: goto tr68; - case 48: goto tr136; case 95: goto tr68; + case 115: goto st77; + case 119: goto tr136; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) + if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; - goto tr135; + goto tr67; st77: if ( ++p == pe ) goto _test_eof77; case 77: switch( (*p) ) { case 46: goto tr68; + case 48: goto tr138; case 95: goto tr68; - case 97: goto st78; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) + if ( 49 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; - goto tr67; + goto tr137; st78: if ( ++p == pe ) goto _test_eof78; @@ -2321,14 +2331,13 @@ case 78: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 100: goto st79; - case 110: goto st84; + case 97: goto st79; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2339,8 +2348,9 @@ st79: case 79: switch( (*p) ) { case 46: goto tr68; - case 84: goto st80; case 95: goto tr68; + case 100: goto st80; + case 110: goto st85; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2357,8 +2367,8 @@ st80: case 80: switch( (*p) ) { case 46: goto tr68; + case 84: goto st81; case 95: goto tr68; - case 111: goto st81; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2375,8 +2385,8 @@ st81: case 81: switch( (*p) ) { case 46: goto tr68; - case 68: goto st82; case 95: goto tr68; + case 111: goto st82; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2393,8 +2403,8 @@ st82: case 82: switch( (*p) ) { case 46: goto tr68; + case 68: goto st83; case 95: goto tr68; - case 101: goto st83; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2412,7 +2422,7 @@ case 83: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto tr144; + case 101: goto st84; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2430,7 +2440,7 @@ case 84: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 100: goto tr145; + case 103: goto tr146; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2448,11 +2458,7 @@ case 85: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 105: goto st86; - case 112: goto st89; - case 113: goto st102; - case 117: goto st104; - case 121: goto st105; + case 100: goto tr147; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2470,8 +2476,11 @@ case 86: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st87; - case 110: goto st88; + case 105: goto st87; + case 112: goto st90; + case 113: goto st103; + case 117: goto st105; + case 121: goto st106; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2489,7 +2498,8 @@ case 87: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto tr153; + case 103: goto st88; + case 110: goto st89; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2507,7 +2517,7 @@ case 88: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 104: goto tr155; + case 110: goto tr155; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2517,7 +2527,7 @@ case 88: goto tr68; } else goto tr68; - goto tr154; + goto tr67; st89: if ( ++p == pe ) goto _test_eof89; @@ -2525,7 +2535,7 @@ case 89: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 104: goto st90; + case 104: goto tr157; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2535,7 +2545,7 @@ case 89: goto tr68; } else goto tr68; - goto tr67; + goto tr156; st90: if ( ++p == pe ) goto _test_eof90; @@ -2543,7 +2553,7 @@ case 90: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st91; + case 104: goto st91; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2561,7 +2571,7 @@ case 91: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto st92; + case 101: goto st92; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2579,7 +2589,7 @@ case 92: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 105: goto st93; + case 114: goto st93; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2597,7 +2607,7 @@ case 93: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 99: goto st94; + case 105: goto st94; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2615,13 +2625,13 @@ case 94: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st95; + case 99: goto st95; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2633,13 +2643,13 @@ case 95: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 108: goto st96; + case 97: goto st96; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2650,8 +2660,8 @@ st96: case 96: switch( (*p) ) { case 46: goto tr68; - case 84: goto st97; case 95: goto tr68; + case 108: goto st97; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2668,8 +2678,8 @@ st97: case 97: switch( (*p) ) { case 46: goto tr68; + case 84: goto st98; case 95: goto tr68; - case 101: goto st98; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2687,7 +2697,7 @@ case 98: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto st99; + case 101: goto st99; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2705,7 +2715,7 @@ case 99: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st100; + case 110: goto st100; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2723,7 +2733,7 @@ case 100: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st101; + case 115: goto st101; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2741,7 +2751,7 @@ case 101: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto tr168; + case 111: goto st102; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2759,7 +2769,7 @@ case 102: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto st103; + case 114: goto tr170; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2777,7 +2787,7 @@ case 103: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 116: goto tr171; + case 114: goto st104; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2787,7 +2797,7 @@ case 103: goto tr68; } else goto tr68; - goto tr170; + goto tr67; st104: if ( ++p == pe ) goto _test_eof104; @@ -2795,7 +2805,7 @@ case 104: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 109: goto tr172; + case 116: goto tr173; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2805,7 +2815,7 @@ case 104: goto tr68; } else goto tr68; - goto tr67; + goto tr172; st105: if ( ++p == pe ) goto _test_eof105; @@ -2813,7 +2823,7 @@ case 105: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 109: goto st106; + case 109: goto tr174; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2848,8 +2858,8 @@ st107: case 107: switch( (*p) ) { case 46: goto tr68; - case 84: goto st108; case 95: goto tr68; + case 109: goto st108; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2866,8 +2876,8 @@ st108: case 108: switch( (*p) ) { case 46: goto tr68; + case 84: goto st109; case 95: goto tr68; - case 101: goto st109; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2885,7 +2895,7 @@ case 109: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto st110; + case 101: goto st110; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2903,7 +2913,7 @@ case 110: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st111; + case 110: goto st111; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2921,7 +2931,7 @@ case 111: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st112; + case 115: goto st112; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2939,7 +2949,7 @@ case 112: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto tr180; + case 111: goto st113; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2957,16 +2967,13 @@ case 113: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st114; - case 101: goto st116; - case 105: goto st121; - case 114: goto st123; + case 114: goto tr182; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2978,13 +2985,16 @@ case 114: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto st115; + case 97: goto st115; + case 101: goto st117; + case 105: goto st122; + case 114: goto st124; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2996,7 +3006,7 @@ case 115: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 104: goto tr187; + case 110: goto st116; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3006,7 +3016,7 @@ case 115: goto tr68; } else goto tr68; - goto tr186; + goto tr67; st116: if ( ++p == pe ) goto _test_eof116; @@ -3014,7 +3024,7 @@ case 116: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto st117; + case 104: goto tr189; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3024,7 +3034,7 @@ case 116: goto tr68; } else goto tr68; - goto tr67; + goto tr188; st117: if ( ++p == pe ) goto _test_eof117; @@ -3032,7 +3042,7 @@ case 117: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st118; + case 110: goto st118; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3050,7 +3060,7 @@ case 118: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st119; + case 115: goto st119; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3068,7 +3078,7 @@ case 119: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto tr191; + case 111: goto st120; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3079,19 +3089,14 @@ case 119: } else goto tr68; goto tr67; -tr191: -#line 1 "NONE" - {te = p+1;} - goto st120; st120: if ( ++p == pe ) goto _test_eof120; case 120: -#line 3091 "patchExprScanner.cc" switch( (*p) ) { case 46: goto tr68; - case 58: goto st8; case 95: goto tr68; + case 114: goto tr193; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3101,29 +3106,20 @@ case 120: goto tr68; } else goto tr68; - goto tr192; -st8: - if ( ++p == pe ) - goto _test_eof8; -case 8: - if ( (*p) == 58 ) - goto st9; - goto tr9; -st9: - if ( ++p == pe ) - goto _test_eof9; -case 9: - if ( (*p) == 73 ) - goto tr11; - goto tr9; + goto tr67; +tr193: +#line 1 "NONE" + {te = p+1;} + goto st121; st121: if ( ++p == pe ) goto _test_eof121; case 121: +#line 3119 "patchExprScanner.cc" switch( (*p) ) { case 46: goto tr68; + case 58: goto st8; case 95: goto tr68; - case 109: goto st122; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3133,7 +3129,21 @@ case 121: goto tr68; } else goto tr68; - goto tr67; + goto tr194; +st8: + if ( ++p == pe ) + goto _test_eof8; +case 8: + if ( (*p) == 58 ) + goto st9; + goto tr9; +st9: + if ( ++p == pe ) + goto _test_eof9; +case 9: + if ( (*p) == 73 ) + goto tr11; + goto tr9; st122: if ( ++p == pe ) goto _test_eof122; @@ -3141,7 +3151,7 @@ case 122: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto tr195; + case 109: goto st123; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3159,7 +3169,7 @@ case 123: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 117: goto st124; + case 101: goto tr197; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3177,7 +3187,7 @@ case 124: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto tr197; + case 117: goto st125; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3195,7 +3205,7 @@ case 125: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st126; + case 101: goto tr199; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3213,7 +3223,7 @@ case 126: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 99: goto st127; + case 101: goto st127; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3231,7 +3241,7 @@ case 127: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 116: goto st128; + case 99: goto st128; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3249,7 +3259,7 @@ case 128: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st129; + case 116: goto st129; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3267,7 +3277,7 @@ case 129: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto tr202; + case 111: goto st130; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3285,7 +3295,7 @@ case 130: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st131; + case 114: goto tr204; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3303,7 +3313,7 @@ case 131: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 105: goto st132; + case 101: goto st132; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3321,7 +3331,7 @@ case 132: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st133; + case 105: goto st133; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3339,7 +3349,7 @@ case 133: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 104: goto st134; + case 103: goto st134; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3357,7 +3367,7 @@ case 134: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 116: goto st135; + case 104: goto st135; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3374,11 +3384,10 @@ st135: case 135: switch( (*p) ) { case 46: goto tr68; - case 65: goto st136; - case 83: goto st142; case 95: goto tr68; + case 116: goto st136; } - if ( (*p) < 66 ) { + if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { @@ -3393,10 +3402,11 @@ st136: case 136: switch( (*p) ) { case 46: goto tr68; + case 65: goto st137; + case 83: goto st143; case 95: goto tr68; - case 118: goto st137; } - if ( (*p) < 65 ) { + if ( (*p) < 66 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { @@ -3412,7 +3422,7 @@ case 137: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st138; + case 118: goto st138; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3430,7 +3440,7 @@ case 138: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto st139; + case 101: goto st139; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3448,13 +3458,13 @@ case 139: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st140; + case 114: goto st140; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -3466,13 +3476,13 @@ case 140: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st141; + case 97: goto st141; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -3484,7 +3494,7 @@ case 141: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto tr215; + case 103: goto st142; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3502,7 +3512,7 @@ case 142: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 117: goto st143; + case 101: goto tr217; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3520,7 +3530,25 @@ case 143: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 109: goto tr217; + case 117: goto st144; + } + if ( (*p) < 65 ) { + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr68; + } else if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr68; + } else + goto tr68; + goto tr67; +st144: + if ( ++p == pe ) + goto _test_eof144; +case 144: + switch( (*p) ) { + case 46: goto tr68; + case 95: goto tr68; + case 109: goto tr219; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3656,9 +3684,9 @@ case 10: _test_eof118: cs = 118; goto _test_eof; _test_eof119: cs = 119; goto _test_eof; _test_eof120: cs = 120; goto _test_eof; + _test_eof121: cs = 121; goto _test_eof; _test_eof8: cs = 8; goto _test_eof; _test_eof9: cs = 9; goto _test_eof; - _test_eof121: cs = 121; goto _test_eof; _test_eof122: cs = 122; goto _test_eof; _test_eof123: cs = 123; goto _test_eof; _test_eof124: cs = 124; goto _test_eof; @@ -3681,6 +3709,7 @@ case 10: _test_eof141: cs = 141; goto _test_eof; _test_eof142: cs = 142; goto _test_eof; _test_eof143: cs = 143; goto _test_eof; + _test_eof144: cs = 144; goto _test_eof; _test_eof10: cs = 10; goto _test_eof; _test_eof: {} @@ -3711,8 +3740,8 @@ case 10: case 31: goto tr67; case 32: goto tr67; case 33: goto tr67; - case 34: goto tr83; - case 35: goto tr67; + case 34: goto tr67; + case 35: goto tr85; case 36: goto tr67; case 37: goto tr67; case 38: goto tr67; @@ -3724,8 +3753,8 @@ case 10: case 44: goto tr67; case 45: goto tr67; case 46: goto tr67; - case 47: goto tr98; - case 48: goto tr67; + case 47: goto tr67; + case 48: goto tr100; case 49: goto tr67; case 50: goto tr67; case 51: goto tr67; @@ -3740,21 +3769,21 @@ case 10: case 60: goto tr67; case 61: goto tr67; case 62: goto tr67; - case 63: goto tr115; - case 64: goto tr67; + case 63: goto tr67; + case 64: goto tr117; case 65: goto tr67; case 66: goto tr67; - case 67: goto tr122; - case 68: goto tr67; + case 67: goto tr67; + case 68: goto tr124; case 69: goto tr67; case 70: goto tr67; case 71: goto tr67; case 72: goto tr67; - case 73: goto tr129; - case 74: goto tr67; + case 73: goto tr67; + case 74: goto tr131; case 75: goto tr67; - case 76: goto tr135; - case 77: goto tr67; + case 76: goto tr67; + case 77: goto tr137; case 78: goto tr67; case 79: goto tr67; case 80: goto tr67; @@ -3765,8 +3794,8 @@ case 10: case 85: goto tr67; case 86: goto tr67; case 87: goto tr67; - case 88: goto tr154; - case 89: goto tr67; + case 88: goto tr67; + case 89: goto tr156; case 90: goto tr67; case 91: goto tr67; case 92: goto tr67; @@ -3780,8 +3809,8 @@ case 10: case 100: goto tr67; case 101: goto tr67; case 102: goto tr67; - case 103: goto tr170; - case 104: goto tr67; + case 103: goto tr67; + case 104: goto tr172; case 105: goto tr67; case 106: goto tr67; case 107: goto tr67; @@ -3792,15 +3821,15 @@ case 10: case 112: goto tr67; case 113: goto tr67; case 114: goto tr67; - case 115: goto tr186; - case 116: goto tr67; + case 115: goto tr67; + case 116: goto tr188; case 117: goto tr67; case 118: goto tr67; case 119: goto tr67; - case 120: goto tr192; + case 120: goto tr67; + case 121: goto tr194; case 8: goto tr9; case 9: goto tr9; - case 121: goto tr67; case 122: goto tr67; case 123: goto tr67; case 124: goto tr67; @@ -3823,13 +3852,14 @@ case 10: case 141: goto tr67; case 142: goto tr67; case 143: goto tr67; + case 144: goto tr67; } } _out: {} } -#line 661 "patchExprScanner.rl" +#line 662 "patchExprScanner.rl" /* ^^^ FSM execution here ^^^ */; if (0 == cs) diff --git a/src/finiteVolume/expressions/patch/patchExprScanner.rl b/src/finiteVolume/expressions/patch/patchExprScanner.rl index 84b5f3b0a333bcef98456acafc6a3552175b9425..87b4b3c600529fc9660f830d30e4fc0ffe48e7a8 100644 --- a/src/finiteVolume/expressions/patch/patchExprScanner.rl +++ b/src/finiteVolume/expressions/patch/patchExprScanner.rl @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -416,6 +416,7 @@ static int driverTokenType "true" =>{ EMIT_TOKEN(LTRUE); }; "false" =>{ EMIT_TOKEN(LFALSE); }; "tensor::I" =>{ EMIT_TOKEN(UNIT_TENSOR); }; + "arg" =>{ EMIT_TOKEN(ARG); }; "time" =>{ EMIT_TOKEN(TIME); }; ## Identifier (field, etc - error if unknown) diff --git a/src/finiteVolume/expressions/volume/volumeExprLemonParser.h b/src/finiteVolume/expressions/volume/volumeExprLemonParser.h index 2cca6cd8082bb5e0c70b23a4967b85c74db2dd1c..2e2ec7653fcc4c28e5a8cc397799f23e016bd5c7 100644 --- a/src/finiteVolume/expressions/volume/volumeExprLemonParser.h +++ b/src/finiteVolume/expressions/volume/volumeExprLemonParser.h @@ -25,95 +25,96 @@ #define TOK_RPAREN 25 #define TOK_DEG_TO_RAD 26 #define TOK_RAD_TO_DEG 27 -#define TOK_TIME 28 -#define TOK_SCALAR_ID 29 -#define TOK_MIN 30 -#define TOK_COMMA 31 -#define TOK_MAX 32 -#define TOK_SUM 33 -#define TOK_AVERAGE 34 -#define TOK_EXP 35 -#define TOK_LOG 36 -#define TOK_LOG10 37 -#define TOK_SQR 38 -#define TOK_SQRT 39 -#define TOK_CBRT 40 -#define TOK_SIN 41 -#define TOK_COS 42 -#define TOK_TAN 43 -#define TOK_ASIN 44 -#define TOK_ACOS 45 -#define TOK_ATAN 46 -#define TOK_SINH 47 -#define TOK_COSH 48 -#define TOK_TANH 49 -#define TOK_POW 50 -#define TOK_ATAN2 51 -#define TOK_POS 52 -#define TOK_NEG 53 -#define TOK_POS0 54 -#define TOK_NEG0 55 -#define TOK_SIGN 56 -#define TOK_FLOOR 57 -#define TOK_CEIL 58 -#define TOK_ROUND 59 -#define TOK_HYPOT 60 -#define TOK_RAND 61 -#define TOK_VECTOR_ID 62 -#define TOK_SPH_TENSOR_ID 63 -#define TOK_SYM_TENSOR_ID 64 -#define TOK_UNIT_TENSOR 65 -#define TOK_TENSOR_ID 66 -#define TOK_LTRUE 67 -#define TOK_LFALSE 68 -#define TOK_BOOL 69 -#define TOK_CSET 70 -#define TOK_IDENTIFIER 71 -#define TOK_CZONE 72 -#define TOK_CELL_VOLUME 73 -#define TOK_WEIGHT_AVERAGE 74 -#define TOK_WEIGHT_SUM 75 -#define TOK_FACE_EXPR 76 -#define TOK_SSCALAR_ID 77 -#define TOK_SVECTOR_ID 78 -#define TOK_SSPH_TENSOR_ID 79 -#define TOK_SSYM_TENSOR_ID 80 -#define TOK_STENSOR_ID 81 -#define TOK_FSET 82 -#define TOK_FZONE 83 -#define TOK_FACE_AREA 84 -#define TOK_FACE_CENTRE 85 -#define TOK_POINT_EXPR 86 -#define TOK_PSCALAR_ID 87 -#define TOK_PVECTOR_ID 88 -#define TOK_PSPH_TENSOR_ID 89 -#define TOK_PSYM_TENSOR_ID 90 -#define TOK_PTENSOR_ID 91 -#define TOK_PSET 92 -#define TOK_PZONE 93 -#define TOK_POINTS 94 -#define TOK_MAG 95 -#define TOK_MAGSQR 96 -#define TOK_VECTOR 97 -#define TOK_TENSOR 98 -#define TOK_SYM_TENSOR 99 -#define TOK_SPH_TENSOR 100 -#define TOK_CMPT_X 101 -#define TOK_CMPT_Y 102 -#define TOK_CMPT_Z 103 -#define TOK_CMPT_XX 104 -#define TOK_CMPT_XY 105 -#define TOK_CMPT_XZ 106 -#define TOK_CMPT_YX 107 -#define TOK_CMPT_YY 108 -#define TOK_CMPT_YZ 109 -#define TOK_CMPT_ZX 110 -#define TOK_CMPT_ZY 111 -#define TOK_CMPT_ZZ 112 -#define TOK_CMPT_II 113 -#define TOK_TRANSPOSE 114 -#define TOK_DIAG 115 -#define TOK_POINT_TO_CELL 116 -#define TOK_RECONSTRUCT 117 -#define TOK_CELL_TO_FACE 118 -#define TOK_CELL_TO_POINT 119 +#define TOK_ARG 28 +#define TOK_TIME 29 +#define TOK_SCALAR_ID 30 +#define TOK_MIN 31 +#define TOK_COMMA 32 +#define TOK_MAX 33 +#define TOK_SUM 34 +#define TOK_AVERAGE 35 +#define TOK_EXP 36 +#define TOK_LOG 37 +#define TOK_LOG10 38 +#define TOK_SQR 39 +#define TOK_SQRT 40 +#define TOK_CBRT 41 +#define TOK_SIN 42 +#define TOK_COS 43 +#define TOK_TAN 44 +#define TOK_ASIN 45 +#define TOK_ACOS 46 +#define TOK_ATAN 47 +#define TOK_SINH 48 +#define TOK_COSH 49 +#define TOK_TANH 50 +#define TOK_POW 51 +#define TOK_ATAN2 52 +#define TOK_POS 53 +#define TOK_NEG 54 +#define TOK_POS0 55 +#define TOK_NEG0 56 +#define TOK_SIGN 57 +#define TOK_FLOOR 58 +#define TOK_CEIL 59 +#define TOK_ROUND 60 +#define TOK_HYPOT 61 +#define TOK_RAND 62 +#define TOK_VECTOR_ID 63 +#define TOK_SPH_TENSOR_ID 64 +#define TOK_SYM_TENSOR_ID 65 +#define TOK_UNIT_TENSOR 66 +#define TOK_TENSOR_ID 67 +#define TOK_LTRUE 68 +#define TOK_LFALSE 69 +#define TOK_BOOL 70 +#define TOK_CSET 71 +#define TOK_IDENTIFIER 72 +#define TOK_CZONE 73 +#define TOK_CELL_VOLUME 74 +#define TOK_WEIGHT_AVERAGE 75 +#define TOK_WEIGHT_SUM 76 +#define TOK_FACE_EXPR 77 +#define TOK_SSCALAR_ID 78 +#define TOK_SVECTOR_ID 79 +#define TOK_SSPH_TENSOR_ID 80 +#define TOK_SSYM_TENSOR_ID 81 +#define TOK_STENSOR_ID 82 +#define TOK_FSET 83 +#define TOK_FZONE 84 +#define TOK_FACE_AREA 85 +#define TOK_FACE_CENTRE 86 +#define TOK_POINT_EXPR 87 +#define TOK_PSCALAR_ID 88 +#define TOK_PVECTOR_ID 89 +#define TOK_PSPH_TENSOR_ID 90 +#define TOK_PSYM_TENSOR_ID 91 +#define TOK_PTENSOR_ID 92 +#define TOK_PSET 93 +#define TOK_PZONE 94 +#define TOK_POINTS 95 +#define TOK_MAG 96 +#define TOK_MAGSQR 97 +#define TOK_VECTOR 98 +#define TOK_TENSOR 99 +#define TOK_SYM_TENSOR 100 +#define TOK_SPH_TENSOR 101 +#define TOK_CMPT_X 102 +#define TOK_CMPT_Y 103 +#define TOK_CMPT_Z 104 +#define TOK_CMPT_XX 105 +#define TOK_CMPT_XY 106 +#define TOK_CMPT_XZ 107 +#define TOK_CMPT_YX 108 +#define TOK_CMPT_YY 109 +#define TOK_CMPT_YZ 110 +#define TOK_CMPT_ZX 111 +#define TOK_CMPT_ZY 112 +#define TOK_CMPT_ZZ 113 +#define TOK_CMPT_II 114 +#define TOK_TRANSPOSE 115 +#define TOK_DIAG 116 +#define TOK_POINT_TO_CELL 117 +#define TOK_RECONSTRUCT 118 +#define TOK_CELL_TO_FACE 119 +#define TOK_CELL_TO_POINT 120 diff --git a/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 b/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 index bc9638fac40aef68f2cf247bf2fe7904d35a2811..57a1f2144dc4508afbb7c34e87cf133371aa0ecf 100644 --- a/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 +++ b/src/finiteVolume/expressions/volume/volumeExprLemonParser.lyy-m4 @@ -158,6 +158,7 @@ svalue (lhs) ::= ZERO . { lhs = Foam::Zero; } svalue (lhs) ::= PI LPAREN RPAREN . { lhs = Foam::constant::mathematical::pi; } svalue (lhs) ::= DEG_TO_RAD LPAREN RPAREN . { lhs = Foam::degToRad(); } svalue (lhs) ::= RAD_TO_DEG LPAREN RPAREN . { lhs = Foam::radToDeg(); } +svalue (lhs) ::= ARG LPAREN RPAREN . { lhs = driver->argValue(); } svalue (lhs) ::= TIME LPAREN RPAREN . { lhs = driver->timeValue(); } diff --git a/src/finiteVolume/expressions/volume/volumeExprScanner.cc b/src/finiteVolume/expressions/volume/volumeExprScanner.cc index 91e6d01ad7e9d3efdccbaf4f59430b1ac41ec721..aafaa94ae9aee4ecc669bc65fadb65b5f2ab0efe 100644 --- a/src/finiteVolume/expressions/volume/volumeExprScanner.cc +++ b/src/finiteVolume/expressions/volume/volumeExprScanner.cc @@ -7,7 +7,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -324,7 +324,7 @@ static const int volumeExpr_error = 0; static const int volumeExpr_en_main = 11; -#line 458 "volumeExprScanner.rl" +#line 459 "volumeExprScanner.rl" @@ -564,7 +564,7 @@ bool Foam::expressions::volumeExpr::scanner::process act = 0; } -#line 688 "volumeExprScanner.rl" +#line 689 "volumeExprScanner.rl" /* ^^^ FSM initialization here ^^^ */; @@ -855,9 +855,12 @@ tr69: {{p = ((te))-1;} EMIT_TOKEN(LFALSE); } break; case 69: - {{p = ((te))-1;} EMIT_TOKEN(TIME); } + {{p = ((te))-1;} EMIT_TOKEN(ARG); } break; case 70: + {{p = ((te))-1;} EMIT_TOKEN(TIME); } + break; + case 71: {{p = ((te))-1;} driver_.parsePosition() = (ts-buf); dispatch_ident(driver_, scanTok, word(ts, te-ts, false)); @@ -867,43 +870,43 @@ tr69: } } goto st11; -tr83: +tr85: #line 413 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(ATAN); }} goto st11; -tr98: +tr100: #line 409 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(COS); }} goto st11; -tr115: +tr117: #line 402 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(LOG); }} goto st11; -tr122: +tr124: #line 418 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(MAG); }} goto st11; -tr129: +tr131: #line 422 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(NEG); }} goto st11; -tr135: +tr137: #line 421 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(POS); }} goto st11; -tr154: +tr156: #line 408 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SIN); }} goto st11; -tr170: +tr172: #line 405 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(SQR); }} goto st11; -tr186: +tr188: #line 410 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TAN); }} goto st11; -tr192: +tr194: #line 439 "volumeExprScanner.rl" {te = p;p--;{ EMIT_TOKEN(TENSOR); }} goto st11; @@ -915,7 +918,7 @@ st11: case 11: #line 1 "NONE" {ts = p;} -#line 919 "volumeExprScanner.cc" +#line 922 "volumeExprScanner.cc" switch( (*p) ) { case 32: goto st12; case 33: goto st13; @@ -940,20 +943,20 @@ case 11: case 94: goto tr35; case 95: goto st22; case 97: goto st27; - case 98: goto st40; - case 99: goto st43; - case 100: goto st48; - case 101: goto st55; - case 102: goto st57; - case 108: goto st61; - case 109: goto st65; - case 110: goto st71; - case 112: goto st74; - case 114: goto st77; - case 115: goto st85; - case 116: goto st113; - case 118: goto st125; - case 119: goto st130; + case 98: goto st41; + case 99: goto st44; + case 100: goto st49; + case 101: goto st56; + case 102: goto st58; + case 108: goto st62; + case 109: goto st66; + case 110: goto st72; + case 112: goto st75; + case 114: goto st78; + case 115: goto st86; + case 116: goto st114; + case 118: goto st126; + case 119: goto st131; case 124: goto st10; } if ( (*p) < 48 ) { @@ -1043,7 +1046,7 @@ st16: if ( ++p == pe ) goto _test_eof16; case 16: -#line 1047 "volumeExprScanner.cc" +#line 1050 "volumeExprScanner.cc" switch( (*p) ) { case 69: goto st5; case 101: goto st5; @@ -1094,7 +1097,7 @@ st19: if ( ++p == pe ) goto _test_eof19; case 19: -#line 1098 "volumeExprScanner.cc" +#line 1101 "volumeExprScanner.cc" switch( (*p) ) { case 46: goto tr58; case 69: goto st5; @@ -1145,7 +1148,7 @@ tr68: #line 1 "NONE" {te = p+1;} #line 342 "volumeExprScanner.rl" - {act = 70;} + {act = 71;} goto st23; tr72: #line 1 "NONE" @@ -1153,193 +1156,199 @@ tr72: #line 444 "volumeExprScanner.rl" {act = 65;} goto st23; -tr78: +tr79: #line 1 "NONE" {te = p+1;} #line 412 "volumeExprScanner.rl" {act = 40;} goto st23; tr80: +#line 1 "NONE" + {te = p+1;} +#line 448 "volumeExprScanner.rl" + {act = 69;} + goto st23; +tr82: #line 1 "NONE" {te = p+1;} #line 411 "volumeExprScanner.rl" {act = 39;} goto st23; -tr84: +tr86: #line 1 "NONE" {te = p+1;} #line 414 "volumeExprScanner.rl" {act = 42;} goto st23; -tr89: +tr91: #line 1 "NONE" {te = p+1;} #line 430 "volumeExprScanner.rl" {act = 55;} goto st23; -tr92: +tr94: #line 1 "NONE" {te = p+1;} #line 437 "volumeExprScanner.rl" {act = 60;} goto st23; -tr96: +tr98: #line 1 "NONE" {te = p+1;} #line 407 "volumeExprScanner.rl" {act = 35;} goto st23; -tr99: +tr101: #line 1 "NONE" {te = p+1;} #line 416 "volumeExprScanner.rl" {act = 44;} goto st23; -tr106: +tr108: #line 1 "NONE" {te = p+1;} #line 399 "volumeExprScanner.rl" {act = 27;} goto st23; -tr108: +tr110: #line 1 "NONE" {te = p+1;} #line 401 "volumeExprScanner.rl" {act = 29;} goto st23; -tr112: +tr114: #line 1 "NONE" {te = p+1;} #line 446 "volumeExprScanner.rl" {act = 67;} goto st23; -tr117: +tr119: #line 1 "NONE" {te = p+1;} #line 403 "volumeExprScanner.rl" {act = 31;} goto st23; -tr121: +tr123: #line 1 "NONE" {te = p+1;} #line 429 "volumeExprScanner.rl" {act = 54;} goto st23; -tr125: +tr127: #line 1 "NONE" {te = p+1;} #line 419 "volumeExprScanner.rl" {act = 47;} goto st23; -tr126: +tr128: #line 1 "NONE" {te = p+1;} #line 428 "volumeExprScanner.rl" {act = 53;} goto st23; -tr130: +tr132: #line 1 "NONE" {te = p+1;} #line 424 "volumeExprScanner.rl" {act = 51;} goto st23; -tr131: +tr133: #line 1 "NONE" {te = p+1;} #line 398 "volumeExprScanner.rl" {act = 26;} goto st23; -tr134: +tr136: #line 1 "NONE" {te = p+1;} #line 404 "volumeExprScanner.rl" {act = 32;} goto st23; -tr136: +tr138: #line 1 "NONE" {te = p+1;} #line 423 "volumeExprScanner.rl" {act = 50;} goto st23; -tr144: +tr146: #line 1 "NONE" {te = p+1;} #line 400 "volumeExprScanner.rl" {act = 28;} goto st23; -tr145: +tr147: #line 1 "NONE" {te = p+1;} #line 434 "volumeExprScanner.rl" {act = 59;} goto st23; -tr153: +tr155: #line 1 "NONE" {te = p+1;} #line 425 "volumeExprScanner.rl" {act = 52;} goto st23; -tr155: +tr157: #line 1 "NONE" {te = p+1;} #line 415 "volumeExprScanner.rl" {act = 43;} goto st23; -tr168: +tr170: #line 1 "NONE" {te = p+1;} #line 441 "volumeExprScanner.rl" {act = 64;} goto st23; -tr171: +tr173: #line 1 "NONE" {te = p+1;} #line 406 "volumeExprScanner.rl" {act = 34;} goto st23; -tr172: +tr174: #line 1 "NONE" {te = p+1;} #line 431 "volumeExprScanner.rl" {act = 56;} goto st23; -tr180: +tr182: #line 1 "NONE" {te = p+1;} #line 440 "volumeExprScanner.rl" {act = 63;} goto st23; -tr187: +tr189: #line 1 "NONE" {te = p+1;} #line 417 "volumeExprScanner.rl" {act = 45;} goto st23; -tr195: +tr197: #line 1 "NONE" {te = p+1;} -#line 448 "volumeExprScanner.rl" - {act = 69;} +#line 449 "volumeExprScanner.rl" + {act = 70;} goto st23; -tr197: +tr199: #line 1 "NONE" {te = p+1;} #line 445 "volumeExprScanner.rl" {act = 66;} goto st23; -tr202: +tr204: #line 1 "NONE" {te = p+1;} #line 438 "volumeExprScanner.rl" {act = 61;} goto st23; -tr215: +tr217: #line 1 "NONE" {te = p+1;} #line 432 "volumeExprScanner.rl" {act = 57;} goto st23; -tr217: +tr219: #line 1 "NONE" {te = p+1;} #line 433 "volumeExprScanner.rl" @@ -1349,7 +1358,7 @@ st23: if ( ++p == pe ) goto _test_eof23; case 23: -#line 1353 "volumeExprScanner.cc" +#line 1362 "volumeExprScanner.cc" switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; @@ -1425,9 +1434,10 @@ case 27: case 46: goto tr68; case 95: goto tr68; case 99: goto st28; - case 115: goto st30; - case 116: goto st32; - case 118: goto st35; + case 114: goto st30; + case 115: goto st31; + case 116: goto st33; + case 118: goto st36; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1463,7 +1473,7 @@ case 29: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto tr78; + case 115: goto tr79; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1481,7 +1491,7 @@ case 30: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 105: goto st31; + case 103: goto tr80; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1499,7 +1509,7 @@ case 31: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto tr80; + case 105: goto st32; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1517,13 +1527,13 @@ case 32: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st33; + case 110: goto tr82; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1535,13 +1545,13 @@ case 33: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto st34; + case 97: goto st34; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1552,8 +1562,8 @@ st34: case 34: switch( (*p) ) { case 46: goto tr68; - case 50: goto tr84; case 95: goto tr68; + case 110: goto st35; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1563,15 +1573,15 @@ case 34: goto tr68; } else goto tr68; - goto tr83; + goto tr67; st35: if ( ++p == pe ) goto _test_eof35; case 35: switch( (*p) ) { case 46: goto tr68; + case 50: goto tr86; case 95: goto tr68; - case 101: goto st36; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1581,7 +1591,7 @@ case 35: goto tr68; } else goto tr68; - goto tr67; + goto tr85; st36: if ( ++p == pe ) goto _test_eof36; @@ -1589,7 +1599,7 @@ case 36: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto st37; + case 101: goto st37; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1607,13 +1617,13 @@ case 37: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st38; + case 114: goto st38; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1625,13 +1635,13 @@ case 38: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st39; + case 97: goto st39; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1643,7 +1653,7 @@ case 39: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto tr89; + case 103: goto st40; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1661,7 +1671,7 @@ case 40: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st41; + case 101: goto tr91; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1697,7 +1707,7 @@ case 42: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 108: goto tr92; + case 111: goto st43; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1715,8 +1725,7 @@ case 43: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 98: goto st44; - case 111: goto st46; + case 108: goto tr94; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1734,7 +1743,8 @@ case 44: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto st45; + case 98: goto st45; + case 111: goto st47; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1752,7 +1762,7 @@ case 45: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 116: goto tr96; + case 114: goto st46; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1770,7 +1780,7 @@ case 46: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st47; + case 116: goto tr98; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1788,7 +1798,7 @@ case 47: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 104: goto tr99; + case 115: goto st48; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1798,7 +1808,7 @@ case 47: goto tr68; } else goto tr68; - goto tr98; + goto tr67; st48: if ( ++p == pe ) goto _test_eof48; @@ -1806,7 +1816,7 @@ case 48: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st49; + case 104: goto tr101; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1816,7 +1826,7 @@ case 48: goto tr68; } else goto tr68; - goto tr67; + goto tr100; st49: if ( ++p == pe ) goto _test_eof49; @@ -1824,7 +1834,7 @@ case 49: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st50; + case 101: goto st50; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1841,8 +1851,8 @@ st50: case 50: switch( (*p) ) { case 46: goto tr68; - case 84: goto st51; case 95: goto tr68; + case 103: goto st51; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1859,8 +1869,8 @@ st51: case 51: switch( (*p) ) { case 46: goto tr68; + case 84: goto st52; case 95: goto tr68; - case 111: goto st52; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1877,8 +1887,8 @@ st52: case 52: switch( (*p) ) { case 46: goto tr68; - case 82: goto st53; case 95: goto tr68; + case 111: goto st53; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1895,14 +1905,14 @@ st53: case 53: switch( (*p) ) { case 46: goto tr68; + case 82: goto st54; case 95: goto tr68; - case 97: goto st54; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1914,13 +1924,13 @@ case 54: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 100: goto tr106; + case 97: goto st55; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1932,7 +1942,7 @@ case 55: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 120: goto st56; + case 100: goto tr108; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1950,7 +1960,7 @@ case 56: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 112: goto tr108; + case 120: goto st57; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -1968,13 +1978,13 @@ case 57: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st58; + case 112: goto tr110; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -1986,13 +1996,13 @@ case 58: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 108: goto st59; + case 97: goto st59; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2004,7 +2014,7 @@ case 59: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st60; + case 108: goto st60; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2022,7 +2032,7 @@ case 60: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto tr112; + case 115: goto st61; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2040,7 +2050,7 @@ case 61: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st62; + case 101: goto tr114; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2058,7 +2068,7 @@ case 62: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st63; + case 111: goto st63; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2075,8 +2085,8 @@ st63: case 63: switch( (*p) ) { case 46: goto tr68; - case 49: goto st64; case 95: goto tr68; + case 103: goto st64; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2086,40 +2096,39 @@ case 63: goto tr68; } else goto tr68; - goto tr115; + goto tr67; st64: if ( ++p == pe ) goto _test_eof64; case 64: switch( (*p) ) { case 46: goto tr68; - case 48: goto tr117; + case 49: goto st65; case 95: goto tr68; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) + if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; - goto tr67; + goto tr117; st65: if ( ++p == pe ) goto _test_eof65; case 65: switch( (*p) ) { case 46: goto tr68; + case 48: goto tr119; case 95: goto tr68; - case 97: goto st66; - case 105: goto st70; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) + if ( 49 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2131,14 +2140,14 @@ case 66: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st67; - case 120: goto tr121; + case 97: goto st67; + case 105: goto st71; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2149,8 +2158,9 @@ st67: case 67: switch( (*p) ) { case 46: goto tr68; - case 83: goto st68; case 95: goto tr68; + case 103: goto st68; + case 120: goto tr123; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2160,15 +2170,15 @@ case 67: goto tr68; } else goto tr68; - goto tr122; + goto tr67; st68: if ( ++p == pe ) goto _test_eof68; case 68: switch( (*p) ) { case 46: goto tr68; + case 83: goto st69; case 95: goto tr68; - case 113: goto st69; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2178,7 +2188,7 @@ case 68: goto tr68; } else goto tr68; - goto tr67; + goto tr124; st69: if ( ++p == pe ) goto _test_eof69; @@ -2186,7 +2196,7 @@ case 69: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto tr125; + case 113: goto st70; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2204,7 +2214,7 @@ case 70: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto tr126; + case 114: goto tr127; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2222,7 +2232,7 @@ case 71: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st72; + case 110: goto tr128; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2240,7 +2250,7 @@ case 72: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st73; + case 101: goto st73; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2257,37 +2267,36 @@ st73: case 73: switch( (*p) ) { case 46: goto tr68; - case 48: goto tr130; case 95: goto tr68; + case 103: goto st74; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) + if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; - goto tr129; + goto tr67; st74: if ( ++p == pe ) goto _test_eof74; case 74: switch( (*p) ) { case 46: goto tr68; + case 48: goto tr132; case 95: goto tr68; - case 105: goto tr131; - case 111: goto st75; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) + if ( 49 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; - goto tr67; + goto tr131; st75: if ( ++p == pe ) goto _test_eof75; @@ -2295,8 +2304,8 @@ case 75: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st76; - case 119: goto tr134; + case 105: goto tr133; + case 111: goto st76; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2313,36 +2322,37 @@ st76: case 76: switch( (*p) ) { case 46: goto tr68; - case 48: goto tr136; case 95: goto tr68; + case 115: goto st77; + case 119: goto tr136; } if ( (*p) < 65 ) { - if ( 49 <= (*p) && (*p) <= 57 ) + if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; - goto tr135; + goto tr67; st77: if ( ++p == pe ) goto _test_eof77; case 77: switch( (*p) ) { case 46: goto tr68; + case 48: goto tr138; case 95: goto tr68; - case 97: goto st78; } if ( (*p) < 65 ) { - if ( 48 <= (*p) && (*p) <= 57 ) + if ( 49 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; - goto tr67; + goto tr137; st78: if ( ++p == pe ) goto _test_eof78; @@ -2350,14 +2360,13 @@ case 78: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 100: goto st79; - case 110: goto st84; + case 97: goto st79; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2368,8 +2377,9 @@ st79: case 79: switch( (*p) ) { case 46: goto tr68; - case 84: goto st80; case 95: goto tr68; + case 100: goto st80; + case 110: goto st85; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2386,8 +2396,8 @@ st80: case 80: switch( (*p) ) { case 46: goto tr68; + case 84: goto st81; case 95: goto tr68; - case 111: goto st81; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2404,8 +2414,8 @@ st81: case 81: switch( (*p) ) { case 46: goto tr68; - case 68: goto st82; case 95: goto tr68; + case 111: goto st82; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2422,8 +2432,8 @@ st82: case 82: switch( (*p) ) { case 46: goto tr68; + case 68: goto st83; case 95: goto tr68; - case 101: goto st83; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2441,7 +2451,7 @@ case 83: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto tr144; + case 101: goto st84; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2459,7 +2469,7 @@ case 84: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 100: goto tr145; + case 103: goto tr146; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2477,11 +2487,7 @@ case 85: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 105: goto st86; - case 112: goto st89; - case 113: goto st102; - case 117: goto st104; - case 121: goto st105; + case 100: goto tr147; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2499,8 +2505,11 @@ case 86: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st87; - case 110: goto st88; + case 105: goto st87; + case 112: goto st90; + case 113: goto st103; + case 117: goto st105; + case 121: goto st106; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2518,7 +2527,8 @@ case 87: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto tr153; + case 103: goto st88; + case 110: goto st89; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2536,7 +2546,7 @@ case 88: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 104: goto tr155; + case 110: goto tr155; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2546,7 +2556,7 @@ case 88: goto tr68; } else goto tr68; - goto tr154; + goto tr67; st89: if ( ++p == pe ) goto _test_eof89; @@ -2554,7 +2564,7 @@ case 89: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 104: goto st90; + case 104: goto tr157; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2564,7 +2574,7 @@ case 89: goto tr68; } else goto tr68; - goto tr67; + goto tr156; st90: if ( ++p == pe ) goto _test_eof90; @@ -2572,7 +2582,7 @@ case 90: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st91; + case 104: goto st91; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2590,7 +2600,7 @@ case 91: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto st92; + case 101: goto st92; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2608,7 +2618,7 @@ case 92: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 105: goto st93; + case 114: goto st93; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2626,7 +2636,7 @@ case 93: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 99: goto st94; + case 105: goto st94; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2644,13 +2654,13 @@ case 94: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st95; + case 99: goto st95; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2662,13 +2672,13 @@ case 95: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 108: goto st96; + case 97: goto st96; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -2679,8 +2689,8 @@ st96: case 96: switch( (*p) ) { case 46: goto tr68; - case 84: goto st97; case 95: goto tr68; + case 108: goto st97; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2697,8 +2707,8 @@ st97: case 97: switch( (*p) ) { case 46: goto tr68; + case 84: goto st98; case 95: goto tr68; - case 101: goto st98; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2716,7 +2726,7 @@ case 98: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto st99; + case 101: goto st99; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2734,7 +2744,7 @@ case 99: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st100; + case 110: goto st100; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2752,7 +2762,7 @@ case 100: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st101; + case 115: goto st101; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2770,7 +2780,7 @@ case 101: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto tr168; + case 111: goto st102; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2788,7 +2798,7 @@ case 102: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto st103; + case 114: goto tr170; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2806,7 +2816,7 @@ case 103: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 116: goto tr171; + case 114: goto st104; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2816,7 +2826,7 @@ case 103: goto tr68; } else goto tr68; - goto tr170; + goto tr67; st104: if ( ++p == pe ) goto _test_eof104; @@ -2824,7 +2834,7 @@ case 104: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 109: goto tr172; + case 116: goto tr173; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2834,7 +2844,7 @@ case 104: goto tr68; } else goto tr68; - goto tr67; + goto tr172; st105: if ( ++p == pe ) goto _test_eof105; @@ -2842,7 +2852,7 @@ case 105: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 109: goto st106; + case 109: goto tr174; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2877,8 +2887,8 @@ st107: case 107: switch( (*p) ) { case 46: goto tr68; - case 84: goto st108; case 95: goto tr68; + case 109: goto st108; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2895,8 +2905,8 @@ st108: case 108: switch( (*p) ) { case 46: goto tr68; + case 84: goto st109; case 95: goto tr68; - case 101: goto st109; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2914,7 +2924,7 @@ case 109: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto st110; + case 101: goto st110; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2932,7 +2942,7 @@ case 110: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st111; + case 110: goto st111; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2950,7 +2960,7 @@ case 111: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st112; + case 115: goto st112; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2968,7 +2978,7 @@ case 112: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto tr180; + case 111: goto st113; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -2986,16 +2996,13 @@ case 113: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st114; - case 101: goto st116; - case 105: goto st121; - case 114: goto st123; + case 114: goto tr182; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -3007,13 +3014,16 @@ case 114: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto st115; + case 97: goto st115; + case 101: goto st117; + case 105: goto st122; + case 114: goto st124; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -3025,7 +3035,7 @@ case 115: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 104: goto tr187; + case 110: goto st116; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3035,7 +3045,7 @@ case 115: goto tr68; } else goto tr68; - goto tr186; + goto tr67; st116: if ( ++p == pe ) goto _test_eof116; @@ -3043,7 +3053,7 @@ case 116: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 110: goto st117; + case 104: goto tr189; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3053,7 +3063,7 @@ case 116: goto tr68; } else goto tr68; - goto tr67; + goto tr188; st117: if ( ++p == pe ) goto _test_eof117; @@ -3061,7 +3071,7 @@ case 117: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 115: goto st118; + case 110: goto st118; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3079,7 +3089,7 @@ case 118: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st119; + case 115: goto st119; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3097,7 +3107,7 @@ case 119: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto tr191; + case 111: goto st120; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3108,19 +3118,14 @@ case 119: } else goto tr68; goto tr67; -tr191: -#line 1 "NONE" - {te = p+1;} - goto st120; st120: if ( ++p == pe ) goto _test_eof120; case 120: -#line 3120 "volumeExprScanner.cc" switch( (*p) ) { case 46: goto tr68; - case 58: goto st8; case 95: goto tr68; + case 114: goto tr193; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3130,29 +3135,20 @@ case 120: goto tr68; } else goto tr68; - goto tr192; -st8: - if ( ++p == pe ) - goto _test_eof8; -case 8: - if ( (*p) == 58 ) - goto st9; - goto tr9; -st9: - if ( ++p == pe ) - goto _test_eof9; -case 9: - if ( (*p) == 73 ) - goto tr11; - goto tr9; + goto tr67; +tr193: +#line 1 "NONE" + {te = p+1;} + goto st121; st121: if ( ++p == pe ) goto _test_eof121; case 121: +#line 3148 "volumeExprScanner.cc" switch( (*p) ) { case 46: goto tr68; + case 58: goto st8; case 95: goto tr68; - case 109: goto st122; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3162,7 +3158,21 @@ case 121: goto tr68; } else goto tr68; - goto tr67; + goto tr194; +st8: + if ( ++p == pe ) + goto _test_eof8; +case 8: + if ( (*p) == 58 ) + goto st9; + goto tr9; +st9: + if ( ++p == pe ) + goto _test_eof9; +case 9: + if ( (*p) == 73 ) + goto tr11; + goto tr9; st122: if ( ++p == pe ) goto _test_eof122; @@ -3170,7 +3180,7 @@ case 122: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto tr195; + case 109: goto st123; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3188,7 +3198,7 @@ case 123: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 117: goto st124; + case 101: goto tr197; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3206,7 +3216,7 @@ case 124: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto tr197; + case 117: goto st125; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3224,7 +3234,7 @@ case 125: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st126; + case 101: goto tr199; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3242,7 +3252,7 @@ case 126: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 99: goto st127; + case 101: goto st127; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3260,7 +3270,7 @@ case 127: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 116: goto st128; + case 99: goto st128; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3278,7 +3288,7 @@ case 128: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 111: goto st129; + case 116: goto st129; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3296,7 +3306,7 @@ case 129: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto tr202; + case 111: goto st130; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3314,7 +3324,7 @@ case 130: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st131; + case 114: goto tr204; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3332,7 +3342,7 @@ case 131: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 105: goto st132; + case 101: goto st132; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3350,7 +3360,7 @@ case 132: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st133; + case 105: goto st133; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3368,7 +3378,7 @@ case 133: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 104: goto st134; + case 103: goto st134; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3386,7 +3396,7 @@ case 134: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 116: goto st135; + case 104: goto st135; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3403,11 +3413,10 @@ st135: case 135: switch( (*p) ) { case 46: goto tr68; - case 65: goto st136; - case 83: goto st142; case 95: goto tr68; + case 116: goto st136; } - if ( (*p) < 66 ) { + if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { @@ -3422,10 +3431,11 @@ st136: case 136: switch( (*p) ) { case 46: goto tr68; + case 65: goto st137; + case 83: goto st143; case 95: goto tr68; - case 118: goto st137; } - if ( (*p) < 65 ) { + if ( (*p) < 66 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { @@ -3441,7 +3451,7 @@ case 137: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto st138; + case 118: goto st138; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3459,7 +3469,7 @@ case 138: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 114: goto st139; + case 101: goto st139; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3477,13 +3487,13 @@ case 139: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 97: goto st140; + case 114: goto st140; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 98 <= (*p) && (*p) <= 122 ) + if ( 97 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -3495,13 +3505,13 @@ case 140: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 103: goto st141; + case 97: goto st141; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) goto tr68; } else if ( (*p) > 90 ) { - if ( 97 <= (*p) && (*p) <= 122 ) + if ( 98 <= (*p) && (*p) <= 122 ) goto tr68; } else goto tr68; @@ -3513,7 +3523,7 @@ case 141: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 101: goto tr215; + case 103: goto st142; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3531,7 +3541,7 @@ case 142: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 117: goto st143; + case 101: goto tr217; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3549,7 +3559,25 @@ case 143: switch( (*p) ) { case 46: goto tr68; case 95: goto tr68; - case 109: goto tr217; + case 117: goto st144; + } + if ( (*p) < 65 ) { + if ( 48 <= (*p) && (*p) <= 57 ) + goto tr68; + } else if ( (*p) > 90 ) { + if ( 97 <= (*p) && (*p) <= 122 ) + goto tr68; + } else + goto tr68; + goto tr67; +st144: + if ( ++p == pe ) + goto _test_eof144; +case 144: + switch( (*p) ) { + case 46: goto tr68; + case 95: goto tr68; + case 109: goto tr219; } if ( (*p) < 65 ) { if ( 48 <= (*p) && (*p) <= 57 ) @@ -3685,9 +3713,9 @@ case 10: _test_eof118: cs = 118; goto _test_eof; _test_eof119: cs = 119; goto _test_eof; _test_eof120: cs = 120; goto _test_eof; + _test_eof121: cs = 121; goto _test_eof; _test_eof8: cs = 8; goto _test_eof; _test_eof9: cs = 9; goto _test_eof; - _test_eof121: cs = 121; goto _test_eof; _test_eof122: cs = 122; goto _test_eof; _test_eof123: cs = 123; goto _test_eof; _test_eof124: cs = 124; goto _test_eof; @@ -3710,6 +3738,7 @@ case 10: _test_eof141: cs = 141; goto _test_eof; _test_eof142: cs = 142; goto _test_eof; _test_eof143: cs = 143; goto _test_eof; + _test_eof144: cs = 144; goto _test_eof; _test_eof10: cs = 10; goto _test_eof; _test_eof: {} @@ -3740,8 +3769,8 @@ case 10: case 31: goto tr67; case 32: goto tr67; case 33: goto tr67; - case 34: goto tr83; - case 35: goto tr67; + case 34: goto tr67; + case 35: goto tr85; case 36: goto tr67; case 37: goto tr67; case 38: goto tr67; @@ -3753,8 +3782,8 @@ case 10: case 44: goto tr67; case 45: goto tr67; case 46: goto tr67; - case 47: goto tr98; - case 48: goto tr67; + case 47: goto tr67; + case 48: goto tr100; case 49: goto tr67; case 50: goto tr67; case 51: goto tr67; @@ -3769,21 +3798,21 @@ case 10: case 60: goto tr67; case 61: goto tr67; case 62: goto tr67; - case 63: goto tr115; - case 64: goto tr67; + case 63: goto tr67; + case 64: goto tr117; case 65: goto tr67; case 66: goto tr67; - case 67: goto tr122; - case 68: goto tr67; + case 67: goto tr67; + case 68: goto tr124; case 69: goto tr67; case 70: goto tr67; case 71: goto tr67; case 72: goto tr67; - case 73: goto tr129; - case 74: goto tr67; + case 73: goto tr67; + case 74: goto tr131; case 75: goto tr67; - case 76: goto tr135; - case 77: goto tr67; + case 76: goto tr67; + case 77: goto tr137; case 78: goto tr67; case 79: goto tr67; case 80: goto tr67; @@ -3794,8 +3823,8 @@ case 10: case 85: goto tr67; case 86: goto tr67; case 87: goto tr67; - case 88: goto tr154; - case 89: goto tr67; + case 88: goto tr67; + case 89: goto tr156; case 90: goto tr67; case 91: goto tr67; case 92: goto tr67; @@ -3809,8 +3838,8 @@ case 10: case 100: goto tr67; case 101: goto tr67; case 102: goto tr67; - case 103: goto tr170; - case 104: goto tr67; + case 103: goto tr67; + case 104: goto tr172; case 105: goto tr67; case 106: goto tr67; case 107: goto tr67; @@ -3821,15 +3850,15 @@ case 10: case 112: goto tr67; case 113: goto tr67; case 114: goto tr67; - case 115: goto tr186; - case 116: goto tr67; + case 115: goto tr67; + case 116: goto tr188; case 117: goto tr67; case 118: goto tr67; case 119: goto tr67; - case 120: goto tr192; + case 120: goto tr67; + case 121: goto tr194; case 8: goto tr9; case 9: goto tr9; - case 121: goto tr67; case 122: goto tr67; case 123: goto tr67; case 124: goto tr67; @@ -3852,13 +3881,14 @@ case 10: case 141: goto tr67; case 142: goto tr67; case 143: goto tr67; + case 144: goto tr67; } } _out: {} } -#line 690 "volumeExprScanner.rl" +#line 691 "volumeExprScanner.rl" /* ^^^ FSM execution here ^^^ */; if (0 == cs) diff --git a/src/finiteVolume/expressions/volume/volumeExprScanner.rl b/src/finiteVolume/expressions/volume/volumeExprScanner.rl index d20c43c7c37c68d81d7b1e828bfad2120342c5ed..13cba251bdb964676cb10afd67ad4ff71d0b6d13 100644 --- a/src/finiteVolume/expressions/volume/volumeExprScanner.rl +++ b/src/finiteVolume/expressions/volume/volumeExprScanner.rl @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2020 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -445,6 +445,7 @@ static int driverTokenType "true" =>{ EMIT_TOKEN(LTRUE); }; "false" =>{ EMIT_TOKEN(LFALSE); }; "tensor::I" =>{ EMIT_TOKEN(UNIT_TENSOR); }; + "arg" =>{ EMIT_TOKEN(ARG); }; "time" =>{ EMIT_TOKEN(TIME); }; ## Identifier (field, etc - error if unknown)