summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-04-20 10:04:31 (GMT)
committerRoberto Raggi <roberto.raggi@nokia.com>2009-04-24 07:52:35 (GMT)
commit3b60326ce12dcbac1dfeba3c6ba73fa04c15d16e (patch)
tree32c99cf188a4c4ef7f86f533532a27a7fc65261d
parent89684b4e52d7fd0485ef12a4554f88439037e6bb (diff)
downloadQt-3b60326ce12dcbac1dfeba3c6ba73fa04c15d16e.zip
Qt-3b60326ce12dcbac1dfeba3c6ba73fa04c15d16e.tar.gz
Qt-3b60326ce12dcbac1dfeba3c6ba73fa04c15d16e.tar.bz2
Introduced `import' statements.
-rw-r--r--src/declarative/qml/parser/javascript.g56
-rw-r--r--src/declarative/qml/parser/javascriptast.cpp17
-rw-r--r--src/declarative/qml/parser/javascriptast_p.h46
-rw-r--r--src/declarative/qml/parser/javascriptastfwd_p.h2
-rw-r--r--src/declarative/qml/parser/javascriptastvisitor_p.h4
-rw-r--r--src/declarative/qml/parser/javascriptgrammar.cpp1107
-rw-r--r--src/declarative/qml/parser/javascriptgrammar_p.h19
-rw-r--r--src/declarative/qml/parser/javascriptlexer.cpp4
-rw-r--r--src/declarative/qml/parser/javascriptparser.cpp417
-rw-r--r--src/declarative/qml/parser/javascriptparser_p.h6
10 files changed, 909 insertions, 769 deletions
diff --git a/src/declarative/qml/parser/javascript.g b/src/declarative/qml/parser/javascript.g
index af12a73..db6d898 100644
--- a/src/declarative/qml/parser/javascript.g
+++ b/src/declarative/qml/parser/javascript.g
@@ -45,7 +45,7 @@
%parser JavaScriptGrammar
%decl javascriptparser_p.h
%impl javascriptparser.cpp
-%expect 3
+%expect 2
%expect-rr 1
%token T_AND "&" T_AND_AND "&&" T_AND_EQ "&="
@@ -81,6 +81,7 @@
--- context keywords.
%token T_PUBLIC "public"
+%token T_IMPORT "import"
%nonassoc SHIFT_THERE
%nonassoc T_IDENTIFIER T_COLON
@@ -243,6 +244,8 @@ public:
JavaScript::AST::VariableDeclarationList *VariableDeclarationList;
JavaScript::AST::UiProgram *UiProgram;
+ JavaScript::AST::UiImportList *UiImportList;
+ JavaScript::AST::UiImport *UiImport;
JavaScript::AST::UiPublicMember *UiPublicMember;
JavaScript::AST::UiObjectDefinition *UiObjectDefinition;
JavaScript::AST::UiObjectInitializer *UiObjectInitializer;
@@ -461,14 +464,55 @@ bool JavaScriptParser::parse(JavaScriptEnginePrivate *driver)
--------------------------------------------------------------------------------------------------------
-- Declarative UI
--------------------------------------------------------------------------------------------------------
-Program: UiObjectMemberList ;
+
+Program: UiImportListOpt UiObjectMemberList ;
+/.
+case $rule_number: {
+ sym(1).Node = makeAstNode<AST::UiProgram> (driver->nodePool(), sym(2).UiObjectMemberList->finish());
+} break;
+./
+
+UiImportListOpt: Empty ;
+UiImportListOpt: UiImportList ;
+/.
+case $rule_number: {
+ sym(1).Node = sym(1).UiImportList->finish();
+} break;
+./
+
+UiImportList: UiImport ;
+/.
+case $rule_number: {
+ sym(1).Node = makeAstNode<AST::UiImportList> (driver->nodePool(), sym(1).UiImport);
+} break;
+./
+
+UiImportList: UiImportList UiImport ;
/.
case $rule_number: {
- sym(1).Node = makeAstNode<AST::UiProgram> (driver->nodePool(), sym(1).UiObjectMemberList->finish());
+ sym(1).Node = makeAstNode<AST::UiImportList> (driver->nodePool(),
+ sym(1).UiImportList, sym(2).UiImport);
+} break;
+./
+
+UiImport: T_IMPORT T_STRING_LITERAL T_AUTOMATIC_SEMICOLON;
+UiImport: T_IMPORT T_STRING_LITERAL T_SEMICOLON;
+/.
+case $rule_number: {
+ AST::UiImport *node = makeAstNode<AST::UiImport>(driver->nodePool(), sym(2).sval);
+ node->importToken = loc(1);
+ node->fileNameToken = loc(2);
+ node->semicolonToken = loc(3);
+ sym(1).Node = node;
} break;
./
Empty: ;
+/.
+case $rule_number: {
+ sym(1).Node = 0;
+} break;
+./
UiObjectMemberList: UiObjectMember ;
/.
@@ -477,13 +521,11 @@ case $rule_number: {
} break;
./
-UiObjectMemberList: UiObjectMemberList Empty UiObjectMember ;
-/.case $rule_number:./
-UiObjectMemberList: UiObjectMemberList T_COMMA UiObjectMember ;
+UiObjectMemberList: UiObjectMemberList UiObjectMember ;
/.
case $rule_number: {
AST::UiObjectMemberList *node = makeAstNode<AST:: UiObjectMemberList> (driver->nodePool(),
- sym(1).UiObjectMemberList, sym(3).UiObjectMember);
+ sym(1).UiObjectMemberList, sym(2).UiObjectMember);
sym(1).Node = node;
} break;
./
diff --git a/src/declarative/qml/parser/javascriptast.cpp b/src/declarative/qml/parser/javascriptast.cpp
index 8d8ca7d..f779f04 100644
--- a/src/declarative/qml/parser/javascriptast.cpp
+++ b/src/declarative/qml/parser/javascriptast.cpp
@@ -871,6 +871,23 @@ void UiQualifiedId::accept0(Visitor *visitor)
visitor->endVisit(this);
}
+void UiImport::accept0(Visitor *visitor)
+{
+ if (visitor->visit(this)) {
+ }
+
+ visitor->endVisit(this);
+}
+
+void UiImportList::accept0(Visitor *visitor)
+{
+ if (visitor->visit(this)) {
+ acceptChild(next, visitor);
+ }
+
+ visitor->endVisit(this);
+}
+
} } // namespace JavaScript::AST
QT_END_NAMESPACE
diff --git a/src/declarative/qml/parser/javascriptast_p.h b/src/declarative/qml/parser/javascriptast_p.h
index 1e9256e..4a5f553 100644
--- a/src/declarative/qml/parser/javascriptast_p.h
+++ b/src/declarative/qml/parser/javascriptast_p.h
@@ -1564,6 +1564,52 @@ public:
UiObjectMemberList *members;
};
+class UiImport: public Node
+{
+public:
+ UiImport(JavaScriptNameIdImpl *fileName)
+ : fileName(fileName)
+ {
+ }
+
+ virtual void accept0(Visitor *visitor);
+
+// attributes
+ JavaScriptNameIdImpl *fileName;
+ SourceLocation importToken;
+ SourceLocation fileNameToken;
+ SourceLocation semicolonToken;
+};
+
+class UiImportList: public Node
+{
+public:
+ UiImportList(UiImport *import)
+ : import(import),
+ next(0)
+ { }
+
+ UiImportList(UiImportList *previous, UiImport *import)
+ : import(import)
+ {
+ next = previous->next;
+ previous->next = this;
+ }
+
+ UiImportList *finish()
+ {
+ UiImportList *head = next;
+ next = 0;
+ return head;
+ }
+
+ virtual void accept0(Visitor *visitor);
+
+// attributes
+ UiImport *import;
+ UiImportList *next;
+};
+
class UiObjectMember: public Node
{
};
diff --git a/src/declarative/qml/parser/javascriptastfwd_p.h b/src/declarative/qml/parser/javascriptastfwd_p.h
index 946879a..f53c0e5 100644
--- a/src/declarative/qml/parser/javascriptastfwd_p.h
+++ b/src/declarative/qml/parser/javascriptastfwd_p.h
@@ -143,6 +143,8 @@ class DebuggerStatement;
// ui elements
class UiProgram;
+class UiImportList;
+class UiImport;
class UiPublicMember;
class UiObjectDefinition;
class UiObjectInitializer;
diff --git a/src/declarative/qml/parser/javascriptastvisitor_p.h b/src/declarative/qml/parser/javascriptastvisitor_p.h
index 9e428cb..bc9a8a6 100644
--- a/src/declarative/qml/parser/javascriptastvisitor_p.h
+++ b/src/declarative/qml/parser/javascriptastvisitor_p.h
@@ -70,6 +70,8 @@ public:
// Ui
virtual bool visit(UiProgram *) { return true; }
+ virtual bool visit(UiImportList *) { return true; }
+ virtual bool visit(UiImport *) { return true; }
virtual bool visit(UiPublicMember *) { return true; }
virtual bool visit(UiObjectDefinition *) { return true; }
virtual bool visit(UiObjectInitializer *) { return true; }
@@ -80,6 +82,8 @@ public:
virtual bool visit(UiQualifiedId *) { return true; }
virtual void endVisit(UiProgram *) {}
+ virtual void endVisit(UiImportList *) {}
+ virtual void endVisit(UiImport *) {}
virtual void endVisit(UiPublicMember *) {}
virtual void endVisit(UiObjectDefinition *) {}
virtual void endVisit(UiObjectInitializer *) {}
diff --git a/src/declarative/qml/parser/javascriptgrammar.cpp b/src/declarative/qml/parser/javascriptgrammar.cpp
index a8da9a6..51ec48e 100644
--- a/src/declarative/qml/parser/javascriptgrammar.cpp
+++ b/src/declarative/qml/parser/javascriptgrammar.cpp
@@ -10,557 +10,563 @@ 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", "public", 0, 0};
+ "false", "const", "debugger", "reserved word", "public", "import", 0, 0};
const int JavaScriptGrammar::lhs [] = {
- 87, 89, 88, 88, 88, 91, 90, 90, 90, 90,
- 90, 90, 90, 92, 92, 95, 95, 95, 95, 95,
- 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
- 97, 97, 101, 101, 96, 96, 99, 99, 102, 102,
- 102, 102, 103, 103, 103, 103, 103, 103, 103, 103,
- 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
- 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
- 103, 103, 103, 104, 104, 105, 105, 105, 105, 105,
- 108, 108, 109, 109, 109, 109, 107, 107, 110, 110,
- 111, 111, 112, 112, 112, 113, 113, 113, 113, 113,
- 113, 113, 113, 113, 113, 114, 114, 114, 114, 115,
- 115, 115, 116, 116, 116, 116, 117, 117, 117, 117,
- 117, 117, 117, 118, 118, 118, 118, 118, 118, 119,
- 119, 119, 119, 119, 120, 120, 120, 120, 120, 121,
- 121, 122, 122, 123, 123, 124, 124, 125, 125, 126,
- 126, 127, 127, 128, 128, 129, 129, 130, 130, 131,
- 131, 132, 132, 100, 100, 133, 133, 134, 134, 134,
- 134, 134, 134, 134, 134, 134, 134, 134, 134, 94,
- 94, 135, 135, 136, 136, 137, 137, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 138, 154, 154, 153, 153, 139, 139, 155,
- 155, 156, 156, 158, 158, 157, 159, 162, 160, 160,
- 163, 161, 161, 140, 141, 141, 142, 142, 143, 143,
- 143, 143, 143, 143, 143, 144, 144, 144, 144, 145,
- 145, 145, 145, 146, 146, 147, 149, 164, 164, 167,
- 167, 165, 165, 168, 166, 148, 150, 150, 151, 151,
- 151, 169, 170, 152, 152, 171, 106, 175, 175, 172,
- 172, 173, 173, 176, 177, 177, 178, 178, 174, 174,
- 98, 98, 179};
+ 88, 89, 89, 92, 92, 93, 93, 91, 90, 90,
+ 95, 94, 94, 94, 94, 94, 94, 94, 96, 96,
+ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 101, 101, 105, 105, 100,
+ 100, 103, 103, 106, 106, 106, 106, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 108, 108,
+ 109, 109, 109, 109, 109, 112, 112, 113, 113, 113,
+ 113, 111, 111, 114, 114, 115, 115, 116, 116, 116,
+ 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
+ 118, 118, 118, 118, 119, 119, 119, 120, 120, 120,
+ 120, 121, 121, 121, 121, 121, 121, 121, 122, 122,
+ 122, 122, 122, 122, 123, 123, 123, 123, 123, 124,
+ 124, 124, 124, 124, 125, 125, 126, 126, 127, 127,
+ 128, 128, 129, 129, 130, 130, 131, 131, 132, 132,
+ 133, 133, 134, 134, 135, 135, 136, 136, 104, 104,
+ 137, 137, 138, 138, 138, 138, 138, 138, 138, 138,
+ 138, 138, 138, 138, 98, 98, 139, 139, 140, 140,
+ 141, 141, 97, 97, 97, 97, 97, 97, 97, 97,
+ 97, 97, 97, 97, 97, 97, 97, 142, 158, 158,
+ 157, 157, 143, 143, 159, 159, 160, 160, 162, 162,
+ 161, 163, 166, 164, 164, 167, 165, 165, 144, 145,
+ 145, 146, 146, 147, 147, 147, 147, 147, 147, 147,
+ 148, 148, 148, 148, 149, 149, 149, 149, 150, 150,
+ 151, 153, 168, 168, 171, 171, 169, 169, 172, 170,
+ 152, 154, 154, 155, 155, 155, 173, 174, 156, 156,
+ 175, 110, 179, 179, 176, 176, 177, 177, 180, 181,
+ 181, 182, 182, 178, 178, 102, 102, 183};
const int JavaScriptGrammar:: rhs[] = {
- 1, 0, 1, 3, 3, 3, 4, 2, 5, 3,
- 6, 3, 5, 1, 3, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 3, 3, 5, 3, 4, 3,
- 2, 4, 1, 2, 0, 1, 3, 5, 1, 1,
+ 2, 1, 1, 1, 2, 3, 3, 0, 1, 2,
+ 3, 4, 2, 5, 3, 6, 3, 5, 1, 3,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
+ 3, 5, 3, 4, 3, 2, 4, 1, 2, 0,
+ 1, 3, 5, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 4, 3, 5,
- 1, 2, 4, 4, 4, 3, 0, 1, 1, 3,
- 1, 1, 1, 2, 2, 1, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 1, 3, 3, 3, 1,
- 3, 3, 1, 3, 3, 3, 1, 3, 3, 3,
- 3, 3, 3, 1, 3, 3, 3, 3, 3, 1,
+ 1, 1, 4, 3, 5, 1, 2, 4, 4, 4,
+ 3, 0, 1, 1, 3, 1, 1, 1, 2, 2,
+ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 1, 3, 3, 3, 1, 3, 3, 1, 3, 3,
+ 3, 1, 3, 3, 3, 3, 3, 3, 1, 3,
3, 3, 3, 3, 1, 3, 3, 3, 3, 1,
- 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
- 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
- 5, 1, 5, 1, 3, 1, 3, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 3, 0, 1, 1, 3, 0, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 3, 1, 2, 0, 1, 3, 3, 1,
- 1, 1, 3, 1, 3, 2, 2, 2, 0, 1,
- 2, 0, 1, 1, 2, 2, 7, 5, 7, 7,
- 5, 9, 10, 7, 8, 2, 2, 3, 3, 2,
- 2, 3, 3, 3, 3, 5, 5, 3, 5, 1,
- 2, 0, 1, 4, 3, 3, 3, 3, 3, 3,
- 4, 5, 2, 2, 2, 8, 8, 1, 3, 0,
- 1, 0, 1, 1, 1, 2, 1, 1, 0, 1,
- 0, 1, 2};
+ 3, 3, 3, 3, 1, 3, 1, 3, 1, 3,
+ 1, 3, 1, 3, 1, 3, 1, 3, 1, 3,
+ 1, 3, 1, 3, 1, 5, 1, 5, 1, 3,
+ 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 3, 0, 1, 1, 3,
+ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 3, 1, 2,
+ 0, 1, 3, 3, 1, 1, 1, 3, 1, 3,
+ 2, 2, 2, 0, 1, 2, 0, 1, 1, 2,
+ 2, 7, 5, 7, 7, 5, 9, 10, 7, 8,
+ 2, 2, 3, 3, 2, 2, 3, 3, 3, 3,
+ 5, 5, 3, 5, 1, 2, 0, 1, 4, 3,
+ 3, 3, 3, 3, 3, 4, 5, 2, 2, 2,
+ 8, 8, 1, 3, 0, 1, 0, 1, 1, 1,
+ 2, 1, 1, 0, 1, 0, 1, 2};
const int JavaScriptGrammar::action_default [] = {
- 0, 0, 14, 0, 3, 2, 0, 283, 0, 8,
- 2, 0, 0, 6, 4, 5, 0, 12, 0, 113,
- 180, 144, 152, 148, 92, 164, 140, 13, 77, 93,
- 156, 160, 81, 110, 91, 96, 76, 130, 117, 0,
- 23, 24, 20, 279, 17, 281, 35, 0, 0, 0,
- 0, 0, 18, 21, 0, 0, 22, 16, 0, 19,
- 0, 0, 106, 0, 0, 93, 112, 95, 94, 0,
- 0, 0, 108, 109, 107, 111, 0, 141, 0, 0,
- 0, 0, 131, 0, 0, 0, 0, 0, 0, 121,
- 0, 0, 0, 115, 116, 114, 119, 123, 122, 120,
- 118, 133, 132, 134, 0, 149, 0, 145, 0, 0,
- 87, 86, 75, 43, 44, 45, 70, 46, 71, 47,
- 48, 49, 50, 51, 52, 53, 54, 74, 55, 56,
- 57, 58, 59, 72, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 73, 0, 0, 85, 181, 88,
- 0, 89, 0, 90, 84, 11, 0, 177, 170, 168,
- 175, 176, 174, 173, 179, 172, 171, 169, 178, 165,
- 0, 153, 0, 0, 157, 0, 0, 161, 0, 0,
- 87, 79, 0, 78, 0, 83, 97, 0, 280, 270,
- 271, 0, 268, 0, 269, 0, 272, 188, 195, 194,
- 202, 190, 0, 191, 273, 0, 278, 192, 193, 198,
- 196, 275, 274, 277, 199, 0, 210, 0, 0, 0,
- 0, 279, 17, 0, 281, 182, 224, 0, 0, 0,
- 211, 0, 0, 200, 201, 0, 189, 197, 225, 226,
- 267, 276, 240, 0, 241, 242, 243, 236, 0, 237,
- 238, 239, 264, 265, 0, 0, 0, 0, 0, 229,
- 230, 186, 184, 146, 154, 150, 166, 142, 187, 0,
- 93, 158, 162, 135, 124, 0, 0, 143, 0, 0,
- 0, 0, 136, 0, 0, 0, 0, 0, 128, 126,
- 129, 127, 125, 138, 137, 139, 0, 151, 0, 147,
- 0, 185, 93, 0, 167, 182, 183, 0, 182, 0,
- 0, 232, 0, 0, 0, 234, 0, 155, 0, 0,
- 159, 0, 0, 163, 222, 0, 214, 223, 217, 0,
- 221, 0, 182, 215, 0, 182, 0, 0, 233, 0,
- 0, 0, 235, 280, 270, 0, 0, 272, 0, 266,
- 0, 256, 0, 0, 0, 228, 0, 227, 0, 282,
- 0, 42, 204, 207, 0, 43, 70, 46, 71, 48,
- 49, 20, 53, 54, 17, 55, 58, 18, 21, 182,
- 22, 61, 16, 63, 19, 65, 66, 67, 68, 69,
- 73, 0, 37, 0, 0, 39, 41, 29, 40, 0,
- 38, 28, 205, 203, 81, 82, 87, 0, 80, 0,
- 244, 245, 0, 0, 0, 247, 252, 250, 253, 0,
- 0, 251, 252, 0, 248, 0, 249, 206, 255, 0,
- 206, 254, 0, 257, 258, 0, 206, 259, 260, 0,
- 0, 261, 0, 0, 0, 262, 263, 99, 98, 0,
- 0, 0, 231, 0, 0, 0, 246, 219, 212, 0,
- 220, 216, 0, 218, 208, 0, 209, 213, 0, 36,
- 0, 33, 35, 26, 0, 32, 27, 34, 31, 25,
- 0, 30, 103, 101, 105, 102, 100, 104, 0, 0,
- 10, 17, 35, 7, 2, 9, 15};
+ 8, 2, 0, 0, 4, 3, 0, 288, 0, 6,
+ 7, 5, 19, 0, 9, 1, 0, 0, 13, 0,
+ 11, 10, 0, 17, 0, 118, 185, 149, 157, 153,
+ 97, 169, 145, 18, 82, 98, 161, 165, 86, 115,
+ 96, 101, 81, 135, 122, 0, 28, 29, 25, 284,
+ 22, 286, 40, 0, 0, 0, 0, 0, 23, 26,
+ 0, 0, 27, 21, 0, 24, 0, 0, 111, 0,
+ 0, 98, 117, 100, 99, 0, 0, 0, 113, 114,
+ 112, 116, 0, 146, 0, 0, 0, 0, 136, 0,
+ 0, 0, 0, 0, 0, 126, 0, 0, 0, 120,
+ 121, 119, 124, 128, 127, 125, 123, 138, 137, 139,
+ 0, 154, 0, 150, 0, 0, 92, 91, 80, 48,
+ 49, 50, 75, 51, 76, 52, 53, 54, 55, 56,
+ 57, 58, 59, 79, 60, 61, 62, 63, 64, 77,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 78, 0, 0, 90, 186, 93, 0, 94, 0, 95,
+ 89, 16, 0, 182, 175, 173, 180, 181, 179, 178,
+ 184, 177, 176, 174, 183, 170, 0, 158, 0, 0,
+ 162, 0, 0, 166, 0, 0, 92, 84, 0, 83,
+ 0, 88, 102, 0, 285, 275, 276, 0, 273, 0,
+ 274, 0, 277, 193, 200, 199, 207, 195, 0, 196,
+ 278, 0, 283, 197, 198, 203, 201, 280, 279, 282,
+ 204, 0, 215, 0, 0, 0, 0, 284, 22, 0,
+ 286, 187, 229, 0, 0, 0, 216, 0, 0, 205,
+ 206, 0, 194, 202, 230, 231, 272, 281, 245, 0,
+ 246, 247, 248, 241, 0, 242, 243, 244, 269, 270,
+ 0, 0, 0, 0, 0, 234, 235, 191, 189, 151,
+ 159, 155, 171, 147, 192, 0, 98, 163, 167, 140,
+ 129, 0, 0, 148, 0, 0, 0, 0, 141, 0,
+ 0, 0, 0, 0, 133, 131, 134, 132, 130, 143,
+ 142, 144, 0, 156, 0, 152, 0, 190, 98, 0,
+ 172, 187, 188, 0, 187, 0, 0, 237, 0, 0,
+ 0, 239, 0, 160, 0, 0, 164, 0, 0, 168,
+ 227, 0, 219, 228, 222, 0, 226, 0, 187, 220,
+ 0, 187, 0, 0, 238, 0, 0, 0, 240, 285,
+ 275, 0, 0, 277, 0, 271, 0, 261, 0, 0,
+ 0, 233, 0, 232, 0, 287, 0, 47, 209, 212,
+ 0, 48, 75, 51, 76, 53, 54, 25, 58, 59,
+ 22, 60, 63, 23, 26, 187, 27, 66, 21, 68,
+ 24, 70, 71, 72, 73, 74, 78, 0, 42, 0,
+ 0, 44, 46, 34, 45, 0, 43, 33, 210, 208,
+ 86, 87, 92, 0, 85, 0, 249, 250, 0, 0,
+ 0, 252, 257, 255, 258, 0, 0, 256, 257, 0,
+ 253, 0, 254, 211, 260, 0, 211, 259, 0, 262,
+ 263, 0, 211, 264, 265, 0, 0, 266, 0, 0,
+ 0, 267, 268, 104, 103, 0, 0, 0, 236, 0,
+ 0, 0, 251, 224, 217, 0, 225, 221, 0, 223,
+ 213, 0, 214, 218, 0, 41, 0, 38, 40, 31,
+ 0, 37, 32, 39, 36, 30, 0, 35, 108, 106,
+ 110, 107, 105, 109, 0, 0, 15, 22, 40, 12,
+ 0, 14, 20};
const int JavaScriptGrammar::goto_default [] = {
- 1, 5, 11, 4, 9, 6, 362, 202, 36, 470,
- 468, 360, 359, 20, 469, 358, 361, 111, 32, 28,
- 150, 34, 24, 149, 29, 35, 62, 33, 19, 38,
- 37, 273, 26, 267, 21, 263, 23, 265, 22, 264,
- 30, 271, 31, 272, 25, 266, 262, 303, 409, 268,
- 269, 197, 236, 201, 203, 207, 208, 199, 198, 210,
- 237, 209, 214, 233, 234, 200, 364, 363, 235, 459,
- 458, 325, 326, 461, 328, 460, 327, 415, 419, 422,
- 418, 417, 437, 438, 206, 191, 205, 187, 190, 204,
- 212, 211, 0};
+ 2, 6, 15, 1, 5, 4, 14, 18, 16, 368,
+ 208, 42, 476, 474, 366, 365, 26, 475, 364, 367,
+ 117, 38, 34, 156, 40, 30, 155, 35, 41, 68,
+ 39, 25, 44, 43, 279, 32, 273, 27, 269, 29,
+ 271, 28, 270, 36, 277, 37, 278, 31, 272, 268,
+ 309, 415, 274, 275, 203, 242, 207, 209, 213, 214,
+ 205, 204, 216, 243, 215, 220, 239, 240, 206, 370,
+ 369, 241, 465, 464, 331, 332, 467, 334, 466, 333,
+ 421, 425, 428, 424, 423, 443, 444, 212, 197, 211,
+ 193, 196, 210, 218, 217, 0};
const int JavaScriptGrammar::action_index [] = {
- 107, 43, -3, -8, -87, 144, 165, -87, 122, -87,
- 135, 120, 111, -87, -87, -87, -22, 3, 567, 127,
- -87, 13, -36, -63, 192, -87, 220, 106, -87, 407,
- 81, 78, 195, 177, -87, -87, -87, 317, 259, 567,
- -87, -87, -87, 34, -87, 1041, 52, 567, 567, 567,
- 349, 567, -87, -87, 567, 567, -87, -87, 567, -87,
- 567, 567, -87, 567, 567, 108, 162, -87, -87, 567,
- 567, 567, -87, -87, -87, 146, 567, 204, 567, 567,
- 567, 567, 280, 567, 567, 567, 567, 567, 567, 154,
- 567, 567, 567, 82, 87, 97, 259, 259, 259, 259,
- 259, 300, 290, 270, 567, -65, 567, 17, 958, 567,
- 567, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- -87, -87, -87, -87, -87, 113, 567, -87, -87, 49,
- -1, -87, 567, -87, -87, -87, 567, -87, -87, -87,
- -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
- 567, 38, 567, 567, 64, 58, 567, -87, 958, 567,
- 567, -87, 117, -87, 2, -87, -87, 36, -87, 46,
- 63, 20, -87, 40, -87, 35, 1373, -87, -87, -87,
- -87, -87, 138, -87, -87, 1, -87, -87, -87, -87,
- -87, -87, 1373, -87, -87, 136, -87, 153, 109, 1290,
- 60, 65, 85, 59, 1456, 567, -87, 48, 567, 57,
- -87, 53, 51, -87, -87, 56, -87, -87, -87, -87,
- -87, -87, -87, 80, -87, -87, -87, -87, 68, -87,
- -87, -87, -87, -87, -57, -16, 567, 197, 115, -87,
- -87, 875, -87, 4, -48, -72, -87, 214, -2, -59,
- 449, 14, 114, 323, 259, 8, 567, 223, 567, 567,
- 567, 567, 238, 567, 567, 567, 567, 567, 259, 259,
- 259, 259, 259, 255, 221, 248, 567, -43, 567, 118,
- 567, -87, 491, 567, -87, 567, 23, -29, 567, -34,
- 1290, -87, 567, 126, 1290, -87, 567, -39, 567, 567,
- 6, 32, 567, -87, 11, 99, 7, -87, -87, 567,
- -87, 0, 567, -87, -38, 567, -33, 1290, -87, 567,
- 103, 1290, -87, -11, 5, -24, 9, 1373, -10, -87,
- 1290, -87, 567, 94, 1290, 30, 1290, -87, 37, 33,
- -20, -87, -87, 1290, -15, 159, -5, 155, 62, 567,
- 1290, -4, -35, 79, 15, -17, 375, 67, 41, 799,
- 70, 61, 84, 567, 86, 66, 567, 69, 567, 16,
- 22, 567, -87, 1124, 54, -87, -87, -87, -87, 567,
- -87, -87, -87, -87, 160, -87, 567, -9, -87, 55,
- -87, -87, 567, 102, -18, -87, 73, -87, 77, 90,
- 567, -87, 83, 74, -87, 24, -87, 1290, -87, 105,
- 1290, -87, 175, -87, -87, 100, 1290, 29, -87, 19,
- 21, -87, 44, 10, 31, -87, -87, -87, -87, 567,
- 95, 1290, -87, 567, 96, 1290, -87, 50, -87, 151,
- -87, -87, 567, -87, -87, 47, -87, -87, 101, 45,
- 719, -87, 42, -87, 643, -87, -87, -87, -87, -87,
- 93, -87, -87, -87, -87, -87, -87, -87, 1207, 18,
- -87, 98, 179, -87, 110, -87, -87,
+ -7, -88, 41, -25, -88, -43, 87, -88, 102, -88,
+ -88, -88, 12, 18, -88, 124, 113, 92, -88, 186,
+ -88, -88, 9, 29, 534, 122, -88, 28, -16, -41,
+ 213, -88, 307, 91, -88, 457, 60, 82, 237, 156,
+ -88, -88, -88, 372, 157, 534, -88, -88, -88, 32,
+ -88, 1014, 43, 534, 534, 534, 321, 534, -88, -88,
+ 534, 534, -88, -88, 534, -88, 534, 534, -88, 534,
+ 534, 103, 148, -88, -88, 534, 534, 534, -88, -88,
+ -88, 225, 534, 307, 534, 534, 534, 534, 372, 534,
+ 534, 534, 534, 534, 534, 158, 534, 534, 534, 101,
+ 100, 74, 229, 189, 193, 207, 208, 372, 372, 372,
+ 534, 0, 534, 71, 930, 534, 534, -88, -88, -88,
+ -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
+ -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
+ -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
+ -88, 147, 534, -88, -88, 23, 7, -88, 534, -88,
+ -88, -88, 534, -88, -88, -88, -88, -88, -88, -88,
+ -88, -88, -88, -88, -88, -88, 534, 57, 534, 534,
+ 80, 78, 534, -88, 930, 534, 534, -88, 136, -88,
+ 31, -88, -88, 37, -88, 42, 66, 33, -88, 46,
+ -88, 67, 1350, -88, -88, -88, -88, -88, 218, -88,
+ -88, 56, -88, -88, -88, -88, -88, -88, 1350, -88,
+ -88, 132, -88, 168, 81, 1266, 53, 52, 72, 54,
+ 1434, 534, -88, 58, 534, 47, -88, 61, 62, -88,
+ -88, 55, -88, -88, -88, -88, -88, -88, -88, 73,
+ -88, -88, -88, -88, 69, -88, -88, -88, -88, -88,
+ 39, 51, 534, 94, 104, -88, -88, 769, -88, 76,
+ 35, 34, -88, 244, 164, 68, 389, 48, 83, 260,
+ 179, 4, 534, 240, 534, 534, 534, 534, 276, 534,
+ 534, 534, 534, 534, 223, 217, 153, 152, 185, 286,
+ 270, 292, 534, -75, 534, 1, 534, -88, 457, 534,
+ -88, 534, 11, -48, 534, -42, 1266, -88, 534, 114,
+ 1266, -88, 534, -31, 534, 534, 19, 8, 534, -88,
+ -1, 96, -19, -88, -88, 534, -88, 4, 534, -88,
+ 27, 534, -36, 1266, -88, 534, 109, 1266, -88, -11,
+ -6, -38, -22, 1350, -35, -88, 1266, -88, 534, 98,
+ 1266, -2, 1266, -88, -4, 84, -49, -88, -88, 1266,
+ -55, 160, -24, 138, 77, 534, 1266, 2, -28, 90,
+ 3, -29, 347, -3, 20, 692, 21, 24, 49, 534,
+ 50, 26, 534, 25, 534, 22, -10, 534, -88, 1098,
+ 45, -88, -88, -88, -88, 534, -88, -88, -88, -88,
+ 173, -88, 534, -5, -88, 85, -88, -88, 534, 99,
+ 30, -88, 63, -88, 65, 93, 534, -88, 64, 59,
+ -88, 10, -88, 1266, -88, 88, 1266, -88, 178, -88,
+ -88, 95, 1266, 44, -88, 17, 16, -88, 5, -23,
+ 6, -88, -88, -88, -88, 534, 142, 1266, -88, 534,
+ 141, 1266, -88, 13, -88, 216, -88, -88, 534, -88,
+ -88, 15, -88, -88, 119, 38, 846, -88, 40, -88,
+ 611, -88, -88, -88, -88, -88, 110, -88, -88, -88,
+ -88, -88, -88, -88, 1182, 14, -88, 79, 228, -88,
+ 169, -88, -88,
- -93, -93, -93, -93, -93, -93, -93, -93, 23, -93,
- -93, 16, 18, -93, -93, -93, -93, -93, 28, -93,
- -93, -93, -93, -93, -93, -93, -93, 29, -93, -31,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, 107,
- -93, -93, -93, -93, -93, -93, -93, -1, 126, 123,
- 118, 98, -93, -93, 138, 218, -93, -93, 97, -93,
- 93, 88, -93, 81, 143, -93, -93, -93, -93, 149,
- 101, 120, -93, -93, -93, -93, 110, -93, 102, 150,
- 142, 141, -93, 127, 66, 64, 67, 68, 74, -93,
- 49, 55, 58, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, 77, -93, 70, -93, 46, 52,
- 35, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -4, -93, -93, -93,
- -93, -93, 45, -93, -93, -93, 42, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- 61, -93, 144, 33, -93, -93, -9, -93, 112, 5,
- 117, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, 25, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, 69, -93, -93, -93, -93, -93, -93, 11,
- -93, -93, -93, -93, -93, 34, -93, -93, 30, -23,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, 57, -93, -93, -93,
- -93, 114, -93, -93, -93, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, 162, -93, 191, 192,
- 175, 201, -93, 60, 82, 91, 124, 116, -93, -93,
- -93, -93, -93, -93, -93, -93, 153, -93, 172, -93,
- 164, -93, -93, 154, -93, 128, -93, -93, 62, -93,
- 20, -93, 15, -93, 14, -93, 174, -93, 188, 165,
- -93, -93, 163, -93, -93, -93, -93, -93, -93, 173,
- -93, -57, 111, -93, -93, 59, -93, -6, -93, 56,
- -93, 38, -93, -93, -49, -93, -93, 72, -93, -93,
- 54, -93, 44, -93, 47, -93, 48, -93, -93, -93,
- -93, -93, -93, 51, -93, -93, -93, -93, -93, 76,
- 43, -93, -93, -93, -93, -93, 50, -93, -93, 36,
- -93, -93, -93, 40, -93, -22, 137, -93, 131, -93,
- -93, 39, -93, 41, -93, -93, -93, -93, -93, 37,
- -93, -93, -93, -93, -93, -93, 96, -93, -93, -93,
- -93, -93, 27, -93, -93, -93, -93, -93, -80, -93,
- 80, -93, -65, -93, -93, -93, -93, -55, -93, -93,
- -56, -93, -93, -93, -93, -93, -93, -75, -93, -93,
- -44, -93, -93, -93, -37, -93, -93, -93, -93, -5,
- -93, -3, -93, -2, -93, 12, -93, -93, -93, -93,
- -93, -93, 26, -93, -93, -43, -93, -93, -93, -93,
- 32, -93, 31, -93, 19, -93, -93, -93, -93, -93,
- -93, -93, -93, -93, -93, -93, -93, -93, 24, -93,
- -93, 21, 22, -93, -93, -93, -93};
+ -96, -96, -96, -96, -96, 24, -96, -96, -96, -96,
+ -96, -96, -96, -96, -96, 10, -96, 9, -96, 22,
+ -96, -96, -96, -96, 12, -96, -96, -96, -96, -96,
+ -96, -96, -96, 27, -96, -17, -96, -96, -96, -96,
+ -96, -96, -96, -96, -96, 140, -96, -96, -96, -96,
+ -96, -96, -96, -1, 96, 122, 72, 82, -96, -96,
+ 116, 119, -96, -96, 109, -96, 106, 49, -96, 104,
+ 110, -96, -96, -96, -96, 101, 100, 86, -96, -96,
+ -96, -96, 79, -96, 147, 139, 149, 128, -96, 127,
+ 138, 130, 136, 90, 70, -96, 41, 77, 54, -96,
+ -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
+ 59, -96, 64, -96, 19, 33, 44, -96, -96, -96,
+ -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
+ -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
+ -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
+ -96, -96, 47, -96, -96, -96, -96, -96, 37, -96,
+ -96, -96, 31, -96, -96, -96, -96, -96, -96, -96,
+ -96, -96, -96, -96, -96, -96, 91, -96, 146, -14,
+ -96, -96, -4, -96, 209, 21, 148, -96, -96, -96,
+ -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
+ -96, -96, 23, -96, -96, -96, -96, -96, -96, -96,
+ -96, -96, -96, -96, -96, -96, -96, -96, 58, -96,
+ -96, -96, -96, -96, -96, 17, -96, -96, -96, -96,
+ -96, 11, -96, -96, 5, -41, -96, -96, -96, -96,
+ -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
+ -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
+ -96, -96, -5, -96, -96, -96, -96, 115, -96, -96,
+ -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
+ -96, -96, 161, -96, 177, 167, 151, 178, -96, 73,
+ 67, 63, 57, 60, -96, -96, -96, -96, -96, -96,
+ -96, -96, 160, -96, 152, -96, 189, -96, -96, 154,
+ -96, 56, -96, -96, 61, -96, 43, -96, 46, -96,
+ 48, -96, 164, -96, 187, 188, -96, -96, 181, -96,
+ -96, -96, -96, -96, -96, 175, -96, -20, 65, -96,
+ -96, 69, -96, 32, -96, 36, -96, 42, -96, -96,
+ -49, -96, -96, 55, -96, -96, 35, -96, 30, -96,
+ 52, -96, 53, -96, -96, -96, -96, -96, -96, 50,
+ -96, -96, -96, -96, -96, 131, 132, -96, -96, -96,
+ -96, -96, 129, -96, -96, 38, -96, -96, -96, 39,
+ -96, -12, 92, -96, 97, -96, -96, 34, -96, 40,
+ -96, -96, -96, -96, -96, 29, -96, -96, -96, -96,
+ -96, -96, 87, -96, -96, -96, -96, -96, -7, -96,
+ -96, -96, -96, -96, -77, -96, 0, -96, -73, -96,
+ -96, -96, -96, -42, -96, -96, -69, -96, -96, -96,
+ -96, -96, -96, -72, -96, -96, -24, -96, -96, -96,
+ -29, -96, -96, -96, -96, 26, -96, 28, -96, 25,
+ -96, 14, -96, -96, -96, -96, -96, -96, 8, -96,
+ -96, -53, -96, -96, -96, -96, 2, -96, 7, -96,
+ 1, -96, -96, -96, -96, -96, -96, -96, -96, -96,
+ -96, -96, -96, -96, 45, -96, -96, -6, 4, -96,
+ -2, -96, -96};
const int JavaScriptGrammar::action_info [] = {
- 296, 261, 305, -51, 298, 276, 300, 17, 316, 296,
- 18, 106, 104, 106, 76, 416, 316, 255, 76, 352,
- 256, 16, -39, 335, -210, 344, 310, 337, 329, 324,
- 8, 146, 308, 298, 192, 401, 346, 324, 339, 322,
- 403, 393, 347, 7, 391, 349, 356, 496, -41, 440,
- 471, 408, 449, 477, 436, 442, 240, 152, 453, 154,
- 471, 399, 185, 188, 436, 176, 170, 462, 196, 194,
- 444, 193, 189, 443, -59, 192, 457, -40, 420, 426,
- 195, 427, 420, 170, 412, 457, 104, 453, 420, 449,
- 436, -62, 350, -64, 343, 352, 261, 412, -211, 436,
- 423, 146, 146, 146, 146, 350, 439, 331, 188, 472,
- 146, 146, 430, 146, 146, -279, 411, 410, 12, 276,
- 440, 146, 63, 253, 252, 146, 0, 63, 172, 251,
- 250, 8, 173, 64, 146, 0, 2, 63, 64, 8,
- 2, 246, 245, 12, -1, 424, 146, 0, 64, 2,
- 67, 2, 12, 481, 354, 451, 455, 473, 69, 465,
- 332, 68, 414, 341, 318, 243, 495, 63, 319, 147,
- 253, 252, 488, 183, 69, 178, 260, 259, 64, 90,
- 489, 91, 248, 146, 248, 0, 314, 471, 243, 69,
- 13, 3, 92, 0, 179, 3, 406, 244, 242, 239,
- 238, 0, 0, 70, 3, 146, 3, 108, 2, 71,
- 178, 0, 466, 464, 249, 247, 249, 247, 0, 70,
- 244, 242, 78, 79, 0, 71, 109, 0, 110, 179,
- 0, 180, 278, 279, 70, 0, 434, 433, 78, 79,
- 71, 278, 279, 0, 283, 284, 0, 0, 0, 80,
- 81, 0, 0, 285, 0, 0, 286, 258, 287, 280,
- 281, 283, 284, 3, 0, 80, 81, 0, 280, 281,
- 285, 283, 284, 286, 0, 287, 0, 0, 283, 284,
- 285, 0, 0, 286, 90, 287, 91, 285, 0, 0,
- 286, 0, 287, 83, 84, 0, 0, 92, 0, 0,
- 0, 85, 86, 83, 84, 87, 0, 88, 0, 0,
- 0, 85, 86, 83, 84, 87, 0, 88, 0, 0,
- 0, 85, 86, 83, 84, 87, 0, 88, 0, 0,
- 0, 85, 86, 0, 0, 87, 0, 88, 0, 0,
- 83, 84, 0, 0, 0, 0, 283, 284, 85, 86,
- 0, 0, 87, 0, 88, 285, 0, 0, 286, 0,
- 287, 40, 41, 0, 0, 0, 0, 0, 0, 0,
- 0, 43, 0, 0, 0, 0, 0, 0, 44, 0,
- 0, 0, 45, 46, 0, 47, 0, 40, 41, 0,
- 0, 0, 50, 0, 0, 0, 53, 43, 0, 0,
- 0, 0, 0, 0, 44, 0, 0, 0, 45, 46,
- 157, 47, 0, 0, 56, 0, 57, 0, 50, 0,
- 158, 0, 53, 0, 159, 0, 0, 52, 59, 42,
- 0, 0, 0, 160, 0, 161, 0, 0, 0, 0,
- 56, 0, 57, 0, 0, 0, 162, 0, 163, 67,
- 0, 0, 157, 52, 59, 42, 164, 0, 0, 165,
- 68, 0, 158, 0, 0, 166, 159, 0, 0, 0,
- 0, 167, 0, 0, 0, 160, 0, 161, 0, 0,
- 312, 0, 0, 0, 168, 0, 0, 0, 162, 0,
- 163, 67, 0, 0, 157, 0, 0, 0, 164, 0,
- 0, 165, 68, 0, 158, 0, 0, 166, 159, 0,
- 0, 0, 0, 167, 0, 0, 0, 160, 0, 161,
- 0, 0, 0, 0, 0, 0, 168, 0, 0, 0,
- 162, 0, 163, 67, 0, 0, 0, 0, 0, 0,
- 164, 0, 0, 165, 68, 0, 0, 0, 0, 166,
- 0, 0, 0, 0, 0, 167, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 168, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 39, 40,
- 41, 0, 0, 0, 0, 0, 0, 0, 0, 43,
- 0, 0, 0, 0, 0, 0, 44, 0, 0, 0,
- 45, 46, 0, 47, 0, 0, 0, 48, 0, 49,
- 50, 51, 0, 0, 53, 0, 0, 0, 54, 0,
- 55, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 56, 0, 57, 0, 58, 0, 60, 0,
- 61, 0, 0, 0, 0, 52, 59, 42, 0, 0,
- 0, 0, 0, 0, 39, 40, 41, 0, 0, 0,
- 0, 0, 0, 0, 0, 43, 0, 0, 0, 0,
- 0, 0, 44, 0, 0, 0, 45, 46, 0, 47,
- 0, 0, 0, 48, 0, 49, 50, 51, 0, 0,
- 53, 0, 0, 0, 54, 0, 55, 0, 0, 476,
- 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
- 57, 0, 58, 0, 60, 0, 61, 0, 0, 0,
- 0, 52, 59, 42, 0, 0, 0, 0, 0, 0,
- 39, 40, 41, 0, 0, 0, 0, 0, 0, 0,
- 0, 43, 0, 0, 0, 0, 0, 0, 44, 0,
- 0, 0, 45, 46, 0, 47, 0, 0, 0, 48,
- 0, 49, 50, 51, 0, 0, 53, 0, 0, 0,
- 54, 0, 55, 0, 0, 479, 0, 0, 0, 0,
- 0, 0, 0, 0, 56, 0, 57, 0, 58, 0,
- 60, 0, 61, 0, 0, 0, 0, 52, 59, 42,
- 0, 0, 0, 0, 0, 0, -60, 0, 0, 0,
- 39, 40, 41, 0, 0, 0, 0, 0, 0, 0,
- 0, 43, 0, 0, 0, 0, 0, 0, 44, 0,
- 0, 0, 45, 46, 0, 47, 0, 0, 0, 48,
- 0, 49, 50, 51, 0, 0, 53, 0, 0, 0,
- 54, 0, 55, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56, 0, 57, 0, 58, 0,
- 60, 0, 61, 0, 0, 0, 0, 52, 59, 42,
- 0, 0, 0, 0, 0, 0, 39, 40, 41, 0,
- 0, 0, 0, 0, 0, 0, 0, 43, 0, 0,
- 0, 0, 0, 0, 44, 0, 0, 0, 45, 46,
- 0, 47, 0, 0, 0, 48, 0, 49, 50, 51,
- 0, 0, 53, 0, 0, 0, 54, 0, 55, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56, 0, 57, 0, 58, 0, 60, 275, 61, 0,
- 0, 0, 0, 52, 59, 42, 0, 0, 0, 0,
- 0, 0, 113, 114, 115, 0, 0, 117, 119, 120,
- 0, 0, 121, 0, 122, 0, 0, 0, 124, 125,
- 126, 0, 0, 0, 0, 0, 0, 127, 128, 129,
- 130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 131, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 134, 0, 0,
- 0, 0, 0, 0, 135, 136, 137, 0, 139, 140,
- 141, 142, 143, 144, 0, 0, 132, 138, 123, 116,
- 118, 133, 0, 0, 0, 113, 114, 115, 0, 0,
- 117, 119, 120, 0, 0, 121, 0, 122, 0, 0,
- 0, 124, 125, 126, 0, 0, 0, 0, 0, 0,
- 395, 128, 129, 130, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 131, 0, 0, 0, 396, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 134, 0, 0, 0, 0, 0, 398, 135, 136, 137,
- 0, 139, 140, 141, 142, 143, 144, 0, 0, 132,
- 138, 123, 116, 118, 133, 0, 0, 0, 113, 114,
- 115, 0, 0, 117, 119, 120, 0, 0, 121, 0,
- 122, 0, 0, 0, 124, 125, 126, 0, 0, 0,
- 0, 0, 0, 395, 128, 129, 130, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 131, 0, 0,
- 0, 396, 0, 0, 0, 0, 0, 0, 0, 397,
- 0, 0, 0, 134, 0, 0, 0, 0, 0, 398,
- 135, 136, 137, 0, 139, 140, 141, 142, 143, 144,
- 0, 0, 132, 138, 123, 116, 118, 133, 0, 0,
- 0, 215, 0, 0, 0, 0, 217, 0, 39, 40,
- 41, 219, 0, 0, 0, 0, 0, 0, 220, 43,
- 0, 0, 0, 0, 0, 0, 491, 223, 0, 0,
- 224, 492, 0, 47, 0, 0, 0, 48, 0, 49,
- 50, 51, 0, 0, 53, 0, 0, 0, 54, 0,
- 55, 0, 0, 0, 0, 0, 225, 0, 226, 0,
- 0, 0, 56, 227, 57, 228, 58, 229, 60, 230,
- 61, 231, 232, 0, 0, 52, 59, 42, 216, 218,
- 0, 0, 0, 0, 215, 0, 0, 0, 0, 217,
- 0, 39, 40, 41, 219, 0, 0, 0, 0, 0,
- 0, 220, 43, 0, 0, 0, 0, 0, 0, 222,
- 223, 0, 0, 224, 46, 0, 47, 0, 0, 0,
- 48, 0, 49, 50, 51, 0, 0, 53, 0, 0,
- 0, 54, 0, 55, 0, 0, 0, 0, 0, 225,
- 0, 226, 0, 0, 0, 56, 227, 57, 228, 58,
- 229, 60, 230, 61, 231, 232, 0, 0, 52, 59,
- 42, 216, 218, 0, 0, 0, 0, 215, 0, 0,
- 0, 0, 217, 0, 39, 40, 41, 219, 0, 0,
- 0, 0, 0, 0, 220, 221, 0, 0, 0, 0,
- 0, 0, 222, 223, 0, 0, 224, 46, 0, 47,
- 0, 0, 0, 48, 0, 49, 50, 51, 0, 0,
- 53, 0, 0, 0, 54, 0, 55, 0, 0, 0,
- 0, 0, 225, 0, 226, 0, 0, 0, 56, 227,
- 57, 228, 58, 229, 60, 230, 61, 231, 232, 0,
- 0, 52, 59, 42, 216, 218, 0, 0, 0, 0,
- 365, 114, 115, 0, 0, 367, 119, 369, 40, 41,
- 370, 0, 122, 0, 0, 0, 124, 372, 373, 0,
- 0, 0, 0, 0, 0, 374, 375, 129, 130, 224,
- 46, 0, 47, 0, 0, 0, 48, 0, 49, 376,
- 51, 0, 0, 378, 0, 0, 0, 54, 0, 55,
- 0, -206, 0, 0, 0, 379, 0, 226, 0, 0,
- 0, 380, 381, 382, 383, 58, 385, 386, 387, 388,
- 389, 390, 0, 0, 377, 384, 371, 366, 368, 133,
- 0, 0, 0,
+ 409, 304, 282, 397, -64, -215, 407, 358, 267, -56,
+ -44, 353, 345, 314, 362, 328, 335, 302, 316, 152,
+ 355, 322, 352, 198, 343, 350, 459, -46, -45, 82,
+ 468, 158, 110, 330, 449, 112, 24, 450, 23, 442,
+ 8, 7, 3, 502, 463, 17, 483, 22, 477, 442,
+ 322, 477, 405, 448, -216, 414, -67, -69, 455, 442,
+ 418, 194, 176, 422, 446, 432, 433, 160, 426, 426,
+ 426, 198, 82, 195, 199, 200, 112, 282, 3, 356,
+ 442, 349, 176, 302, 463, 182, 356, 262, 341, 267,
+ 358, 191, 399, 201, 418, 436, 152, 455, 459, 152,
+ 202, 445, 152, 429, 337, 110, 152, 152, 0, 0,
+ 304, 246, 17, 261, 69, 446, 12, 152, 152, 194,
+ 494, 12, 152, 0, 17, 70, -284, 478, 495, 311,
+ 257, 256, 178, 324, 252, 251, 179, 325, 259, 258,
+ 69, 69, 259, 258, 152, 73, 417, 416, 430, 152,
+ 152, 70, 70, 12, 264, 152, 74, 338, 360, 420,
+ 75, 249, 69, 10, 9, 266, 265, 254, 75, 347,
+ 487, 13, 306, 70, 320, 479, 13, 96, 96, 97,
+ 97, 0, 96, 96, 97, 97, 152, 0, 184, 249,
+ 98, 98, 189, 250, 248, 98, 98, 254, 12, 255,
+ 253, 461, 457, 153, 96, 76, 97, 185, 13, 412,
+ 96, 77, 97, 76, 96, 12, 97, 98, 96, 77,
+ 97, 250, 248, 98, 471, 501, 152, 98, 114, 255,
+ 253, 98, 96, 96, 97, 97, 477, 75, 0, 440,
+ 439, 20, 96, 0, 97, 98, 98, 115, 96, 116,
+ 97, 0, 184, 13, 96, 98, 97, 12, 284, 285,
+ 0, 98, 284, 285, 0, 0, 0, 98, 0, 0,
+ 13, 185, 0, 186, 0, 0, 0, 472, 470, 245,
+ 244, 0, 76, 289, 290, 286, 287, 0, 77, 286,
+ 287, 0, 291, 289, 290, 292, 0, 293, 0, 289,
+ 290, 0, 291, 0, 0, 292, 0, 293, 291, 289,
+ 290, 292, 13, 293, 0, 289, 290, 0, 291, 0,
+ 0, 292, 0, 293, 291, 84, 85, 292, 0, 293,
+ 0, 0, 0, 46, 47, 0, 0, 0, 0, 0,
+ 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
+ 50, 0, 86, 87, 51, 52, 0, 53, 0, 46,
+ 47, 0, 0, 0, 56, 0, 0, 0, 59, 49,
+ 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
+ 51, 52, 0, 53, 0, 0, 62, 0, 63, 0,
+ 56, 0, 163, 0, 59, 89, 90, 0, 0, 58,
+ 65, 48, 164, 91, 92, 0, 165, 93, 0, 94,
+ 0, 0, 62, 0, 63, 166, 0, 167, 0, 0,
+ 318, 0, 0, 0, 0, 58, 65, 48, 168, 0,
+ 169, 73, 0, 0, 0, 0, 0, 0, 170, 0,
+ 0, 171, 74, 0, 0, 0, 0, 172, 0, 0,
+ 0, 0, 0, 173, 0, 0, 0, 0, 0, 0,
+ 163, 0, 0, 0, 0, 0, 174, 0, 0, 0,
+ 164, 0, 0, 0, 165, 0, 0, 0, 0, 0,
+ 0, 0, 0, 166, 0, 167, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 168, 0, 169, 73,
+ 0, 0, 0, 0, 0, 0, 170, 0, 0, 171,
+ 74, 0, 0, 0, 0, 172, 0, 0, 0, 0,
+ 0, 173, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 174, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 45, 46, 47, 0, 0,
+ 0, 0, 0, 0, 0, 0, 49, 0, 0, 0,
+ 0, 0, 0, 50, 0, 0, 0, 51, 52, 0,
+ 53, 0, 0, 0, 54, 0, 55, 56, 57, 0,
+ 0, 59, 0, 0, 0, 60, 0, 61, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,
+ 0, 63, 0, 64, 0, 66, 0, 67, 0, 0,
+ 0, 0, 58, 65, 48, 0, 0, 0, 0, 0,
+ 0, 0, 45, 46, 47, 0, 0, 0, 0, 0,
+ 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
+ 50, 0, 0, 0, 51, 52, 0, 53, 0, 0,
+ 0, 54, 0, 55, 56, 57, 0, 0, 59, 0,
+ 0, 0, 60, 0, 61, 0, 0, 482, 0, 0,
+ 0, 0, 0, 0, 0, 0, 62, 0, 63, 0,
+ 64, 0, 66, 0, 67, 0, 0, 0, 0, 58,
+ 65, 48, 0, 0, 0, 0, 0, 0, 0, -65,
+ 0, 0, 0, 45, 46, 47, 0, 0, 0, 0,
+ 0, 0, 0, 0, 49, 0, 0, 0, 0, 0,
+ 0, 50, 0, 0, 0, 51, 52, 0, 53, 0,
+ 0, 0, 54, 0, 55, 56, 57, 0, 0, 59,
+ 0, 0, 0, 60, 0, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 62, 0, 63,
+ 0, 64, 0, 66, 0, 67, 0, 0, 0, 0,
+ 58, 65, 48, 0, 0, 0, 0, 0, 0, 0,
+ 45, 46, 47, 0, 0, 0, 0, 0, 0, 0,
+ 0, 49, 0, 0, 0, 0, 0, 0, 50, 0,
+ 0, 0, 51, 52, 0, 53, 0, 0, 0, 54,
+ 0, 55, 56, 57, 0, 0, 59, 0, 0, 0,
+ 60, 0, 61, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 62, 0, 63, 0, 64, 0,
+ 66, 281, 67, 0, 0, 0, 0, 58, 65, 48,
+ 0, 0, 0, 0, 0, 0, 0, 45, 46, 47,
+ 0, 0, 0, 0, 0, 0, 0, 0, 49, 0,
+ 0, 0, 0, 0, 0, 50, 0, 0, 0, 51,
+ 52, 0, 53, 0, 0, 0, 54, 0, 55, 56,
+ 57, 0, 0, 59, 0, 0, 0, 60, 0, 61,
+ 0, 0, 485, 0, 0, 0, 0, 0, 0, 0,
+ 0, 62, 0, 63, 0, 64, 0, 66, 0, 67,
+ 0, 0, 0, 0, 58, 65, 48, 0, 0, 0,
+ 0, 0, 0, 0, 119, 120, 121, 0, 0, 123,
+ 125, 126, 0, 0, 127, 0, 128, 0, 0, 0,
+ 130, 131, 132, 0, 0, 0, 0, 0, 0, 133,
+ 134, 135, 136, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 137, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 140,
+ 0, 0, 0, 0, 0, 0, 141, 142, 143, 0,
+ 145, 146, 147, 148, 149, 150, 0, 0, 138, 144,
+ 129, 122, 124, 139, 0, 0, 0, 0, 119, 120,
+ 121, 0, 0, 123, 125, 126, 0, 0, 127, 0,
+ 128, 0, 0, 0, 130, 131, 132, 0, 0, 0,
+ 0, 0, 0, 401, 134, 135, 136, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 137, 0, 0,
+ 0, 402, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 140, 0, 0, 0, 0, 0, 404,
+ 141, 142, 143, 0, 145, 146, 147, 148, 149, 150,
+ 0, 0, 138, 144, 129, 122, 124, 139, 0, 0,
+ 0, 0, 119, 120, 121, 0, 0, 123, 125, 126,
+ 0, 0, 127, 0, 128, 0, 0, 0, 130, 131,
+ 132, 0, 0, 0, 0, 0, 0, 401, 134, 135,
+ 136, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 137, 0, 0, 0, 402, 0, 0, 0, 0,
+ 0, 0, 0, 403, 0, 0, 0, 140, 0, 0,
+ 0, 0, 0, 404, 141, 142, 143, 0, 145, 146,
+ 147, 148, 149, 150, 0, 0, 138, 144, 129, 122,
+ 124, 139, 0, 0, 0, 0, 221, 0, 0, 0,
+ 0, 223, 0, 45, 46, 47, 225, 0, 0, 0,
+ 0, 0, 0, 226, 49, 0, 0, 0, 0, 0,
+ 0, 497, 229, 0, 0, 230, 498, 0, 53, 0,
+ 0, 0, 54, 0, 55, 56, 57, 0, 0, 59,
+ 0, 0, 0, 60, 0, 61, 0, 0, 0, 0,
+ 0, 231, 0, 232, 0, 0, 0, 62, 233, 63,
+ 234, 64, 235, 66, 236, 67, 237, 238, 0, 0,
+ 58, 65, 48, 222, 224, 0, 0, 0, 0, 0,
+ 221, 0, 0, 0, 0, 223, 0, 45, 46, 47,
+ 225, 0, 0, 0, 0, 0, 0, 226, 49, 0,
+ 0, 0, 0, 0, 0, 228, 229, 0, 0, 230,
+ 52, 0, 53, 0, 0, 0, 54, 0, 55, 56,
+ 57, 0, 0, 59, 0, 0, 0, 60, 0, 61,
+ 0, 0, 0, 0, 0, 231, 0, 232, 0, 0,
+ 0, 62, 233, 63, 234, 64, 235, 66, 236, 67,
+ 237, 238, 0, 0, 58, 65, 48, 222, 224, 0,
+ 0, 0, 0, 0, 221, 0, 0, 0, 0, 223,
+ 0, 45, 46, 47, 225, 0, 0, 0, 0, 0,
+ 0, 226, 227, 0, 0, 0, 0, 0, 0, 228,
+ 229, 0, 0, 230, 52, 0, 53, 0, 0, 0,
+ 54, 0, 55, 56, 57, 0, 0, 59, 0, 0,
+ 0, 60, 0, 61, 0, 0, 0, 0, 0, 231,
+ 0, 232, 0, 0, 0, 62, 233, 63, 234, 64,
+ 235, 66, 236, 67, 237, 238, 0, 0, 58, 65,
+ 48, 222, 224, 0, 0, 0, 0, 0, 371, 120,
+ 121, 0, 0, 373, 125, 375, 46, 47, 376, 0,
+ 128, 0, 0, 0, 130, 378, 379, 0, 0, 0,
+ 0, 0, 0, 380, 381, 135, 136, 230, 52, 0,
+ 53, 0, 0, 0, 54, 0, 55, 382, 57, 0,
+ 0, 384, 0, 0, 0, 60, 0, 61, 0, -211,
+ 0, 0, 0, 385, 0, 232, 0, 0, 0, 386,
+ 387, 388, 389, 64, 391, 392, 393, 394, 395, 396,
+ 0, 0, 383, 390, 377, 372, 374, 139, 0, 0,
+ 0, 0,
- 338, 421, 450, 452, 177, 454, 480, 446, 441, 148,
- 431, 428, 182, 425, 445, 333, 156, 254, 456, 14,
- 315, 15, 313, 494, 10, 493, 311, 467, 435, 435,
- 490, 213, 475, 155, 413, 27, 345, 432, 0, 463,
- 474, 306, 0, 306, 342, 478, 175, 432, 151, 254,
- 400, 353, 392, 355, 357, 169, 394, 402, 153, 145,
- 351, 0, 112, 340, 257, 0, 306, 0, 404, 306,
- 0, 405, 0, 65, 0, 213, 0, 93, 213, 65,
- 0, 0, 65, 94, 65, 65, 95, 429, 65, 288,
- 65, 65, 65, 97, 65, 96, 98, 99, 65, 171,
- 65, 65, 186, 100, 107, 65, 65, 336, 66, 151,
- 309, 289, 65, 105, 448, 65, 407, 65, 306, 447,
- 290, 65, 65, 487, 484, 65, 65, 73, 112, 181,
- 151, 65, 82, 186, 65, 306, 404, 184, 270, 405,
- 65, 0, 77, 274, 65, 292, 74, 65, 65, 483,
- 65, 65, 482, 291, 0, 65, 89, 448, 348, 334,
- 241, 65, 65, 447, 485, 65, 65, 65, 65, 0,
- 75, 103, 102, 65, 65, 72, 307, 65, 302, 0,
- 101, 0, 274, 274, 174, 0, 65, 302, 302, 302,
- 297, 274, 274, 274, 274, 277, 65, 302, 65, 65,
- 304, 274, 274, 274, 274, 0, 294, 299, 0, 323,
- 301, 321, 65, 317, 0, 65, 65, 274, 0, 330,
- 274, 274, 282, 293, 0, 65, 0, 0, 0, 320,
- 274, 0, 295, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 65, 0, 486, 0, 0, 0, 0, 0,
+ 437, 499, 181, 419, 21, 263, 500, 427, 431, 486,
+ 435, 19, 183, 441, 447, 438, 21, 481, 484, 480,
+ 473, 312, 33, 462, 469, 451, 260, 434, 21, 11,
+ 452, 188, 219, 162, 161, 460, 456, 458, 118, 351,
+ 359, 344, 441, 151, 357, 406, 346, 175, 312, 438,
+ 398, 348, 317, 159, 496, 339, 319, 321, 400, 408,
+ 157, 361, 363, 154, 219, 0, 312, 219, 71, 0,
+ 0, 312, 99, 0, 0, 312, 71, 0, 454, 312,
+ 0, 71, 0, 0, 71, 101, 71, 71, 0, 297,
+ 71, 71, 298, 410, 71, 296, 411, 71, 111, 295,
+ 71, 113, 106, 157, 71, 294, 71, 313, 100, 71,
+ 413, 490, 315, 71, 83, 80, 340, 71, 71, 71,
+ 342, 453, 105, 71, 71, 488, 454, 71, 71, 79,
+ 78, 71, 177, 71, 72, 453, 71, 71, 493, 0,
+ 81, 260, 276, 71, 354, 491, 71, 280, 492, 71,
+ 410, 489, 247, 411, 71, 71, 0, 71, 71, 95,
+ 192, 109, 103, 71, 157, 71, 71, 71, 104, 192,
+ 102, 190, 107, 71, 71, 0, 71, 0, 71, 71,
+ 88, 308, 108, 280, 280, 300, 280, 71, 71, 180,
+ 305, 71, 280, 280, 71, 0, 280, 283, 0, 280,
+ 303, 299, 308, 310, 71, 71, 323, 280, 308, 280,
+ 280, 288, 301, 280, 71, 308, 308, 0, 0, 280,
+ 280, 280, 0, 0, 336, 0, 0, 0, 118, 187,
+ 329, 326, 0, 0, 0, 0, 0, 327, 307, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0};
+ 0, 0, 0, 0, 0};
const int JavaScriptGrammar::action_check [] = {
- 48, 36, 61, 7, 76, 1, 8, 29, 2, 48,
- 7, 76, 48, 76, 1, 33, 2, 74, 1, 36,
- 36, 29, 7, 61, 29, 36, 60, 60, 17, 29,
- 33, 8, 61, 76, 29, 55, 60, 29, 31, 7,
- 55, 8, 33, 0, 7, 55, 16, 29, 7, 20,
- 8, 60, 36, 8, 33, 36, 55, 8, 36, 60,
- 8, 7, 60, 29, 33, 7, 2, 17, 33, 29,
- 60, 8, 36, 29, 7, 29, 29, 7, 5, 55,
- 60, 7, 5, 2, 36, 29, 48, 36, 5, 36,
- 33, 7, 7, 7, 29, 36, 36, 36, 29, 33,
- 10, 8, 8, 8, 8, 7, 6, 8, 29, 8,
- 8, 8, 7, 8, 8, 36, 61, 62, 8, 1,
- 20, 8, 40, 61, 62, 8, -1, 40, 50, 61,
- 62, 33, 54, 51, 8, -1, 29, 40, 51, 33,
- 29, 61, 62, 8, 0, 55, 8, -1, 51, 29,
- 42, 29, 8, 60, 60, 60, 60, 56, 12, 8,
- 61, 53, 60, 60, 50, 29, 56, 40, 54, 56,
- 61, 62, 7, 56, 12, 15, 61, 62, 51, 25,
- 15, 27, 29, 8, 29, -1, 60, 8, 29, 12,
- 55, 84, 38, -1, 34, 84, 36, 61, 62, 61,
- 62, -1, -1, 57, 84, 8, 84, 15, 29, 63,
- 15, -1, 61, 62, 61, 62, 61, 62, -1, 57,
- 61, 62, 18, 19, -1, 63, 34, -1, 36, 34,
- -1, 36, 18, 19, 57, -1, 61, 62, 18, 19,
- 63, 18, 19, -1, 23, 24, -1, -1, -1, 45,
- 46, -1, -1, 32, -1, -1, 35, 60, 37, 45,
- 46, 23, 24, 84, -1, 45, 46, -1, 45, 46,
- 32, 23, 24, 35, -1, 37, -1, -1, 23, 24,
- 32, -1, -1, 35, 25, 37, 27, 32, -1, -1,
- 35, -1, 37, 23, 24, -1, -1, 38, -1, -1,
- -1, 31, 32, 23, 24, 35, -1, 37, -1, -1,
- -1, 31, 32, 23, 24, 35, -1, 37, -1, -1,
- -1, 31, 32, 23, 24, 35, -1, 37, -1, -1,
- -1, 31, 32, -1, -1, 35, -1, 37, -1, -1,
- 23, 24, -1, -1, -1, -1, 23, 24, 31, 32,
- -1, -1, 35, -1, 37, 32, -1, -1, 35, -1,
- 37, 12, 13, -1, -1, -1, -1, -1, -1, -1,
- -1, 22, -1, -1, -1, -1, -1, -1, 29, -1,
- -1, -1, 33, 34, -1, 36, -1, 12, 13, -1,
- -1, -1, 43, -1, -1, -1, 47, 22, -1, -1,
- -1, -1, -1, -1, 29, -1, -1, -1, 33, 34,
- 3, 36, -1, -1, 65, -1, 67, -1, 43, -1,
- 13, -1, 47, -1, 17, -1, -1, 78, 79, 80,
- -1, -1, -1, 26, -1, 28, -1, -1, -1, -1,
- 65, -1, 67, -1, -1, -1, 39, -1, 41, 42,
- -1, -1, 3, 78, 79, 80, 49, -1, -1, 52,
- 53, -1, 13, -1, -1, 58, 17, -1, -1, -1,
- -1, 64, -1, -1, -1, 26, -1, 28, -1, -1,
- 31, -1, -1, -1, 77, -1, -1, -1, 39, -1,
- 41, 42, -1, -1, 3, -1, -1, -1, 49, -1,
- -1, 52, 53, -1, 13, -1, -1, 58, 17, -1,
- -1, -1, -1, 64, -1, -1, -1, 26, -1, 28,
- -1, -1, -1, -1, -1, -1, 77, -1, -1, -1,
- 39, -1, 41, 42, -1, -1, -1, -1, -1, -1,
- 49, -1, -1, 52, 53, -1, -1, -1, -1, 58,
- -1, -1, -1, -1, -1, 64, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 77, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 11, 12,
- 13, -1, -1, -1, -1, -1, -1, -1, -1, 22,
+ 55, 76, 1, 7, 7, 29, 55, 36, 36, 7,
+ 7, 33, 31, 61, 16, 7, 17, 48, 60, 8,
+ 55, 2, 60, 29, 60, 36, 36, 7, 7, 1,
+ 17, 8, 48, 29, 29, 76, 7, 60, 29, 33,
+ 65, 0, 85, 29, 29, 33, 8, 29, 8, 33,
+ 2, 8, 7, 36, 29, 60, 7, 7, 36, 33,
+ 36, 29, 2, 33, 20, 55, 7, 60, 5, 5,
+ 5, 29, 1, 36, 8, 29, 76, 1, 85, 7,
+ 33, 29, 2, 48, 29, 7, 7, 36, 61, 36,
+ 36, 60, 8, 60, 36, 7, 8, 36, 36, 8,
+ 33, 6, 8, 10, 8, 48, 8, 8, -1, -1,
+ 76, 55, 33, 74, 40, 20, 29, 8, 8, 29,
+ 7, 29, 8, -1, 33, 51, 36, 8, 15, 61,
+ 61, 62, 50, 50, 61, 62, 54, 54, 61, 62,
+ 40, 40, 61, 62, 8, 42, 61, 62, 55, 8,
+ 8, 51, 51, 29, 60, 8, 53, 61, 60, 60,
+ 12, 29, 40, 61, 62, 61, 62, 29, 12, 60,
+ 60, 84, 8, 51, 60, 56, 84, 25, 25, 27,
+ 27, -1, 25, 25, 27, 27, 8, -1, 15, 29,
+ 38, 38, 56, 61, 62, 38, 38, 29, 29, 61,
+ 62, 60, 60, 56, 25, 57, 27, 34, 84, 36,
+ 25, 63, 27, 57, 25, 29, 27, 38, 25, 63,
+ 27, 61, 62, 38, 8, 56, 8, 38, 15, 61,
+ 62, 38, 25, 25, 27, 27, 8, 12, -1, 61,
+ 62, 55, 25, -1, 27, 38, 38, 34, 25, 36,
+ 27, -1, 15, 84, 25, 38, 27, 29, 18, 19,
+ -1, 38, 18, 19, -1, -1, -1, 38, -1, -1,
+ 84, 34, -1, 36, -1, -1, -1, 61, 62, 61,
+ 62, -1, 57, 23, 24, 45, 46, -1, 63, 45,
+ 46, -1, 32, 23, 24, 35, -1, 37, -1, 23,
+ 24, -1, 32, -1, -1, 35, -1, 37, 32, 23,
+ 24, 35, 84, 37, -1, 23, 24, -1, 32, -1,
+ -1, 35, -1, 37, 32, 18, 19, 35, -1, 37,
+ -1, -1, -1, 12, 13, -1, -1, -1, -1, -1,
+ -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
+ 29, -1, 45, 46, 33, 34, -1, 36, -1, 12,
+ 13, -1, -1, -1, 43, -1, -1, -1, 47, 22,
-1, -1, -1, -1, -1, -1, 29, -1, -1, -1,
- 33, 34, -1, 36, -1, -1, -1, 40, -1, 42,
- 43, 44, -1, -1, 47, -1, -1, -1, 51, -1,
- 53, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 65, -1, 67, -1, 69, -1, 71, -1,
- 73, -1, -1, -1, -1, 78, 79, 80, -1, -1,
- -1, -1, -1, -1, 11, 12, 13, -1, -1, -1,
- -1, -1, -1, -1, -1, 22, -1, -1, -1, -1,
- -1, -1, 29, -1, -1, -1, 33, 34, -1, 36,
- -1, -1, -1, 40, -1, 42, 43, 44, -1, -1,
- 47, -1, -1, -1, 51, -1, 53, -1, -1, 56,
- -1, -1, -1, -1, -1, -1, -1, -1, 65, -1,
- 67, -1, 69, -1, 71, -1, 73, -1, -1, -1,
- -1, 78, 79, 80, -1, -1, -1, -1, -1, -1,
- 11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
- -1, 22, -1, -1, -1, -1, -1, -1, 29, -1,
- -1, -1, 33, 34, -1, 36, -1, -1, -1, 40,
- -1, 42, 43, 44, -1, -1, 47, -1, -1, -1,
- 51, -1, 53, -1, -1, 56, -1, -1, -1, -1,
- -1, -1, -1, -1, 65, -1, 67, -1, 69, -1,
- 71, -1, 73, -1, -1, -1, -1, 78, 79, 80,
- -1, -1, -1, -1, -1, -1, 7, -1, -1, -1,
+ 33, 34, -1, 36, -1, -1, 65, -1, 67, -1,
+ 43, -1, 3, -1, 47, 23, 24, -1, -1, 78,
+ 79, 80, 13, 31, 32, -1, 17, 35, -1, 37,
+ -1, -1, 65, -1, 67, 26, -1, 28, -1, -1,
+ 31, -1, -1, -1, -1, 78, 79, 80, 39, -1,
+ 41, 42, -1, -1, -1, -1, -1, -1, 49, -1,
+ -1, 52, 53, -1, -1, -1, -1, 58, -1, -1,
+ -1, -1, -1, 64, -1, -1, -1, -1, -1, -1,
+ 3, -1, -1, -1, -1, -1, 77, -1, -1, -1,
+ 13, -1, -1, -1, 17, -1, -1, -1, -1, -1,
+ -1, -1, -1, 26, -1, 28, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 39, -1, 41, 42,
+ -1, -1, -1, -1, -1, -1, 49, -1, -1, 52,
+ 53, -1, -1, -1, -1, 58, -1, -1, -1, -1,
+ -1, 64, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 77, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 11, 12, 13, -1, -1,
+ -1, -1, -1, -1, -1, -1, 22, -1, -1, -1,
+ -1, -1, -1, 29, -1, -1, -1, 33, 34, -1,
+ 36, -1, -1, -1, 40, -1, 42, 43, 44, -1,
+ -1, 47, -1, -1, -1, 51, -1, 53, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 65,
+ -1, 67, -1, 69, -1, 71, -1, 73, -1, -1,
+ -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
+ -1, -1, 11, 12, 13, -1, -1, -1, -1, -1,
+ -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
+ 29, -1, -1, -1, 33, 34, -1, 36, -1, -1,
+ -1, 40, -1, 42, 43, 44, -1, -1, 47, -1,
+ -1, -1, 51, -1, 53, -1, -1, 56, -1, -1,
+ -1, -1, -1, -1, -1, -1, 65, -1, 67, -1,
+ 69, -1, 71, -1, 73, -1, -1, -1, -1, 78,
+ 79, 80, -1, -1, -1, -1, -1, -1, -1, 7,
+ -1, -1, -1, 11, 12, 13, -1, -1, -1, -1,
+ -1, -1, -1, -1, 22, -1, -1, -1, -1, -1,
+ -1, 29, -1, -1, -1, 33, 34, -1, 36, -1,
+ -1, -1, 40, -1, 42, 43, 44, -1, -1, 47,
+ -1, -1, -1, 51, -1, 53, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 65, -1, 67,
+ -1, 69, -1, 71, -1, 73, -1, -1, -1, -1,
+ 78, 79, 80, -1, -1, -1, -1, -1, -1, -1,
11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
-1, 22, -1, -1, -1, -1, -1, -1, 29, -1,
-1, -1, 33, 34, -1, 36, -1, -1, -1, 40,
-1, 42, 43, 44, -1, -1, 47, -1, -1, -1,
51, -1, 53, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 65, -1, 67, -1, 69, -1,
- 71, -1, 73, -1, -1, -1, -1, 78, 79, 80,
- -1, -1, -1, -1, -1, -1, 11, 12, 13, -1,
- -1, -1, -1, -1, -1, -1, -1, 22, -1, -1,
- -1, -1, -1, -1, 29, -1, -1, -1, 33, 34,
- -1, 36, -1, -1, -1, 40, -1, 42, 43, 44,
- -1, -1, 47, -1, -1, -1, 51, -1, 53, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 65, -1, 67, -1, 69, -1, 71, 72, 73, -1,
- -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
- -1, -1, 4, 5, 6, -1, -1, 9, 10, 11,
- -1, -1, 14, -1, 16, -1, -1, -1, 20, 21,
- 22, -1, -1, -1, -1, -1, -1, 29, 30, 31,
- 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 43, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
- -1, -1, -1, -1, 66, 67, 68, -1, 70, 71,
- 72, 73, 74, 75, -1, -1, 78, 79, 80, 81,
- 82, 83, -1, -1, -1, 4, 5, 6, -1, -1,
- 9, 10, 11, -1, -1, 14, -1, 16, -1, -1,
- -1, 20, 21, 22, -1, -1, -1, -1, -1, -1,
- 29, 30, 31, 32, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 43, -1, -1, -1, 47, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 59, -1, -1, -1, -1, -1, 65, 66, 67, 68,
- -1, 70, 71, 72, 73, 74, 75, -1, -1, 78,
- 79, 80, 81, 82, 83, -1, -1, -1, 4, 5,
+ 71, 72, 73, -1, -1, -1, -1, 78, 79, 80,
+ -1, -1, -1, -1, -1, -1, -1, 11, 12, 13,
+ -1, -1, -1, -1, -1, -1, -1, -1, 22, -1,
+ -1, -1, -1, -1, -1, 29, -1, -1, -1, 33,
+ 34, -1, 36, -1, -1, -1, 40, -1, 42, 43,
+ 44, -1, -1, 47, -1, -1, -1, 51, -1, 53,
+ -1, -1, 56, -1, -1, -1, -1, -1, -1, -1,
+ -1, 65, -1, 67, -1, 69, -1, 71, -1, 73,
+ -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
+ -1, -1, -1, -1, 4, 5, 6, -1, -1, 9,
+ 10, 11, -1, -1, 14, -1, 16, -1, -1, -1,
+ 20, 21, 22, -1, -1, -1, -1, -1, -1, 29,
+ 30, 31, 32, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 43, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
+ -1, -1, -1, -1, -1, -1, 66, 67, 68, -1,
+ 70, 71, 72, 73, 74, 75, -1, -1, 78, 79,
+ 80, 81, 82, 83, -1, -1, -1, -1, 4, 5,
6, -1, -1, 9, 10, 11, -1, -1, 14, -1,
16, -1, -1, -1, 20, 21, 22, -1, -1, -1,
-1, -1, -1, 29, 30, 31, 32, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 43, -1, -1,
- -1, 47, -1, -1, -1, -1, -1, -1, -1, 55,
+ -1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 59, -1, -1, -1, -1, -1, 65,
66, 67, 68, -1, 70, 71, 72, 73, 74, 75,
-1, -1, 78, 79, 80, 81, 82, 83, -1, -1,
- -1, 4, -1, -1, -1, -1, 9, -1, 11, 12,
- 13, 14, -1, -1, -1, -1, -1, -1, 21, 22,
- -1, -1, -1, -1, -1, -1, 29, 30, -1, -1,
- 33, 34, -1, 36, -1, -1, -1, 40, -1, 42,
- 43, 44, -1, -1, 47, -1, -1, -1, 51, -1,
- 53, -1, -1, -1, -1, -1, 59, -1, 61, -1,
- -1, -1, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, -1, -1, 78, 79, 80, 81, 82,
+ -1, -1, 4, 5, 6, -1, -1, 9, 10, 11,
+ -1, -1, 14, -1, 16, -1, -1, -1, 20, 21,
+ 22, -1, -1, -1, -1, -1, -1, 29, 30, 31,
+ 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 43, -1, -1, -1, 47, -1, -1, -1, -1,
+ -1, -1, -1, 55, -1, -1, -1, 59, -1, -1,
+ -1, -1, -1, 65, 66, 67, 68, -1, 70, 71,
+ 72, 73, 74, 75, -1, -1, 78, 79, 80, 81,
+ 82, 83, -1, -1, -1, -1, 4, -1, -1, -1,
+ -1, 9, -1, 11, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, 21, 22, -1, -1, -1, -1, -1,
+ -1, 29, 30, -1, -1, 33, 34, -1, 36, -1,
+ -1, -1, 40, -1, 42, 43, 44, -1, -1, 47,
+ -1, -1, -1, 51, -1, 53, -1, -1, -1, -1,
+ -1, 59, -1, 61, -1, -1, -1, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, -1, -1,
+ 78, 79, 80, 81, 82, -1, -1, -1, -1, -1,
+ 4, -1, -1, -1, -1, 9, -1, 11, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, 21, 22, -1,
+ -1, -1, -1, -1, -1, 29, 30, -1, -1, 33,
+ 34, -1, 36, -1, -1, -1, 40, -1, 42, 43,
+ 44, -1, -1, 47, -1, -1, -1, 51, -1, 53,
+ -1, -1, -1, -1, -1, 59, -1, 61, -1, -1,
+ -1, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, -1, -1, 78, 79, 80, 81, 82, -1,
-1, -1, -1, -1, 4, -1, -1, -1, -1, 9,
-1, 11, 12, 13, 14, -1, -1, -1, -1, -1,
-1, 21, 22, -1, -1, -1, -1, -1, -1, 29,
@@ -569,55 +575,46 @@ const int JavaScriptGrammar::action_check [] = {
-1, 51, -1, 53, -1, -1, -1, -1, -1, 59,
-1, 61, -1, -1, -1, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, -1, -1, 78, 79,
- 80, 81, 82, -1, -1, -1, -1, 4, -1, -1,
- -1, -1, 9, -1, 11, 12, 13, 14, -1, -1,
- -1, -1, -1, -1, 21, 22, -1, -1, -1, -1,
- -1, -1, 29, 30, -1, -1, 33, 34, -1, 36,
- -1, -1, -1, 40, -1, 42, 43, 44, -1, -1,
- 47, -1, -1, -1, 51, -1, 53, -1, -1, -1,
- -1, -1, 59, -1, 61, -1, -1, -1, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, -1,
- -1, 78, 79, 80, 81, 82, -1, -1, -1, -1,
- 4, 5, 6, -1, -1, 9, 10, 11, 12, 13,
- 14, -1, 16, -1, -1, -1, 20, 21, 22, -1,
- -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
- 34, -1, 36, -1, -1, -1, 40, -1, 42, 43,
- 44, -1, -1, 47, -1, -1, -1, 51, -1, 53,
- -1, 55, -1, -1, -1, 59, -1, 61, -1, -1,
- -1, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, 75, -1, -1, 78, 79, 80, 81, 82, 83,
- -1, -1, -1,
+ 80, 81, 82, -1, -1, -1, -1, -1, 4, 5,
+ 6, -1, -1, 9, 10, 11, 12, 13, 14, -1,
+ 16, -1, -1, -1, 20, 21, 22, -1, -1, -1,
+ -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
+ 36, -1, -1, -1, 40, -1, 42, 43, 44, -1,
+ -1, 47, -1, -1, -1, 51, -1, 53, -1, 55,
+ -1, -1, -1, 59, -1, 61, -1, -1, -1, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ -1, -1, 78, 79, 80, 81, 82, 83, -1, -1,
+ -1, -1,
- 6, 81, 7, 6, 13, 7, 7, 51, 83, 13,
- 66, 66, 7, 78, 51, 72, 47, 6, 6, 3,
- 6, 3, 7, 1, 1, 4, 6, 70, 51, 51,
- 6, 6, 13, 4, 7, 7, 85, 7, -1, 13,
- 9, 7, -1, 7, 6, 13, 13, 7, 13, 6,
- 13, 7, 13, 6, 6, 13, 15, 6, 13, 7,
- 6, -1, 16, 7, 7, -1, 7, -1, 18, 7,
- -1, 21, -1, 24, -1, 6, -1, 28, 6, 24,
- -1, -1, 24, 28, 24, 24, 28, 7, 24, 29,
- 24, 24, 24, 29, 24, 29, 29, 29, 24, 38,
- 24, 24, 26, 29, 34, 24, 24, 48, 27, 13,
- 48, 29, 24, 36, 26, 24, 20, 24, 7, 26,
- 29, 24, 24, 26, 26, 24, 24, 26, 16, 17,
- 13, 24, 30, 26, 24, 7, 18, 20, 24, 21,
- 24, -1, 32, 29, 24, 29, 26, 24, 24, 26,
- 24, 24, 26, 29, -1, 24, 29, 26, 86, 48,
- 91, 24, 24, 26, 26, 24, 24, 24, 24, -1,
- 27, 30, 30, 24, 24, 26, 48, 24, 24, -1,
- 30, -1, 29, 29, 40, -1, 24, 24, 24, 24,
- 37, 29, 29, 29, 29, 33, 24, 24, 24, 24,
- 46, 29, 29, 29, 29, -1, 31, 35, -1, 46,
- 46, 46, 24, 39, -1, 24, 24, 29, -1, 46,
- 29, 29, 31, 31, -1, 24, -1, -1, -1, 41,
- 29, -1, 31, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 24, -1, 26, -1, -1, -1, -1, -1,
+ 69, 7, 16, 10, 6, 10, 2, 84, 81, 10,
+ 10, 2, 16, 54, 86, 10, 6, 16, 16, 12,
+ 73, 10, 10, 9, 16, 54, 9, 69, 6, 5,
+ 54, 10, 9, 50, 7, 10, 10, 9, 19, 88,
+ 10, 9, 54, 10, 9, 16, 10, 16, 10, 10,
+ 16, 9, 9, 16, 9, 75, 10, 9, 18, 9,
+ 16, 9, 9, 16, 9, -1, 10, 9, 27, -1,
+ -1, 10, 31, -1, -1, 10, 27, -1, 29, 10,
+ -1, 27, -1, -1, 27, 31, 27, 27, -1, 32,
+ 27, 27, 32, 21, 27, 32, 24, 27, 39, 32,
+ 27, 37, 32, 16, 27, 32, 27, 51, 31, 27,
+ 23, 29, 51, 27, 35, 29, 51, 27, 27, 27,
+ 51, 29, 32, 27, 27, 29, 29, 27, 27, 29,
+ 29, 27, 41, 27, 30, 29, 27, 27, 29, -1,
+ 30, 9, 27, 27, 89, 29, 27, 32, 29, 27,
+ 21, 29, 94, 24, 27, 27, -1, 27, 27, 32,
+ 29, 33, 32, 27, 16, 27, 27, 27, 32, 29,
+ 32, 23, 33, 27, 27, -1, 27, -1, 27, 27,
+ 33, 27, 33, 32, 32, 34, 32, 27, 27, 43,
+ 38, 27, 32, 32, 27, -1, 32, 36, -1, 32,
+ 40, 34, 27, 49, 27, 27, 42, 32, 27, 32,
+ 32, 34, 34, 32, 27, 27, 27, -1, -1, 32,
+ 32, 32, -1, -1, 49, -1, -1, -1, 19, 20,
+ 49, 44, -1, -1, -1, -1, -1, 49, 49, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1};
+ -1, -1, -1, -1, -1};
diff --git a/src/declarative/qml/parser/javascriptgrammar_p.h b/src/declarative/qml/parser/javascriptgrammar_p.h
index 3cc3307..6f2debf 100644
--- a/src/declarative/qml/parser/javascriptgrammar_p.h
+++ b/src/declarative/qml/parser/javascriptgrammar_p.h
@@ -7,8 +7,8 @@ class JavaScriptGrammar
public:
enum {
EOF_SYMBOL = 0,
- REDUCE_HERE = 86,
- SHIFT_THERE = 85,
+ REDUCE_HERE = 87,
+ SHIFT_THERE = 86,
T_AND = 1,
T_AND_AND = 2,
T_AND_EQ = 3,
@@ -43,6 +43,7 @@ public:
T_GT_GT_GT_EQ = 28,
T_IDENTIFIER = 29,
T_IF = 30,
+ T_IMPORT = 85,
T_IN = 31,
T_INSTANCEOF = 32,
T_LBRACE = 33,
@@ -95,14 +96,14 @@ public:
T_XOR_EQ = 77,
ACCEPT_STATE = 7,
- RULE_COUNT = 283,
- STATE_COUNT = 497,
- TERMINAL_COUNT = 87,
- NON_TERMINAL_COUNT = 93,
+ RULE_COUNT = 288,
+ STATE_COUNT = 503,
+ TERMINAL_COUNT = 88,
+ NON_TERMINAL_COUNT = 96,
- GOTO_INDEX_OFFSET = 497,
- GOTO_INFO_OFFSET = 1543,
- GOTO_CHECK_OFFSET = 1543
+ GOTO_INDEX_OFFSET = 503,
+ GOTO_INFO_OFFSET = 1522,
+ GOTO_CHECK_OFFSET = 1522
};
static const char *const spell [];
diff --git a/src/declarative/qml/parser/javascriptlexer.cpp b/src/declarative/qml/parser/javascriptlexer.cpp
index 58d8c53..e1c2960 100644
--- a/src/declarative/qml/parser/javascriptlexer.cpp
+++ b/src/declarative/qml/parser/javascriptlexer.cpp
@@ -287,6 +287,10 @@ int JavaScript::Lexer::findReservedWord(const QChar *c, int size) const
&& c[2] == QLatin1Char('p') && c[3] == QLatin1Char('e')
&& c[4] == QLatin1Char('o') && c[5] == QLatin1Char('f'))
return JavaScriptGrammar::T_TYPEOF;
+ else if (c[0] == QLatin1Char('i') && c[1] == QLatin1Char('m')
+ && c[2] == QLatin1Char('p') && c[3] == QLatin1Char('o')
+ && c[4] == QLatin1Char('r') && c[5] == QLatin1Char('t'))
+ return JavaScriptGrammar::T_IMPORT;
else if (check_reserved) {
if (c[0] == QLatin1Char('e') && c[1] == QLatin1Char('x')
&& c[2] == QLatin1Char('p') && c[3] == QLatin1Char('o')
diff --git a/src/declarative/qml/parser/javascriptparser.cpp b/src/declarative/qml/parser/javascriptparser.cpp
index 7e95ec7..adcd8a3 100644
--- a/src/declarative/qml/parser/javascriptparser.cpp
+++ b/src/declarative/qml/parser/javascriptparser.cpp
@@ -163,27 +163,52 @@ bool JavaScriptParser::parse(JavaScriptEnginePrivate *driver)
switch (r) {
case 0: {
- sym(1).Node = makeAstNode<AST::UiProgram> (driver->nodePool(), sym(1).UiObjectMemberList->finish());
+ sym(1).Node = makeAstNode<AST::UiProgram> (driver->nodePool(), sym(2).UiObjectMemberList->finish());
} break;
case 2: {
- sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(), sym(1).UiObjectMember);
+ sym(1).Node = sym(1).UiImportList->finish();
+} break;
+
+case 3: {
+ sym(1).Node = makeAstNode<AST::UiImportList> (driver->nodePool(), sym(1).UiImport);
} break;
-case 3:
+
case 4: {
+ sym(1).Node = makeAstNode<AST::UiImportList> (driver->nodePool(),
+ sym(1).UiImportList, sym(2).UiImport);
+} break;
+
+case 6: {
+ AST::UiImport *node = makeAstNode<AST::UiImport>(driver->nodePool(), sym(2).sval);
+ node->importToken = loc(1);
+ node->fileNameToken = loc(2);
+ node->semicolonToken = loc(3);
+ sym(1).Node = node;
+} break;
+
+case 7: {
+ sym(1).Node = 0;
+} break;
+
+case 8: {
+ sym(1).Node = makeAstNode<AST::UiObjectMemberList> (driver->nodePool(), sym(1).UiObjectMember);
+} break;
+
+case 9: {
AST::UiObjectMemberList *node = makeAstNode<AST:: UiObjectMemberList> (driver->nodePool(),
- sym(1).UiObjectMemberList, sym(3).UiObjectMember);
+ sym(1).UiObjectMemberList, sym(2).UiObjectMember);
sym(1).Node = node;
} break;
-case 5: {
+case 10: {
AST::UiObjectInitializer *node = makeAstNode<AST::UiObjectInitializer> (driver->nodePool(), sym(2).UiObjectMemberList->finish());
node->lbraceToken = loc(1);
node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
-case 6: {
+case 11: {
AST::UiObjectBinding *node = makeAstNode<AST::UiObjectBinding> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
sym(3).sval, sym(4).UiObjectInitializer);
node->colonToken = loc(2);
@@ -191,14 +216,14 @@ case 6: {
sym(1).Node = node;
} break;
-case 7: {
+case 12: {
AST::UiObjectDefinition *node = makeAstNode<AST::UiObjectDefinition> (driver->nodePool(), sym(1).sval,
sym(2).UiObjectInitializer);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 8: {
+case 13: {
AST::UiArrayBinding *node = makeAstNode<AST::UiArrayBinding> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
sym(4).UiObjectMemberList->finish());
node->colonToken = loc(2);
@@ -207,14 +232,14 @@ case 8: {
sym(1).Node = node;
} break;
-case 9: {
+case 14: {
AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
sym(3).Statement);
node->colonToken = loc(2);
sym(1).Node = node;
} break;
-case 10: {
+case 15: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(2).sval, sym(3).sval,
sym(5).Expression, sym(6).UiObjectInitializer);
node->publicToken = loc(1);
@@ -224,7 +249,7 @@ case 10: {
sym(1).Node = node;
} break;
-case 11: {
+case 16: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(2).sval, sym(3).sval);
node->publicToken = loc(1);
node->attributeTypeToken = loc(2);
@@ -232,7 +257,7 @@ case 11: {
sym(1).Node = node;
} break;
-case 12: {
+case 17: {
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(2).sval, sym(3).sval,
sym(5).Expression, static_cast<AST::UiObjectInitializer *>(0));
node->publicToken = loc(1);
@@ -242,61 +267,61 @@ case 12: {
sym(1).Node = node;
} break;
-case 13: {
+case 18: {
AST::UiQualifiedId *node = makeAstNode<AST::UiQualifiedId> (driver->nodePool(), sym(1).sval);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 14: {
+case 19: {
AST::UiQualifiedId *node = makeAstNode<AST::UiQualifiedId> (driver->nodePool(), sym(1).UiQualifiedId, sym(3).sval);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 15: {
+case 20: {
AST::ThisExpression *node = makeAstNode<AST::ThisExpression> (driver->nodePool());
node->thisToken = loc(1);
sym(1).Node = node;
} break;
-case 16: {
+case 21: {
AST::IdentifierExpression *node = makeAstNode<AST::IdentifierExpression> (driver->nodePool(), sym(1).sval);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 17: {
+case 22: {
AST::NullExpression *node = makeAstNode<AST::NullExpression> (driver->nodePool());
node->nullToken = loc(1);
sym(1).Node = node;
} break;
-case 18: {
+case 23: {
AST::TrueLiteral *node = makeAstNode<AST::TrueLiteral> (driver->nodePool());
node->trueToken = loc(1);
sym(1).Node = node;
} break;
-case 19: {
+case 24: {
AST::FalseLiteral *node = makeAstNode<AST::FalseLiteral> (driver->nodePool());
node->falseToken = loc(1);
sym(1).Node = node;
} break;
-case 20: {
+case 25: {
AST::NumericLiteral *node = makeAstNode<AST::NumericLiteral> (driver->nodePool(), sym(1).dval);
node->literalToken = loc(1);
sym(1).Node = node;
} break;
-case 21: {
+case 26: {
AST::StringLiteral *node = makeAstNode<AST::StringLiteral> (driver->nodePool(), sym(1).sval);
node->literalToken = loc(1);
sym(1).Node = node;
} break;
-case 22: {
+case 27: {
bool rx = lexer->scanRegExp(Lexer::NoPrefix);
if (!rx) {
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, lexer->startLineNo(),
@@ -308,7 +333,7 @@ case 22: {
sym(1).Node = node;
} break;
-case 23: {
+case 28: {
bool rx = lexer->scanRegExp(Lexer::EqualPrefix);
if (!rx) {
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, lexer->startLineNo(),
@@ -320,91 +345,81 @@ case 23: {
sym(1).Node = node;
} break;
-case 24: {
+case 29: {
sym(1).Node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), sym(2).Elision);
} break;
-case 25: {
+case 30: {
sym(1).Node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), sym(2).ElementList->finish ());
} break;
-case 26: {
+case 31: {
sym(1).Node = makeAstNode<AST::ArrayLiteral> (driver->nodePool(), sym(2).ElementList->finish (), sym(4).Elision);
} break;
-case 27: {
+case 32: {
if (sym(2).Node)
sym(1).Node = makeAstNode<AST::ObjectLiteral> (driver->nodePool(), sym(2).PropertyNameAndValueList->finish ());
else
sym(1).Node = makeAstNode<AST::ObjectLiteral> (driver->nodePool());
} break;
-case 28: {
+case 33: {
sym(1).Node = makeAstNode<AST::ObjectLiteral> (driver->nodePool(), sym(2).PropertyNameAndValueList->finish ());
} break;
-case 29: {
+case 34: {
sym(1) = sym(2);
} break;
-case 30: {
+case 35: {
sym(1).Node = makeAstNode<AST::ElementList> (driver->nodePool(), sym(1).Elision, sym(2).Expression);
} break;
-case 31: {
+case 36: {
sym(1).Node = makeAstNode<AST::ElementList> (driver->nodePool(), sym(1).ElementList, sym(3).Elision, sym(4).Expression);
} break;
-case 32: {
+case 37: {
sym(1).Node = makeAstNode<AST::Elision> (driver->nodePool());
} break;
-case 33: {
+case 38: {
sym(1).Node = makeAstNode<AST::Elision> (driver->nodePool(), sym(1).Elision);
} break;
-case 34: {
+case 39: {
sym(1).Node = 0;
} break;
-case 35: {
+case 40: {
sym(1).Elision = sym(1).Elision->finish ();
} break;
-case 36: {
+case 41: {
sym(1).Node = makeAstNode<AST::PropertyNameAndValueList> (driver->nodePool(), sym(1).PropertyName, sym(3).Expression);
} break;
-case 37: {
+case 42: {
sym(1).Node = makeAstNode<AST::PropertyNameAndValueList> (driver->nodePool(), sym(1).PropertyNameAndValueList, sym(3).PropertyName, sym(5).Expression);
} break;
-case 38: {
+case 43: {
sym(1).Node = makeAstNode<AST::IdentifierPropertyName> (driver->nodePool(), sym(1).sval);
} break;
-case 39: {
+case 44: {
sym(1).Node = makeAstNode<AST::StringLiteralPropertyName> (driver->nodePool(), sym(1).sval);
} break;
-case 40: {
+case 45: {
sym(1).Node = makeAstNode<AST::NumericLiteralPropertyName> (driver->nodePool(), sym(1).dval);
} break;
-case 41: {
+case 46: {
sym(1).Node = makeAstNode<AST::IdentifierPropertyName> (driver->nodePool(), sym(1).sval);
} break;
-case 42:
-
-case 43:
-
-case 44:
-
-case 45:
-
-case 46:
-
case 47:
case 48:
@@ -456,22 +471,32 @@ case 70:
case 71:
case 72:
+
+case 73:
+
+case 74:
+
+case 75:
+
+case 76:
+
+case 77:
{
sym(1).sval = driver->intern(lexer->characterBuffer(), lexer->characterCount());
} break;
-case 77: {
+case 82: {
sym(1).Node = makeAstNode<AST::ArrayMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
} break;
-case 78: {
+case 83: {
AST::FieldMemberExpression *node = makeAstNode<AST::FieldMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).sval);
node->dotToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 79: {
+case 84: {
AST::NewMemberExpression *node = makeAstNode<AST::NewMemberExpression> (driver->nodePool(), sym(2).Expression, sym(4).ArgumentList);
node->newToken = loc(1);
node->lparenToken = loc(3);
@@ -479,541 +504,541 @@ case 79: {
sym(1).Node = node;
} break;
-case 81: {
+case 86: {
AST::NewExpression *node = makeAstNode<AST::NewExpression> (driver->nodePool(), sym(2).Expression);
node->newToken = loc(1);
sym(1).Node = node;
} break;
-case 82: {
+case 87: {
AST::CallExpression *node = makeAstNode<AST::CallExpression> (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList);
node->lparenToken = loc(2);
node->rparenToken = loc(4);
sym(1).Node = node;
} break;
-case 83: {
+case 88: {
AST::CallExpression *node = makeAstNode<AST::CallExpression> (driver->nodePool(), sym(1).Expression, sym(3).ArgumentList);
node->lparenToken = loc(2);
node->rparenToken = loc(4);
sym(1).Node = node;
} break;
-case 84: {
+case 89: {
sym(1).Node = makeAstNode<AST::ArrayMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
} break;
-case 85: {
+case 90: {
AST::FieldMemberExpression *node = makeAstNode<AST::FieldMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).sval);
node->dotToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 86: {
+case 91: {
sym(1).Node = 0;
} break;
-case 87: {
+case 92: {
sym(1).Node = sym(1).ArgumentList->finish();
} break;
-case 88: {
+case 93: {
sym(1).Node = makeAstNode<AST::ArgumentList> (driver->nodePool(), sym(1).Expression);
} break;
-case 89: {
+case 94: {
AST::ArgumentList *node = makeAstNode<AST::ArgumentList> (driver->nodePool(), sym(1).ArgumentList, sym(3).Expression);
node->commaToken = loc(2);
sym(1).Node = node;
} break;
-case 93: {
+case 98: {
sym(1).Node = makeAstNode<AST::PostIncrementExpression> (driver->nodePool(), sym(1).Expression);
} break;
-case 94: {
+case 99: {
sym(1).Node = makeAstNode<AST::PostDecrementExpression> (driver->nodePool(), sym(1).Expression);
} break;
-case 96: {
+case 101: {
sym(1).Node = makeAstNode<AST::DeleteExpression> (driver->nodePool(), sym(2).Expression);
} break;
-case 97: {
+case 102: {
sym(1).Node = makeAstNode<AST::VoidExpression> (driver->nodePool(), sym(2).Expression);
} break;
-case 98: {
+case 103: {
sym(1).Node = makeAstNode<AST::TypeOfExpression> (driver->nodePool(), sym(2).Expression);
} break;
-case 99: {
+case 104: {
sym(1).Node = makeAstNode<AST::PreIncrementExpression> (driver->nodePool(), sym(2).Expression);
} break;
-case 100: {
+case 105: {
sym(1).Node = makeAstNode<AST::PreDecrementExpression> (driver->nodePool(), sym(2).Expression);
} break;
-case 101: {
+case 106: {
sym(1).Node = makeAstNode<AST::UnaryPlusExpression> (driver->nodePool(), sym(2).Expression);
} break;
-case 102: {
+case 107: {
sym(1).Node = makeAstNode<AST::UnaryMinusExpression> (driver->nodePool(), sym(2).Expression);
} break;
-case 103: {
+case 108: {
sym(1).Node = makeAstNode<AST::TildeExpression> (driver->nodePool(), sym(2).Expression);
} break;
-case 104: {
+case 109: {
sym(1).Node = makeAstNode<AST::NotExpression> (driver->nodePool(), sym(2).Expression);
} break;
-case 106: {
+case 111: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Mul, sym(3).Expression);
} break;
-case 107: {
+case 112: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Div, sym(3).Expression);
} break;
-case 108: {
+case 113: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Mod, sym(3).Expression);
} break;
-case 110: {
+case 115: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Add, sym(3).Expression);
} break;
-case 111: {
+case 116: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Sub, sym(3).Expression);
} break;
-case 113: {
+case 118: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::LShift, sym(3).Expression);
} break;
-case 114: {
+case 119: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::RShift, sym(3).Expression);
} break;
-case 115: {
+case 120: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::URShift, sym(3).Expression);
} break;
-case 117: {
+case 122: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression);
} break;
-case 118: {
+case 123: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression);
} break;
-case 119: {
+case 124: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression);
} break;
-case 120: {
+case 125: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression);
} break;
-case 121: {
+case 126: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression);
} break;
-case 122: {
+case 127: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::In, sym(3).Expression);
} break;
-case 124: {
+case 129: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression);
} break;
-case 125: {
+case 130: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression);
} break;
-case 126: {
+case 131: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression);
} break;
-case 127: {
+case 132: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression);
} break;
-case 128: {
+case 133: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression);
} break;
-case 130: {
+case 135: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Equal, sym(3).Expression);
} break;
-case 131: {
+case 136: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::NotEqual, sym(3).Expression);
} break;
-case 132: {
+case 137: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression);
} break;
-case 133: {
+case 138: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::StrictNotEqual, sym(3).Expression);
} break;
-case 135: {
+case 140: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Equal, sym(3).Expression);
} break;
-case 136: {
+case 141: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::NotEqual, sym(3).Expression);
} break;
-case 137: {
+case 142: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::StrictEqual, sym(3).Expression);
} break;
-case 138: {
+case 143: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::StrictNotEqual, sym(3).Expression);
} break;
-case 140: {
+case 145: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitAnd, sym(3).Expression);
} break;
-case 142: {
+case 147: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitAnd, sym(3).Expression);
} break;
-case 144: {
+case 149: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitXor, sym(3).Expression);
} break;
-case 146: {
+case 151: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitXor, sym(3).Expression);
} break;
-case 148: {
+case 153: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitOr, sym(3).Expression);
} break;
-case 150: {
+case 155: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::BitOr, sym(3).Expression);
} break;
-case 152: {
+case 157: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::And, sym(3).Expression);
} break;
-case 154: {
+case 159: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::And, sym(3).Expression);
} break;
-case 156: {
+case 161: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Or, sym(3).Expression);
} break;
-case 158: {
+case 163: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Or, sym(3).Expression);
} break;
-case 160: {
+case 165: {
sym(1).Node = makeAstNode<AST::ConditionalExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression, sym(5).Expression);
} break;
-case 162: {
+case 167: {
sym(1).Node = makeAstNode<AST::ConditionalExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression, sym(5).Expression);
} break;
-case 164: {
+case 169: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, sym(2).ival, sym(3).Expression);
} break;
-case 166: {
+case 171: {
sym(1).Node = makeAstNode<AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, sym(2).ival, sym(3).Expression);
} break;
-case 167: {
+case 172: {
sym(1).ival = QSOperator::Assign;
} break;
-case 168: {
+case 173: {
sym(1).ival = QSOperator::InplaceMul;
} break;
-case 169: {
+case 174: {
sym(1).ival = QSOperator::InplaceDiv;
} break;
-case 170: {
+case 175: {
sym(1).ival = QSOperator::InplaceMod;
} break;
-case 171: {
+case 176: {
sym(1).ival = QSOperator::InplaceAdd;
} break;
-case 172: {
+case 177: {
sym(1).ival = QSOperator::InplaceSub;
} break;
-case 173: {
+case 178: {
sym(1).ival = QSOperator::InplaceLeftShift;
} break;
-case 174: {
+case 179: {
sym(1).ival = QSOperator::InplaceRightShift;
} break;
-case 175: {
+case 180: {
sym(1).ival = QSOperator::InplaceURightShift;
} break;
-case 176: {
+case 181: {
sym(1).ival = QSOperator::InplaceAnd;
} break;
-case 177: {
+case 182: {
sym(1).ival = QSOperator::InplaceXor;
} break;
-case 178: {
+case 183: {
sym(1).ival = QSOperator::InplaceOr;
} break;
-case 180: {
+case 185: {
sym(1).Node = makeAstNode<AST::Expression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
} break;
-case 181: {
+case 186: {
sym(1).Node = 0;
} break;
-case 184: {
+case 189: {
sym(1).Node = makeAstNode<AST::Expression> (driver->nodePool(), sym(1).Expression, sym(3).Expression);
} break;
-case 185: {
+case 190: {
sym(1).Node = 0;
} break;
-case 202: {
+case 207: {
sym(1).Node = makeAstNode<AST::Block> (driver->nodePool(), sym(2).StatementList);
} break;
-case 203: {
+case 208: {
sym(1).Node = makeAstNode<AST::StatementList> (driver->nodePool(), sym(1).Statement);
} break;
-case 204: {
+case 209: {
sym(1).Node = makeAstNode<AST::StatementList> (driver->nodePool(), sym(1).StatementList, sym(2).Statement);
} break;
-case 205: {
+case 210: {
sym(1).Node = 0;
} break;
-case 206: {
+case 211: {
sym(1).Node = sym(1).StatementList->finish ();
} break;
-case 208: {
+case 213: {
AST::VariableStatement *node = makeAstNode<AST::VariableStatement> (driver->nodePool(), sym(2).VariableDeclarationList->finish (/*readOnly=*/sym(1).ival == T_CONST));
node->declarationKindToken = loc(1);
node->semicolonToken = loc(3);
sym(1).Node = node;
} break;
-case 209: {
+case 214: {
sym(1).ival = T_CONST;
} break;
-case 210: {
+case 215: {
sym(1).ival = T_VAR;
} break;
-case 211: {
+case 216: {
sym(1).Node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclaration);
} break;
-case 212: {
+case 217: {
sym(1).Node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration);
} break;
-case 213: {
+case 218: {
sym(1).Node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclaration);
} break;
-case 214: {
+case 219: {
sym(1).Node = makeAstNode<AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration);
} break;
-case 215: {
+case 220: {
AST::VariableDeclaration *node = makeAstNode<AST::VariableDeclaration> (driver->nodePool(), sym(1).sval, sym(2).Expression);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 216: {
+case 221: {
AST::VariableDeclaration *node = makeAstNode<AST::VariableDeclaration> (driver->nodePool(), sym(1).sval, sym(2).Expression);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 217: {
+case 222: {
sym(1) = sym(2);
} break;
-case 218: {
+case 223: {
sym(1).Node = 0;
} break;
-case 220: {
+case 225: {
sym(1) = sym(2);
} break;
-case 221: {
+case 226: {
sym(1).Node = 0;
} break;
-case 223: {
+case 228: {
sym(1).Node = makeAstNode<AST::EmptyStatement> (driver->nodePool());
} break;
-case 225: {
+case 230: {
AST::ExpressionStatement *node = makeAstNode<AST::ExpressionStatement> (driver->nodePool(), sym(1).Expression);
node->semicolonToken = loc(2);
sym(1).Node = node;
} break;
-case 226: {
+case 231: {
sym(1).Node = makeAstNode<AST::IfStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement, sym(7).Statement);
} break;
-case 227: {
+case 232: {
sym(1).Node = makeAstNode<AST::IfStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement);
} break;
-case 229: {
+case 234: {
sym(1).Node = makeAstNode<AST::DoWhileStatement> (driver->nodePool(), sym(2).Statement, sym(5).Expression);
} break;
-case 230: {
+case 235: {
sym(1).Node = makeAstNode<AST::WhileStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement);
} break;
-case 231: {
+case 236: {
sym(1).Node = makeAstNode<AST::ForStatement> (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Expression, sym(9).Statement);
} break;
-case 232: {
+case 237: {
sym(1).Node = makeAstNode<AST::LocalForStatement> (driver->nodePool(), sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression, sym(8).Expression, sym(10).Statement);
} break;
-case 233: {
+case 238: {
sym(1).Node = makeAstNode<AST::ForEachStatement> (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Statement);
} break;
-case 234: {
+case 239: {
sym(1).Node = makeAstNode<AST::LocalForEachStatement> (driver->nodePool(), sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement);
} break;
-case 236: {
+case 241: {
sym(1).Node = makeAstNode<AST::ContinueStatement> (driver->nodePool());
} break;
-case 238: {
+case 243: {
sym(1).Node = makeAstNode<AST::ContinueStatement> (driver->nodePool(), sym(2).sval);
} break;
-case 240: {
+case 245: {
sym(1).Node = makeAstNode<AST::BreakStatement> (driver->nodePool());
} break;
-case 242: {
+case 247: {
sym(1).Node = makeAstNode<AST::BreakStatement> (driver->nodePool(), sym(2).sval);
} break;
-case 244: {
+case 249: {
sym(1).Node = makeAstNode<AST::ReturnStatement> (driver->nodePool(), sym(2).Expression);
} break;
-case 245: {
+case 250: {
sym(1).Node = makeAstNode<AST::WithStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement);
} break;
-case 246: {
+case 251: {
sym(1).Node = makeAstNode<AST::SwitchStatement> (driver->nodePool(), sym(3).Expression, sym(5).CaseBlock);
} break;
-case 247: {
+case 252: {
sym(1).Node = makeAstNode<AST::CaseBlock> (driver->nodePool(), sym(2).CaseClauses);
} break;
-case 248: {
+case 253: {
sym(1).Node = makeAstNode<AST::CaseBlock> (driver->nodePool(), sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses);
} break;
-case 249: {
+case 254: {
sym(1).Node = makeAstNode<AST::CaseClauses> (driver->nodePool(), sym(1).CaseClause);
} break;
-case 250: {
+case 255: {
sym(1).Node = makeAstNode<AST::CaseClauses> (driver->nodePool(), sym(1).CaseClauses, sym(2).CaseClause);
} break;
-case 251: {
+case 256: {
sym(1).Node = 0;
} break;
-case 252: {
+case 257: {
sym(1).Node = sym(1).CaseClauses->finish ();
} break;
-case 253: {
+case 258: {
sym(1).Node = makeAstNode<AST::CaseClause> (driver->nodePool(), sym(2).Expression, sym(4).StatementList);
} break;
-case 254: {
+case 259: {
sym(1).Node = makeAstNode<AST::DefaultClause> (driver->nodePool(), sym(3).StatementList);
} break;
-case 255: {
+case 260: {
sym(1).Node = makeAstNode<AST::LabelledStatement> (driver->nodePool(), sym(1).sval, sym(3).Statement);
} break;
-case 257: {
+case 262: {
sym(1).Node = makeAstNode<AST::ThrowStatement> (driver->nodePool(), sym(2).Expression);
} break;
-case 258: {
+case 263: {
sym(1).Node = makeAstNode<AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Catch);
} break;
-case 259: {
+case 264: {
sym(1).Node = makeAstNode<AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Finally);
} break;
-case 260: {
+case 265: {
sym(1).Node = makeAstNode<AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Catch, sym(4).Finally);
} break;
-case 261: {
+case 266: {
sym(1).Node = makeAstNode<AST::Catch> (driver->nodePool(), sym(3).sval, sym(5).Statement);
} break;
-case 262: {
+case 267: {
sym(1).Node = makeAstNode<AST::Finally> (driver->nodePool(), sym(2).Statement);
} break;
-case 264: {
+case 269: {
sym(1).Node = makeAstNode<AST::DebuggerStatement> (driver->nodePool());
} break;
-case 265: {
+case 270: {
AST::FunctionDeclaration *node = makeAstNode<AST::FunctionDeclaration> (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody);
node->functionToken = loc(1);
node->identifierToken = loc(2);
@@ -1024,7 +1049,7 @@ case 265: {
sym(1).Node = node;
} break;
-case 266: {
+case 271: {
AST::FunctionExpression *node = makeAstNode<AST::FunctionExpression> (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody);
node->functionToken = loc(1);
if (sym(2).sval)
@@ -1036,56 +1061,56 @@ case 266: {
sym(1).Node = node;
} break;
-case 267: {
+case 272: {
AST::FormalParameterList *node = makeAstNode<AST::FormalParameterList> (driver->nodePool(), sym(1).sval);
node->identifierToken = loc(1);
sym(1).Node = node;
} break;
-case 268: {
+case 273: {
AST::FormalParameterList *node = makeAstNode<AST::FormalParameterList> (driver->nodePool(), sym(1).FormalParameterList, sym(3).sval);
node->commaToken = loc(2);
node->identifierToken = loc(3);
sym(1).Node = node;
} break;
-case 269: {
+case 274: {
sym(1).Node = 0;
} break;
-case 270: {
+case 275: {
sym(1).Node = sym(1).FormalParameterList->finish ();
} break;
-case 271: {
+case 276: {
sym(1).Node = 0;
} break;
-case 273: {
+case 278: {
sym(1).Node = makeAstNode<AST::FunctionBody> (driver->nodePool(), sym(1).SourceElements->finish ());
} break;
-case 274: {
+case 279: {
sym(1).Node = makeAstNode<AST::SourceElements> (driver->nodePool(), sym(1).SourceElement);
} break;
-case 275: {
+case 280: {
sym(1).Node = makeAstNode<AST::SourceElements> (driver->nodePool(), sym(1).SourceElements, sym(2).SourceElement);
} break;
-case 276: {
+case 281: {
sym(1).Node = makeAstNode<AST::StatementSourceElement> (driver->nodePool(), sym(1).Statement);
} break;
-case 277: {
+case 282: {
sym(1).Node = makeAstNode<AST::FunctionSourceElement> (driver->nodePool(), sym(1).FunctionDeclaration);
} break;
-case 278: {
+case 283: {
sym(1).sval = 0;
} break;
-case 280: {
+case 285: {
sym(1).Node = 0;
} break;
diff --git a/src/declarative/qml/parser/javascriptparser_p.h b/src/declarative/qml/parser/javascriptparser_p.h
index 5a47cb0..071da1f 100644
--- a/src/declarative/qml/parser/javascriptparser_p.h
+++ b/src/declarative/qml/parser/javascriptparser_p.h
@@ -101,6 +101,8 @@ public:
JavaScript::AST::VariableDeclarationList *VariableDeclarationList;
JavaScript::AST::UiProgram *UiProgram;
+ JavaScript::AST::UiImportList *UiImportList;
+ JavaScript::AST::UiImport *UiImport;
JavaScript::AST::UiPublicMember *UiPublicMember;
JavaScript::AST::UiObjectDefinition *UiObjectDefinition;
JavaScript::AST::UiObjectInitializer *UiObjectInitializer;
@@ -201,9 +203,9 @@ protected:
};
-#define J_SCRIPT_REGEXPLITERAL_RULE1 22
+#define J_SCRIPT_REGEXPLITERAL_RULE1 27
-#define J_SCRIPT_REGEXPLITERAL_RULE2 23
+#define J_SCRIPT_REGEXPLITERAL_RULE2 28
QT_END_NAMESPACE