From 224316b515ed42411c43e1be8997c2d8faedc45e Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Thu, 22 Nov 2012 09:39:22 +0100 Subject: [PATCH] Accept missing semicolon after do-while statement. Although not valid according to ECMA 5.1, both JSC and V8 accept a missing semicolon after a do-while loop. (Both JSC and V8 do not do this through automatic semicolon insertion, but handle it as a special case.) Change-Id: Iff2b07b894564740d2dcbf9b1d46bc279d30b9e3 Reviewed-by: Alan Alpert --- src/qml/qml/parser/parser.pri | 3 + src/qml/qml/parser/qqmljs.g | 35 +- src/qml/qml/parser/qqmljsgrammar.cpp | 1612 ++++++++++---------- src/qml/qml/parser/qqmljsgrammar_p.h | 43 +- src/qml/qml/parser/qqmljsparser.cpp | 106 +- src/qml/qml/parser/qqmljsparser_p.h | 11 +- .../qqmlecmascript/data/compatibilitySemicolon.qml | 13 + .../auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp | 8 + tools/qmlmin/main.cpp | 6 +- 9 files changed, 970 insertions(+), 867 deletions(-) create mode 100644 tests/auto/qml/qqmlecmascript/data/compatibilitySemicolon.qml diff --git a/src/qml/qml/parser/parser.pri b/src/qml/qml/parser/parser.pri index 7dba8bc..e5b8ae2 100644 --- a/src/qml/qml/parser/parser.pri +++ b/src/qml/qml/parser/parser.pri @@ -17,3 +17,6 @@ SOURCES += \ $$PWD/qqmljsgrammar.cpp \ $$PWD/qqmljslexer.cpp \ $$PWD/qqmljsparser.cpp \ + +OTHER_FILES += \ + $$PWD/qqmljs.g diff --git a/src/qml/qml/parser/qqmljs.g b/src/qml/qml/parser/qqmljs.g index e71ad63..a32123f 100644 --- a/src/qml/qml/parser/qqmljs.g +++ b/src/qml/qml/parser/qqmljs.g @@ -23,7 +23,7 @@ %parser QQmlJSGrammar %decl qqmljsparser_p.h -%impl qdeclarativejsparser.cpp +%impl qqmljsparser.cpp %expect 2 %expect-rr 2 @@ -60,6 +60,7 @@ %token T_RESERVED_WORD "reserved word" %token T_MULTILINE_STRING_LITERAL "multiline string literal" %token T_COMMENT "comment" +%token T_COMPATIBILITY_SEMICOLON --- context keywords. %token T_PUBLIC "public" @@ -190,12 +191,19 @@ // // -// This file is automatically generated from qmljs.g. -// Changes will be lost. +// W A R N I N G +// ------------- +// +// This file is automatically generated from qqmljs.g. +// Changes should be made to that file, not here. Any change to this file will +// be lost! +// +// To regenerate this file, run: +// qlalr --no-debug --no-lines --qt qqmljs.g // -#ifndef QDECLARATIVEJSPARSER_P_H -#define QDECLARATIVEJSPARSER_P_H +#ifndef QQMLJSPARSER_P_H +#define QQMLJSPARSER_P_H #include "qqmljsglobal_p.h" #include "qqmljsgrammar_p.h" @@ -383,8 +391,15 @@ protected: #include // -// This file is automatically generated from qmljs.g. -// Changes will be lost. +// W A R N I N G +// ------------- +// +// This file is automatically generated from qqmljs.g. +// Changes should be made to that file, not here. Any change to this file will +// be lost! +// +// To regenerate this file, run: +// qlalr --no-debug --no-lines --qt qqmljs.g // using namespace QQmlJS; @@ -2425,6 +2440,7 @@ case $rule_number: { IterationStatement: T_DO Statement T_WHILE T_LPAREN Expression T_RPAREN T_AUTOMATIC_SEMICOLON ; -- automatic semicolon +IterationStatement: T_DO Statement T_WHILE T_LPAREN Expression T_RPAREN T_COMPATIBILITY_SEMICOLON ; -- for JSC/V8 compatibility IterationStatement: T_DO Statement T_WHILE T_LPAREN Expression T_RPAREN T_SEMICOLON ; /. case $rule_number: { @@ -2889,7 +2905,8 @@ PropertyNameAndValueListOpt: PropertyNameAndValueList ; const int errorState = state_stack[tos]; // automatic insertion of `;' - if (yytoken != -1 && t_action(errorState, T_AUTOMATIC_SEMICOLON) && lexer->canInsertAutomaticSemicolon(yytoken)) { + if (yytoken != -1 && ((t_action(errorState, T_AUTOMATIC_SEMICOLON) && lexer->canInsertAutomaticSemicolon(yytoken)) + || t_action(errorState, T_COMPATIBILITY_SEMICOLON))) { SavedToken &tk = token_buffer[0]; tk.token = yytoken; tk.dval = yylval; @@ -3014,5 +3031,5 @@ QT_QML_END_NAMESPACE -#endif // QDECLARATIVEJSPARSER_P_H +#endif // QQMLJSPARSER_P_H :/ diff --git a/src/qml/qml/parser/qqmljsgrammar.cpp b/src/qml/qml/parser/qqmljsgrammar.cpp index 6f011ad..7000786 100644 --- a/src/qml/qml/parser/qqmljsgrammar.cpp +++ b/src/qml/qml/parser/qqmljsgrammar.cpp @@ -3,7 +3,7 @@ ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** -** This file is part of the QtCore module of the Qt Toolkit. +** This file is part of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage @@ -53,46 +53,46 @@ const char *const QQmlJSGrammar::spell [] = { "||", "+", "+=", "++", "?", "}", "]", "%", "%=", "return", ")", ";", 0, "*", "*=", "string literal", "property", "signal", "readonly", "switch", "this", "throw", "~", "try", "typeof", "var", "void", "while", "with", "^", - "^=", "null", "true", "false", "const", "debugger", "reserved word", "multiline string literal", "comment", "public", - "import", "as", "on", 0, 0, 0, 0, 0, 0, 0, - 0, 0}; + "^=", "null", "true", "false", "const", "debugger", "reserved word", "multiline string literal", "comment", 0, + "public", "import", "as", "on", 0, 0, 0, 0, 0, 0, + 0, 0, 0}; const short QQmlJSGrammar::lhs [] = { - 102, 102, 102, 102, 102, 102, 103, 109, 109, 112, - 112, 114, 113, 113, 113, 113, 113, 113, 113, 113, - 116, 111, 110, 119, 119, 120, 120, 121, 121, 118, - 107, 107, 107, 107, 123, 123, 123, 123, 123, 123, - 123, 107, 131, 131, 131, 132, 132, 133, 133, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 117, 117, 117, 117, - 117, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 122, - 138, 138, 138, 138, 137, 137, 140, 140, 142, 142, - 142, 142, 142, 142, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 144, 144, 115, 115, 115, - 115, 115, 147, 147, 148, 148, 148, 148, 146, 146, - 149, 149, 150, 150, 151, 151, 151, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 153, 153, 153, - 153, 154, 154, 154, 155, 155, 155, 155, 156, 156, - 156, 156, 156, 156, 156, 157, 157, 157, 157, 157, - 157, 158, 158, 158, 158, 158, 159, 159, 159, 159, - 159, 160, 160, 161, 161, 162, 162, 163, 163, 164, - 164, 165, 165, 166, 166, 167, 167, 168, 168, 169, - 169, 170, 170, 171, 171, 141, 141, 172, 172, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 105, 105, 174, 174, 175, 175, 176, 176, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 104, 124, 185, 185, 184, 184, 135, - 135, 186, 186, 187, 187, 189, 189, 188, 190, 193, - 191, 191, 194, 192, 192, 125, 126, 126, 127, 127, - 177, 177, 177, 177, 177, 177, 177, 178, 178, 178, - 178, 179, 179, 179, 179, 180, 180, 128, 129, 195, - 195, 198, 198, 196, 196, 199, 197, 181, 181, 181, - 182, 182, 130, 130, 130, 200, 201, 183, 183, 134, - 145, 205, 205, 202, 202, 203, 203, 206, 108, 108, - 207, 207, 106, 106, 204, 204, 139, 139, 208}; + 103, 103, 103, 103, 103, 103, 104, 110, 110, 113, + 113, 115, 114, 114, 114, 114, 114, 114, 114, 114, + 117, 112, 111, 120, 120, 121, 121, 122, 122, 119, + 108, 108, 108, 108, 124, 124, 124, 124, 124, 124, + 124, 108, 132, 132, 132, 133, 133, 134, 134, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 118, 118, 118, 118, + 118, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 123, + 139, 139, 139, 139, 138, 138, 141, 141, 143, 143, + 143, 143, 143, 143, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 145, 145, 116, 116, 116, + 116, 116, 148, 148, 149, 149, 149, 149, 147, 147, + 150, 150, 151, 151, 152, 152, 152, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 154, 154, 154, + 154, 155, 155, 155, 156, 156, 156, 156, 157, 157, + 157, 157, 157, 157, 157, 158, 158, 158, 158, 158, + 158, 159, 159, 159, 159, 159, 160, 160, 160, 160, + 160, 161, 161, 162, 162, 163, 163, 164, 164, 165, + 165, 166, 166, 167, 167, 168, 168, 169, 169, 170, + 170, 171, 171, 172, 172, 142, 142, 173, 173, 174, + 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 106, 106, 175, 175, 176, 176, 177, 177, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 125, 186, 186, 185, 185, 136, + 136, 187, 187, 188, 188, 190, 190, 189, 191, 194, + 192, 192, 195, 193, 193, 126, 127, 127, 128, 128, + 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, + 179, 179, 180, 180, 180, 180, 181, 181, 129, 130, + 196, 196, 199, 199, 197, 197, 200, 198, 182, 182, + 182, 183, 183, 131, 131, 131, 201, 202, 184, 184, + 135, 146, 206, 206, 203, 203, 204, 204, 207, 109, + 109, 208, 208, 107, 107, 205, 205, 140, 140, 209}; const short QQmlJSGrammar::rhs [] = { 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, @@ -124,18 +124,18 @@ const short QQmlJSGrammar::rhs [] = { 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, 3, 3, 4, 5, 2, 2, 2, 8, - 8, 1, 3, 0, 1, 0, 1, 1, 1, 1, - 1, 2, 1, 1, 0, 1, 0, 1, 2}; + 7, 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, 3, 3, 4, 5, 2, 2, 2, + 8, 8, 1, 3, 0, 1, 0, 1, 1, 1, + 1, 1, 2, 1, 1, 0, 1, 0, 1, 2}; const short QQmlJSGrammar::action_default [] = { 0, 0, 22, 0, 0, 0, 22, 0, 175, 242, 206, 214, 210, 154, 226, 202, 3, 139, 73, 155, 218, 222, 143, 172, 153, 158, 138, 192, 179, 0, - 80, 81, 76, 345, 67, 347, 0, 0, 0, 0, + 80, 81, 76, 346, 67, 348, 0, 0, 0, 0, 78, 0, 0, 74, 77, 71, 0, 0, 68, 70, 69, 79, 72, 0, 75, 0, 0, 168, 0, 0, 155, 174, 157, 156, 0, 0, 0, 170, 171, 169, @@ -150,347 +150,348 @@ const short QQmlJSGrammar::action_default [] = { 0, 239, 232, 230, 237, 238, 236, 235, 241, 234, 233, 231, 240, 227, 0, 215, 0, 0, 219, 0, 0, 223, 0, 0, 149, 141, 0, 140, 0, 145, - 159, 0, 346, 334, 335, 0, 332, 0, 333, 0, - 336, 250, 257, 256, 264, 252, 0, 253, 337, 0, - 344, 254, 255, 260, 258, 341, 338, 343, 261, 0, - 272, 0, 0, 0, 0, 345, 67, 0, 347, 68, + 159, 0, 347, 335, 336, 0, 333, 0, 334, 0, + 337, 250, 257, 256, 264, 252, 0, 253, 338, 0, + 345, 254, 255, 260, 258, 342, 339, 344, 261, 0, + 272, 0, 0, 0, 0, 346, 67, 0, 348, 68, 244, 286, 69, 0, 0, 0, 273, 0, 0, 262, - 263, 0, 251, 259, 287, 288, 331, 342, 0, 302, - 303, 304, 305, 0, 298, 299, 300, 301, 328, 329, - 0, 0, 0, 0, 0, 291, 292, 248, 246, 208, - 216, 212, 228, 204, 249, 0, 155, 220, 224, 197, - 186, 0, 0, 205, 0, 0, 0, 0, 198, 0, - 0, 0, 0, 0, 190, 188, 191, 189, 187, 200, - 199, 201, 0, 213, 0, 209, 0, 247, 155, 0, - 229, 244, 245, 0, 244, 0, 0, 294, 0, 0, - 0, 296, 0, 217, 0, 0, 221, 0, 0, 225, - 284, 0, 276, 285, 279, 0, 283, 0, 244, 277, - 0, 244, 0, 0, 295, 0, 0, 0, 297, 346, - 334, 0, 0, 336, 0, 330, 0, 320, 0, 0, - 0, 290, 0, 289, 0, 348, 0, 104, 266, 269, - 0, 105, 272, 108, 133, 110, 111, 76, 115, 116, - 67, 117, 120, 74, 77, 68, 244, 69, 79, 123, - 72, 125, 75, 127, 128, 273, 130, 131, 135, 0, - 97, 0, 0, 99, 103, 101, 88, 100, 102, 0, - 98, 87, 267, 265, 143, 144, 149, 0, 142, 0, - 319, 0, 306, 307, 0, 318, 0, 0, 0, 309, - 314, 312, 315, 0, 0, 313, 314, 0, 310, 0, - 311, 268, 317, 0, 268, 316, 0, 321, 322, 0, - 268, 323, 324, 0, 0, 325, 0, 0, 0, 326, - 327, 161, 160, 0, 0, 0, 293, 0, 0, 0, - 308, 281, 274, 0, 282, 278, 0, 280, 270, 0, - 271, 275, 91, 0, 0, 95, 82, 0, 84, 93, - 0, 85, 94, 96, 86, 92, 83, 0, 89, 165, - 163, 167, 164, 162, 166, 339, 6, 340, 4, 2, - 65, 90, 0, 0, 68, 70, 69, 31, 5, 0, - 66, 0, 45, 44, 43, 0, 0, 58, 0, 59, - 35, 36, 37, 38, 40, 41, 62, 39, 0, 45, - 0, 0, 0, 0, 0, 54, 0, 55, 0, 0, - 26, 0, 0, 63, 27, 0, 30, 28, 24, 0, - 29, 25, 0, 56, 0, 57, 143, 0, 60, 64, - 0, 0, 0, 0, 61, 0, 52, 46, 53, 47, - 0, 0, 0, 0, 49, 0, 50, 51, 48, 0, - 0, 143, 268, 0, 0, 42, 105, 272, 108, 133, - 110, 111, 76, 115, 116, 67, 117, 120, 74, 77, - 68, 244, 69, 79, 123, 72, 125, 75, 127, 128, - 273, 130, 131, 135, 0, 32, 33, 0, 34, 8, - 0, 10, 0, 9, 0, 1, 21, 12, 0, 13, - 0, 14, 0, 19, 20, 0, 15, 16, 0, 17, - 18, 11, 23, 7, 349}; + 263, 0, 251, 259, 287, 288, 332, 343, 0, 303, + 304, 305, 306, 0, 299, 300, 301, 302, 329, 330, + 0, 0, 0, 0, 0, 291, 292, 293, 248, 246, + 208, 216, 212, 228, 204, 249, 0, 155, 220, 224, + 197, 186, 0, 0, 205, 0, 0, 0, 0, 198, + 0, 0, 0, 0, 0, 190, 188, 191, 189, 187, + 200, 199, 201, 0, 213, 0, 209, 0, 247, 155, + 0, 229, 244, 245, 0, 244, 0, 0, 295, 0, + 0, 0, 297, 0, 217, 0, 0, 221, 0, 0, + 225, 284, 0, 276, 285, 279, 0, 283, 0, 244, + 277, 0, 244, 0, 0, 296, 0, 0, 0, 298, + 347, 335, 0, 0, 337, 0, 331, 0, 321, 0, + 0, 0, 290, 0, 289, 0, 349, 0, 104, 266, + 269, 0, 105, 272, 108, 133, 110, 111, 76, 115, + 116, 67, 117, 120, 74, 77, 68, 244, 69, 79, + 123, 72, 125, 75, 127, 128, 273, 130, 131, 135, + 0, 97, 0, 0, 99, 103, 101, 88, 100, 102, + 0, 98, 87, 267, 265, 143, 144, 149, 0, 142, + 0, 320, 0, 307, 308, 0, 319, 0, 0, 0, + 310, 315, 313, 316, 0, 0, 314, 315, 0, 311, + 0, 312, 268, 318, 0, 268, 317, 0, 322, 323, + 0, 268, 324, 325, 0, 0, 326, 0, 0, 0, + 327, 328, 161, 160, 0, 0, 0, 294, 0, 0, + 0, 309, 281, 274, 0, 282, 278, 0, 280, 270, + 0, 271, 275, 91, 0, 0, 95, 82, 0, 84, + 93, 0, 85, 94, 96, 86, 92, 83, 0, 89, + 165, 163, 167, 164, 162, 166, 340, 6, 341, 4, + 2, 65, 90, 0, 0, 68, 70, 69, 31, 5, + 0, 66, 0, 45, 44, 43, 0, 0, 58, 0, + 59, 35, 36, 37, 38, 40, 41, 62, 39, 0, + 45, 0, 0, 0, 0, 0, 54, 0, 55, 0, + 0, 26, 0, 0, 63, 27, 0, 30, 28, 24, + 0, 29, 25, 0, 56, 0, 57, 143, 0, 60, + 64, 0, 0, 0, 0, 61, 0, 52, 46, 53, + 47, 0, 0, 0, 0, 49, 0, 50, 51, 48, + 0, 0, 143, 268, 0, 0, 42, 105, 272, 108, + 133, 110, 111, 76, 115, 116, 67, 117, 120, 74, + 77, 68, 244, 69, 79, 123, 72, 125, 75, 127, + 128, 273, 130, 131, 135, 0, 32, 33, 0, 34, + 8, 0, 10, 0, 9, 0, 1, 21, 12, 0, + 13, 0, 14, 0, 19, 20, 0, 15, 16, 0, + 17, 18, 11, 23, 7, 350}; const short QQmlJSGrammar::goto_default [] = { - 7, 625, 207, 196, 205, 508, 496, 624, 643, 495, - 623, 621, 626, 22, 622, 18, 507, 549, 539, 546, - 541, 526, 191, 195, 197, 201, 233, 208, 230, 530, - 570, 569, 200, 232, 26, 474, 473, 356, 355, 9, - 354, 357, 107, 17, 145, 24, 13, 144, 19, 25, - 57, 23, 8, 28, 27, 269, 15, 263, 10, 259, - 12, 261, 11, 260, 20, 267, 21, 268, 14, 262, - 258, 299, 411, 264, 265, 202, 193, 192, 204, 203, - 229, 194, 360, 359, 231, 463, 462, 321, 322, 465, - 324, 464, 323, 419, 423, 426, 422, 421, 441, 442, + 7, 626, 207, 196, 205, 509, 497, 625, 644, 496, + 624, 622, 627, 22, 623, 18, 508, 550, 540, 547, + 542, 527, 191, 195, 197, 201, 233, 208, 230, 531, + 571, 570, 200, 232, 26, 475, 474, 357, 356, 9, + 355, 358, 107, 17, 145, 24, 13, 144, 19, 25, + 57, 23, 8, 28, 27, 270, 15, 264, 10, 260, + 12, 262, 11, 261, 20, 268, 21, 269, 14, 263, + 259, 300, 412, 265, 266, 202, 193, 192, 204, 203, + 229, 194, 361, 360, 231, 464, 463, 322, 323, 466, + 325, 465, 324, 420, 424, 427, 423, 422, 442, 443, 185, 199, 181, 184, 198, 206, 0}; const short QQmlJSGrammar::action_index [] = { - 404, 1275, 2411, 2411, 2509, 1000, 68, 92, 90, -102, - 88, 62, 60, 256, -102, 298, 86, -102, -102, 638, - 83, 134, 172, 219, -102, -102, -102, 454, 194, 1275, - -102, -102, -102, 381, -102, 2215, 1555, 1275, 1275, 1275, - -102, 790, 1275, -102, -102, -102, 1275, 1275, -102, -102, - -102, -102, -102, 1275, -102, 1275, 1275, -102, 1275, 1275, - 102, 217, -102, -102, 1275, 1275, 1275, -102, -102, -102, - 204, 1275, 304, 1275, 1275, 1275, 1275, 539, 1275, 1275, - 1275, 1275, 1275, 1275, 308, 1275, 1275, 1275, 103, 131, - 135, 308, 210, 225, 216, 308, 444, 390, 434, 1275, - 82, 1275, 100, 2117, 1275, 1275, -102, -102, -102, -102, - -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, - -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, - -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, - 139, 1275, -102, -102, 91, 10, -102, 1275, -102, -102, - 1275, -102, -102, -102, -102, -102, -102, -102, -102, -102, - -102, -102, -102, -102, 1275, 26, 1275, 1275, 69, 66, - 1275, -102, 2117, 1275, 1275, -102, 97, -102, 44, -102, - -102, 67, -102, 297, 78, 24, -102, 291, -102, 36, - 2411, -102, -102, -102, -102, -102, 234, -102, -102, 12, - -102, -102, -102, -102, -102, -102, 2411, -102, -102, 464, - -102, 461, 115, 2509, 42, 381, 58, 46, 2705, 70, - 1275, -102, 74, 57, 1275, 65, -102, 59, 61, -102, - -102, 367, -102, -102, -102, -102, -102, -102, 106, -102, - -102, -102, -102, 87, -102, -102, -102, -102, -102, -102, - 56, 55, 1275, 99, 84, -102, -102, 1461, -102, 75, - 48, 52, -102, 306, 72, 53, 579, 77, 110, 370, - 230, 381, 1275, 286, 1275, 1275, 1275, 1275, 380, 1275, - 1275, 1275, 1275, 1275, 184, 169, 166, 190, 198, 460, - 363, 353, 1275, 50, 1275, 63, 1275, -102, 638, 1275, - -102, 1275, 64, 39, 1275, 30, 2509, -102, 1275, 173, - 2509, -102, 1275, 79, 1275, 1275, 81, 80, 1275, -102, - 71, 149, 32, -102, -102, 1275, -102, 381, 1275, -102, - 73, 1275, 76, 2509, -102, 1275, 142, 2509, -102, -16, - 381, -42, -12, 2411, -39, -102, 2509, -102, 1275, 154, - 2509, 14, 2509, -102, 20, 16, -32, -102, -102, 2509, - -51, 519, -4, 511, 136, 1275, 2509, -2, -35, 395, - -1, -27, 908, 4, 6, -102, 1370, -102, 0, -36, - 27, 1275, 47, 22, 1275, 45, 1275, 21, 17, 1275, - -102, 2313, 144, -102, -102, -102, -102, -102, -102, 1275, - -102, -102, -102, -102, 274, -102, 1275, -21, -102, 2509, - -102, 138, -102, -102, 2509, -102, 1275, 132, 5, -102, - 40, -102, 41, 101, 1275, -102, 38, 34, -102, -38, - -102, 2509, -102, 105, 2509, -102, 245, -102, -102, 96, - 2509, 11, -102, -7, -11, -102, 352, 8, 18, -102, - -102, -102, -102, 1275, 129, 2509, -102, 1275, 130, 2509, - -102, 49, -102, 226, -102, -102, 1275, -102, -102, 362, - -102, -102, -102, 107, 1837, -102, -102, 1649, -102, -102, - 1743, -102, -102, -102, -102, -102, -102, 114, -102, -102, - -102, -102, -102, -102, -102, -102, -102, 2411, -102, -102, - -102, 94, 9, 818, 189, -10, 31, -102, -102, 223, - -102, 191, -102, -102, -102, 300, 178, -102, 1928, -102, - -102, -102, -102, -102, -102, -102, -102, -102, 257, -25, - 381, 195, -22, 305, 240, -102, -6, -102, 818, 127, - -102, -18, 818, -102, -102, 1184, -102, -102, -102, 1092, - -102, -102, 237, -102, 1928, -102, 294, -8, -102, -102, - 176, 381, 19, 1928, -102, 165, -102, 174, -102, 2, - -52, 381, 183, 381, -102, 117, -102, -102, -102, 2019, - 880, 285, 2607, 1555, 3, -102, 522, 35, 453, 108, - 1275, 2509, 51, 23, 475, 54, -17, 700, 7, 43, - -102, 1370, -102, 28, -3, 33, 1275, 37, 15, 1275, - 25, 1275, 1, 13, 124, -102, -102, 29, -102, -102, - 728, -102, 250, -43, 627, -102, -102, 231, 372, -102, - 222, -102, 111, -102, -102, 381, -102, -102, 104, -102, - -102, -102, -102, -102, -102, + 425, 1471, 2619, 2619, 2718, 1193, 69, 100, 86, -103, + 97, 62, 60, 236, -103, 278, 93, -103, -103, 609, + 83, 117, 266, 184, -103, -103, -103, 514, 179, 1471, + -103, -103, -103, 392, -103, 2421, 1754, 1471, 1471, 1471, + -103, 1001, 1471, -103, -103, -103, 1471, 1471, -103, -103, + -103, -103, -103, 1471, -103, 1471, 1471, -103, 1471, 1471, + 115, 169, -103, -103, 1471, 1471, 1471, -103, -103, -103, + 152, 1471, 286, 1471, 1471, 1471, 1471, 562, 1471, 1471, + 1471, 1471, 1471, 1471, 198, 1471, 1471, 1471, 87, 122, + 138, 212, 197, 183, 227, 265, 562, 504, 472, 1471, + 79, 1471, 102, 2322, 1471, 1471, -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, -103, -103, -103, + 132, 1471, -103, -103, 94, 11, -103, 1471, -103, -103, + 1471, -103, -103, -103, -103, -103, -103, -103, -103, -103, + -103, -103, -103, -103, 1471, 31, 1471, 1471, 67, 68, + 1471, -103, 2322, 1471, 1471, -103, 98, -103, 39, -103, + -103, 61, -103, 296, 66, 30, -103, 376, -103, 35, + 2619, -103, -103, -103, -103, -103, 237, -103, -103, 21, + -103, -103, -103, -103, -103, -103, 2619, -103, -103, 513, + -103, 541, 114, 2718, 36, 422, 59, 42, 2916, 75, + 1471, -103, 77, 53, 1471, 63, -103, 57, 58, -103, + -103, 407, -103, -103, -103, -103, -103, -103, 80, -103, + -103, -103, -103, 82, -103, -103, -103, -103, -103, -103, + 52, 51, 1471, 96, 200, -103, -103, -103, 1659, -103, + 76, 44, 46, -103, 298, 73, 48, 736, 78, 95, + 363, 233, 347, 1471, 303, 1471, 1471, 1471, 1471, 402, + 1471, 1471, 1471, 1471, 1471, 248, 189, 159, 167, 174, + 482, 482, 444, 1471, 7, 1471, 64, 1471, -103, 627, + 1471, -103, 1471, 65, 34, 1471, 54, 2718, -103, 1471, + 140, 2718, -103, 1471, 74, 1471, 1471, 81, 84, 1471, + -103, 71, 116, 33, -103, -103, 1471, -103, 313, 1471, + -103, 70, 1471, 72, 2718, -103, 1471, 234, 2718, -103, + -16, 324, -42, -12, 2619, -39, -103, 2718, -103, 1471, + 151, 2718, 12, 2718, -103, 20, 16, -32, -103, -103, + 2718, -52, 521, -2, 505, 129, 1471, 2718, -5, -35, + 497, 2, -24, 819, 6, 3, -103, 1567, -103, -1, + -36, 26, 1471, 47, 22, 1471, 45, 1471, 17, 15, + 1471, -103, 2520, 49, -103, -103, -103, -103, -103, -103, + 1471, -103, -103, -103, -103, 322, -103, 1471, -25, -103, + 2718, -103, 118, -103, -103, 2718, -103, 1471, 112, 8, + -103, 40, -103, 41, 106, 1471, -103, 38, 32, -103, + -38, -103, 2718, -103, 104, 2718, -103, 247, -103, -103, + 99, 2718, -6, -103, -10, -18, -103, 387, 10, 9, + -103, -103, -103, -103, 1471, 125, 2718, -103, 1471, 127, + 2718, -103, -13, -103, 187, -103, -103, 1471, -103, -103, + 398, -103, -103, -103, 110, 2039, -103, -103, 1849, -103, + -103, 1944, -103, -103, -103, -103, -103, -103, 105, -103, + -103, -103, -103, -103, -103, -103, -103, -103, 2619, -103, + -103, -103, 113, -7, 1009, 145, -8, 19, -103, -103, + 186, -103, 178, -103, -103, -103, 356, 226, -103, 2131, + -103, -103, -103, -103, -103, -103, -103, -103, -103, 322, + -26, 364, 205, 43, 316, 206, -103, -3, -103, 1009, + 107, -103, -11, 827, -103, -103, 1379, -103, -103, -103, + 1286, -103, -103, 195, -103, 2131, -103, 305, -4, -103, + -103, 209, 379, 18, 2131, -103, 182, -103, 199, -103, + 0, -53, 306, 154, 284, -103, 108, -103, -103, -103, + 2223, 918, 300, 2817, 1754, 5, -103, 549, 139, 636, + 114, 1471, 2718, 50, 24, 463, 55, -17, 910, 23, + 56, -103, 1567, -103, 27, 1, 29, 1471, 37, 14, + 1471, 25, 1471, 4, 13, 126, -103, -103, 28, -103, + -103, 1100, -103, 267, -41, 714, -103, -103, 121, 301, + -103, 215, -103, 91, -103, -103, 336, -103, -103, 89, + -103, -103, -103, -103, -103, -103, - -107, 9, -103, 2, 5, 266, 1, -107, -107, -107, - -107, -107, -107, -107, -107, -107, -107, -107, -107, -39, - -107, -107, -107, -107, -107, -107, -107, -107, -107, 86, - -107, -107, -107, 8, -107, -107, -22, 19, 71, 174, - -107, 186, 171, -107, -107, -107, 184, 178, -107, -107, - -107, -107, -107, 144, -107, 124, 150, -107, 165, 161, - -107, -107, -107, -107, 156, 160, 157, -107, -107, -107, - -107, 147, -107, 142, 135, 179, 166, -107, 177, 170, - 117, 72, 134, 92, -107, 75, 94, 66, -107, -107, - -107, -107, -107, -107, -107, -107, -107, -107, -107, 181, - -107, 106, -107, 143, 78, 55, -107, -107, -107, -107, + -107, 12, -95, 3, 6, 275, 2, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, -37, + -107, -107, -107, -107, -107, -107, -107, -107, -107, 96, + -107, -107, -107, 8, -107, -107, -17, 24, 95, 74, + -107, 85, 175, -107, -107, -107, 172, 168, -107, -107, + -107, -107, -107, 169, -107, 165, 164, -107, 156, 176, + -107, -107, -107, -107, 182, 178, 112, -107, -107, -107, + -107, 121, -107, 144, 118, 116, 117, -107, 108, 133, + 134, 137, 143, 152, -107, 147, 141, 136, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, -107, 107, + -107, 173, -107, 153, 84, 56, -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, -107, -107, -107, - -107, -5, -107, -107, -107, -107, -107, 54, -107, -107, - 51, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, -107, -107, -107, 114, -107, 113, 38, -107, -107, - 41, -107, 231, 63, 112, -107, -107, -107, -107, -107, - -107, -107, -107, 30, -107, -107, -107, 52, -107, -107, + -107, 36, -107, -107, -107, -107, -107, 30, -107, -107, + 0, -107, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, 79, -107, 99, 44, -107, -107, + 46, -107, 194, 70, 64, -107, -107, -107, -107, -107, + -107, -107, -107, 29, -107, -107, -107, 65, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, -107, -107, -107, -107, -107, 36, -107, -107, 45, - -107, 42, -107, 40, -107, 80, -107, -107, 77, -107, - 88, -107, -107, -107, 83, 74, -107, -107, -107, -107, - -107, -10, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, 80, -107, -107, 51, + -107, 48, -107, 40, -107, 34, -107, -107, 86, -107, + 88, -107, -107, -107, 78, 60, -107, -107, -107, -107, + -107, -6, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, -107, 23, -107, -107, -107, -107, 100, -107, -107, + -107, -107, 21, -107, -107, -107, -107, -107, 104, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, 4, 223, -107, 230, 236, 222, 205, -107, 127, - 125, 115, 96, 102, -107, -107, -107, -107, -107, -107, - -107, -107, 234, -107, 215, -107, 199, -107, -107, 197, - -107, 190, -107, -107, 163, -107, 90, -107, 0, -107, - -1, -107, 203, -107, 189, 211, -107, -107, 195, -107, - -107, -107, -107, -107, -107, 191, -107, 98, 119, -107, - -107, 95, -107, 81, -107, 79, -107, 82, -107, -107, - 101, -107, -107, -16, -107, -107, 53, -107, 46, -107, - 57, -107, 59, -107, -107, -107, -107, -107, -107, 35, - -107, 33, -107, 39, -107, 89, 67, -107, -107, 58, - -107, -107, 84, -107, -107, -107, 73, -107, -107, -107, - -107, 65, -107, 43, 93, -107, 109, -107, -107, 49, - -107, 47, -107, -107, -107, -107, -107, -107, -107, 50, - -107, -107, -107, -107, -107, -107, 108, -107, -107, 61, - -107, -107, -107, -107, 62, -107, 68, -107, -107, -107, - -107, -107, -23, -107, 69, -107, -19, -107, -107, -107, - -107, 97, -107, -107, 99, -107, -107, -107, -107, -107, - 60, -61, -107, -107, 34, -107, 37, -107, 29, -107, - -107, -107, -107, 32, -107, 76, -107, 44, -107, 56, - -107, -107, -107, -107, -107, -107, 31, -107, -107, 116, - -107, -107, -107, -107, -6, -107, -107, 70, -107, -107, - 64, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, -107, -107, -107, -107, -107, -107, 193, -107, -107, - -107, -107, -107, 7, -107, -107, -107, -107, -107, -107, - -107, -20, -107, -107, -107, -7, -107, -107, 290, -107, + -107, -107, 16, 201, -107, 202, 224, 223, 215, -107, + 67, 73, 75, 59, 106, -107, -107, -107, -107, -107, + -107, -107, -107, 185, -107, 208, -107, 233, -107, -107, + 234, -107, 203, -107, -107, 299, -107, 90, -107, -2, + -107, 11, -107, 181, -107, 200, 192, -107, -107, 189, + -107, -107, -107, -107, -107, -107, 199, -107, 123, 131, + -107, -107, 111, -107, 77, -107, 87, -107, 195, -107, + -107, 110, -107, -107, -50, -107, -107, 39, -107, 42, + -107, 63, -107, 66, -107, -107, -107, -107, -107, -107, + 68, -107, 43, -107, 47, -107, 92, 35, -107, -107, + 31, -107, -107, 105, -107, -107, -107, 94, -107, -107, + -107, -107, 71, -107, 54, 101, -107, 89, -107, -107, + 55, -107, 49, -107, -107, -107, -107, -107, -107, -107, + 38, -107, -107, -107, -107, -107, -107, 114, -107, -107, + 76, -107, -107, -107, -107, 91, -107, 93, -107, -107, + -107, -107, -107, -57, -107, 50, -107, -44, -107, -107, + -107, -107, 98, -107, -107, 97, -107, -107, -107, -107, + -107, 52, -42, -107, -107, 45, -107, 41, -107, 37, + -107, -107, -107, -107, 57, -107, 53, -107, 58, -107, + 62, -107, -107, -107, -107, -107, -107, 9, -107, -107, + 187, -107, -107, -107, -107, 33, -107, -107, 139, -107, + -107, 32, -107, -107, -107, -107, -107, -107, -107, -107, + -107, -107, -107, -107, -107, -107, -107, -107, 82, -107, + -107, -107, -107, -107, -11, -107, -107, -107, -107, -107, + -107, -107, -25, -107, -107, -107, -9, -107, -107, 297, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -2, -25, -107, -15, -107, -107, -107, -107, 172, -107, - -107, -107, 287, -107, -107, 288, -107, -107, -107, 291, - -107, -107, -107, -107, 336, -107, -107, 20, -107, -107, - 15, 3, -107, 304, -107, -107, -107, 24, -107, -107, - -107, 28, 21, 26, -107, -107, -107, -107, -107, 320, - 104, -107, 13, 381, -3, -107, 6, -107, 10, -107, - 167, 22, -107, -107, 12, -107, -107, 87, -107, -107, - -107, 25, -107, -107, -107, -107, 11, -107, 14, 85, - -107, 121, -107, -107, -107, -107, -107, 27, -107, -107, - 17, -107, -107, 18, 91, -107, -107, -107, 16, -107, - -107, -107, -107, -107, -107, -4, -107, -107, -107, -107, - -107, -107, -107, -107, -107}; + -107, -3, -26, -107, -10, -107, -107, -107, -107, 160, + -107, -107, -107, 120, -107, -107, 279, -107, -107, -107, + 285, -107, -107, -107, -107, 329, -107, -107, 17, -107, + -107, -13, 14, -107, 385, -107, -107, -107, 23, -107, + -107, -107, 28, 18, 20, -107, -107, -107, -107, -107, + 313, 188, -107, 26, 267, 7, -107, 5, -107, -1, + -107, 69, 19, -107, -107, 10, -107, -107, 103, -107, + -107, -107, 27, -107, -107, -107, -107, 15, -107, -5, + 61, -107, 81, -107, -107, -107, -107, -107, 13, -107, + -107, 25, -107, -107, 22, 119, -107, -107, -107, 4, + -107, -107, -107, -107, -107, -107, -15, -107, -107, -107, + -107, -107, -107, -107, -107, -107}; const short QQmlJSGrammar::action_info [] = { - 416, 257, 533, -132, 403, -113, 346, -102, 575, 348, - 572, -121, 531, -103, -121, 545, 345, 430, 342, 348, - 340, 343, 440, 401, 391, 545, 563, 389, 538, 446, - 352, 444, -129, 416, -124, -102, 545, 453, 420, 408, - -124, 431, -132, 424, -126, 424, 424, 620, 440, 457, - -103, 440, -129, 457, -126, 440, 560, 453, -113, 257, - 565, 346, 545, 335, 272, 346, 466, 236, 448, 190, - 149, 164, 141, 170, 99, 511, 272, 409, 257, 312, - 296, 414, 348, 312, 189, 164, 187, 318, 325, 71, - 306, 252, 644, 416, 141, 453, 292, 457, 440, 147, - 304, 71, 443, 183, 179, 141, 0, 141, 0, 172, - 99, 427, 434, 141, 301, 477, 444, 0, 0, 0, - 0, 0, 141, 0, 0, 0, 0, 292, 173, 294, - 58, 294, 542, 251, 331, 542, 333, 141, 141, 101, - 141, 59, 0, 58, 62, 256, 255, 141, 247, 246, - 141, 399, 0, 177, 59, 63, 428, 327, 620, 254, - 314, 101, 141, 478, 315, 640, 639, 242, 241, 249, - 248, 58, 634, 633, 488, 58, 249, 248, 577, 576, - 615, 141, 59, 543, 166, 518, 59, 172, 167, 455, - 459, 85, 418, 86, 85, 142, 86, 249, 248, 413, - 412, 567, 337, 512, 87, 512, 173, 87, 174, 85, - 328, 86, 512, 0, 350, 85, 64, 86, 529, 85, - 512, 86, 87, 85, 512, 86, 568, 566, 87, 64, - 579, 64, 87, 310, 469, 85, 87, 86, 0, 519, - 517, 85, 141, 86, 554, 0, 172, 536, 87, 514, - 85, 514, 86, 141, 87, 85, 545, 86, 514, 0, - 513, 65, 513, 87, 514, 173, 514, 66, 87, 513, - 514, 103, 172, 0, 65, 513, 65, 513, 0, 0, - 66, 513, 66, 637, 636, 0, 0, 470, 468, 172, - 104, 173, 105, 406, 0, 235, 234, 630, 555, 553, - 172, 537, 535, 0, 274, 275, 438, 437, 173, 172, - 406, 631, 629, 635, 0, 580, 73, 74, -90, 173, - 34, 174, 73, 74, 274, 275, 34, -90, 173, 34, - 174, 276, 277, 85, 34, 86, 0, 0, 0, 0, - 0, 628, 0, 75, 76, 0, 87, 0, 0, 75, - 76, 276, 277, 0, 0, 0, 0, 48, 50, 49, - 0, 0, 0, 48, 50, 49, 48, 50, 49, 0, - 0, 48, 50, 49, 0, 0, 279, 280, 0, 0, - 0, 34, 0, 45, 0, 281, 279, 280, 282, 45, - 283, 34, 45, 279, 280, 281, 34, 45, 282, 0, - 283, 34, 281, 279, 280, 282, 0, 283, 0, 0, - 34, 0, 281, 78, 79, 282, 0, 283, 48, 50, - 49, 80, 81, 0, 34, 82, 0, 83, 48, 50, - 49, -345, 0, 48, 50, 49, 0, 0, 48, 50, - 49, 0, 0, 0, 45, 0, 0, 48, 50, 49, - 0, 0, 0, 0, 45, 0, 0, 78, 79, 45, - 0, 48, 50, 49, 45, 80, 81, 78, 79, 82, - 0, 83, 0, 45, 0, 80, 81, 78, 79, 82, - 0, 83, 34, 279, 280, 80, 81, 45, 0, 82, - 34, 83, 281, 34, 0, 282, 0, 283, 6, 5, - 4, 1, 3, 2, 34, 0, 0, 0, 0, 0, - 0, -345, 0, 0, 245, 244, 0, 0, 0, 48, - 50, 49, 245, 244, 0, 240, 239, 48, 50, 49, - 48, 50, 49, 0, 0, 0, 0, 0, 0, 0, - 34, 48, 50, 49, 0, 45, 0, 0, 34, 0, - 0, 34, 0, 45, 0, 0, 45, 0, 0, 0, - 0, 0, 78, 79, 0, 0, 0, 45, 0, 0, - 80, 81, 245, 244, 82, 0, 83, 48, 50, 49, - 240, 239, 151, 240, 239, 48, 50, 49, 48, 50, - 49, 0, 152, 0, 0, 0, 153, 0, 0, 0, - 0, 0, 0, 45, 0, 154, 0, 155, 0, 0, - 308, 45, 0, 0, 45, 0, 0, 0, 156, 0, - 157, 62, 0, 0, 0, 0, 0, 0, 158, 0, - 0, 159, 63, 0, 0, 0, 0, 160, 0, 30, - 31, 151, 0, 161, 0, 0, 0, 0, 0, 33, - 0, 152, 0, 0, 0, 153, 34, 0, 0, 162, - 35, 36, 0, 37, 154, 0, 155, 0, 0, 0, - 503, 0, 0, 0, 44, 0, 0, 156, 0, 157, - 62, 0, 0, 0, 0, 0, 0, 158, 0, 0, - 159, 63, 51, 48, 50, 49, 160, 52, 0, 0, - 0, 0, 161, 0, 0, 0, 0, 0, 43, 54, - 32, 0, 30, 31, 40, 0, 0, 0, 162, 45, - 0, 0, 33, 0, 0, 0, 0, 0, 0, 34, - 0, 0, 0, 35, 36, 0, 37, 0, 0, 0, - 30, 31, 0, 41, 0, 0, 0, 44, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 34, 0, 0, - 0, 35, 36, 0, 37, 51, 48, 50, 49, 0, - 52, 503, 0, 0, 0, 44, 0, 0, 0, 0, - 0, 43, 54, 32, 0, 0, 0, 40, 0, 0, - 0, 0, 45, 51, 48, 50, 49, 0, 52, 0, - 0, 0, 30, 31, 0, 0, 0, 0, 0, 43, - 54, 32, 33, 0, 0, 40, 0, 0, 0, 34, - 45, 0, 0, 35, 36, 0, 37, 0, 0, 0, - 30, 31, 0, 41, 0, 0, 0, 44, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 34, 0, 0, - 0, 35, 36, 0, 37, 51, 48, 50, 49, 0, - 52, 503, 0, 0, 0, 44, 0, 0, 0, 0, - 0, 43, 54, 32, 0, 0, 0, 40, 0, 0, - 0, 0, 45, 51, 48, 50, 49, 0, 52, 0, - 0, 0, 30, 31, 0, 0, 0, 0, 0, 43, - 54, 32, 33, 0, 0, 40, 0, 0, 0, 34, - 45, 0, 0, 35, 36, 0, 37, 0, 0, 0, - 30, 31, 0, 503, 0, 0, 0, 44, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 34, 0, 0, - 0, 35, 36, 0, 37, 51, 48, 50, 49, 0, - 52, 41, 0, 0, 0, 44, 0, 0, 0, 0, - 0, 43, 54, 32, 0, 0, 0, 40, 0, 0, - 0, 0, 45, 51, 48, 50, 49, 0, 52, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, - 54, 32, 0, 0, 0, 40, 0, 0, 0, 0, - 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 502, 0, 30, 31, 0, 0, 0, 0, 0, 0, - 0, 0, 215, 0, 0, 0, 0, 0, 0, 34, - 0, 0, 0, 35, 36, 0, 37, 0, 0, 0, - 0, 0, 0, 503, 0, 0, 0, 44, 0, 0, + 417, 258, -113, 404, 467, -132, -102, 576, 573, 347, + -103, 532, 349, -121, 445, 441, 346, 431, 343, 349, + 341, 344, 546, 402, 392, 564, 447, 390, 353, 546, + -121, 539, -129, -124, -102, 409, -124, 417, 546, 432, + 454, 421, 441, 425, -126, 425, 425, 441, 566, 458, + 621, 458, -129, 454, -126, 441, 400, -113, 561, 512, + 258, 546, 347, -103, 336, 273, 347, 534, 190, 164, + 449, 149, 258, 141, 187, 170, 236, 273, 349, 99, + 313, 297, 410, 313, 415, 164, 295, 252, 326, 417, + 189, 319, 293, 454, 458, 305, 441, 183, 71, 179, + 645, 141, 147, 71, 141, 444, 141, 0, 0, 302, + 99, 435, 141, 141, 307, 543, 428, 0, 478, 445, + 141, 0, 293, 0, 328, 295, 58, 58, 172, 251, + 0, 332, 334, 141, 543, 141, 172, 59, 59, 101, + 141, 242, 241, 247, 246, 315, -132, 173, 141, 316, + 641, 640, 635, 634, 177, 173, 254, 62, 101, 141, + 621, 429, 58, 544, 64, 489, 479, 166, 63, 578, + 577, 167, 419, 59, 530, 249, 248, 329, 58, 414, + 413, 64, 616, 513, 85, 456, 86, 460, 142, 59, + 249, 248, 85, 580, 86, 470, 64, 87, 0, 85, + 311, 86, 555, 0, 85, 87, 86, 513, 85, 65, + 86, 351, 87, 537, 85, 66, 86, 87, 568, 546, + 515, 87, 85, 85, 86, 86, 65, 87, 513, 515, + 0, 514, 66, 519, 513, 87, 87, 85, 513, 86, + 514, 65, 141, 569, 567, 141, 0, 66, 471, 469, + 87, 103, 85, 515, 86, 141, 556, 554, 85, 0, + 86, 257, 255, 0, 514, 87, 0, 538, 536, 0, + 104, 87, 105, 85, 515, 86, 638, 637, 0, 581, + 515, 172, 0, 0, 515, 514, 87, 520, 518, 256, + 85, 514, 86, 0, 338, 514, 73, 74, 235, 234, + 173, 0, 174, 87, 73, 74, 0, 636, 439, 438, + 0, 0, 0, 34, 631, 172, 275, 276, 0, 0, + 172, 275, 276, 75, 76, 34, 0, 0, 632, 630, + 34, 75, 76, -90, 173, 34, 174, 172, -90, 173, + 0, 174, 34, 277, 278, 34, 0, 0, 277, 278, + 48, 50, 49, 34, 0, 0, 173, 0, 407, 629, + 0, 0, 48, 50, 49, 34, 0, 48, 50, 49, + 0, 0, 48, 50, 49, 0, 34, 45, 0, 48, + 50, 49, 48, 50, 49, 34, 280, 281, 0, 45, + 48, 50, 49, 34, 45, 282, 0, 0, 283, 45, + 284, 0, 48, 50, 49, 34, 45, 0, 34, 45, + 0, 0, 0, 48, 50, 49, 34, 45, 0, 0, + 0, 34, 48, 50, 49, 280, 281, 34, 0, 45, + 48, 50, 49, 0, 282, 0, 34, 283, 0, 284, + 45, 0, 48, 50, 49, 48, 50, 49, 0, 45, + 0, 34, 0, 48, 50, 49, 0, 45, 48, 50, + 49, 0, 0, 0, 48, 50, 49, 280, 281, 45, + 0, 0, 45, 48, 50, 49, 282, 0, 0, 283, + 45, 284, 0, 0, 0, 45, 0, 0, 48, 50, + 49, 45, 34, 0, 0, 78, 79, 0, 0, -346, + 45, 0, 0, 80, 81, 280, 281, 82, 0, 83, + 0, 0, 0, 0, 282, 45, 0, 283, 0, 284, + 6, 5, 4, 1, 3, 2, 34, 78, 79, 48, + 50, 49, 0, -346, 34, 80, 81, 78, 79, 82, + 0, 83, 34, 0, 0, 80, 81, 0, 0, 82, + 34, 83, 0, 0, 0, 0, 45, 0, 0, 0, + 0, 0, 0, 48, 50, 49, 245, 244, 0, 0, + 34, 48, 50, 49, 240, 239, 0, 0, 34, 48, + 50, 49, 240, 239, 0, 78, 79, 48, 50, 49, + 45, 0, 0, 80, 81, 0, 0, 82, 45, 83, + 0, 0, 245, 244, 0, 0, 45, 48, 50, 49, + 240, 239, 151, 0, 45, 48, 50, 49, 0, 0, + 0, 0, 152, 0, 0, 0, 153, 0, 0, 0, + 151, 0, 0, 0, 45, 154, 0, 155, 0, 0, + 152, 0, 45, 0, 153, 0, 0, 0, 156, 0, + 157, 62, 0, 154, 0, 155, 0, 0, 158, 0, + 0, 159, 63, 0, 0, 34, 156, 160, 157, 62, + 0, 0, 0, 161, 0, 0, 158, 0, 0, 159, + 63, 0, 0, 0, 0, 160, 0, 0, 0, 162, + 0, 161, 0, 0, 0, 0, 0, 245, 244, 0, + 0, 0, 48, 50, 49, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 51, 504, 506, 505, 0, - 52, 0, 0, 0, 0, 226, 0, 0, 0, 0, - 0, 43, 54, 32, 210, 0, 0, 40, 0, 0, - 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 502, 0, 30, 31, 0, 0, 0, 0, - 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, - 0, 34, 0, 0, 0, 35, 36, 0, 37, 0, - 0, 0, 0, 0, 0, 503, 0, 0, 0, 44, - 0, 0, 0, 0, 0, 0, 0, 550, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 51, 504, 506, - 505, 0, 52, 0, 0, 0, 0, 226, 0, 0, - 0, 0, 0, 43, 54, 32, 210, 0, 0, 40, - 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 502, 0, 30, 31, 0, 0, - 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, - 0, 0, 0, 34, 0, 0, 0, 35, 36, 0, - 37, 0, 0, 0, 0, 0, 0, 503, 0, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 0, 547, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, - 504, 506, 505, 0, 52, 0, 0, 0, 0, 226, - 0, 0, 0, 0, 0, 43, 54, 32, 210, 0, - 0, 40, 0, 0, 0, 0, 45, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 29, 30, 31, 0, - 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, - 0, 0, 0, 0, 34, 0, 0, 0, 35, 36, - 0, 37, 0, 0, 0, 38, 0, 39, 41, 42, - 0, 0, 44, 0, 0, 0, 46, 0, 47, 0, + 0, 0, 0, 0, 0, 0, 30, 31, 0, 45, + 0, 0, 0, 0, 0, 0, 33, 0, 0, 151, + 0, 0, 0, 34, 0, 0, 0, 35, 36, 152, + 37, 0, 0, 153, 0, 0, 0, 504, 0, 0, + 0, 44, 154, 0, 155, 0, 0, 309, 0, 0, + 0, 0, 0, 0, 0, 156, 0, 157, 62, 51, + 48, 50, 49, 0, 52, 158, 0, 0, 159, 63, + 0, 0, 0, 0, 160, 43, 54, 32, 0, 0, + 161, 40, 0, 0, 0, 0, 0, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 48, 50, 49, 0, 52, 0, 53, 0, 55, - 0, 56, 0, 0, 0, 0, 43, 54, 32, 0, - 0, 0, 40, 0, 0, 0, 0, 45, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -122, 0, 0, - 0, 29, 30, 31, 0, 0, 0, 0, 0, 0, + 0, 30, 31, 0, 0, 0, 0, 0, 0, 30, + 31, 33, 0, 0, 0, 0, 0, 0, 34, 33, + 0, 0, 35, 36, 0, 37, 34, 0, 0, 0, + 35, 36, 41, 37, 0, 0, 44, 0, 0, 0, + 504, 0, 0, 0, 44, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 48, 50, 49, 0, 52, + 0, 0, 51, 48, 50, 49, 0, 52, 0, 0, + 43, 54, 32, 0, 0, 0, 40, 0, 43, 54, + 32, 0, 45, 0, 40, 0, 0, 0, 0, 0, + 45, 0, 30, 31, 0, 0, 0, 0, 0, 0, + 30, 31, 33, 0, 0, 0, 0, 0, 0, 34, + 33, 0, 0, 35, 36, 0, 37, 34, 0, 0, + 0, 35, 36, 41, 37, 0, 0, 44, 0, 0, + 0, 504, 0, 0, 0, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 51, 48, 50, 49, 0, + 52, 0, 0, 51, 48, 50, 49, 0, 52, 0, + 0, 43, 54, 32, 0, 0, 0, 40, 0, 43, + 54, 32, 0, 45, 0, 40, 0, 0, 0, 0, + 0, 45, 0, 30, 31, 0, 0, 0, 0, 0, + 0, 30, 31, 33, 0, 0, 0, 0, 0, 0, + 34, 33, 0, 0, 35, 36, 0, 37, 34, 0, + 0, 0, 35, 36, 41, 37, 0, 0, 44, 0, + 0, 0, 504, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 51, 48, 50, 49, + 0, 52, 0, 0, 51, 48, 50, 49, 0, 52, + 0, 0, 43, 54, 32, 0, 0, 0, 40, 0, + 43, 54, 32, 0, 45, 0, 40, 0, 0, 0, + 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 35, 36, 0, 37, 0, 0, 0, - 38, 0, 39, 41, 42, 0, 0, 44, 0, 0, - 0, 46, 0, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 504, 0, 0, 0, 44, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 48, 50, 49, 0, - 52, 0, 53, 0, 55, 0, 56, 0, 0, 0, + 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 54, 32, 0, 0, 0, 40, 0, 0, + 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 503, 0, 30, 31, 0, 0, 0, + 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, + 0, 0, 34, 0, 0, 0, 35, 36, 0, 37, + 0, 0, 0, 0, 0, 0, 504, 0, 0, 0, + 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 505, + 507, 506, 0, 52, 0, 0, 0, 0, 226, 0, + 0, 0, 0, 0, 43, 54, 32, 210, 0, 0, + 40, 0, 0, 0, 0, 0, 45, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 503, 0, 30, 31, + 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, + 0, 0, 0, 0, 0, 34, 0, 0, 0, 35, + 36, 0, 37, 0, 0, 0, 0, 0, 0, 504, + 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 551, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 51, 505, 507, 506, 0, 52, 0, 0, 0, + 0, 226, 0, 0, 0, 0, 0, 43, 54, 32, + 210, 0, 0, 40, 0, 0, 0, 0, 0, 45, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, + 0, 30, 31, 0, 0, 0, 0, 0, 0, 0, + 0, 215, 0, 0, 0, 0, 0, 0, 34, 0, + 0, 0, 35, 36, 0, 37, 0, 0, 0, 0, + 0, 0, 504, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 505, 507, 506, 0, 52, + 0, 0, 0, 0, 226, 0, 0, 0, 0, 0, + 43, 54, 32, 210, 0, 0, 40, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, @@ -498,351 +499,392 @@ const short QQmlJSGrammar::action_info [] = { 0, 38, 0, 39, 41, 42, 0, 0, 44, 0, 0, 0, 46, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 48, 50, 49, - 0, 52, 0, 53, 0, 55, 271, 56, 0, 0, + 0, 52, 0, 53, 0, 55, 0, 56, 0, 0, 0, 0, 43, 54, 32, 0, 0, 0, 40, 0, - 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 475, 0, 0, 29, 30, 31, 0, - 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, - 0, 0, 0, 0, 34, 0, 0, 0, 35, 36, - 0, 37, 0, 0, 0, 38, 0, 39, 41, 42, - 0, 0, 44, 0, 0, 0, 46, 0, 47, 0, - 0, 476, 0, 0, 0, 0, 0, 0, 0, 0, - 51, 48, 50, 49, 0, 52, 0, 53, 0, 55, - 0, 56, 0, 0, 0, 0, 43, 54, 32, 0, - 0, 0, 40, 0, 0, 0, 0, 45, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, - 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, - 0, 33, 0, 0, 0, 0, 0, 0, 34, 0, - 0, 0, 35, 36, 0, 37, 0, 0, 0, 38, - 0, 39, 41, 42, 0, 0, 44, 0, 0, 0, - 46, 0, 47, 0, 0, 481, 0, 0, 0, 0, - 0, 0, 0, 0, 51, 48, 50, 49, 0, 52, - 0, 53, 0, 55, 0, 56, 0, 0, 0, 0, - 43, 54, 32, 0, 0, 0, 40, 0, 0, 0, - 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 483, 0, 0, 29, 30, 31, 0, 0, 0, - 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, - 0, 0, 34, 0, 0, 0, 35, 36, 0, 37, - 0, 0, 0, 38, 0, 39, 41, 42, 0, 0, - 44, 0, 0, 0, 46, 0, 47, 0, 0, 484, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 48, - 50, 49, 0, 52, 0, 53, 0, 55, 0, 56, - 0, 0, 0, 0, 43, 54, 32, 0, 0, 0, - 40, 0, 0, 0, 0, 45, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 483, 0, 0, 29, 30, + 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -122, 0, 0, 0, 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 35, 36, 0, 37, 0, 0, 0, 38, 0, 39, 41, 42, 0, 0, 44, 0, 0, 0, 46, 0, - 47, 0, 0, 486, 0, 0, 0, 0, 0, 0, + 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 48, 50, 49, 0, 52, 0, 53, 0, 55, 0, 56, 0, 0, 0, 0, 43, 54, - 32, 0, 0, 0, 40, 0, 0, 0, 0, 45, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, - 30, 31, 0, 0, 0, 0, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 34, 217, 0, - 0, 218, 36, 0, 37, 0, 0, 0, 38, 0, - 39, 41, 42, 0, 0, 44, 0, 0, 0, 46, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 0, 0, 51, 48, 50, 49, 223, 52, 0, - 53, 225, 55, 0, 56, 0, 228, 0, 0, 43, - 54, 32, 0, 0, 0, 40, 0, 0, 0, 0, + 32, 0, 0, 0, 40, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, - 0, 33, 0, 0, 0, 0, 0, 0, 34, 217, - 0, 0, 582, 583, 0, 37, 0, 0, 0, 38, + 0, 33, 0, 0, 0, 0, 0, 0, 34, 0, + 0, 0, 35, 36, 0, 37, 0, 0, 0, 38, 0, 39, 41, 42, 0, 0, 44, 0, 0, 0, 46, 0, 47, 0, 0, 0, 0, 0, 0, 0, - 221, 0, 0, 0, 51, 48, 50, 49, 223, 52, - 0, 53, 225, 55, 0, 56, 0, 228, 0, 0, + 0, 0, 0, 0, 51, 48, 50, 49, 0, 52, + 0, 53, 0, 55, 272, 56, 0, 0, 0, 0, 43, 54, 32, 0, 0, 0, 40, 0, 0, 0, - 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 109, 110, 111, 0, 0, 113, 115, 116, 0, - 0, 117, 0, 118, 0, 0, 0, 120, 121, 122, - 0, 0, 0, 0, 0, 0, 34, 123, 124, 125, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, - 0, 0, 0, 48, 50, 49, 130, 131, 132, 0, - 134, 135, 136, 137, 138, 139, 0, 0, 127, 133, - 119, 112, 114, 128, 0, 0, 0, 0, 0, 45, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, - 110, 111, 0, 0, 113, 115, 116, 0, 0, 117, - 0, 118, 0, 0, 0, 120, 121, 122, 0, 0, - 0, 0, 0, 0, 393, 123, 124, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, - 0, 0, 394, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 129, 0, 0, 0, 0, 0, - 398, 395, 397, 0, 130, 131, 132, 0, 134, 135, - 136, 137, 138, 139, 0, 0, 127, 133, 119, 112, - 114, 128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, - 0, 0, 113, 115, 116, 0, 0, 117, 0, 118, - 0, 0, 0, 120, 121, 122, 0, 0, 0, 0, - 0, 0, 393, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, - 394, 0, 0, 0, 0, 0, 0, 0, 396, 0, - 0, 0, 129, 0, 0, 0, 0, 0, 398, 395, - 397, 0, 130, 131, 132, 0, 134, 135, 136, 137, - 138, 139, 0, 0, 127, 133, 119, 112, 114, 128, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, - 211, 0, 29, 30, 31, 213, 0, 0, 0, 0, - 0, 0, 214, 215, 0, 0, 0, 0, 0, 0, - 216, 217, 0, 0, 218, 36, 0, 37, 0, 0, + 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 476, 0, 0, 29, 30, 31, 0, 0, + 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 34, 0, 0, 0, 35, 36, 0, + 37, 0, 0, 0, 38, 0, 39, 41, 42, 0, + 0, 44, 0, 0, 0, 46, 0, 47, 0, 0, + 477, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 48, 50, 49, 0, 52, 0, 53, 0, 55, 0, + 56, 0, 0, 0, 0, 43, 54, 32, 0, 0, + 0, 40, 0, 0, 0, 0, 0, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 476, 0, 0, + 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, + 0, 33, 0, 0, 0, 0, 0, 0, 34, 0, + 0, 0, 35, 36, 0, 37, 0, 0, 0, 38, + 0, 39, 41, 42, 0, 0, 44, 0, 0, 0, + 46, 0, 47, 0, 0, 482, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 48, 50, 49, 0, 52, + 0, 53, 0, 55, 0, 56, 0, 0, 0, 0, + 43, 54, 32, 0, 0, 0, 40, 0, 0, 0, + 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 484, 0, 0, 29, 30, 31, 0, 0, + 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 0, 34, 0, 0, 0, 35, 36, 0, + 37, 0, 0, 0, 38, 0, 39, 41, 42, 0, + 0, 44, 0, 0, 0, 46, 0, 47, 0, 0, + 485, 0, 0, 0, 0, 0, 0, 0, 0, 51, + 48, 50, 49, 0, 52, 0, 53, 0, 55, 0, + 56, 0, 0, 0, 0, 43, 54, 32, 0, 0, + 0, 40, 0, 0, 0, 0, 0, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 484, 0, 0, + 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, + 0, 33, 0, 0, 0, 0, 0, 0, 34, 0, + 0, 0, 35, 36, 0, 37, 0, 0, 0, 38, + 0, 39, 41, 42, 0, 0, 44, 0, 0, 0, + 46, 0, 47, 0, 0, 487, 0, 0, 0, 0, + 0, 0, 0, 0, 51, 48, 50, 49, 0, 52, + 0, 53, 0, 55, 0, 56, 0, 0, 0, 0, + 43, 54, 32, 0, 0, 0, 40, 0, 0, 0, + 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 29, 30, 31, 0, 0, 0, 0, 0, + 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, + 34, 217, 0, 0, 218, 36, 0, 37, 0, 0, 0, 38, 0, 39, 41, 42, 0, 0, 44, 0, 0, 0, 46, 0, 47, 0, 0, 0, 0, 0, - 220, 0, 221, 0, 0, 0, 51, 219, 222, 49, - 223, 52, 224, 53, 225, 55, 226, 56, 227, 228, - 0, 0, 43, 54, 32, 210, 212, 0, 40, 0, - 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, + 0, 0, 221, 0, 0, 0, 51, 48, 50, 49, + 223, 52, 0, 53, 225, 55, 0, 56, 0, 228, + 0, 0, 43, 54, 32, 0, 0, 0, 40, 0, + 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 30, 31, 0, 0, 0, + 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, + 0, 0, 34, 217, 0, 0, 583, 584, 0, 37, + 0, 0, 0, 38, 0, 39, 41, 42, 0, 0, + 44, 0, 0, 0, 46, 0, 47, 0, 0, 0, + 0, 0, 0, 0, 221, 0, 0, 0, 51, 48, + 50, 49, 223, 52, 0, 53, 225, 55, 0, 56, + 0, 228, 0, 0, 43, 54, 32, 0, 0, 0, + 40, 0, 0, 0, 0, 0, 45, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 109, 110, 111, 0, + 0, 113, 115, 116, 0, 0, 117, 0, 118, 0, + 0, 0, 120, 121, 122, 0, 0, 0, 0, 0, + 0, 34, 123, 124, 125, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 129, 0, 0, 0, 0, 0, 0, 48, 50, + 49, 130, 131, 132, 0, 134, 135, 136, 137, 138, + 139, 0, 0, 127, 133, 119, 112, 114, 128, 0, + 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 109, 110, 111, 0, 0, + 113, 115, 116, 0, 0, 117, 0, 118, 0, 0, + 0, 120, 121, 122, 0, 0, 0, 0, 0, 0, + 394, 123, 124, 125, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 126, 0, 0, 0, 395, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 129, 0, 0, 0, 0, 0, 399, 396, 398, 0, + 130, 131, 132, 0, 134, 135, 136, 137, 138, 139, + 0, 0, 127, 133, 119, 112, 114, 128, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 109, 110, 111, 0, 0, 113, + 115, 116, 0, 0, 117, 0, 118, 0, 0, 0, + 120, 121, 122, 0, 0, 0, 0, 0, 0, 394, + 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 126, 0, 0, 0, 395, 0, 0, + 0, 0, 0, 0, 0, 397, 0, 0, 0, 129, + 0, 0, 0, 0, 0, 399, 396, 398, 0, 130, + 131, 132, 0, 134, 135, 136, 137, 138, 139, 0, + 0, 127, 133, 119, 112, 114, 128, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 211, 0, 29, 30, 31, 213, 0, 0, 0, 0, 0, 0, - 214, 33, 0, 0, 0, 0, 0, 0, 216, 217, + 214, 215, 0, 0, 0, 0, 0, 0, 216, 217, 0, 0, 218, 36, 0, 37, 0, 0, 0, 38, 0, 39, 41, 42, 0, 0, 44, 0, 0, 0, 46, 0, 47, 0, 0, 0, 0, 0, 220, 0, 221, 0, 0, 0, 51, 219, 222, 49, 223, 52, 224, 53, 225, 55, 226, 56, 227, 228, 0, 0, 43, 54, 32, 210, 212, 0, 40, 0, 0, 0, + 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 209, 0, 0, 0, 0, 211, 0, 29, + 30, 31, 213, 0, 0, 0, 0, 0, 0, 214, + 33, 0, 0, 0, 0, 0, 0, 216, 217, 0, + 0, 218, 36, 0, 37, 0, 0, 0, 38, 0, + 39, 41, 42, 0, 0, 44, 0, 0, 0, 46, + 0, 47, 0, 0, 0, 0, 0, 220, 0, 221, + 0, 0, 0, 51, 219, 222, 49, 223, 52, 224, + 53, 225, 55, 226, 56, 227, 228, 0, 0, 43, + 54, 32, 210, 212, 0, 40, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 586, 110, 111, 0, 0, 588, 115, 590, 30, - 31, 591, 0, 118, 0, 0, 0, 120, 593, 594, - 0, 0, 0, 0, 0, 0, 595, 596, 124, 125, + 0, 587, 110, 111, 0, 0, 589, 115, 591, 30, + 31, 592, 0, 118, 0, 0, 0, 120, 594, 595, + 0, 0, 0, 0, 0, 0, 596, 597, 124, 125, 218, 36, 0, 37, 0, 0, 0, 38, 0, 39, - 597, 42, 0, 0, 599, 0, 0, 0, 46, 0, - 47, 0, 0, 0, 0, 0, 601, 0, 221, 0, - 0, 0, 603, 600, 602, 49, 604, 605, 606, 53, - 608, 609, 610, 611, 612, 613, 0, 0, 598, 607, - 592, 587, 589, 128, 40, 0, 0, 0, 0, 45, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, - 110, 111, 0, 0, 363, 115, 365, 30, 31, 366, - 0, 118, 0, 0, 0, 120, 368, 369, 0, 0, - 0, 0, 0, 0, 370, 371, 124, 125, 218, 36, - 0, 37, 0, 0, 0, 38, 0, 39, 372, 42, - 0, 0, 374, 0, 0, 0, 46, 0, 47, 0, - -268, 0, 0, 0, 376, 0, 221, 0, 0, 0, - 378, 375, 377, 49, 379, 380, 381, 53, 383, 384, - 385, 386, 387, 388, 0, 0, 373, 382, 367, 362, - 364, 128, 40, 0, 0, 0, 0, 45, 0, 0, - 0, 0, 0, 0, 0, 0, 0, + 598, 42, 0, 0, 600, 0, 0, 0, 46, 0, + 47, 0, 0, 0, 0, 0, 602, 0, 221, 0, + 0, 0, 604, 601, 603, 49, 605, 606, 607, 53, + 609, 610, 611, 612, 613, 614, 0, 0, 599, 608, + 593, 588, 590, 128, 40, 0, 0, 0, 0, 0, + 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 362, 110, 111, 0, 0, 364, 115, 366, 30, 31, + 367, 0, 118, 0, 0, 0, 120, 369, 370, 0, + 0, 0, 0, 0, 0, 371, 372, 124, 125, 218, + 36, 0, 37, 0, 0, 0, 38, 0, 39, 373, + 42, 0, 0, 375, 0, 0, 0, 46, 0, 47, + 0, -268, 0, 0, 0, 377, 0, 221, 0, 0, + 0, 379, 376, 378, 49, 380, 381, 382, 53, 384, + 385, 386, 387, 388, 389, 0, 0, 374, 383, 368, + 363, 365, 128, 40, 0, 0, 0, 0, 0, 45, + 0, 0, 0, 0, 0, 0, 0, 0, 0, - 534, 311, 497, 309, 532, 461, 498, 499, 516, 515, - 619, 638, 16, 552, 436, 358, 616, 472, 562, 320, - 528, 238, 487, 182, 250, 243, 253, 182, 302, 641, - 627, 632, 150, 485, 143, 454, 439, 402, 445, 559, - 237, 574, 250, 578, 561, 186, 618, 458, 238, 349, - 573, 449, 447, 571, 243, 347, 450, 243, 460, 351, - 238, 353, 358, 410, 415, 439, 176, 188, 436, 250, - 467, 417, 433, 182, 425, 429, 302, 169, 456, 358, - 171, 140, 336, 334, 338, 344, 436, 392, 390, 400, - 163, 302, 307, 148, 146, 339, 439, 404, 302, 358, - 404, 358, 0, 482, 501, 480, 0, 642, 0, 479, - 0, 0, 0, 320, 60, 0, 186, 501, 90, 60, - 60, 489, 302, 60, 617, 93, 0, 88, 0, 405, - 0, 461, 405, 60, 60, 451, 180, 60, 0, 180, - 60, 60, 60, 451, 60, 95, 89, 146, 266, 287, - 60, 146, 407, 270, 60, 288, 178, 60, 106, 452, - 0, 60, 60, 60, 102, 60, 302, 332, 286, 60, - 92, 452, 60, 60, 451, 60, 165, 168, 285, 432, - 284, 435, 60, 60, 108, 501, 329, 94, 540, 96, - 60, 330, 60, 302, 494, 60, 77, 237, 60, 404, - 452, 341, 471, 72, 60, 60, 67, 69, 60, 60, - 68, 0, 70, 60, 60, 60, 61, 180, 60, 60, - 98, 491, 60, 91, 490, 60, 60, 60, 493, 60, - 84, 405, 60, 97, 492, 305, 0, 60, 0, 298, - 0, 100, 270, 298, 270, 298, 106, 298, 270, 0, - 270, 60, 270, 60, 316, 0, 270, 0, 270, 298, - 291, 326, 303, 60, 270, 319, 313, 300, 270, 297, - 60, 60, 108, 175, 295, 270, 270, 290, 60, 501, - 273, 317, 60, 270, 60, 278, 509, 270, 0, 270, - 0, 289, 0, 548, 0, 293, 551, 0, 500, 510, - 501, 501, 0, 544, 501, 0, 0, 0, 509, 0, - 0, 509, 520, 521, 522, 523, 527, 524, 525, 0, - 500, 510, 0, 500, 510, 564, 520, 521, 522, 523, - 527, 524, 525, 581, 0, 0, 0, 0, 0, 0, - 584, 585, 520, 521, 522, 523, 527, 524, 525, 556, - 0, 0, 0, 0, 0, 0, 557, 558, 520, 521, - 522, 523, 527, 524, 525, 0, 0, 0, 0, 0, + 639, 310, 529, 533, 516, 535, 517, 499, 500, 462, + 498, 620, 553, 312, 243, 16, 562, 440, 437, 633, + 238, 250, 473, 182, 253, 182, 617, 488, 359, 563, + 303, 321, 619, 642, 150, 575, 560, 250, 628, 163, + 426, 348, 250, 579, 186, 350, 182, 574, 468, 340, + 430, 345, 572, 434, 359, 457, 448, 446, 238, 450, + 455, 459, 243, 243, 461, 352, 238, 451, 354, 148, + 403, 483, 486, 176, 437, 143, 440, 401, 411, 335, + 188, 437, 440, 169, 237, 171, 237, 140, 359, 393, + 337, 303, 308, 416, 391, 146, 418, 303, 405, 359, + 359, 0, 0, 146, 0, 0, 0, 60, 178, 60, + 0, 452, 288, 0, 303, 60, 405, 60, 405, 180, + 285, 60, 60, 60, 491, 186, 286, 60, 287, 60, + 406, 453, 502, 502, 303, 643, 545, 60, 321, 453, + 60, 165, 180, 60, 60, 490, 180, 60, 406, 60, + 406, 452, 267, 146, 60, 60, 60, 271, 408, 289, + 60, 84, 69, 168, 60, 60, 60, 100, 106, 60, + 97, 98, 96, 502, 481, 0, 541, 72, 480, 436, + 433, 60, 60, 333, 60, 60, 91, 92, 90, 60, + 93, 60, 60, 89, 108, 60, 94, 339, 77, 88, + 60, 502, 462, 331, 60, 95, 303, 61, 618, 106, + 342, 330, 60, 60, 453, 452, 60, 60, 494, 495, + 60, 60, 493, 60, 60, 492, 60, 70, 68, 60, + 60, 102, 67, 60, 271, 108, 175, 299, 271, 0, + 299, 0, 271, 0, 314, 271, 294, 299, 60, 60, + 60, 0, 271, 271, 271, 271, 60, 279, 274, 320, + 0, 271, 318, 60, 0, 317, 0, 296, 271, 327, + 292, 60, 60, 472, 0, 304, 271, 271, 291, 290, + 557, 299, 299, 541, 549, 615, 271, 271, 502, 0, + 552, 0, 502, 0, 0, 510, 0, 0, 502, 510, + 0, 0, 303, 298, 301, 510, 473, 501, 511, 0, + 0, 501, 511, 0, 0, 0, 0, 501, 511, 521, + 522, 523, 524, 528, 525, 526, 582, 0, 0, 0, + 0, 0, 0, 585, 586, 521, 522, 523, 524, 528, + 525, 526, 557, 0, 0, 0, 0, 0, 0, 558, + 559, 521, 522, 523, 524, 528, 525, 526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 556, 0, 0, 540, 0, 614, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 565, 521, 522, 523, + 524, 528, 525, 526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0}; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0}; const short QQmlJSGrammar::action_check [] = { - 36, 36, 24, 7, 55, 7, 7, 7, 60, 36, - 8, 7, 37, 7, 7, 33, 55, 55, 60, 36, - 36, 33, 33, 55, 8, 33, 7, 7, 34, 36, - 16, 20, 7, 36, 7, 7, 33, 36, 33, 60, - 7, 7, 7, 5, 7, 5, 5, 90, 33, 36, - 7, 33, 7, 36, 7, 33, 66, 36, 7, 36, - 29, 7, 33, 31, 1, 7, 17, 55, 60, 33, - 60, 2, 8, 7, 48, 66, 1, 7, 36, 2, - 8, 7, 36, 2, 60, 2, 8, 7, 17, 1, - 60, 36, 0, 36, 8, 36, 48, 36, 33, 8, - 61, 1, 6, 36, 60, 8, -1, 8, -1, 15, - 48, 10, 7, 8, 61, 8, 20, -1, -1, -1, - -1, -1, 8, -1, -1, -1, -1, 48, 34, 79, - 40, 79, 8, 77, 61, 8, 60, 8, 8, 79, - 8, 51, -1, 40, 42, 61, 62, 8, 61, 62, - 8, 7, -1, 56, 51, 53, 55, 8, 90, 60, - 50, 79, 8, 56, 54, 61, 62, 61, 62, 61, - 62, 40, 61, 62, 60, 40, 61, 62, 61, 62, - 56, 8, 51, 56, 50, 7, 51, 15, 54, 60, - 60, 25, 60, 27, 25, 56, 27, 61, 62, 61, - 62, 36, 60, 29, 38, 29, 34, 38, 36, 25, - 61, 27, 29, -1, 60, 25, 12, 27, 29, 25, - 29, 27, 38, 25, 29, 27, 61, 62, 38, 12, - 7, 12, 38, 60, 8, 25, 38, 27, -1, 61, - 62, 25, 8, 27, 7, -1, 15, 7, 38, 75, - 25, 75, 27, 8, 38, 25, 33, 27, 75, -1, - 86, 57, 86, 38, 75, 34, 75, 63, 38, 86, - 75, 15, 15, -1, 57, 86, 57, 86, -1, -1, - 63, 86, 63, 61, 62, -1, -1, 61, 62, 15, - 34, 34, 36, 36, -1, 61, 62, 47, 61, 62, - 15, 61, 62, -1, 18, 19, 61, 62, 34, 15, - 36, 61, 62, 91, -1, 92, 18, 19, 33, 34, - 29, 36, 18, 19, 18, 19, 29, 33, 34, 29, - 36, 45, 46, 25, 29, 27, -1, -1, -1, -1, - -1, 91, -1, 45, 46, -1, 38, -1, -1, 45, - 46, 45, 46, -1, -1, -1, -1, 66, 67, 68, - -1, -1, -1, 66, 67, 68, 66, 67, 68, -1, - -1, 66, 67, 68, -1, -1, 23, 24, -1, -1, - -1, 29, -1, 92, -1, 32, 23, 24, 35, 92, - 37, 29, 92, 23, 24, 32, 29, 92, 35, -1, - 37, 29, 32, 23, 24, 35, -1, 37, -1, -1, - 29, -1, 32, 23, 24, 35, -1, 37, 66, 67, - 68, 31, 32, -1, 29, 35, -1, 37, 66, 67, - 68, 36, -1, 66, 67, 68, -1, -1, 66, 67, - 68, -1, -1, -1, 92, -1, -1, 66, 67, 68, - -1, -1, -1, -1, 92, -1, -1, 23, 24, 92, - -1, 66, 67, 68, 92, 31, 32, 23, 24, 35, - -1, 37, -1, 92, -1, 31, 32, 23, 24, 35, - -1, 37, 29, 23, 24, 31, 32, 92, -1, 35, - 29, 37, 32, 29, -1, 35, -1, 37, 94, 95, - 96, 97, 98, 99, 29, -1, -1, -1, -1, -1, - -1, 36, -1, -1, 61, 62, -1, -1, -1, 66, - 67, 68, 61, 62, -1, 61, 62, 66, 67, 68, - 66, 67, 68, -1, -1, -1, -1, -1, -1, -1, - 29, 66, 67, 68, -1, 92, -1, -1, 29, -1, - -1, 29, -1, 92, -1, -1, 92, -1, -1, -1, - -1, -1, 23, 24, -1, -1, -1, 92, -1, -1, - 31, 32, 61, 62, 35, -1, 37, 66, 67, 68, - 61, 62, 3, 61, 62, 66, 67, 68, 66, 67, - 68, -1, 13, -1, -1, -1, 17, -1, -1, -1, - -1, -1, -1, 92, -1, 26, -1, 28, -1, -1, - 31, 92, -1, -1, 92, -1, -1, -1, 39, -1, - 41, 42, -1, -1, -1, -1, -1, -1, 49, -1, - -1, 52, 53, -1, -1, -1, -1, 58, -1, 12, - 13, 3, -1, 64, -1, -1, -1, -1, -1, 22, - -1, 13, -1, -1, -1, 17, 29, -1, -1, 80, - 33, 34, -1, 36, 26, -1, 28, -1, -1, -1, - 43, -1, -1, -1, 47, -1, -1, 39, -1, 41, - 42, -1, -1, -1, -1, -1, -1, 49, -1, -1, - 52, 53, 65, 66, 67, 68, 58, 70, -1, -1, - -1, -1, 64, -1, -1, -1, -1, -1, 81, 82, - 83, -1, 12, 13, 87, -1, -1, -1, 80, 92, - -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, - -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, - 12, 13, -1, 43, -1, -1, -1, 47, -1, -1, - 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, - -1, 33, 34, -1, 36, 65, 66, 67, 68, -1, - 70, 43, -1, -1, -1, 47, -1, -1, -1, -1, - -1, 81, 82, 83, -1, -1, -1, 87, -1, -1, - -1, -1, 92, 65, 66, 67, 68, -1, 70, -1, - -1, -1, 12, 13, -1, -1, -1, -1, -1, 81, - 82, 83, 22, -1, -1, 87, -1, -1, -1, 29, - 92, -1, -1, 33, 34, -1, 36, -1, -1, -1, - 12, 13, -1, 43, -1, -1, -1, 47, -1, -1, - 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, - -1, 33, 34, -1, 36, 65, 66, 67, 68, -1, - 70, 43, -1, -1, -1, 47, -1, -1, -1, -1, - -1, 81, 82, 83, -1, -1, -1, 87, -1, -1, - -1, -1, 92, 65, 66, 67, 68, -1, 70, -1, - -1, -1, 12, 13, -1, -1, -1, -1, -1, 81, - 82, 83, 22, -1, -1, 87, -1, -1, -1, 29, - 92, -1, -1, 33, 34, -1, 36, -1, -1, -1, - 12, 13, -1, 43, -1, -1, -1, 47, -1, -1, - 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, - -1, 33, 34, -1, 36, 65, 66, 67, 68, -1, - 70, 43, -1, -1, -1, 47, -1, -1, -1, -1, - -1, 81, 82, 83, -1, -1, -1, 87, -1, -1, - -1, -1, 92, 65, 66, 67, 68, -1, 70, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, - 82, 83, -1, -1, -1, 87, -1, -1, -1, -1, - 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 10, -1, 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, - -1, -1, -1, 43, -1, -1, -1, 47, -1, -1, + 36, 36, 7, 55, 17, 7, 7, 60, 8, 7, + 7, 37, 36, 7, 20, 33, 55, 55, 60, 36, + 36, 33, 33, 55, 8, 7, 36, 7, 16, 33, + 7, 34, 7, 7, 7, 60, 7, 36, 33, 7, + 36, 33, 33, 5, 7, 5, 5, 33, 29, 36, + 91, 36, 7, 36, 7, 33, 7, 7, 66, 66, + 36, 33, 7, 7, 31, 1, 7, 24, 33, 2, + 60, 60, 36, 8, 8, 7, 55, 1, 36, 48, + 2, 8, 7, 2, 7, 2, 79, 36, 17, 36, + 60, 7, 48, 36, 36, 61, 33, 36, 1, 60, + 0, 8, 8, 1, 8, 6, 8, -1, -1, 61, + 48, 7, 8, 8, 60, 8, 10, -1, 8, 20, + 8, -1, 48, -1, 8, 79, 40, 40, 15, 77, + -1, 61, 60, 8, 8, 8, 15, 51, 51, 79, + 8, 61, 62, 61, 62, 50, 7, 34, 8, 54, + 61, 62, 61, 62, 56, 34, 60, 42, 79, 8, + 91, 55, 40, 56, 12, 60, 56, 50, 53, 61, + 62, 54, 60, 51, 29, 61, 62, 61, 40, 61, + 62, 12, 56, 29, 25, 60, 27, 60, 56, 51, + 61, 62, 25, 7, 27, 8, 12, 38, -1, 25, + 60, 27, 7, -1, 25, 38, 27, 29, 25, 57, + 27, 60, 38, 7, 25, 63, 27, 38, 36, 33, + 75, 38, 25, 25, 27, 27, 57, 38, 29, 75, + -1, 86, 63, 7, 29, 38, 38, 25, 29, 27, + 86, 57, 8, 61, 62, 8, -1, 63, 61, 62, + 38, 15, 25, 75, 27, 8, 61, 62, 25, -1, + 27, 61, 62, -1, 86, 38, -1, 61, 62, -1, + 34, 38, 36, 25, 75, 27, 61, 62, -1, 93, + 75, 15, -1, -1, 75, 86, 38, 61, 62, 89, + 25, 86, 27, -1, 60, 86, 18, 19, 61, 62, + 34, -1, 36, 38, 18, 19, -1, 92, 61, 62, + -1, -1, -1, 29, 47, 15, 18, 19, -1, -1, + 15, 18, 19, 45, 46, 29, -1, -1, 61, 62, + 29, 45, 46, 33, 34, 29, 36, 15, 33, 34, + -1, 36, 29, 45, 46, 29, -1, -1, 45, 46, + 66, 67, 68, 29, -1, -1, 34, -1, 36, 92, + -1, -1, 66, 67, 68, 29, -1, 66, 67, 68, + -1, -1, 66, 67, 68, -1, 29, 93, -1, 66, + 67, 68, 66, 67, 68, 29, 23, 24, -1, 93, + 66, 67, 68, 29, 93, 32, -1, -1, 35, 93, + 37, -1, 66, 67, 68, 29, 93, -1, 29, 93, + -1, -1, -1, 66, 67, 68, 29, 93, -1, -1, + -1, 29, 66, 67, 68, 23, 24, 29, -1, 93, + 66, 67, 68, -1, 32, -1, 29, 35, -1, 37, + 93, -1, 66, 67, 68, 66, 67, 68, -1, 93, + -1, 29, -1, 66, 67, 68, -1, 93, 66, 67, + 68, -1, -1, -1, 66, 67, 68, 23, 24, 93, + -1, -1, 93, 66, 67, 68, 32, -1, -1, 35, + 93, 37, -1, -1, -1, 93, -1, -1, 66, 67, + 68, 93, 29, -1, -1, 23, 24, -1, -1, 36, + 93, -1, -1, 31, 32, 23, 24, 35, -1, 37, + -1, -1, -1, -1, 32, 93, -1, 35, -1, 37, + 95, 96, 97, 98, 99, 100, 29, 23, 24, 66, + 67, 68, -1, 36, 29, 31, 32, 23, 24, 35, + -1, 37, 29, -1, -1, 31, 32, -1, -1, 35, + 29, 37, -1, -1, -1, -1, 93, -1, -1, -1, + -1, -1, -1, 66, 67, 68, 61, 62, -1, -1, + 29, 66, 67, 68, 61, 62, -1, -1, 29, 66, + 67, 68, 61, 62, -1, 23, 24, 66, 67, 68, + 93, -1, -1, 31, 32, -1, -1, 35, 93, 37, + -1, -1, 61, 62, -1, -1, 93, 66, 67, 68, + 61, 62, 3, -1, 93, 66, 67, 68, -1, -1, + -1, -1, 13, -1, -1, -1, 17, -1, -1, -1, + 3, -1, -1, -1, 93, 26, -1, 28, -1, -1, + 13, -1, 93, -1, 17, -1, -1, -1, 39, -1, + 41, 42, -1, 26, -1, 28, -1, -1, 49, -1, + -1, 52, 53, -1, -1, 29, 39, 58, 41, 42, + -1, -1, -1, 64, -1, -1, 49, -1, -1, 52, + 53, -1, -1, -1, -1, 58, -1, -1, -1, 80, + -1, 64, -1, -1, -1, -1, -1, 61, 62, -1, + -1, -1, 66, 67, 68, -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 65, 66, 67, 68, -1, - 70, -1, -1, -1, -1, 75, -1, -1, -1, -1, - -1, 81, 82, 83, 84, -1, -1, 87, -1, -1, - -1, -1, 92, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 10, -1, 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, -1, -1, -1, 43, -1, -1, -1, 47, - -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, - 68, -1, 70, -1, -1, -1, -1, 75, -1, -1, - -1, -1, -1, 81, 82, 83, 84, -1, -1, 87, - -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 10, -1, 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, -1, -1, -1, 43, -1, -1, - -1, 47, -1, -1, -1, -1, -1, -1, -1, 55, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - 66, 67, 68, -1, 70, -1, -1, -1, -1, 75, - -1, -1, -1, -1, -1, 81, 82, 83, 84, -1, - -1, 87, -1, -1, -1, -1, 92, -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, 12, 13, -1, 93, + -1, -1, -1, -1, -1, -1, 22, -1, -1, 3, + -1, -1, -1, 29, -1, -1, -1, 33, 34, 13, + 36, -1, -1, 17, -1, -1, -1, 43, -1, -1, + -1, 47, 26, -1, 28, -1, -1, 31, -1, -1, + -1, -1, -1, -1, -1, 39, -1, 41, 42, 65, + 66, 67, 68, -1, 70, 49, -1, -1, 52, 53, + -1, -1, -1, -1, 58, 81, 82, 83, -1, -1, + 64, 87, -1, -1, -1, -1, -1, 93, -1, -1, + -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 65, 66, 67, 68, -1, 70, -1, 72, -1, 74, - -1, 76, -1, -1, -1, -1, 81, 82, 83, -1, - -1, -1, 87, -1, -1, -1, -1, 92, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, - -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, + -1, 12, 13, -1, -1, -1, -1, -1, -1, 12, + 13, 22, -1, -1, -1, -1, -1, -1, 29, 22, + -1, -1, 33, 34, -1, 36, 29, -1, -1, -1, + 33, 34, 43, 36, -1, -1, 47, -1, -1, -1, + 43, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 65, 66, 67, 68, -1, 70, + -1, -1, 65, 66, 67, 68, -1, 70, -1, -1, + 81, 82, 83, -1, -1, -1, 87, -1, 81, 82, + 83, -1, 93, -1, 87, -1, -1, -1, -1, -1, + 93, -1, 12, 13, -1, -1, -1, -1, -1, -1, + 12, 13, 22, -1, -1, -1, -1, -1, -1, 29, + 22, -1, -1, 33, 34, -1, 36, 29, -1, -1, + -1, 33, 34, 43, 36, -1, -1, 47, -1, -1, + -1, 43, -1, -1, -1, 47, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 65, 66, 67, 68, -1, + 70, -1, -1, 65, 66, 67, 68, -1, 70, -1, + -1, 81, 82, 83, -1, -1, -1, 87, -1, 81, + 82, 83, -1, 93, -1, 87, -1, -1, -1, -1, + -1, 93, -1, 12, 13, -1, -1, -1, -1, -1, + -1, 12, 13, 22, -1, -1, -1, -1, -1, -1, + 29, 22, -1, -1, 33, 34, -1, 36, 29, -1, + -1, -1, 33, 34, 43, 36, -1, -1, 47, -1, + -1, -1, 43, -1, -1, -1, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 65, 66, 67, 68, + -1, 70, -1, -1, 65, 66, 67, 68, -1, 70, + -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, + 81, 82, 83, -1, 93, -1, 87, -1, -1, -1, + -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 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, 43, -1, -1, -1, 47, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, 68, -1, - 70, -1, 72, -1, 74, -1, 76, -1, -1, -1, + 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, -1, - -1, -1, 92, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 10, -1, 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, -1, -1, -1, 43, -1, -1, -1, + 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, + 67, 68, -1, 70, -1, -1, -1, -1, 75, -1, + -1, -1, -1, -1, 81, 82, 83, 84, -1, -1, + 87, -1, -1, -1, -1, -1, 93, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 10, -1, 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, -1, -1, -1, 43, + -1, -1, -1, 47, -1, -1, -1, -1, -1, -1, + -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 65, 66, 67, 68, -1, 70, -1, -1, -1, + -1, 75, -1, -1, -1, -1, -1, 81, 82, 83, + 84, -1, -1, 87, -1, -1, -1, -1, -1, 93, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, + -1, 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, -1, + -1, -1, 43, -1, -1, -1, 47, -1, -1, -1, + -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 65, 66, 67, 68, -1, 70, + -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, + 81, 82, 83, 84, -1, -1, 87, -1, -1, -1, + -1, -1, 93, -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, 66, 67, 68, - -1, 70, -1, 72, -1, 74, 75, 76, -1, -1, + -1, 70, -1, 72, -1, 74, -1, 76, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, - -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 8, -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, 66, 67, 68, -1, 70, -1, 72, -1, 74, - -1, 76, -1, -1, -1, -1, 81, 82, 83, -1, - -1, -1, 87, -1, -1, -1, -1, 92, -1, -1, + -1, -1, -1, -1, 93, -1, -1, -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, 66, 67, 68, -1, 70, -1, 72, + -1, 74, -1, 76, -1, -1, -1, -1, 81, 82, + 83, -1, -1, -1, 87, -1, -1, -1, -1, -1, + 93, -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, 66, 67, 68, -1, 70, + -1, 72, -1, 74, 75, 76, -1, -1, -1, -1, + 81, 82, 83, -1, -1, -1, 87, -1, -1, -1, + -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 8, -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, + 66, 67, 68, -1, 70, -1, 72, -1, 74, -1, + 76, -1, -1, -1, -1, 81, 82, 83, -1, -1, + -1, 87, -1, -1, -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, @@ -852,83 +894,74 @@ const short QQmlJSGrammar::action_check [] = { -1, -1, -1, -1, 65, 66, 67, 68, -1, 70, -1, 72, -1, 74, -1, 76, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, -1, -1, - -1, 92, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 8, -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, 66, - 67, 68, -1, 70, -1, 72, -1, 74, -1, 76, - -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, - 87, -1, -1, -1, -1, 92, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 8, -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, 66, 67, 68, -1, 70, -1, 72, - -1, 74, -1, 76, -1, -1, -1, -1, 81, 82, - 83, -1, -1, -1, 87, -1, -1, -1, -1, 92, - -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, 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, -1, -1, 61, - -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, - 72, 73, 74, -1, 76, -1, 78, -1, -1, 81, - 82, 83, -1, -1, -1, 87, -1, -1, -1, -1, - 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 8, -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, + 66, 67, 68, -1, 70, -1, 72, -1, 74, -1, + 76, -1, -1, -1, -1, 81, 82, 83, -1, -1, + -1, 87, -1, -1, -1, -1, -1, 93, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, - -1, 22, -1, -1, -1, -1, -1, -1, 29, 30, + -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, - 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, - -1, 72, 73, 74, -1, 76, -1, 78, -1, -1, + 51, -1, 53, -1, -1, 56, -1, -1, -1, -1, + -1, -1, -1, -1, 65, 66, 67, 68, -1, 70, + -1, 72, -1, 74, -1, 76, -1, -1, -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, -1, -1, - -1, 92, -1, -1, -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, 69, 70, 71, -1, - 73, 74, 75, 76, 77, 78, -1, -1, 81, 82, - 83, 84, 85, 86, -1, -1, -1, -1, -1, 92, - -1, -1, -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, 47, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, - 65, 66, 67, -1, 69, 70, 71, -1, 73, 74, - 75, 76, 77, 78, -1, -1, 81, 82, 83, 84, - 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, - -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, - 47, -1, -1, -1, -1, -1, -1, -1, 55, -1, - -1, -1, 59, -1, -1, -1, -1, -1, 65, 66, - 67, -1, 69, 70, 71, -1, 73, 74, 75, 76, - 77, 78, -1, -1, 81, 82, 83, 84, 85, 86, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -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, + -1, -1, 93, -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, 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, 76, 77, 78, - -1, -1, 81, 82, 83, 84, 85, -1, 87, -1, - -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, + -1, -1, 61, -1, -1, -1, 65, 66, 67, 68, + 69, 70, -1, 72, 73, 74, -1, 76, -1, 78, + -1, -1, 81, 82, 83, -1, -1, -1, 87, -1, + -1, -1, -1, -1, 93, -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, 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, -1, -1, 61, -1, -1, -1, 65, 66, + 67, 68, 69, 70, -1, 72, 73, 74, -1, 76, + -1, 78, -1, -1, 81, 82, 83, -1, -1, -1, + 87, -1, -1, -1, -1, -1, 93, -1, -1, -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, 69, 70, 71, -1, 73, 74, 75, 76, 77, + 78, -1, -1, 81, 82, 83, 84, 85, 86, -1, + -1, -1, -1, -1, -1, 93, -1, -1, -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, 47, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 59, -1, -1, -1, -1, -1, 65, 66, 67, -1, + 69, 70, 71, -1, 73, 74, 75, 76, 77, 78, + -1, -1, 81, 82, 83, 84, 85, 86, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -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, 47, -1, -1, + -1, -1, -1, -1, -1, 55, -1, -1, -1, 59, + -1, -1, -1, -1, -1, 65, 66, 67, -1, 69, + 70, 71, -1, 73, 74, 75, 76, 77, 78, -1, + -1, 81, 82, 83, 84, 85, 86, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -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, @@ -938,7 +971,17 @@ const short QQmlJSGrammar::action_check [] = { 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, 82, 83, 84, 85, -1, 87, -1, -1, -1, - -1, 92, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 93, -1, -1, -1, -1, -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, 76, 77, 78, -1, -1, 81, + 82, 83, 84, 85, -1, 87, -1, -1, -1, -1, + -1, 93, -1, -1, -1, -1, -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, @@ -947,67 +990,68 @@ const short QQmlJSGrammar::action_check [] = { 53, -1, -1, -1, -1, -1, 59, -1, 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, 82, - 83, 84, 85, 86, 87, -1, -1, -1, -1, 92, - -1, -1, -1, -1, -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, 76, 77, 78, -1, -1, 81, 82, 83, 84, - 85, 86, 87, -1, -1, -1, -1, 92, -1, -1, - -1, -1, -1, -1, -1, -1, -1, + 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, + 93, -1, -1, -1, -1, -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, 76, 77, 78, -1, -1, 81, 82, 83, + 84, 85, 86, 87, -1, -1, -1, -1, -1, 93, + -1, -1, -1, -1, -1, -1, -1, -1, -1, - 15, 2, 105, 3, 29, 15, 4, 2, 15, 29, - 9, 15, 3, 15, 3, 2, 19, 39, 15, 15, - 13, 15, 3, 15, 2, 15, 3, 15, 3, 11, - 13, 15, 71, 39, 39, 3, 22, 2, 99, 19, - 4, 15, 2, 15, 29, 15, 19, 3, 15, 3, - 29, 22, 15, 29, 15, 2, 22, 15, 2, 2, - 15, 2, 2, 2, 2, 22, 3, 15, 3, 2, - 39, 3, 3, 15, 97, 94, 3, 39, 2, 2, - 39, 3, 3, 2, 2, 101, 3, 40, 39, 39, - 39, 3, 2, 39, 39, 15, 22, 13, 3, 2, - 13, 2, -1, 39, 13, 35, -1, 16, -1, 39, - -1, -1, -1, 15, 48, -1, 15, 13, 52, 48, - 48, 50, 3, 48, 20, 53, -1, 52, -1, 45, - -1, 15, 45, 48, 48, 50, 50, 48, -1, 50, - 48, 48, 48, 50, 48, 53, 52, 39, 48, 53, - 48, 39, 44, 53, 48, 53, 44, 48, 15, 50, - -1, 48, 48, 48, 58, 48, 3, 72, 53, 48, - 53, 50, 48, 48, 50, 48, 62, 64, 53, 82, - 53, 82, 48, 48, 41, 13, 88, 53, 16, 54, - 48, 72, 48, 3, 50, 48, 54, 4, 48, 13, - 50, 100, 86, 56, 48, 48, 50, 50, 48, 48, - 50, -1, 51, 48, 48, 48, 51, 50, 48, 48, - 54, 50, 48, 53, 50, 48, 48, 48, 50, 48, - 53, 45, 48, 54, 50, 72, -1, 48, -1, 48, - -1, 60, 53, 48, 53, 48, 15, 48, 53, -1, - 53, 48, 53, 48, 65, -1, 53, -1, 53, 48, - 55, 70, 72, 48, 53, 70, 63, 70, 53, 70, - 48, 48, 41, 42, 59, 53, 53, 55, 48, 13, - 57, 70, 48, 53, 48, 55, 20, 53, -1, 53, - -1, 55, -1, 5, -1, 61, 5, -1, 32, 33, - 13, 13, -1, 16, 13, -1, -1, -1, 20, -1, - -1, 20, 22, 23, 24, 25, 26, 27, 28, -1, - 32, 33, -1, 32, 33, 21, 22, 23, 24, 25, - 26, 27, 28, 13, -1, -1, -1, -1, -1, -1, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 13, - -1, -1, -1, -1, -1, -1, 20, 21, 22, 23, - 24, 25, 26, 27, 28, -1, -1, -1, -1, -1, + 15, 3, 13, 29, 29, 15, 15, 4, 2, 15, + 105, 9, 15, 2, 15, 3, 29, 22, 3, 15, + 15, 2, 39, 15, 3, 15, 19, 3, 2, 15, + 3, 15, 19, 11, 71, 15, 19, 2, 13, 39, + 97, 2, 2, 15, 15, 3, 15, 29, 39, 15, + 94, 101, 29, 3, 2, 2, 15, 99, 15, 22, + 3, 3, 15, 15, 2, 2, 15, 22, 2, 39, + 2, 39, 39, 3, 3, 39, 22, 39, 2, 2, + 15, 3, 22, 39, 4, 39, 4, 3, 2, 40, + 3, 3, 2, 2, 39, 39, 3, 3, 13, 2, + 2, -1, -1, 39, -1, -1, -1, 48, 44, 48, + -1, 50, 53, -1, 3, 48, 13, 48, 13, 50, + 53, 48, 48, 48, 50, 15, 53, 48, 53, 48, + 45, 50, 13, 13, 3, 16, 16, 48, 15, 50, + 48, 62, 50, 48, 48, 50, 50, 48, 45, 48, + 45, 50, 48, 39, 48, 48, 48, 53, 44, 53, + 48, 53, 50, 64, 48, 48, 48, 60, 15, 48, + 54, 54, 54, 13, 35, -1, 16, 56, 39, 82, + 82, 48, 48, 72, 48, 48, 53, 53, 52, 48, + 53, 48, 48, 52, 41, 48, 53, 2, 54, 52, + 48, 13, 15, 72, 48, 53, 3, 51, 20, 15, + 100, 88, 48, 48, 50, 50, 48, 48, 50, 50, + 48, 48, 50, 48, 48, 50, 48, 51, 50, 48, + 48, 58, 50, 48, 53, 41, 42, 48, 53, -1, + 48, -1, 53, -1, 63, 53, 61, 48, 48, 48, + 48, -1, 53, 53, 53, 53, 48, 55, 57, 70, + -1, 53, 70, 48, -1, 65, -1, 59, 53, 70, + 55, 48, 48, 86, -1, 72, 53, 53, 55, 55, + 13, 48, 48, 16, 5, 18, 53, 53, 13, -1, + 5, -1, 13, -1, -1, 20, -1, -1, 13, 20, + -1, -1, 3, 70, 70, 20, 39, 32, 33, -1, + -1, 32, 33, -1, -1, -1, -1, 32, 33, 22, + 23, 24, 25, 26, 27, 28, 13, -1, -1, -1, + -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 13, -1, -1, -1, -1, -1, -1, 20, + 21, 22, 23, 24, 25, 26, 27, 28, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 72, -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, 13, -1, -1, 16, -1, 18, + -1, -1, -1, -1, -1, -1, 21, 22, 23, 24, + 25, 26, 27, 28, -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, - 39, -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}; + -1, -1}; QT_END_NAMESPACE diff --git a/src/qml/qml/parser/qqmljsgrammar_p.h b/src/qml/qml/parser/qqmljsgrammar_p.h index e4a6e8e..8924b2a 100644 --- a/src/qml/qml/parser/qqmljsgrammar_p.h +++ b/src/qml/qml/parser/qqmljsgrammar_p.h @@ -3,7 +3,7 @@ ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** -** This file is part of the QtCore module of the Qt Toolkit. +** This file is part of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage @@ -63,12 +63,12 @@ class QQmlJSGrammar public: enum VariousConstants { EOF_SYMBOL = 0, - REDUCE_HERE = 101, - SHIFT_THERE = 100, + REDUCE_HERE = 102, + SHIFT_THERE = 101, T_AND = 1, T_AND_AND = 2, T_AND_EQ = 3, - T_AS = 91, + T_AS = 92, T_AUTOMATIC_SEMICOLON = 62, T_BREAK = 4, T_CASE = 5, @@ -76,6 +76,7 @@ public: T_COLON = 7, T_COMMA = 8, T_COMMENT = 88, + T_COMPATIBILITY_SEMICOLON = 89, T_CONST = 84, T_CONTINUE = 9, T_DEBUGGER = 85, @@ -89,14 +90,14 @@ public: T_EQ = 17, T_EQ_EQ = 18, T_EQ_EQ_EQ = 19, - T_ERROR = 93, + T_ERROR = 94, T_FALSE = 83, - T_FEED_JS_EXPRESSION = 97, - T_FEED_JS_PROGRAM = 99, - T_FEED_JS_SOURCE_ELEMENT = 98, - T_FEED_JS_STATEMENT = 96, - T_FEED_UI_OBJECT_MEMBER = 95, - T_FEED_UI_PROGRAM = 94, + T_FEED_JS_EXPRESSION = 98, + T_FEED_JS_PROGRAM = 100, + T_FEED_JS_SOURCE_ELEMENT = 99, + T_FEED_JS_STATEMENT = 97, + T_FEED_UI_OBJECT_MEMBER = 96, + T_FEED_UI_PROGRAM = 95, T_FINALLY = 20, T_FOR = 21, T_FUNCTION = 22, @@ -108,7 +109,7 @@ public: T_GT_GT_GT_EQ = 28, T_IDENTIFIER = 29, T_IF = 30, - T_IMPORT = 90, + T_IMPORT = 91, T_IN = 31, T_INSTANCEOF = 32, T_LBRACE = 33, @@ -128,7 +129,7 @@ public: T_NOT_EQ_EQ = 46, T_NULL = 81, T_NUMERIC_LITERAL = 47, - T_ON = 92, + T_ON = 93, T_OR = 48, T_OR_EQ = 49, T_OR_OR = 50, @@ -136,7 +137,7 @@ public: T_PLUS_EQ = 52, T_PLUS_PLUS = 53, T_PROPERTY = 66, - T_PUBLIC = 89, + T_PUBLIC = 90, T_QUESTION = 54, T_RBRACE = 55, T_RBRACKET = 56, @@ -165,15 +166,15 @@ public: T_XOR = 79, T_XOR_EQ = 80, - ACCEPT_STATE = 644, - RULE_COUNT = 349, - STATE_COUNT = 645, - TERMINAL_COUNT = 102, + ACCEPT_STATE = 645, + RULE_COUNT = 350, + STATE_COUNT = 646, + TERMINAL_COUNT = 103, NON_TERMINAL_COUNT = 107, - GOTO_INDEX_OFFSET = 645, - GOTO_INFO_OFFSET = 2807, - GOTO_CHECK_OFFSET = 2807 + GOTO_INDEX_OFFSET = 646, + GOTO_INFO_OFFSET = 3019, + GOTO_CHECK_OFFSET = 3019 }; static const char *const spell []; diff --git a/src/qml/qml/parser/qqmljsparser.cpp b/src/qml/qml/parser/qqmljsparser.cpp index 1bc8f23..65aaa43 100644 --- a/src/qml/qml/parser/qqmljsparser.cpp +++ b/src/qml/qml/parser/qqmljsparser.cpp @@ -55,8 +55,15 @@ #include // -// This file is automatically generated from qmljs.g. -// Changes will be lost. +// W A R N I N G +// ------------- +// +// This file is automatically generated from qqmljs.g. +// Changes should be made to that file, not here. Any change to this file will +// be lost! +// +// To regenerate this file, run: +// qlalr --no-debug --no-lines --qt qqmljs.g // using namespace QQmlJS; @@ -1383,7 +1390,7 @@ case 289: { sym(1).Node = node; } break; -case 291: { +case 292: { AST::DoWhileStatement *node = new (pool) AST::DoWhileStatement(sym(2).Statement, sym(5).Expression); node->doToken = loc(1); node->whileToken = loc(3); @@ -1393,7 +1400,7 @@ case 291: { sym(1).Node = node; } break; -case 292: { +case 293: { AST::WhileStatement *node = new (pool) AST::WhileStatement(sym(3).Expression, sym(5).Statement); node->whileToken = loc(1); node->lparenToken = loc(2); @@ -1401,7 +1408,7 @@ case 292: { sym(1).Node = node; } break; -case 293: { +case 294: { AST::ForStatement *node = new (pool) AST::ForStatement(sym(3).Expression, sym(5).Expression, sym(7).Expression, sym(9).Statement); node->forToken = loc(1); @@ -1412,7 +1419,7 @@ case 293: { sym(1).Node = node; } break; -case 294: { +case 295: { AST::LocalForStatement *node = new (pool) AST::LocalForStatement( sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression, sym(8).Expression, sym(10).Statement); @@ -1425,7 +1432,7 @@ case 294: { sym(1).Node = node; } break; -case 295: { +case 296: { AST:: ForEachStatement *node = new (pool) AST::ForEachStatement(sym(3).Expression, sym(5).Expression, sym(7).Statement); node->forToken = loc(1); @@ -1435,7 +1442,7 @@ case 295: { sym(1).Node = node; } break; -case 296: { +case 297: { AST::LocalForEachStatement *node = new (pool) AST::LocalForEachStatement( sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement); node->forToken = loc(1); @@ -1446,14 +1453,14 @@ case 296: { sym(1).Node = node; } break; -case 298: { +case 299: { AST::ContinueStatement *node = new (pool) AST::ContinueStatement(); node->continueToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 300: { +case 301: { AST::ContinueStatement *node = new (pool) AST::ContinueStatement(stringRef(2)); node->continueToken = loc(1); node->identifierToken = loc(2); @@ -1461,14 +1468,14 @@ case 300: { sym(1).Node = node; } break; -case 302: { +case 303: { AST::BreakStatement *node = new (pool) AST::BreakStatement(QStringRef()); node->breakToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 304: { +case 305: { AST::BreakStatement *node = new (pool) AST::BreakStatement(stringRef(2)); node->breakToken = loc(1); node->identifierToken = loc(2); @@ -1476,14 +1483,14 @@ case 304: { sym(1).Node = node; } break; -case 306: { +case 307: { AST::ReturnStatement *node = new (pool) AST::ReturnStatement(sym(2).Expression); node->returnToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 307: { +case 308: { AST::WithStatement *node = new (pool) AST::WithStatement(sym(3).Expression, sym(5).Statement); node->withToken = loc(1); node->lparenToken = loc(2); @@ -1491,7 +1498,7 @@ case 307: { sym(1).Node = node; } break; -case 308: { +case 309: { AST::SwitchStatement *node = new (pool) AST::SwitchStatement(sym(3).Expression, sym(5).CaseBlock); node->switchToken = loc(1); node->lparenToken = loc(2); @@ -1499,90 +1506,90 @@ case 308: { sym(1).Node = node; } break; -case 309: { +case 310: { AST::CaseBlock *node = new (pool) AST::CaseBlock(sym(2).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(3); sym(1).Node = node; } break; -case 310: { +case 311: { AST::CaseBlock *node = new (pool) AST::CaseBlock(sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses); node->lbraceToken = loc(1); node->rbraceToken = loc(5); sym(1).Node = node; } break; -case 311: { +case 312: { sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClause); } break; -case 312: { +case 313: { sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClauses, sym(2).CaseClause); } break; -case 313: { +case 314: { sym(1).Node = 0; } break; -case 314: { +case 315: { sym(1).Node = sym(1).CaseClauses->finish (); } break; -case 315: { +case 316: { AST::CaseClause *node = new (pool) AST::CaseClause(sym(2).Expression, sym(4).StatementList); node->caseToken = loc(1); node->colonToken = loc(3); sym(1).Node = node; } break; -case 316: { +case 317: { AST::DefaultClause *node = new (pool) AST::DefaultClause(sym(3).StatementList); node->defaultToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 317: -case 318: { +case 318: +case 319: { AST::LabelledStatement *node = new (pool) AST::LabelledStatement(stringRef(1), sym(3).Statement); node->identifierToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 319: { +case 320: { AST::LabelledStatement *node = new (pool) AST::LabelledStatement(stringRef(1), sym(3).Statement); node->identifierToken = loc(1); node->colonToken = loc(2); sym(1).Node = node; } break; -case 321: { +case 322: { AST::ThrowStatement *node = new (pool) AST::ThrowStatement(sym(2).Expression); node->throwToken = loc(1); node->semicolonToken = loc(3); sym(1).Node = node; } break; -case 322: { +case 323: { AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Catch); node->tryToken = loc(1); sym(1).Node = node; } break; -case 323: { +case 324: { AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 324: { +case 325: { AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Catch, sym(4).Finally); node->tryToken = loc(1); sym(1).Node = node; } break; -case 325: { +case 326: { AST::Catch *node = new (pool) AST::Catch(stringRef(3), sym(5).Block); node->catchToken = loc(1); node->lparenToken = loc(2); @@ -1591,20 +1598,20 @@ case 325: { sym(1).Node = node; } break; -case 326: { +case 327: { AST::Finally *node = new (pool) AST::Finally(sym(2).Block); node->finallyToken = loc(1); sym(1).Node = node; } break; -case 328: { +case 329: { AST::DebuggerStatement *node = new (pool) AST::DebuggerStatement(); node->debuggerToken = loc(1); node->semicolonToken = loc(2); sym(1).Node = node; } break; -case 329: { +case 330: { AST::FunctionDeclaration *node = new (pool) AST::FunctionDeclaration(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); node->identifierToken = loc(2); @@ -1615,7 +1622,7 @@ case 329: { sym(1).Node = node; } break; -case 330: { +case 331: { AST::FunctionExpression *node = new (pool) AST::FunctionExpression(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody); node->functionToken = loc(1); if (! stringRef(2).isNull()) @@ -1627,60 +1634,60 @@ case 330: { sym(1).Node = node; } break; -case 331: { +case 332: { AST::FormalParameterList *node = new (pool) AST::FormalParameterList(stringRef(1)); node->identifierToken = loc(1); sym(1).Node = node; } break; -case 332: { +case 333: { AST::FormalParameterList *node = new (pool) AST::FormalParameterList(sym(1).FormalParameterList, stringRef(3)); node->commaToken = loc(2); node->identifierToken = loc(3); sym(1).Node = node; } break; -case 333: { +case 334: { sym(1).Node = 0; } break; -case 334: { +case 335: { sym(1).Node = sym(1).FormalParameterList->finish (); } break; -case 335: { +case 336: { sym(1).Node = 0; } break; -case 337: { +case 338: { sym(1).Node = new (pool) AST::FunctionBody(sym(1).SourceElements->finish ()); } break; -case 339: { +case 340: { sym(1).Node = new (pool) AST::Program(sym(1).SourceElements->finish ()); } break; -case 340: { +case 341: { sym(1).Node = new (pool) AST::SourceElements(sym(1).SourceElement); } break; -case 341: { +case 342: { sym(1).Node = new (pool) AST::SourceElements(sym(1).SourceElements, sym(2).SourceElement); } break; -case 342: { +case 343: { sym(1).Node = new (pool) AST::StatementSourceElement(sym(1).Statement); } break; -case 343: { +case 344: { sym(1).Node = new (pool) AST::FunctionSourceElement(sym(1).FunctionDeclaration); } break; -case 344: { +case 345: { stringRef(1) = QStringRef(); } break; -case 346: { +case 347: { sym(1).Node = 0; } break; @@ -1693,7 +1700,8 @@ case 346: { const int errorState = state_stack[tos]; // automatic insertion of `;' - if (yytoken != -1 && t_action(errorState, T_AUTOMATIC_SEMICOLON) && lexer->canInsertAutomaticSemicolon(yytoken)) { + if (yytoken != -1 && ((t_action(errorState, T_AUTOMATIC_SEMICOLON) && lexer->canInsertAutomaticSemicolon(yytoken)) + || t_action(errorState, T_COMPATIBILITY_SEMICOLON))) { SavedToken &tk = token_buffer[0]; tk.token = yytoken; tk.dval = yylval; diff --git a/src/qml/qml/parser/qqmljsparser_p.h b/src/qml/qml/parser/qqmljsparser_p.h index 57379ca..c32adc4 100644 --- a/src/qml/qml/parser/qqmljsparser_p.h +++ b/src/qml/qml/parser/qqmljsparser_p.h @@ -52,8 +52,15 @@ // // -// This file is automatically generated from qmljs.g. -// Changes will be lost. +// W A R N I N G +// ------------- +// +// This file is automatically generated from qqmljs.g. +// Changes should be made to that file, not here. Any change to this file will +// be lost! +// +// To regenerate this file, run: +// qlalr --no-debug --no-lines --qt qqmljs.g // #ifndef QQMLJSPARSER_P_H diff --git a/tests/auto/qml/qqmlecmascript/data/compatibilitySemicolon.qml b/tests/auto/qml/qqmlecmascript/data/compatibilitySemicolon.qml new file mode 100644 index 0000000..594a1b3 --- /dev/null +++ b/tests/auto/qml/qqmlecmascript/data/compatibilitySemicolon.qml @@ -0,0 +1,13 @@ + +import QtQuick 2.0 + +QtObject { + function code() { + + // Not correct according to ECMA 5.1, but JSC and V8 accept the following: + do { + ; + } while (false) true + } +} + diff --git a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp index 0ae0668..a99c5fa 100644 --- a/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp +++ b/tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp @@ -265,6 +265,7 @@ private slots: void registeredFlagMethod(); void deleteLaterObjectMethodCall(); void automaticSemicolon(); + void compatibilitySemicolon(); void unaryExpression(); void switchStatement(); void withStatement(); @@ -6600,6 +6601,13 @@ void tst_qqmlecmascript::automaticSemicolon() QVERIFY(object != 0); } +void tst_qqmlecmascript::compatibilitySemicolon() +{ + QQmlComponent component(&engine, testFileUrl("compatibilitySemicolon.qml")); + QObject *object = component.create(); + QVERIFY(object != 0); +} + void tst_qqmlecmascript::unaryExpression() { QQmlComponent component(&engine, testFileUrl("unaryExpression.qml")); diff --git a/tools/qmlmin/main.cpp b/tools/qmlmin/main.cpp index 192a17a..0d69503 100644 --- a/tools/qmlmin/main.cpp +++ b/tools/qmlmin/main.cpp @@ -394,7 +394,8 @@ bool Minify::parse(int startToken) const int yyerrorstate = _stateStack[yytos]; // automatic insertion of `;' - if (yytoken != -1 && t_action(yyerrorstate, T_AUTOMATIC_SEMICOLON) && canInsertAutomaticSemicolon(yytoken)) { + if (yytoken != -1 && ((t_action(yyerrorstate, T_AUTOMATIC_SEMICOLON) && canInsertAutomaticSemicolon(yytoken)) + || t_action(yyerrorstate, T_COMPATIBILITY_SEMICOLON))) { _tokens.prepend(yytoken); _tokenStrings.prepend(yytokentext); yyaction = yyerrorstate; @@ -509,7 +510,8 @@ bool Tokenize::parse(int startToken) const int yyerrorstate = _stateStack[yytos]; // automatic insertion of `;' - if (yytoken != -1 && t_action(yyerrorstate, T_AUTOMATIC_SEMICOLON) && canInsertAutomaticSemicolon(yytoken)) { + if (yytoken != -1 && ((t_action(yyerrorstate, T_AUTOMATIC_SEMICOLON) && canInsertAutomaticSemicolon(yytoken)) + || t_action(yyerrorstate, T_COMPATIBILITY_SEMICOLON))) { _tokens.prepend(yytoken); _tokenStrings.prepend(yytokentext); yyaction = yyerrorstate; -- 1.7.2.5