From a10b9fba81a43a4670e7cef46bfae4cdbb2f35be Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Wed, 1 Apr 2009 16:39:34 +0200 Subject: [PATCH] Regenerated the parser. --- src/plugins/qtscripteditor/parser/gen.sh | 2 +- .../parser/javascriptgrammar.cpp | 359 ++------------- .../parser/javascriptgrammar_p.h | 58 ++- .../parser/javascriptparser.cpp | 414 ------------------ .../parser/javascriptparser_p.h | 8 - 5 files changed, 95 insertions(+), 746 deletions(-) diff --git a/src/plugins/qtscripteditor/parser/gen.sh b/src/plugins/qtscripteditor/parser/gen.sh index 9376269e301..cc4054e06ad 100644 --- a/src/plugins/qtscripteditor/parser/gen.sh +++ b/src/plugins/qtscripteditor/parser/gen.sh @@ -30,7 +30,7 @@ sed -f $me/cmd.sed $QTDIR/src/script/qscriptlexer.cpp > javascriptlexer.cpp sed -f $me/cmd.sed $QTDIR/src/script/qscriptmemorypool_p.h > javascriptmemorypool_p.h sed -f $me/cmd.sed $QTDIR/src/script/qscriptnodepool_p.h > javascriptnodepool_p.h -qlalr $me/javascript.g +qlalr --troll --no-lines --no-debug $me/javascript.g chmod ugo-w javascript.g chmod ugo-w javascriptast.cpp diff --git a/src/plugins/qtscripteditor/parser/javascriptgrammar.cpp b/src/plugins/qtscripteditor/parser/javascriptgrammar.cpp index a86c20d2713..d5b7765ebc5 100644 --- a/src/plugins/qtscripteditor/parser/javascriptgrammar.cpp +++ b/src/plugins/qtscripteditor/parser/javascriptgrammar.cpp @@ -1,4 +1,45 @@ // This file was generated by qlalr - DO NOT EDIT! +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtCore module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + #include "javascriptgrammar_p.h" const char *const JavaScriptGrammar::spell [] = { @@ -10,20 +51,7 @@ const char *const JavaScriptGrammar::spell [] = { "||", "+", "+=", "++", "?", "}", "]", "%", "%=", "return", ")", ";", 0, "*", "*=", "string literal", "switch", "this", "throw", "~", "try", "typeof", "var", "void", "while", "with", "^", "^=", "null", "true", - "false", "const", "debugger", "reserved word", -#ifndef QLALR_NO_JAVASCRIPTGRAMMAR_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" -#endif // QLALR_NO_JAVASCRIPTGRAMMAR_DEBUG_INFO -}; + "false", "const", "debugger", "reserved word"}; const int JavaScriptGrammar::lhs [] = { 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, @@ -83,309 +111,6 @@ const int JavaScriptGrammar:: rhs[] = { 8, 8, 1, 3, 0, 1, 0, 1, 1, 1, 1, 2, 1, 1, 0, 1, 0, 1, 2}; - -#ifndef QLALR_NO_JAVASCRIPTGRAMMAR_DEBUG_INFO -const int JavaScriptGrammar::rule_info [] = { - 85, 67 - , 85, 29 - , 85, 78 - , 85, 79 - , 85, 80 - , 85, 47 - , 85, 65 - , 85, 12 - , 85, 13 - , 85, 34, 86, 56 - , 85, 34, 87, 56 - , 85, 34, 87, 8, 86, 56 - , 85, 33, 88, 55 - , 85, 33, 89, 8, 55 - , 85, 36, 90, 60 - , 87, 86, 91 - , 87, 87, 8, 86, 91 - , 92, 8 - , 92, 92, 8 - , 86 - , 86, 92 - , 89, 93, 7, 91 - , 89, 89, 8, 93, 7, 91 - , 93, 29 - , 93, 65 - , 93, 47 - , 93, 94 - , 94, 4 - , 94, 5 - , 94, 6 - , 94, 9 - , 94, 10 - , 94, 11 - , 94, 14 - , 94, 16 - , 94, 80 - , 94, 20 - , 94, 21 - , 94, 22 - , 94, 30 - , 94, 31 - , 94, 32 - , 94, 43 - , 94, 78 - , 94, 59 - , 94, 66 - , 94, 67 - , 94, 68 - , 94, 79 - , 94, 70 - , 94, 71 - , 94, 72 - , 94, 73 - , 94, 74 - , 94, 81 - , 94, 82 - , 94, 83 - , 94, 75 - , 95, 29 - , 95, 94 - , 96, 85 - , 96, 97 - , 96, 96, 34, 90, 56 - , 96, 96, 15, 95 - , 96, 43, 96, 98 - , 99, 96 - , 99, 43, 99 - , 100, 96, 98 - , 100, 100, 98 - , 100, 100, 34, 90, 56 - , 100, 100, 15, 95 - , 98, 36, 60 - , 98, 36, 101, 60 - , 101, 91 - , 101, 101, 8, 91 - , 102, 99 - , 102, 100 - , 103, 102 - , 103, 102, 53 - , 103, 102, 42 - , 104, 103 - , 104, 11, 104 - , 104, 73, 104 - , 104, 71, 104 - , 104, 53, 104 - , 104, 42, 104 - , 104, 51, 104 - , 104, 40, 104 - , 104, 69, 104 - , 104, 44, 104 - , 105, 104 - , 105, 105, 63, 104 - , 105, 105, 12, 104 - , 105, 105, 57, 104 - , 106, 105 - , 106, 106, 51, 105 - , 106, 106, 40, 105 - , 107, 106 - , 107, 107, 38, 106 - , 107, 107, 25, 106 - , 107, 107, 27, 106 - , 108, 107 - , 108, 108, 37, 107 - , 108, 108, 24, 107 - , 108, 108, 35, 107 - , 108, 108, 23, 107 - , 108, 108, 32, 107 - , 108, 108, 31, 107 - , 109, 107 - , 109, 109, 37, 107 - , 109, 109, 24, 107 - , 109, 109, 35, 107 - , 109, 109, 23, 107 - , 109, 109, 32, 107 - , 110, 108 - , 110, 110, 18, 108 - , 110, 110, 45, 108 - , 110, 110, 19, 108 - , 110, 110, 46, 108 - , 111, 109 - , 111, 111, 18, 109 - , 111, 111, 45, 109 - , 111, 111, 19, 109 - , 111, 111, 46, 109 - , 112, 110 - , 112, 112, 1, 110 - , 113, 111 - , 113, 113, 1, 111 - , 114, 112 - , 114, 114, 76, 112 - , 115, 113 - , 115, 115, 76, 113 - , 116, 114 - , 116, 116, 48, 114 - , 117, 115 - , 117, 117, 48, 115 - , 118, 116 - , 118, 118, 2, 116 - , 119, 117 - , 119, 119, 2, 117 - , 120, 118 - , 120, 120, 50, 118 - , 121, 119 - , 121, 121, 50, 119 - , 122, 120 - , 122, 120, 54, 91, 7, 91 - , 123, 121 - , 123, 121, 54, 124, 7, 124 - , 91, 122 - , 91, 102, 125, 91 - , 124, 123 - , 124, 102, 125, 124 - , 125, 17 - , 125, 64 - , 125, 13 - , 125, 58 - , 125, 52 - , 125, 41 - , 125, 39 - , 125, 26 - , 125, 28 - , 125, 3 - , 125, 77 - , 125, 49 - , 90, 91 - , 90, 90, 8, 91 - , 126 - , 126, 90 - , 127, 124 - , 127, 127, 8, 124 - , 128 - , 128, 127 - , 129, 130 - , 129, 131 - , 129, 132 - , 129, 133 - , 129, 134 - , 129, 135 - , 129, 136 - , 129, 137 - , 129, 138 - , 129, 139 - , 129, 140 - , 129, 141 - , 129, 142 - , 129, 143 - , 129, 144 - , 130, 33, 145, 55 - , 146, 129 - , 146, 146, 129 - , 145 - , 145, 146 - , 131, 147, 148, 62 - , 131, 147, 148, 61 - , 147, 81 - , 147, 72 - , 148, 149 - , 148, 148, 8, 149 - , 150, 151 - , 150, 150, 8, 151 - , 149, 29, 152 - , 151, 29, 153 - , 154, 17, 91 - , 152 - , 152, 154 - , 155, 17, 124 - , 153 - , 153, 155 - , 132, 61 - , 133, 90, 62 - , 133, 90, 61 - , 134, 30, 36, 90, 60, 129, 16, 129 - , 134, 30, 36, 90, 60, 129 - , 135, 14, 129, 74, 36, 90, 60, 62 - , 135, 14, 129, 74, 36, 90, 60, 61 - , 135, 74, 36, 90, 60, 129 - , 135, 21, 36, 128, 61, 126, 61, 126, 60, 129 - , 135, 21, 36, 72, 150, 61, 126, 61, 126, 60, 129 - , 135, 21, 36, 102, 31, 90, 60, 129 - , 135, 21, 36, 72, 151, 31, 90, 60, 129 - , 136, 9, 62 - , 136, 9, 61 - , 136, 9, 29, 62 - , 136, 9, 29, 61 - , 137, 4, 62 - , 137, 4, 61 - , 137, 4, 29, 62 - , 137, 4, 29, 61 - , 138, 59, 126, 62 - , 138, 59, 126, 61 - , 139, 75, 36, 90, 60, 129 - , 141, 66, 36, 90, 60, 156 - , 156, 33, 157, 55 - , 156, 33, 157, 158, 157, 55 - , 159, 160 - , 159, 159, 160 - , 157 - , 157, 159 - , 160, 5, 90, 7, 145 - , 158, 10, 7, 145 - , 140, 29, 7, 129 - , 142, 68, 90, 62 - , 142, 68, 90, 61 - , 143, 70, 130, 161 - , 143, 70, 130, 162 - , 143, 70, 130, 161, 162 - , 161, 6, 36, 29, 60, 130 - , 162, 20, 130 - , 144, 82, 62 - , 144, 82, 61 - , 163, 22, 29, 36, 164, 60, 33, 165, 55 - , 97, 22, 166, 36, 164, 60, 33, 165, 55 - , 167, 29 - , 167, 167, 8, 29 - , 164 - , 164, 167 - , 165 - , 165, 168 - , 168, 169 - , 84, 169 - , 169, 170 - , 169, 169, 170 - , 170, 129 - , 170, 163 - , 166 - , 166, 29 - , 88 - , 88, 89 - , 171, 84, 0}; - -const int JavaScriptGrammar::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, 538, 540, 542, 544, 548, 550, - 554, 557, 560, 563, 564, 566, 569, 570, 572, 574, - 577, 580, 588, 594, 602, 610, 616, 626, 637, 645, - 654, 657, 660, 664, 668, 671, 674, 678, 682, 686, - 690, 696, 702, 706, 712, 714, 717, 718, 720, 725, - 729, 733, 737, 741, 745, 749, 754, 760, 763, 766, - 769, 778, 787, 789, 793, 794, 796, 797, 799, 801, - 803, 805, 808, 810, 812, 813, 815, 816, 818}; -#endif // QLALR_NO_JAVASCRIPTGRAMMAR_DEBUG_INFO - const int JavaScriptGrammar::action_default [] = { 0, 98, 165, 129, 137, 133, 173, 180, 77, 149, 179, 187, 175, 125, 0, 176, 264, 62, 177, 178, diff --git a/src/plugins/qtscripteditor/parser/javascriptgrammar_p.h b/src/plugins/qtscripteditor/parser/javascriptgrammar_p.h index 2d9e2f92d7d..3b51d8e4242 100644 --- a/src/plugins/qtscripteditor/parser/javascriptgrammar_p.h +++ b/src/plugins/qtscripteditor/parser/javascriptgrammar_p.h @@ -1,4 +1,56 @@ // This file was generated by qlalr - DO NOT EDIT! +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the QtCore module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of other Qt classes. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #ifndef JAVASCRIPTGRAMMAR_P_H #define JAVASCRIPTGRAMMAR_P_H @@ -105,12 +157,6 @@ public: static const char *const spell []; static const int lhs []; static const int rhs []; - -#ifndef QLALR_NO_JAVASCRIPTGRAMMAR_DEBUG_INFO - static const int rule_index []; - static const int rule_info []; -#endif // QLALR_NO_JAVASCRIPTGRAMMAR_DEBUG_INFO - static const int goto_default []; static const int action_default []; static const int action_index []; diff --git a/src/plugins/qtscripteditor/parser/javascriptparser.cpp b/src/plugins/qtscripteditor/parser/javascriptparser.cpp index b23fc7264a9..b1d1508b604 100644 --- a/src/plugins/qtscripteditor/parser/javascriptparser.cpp +++ b/src/plugins/qtscripteditor/parser/javascriptparser.cpp @@ -1,7 +1,5 @@ // This file was generated by qlalr - DO NOT EDIT! -#line 84 "./javascript.g" - /**************************************************************************** ** ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -67,8 +65,6 @@ } while (0) -#line 356 "./javascript.g" - #include "javascriptparser_p.h" @@ -164,57 +160,41 @@ bool JavaScriptParser::parse(JavaScriptEnginePrivate *driver) switch (r) { -#line 454 "./javascript.g" - case 0: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ThisExpression> (driver->nodePool()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 462 "./javascript.g" - case 1: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::IdentifierExpression> (driver->nodePool(), sym(1).sval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 470 "./javascript.g" - case 2: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::NullExpression> (driver->nodePool()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 478 "./javascript.g" - case 3: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::TrueLiteral> (driver->nodePool()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 486 "./javascript.g" - case 4: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::FalseLiteral> (driver->nodePool()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 494 "./javascript.g" - case 5: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::NumericLiteral> (driver->nodePool(), sym(1).dval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 502 "./javascript.g" - case 6: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::StringLiteral> (driver->nodePool(), sym(1).sval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 513 "./javascript.g" - case 7: { bool rx = lexer->scanRegExp(JavaScript::Lexer::NoPrefix); if (!rx) { @@ -226,8 +206,6 @@ case 7: { J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 530 "./javascript.g" - case 8: { bool rx = lexer->scanRegExp(JavaScript::Lexer::EqualPrefix); if (!rx) { @@ -239,29 +217,21 @@ case 8: { J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 544 "./javascript.g" - case 9: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ArrayLiteral> (driver->nodePool(), sym(2).Elision); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 552 "./javascript.g" - case 10: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ArrayLiteral> (driver->nodePool(), sym(2).ElementList->finish ()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 560 "./javascript.g" - case 11: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ArrayLiteral> (driver->nodePool(), sym(2).ElementList->finish (), sym(4).Elision); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5)); } break; -#line 576 "./javascript.g" - case 12: { if (sym(2).Node) sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ObjectLiteral> (driver->nodePool(), sym(2).PropertyNameAndValueList->finish ()); @@ -270,1229 +240,845 @@ case 12: { J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 587 "./javascript.g" - case 13: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ObjectLiteral> (driver->nodePool(), sym(2).PropertyNameAndValueList->finish ()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4)); } break; -#line 595 "./javascript.g" - case 14: { sym(1) = sym(2); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 603 "./javascript.g" - case 15: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ElementList> (driver->nodePool(), sym(1).Elision, sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 611 "./javascript.g" - case 16: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ElementList> (driver->nodePool(), sym(1).ElementList, sym(3).Elision, sym(4).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4)); } break; -#line 619 "./javascript.g" - case 17: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::Elision> (driver->nodePool()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 627 "./javascript.g" - case 18: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::Elision> (driver->nodePool(), sym(1).Elision); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 635 "./javascript.g" - case 19: { sym(1).Node = 0; } break; -#line 642 "./javascript.g" - case 20: { sym(1).Elision = sym(1).Elision->finish (); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 650 "./javascript.g" - case 21: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::PropertyNameAndValueList> (driver->nodePool(), sym(1).PropertyName, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 658 "./javascript.g" - case 22: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::PropertyNameAndValueList> (driver->nodePool(), sym(1).PropertyNameAndValueList, sym(3).PropertyName, sym(5).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5)); } break; -#line 666 "./javascript.g" - case 23: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::IdentifierPropertyName> (driver->nodePool(), sym(1).sval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 674 "./javascript.g" - case 24: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::StringLiteralPropertyName> (driver->nodePool(), sym(1).sval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 682 "./javascript.g" - case 25: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::NumericLiteralPropertyName> (driver->nodePool(), sym(1).dval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 690 "./javascript.g" - case 26: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::IdentifierPropertyName> (driver->nodePool(), sym(1).sval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 698 "./javascript.g" - case 27: -#line 702 "./javascript.g" - case 28: -#line 706 "./javascript.g" - case 29: -#line 710 "./javascript.g" - case 30: -#line 714 "./javascript.g" - case 31: -#line 718 "./javascript.g" - case 32: -#line 722 "./javascript.g" - case 33: -#line 726 "./javascript.g" - case 34: -#line 730 "./javascript.g" - case 35: -#line 734 "./javascript.g" - case 36: -#line 738 "./javascript.g" - case 37: -#line 742 "./javascript.g" - case 38: -#line 746 "./javascript.g" - case 39: -#line 750 "./javascript.g" - case 40: -#line 754 "./javascript.g" - case 41: -#line 758 "./javascript.g" - case 42: -#line 762 "./javascript.g" - case 43: -#line 766 "./javascript.g" - case 44: -#line 770 "./javascript.g" - case 45: -#line 774 "./javascript.g" - case 46: -#line 778 "./javascript.g" - case 47: -#line 782 "./javascript.g" - case 48: -#line 786 "./javascript.g" - case 49: -#line 790 "./javascript.g" - case 50: -#line 794 "./javascript.g" - case 51: -#line 798 "./javascript.g" - case 52: -#line 802 "./javascript.g" - case 53: -#line 806 "./javascript.g" - case 54: -#line 810 "./javascript.g" - case 55: -#line 814 "./javascript.g" - case 56: -#line 818 "./javascript.g" - case 57: { sym(1).sval = driver->intern(lexer->characterBuffer(), lexer->characterCount()); } break; -#line 832 "./javascript.g" - case 62: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ArrayMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4)); } break; -#line 840 "./javascript.g" - case 63: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::FieldMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).sval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4)); } break; -#line 848 "./javascript.g" - case 64: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::NewMemberExpression> (driver->nodePool(), sym(2).Expression, sym(3).ArgumentList); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 858 "./javascript.g" - case 66: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::NewExpression> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 866 "./javascript.g" - case 67: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::CallExpression> (driver->nodePool(), sym(1).Expression, sym(2).ArgumentList); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 874 "./javascript.g" - case 68: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::CallExpression> (driver->nodePool(), sym(1).Expression, sym(2).ArgumentList); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 882 "./javascript.g" - case 69: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ArrayMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4)); } break; -#line 890 "./javascript.g" - case 70: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::FieldMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).sval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 898 "./javascript.g" - case 71: { sym(1).Node = 0; } break; -#line 905 "./javascript.g" - case 72: { sym(1).Node = sym(2).ArgumentList->finish (); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 913 "./javascript.g" - case 73: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ArgumentList> (driver->nodePool(), sym(1).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 921 "./javascript.g" - case 74: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ArgumentList> (driver->nodePool(), sym(1).ArgumentList, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 933 "./javascript.g" - case 78: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::PostIncrementExpression> (driver->nodePool(), sym(1).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 941 "./javascript.g" - case 79: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::PostDecrementExpression> (driver->nodePool(), sym(1).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 951 "./javascript.g" - case 81: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::DeleteExpression> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 959 "./javascript.g" - case 82: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::VoidExpression> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 967 "./javascript.g" - case 83: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::TypeOfExpression> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 975 "./javascript.g" - case 84: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::PreIncrementExpression> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 983 "./javascript.g" - case 85: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::PreDecrementExpression> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 991 "./javascript.g" - case 86: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::UnaryPlusExpression> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 999 "./javascript.g" - case 87: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::UnaryMinusExpression> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1007 "./javascript.g" - case 88: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::TildeExpression> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1015 "./javascript.g" - case 89: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::NotExpression> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1025 "./javascript.g" - case 91: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Mul, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1033 "./javascript.g" - case 92: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Div, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1041 "./javascript.g" - case 93: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Mod, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1051 "./javascript.g" - case 95: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Add, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1059 "./javascript.g" - case 96: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Sub, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1069 "./javascript.g" - case 98: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::LShift, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1077 "./javascript.g" - case 99: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::RShift, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1085 "./javascript.g" - case 100: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::URShift, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1095 "./javascript.g" - case 102: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1103 "./javascript.g" - case 103: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1111 "./javascript.g" - case 104: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1119 "./javascript.g" - case 105: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1127 "./javascript.g" - case 106: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1135 "./javascript.g" - case 107: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::In, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1145 "./javascript.g" - case 109: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1153 "./javascript.g" - case 110: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1161 "./javascript.g" - case 111: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1169 "./javascript.g" - case 112: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1177 "./javascript.g" - case 113: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1187 "./javascript.g" - case 115: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Equal, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1195 "./javascript.g" - case 116: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::NotEqual, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1203 "./javascript.g" - case 117: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1211 "./javascript.g" - case 118: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::StrictNotEqual, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1221 "./javascript.g" - case 120: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Equal, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1229 "./javascript.g" - case 121: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::NotEqual, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1237 "./javascript.g" - case 122: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1245 "./javascript.g" - case 123: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::StrictNotEqual, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1255 "./javascript.g" - case 125: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitAnd, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1265 "./javascript.g" - case 127: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitAnd, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1275 "./javascript.g" - case 129: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitXor, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1285 "./javascript.g" - case 131: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitXor, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1295 "./javascript.g" - case 133: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitOr, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1305 "./javascript.g" - case 135: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitOr, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1315 "./javascript.g" - case 137: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::And, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1325 "./javascript.g" - case 139: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::And, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1335 "./javascript.g" - case 141: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Or, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1345 "./javascript.g" - case 143: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Or, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1355 "./javascript.g" - case 145: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ConditionalExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression, sym(5).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1365 "./javascript.g" - case 147: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ConditionalExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression, sym(5).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1375 "./javascript.g" - case 149: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, sym(2).ival, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1385 "./javascript.g" - case 151: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, sym(2).ival, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1393 "./javascript.g" - case 152: { sym(1).ival = QSOperator::Assign; } break; -#line 1400 "./javascript.g" - case 153: { sym(1).ival = QSOperator::InplaceMul; } break; -#line 1407 "./javascript.g" - case 154: { sym(1).ival = QSOperator::InplaceDiv; } break; -#line 1414 "./javascript.g" - case 155: { sym(1).ival = QSOperator::InplaceMod; } break; -#line 1421 "./javascript.g" - case 156: { sym(1).ival = QSOperator::InplaceAdd; } break; -#line 1428 "./javascript.g" - case 157: { sym(1).ival = QSOperator::InplaceSub; } break; -#line 1435 "./javascript.g" - case 158: { sym(1).ival = QSOperator::InplaceLeftShift; } break; -#line 1442 "./javascript.g" - case 159: { sym(1).ival = QSOperator::InplaceRightShift; } break; -#line 1449 "./javascript.g" - case 160: { sym(1).ival = QSOperator::InplaceURightShift; } break; -#line 1456 "./javascript.g" - case 161: { sym(1).ival = QSOperator::InplaceAnd; } break; -#line 1463 "./javascript.g" - case 162: { sym(1).ival = QSOperator::InplaceXor; } break; -#line 1470 "./javascript.g" - case 163: { sym(1).ival = QSOperator::InplaceOr; } break; -#line 1479 "./javascript.g" - case 165: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::Expression> (driver->nodePool(), sym(1).Expression, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1487 "./javascript.g" - case 166: { sym(1).Node = 0; } break; -#line 1498 "./javascript.g" - case 169: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::Expression> (driver->nodePool(), sym(1).Expression, sym(3).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1506 "./javascript.g" - case 170: { sym(1).Node = 0; } break; -#line 1532 "./javascript.g" - case 187: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::Block> (driver->nodePool(), sym(2).StatementList); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1540 "./javascript.g" - case 188: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::StatementList> (driver->nodePool(), sym(1).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 1548 "./javascript.g" - case 189: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::StatementList> (driver->nodePool(), sym(1).StatementList, sym(2).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1556 "./javascript.g" - case 190: { sym(1).Node = 0; } break; -#line 1563 "./javascript.g" - case 191: { sym(1).Node = sym(1).StatementList->finish (); } break; -#line 1571 "./javascript.g" - case 193: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::VariableStatement> (driver->nodePool(), sym(2).VariableDeclarationList->finish (/*readOnly=*/sym(1).ival == T_CONST)); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1579 "./javascript.g" - case 194: { sym(1).ival = T_CONST; } break; -#line 1586 "./javascript.g" - case 195: { sym(1).ival = T_VAR; } break; -#line 1593 "./javascript.g" - case 196: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclaration); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 1601 "./javascript.g" - case 197: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1609 "./javascript.g" - case 198: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclaration); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 1617 "./javascript.g" - case 199: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1625 "./javascript.g" - case 200: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::VariableDeclaration> (driver->nodePool(), sym(1).sval, sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1633 "./javascript.g" - case 201: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::VariableDeclaration> (driver->nodePool(), sym(1).sval, sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1641 "./javascript.g" - case 202: { sym(1) = sym(2); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1649 "./javascript.g" - case 203: { sym(1).Node = 0; } break; -#line 1658 "./javascript.g" - case 205: { sym(1) = sym(2); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1666 "./javascript.g" - case 206: { sym(1).Node = 0; } break; -#line 1675 "./javascript.g" - case 208: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::EmptyStatement> (driver->nodePool()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 1684 "./javascript.g" - case 210: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ExpressionStatement> (driver->nodePool(), sym(1).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1692 "./javascript.g" - case 211: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::IfStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement, sym(7).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(7)); } break; -#line 1700 "./javascript.g" - case 212: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::IfStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5)); } break; -#line 1710 "./javascript.g" - case 214: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::DoWhileStatement> (driver->nodePool(), sym(2).Statement, sym(5).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(7)); } break; -#line 1718 "./javascript.g" - case 215: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::WhileStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5)); } break; -#line 1726 "./javascript.g" - case 216: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ForStatement> (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Expression, sym(9).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(9)); } break; -#line 1734 "./javascript.g" - case 217: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::LocalForStatement> (driver->nodePool(), sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression, sym(8).Expression, sym(10).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(10)); } break; -#line 1742 "./javascript.g" - case 218: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ForEachStatement> (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(7)); } break; -#line 1750 "./javascript.g" - case 219: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::LocalForEachStatement> (driver->nodePool(), sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(8)); } break; -#line 1759 "./javascript.g" - case 221: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ContinueStatement> (driver->nodePool()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1768 "./javascript.g" - case 223: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ContinueStatement> (driver->nodePool(), sym(2).sval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1777 "./javascript.g" - case 225: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BreakStatement> (driver->nodePool()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1786 "./javascript.g" - case 227: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::BreakStatement> (driver->nodePool(), sym(2).sval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1795 "./javascript.g" - case 229: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ReturnStatement> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1803 "./javascript.g" - case 230: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::WithStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5)); } break; -#line 1811 "./javascript.g" - case 231: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::SwitchStatement> (driver->nodePool(), sym(3).Expression, sym(5).CaseBlock); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5)); } break; -#line 1819 "./javascript.g" - case 232: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::CaseBlock> (driver->nodePool(), sym(2).CaseClauses); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1827 "./javascript.g" - case 233: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::CaseBlock> (driver->nodePool(), sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5)); } break; -#line 1835 "./javascript.g" - case 234: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::CaseClauses> (driver->nodePool(), sym(1).CaseClause); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 1843 "./javascript.g" - case 235: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::CaseClauses> (driver->nodePool(), sym(1).CaseClauses, sym(2).CaseClause); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1851 "./javascript.g" - case 236: { sym(1).Node = 0; } break; -#line 1858 "./javascript.g" - case 237: { sym(1).Node = sym(1).CaseClauses->finish (); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 1866 "./javascript.g" - case 238: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::CaseClause> (driver->nodePool(), sym(2).Expression, sym(4).StatementList); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4)); } break; -#line 1874 "./javascript.g" - case 239: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::DefaultClause> (driver->nodePool(), sym(3).StatementList); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1882 "./javascript.g" - case 240: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::LabelledStatement> (driver->nodePool(), sym(1).sval, sym(3).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1891 "./javascript.g" - case 242: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::ThrowStatement> (driver->nodePool(), sym(2).Expression); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1899 "./javascript.g" - case 243: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Catch); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1907 "./javascript.g" - case 244: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Finally); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1915 "./javascript.g" - case 245: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Catch, sym(4).Finally); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4)); } break; -#line 1923 "./javascript.g" - case 246: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::Catch> (driver->nodePool(), sym(3).sval, sym(5).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5)); } break; -#line 1931 "./javascript.g" - case 247: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::Finally> (driver->nodePool(), sym(2).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 1940 "./javascript.g" - case 249: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::DebuggerStatement> (driver->nodePool()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 1948 "./javascript.g" - case 250: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::FunctionDeclaration> (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(8)); } break; -#line 1956 "./javascript.g" - case 251: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::FunctionExpression> (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(8)); } break; -#line 1964 "./javascript.g" - case 252: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::FormalParameterList> (driver->nodePool(), sym(1).sval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 1972 "./javascript.g" - case 253: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::FormalParameterList> (driver->nodePool(), sym(1).FormalParameterList, sym(3).sval); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3)); } break; -#line 1980 "./javascript.g" - case 254: { sym(1).Node = 0; } break; -#line 1987 "./javascript.g" - case 255: { sym(1).Node = sym(1).FormalParameterList->finish (); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 1995 "./javascript.g" - case 256: { sym(1).Node = 0; } break; -#line 2004 "./javascript.g" - case 258: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::FunctionBody> (driver->nodePool(), sym(1).SourceElements->finish ()); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 2012 "./javascript.g" - case 259: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::Program> (driver->nodePool(), sym(1).SourceElements->finish ()); driver->changeAbstractSyntaxTree(sym(1).Node); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 2021 "./javascript.g" - case 260: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::SourceElements> (driver->nodePool(), sym(1).SourceElement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 2029 "./javascript.g" - case 261: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::SourceElements> (driver->nodePool(), sym(1).SourceElements, sym(2).SourceElement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2)); } break; -#line 2037 "./javascript.g" - case 262: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::StatementSourceElement> (driver->nodePool(), sym(1).Statement); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 2045 "./javascript.g" - case 263: { sym(1).Node = JavaScript::makeAstNode<JavaScript::AST::FunctionSourceElement> (driver->nodePool(), sym(1).FunctionDeclaration); J_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1)); } break; -#line 2053 "./javascript.g" - case 264: { sym(1).sval = 0; } break; -#line 2062 "./javascript.g" - case 266: { sym(1).Node = 0; } break; -#line 2070 "./javascript.g" - } // switch action = nt_action(state_stack[tos], lhs[r] - TERMINAL_COUNT); } // if diff --git a/src/plugins/qtscripteditor/parser/javascriptparser_p.h b/src/plugins/qtscripteditor/parser/javascriptparser_p.h index e3c44746b94..17a1f250adc 100644 --- a/src/plugins/qtscripteditor/parser/javascriptparser_p.h +++ b/src/plugins/qtscripteditor/parser/javascriptparser_p.h @@ -1,7 +1,5 @@ // This file was generated by qlalr - DO NOT EDIT! -#line 151 "./javascript.g" - /**************************************************************************** ** ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -204,16 +202,10 @@ inline void JavaScriptParser::reallocateStack() } -#line 510 "./javascript.g" - #define J_SCRIPT_REGEXPLITERAL_RULE1 7 -#line 527 "./javascript.g" - #define J_SCRIPT_REGEXPLITERAL_RULE2 8 -#line 2190 "./javascript.g" - QT_END_NAMESPACE -- GitLab