From 40cd62addc044a523d9484c2b6cdb16722fbba30 Mon Sep 17 00:00:00 2001 From: Guido Ranzuglia granzuglia Date: Mon, 20 Feb 2012 17:38:50 +0000 Subject: [PATCH] parser updated --- .../script_system/parser/js_grammar.cpp | 1022 ++------- .../script_system/parser/js_grammar_p.h | 118 +- src/common/script_system/parser/js_lex.l | 129 +- .../script_system/parser/js_lex_lex.cpp | 1110 +++++----- src/common/script_system/parser/js_parser.cpp | 1280 +++--------- src/common/script_system/parser/js_parser.g | 1835 ++++------------- src/common/script_system/parser/js_parser.h | 80 +- src/common/script_system/parser/qparser.h | 2 +- 8 files changed, 1509 insertions(+), 4067 deletions(-) diff --git a/src/common/script_system/parser/js_grammar.cpp b/src/common/script_system/parser/js_grammar.cpp index 95dfc7817..8d5dd03a8 100644 --- a/src/common/script_system/parser/js_grammar.cpp +++ b/src/common/script_system/parser/js_grammar.cpp @@ -4,892 +4,196 @@ const char *const js_grammar::spell [] = { "end of file", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, + 0, #ifndef QLALR_NO_JS_GRAMMAR_DEBUG_INFO -"Program", "PrimaryExpression", "ElisionOpt", "ElementList", "PropertyNameAndValueListOpt", "PropertyNameAndValueList", "Expression", - "AssignmentExpression", "Elision", "PropertyName", "ReservedIdentifier", "PropertyIdentifier", "MemberExpression", "FunctionExpression", "Arguments", "NewExpression", "CallExpression", - "ArgumentList", "LeftHandSideExpression", "PostfixExpression", "UnaryExpression", "MultiplicativeExpression", "AdditiveExpression", "ShiftExpression", "RelationalExpression", "RelationalExpressionNotIn", "EqualityExpression", - "EqualityExpressionNotIn", "BitwiseANDExpression", "BitwiseANDExpressionNotIn", "BitwiseXORExpression", "BitwiseXORExpressionNotIn", "BitwiseORExpression", "BitwiseORExpressionNotIn", "LogicalANDExpression", "LogicalANDExpressionNotIn", "LogicalORExpression", - "LogicalORExpressionNotIn", "ConditionalExpression", "ConditionalExpressionNotIn", "AssignmentExpressionNotIn", "AssignmentOperator", "ExpressionOpt", "ExpressionNotIn", "ExpressionNotInOpt", "Statement", "Block", - "VariableStatement", "EmptyStatement", "ExpressionStatement", "IfStatement", "IterationStatement", "ContinueStatement", "BreakStatement", "ReturnStatement", "WithStatement", "LabelledStatement", - "SwitchStatement", "ThrowStatement", "TryStatement", "DebuggerStatement", "StatementListOpt", "StatementList", "VariableDeclarationKind", "VariableDeclarationList", "VariableDeclaration", "VariableDeclarationListNotIn", - "VariableDeclarationNotIn", "InitialiserOpt", "InitialiserNotInOpt", "Initialiser", "InitialiserNotIn", "CaseBlock", "CaseClausesOpt", "DefaultClause", "CaseClauses", "CaseClause", - "Catch", "Finally", "FunctionDeclaration", "FormalParameterListOpt", "FunctionBodyOpt", "IdentifierOpt", "FormalParameterList", "FunctionBody", "SourceElements", "SourceElement", - "$accept" +"Program", "StatementList", "Statement", "Block", "VariableDecl", "FunctionDecl", "FunctionCallStatement", "OpenBlock", "CloseBlock", + "DeclTok", "IdTok", "InitOpt", "OtherDeclOpt", "FunctionCall", "Expression", "OpenBracket", "OptParamList", "CloseBracket", "OtherOptParamList", + "MemberExpr", "ThisExpr", "NewExpr", "FunctionExpr", "ObjConstExpr", "ArrayExpr", "OptIdTok", "ThisTok", "NewTok", "OptArgumentList", + "OptExpressionList", "OtherOptExpressionList", "OtherOptArgumentList", "OtherOptFields", "OpenArrBracket", "CloseArrBracket", "$accept" #endif // QLALR_NO_JS_GRAMMAR_DEBUG_INFO }; const short js_grammar::lhs [] = { - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 86, 86, 91, 91, 85, - 85, 88, 88, 92, 92, 92, 92, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 94, 94, - 95, 95, 95, 95, 95, 98, 98, 99, 99, 99, - 99, 97, 97, 100, 100, 101, 101, 102, 102, 102, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 104, 104, 104, 104, 105, 105, 105, 106, 106, 106, - 106, 107, 107, 107, 107, 107, 107, 107, 108, 108, - 108, 108, 108, 108, 109, 109, 109, 109, 109, 110, - 110, 110, 110, 110, 111, 111, 112, 112, 113, 113, - 114, 114, 115, 115, 116, 116, 117, 117, 118, 118, - 119, 119, 120, 120, 121, 121, 122, 122, 90, 90, - 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 89, 89, 125, 125, 126, 126, - 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 129, 145, 145, - 144, 144, 130, 146, 146, 147, 147, 149, 149, 148, - 150, 153, 151, 151, 154, 152, 152, 131, 132, 133, - 133, 134, 134, 134, 134, 134, 134, 135, 135, 136, - 136, 137, 138, 140, 155, 155, 158, 158, 156, 156, - 159, 157, 139, 141, 142, 142, 142, 160, 161, 143, - 162, 96, 166, 166, 163, 163, 164, 164, 167, 83, - 168, 168, 169, 169, 165, 165, 87, 87, 170}; + 21, 22, 22, 23, 23, 23, 23, 24, 28, 29, + 25, 27, 33, 33, 30, 30, 32, 32, 26, 37, + 37, 39, 39, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 46, 46, 40, 40, 41, 47, 31, + 48, 42, 43, 34, 34, 50, 50, 51, 51, 49, + 49, 52, 52, 44, 53, 53, 45, 36, 38, 54, + 55, 56}; const short js_grammar::rhs [] = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 3, 5, 3, 4, 3, 2, 4, 1, 2, 0, - 1, 3, 5, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 4, 3, 3, 1, 2, 2, 2, 4, - 3, 2, 3, 1, 3, 1, 1, 1, 2, 2, - 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, - 3, 1, 3, 3, 3, 3, 3, 3, 1, 3, - 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, - 3, 3, 3, 3, 1, 3, 1, 3, 1, 3, - 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, - 1, 3, 1, 3, 1, 5, 1, 5, 1, 3, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 0, 1, 1, 3, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, - 0, 1, 3, 1, 1, 1, 3, 1, 3, 2, - 2, 2, 0, 1, 2, 0, 1, 1, 2, 7, - 5, 7, 5, 9, 10, 7, 8, 2, 3, 2, - 3, 3, 5, 5, 3, 5, 1, 2, 0, 1, - 4, 3, 3, 3, 3, 3, 4, 5, 2, 2, - 8, 8, 1, 3, 0, 1, 0, 1, 1, 1, - 1, 2, 1, 1, 0, 1, 0, 1, 2}; + 1, 0, 2, 1, 1, 1, 1, 3, 1, 1, + 5, 2, 0, 4, 1, 1, 0, 2, 8, 0, + 2, 0, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 1, 1, 3, 3, 1, 1, + 1, 5, 8, 4, 4, 0, 2, 0, 3, 0, + 2, 0, 3, 6, 0, 5, 4, 1, 1, 1, + 1, 2}; #ifndef QLALR_NO_JS_GRAMMAR_DEBUG_INFO const int js_grammar::rule_info [] = { - 84, 65 - , 84, 29 - , 84, 76 - , 84, 77 - , 84, 78 - , 84, 81 - , 84, 63 - , 84, 12 - , 84, 13 - , 84, 34, 85, 55 - , 84, 34, 86, 55 - , 84, 34, 86, 8, 85, 55 - , 84, 33, 87, 54 - , 84, 33, 88, 8, 54 - , 84, 36, 89, 59 - , 86, 85, 90 - , 86, 86, 8, 85, 90 - , 91, 8 - , 91, 91, 8 - , 85 - , 85, 91 - , 88, 92, 7, 90 - , 88, 88, 8, 92, 7, 90 - , 92, 29 - , 92, 63 - , 92, 81 - , 92, 93 - , 93, 4 - , 93, 5 - , 93, 6 - , 93, 9 - , 93, 10 - , 93, 11 - , 93, 14 - , 93, 16 - , 93, 78 - , 93, 20 - , 93, 21 - , 93, 22 - , 93, 30 - , 93, 31 - , 93, 32 - , 93, 43 - , 93, 76 - , 93, 58 - , 93, 64 - , 93, 65 - , 93, 66 - , 93, 77 - , 93, 68 - , 93, 69 - , 93, 70 - , 93, 71 - , 93, 72 - , 93, 79 - , 93, 80 - , 93, 82 - , 93, 73 - , 94, 29 - , 94, 93 - , 95, 84 - , 95, 96 - , 95, 95, 34, 89, 55 - , 95, 95, 15, 94 - , 95, 43, 95, 97 - , 98, 95 - , 98, 43, 98 - , 99, 95, 97 - , 99, 99, 97 - , 99, 99, 34, 89, 55 - , 99, 99, 15, 94 - , 97, 36, 59 - , 97, 36, 100, 59 - , 100, 90 - , 100, 100, 8, 90 - , 101, 98 - , 101, 99 - , 102, 101 - , 102, 101, 52 - , 102, 101, 42 - , 103, 102 - , 103, 11, 103 - , 103, 71, 103 - , 103, 69, 103 - , 103, 52, 103 - , 103, 42, 103 - , 103, 50, 103 - , 103, 40, 103 - , 103, 67, 103 - , 103, 44, 103 - , 104, 103 - , 104, 104, 61, 103 - , 104, 104, 12, 103 - , 104, 104, 56, 103 - , 105, 104 - , 105, 105, 50, 104 - , 105, 105, 40, 104 - , 106, 105 - , 106, 106, 38, 105 - , 106, 106, 25, 105 - , 106, 106, 27, 105 - , 107, 106 - , 107, 107, 37, 106 - , 107, 107, 24, 106 - , 107, 107, 35, 106 - , 107, 107, 23, 106 - , 107, 107, 32, 106 - , 107, 107, 31, 106 - , 108, 106 - , 108, 108, 37, 106 - , 108, 108, 24, 106 - , 108, 108, 35, 106 - , 108, 108, 23, 106 - , 108, 108, 32, 106 - , 109, 107 - , 109, 109, 18, 107 - , 109, 109, 45, 107 - , 109, 109, 19, 107 - , 109, 109, 46, 107 - , 110, 108 - , 110, 110, 18, 108 - , 110, 110, 45, 108 - , 110, 110, 19, 108 - , 110, 110, 46, 108 - , 111, 109 - , 111, 111, 1, 109 - , 112, 110 - , 112, 112, 1, 110 - , 113, 111 - , 113, 113, 74, 111 - , 114, 112 - , 114, 114, 74, 112 - , 115, 113 - , 115, 115, 47, 113 - , 116, 114 - , 116, 116, 47, 114 - , 117, 115 - , 117, 117, 2, 115 - , 118, 116 - , 118, 118, 2, 116 - , 119, 117 - , 119, 119, 49, 117 - , 120, 118 - , 120, 120, 49, 118 - , 121, 119 - , 121, 119, 53, 90, 7, 90 - , 122, 120 - , 122, 120, 53, 123, 7, 123 - , 90, 121 - , 90, 101, 124, 90 - , 123, 122 - , 123, 101, 124, 123 - , 124, 17 - , 124, 62 - , 124, 13 - , 124, 57 - , 124, 51 - , 124, 41 - , 124, 39 - , 124, 26 - , 124, 28 - , 124, 3 - , 124, 75 - , 124, 48 - , 89, 90 - , 89, 89, 8, 90 - , 125 - , 125, 89 - , 126, 123 - , 126, 126, 8, 123 - , 127 - , 127, 126 - , 128, 129 - , 128, 130 - , 128, 131 - , 128, 132 - , 128, 133 - , 128, 134 - , 128, 135 - , 128, 136 - , 128, 137 - , 128, 138 - , 128, 139 - , 128, 140 - , 128, 141 - , 128, 142 - , 128, 143 - , 129, 33, 144, 54 - , 145, 128 - , 145, 145, 128 - , 144 - , 144, 145 - , 130, 146, 147, 60 - , 146, 79 - , 146, 70 - , 147, 148 - , 147, 147, 8, 148 - , 149, 150 - , 149, 149, 8, 150 - , 148, 29, 151 - , 150, 29, 152 - , 153, 17, 90 - , 151 - , 151, 153 - , 154, 17, 123 - , 152 - , 152, 154 - , 131, 60 - , 132, 89, 60 - , 133, 30, 36, 89, 59, 128, 16, 128 - , 133, 30, 36, 89, 59, 128 - , 134, 14, 128, 72, 36, 89, 59, 60 - , 134, 72, 36, 89, 59, 128 - , 134, 21, 36, 127, 60, 125, 60, 125, 59, 128 - , 134, 21, 36, 70, 149, 60, 125, 60, 125, 59, 128 - , 134, 21, 36, 101, 31, 89, 59, 128 - , 134, 21, 36, 70, 150, 31, 89, 59, 128 - , 135, 9, 60 - , 135, 9, 29, 60 - , 136, 4, 60 - , 136, 4, 29, 60 - , 137, 58, 125, 60 - , 138, 73, 36, 89, 59, 128 - , 140, 64, 36, 89, 59, 155 - , 155, 33, 156, 54 - , 155, 33, 156, 157, 156, 54 - , 158, 159 - , 158, 158, 159 - , 156 - , 156, 158 - , 159, 5, 89, 7, 144 - , 157, 10, 7, 144 - , 139, 29, 7, 128 - , 141, 66, 89, 60 - , 142, 68, 129, 160 - , 142, 68, 129, 161 - , 142, 68, 129, 160, 161 - , 160, 6, 36, 29, 59, 129 - , 161, 20, 129 - , 143, 80, 60 - , 162, 22, 29, 36, 163, 59, 33, 164, 54 - , 96, 22, 165, 36, 163, 59, 33, 164, 54 - , 166, 29 - , 166, 166, 8, 29 - , 163 - , 163, 166 - , 164 - , 164, 167 - , 167, 168 - , 83, 168 - , 168, 169 - , 168, 168, 169 - , 169, 128 - , 169, 162 - , 165 - , 165, 29 - , 87 - , 87, 88 - , 170, 83, 0}; + 21, 22 + , 22 + , 22, 22, 23 + , 23, 24 + , 23, 25 + , 23, 26 + , 23, 27 + , 24, 28, 22, 29 + , 28, 8 + , 29, 12 + , 25, 30, 31, 32, 33, 14 + , 27, 34, 14 + , 33 + , 33, 33, 2, 31, 32 + , 30, 18 + , 30, 19 + , 32 + , 32, 4, 35 + , 26, 5, 31, 36, 37, 38, 28, 22, 29 + , 37 + , 37, 31, 39 + , 39 + , 39, 39, 2, 31 + , 35, 40 + , 35, 41 + , 35, 42 + , 35, 43 + , 35, 34 + , 35, 44 + , 35, 45 + , 35, 17 + , 35, 15 + , 35, 20 + , 46 + , 46, 31 + , 40, 31 + , 40, 31, 3, 40 + , 41, 47, 3, 40 + , 47, 16 + , 31, 6 + , 48, 10 + , 42, 48, 31, 36, 49, 38 + , 43, 5, 46, 36, 37, 38, 28, 22, 29 + , 34, 40, 36, 50, 38 + , 34, 41, 36, 50, 38 + , 50 + , 50, 35, 51 + , 51 + , 51, 51, 2, 35 + , 49 + , 49, 31, 52 + , 52 + , 52, 52, 2, 31 + , 44, 28, 31, 1, 35, 53, 29 + , 53 + , 53, 53, 2, 31, 1, 35 + , 45, 54, 35, 51, 55 + , 36, 9 + , 38, 13 + , 54, 7 + , 55, 11 + , 56, 21, 0}; const int js_grammar::rule_index [] = { - 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, - 22, 26, 32, 36, 41, 45, 48, 53, 55, 58, - 59, 61, 65, 71, 73, 75, 77, 79, 81, 83, - 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, - 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, - 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, - 145, 147, 149, 154, 158, 162, 164, 167, 170, 173, - 178, 182, 185, 189, 191, 195, 197, 199, 201, 204, - 207, 209, 212, 215, 218, 221, 224, 227, 230, 233, - 236, 238, 242, 246, 250, 252, 256, 260, 262, 266, - 270, 274, 276, 280, 284, 288, 292, 296, 300, 302, - 306, 310, 314, 318, 322, 324, 328, 332, 336, 340, - 342, 346, 350, 354, 358, 360, 364, 366, 370, 372, - 376, 378, 382, 384, 388, 390, 394, 396, 400, 402, - 406, 408, 412, 414, 418, 420, 426, 428, 434, 436, - 440, 442, 446, 448, 450, 452, 454, 456, 458, 460, - 462, 464, 466, 468, 470, 472, 476, 477, 479, 481, - 485, 486, 488, 490, 492, 494, 496, 498, 500, 502, - 504, 506, 508, 510, 512, 514, 516, 518, 522, 524, - 527, 528, 530, 534, 536, 538, 540, 544, 546, 550, - 553, 556, 559, 560, 562, 565, 566, 568, 570, 573, - 581, 587, 595, 601, 611, 622, 630, 639, 642, 646, - 649, 653, 657, 663, 669, 673, 679, 681, 684, 685, - 687, 692, 696, 700, 704, 708, 712, 717, 723, 726, - 729, 738, 747, 749, 753, 754, 756, 757, 759, 761, - 763, 765, 768, 770, 772, 773, 775, 776, 778}; + 0, 2, 3, 6, 8, 10, 12, 14, 18, 20, + 22, 28, 31, 32, 37, 39, 41, 42, 45, 54, + 55, 58, 59, 63, 65, 67, 69, 71, 73, 75, + 77, 79, 81, 83, 84, 86, 88, 92, 96, 98, + 100, 102, 108, 117, 122, 127, 128, 131, 132, 136, + 137, 140, 141, 145, 152, 153, 159, 164, 166, 168, + 170, 172}; #endif // QLALR_NO_JS_GRAMMAR_DEBUG_INFO const short js_grammar::action_default [] = { - 0, 98, 165, 129, 137, 133, 173, 180, 77, 149, - 179, 187, 175, 125, 0, 176, 254, 62, 177, 178, - 183, 78, 141, 145, 66, 95, 76, 81, 61, 0, - 115, 181, 102, 251, 250, 253, 184, 0, 194, 0, - 0, 0, 8, 9, 0, 5, 0, 255, 2, 0, - 257, 20, 0, 0, 0, 0, 0, 3, 6, 0, - 0, 167, 208, 7, 0, 1, 0, 0, 4, 0, - 0, 195, 0, 0, 0, 185, 186, 91, 0, 174, - 182, 0, 0, 78, 97, 255, 2, 257, 80, 79, - 0, 0, 0, 93, 94, 92, 0, 256, 245, 246, - 0, 243, 0, 244, 0, 247, 248, 0, 249, 242, - 252, 0, 258, 0, 27, 28, 29, 30, 55, 31, - 56, 32, 33, 34, 35, 36, 37, 38, 39, 24, - 40, 41, 42, 43, 44, 26, 57, 45, 25, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 58, 0, - 22, 0, 0, 14, 0, 23, 13, 96, 0, 126, - 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, - 0, 106, 0, 0, 0, 100, 101, 99, 104, 108, - 107, 105, 103, 118, 117, 119, 0, 134, 0, 130, - 69, 0, 0, 0, 71, 60, 59, 0, 0, 70, - 166, 0, 74, 72, 0, 73, 75, 209, 0, 162, - 155, 153, 160, 161, 159, 158, 164, 157, 156, 154, - 163, 150, 0, 138, 0, 0, 142, 0, 0, 146, - 68, 0, 0, 64, 0, 63, 259, 0, 220, 221, - 0, 218, 219, 240, 82, 0, 0, 0, 0, 0, - 212, 171, 169, 131, 139, 135, 151, 127, 172, 0, - 78, 143, 147, 120, 109, 0, 0, 128, 0, 0, - 0, 0, 121, 0, 0, 0, 0, 0, 113, 111, - 114, 112, 110, 123, 122, 124, 0, 136, 0, 132, - 0, 170, 78, 0, 152, 167, 168, 0, 167, 0, - 0, 214, 0, 0, 0, 216, 0, 140, 0, 0, - 144, 0, 0, 148, 206, 0, 198, 207, 201, 0, - 205, 0, 167, 199, 0, 167, 0, 0, 215, 0, - 0, 0, 217, 256, 245, 0, 0, 247, 0, 241, - 0, 233, 0, 0, 0, 211, 0, 210, 189, 192, - 0, 28, 55, 31, 56, 33, 34, 5, 38, 39, - 2, 40, 43, 3, 6, 45, 7, 46, 1, 48, - 4, 50, 51, 52, 53, 54, 58, 190, 188, 66, - 67, 65, 0, 222, 0, 0, 0, 224, 229, 227, - 230, 0, 0, 228, 229, 0, 225, 0, 226, 191, - 232, 0, 191, 231, 0, 234, 0, 191, 235, 236, - 0, 0, 237, 0, 0, 0, 238, 239, 84, 83, - 0, 0, 0, 213, 0, 0, 0, 223, 0, 21, - 0, 18, 20, 11, 0, 17, 12, 19, 16, 10, - 0, 15, 88, 86, 90, 87, 85, 89, 203, 196, - 0, 204, 200, 0, 202, 0, 193, 197}; + 2, 0, 1, 62, 4, 0, 0, 7, 6, 36, + 0, 2, 3, 16, 0, 40, 9, 39, 15, 0, + 0, 5, 17, 13, 0, 0, 0, 11, 17, 14, + 30, 18, 28, 27, 24, 26, 0, 29, 0, 0, + 34, 60, 41, 31, 33, 32, 25, 46, 58, 48, + 0, 47, 0, 49, 44, 59, 0, 50, 52, 0, + 51, 0, 53, 42, 48, 0, 57, 61, 0, 0, + 55, 0, 54, 0, 10, 0, 0, 56, 35, 0, + 20, 22, 0, 21, 0, 23, 0, 2, 0, 43, + 46, 0, 45, 12, 0, 37, 0, 8, 0, 20, + 0, 0, 2, 0, 19, 0, 38}; const short js_grammar::goto_default [] = { - 29, 28, 430, 428, 113, 112, 14, 2, 429, 111, - 114, 194, 24, 17, 190, 26, 8, 201, 21, 27, - 77, 25, 1, 32, 30, 263, 13, 257, 3, 253, - 5, 255, 4, 254, 22, 261, 23, 262, 9, 256, - 252, 293, 382, 258, 259, 35, 6, 79, 12, 15, - 18, 19, 10, 7, 31, 80, 20, 36, 75, 76, - 11, 350, 349, 78, 450, 449, 315, 316, 452, 318, - 451, 317, 387, 391, 394, 390, 389, 408, 409, 16, - 100, 107, 96, 99, 106, 108, 33, 0}; + 1, 2, 12, 4, 21, 8, 7, 39, 72, 5, + 9, 23, 25, 32, 49, 47, 82, 54, 83, 34, + 46, 35, 33, 37, 30, 79, 20, 36, 59, 50, + 51, 60, 71, 38, 66, 0}; const short js_grammar::action_index [] = { - 1280, 66, -83, 89, 26, -11, -83, -83, 121, -83, - -83, -83, -83, 192, 103, -83, -83, -83, -83, -83, - -83, 373, 74, 73, 182, 147, -83, -83, -83, 87, - 238, -83, 233, -83, 1280, -83, -83, 83, -83, 96, - -19, 525, -83, -83, 1201, -83, -5, 3, 33, 15, - 1359, 40, 525, 525, 525, 290, 525, -83, -83, 525, - 525, 525, -83, -83, 53, -83, 525, 525, -83, 34, - 525, -83, 525, 30, 35, -83, -83, -83, 49, -83, - -83, 525, 525, 55, 148, 50, -83, 1043, -83, -83, - 525, 525, 525, -83, -83, -83, -22, -83, 8, 100, - -55, -83, -29, -83, -16, 1280, -83, 42, 1280, -83, - -83, 67, 61, 29, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, 525, - -83, 1122, 78, -83, 525, -83, -83, 134, 525, 188, - 525, 525, 525, 525, 253, 525, 525, 525, 525, 525, - 525, 164, 525, 525, 525, 112, 79, 97, 155, 140, - 146, 161, 160, 283, 263, 273, 525, 31, 525, 71, - -83, 964, 525, 741, -83, -83, -83, 175, 525, -83, - -83, 91, -83, -83, 525, -83, -83, -83, 525, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, 525, 28, 525, 525, 60, 81, 525, -83, - -83, 964, 525, -83, 120, -83, -83, 43, -83, -83, - 44, -83, -83, -83, -83, -63, -20, 525, 92, -45, - -83, 885, -83, 9, -26, -54, -83, 201, 16, -34, - 453, 23, 82, 218, 233, -6, 525, 194, 525, 525, - 525, 525, 293, 525, 525, 525, 525, 525, 233, 233, - 167, 233, 233, 293, 293, 293, 525, -72, 525, 4, - 525, -83, 373, 525, -83, 525, 20, -14, 525, -32, - 1201, -83, 525, 90, 1201, -83, 525, 21, 525, 525, - 57, 77, 525, -83, 39, 94, 18, -83, -83, 525, - -83, 7, 525, -83, -30, 525, -24, 1201, -83, 525, - 115, 1201, -83, 11, 10, -17, 0, 1280, -41, -83, - 1201, -83, 525, 122, 1201, 22, 1201, -83, -83, 1201, - -25, 98, 5, 80, -3, 525, 1201, 51, 24, 88, - 46, 14, 329, 36, 37, 813, 38, 19, 12, 525, - -4, -27, 525, 25, 525, -35, -28, -83, -83, 181, - -83, -83, -53, -83, 525, 110, -21, -83, 13, -83, - 17, 123, 525, -83, 6, 54, -83, -2, -83, 1201, - -83, 106, 1201, -83, 85, -83, 114, 1201, 62, -83, - 56, 58, -83, 41, 27, 32, -83, -83, -83, -83, - 525, 113, 1201, -83, 525, 107, 1201, -83, 86, 72, - 597, -83, 69, -83, 669, -83, -83, -83, -83, -83, - 102, -83, -83, -83, -83, -83, -83, -83, 47, -83, - 93, -83, -83, 525, -83, 52, -83, -83, + -21, 0, 45, -21, -21, 2, -1, -21, -21, 1, + -7, -21, -21, -21, 11, -21, -21, -21, -21, 33, + 26, -21, 15, -21, 88, 34, 18, -21, 37, -21, + -21, -21, -21, -21, 22, -21, 24, -21, 88, 29, + 32, -21, -21, -21, -21, -21, 17, 88, -21, -21, + 12, 25, 88, -21, -21, -21, 13, 14, -21, 10, + 30, 31, -21, -21, -21, 38, -21, -21, 27, 88, + -21, 56, -21, 28, -21, 20, 88, -21, -21, -7, + -5, -21, -8, 9, 6, -21, 7, -21, 54, -21, + 88, -8, -21, -21, 4, -21, 72, -21, -2, 3, + 5, 8, -21, 72, -21, -3, -21, - -84, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -8, -88, -88, 25, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -55, -88, -88, -88, -88, -88, - -88, 126, -88, -88, -45, -88, -88, -88, -88, -88, - -36, -88, -3, 112, 118, 122, 121, -88, -88, 187, - 111, 9, -88, -88, -88, -88, 38, 107, -88, -4, - 100, -88, 103, -88, -88, -88, -88, -88, -88, -88, - -88, 58, 42, -88, -88, -88, -88, -88, -88, -88, - 70, 62, 65, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -49, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, 117, - -88, 39, -88, -88, 3, -88, -88, -88, 93, -88, - 73, 135, 131, 127, -88, 124, 89, 47, 54, 55, - 51, -88, 46, 71, 74, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, 57, -88, 66, -88, - -88, 18, 17, 15, -88, -88, -88, -88, 10, -88, - -88, -88, -88, -88, 14, -88, -88, -88, 13, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, 125, -88, 142, -1, -88, -88, 36, -88, - -88, 105, 2, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, 49, -88, -88, - -88, 63, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, 146, -88, 164, 183, - 179, 143, -88, 91, 82, 83, 85, 81, -88, -88, - -88, -88, -88, -88, -88, -88, 257, -88, 170, -88, - 160, -88, -88, 172, -88, 53, -88, -88, 116, -88, - -40, -88, 26, -88, 0, -88, 147, -88, 163, 156, - -88, -88, 154, -88, -88, -88, -88, -88, -88, 144, - -88, -54, 56, -88, -88, 60, -88, 16, -88, 48, - -88, -7, -88, -88, -31, -88, -88, -35, -88, -88, - 7, -88, 35, -88, 8, -88, -5, -88, -88, 11, - -88, -88, -88, -88, -88, 134, 6, -88, -88, -88, - -88, -88, 98, -88, -88, 41, -88, -88, -88, 44, - -88, 12, 130, -88, 108, -88, -88, -88, -88, 4, - -88, -88, -88, -88, 5, -88, -88, -88, -88, -88, - -62, -88, 1, -88, -71, -88, -88, -88, -88, 72, - -88, -88, 95, -88, -88, -88, -88, -41, -66, -88, - -88, -27, -88, -88, -88, -22, -88, -88, -88, -88, - 24, -88, -29, -88, 28, -88, -10, -88, -88, -88, - 29, -88, 23, -88, 22, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, 20, -88, -39, -88, -88}; + -36, -36, 29, -36, -36, -10, -36, -36, -36, -36, + -36, 54, -36, -36, 23, -36, -36, -36, -36, 5, + -36, -36, -36, -36, 10, -36, 7, -36, 0, -36, + -36, -36, -36, -36, -36, -36, -6, -36, 21, -1, + 3, -36, -36, -36, -36, -36, 16, -36, -36, -36, + -36, -36, 4, -36, -36, -36, 12, 11, -36, 8, + -36, 9, -36, -36, -14, -36, -36, -36, -36, 15, + -36, -36, -36, 20, -36, -36, 14, -36, -36, 17, + 13, -36, -3, -36, -8, -36, 19, 2, 49, -36, + -28, -12, -36, -36, -4, -36, 39, -36, -5, 24, + -11, 1, 6, 31, -36, -7, -36}; const short js_grammar::action_info [] = { - 103, 420, 288, -49, 104, 266, 407, 383, 424, 246, - 266, 392, 388, 339, 98, 250, 247, 105, 392, -47, - 288, 286, 392, 314, 290, 306, 295, 300, 198, 378, - 325, 251, 333, 337, -194, 327, 314, 101, 346, 101, - 340, 243, 336, -44, -26, -25, 298, 334, 431, 329, - 342, 342, 398, 340, -195, 384, 319, 243, -36, 306, - 251, 399, 222, 188, 453, 407, 420, 407, 286, 151, - 414, 424, 158, 186, 149, 186, 222, 431, 448, 97, - 437, 448, 411, 156, 312, 154, 415, 236, 228, 384, - 158, 407, 413, 198, 432, 0, 109, 88, 198, 204, - 198, 455, 321, 239, 242, 188, 81, 89, 102, 240, - 198, 198, 237, 402, 198, 198, 82, 97, 198, 81, - 410, 198, 224, 198, -255, 240, 225, 237, 198, 82, - 198, 308, 0, 395, 411, 309, 191, 81, 0, 0, - 241, 433, 0, 238, 0, 405, 90, 82, 0, 304, - 205, 249, 81, 456, 322, 192, 241, 193, 238, 90, - 90, 441, 82, 207, 0, 172, 426, 173, 0, 386, - 0, 172, 422, 173, 331, 235, 0, 396, 174, 0, - 172, 344, 173, 198, 174, 172, 172, 173, 173, 172, - 91, 173, 172, 174, 173, 92, 231, 231, 174, 174, - 0, 0, 174, 91, 91, 174, 160, 161, 92, 92, - 160, 161, 268, 269, 0, 232, 232, 193, 193, 268, - 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 199, 0, 0, 162, 163, 0, 0, 162, 163, 270, - 271, 273, 274, 0, 0, 0, 270, 271, 0, 0, - 275, 0, 0, 276, 0, 277, 0, 0, 172, 0, - 173, 165, 166, 0, 0, 0, 0, 0, 0, 167, - 168, 174, 0, 169, 0, 170, 165, 166, 0, 0, - 0, 0, 0, 0, 167, 168, 165, 166, 169, 0, - 170, 0, 0, 0, 167, 168, 165, 166, 169, 0, - 170, 0, 42, 43, 167, 168, 165, 166, 169, 0, - 170, 0, 85, 0, 167, 168, 273, 274, 169, 86, - 170, 0, 0, 87, 51, 275, 52, 0, 276, 0, - 277, 0, 0, 55, 0, 0, 0, 0, 0, 0, - 0, 42, 43, 0, 0, 0, 0, 0, 0, 0, - 0, 85, 0, 63, 0, 65, 0, 0, 86, 0, - 0, 0, 87, 51, 0, 52, 57, 68, 45, 0, - 0, 58, 55, 0, 0, 0, 209, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, - 211, 0, 63, 0, 65, 0, 0, 0, 0, 212, - 0, 213, 0, 0, 0, 57, 68, 45, 0, 0, - 58, 0, 214, 0, 215, 88, 0, 0, 0, 0, - 0, 216, 0, 0, 217, 89, 0, 0, 0, 0, - 218, 0, 0, 0, 0, 219, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, - 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, - 211, 0, 0, 0, 0, 0, 0, 0, 0, 212, - 0, 213, 0, 0, 302, 0, 0, 0, 0, 0, - 0, 0, 214, 0, 215, 88, 0, 0, 0, 0, - 0, 216, 0, 0, 217, 89, 0, 0, 0, 0, - 218, 0, 0, 0, 0, 219, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, - 0, 0, 0, 0, 0, 0, 41, 42, 43, 0, - 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, - 0, 0, 0, 0, 86, 0, 0, 0, 87, 51, - 0, 52, 0, 0, 0, 53, 0, 54, 55, 56, - 0, 0, 0, 0, 0, 59, 0, 60, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, - 65, 0, 67, 0, 70, 0, 72, 0, 0, 0, - 0, 57, 68, 45, 0, 0, 58, 0, 41, 42, - 43, 0, 0, 0, 0, 0, 0, 0, 0, 85, - 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, - 87, 51, 0, 52, 0, 0, 0, 53, 0, 54, - 55, 56, 0, 0, 0, 0, 0, 59, 0, 60, - 0, 0, 439, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 65, 0, 67, 0, 70, 0, 72, 0, - 0, 0, 0, 57, 68, 45, 0, 0, 58, 0, - 41, 42, 43, 0, 0, 0, 0, 0, 0, 0, - 0, 85, 0, 0, 0, 0, 0, 0, 86, 0, - 0, 0, 87, 51, 0, 52, 0, 0, 0, 53, - 0, 54, 55, 56, 0, 0, 0, 0, 0, 59, - 0, 60, 0, 0, 436, 0, 0, 0, 0, 0, - 0, 0, 63, 0, 65, 0, 67, 0, 70, 0, - 72, 0, 0, 0, 0, 57, 68, 45, 0, 0, - 58, 0, 41, 42, 43, 0, 0, 0, 0, 0, - 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, - 86, 0, 0, 0, 87, 51, 0, 52, 0, 0, - 0, 53, 0, 54, 55, 56, 0, 0, 0, 0, - 0, 59, 0, 60, 0, 0, 0, 0, 0, 0, - 203, 0, 0, 0, 63, 0, 65, 0, 67, 0, - 70, 0, 72, 0, 0, 0, 0, 57, 68, 45, - 0, 0, 58, 0, 41, 42, 43, 0, 0, 0, - 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, - 0, 0, 86, 0, 0, 0, 87, 51, 0, 52, - 0, 0, 0, 53, 0, 54, 55, 56, 0, 0, - 0, 0, 0, 59, 0, 60, 0, 0, 0, 0, - 0, 0, 0, -167, 0, 0, 63, 0, 65, 0, - 67, 0, 70, 0, 72, 0, 0, 0, 0, 57, - 68, 45, 0, 0, 58, 0, 41, 42, 43, 0, - 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, - 0, 0, 0, 0, 86, 0, 0, 0, 87, 51, - 0, 52, 0, 0, 0, 53, 0, 54, 55, 56, - 0, 0, 0, 0, 0, 59, 0, 60, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, - 65, 0, 67, 0, 70, 265, 72, 0, 0, 0, - 0, 57, 68, 45, 0, 0, 58, 0, 115, 116, - 117, 0, 0, 119, 121, 122, 0, 0, 123, 0, - 124, 0, 0, 0, 126, 127, 128, 0, 0, 0, - 0, 0, 0, 196, 130, 131, 132, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 137, 0, 0, 0, 0, 0, 139, 140, - 141, 0, 143, 144, 145, 146, 147, 148, 0, 0, - 134, 142, 125, 118, 120, 0, 136, 115, 116, 117, - 0, 0, 119, 121, 122, 0, 0, 123, 0, 124, - 0, 0, 0, 126, 127, 128, 0, 0, 0, 0, - 0, 0, 129, 130, 131, 132, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 137, 0, 0, 0, 0, 138, 139, 140, 141, - 0, 143, 144, 145, 146, 147, 148, 0, 0, 134, - 142, 125, 118, 120, 135, 136, 115, 116, 117, 0, - 0, 119, 121, 122, 0, 0, 123, 0, 124, 0, - 0, 0, 126, 127, 128, 0, 0, 0, 0, 0, - 0, 129, 130, 131, 132, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, - 137, 0, 0, 0, 0, 138, 139, 140, 141, 0, - 143, 144, 145, 146, 147, 148, 0, 0, 134, 142, - 125, 118, 120, 135, 136, 37, 0, 0, 0, 0, - 39, 0, 41, 42, 43, 44, 0, 0, 0, 0, - 0, 0, 46, 85, 0, 0, 0, 0, 0, 0, - 48, 49, 0, 0, 50, 51, 0, 52, 0, 0, - 0, 53, 0, 54, 55, 56, 0, 0, 0, 0, - 0, 59, 0, 60, 0, 0, 0, 0, 0, 61, - 0, 62, 0, 0, 63, 64, 65, 66, 67, 69, - 70, 71, 72, 73, 74, 0, 0, 57, 68, 45, - 38, 40, 58, 0, 37, 0, 0, 0, 0, 39, - 0, 41, 42, 43, 44, 0, 0, 0, 0, 0, - 0, 46, 47, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 50, 51, 0, 52, 0, 0, 0, - 53, 0, 54, 55, 56, 0, 0, 0, 0, 0, - 59, 0, 60, 0, 0, 0, 0, 0, 61, 0, - 62, 0, 0, 63, 64, 65, 66, 67, 69, 70, - 71, 72, 73, 74, 0, 0, 57, 68, 45, 38, - 40, 58, 0, 351, 116, 117, 0, 0, 353, 121, - 355, 42, 43, 356, 0, 124, 0, 0, 0, 126, - 358, 359, 0, 0, 0, 0, 0, 0, 360, 361, - 131, 132, 50, 51, 0, 52, 0, 0, 0, 53, - 0, 54, 362, 56, 0, 0, 0, 0, 0, 59, - 0, 60, 0, -191, 0, 0, 0, 365, 0, 62, - 0, 0, 366, 367, 368, 369, 67, 371, 372, 373, - 374, 375, 376, 0, 0, 363, 370, 357, 352, 354, - 364, 136, + 3, 15, 48, 15, 94, 55, 0, 48, 15, 15, + 15, 84, 15, 93, 0, 16, 16, 15, 55, 24, + 15, 76, 48, 55, 15, 55, 48, 52, 69, 105, + 15, 48, 61, 0, 15, 15, 26, 15, 15, 0, + 52, 24, 48, 0, 0, 0, 0, 0, 27, 67, + 14, 15, 0, 16, 0, 0, 0, 0, 73, 14, + 15, 17, 16, 18, 13, 0, 74, 0, 74, 0, + 17, 0, 18, 13, 0, 0, 0, 14, 15, 0, + 16, 0, 0, 0, 74, 0, 0, 0, 17, 0, + 18, 13, 0, 40, 15, 41, 16, 0, 42, 0, + 0, 0, 0, 45, 17, 43, 0, 0, 44, - 245, 34, 397, 440, 348, 301, 227, 401, 234, 348, - 155, 385, 412, 323, 393, 296, 423, 200, 381, 417, - 221, 206, 202, 197, 416, 434, 457, 454, 195, 435, - 421, 110, 303, 208, 425, 427, 438, 110, 332, 230, - 347, 343, 406, 229, 404, 305, 338, 296, 152, 335, - 404, 245, 341, 345, 330, 248, 377, 0, 406, 296, - 83, 328, 296, 157, 83, 83, 296, 0, 175, 83, - 179, 0, 83, 83, 182, 83, 83, 180, 181, 84, - 83, 260, 94, 83, 83, 95, 264, 187, 83, 83, - 93, 83, 83, 176, 189, 297, 177, 164, 324, 83, - 83, 83, 326, 83, 282, 279, 280, 83, 281, 83, - 379, 83, 178, 380, 278, 195, 233, 348, 83, 159, - 418, 83, 296, 419, 150, 83, 83, 447, 419, 83, - 83, 446, 442, 400, 379, 0, 83, 380, 443, 83, - 348, 444, 83, 83, 83, 83, 244, 171, 83, 83, - 418, 185, 83, 83, 244, 184, 403, 223, 299, 183, - 83, 83, 292, 0, 83, 83, 264, 264, 285, 264, - 264, 0, 292, 267, 292, 0, 226, 264, 292, 264, - 307, 83, 83, 264, 320, 0, 264, 264, 83, 272, - 292, 0, 0, 264, 313, 264, 311, 83, 310, 289, - 291, 83, 264, 0, 284, 83, 264, 445, 283, 0, - 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, + 22, 91, 85, 88, 56, 92, 101, 103, 102, 68, + 99, 29, 106, 78, 86, 95, 65, 28, 53, 62, + 90, 58, 0, 81, 31, 63, 87, 57, 77, 70, + 75, 90, 80, 98, 81, 64, 11, 0, 11, 104, + 100, 0, 6, 0, 6, 0, 11, 97, 10, 19, + 10, 19, 6, 0, 0, 96, 11, 89, 10, 19, + 0, 0, 6, 0, 0, 0, 0, 0, 10, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, - 264, 0, 0, 0, 0, 0, 0, 0, 287, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0}; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; const short js_grammar::action_check [] = { - 29, 36, 74, 7, 59, 1, 33, 60, 36, 72, - 1, 5, 33, 54, 36, 60, 36, 33, 5, 7, - 74, 47, 5, 29, 8, 2, 60, 59, 8, 54, - 60, 36, 29, 33, 29, 59, 29, 29, 16, 29, - 7, 60, 59, 7, 7, 7, 60, 36, 8, 31, - 36, 36, 54, 7, 29, 36, 17, 60, 7, 2, - 36, 7, 2, 74, 17, 33, 36, 33, 47, 8, - 29, 36, 1, 47, 7, 47, 2, 8, 29, 29, - 8, 29, 20, 54, 7, 7, 59, 0, 7, 36, - 1, 33, 36, 8, 8, -1, 54, 42, 8, 8, - 8, 8, 8, 60, 60, 74, 40, 52, 8, 29, - 8, 8, 29, 7, 8, 8, 50, 29, 8, 40, - 6, 8, 49, 8, 36, 29, 53, 29, 8, 50, - 8, 49, -1, 10, 20, 53, 15, 40, -1, -1, - 60, 55, -1, 60, -1, 60, 12, 50, -1, 59, - 59, 59, 40, 60, 60, 34, 60, 36, 60, 12, - 12, 59, 50, 60, -1, 25, 59, 27, -1, 59, - -1, 25, 59, 27, 59, 55, -1, 54, 38, -1, - 25, 59, 27, 8, 38, 25, 25, 27, 27, 25, - 56, 27, 25, 38, 27, 61, 15, 15, 38, 38, - -1, -1, 38, 56, 56, 38, 18, 19, 61, 61, - 18, 19, 18, 19, -1, 34, 34, 36, 36, 18, - 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 55, -1, -1, 45, 46, -1, -1, 45, 46, 45, - 46, 23, 24, -1, -1, -1, 45, 46, -1, -1, - 32, -1, -1, 35, -1, 37, -1, -1, 25, -1, - 27, 23, 24, -1, -1, -1, -1, -1, -1, 31, - 32, 38, -1, 35, -1, 37, 23, 24, -1, -1, - -1, -1, -1, -1, 31, 32, 23, 24, 35, -1, - 37, -1, -1, -1, 31, 32, 23, 24, 35, -1, - 37, -1, 12, 13, 31, 32, 23, 24, 35, -1, - 37, -1, 22, -1, 31, 32, 23, 24, 35, 29, - 37, -1, -1, 33, 34, 32, 36, -1, 35, -1, - 37, -1, -1, 43, -1, -1, -1, -1, -1, -1, - -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, - -1, 22, -1, 63, -1, 65, -1, -1, 29, -1, - -1, -1, 33, 34, -1, 36, 76, 77, 78, -1, - -1, 81, 43, -1, -1, -1, 3, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, - 17, -1, 63, -1, 65, -1, -1, -1, -1, 26, - -1, 28, -1, -1, -1, 76, 77, 78, -1, -1, - 81, -1, 39, -1, 41, 42, -1, -1, -1, -1, - -1, 48, -1, -1, 51, 52, -1, -1, -1, -1, - 57, -1, -1, -1, -1, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, - -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, - 17, -1, -1, -1, -1, -1, -1, -1, -1, 26, - -1, 28, -1, -1, 31, -1, -1, -1, -1, -1, - -1, -1, 39, -1, 41, 42, -1, -1, -1, -1, - -1, 48, -1, -1, 51, 52, -1, -1, -1, -1, - 57, -1, -1, -1, -1, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, - -1, -1, -1, -1, -1, -1, 11, 12, 13, -1, - -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, - -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, - -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, - -1, -1, -1, -1, -1, 50, -1, 52, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, - 65, -1, 67, -1, 69, -1, 71, -1, -1, -1, - -1, 76, 77, 78, -1, -1, 81, -1, 11, 12, - 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, - -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, - 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, - 43, 44, -1, -1, -1, -1, -1, 50, -1, 52, - -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, - 63, -1, 65, -1, 67, -1, 69, -1, 71, -1, - -1, -1, -1, 76, 77, 78, -1, -1, 81, -1, - 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, - -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, - -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, - -1, 42, 43, 44, -1, -1, -1, -1, -1, 50, - -1, 52, -1, -1, 55, -1, -1, -1, -1, -1, - -1, -1, 63, -1, 65, -1, 67, -1, 69, -1, - 71, -1, -1, -1, -1, 76, 77, 78, -1, -1, - 81, -1, 11, 12, 13, -1, -1, -1, -1, -1, - -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, - 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, - -1, 40, -1, 42, 43, 44, -1, -1, -1, -1, - -1, 50, -1, 52, -1, -1, -1, -1, -1, -1, - 59, -1, -1, -1, 63, -1, 65, -1, 67, -1, - 69, -1, 71, -1, -1, -1, -1, 76, 77, 78, - -1, -1, 81, -1, 11, 12, 13, -1, -1, -1, - -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, - -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, - -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, - -1, -1, -1, 50, -1, 52, -1, -1, -1, -1, - -1, -1, -1, 60, -1, -1, 63, -1, 65, -1, - 67, -1, 69, -1, 71, -1, -1, -1, -1, 76, - 77, 78, -1, -1, 81, -1, 11, 12, 13, -1, - -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, - -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, - -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, - -1, -1, -1, -1, -1, 50, -1, 52, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 63, -1, - 65, -1, 67, -1, 69, 70, 71, -1, -1, -1, - -1, 76, 77, 78, -1, -1, 81, -1, 4, 5, - 6, -1, -1, 9, 10, 11, -1, -1, 14, -1, - 16, -1, -1, -1, 20, 21, 22, -1, -1, -1, - -1, -1, -1, 29, 30, 31, 32, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 58, -1, -1, -1, -1, -1, 64, 65, - 66, -1, 68, 69, 70, 71, 72, 73, -1, -1, - 76, 77, 78, 79, 80, -1, 82, 4, 5, 6, - -1, -1, 9, 10, 11, -1, -1, 14, -1, 16, - -1, -1, -1, 20, 21, 22, -1, -1, -1, -1, - -1, -1, 29, 30, 31, 32, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 43, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 58, -1, -1, -1, -1, 63, 64, 65, 66, - -1, 68, 69, 70, 71, 72, 73, -1, -1, 76, - 77, 78, 79, 80, 81, 82, 4, 5, 6, -1, - -1, 9, 10, 11, -1, -1, 14, -1, 16, -1, - -1, -1, 20, 21, 22, -1, -1, -1, -1, -1, - -1, 29, 30, 31, 32, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 43, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 54, -1, -1, -1, - 58, -1, -1, -1, -1, 63, 64, 65, 66, -1, - 68, 69, 70, 71, 72, 73, -1, -1, 76, 77, - 78, 79, 80, 81, 82, 4, -1, -1, -1, -1, - 9, -1, 11, 12, 13, 14, -1, -1, -1, -1, - -1, -1, 21, 22, -1, -1, -1, -1, -1, -1, - 29, 30, -1, -1, 33, 34, -1, 36, -1, -1, - -1, 40, -1, 42, 43, 44, -1, -1, -1, -1, - -1, 50, -1, 52, -1, -1, -1, -1, -1, 58, - -1, 60, -1, -1, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, -1, -1, 76, 77, 78, - 79, 80, 81, -1, 4, -1, -1, -1, -1, 9, - -1, 11, 12, 13, 14, -1, -1, -1, -1, -1, - -1, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, -1, -1, 33, 34, -1, 36, -1, -1, -1, - 40, -1, 42, 43, 44, -1, -1, -1, -1, -1, - 50, -1, 52, -1, -1, -1, -1, -1, 58, -1, - 60, -1, -1, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, -1, -1, 76, 77, 78, 79, - 80, 81, -1, 4, 5, 6, -1, -1, 9, 10, - 11, 12, 13, 14, -1, 16, -1, -1, -1, 20, - 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, - 31, 32, 33, 34, -1, 36, -1, -1, -1, 40, - -1, 42, 43, 44, -1, -1, -1, -1, -1, 50, - -1, 52, -1, 54, -1, -1, -1, 58, -1, 60, - -1, -1, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, -1, -1, 76, 77, 78, 79, 80, - 81, 82, + 0, 6, 9, 6, 3, 13, -1, 9, 6, 6, + 6, 2, 6, 14, -1, 8, 8, 6, 13, 4, + 6, 1, 9, 13, 6, 13, 9, 2, 1, 3, + 6, 9, 2, -1, 6, 6, 2, 6, 6, -1, + 2, 4, 9, -1, -1, -1, -1, -1, 14, 11, + 5, 6, -1, 8, -1, -1, -1, -1, 2, 5, + 6, 16, 8, 18, 19, -1, 12, -1, 12, -1, + 16, -1, 18, 19, -1, -1, -1, 5, 6, -1, + 8, -1, -1, -1, 12, -1, -1, -1, 16, -1, + 18, 19, -1, 5, 6, 7, 8, -1, 10, -1, + -1, -1, -1, 15, 16, 17, -1, -1, 20, - 45, 85, 73, 6, 45, 45, 7, 6, 6, 45, - 7, 6, 78, 67, 76, 6, 45, 7, 14, 46, - 7, 7, 7, 6, 46, 2, 65, 7, 10, 7, - 6, 86, 6, 41, 6, 45, 7, 86, 45, 14, - 45, 6, 46, 7, 6, 45, 81, 6, 9, 80, - 6, 45, 45, 45, 6, 6, 45, -1, 46, 6, - 18, 45, 6, 21, 18, 18, 6, -1, 22, 18, - 23, -1, 18, 18, 23, 18, 18, 23, 23, 21, - 18, 18, 20, 18, 18, 20, 23, 30, 18, 18, - 20, 18, 18, 22, 28, 42, 22, 24, 42, 18, - 18, 18, 42, 18, 23, 23, 23, 18, 23, 18, - 12, 18, 23, 15, 23, 10, 11, 45, 18, 26, - 20, 18, 6, 20, 7, 18, 18, 20, 20, 18, - 18, 20, 20, 61, 12, -1, 18, 15, 20, 18, - 45, 20, 18, 18, 18, 18, 20, 23, 18, 18, - 20, 24, 18, 18, 20, 24, 61, 32, 42, 24, - 18, 18, 18, -1, 18, 18, 23, 23, 25, 23, - 23, -1, 18, 27, 18, -1, 34, 23, 18, 23, - 33, 18, 18, 23, 40, -1, 23, 23, 18, 25, - 18, -1, -1, 23, 40, 23, 40, 18, 35, 29, - 40, 18, 23, -1, 25, 18, 23, 20, 25, -1, - -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, + 10, 29, 10, 1, 10, 17, 17, 1, 7, 10, + 15, 11, 19, 10, 17, 19, 30, 10, 14, 10, + 15, 10, -1, 10, 14, 17, 7, 15, 14, 14, + 10, 15, 15, 10, 10, 14, 7, -1, 7, 8, + 16, -1, 13, -1, 13, -1, 7, 8, 19, 20, + 19, 20, 13, -1, -1, 1, 7, 8, 19, 20, + -1, -1, 13, -1, -1, -1, -1, -1, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, - 23, -1, -1, -1, -1, -1, -1, -1, 31, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1}; + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; diff --git a/src/common/script_system/parser/js_grammar_p.h b/src/common/script_system/parser/js_grammar_p.h index 6e52c9fd2..b198c1bab 100644 --- a/src/common/script_system/parser/js_grammar_p.h +++ b/src/common/script_system/parser/js_grammar_p.h @@ -7,98 +7,36 @@ class js_grammar public: enum VariousConstants { EOF_SYMBOL = 0, - T_AND = 1, - T_AND_AND = 2, - T_AND_EQ = 3, - T_BREAK = 4, - T_CASE = 5, - T_CATCH = 6, - T_COLON = 7, - T_COMMA = 8, - T_CONST = 79, - T_CONTINUE = 9, - T_DEBUGGER = 80, - T_DEFAULT = 10, - T_DELETE = 11, - T_DIVIDE_ = 12, - T_DIVIDE_EQ = 13, - T_DO = 14, - T_DOT = 15, - T_ELSE = 16, - T_EQ = 17, - T_EQ_EQ = 18, - T_EQ_EQ_EQ = 19, - T_FALSE = 78, - T_FINALLY = 20, - T_FOR = 21, - T_FUNCTION = 22, - T_GE = 23, - T_GT = 24, - T_GT_GT = 25, - T_GT_GT_EQ = 26, - T_GT_GT_GT = 27, - T_GT_GT_GT_EQ = 28, - T_IDENTIFIER = 29, - T_IF = 30, - T_IN = 31, - T_INSTANCEOF = 32, - T_LBRACE = 33, - T_LBRACKET = 34, - T_LE = 35, - T_LPAREN = 36, - T_LT = 37, - T_LT_LT = 38, - T_LT_LT_EQ = 39, - T_MINUS = 40, - T_MINUS_EQ = 41, - T_MINUS_MINUS = 42, - T_NEW = 43, - T_NOT = 44, - T_NOT_EQ = 45, - T_NOT_EQ_EQ = 46, - T_NULL = 76, - T_NUMERIC_LITERAL = 81, - T_OR = 47, - T_OR_EQ = 48, - T_OR_OR = 49, - T_PLUS = 50, - T_PLUS_EQ = 51, - T_PLUS_PLUS = 52, - T_QUESTION = 53, - T_RBRACE = 54, - T_RBRACKET = 55, - T_REMAINDER = 56, - T_REMAINDER_EQ = 57, - T_RESERVED_WORD = 82, - T_RETURN = 58, - T_RPAREN = 59, - T_SEMICOLON = 60, - T_STAR = 61, - T_STAR_EQ = 62, - T_STRING_LITERAL = 63, - T_SWITCH = 64, - T_THIS = 65, - T_THROW = 66, - T_TILDE = 67, - T_TRUE = 77, - T_TRY = 68, - T_TYPEOF = 69, - T_VAR = 70, - T_VOID = 71, - T_WHILE = 72, - T_WITH = 73, - T_XOR = 74, - T_XOR_EQ = 75, + T_COLON = 1, + T_COMMA = 2, + T_CONST = 19, + T_DOT = 3, + T_EQ = 4, + T_FUNCTION = 5, + T_IDENTIFIER = 6, + T_LBRACE = 7, + T_LBRACKET = 8, + T_LPAREN = 9, + T_NEW = 10, + T_NULL = 17, + T_NUMERIC_LITERAL = 20, + T_RBRACE = 11, + T_RBRACKET = 12, + T_RPAREN = 13, + T_SEMICOLON = 14, + T_STRING_LITERAL = 15, + T_THIS = 16, + T_VAR = 18, - ACCEPT_STATE = 236, - RULE_COUNT = 259, - STATE_COUNT = 458, - TERMINAL_COUNT = 83, - NON_TERMINAL_COUNT = 88, + ACCEPT_STATE = 3, + RULE_COUNT = 62, + STATE_COUNT = 107, + TERMINAL_COUNT = 21, + NON_TERMINAL_COUNT = 36, - GOTO_INDEX_OFFSET = 458, - GOTO_INFO_OFFSET = 1442, - GOTO_CHECK_OFFSET = 1442 + GOTO_INDEX_OFFSET = 107, + GOTO_INFO_OFFSET = 109, + GOTO_CHECK_OFFSET = 109 }; static const char *const spell []; diff --git a/src/common/script_system/parser/js_lex.l b/src/common/script_system/parser/js_lex.l index 679fb730f..8e50020d9 100644 --- a/src/common/script_system/parser/js_lex.l +++ b/src/common/script_system/parser/js_lex.l @@ -25,85 +25,84 @@ icst ({dec}|0{oct}*|0[xX]{hex}+) %% -"&&" {return T_AND_AND;} -"&=" {return T_AND_EQ;} -"&" {return T_AND;} -"break" {return T_BREAK;} -"case" {return T_CASE;} -"catch" {return T_CATCH;} +"&&" {} +"&=" {} +"&" {} +"break" {} +"case" {} +"catch" {} ":" {return T_COLON;} "," {return T_COMMA;} -"continue" {return T_CONTINUE;} -"default" {return T_DEFAULT;} -"delete" {return T_DELETE;} -"/=" {return T_DIVIDE_EQ;} -"/" {return T_DIVIDE_;} -"do" {return T_DO;} +"continue" {} +"default" {} +"delete" {} +"/=" {} +"/" {} +"do" {} "." {return T_DOT;} -"else" {return T_ELSE;} -"===" {return T_EQ_EQ_EQ;} -"==" {return T_EQ_EQ;} +"else" {} +"===" {} +"==" {} "=" {return T_EQ;} -"finally" {return T_FINALLY;} -"for" {return T_FOR;} +"finally" {} +"for" {} "function" {return T_FUNCTION;} -">>>=" {return T_GT_GT_GT_EQ;} -">>=" {return T_GT_GT_EQ;} -">=" {return T_GE;} -">>" {return T_GT_GT;} -">" {return T_GT;} -"if" {return T_IF;} -"in" {return T_IN;} -"instanceof" {return T_INSTANCEOF;} -"{" {return T_LBRACE;} -"[" {return T_LBRACKET;} -"<<=" {return T_LT_LT_EQ;} -"<<" {return T_LT_LT;} -"<=" {return T_LE;} -"<" {return T_LT;} +">>>=" {} +">>=" {} +">=" {} +">>" {} +">" {} +"if" {} +"in" {} +"instanceof" {} +"{" {return T_LBRACKET;} +"[" {return T_LBRACE;} +"<<=" {} +"<<" {} +"<=" {} +"<" {} "(" {return T_LPAREN;} -"--" {return T_MINUS_MINUS;} -"-=" {return T_MINUS_EQ;} -"-" {return T_MINUS;} +"--" {} +"-=" {} +"-" {} "new" {return T_NEW;} -"!==" {return T_NOT_EQ_EQ;} -"!=" {return T_NOT_EQ;} -"!" {return T_NOT;} -"|=" {return T_OR_EQ;} -"||" {return T_OR_OR;} -"|" {return T_OR;} -"+=" {return T_PLUS_EQ;} -"++" {return T_PLUS_PLUS;} -"+" {return T_PLUS;} -"?" {return T_QUESTION;} -"}" {return T_RBRACE;} -"]" {return T_RBRACKET;} -"%=" {return T_REMAINDER_EQ;} -"%" {return T_REMAINDER;} -"return" {return T_RETURN;} +"!==" {} +"!=" {} +"!" {} +"|=" {} +"||" {} +"|" {} +"+=" {} +"++" {} +"+" {} +"?" {} +"}" {return T_RBRACKET;} +"]" {return T_RBRACE;} +"%=" {} +"%" {} +"return" {} ")" {return T_RPAREN;} ";" {return T_SEMICOLON;} -"*=" {return T_STAR_EQ;} -"*" {return T_STAR;} +"*=" {} +"*" {} "/"([^"\\]|\\.)*"/" {return T_STRING_LITERAL;} -"switch" {return T_SWITCH;} +"switch" {} "this" {return T_THIS;} -"throw" {return T_THROW;} -"~" {return T_TILDE;} -"try" {return T_TRY;} -"typeof" {return T_TYPEOF;} +"throw" {} +"~" {} +"try" {} +"typeof" {} "var" {return T_VAR;} -"void" {return T_VOID;} -"while" {return T_WHILE;} -"with" {return T_WITH;} -"^=" {return T_XOR_EQ;} -"^" {return T_XOR;} +"void" {} +"while" {} +"with" {} +"^=" {} +"^" {} "null" {return T_NULL;} -"true" {return T_TRUE;} -"false" {return T_FALSE;} +"true" {} +"false" {} "const" {return T_CONST;} -"debugger" {return T_DEBUGGER;} -"reserved" {return T_RESERVED_WORD;} + {icst} {yyval.i = QString(yytext).toInt();return T_NUMERIC_LITERAL;} {icst}[uU] {yyval.u = QString(yytext).toUInt();return T_NUMERIC_LITERAL;} {icst}[uU][lL] {yyval.ul = QString(yytext).toULong();return T_NUMERIC_LITERAL;} diff --git a/src/common/script_system/parser/js_lex_lex.cpp b/src/common/script_system/parser/js_lex_lex.cpp index 95bacfa38..c195d0d57 100644 --- a/src/common/script_system/parser/js_lex_lex.cpp +++ b/src/common/script_system/parser/js_lex_lex.cpp @@ -1,29 +1,10 @@ -#line 3 "lex.js_lex.c" +#line 3 "lex.yy.c" #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ -#define yy_create_buffer js_lex_create_buffer -#define yy_delete_buffer js_lex_delete_buffer -#define yy_flex_debug js_lex_flex_debug -#define yy_init_buffer js_lex_init_buffer -#define yy_flush_buffer js_lex_flush_buffer -#define yy_load_buffer_state js_lex_load_buffer_state -#define yy_switch_to_buffer js_lex_switch_to_buffer -#define yyin js_lexin -#define yyleng js_lexleng -#define yylex js_lexlex -#define yylineno js_lexlineno -#define yyout js_lexout -#define yyrestart js_lexrestart -#define yytext js_lextext -#define yywrap js_lexwrap -#define yyalloc js_lexalloc -#define yyrealloc js_lexrealloc -#define yyfree js_lexfree - #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 @@ -153,7 +134,7 @@ typedef unsigned int flex_uint32_t; #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE js_lexrestart(js_lexin ) +#define YY_NEW_FILE yyrestart(yyin ) #define YY_END_OF_BUFFER_CHAR 0 @@ -171,9 +152,9 @@ typedef unsigned int flex_uint32_t; typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -extern int js_lexleng; +extern int yyleng; -extern FILE *js_lexin, *js_lexout; +extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 @@ -185,13 +166,13 @@ extern FILE *js_lexin, *js_lexout; #define yyless(n) \ do \ { \ - /* Undo effects of setting up js_lextext. */ \ + /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up js_lextext again */ \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) @@ -259,8 +240,8 @@ struct yy_buffer_state * possible backing-up. * * When we actually see the EOF, we change the status to "new" - * (via js_lexrestart()), so that the user can continue scanning by - * just pointing js_lexin at a new input file. + * (via yyrestart()), so that the user can continue scanning by + * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 @@ -287,51 +268,51 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ */ #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] -/* yy_hold_char holds the character lost when js_lextext is formed. */ +/* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int js_lexleng; +int yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ -/* Flag which is used to allow js_lexwrap()'s to do buffer switches - * instead of setting up a fresh js_lexin. A bit of a hack ... +/* Flag which is used to allow yywrap()'s to do buffer switches + * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; -void js_lexrestart (FILE *input_file ); -void js_lex_switch_to_buffer (YY_BUFFER_STATE new_buffer ); -YY_BUFFER_STATE js_lex_create_buffer (FILE *file,int size ); -void js_lex_delete_buffer (YY_BUFFER_STATE b ); -void js_lex_flush_buffer (YY_BUFFER_STATE b ); -void js_lexpush_buffer_state (YY_BUFFER_STATE new_buffer ); -void js_lexpop_buffer_state (void ); +void yyrestart (FILE *input_file ); +void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); +void yy_delete_buffer (YY_BUFFER_STATE b ); +void yy_flush_buffer (YY_BUFFER_STATE b ); +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); +void yypop_buffer_state (void ); -static void js_lexensure_buffer_stack (void ); -static void js_lex_load_buffer_state (void ); -static void js_lex_init_buffer (YY_BUFFER_STATE b,FILE *file ); +static void yyensure_buffer_stack (void ); +static void yy_load_buffer_state (void ); +static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); -#define YY_FLUSH_BUFFER js_lex_flush_buffer(YY_CURRENT_BUFFER ) +#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) -YY_BUFFER_STATE js_lex_scan_buffer (char *base,yy_size_t size ); -YY_BUFFER_STATE js_lex_scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE js_lex_scan_bytes (yyconst char *bytes,int len ); +YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); +YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); +YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); -void *js_lexalloc (yy_size_t ); -void *js_lexrealloc (void *,yy_size_t ); -void js_lexfree (void * ); +void *yyalloc (yy_size_t ); +void *yyrealloc (void *,yy_size_t ); +void yyfree (void * ); -#define yy_new_buffer js_lex_create_buffer +#define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ - js_lexensure_buffer_stack (); \ + yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - js_lex_create_buffer(js_lexin,YY_BUF_SIZE ); \ + yy_create_buffer(yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } @@ -339,9 +320,9 @@ void js_lexfree (void * ); #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ - js_lexensure_buffer_stack (); \ + yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - js_lex_create_buffer(js_lexin,YY_BUF_SIZE ); \ + yy_create_buffer(yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } @@ -350,21 +331,21 @@ void js_lexfree (void * ); /* Begin user sect3 */ -#define js_lexwrap(n) 1 +#define yywrap(n) 1 #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; -FILE *js_lexin = (FILE *) 0, *js_lexout = (FILE *) 0; +FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; typedef int yy_state_type; -extern int js_lexlineno; +extern int yylineno; -int js_lexlineno = 1; +int yylineno = 1; -extern char *js_lextext; -#define yytext_ptr js_lextext +extern char *yytext; +#define yytext_ptr yytext static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); @@ -372,17 +353,17 @@ static int yy_get_next_buffer (void ); static void yy_fatal_error (yyconst char msg[] ); /* Done after the current pattern has been matched and before the - * corresponding action - sets up js_lextext. + * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ - js_lexleng = (size_t) (yy_cp - yy_bp); \ + yyleng = (size_t) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 94 -#define YY_END_OF_BUFFER 95 +#define YY_NUM_RULES 92 +#define YY_END_OF_BUFFER 93 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -390,33 +371,32 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[226] = +static yyconst flex_int16_t yy_accept[214] = { 0, - 0, 0, 95, 94, 93, 44, 55, 3, 37, 57, - 60, 50, 8, 40, 15, 13, 80, 80, 7, 58, - 36, 19, 27, 51, 92, 32, 53, 73, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 0, 0, 93, 92, 91, 44, 55, 3, 37, 57, + 60, 50, 8, 40, 15, 13, 78, 78, 7, 58, + 36, 19, 27, 51, 90, 32, 53, 73, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 31, 47, 52, 65, 43, 54, 1, 2, 59, 49, - 48, 38, 39, 88, 0, 61, 12, 0, 88, 80, - 0, 0, 84, 81, 0, 84, 80, 34, 35, 18, - 25, 26, 92, 92, 72, 92, 92, 92, 92, 14, - 92, 92, 92, 92, 92, 28, 29, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 45, 46, + 48, 38, 39, 86, 0, 61, 12, 0, 86, 78, + 0, 0, 82, 79, 0, 82, 78, 34, 35, 18, + 25, 26, 90, 90, 72, 90, 90, 90, 90, 14, + 90, 90, 90, 90, 90, 28, 29, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 45, 46, - 42, 0, 88, 0, 89, 86, 83, 82, 82, 0, - 80, 33, 17, 24, 0, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 21, 92, 92, 41, 92, - 92, 92, 92, 92, 92, 92, 66, 92, 68, 92, - 92, 92, 0, 88, 89, 87, 85, 0, 0, 0, - 23, 92, 5, 92, 92, 92, 92, 92, 92, 16, - 92, 92, 92, 92, 74, 92, 92, 92, 63, 92, - 75, 92, 69, 92, 71, 0, 0, 91, 4, 6, - 77, 92, 92, 92, 92, 76, 92, 92, 92, 92, - 92, 92, 64, 92, 70, 0, 90, 91, 92, 92, + 42, 0, 86, 0, 87, 84, 81, 80, 80, 0, + 78, 33, 17, 24, 0, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 21, 90, 90, 41, 90, 90, + 90, 90, 90, 90, 66, 90, 68, 90, 90, 90, + 0, 86, 87, 85, 83, 0, 0, 0, 23, 90, + 5, 90, 90, 90, 90, 90, 16, 90, 90, 90, + 90, 74, 90, 90, 63, 90, 75, 90, 69, 90, + 71, 0, 0, 89, 4, 6, 77, 90, 90, 90, + 76, 90, 90, 90, 90, 90, 64, 90, 70, 0, + 88, 89, 90, 90, 11, 90, 90, 90, 56, 62, - 92, 11, 92, 92, 92, 92, 56, 62, 67, 90, - 92, 92, 10, 20, 92, 92, 92, 9, 78, 22, - 92, 79, 92, 30, 0 + 67, 88, 90, 10, 20, 90, 90, 9, 22, 90, + 90, 30, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -432,9 +412,9 @@ static yyconst flex_int32_t yy_ec[256] = 28, 28, 28, 28, 31, 28, 28, 32, 28, 28, 33, 34, 35, 36, 37, 1, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 28, 47, 48, 28, 49, - 50, 51, 28, 52, 53, 54, 55, 56, 57, 32, - 58, 28, 59, 60, 61, 62, 1, 1, 1, 1, + 42, 43, 28, 44, 45, 28, 46, 47, 28, 48, + 49, 50, 28, 51, 52, 53, 54, 55, 56, 32, + 57, 28, 58, 59, 60, 61, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -451,183 +431,173 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[63] = +static yyconst flex_int32_t yy_meta[62] = { 0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 4, 4, 4, 5, 5, 5, 5, 5, 1, 1, 1, 1, 5, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, - 1, 1 + 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, + 1 } ; -static yyconst flex_int16_t yy_base[231] = +static yyconst flex_int16_t yy_base[219] = { 0, - 0, 0, 206, 871, 871, 181, 180, 56, 871, 871, - 175, 53, 871, 52, 50, 54, 75, 54, 871, 871, - 58, 164, 59, 871, 67, 871, 871, 139, 79, 82, - 92, 95, 98, 108, 121, 129, 111, 138, 112, 114, - 871, 80, 871, 871, 127, 871, 871, 871, 871, 871, - 871, 871, 871, 162, 88, 150, 151, 116, 182, 109, - 200, 216, 146, 144, 121, 139, 0, 111, 871, 83, - 871, 159, 0, 203, 871, 219, 222, 228, 231, 234, - 237, 240, 246, 249, 255, 264, 267, 275, 280, 289, - 292, 295, 298, 301, 305, 308, 313, 317, 871, 871, + 0, 0, 240, 801, 801, 211, 203, 55, 801, 801, + 191, 52, 801, 51, 49, 53, 74, 53, 801, 801, + 57, 177, 58, 801, 66, 801, 801, 165, 78, 81, + 91, 94, 97, 106, 120, 127, 109, 139, 114, 122, + 801, 80, 801, 801, 142, 801, 801, 801, 801, 801, + 801, 801, 801, 162, 86, 116, 119, 167, 168, 129, + 200, 190, 144, 57, 134, 146, 0, 125, 801, 110, + 801, 95, 0, 203, 801, 206, 211, 214, 218, 221, + 227, 233, 236, 239, 250, 242, 253, 256, 259, 265, + 269, 275, 278, 283, 286, 291, 299, 305, 801, 801, - 871, 333, 871, 344, 347, 63, 871, 61, 39, 0, - 352, 871, 871, 871, 55, 351, 362, 368, 375, 380, - 393, 396, 399, 402, 405, 408, 416, 428, 431, 435, - 442, 445, 448, 451, 455, 459, 462, 469, 472, 475, - 478, 490, 481, 496, 871, 871, 871, 142, 144, 504, - 871, 511, 514, 520, 524, 529, 532, 535, 538, 543, - 546, 550, 553, 556, 563, 566, 569, 579, 583, 586, - 592, 595, 598, 606, 609, 617, 620, 623, 637, 640, - 643, 646, 652, 656, 659, 662, 665, 668, 671, 674, - 682, 689, 692, 699, 705, 708, 711, 871, 719, 727, + 801, 329, 801, 311, 332, 127, 801, 64, 42, 0, + 324, 801, 801, 801, 54, 346, 349, 352, 364, 369, + 372, 377, 380, 383, 386, 393, 406, 409, 413, 418, + 421, 424, 428, 431, 434, 437, 440, 445, 448, 452, + 464, 471, 801, 801, 801, 152, 162, 486, 801, 467, + 474, 489, 492, 499, 503, 506, 509, 512, 518, 521, + 524, 530, 533, 550, 553, 559, 562, 565, 569, 575, + 578, 586, 589, 592, 595, 606, 609, 612, 615, 624, + 620, 627, 630, 633, 636, 639, 647, 651, 654, 660, + 669, 801, 672, 675, 683, 686, 689, 692, 697, 701, - 730, 733, 739, 744, 747, 750, 754, 759, 762, 871, - 765, 772, 782, 785, 788, 792, 795, 798, 801, 804, - 809, 812, 815, 822, 871, 859, 861, 864, 865, 69 + 704, 801, 707, 713, 717, 723, 728, 734, 737, 740, + 743, 746, 801, 789, 791, 794, 795, 68 } ; -static yyconst flex_int16_t yy_def[231] = +static yyconst flex_int16_t yy_def[219] = { 0, - 225, 1, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 226, 225, 17, 225, 225, - 225, 225, 225, 225, 227, 225, 225, 225, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 33, 33, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 226, 226, 226, 226, 225, 17, - 225, 225, 225, 225, 228, 225, 18, 225, 225, 225, - 225, 225, 229, 227, 225, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 225, 225, + 213, 1, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 214, 213, 17, 213, 213, + 213, 213, 213, 213, 215, 213, 213, 213, 215, 215, + 215, 215, 215, 215, 215, 215, 215, 215, 33, 33, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 214, 214, 214, 214, 213, 17, + 213, 213, 213, 213, 216, 213, 18, 213, 213, 213, + 213, 213, 217, 215, 213, 215, 215, 215, 215, 215, + 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, + 215, 215, 215, 215, 215, 215, 215, 215, 213, 213, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 230, - 228, 225, 225, 225, 225, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 225, 225, 225, 225, 225, 230, 230, 225, - 225, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 225, 225, 225, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 225, 225, 225, 227, 227, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 218, + 216, 213, 213, 213, 213, 215, 215, 215, 215, 215, + 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, + 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, + 213, 213, 213, 213, 213, 218, 218, 213, 213, 215, + 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, + 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, + 215, 213, 213, 213, 215, 215, 215, 215, 215, 215, + 215, 215, 215, 215, 215, 215, 215, 215, 215, 213, + 213, 213, 215, 215, 215, 215, 215, 215, 215, 215, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 225, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 0, 225, 225, 225, 225, 225 + 215, 213, 215, 215, 215, 215, 215, 215, 215, 215, + 215, 215, 0, 213, 213, 213, 213, 213 } ; -static yyconst flex_int16_t yy_nxt[934] = +static yyconst flex_int16_t yy_nxt[863] = { 0, 4, 5, 5, 6, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 19, 20, 21, 22, 23, 24, 25, 25, 25, 25, 25, 25, 25, 25, 26, 4, 27, 28, 25, 25, 29, 30, - 31, 32, 33, 25, 25, 34, 25, 25, 35, 25, - 25, 36, 37, 38, 25, 39, 40, 25, 41, 42, - 43, 44, 47, 50, 52, 54, 54, 54, 56, 67, - 67, 67, 148, 53, 51, 57, 151, 48, 68, 69, - 71, 72, 73, 73, 73, 225, 147, 58, 59, 147, - 60, 60, 61, 146, 73, 73, 73, 73, 73, 73, + 31, 32, 33, 25, 34, 25, 25, 35, 25, 25, + 36, 37, 38, 25, 39, 40, 25, 41, 42, 43, + 44, 47, 50, 52, 54, 54, 54, 56, 67, 67, + 67, 146, 53, 51, 57, 149, 48, 68, 69, 71, + 72, 73, 73, 73, 213, 108, 58, 59, 145, 60, + 60, 61, 145, 73, 73, 73, 73, 73, 73, 62, - 62, 99, 56, 63, 113, 64, 65, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 62, 146, 225, 77, - 55, 58, 66, 73, 73, 73, 73, 73, 73, 64, - 76, 78, 112, 79, 110, 82, 73, 73, 73, 100, - 225, 80, 81, 83, 73, 73, 73, 84, 101, 95, - 86, 74, 85, 73, 73, 73, 87, 74, 97, 98, - 75, 96, 88, 74, 56, 56, 74, 91, 74, 107, - 90, 176, 108, 176, 106, 89, 107, 54, 54, 54, - 114, 115, 92, 58, 58, 70, 106, 102, 103, 93, - 103, 109, 176, 107, 176, 94, 49, 54, 54, 54, + 56, 99, 63, 109, 64, 65, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 62, 114, 115, 77, 58, + 66, 73, 73, 73, 73, 73, 73, 64, 76, 78, + 56, 113, 79, 56, 82, 73, 73, 73, 100, 80, + 81, 83, 73, 73, 73, 84, 112, 110, 86, 58, + 85, 95, 58, 87, 73, 73, 73, 144, 74, 74, + 213, 88, 96, 101, 91, 97, 98, 74, 90, 213, + 74, 55, 106, 89, 107, 74, 107, 54, 54, 54, + 144, 172, 92, 54, 54, 54, 75, 102, 103, 93, + 103, 172, 106, 102, 103, 94, 103, 107, 70, 107, - 107, 46, 45, 102, 103, 225, 225, 102, 103, 103, - 103, 225, 225, 59, 225, 61, 61, 61, 73, 73, - 73, 225, 225, 102, 103, 62, 104, 225, 104, 103, - 225, 105, 105, 105, 73, 73, 73, 73, 73, 73, - 225, 62, 225, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 225, 225, - 116, 73, 73, 73, 73, 73, 73, 225, 225, 120, - 73, 73, 73, 121, 117, 118, 119, 225, 122, 73, - 73, 73, 73, 73, 73, 225, 225, 124, 225, 123, - 73, 73, 73, 225, 125, 73, 73, 73, 225, 225, - - 126, 225, 225, 127, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 128, - 73, 73, 73, 73, 73, 73, 225, 130, 73, 73, - 73, 129, 73, 73, 73, 225, 225, 133, 225, 225, - 134, 131, 132, 143, 225, 143, 135, 225, 144, 144, - 144, 138, 136, 140, 225, 137, 139, 225, 141, 105, - 105, 105, 105, 105, 105, 149, 73, 73, 73, 225, - 142, 225, 225, 145, 225, 145, 225, 73, 73, 73, - 63, 150, 64, 73, 73, 73, 225, 225, 152, 145, - 73, 73, 73, 225, 145, 73, 73, 73, 225, 66, - - 225, 225, 150, 153, 225, 225, 64, 154, 73, 73, + 104, 172, 104, 102, 103, 105, 105, 105, 103, 102, + 103, 172, 49, 59, 103, 61, 61, 61, 73, 73, + 73, 73, 73, 73, 46, 62, 73, 73, 73, 73, + 73, 73, 45, 73, 73, 73, 73, 73, 73, 213, + 213, 62, 73, 73, 73, 213, 213, 116, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 225, 155, 156, 225, - 158, 73, 73, 73, 157, 225, 225, 159, 225, 225, - 160, 225, 162, 73, 73, 73, 73, 73, 73, 225, - 73, 73, 73, 225, 161, 163, 225, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 225, - 73, 73, 73, 225, 73, 73, 73, 73, 73, 73, - 225, 164, 165, 166, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 144, 144, 144, 167, + 120, 119, 117, 118, 121, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 213, 122, 123, + 73, 73, 73, 124, 73, 73, 73, 213, 213, 125, + 73, 73, 73, 73, 73, 73, 213, 126, 73, 73, - 171, 168, 225, 169, 170, 73, 73, 73, 225, 225, - 172, 144, 144, 144, 177, 173, 177, 225, 225, 178, - 178, 178, 103, 225, 103, 174, 73, 73, 73, 73, - 73, 73, 225, 225, 175, 73, 73, 73, 103, 73, - 73, 73, 225, 103, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 225, 179, 73, 73, - 73, 73, 73, 73, 180, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 182, 183, 225, 181, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 186, 225, 184, - 225, 185, 225, 189, 73, 73, 73, 187, 73, 73, + 73, 73, 73, 73, 127, 129, 73, 73, 73, 213, + 213, 128, 213, 131, 73, 73, 73, 130, 213, 132, + 73, 73, 73, 213, 213, 133, 105, 105, 105, 213, + 213, 134, 136, 213, 135, 138, 137, 147, 213, 141, + 213, 141, 213, 139, 142, 142, 142, 105, 105, 105, + 213, 213, 63, 148, 64, 213, 213, 140, 143, 213, + 143, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 66, 213, 213, 148, 143, 213, 213, 64, 143, 73, + 73, 73, 213, 150, 73, 73, 73, 73, 73, 73, + 151, 152, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 225, 225, 188, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 225, 190, 192, 225, - 191, 73, 73, 73, 73, 73, 73, 196, 225, 196, - 225, 225, 197, 197, 197, 178, 178, 178, 178, 178, - 178, 225, 193, 225, 194, 225, 225, 195, 225, 198, - 225, 198, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 225, 198, 225, 73, 73, 73, - 198, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 213, 213, 155, 213, 73, 73, + 73, 213, 213, 156, 213, 153, 154, 213, 157, 213, + 159, 73, 73, 73, 73, 73, 73, 213, 73, 73, + 73, 158, 160, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 213, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 161, 162, + 73, 73, 73, 73, 73, 73, 213, 73, 73, 73, + 213, 163, 167, 164, 213, 165, 166, 213, 168, 142, + 142, 142, 73, 73, 73, 169, 142, 142, 142, 73, + 73, 73, 213, 213, 170, 171, 173, 103, 173, 103, + + 213, 174, 174, 174, 73, 73, 73, 73, 73, 73, + 213, 213, 175, 103, 73, 73, 73, 103, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 225, 225, 199, 200, 225, 73, 73, 73, + 213, 213, 176, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 213, 178, 177, 73, 73, 73, 73, 73, + 73, 213, 213, 181, 213, 213, 179, 213, 180, 213, + 213, 184, 213, 213, 182, 73, 73, 73, 73, 73, + 73, 213, 213, 183, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 185, 73, 73, 73, 213, 213, 186, + 73, 73, 73, 73, 73, 73, 190, 213, 190, 213, - 202, 225, 225, 201, 73, 73, 73, 73, 73, 73, - 225, 225, 203, 204, 73, 73, 73, 225, 225, 205, - 73, 73, 73, 197, 197, 197, 197, 197, 197, 206, - 207, 225, 225, 208, 73, 73, 73, 210, 225, 210, - 225, 209, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 225, 225, 210, 73, 73, 73, 225, 210, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 212, 73, - 73, 73, 225, 211, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 213, 225, 225, 216, 73, 73, 73, - 225, 217, 225, 215, 225, 225, 214, 73, 73, 73, - - 73, 73, 73, 73, 73, 73, 218, 73, 73, 73, + 213, 191, 191, 191, 174, 174, 174, 174, 174, 174, + 73, 73, 73, 188, 187, 213, 189, 213, 192, 213, + 192, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 213, 192, 73, 73, 73, 192, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 225, 219, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 221, 225, 222, 220, 73, 73, 73, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 224, 223, 55, - 225, 55, 55, 55, 74, 74, 111, 111, 73, 73, - 3, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, + 73, 73, 73, 73, 73, 73, 73, 213, 213, 193, + 213, 194, 73, 73, 73, 195, 73, 73, 73, 73, + 73, 73, 213, 196, 197, 191, 191, 191, 213, 213, + 198, 213, 200, 199, 191, 191, 191, 73, 73, 73, + 73, 73, 73, 201, 213, 202, 213, 202, 73, 73, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225 + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 213, 202, 73, 73, 73, 202, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 203, 213, 204, 73, 73, + 73, 207, 73, 73, 73, 213, 213, 206, 73, 73, + 73, 213, 205, 73, 73, 73, 213, 213, 208, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 213, 213, 213, 213, 213, 210, + 209, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 212, 213, 213, 211, 55, + 213, 55, 55, 55, 74, 74, 111, 111, 73, 73, + + 3, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213 } ; -static yyconst flex_int16_t yy_chk[934] = +static yyconst flex_int16_t yy_chk[863] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -635,110 +605,102 @@ static yyconst flex_int16_t yy_chk[934] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 8, 12, 14, 15, 15, 15, 16, 18, - 18, 18, 230, 14, 12, 16, 115, 8, 21, 21, - 23, 23, 25, 25, 25, 18, 109, 16, 17, 108, - 17, 17, 17, 106, 29, 29, 29, 30, 30, 30, + 1, 8, 12, 14, 15, 15, 15, 16, 18, 18, + 18, 218, 14, 12, 16, 115, 8, 21, 21, 23, + 23, 25, 25, 25, 18, 64, 16, 17, 109, 17, + 17, 17, 108, 29, 29, 29, 30, 30, 30, 17, - 17, 42, 55, 17, 70, 17, 17, 31, 31, 31, - 32, 32, 32, 33, 33, 33, 17, 106, 58, 30, - 58, 55, 17, 34, 34, 34, 37, 37, 37, 17, - 29, 30, 68, 31, 65, 33, 35, 35, 35, 42, - 60, 31, 32, 33, 36, 36, 36, 33, 45, 39, - 34, 40, 33, 38, 38, 38, 34, 39, 40, 40, - 28, 39, 35, 40, 56, 57, 39, 37, 40, 66, - 36, 148, 64, 149, 63, 35, 63, 54, 54, 54, - 72, 72, 38, 56, 57, 22, 66, 54, 54, 38, - 54, 64, 148, 66, 149, 38, 11, 59, 59, 59, + 55, 42, 17, 64, 17, 17, 31, 31, 31, 32, + 32, 32, 33, 33, 33, 17, 72, 72, 30, 55, + 17, 34, 34, 34, 37, 37, 37, 17, 29, 30, + 56, 70, 31, 57, 33, 35, 35, 35, 42, 31, + 32, 33, 36, 36, 36, 33, 68, 65, 34, 56, + 33, 39, 57, 34, 38, 38, 38, 106, 39, 40, + 60, 35, 39, 45, 37, 40, 40, 39, 36, 58, + 40, 58, 63, 35, 63, 40, 66, 54, 54, 54, + 106, 146, 38, 59, 59, 59, 28, 54, 54, 38, + 54, 147, 66, 59, 59, 38, 59, 63, 22, 66, - 63, 7, 6, 54, 54, 3, 0, 59, 59, 54, - 59, 0, 0, 61, 0, 61, 61, 61, 74, 74, - 74, 0, 0, 59, 59, 61, 62, 0, 62, 59, - 0, 62, 62, 62, 76, 76, 76, 77, 77, 77, - 0, 61, 0, 78, 78, 78, 79, 79, 79, 80, - 80, 80, 81, 81, 81, 82, 82, 82, 0, 0, - 76, 83, 83, 83, 84, 84, 84, 0, 0, 79, - 85, 85, 85, 79, 77, 77, 78, 0, 79, 86, - 86, 86, 87, 87, 87, 0, 0, 82, 0, 81, - 88, 88, 88, 0, 83, 89, 89, 89, 0, 0, + 62, 146, 62, 54, 54, 62, 62, 62, 54, 59, + 59, 147, 11, 61, 59, 61, 61, 61, 74, 74, + 74, 76, 76, 76, 7, 61, 77, 77, 77, 78, + 78, 78, 6, 79, 79, 79, 80, 80, 80, 3, + 0, 61, 81, 81, 81, 0, 0, 76, 82, 82, + 82, 83, 83, 83, 84, 84, 84, 86, 86, 86, + 79, 78, 77, 77, 79, 85, 85, 85, 87, 87, + 87, 88, 88, 88, 89, 89, 89, 0, 81, 82, + 90, 90, 90, 83, 91, 91, 91, 0, 0, 84, + 92, 92, 92, 93, 93, 93, 0, 85, 94, 94, - 84, 0, 0, 85, 90, 90, 90, 91, 91, 91, - 92, 92, 92, 93, 93, 93, 94, 94, 94, 87, - 95, 95, 95, 96, 96, 96, 0, 89, 97, 97, - 97, 88, 98, 98, 98, 0, 0, 91, 0, 0, - 92, 90, 90, 102, 0, 102, 92, 0, 102, 102, - 102, 94, 93, 96, 0, 93, 95, 0, 97, 104, - 104, 104, 105, 105, 105, 111, 116, 116, 116, 0, - 98, 0, 0, 105, 0, 105, 0, 117, 117, 117, - 111, 111, 111, 118, 118, 118, 0, 0, 116, 105, - 119, 119, 119, 0, 105, 120, 120, 120, 0, 111, + 94, 95, 95, 95, 87, 89, 96, 96, 96, 0, + 0, 88, 0, 91, 97, 97, 97, 90, 0, 92, + 98, 98, 98, 0, 0, 92, 104, 104, 104, 0, + 0, 93, 94, 0, 93, 96, 95, 111, 0, 102, + 0, 102, 0, 97, 102, 102, 102, 105, 105, 105, + 0, 0, 111, 111, 111, 0, 0, 98, 105, 0, + 105, 116, 116, 116, 117, 117, 117, 118, 118, 118, + 111, 0, 0, 111, 105, 0, 0, 111, 105, 119, + 119, 119, 0, 116, 120, 120, 120, 121, 121, 121, + 117, 118, 122, 122, 122, 123, 123, 123, 124, 124, - 0, 0, 111, 117, 0, 0, 111, 118, 121, 121, - 121, 122, 122, 122, 123, 123, 123, 124, 124, 124, - 125, 125, 125, 126, 126, 126, 0, 119, 119, 0, - 121, 127, 127, 127, 120, 0, 0, 122, 0, 0, - 123, 0, 125, 128, 128, 128, 129, 129, 129, 0, - 130, 130, 130, 0, 124, 127, 0, 131, 131, 131, - 132, 132, 132, 133, 133, 133, 134, 134, 134, 0, - 135, 135, 135, 0, 136, 136, 136, 137, 137, 137, - 0, 128, 130, 131, 138, 138, 138, 139, 139, 139, - 140, 140, 140, 141, 141, 141, 143, 143, 143, 132, + 124, 125, 125, 125, 0, 0, 120, 0, 126, 126, + 126, 0, 0, 121, 0, 119, 119, 0, 122, 0, + 124, 127, 127, 127, 128, 128, 128, 0, 129, 129, + 129, 123, 126, 130, 130, 130, 131, 131, 131, 132, + 132, 132, 0, 133, 133, 133, 134, 134, 134, 135, + 135, 135, 136, 136, 136, 137, 137, 137, 127, 129, + 138, 138, 138, 139, 139, 139, 0, 140, 140, 140, + 0, 130, 134, 131, 0, 132, 133, 0, 136, 141, + 141, 141, 150, 150, 150, 138, 142, 142, 142, 151, + 151, 151, 0, 0, 139, 140, 148, 142, 148, 142, - 136, 133, 0, 134, 135, 142, 142, 142, 0, 0, - 138, 144, 144, 144, 150, 140, 150, 0, 0, 150, - 150, 150, 144, 0, 144, 141, 152, 152, 152, 153, - 153, 153, 0, 0, 142, 154, 154, 154, 144, 155, - 155, 155, 0, 144, 156, 156, 156, 157, 157, 157, - 158, 158, 158, 159, 159, 159, 0, 152, 160, 160, - 160, 161, 161, 161, 154, 162, 162, 162, 163, 163, - 163, 164, 164, 164, 156, 157, 0, 155, 165, 165, - 165, 166, 166, 166, 167, 167, 167, 161, 0, 158, - 0, 159, 0, 164, 168, 168, 168, 162, 169, 169, + 0, 148, 148, 148, 152, 152, 152, 153, 153, 153, + 0, 0, 150, 142, 154, 154, 154, 142, 155, 155, + 155, 156, 156, 156, 157, 157, 157, 158, 158, 158, + 0, 0, 152, 159, 159, 159, 160, 160, 160, 161, + 161, 161, 0, 154, 153, 162, 162, 162, 163, 163, + 163, 0, 0, 158, 0, 0, 155, 0, 156, 0, + 0, 161, 0, 0, 159, 164, 164, 164, 165, 165, + 165, 0, 0, 160, 166, 166, 166, 167, 167, 167, + 168, 168, 168, 163, 169, 169, 169, 0, 0, 164, + 170, 170, 170, 171, 171, 171, 172, 0, 172, 0, - 169, 170, 170, 170, 0, 0, 163, 171, 171, 171, - 172, 172, 172, 173, 173, 173, 0, 166, 168, 0, - 167, 174, 174, 174, 175, 175, 175, 176, 0, 176, - 0, 0, 176, 176, 176, 177, 177, 177, 178, 178, - 178, 0, 170, 0, 172, 0, 0, 174, 0, 178, - 0, 178, 179, 179, 179, 180, 180, 180, 181, 181, - 181, 182, 182, 182, 0, 178, 0, 183, 183, 183, - 178, 184, 184, 184, 185, 185, 185, 186, 186, 186, - 187, 187, 187, 188, 188, 188, 189, 189, 189, 190, - 190, 190, 0, 0, 182, 183, 0, 191, 191, 191, + 0, 172, 172, 172, 173, 173, 173, 174, 174, 174, + 175, 175, 175, 168, 166, 0, 170, 0, 174, 0, + 174, 176, 176, 176, 177, 177, 177, 178, 178, 178, + 179, 179, 179, 0, 174, 181, 181, 181, 174, 180, + 180, 180, 182, 182, 182, 183, 183, 183, 184, 184, + 184, 185, 185, 185, 186, 186, 186, 0, 0, 178, + 0, 179, 187, 187, 187, 180, 188, 188, 188, 189, + 189, 189, 0, 182, 183, 190, 190, 190, 0, 0, + 184, 0, 186, 185, 191, 191, 191, 193, 193, 193, + 194, 194, 194, 188, 0, 191, 0, 191, 195, 195, - 185, 0, 0, 184, 192, 192, 192, 193, 193, 193, - 0, 0, 187, 188, 194, 194, 194, 0, 0, 189, - 195, 195, 195, 196, 196, 196, 197, 197, 197, 190, - 191, 0, 0, 192, 199, 199, 199, 197, 0, 197, - 0, 194, 200, 200, 200, 201, 201, 201, 202, 202, - 202, 0, 0, 197, 203, 203, 203, 0, 197, 204, - 204, 204, 205, 205, 205, 206, 206, 206, 200, 207, - 207, 207, 0, 199, 208, 208, 208, 209, 209, 209, - 211, 211, 211, 201, 0, 0, 205, 212, 212, 212, - 0, 206, 0, 204, 0, 0, 203, 213, 213, 213, + 195, 196, 196, 196, 197, 197, 197, 198, 198, 198, + 0, 191, 199, 199, 199, 191, 200, 200, 200, 201, + 201, 201, 203, 203, 203, 193, 0, 194, 204, 204, + 204, 198, 205, 205, 205, 0, 0, 197, 206, 206, + 206, 0, 196, 207, 207, 207, 0, 0, 203, 208, + 208, 208, 209, 209, 209, 210, 210, 210, 211, 211, + 211, 212, 212, 212, 0, 0, 0, 0, 0, 207, + 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 211, 0, 0, 210, 214, + 0, 214, 214, 214, 215, 215, 216, 216, 217, 217, - 214, 214, 214, 215, 215, 215, 211, 216, 216, 216, - 217, 217, 217, 218, 218, 218, 219, 219, 219, 220, - 220, 220, 0, 212, 221, 221, 221, 222, 222, 222, - 223, 223, 223, 216, 0, 217, 215, 224, 224, 224, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 223, 221, 226, - 0, 226, 226, 226, 227, 227, 228, 228, 229, 229, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225 + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213 } ; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; -extern int js_lex_flex_debug; -int js_lex_flex_debug = 0; +extern int yy_flex_debug; +int yy_flex_debug = 0; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. @@ -747,7 +709,7 @@ int js_lex_flex_debug = 0; #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -char *js_lextext; +char *yytext; #line 1 "js_lex.l" #define YY_NO_UNISTD_H 1 #line 5 "js_lex.l" @@ -756,7 +718,7 @@ char *js_lextext; #include #define YY_DECL int JSParser::nextToken() -#line 760 "lex.js_lex.c" +#line 722 "lex.yy.c" #define INITIAL 0 @@ -777,31 +739,31 @@ static int yy_init_globals (void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ -int js_lexlex_destroy (void ); +int yylex_destroy (void ); -int js_lexget_debug (void ); +int yyget_debug (void ); -void js_lexset_debug (int debug_flag ); +void yyset_debug (int debug_flag ); -YY_EXTRA_TYPE js_lexget_extra (void ); +YY_EXTRA_TYPE yyget_extra (void ); -void js_lexset_extra (YY_EXTRA_TYPE user_defined ); +void yyset_extra (YY_EXTRA_TYPE user_defined ); -FILE *js_lexget_in (void ); +FILE *yyget_in (void ); -void js_lexset_in (FILE * in_str ); +void yyset_in (FILE * in_str ); -FILE *js_lexget_out (void ); +FILE *yyget_out (void ); -void js_lexset_out (FILE * out_str ); +void yyset_out (FILE * out_str ); -int js_lexget_leng (void ); +int yyget_leng (void ); -char *js_lexget_text (void ); +char *yyget_text (void ); -int js_lexget_lineno (void ); +int yyget_lineno (void ); -void js_lexset_lineno (int line_number ); +void yyset_lineno (int line_number ); /* Macros after this point can all be overridden by user definitions in * section 1. @@ -809,9 +771,9 @@ void js_lexset_lineno (int line_number ); #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int js_lexwrap (void ); +extern "C" int yywrap (void ); #else -extern int js_lexwrap (void ); +extern int yywrap (void ); #endif #endif @@ -845,7 +807,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO fwrite( js_lextext, js_lexleng, 1, js_lexout ) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -858,18 +820,18 @@ static int input (void ); int c = '*'; \ int n; \ for ( n = 0; n < max_size && \ - (c = getc( js_lexin )) != EOF && c != '\n'; ++n ) \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ - if ( c == EOF && ferror( js_lexin ) ) \ + if ( c == EOF && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ - while ( (result = fread(buf, 1, max_size, js_lexin))==0 && ferror(js_lexin)) \ + while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -877,7 +839,7 @@ static int input (void ); break; \ } \ errno=0; \ - clearerr(js_lexin); \ + clearerr(yyin); \ } \ }\ \ @@ -910,12 +872,12 @@ static int input (void ); #ifndef YY_DECL #define YY_DECL_IS_OURS 1 -extern int js_lexlex (void); +extern int yylex (void); -#define YY_DECL int js_lexlex (void) +#define YY_DECL int yylex (void) #endif /* !YY_DECL */ -/* Code executed at the beginning of each rule, after js_lextext and js_lexleng +/* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION @@ -941,7 +903,7 @@ YY_DECL #line 26 "js_lex.l" -#line 945 "lex.js_lex.c" +#line 907 "lex.yy.c" if ( !(yy_init) ) { @@ -954,26 +916,26 @@ YY_DECL if ( ! (yy_start) ) (yy_start) = 1; /* first start state */ - if ( ! js_lexin ) - js_lexin = stdin; + if ( ! yyin ) + yyin = stdin; - if ( ! js_lexout ) - js_lexout = stdout; + if ( ! yyout ) + yyout = stdout; if ( ! YY_CURRENT_BUFFER ) { - js_lexensure_buffer_stack (); + yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = - js_lex_create_buffer(js_lexin,YY_BUF_SIZE ); + yy_create_buffer(yyin,YY_BUF_SIZE ); } - js_lex_load_buffer_state( ); + yy_load_buffer_state( ); } while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = (yy_c_buf_p); - /* Support of js_lextext. */ + /* Support of yytext. */ *yy_cp = (yy_hold_char); /* yy_bp points to the position in yy_ch_buf of the start of @@ -994,13 +956,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 >= 226 ) + if ( yy_current_state >= 214 ) 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] != 871 ); + while ( yy_base[yy_current_state] != 801 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1027,32 +989,32 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP #line 28 "js_lex.l" -{return T_AND_AND;} +{} YY_BREAK case 2: YY_RULE_SETUP #line 29 "js_lex.l" -{return T_AND_EQ;} +{} YY_BREAK case 3: YY_RULE_SETUP #line 30 "js_lex.l" -{return T_AND;} +{} YY_BREAK case 4: YY_RULE_SETUP #line 31 "js_lex.l" -{return T_BREAK;} +{} YY_BREAK case 5: YY_RULE_SETUP #line 32 "js_lex.l" -{return T_CASE;} +{} YY_BREAK case 6: YY_RULE_SETUP #line 33 "js_lex.l" -{return T_CATCH;} +{} YY_BREAK case 7: YY_RULE_SETUP @@ -1067,32 +1029,32 @@ YY_RULE_SETUP case 9: YY_RULE_SETUP #line 36 "js_lex.l" -{return T_CONTINUE;} +{} YY_BREAK case 10: YY_RULE_SETUP #line 37 "js_lex.l" -{return T_DEFAULT;} +{} YY_BREAK case 11: YY_RULE_SETUP #line 38 "js_lex.l" -{return T_DELETE;} +{} YY_BREAK case 12: YY_RULE_SETUP #line 39 "js_lex.l" -{return T_DIVIDE_EQ;} +{} YY_BREAK case 13: YY_RULE_SETUP #line 40 "js_lex.l" -{return T_DIVIDE_;} +{} YY_BREAK case 14: YY_RULE_SETUP #line 41 "js_lex.l" -{return T_DO;} +{} YY_BREAK case 15: YY_RULE_SETUP @@ -1102,17 +1064,17 @@ YY_RULE_SETUP case 16: YY_RULE_SETUP #line 43 "js_lex.l" -{return T_ELSE;} +{} YY_BREAK case 17: YY_RULE_SETUP #line 44 "js_lex.l" -{return T_EQ_EQ_EQ;} +{} YY_BREAK case 18: YY_RULE_SETUP #line 45 "js_lex.l" -{return T_EQ_EQ;} +{} YY_BREAK case 19: YY_RULE_SETUP @@ -1122,12 +1084,12 @@ YY_RULE_SETUP case 20: YY_RULE_SETUP #line 47 "js_lex.l" -{return T_FINALLY;} +{} YY_BREAK case 21: YY_RULE_SETUP #line 48 "js_lex.l" -{return T_FOR;} +{} YY_BREAK case 22: YY_RULE_SETUP @@ -1137,72 +1099,72 @@ YY_RULE_SETUP case 23: YY_RULE_SETUP #line 50 "js_lex.l" -{return T_GT_GT_GT_EQ;} +{} YY_BREAK case 24: YY_RULE_SETUP #line 51 "js_lex.l" -{return T_GT_GT_EQ;} +{} YY_BREAK case 25: YY_RULE_SETUP #line 52 "js_lex.l" -{return T_GE;} +{} YY_BREAK case 26: YY_RULE_SETUP #line 53 "js_lex.l" -{return T_GT_GT;} +{} YY_BREAK case 27: YY_RULE_SETUP #line 54 "js_lex.l" -{return T_GT;} +{} YY_BREAK case 28: YY_RULE_SETUP #line 55 "js_lex.l" -{return T_IF;} +{} YY_BREAK case 29: YY_RULE_SETUP #line 56 "js_lex.l" -{return T_IN;} +{} YY_BREAK case 30: YY_RULE_SETUP #line 57 "js_lex.l" -{return T_INSTANCEOF;} +{} YY_BREAK case 31: YY_RULE_SETUP #line 58 "js_lex.l" -{return T_LBRACE;} +{return T_LBRACKET;} YY_BREAK case 32: YY_RULE_SETUP #line 59 "js_lex.l" -{return T_LBRACKET;} +{return T_LBRACE;} YY_BREAK case 33: YY_RULE_SETUP #line 60 "js_lex.l" -{return T_LT_LT_EQ;} +{} YY_BREAK case 34: YY_RULE_SETUP #line 61 "js_lex.l" -{return T_LT_LT;} +{} YY_BREAK case 35: YY_RULE_SETUP #line 62 "js_lex.l" -{return T_LE;} +{} YY_BREAK case 36: YY_RULE_SETUP #line 63 "js_lex.l" -{return T_LT;} +{} YY_BREAK case 37: YY_RULE_SETUP @@ -1212,17 +1174,17 @@ YY_RULE_SETUP case 38: YY_RULE_SETUP #line 65 "js_lex.l" -{return T_MINUS_MINUS;} +{} YY_BREAK case 39: YY_RULE_SETUP #line 66 "js_lex.l" -{return T_MINUS_EQ;} +{} YY_BREAK case 40: YY_RULE_SETUP #line 67 "js_lex.l" -{return T_MINUS;} +{} YY_BREAK case 41: YY_RULE_SETUP @@ -1232,77 +1194,77 @@ YY_RULE_SETUP case 42: YY_RULE_SETUP #line 69 "js_lex.l" -{return T_NOT_EQ_EQ;} +{} YY_BREAK case 43: YY_RULE_SETUP #line 70 "js_lex.l" -{return T_NOT_EQ;} +{} YY_BREAK case 44: YY_RULE_SETUP #line 71 "js_lex.l" -{return T_NOT;} +{} YY_BREAK case 45: YY_RULE_SETUP #line 72 "js_lex.l" -{return T_OR_EQ;} +{} YY_BREAK case 46: YY_RULE_SETUP #line 73 "js_lex.l" -{return T_OR_OR;} +{} YY_BREAK case 47: YY_RULE_SETUP #line 74 "js_lex.l" -{return T_OR;} +{} YY_BREAK case 48: YY_RULE_SETUP #line 75 "js_lex.l" -{return T_PLUS_EQ;} +{} YY_BREAK case 49: YY_RULE_SETUP #line 76 "js_lex.l" -{return T_PLUS_PLUS;} +{} YY_BREAK case 50: YY_RULE_SETUP #line 77 "js_lex.l" -{return T_PLUS;} +{} YY_BREAK case 51: YY_RULE_SETUP #line 78 "js_lex.l" -{return T_QUESTION;} +{} YY_BREAK case 52: YY_RULE_SETUP #line 79 "js_lex.l" -{return T_RBRACE;} +{return T_RBRACKET;} YY_BREAK case 53: YY_RULE_SETUP #line 80 "js_lex.l" -{return T_RBRACKET;} +{return T_RBRACE;} YY_BREAK case 54: YY_RULE_SETUP #line 81 "js_lex.l" -{return T_REMAINDER_EQ;} +{} YY_BREAK case 55: YY_RULE_SETUP #line 82 "js_lex.l" -{return T_REMAINDER;} +{} YY_BREAK case 56: YY_RULE_SETUP #line 83 "js_lex.l" -{return T_RETURN;} +{} YY_BREAK case 57: YY_RULE_SETUP @@ -1317,12 +1279,12 @@ YY_RULE_SETUP case 59: YY_RULE_SETUP #line 86 "js_lex.l" -{return T_STAR_EQ;} +{} YY_BREAK case 60: YY_RULE_SETUP #line 87 "js_lex.l" -{return T_STAR;} +{} YY_BREAK case 61: /* rule 61 can match eol */ @@ -1333,7 +1295,7 @@ YY_RULE_SETUP case 62: YY_RULE_SETUP #line 89 "js_lex.l" -{return T_SWITCH;} +{} YY_BREAK case 63: YY_RULE_SETUP @@ -1343,22 +1305,22 @@ YY_RULE_SETUP case 64: YY_RULE_SETUP #line 91 "js_lex.l" -{return T_THROW;} +{} YY_BREAK case 65: YY_RULE_SETUP #line 92 "js_lex.l" -{return T_TILDE;} +{} YY_BREAK case 66: YY_RULE_SETUP #line 93 "js_lex.l" -{return T_TRY;} +{} YY_BREAK case 67: YY_RULE_SETUP #line 94 "js_lex.l" -{return T_TYPEOF;} +{} YY_BREAK case 68: YY_RULE_SETUP @@ -1368,27 +1330,27 @@ YY_RULE_SETUP case 69: YY_RULE_SETUP #line 96 "js_lex.l" -{return T_VOID;} +{} YY_BREAK case 70: YY_RULE_SETUP #line 97 "js_lex.l" -{return T_WHILE;} +{} YY_BREAK case 71: YY_RULE_SETUP #line 98 "js_lex.l" -{return T_WITH;} +{} YY_BREAK case 72: YY_RULE_SETUP #line 99 "js_lex.l" -{return T_XOR_EQ;} +{} YY_BREAK case 73: YY_RULE_SETUP #line 100 "js_lex.l" -{return T_XOR;} +{} YY_BREAK case 74: YY_RULE_SETUP @@ -1398,12 +1360,12 @@ YY_RULE_SETUP case 75: YY_RULE_SETUP #line 102 "js_lex.l" -{return T_TRUE;} +{} YY_BREAK case 76: YY_RULE_SETUP #line 103 "js_lex.l" -{return T_FALSE;} +{} YY_BREAK case 77: YY_RULE_SETUP @@ -1412,91 +1374,81 @@ YY_RULE_SETUP YY_BREAK case 78: YY_RULE_SETUP -#line 105 "js_lex.l" -{return T_DEBUGGER;} +#line 106 "js_lex.l" +{yyval.i = QString(yytext).toInt();return T_NUMERIC_LITERAL;} YY_BREAK case 79: YY_RULE_SETUP -#line 106 "js_lex.l" -{return T_RESERVED_WORD;} +#line 107 "js_lex.l" +{yyval.u = QString(yytext).toUInt();return T_NUMERIC_LITERAL;} YY_BREAK case 80: YY_RULE_SETUP -#line 107 "js_lex.l" -{yyval.i = QString(js_lextext).toInt();return T_NUMERIC_LITERAL;} +#line 108 "js_lex.l" +{yyval.ul = QString(yytext).toULong();return T_NUMERIC_LITERAL;} YY_BREAK case 81: YY_RULE_SETUP -#line 108 "js_lex.l" -{yyval.u = QString(js_lextext).toUInt();return T_NUMERIC_LITERAL;} +#line 109 "js_lex.l" +{yyval.ul = QString(yytext).toULong();return T_NUMERIC_LITERAL;} YY_BREAK case 82: YY_RULE_SETUP -#line 109 "js_lex.l" -{yyval.ul = QString(js_lextext).toULong();return T_NUMERIC_LITERAL;} +#line 110 "js_lex.l" +{yyval.l = QString(yytext).toLong();return T_NUMERIC_LITERAL;} YY_BREAK case 83: YY_RULE_SETUP -#line 110 "js_lex.l" -{yyval.ul = QString(js_lextext).toULong();return T_NUMERIC_LITERAL;} +#line 111 "js_lex.l" +{yyval.l = QString(yytext).toULongLong();return T_NUMERIC_LITERAL;} YY_BREAK case 84: YY_RULE_SETUP -#line 111 "js_lex.l" -{yyval.l = QString(js_lextext).toLong();return T_NUMERIC_LITERAL;} +#line 112 "js_lex.l" +{yyval.l = QString(yytext).toLongLong();return T_NUMERIC_LITERAL;} YY_BREAK case 85: YY_RULE_SETUP -#line 112 "js_lex.l" -{yyval.l = QString(js_lextext).toULongLong();return T_NUMERIC_LITERAL;} +#line 113 "js_lex.l" +{yyval.l = QString(yytext).toULongLong();return T_NUMERIC_LITERAL;} YY_BREAK case 86: YY_RULE_SETUP -#line 113 "js_lex.l" -{yyval.l = QString(js_lextext).toLongLong();return T_NUMERIC_LITERAL;} +#line 114 "js_lex.l" +{yyval.f = QString(yytext).toFloat();return T_NUMERIC_LITERAL;} YY_BREAK case 87: YY_RULE_SETUP -#line 114 "js_lex.l" -{yyval.l = QString(js_lextext).toULongLong();return T_NUMERIC_LITERAL;} +#line 115 "js_lex.l" +{yyval.f = QString(yytext).toFloat();return T_NUMERIC_LITERAL;} YY_BREAK case 88: YY_RULE_SETUP -#line 115 "js_lex.l" -{yyval.f = QString(js_lextext).toFloat();return T_NUMERIC_LITERAL;} +#line 116 "js_lex.l" +{yyval.f = QString(yytext).toFloat();return T_NUMERIC_LITERAL;} YY_BREAK case 89: YY_RULE_SETUP -#line 116 "js_lex.l" -{yyval.f = QString(js_lextext).toFloat();return T_NUMERIC_LITERAL;} +#line 117 "js_lex.l" +{yyval.f = QString(yytext).toFloat();return T_NUMERIC_LITERAL;} YY_BREAK case 90: YY_RULE_SETUP -#line 117 "js_lex.l" -{yyval.f = QString(js_lextext).toFloat();return T_NUMERIC_LITERAL;} +#line 118 "js_lex.l" +{yyval.s = insert(yytext);return T_IDENTIFIER;} YY_BREAK case 91: +/* rule 91 can match eol */ YY_RULE_SETUP -#line 118 "js_lex.l" -{yyval.f = QString(js_lextext).toFloat();return T_NUMERIC_LITERAL;} +#line 119 "js_lex.l" +{} YY_BREAK case 92: YY_RULE_SETUP -#line 119 "js_lex.l" -{yyval.s = insert(js_lextext);return T_IDENTIFIER;} - YY_BREAK -case 93: -/* rule 93 can match eol */ -YY_RULE_SETUP -#line 120 "js_lex.l" -{} - YY_BREAK -case 94: -YY_RULE_SETUP -#line 122 "js_lex.l" +#line 121 "js_lex.l" ECHO; YY_BREAK -#line 1500 "lex.js_lex.c" +#line 1452 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1513,15 +1465,15 @@ case YY_STATE_EOF(INITIAL): { /* We're scanning a new file or input source. It's * possible that this happened because the user - * just pointed js_lexin at a new source and called - * js_lexlex(). If so, then we have to assure + * just pointed yyin at a new source and called + * yylex(). If so, then we have to assure * consistency between YY_CURRENT_BUFFER and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = js_lexin; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } @@ -1574,11 +1526,11 @@ case YY_STATE_EOF(INITIAL): { (yy_did_buffer_switch_on_eof) = 0; - if ( js_lexwrap( ) ) + if ( yywrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up - * js_lextext, we can now set up + * yytext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the @@ -1627,7 +1579,7 @@ case YY_STATE_EOF(INITIAL): "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ -} /* end of js_lexlex */ +} /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer * @@ -1705,7 +1657,7 @@ static int yy_get_next_buffer (void) b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ - js_lexrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); + yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ @@ -1737,7 +1689,7 @@ static int yy_get_next_buffer (void) if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; - js_lexrestart(js_lexin ); + yyrestart(yyin ); } else @@ -1754,7 +1706,7 @@ static int yy_get_next_buffer (void) if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) js_lexrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); } @@ -1788,7 +1740,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 >= 226 ) + if ( yy_current_state >= 214 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1816,11 +1768,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 >= 226 ) + if ( yy_current_state >= 214 ) 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 == 225); + yy_is_jam = (yy_current_state == 213); return yy_is_jam ? 0 : yy_current_state; } @@ -1831,7 +1783,7 @@ static int yy_get_next_buffer (void) yy_cp = (yy_c_buf_p); - /* undo effects of setting up js_lextext */ + /* undo effects of setting up yytext */ *yy_cp = (yy_hold_char); if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) @@ -1903,13 +1855,13 @@ static int yy_get_next_buffer (void) */ /* Reset buffer status. */ - js_lexrestart(js_lexin ); + yyrestart(yyin ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { - if ( js_lexwrap( ) ) + if ( yywrap( ) ) return EOF; if ( ! (yy_did_buffer_switch_on_eof) ) @@ -1929,7 +1881,7 @@ static int yy_get_next_buffer (void) } c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve js_lextext */ + *(yy_c_buf_p) = '\0'; /* preserve yytext */ (yy_hold_char) = *++(yy_c_buf_p); return c; @@ -1941,32 +1893,32 @@ static int yy_get_next_buffer (void) * * @note This function does not reset the start condition to @c INITIAL . */ - void js_lexrestart (FILE * input_file ) + void yyrestart (FILE * input_file ) { if ( ! YY_CURRENT_BUFFER ){ - js_lexensure_buffer_stack (); + yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = - js_lex_create_buffer(js_lexin,YY_BUF_SIZE ); + yy_create_buffer(yyin,YY_BUF_SIZE ); } - js_lex_init_buffer(YY_CURRENT_BUFFER,input_file ); - js_lex_load_buffer_state( ); + yy_init_buffer(YY_CURRENT_BUFFER,input_file ); + yy_load_buffer_state( ); } /** Switch to a different input buffer. * @param new_buffer The new input buffer. * */ - void js_lex_switch_to_buffer (YY_BUFFER_STATE new_buffer ) + void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { /* TODO. We should be able to replace this entire function body * with - * js_lexpop_buffer_state(); - * js_lexpush_buffer_state(new_buffer); + * yypop_buffer_state(); + * yypush_buffer_state(new_buffer); */ - js_lexensure_buffer_stack (); + yyensure_buffer_stack (); if ( YY_CURRENT_BUFFER == new_buffer ) return; @@ -1979,21 +1931,21 @@ static int yy_get_next_buffer (void) } YY_CURRENT_BUFFER_LVALUE = new_buffer; - js_lex_load_buffer_state( ); + yy_load_buffer_state( ); /* We don't actually know whether we did this switch during - * EOF (js_lexwrap()) processing, but the only time this flag - * is looked at is after js_lexwrap() is called, so it's safe + * EOF (yywrap()) processing, but the only time this flag + * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ (yy_did_buffer_switch_on_eof) = 1; } -static void js_lex_load_buffer_state (void) +static void yy_load_buffer_state (void) { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; - js_lexin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; (yy_hold_char) = *(yy_c_buf_p); } @@ -2003,35 +1955,35 @@ static void js_lex_load_buffer_state (void) * * @return the allocated buffer state. */ - YY_BUFFER_STATE js_lex_create_buffer (FILE * file, int size ) + YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) { YY_BUFFER_STATE b; - b = (YY_BUFFER_STATE) js_lexalloc(sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in js_lex_create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ - b->yy_ch_buf = (char *) js_lexalloc(b->yy_buf_size + 2 ); + b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in js_lex_create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; - js_lex_init_buffer(b,file ); + yy_init_buffer(b,file ); return b; } /** Destroy the buffer. - * @param b a buffer created with js_lex_create_buffer() + * @param b a buffer created with yy_create_buffer() * */ - void js_lex_delete_buffer (YY_BUFFER_STATE b ) + void yy_delete_buffer (YY_BUFFER_STATE b ) { if ( ! b ) @@ -2041,9 +1993,9 @@ static void js_lex_load_buffer_state (void) YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) - js_lexfree((void *) b->yy_ch_buf ); + yyfree((void *) b->yy_ch_buf ); - js_lexfree((void *) b ); + yyfree((void *) b ); } #ifndef __cplusplus @@ -2052,20 +2004,20 @@ extern int isatty (int ); /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, - * such as during a js_lexrestart() or at EOF. + * such as during a yyrestart() or at EOF. */ - static void js_lex_init_buffer (YY_BUFFER_STATE b, FILE * file ) + static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) { int oerrno = errno; - js_lex_flush_buffer(b ); + yy_flush_buffer(b ); b->yy_input_file = file; b->yy_fill_buffer = 1; - /* If b is the current buffer, then js_lex_init_buffer was _probably_ - * called from js_lexrestart() or through yy_get_next_buffer. + /* If b is the current buffer, then yy_init_buffer was _probably_ + * called from yyrestart() or through yy_get_next_buffer. * In that case, we don't want to reset the lineno or column. */ if (b != YY_CURRENT_BUFFER){ @@ -2082,7 +2034,7 @@ extern int isatty (int ); * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. * */ - void js_lex_flush_buffer (YY_BUFFER_STATE b ) + void yy_flush_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; @@ -2102,7 +2054,7 @@ extern int isatty (int ); b->yy_buffer_status = YY_BUFFER_NEW; if ( b == YY_CURRENT_BUFFER ) - js_lex_load_buffer_state( ); + yy_load_buffer_state( ); } /** Pushes the new state onto the stack. The new state becomes @@ -2111,14 +2063,14 @@ extern int isatty (int ); * @param new_buffer The new state. * */ -void js_lexpush_buffer_state (YY_BUFFER_STATE new_buffer ) +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) { if (new_buffer == NULL) return; - js_lexensure_buffer_stack(); + yyensure_buffer_stack(); - /* This block is copied from js_lex_switch_to_buffer. */ + /* This block is copied from yy_switch_to_buffer. */ if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ @@ -2132,8 +2084,8 @@ void js_lexpush_buffer_state (YY_BUFFER_STATE new_buffer ) (yy_buffer_stack_top)++; YY_CURRENT_BUFFER_LVALUE = new_buffer; - /* copied from js_lex_switch_to_buffer. */ - js_lex_load_buffer_state( ); + /* copied from yy_switch_to_buffer. */ + yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } @@ -2141,18 +2093,18 @@ void js_lexpush_buffer_state (YY_BUFFER_STATE new_buffer ) * The next element becomes the new top. * */ -void js_lexpop_buffer_state (void) +void yypop_buffer_state (void) { if (!YY_CURRENT_BUFFER) return; - js_lex_delete_buffer(YY_CURRENT_BUFFER ); + yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; if ((yy_buffer_stack_top) > 0) --(yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { - js_lex_load_buffer_state( ); + yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } } @@ -2160,7 +2112,7 @@ void js_lexpop_buffer_state (void) /* Allocates the stack if it does not exist. * Guarantees space for at least one push. */ -static void js_lexensure_buffer_stack (void) +static void yyensure_buffer_stack (void) { int num_to_alloc; @@ -2171,11 +2123,11 @@ static void js_lexensure_buffer_stack (void) * immediate realloc on the next call. */ num_to_alloc = 1; - (yy_buffer_stack) = (struct yy_buffer_state**)js_lexalloc + (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in js_lexensure_buffer_stack()" ); + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); @@ -2190,12 +2142,12 @@ static void js_lexensure_buffer_stack (void) int grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; - (yy_buffer_stack) = (struct yy_buffer_state**)js_lexrealloc + (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in js_lexensure_buffer_stack()" ); + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); @@ -2209,7 +2161,7 @@ static void js_lexensure_buffer_stack (void) * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE js_lex_scan_buffer (char * base, yy_size_t size ) +YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; @@ -2219,9 +2171,9 @@ YY_BUFFER_STATE js_lex_scan_buffer (char * base, yy_size_t size ) /* They forgot to leave room for the EOB's. */ return 0; - b = (YY_BUFFER_STATE) js_lexalloc(sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in js_lex_scan_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; @@ -2233,33 +2185,33 @@ YY_BUFFER_STATE js_lex_scan_buffer (char * base, yy_size_t size ) b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; - js_lex_switch_to_buffer(b ); + yy_switch_to_buffer(b ); return b; } -/** Setup the input buffer state to scan a string. The next call to js_lexlex() will +/** Setup the input buffer state to scan a string. The next call to yylex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use - * js_lex_scan_bytes() instead. + * yy_scan_bytes() instead. */ -YY_BUFFER_STATE js_lex_scan_string (yyconst char * yystr ) +YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) { - return js_lex_scan_bytes(yystr,strlen(yystr) ); + return yy_scan_bytes(yystr,strlen(yystr) ); } -/** Setup the input buffer state to scan the given bytes. The next call to js_lexlex() will +/** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. * @param bytes the byte buffer to scan * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE js_lex_scan_bytes (yyconst char * yybytes, int _yybytes_len ) +YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) { YY_BUFFER_STATE b; char *buf; @@ -2268,18 +2220,18 @@ YY_BUFFER_STATE js_lex_scan_bytes (yyconst char * yybytes, int _yybytes_len ) /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; - buf = (char *) js_lexalloc(n ); + buf = (char *) yyalloc(n ); if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in js_lex_scan_bytes()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); for ( i = 0; i < _yybytes_len; ++i ) buf[i] = yybytes[i]; buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; - b = js_lex_scan_buffer(buf,n ); + b = yy_scan_buffer(buf,n ); if ( ! b ) - YY_FATAL_ERROR( "bad buffer in js_lex_scan_bytes()" ); + YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. @@ -2305,14 +2257,14 @@ static void yy_fatal_error (yyconst char* msg ) #define yyless(n) \ do \ { \ - /* Undo effects of setting up js_lextext. */ \ + /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ - js_lextext[js_lexleng] = (yy_hold_char); \ - (yy_c_buf_p) = js_lextext + yyless_macro_arg; \ + yytext[yyleng] = (yy_hold_char); \ + (yy_c_buf_p) = yytext + yyless_macro_arg; \ (yy_hold_char) = *(yy_c_buf_p); \ *(yy_c_buf_p) = '\0'; \ - js_lexleng = yyless_macro_arg; \ + yyleng = yyless_macro_arg; \ } \ while ( 0 ) @@ -2321,85 +2273,85 @@ static void yy_fatal_error (yyconst char* msg ) /** Get the current line number. * */ -int js_lexget_lineno (void) +int yyget_lineno (void) { - return js_lexlineno; + return yylineno; } /** Get the input stream. * */ -FILE *js_lexget_in (void) +FILE *yyget_in (void) { - return js_lexin; + return yyin; } /** Get the output stream. * */ -FILE *js_lexget_out (void) +FILE *yyget_out (void) { - return js_lexout; + return yyout; } /** Get the length of the current token. * */ -int js_lexget_leng (void) +int yyget_leng (void) { - return js_lexleng; + return yyleng; } /** Get the current token. * */ -char *js_lexget_text (void) +char *yyget_text (void) { - return js_lextext; + return yytext; } /** Set the current line number. * @param line_number * */ -void js_lexset_lineno (int line_number ) +void yyset_lineno (int line_number ) { - js_lexlineno = line_number; + yylineno = line_number; } /** Set the input stream. This does not discard the current * input buffer. * @param in_str A readable stream. * - * @see js_lex_switch_to_buffer + * @see yy_switch_to_buffer */ -void js_lexset_in (FILE * in_str ) +void yyset_in (FILE * in_str ) { - js_lexin = in_str ; + yyin = in_str ; } -void js_lexset_out (FILE * out_str ) +void yyset_out (FILE * out_str ) { - js_lexout = out_str ; + yyout = out_str ; } -int js_lexget_debug (void) +int yyget_debug (void) { - return js_lex_flex_debug; + return yy_flex_debug; } -void js_lexset_debug (int bdebug ) +void yyset_debug (int bdebug ) { - js_lex_flex_debug = bdebug ; + yy_flex_debug = bdebug ; } static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. - * This function is called from js_lexlex_destroy(), so don't allocate here. + * This function is called from yylex_destroy(), so don't allocate here. */ (yy_buffer_stack) = 0; @@ -2411,36 +2363,36 @@ static int yy_init_globals (void) /* Defined in main.c */ #ifdef YY_STDINIT - js_lexin = stdin; - js_lexout = stdout; + yyin = stdin; + yyout = stdout; #else - js_lexin = (FILE *) 0; - js_lexout = (FILE *) 0; + yyin = (FILE *) 0; + yyout = (FILE *) 0; #endif /* For future reference: Set errno on error, since we are called by - * js_lexlex_init() + * yylex_init() */ return 0; } -/* js_lexlex_destroy is for both reentrant and non-reentrant scanners. */ -int js_lexlex_destroy (void) +/* yylex_destroy is for both reentrant and non-reentrant scanners. */ +int yylex_destroy (void) { /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ - js_lex_delete_buffer(YY_CURRENT_BUFFER ); + yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; - js_lexpop_buffer_state(); + yypop_buffer_state(); } /* Destroy the stack itself. */ - js_lexfree((yy_buffer_stack) ); + yyfree((yy_buffer_stack) ); (yy_buffer_stack) = NULL; /* Reset the globals. This is important in a non-reentrant scanner so the next time - * js_lexlex() is called, initialization will occur. */ + * yylex() is called, initialization will occur. */ yy_init_globals( ); return 0; @@ -2470,12 +2422,12 @@ static int yy_flex_strlen (yyconst char * s ) } #endif -void *js_lexalloc (yy_size_t size ) +void *yyalloc (yy_size_t size ) { return (void *) malloc( size ); } -void *js_lexrealloc (void * ptr, yy_size_t size ) +void *yyrealloc (void * ptr, yy_size_t size ) { /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those @@ -2487,14 +2439,14 @@ void *js_lexrealloc (void * ptr, yy_size_t size ) return (void *) realloc( (char *) ptr, size ); } -void js_lexfree (void * ptr ) +void yyfree (void * ptr ) { - free( (char *) ptr ); /* see js_lexrealloc() for (char *) cast */ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" -#line 122 "js_lex.l" +#line 121 "js_lex.l" diff --git a/src/common/script_system/parser/js_parser.cpp b/src/common/script_system/parser/js_parser.cpp index 898b7a480..b20e104e3 100644 --- a/src/common/script_system/parser/js_parser.cpp +++ b/src/common/script_system/parser/js_parser.cpp @@ -1,1019 +1,287 @@ -#line 128 "js_parser.g" - -#include "js_parser.h" - -#include -#include - -JSParser::JSParser() -:string_repository(),types() -{ -} - -const QString *JSParser::insert(const QString &s) -{ - return &*string_repository.insert(s); -} - -void JSParser::consumeRule(int ruleno) - { - switch (ruleno) { - -#line 150 "js_parser.g" - -case 0: { -} break; - -#line 156 "js_parser.g" - -case 1: { -} break; - -#line 162 "js_parser.g" - -case 2: { -} break; - -#line 168 "js_parser.g" - -case 3: { -} break; - -#line 174 "js_parser.g" - -case 4: { -} break; - -#line 180 "js_parser.g" - -case 5: { -} break; - -#line 186 "js_parser.g" - -case 6: { -} break; - -#line 195 "js_parser.g" - -case 7: { -} break; - -#line 204 "js_parser.g" - -case 8: { -} break; - -#line 210 "js_parser.g" - -case 9: { -} break; - -#line 216 "js_parser.g" - -case 10: { -} break; - -#line 222 "js_parser.g" - -case 11: { -} break; - -#line 234 "js_parser.g" - -case 12: { -} break; - -#line 240 "js_parser.g" - -case 13: { -} break; - -#line 246 "js_parser.g" - -case 14: { -} break; - -#line 252 "js_parser.g" - -case 15: { -} break; - -#line 258 "js_parser.g" - -case 16: { -} break; - -#line 264 "js_parser.g" - -case 17: { -} break; - -#line 270 "js_parser.g" - -case 18: { -} break; - -#line 276 "js_parser.g" - -case 19: { - -} break; - -#line 283 "js_parser.g" - -case 20: { -} break; - -#line 289 "js_parser.g" - -case 21: { -} break; - -#line 295 "js_parser.g" - -case 22: { -} break; - -#line 301 "js_parser.g" - -case 23: { -} break; - -#line 307 "js_parser.g" - -case 24: { -} break; - -#line 313 "js_parser.g" - -case 25: { -} break; - -#line 319 "js_parser.g" - -case 26: { -} break; - -#line 325 "js_parser.g" - -case 27: - -#line 329 "js_parser.g" - -case 28: - -#line 333 "js_parser.g" - -case 29: - -#line 337 "js_parser.g" - -case 30: - -#line 341 "js_parser.g" - -case 31: - -#line 345 "js_parser.g" - -case 32: - -#line 349 "js_parser.g" - -case 33: +#line 66 "js_parser.g" + +#include "js_parser.h" + +#include +#include + +JSParser::JSParser() +:string_repository(),types() +{ +} + +const QString *JSParser::insert(const QString &s) +{ + return &*string_repository.insert(s); +} + +void JSParser::consumeRule(int ruleno) + { + switch (ruleno) { + +#line 88 "js_parser.g" + +case 0: { +} break; + +#line 95 "js_parser.g" + +case 2: { +} break; + +#line 101 "js_parser.g" + +case 3: { +} break; + +#line 107 "js_parser.g" + +case 4: { +} break; + +#line 113 "js_parser.g" + +case 5: { +} break; + +#line 118 "js_parser.g" + +case 6: { +} break; + +#line 124 "js_parser.g" + +case 7: { +} break; + +#line 130 "js_parser.g" + +case 8: { +} break; + +#line 136 "js_parser.g" + +case 9: { +} break; + +#line 142 "js_parser.g" + +case 10: { +} break; + +#line 148 "js_parser.g" + +case 11: { +} break; + +#line 155 "js_parser.g" + +case 13: { +} break; + +#line 161 "js_parser.g" + +case 14: { +} break; + +#line 167 "js_parser.g" + +case 15: { +} break; + +#line 173 "js_parser.g" + +case 16: { +} break; + +#line 179 "js_parser.g" + +case 17: { +} break; + +#line 185 "js_parser.g" + +case 18: { + functions.insert(symbol(2)); +} break; + +#line 193 "js_parser.g" + +case 20: { +} break; + +#line 200 "js_parser.g" + +case 22: { +} break; + +#line 206 "js_parser.g" + +case 23: { +} break; + +#line 212 "js_parser.g" + +case 24: { +} break; + +#line 218 "js_parser.g" + +case 25: { +} break; + +#line 224 "js_parser.g" + +case 26: { +} break; + +#line 230 "js_parser.g" + +case 27: { +} break; + +#line 236 "js_parser.g" + +case 28: { +} break; + +#line 242 "js_parser.g" + +case 29: { +} break; + +#line 248 "js_parser.g" + +case 30: { +} break; + +#line 254 "js_parser.g" + +case 31: { +} break; + +#line 260 "js_parser.g" + +case 32: { +} break; + +#line 267 "js_parser.g" + +case 34: { +} break; + +#line 273 "js_parser.g" + +case 35: { +} break; + +#line 279 "js_parser.g" + +case 36: { +} break; + +#line 285 "js_parser.g" + +case 37: { +} break; + +#line 291 "js_parser.g" + +case 38: { +} break; + +#line 297 "js_parser.g" + +case 39: { +} break; + +#line 303 "js_parser.g" + +case 40: { +} break; + +#line 309 "js_parser.g" + +case 41: { +} break; + +#line 315 "js_parser.g" + +case 42: { +} break; + +#line 321 "js_parser.g" + +case 43: { +} break; + +#line 327 "js_parser.g" + +case 44: { +} break; + +#line 334 "js_parser.g" + +case 46: { +} break; + +#line 340 "js_parser.g" + +case 47: { +} break; + +#line 346 "js_parser.g" + +case 48: { +} break; #line 353 "js_parser.g" + +case 50: { +} break; -case 34: +#line 360 "js_parser.g" + +case 52: { +} break; -#line 357 "js_parser.g" +#line 367 "js_parser.g" + +case 53: { +} break; -case 35: +#line 374 "js_parser.g" + +case 55: { +} break; -#line 361 "js_parser.g" +#line 380 "js_parser.g" + +case 56: { +} break; -case 36: +#line 386 "js_parser.g" + +case 57: { +} break; -#line 365 "js_parser.g" +#line 392 "js_parser.g" + +case 58: { +} break; -case 37: +#line 398 "js_parser.g" + +case 59: { +} break; -#line 369 "js_parser.g" - -case 38: - -#line 373 "js_parser.g" - -case 39: - -#line 377 "js_parser.g" - -case 40: - -#line 381 "js_parser.g" - -case 41: - -#line 385 "js_parser.g" - -case 42: - -#line 389 "js_parser.g" - -case 43: - -#line 393 "js_parser.g" - -case 44: - -#line 397 "js_parser.g" - -case 45: - -#line 401 "js_parser.g" - -case 46: - -#line 405 "js_parser.g" - -case 47: +#line 404 "js_parser.g" + +case 60: { +} break; #line 409 "js_parser.g" - -case 48: - -#line 413 "js_parser.g" - -case 49: - -#line 417 "js_parser.g" - -case 50: - -#line 421 "js_parser.g" - -case 51: - -#line 425 "js_parser.g" - -case 52: - -#line 429 "js_parser.g" - -case 53: - -#line 433 "js_parser.g" - -case 54: - -#line 437 "js_parser.g" - -case 55: - -#line 441 "js_parser.g" - -case 56: - -#line 445 "js_parser.g" - -case 57: -{ -} break; - -#line 458 "js_parser.g" - -case 62: { -} break; - -#line 464 "js_parser.g" - -case 63: { -} break; - -#line 470 "js_parser.g" - -case 64: { -} break; - -#line 478 "js_parser.g" - -case 66: { -} break; - -#line 484 "js_parser.g" - -case 67: { -} break; - -#line 490 "js_parser.g" - -case 68: { -} break; - -#line 496 "js_parser.g" - -case 69: { -} break; - -#line 502 "js_parser.g" - -case 70: { -} break; - -#line 508 "js_parser.g" - -case 71: { -} break; - -#line 514 "js_parser.g" - -case 72: { -} break; - -#line 520 "js_parser.g" - -case 73: { -} break; - -#line 526 "js_parser.g" - -case 74: { -} break; - -#line 536 "js_parser.g" - -case 78: { -} break; - -#line 542 "js_parser.g" - -case 79: { - -} break; - -#line 551 "js_parser.g" - -case 81: { -} break; - -#line 557 "js_parser.g" - -case 82: { -} break; - -#line 563 "js_parser.g" - -case 83: { -} break; - -#line 569 "js_parser.g" - -case 84: { -} break; - -#line 575 "js_parser.g" - -case 85: { -} break; - -#line 581 "js_parser.g" - -case 86: { -} break; - -#line 587 "js_parser.g" - -case 87: { -} break; - -#line 593 "js_parser.g" - -case 88: { -} break; - -#line 599 "js_parser.g" - -case 89: { -} break; - -#line 607 "js_parser.g" - -case 91: { -} break; - -#line 613 "js_parser.g" - -case 92: { -} break; - -#line 619 "js_parser.g" - -case 93: { -} break; - -#line 627 "js_parser.g" - -case 95: { -} break; - -#line 633 "js_parser.g" - -case 96: { -} break; - -#line 641 "js_parser.g" - -case 98: { -} break; - -#line 647 "js_parser.g" - -case 99: { -} break; - -#line 653 "js_parser.g" - -case 100: { -} break; - -#line 661 "js_parser.g" - -case 102: { -} break; - -#line 667 "js_parser.g" - -case 103: { -} break; - -#line 673 "js_parser.g" - -case 104: { -} break; - -#line 679 "js_parser.g" - -case 105: { -} break; - -#line 685 "js_parser.g" - -case 106: { -} break; - -#line 691 "js_parser.g" - -case 107: { -} break; - -#line 699 "js_parser.g" - -case 109: { -} break; - -#line 705 "js_parser.g" - -case 110: { -} break; - -#line 711 "js_parser.g" - -case 111: { -} break; - -#line 717 "js_parser.g" - -case 112: { -} break; - -#line 723 "js_parser.g" - -case 113: { -} break; - -#line 731 "js_parser.g" - -case 115: { -} break; - -#line 737 "js_parser.g" - -case 116: { -} break; - -#line 743 "js_parser.g" - -case 117: { -} break; - -#line 749 "js_parser.g" - -case 118: { -} break; - -#line 757 "js_parser.g" - -case 120: { -} break; - -#line 763 "js_parser.g" - -case 121: { -} break; - -#line 769 "js_parser.g" - -case 122: { -} break; - -#line 775 "js_parser.g" - -case 123: { -} break; - -#line 783 "js_parser.g" - -case 125: { -} break; - -#line 791 "js_parser.g" - -case 127: { -} break; - -#line 799 "js_parser.g" - -case 129: { -} break; - -#line 807 "js_parser.g" - -case 131: { -} break; - -#line 815 "js_parser.g" - -case 133: { -} break; - -#line 823 "js_parser.g" - -case 135: { -} break; - -#line 831 "js_parser.g" - -case 137: { -} break; - -#line 839 "js_parser.g" - -case 139: { -} break; - -#line 847 "js_parser.g" - -case 141: { -} break; - -#line 855 "js_parser.g" - -case 143: { -} break; - -#line 863 "js_parser.g" - -case 145: { -} break; - -#line 871 "js_parser.g" - -case 147: { -} break; - -#line 879 "js_parser.g" - -case 149: { -} break; - -#line 887 "js_parser.g" - -case 151: { -} break; - -#line 893 "js_parser.g" - -case 152: { -} break; - -#line 899 "js_parser.g" - -case 153: { -} break; - -#line 905 "js_parser.g" - -case 154: { -} break; - -#line 911 "js_parser.g" - -case 155: { -} break; - -#line 917 "js_parser.g" - -case 156: { -} break; - -#line 923 "js_parser.g" - -case 157: { -} break; - -#line 929 "js_parser.g" - -case 158: { -} break; - -#line 935 "js_parser.g" - -case 159: { -} break; - -#line 941 "js_parser.g" - -case 160: { -} break; - -#line 947 "js_parser.g" - -case 161: { -} break; - -#line 953 "js_parser.g" - -case 162: { -} break; - -#line 959 "js_parser.g" - -case 163: { -} break; - -#line 967 "js_parser.g" - -case 165: { -} break; - -#line 973 "js_parser.g" - -case 166: { -} break; - -#line 983 "js_parser.g" - -case 169: { -} break; - -#line 989 "js_parser.g" - -case 170: { -} break; - -#line 1014 "js_parser.g" - -case 187: { -} break; - -#line 1020 "js_parser.g" - -case 188: { -} break; - -#line 1026 "js_parser.g" - -case 189: { -} break; - -#line 1032 "js_parser.g" - -case 190: { -} break; - -#line 1038 "js_parser.g" - -case 191: { -} break; - -#line 1044 "js_parser.g" - -case 192: { -} break; - -#line 1050 "js_parser.g" - -case 193: { -} break; - -#line 1056 "js_parser.g" - -case 194: { -} break; - -#line 1062 "js_parser.g" - -case 195: { -} break; - -#line 1068 "js_parser.g" - -case 196: { -} break; - -#line 1074 "js_parser.g" - -case 197: { -} break; - -#line 1080 "js_parser.g" - -case 198: { -} break; - -#line 1086 "js_parser.g" - -case 199: { -} break; - -#line 1092 "js_parser.g" - -case 200: { -} break; - -#line 1098 "js_parser.g" - -case 201: { -} break; - -#line 1104 "js_parser.g" - -case 202: { -} break; - -#line 1112 "js_parser.g" - -case 204: { -} break; - -#line 1118 "js_parser.g" - -case 205: { -} break; - -#line 1126 "js_parser.g" - -case 207: { -} break; - -#line 1132 "js_parser.g" - -case 208: { -} break; - -#line 1138 "js_parser.g" - -case 209: { -} break; - -#line 1144 "js_parser.g" - -case 210: { -} break; - -#line 1151 "js_parser.g" - -case 211: { -} break; - -#line 1157 "js_parser.g" - -case 212: { -} break; - -#line 1163 "js_parser.g" - -case 213: { -} break; - -#line 1169 "js_parser.g" - -case 214: { -} break; - -#line 1175 "js_parser.g" - -case 215: { -} break; - -#line 1181 "js_parser.g" - -case 216: { -} break; - -#line 1187 "js_parser.g" - -case 217: { -} break; - -#line 1193 "js_parser.g" - -case 218: { -} break; - -#line 1199 "js_parser.g" - -case 219: { -} break; - -#line 1205 "js_parser.g" - -case 220: { -} break; - -#line 1211 "js_parser.g" - -case 221: { -} break; - -#line 1217 "js_parser.g" - -case 222: { -} break; - -#line 1223 "js_parser.g" - -case 223: { -} break; - -#line 1229 "js_parser.g" - -case 224: { -} break; - -#line 1235 "js_parser.g" - -case 225: { -} break; - -#line 1241 "js_parser.g" - -case 226: { -} break; - -#line 1247 "js_parser.g" - -case 227: { -} break; - -#line 1253 "js_parser.g" - -case 228: { -} break; - -#line 1259 "js_parser.g" - -case 229: { -} break; - -#line 1265 "js_parser.g" - -case 230: { -} break; - -#line 1271 "js_parser.g" - -case 231: { -} break; - -#line 1277 "js_parser.g" - -case 232: { -} break; - -#line 1283 "js_parser.g" - -case 233: { -} break; - -#line 1289 "js_parser.g" - -case 234: { -} break; - -#line 1295 "js_parser.g" - -case 235: { -} break; - -#line 1301 "js_parser.g" - -case 236: { -} break; - -#line 1307 "js_parser.g" - -case 237: { -} break; - -#line 1313 "js_parser.g" - -case 238: { -} break; - -#line 1319 "js_parser.g" - -case 239: { -} break; - -#line 1325 "js_parser.g" - -case 240: { -} break; - -#line 1331 "js_parser.g" - -case 241: { -} break; - -#line 1337 "js_parser.g" - -case 242: { -} break; - -#line 1343 "js_parser.g" - -case 243: { -} break; - -#line 1349 "js_parser.g" - -case 244: { -} break; - -#line 1355 "js_parser.g" - -case 245: { -} break; - -#line 1361 "js_parser.g" - -case 246: { -} break; - -#line 1369 "js_parser.g" - -case 248: { -} break; - -#line 1375 "js_parser.g" - -case 249: { -} break; - -#line 1381 "js_parser.g" - -case 250: { -} break; - -#line 1387 "js_parser.g" - -case 251: { -} break; - -#line 1393 "js_parser.g" - -case 252: { -} break; - -#line 1399 "js_parser.g" - -case 253: { -} break; - -#line 1405 "js_parser.g" - -case 254: { -} break; - -#line 1413 "js_parser.g" - -case 256: { -} break; - -#line 1420 "js_parser.g" - - } // switch -} + + } // switch +} diff --git a/src/common/script_system/parser/js_parser.g b/src/common/script_system/parser/js_parser.g index 84a47f31c..5df901190 100644 --- a/src/common/script_system/parser/js_parser.g +++ b/src/common/script_system/parser/js_parser.g @@ -1,1423 +1,412 @@ -%parser js_grammar -%decl js_parser.h -%impl js_parser.cpp - -%token T_AND -%token T_AND_AND -%token T_AND_EQ -%token T_BREAK -%token T_CASE -%token T_CATCH -%token T_COLON -%token T_COMMA -%token T_CONTINUE -%token T_DEFAULT -%token T_DELETE -%token T_DIVIDE_ -%token T_DIVIDE_EQ -%token T_DO -%token T_DOT -%token T_ELSE -%token T_EQ -%token T_EQ_EQ -%token T_EQ_EQ_EQ -%token T_FINALLY -%token T_FOR -%token T_FUNCTION -%token T_GE -%token T_GT -%token T_GT_GT -%token T_GT_GT_EQ -%token T_GT_GT_GT -%token T_GT_GT_GT_EQ -%token T_IDENTIFIER -%token T_IF -%token T_IN -%token T_INSTANCEOF -%token T_LBRACE -%token T_LBRACKET -%token T_LE -%token T_LPAREN -%token T_LT -%token T_LT_LT -%token T_LT_LT_EQ -%token T_MINUS -%token T_MINUS_EQ -%token T_MINUS_MINUS -%token T_NEW -%token T_NOT -%token T_NOT_EQ -%token T_NOT_EQ_EQ -%token T_OR -%token T_OR_EQ -%token T_OR_OR -%token T_PLUS -%token T_PLUS_EQ -%token T_PLUS_PLUS -%token T_QUESTION -%token T_RBRACE -%token T_RBRACKET -%token T_REMAINDER -%token T_REMAINDER_EQ -%token T_RETURN -%token T_RPAREN -%token T_SEMICOLON -%token T_STAR -%token T_STAR_EQ -%token T_STRING_LITERAL -%token T_SWITCH -%token T_THIS -%token T_THROW -%token T_TILDE -%token T_TRY -%token T_TYPEOF -%token T_VAR -%token T_VOID -%token T_WHILE -%token T_WITH -%token T_XOR -%token T_XOR_EQ -%token T_NULL -%token T_TRUE -%token T_FALSE -%token T_CONST -%token T_DEBUGGER -%token T_NUMERIC_LITERAL -%token T_RESERVED_WORD - -%start Program - -/: -#ifndef JS_PARSER_H -#define JS_PARSER_H - -#include "qparser.h" -#include -#include "js_grammar_p.h" - -union Value -{ - int i; - unsigned u; - unsigned long ul; - unsigned long long ull; - long l; - double d; - float f; - const QString *s; -}; - -class JSParser: public QParser -{ -public: - JSParser(); - int nextToken(); - void consumeRule(int ruleno); - const QString *insert(const QString &s); - -protected: - QSet string_repository; - QSet types; - -}; - -#endif // JS_PARSER_H -:/ - - -/. -#include "js_parser.h" - -#include -#include - -JSParser::JSParser() -:string_repository(),types() -{ -} - -const QString *JSParser::insert(const QString &s) -{ - return &*string_repository.insert(s); -} - -void JSParser::consumeRule(int ruleno) - { - switch (ruleno) { -./ - -PrimaryExpression: T_THIS ; -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_IDENTIFIER ; -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_NULL ; -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_TRUE ; -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_FALSE ; -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_NUMERIC_LITERAL ; -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_STRING_LITERAL ; -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_DIVIDE_ ; -/: -#define Q_SCRIPT_REGEXPLITERAL_RULE1 $rule_number -:/ -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_DIVIDE_EQ ; -/: -#define Q_SCRIPT_REGEXPLITERAL_RULE2 $rule_number -:/ -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_LBRACKET ElisionOpt T_RBRACKET ; -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_LBRACKET ElementList T_RBRACKET ; -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_LBRACKET ElementList T_COMMA ElisionOpt T_RBRACKET ; -/. -case $rule_number: { -} break; -./ - --- PrimaryExpression: T_LBRACE T_RBRACE ; --- /. --- case $rule_number: { --- } break; --- ./ - -PrimaryExpression: T_LBRACE PropertyNameAndValueListOpt T_RBRACE ; -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_LBRACE PropertyNameAndValueList T_COMMA T_RBRACE ; -/. -case $rule_number: { -} break; -./ - -PrimaryExpression: T_LPAREN Expression T_RPAREN ; -/. -case $rule_number: { -} break; -./ - -ElementList: ElisionOpt AssignmentExpression ; -/. -case $rule_number: { -} break; -./ - -ElementList: ElementList T_COMMA ElisionOpt AssignmentExpression ; -/. -case $rule_number: { -} break; -./ - -Elision: T_COMMA ; -/. -case $rule_number: { -} break; -./ - -Elision: Elision T_COMMA ; -/. -case $rule_number: { -} break; -./ - -ElisionOpt: ; -/. -case $rule_number: { - -} break; -./ - -ElisionOpt: Elision ; -/. -case $rule_number: { -} break; -./ - -PropertyNameAndValueList: PropertyName T_COLON AssignmentExpression ; -/. -case $rule_number: { -} break; -./ - -PropertyNameAndValueList: PropertyNameAndValueList T_COMMA PropertyName T_COLON AssignmentExpression ; -/. -case $rule_number: { -} break; -./ - -PropertyName: T_IDENTIFIER ; -/. -case $rule_number: { -} break; -./ - -PropertyName: T_STRING_LITERAL ; -/. -case $rule_number: { -} break; -./ - -PropertyName: T_NUMERIC_LITERAL ; -/. -case $rule_number: { -} break; -./ - -PropertyName: ReservedIdentifier ; -/. -case $rule_number: { -} break; -./ - -ReservedIdentifier: T_BREAK ; -/. -case $rule_number: -./ -ReservedIdentifier: T_CASE ; -/. -case $rule_number: -./ -ReservedIdentifier: T_CATCH ; -/. -case $rule_number: -./ -ReservedIdentifier: T_CONTINUE ; -/. -case $rule_number: -./ -ReservedIdentifier: T_DEFAULT ; -/. -case $rule_number: -./ -ReservedIdentifier: T_DELETE ; -/. -case $rule_number: -./ -ReservedIdentifier: T_DO ; -/. -case $rule_number: -./ -ReservedIdentifier: T_ELSE ; -/. -case $rule_number: -./ -ReservedIdentifier: T_FALSE ; -/. -case $rule_number: -./ -ReservedIdentifier: T_FINALLY ; -/. -case $rule_number: -./ -ReservedIdentifier: T_FOR ; -/. -case $rule_number: -./ -ReservedIdentifier: T_FUNCTION ; -/. -case $rule_number: -./ -ReservedIdentifier: T_IF ; -/. -case $rule_number: -./ -ReservedIdentifier: T_IN ; -/. -case $rule_number: -./ -ReservedIdentifier: T_INSTANCEOF ; -/. -case $rule_number: -./ -ReservedIdentifier: T_NEW ; -/. -case $rule_number: -./ -ReservedIdentifier: T_NULL ; -/. -case $rule_number: -./ -ReservedIdentifier: T_RETURN ; -/. -case $rule_number: -./ -ReservedIdentifier: T_SWITCH ; -/. -case $rule_number: -./ -ReservedIdentifier: T_THIS ; -/. -case $rule_number: -./ -ReservedIdentifier: T_THROW ; -/. -case $rule_number: -./ -ReservedIdentifier: T_TRUE ; -/. -case $rule_number: -./ -ReservedIdentifier: T_TRY ; -/. -case $rule_number: -./ -ReservedIdentifier: T_TYPEOF ; -/. -case $rule_number: -./ -ReservedIdentifier: T_VAR ; -/. -case $rule_number: -./ -ReservedIdentifier: T_VOID ; -/. -case $rule_number: -./ -ReservedIdentifier: T_WHILE ; -/. -case $rule_number: -./ -ReservedIdentifier: T_CONST ; -/. -case $rule_number: -./ -ReservedIdentifier: T_DEBUGGER ; -/. -case $rule_number: -./ -ReservedIdentifier: T_RESERVED_WORD ; -/. -case $rule_number: -./ -ReservedIdentifier: T_WITH ; -/. -case $rule_number: -{ -} break; -./ - -PropertyIdentifier: T_IDENTIFIER ; -PropertyIdentifier: ReservedIdentifier ; - -MemberExpression: PrimaryExpression ; -MemberExpression: FunctionExpression ; - -MemberExpression: MemberExpression T_LBRACKET Expression T_RBRACKET ; -/. -case $rule_number: { -} break; -./ - -MemberExpression: MemberExpression T_DOT PropertyIdentifier ; -/. -case $rule_number: { -} break; -./ - -MemberExpression: T_NEW MemberExpression Arguments ; -/. -case $rule_number: { -} break; -./ - -NewExpression: MemberExpression ; - -NewExpression: T_NEW NewExpression ; -/. -case $rule_number: { -} break; -./ - -CallExpression: MemberExpression Arguments ; -/. -case $rule_number: { -} break; -./ - -CallExpression: CallExpression Arguments ; -/. -case $rule_number: { -} break; -./ - -CallExpression: CallExpression T_LBRACKET Expression T_RBRACKET ; -/. -case $rule_number: { -} break; -./ - -CallExpression: CallExpression T_DOT PropertyIdentifier ; -/. -case $rule_number: { -} break; -./ - -Arguments: T_LPAREN T_RPAREN ; -/. -case $rule_number: { -} break; -./ - -Arguments: T_LPAREN ArgumentList T_RPAREN ; -/. -case $rule_number: { -} break; -./ - -ArgumentList: AssignmentExpression ; -/. -case $rule_number: { -} break; -./ - -ArgumentList: ArgumentList T_COMMA AssignmentExpression ; -/. -case $rule_number: { -} break; -./ - -LeftHandSideExpression: NewExpression ; -LeftHandSideExpression: CallExpression ; -PostfixExpression: LeftHandSideExpression ; - -PostfixExpression: LeftHandSideExpression T_PLUS_PLUS ; -/. -case $rule_number: { -} break; -./ - -PostfixExpression: LeftHandSideExpression T_MINUS_MINUS ; -/. -case $rule_number: { - -} break; -./ - -UnaryExpression: PostfixExpression ; - -UnaryExpression: T_DELETE UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -UnaryExpression: T_VOID UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -UnaryExpression: T_TYPEOF UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -UnaryExpression: T_PLUS_PLUS UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -UnaryExpression: T_MINUS_MINUS UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -UnaryExpression: T_PLUS UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -UnaryExpression: T_MINUS UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -UnaryExpression: T_TILDE UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -UnaryExpression: T_NOT UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -MultiplicativeExpression: UnaryExpression ; - -MultiplicativeExpression: MultiplicativeExpression T_STAR UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -MultiplicativeExpression: MultiplicativeExpression T_DIVIDE_ UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -MultiplicativeExpression: MultiplicativeExpression T_REMAINDER UnaryExpression ; -/. -case $rule_number: { -} break; -./ - -AdditiveExpression: MultiplicativeExpression ; - -AdditiveExpression: AdditiveExpression T_PLUS MultiplicativeExpression ; -/. -case $rule_number: { -} break; -./ - -AdditiveExpression: AdditiveExpression T_MINUS MultiplicativeExpression ; -/. -case $rule_number: { -} break; -./ - -ShiftExpression: AdditiveExpression ; - -ShiftExpression: ShiftExpression T_LT_LT AdditiveExpression ; -/. -case $rule_number: { -} break; -./ - -ShiftExpression: ShiftExpression T_GT_GT AdditiveExpression ; -/. -case $rule_number: { -} break; -./ - -ShiftExpression: ShiftExpression T_GT_GT_GT AdditiveExpression ; -/. -case $rule_number: { -} break; -./ - -RelationalExpression: ShiftExpression ; - -RelationalExpression: RelationalExpression T_LT ShiftExpression ; -/. -case $rule_number: { -} break; -./ - -RelationalExpression: RelationalExpression T_GT ShiftExpression ; -/. -case $rule_number: { -} break; -./ - -RelationalExpression: RelationalExpression T_LE ShiftExpression ; -/. -case $rule_number: { -} break; -./ - -RelationalExpression: RelationalExpression T_GE ShiftExpression ; -/. -case $rule_number: { -} break; -./ - -RelationalExpression: RelationalExpression T_INSTANCEOF ShiftExpression ; -/. -case $rule_number: { -} break; -./ - -RelationalExpression: RelationalExpression T_IN ShiftExpression ; -/. -case $rule_number: { -} break; -./ - -RelationalExpressionNotIn: ShiftExpression ; - -RelationalExpressionNotIn: RelationalExpressionNotIn T_LT ShiftExpression ; -/. -case $rule_number: { -} break; -./ - -RelationalExpressionNotIn: RelationalExpressionNotIn T_GT ShiftExpression ; -/. -case $rule_number: { -} break; -./ - -RelationalExpressionNotIn: RelationalExpressionNotIn T_LE ShiftExpression ; -/. -case $rule_number: { -} break; -./ - -RelationalExpressionNotIn: RelationalExpressionNotIn T_GE ShiftExpression ; -/. -case $rule_number: { -} break; -./ - -RelationalExpressionNotIn: RelationalExpressionNotIn T_INSTANCEOF ShiftExpression ; -/. -case $rule_number: { -} break; -./ - -EqualityExpression: RelationalExpression ; - -EqualityExpression: EqualityExpression T_EQ_EQ RelationalExpression ; -/. -case $rule_number: { -} break; -./ - -EqualityExpression: EqualityExpression T_NOT_EQ RelationalExpression ; -/. -case $rule_number: { -} break; -./ - -EqualityExpression: EqualityExpression T_EQ_EQ_EQ RelationalExpression ; -/. -case $rule_number: { -} break; -./ - -EqualityExpression: EqualityExpression T_NOT_EQ_EQ RelationalExpression ; -/. -case $rule_number: { -} break; -./ - -EqualityExpressionNotIn: RelationalExpressionNotIn ; - -EqualityExpressionNotIn: EqualityExpressionNotIn T_EQ_EQ RelationalExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -EqualityExpressionNotIn: EqualityExpressionNotIn T_NOT_EQ RelationalExpressionNotIn; -/. -case $rule_number: { -} break; -./ - -EqualityExpressionNotIn: EqualityExpressionNotIn T_EQ_EQ_EQ RelationalExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -EqualityExpressionNotIn: EqualityExpressionNotIn T_NOT_EQ_EQ RelationalExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -BitwiseANDExpression: EqualityExpression ; - -BitwiseANDExpression: BitwiseANDExpression T_AND EqualityExpression ; -/. -case $rule_number: { -} break; -./ - -BitwiseANDExpressionNotIn: EqualityExpressionNotIn ; - -BitwiseANDExpressionNotIn: BitwiseANDExpressionNotIn T_AND EqualityExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -BitwiseXORExpression: BitwiseANDExpression ; - -BitwiseXORExpression: BitwiseXORExpression T_XOR BitwiseANDExpression ; -/. -case $rule_number: { -} break; -./ - -BitwiseXORExpressionNotIn: BitwiseANDExpressionNotIn ; - -BitwiseXORExpressionNotIn: BitwiseXORExpressionNotIn T_XOR BitwiseANDExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -BitwiseORExpression: BitwiseXORExpression ; - -BitwiseORExpression: BitwiseORExpression T_OR BitwiseXORExpression ; -/. -case $rule_number: { -} break; -./ - -BitwiseORExpressionNotIn: BitwiseXORExpressionNotIn ; - -BitwiseORExpressionNotIn: BitwiseORExpressionNotIn T_OR BitwiseXORExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -LogicalANDExpression: BitwiseORExpression ; - -LogicalANDExpression: LogicalANDExpression T_AND_AND BitwiseORExpression ; -/. -case $rule_number: { -} break; -./ - -LogicalANDExpressionNotIn: BitwiseORExpressionNotIn ; - -LogicalANDExpressionNotIn: LogicalANDExpressionNotIn T_AND_AND BitwiseORExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -LogicalORExpression: LogicalANDExpression ; - -LogicalORExpression: LogicalORExpression T_OR_OR LogicalANDExpression ; -/. -case $rule_number: { -} break; -./ - -LogicalORExpressionNotIn: LogicalANDExpressionNotIn ; - -LogicalORExpressionNotIn: LogicalORExpressionNotIn T_OR_OR LogicalANDExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -ConditionalExpression: LogicalORExpression ; - -ConditionalExpression: LogicalORExpression T_QUESTION AssignmentExpression T_COLON AssignmentExpression ; -/. -case $rule_number: { -} break; -./ - -ConditionalExpressionNotIn: LogicalORExpressionNotIn ; - -ConditionalExpressionNotIn: LogicalORExpressionNotIn T_QUESTION AssignmentExpressionNotIn T_COLON AssignmentExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -AssignmentExpression: ConditionalExpression ; - -AssignmentExpression: LeftHandSideExpression AssignmentOperator AssignmentExpression ; -/. -case $rule_number: { -} break; -./ - -AssignmentExpressionNotIn: ConditionalExpressionNotIn ; - -AssignmentExpressionNotIn: LeftHandSideExpression AssignmentOperator AssignmentExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_EQ ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_STAR_EQ ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_DIVIDE_EQ ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_REMAINDER_EQ ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_PLUS_EQ ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_MINUS_EQ ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_LT_LT_EQ ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_GT_GT_EQ ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_GT_GT_GT_EQ ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_AND_EQ ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_XOR_EQ ; -/. -case $rule_number: { -} break; -./ - -AssignmentOperator: T_OR_EQ ; -/. -case $rule_number: { -} break; -./ - -Expression: AssignmentExpression ; - -Expression: Expression T_COMMA AssignmentExpression ; -/. -case $rule_number: { -} break; -./ - -ExpressionOpt: ; -/. -case $rule_number: { -} break; -./ - -ExpressionOpt: Expression ; - -ExpressionNotIn: AssignmentExpressionNotIn ; - -ExpressionNotIn: ExpressionNotIn T_COMMA AssignmentExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -ExpressionNotInOpt: ; -/. -case $rule_number: { -} break; -./ - -ExpressionNotInOpt: ExpressionNotIn ; - -Statement: Block ; -Statement: VariableStatement ; -Statement: EmptyStatement ; -Statement: ExpressionStatement ; -Statement: IfStatement ; -Statement: IterationStatement ; -Statement: ContinueStatement ; -Statement: BreakStatement ; -Statement: ReturnStatement ; -Statement: WithStatement ; -Statement: LabelledStatement ; -Statement: SwitchStatement ; -Statement: ThrowStatement ; -Statement: TryStatement ; -Statement: DebuggerStatement ; - - -Block: T_LBRACE StatementListOpt T_RBRACE ; -/. -case $rule_number: { -} break; -./ - -StatementList: Statement ; -/. -case $rule_number: { -} break; -./ - -StatementList: StatementList Statement ; -/. -case $rule_number: { -} break; -./ - -StatementListOpt: ; -/. -case $rule_number: { -} break; -./ - -StatementListOpt: StatementList ; -/. -case $rule_number: { -} break; -./ - -VariableStatement: VariableDeclarationKind VariableDeclarationList T_SEMICOLON ; -/. -case $rule_number: { -} break; -./ - -VariableDeclarationKind: T_CONST ; -/. -case $rule_number: { -} break; -./ - -VariableDeclarationKind: T_VAR ; -/. -case $rule_number: { -} break; -./ - -VariableDeclarationList: VariableDeclaration ; -/. -case $rule_number: { -} break; -./ - -VariableDeclarationList: VariableDeclarationList T_COMMA VariableDeclaration ; -/. -case $rule_number: { -} break; -./ - -VariableDeclarationListNotIn: VariableDeclarationNotIn ; -/. -case $rule_number: { -} break; -./ - -VariableDeclarationListNotIn: VariableDeclarationListNotIn T_COMMA VariableDeclarationNotIn ; -/. -case $rule_number: { -} break; -./ - -VariableDeclaration: T_IDENTIFIER InitialiserOpt ; -/. -case $rule_number: { -} break; -./ - -VariableDeclarationNotIn: T_IDENTIFIER InitialiserNotInOpt ; -/. -case $rule_number: { -} break; -./ - -Initialiser: T_EQ AssignmentExpression ; -/. -case $rule_number: { -} break; -./ - -InitialiserOpt: ; -/. -case $rule_number: { -} break; -./ - -InitialiserOpt: Initialiser ; - -InitialiserNotIn: T_EQ AssignmentExpressionNotIn ; -/. -case $rule_number: { -} break; -./ - -InitialiserNotInOpt: ; -/. -case $rule_number: { -} break; -./ - -InitialiserNotInOpt: InitialiserNotIn ; - -EmptyStatement: T_SEMICOLON ; -/. -case $rule_number: { -} break; -./ - -ExpressionStatement: Expression T_SEMICOLON ; -/. -case $rule_number: { -} break; -./ - -IfStatement: T_IF T_LPAREN Expression T_RPAREN Statement T_ELSE Statement ; -/. -case $rule_number: { -} break; -./ - -IfStatement: T_IF T_LPAREN Expression T_RPAREN Statement ; -/. -case $rule_number: { -} break; -./ - - -IterationStatement: T_DO Statement T_WHILE T_LPAREN Expression T_RPAREN T_SEMICOLON ; -/. -case $rule_number: { -} break; -./ - -IterationStatement: T_WHILE T_LPAREN Expression T_RPAREN Statement ; -/. -case $rule_number: { -} break; -./ - -IterationStatement: T_FOR T_LPAREN ExpressionNotInOpt T_SEMICOLON ExpressionOpt T_SEMICOLON ExpressionOpt T_RPAREN Statement ; -/. -case $rule_number: { -} break; -./ - -IterationStatement: T_FOR T_LPAREN T_VAR VariableDeclarationListNotIn T_SEMICOLON ExpressionOpt T_SEMICOLON ExpressionOpt T_RPAREN Statement ; -/. -case $rule_number: { -} break; -./ - -IterationStatement: T_FOR T_LPAREN LeftHandSideExpression T_IN Expression T_RPAREN Statement ; -/. -case $rule_number: { -} break; -./ - -IterationStatement: T_FOR T_LPAREN T_VAR VariableDeclarationNotIn T_IN Expression T_RPAREN Statement ; -/. -case $rule_number: { -} break; -./ - -ContinueStatement: T_CONTINUE T_SEMICOLON ; -/. -case $rule_number: { -} break; -./ - -ContinueStatement: T_CONTINUE T_IDENTIFIER T_SEMICOLON ; -/. -case $rule_number: { -} break; -./ - -BreakStatement: T_BREAK T_SEMICOLON ; -/. -case $rule_number: { -} break; -./ - -BreakStatement: T_BREAK T_IDENTIFIER T_SEMICOLON ; -/. -case $rule_number: { -} break; -./ - -ReturnStatement: T_RETURN ExpressionOpt T_SEMICOLON ; -/. -case $rule_number: { -} break; -./ - -WithStatement: T_WITH T_LPAREN Expression T_RPAREN Statement ; -/. -case $rule_number: { -} break; -./ - -SwitchStatement: T_SWITCH T_LPAREN Expression T_RPAREN CaseBlock ; -/. -case $rule_number: { -} break; -./ - -CaseBlock: T_LBRACE CaseClausesOpt T_RBRACE ; -/. -case $rule_number: { -} break; -./ - -CaseBlock: T_LBRACE CaseClausesOpt DefaultClause CaseClausesOpt T_RBRACE ; -/. -case $rule_number: { -} break; -./ - -CaseClauses: CaseClause ; -/. -case $rule_number: { -} break; -./ - -CaseClauses: CaseClauses CaseClause ; -/. -case $rule_number: { -} break; -./ - -CaseClausesOpt: ; -/. -case $rule_number: { -} break; -./ - -CaseClausesOpt: CaseClauses ; -/. -case $rule_number: { -} break; -./ - -CaseClause: T_CASE Expression T_COLON StatementListOpt ; -/. -case $rule_number: { -} break; -./ - -DefaultClause: T_DEFAULT T_COLON StatementListOpt ; -/. -case $rule_number: { -} break; -./ - -LabelledStatement: T_IDENTIFIER T_COLON Statement ; -/. -case $rule_number: { -} break; -./ - -ThrowStatement: T_THROW Expression T_SEMICOLON ; -/. -case $rule_number: { -} break; -./ - -TryStatement: T_TRY Block Catch ; -/. -case $rule_number: { -} break; -./ - -TryStatement: T_TRY Block Finally ; -/. -case $rule_number: { -} break; -./ - -TryStatement: T_TRY Block Catch Finally ; -/. -case $rule_number: { -} break; -./ - -Catch: T_CATCH T_LPAREN T_IDENTIFIER T_RPAREN Block ; -/. -case $rule_number: { -} break; -./ - -Finally: T_FINALLY Block ; -/. -case $rule_number: { -} break; -./ - -DebuggerStatement: T_DEBUGGER T_SEMICOLON ; -/. -case $rule_number: { -} break; -./ - -FunctionDeclaration: T_FUNCTION T_IDENTIFIER T_LPAREN FormalParameterListOpt T_RPAREN T_LBRACE FunctionBodyOpt T_RBRACE ; -/. -case $rule_number: { -} break; -./ - -FunctionExpression: T_FUNCTION IdentifierOpt T_LPAREN FormalParameterListOpt T_RPAREN T_LBRACE FunctionBodyOpt T_RBRACE ; -/. -case $rule_number: { -} break; -./ - -FormalParameterList: T_IDENTIFIER ; -/. -case $rule_number: { -} break; -./ - -FormalParameterList: FormalParameterList T_COMMA T_IDENTIFIER ; -/. -case $rule_number: { -} break; -./ - -FormalParameterListOpt: ; -/. -case $rule_number: { -} break; -./ - -FormalParameterListOpt: FormalParameterList ; -/. -case $rule_number: { -} break; -./ - -FunctionBodyOpt: ; -/. -case $rule_number: { -} break; -./ - -FunctionBodyOpt: FunctionBody ; - -FunctionBody: SourceElements ; -/. -case $rule_number: { -} break; -./ - -Program: SourceElements ; -/. -case $rule_number: { -} break; -./ - -SourceElements: SourceElement ; -/. -case $rule_number: { -} break; -./ - -SourceElements: SourceElements SourceElement ; -/. -case $rule_number: { -} break; -./ - -SourceElement: Statement ; -/. -case $rule_number: { -} break; -./ - -SourceElement: FunctionDeclaration ; -/. -case $rule_number: { -} break; -./ - -IdentifierOpt: ; -/. -case $rule_number: { -} break; -./ - -IdentifierOpt: T_IDENTIFIER ; - -PropertyNameAndValueListOpt: ; -/. -case $rule_number: { -} break; -./ - -PropertyNameAndValueListOpt: PropertyNameAndValueList ; - -/. - } // switch -} -./ +%parser js_grammar +%decl js_parser.h +%impl js_parser.cpp + +%token T_COLON +%token T_COMMA +%token T_DOT +%token T_EQ +%token T_FUNCTION +%token T_IDENTIFIER +%token T_LBRACE +%token T_LBRACKET +%token T_LPAREN +%token T_NEW +%token T_RBRACE +%token T_RBRACKET +%token T_RPAREN +%token T_SEMICOLON +%token T_STRING_LITERAL +%token T_THIS +%token T_NULL +%token T_VAR +%token T_CONST +%token T_NUMERIC_LITERAL + +%start Program + +/: +#ifndef JS_PARSER_H +#define JS_PARSER_H + +#include "qparser.h" +#include +#include "js_grammar_p.h" + +union UnionValue +{ + int i; + unsigned u; + unsigned long ul; + unsigned long long ull; + long l; + double d; + float f; + const QString *s; +}; + +class JSParser: public QParser +{ +public: + JSParser(); + int nextToken(); + void consumeRule(int ruleno); + const QString *insert(const QString &s); + +protected: + QSet string_repository; + QSet types; + QSet functions; +}; + +#endif // JS_PARSER_H +:/ + + +/. +#include "js_parser.h" + +#include +#include + +JSParser::JSParser() +:string_repository(),types() +{ +} + +const QString *JSParser::insert(const QString &s) +{ + return &*string_repository.insert(s); +} + +void JSParser::consumeRule(int ruleno) + { + switch (ruleno) { +./ + +Program: StatementList; +/. +case $rule_number: { +} break; +./ + +StatementList: ; +StatementList: StatementList Statement; +/. +case $rule_number: { +} break; +./ + +Statement: Block; +/. +case $rule_number: { +} break; +./ + +Statement: VariableDecl; +/. +case $rule_number: { +} break; +./ + +Statement: FunctionDecl; +/. +case $rule_number: { +} break; +./ +Statement: FunctionCallStatement; +/. +case $rule_number: { +} break; +./ + +Block: OpenBlock StatementList CloseBlock; +/. +case $rule_number: { +} break; +./ + +OpenBlock: T_LBRACKET; +/. +case $rule_number: { +} break; +./ + +CloseBlock: T_RBRACKET; +/. +case $rule_number: { +} break; +./ + +VariableDecl: DeclTok IdTok InitOpt OtherDeclOpt T_SEMICOLON; +/. +case $rule_number: { +} break; +./ + +FunctionCallStatement: FunctionCall T_SEMICOLON; +/. +case $rule_number: { +} break; +./ + +OtherDeclOpt: ; +OtherDeclOpt: OtherDeclOpt T_COMMA IdTok InitOpt; +/. +case $rule_number: { +} break; +./ + +DeclTok: T_VAR; +/. +case $rule_number: { +} break; +./ + +DeclTok: T_CONST; +/. +case $rule_number: { +} break; +./ + +InitOpt: ; +/. +case $rule_number: { +} break; +./ + +InitOpt: T_EQ Expression; +/. +case $rule_number: { +} break; +./ + +FunctionDecl: T_FUNCTION IdTok OpenBracket OptParamList CloseBracket OpenBlock StatementList CloseBlock; +/. +case $rule_number: { + functions.insert(symbol(2)); +} break; +./ + +OptParamList: ; +OptParamList: IdTok OtherOptParamList; +/. +case $rule_number: { +} break; +./ + +OtherOptParamList: ; +OtherOptParamList: OtherOptParamList T_COMMA IdTok; +/. +case $rule_number: { +} break; +./ + +Expression: MemberExpr; +/. +case $rule_number: { +} break; +./ + +Expression: ThisExpr; +/. +case $rule_number: { +} break; +./ + +Expression: NewExpr; +/. +case $rule_number: { +} break; +./ + +Expression: FunctionExpr; +/. +case $rule_number: { +} break; +./ + +Expression: FunctionCall; +/. +case $rule_number: { +} break; +./ + +Expression: ObjConstExpr; +/. +case $rule_number: { +} break; +./ + +Expression: ArrayExpr; +/. +case $rule_number: { +} break; +./ + +Expression: T_NULL; +/. +case $rule_number: { +} break; +./ + +Expression: T_STRING_LITERAL; +/. +case $rule_number: { +} break; +./ + +Expression: T_NUMERIC_LITERAL; +/. +case $rule_number: { +} break; +./ + +OptIdTok: ; +OptIdTok: IdTok; +/. +case $rule_number: { +} break; +./ + +MemberExpr: IdTok; +/. +case $rule_number: { +} break; +./ + +MemberExpr: IdTok T_DOT MemberExpr; +/. +case $rule_number: { +} break; +./ + +ThisExpr: ThisTok T_DOT MemberExpr; +/. +case $rule_number: { +} break; +./ + +ThisTok: T_THIS; +/. +case $rule_number: { +} break; +./ + +IdTok: T_IDENTIFIER; +/. +case $rule_number: { +} break; +./ + +NewTok: T_NEW; +/. +case $rule_number: { +} break; +./ + +NewExpr: NewTok IdTok OpenBracket OptArgumentList CloseBracket; +/. +case $rule_number: { +} break; +./ + +FunctionExpr: T_FUNCTION OptIdTok OpenBracket OptParamList CloseBracket OpenBlock StatementList CloseBlock; +/. +case $rule_number: { +} break; +./ + +FunctionCall: MemberExpr OpenBracket OptExpressionList CloseBracket; +/. +case $rule_number: { +} break; +./ + +FunctionCall: ThisExpr OpenBracket OptExpressionList CloseBracket; +/. +case $rule_number: { +} break; +./ + +OptExpressionList: ; +OptExpressionList: Expression OtherOptExpressionList; +/. +case $rule_number: { +} break; +./ + +OtherOptExpressionList: ; +/. +case $rule_number: { +} break; +./ + +OtherOptExpressionList: OtherOptExpressionList T_COMMA Expression; +/. +case $rule_number: { +} break; +./ + +OptArgumentList: ; +OptArgumentList: IdTok OtherOptArgumentList; +/. +case $rule_number: { +} break; +./ + +OtherOptArgumentList: ; +OtherOptArgumentList: OtherOptArgumentList T_COMMA IdTok; +/. +case $rule_number: { +} break; +./ + + +ObjConstExpr: OpenBlock IdTok T_COLON Expression OtherOptFields CloseBlock; +/. +case $rule_number: { +} break; +./ + +OtherOptFields: ; +OtherOptFields: OtherOptFields T_COMMA IdTok T_COLON Expression; +/. +case $rule_number: { +} break; +./ + +ArrayExpr: OpenArrBracket Expression OtherOptExpressionList CloseArrBracket; +/. +case $rule_number: { +} break; +./ + +OpenBracket: T_LPAREN; +/. +case $rule_number: { +} break; +./ + +CloseBracket: T_RPAREN; +/. +case $rule_number: { +} break; +./ + +OpenArrBracket: T_LBRACE; +/. +case $rule_number: { +} break; +./ + +CloseArrBracket: T_RBRACE; +/. +case $rule_number: { +} break; +./ + +/. + } // switch +} +./ \ No newline at end of file diff --git a/src/common/script_system/parser/js_parser.h b/src/common/script_system/parser/js_parser.h index 4ca6bcd9d..fa99a560a 100644 --- a/src/common/script_system/parser/js_parser.h +++ b/src/common/script_system/parser/js_parser.h @@ -1,45 +1,37 @@ -#line 90 "js_parser.g" - -#ifndef JS_PARSER_H -#define JS_PARSER_H - -#include "qparser.h" -#include -#include "js_grammar_p.h" - -union UnionValue -{ - int i; - unsigned u; - unsigned long ul; - unsigned long long ull; - long l; - double d; - float f; - const QString *s; -}; - -class JSParser: public QParser -{ -public: - JSParser(); - int nextToken(); - void consumeRule(int ruleno); - const QString *insert(const QString &s); - -protected: - QSet string_repository; - QSet types; - -}; - -#endif // JS_PARSER_H - -#line 192 "js_parser.g" - -#define Q_SCRIPT_REGEXPLITERAL_RULE1 7 - -#line 201 "js_parser.g" - -#define Q_SCRIPT_REGEXPLITERAL_RULE2 8 +#line 28 "js_parser.g" + +#ifndef JS_PARSER_H +#define JS_PARSER_H + +#include "qparser.h" +#include +#include "js_grammar_p.h" + +union UnionValue +{ + int i; + unsigned u; + unsigned long ul; + unsigned long long ull; + long l; + double d; + float f; + const QString *s; +}; + +class JSParser: public QParser +{ +public: + JSParser(); + int nextToken(); + void consumeRule(int ruleno); + const QString *insert(const QString &s); + +protected: + QSet string_repository; + QSet types; + QSet functions; +}; + +#endif // JS_PARSER_H diff --git a/src/common/script_system/parser/qparser.h b/src/common/script_system/parser/qparser.h index 6ff2bee18..62c9fe4f1 100644 --- a/src/common/script_system/parser/qparser.h +++ b/src/common/script_system/parser/qparser.h @@ -98,7 +98,7 @@ bool QParser<_Parser, _Table, _Value>::parse() else if (act < 0) { int r = - act - 1; - qDebug() << "reducing using rule: " << spell[rule_info[rule_index[r]]] << "\n"; + //qDebug() << "reducing using rule: " << spell[rule_info[rule_index[r]]] << "\n"; d->tos -= _Table::rhs[r]; act = d->stateStack[d->tos++]; consumeRule(r);