diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-02-10 23:49:51 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-04-25 14:19:15 +0000 |
commit | 1ea05eb7755e9e39f79ab982afa5c652f755d3e2 (patch) | |
tree | 02c59795fd035238fe13d4df955a846fedaa3dfb | |
parent | 0dd479fc8d856b94f3be961364ee1bcacea2c961 (diff) |
Get rid of qlalr generated files
Let's not check in the files generated by qlalr. This is ok, as
qlalr is part of qtbase since a long time.
Change-Id: I1298c76e919169c8f02f1e5d067f128a9f2a7542
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
-rw-r--r-- | src/qml/parser/parser.pri | 14 | ||||
-rw-r--r-- | src/qml/parser/qqmljs.g | 16 | ||||
-rw-r--r-- | src/qml/parser/qqmljsgrammar.cpp | 1167 | ||||
-rw-r--r-- | src/qml/parser/qqmljsgrammar_p.h | 215 | ||||
-rw-r--r-- | src/qml/parser/qqmljslexer_p.h | 4 | ||||
-rw-r--r-- | src/qml/parser/qqmljsparser.cpp | 2010 | ||||
-rw-r--r-- | src/qml/parser/qqmljsparser_p.h | 258 | ||||
-rw-r--r-- | sync.profile | 3 |
8 files changed, 21 insertions, 3666 deletions
diff --git a/src/qml/parser/parser.pri b/src/qml/parser/parser.pri index e5b8ae2749..dcdde4f81c 100644 --- a/src/qml/parser/parser.pri +++ b/src/qml/parser/parser.pri @@ -3,20 +3,22 @@ HEADERS += \ $$PWD/qqmljsastfwd_p.h \ $$PWD/qqmljsastvisitor_p.h \ $$PWD/qqmljsengine_p.h \ - $$PWD/qqmljsgrammar_p.h \ $$PWD/qqmljslexer_p.h \ $$PWD/qqmljsmemorypool_p.h \ - $$PWD/qqmljsparser_p.h \ $$PWD/qqmljsglobal_p.h \ $$PWD/qqmljskeywords_p.h \ + $$PWD/qqmljsengine_p.h \ + $$PWD/qqmljsglobal_p.h SOURCES += \ $$PWD/qqmljsast.cpp \ $$PWD/qqmljsastvisitor.cpp \ $$PWD/qqmljsengine_p.cpp \ - $$PWD/qqmljsgrammar.cpp \ $$PWD/qqmljslexer.cpp \ - $$PWD/qqmljsparser.cpp \ -OTHER_FILES += \ - $$PWD/qqmljs.g +CONFIG += qlalr +QLALRSOURCES = $$PWD/qqmljs.g +QMAKE_QLALRFLAGS = --no-debug --qt + +# make sure we install the headers generated by qlalr +private_headers.CONFIG += no_check_exist diff --git a/src/qml/parser/qqmljs.g b/src/qml/parser/qqmljs.g index d2d947e55c..60a10bee6b 100644 --- a/src/qml/parser/qqmljs.g +++ b/src/qml/parser/qqmljs.g @@ -143,10 +143,10 @@ ** ****************************************************************************/ -#include "qqmljsengine_p.h" -#include "qqmljslexer_p.h" -#include "qqmljsast_p.h" -#include "qqmljsmemorypool_p.h" +#include <private/qqmljsengine_p.h> +#include <private/qqmljslexer_p.h> +#include <private/qqmljsast_p.h> +#include <private/qqmljsmemorypool_p.h> #include <QtCore/qdebug.h> #include <QtCore/qcoreapplication.h> @@ -221,10 +221,10 @@ #ifndef QQMLJSPARSER_P_H #define QQMLJSPARSER_P_H -#include "qqmljsglobal_p.h" -#include "qqmljsgrammar_p.h" -#include "qqmljsast_p.h" -#include "qqmljsengine_p.h" +#include <private/qqmljsglobal_p.h> +#include <private/qqmljsgrammar_p.h> +#include <private/qqmljsast_p.h> +#include <private/qqmljsengine_p.h> #include <QtCore/qlist.h> #include <QtCore/qstring.h> diff --git a/src/qml/parser/qqmljsgrammar.cpp b/src/qml/parser/qqmljsgrammar.cpp deleted file mode 100644 index 2aaeb385e3..0000000000 --- a/src/qml/parser/qqmljsgrammar.cpp +++ /dev/null @@ -1,1167 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// This file was generated by qlalr - DO NOT EDIT! -#include "qqmljsgrammar_p.h" - -QT_BEGIN_NAMESPACE - -const char *const QQmlJSGrammar::spell [] = { - "end of file", "&", "&&", "&=", "break", "case", "catch", ":", ",", "continue", - "default", "delete", "/", "/=", "do", ".", "else", "=", "==", "===", - "finally", "for", "function", ">=", ">", ">>", ">>=", ">>>", ">>>=", "identifier", - "if", "in", "instanceof", "{", "[", "<=", "(", "<", "<<", "<<=", - "-", "-=", "--", "new", "!", "!=", "!==", "numeric literal", "|", "|=", - "||", "+", "+=", "++", "?", "}", "]", "%", "%=", "return", - ")", ";", nullptr, "*", "*=", "string literal", "property", "signal", "readonly", "switch", - "this", "throw", "~", "try", "typeof", "var", "void", "while", "with", "^", - "^=", "null", "true", "false", "const", "let", "debugger", "reserved word", "multiline string literal", "comment", - nullptr, "enum", "public", "import", "pragma", "as", "on", "get", "set", nullptr, - nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr -}; - -const short QQmlJSGrammar::lhs [] = { - 108, 108, 108, 108, 108, 108, 109, 115, 115, 118, - 118, 118, 118, 121, 123, 119, 119, 120, 120, 120, - 120, 120, 120, 120, 120, 124, 125, 117, 116, 128, - 128, 129, 129, 130, 130, 127, 113, 113, 113, 113, - 132, 132, 132, 132, 132, 132, 132, 113, 140, 140, - 140, 140, 141, 141, 142, 142, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 145, 145, 145, - 145, 126, 126, 126, 126, 126, 126, 126, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 131, 148, 148, 148, - 148, 147, 147, 152, 152, 152, 150, 150, 153, 153, - 153, 153, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 157, 157, 122, 122, 122, - 122, 122, 160, 160, 161, 161, 161, 161, 159, 159, - 162, 162, 163, 163, 164, 164, 164, 165, 165, 165, - 165, 165, 165, 165, 165, 165, 165, 166, 166, 166, - 166, 167, 167, 167, 168, 168, 168, 168, 169, 169, - 169, 169, 169, 169, 169, 170, 170, 170, 170, 170, - 170, 171, 171, 171, 171, 171, 172, 172, 172, 172, - 172, 173, 173, 174, 174, 175, 175, 176, 176, 177, - 177, 178, 178, 179, 179, 180, 180, 181, 181, 182, - 182, 183, 183, 184, 184, 151, 151, 185, 185, 186, - 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 186, 111, 111, 187, 187, 188, 188, 189, 189, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 133, 198, 198, 197, 197, 144, - 144, 199, 199, 199, 200, 200, 202, 202, 201, 203, - 206, 204, 204, 207, 205, 205, 134, 135, 135, 136, - 136, 190, 190, 190, 190, 190, 190, 190, 190, 191, - 191, 191, 191, 192, 192, 192, 192, 193, 193, 137, - 138, 208, 208, 211, 211, 209, 209, 212, 210, 194, - 195, 195, 139, 139, 139, 213, 214, 196, 196, 215, - 143, 158, 158, 216, 216, 155, 155, 154, 154, 217, - 114, 114, 218, 218, 112, 112, 149, 149, 219 -}; - -const short QQmlJSGrammar::rhs [] = { - 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, - 1, 2, 2, 1, 1, 2, 2, 2, 2, 3, - 3, 5, 5, 4, 4, 2, 2, 0, 1, 1, - 2, 1, 3, 2, 3, 2, 1, 5, 4, 4, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, - 1, 3, 0, 1, 2, 4, 6, 6, 3, 3, - 7, 7, 4, 4, 5, 5, 8, 8, 5, 6, - 6, 10, 6, 7, 1, 1, 5, 1, 3, 3, - 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 3, 4, 5, 3, 4, 3, 1, 1, 2, 3, - 4, 1, 2, 3, 7, 8, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, - 3, 5, 1, 2, 4, 4, 4, 3, 0, 1, - 1, 3, 1, 1, 1, 2, 2, 1, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 1, 3, 3, - 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, - 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, - 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, - 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 5, 1, 5, 1, 3, 1, 3, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 0, 1, 1, 3, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 1, 2, 0, 1, 3, - 3, 1, 1, 1, 1, 3, 1, 3, 2, 2, - 2, 0, 1, 2, 0, 1, 1, 2, 2, 7, - 5, 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, 4, 5, 2, 2, 2, 1, - 8, 8, 7, 1, 3, 0, 1, 0, 1, 1, - 1, 1, 1, 2, 1, 1, 0, 1, 2 -}; - -const short QQmlJSGrammar::action_default [] = { - 0, 0, 28, 0, 0, 0, 28, 0, 195, 262, - 226, 234, 230, 174, 246, 222, 3, 159, 90, 175, - 238, 242, 163, 192, 173, 178, 158, 212, 199, 0, - 97, 98, 93, 0, 87, 82, 367, 0, 0, 0, - 0, 95, 0, 0, 91, 94, 86, 0, 0, 83, - 85, 88, 84, 96, 89, 0, 92, 0, 0, 188, - 0, 0, 175, 194, 177, 176, 0, 0, 0, 190, - 191, 189, 193, 0, 223, 0, 0, 0, 0, 213, - 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, - 197, 198, 196, 201, 205, 204, 202, 200, 215, 214, - 216, 0, 231, 0, 227, 0, 0, 169, 156, 168, - 157, 123, 124, 125, 151, 126, 153, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 152, - 139, 140, 154, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 155, 0, 0, 167, 263, 170, 0, - 171, 0, 172, 166, 0, 259, 252, 250, 257, 258, - 256, 255, 261, 254, 253, 251, 260, 247, 0, 235, - 0, 0, 239, 0, 0, 243, 0, 0, 169, 161, - 0, 160, 0, 165, 179, 0, 356, 356, 357, 0, - 354, 0, 355, 0, 358, 270, 277, 276, 284, 272, - 0, 273, 0, 359, 0, 366, 274, 275, 90, 280, - 278, 363, 360, 365, 281, 0, 293, 0, 0, 0, - 0, 350, 0, 367, 292, 264, 307, 0, 0, 0, - 294, 0, 0, 282, 283, 0, 271, 279, 308, 309, - 0, 356, 0, 0, 358, 0, 351, 352, 0, 340, - 364, 0, 324, 325, 326, 327, 0, 320, 321, 322, - 323, 348, 349, 0, 0, 0, 0, 0, 312, 313, - 314, 268, 266, 228, 236, 232, 248, 224, 269, 0, - 175, 240, 244, 217, 206, 0, 0, 225, 0, 0, - 0, 0, 218, 0, 0, 0, 0, 0, 210, 208, - 211, 209, 207, 220, 219, 221, 0, 233, 0, 229, - 0, 267, 175, 0, 249, 264, 265, 0, 264, 0, - 0, 316, 0, 0, 0, 318, 0, 237, 0, 0, - 241, 0, 0, 245, 305, 0, 297, 306, 300, 0, - 304, 0, 264, 298, 0, 264, 0, 0, 317, 0, - 0, 0, 319, 0, 0, 0, 311, 0, 310, 90, - 117, 368, 0, 0, 122, 286, 289, 0, 123, 293, - 126, 153, 128, 129, 93, 134, 135, 87, 136, 292, - 139, 91, 94, 264, 88, 96, 142, 89, 144, 92, - 146, 147, 294, 149, 150, 155, 0, 119, 118, 121, - 105, 120, 104, 0, 114, 287, 285, 0, 0, 0, - 358, 0, 115, 163, 164, 169, 0, 162, 0, 328, - 329, 0, 356, 0, 0, 358, 0, 116, 0, 0, - 0, 331, 336, 334, 337, 0, 0, 335, 336, 0, - 332, 0, 333, 288, 339, 0, 288, 338, 0, 341, - 342, 0, 288, 343, 344, 0, 0, 345, 0, 0, - 0, 346, 347, 181, 180, 0, 0, 0, 315, 0, - 0, 0, 330, 302, 295, 0, 303, 299, 0, 301, - 290, 0, 291, 296, 0, 0, 358, 0, 353, 108, - 0, 0, 112, 99, 0, 101, 110, 0, 102, 111, - 113, 103, 109, 100, 0, 106, 185, 183, 187, 184, - 182, 186, 361, 6, 362, 4, 2, 75, 107, 0, - 0, 0, 83, 85, 84, 37, 5, 0, 76, 0, - 51, 50, 49, 0, 0, 51, 0, 0, 0, 52, - 0, 67, 68, 0, 65, 0, 66, 41, 42, 43, - 44, 46, 47, 71, 45, 0, 0, 0, 78, 0, - 77, 80, 0, 81, 0, 79, 0, 51, 0, 0, - 0, 0, 0, 61, 0, 62, 0, 0, 32, 0, - 0, 72, 33, 0, 36, 34, 30, 0, 35, 31, - 0, 63, 0, 64, 163, 0, 69, 73, 0, 0, - 0, 0, 163, 288, 0, 70, 90, 123, 293, 126, - 153, 128, 129, 93, 134, 135, 136, 292, 139, 91, - 94, 264, 96, 142, 89, 144, 92, 146, 147, 294, - 149, 150, 155, 74, 0, 59, 53, 60, 54, 0, - 0, 0, 0, 56, 0, 57, 58, 55, 0, 0, - 0, 0, 48, 0, 38, 39, 0, 40, 8, 0, - 0, 9, 0, 11, 0, 10, 0, 1, 27, 15, - 14, 26, 13, 12, 29, 7, 0, 18, 0, 19, - 0, 24, 25, 0, 20, 21, 0, 22, 23, 16, - 17, 369 -}; - -const short QQmlJSGrammar::goto_default [] = { - 7, 667, 213, 200, 211, 526, 513, 662, 675, 512, - 661, 665, 663, 671, 22, 668, 666, 664, 18, 525, - 587, 577, 584, 579, 553, 195, 199, 201, 206, 237, - 214, 234, 568, 639, 638, 205, 236, 557, 26, 491, - 490, 362, 361, 9, 360, 363, 204, 484, 364, 109, - 17, 149, 24, 13, 148, 19, 25, 59, 23, 8, - 28, 27, 283, 15, 277, 10, 273, 12, 275, 11, - 274, 20, 281, 21, 282, 14, 276, 272, 313, 418, - 278, 279, 207, 197, 196, 210, 209, 233, 198, 367, - 366, 235, 475, 474, 335, 336, 477, 338, 476, 337, - 431, 435, 438, 434, 433, 453, 454, 202, 188, 203, - 212, 0 -}; - -const short QQmlJSGrammar::action_index [] = { - 350, 1528, 3041, 3041, 2937, 1235, 115, 105, 239, -108, - 102, 93, 95, 205, -108, 422, 110, -108, -108, 727, - 92, 118, 265, 256, -108, -108, -108, 507, 247, 1528, - -108, -108, -108, 665, -108, -108, 2729, 1826, 1528, 1528, - 1528, -108, 1041, 1528, -108, -108, -108, 1528, 1528, -108, - -108, -108, -108, -108, -108, 1528, -108, 1528, 1528, -108, - 1528, 1528, 174, 221, -108, -108, 1528, 1528, 1528, -108, - -108, -108, 177, 1528, 422, 1528, 1528, 1528, 1528, 411, - 1528, 1528, 1528, 1528, 1528, 1528, 211, 1528, 1528, 1528, - 142, 148, 154, 217, 223, 226, 227, 231, 507, 385, - 395, 1528, 57, 1528, 83, 2521, 1528, 1528, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, -108, 179, 1528, -108, -108, 77, 36, - -108, 1528, -108, -108, 1528, -108, -108, -108, -108, -108, - -108, -108, -108, -108, -108, -108, -108, -108, 1528, 56, - 1528, 1528, 80, 74, 1528, -108, 2521, 1528, 1528, -108, - 125, -108, 55, -108, -108, 53, 410, 418, 72, 52, - -108, 392, -108, 46, 3041, -108, -108, -108, -108, -108, - 273, -108, 396, -108, 44, -108, -108, -108, 76, -108, - -108, -108, 3041, -108, -108, 744, -108, 589, 98, 2937, - 91, 90, 88, 3249, -108, 1528, -108, 86, 1528, 81, - -108, 75, 73, -108, -108, 586, -108, -108, -108, -108, - 71, 491, 69, 65, 3041, 64, -108, -108, 2937, -108, - -108, 139, -108, -108, -108, -108, 134, -108, -108, -108, - -108, -108, -108, 63, 66, 1528, 147, 264, -108, -108, - -108, 1726, -108, 87, 68, 70, -108, 334, 82, 78, - 796, 89, 121, 349, 318, 469, 1528, 330, 1528, 1528, - 1528, 1528, 359, 1528, 1528, 1528, 1528, 1528, 284, 289, - 303, 306, 313, 365, 369, 375, 1528, 58, 1528, 85, - 1528, -108, 849, 1528, -108, 1528, 79, 59, 1528, 61, - 2937, -108, 1528, 146, 2937, -108, 1528, 62, 1528, 1528, - 106, 99, 1528, -108, 96, 176, 171, -108, -108, 1528, - -108, 407, 1528, -108, 97, 1528, -52, 2937, -108, 1528, - 120, 2937, -108, 1528, 123, 2937, 101, 2937, -108, 116, - -108, 84, 45, 0, -108, -108, 2937, -39, 641, -3, - 652, 156, 1528, 2937, -7, -11, 567, 2625, -21, 5, - 945, 2, 94, 1629, 2625, -1, -26, 6, 1528, 10, - -15, 1528, 14, 1528, -25, -12, 2833, -108, -108, -108, - -108, -108, -108, 1528, -108, -108, -108, -14, -58, -13, - 3041, -36, -108, 287, -108, 1528, -46, -108, 153, -108, - -108, -31, 586, -57, -32, 3041, 11, -108, 1528, 168, - 29, -108, 47, -108, 48, 169, 1528, -108, 49, 50, - -108, 9, -108, 2937, -108, 136, 2937, -108, 275, -108, - -108, 126, 2937, 35, -108, 33, 37, -108, 466, -4, - 38, -108, -108, -108, -108, 1528, 130, 2937, -108, 1528, - 117, 2937, -108, 34, -108, 296, -108, -108, 1528, -108, - -108, 404, -108, -108, 12, 40, 3041, 13, -108, -108, - 155, 1926, -108, -108, 2026, -108, -108, 2126, -108, -108, - -108, -108, -108, -108, 144, -108, -108, -108, -108, -108, - -108, -108, -108, -108, 3041, -108, -108, -108, 132, -27, - 15, 1137, 218, -23, 17, -108, -108, 196, -108, 242, - 8, -108, -108, 579, 237, -108, 127, 18, 415, -108, - 103, -108, -108, 236, -108, 2223, -108, -108, -108, -108, - -108, -108, -108, -108, -108, 27, 21, 137, 31, 20, - -108, 23, -5, -108, -9, -108, 332, -10, 571, 201, - 195, 586, 225, -108, 7, -108, 1137, 165, -108, 4, - 1137, -108, -108, 1333, -108, -108, -108, 1431, -108, -108, - 184, -108, 2223, -108, 331, 3, -108, -108, 202, 531, - 26, 2417, 327, 3145, 1, -108, 25, 629, 24, 649, - 124, 1528, 2937, 22, -6, 514, -8, 19, 1041, 16, - 94, 1629, 28, 42, 67, 1528, 60, 43, 1528, 54, - 1528, 41, 39, -108, 234, -108, 228, -108, 51, -2, - 564, 233, 575, -108, 100, -108, -108, -108, 2320, 1137, - 1826, 32, -108, 122, -108, -108, 30, -108, -108, 1137, - 1137, 104, 903, -108, 308, -108, 108, -108, -108, 133, - 119, -108, -108, -108, -108, -108, 451, -108, 164, -108, - 161, -108, -108, 458, -108, -108, 151, -108, -108, -108, - -108, -108, - - -112, 18, 86, 97, 69, 316, 7, -112, -112, -112, - -112, -112, -112, -112, -112, -112, -112, -112, -112, -64, - -112, -112, -112, -112, -112, -112, -112, -112, -112, 66, - -112, -112, -112, -17, -112, -112, -10, -36, 3, 90, - 95, -112, 149, 74, -112, -112, -112, 67, 13, -112, - -112, -112, -112, -112, -112, 178, -112, 181, 185, -112, - 189, 190, -112, -112, -112, -112, 198, 208, 212, -112, - -112, -112, -112, 209, -112, 201, 164, 111, 113, -112, - 116, 130, 131, 132, 134, 142, -112, 118, 124, 144, - -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, - -112, 154, -112, 155, -112, 268, 28, -8, -112, -112, - -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, -112, -112, 42, -112, -112, -112, -112, - -112, 47, -112, -112, 50, -112, -112, -112, -112, -112, - -112, -112, -112, -112, -112, -112, -112, -112, 159, -112, - 158, 56, -112, -112, 57, -112, 362, 60, 157, -112, - -112, -112, -112, -112, -112, -112, 20, 151, -112, -112, - -112, 25, -112, -112, 30, -112, -112, -112, -112, -112, - -112, -112, 31, -112, -112, -112, -112, -112, -112, -112, - -112, -112, 233, -112, -112, 34, -112, 35, -112, 225, - -112, 36, -112, 216, -112, 55, -112, -112, 53, 39, - -112, -112, -112, -112, -112, 19, -112, -112, -112, -112, - -112, 94, -112, -112, 92, -112, -112, -112, 117, -112, - -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, -112, -112, 33, -112, -112, -112, -112, - -112, 88, -112, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, -112, -112, 51, 220, -112, 227, 235, - 236, 244, -112, 21, 17, 102, 91, 89, -112, -112, - -112, -112, -112, -112, -112, -112, 211, -112, 247, -112, - 257, -112, -112, 264, -112, 75, -112, -112, 103, -112, - 112, -112, 29, -112, 73, -112, 263, -112, 255, 254, - -112, -112, 245, -112, -112, -112, -112, -112, -112, 248, - -112, 65, 105, -112, -112, 99, -112, 162, -112, 37, - -112, 115, -112, 44, -112, 135, -112, 137, -112, -112, - -112, -112, -112, -112, -112, -112, 138, -112, 24, -112, - 26, -112, 104, 140, -112, -112, 32, 64, -112, -112, - 174, -112, -112, 48, 87, -112, -112, -112, 54, -112, - 40, 71, -112, 150, -112, -112, 197, -112, -112, -112, - -112, -112, -112, 12, -112, -112, -112, -112, -112, -112, - 206, -112, -112, -112, -112, 207, -112, -112, -112, -112, - -112, -112, 231, -112, -112, 239, -112, -112, 43, -112, - -112, -112, -112, -112, -59, -112, 38, -112, -62, -112, - -112, -112, -112, 258, -112, -112, 259, -112, -112, -112, - -112, -112, 163, -72, -112, -112, 41, -112, 62, -112, - 61, -112, -112, -112, -112, 59, -112, 193, -112, 58, - -112, 204, -112, -112, -112, -112, -112, -112, 52, -112, - -112, 175, -112, -112, -112, -112, 186, -112, -112, -112, - -112, 49, -112, -112, 173, -112, -112, 45, -112, -112, - -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, -112, 213, -112, -112, -112, -112, -112, - -112, 46, -112, -112, -112, -112, -112, -112, -112, 27, - -112, -112, -112, -18, -9, -112, -112, -112, 15, -112, - -112, -112, -112, -112, -112, 331, -112, -112, -112, -112, - -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, -112, -112, -112, -112, -112, 11, -6, - -112, 10, -112, -112, -112, -112, 156, -112, -112, -112, - 240, -112, -112, 330, -112, -112, -112, 332, -112, -112, - -112, -112, 376, -112, -112, 8, -112, -112, -7, 76, - -112, 358, -112, 228, 5, -112, -112, 6, -112, 4, - -112, 79, 221, -112, -112, 2, -112, -112, 174, -112, - -112, 16, -112, -112, -112, 14, -112, -16, 70, -112, - 63, -112, -112, -112, -112, -112, -30, -112, -112, -112, - -15, -28, -13, -112, -112, -112, -112, -112, 460, 93, - 307, -12, -112, -112, -112, -112, -11, -112, -112, -2, - -1, 85, 84, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, -112, -112, -112, -3, -112, -112, -112, - -112, -112, -112, 0, -112, -112, -112, -112, -112, -112, - -112, -112 -}; - -const short QQmlJSGrammar::action_info [] = { - -132, 425, 409, 424, -151, 422, -120, 403, 347, -140, - 428, 465, -152, -143, 417, 353, 406, -145, 452, 412, - 410, -148, 408, -140, 469, 271, -152, 569, 353, -132, - 271, -151, 248, 601, 583, -120, 583, 583, 565, 529, - 562, 576, 563, 598, 555, 534, 634, 539, 564, 561, - 558, 478, 436, 436, 436, 456, 460, 443, 644, 641, - 556, -148, 432, 583, 442, 583, 427, -145, 488, 458, - 452, 452, 485, 486, -143, 469, 452, 465, 428, 194, - 191, 174, 168, 248, 73, 151, 286, 145, 286, 187, - 310, 326, 396, 0, 168, 0, 153, 0, 244, 247, - 402, -121, 265, 73, 101, 691, 332, 241, 326, 469, - 306, 465, 193, 339, 452, 183, 306, 357, 145, 246, - 318, 320, 428, 248, 353, 145, 186, 271, 145, 243, - 580, 145, 455, 145, 176, 0, 103, 308, 145, 315, - 264, 101, 537, 446, 145, 559, 456, 176, 176, 308, - 0, 538, 145, 177, 145, 145, 0, 0, 345, 262, - 261, 646, 645, 494, 542, 541, 177, 177, 170, 690, - 689, 328, 171, 580, 103, 329, 145, 471, 654, 439, - 351, 181, 60, 355, 341, 262, 261, 145, 60, 66, - 467, 592, 560, 61, 60, 260, 259, 659, 660, 61, - 255, 254, 349, 648, 505, 61, 324, 267, 659, 660, - 537, 495, 688, 687, 420, 419, 64, 262, 261, 571, - 105, 581, 682, 681, 440, 685, 684, 65, 430, 583, - 535, 535, 574, 66, 67, 146, 87, 342, 88, 106, - 68, 107, 87, 545, 88, 593, 591, 567, 87, 89, - 88, 87, 87, 88, 88, 89, 87, 535, 88, 683, - 0, 89, 535, 0, 89, 89, 535, 0, 66, 89, - 636, 530, 87, 0, 88, 0, 532, 532, 67, 60, - 176, 145, 0, 145, 68, 89, 575, 573, 531, 531, - 61, 0, 649, 532, 0, 637, 635, 546, 544, 177, - 0, 178, 176, 532, 481, 531, 0, 0, 532, 87, - 0, 88, 532, 67, 87, 531, 88, 532, 0, 68, - 531, 177, 89, 415, 531, 270, 268, 89, 87, 531, - 88, 87, 0, 88, 239, 238, 450, 449, 87, 0, - 88, 89, 176, 87, 89, 88, 176, 176, 288, 289, - 0, 89, 288, 289, 269, 678, 89, 482, 480, 0, - -107, 177, 0, 178, -107, 177, 177, 178, 415, 679, - 677, 0, 293, 294, 0, 290, 291, 0, 0, 290, - 291, 295, 293, 294, 296, 0, 297, 0, 293, 294, - 0, 295, 293, 294, 296, 0, 297, 295, 293, 294, - 296, 295, 297, 676, 296, 0, 297, 295, 80, 81, - 296, 0, 297, 0, 0, 0, 82, 83, 80, 81, - 84, 35, 85, 0, 0, 35, 82, 83, 0, 0, - 84, 0, 85, 35, 80, 81, 35, 0, 0, 35, - 75, 76, 82, 83, 35, 0, 84, 35, 85, 0, - 6, 5, 4, 1, 3, 2, 0, 0, 49, 52, - 50, 0, 49, 52, 50, 0, 0, 77, 78, 0, - 49, 52, 50, 49, 52, 50, 49, 52, 50, 0, - 35, 49, 52, 50, 49, 52, 50, 35, 46, 34, - 51, 0, 46, 34, 51, 35, 0, 0, 35, 0, - 46, 34, 51, 46, 34, 51, 46, 34, 51, 0, - 0, 46, 34, 51, 46, 34, 51, 49, 52, 50, - 35, 0, 0, 0, 49, 52, 50, 0, 0, 0, - 80, 81, 49, 52, 50, 49, 52, 50, 82, 83, - 0, 0, 84, 35, 85, 0, 537, 46, 34, 51, - 186, 0, 0, 0, 46, 34, 51, 49, 52, 50, - 35, 0, 46, 34, 51, 46, 34, 51, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, - 49, 52, 50, 0, 0, 0, 537, 46, 34, 51, - 537, 0, 0, 35, 537, 0, 35, 49, 52, 50, - 35, 0, 0, 186, 35, 0, 0, 0, 35, 0, - 46, 34, 51, 0, 0, 35, 0, 0, 35, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 34, 51, - 49, 52, 50, 49, 52, 50, 0, 49, 52, 50, - 0, 49, 52, 50, 0, 49, 52, 50, 0, 0, - 258, 257, 49, 52, 50, 49, 52, 50, 35, 0, - 46, 34, 51, 46, 34, 51, 0, 46, 34, 51, - 35, 46, 34, 51, 0, 46, 34, 51, 35, 0, - 0, 35, 46, 34, 51, 46, 34, 51, 0, 0, - 253, 252, 0, 0, 35, 49, 52, 50, 0, 0, - 0, 186, 253, 252, 0, 0, 0, 49, 52, 50, - 258, 257, 0, 258, 257, 49, 52, 50, 49, 52, - 50, 0, 0, 0, 0, 46, 34, 51, 0, 0, - 155, 49, 52, 50, 0, 0, 0, 46, 34, 51, - 156, 0, 0, 0, 157, 46, 34, 51, 46, 34, - 51, 0, 0, 158, 0, 159, 0, 0, 0, 0, - 0, 46, 34, 51, 0, 0, 160, 0, 161, 64, - 0, 0, 0, 35, 0, 0, 162, 0, 0, 163, - 65, 0, 0, 0, 0, 164, 0, 0, 0, 0, - 0, 165, 0, 0, 0, 0, 0, 0, 0, 155, - 0, 0, 0, 0, 0, 253, 252, 166, 0, 156, - 49, 52, 50, 157, 0, 0, 0, 0, 0, 0, - 0, 0, 158, 0, 159, 0, 0, 322, 0, 0, - 0, 0, 0, 0, 0, 160, 0, 161, 64, 0, - 46, 34, 51, 0, 0, 162, 0, 0, 163, 65, - 0, 0, 155, 0, 164, 0, 0, 0, 0, 0, - 165, 0, 156, 0, 0, 0, 157, 0, 0, 0, - 0, 0, 0, 0, 0, 158, 166, 159, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, - 161, 64, 0, 0, 0, 0, 0, 0, 162, 0, - 0, 163, 65, 0, 0, 0, 0, 164, 0, 0, - 0, 0, 0, 165, 0, 30, 31, 0, 0, 0, - 0, 0, 0, 0, 0, 33, 0, 0, 0, 166, - 0, 0, 35, 0, 0, 0, 36, 37, 0, 38, - 0, 0, 0, 0, 0, 0, 521, 0, 0, 0, - 45, 0, 0, 0, 0, 0, 0, 30, 31, 0, - 0, 0, 0, 0, 0, 0, 0, 33, 53, 49, - 52, 50, 0, 54, 35, 0, 0, 0, 36, 37, - 0, 38, 0, 0, 44, 56, 32, 0, 42, 0, - 0, 41, 45, 0, 0, 0, 0, 0, 0, 46, - 34, 51, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 49, 52, 50, 0, 54, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 56, 32, 0, - 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, - 0, 46, 34, 51, 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, - 35, 0, 0, 0, 36, 37, 0, 38, 0, 0, - 0, 0, 0, 0, 42, 0, 0, 0, 45, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 53, 49, 52, 50, - 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 56, 32, 0, 0, 0, 0, 41, - 0, 0, 0, 0, 0, 0, 0, 46, 34, 51, - 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, 35, 0, 0, 0, - 36, 37, 0, 38, 0, 0, 0, 0, 0, 0, - 521, 0, 0, 0, 45, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 53, 49, 52, 50, 0, 54, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 56, - 32, 0, 0, 0, 0, 41, 0, 0, 0, 0, - 0, 0, 0, 46, 34, 51, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 519, 0, 30, 31, 0, - 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, - 0, 0, 0, 0, 35, 0, 0, 0, 36, 37, - 0, 38, 0, 0, 0, 0, 0, 0, 521, 0, - 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 522, 524, 523, 0, 54, 0, 0, 0, 0, - 230, 0, 0, 0, 0, 0, 44, 56, 32, 216, - 224, 0, 0, 41, 0, 0, 520, 0, 0, 0, - 0, 46, 34, 51, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 519, 0, 30, 31, 0, 0, 0, - 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, - 0, 0, 35, 0, 0, 0, 36, 37, 0, 38, - 0, 0, 0, 0, 0, 0, 521, 0, 0, 0, - 45, 0, 0, 0, 0, 0, 0, 0, 585, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 53, 522, - 524, 523, 0, 54, 0, 0, 0, 0, 230, 0, - 0, 0, 0, 0, 44, 56, 32, 216, 224, 0, - 0, 41, 0, 0, 520, 0, 0, 0, 0, 46, - 34, 51, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 519, 0, 30, 31, 0, 0, 0, 0, 0, - 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, - 35, 0, 0, 0, 36, 37, 0, 38, 0, 0, - 0, 0, 0, 0, 521, 0, 0, 0, 45, 0, - 0, 0, 0, 0, 0, 0, 588, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 53, 522, 524, 523, - 0, 54, 0, 0, 0, 0, 230, 0, 0, 0, - 0, 0, 44, 56, 32, 216, 224, 0, 0, 41, - 0, 0, 520, 0, 0, 0, 0, 46, 34, 51, - 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, 35, 0, 0, - 0, 36, 37, 0, 38, 0, 0, 0, 39, 0, - 40, 42, 43, 0, 0, 45, 0, 0, 0, 47, - 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 53, 49, 52, 50, 0, 54, 0, - 55, 0, 57, 0, 58, 0, 0, 0, 0, 44, - 56, 32, 0, 0, 0, 0, 41, 0, 0, 0, - 0, 0, 0, 0, 46, 34, 51, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -141, 0, 0, 0, - 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, - 0, 33, 0, 0, 0, 0, 0, 0, 35, 0, - 0, 0, 36, 37, 0, 38, 0, 0, 0, 39, - 0, 40, 42, 43, 0, 0, 45, 0, 0, 0, - 47, 0, 48, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 53, 49, 52, 50, 0, 54, - 0, 55, 0, 57, 0, 58, 0, 0, 0, 0, - 44, 56, 32, 0, 0, 0, 0, 41, 0, 0, - 0, 0, 0, 0, 0, 46, 34, 51, 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, 35, 0, 0, 0, 36, - 37, 0, 38, 0, 0, 0, 39, 0, 40, 42, - 43, 0, 0, 45, 0, 0, 0, 47, 0, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 49, 52, 50, 0, 54, 0, 55, 0, - 57, 285, 58, 0, 0, 0, 0, 44, 56, 32, - 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, - 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 492, 0, 0, 29, 30, 31, - 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, - 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, - 37, 0, 38, 0, 0, 0, 39, 0, 40, 42, - 43, 0, 0, 45, 0, 0, 0, 47, 0, 48, - 0, 0, 493, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 49, 52, 50, 0, 54, 0, 55, 0, - 57, 0, 58, 0, 0, 0, 0, 44, 56, 32, - 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, - 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 500, 0, 0, 29, 30, 31, - 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, - 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, - 37, 0, 38, 0, 0, 0, 39, 0, 40, 42, - 43, 0, 0, 45, 0, 0, 0, 47, 0, 48, - 0, 0, 503, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 49, 52, 50, 0, 54, 0, 55, 0, - 57, 0, 58, 0, 0, 0, 0, 44, 56, 32, - 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, - 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 492, 0, 0, 29, 30, 31, - 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, - 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, - 37, 0, 38, 0, 0, 0, 39, 0, 40, 42, - 43, 0, 0, 45, 0, 0, 0, 47, 0, 48, - 0, 0, 498, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 49, 52, 50, 0, 54, 0, 55, 0, - 57, 0, 58, 0, 0, 0, 0, 44, 56, 32, - 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, - 0, 0, 46, 34, 51, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 500, 0, 0, 29, 30, 31, - 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, - 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, - 37, 0, 38, 0, 0, 0, 39, 0, 40, 42, - 43, 0, 0, 45, 0, 0, 0, 47, 0, 48, - 0, 0, 501, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 49, 52, 50, 0, 54, 0, 55, 0, - 57, 0, 58, 0, 0, 0, 0, 44, 56, 32, - 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, - 0, 0, 46, 34, 51, 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, 35, 222, 0, 0, 223, 37, 0, 38, - 0, 0, 0, 39, 0, 40, 42, 43, 0, 0, - 45, 0, 0, 0, 47, 0, 48, 0, 0, 0, - 0, 0, 0, 0, 226, 0, 0, 0, 53, 49, - 52, 50, 227, 54, 0, 55, 229, 57, 0, 58, - 0, 232, 0, 0, 44, 56, 32, 0, 0, 0, - 0, 41, 0, 0, 0, 0, 0, 0, 0, 46, - 34, 51, 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, 35, - 222, 0, 0, 603, 650, 0, 38, 0, 0, 0, - 39, 0, 40, 42, 43, 0, 0, 45, 0, 0, - 0, 47, 0, 48, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 0, 0, 53, 49, 52, 50, 227, - 54, 0, 55, 229, 57, 0, 58, 0, 232, 0, - 0, 44, 56, 32, 0, 0, 0, 0, 41, 0, - 0, 0, 0, 0, 0, 0, 46, 34, 51, 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, 35, 222, 0, 0, - 603, 37, 0, 38, 0, 0, 0, 39, 0, 40, - 42, 43, 0, 0, 45, 0, 0, 0, 47, 0, - 48, 0, 0, 0, 0, 0, 0, 0, 226, 0, - 0, 0, 53, 49, 52, 50, 227, 54, 0, 55, - 229, 57, 0, 58, 0, 232, 0, 0, 44, 56, - 32, 0, 0, 0, 0, 41, 0, 0, 0, 0, - 0, 0, 0, 46, 34, 51, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 111, 112, 113, 0, 0, - 115, 117, 118, 0, 0, 119, 0, 120, 0, 0, - 0, 123, 124, 125, 0, 0, 0, 0, 0, 0, - 35, 126, 127, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 130, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 133, 0, 0, 0, 0, 0, 0, 49, 52, 50, - 134, 135, 136, 0, 138, 139, 140, 141, 142, 143, - 0, 0, 131, 137, 122, 114, 129, 116, 132, 0, - 0, 0, 121, 0, 0, 0, 0, 46, 34, 51, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, - 112, 113, 0, 0, 115, 117, 118, 0, 0, 119, - 0, 120, 0, 0, 0, 123, 124, 125, 0, 0, - 0, 0, 0, 0, 35, 126, 127, 128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, - 0, 0, 399, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, - 401, 49, 52, 50, 134, 135, 136, 0, 138, 139, - 140, 141, 142, 143, 0, 0, 131, 137, 122, 114, - 129, 116, 132, 0, 0, 0, 121, 0, 0, 0, - 0, 46, 34, 51, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 111, 112, 113, 0, 0, 115, 117, - 118, 0, 0, 119, 0, 120, 0, 0, 0, 123, - 124, 125, 0, 0, 0, 0, 0, 0, 35, 126, - 127, 128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 130, 0, 0, 0, 399, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, - 0, 0, 0, 0, 401, 49, 52, 50, 134, 135, - 136, 0, 138, 139, 140, 141, 142, 143, 0, 0, - 131, 137, 122, 114, 129, 116, 132, 0, 0, 0, - 121, 0, 0, 0, 0, 46, 377, 384, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 111, 112, 113, - 0, 0, 115, 117, 118, 0, 0, 119, 0, 120, - 0, 0, 0, 123, 124, 125, 0, 0, 0, 0, - 0, 0, 35, 126, 127, 128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, - 399, 0, 0, 0, 0, 0, 0, 0, 400, 0, - 0, 0, 133, 0, 0, 0, 0, 0, 401, 49, - 52, 50, 134, 135, 136, 0, 138, 139, 140, 141, - 142, 143, 0, 0, 131, 137, 122, 114, 129, 116, - 132, 0, 0, 0, 121, 0, 0, 0, 0, 46, - 377, 384, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 217, 0, 29, 30, - 31, 219, 0, 0, 0, 0, 0, 0, 220, 33, - 0, 0, 0, 0, 0, 0, 35, 222, 0, 0, - 223, 37, 0, 38, 0, 0, 0, 39, 0, 40, - 42, 43, 0, 0, 45, 0, 0, 0, 47, 0, - 48, 0, 0, 0, 0, 0, 225, 0, 226, 0, - 0, 0, 53, 49, 52, 50, 227, 54, 228, 55, - 229, 57, 230, 58, 231, 232, 0, 0, 44, 56, - 32, 216, 224, 218, 0, 41, 0, 0, 0, 0, - 0, 0, 0, 46, 34, 51, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, - 217, 0, 29, 30, 31, 219, 0, 0, 0, 0, - 0, 0, 220, 221, 0, 0, 0, 0, 0, 0, - 35, 222, 0, 0, 223, 37, 0, 38, 0, 0, - 0, 39, 0, 40, 42, 43, 0, 0, 45, 0, - 0, 0, 47, 0, 48, 0, 0, 0, 0, 0, - 225, 0, 226, 0, 0, 0, 53, 49, 52, 50, - 227, 54, 228, 55, 229, 57, 230, 58, 231, 232, - 0, 0, 44, 56, 32, 216, 224, 218, 0, 41, - 0, 0, 0, 0, 0, 0, 0, 46, 34, 51, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 607, - 112, 113, 0, 0, 609, 117, 611, 30, 31, 612, - 0, 120, 0, 0, 0, 123, 614, 615, 0, 0, - 0, 0, 0, 0, 35, 616, 127, 128, 223, 37, - 0, 38, 0, 0, 0, 39, 0, 40, 618, 43, - 0, 0, 620, 0, 0, 0, 47, 0, 48, 0, - 0, 0, 0, 0, 621, 0, 226, 0, 0, 0, - 622, 49, 52, 50, 623, 624, 625, 55, 627, 628, - 629, 630, 631, 632, 0, 0, 619, 626, 613, 608, - 617, 610, 132, 41, 0, 0, 121, 0, 0, 0, - 0, 46, 377, 384, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 368, 112, 113, 0, 0, 370, 117, - 372, 30, 31, 373, 0, 120, 0, 0, 0, 123, - 375, 376, 0, 0, 0, 0, 0, 0, 35, 378, - 127, 128, 223, 37, 0, 38, 0, 0, 0, 39, - 0, 40, 380, 43, 0, 0, 382, 0, 0, 0, - 47, 0, 48, 0, -288, 0, 0, 0, 383, 0, - 226, 0, 0, 0, 385, 49, 52, 50, 386, 387, - 388, 55, 390, 391, 392, 393, 394, 395, 0, 0, - 381, 389, 374, 369, 379, 371, 132, 41, 0, 0, - 121, 0, 0, 0, 0, 46, 377, 384, 0, 0, - 0, 0, 0, 0, 0, 0, 0, - - 543, 185, 640, 647, 642, 643, 504, 489, 397, 451, - 655, 657, 669, 670, 154, 680, 658, 448, 686, 316, - 185, 16, 256, 536, 251, 599, 570, 633, 572, 590, - 597, 144, 323, 540, 457, 150, 266, 473, 190, 441, - 350, 445, 251, 192, 256, 437, 429, 354, 208, 240, - 185, 316, 251, 256, 185, 404, 448, 448, 316, 533, - 566, 470, 466, 180, 451, 451, 462, 0, 62, 334, - 510, 516, 62, 0, 0, 325, 62, 299, 316, 0, - 459, 298, 397, 334, 0, 147, 461, 208, 499, 0, - 152, 208, 502, 167, 600, 479, 673, 672, 518, 173, - 175, 515, 316, 674, 208, 397, 316, 518, 316, 407, - 208, 0, 190, 0, 321, 208, 656, 352, 62, 249, - 464, 62, 62, 184, 509, 62, 62, 463, 463, 62, - 208, 508, 421, 208, 62, 208, 184, 356, 245, 358, - 405, 242, 263, 280, 62, 62, 62, 506, 284, 302, - 62, 301, 507, 208, 317, 208, 208, 62, 208, 62, - 343, 184, 300, 413, 348, 365, 62, 0, 62, 190, - 518, 62, 99, 62, 100, 578, 86, 90, 346, 62, - 208, 208, 319, 91, 344, 62, 62, 62, 413, 62, - 93, 94, 95, 473, 96, 468, 514, 62, 189, 62, - 150, 414, 97, 92, 208, 62, 472, 464, 182, 62, - 62, 208, 497, 62, 62, 397, 496, 250, 365, 62, - 104, 102, 208, 263, 208, 98, 414, 263, 169, 172, - 365, 208, 487, 62, 359, 511, 62, 250, 463, 208, - 62, 398, 464, 208, 62, 62, 606, 63, 72, 190, - 150, 208, 411, 62, 518, 69, 62, 208, 416, 582, - 365, 365, 79, 62, 62, 70, 62, 62, 483, 71, - 0, 284, 74, 0, 0, 62, 208, 208, 423, 307, - 284, 0, 62, 0, 287, 426, 108, 284, 0, 292, - 62, 62, 0, 0, 0, 284, 284, 303, 304, 62, - 312, 0, 62, 312, 284, 284, 305, 284, 284, 312, - 62, 0, 312, 309, 284, 284, 110, 284, 62, 312, - 0, 594, 333, 284, 284, 340, 578, 330, 653, 0, - 518, 331, 0, 327, 311, 586, 0, 589, 0, 527, - 0, 314, 0, 0, 518, 0, 518, 444, 447, 0, - 489, 517, 528, 527, 0, 527, 547, 548, 549, 550, - 554, 551, 552, 0, 0, 517, 528, 517, 528, 0, - 0, 0, 602, 0, 0, 0, 0, 0, 0, 0, - 108, 604, 605, 547, 548, 549, 550, 554, 551, 552, - 594, 0, 0, 0, 0, 0, 0, 0, 0, 595, - 596, 547, 548, 549, 550, 554, 551, 552, 0, 0, - 110, 179, 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, 602, 0, 0, 0, 0, 0, - 0, 0, 0, 651, 652, 547, 548, 549, 550, 554, - 551, 552, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0 -}; - -const short QQmlJSGrammar::action_check [] = { - 7, 33, 60, 60, 7, 36, 7, 7, 60, 7, - 36, 36, 7, 7, 60, 36, 55, 7, 33, 55, - 33, 7, 36, 7, 36, 36, 7, 37, 36, 7, - 36, 7, 7, 7, 33, 7, 33, 33, 47, 66, - 17, 34, 47, 66, 29, 37, 29, 29, 17, 29, - 29, 17, 5, 5, 5, 20, 60, 7, 60, 8, - 33, 7, 33, 33, 55, 33, 55, 7, 55, 36, - 33, 33, 60, 33, 7, 36, 33, 36, 36, 33, - 8, 7, 2, 7, 1, 8, 1, 8, 1, 36, - 8, 2, 8, -1, 2, -1, 60, -1, 33, 55, - 55, 7, 36, 1, 48, 0, 7, 36, 2, 36, - 48, 36, 60, 17, 33, 60, 48, 16, 8, 55, - 61, 60, 36, 7, 36, 8, 36, 36, 8, 60, - 8, 8, 6, 8, 15, -1, 79, 79, 8, 61, - 77, 48, 15, 7, 8, 8, 20, 15, 15, 79, - -1, 24, 8, 34, 8, 8, -1, -1, 61, 61, - 62, 61, 62, 8, 61, 62, 34, 34, 50, 61, - 62, 50, 54, 8, 79, 54, 8, 60, 56, 10, - 60, 56, 40, 60, 8, 61, 62, 8, 40, 12, - 60, 7, 55, 51, 40, 61, 62, 93, 94, 51, - 61, 62, 31, 7, 60, 51, 60, 60, 93, 94, - 15, 56, 61, 62, 61, 62, 42, 61, 62, 24, - 15, 56, 61, 62, 55, 61, 62, 53, 60, 33, - 29, 29, 7, 12, 57, 56, 25, 61, 27, 34, - 63, 36, 25, 7, 27, 61, 62, 29, 25, 38, - 27, 25, 25, 27, 27, 38, 25, 29, 27, 95, - -1, 38, 29, -1, 38, 38, 29, -1, 12, 38, - 36, 29, 25, -1, 27, -1, 75, 75, 57, 40, - 15, 8, -1, 8, 63, 38, 61, 62, 87, 87, - 51, -1, 96, 75, -1, 61, 62, 61, 62, 34, - -1, 36, 15, 75, 8, 87, -1, -1, 75, 25, - -1, 27, 75, 57, 25, 87, 27, 75, -1, 63, - 87, 34, 38, 36, 87, 61, 62, 38, 25, 87, - 27, 25, -1, 27, 61, 62, 61, 62, 25, -1, - 27, 38, 15, 25, 38, 27, 15, 15, 18, 19, - -1, 38, 18, 19, 90, 47, 38, 61, 62, -1, - 33, 34, -1, 36, 33, 34, 34, 36, 36, 61, - 62, -1, 23, 24, -1, 45, 46, -1, -1, 45, - 46, 32, 23, 24, 35, -1, 37, -1, 23, 24, - -1, 32, 23, 24, 35, -1, 37, 32, 23, 24, - 35, 32, 37, 95, 35, -1, 37, 32, 23, 24, - 35, -1, 37, -1, -1, -1, 31, 32, 23, 24, - 35, 29, 37, -1, -1, 29, 31, 32, -1, -1, - 35, -1, 37, 29, 23, 24, 29, -1, -1, 29, - 18, 19, 31, 32, 29, -1, 35, 29, 37, -1, - 100, 101, 102, 103, 104, 105, -1, -1, 66, 67, - 68, -1, 66, 67, 68, -1, -1, 45, 46, -1, - 66, 67, 68, 66, 67, 68, 66, 67, 68, -1, - 29, 66, 67, 68, 66, 67, 68, 29, 96, 97, - 98, -1, 96, 97, 98, 29, -1, -1, 29, -1, - 96, 97, 98, 96, 97, 98, 96, 97, 98, -1, - -1, 96, 97, 98, 96, 97, 98, 66, 67, 68, - 29, -1, -1, -1, 66, 67, 68, -1, -1, -1, - 23, 24, 66, 67, 68, 66, 67, 68, 31, 32, - -1, -1, 35, 29, 37, -1, 15, 96, 97, 98, - 36, -1, -1, -1, 96, 97, 98, 66, 67, 68, - 29, -1, 96, 97, 98, 96, 97, 98, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, - 66, 67, 68, -1, -1, -1, 15, 96, 97, 98, - 15, -1, -1, 29, 15, -1, 29, 66, 67, 68, - 29, -1, -1, 36, 29, -1, -1, -1, 29, -1, - 96, 97, 98, -1, -1, 29, -1, -1, 29, -1, - -1, -1, -1, -1, -1, -1, -1, 96, 97, 98, - 66, 67, 68, 66, 67, 68, -1, 66, 67, 68, - -1, 66, 67, 68, -1, 66, 67, 68, -1, -1, - 61, 62, 66, 67, 68, 66, 67, 68, 29, -1, - 96, 97, 98, 96, 97, 98, -1, 96, 97, 98, - 29, 96, 97, 98, -1, 96, 97, 98, 29, -1, - -1, 29, 96, 97, 98, 96, 97, 98, -1, -1, - 61, 62, -1, -1, 29, 66, 67, 68, -1, -1, - -1, 36, 61, 62, -1, -1, -1, 66, 67, 68, - 61, 62, -1, 61, 62, 66, 67, 68, 66, 67, - 68, -1, -1, -1, -1, 96, 97, 98, -1, -1, - 3, 66, 67, 68, -1, -1, -1, 96, 97, 98, - 13, -1, -1, -1, 17, 96, 97, 98, 96, 97, - 98, -1, -1, 26, -1, 28, -1, -1, -1, -1, - -1, 96, 97, 98, -1, -1, 39, -1, 41, 42, - -1, -1, -1, 29, -1, -1, 49, -1, -1, 52, - 53, -1, -1, -1, -1, 58, -1, -1, -1, -1, - -1, 64, -1, -1, -1, -1, -1, -1, -1, 3, - -1, -1, -1, -1, -1, 61, 62, 80, -1, 13, - 66, 67, 68, 17, -1, -1, -1, -1, -1, -1, - -1, -1, 26, -1, 28, -1, -1, 31, -1, -1, - -1, -1, -1, -1, -1, 39, -1, 41, 42, -1, - 96, 97, 98, -1, -1, 49, -1, -1, 52, 53, - -1, -1, 3, -1, 58, -1, -1, -1, -1, -1, - 64, -1, 13, -1, -1, -1, 17, -1, -1, -1, - -1, -1, -1, -1, -1, 26, 80, 28, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 39, -1, - 41, 42, -1, -1, -1, -1, -1, -1, 49, -1, - -1, 52, 53, -1, -1, -1, -1, 58, -1, -1, - -1, -1, -1, 64, -1, 12, 13, -1, -1, -1, - -1, -1, -1, -1, -1, 22, -1, -1, -1, 80, - -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, 12, 13, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 65, 66, - 67, 68, -1, 70, 29, -1, -1, -1, 33, 34, - -1, 36, -1, -1, 81, 82, 83, -1, 43, -1, - -1, 88, 47, -1, -1, -1, -1, -1, -1, 96, - 97, 98, -1, -1, -1, -1, -1, -1, -1, -1, - 65, 66, 67, 68, -1, 70, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, - -1, -1, -1, 88, -1, -1, -1, -1, -1, -1, - -1, 96, 97, 98, -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, -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, -1, -1, -1, -1, - -1, -1, 81, 82, 83, -1, -1, -1, -1, 88, - -1, -1, -1, -1, -1, -1, -1, 96, 97, 98, - -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, -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, -1, -1, -1, -1, -1, -1, 81, 82, - 83, -1, -1, -1, -1, 88, -1, -1, -1, -1, - -1, -1, -1, 96, 97, 98, -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, - 85, -1, -1, 88, -1, -1, 91, -1, -1, -1, - -1, 96, 97, 98, -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, 85, -1, - -1, 88, -1, -1, 91, -1, -1, -1, -1, 96, - 97, 98, -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, 85, -1, -1, 88, - -1, -1, 91, -1, -1, -1, -1, 96, 97, 98, - -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, -1, 76, -1, -1, -1, -1, 81, - 82, 83, -1, -1, -1, -1, 88, -1, -1, -1, - -1, -1, -1, -1, 96, 97, 98, -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, -1, 88, -1, -1, - -1, -1, -1, -1, -1, 96, 97, 98, -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, -1, 88, -1, -1, -1, -1, -1, - -1, -1, 96, 97, 98, -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, -1, 88, -1, -1, -1, -1, -1, - -1, -1, 96, 97, 98, -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, -1, 88, -1, -1, -1, -1, -1, - -1, -1, 96, 97, 98, -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, -1, 88, -1, -1, -1, -1, -1, - -1, -1, 96, 97, 98, -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, -1, 88, -1, -1, -1, -1, -1, - -1, -1, 96, 97, 98, -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, - -1, 88, -1, -1, -1, -1, -1, -1, -1, 96, - 97, 98, -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, -1, 88, -1, - -1, -1, -1, -1, -1, -1, 96, 97, 98, -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, -1, 88, -1, -1, -1, -1, - -1, -1, -1, 96, 97, 98, -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, 87, -1, - -1, -1, 91, -1, -1, -1, -1, 96, 97, 98, - -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, 68, 69, 70, 71, -1, 73, 74, - 75, 76, 77, 78, -1, -1, 81, 82, 83, 84, - 85, 86, 87, -1, -1, -1, 91, -1, -1, -1, - -1, 96, 97, 98, -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, 68, 69, 70, - 71, -1, 73, 74, 75, 76, 77, 78, -1, -1, - 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, - 91, -1, -1, -1, -1, 96, 97, 98, -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, 68, 69, 70, 71, -1, 73, 74, 75, 76, - 77, 78, -1, -1, 81, 82, 83, 84, 85, 86, - 87, -1, -1, -1, 91, -1, -1, -1, -1, 96, - 97, 98, -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, 86, -1, 88, -1, -1, -1, -1, - -1, -1, -1, 96, 97, 98, -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, 86, -1, 88, - -1, -1, -1, -1, -1, -1, -1, 96, 97, 98, - -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, - -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, 88, -1, -1, 91, -1, -1, -1, - -1, 96, 97, 98, -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, 88, -1, -1, - 91, -1, -1, -1, -1, 96, 97, 98, -1, -1, - -1, -1, -1, -1, -1, -1, -1, - - 18, 18, 32, 18, 32, 18, 3, 43, 18, 25, - 22, 22, 14, 14, 78, 18, 9, 3, 18, 3, - 18, 3, 18, 32, 18, 32, 32, 22, 18, 18, - 22, 3, 3, 18, 106, 43, 3, 18, 18, 101, - 3, 3, 18, 18, 18, 104, 3, 3, 18, 18, - 18, 3, 18, 18, 18, 43, 3, 3, 3, 32, - 14, 3, 3, 3, 25, 25, 25, -1, 55, 18, - 57, 2, 55, -1, -1, 2, 55, 60, 3, -1, - 18, 60, 18, 18, -1, 43, 25, 18, 43, -1, - 43, 18, 43, 43, 18, 43, 11, 12, 14, 43, - 43, 4, 3, 19, 18, 18, 3, 14, 3, 45, - 18, -1, 18, -1, 2, 18, 23, 2, 55, 2, - 57, 55, 55, 57, 57, 55, 55, 57, 57, 55, - 18, 57, 45, 18, 55, 18, 57, 2, 46, 2, - 2, 47, 2, 55, 55, 55, 55, 57, 60, 60, - 55, 60, 57, 18, 79, 18, 18, 55, 18, 55, - 95, 57, 60, 14, 2, 2, 55, -1, 55, 18, - 14, 55, 61, 55, 61, 19, 60, 59, 79, 55, - 18, 18, 79, 59, 79, 55, 55, 55, 14, 55, - 60, 60, 60, 18, 60, 2, 110, 55, 47, 55, - 43, 52, 60, 59, 18, 55, 2, 57, 51, 55, - 55, 18, 39, 55, 55, 18, 43, 4, 2, 55, - 65, 67, 18, 2, 18, 61, 52, 2, 69, 71, - 2, 18, 46, 55, 18, 57, 55, 4, 57, 18, - 55, 44, 57, 18, 55, 55, 18, 58, 58, 18, - 43, 18, 46, 55, 14, 57, 55, 18, 51, 19, - 2, 2, 61, 55, 55, 57, 55, 55, 93, 57, - -1, 60, 63, -1, -1, 55, 18, 18, 47, 68, - 60, -1, 55, -1, 64, 46, 18, 60, -1, 62, - 55, 55, -1, -1, -1, 60, 60, 62, 62, 55, - 55, -1, 55, 55, 60, 60, 62, 60, 60, 55, - 55, -1, 55, 66, 60, 60, 48, 60, 55, 55, - -1, 14, 77, 60, 60, 77, 19, 72, 21, -1, - 14, 77, -1, 70, 77, 5, -1, 5, -1, 23, - -1, 77, -1, -1, 14, -1, 14, 89, 89, -1, - 43, 35, 36, 23, -1, 23, 25, 26, 27, 28, - 29, 30, 31, -1, -1, 35, 36, 35, 36, -1, - -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, - 18, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 14, -1, -1, -1, -1, -1, -1, -1, -1, 23, - 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, - 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, - -1, -1, -1, 23, 24, 25, 26, 27, 28, 29, - 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1 -}; - -QT_END_NAMESPACE diff --git a/src/qml/parser/qqmljsgrammar_p.h b/src/qml/parser/qqmljsgrammar_p.h deleted file mode 100644 index 9d028f2191..0000000000 --- a/src/qml/parser/qqmljsgrammar_p.h +++ /dev/null @@ -1,215 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of other Qt classes. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -// This file was generated by qlalr - DO NOT EDIT! -#ifndef QQMLJSGRAMMAR_P_H -#define QQMLJSGRAMMAR_P_H - -#include <QtCore/qglobal.h> - -QT_BEGIN_NAMESPACE - -class QQmlJSGrammar -{ -public: - enum VariousConstants { - EOF_SYMBOL = 0, - REDUCE_HERE = 107, - SHIFT_THERE = 106, - T_AND = 1, - T_AND_AND = 2, - T_AND_EQ = 3, - T_AS = 95, - T_AUTOMATIC_SEMICOLON = 62, - T_BREAK = 4, - T_CASE = 5, - T_CATCH = 6, - T_COLON = 7, - T_COMMA = 8, - T_COMMENT = 89, - T_COMPATIBILITY_SEMICOLON = 90, - T_CONST = 84, - T_CONTINUE = 9, - T_DEBUGGER = 86, - T_DEFAULT = 10, - T_DELETE = 11, - T_DIVIDE_ = 12, - T_DIVIDE_EQ = 13, - T_DO = 14, - T_DOT = 15, - T_ELSE = 16, - T_ENUM = 91, - T_EQ = 17, - T_EQ_EQ = 18, - T_EQ_EQ_EQ = 19, - T_ERROR = 99, - T_FALSE = 83, - T_FEED_JS_EXPRESSION = 103, - T_FEED_JS_PROGRAM = 105, - T_FEED_JS_SOURCE_ELEMENT = 104, - T_FEED_JS_STATEMENT = 102, - T_FEED_UI_OBJECT_MEMBER = 101, - T_FEED_UI_PROGRAM = 100, - T_FINALLY = 20, - T_FOR = 21, - T_FUNCTION = 22, - T_GE = 23, - T_GET = 97, - T_GT = 24, - T_GT_GT = 25, - T_GT_GT_EQ = 26, - T_GT_GT_GT = 27, - T_GT_GT_GT_EQ = 28, - T_IDENTIFIER = 29, - T_IF = 30, - T_IMPORT = 93, - T_IN = 31, - T_INSTANCEOF = 32, - T_LBRACE = 33, - T_LBRACKET = 34, - T_LE = 35, - T_LET = 85, - T_LPAREN = 36, - T_LT = 37, - T_LT_LT = 38, - T_LT_LT_EQ = 39, - T_MINUS = 40, - T_MINUS_EQ = 41, - T_MINUS_MINUS = 42, - T_MULTILINE_STRING_LITERAL = 88, - T_NEW = 43, - T_NOT = 44, - T_NOT_EQ = 45, - T_NOT_EQ_EQ = 46, - T_NULL = 81, - T_NUMERIC_LITERAL = 47, - T_ON = 96, - T_OR = 48, - T_OR_EQ = 49, - T_OR_OR = 50, - T_PLUS = 51, - T_PLUS_EQ = 52, - T_PLUS_PLUS = 53, - T_PRAGMA = 94, - T_PROPERTY = 66, - T_PUBLIC = 92, - T_QUESTION = 54, - T_RBRACE = 55, - T_RBRACKET = 56, - T_READONLY = 68, - T_REMAINDER = 57, - T_REMAINDER_EQ = 58, - T_RESERVED_WORD = 87, - T_RETURN = 59, - T_RPAREN = 60, - T_SEMICOLON = 61, - T_SET = 98, - T_SIGNAL = 67, - T_STAR = 63, - T_STAR_EQ = 64, - T_STRING_LITERAL = 65, - T_SWITCH = 69, - T_THIS = 70, - T_THROW = 71, - T_TILDE = 72, - T_TRUE = 82, - T_TRY = 73, - T_TYPEOF = 74, - T_VAR = 75, - T_VOID = 76, - T_WHILE = 77, - T_WITH = 78, - T_XOR = 79, - T_XOR_EQ = 80, - - ACCEPT_STATE = 691, - RULE_COUNT = 369, - STATE_COUNT = 692, - TERMINAL_COUNT = 108, - NON_TERMINAL_COUNT = 112, - - GOTO_INDEX_OFFSET = 692, - GOTO_INFO_OFFSET = 3357, - GOTO_CHECK_OFFSET = 3357 - }; - - static const char *const spell[]; - static const short lhs[]; - static const short rhs[]; - static const short goto_default[]; - static const short action_default[]; - static const short action_index[]; - static const short action_info[]; - static const short action_check[]; - - static inline int nt_action (int state, int nt) - { - const int yyn = action_index [GOTO_INDEX_OFFSET + state] + nt; - if (yyn < 0 || action_check [GOTO_CHECK_OFFSET + yyn] != nt) - return goto_default [nt]; - - return action_info [GOTO_INFO_OFFSET + yyn]; - } - - static inline int t_action (int state, int token) - { - const int yyn = action_index [state] + token; - - if (yyn < 0 || action_check [yyn] != token) - return - action_default [state]; - - return action_info [yyn]; - } -}; - - -QT_END_NAMESPACE -#endif // QQMLJSGRAMMAR_P_H - diff --git a/src/qml/parser/qqmljslexer_p.h b/src/qml/parser/qqmljslexer_p.h index eca5d932b4..bc431499b3 100644 --- a/src/qml/parser/qqmljslexer_p.h +++ b/src/qml/parser/qqmljslexer_p.h @@ -51,8 +51,8 @@ // We mean it. // -#include "qqmljsglobal_p.h" -#include "qqmljsgrammar_p.h" +#include <private/qqmljsglobal_p.h> +#include <private/qqmljsgrammar_p.h> #include <QtCore/qstring.h> diff --git a/src/qml/parser/qqmljsparser.cpp b/src/qml/parser/qqmljsparser.cpp deleted file mode 100644 index 24b04b02f9..0000000000 --- a/src/qml/parser/qqmljsparser.cpp +++ /dev/null @@ -1,2010 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtQml module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qqmljsengine_p.h" -#include "qqmljslexer_p.h" -#include "qqmljsast_p.h" -#include "qqmljsmemorypool_p.h" - -#include <QtCore/qdebug.h> -#include <QtCore/qcoreapplication.h> - -#include <string.h> - - - -#include "qqmljsparser_p.h" - -#include <QtCore/qvarlengtharray.h> - -// -// 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; - -QT_QML_BEGIN_NAMESPACE - -void Parser::reallocateStack() -{ - if (! stack_size) - stack_size = 128; - else - stack_size <<= 1; - - sym_stack = reinterpret_cast<Value*> (realloc(sym_stack, stack_size * sizeof(Value))); - state_stack = reinterpret_cast<int*> (realloc(state_stack, stack_size * sizeof(int))); - location_stack = reinterpret_cast<AST::SourceLocation*> (realloc(location_stack, stack_size * sizeof(AST::SourceLocation))); - string_stack = reinterpret_cast<QStringRef*> (realloc(static_cast<void *>(string_stack), stack_size * sizeof(QStringRef))); -} - -Parser::Parser(Engine *engine): - driver(engine), - pool(engine->pool()), - tos(0), - stack_size(0), - sym_stack(nullptr), - state_stack(nullptr), - location_stack(nullptr), - string_stack(nullptr), - program(nullptr), - yylval(0), - first_token(nullptr), - last_token(nullptr) -{ -} - -Parser::~Parser() -{ - if (stack_size) { - free(sym_stack); - free(state_stack); - free(location_stack); - free(string_stack); - } -} - -static inline AST::SourceLocation location(Lexer *lexer) -{ - AST::SourceLocation loc; - loc.offset = lexer->tokenOffset(); - loc.length = lexer->tokenLength(); - loc.startLine = lexer->tokenStartLine(); - loc.startColumn = lexer->tokenStartColumn(); - return loc; -} - -AST::UiQualifiedId *Parser::reparseAsQualifiedId(AST::ExpressionNode *expr) -{ - QVarLengthArray<QStringRef, 4> nameIds; - QVarLengthArray<AST::SourceLocation, 4> locations; - - AST::ExpressionNode *it = expr; - while (AST::FieldMemberExpression *m = AST::cast<AST::FieldMemberExpression *>(it)) { - nameIds.append(m->name); - locations.append(m->identifierToken); - it = m->base; - } - - if (AST::IdentifierExpression *idExpr = AST::cast<AST::IdentifierExpression *>(it)) { - AST::UiQualifiedId *q = new (pool) AST::UiQualifiedId(idExpr->name); - q->identifierToken = idExpr->identifierToken; - - AST::UiQualifiedId *currentId = q; - for (int i = nameIds.size() - 1; i != -1; --i) { - currentId = new (pool) AST::UiQualifiedId(currentId, nameIds[i]); - currentId->identifierToken = locations[i]; - } - - return currentId->finish(); - } - - return nullptr; -} - -AST::UiQualifiedPragmaId *Parser::reparseAsQualifiedPragmaId(AST::ExpressionNode *expr) -{ - if (AST::IdentifierExpression *idExpr = AST::cast<AST::IdentifierExpression *>(expr)) { - AST::UiQualifiedPragmaId *q = new (pool) AST::UiQualifiedPragmaId(idExpr->name); - q->identifierToken = idExpr->identifierToken; - - return q->finish(); - } - - return nullptr; -} - - -bool Parser::parse(int startToken) -{ - Lexer *lexer = driver->lexer(); - bool hadErrors = false; - int yytoken = -1; - int action = 0; - - token_buffer[0].token = startToken; - first_token = &token_buffer[0]; - if (startToken == T_FEED_JS_PROGRAM && !lexer->qmlMode()) { - Directives ignoreDirectives; - Directives *directives = driver->directives(); - if (!directives) - directives = &ignoreDirectives; - DiagnosticMessage error; - if (!lexer->scanDirectives(directives, &error)) { - diagnostic_messages.append(error); - return false; - } - token_buffer[1].token = lexer->tokenKind(); - token_buffer[1].dval = lexer->tokenValue(); - token_buffer[1].loc = location(lexer); - token_buffer[1].spell = lexer->tokenSpell(); - last_token = &token_buffer[2]; - } else { - last_token = &token_buffer[1]; - } - - tos = -1; - program = nullptr; - - do { - if (++tos == stack_size) - reallocateStack(); - - state_stack[tos] = action; - - _Lcheck_token: - if (yytoken == -1 && -TERMINAL_COUNT != action_index[action]) { - yyprevlloc = yylloc; - - if (first_token == last_token) { - yytoken = lexer->lex(); - yylval = lexer->tokenValue(); - yytokenspell = lexer->tokenSpell(); - yylloc = location(lexer); - } else { - yytoken = first_token->token; - yylval = first_token->dval; - yytokenspell = first_token->spell; - yylloc = first_token->loc; - ++first_token; - } - } - - action = t_action(action, yytoken); - if (action > 0) { - if (action != ACCEPT_STATE) { - yytoken = -1; - sym(1).dval = yylval; - stringRef(1) = yytokenspell; - loc(1) = yylloc; - } else { - --tos; - return ! hadErrors; - } - } else if (action < 0) { - const int r = -action - 1; - tos -= rhs[r]; - - switch (r) { - -case 0: { - sym(1).Node = sym(2).Node; - program = sym(1).Node; -} break; - -case 1: { - sym(1).Node = sym(2).Node; - program = sym(1).Node; -} break; - -case 2: { - sym(1).Node = sym(2).Node; - program = sym(1).Node; -} break; - -case 3: { - sym(1).Node = sym(2).Node; - program = sym(1).Node; -} break; - -case 4: { - sym(1).Node = sym(2).Node; - program = sym(1).Node; -} break; - -case 5: { - sym(1).Node = sym(2).Node; - program = sym(1).Node; -} break; - -case 6: { - sym(1).UiProgram = new (pool) AST::UiProgram(sym(1).UiHeaderItemList, - sym(2).UiObjectMemberList->finish()); -} break; - -case 8: { - sym(1).Node = sym(1).UiHeaderItemList->finish(); -} break; - -case 9: { - sym(1).Node = new (pool) AST::UiHeaderItemList(sym(1).UiPragma); -} break; - -case 10: { - sym(1).Node = new (pool) AST::UiHeaderItemList(sym(1).UiImport); -} break; - -case 11: { - sym(1).Node = new (pool) AST::UiHeaderItemList(sym(1).UiHeaderItemList, sym(2).UiPragma); -} break; - -case 12: { - sym(1).Node = new (pool) AST::UiHeaderItemList(sym(1).UiHeaderItemList, sym(2).UiImport); -} break; - -case 16: { - sym(1).UiPragma->semicolonToken = loc(2); -} break; - -case 18: { - sym(1).UiImport->semicolonToken = loc(2); -} break; - -case 20: { - sym(1).UiImport->versionToken = loc(2); - sym(1).UiImport->semicolonToken = loc(3); -} break; - -case 22: { - sym(1).UiImport->versionToken = loc(2); - sym(1).UiImport->asToken = loc(3); - sym(1).UiImport->importIdToken = loc(4); - sym(1).UiImport->importId = stringRef(4); - sym(1).UiImport->semicolonToken = loc(5); -} break; - -case 24: { - sym(1).UiImport->asToken = loc(2); - sym(1).UiImport->importIdToken = loc(3); - sym(1).UiImport->importId = stringRef(3); - sym(1).UiImport->semicolonToken = loc(4); -} break; - -case 25: { - AST::UiPragma *node = nullptr; - - if (AST::UiQualifiedPragmaId *qualifiedId = reparseAsQualifiedPragmaId(sym(2).Expression)) { - node = new (pool) AST::UiPragma(qualifiedId); - } - - sym(1).Node = node; - - if (node) { - node->pragmaToken = loc(1); - } else { - diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(1), - QLatin1String("Expected a qualified name id"))); - - return false; // ### remove me - } -} break; - -case 26: { - AST::UiImport *node = nullptr; - - if (AST::StringLiteral *importIdLiteral = AST::cast<AST::StringLiteral *>(sym(2).Expression)) { - node = new (pool) AST::UiImport(importIdLiteral->value); - node->fileNameToken = loc(2); - } else if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(2).Expression)) { - node = new (pool) AST::UiImport(qualifiedId); - node->fileNameToken = loc(2); - } - - sym(1).Node = node; - - if (node) { - node->importToken = loc(1); - } else { - diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(1), - QLatin1String("Expected a qualified name id or a string literal"))); - - return false; // ### remove me - } -} break; - -case 27: { - sym(1).Node = nullptr; -} break; - -case 28: { - sym(1).Node = new (pool) AST::UiObjectMemberList(sym(1).UiObjectMember); -} break; - -case 29: { - sym(1).Node = new (pool) AST::UiObjectMemberList(sym(1).UiObjectMember); -} break; - -case 30: { - AST::UiObjectMemberList *node = new (pool) AST:: UiObjectMemberList( - sym(1).UiObjectMemberList, sym(2).UiObjectMember); - sym(1).Node = node; -} break; - -case 31: { - sym(1).Node = new (pool) AST::UiArrayMemberList(sym(1).UiObjectMember); -} break; - -case 32: { - AST::UiArrayMemberList *node = new (pool) AST::UiArrayMemberList( - sym(1).UiArrayMemberList, sym(3).UiObjectMember); - node->commaToken = loc(2); - sym(1).Node = node; -} break; - -case 33: { - AST::UiObjectInitializer *node = new (pool) AST::UiObjectInitializer((AST::UiObjectMemberList*)nullptr); - node->lbraceToken = loc(1); - node->rbraceToken = loc(2); - sym(1).Node = node; -} break; - -case 34: { - AST::UiObjectInitializer *node = new (pool) AST::UiObjectInitializer(sym(2).UiObjectMemberList->finish()); - node->lbraceToken = loc(1); - node->rbraceToken = loc(3); - sym(1).Node = node; -} break; - -case 35: { - AST::UiObjectDefinition *node = new (pool) AST::UiObjectDefinition(sym(1).UiQualifiedId, - sym(2).UiObjectInitializer); - sym(1).Node = node; -} break; - -case 37: { - AST::UiArrayBinding *node = new (pool) AST::UiArrayBinding( - sym(1).UiQualifiedId, sym(4).UiArrayMemberList->finish()); - node->colonToken = loc(2); - node->lbracketToken = loc(3); - node->rbracketToken = loc(5); - sym(1).Node = node; -} break; - -case 38: { - AST::UiObjectBinding *node = new (pool) AST::UiObjectBinding( - sym(1).UiQualifiedId, sym(3).UiQualifiedId, sym(4).UiObjectInitializer); - node->colonToken = loc(2); - sym(1).Node = node; -} break; - -case 39: { - AST::UiObjectBinding *node = new (pool) AST::UiObjectBinding( - sym(3).UiQualifiedId, sym(1).UiQualifiedId, sym(4).UiObjectInitializer); - node->colonToken = loc(2); - node->hasOnToken = true; - sym(1).Node = node; -} break; - -case 47: -{ - AST::UiScriptBinding *node = new (pool) AST::UiScriptBinding( - sym(1).UiQualifiedId, sym(3).Statement); - node->colonToken = loc(2); - sym(1).Node = node; -} break; - -case 48: { - AST::UiQualifiedId *node = new (pool) AST::UiQualifiedId(stringRef(1)); - node->identifierToken = loc(1); - sym(1).Node = node; -} break; - -case 49: { - AST::UiQualifiedId *node = new (pool) AST::UiQualifiedId(stringRef(1)); - node->identifierToken = loc(1); - sym(1).Node = node; -} break; - -case 50: { - AST::UiQualifiedId *node = new (pool) AST::UiQualifiedId(stringRef(1)); - node->identifierToken = loc(1); - sym(1).Node = node; -} break; - -case 51: { - AST::UiQualifiedId *node = new (pool) AST::UiQualifiedId(sym(1).UiQualifiedId, stringRef(3)); - node->identifierToken = loc(3); - sym(1).Node = node; -} break; - -case 52: { - sym(1).Node = nullptr; -} break; - -case 53: { - sym(1).Node = sym(1).UiParameterList->finish (); -} break; - -case 54: { - AST::UiParameterList *node = new (pool) AST::UiParameterList(sym(1).UiQualifiedId->finish(), stringRef(2)); - node->propertyTypeToken = loc(1); - node->identifierToken = loc(2); - sym(1).Node = node; -} break; - -case 55: { - AST::UiParameterList *node = new (pool) AST::UiParameterList(sym(1).UiParameterList, sym(3).UiQualifiedId->finish(), stringRef(4)); - node->propertyTypeToken = loc(3); - node->commaToken = loc(2); - node->identifierToken = loc(4); - sym(1).Node = node; -} break; - -case 57: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(nullptr, stringRef(2)); - node->type = AST::UiPublicMember::Signal; - node->propertyToken = loc(1); - node->typeToken = loc(2); - node->identifierToken = loc(2); - node->parameters = sym(4).UiParameterList; - node->semicolonToken = loc(6); - sym(1).Node = node; -} break; - -case 59: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(nullptr, stringRef(2)); - node->type = AST::UiPublicMember::Signal; - node->propertyToken = loc(1); - node->typeToken = loc(2); - node->identifierToken = loc(2); - node->semicolonToken = loc(3); - sym(1).Node = node; -} break; - -case 61: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(4).UiQualifiedId->finish(), stringRef(6)); - node->typeModifier = stringRef(2); - node->propertyToken = loc(1); - node->typeModifierToken = loc(2); - node->typeToken = loc(4); - node->identifierToken = loc(6); - node->semicolonToken = loc(7); - sym(1).Node = node; -} break; - -case 63: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(2).UiQualifiedId->finish(), stringRef(3)); - node->propertyToken = loc(1); - node->typeToken = loc(2); - node->identifierToken = loc(3); - node->semicolonToken = loc(4); - sym(1).Node = node; -} break; - -case 65: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(3).UiQualifiedId->finish(), stringRef(4)); - node->isDefaultMember = true; - node->defaultToken = loc(1); - node->propertyToken = loc(2); - node->typeToken = loc(3); - node->identifierToken = loc(4); - node->semicolonToken = loc(5); - sym(1).Node = node; -} break; - -case 67: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(5).UiQualifiedId->finish(), stringRef(7)); - node->isDefaultMember = true; - node->defaultToken = loc(1); - node->typeModifier = stringRef(3); - node->propertyToken = loc(2); - node->typeModifierToken = loc(2); - node->typeToken = loc(4); - node->identifierToken = loc(7); - node->semicolonToken = loc(8); - sym(1).Node = node; -} break; - -case 68: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(2).UiQualifiedId->finish(), stringRef(3), - sym(5).Statement); - node->propertyToken = loc(1); - node->typeToken = loc(2); - node->identifierToken = loc(3); - node->colonToken = loc(4); - sym(1).Node = node; -} break; - -case 69: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(3).UiQualifiedId->finish(), stringRef(4), - sym(6).Statement); - node->isReadonlyMember = true; - node->readonlyToken = loc(1); - node->propertyToken = loc(2); - node->typeToken = loc(3); - node->identifierToken = loc(4); - node->colonToken = loc(5); - sym(1).Node = node; -} break; - -case 70: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(3).UiQualifiedId->finish(), stringRef(4), - sym(6).Statement); - node->isDefaultMember = true; - node->defaultToken = loc(1); - node->propertyToken = loc(2); - node->typeToken = loc(3); - node->identifierToken = loc(4); - node->colonToken = loc(5); - sym(1).Node = node; -} break; - -case 71: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(4).UiQualifiedId->finish(), stringRef(6)); - node->typeModifier = stringRef(2); - node->propertyToken = loc(1); - node->typeModifierToken = loc(2); - node->typeToken = loc(4); - node->identifierToken = loc(6); - node->semicolonToken = loc(7); // insert a fake ';' before ':' - - AST::UiQualifiedId *propertyName = new (pool) AST::UiQualifiedId(stringRef(6)); - propertyName->identifierToken = loc(6); - propertyName->next = nullptr; - - AST::UiArrayBinding *binding = new (pool) AST::UiArrayBinding( - propertyName, sym(9).UiArrayMemberList->finish()); - binding->colonToken = loc(7); - binding->lbracketToken = loc(8); - binding->rbracketToken = loc(10); - - node->binding = binding; - - sym(1).Node = node; -} break; - -case 72: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(2).UiQualifiedId->finish(), stringRef(3)); - node->propertyToken = loc(1); - node->typeToken = loc(2); - node->identifierToken = loc(3); - node->semicolonToken = loc(4); // insert a fake ';' before ':' - - AST::UiQualifiedId *propertyName = new (pool) AST::UiQualifiedId(stringRef(3)); - propertyName->identifierToken = loc(3); - propertyName->next = nullptr; - - AST::UiObjectBinding *binding = new (pool) AST::UiObjectBinding( - propertyName, sym(5).UiQualifiedId, sym(6).UiObjectInitializer); - binding->colonToken = loc(4); - - node->binding = binding; - - sym(1).Node = node; -} break; - -case 73: { - AST::UiPublicMember *node = new (pool) AST::UiPublicMember(sym(3).UiQualifiedId->finish(), stringRef(4)); - node->isReadonlyMember = true; - node->readonlyToken = loc(1); - node->propertyToken = loc(2); - node->typeToken = loc(3); - node->identifierToken = loc(4); - node->semicolonToken = loc(5); // insert a fake ';' before ':' - - AST::UiQualifiedId *propertyName = new (pool) AST::UiQualifiedId(stringRef(4)); - propertyName->identifierToken = loc(4); - propertyName->next = nullptr; - - AST::UiObjectBinding *binding = new (pool) AST::UiObjectBinding( - propertyName, sym(6).UiQualifiedId, sym(7).UiObjectInitializer); - binding->colonToken = loc(5); - - node->binding = binding; - - sym(1).Node = node; -} break; - -case 74: { - sym(1).Node = new (pool) AST::UiSourceElement(sym(1).Node); -} break; - -case 75: { - sym(1).Node = new (pool) AST::UiSourceElement(sym(1).Node); -} break; - -case 76: { - AST::UiEnumDeclaration *enumDeclaration = new (pool) AST::UiEnumDeclaration(stringRef(2), sym(4).UiEnumMemberList->finish()); - enumDeclaration->enumToken = loc(1); - enumDeclaration->rbraceToken = loc(5); - sym(1).Node = enumDeclaration; - break; -} - -case 77: { - AST::UiEnumMemberList *node = new (pool) AST::UiEnumMemberList(stringRef(1)); - node->memberToken = loc(1); - sym(1).Node = node; - break; -} - -case 78: { - AST::UiEnumMemberList *node = new (pool) AST::UiEnumMemberList(stringRef(1), sym(3).dval); - node->memberToken = loc(1); - node->valueToken = loc(3); - sym(1).Node = node; - break; -} - -case 79: { - AST::UiEnumMemberList *node = new (pool) AST::UiEnumMemberList(sym(1).UiEnumMemberList, stringRef(3)); - node->memberToken = loc(3); - sym(1).Node = node; - break; -} - -case 80: { - AST::UiEnumMemberList *node = new (pool) AST::UiEnumMemberList(sym(1).UiEnumMemberList, stringRef(3), sym(5).dval); - node->memberToken = loc(3); - node->valueToken = loc(5); - sym(1).Node = node; - break; -} - -case 88: { - AST::ThisExpression *node = new (pool) AST::ThisExpression(); - node->thisToken = loc(1); - sym(1).Node = node; -} break; - -case 89: { - AST::IdentifierExpression *node = new (pool) AST::IdentifierExpression(stringRef(1)); - node->identifierToken = loc(1); - sym(1).Node = node; -} break; - -case 90: { - AST::NullExpression *node = new (pool) AST::NullExpression(); - node->nullToken = loc(1); - sym(1).Node = node; -} break; - -case 91: { - AST::TrueLiteral *node = new (pool) AST::TrueLiteral(); - node->trueToken = loc(1); - sym(1).Node = node; -} break; - -case 92: { - AST::FalseLiteral *node = new (pool) AST::FalseLiteral(); - node->falseToken = loc(1); - sym(1).Node = node; -} break; - -case 93: { - AST::NumericLiteral *node = new (pool) AST::NumericLiteral(sym(1).dval); - node->literalToken = loc(1); - sym(1).Node = node; -} break; -case 94: -case 95: { - AST::StringLiteral *node = new (pool) AST::StringLiteral(stringRef(1)); - node->literalToken = loc(1); - sym(1).Node = node; -} break; - -case 96: { - bool rx = lexer->scanRegExp(Lexer::NoPrefix); - if (!rx) { - diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); - return false; // ### remove me - } - - loc(1).length = lexer->tokenLength(); - yylloc = loc(1); // adjust the location of the current token - - AST::RegExpLiteral *node = new (pool) AST::RegExpLiteral( - driver->newStringRef(lexer->regExpPattern()), lexer->regExpFlags()); - node->literalToken = loc(1); - sym(1).Node = node; -} break; - -case 97: { - bool rx = lexer->scanRegExp(Lexer::EqualPrefix); - if (!rx) { - diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, location(lexer), lexer->errorMessage())); - return false; - } - - loc(1).length = lexer->tokenLength(); - yylloc = loc(1); // adjust the location of the current token - - AST::RegExpLiteral *node = new (pool) AST::RegExpLiteral( - driver->newStringRef(lexer->regExpPattern()), lexer->regExpFlags()); - node->literalToken = loc(1); - sym(1).Node = node; -} break; - -case 98: { - AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral((AST::Elision *) nullptr); - node->lbracketToken = loc(1); - node->rbracketToken = loc(2); - sym(1).Node = node; -} break; - -case 99: { - AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).Elision->finish()); - node->lbracketToken = loc(1); - node->rbracketToken = loc(3); - sym(1).Node = node; -} break; - -case 100: { - AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).ElementList->finish ()); - node->lbracketToken = loc(1); - node->rbracketToken = loc(3); - sym(1).Node = node; -} break; - -case 101: { - AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).ElementList->finish (), - (AST::Elision *) nullptr); - node->lbracketToken = loc(1); - node->commaToken = loc(3); - node->rbracketToken = loc(4); - sym(1).Node = node; -} break; - -case 102: { - AST::ArrayLiteral *node = new (pool) AST::ArrayLiteral(sym(2).ElementList->finish (), - sym(4).Elision->finish()); - node->lbracketToken = loc(1); - node->commaToken = loc(3); - node->rbracketToken = loc(5); - sym(1).Node = node; -} break; - -case 103: { - AST::ObjectLiteral *node = nullptr; - if (sym(2).Node) - node = new (pool) AST::ObjectLiteral( - sym(2).PropertyAssignmentList->finish ()); - else - node = new (pool) AST::ObjectLiteral(); - node->lbraceToken = loc(1); - node->rbraceToken = loc(3); - sym(1).Node = node; -} break; - -case 104: { - AST::ObjectLiteral *node = new (pool) AST::ObjectLiteral( - sym(2).PropertyAssignmentList->finish ()); - node->lbraceToken = loc(1); - node->rbraceToken = loc(4); - sym(1).Node = node; -} break; - -case 105: { - AST::NestedExpression *node = new (pool) AST::NestedExpression(sym(2).Expression); - node->lparenToken = loc(1); - node->rparenToken = loc(3); - sym(1).Node = node; -} break; - -case 106: { - if (AST::ArrayMemberExpression *mem = AST::cast<AST::ArrayMemberExpression *>(sym(1).Expression)) { - diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Warning, mem->lbracketToken, - QLatin1String("Ignored annotation"))); - - sym(1).Expression = mem->base; - } - - if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(1).Expression)) { - sym(1).UiQualifiedId = qualifiedId; - } else { - sym(1).UiQualifiedId = nullptr; - - diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(1), - QLatin1String("Expected a qualified name id"))); - - return false; // ### recover - } -} break; - -case 107: { - sym(1).Node = new (pool) AST::ElementList((AST::Elision *) nullptr, sym(1).Expression); -} break; - -case 108: { - sym(1).Node = new (pool) AST::ElementList(sym(1).Elision->finish(), sym(2).Expression); -} break; - -case 109: { - AST::ElementList *node = new (pool) AST::ElementList(sym(1).ElementList, - (AST::Elision *) nullptr, sym(3).Expression); - node->commaToken = loc(2); - sym(1).Node = node; -} break; - -case 110: { - AST::ElementList *node = new (pool) AST::ElementList(sym(1).ElementList, sym(3).Elision->finish(), - sym(4).Expression); - node->commaToken = loc(2); - sym(1).Node = node; -} break; - -case 111: { - AST::Elision *node = new (pool) AST::Elision(); - node->commaToken = loc(1); - sym(1).Node = node; -} break; - -case 112: { - AST::Elision *node = new (pool) AST::Elision(sym(1).Elision); - node->commaToken = loc(2); - sym(1).Node = node; -} break; - -case 113: { - AST::PropertyNameAndValue *node = new (pool) AST::PropertyNameAndValue( - sym(1).PropertyName, sym(3).Expression); - node->colonToken = loc(2); - sym(1).Node = node; -} break; - -case 114: { - AST::PropertyGetterSetter *node = new (pool) AST::PropertyGetterSetter( - sym(2).PropertyName, sym(6).FunctionBody); - node->getSetToken = loc(1); - node->lparenToken = loc(3); - node->rparenToken = loc(4); - node->lbraceToken = loc(5); - node->rbraceToken = loc(7); - sym(1).Node = node; -} break; - -case 115: { - AST::PropertyGetterSetter *node = new (pool) AST::PropertyGetterSetter( - sym(2).PropertyName, sym(4).FormalParameterList, sym(7).FunctionBody); - node->getSetToken = loc(1); - node->lparenToken = loc(3); - node->rparenToken = loc(5); - node->lbraceToken = loc(6); - node->rbraceToken = loc(8); - sym(1).Node = node; -} break; - -case 116: { - sym(1).Node = new (pool) AST::PropertyAssignmentList(sym(1).PropertyAssignment); -} break; - -case 117: { - AST::PropertyAssignmentList *node = new (pool) AST::PropertyAssignmentList( - sym(1).PropertyAssignmentList, sym(3).PropertyAssignment); - node->commaToken = loc(2); - sym(1).Node = node; -} break; - -case 118: { - AST::IdentifierPropertyName *node = new (pool) AST::IdentifierPropertyName(stringRef(1)); - node->propertyNameToken = loc(1); - sym(1).Node = node; -} break; - -case 119: { - AST::StringLiteralPropertyName *node = new (pool) AST::StringLiteralPropertyName(stringRef(1)); - node->propertyNameToken = loc(1); - sym(1).Node = node; -} break; - -case 120: { - AST::NumericLiteralPropertyName *node = new (pool) AST::NumericLiteralPropertyName(sym(1).dval); - node->propertyNameToken = loc(1); - sym(1).Node = node; -} break; - -case 121: { - AST::IdentifierPropertyName *node = new (pool) AST::IdentifierPropertyName(stringRef(1)); - node->propertyNameToken = loc(1); - sym(1).Node = node; -} break; - -case 159: { - AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(3).Expression); - node->lbracketToken = loc(2); - node->rbracketToken = loc(4); - sym(1).Node = node; -} break; - -case 160: { - AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3)); - node->dotToken = loc(2); - node->identifierToken = loc(3); - sym(1).Node = node; -} break; - -case 161: { - AST::NewMemberExpression *node = new (pool) AST::NewMemberExpression(sym(2).Expression, sym(4).ArgumentList); - node->newToken = loc(1); - node->lparenToken = loc(3); - node->rparenToken = loc(5); - sym(1).Node = node; -} break; - -case 163: { - AST::NewExpression *node = new (pool) AST::NewExpression(sym(2).Expression); - node->newToken = loc(1); - sym(1).Node = node; -} break; - -case 164: { - AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(3).ArgumentList); - node->lparenToken = loc(2); - node->rparenToken = loc(4); - sym(1).Node = node; -} break; - -case 165: { - AST::CallExpression *node = new (pool) AST::CallExpression(sym(1).Expression, sym(3).ArgumentList); - node->lparenToken = loc(2); - node->rparenToken = loc(4); - sym(1).Node = node; -} break; - -case 166: { - AST::ArrayMemberExpression *node = new (pool) AST::ArrayMemberExpression(sym(1).Expression, sym(3).Expression); - node->lbracketToken = loc(2); - node->rbracketToken = loc(4); - sym(1).Node = node; -} break; - -case 167: { - AST::FieldMemberExpression *node = new (pool) AST::FieldMemberExpression(sym(1).Expression, stringRef(3)); - node->dotToken = loc(2); - node->identifierToken = loc(3); - sym(1).Node = node; -} break; - -case 168: { - sym(1).Node = nullptr; -} break; - -case 169: { - sym(1).Node = sym(1).ArgumentList->finish(); -} break; - -case 170: { - sym(1).Node = new (pool) AST::ArgumentList(sym(1).Expression); -} break; - -case 171: { - AST::ArgumentList *node = new (pool) AST::ArgumentList(sym(1).ArgumentList, sym(3).Expression); - node->commaToken = loc(2); - sym(1).Node = node; -} break; - -case 175: { - AST::PostIncrementExpression *node = new (pool) AST::PostIncrementExpression(sym(1).Expression); - node->incrementToken = loc(2); - sym(1).Node = node; -} break; - -case 176: { - AST::PostDecrementExpression *node = new (pool) AST::PostDecrementExpression(sym(1).Expression); - node->decrementToken = loc(2); - sym(1).Node = node; -} break; - -case 178: { - AST::DeleteExpression *node = new (pool) AST::DeleteExpression(sym(2).Expression); - node->deleteToken = loc(1); - sym(1).Node = node; -} break; - -case 179: { - AST::VoidExpression *node = new (pool) AST::VoidExpression(sym(2).Expression); - node->voidToken = loc(1); - sym(1).Node = node; -} break; - -case 180: { - AST::TypeOfExpression *node = new (pool) AST::TypeOfExpression(sym(2).Expression); - node->typeofToken = loc(1); - sym(1).Node = node; -} break; - -case 181: { - AST::PreIncrementExpression *node = new (pool) AST::PreIncrementExpression(sym(2).Expression); - node->incrementToken = loc(1); - sym(1).Node = node; -} break; - -case 182: { - AST::PreDecrementExpression *node = new (pool) AST::PreDecrementExpression(sym(2).Expression); - node->decrementToken = loc(1); - sym(1).Node = node; -} break; - -case 183: { - AST::UnaryPlusExpression *node = new (pool) AST::UnaryPlusExpression(sym(2).Expression); - node->plusToken = loc(1); - sym(1).Node = node; -} break; - -case 184: { - AST::UnaryMinusExpression *node = new (pool) AST::UnaryMinusExpression(sym(2).Expression); - node->minusToken = loc(1); - sym(1).Node = node; -} break; - -case 185: { - AST::TildeExpression *node = new (pool) AST::TildeExpression(sym(2).Expression); - node->tildeToken = loc(1); - sym(1).Node = node; -} break; - -case 186: { - AST::NotExpression *node = new (pool) AST::NotExpression(sym(2).Expression); - node->notToken = loc(1); - sym(1).Node = node; -} break; - -case 188: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Mul, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 189: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Div, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 190: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Mod, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 192: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Add, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 193: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Sub, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 195: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::LShift, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 196: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::RShift, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 197: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::URShift, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 199: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Lt, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 200: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Gt, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 201: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Le, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 202: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Ge, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 203: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::InstanceOf, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 204: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::In, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 206: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Lt, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 207: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Gt, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 208: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Le, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 209: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Ge, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 210: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::InstanceOf, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 212: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Equal, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 213: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::NotEqual, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 214: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::StrictEqual, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 215: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::StrictNotEqual, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 217: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Equal, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 218: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::NotEqual, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 219: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::StrictEqual, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 220: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::StrictNotEqual, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 222: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::BitAnd, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 224: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::BitAnd, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 226: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::BitXor, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 228: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::BitXor, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 230: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::BitOr, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 232: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::BitOr, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 234: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::And, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 236: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::And, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 238: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Or, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 240: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - QSOperator::Or, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 242: { - AST::ConditionalExpression *node = new (pool) AST::ConditionalExpression(sym(1).Expression, - sym(3).Expression, sym(5).Expression); - node->questionToken = loc(2); - node->colonToken = loc(4); - sym(1).Node = node; -} break; - -case 244: { - AST::ConditionalExpression *node = new (pool) AST::ConditionalExpression(sym(1).Expression, - sym(3).Expression, sym(5).Expression); - node->questionToken = loc(2); - node->colonToken = loc(4); - sym(1).Node = node; -} break; - -case 246: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - sym(2).ival, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 248: { - AST::BinaryExpression *node = new (pool) AST::BinaryExpression(sym(1).Expression, - sym(2).ival, sym(3).Expression); - node->operatorToken = loc(2); - sym(1).Node = node; -} break; - -case 249: { - sym(1).ival = QSOperator::Assign; -} break; - -case 250: { - sym(1).ival = QSOperator::InplaceMul; -} break; - -case 251: { - sym(1).ival = QSOperator::InplaceDiv; -} break; - -case 252: { - sym(1).ival = QSOperator::InplaceMod; -} break; - -case 253: { - sym(1).ival = QSOperator::InplaceAdd; -} break; - -case 254: { - sym(1).ival = QSOperator::InplaceSub; -} break; - -case 255: { - sym(1).ival = QSOperator::InplaceLeftShift; -} break; - -case 256: { - sym(1).ival = QSOperator::InplaceRightShift; -} break; - -case 257: { - sym(1).ival = QSOperator::InplaceURightShift; -} break; - -case 258: { - sym(1).ival = QSOperator::InplaceAnd; -} break; - -case 259: { - sym(1).ival = QSOperator::InplaceXor; -} break; - -case 260: { - sym(1).ival = QSOperator::InplaceOr; -} break; - -case 262: { - AST::Expression *node = new (pool) AST::Expression(sym(1).Expression, sym(3).Expression); - node->commaToken = loc(2); - sym(1).Node = node; -} break; - -case 263: { - sym(1).Node = nullptr; -} break; - -case 266: { - AST::Expression *node = new (pool) AST::Expression(sym(1).Expression, sym(3).Expression); - node->commaToken = loc(2); - sym(1).Node = node; -} break; - -case 267: { - sym(1).Node = nullptr; -} break; - -case 284: { - AST::Block *node = new (pool) AST::Block(sym(2).StatementList); - node->lbraceToken = loc(1); - node->rbraceToken = loc(3); - sym(1).Node = node; -} break; - -case 285: { - sym(1).Node = new (pool) AST::StatementList(sym(1).Statement); -} break; - -case 286: { - sym(1).Node = new (pool) AST::StatementList(sym(1).StatementList, sym(2).Statement); -} break; - -case 287: { - sym(1).Node = nullptr; -} break; - -case 288: { - sym(1).Node = sym(1).StatementList->finish (); -} break; - -case 290: { - AST::VariableDeclaration::VariableScope s = AST::VariableDeclaration::FunctionScope; - if (sym(1).ival == T_LET) - s = AST::VariableDeclaration::BlockScope; - else if (sym(1).ival == T_CONST) - s = AST::VariableDeclaration::ReadOnlyBlockScope; - - AST::VariableStatement *node = new (pool) AST::VariableStatement(sym(2).VariableDeclarationList->finish(s)); - node->declarationKindToken = loc(1); - node->semicolonToken = loc(3); - sym(1).Node = node; -} break; - -case 291: { - sym(1).ival = T_LET; -} break; - -case 292: { - sym(1).ival = T_CONST; -} break; - -case 293: { - sym(1).ival = T_VAR; -} break; - -case 294: { - sym(1).Node = new (pool) AST::VariableDeclarationList(sym(1).VariableDeclaration); -} break; - -case 295: { - AST::VariableDeclarationList *node = new (pool) AST::VariableDeclarationList( - sym(1).VariableDeclarationList, sym(3).VariableDeclaration); - node->commaToken = loc(2); - sym(1).Node = node; -} break; - -case 296: { - sym(1).Node = new (pool) AST::VariableDeclarationList(sym(1).VariableDeclaration); -} break; - -case 297: { - sym(1).Node = new (pool) AST::VariableDeclarationList(sym(1).VariableDeclarationList, sym(3).VariableDeclaration); -} break; - -case 298: { - AST::VariableDeclaration::VariableScope s = AST::VariableDeclaration::FunctionScope; - AST::VariableDeclaration *node = new (pool) AST::VariableDeclaration(stringRef(1), sym(2).Expression, s); - node->identifierToken = loc(1); - sym(1).Node = node; -} break; - -case 299: { - AST::VariableDeclaration::VariableScope s = AST::VariableDeclaration::FunctionScope; - AST::VariableDeclaration *node = new (pool) AST::VariableDeclaration(stringRef(1), sym(2).Expression, s); - node->identifierToken = loc(1); - sym(1).Node = node; -} break; - -case 300: { - // ### TODO: AST for initializer - sym(1) = sym(2); -} break; - -case 301: { - sym(1).Node = nullptr; -} break; - -case 303: { - // ### TODO: AST for initializer - sym(1) = sym(2); -} break; - -case 304: { - sym(1).Node = nullptr; -} break; - -case 306: { - AST::EmptyStatement *node = new (pool) AST::EmptyStatement(); - node->semicolonToken = loc(1); - sym(1).Node = node; -} break; - -case 308: { - AST::ExpressionStatement *node = new (pool) AST::ExpressionStatement(sym(1).Expression); - node->semicolonToken = loc(2); - sym(1).Node = node; -} break; - -case 309: { - AST::IfStatement *node = new (pool) AST::IfStatement(sym(3).Expression, sym(5).Statement, sym(7).Statement); - node->ifToken = loc(1); - node->lparenToken = loc(2); - node->rparenToken = loc(4); - node->elseToken = loc(6); - sym(1).Node = node; -} break; - -case 310: { - AST::IfStatement *node = new (pool) AST::IfStatement(sym(3).Expression, sym(5).Statement); - node->ifToken = loc(1); - node->lparenToken = loc(2); - node->rparenToken = loc(4); - sym(1).Node = node; -} break; - -case 313: { - AST::DoWhileStatement *node = new (pool) AST::DoWhileStatement(sym(2).Statement, sym(5).Expression); - node->doToken = loc(1); - node->whileToken = loc(3); - node->lparenToken = loc(4); - node->rparenToken = loc(6); - node->semicolonToken = loc(7); - sym(1).Node = node; -} break; - -case 314: { - AST::WhileStatement *node = new (pool) AST::WhileStatement(sym(3).Expression, sym(5).Statement); - node->whileToken = loc(1); - node->lparenToken = loc(2); - node->rparenToken = loc(4); - sym(1).Node = node; -} break; - -case 315: { - AST::ForStatement *node = new (pool) AST::ForStatement(sym(3).Expression, - sym(5).Expression, sym(7).Expression, sym(9).Statement); - node->forToken = loc(1); - node->lparenToken = loc(2); - node->firstSemicolonToken = loc(4); - node->secondSemicolonToken = loc(6); - node->rparenToken = loc(8); - sym(1).Node = node; -} break; - -case 316: { - AST::VariableDeclaration::VariableScope s = AST::VariableDeclaration::FunctionScope; - AST::LocalForStatement *node = new (pool) AST::LocalForStatement( - sym(4).VariableDeclarationList->finish(s), sym(6).Expression, - sym(8).Expression, sym(10).Statement); - node->forToken = loc(1); - node->lparenToken = loc(2); - node->varToken = loc(3); - node->firstSemicolonToken = loc(5); - node->secondSemicolonToken = loc(7); - node->rparenToken = loc(9); - sym(1).Node = node; -} break; - -case 317: { - AST:: ForEachStatement *node = new (pool) AST::ForEachStatement(sym(3).Expression, - sym(5).Expression, sym(7).Statement); - node->forToken = loc(1); - node->lparenToken = loc(2); - node->inToken = loc(4); - node->rparenToken = loc(6); - sym(1).Node = node; -} break; - -case 318: { - AST::LocalForEachStatement *node = new (pool) AST::LocalForEachStatement( - sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement); - node->forToken = loc(1); - node->lparenToken = loc(2); - node->varToken = loc(3); - node->inToken = loc(5); - node->rparenToken = loc(7); - sym(1).Node = node; -} break; - -case 320: { - AST::ContinueStatement *node = new (pool) AST::ContinueStatement(); - node->continueToken = loc(1); - node->semicolonToken = loc(2); - sym(1).Node = node; -} break; - -case 322: { - AST::ContinueStatement *node = new (pool) AST::ContinueStatement(stringRef(2)); - node->continueToken = loc(1); - node->identifierToken = loc(2); - node->semicolonToken = loc(3); - sym(1).Node = node; -} break; - -case 324: { - AST::BreakStatement *node = new (pool) AST::BreakStatement(QStringRef()); - node->breakToken = loc(1); - node->semicolonToken = loc(2); - sym(1).Node = node; -} break; - -case 326: { - AST::BreakStatement *node = new (pool) AST::BreakStatement(stringRef(2)); - node->breakToken = loc(1); - node->identifierToken = loc(2); - node->semicolonToken = loc(3); - sym(1).Node = node; -} break; - -case 328: { - AST::ReturnStatement *node = new (pool) AST::ReturnStatement(sym(2).Expression); - node->returnToken = loc(1); - node->semicolonToken = loc(3); - sym(1).Node = node; -} break; - -case 329: { - AST::WithStatement *node = new (pool) AST::WithStatement(sym(3).Expression, sym(5).Statement); - node->withToken = loc(1); - node->lparenToken = loc(2); - node->rparenToken = loc(4); - sym(1).Node = node; -} break; - -case 330: { - AST::SwitchStatement *node = new (pool) AST::SwitchStatement(sym(3).Expression, sym(5).CaseBlock); - node->switchToken = loc(1); - node->lparenToken = loc(2); - node->rparenToken = loc(4); - sym(1).Node = node; -} break; - -case 331: { - AST::CaseBlock *node = new (pool) AST::CaseBlock(sym(2).CaseClauses); - node->lbraceToken = loc(1); - node->rbraceToken = loc(3); - sym(1).Node = node; -} break; - -case 332: { - 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 333: { - sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClause); -} break; - -case 334: { - sym(1).Node = new (pool) AST::CaseClauses(sym(1).CaseClauses, sym(2).CaseClause); -} break; - -case 335: { - sym(1).Node = nullptr; -} break; - -case 336: { - sym(1).Node = sym(1).CaseClauses->finish (); -} break; - -case 337: { - 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 338: { - AST::DefaultClause *node = new (pool) AST::DefaultClause(sym(3).StatementList); - node->defaultToken = loc(1); - node->colonToken = loc(2); - sym(1).Node = node; -} break; - -case 339: { - 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 341: { - AST::ThrowStatement *node = new (pool) AST::ThrowStatement(sym(2).Expression); - node->throwToken = loc(1); - node->semicolonToken = loc(3); - sym(1).Node = node; -} break; - -case 342: { - AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Catch); - node->tryToken = loc(1); - sym(1).Node = node; -} break; - -case 343: { - AST::TryStatement *node = new (pool) AST::TryStatement(sym(2).Statement, sym(3).Finally); - node->tryToken = loc(1); - sym(1).Node = node; -} break; - -case 344: { - 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 345: { - AST::Catch *node = new (pool) AST::Catch(stringRef(3), sym(5).Block); - node->catchToken = loc(1); - node->lparenToken = loc(2); - node->identifierToken = loc(3); - node->rparenToken = loc(4); - sym(1).Node = node; -} break; - -case 346: { - AST::Finally *node = new (pool) AST::Finally(sym(2).Block); - node->finallyToken = loc(1); - sym(1).Node = node; -} break; - -case 348: { - AST::DebuggerStatement *node = new (pool) AST::DebuggerStatement(); - node->debuggerToken = loc(1); - node->semicolonToken = loc(2); - sym(1).Node = node; -} break; - -case 350: { - AST::FunctionDeclaration *node = new (pool) AST::FunctionDeclaration(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody); - node->functionToken = loc(1); - node->identifierToken = loc(2); - node->lparenToken = loc(3); - node->rparenToken = loc(5); - node->lbraceToken = loc(6); - node->rbraceToken = loc(8); - sym(1).Node = node; -} break; - -case 351: { - AST::FunctionExpression *node = new (pool) AST::FunctionExpression(stringRef(2), sym(4).FormalParameterList, sym(7).FunctionBody); - node->functionToken = loc(1); - if (! stringRef(2).isNull()) - node->identifierToken = loc(2); - node->lparenToken = loc(3); - node->rparenToken = loc(5); - node->lbraceToken = loc(6); - node->rbraceToken = loc(8); - sym(1).Node = node; -} break; - -case 352: { - AST::FunctionExpression *node = new (pool) AST::FunctionExpression(QStringRef(), sym(3).FormalParameterList, sym(6).FunctionBody); - node->functionToken = loc(1); - node->lparenToken = loc(2); - node->rparenToken = loc(4); - node->lbraceToken = loc(5); - node->rbraceToken = loc(7); - sym(1).Node = node; -} break; - -case 353: { - AST::FormalParameterList *node = new (pool) AST::FormalParameterList(stringRef(1)); - node->identifierToken = loc(1); - sym(1).Node = node; -} break; - -case 354: { - 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 355: { - sym(1).Node = nullptr; -} break; - -case 356: { - sym(1).Node = sym(1).FormalParameterList->finish (); -} break; - -case 357: { - sym(1).Node = nullptr; -} break; - -case 359: { - sym(1).Node = new (pool) AST::FunctionBody(sym(1).SourceElements->finish ()); -} break; - -case 361: { - sym(1).Node = new (pool) AST::Program(sym(1).SourceElements->finish ()); -} break; - -case 362: { - sym(1).Node = new (pool) AST::SourceElements(sym(1).SourceElement); -} break; - -case 363: { - sym(1).Node = new (pool) AST::SourceElements(sym(1).SourceElements, sym(2).SourceElement); -} break; - -case 364: { - sym(1).Node = new (pool) AST::StatementSourceElement(sym(1).Statement); -} break; - -case 365: { - sym(1).Node = new (pool) AST::FunctionSourceElement(sym(1).FunctionDeclaration); -} break; - -case 366: { - sym(1).Node = nullptr; -} break; - - } // switch - action = nt_action(state_stack[tos], lhs[r] - TERMINAL_COUNT); - } // if - } while (action != 0); - - if (first_token == last_token) { - const int errorState = state_stack[tos]; - - // automatic insertion of `;' - 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; - tk.spell = yytokenspell; - tk.loc = yylloc; - - yylloc = yyprevlloc; - yylloc.offset += yylloc.length; - yylloc.startColumn += yylloc.length; - yylloc.length = 0; - - //const QString msg = QCoreApplication::translate("QQmlParser", "Missing `;'"); - //diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Warning, yylloc, msg)); - - first_token = &token_buffer[0]; - last_token = &token_buffer[1]; - - yytoken = T_SEMICOLON; - yylval = 0; - - action = errorState; - - goto _Lcheck_token; - } - - hadErrors = true; - - token_buffer[0].token = yytoken; - token_buffer[0].dval = yylval; - token_buffer[0].spell = yytokenspell; - token_buffer[0].loc = yylloc; - - token_buffer[1].token = yytoken = lexer->lex(); - token_buffer[1].dval = yylval = lexer->tokenValue(); - token_buffer[1].spell = yytokenspell = lexer->tokenSpell(); - token_buffer[1].loc = yylloc = location(lexer); - - if (t_action(errorState, yytoken)) { - QString msg; - int token = token_buffer[0].token; - if (token < 0 || token >= TERMINAL_COUNT) - msg = QCoreApplication::translate("QQmlParser", "Syntax error"); - else - msg = QCoreApplication::translate("QQmlParser", "Unexpected token `%1'").arg(QLatin1String(spell[token])); - diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, token_buffer[0].loc, msg)); - - action = errorState; - goto _Lcheck_token; - } - - static int tokens[] = { - T_PLUS, - T_EQ, - - T_COMMA, - T_COLON, - T_SEMICOLON, - - T_RPAREN, T_RBRACKET, T_RBRACE, - - T_NUMERIC_LITERAL, - T_IDENTIFIER, - - T_LPAREN, T_LBRACKET, T_LBRACE, - - EOF_SYMBOL - }; - - for (int *tk = tokens; *tk != EOF_SYMBOL; ++tk) { - int a = t_action(errorState, *tk); - if (a > 0 && t_action(a, yytoken)) { - const QString msg = QCoreApplication::translate("QQmlParser", "Expected token `%1'").arg(QLatin1String(spell[*tk])); - diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, token_buffer[0].loc, msg)); - - yytoken = *tk; - yylval = 0; - yylloc = token_buffer[0].loc; - yylloc.length = 0; - - first_token = &token_buffer[0]; - last_token = &token_buffer[2]; - - action = errorState; - goto _Lcheck_token; - } - } - - for (int tk = 1; tk < TERMINAL_COUNT; ++tk) { - if (tk == T_AUTOMATIC_SEMICOLON || tk == T_FEED_UI_PROGRAM || - tk == T_FEED_JS_STATEMENT || tk == T_FEED_JS_EXPRESSION || - tk == T_FEED_JS_SOURCE_ELEMENT) - continue; - - int a = t_action(errorState, tk); - if (a > 0 && t_action(a, yytoken)) { - const QString msg = QCoreApplication::translate("QQmlParser", "Expected token `%1'").arg(QLatin1String(spell[tk])); - diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, token_buffer[0].loc, msg)); - - yytoken = tk; - yylval = 0; - yylloc = token_buffer[0].loc; - yylloc.length = 0; - - action = errorState; - goto _Lcheck_token; - } - } - - const QString msg = QCoreApplication::translate("QQmlParser", "Syntax error"); - diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, token_buffer[0].loc, msg)); - } - - return false; -} - -QT_QML_END_NAMESPACE - - diff --git a/src/qml/parser/qqmljsparser_p.h b/src/qml/parser/qqmljsparser_p.h deleted file mode 100644 index b4aecd2f08..0000000000 --- a/src/qml/parser/qqmljsparser_p.h +++ /dev/null @@ -1,258 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtQml module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -// -// 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 -#define QQMLJSPARSER_P_H - -#include "qqmljsglobal_p.h" -#include "qqmljsgrammar_p.h" -#include "qqmljsast_p.h" -#include "qqmljsengine_p.h" - -#include <QtCore/qlist.h> -#include <QtCore/qstring.h> - -QT_QML_BEGIN_NAMESPACE - -namespace QQmlJS { - -class Engine; - -class QML_PARSER_EXPORT Parser: protected QQmlJSGrammar -{ -public: - union Value { - int ival; - double dval; - AST::ArgumentList *ArgumentList; - AST::CaseBlock *CaseBlock; - AST::CaseClause *CaseClause; - AST::CaseClauses *CaseClauses; - AST::Catch *Catch; - AST::DefaultClause *DefaultClause; - AST::ElementList *ElementList; - AST::Elision *Elision; - AST::ExpressionNode *Expression; - AST::Finally *Finally; - AST::FormalParameterList *FormalParameterList; - AST::FunctionBody *FunctionBody; - AST::FunctionDeclaration *FunctionDeclaration; - AST::Node *Node; - AST::PropertyName *PropertyName; - AST::PropertyAssignment *PropertyAssignment; - AST::PropertyAssignmentList *PropertyAssignmentList; - AST::SourceElement *SourceElement; - AST::SourceElements *SourceElements; - AST::Statement *Statement; - AST::StatementList *StatementList; - AST::Block *Block; - AST::VariableDeclaration *VariableDeclaration; - AST::VariableDeclarationList *VariableDeclarationList; - - AST::UiProgram *UiProgram; - AST::UiHeaderItemList *UiHeaderItemList; - AST::UiPragma *UiPragma; - AST::UiImport *UiImport; - AST::UiParameterList *UiParameterList; - AST::UiPublicMember *UiPublicMember; - AST::UiObjectDefinition *UiObjectDefinition; - AST::UiObjectInitializer *UiObjectInitializer; - AST::UiObjectBinding *UiObjectBinding; - AST::UiScriptBinding *UiScriptBinding; - AST::UiArrayBinding *UiArrayBinding; - AST::UiObjectMember *UiObjectMember; - AST::UiObjectMemberList *UiObjectMemberList; - AST::UiArrayMemberList *UiArrayMemberList; - AST::UiQualifiedId *UiQualifiedId; - AST::UiQualifiedPragmaId *UiQualifiedPragmaId; - AST::UiEnumMemberList *UiEnumMemberList; - }; - -public: - Parser(Engine *engine); - ~Parser(); - - // parse a UI program - bool parse() { return parse(T_FEED_UI_PROGRAM); } - bool parseStatement() { return parse(T_FEED_JS_STATEMENT); } - bool parseExpression() { return parse(T_FEED_JS_EXPRESSION); } - bool parseSourceElement() { return parse(T_FEED_JS_SOURCE_ELEMENT); } - bool parseUiObjectMember() { return parse(T_FEED_UI_OBJECT_MEMBER); } - bool parseProgram() { return parse(T_FEED_JS_PROGRAM); } - - AST::UiProgram *ast() const - { return AST::cast<AST::UiProgram *>(program); } - - AST::Statement *statement() const - { - if (! program) - return nullptr; - - return program->statementCast(); - } - - AST::ExpressionNode *expression() const - { - if (! program) - return nullptr; - - return program->expressionCast(); - } - - AST::UiObjectMember *uiObjectMember() const - { - if (! program) - return nullptr; - - return program->uiObjectMemberCast(); - } - - AST::Node *rootNode() const - { return program; } - - QList<DiagnosticMessage> diagnosticMessages() const - { return diagnostic_messages; } - - inline DiagnosticMessage diagnosticMessage() const - { - for (const DiagnosticMessage &d : diagnostic_messages) { - if (d.kind != DiagnosticMessage::Warning) - return d; - } - - return DiagnosticMessage(); - } - - inline QString errorMessage() const - { return diagnosticMessage().message; } - - inline int errorLineNumber() const - { return diagnosticMessage().loc.startLine; } - - inline int errorColumnNumber() const - { return diagnosticMessage().loc.startColumn; } - -protected: - bool parse(int startToken); - - void reallocateStack(); - - inline Value &sym(int index) - { return sym_stack [tos + index - 1]; } - - inline QStringRef &stringRef(int index) - { return string_stack [tos + index - 1]; } - - inline AST::SourceLocation &loc(int index) - { return location_stack [tos + index - 1]; } - - AST::UiQualifiedId *reparseAsQualifiedId(AST::ExpressionNode *expr); - AST::UiQualifiedPragmaId *reparseAsQualifiedPragmaId(AST::ExpressionNode *expr); - -protected: - Engine *driver; - MemoryPool *pool; - int tos; - int stack_size; - Value *sym_stack; - int *state_stack; - AST::SourceLocation *location_stack; - QStringRef *string_stack; - - AST::Node *program; - - // error recovery - enum { TOKEN_BUFFER_SIZE = 3 }; - - struct SavedToken { - int token; - double dval; - AST::SourceLocation loc; - QStringRef spell; - }; - - double yylval; - QStringRef yytokenspell; - AST::SourceLocation yylloc; - AST::SourceLocation yyprevlloc; - - SavedToken token_buffer[TOKEN_BUFFER_SIZE]; - SavedToken *first_token; - SavedToken *last_token; - - QList<DiagnosticMessage> diagnostic_messages; -}; - -} // end of namespace QQmlJS - - - -#define J_SCRIPT_REGEXPLITERAL_RULE1 96 - -#define J_SCRIPT_REGEXPLITERAL_RULE2 97 - -QT_QML_END_NAMESPACE - - - -#endif // QQMLJSPARSER_P_H diff --git a/sync.profile b/sync.profile index 64abbd2eb9..5915e5e224 100644 --- a/sync.profile +++ b/sync.profile @@ -7,3 +7,6 @@ "QtPacketProtocol" => "$basedir/src/plugins/qmltooling/packetprotocol", "QtQmlDebug" => "$basedir/src/qmldebug", ); +%inject_headers = ( + "$basedir/src/qml" => [ "^qqmljsgrammar_p.h", "^qqmljsparser_p.h" ], +); |