diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index dee0cb877ed7ef89d0d2c75876f1d29d1c9f31b4..90cc70ad314585eb4d2da6919e871f849566128c 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -169,7 +169,7 @@ FixRelativePath return tFixRelativePath; Floor return tFloor; Fmod return tFmod; For return tFor; -Function return tFunction; +Function return tMacro; GetEnv return tGetEnv; GetString return tGetString; @@ -200,6 +200,7 @@ Log10 return tLog10; Layers return tLayers; Levelset return tLevelset; +Macro return tMacro; MeshAlgorithm return tMeshAlgorithm; Modulo return tModulo; MPI_Rank return tMPI_Rank; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 55ceaf8122409de0c76bd93265a830fa85974c97..f7a829ede36f0289bbdf8bdfba96241892f88236 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -348,7 +348,7 @@ extern int gmsh_yydebug; tField = 398, tReturn = 399, tCall = 400, - tFunction = 401, + tMacro = 401, tShow = 402, tHide = 403, tGetValue = 404, @@ -1149,9 +1149,9 @@ static const char *const yytname[] = "tInterpolationScheme", "tTime", "tCombine", "tBSpline", "tBezier", "tNurbs", "tNurbsOrder", "tNurbsKnots", "tColor", "tColorTable", "tFor", "tIn", "tEndFor", "tIf", "tEndIf", "tExit", "tAbort", "tField", - "tReturn", "tCall", "tFunction", "tShow", "tHide", "tGetValue", - "tGetEnv", "tGetString", "tGetNumber", "tHomology", "tCohomology", - "tBetti", "tSetOrder", "tExists", "tFileExists", "tGMSH_MAJOR_VERSION", + "tReturn", "tCall", "tMacro", "tShow", "tHide", "tGetValue", "tGetEnv", + "tGetString", "tGetNumber", "tHomology", "tCohomology", "tBetti", + "tSetOrder", "tExists", "tFileExists", "tGMSH_MAJOR_VERSION", "tGMSH_MINOR_VERSION", "tGMSH_PATCH_VERSION", "tGmshExecutableName", "tAFFECTDIVIDE", "tAFFECTTIMES", "tAFFECTMINUS", "tAFFECTPLUS", "'?'", "tOR", "tAND", "tNOTEQUAL", "tEQUAL", "'<'", "'>'", "tGREATEROREQUAL", diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index 3f43cc309314b06290cd538c1c5fb9b53f60210f..dba04f99bb5423ebd6ba81b14653253d5964bcda 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -189,7 +189,7 @@ extern int gmsh_yydebug; tField = 398, tReturn = 399, tCall = 400, - tFunction = 401, + tMacro = 401, tShow = 402, tHide = 403, tGetValue = 404, diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 62c6dd4ce6e17b204b4b72d83105af7da9622209..1f1c348644d55f8c01782e439f724fdf5fc8c30a 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -137,7 +137,7 @@ struct doubleXstring{ %token tText2D tText3D tInterpolationScheme tTime tCombine %token tBSpline tBezier tNurbs tNurbsOrder tNurbsKnots %token tColor tColorTable tFor tIn tEndFor tIf tEndIf tExit tAbort -%token tField tReturn tCall tFunction tShow tHide tGetValue tGetEnv tGetString tGetNumber +%token tField tReturn tCall tMacro tShow tHide tGetValue tGetEnv tGetString tGetNumber %token tHomology tCohomology tBetti tSetOrder tExists tFileExists %token tGMSH_MAJOR_VERSION tGMSH_MINOR_VERSION tGMSH_PATCH_VERSION %token tGmshExecutableName @@ -3120,7 +3120,7 @@ Loop : ImbricatedLoop--; } } - | tFunction tSTRING + | tMacro tSTRING { if(!FunctionManager::Instance()->createFunction (std::string($2), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index e2d6c5708a4fb46e8acd2767df0cb468d5b1c485..d57436fae4595f7a9309ec2ecd5b2d207ab90da6 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -380,8 +380,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 196 -#define YY_END_OF_BUFFER 197 +#define YY_NUM_RULES 197 +#define YY_END_OF_BUFFER 198 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -389,115 +389,115 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[974] = +static yyconst flex_int16_t yy_accept[978] = { 0, - 0, 0, 197, 195, 1, 1, 195, 5, 195, 6, - 195, 195, 195, 195, 195, 190, 21, 2, 195, 16, - 195, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 195, 28, 24, 19, 25, 17, - 26, 18, 0, 192, 3, 4, 20, 191, 190, 0, - 29, 27, 30, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - - 194, 194, 107, 106, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 130, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 176, 177, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 23, - 22, 0, 191, 0, 0, 193, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 54, 65, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 74, 194, 194, 194, 194, 194, 194, 194, 194, 92, - - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 114, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 158, 194, 194, 194, - 194, 194, 164, 194, 194, 194, 194, 184, 194, 194, - 194, 194, 194, 194, 194, 194, 0, 192, 0, 0, - 191, 194, 32, 194, 194, 194, 194, 194, 37, 39, - 194, 194, 194, 194, 62, 194, 47, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 53, 194, 194, 194, - - 194, 194, 72, 194, 194, 194, 194, 194, 194, 83, - 194, 85, 194, 194, 87, 194, 194, 91, 194, 194, - 194, 194, 194, 194, 194, 102, 103, 194, 194, 194, - 194, 194, 194, 194, 194, 112, 113, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 147, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 173, 159, 194, 194, 194, 194, 157, 194, 194, 194, - 194, 194, 194, 194, 179, 183, 194, 194, 194, 194, - 194, 194, 194, 10, 15, 9, 8, 194, 12, 14, - - 0, 191, 31, 194, 35, 194, 194, 194, 41, 194, - 43, 194, 194, 194, 194, 194, 194, 194, 57, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 80, 82, 194, 194, 194, 86, 194, 194, 90, - 194, 194, 194, 194, 194, 194, 194, 194, 105, 194, - 194, 110, 194, 194, 194, 115, 194, 194, 194, 194, - 194, 194, 124, 194, 127, 194, 194, 194, 131, 194, - 132, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 145, 146, 194, 194, 194, 194, 194, 194, 194, - 194, 162, 194, 194, 194, 194, 194, 194, 194, 194, - - 194, 194, 194, 185, 194, 194, 194, 188, 194, 11, - 194, 13, 194, 194, 34, 38, 40, 194, 44, 194, - 194, 194, 48, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 69, 71, 194, 194, 79, 194, - 84, 194, 194, 194, 194, 194, 194, 94, 194, 194, - 194, 194, 194, 194, 194, 116, 111, 194, 194, 194, - 122, 194, 119, 194, 194, 194, 194, 194, 136, 194, - 135, 194, 194, 194, 194, 194, 150, 194, 144, 194, - 194, 194, 194, 194, 194, 160, 161, 194, 166, 194, - 171, 194, 194, 194, 194, 194, 194, 194, 194, 194, - - 194, 194, 194, 189, 7, 194, 194, 42, 45, 194, - 194, 194, 194, 194, 194, 52, 56, 194, 194, 194, - 194, 194, 194, 194, 194, 76, 194, 194, 194, 77, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 151, 194, 194, 194, 194, 194, 194, 165, 194, 170, - 194, 194, 194, 163, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 59, 194, 194, 194, 194, 194, 194, 194, 75, 78, - - 194, 194, 194, 93, 194, 194, 194, 194, 194, 97, - 194, 104, 194, 194, 117, 120, 121, 194, 123, 194, - 194, 194, 128, 129, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 154, 194, 153, - 194, 194, 194, 194, 174, 194, 194, 194, 194, 194, - 194, 194, 33, 194, 194, 194, 194, 50, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 81, 194, 194, - 194, 194, 194, 96, 95, 194, 194, 108, 194, 194, - 126, 194, 194, 194, 194, 194, 194, 194, 141, 143, - 194, 194, 194, 194, 155, 156, 172, 168, 194, 194, - - 175, 194, 194, 194, 194, 182, 194, 194, 194, 61, - 194, 51, 58, 194, 194, 194, 194, 194, 194, 194, - 88, 194, 194, 194, 194, 194, 194, 194, 194, 133, - 194, 194, 139, 194, 194, 194, 148, 194, 194, 73, - 194, 167, 194, 194, 194, 194, 194, 194, 46, 194, - 60, 49, 194, 194, 194, 194, 70, 194, 194, 194, - 194, 194, 194, 194, 194, 134, 194, 194, 140, 194, - 194, 194, 169, 194, 186, 194, 180, 194, 194, 194, - 194, 194, 67, 68, 194, 194, 194, 194, 194, 194, - 194, 125, 194, 194, 194, 149, 194, 194, 194, 194, - - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 118, 194, 194, 194, 194, 194, 181, 194, 194, 55, - 63, 66, 194, 194, 194, 194, 194, 194, 194, 194, - 142, 152, 178, 194, 194, 194, 89, 194, 194, 194, - 194, 194, 137, 194, 194, 36, 194, 194, 194, 194, - 194, 194, 194, 187, 194, 194, 194, 194, 194, 194, - 138, 194, 98, 99, 100, 101, 194, 194, 194, 194, - 109, 64, 0 + 0, 0, 198, 196, 1, 1, 196, 5, 196, 6, + 196, 196, 196, 196, 196, 191, 21, 2, 196, 16, + 196, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 196, 28, 24, 19, 25, 17, + 26, 18, 0, 193, 3, 4, 20, 192, 191, 0, + 29, 27, 30, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + + 195, 195, 107, 106, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 131, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 177, + 178, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 23, 22, 0, 192, 0, 0, 194, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 54, 65, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 74, 195, 195, 195, 195, 195, 195, 195, 195, + + 92, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 114, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 159, 195, + 195, 195, 195, 195, 165, 195, 195, 195, 195, 185, + 195, 195, 195, 195, 195, 195, 195, 195, 0, 193, + 0, 0, 192, 195, 32, 195, 195, 195, 195, 195, + 37, 39, 195, 195, 195, 195, 62, 195, 47, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 53, 195, + + 195, 195, 195, 195, 72, 195, 195, 195, 195, 195, + 195, 83, 195, 85, 195, 195, 87, 195, 195, 91, + 195, 195, 195, 195, 195, 195, 195, 102, 103, 195, + 195, 195, 195, 195, 195, 195, 195, 112, 113, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 148, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 174, 160, 195, 195, 195, 195, 158, + 195, 195, 195, 195, 195, 195, 195, 180, 184, 195, + 195, 195, 195, 195, 195, 195, 10, 15, 9, 8, + + 195, 12, 14, 0, 192, 31, 195, 35, 195, 195, + 195, 41, 195, 43, 195, 195, 195, 195, 195, 195, + 195, 57, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 80, 82, 195, 195, 195, 86, + 195, 195, 90, 195, 195, 195, 195, 195, 195, 195, + 195, 105, 195, 195, 110, 195, 195, 195, 115, 195, + 195, 118, 195, 195, 195, 195, 125, 195, 128, 195, + 195, 195, 132, 195, 133, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 146, 147, 195, 195, 195, + 195, 195, 195, 195, 195, 163, 195, 195, 195, 195, + + 195, 195, 195, 195, 195, 195, 195, 186, 195, 195, + 195, 189, 195, 11, 195, 13, 195, 195, 34, 38, + 40, 195, 44, 195, 195, 195, 48, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 69, 71, + 195, 195, 79, 195, 84, 195, 195, 195, 195, 195, + 195, 94, 195, 195, 195, 195, 195, 195, 195, 116, + 111, 195, 195, 195, 123, 195, 120, 195, 195, 195, + 195, 195, 137, 195, 136, 195, 195, 195, 195, 195, + 151, 195, 145, 195, 195, 195, 195, 195, 195, 161, + 162, 195, 167, 195, 172, 195, 195, 195, 195, 195, + + 195, 195, 195, 195, 195, 195, 195, 190, 7, 195, + 195, 42, 45, 195, 195, 195, 195, 195, 195, 52, + 56, 195, 195, 195, 195, 195, 195, 195, 195, 76, + 195, 195, 195, 77, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 152, 195, 195, 195, 195, 195, + 195, 166, 195, 171, 195, 195, 195, 164, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 59, 195, 195, 195, 195, 195, + + 195, 195, 75, 78, 195, 195, 195, 93, 195, 195, + 195, 195, 195, 97, 195, 104, 195, 195, 117, 121, + 122, 195, 124, 195, 195, 195, 129, 130, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 155, 195, 154, 195, 195, 195, 195, 175, 195, + 195, 195, 195, 195, 195, 195, 33, 195, 195, 195, + 195, 50, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 81, 195, 195, 195, 195, 195, 96, 95, 195, + 195, 108, 195, 195, 127, 195, 195, 195, 195, 195, + 195, 195, 142, 144, 195, 195, 195, 195, 156, 157, + + 173, 169, 195, 195, 176, 195, 195, 195, 195, 183, + 195, 195, 195, 61, 195, 51, 58, 195, 195, 195, + 195, 195, 195, 195, 88, 195, 195, 195, 195, 195, + 195, 195, 195, 134, 195, 195, 140, 195, 195, 195, + 149, 195, 195, 73, 195, 168, 195, 195, 195, 195, + 195, 195, 46, 195, 60, 49, 195, 195, 195, 195, + 70, 195, 195, 195, 195, 195, 195, 195, 195, 135, + 195, 195, 141, 195, 195, 195, 170, 195, 187, 195, + 181, 195, 195, 195, 195, 195, 67, 68, 195, 195, + 195, 195, 195, 195, 195, 126, 195, 195, 195, 150, + + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 119, 195, 195, 195, 195, 195, + 182, 195, 195, 55, 63, 66, 195, 195, 195, 195, + 195, 195, 195, 195, 143, 153, 179, 195, 195, 195, + 89, 195, 195, 195, 195, 195, 138, 195, 195, 36, + 195, 195, 195, 195, 195, 195, 195, 188, 195, 195, + 195, 195, 195, 195, 139, 195, 98, 99, 100, 101, + 195, 195, 195, 195, 109, 64, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -544,229 +544,229 @@ static yyconst flex_int32_t yy_meta[74] = 2, 2, 1 } ; -static yyconst flex_int16_t yy_base[975] = +static yyconst flex_int16_t yy_base[979] = { 0, - 0, 0, 1106, 1107, 1107, 1107, 1084, 1107, 1098, 1107, - 1082, 65, 66, 64, 76, 78, 1107, 1107, 1081, 1080, - 1079, 49, 49, 56, 67, 68, 81, 50, 80, 97, - 0, 1039, 97, 108, 54, 83, 107, 1031, 118, 125, - 158, 62, 1036, 1044, 1022, 1107, 1107, 1107, 1107, 1107, - 1107, 1107, 1083, 184, 1107, 1107, 1107, 199, 214, 229, - 1107, 1107, 1107, 0, 1032, 1031, 1043, 1034, 1039, 1032, - 1039, 1024, 95, 1018, 58, 1028, 1035, 1018, 194, 1014, - 1028, 149, 1021, 1030, 1019, 1025, 1011, 1024, 116, 1024, - 202, 1011, 1010, 1006, 1009, 1027, 1001, 1001, 1014, 24, - - 1002, 1021, 0, 996, 1000, 989, 84, 130, 1005, 1027, - 158, 1006, 987, 991, 1002, 1002, 988, 987, 979, 0, - 116, 98, 993, 1000, 987, 182, 127, 988, 997, 978, - 982, 982, 980, 203, 976, 975, 974, 145, 0, 0, - 1002, 976, 965, 158, 986, 982, 976, 973, 961, 1107, - 1107, 260, 265, 274, 280, 285, 965, 963, 965, 978, - 222, 965, 964, 965, 956, 965, 960, 961, 959, 959, - 952, 965, 73, 953, 159, 949, 941, 956, 0, 962, - 953, 956, 955, 958, 936, 948, 206, 942, 944, 220, - 0, 937, 935, 941, 946, 946, 956, 934, 943, 0, - - 943, 962, 277, 936, 938, 937, 927, 926, 959, 933, - 918, 931, 928, 929, 928, 913, 964, 930, 915, 920, - 907, 938, 923, 913, 918, 921, 912, 902, 906, 911, - 904, 915, 902, 910, 909, 204, 903, 897, 890, 904, - 907, 894, 901, 894, 278, 882, 895, 888, 896, 891, - 890, 879, 282, 891, 884, 892, 914, 885, 873, 890, - 889, 876, 883, 874, 866, 273, 329, 334, 343, 348, - 353, 866, 0, 865, 865, 868, 872, 879, 0, 911, - 869, 868, 871, 871, 0, 854, 0, 872, 861, 854, - 858, 852, 859, 247, 863, 876, 0, 846, 851, 850, - - 843, 842, 0, 845, 845, 852, 840, 847, 836, 0, - 834, 0, 849, 872, 0, 846, 833, 0, 830, 848, - 834, 826, 826, 843, 863, 0, 0, 831, 822, 847, - 822, 820, 820, 817, 824, 0, 0, 868, 271, 816, - 856, 820, 816, 811, 827, 810, 814, 811, 815, 818, - 813, 802, 803, 800, 191, 0, 806, 800, 803, 812, - 797, 796, 793, 807, 806, 804, 800, 787, 789, 786, - 0, 0, 785, 786, 264, 789, 0, 277, 792, 783, - 794, 797, 792, 808, 0, 0, 819, 770, 782, 774, - 785, 783, 777, 0, 0, 777, 0, 782, 775, 0, - - 358, 363, 0, 797, 786, 765, 769, 768, 0, 767, - 0, 762, 769, 766, 773, 770, 769, 759, 777, 758, - 765, 749, 759, 752, 761, 760, 759, 758, 757, 262, - 744, 0, 0, 756, 741, 754, 0, 734, 745, 0, - 746, 271, 733, 741, 735, 740, 727, 735, 0, 757, - 729, 0, 728, 737, 726, 0, 742, 733, 717, 729, - 725, 734, 0, 735, 0, 731, 731, 731, 0, 720, - 0, 738, 725, 713, 727, 710, 722, 725, 712, 706, - 718, 0, 0, 735, 720, 708, 715, 701, 709, 711, - 710, 0, 695, 694, 698, 696, 697, 704, 271, 705, - - 688, 692, 686, 0, 716, 281, 694, 0, 697, 0, - 694, 0, 695, 690, 0, 0, 730, 692, 0, 683, - 684, 675, 0, 680, 681, 690, 685, 666, 675, 674, - 667, 690, 356, 667, 0, 0, 330, 674, 0, 673, - 0, 676, 671, 678, 664, 360, 701, 0, 674, 666, - 654, 668, 665, 681, 665, 0, 0, 664, 655, 642, - 0, 659, 0, 660, 361, 645, 654, 661, 0, 646, - 0, 651, 351, 650, 670, 638, 0, 651, 0, 654, - 641, 651, 647, 642, 645, 0, 0, 643, 0, 639, - 0, 643, 640, 644, 633, 638, 625, 637, 621, 634, - - 348, 637, 624, 0, 0, 618, 616, 0, 0, 627, - 640, 627, 628, 616, 627, 0, 0, 624, 626, 617, - 611, 610, 603, 603, 620, 0, 602, 616, 617, 0, - 599, 597, 602, 629, 624, 617, 606, 597, 604, 605, - 583, 619, 602, 585, 593, 597, 587, 589, 596, 578, - 580, 593, 584, 586, 367, 592, 579, 570, 585, 584, - 0, 570, 580, 581, 568, 571, 566, 0, 579, 0, - 572, 561, 578, 0, 554, 572, 559, 563, 554, 560, - 553, 566, 562, 561, 591, 553, 549, 560, 557, 552, - 0, 543, 547, 34, 43, 117, 122, 152, 0, 0, - - 160, 202, 260, 0, 303, 317, 330, 324, 335, 0, - 327, 0, 372, 330, 0, 0, 0, 334, 0, 333, - 340, 346, 0, 0, 353, 355, 361, 351, 353, 348, - 364, 365, 354, 385, 355, 370, 359, 0, 370, 0, - 373, 356, 372, 379, 0, 372, 375, 372, 386, 379, - 384, 412, 0, 401, 378, 381, 385, 0, 371, 391, - 392, 385, 385, 382, 399, 393, 398, 0, 386, 384, - 413, 414, 425, 0, 0, 390, 415, 0, 402, 403, - 0, 410, 397, 411, 405, 428, 411, 414, 0, 0, - 412, 416, 435, 419, 0, 0, 0, 0, 403, 420, - - 0, 424, 410, 424, 410, 0, 416, 416, 409, 0, - 415, 0, 0, 416, 417, 425, 418, 433, 426, 436, - 0, 437, 443, 444, 445, 445, 463, 429, 435, 0, - 445, 454, 0, 447, 442, 437, 0, 437, 455, 0, - 452, 0, 438, 435, 465, 456, 449, 444, 0, 445, - 0, 0, 451, 465, 450, 461, 0, 478, 473, 474, - 475, 471, 484, 468, 464, 0, 473, 457, 0, 479, - 473, 458, 0, 464, 0, 468, 0, 468, 478, 479, - 482, 477, 0, 0, 490, 512, 513, 514, 484, 507, - 485, 0, 481, 502, 489, 0, 496, 497, 494, 485, - - 491, 503, 483, 489, 490, 517, 518, 519, 508, 514, - 0, 496, 511, 499, 501, 501, 0, 519, 508, 0, - 533, 0, 516, 531, 532, 533, 539, 535, 512, 514, - 0, 0, 0, 519, 515, 520, 0, 551, 552, 553, - 537, 561, 0, 521, 522, 0, 559, 553, 554, 555, - 534, 564, 530, 0, 535, 561, 562, 563, 548, 574, - 0, 544, 0, 0, 0, 0, 568, 552, 578, 541, - 0, 0, 1107, 605 + 0, 0, 1110, 1111, 1111, 1111, 1088, 1111, 1102, 1111, + 1086, 65, 66, 64, 76, 78, 1111, 1111, 1085, 1084, + 1083, 49, 49, 56, 67, 68, 81, 50, 80, 97, + 0, 1043, 97, 108, 54, 83, 107, 1035, 118, 125, + 158, 62, 1040, 1048, 1026, 1111, 1111, 1111, 1111, 1111, + 1111, 1111, 1087, 184, 1111, 1111, 1111, 199, 214, 229, + 1111, 1111, 1111, 0, 1036, 1035, 1047, 1038, 1043, 1036, + 1043, 1028, 95, 1022, 58, 1032, 1039, 1022, 194, 1018, + 1032, 149, 1025, 1034, 1023, 1029, 1015, 1028, 116, 1028, + 202, 1015, 1014, 1010, 1013, 1031, 1005, 1005, 1018, 24, + + 1006, 1025, 0, 1000, 1004, 993, 84, 130, 1009, 1031, + 1011, 158, 1009, 990, 994, 1005, 1005, 991, 990, 982, + 0, 116, 162, 996, 1003, 990, 182, 127, 991, 1000, + 981, 985, 985, 983, 203, 979, 978, 977, 145, 0, + 0, 1005, 979, 968, 158, 989, 985, 979, 976, 964, + 1111, 1111, 260, 265, 274, 280, 285, 968, 966, 968, + 981, 222, 968, 967, 968, 959, 968, 963, 964, 962, + 962, 955, 968, 73, 956, 159, 952, 944, 959, 0, + 965, 956, 959, 958, 961, 939, 951, 206, 945, 947, + 220, 0, 940, 938, 944, 949, 949, 959, 937, 946, + + 0, 946, 965, 277, 939, 941, 940, 930, 929, 962, + 936, 921, 934, 931, 932, 931, 916, 967, 933, 915, + 917, 922, 909, 940, 925, 915, 920, 923, 914, 904, + 908, 913, 906, 917, 904, 912, 911, 204, 905, 899, + 892, 906, 909, 896, 903, 896, 278, 884, 897, 890, + 898, 893, 892, 881, 282, 893, 886, 894, 916, 887, + 875, 892, 891, 878, 885, 876, 868, 273, 329, 334, + 343, 348, 353, 868, 0, 867, 867, 870, 874, 881, + 0, 913, 871, 870, 873, 873, 0, 856, 0, 874, + 863, 856, 860, 854, 861, 247, 865, 878, 0, 848, + + 853, 852, 845, 844, 0, 847, 847, 854, 842, 849, + 838, 0, 836, 0, 851, 874, 0, 848, 835, 0, + 832, 850, 836, 828, 828, 845, 865, 0, 0, 833, + 824, 849, 824, 822, 822, 819, 826, 0, 0, 870, + 271, 821, 817, 857, 821, 817, 812, 828, 811, 815, + 812, 816, 819, 814, 803, 804, 801, 191, 0, 807, + 801, 804, 813, 798, 797, 794, 808, 807, 805, 801, + 788, 790, 787, 0, 0, 786, 787, 264, 790, 0, + 277, 793, 784, 795, 798, 793, 809, 0, 0, 820, + 771, 783, 775, 786, 784, 778, 0, 0, 778, 0, + + 783, 776, 0, 358, 363, 0, 798, 787, 766, 770, + 769, 0, 768, 0, 763, 770, 767, 774, 771, 770, + 760, 778, 759, 766, 750, 760, 753, 762, 761, 760, + 759, 758, 262, 745, 0, 0, 757, 742, 755, 0, + 735, 746, 0, 747, 271, 734, 742, 736, 741, 728, + 736, 0, 758, 730, 0, 729, 738, 727, 0, 743, + 734, 0, 718, 730, 726, 735, 0, 736, 0, 732, + 732, 732, 0, 721, 0, 739, 726, 714, 728, 711, + 723, 726, 713, 707, 719, 0, 0, 736, 721, 709, + 716, 702, 710, 712, 711, 0, 696, 695, 699, 697, + + 698, 705, 271, 706, 689, 693, 687, 0, 717, 281, + 695, 0, 698, 0, 695, 0, 696, 691, 0, 0, + 731, 693, 0, 684, 685, 676, 0, 681, 682, 691, + 686, 667, 676, 675, 668, 691, 356, 668, 0, 0, + 330, 675, 0, 674, 0, 677, 672, 679, 665, 360, + 702, 0, 675, 667, 655, 669, 666, 682, 666, 0, + 0, 665, 656, 643, 0, 660, 0, 661, 361, 646, + 655, 662, 0, 647, 0, 652, 351, 651, 671, 639, + 0, 652, 0, 655, 642, 652, 648, 643, 646, 0, + 0, 644, 0, 640, 0, 644, 641, 645, 634, 639, + + 626, 638, 622, 635, 348, 638, 625, 0, 0, 619, + 617, 0, 0, 628, 641, 628, 629, 617, 628, 0, + 0, 625, 627, 618, 612, 611, 604, 604, 621, 0, + 603, 617, 618, 0, 600, 598, 603, 630, 625, 618, + 607, 598, 605, 606, 584, 620, 603, 586, 594, 598, + 588, 590, 597, 579, 581, 594, 585, 587, 367, 593, + 580, 571, 586, 585, 0, 571, 581, 582, 569, 572, + 567, 0, 580, 0, 573, 562, 579, 0, 555, 573, + 560, 564, 555, 561, 554, 567, 563, 562, 592, 554, + 550, 561, 558, 38, 0, 37, 93, 114, 126, 209, + + 252, 274, 0, 0, 294, 289, 332, 0, 352, 357, + 370, 332, 344, 0, 332, 0, 377, 336, 0, 0, + 0, 341, 0, 340, 350, 356, 0, 0, 361, 363, + 367, 356, 359, 354, 369, 370, 358, 389, 359, 374, + 364, 0, 375, 0, 378, 361, 377, 384, 0, 377, + 380, 376, 390, 383, 388, 416, 0, 405, 382, 385, + 389, 0, 375, 395, 396, 389, 389, 386, 403, 397, + 402, 0, 390, 388, 417, 418, 429, 0, 0, 394, + 419, 0, 406, 407, 0, 414, 401, 415, 409, 432, + 415, 418, 0, 0, 416, 420, 439, 423, 0, 0, + + 0, 0, 407, 424, 0, 428, 414, 428, 414, 0, + 420, 420, 413, 0, 419, 0, 0, 420, 421, 429, + 422, 437, 430, 440, 0, 441, 447, 448, 449, 449, + 467, 433, 439, 0, 449, 458, 0, 451, 446, 441, + 0, 441, 459, 0, 456, 0, 442, 439, 469, 460, + 453, 448, 0, 449, 0, 0, 455, 469, 454, 465, + 0, 482, 477, 478, 479, 475, 488, 472, 468, 0, + 477, 461, 0, 483, 477, 462, 0, 468, 0, 472, + 0, 472, 482, 483, 486, 481, 0, 0, 494, 516, + 517, 518, 488, 511, 489, 0, 485, 506, 493, 0, + + 500, 501, 498, 489, 495, 507, 487, 493, 494, 521, + 522, 523, 512, 518, 0, 500, 515, 503, 505, 505, + 0, 523, 512, 0, 537, 0, 520, 535, 536, 537, + 543, 539, 516, 518, 0, 0, 0, 523, 519, 524, + 0, 555, 556, 557, 541, 565, 0, 525, 526, 0, + 563, 557, 558, 559, 538, 568, 534, 0, 539, 565, + 566, 567, 552, 578, 0, 548, 0, 0, 0, 0, + 572, 556, 582, 545, 0, 0, 1111, 609 } ; -static yyconst flex_int16_t yy_def[975] = +static yyconst flex_int16_t yy_def[979] = { 0, - 973, 1, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 973, - 973, 973, 973, 973, 973, 973, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 973, 973, 973, 973, - 973, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - - 973, 973, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 0, 973 + 977, 1, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 977, 977, 977, 977, 977, 977, 977, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 977, 977, + 977, 977, 977, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 978, 978, 977, 977, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 0, 977 } ; -static yyconst flex_int16_t yy_nxt[1181] = +static yyconst flex_int16_t yy_nxt[1185] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 17, 18, 19, @@ -776,130 +776,131 @@ static yyconst flex_int16_t yy_nxt[1181] = 31, 31, 31, 31, 31, 31, 31, 31, 31, 44, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 45, 49, 53, 51, 54, 54, 54, 54, - 54, 206, 207, 55, 96, 50, 52, 56, 58, 72, - 59, 59, 59, 59, 59, 763, 57, 65, 66, 67, - - 73, 97, 764, 75, 60, 113, 68, 76, 98, 74, - 77, 78, 69, 70, 71, 168, 79, 80, 82, 81, - 114, 146, 83, 169, 290, 85, 147, 86, 90, 60, - 84, 87, 102, 291, 88, 99, 91, 89, 92, 93, - 100, 94, 115, 213, 106, 110, 116, 95, 107, 103, - 101, 214, 108, 231, 117, 232, 104, 109, 118, 111, - 165, 119, 120, 229, 121, 125, 166, 122, 112, 126, - 123, 190, 139, 140, 129, 765, 130, 191, 127, 131, - 132, 192, 230, 133, 128, 766, 134, 135, 141, 215, - 136, 137, 241, 242, 216, 138, 54, 54, 54, 54, - - 54, 181, 182, 255, 256, 142, 183, 293, 260, 143, - 152, 153, 153, 153, 153, 153, 219, 767, 144, 768, - 294, 145, 220, 261, 58, 154, 59, 59, 59, 59, - 59, 236, 474, 305, 237, 152, 306, 155, 155, 238, - 60, 156, 156, 156, 156, 156, 276, 239, 173, 240, - 154, 174, 175, 194, 176, 177, 474, 249, 178, 195, - 250, 196, 277, 278, 357, 60, 251, 769, 267, 267, - 358, 197, 268, 268, 268, 268, 268, 153, 153, 153, - 153, 153, 270, 270, 309, 310, 271, 271, 271, 271, - 271, 269, 156, 156, 156, 156, 156, 156, 156, 156, - - 156, 156, 367, 321, 421, 546, 378, 422, 547, 379, - 457, 458, 322, 368, 369, 770, 269, 323, 370, 380, - 324, 381, 394, 491, 494, 395, 537, 538, 594, 492, - 396, 495, 595, 601, 397, 496, 398, 399, 602, 771, - 400, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 401, 401, 772, 773, 402, 402, 402, 402, 402, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, - 622, 626, 634, 649, 656, 627, 679, 774, 775, 726, - 635, 623, 727, 776, 777, 778, 624, 779, 780, 781, - - 650, 782, 728, 680, 783, 784, 657, 729, 656, 785, - 679, 786, 787, 788, 726, 789, 790, 727, 791, 792, - 793, 794, 795, 796, 797, 798, 728, 799, 800, 801, - 802, 729, 803, 804, 805, 806, 807, 808, 809, 810, + 54, 207, 208, 55, 96, 50, 52, 56, 58, 72, + 59, 59, 59, 59, 59, 764, 57, 65, 66, 67, + + 73, 97, 765, 75, 60, 114, 68, 76, 98, 74, + 77, 78, 69, 70, 71, 169, 79, 80, 82, 81, + 115, 147, 83, 170, 292, 85, 148, 86, 90, 60, + 84, 87, 102, 293, 88, 99, 91, 89, 92, 93, + 100, 94, 116, 214, 106, 110, 117, 95, 107, 103, + 101, 215, 108, 766, 118, 111, 104, 109, 119, 112, + 166, 120, 121, 231, 122, 126, 167, 123, 113, 127, + 124, 191, 140, 141, 130, 767, 131, 192, 128, 132, + 133, 193, 232, 134, 129, 768, 135, 136, 142, 216, + 137, 138, 243, 244, 217, 139, 54, 54, 54, 54, + + 54, 182, 183, 257, 258, 143, 184, 295, 262, 144, + 153, 154, 154, 154, 154, 154, 221, 233, 145, 234, + 296, 146, 222, 263, 58, 155, 59, 59, 59, 59, + 59, 238, 478, 307, 239, 153, 308, 156, 156, 240, + 60, 157, 157, 157, 157, 157, 278, 241, 174, 242, + 155, 175, 176, 195, 177, 178, 478, 251, 179, 196, + 252, 197, 279, 280, 360, 60, 253, 769, 269, 269, + 361, 198, 270, 270, 270, 270, 270, 154, 154, 154, + 154, 154, 272, 272, 311, 312, 273, 273, 273, 273, + 273, 271, 157, 157, 157, 157, 157, 157, 157, 157, + + 157, 157, 370, 323, 424, 550, 381, 425, 551, 382, + 460, 461, 324, 371, 372, 770, 271, 325, 373, 383, + 326, 384, 397, 495, 498, 398, 541, 542, 598, 496, + 399, 499, 599, 605, 400, 500, 401, 402, 606, 771, + 403, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 404, 404, 772, 773, 405, 405, 405, 405, 405, + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, + 626, 630, 638, 653, 660, 631, 683, 774, 775, 730, + 639, 627, 731, 776, 777, 778, 628, 779, 780, 781, + + 654, 782, 732, 684, 783, 784, 661, 733, 660, 785, + 683, 786, 787, 788, 730, 789, 790, 731, 791, 792, + 793, 794, 795, 796, 797, 798, 732, 799, 800, 801, + 802, 733, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, - 851, 852, 853, 854, 855, 856, 857, 834, 858, 859, - 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, + 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, + 861, 838, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, - 890, 867, 891, 892, 893, 894, 895, 896, 897, 898, - 876, 899, 900, 901, 902, 903, 904, 905, 906, 907, + 890, 891, 892, 893, 894, 871, 895, 896, 897, 898, + 899, 900, 901, 902, 880, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, - 928, 929, 930, 931, 932, 933, 934, 935, 936, 913, - 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, + 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, + 938, 939, 940, 917, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, - 967, 968, 969, 970, 971, 972, 64, 762, 761, 760, - 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, - 749, 748, 747, 746, 745, 744, 743, 742, 741, 740, - 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, - 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, - 715, 714, 713, 712, 711, 710, 709, 708, 707, 706, - 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, - 695, 694, 693, 692, 691, 690, 689, 688, 687, 686, - 685, 684, 683, 682, 681, 678, 677, 676, 675, 674, - 673, 672, 671, 670, 669, 668, 667, 666, 665, 664, - - 663, 662, 661, 660, 659, 658, 655, 654, 653, 652, - 651, 648, 647, 646, 645, 644, 643, 642, 641, 640, - 639, 638, 637, 636, 633, 632, 631, 630, 629, 628, - 625, 621, 620, 619, 618, 617, 616, 615, 614, 613, - 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, - 600, 599, 598, 597, 596, 593, 592, 591, 590, 589, - 588, 587, 586, 585, 584, 583, 582, 581, 580, 579, - 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, - 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, - 558, 557, 556, 555, 554, 553, 552, 551, 550, 549, - - 548, 545, 544, 543, 542, 541, 540, 539, 536, 535, - 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, - 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, - 514, 513, 512, 511, 510, 509, 508, 507, 506, 505, - 504, 503, 502, 501, 500, 499, 498, 497, 493, 490, - 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, - 479, 478, 477, 476, 475, 473, 472, 471, 470, 469, - 468, 467, 466, 465, 464, 463, 462, 461, 460, 459, - 456, 455, 454, 453, 452, 451, 450, 449, 448, 447, - 446, 445, 444, 443, 442, 441, 440, 439, 438, 437, - - 436, 435, 434, 433, 432, 431, 430, 429, 428, 427, - 426, 425, 424, 423, 420, 419, 418, 417, 416, 415, - 414, 413, 412, 411, 410, 409, 408, 407, 406, 405, - 404, 403, 393, 392, 391, 390, 389, 388, 387, 386, - 385, 384, 383, 382, 377, 376, 375, 374, 373, 372, - 371, 366, 365, 364, 363, 362, 361, 360, 359, 356, - 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, - 345, 344, 343, 342, 341, 340, 339, 338, 337, 336, - 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, - 325, 320, 319, 318, 317, 316, 315, 314, 313, 312, - - 311, 308, 307, 304, 303, 302, 301, 300, 299, 298, - 297, 296, 295, 292, 289, 288, 287, 286, 285, 284, - 283, 282, 281, 280, 279, 275, 274, 273, 272, 266, - 265, 264, 263, 262, 259, 258, 257, 254, 253, 252, - 248, 247, 246, 245, 244, 243, 235, 234, 233, 228, - 227, 226, 225, 224, 223, 222, 221, 218, 217, 212, - 211, 210, 209, 208, 205, 204, 203, 202, 201, 200, - 199, 198, 193, 189, 188, 187, 186, 185, 184, 180, - 179, 172, 171, 170, 167, 164, 163, 162, 161, 160, - 159, 158, 157, 151, 150, 149, 148, 124, 105, 63, - - 62, 61, 48, 47, 46, 973, 3, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973 + 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, + 64, 763, 762, 761, 760, 759, 758, 757, 756, 755, + 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, + 744, 743, 742, 741, 740, 739, 738, 737, 736, 735, + 734, 729, 728, 727, 726, 725, 724, 723, 722, 721, + 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, + 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, + 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, + 690, 689, 688, 687, 686, 685, 682, 681, 680, 679, + 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, + + 668, 667, 666, 665, 664, 663, 662, 659, 658, 657, + 656, 655, 652, 651, 650, 649, 648, 647, 646, 645, + 644, 643, 642, 641, 640, 637, 636, 635, 634, 633, + 632, 629, 625, 624, 623, 622, 621, 620, 619, 618, + 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, + 607, 604, 603, 602, 601, 600, 597, 596, 595, 594, + 593, 592, 591, 590, 589, 588, 587, 586, 585, 584, + 583, 582, 581, 580, 579, 578, 577, 576, 575, 574, + 573, 572, 571, 570, 569, 568, 567, 566, 565, 564, + 563, 562, 561, 560, 559, 558, 557, 556, 555, 554, + + 553, 552, 549, 548, 547, 546, 545, 544, 543, 540, + 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, + 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, + 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, + 509, 508, 507, 506, 505, 504, 503, 502, 501, 497, + 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, + 484, 483, 482, 481, 480, 479, 477, 476, 475, 474, + 473, 472, 471, 470, 469, 468, 467, 466, 465, 464, + 463, 462, 459, 458, 457, 456, 455, 454, 453, 452, + 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, + + 441, 440, 439, 438, 437, 436, 435, 434, 433, 432, + 431, 430, 429, 428, 427, 426, 423, 422, 421, 420, + 419, 418, 417, 416, 415, 414, 413, 412, 411, 410, + 409, 408, 407, 406, 396, 395, 394, 393, 392, 391, + 390, 389, 388, 387, 386, 385, 380, 379, 378, 377, + 376, 375, 374, 369, 368, 367, 366, 365, 364, 363, + 362, 359, 358, 357, 356, 355, 354, 353, 352, 351, + 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, + 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, + 330, 329, 328, 327, 322, 321, 320, 319, 318, 317, + + 316, 315, 314, 313, 310, 309, 306, 305, 304, 303, + 302, 301, 300, 299, 298, 297, 294, 291, 290, 289, + 288, 287, 286, 285, 284, 283, 282, 281, 277, 276, + 275, 274, 268, 267, 266, 265, 264, 261, 260, 259, + 256, 255, 254, 250, 249, 248, 247, 246, 245, 237, + 236, 235, 230, 229, 228, 227, 226, 225, 224, 223, + 220, 219, 218, 213, 212, 211, 210, 209, 206, 205, + 204, 203, 202, 201, 200, 199, 194, 190, 189, 188, + 187, 186, 185, 181, 180, 173, 172, 171, 168, 165, + 164, 163, 162, 161, 160, 159, 158, 152, 151, 150, + + 149, 125, 105, 63, 62, 61, 48, 47, 46, 977, + 3, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977 } ; -static yyconst flex_int16_t yy_chk[1181] = +static yyconst flex_int16_t yy_chk[1185] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -912,124 +913,125 @@ static yyconst flex_int16_t yy_chk[1181] = 14, 100, 100, 15, 28, 12, 13, 15, 16, 23, 16, 16, 16, 16, 16, 694, 15, 22, 22, 22, - 23, 28, 695, 24, 16, 35, 22, 24, 28, 23, + 23, 28, 696, 24, 16, 35, 22, 24, 28, 23, 24, 24, 22, 22, 22, 75, 24, 24, 25, 24, - 35, 42, 25, 75, 173, 26, 42, 26, 27, 16, - 25, 26, 30, 173, 26, 29, 27, 26, 27, 27, + 35, 42, 25, 75, 174, 26, 42, 26, 27, 16, + 25, 26, 30, 174, 26, 29, 27, 26, 27, 27, 29, 27, 36, 107, 33, 34, 36, 27, 33, 30, - 29, 107, 33, 122, 37, 122, 30, 33, 37, 34, - 73, 37, 37, 121, 37, 39, 73, 37, 34, 39, - 37, 89, 41, 41, 40, 696, 40, 89, 39, 40, - 40, 89, 121, 40, 39, 697, 40, 40, 41, 108, - 40, 40, 127, 127, 108, 40, 54, 54, 54, 54, - - 54, 82, 82, 138, 138, 41, 82, 175, 144, 41, - 54, 58, 58, 58, 58, 58, 111, 698, 41, 701, - 175, 41, 111, 144, 59, 58, 59, 59, 59, 59, - 59, 126, 355, 187, 126, 54, 187, 60, 60, 126, - 59, 60, 60, 60, 60, 60, 161, 126, 79, 126, - 58, 79, 79, 91, 79, 79, 355, 134, 79, 91, - 134, 91, 161, 161, 236, 59, 134, 702, 152, 152, - 236, 91, 152, 152, 152, 152, 152, 153, 153, 153, - 153, 153, 154, 154, 190, 190, 154, 154, 154, 154, - 154, 153, 155, 155, 155, 155, 155, 156, 156, 156, - - 156, 156, 245, 203, 294, 442, 253, 294, 442, 253, - 339, 339, 203, 245, 245, 703, 153, 203, 245, 253, - 203, 253, 266, 375, 378, 266, 430, 430, 499, 375, - 266, 378, 499, 506, 266, 378, 266, 266, 506, 705, - 266, 267, 267, 267, 267, 267, 268, 268, 268, 268, - 268, 269, 269, 706, 707, 269, 269, 269, 269, 269, - 270, 270, 270, 270, 270, 271, 271, 271, 271, 271, - 401, 401, 401, 401, 401, 402, 402, 402, 402, 402, - 533, 537, 546, 565, 573, 537, 601, 708, 709, 655, - 546, 533, 655, 711, 713, 714, 533, 718, 720, 721, - - 565, 722, 655, 601, 725, 726, 573, 655, 573, 727, - 601, 728, 729, 730, 655, 731, 732, 655, 733, 734, - 735, 736, 737, 739, 741, 742, 655, 743, 744, 746, - 747, 655, 748, 749, 750, 751, 752, 754, 755, 756, - 757, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 769, 770, 771, 772, 773, 776, 777, 779, 780, 782, - 783, 784, 785, 786, 787, 788, 791, 792, 793, 794, - 799, 800, 802, 803, 804, 805, 807, 808, 809, 811, - 814, 815, 816, 817, 818, 819, 820, 786, 822, 823, - 824, 825, 826, 827, 828, 829, 831, 832, 834, 835, - - 836, 838, 839, 841, 843, 844, 845, 846, 847, 848, - 850, 853, 854, 855, 856, 858, 859, 860, 861, 862, - 863, 832, 864, 865, 867, 868, 870, 871, 872, 874, - 845, 876, 878, 879, 880, 881, 882, 885, 886, 887, - 888, 889, 890, 891, 893, 894, 895, 897, 898, 899, - 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, - 910, 912, 913, 914, 915, 916, 918, 919, 921, 894, - 923, 924, 925, 926, 927, 928, 929, 930, 934, 935, - 936, 938, 939, 940, 941, 942, 944, 945, 947, 948, - 949, 950, 951, 952, 953, 955, 956, 957, 958, 959, - - 960, 962, 967, 968, 969, 970, 974, 693, 692, 690, - 689, 688, 687, 686, 685, 684, 683, 682, 681, 680, - 679, 678, 677, 676, 675, 673, 672, 671, 669, 667, - 666, 665, 664, 663, 662, 660, 659, 658, 657, 656, - 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, - 644, 643, 642, 641, 640, 639, 638, 637, 636, 635, - 634, 633, 632, 631, 629, 628, 627, 625, 624, 623, - 622, 621, 620, 619, 618, 615, 614, 613, 612, 611, - 610, 607, 606, 603, 602, 600, 599, 598, 597, 596, - 595, 594, 593, 592, 590, 588, 585, 584, 583, 582, - - 581, 580, 578, 576, 575, 574, 572, 570, 568, 567, - 566, 564, 562, 560, 559, 558, 555, 554, 553, 552, - 551, 550, 549, 547, 545, 544, 543, 542, 540, 538, - 534, 532, 531, 530, 529, 528, 527, 526, 525, 524, - 522, 521, 520, 518, 517, 514, 513, 511, 509, 507, - 505, 503, 502, 501, 500, 498, 497, 496, 495, 494, - 493, 491, 490, 489, 488, 487, 486, 485, 484, 481, - 480, 479, 478, 477, 476, 475, 474, 473, 472, 470, - 468, 467, 466, 464, 462, 461, 460, 459, 458, 457, - 455, 454, 453, 451, 450, 448, 447, 446, 445, 444, - - 443, 441, 439, 438, 436, 435, 434, 431, 429, 428, - 427, 426, 425, 424, 423, 422, 421, 420, 419, 418, - 417, 416, 415, 414, 413, 412, 410, 408, 407, 406, - 405, 404, 399, 398, 396, 393, 392, 391, 390, 389, - 388, 387, 384, 383, 382, 381, 380, 379, 376, 374, - 373, 370, 369, 368, 367, 366, 365, 364, 363, 362, - 361, 360, 359, 358, 357, 354, 353, 352, 351, 350, - 349, 348, 347, 346, 345, 344, 343, 342, 341, 340, - 338, 335, 334, 333, 332, 331, 330, 329, 328, 325, - 324, 323, 322, 321, 320, 319, 317, 316, 314, 313, - - 311, 309, 308, 307, 306, 305, 304, 302, 301, 300, - 299, 298, 296, 295, 293, 292, 291, 290, 289, 288, - 286, 284, 283, 282, 281, 280, 278, 277, 276, 275, - 274, 272, 265, 264, 263, 262, 261, 260, 259, 258, - 257, 256, 255, 254, 252, 251, 250, 249, 248, 247, - 246, 244, 243, 242, 241, 240, 239, 238, 237, 235, - 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, - 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, - 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, - 204, 202, 201, 199, 198, 197, 196, 195, 194, 193, - - 192, 189, 188, 186, 185, 184, 183, 182, 181, 180, - 178, 177, 176, 174, 172, 171, 170, 169, 168, 167, - 166, 165, 164, 163, 162, 160, 159, 158, 157, 149, - 148, 147, 146, 145, 143, 142, 141, 137, 136, 135, - 133, 132, 131, 130, 129, 128, 125, 124, 123, 119, - 118, 117, 116, 115, 114, 113, 112, 110, 109, 106, - 105, 104, 102, 101, 99, 98, 97, 96, 95, 94, - 93, 92, 90, 88, 87, 86, 85, 84, 83, 81, - 80, 78, 77, 76, 74, 72, 71, 70, 69, 68, - 67, 66, 65, 53, 45, 44, 43, 38, 32, 21, - - 20, 19, 11, 9, 7, 3, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973 + 29, 107, 33, 697, 37, 34, 30, 33, 37, 34, + 73, 37, 37, 122, 37, 39, 73, 37, 34, 39, + 37, 89, 41, 41, 40, 698, 40, 89, 39, 40, + 40, 89, 122, 40, 39, 699, 40, 40, 41, 108, + 40, 40, 128, 128, 108, 40, 54, 54, 54, 54, + + 54, 82, 82, 139, 139, 41, 82, 176, 145, 41, + 54, 58, 58, 58, 58, 58, 112, 123, 41, 123, + 176, 41, 112, 145, 59, 58, 59, 59, 59, 59, + 59, 127, 358, 188, 127, 54, 188, 60, 60, 127, + 59, 60, 60, 60, 60, 60, 162, 127, 79, 127, + 58, 79, 79, 91, 79, 79, 358, 135, 79, 91, + 135, 91, 162, 162, 238, 59, 135, 700, 153, 153, + 238, 91, 153, 153, 153, 153, 153, 154, 154, 154, + 154, 154, 155, 155, 191, 191, 155, 155, 155, 155, + 155, 154, 156, 156, 156, 156, 156, 157, 157, 157, + + 157, 157, 247, 204, 296, 445, 255, 296, 445, 255, + 341, 341, 204, 247, 247, 701, 154, 204, 247, 255, + 204, 255, 268, 378, 381, 268, 433, 433, 503, 378, + 268, 381, 503, 510, 268, 381, 268, 268, 510, 702, + 268, 269, 269, 269, 269, 269, 270, 270, 270, 270, + 270, 271, 271, 705, 706, 271, 271, 271, 271, 271, + 272, 272, 272, 272, 272, 273, 273, 273, 273, 273, + 404, 404, 404, 404, 404, 405, 405, 405, 405, 405, + 537, 541, 550, 569, 577, 541, 605, 707, 709, 659, + 550, 537, 659, 710, 711, 712, 537, 713, 715, 717, + + 569, 718, 659, 605, 722, 724, 577, 659, 577, 725, + 605, 726, 729, 730, 659, 731, 732, 659, 733, 734, + 735, 736, 737, 738, 739, 740, 659, 741, 743, 745, + 746, 659, 747, 748, 750, 751, 752, 753, 754, 755, + 756, 758, 759, 760, 761, 763, 764, 765, 766, 767, + 768, 769, 770, 771, 773, 774, 775, 776, 777, 780, + 781, 783, 784, 786, 787, 788, 789, 790, 791, 792, + 795, 796, 797, 798, 803, 804, 806, 807, 808, 809, + 811, 812, 813, 815, 818, 819, 820, 821, 822, 823, + 824, 790, 826, 827, 828, 829, 830, 831, 832, 833, + + 835, 836, 838, 839, 840, 842, 843, 845, 847, 848, + 849, 850, 851, 852, 854, 857, 858, 859, 860, 862, + 863, 864, 865, 866, 867, 836, 868, 869, 871, 872, + 874, 875, 876, 878, 849, 880, 882, 883, 884, 885, + 886, 889, 890, 891, 892, 893, 894, 895, 897, 898, + 899, 901, 902, 903, 904, 905, 906, 907, 908, 909, + 910, 911, 912, 913, 914, 916, 917, 918, 919, 920, + 922, 923, 925, 898, 927, 928, 929, 930, 931, 932, + 933, 934, 938, 939, 940, 942, 943, 944, 945, 946, + 948, 949, 951, 952, 953, 954, 955, 956, 957, 959, + + 960, 961, 962, 963, 964, 966, 971, 972, 973, 974, + 978, 693, 692, 691, 690, 689, 688, 687, 686, 685, + 684, 683, 682, 681, 680, 679, 677, 676, 675, 673, + 671, 670, 669, 668, 667, 666, 664, 663, 662, 661, + 660, 658, 657, 656, 655, 654, 653, 652, 651, 650, + 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, + 639, 638, 637, 636, 635, 633, 632, 631, 629, 628, + 627, 626, 625, 624, 623, 622, 619, 618, 617, 616, + 615, 614, 611, 610, 607, 606, 604, 603, 602, 601, + 600, 599, 598, 597, 596, 594, 592, 589, 588, 587, + + 586, 585, 584, 582, 580, 579, 578, 576, 574, 572, + 571, 570, 568, 566, 564, 563, 562, 559, 558, 557, + 556, 555, 554, 553, 551, 549, 548, 547, 546, 544, + 542, 538, 536, 535, 534, 533, 532, 531, 530, 529, + 528, 526, 525, 524, 522, 521, 518, 517, 515, 513, + 511, 509, 507, 506, 505, 504, 502, 501, 500, 499, + 498, 497, 495, 494, 493, 492, 491, 490, 489, 488, + 485, 484, 483, 482, 481, 480, 479, 478, 477, 476, + 474, 472, 471, 470, 468, 466, 465, 464, 463, 461, + 460, 458, 457, 456, 454, 453, 451, 450, 449, 448, + + 447, 446, 444, 442, 441, 439, 438, 437, 434, 432, + 431, 430, 429, 428, 427, 426, 425, 424, 423, 422, + 421, 420, 419, 418, 417, 416, 415, 413, 411, 410, + 409, 408, 407, 402, 401, 399, 396, 395, 394, 393, + 392, 391, 390, 387, 386, 385, 384, 383, 382, 379, + 377, 376, 373, 372, 371, 370, 369, 368, 367, 366, + 365, 364, 363, 362, 361, 360, 357, 356, 355, 354, + 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, + 343, 342, 340, 337, 336, 335, 334, 333, 332, 331, + 330, 327, 326, 325, 324, 323, 322, 321, 319, 318, + + 316, 315, 313, 311, 310, 309, 308, 307, 306, 304, + 303, 302, 301, 300, 298, 297, 295, 294, 293, 292, + 291, 290, 288, 286, 285, 284, 283, 282, 280, 279, + 278, 277, 276, 274, 267, 266, 265, 264, 263, 262, + 261, 260, 259, 258, 257, 256, 254, 253, 252, 251, + 250, 249, 248, 246, 245, 244, 243, 242, 241, 240, + 239, 237, 236, 235, 234, 233, 232, 231, 230, 229, + 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, + 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, + 208, 207, 206, 205, 203, 202, 200, 199, 198, 197, + + 196, 195, 194, 193, 190, 189, 187, 186, 185, 184, + 183, 182, 181, 179, 178, 177, 175, 173, 172, 171, + 170, 169, 168, 167, 166, 165, 164, 163, 161, 160, + 159, 158, 150, 149, 148, 147, 146, 144, 143, 142, + 138, 137, 136, 134, 133, 132, 131, 130, 129, 126, + 125, 124, 120, 119, 118, 117, 116, 115, 114, 113, + 111, 110, 109, 106, 105, 104, 102, 101, 99, 98, + 97, 96, 95, 94, 93, 92, 90, 88, 87, 86, + 85, 84, 83, 81, 80, 78, 77, 76, 74, 72, + 71, 70, 69, 68, 67, 66, 65, 53, 45, 44, + + 43, 38, 32, 21, 20, 19, 11, 9, 7, 3, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977 } ; static yy_state_type yy_last_accepting_state; @@ -1109,7 +1111,7 @@ void skipline(void); #define YY_NO_UNISTD_H #endif -#line 1113 "Gmsh.yy.cpp" +#line 1115 "Gmsh.yy.cpp" #define INITIAL 0 @@ -1294,7 +1296,7 @@ YY_DECL #line 72 "Gmsh.l" -#line 1298 "Gmsh.yy.cpp" +#line 1300 "Gmsh.yy.cpp" if ( !(yy_init) ) { @@ -1347,13 +1349,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 974 ) + if ( yy_current_state >= 978 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 1107 ); + while ( yy_base[yy_current_state] != 1111 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1841,7 +1843,7 @@ return tFor; case 93: YY_RULE_SETUP #line 172 "Gmsh.l" -return tFunction; +return tMacro; YY_BREAK case 94: YY_RULE_SETUP @@ -1966,390 +1968,395 @@ return tLevelset; case 118: YY_RULE_SETUP #line 203 "Gmsh.l" -return tMeshAlgorithm; +return tMacro; YY_BREAK case 119: YY_RULE_SETUP #line 204 "Gmsh.l" -return tModulo; +return tMeshAlgorithm; YY_BREAK case 120: YY_RULE_SETUP #line 205 "Gmsh.l" -return tMPI_Rank; +return tModulo; YY_BREAK case 121: YY_RULE_SETUP #line 206 "Gmsh.l" -return tMPI_Size; +return tMPI_Rank; YY_BREAK case 122: YY_RULE_SETUP #line 207 "Gmsh.l" -return tMemory; +return tMPI_Size; YY_BREAK case 123: YY_RULE_SETUP -#line 209 "Gmsh.l" -return tNewModel; +#line 208 "Gmsh.l" +return tMemory; YY_BREAK case 124: YY_RULE_SETUP #line 210 "Gmsh.l" -return tNurbs; +return tNewModel; YY_BREAK case 125: YY_RULE_SETUP -#line 212 "Gmsh.l" -return tOnelabAction; +#line 211 "Gmsh.l" +return tNurbs; YY_BREAK case 126: YY_RULE_SETUP #line 213 "Gmsh.l" -return tOnelabRun; +return tOnelabAction; YY_BREAK case 127: YY_RULE_SETUP #line 214 "Gmsh.l" -return tNurbsOrder; +return tOnelabRun; YY_BREAK case 128: YY_RULE_SETUP -#line 216 "Gmsh.l" -return tPeriodic; +#line 215 "Gmsh.l" +return tNurbsOrder; YY_BREAK case 129: YY_RULE_SETUP #line 217 "Gmsh.l" -return tPhysical; +return tPeriodic; YY_BREAK case 130: YY_RULE_SETUP #line 218 "Gmsh.l" -return tPi; +return tPhysical; YY_BREAK case 131: YY_RULE_SETUP #line 219 "Gmsh.l" -return tPlane; +return tPi; YY_BREAK case 132: YY_RULE_SETUP #line 220 "Gmsh.l" -return tPoint; +return tPlane; YY_BREAK case 133: YY_RULE_SETUP #line 221 "Gmsh.l" -return tParametric; +return tPoint; YY_BREAK case 134: YY_RULE_SETUP #line 222 "Gmsh.l" -return tPolarSphere; +return tParametric; YY_BREAK case 135: YY_RULE_SETUP #line 223 "Gmsh.l" -return tPrintf; +return tPolarSphere; YY_BREAK case 136: YY_RULE_SETUP #line 224 "Gmsh.l" -return tPlugin; +return tPrintf; YY_BREAK case 137: YY_RULE_SETUP -#line 226 "Gmsh.l" -return tQuadTriAddVerts; +#line 225 "Gmsh.l" +return tPlugin; YY_BREAK case 138: YY_RULE_SETUP #line 227 "Gmsh.l" -return tQuadTriNoNewVerts; +return tQuadTriAddVerts; YY_BREAK case 139: YY_RULE_SETUP -#line 229 "Gmsh.l" -return tQuadTriDbl; +#line 228 "Gmsh.l" +return tQuadTriNoNewVerts; YY_BREAK case 140: YY_RULE_SETUP #line 230 "Gmsh.l" -return tQuadTriSngl; +return tQuadTriDbl; YY_BREAK case 141: YY_RULE_SETUP -#line 232 "Gmsh.l" -return tRecombine; +#line 231 "Gmsh.l" +return tQuadTriSngl; YY_BREAK case 142: YY_RULE_SETUP #line 233 "Gmsh.l" -return tRecombLaterals; +return tRecombine; YY_BREAK case 143: YY_RULE_SETUP #line 234 "Gmsh.l" -return tRecursive; +return tRecombLaterals; YY_BREAK case 144: YY_RULE_SETUP #line 235 "Gmsh.l" -return tRotate; +return tRecursive; YY_BREAK case 145: YY_RULE_SETUP #line 236 "Gmsh.l" -return tRound; +return tRotate; YY_BREAK case 146: YY_RULE_SETUP #line 237 "Gmsh.l" -return tRuled; +return tRound; YY_BREAK case 147: YY_RULE_SETUP #line 238 "Gmsh.l" -return tRand; +return tRuled; YY_BREAK case 148: YY_RULE_SETUP #line 239 "Gmsh.l" -return tRefineMesh; +return tRand; YY_BREAK case 149: YY_RULE_SETUP #line 240 "Gmsh.l" -return tRelocateMesh; +return tRefineMesh; YY_BREAK case 150: YY_RULE_SETUP #line 241 "Gmsh.l" -return tReturn; +return tRelocateMesh; YY_BREAK case 151: YY_RULE_SETUP #line 242 "Gmsh.l" -return tReverse; +return tReturn; YY_BREAK case 152: YY_RULE_SETUP -#line 244 "Gmsh.l" -return tScaleLast; +#line 243 "Gmsh.l" +return tReverse; YY_BREAK case 153: YY_RULE_SETUP #line 245 "Gmsh.l" -return tSmoother; +return tScaleLast; YY_BREAK case 154: YY_RULE_SETUP #line 246 "Gmsh.l" -return tSetOrder; +return tSmoother; YY_BREAK case 155: YY_RULE_SETUP #line 247 "Gmsh.l" -return tSetNumber; +return tSetOrder; YY_BREAK case 156: YY_RULE_SETUP #line 248 "Gmsh.l" -return tSetString; +return tSetNumber; YY_BREAK case 157: YY_RULE_SETUP #line 249 "Gmsh.l" -return tSqrt; +return tSetString; YY_BREAK case 158: YY_RULE_SETUP #line 250 "Gmsh.l" -return tSin; +return tSqrt; YY_BREAK case 159: YY_RULE_SETUP #line 251 "Gmsh.l" -return tSinh; +return tSin; YY_BREAK case 160: YY_RULE_SETUP #line 252 "Gmsh.l" -return tSphere; +return tSinh; YY_BREAK case 161: YY_RULE_SETUP #line 253 "Gmsh.l" -return tSpline; +return tSphere; YY_BREAK case 162: YY_RULE_SETUP #line 254 "Gmsh.l" -return tSplit; +return tSpline; YY_BREAK case 163: YY_RULE_SETUP #line 255 "Gmsh.l" -return tSurface; +return tSplit; YY_BREAK case 164: YY_RULE_SETUP #line 256 "Gmsh.l" -return tStr; +return tSurface; YY_BREAK case 165: YY_RULE_SETUP #line 257 "Gmsh.l" -return tSprintf; +return tStr; YY_BREAK case 166: YY_RULE_SETUP #line 258 "Gmsh.l" -return tStrCat; +return tSprintf; YY_BREAK case 167: YY_RULE_SETUP #line 259 "Gmsh.l" -return tStrReplace; +return tStrCat; YY_BREAK case 168: YY_RULE_SETUP #line 260 "Gmsh.l" -return tStrPrefix; +return tStrReplace; YY_BREAK case 169: YY_RULE_SETUP #line 261 "Gmsh.l" -return tStrRelative; +return tStrPrefix; YY_BREAK case 170: YY_RULE_SETUP #line 262 "Gmsh.l" -return tStrFind; +return tStrRelative; YY_BREAK case 171: YY_RULE_SETUP #line 263 "Gmsh.l" -return tStrCmp; +return tStrFind; YY_BREAK case 172: YY_RULE_SETUP #line 264 "Gmsh.l" -return tStrChoice; +return tStrCmp; YY_BREAK case 173: YY_RULE_SETUP #line 265 "Gmsh.l" -return tShow; +return tStrChoice; YY_BREAK case 174: YY_RULE_SETUP #line 266 "Gmsh.l" -return tSymmetry; +return tShow; YY_BREAK case 175: YY_RULE_SETUP #line 267 "Gmsh.l" -return tSyncModel; +return tSymmetry; YY_BREAK case 176: YY_RULE_SETUP -#line 269 "Gmsh.l" -return tText2D; +#line 268 "Gmsh.l" +return tSyncModel; YY_BREAK case 177: YY_RULE_SETUP #line 270 "Gmsh.l" -return tText3D; +return tText2D; YY_BREAK case 178: YY_RULE_SETUP #line 271 "Gmsh.l" -return tTextAttributes; +return tText3D; YY_BREAK case 179: YY_RULE_SETUP #line 272 "Gmsh.l" -return tTime; +return tTextAttributes; YY_BREAK case 180: YY_RULE_SETUP #line 273 "Gmsh.l" -return tTransfinite; +return tTime; YY_BREAK case 181: YY_RULE_SETUP #line 274 "Gmsh.l" -return tTransfQuadTri; +return tTransfinite; YY_BREAK case 182: YY_RULE_SETUP #line 275 "Gmsh.l" -return tTranslate; +return tTransfQuadTri; YY_BREAK case 183: YY_RULE_SETUP #line 276 "Gmsh.l" -return tTanh; +return tTranslate; YY_BREAK case 184: YY_RULE_SETUP #line 277 "Gmsh.l" -return tTan; +return tTanh; YY_BREAK case 185: YY_RULE_SETUP #line 278 "Gmsh.l" -return tToday; +return tTan; YY_BREAK case 186: YY_RULE_SETUP #line 279 "Gmsh.l" -return tTotalMemory; +return tToday; YY_BREAK case 187: YY_RULE_SETUP -#line 281 "Gmsh.l" -return tUndefineConstant; +#line 280 "Gmsh.l" +return tTotalMemory; YY_BREAK case 188: YY_RULE_SETUP #line 282 "Gmsh.l" -return tUsing; +return tUndefineConstant; YY_BREAK case 189: YY_RULE_SETUP -#line 284 "Gmsh.l" -return tVolume; +#line 283 "Gmsh.l" +return tUsing; YY_BREAK case 190: -#line 287 "Gmsh.l" +YY_RULE_SETUP +#line 285 "Gmsh.l" +return tVolume; + YY_BREAK case 191: #line 288 "Gmsh.l" case 192: #line 289 "Gmsh.l" case 193: +#line 290 "Gmsh.l" +case 194: YY_RULE_SETUP -#line 289 "Gmsh.l" +#line 290 "Gmsh.l" { gmsh_yylval.d = atof((char *)gmsh_yytext); return tDOUBLE; } YY_BREAK -case 194: +case 195: YY_RULE_SETUP -#line 291 "Gmsh.l" +#line 292 "Gmsh.l" { gmsh_yylval.c = strsave((char*)gmsh_yytext); return tSTRING; } YY_BREAK -case 195: +case 196: YY_RULE_SETUP -#line 293 "Gmsh.l" +#line 294 "Gmsh.l" return gmsh_yytext[0]; YY_BREAK -case 196: +case 197: YY_RULE_SETUP -#line 295 "Gmsh.l" +#line 296 "Gmsh.l" ECHO; YY_BREAK -#line 2353 "Gmsh.yy.cpp" +#line 2360 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2641,7 +2648,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 974 ) + if ( yy_current_state >= 978 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2669,11 +2676,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 974 ) + if ( yy_current_state >= 978 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 973); + yy_is_jam = (yy_current_state == 977); return yy_is_jam ? 0 : yy_current_state; } @@ -3343,7 +3350,7 @@ void gmsh_yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 295 "Gmsh.l" +#line 296 "Gmsh.l" diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi index 40b5f462653127667eb2be70cddd25bc172a24aa..49c1e48349ff321e6b20389d3396cd19c339f8be 100644 --- a/doc/texinfo/gmsh.texi +++ b/doc/texinfo/gmsh.texi @@ -1430,7 +1430,8 @@ statement. @item Function @var{string} Begins the declaration of a user-defined function named @var{string}. The body of the function starts on the line after `@code{Function -@var{string}}', and can contain any Gmsh command. +@var{string}}', and can contain any Gmsh command. @code{Macro} is a +synonym for @code{Function}. @item Return Ends the body of the current user-defined function. Function declarations