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