diff --git a/src/linguist/lupdate/qscript.cpp b/src/linguist/lupdate/qscript.cpp index 53404112b418e86d44e5e9f443179c867eecf475..e74a1614498fa6cb57de3fa66bcffc14979a09f2 100644 --- a/src/linguist/lupdate/qscript.cpp +++ b/src/linguist/lupdate/qscript.cpp @@ -147,15 +147,15 @@ public: T_XOR = 76, T_XOR_EQ = 77, - ACCEPT_STATE = 236, - RULE_COUNT = 267, - STATE_COUNT = 465, + ACCEPT_STATE = 237, + RULE_COUNT = 268, + STATE_COUNT = 466, TERMINAL_COUNT = 84, NON_TERMINAL_COUNT = 88, - GOTO_INDEX_OFFSET = 465, - GOTO_INFO_OFFSET = 1374, - GOTO_CHECK_OFFSET = 1374 + GOTO_INDEX_OFFSET = 466, + GOTO_INFO_OFFSET = 1513, + GOTO_CHECK_OFFSET = 1513 }; static const char *const spell []; @@ -201,564 +201,590 @@ const char *const QScriptGrammar::spell [] = { const short QScriptGrammar::lhs [] = { 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 87, 87, 91, 91, 86, 86, - 92, 92, 93, 93, 93, 93, 94, 94, 94, 94, + 85, 85, 85, 85, 85, 87, 87, 92, 92, 86, + 86, 89, 89, 93, 93, 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 95, 95, 96, - 96, 96, 96, 96, 99, 99, 100, 100, 100, 100, - 98, 98, 101, 101, 102, 102, 103, 103, 103, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, - 105, 105, 105, 106, 106, 106, 107, 107, 107, 107, - 108, 108, 108, 108, 108, 108, 108, 109, 109, 109, - 109, 109, 109, 110, 110, 110, 110, 110, 111, 111, - 111, 111, 111, 112, 112, 113, 113, 114, 114, 115, - 115, 116, 116, 117, 117, 118, 118, 119, 119, 120, - 120, 121, 121, 122, 122, 123, 123, 90, 90, 124, - 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 89, 89, 126, 126, 127, 127, 128, - 128, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 130, 146, 146, 145, - 145, 131, 131, 147, 147, 148, 148, 150, 150, 149, - 151, 154, 152, 152, 155, 153, 153, 132, 133, 133, - 134, 134, 135, 135, 135, 135, 135, 135, 135, 136, - 136, 136, 136, 137, 137, 137, 137, 138, 138, 139, - 141, 156, 156, 159, 159, 157, 157, 160, 158, 140, - 142, 142, 143, 143, 143, 161, 162, 144, 163, 97, - 167, 167, 164, 164, 165, 165, 168, 84, 169, 169, - 170, 170, 166, 166, 88, 88, 171}; + 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, + 96, 96, 96, 96, 96, 99, 99, 100, 100, 100, + 100, 98, 98, 101, 101, 102, 102, 103, 103, 103, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 105, 105, 105, 105, 106, 106, 106, 107, 107, 107, + 107, 108, 108, 108, 108, 108, 108, 108, 109, 109, + 109, 109, 109, 109, 110, 110, 110, 110, 110, 111, + 111, 111, 111, 111, 112, 112, 113, 113, 114, 114, + 115, 115, 116, 116, 117, 117, 118, 118, 119, 119, + 120, 120, 121, 121, 122, 122, 123, 123, 91, 91, + 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 90, 90, 126, 126, 127, 127, + 128, 128, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 130, 146, 146, + 145, 145, 131, 131, 147, 147, 148, 148, 150, 150, + 149, 151, 154, 152, 152, 155, 153, 153, 132, 133, + 133, 134, 134, 135, 135, 135, 135, 135, 135, 135, + 136, 136, 136, 136, 137, 137, 137, 137, 138, 138, + 139, 141, 156, 156, 159, 159, 157, 157, 160, 158, + 140, 142, 142, 143, 143, 143, 161, 162, 144, 163, + 97, 167, 167, 164, 164, 165, 165, 168, 84, 169, + 169, 170, 170, 166, 166, 88, 88, 171}; const short QScriptGrammar::rhs [] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 3, 5, 3, 3, 2, 4, 1, 2, 0, 1, - 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, + 3, 5, 3, 4, 3, 2, 4, 1, 2, 0, + 1, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 3, 3, 1, 2, 2, 2, 4, 3, - 2, 3, 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, 3, 1, 3, 2, - 2, 2, 0, 1, 2, 0, 1, 1, 2, 2, - 7, 5, 7, 7, 5, 9, 10, 7, 8, 2, - 2, 3, 3, 2, 2, 3, 3, 3, 3, 5, - 5, 3, 5, 1, 2, 0, 1, 4, 3, 3, - 3, 3, 3, 3, 4, 5, 2, 1, 8, 8, - 1, 3, 0, 1, 0, 1, 1, 1, 1, 2, - 1, 1, 0, 1, 0, 1, 2}; + 1, 1, 4, 3, 3, 1, 2, 2, 2, 4, + 3, 2, 3, 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, 3, 1, 3, + 2, 2, 2, 0, 1, 2, 0, 1, 1, 2, + 2, 7, 5, 7, 7, 5, 9, 10, 7, 8, + 2, 2, 3, 3, 2, 2, 3, 3, 3, 3, + 5, 5, 3, 5, 1, 2, 0, 1, 4, 3, + 3, 3, 3, 3, 3, 4, 5, 2, 1, 8, + 8, 1, 3, 0, 1, 0, 1, 1, 1, 1, + 2, 1, 1, 0, 1, 0, 1, 2}; const short QScriptGrammar::action_default [] = { - 0, 97, 164, 128, 136, 132, 172, 179, 76, 148, - 178, 186, 174, 124, 0, 175, 262, 61, 176, 177, - 182, 77, 140, 144, 65, 94, 75, 80, 60, 0, - 114, 180, 101, 259, 258, 261, 183, 0, 194, 0, - 248, 0, 8, 9, 0, 5, 0, 263, 2, 0, - 265, 19, 0, 0, 0, 0, 0, 3, 6, 0, - 0, 166, 208, 7, 0, 1, 0, 0, 4, 0, - 0, 195, 0, 0, 0, 184, 185, 90, 0, 173, - 181, 0, 0, 77, 96, 263, 2, 265, 79, 78, - 0, 0, 0, 92, 93, 91, 0, 264, 253, 254, - 0, 251, 0, 252, 0, 255, 256, 0, 257, 250, - 260, 0, 266, 0, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 23, - 41, 42, 43, 44, 45, 25, 46, 47, 24, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 0, - 21, 0, 0, 0, 22, 13, 95, 0, 125, 0, - 0, 0, 0, 115, 0, 0, 0, 0, 0, 0, - 105, 0, 0, 0, 99, 100, 98, 103, 107, 106, - 104, 102, 117, 116, 118, 0, 133, 0, 129, 68, - 0, 0, 0, 70, 59, 58, 0, 0, 69, 165, - 0, 73, 71, 0, 72, 74, 209, 210, 0, 161, - 154, 152, 159, 160, 158, 157, 163, 156, 155, 153, - 162, 149, 0, 137, 0, 0, 141, 0, 0, 145, - 67, 0, 0, 63, 0, 62, 267, 224, 0, 225, - 226, 227, 220, 0, 221, 222, 223, 81, 0, 0, - 0, 0, 0, 213, 214, 170, 168, 130, 138, 134, - 150, 126, 171, 0, 77, 142, 146, 119, 108, 0, - 0, 127, 0, 0, 0, 0, 120, 0, 0, 0, - 0, 0, 112, 110, 113, 111, 109, 122, 121, 123, - 0, 135, 0, 131, 0, 169, 77, 0, 151, 166, - 167, 0, 166, 0, 0, 216, 0, 0, 0, 218, - 0, 139, 0, 0, 143, 0, 0, 147, 206, 0, - 198, 207, 201, 0, 205, 0, 166, 199, 0, 166, - 0, 0, 217, 0, 0, 0, 219, 264, 253, 0, - 0, 255, 0, 249, 0, 240, 0, 0, 0, 212, - 0, 211, 188, 191, 0, 27, 30, 31, 248, 34, - 35, 5, 39, 40, 2, 41, 44, 3, 6, 166, - 7, 48, 1, 50, 4, 52, 53, 54, 55, 56, - 57, 189, 187, 65, 66, 64, 0, 228, 229, 0, - 0, 0, 231, 236, 234, 237, 0, 0, 235, 236, - 0, 232, 0, 233, 190, 239, 0, 190, 238, 0, - 241, 242, 0, 190, 243, 244, 0, 0, 245, 0, - 0, 0, 246, 247, 83, 82, 0, 0, 0, 215, - 0, 0, 0, 230, 0, 20, 0, 17, 19, 11, - 0, 16, 12, 18, 15, 10, 0, 14, 87, 85, - 89, 86, 84, 88, 203, 196, 0, 204, 200, 0, - 202, 192, 0, 193, 197}; + 0, 98, 165, 129, 137, 133, 173, 180, 77, 149, + 179, 187, 175, 125, 0, 176, 263, 62, 177, 178, + 183, 78, 141, 145, 66, 95, 76, 81, 61, 0, + 115, 181, 102, 260, 259, 262, 184, 0, 195, 0, + 249, 0, 8, 9, 0, 5, 0, 264, 2, 0, + 266, 20, 0, 0, 0, 0, 0, 3, 6, 0, + 0, 167, 209, 7, 0, 1, 0, 0, 4, 0, + 0, 196, 0, 0, 0, 185, 186, 91, 0, 174, + 182, 0, 0, 78, 97, 264, 2, 266, 80, 79, + 0, 0, 0, 93, 94, 92, 0, 265, 254, 255, + 0, 252, 0, 253, 0, 256, 257, 0, 258, 251, + 261, 0, 267, 0, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 24, + 42, 43, 44, 45, 46, 26, 47, 48, 25, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 0, + 22, 0, 0, 14, 0, 23, 13, 96, 0, 126, + 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, + 0, 106, 0, 0, 0, 100, 101, 99, 104, 108, + 107, 105, 103, 118, 117, 119, 0, 134, 0, 130, + 69, 0, 0, 0, 71, 60, 59, 0, 0, 70, + 166, 0, 74, 72, 0, 73, 75, 210, 211, 0, + 162, 155, 153, 160, 161, 159, 158, 164, 157, 156, + 154, 163, 150, 0, 138, 0, 0, 142, 0, 0, + 146, 68, 0, 0, 64, 0, 63, 268, 225, 0, + 226, 227, 228, 221, 0, 222, 223, 224, 82, 0, + 0, 0, 0, 0, 214, 215, 171, 169, 131, 139, + 135, 151, 127, 172, 0, 78, 143, 147, 120, 109, + 0, 0, 128, 0, 0, 0, 0, 121, 0, 0, + 0, 0, 0, 113, 111, 114, 112, 110, 123, 122, + 124, 0, 136, 0, 132, 0, 170, 78, 0, 152, + 167, 168, 0, 167, 0, 0, 217, 0, 0, 0, + 219, 0, 140, 0, 0, 144, 0, 0, 148, 207, + 0, 199, 208, 202, 0, 206, 0, 167, 200, 0, + 167, 0, 0, 218, 0, 0, 0, 220, 265, 254, + 0, 0, 256, 0, 250, 0, 241, 0, 0, 0, + 213, 0, 212, 189, 192, 0, 28, 31, 32, 249, + 35, 36, 5, 40, 41, 2, 42, 45, 3, 6, + 167, 7, 49, 1, 51, 4, 53, 54, 55, 56, + 57, 58, 190, 188, 66, 67, 65, 0, 229, 230, + 0, 0, 0, 232, 237, 235, 238, 0, 0, 236, + 237, 0, 233, 0, 234, 191, 240, 0, 191, 239, + 0, 242, 243, 0, 191, 244, 245, 0, 0, 246, + 0, 0, 0, 247, 248, 84, 83, 0, 0, 0, + 216, 0, 0, 0, 231, 0, 21, 0, 18, 20, + 11, 0, 17, 12, 19, 16, 10, 0, 15, 88, + 86, 90, 87, 85, 89, 204, 197, 0, 205, 201, + 0, 203, 193, 0, 194, 198}; const short QScriptGrammar::goto_default [] = { - 29, 28, 436, 434, 113, 14, 2, 435, 112, 111, - 114, 193, 24, 17, 189, 26, 8, 200, 21, 27, - 77, 25, 1, 32, 30, 267, 13, 261, 3, 257, - 5, 259, 4, 258, 22, 265, 23, 266, 9, 260, - 256, 297, 386, 262, 263, 35, 6, 79, 12, 15, + 29, 28, 437, 435, 113, 112, 14, 2, 436, 111, + 114, 194, 24, 17, 190, 26, 8, 201, 21, 27, + 77, 25, 1, 32, 30, 268, 13, 262, 3, 258, + 5, 260, 4, 259, 22, 266, 23, 267, 9, 261, + 257, 298, 387, 263, 264, 35, 6, 79, 12, 15, 18, 19, 10, 7, 31, 80, 20, 36, 75, 76, - 11, 354, 353, 78, 456, 455, 319, 320, 458, 322, - 457, 321, 392, 396, 399, 395, 394, 414, 415, 16, + 11, 355, 354, 78, 457, 456, 320, 321, 459, 323, + 458, 322, 393, 397, 400, 396, 395, 415, 416, 16, 100, 107, 96, 99, 106, 108, 33, 0}; const short QScriptGrammar::action_index [] = { - 1210, 59, -84, 71, 41, -1, -84, -84, 148, -84, - -84, -84, -84, 201, 130, -84, -84, -84, -84, -84, - -84, 343, 67, 62, 122, 109, -84, -84, -84, 85, - 273, -84, 184, -84, 1210, -84, -84, 119, -84, 112, - -84, 521, -84, -84, 1130, -84, 45, 54, 58, 38, - 1290, 50, 521, 521, 521, 376, 521, -84, -84, 521, - 521, 521, -84, -84, 25, -84, 521, 521, -84, 43, - 521, -84, 521, 18, 15, -84, -84, -84, 24, -84, - -84, 521, 521, 64, 153, 27, -84, 1050, -84, -84, - 521, 521, 521, -84, -84, -84, 28, -84, 37, 55, - 19, -84, 33, -84, 34, 1210, -84, 16, 1210, -84, - -84, 39, 52, -3, -84, -84, -84, -84, -84, -84, + 1349, 60, -84, 153, 43, -1, -84, -84, 152, -84, + -84, -84, -84, 185, 140, -84, -84, -84, -84, -84, + -84, 426, 65, 62, 128, 112, -84, -84, -84, 86, + 241, -84, 212, -84, 1349, -84, -84, 132, -84, 130, + -84, 580, -84, -84, 1269, -84, 45, 56, 59, 42, + 1429, 50, 580, 580, 580, 345, 580, -84, -84, 580, + 580, 580, -84, -84, 25, -84, 580, 580, -84, 46, + 580, -84, 580, 18, 14, -84, -84, -84, 23, -84, + -84, 580, 580, 64, 116, 35, -84, 1109, -84, -84, + 580, 580, 580, -84, -84, -84, 37, -84, 40, 55, + 2, -84, 36, -84, 27, 1349, -84, 15, 1349, -84, + -84, 41, 51, -2, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, 521, - -84, 1050, 125, 521, -84, -84, 155, 521, 189, 521, - 521, 521, 521, 248, 521, 521, 521, 521, 521, 521, - 243, 521, 521, 521, 75, 82, 94, 177, 184, 184, - 184, 184, 263, 283, 298, 521, 44, 521, 77, -84, - 970, 521, 817, -84, -84, -84, 95, 521, -84, -84, - 93, -84, -84, 521, -84, -84, -84, -84, 521, -84, + -84, -84, -84, -84, -84, -84, -84, -84, -84, 580, + -84, 1189, 48, -84, 580, -84, -84, 160, 580, 181, + 580, 580, 580, 580, 221, 580, 580, 580, 580, 580, + 580, 212, 580, 580, 580, 67, 75, 83, 212, 212, + 133, 143, 138, 231, 251, 267, 580, 29, 580, 153, + -84, 1029, 580, 876, -84, -84, -84, 89, 580, -84, + -84, 96, -84, -84, 580, -84, -84, -84, -84, 580, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, 521, 41, 521, 521, 68, 66, 521, -84, - -84, 970, 521, -84, 103, -84, -84, -84, 63, -84, - -84, -84, -84, 69, -84, -84, -84, -84, -27, 12, - 521, 92, 100, -84, -84, 890, -84, 31, -13, -45, - -84, 210, 32, -28, 387, 20, 73, 304, 117, -5, - 521, 212, 521, 521, 521, 521, 213, 521, 521, 521, - 521, 521, 151, 150, 176, 158, 168, 304, 304, 228, - 521, -72, 521, 4, 521, -84, 306, 521, -84, 521, - 8, -50, 521, -48, 1130, -84, 521, 80, 1130, -84, - 521, -33, 521, 521, 5, 48, 521, -84, 17, 88, - 11, -84, -84, 521, -84, -29, 521, -84, -41, 521, - -39, 1130, -84, 521, 87, 1130, -84, -8, -2, -35, - 10, 1210, -16, -84, 1130, -84, 521, 86, 1130, -14, - 1130, -84, -84, 1130, -36, 107, -21, 165, 3, 521, - 1130, 6, 14, 61, 7, -19, 448, -4, -6, 671, - 29, 13, 23, 521, 30, -10, 521, 9, 521, -30, - -18, -84, -84, 164, -84, -84, 46, -84, -84, 521, - 111, -24, -84, 36, -84, 40, 99, 521, -84, 21, - 22, -84, -11, -84, 1130, -84, 106, 1130, -84, 178, - -84, -84, 98, 1130, 57, -84, 56, 60, -84, 51, - 26, 35, -84, -84, -84, -84, 521, 97, 1130, -84, - 521, 90, 1130, -84, 79, 76, 744, -84, 49, -84, - 594, -84, -84, -84, -84, -84, 83, -84, -84, -84, - -84, -84, -84, -84, 42, -84, 162, -84, -84, 521, - -84, -84, 53, -84, -84, + -84, -84, -84, 580, 26, 580, 580, 66, 73, 580, + -84, -84, 1029, 580, -84, 95, -84, -84, -84, 58, + -84, -84, -84, -84, 68, -84, -84, -84, -84, -29, + 10, 580, 93, 77, -84, -84, 949, -84, 32, -16, + -42, -84, 195, 21, -37, 507, 28, 71, 273, 119, + -3, 580, 197, 580, 580, 580, 580, 273, 580, 580, + 580, 580, 580, 212, 212, 212, 212, 212, 273, 273, + 273, 580, -74, 580, 4, 580, -84, 298, 580, -84, + 580, 3, -53, 580, -41, 1269, -84, 580, 80, 1269, + -84, 580, -31, 580, 580, 5, 70, 580, -84, 19, + 88, 12, -84, -84, 580, -84, -28, 580, -84, -40, + 580, -23, 1269, -84, 580, 87, 1269, -84, -8, -6, + -35, 9, 1349, -14, -84, 1269, -84, 580, 82, 1269, + -12, 1269, -84, -84, 1269, -39, 123, -19, 149, 8, + 580, 1269, 7, 13, 63, 6, -18, 371, -7, -4, + 730, 33, 11, 24, 580, 31, -13, 580, 22, 580, + -27, -30, -84, -84, 162, -84, -84, 47, -84, -84, + 580, 114, -21, -84, 34, -84, 30, 100, 580, -84, + 17, 20, -84, -11, -84, 1269, -84, 124, 1269, -84, + 174, -84, -84, 107, 1269, 52, -84, 57, 61, -84, + 53, 16, 38, -84, -84, -84, -84, 580, 106, 1269, + -84, 580, 90, 1269, -84, 79, 76, 803, -84, 49, + -84, 653, -84, -84, -84, -84, -84, 81, -84, -84, + -84, -84, -84, -84, -84, 39, -84, 172, -84, -84, + 580, -84, -84, 54, -84, -84, -61, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -4, -88, -88, 22, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -51, -88, -88, -88, -88, -88, - -88, 105, -88, -88, -12, -88, -88, -88, -88, -88, - -7, -88, 35, 132, 62, 154, 79, -88, -88, 100, - 75, 36, -88, -88, -88, -88, 37, 70, -88, -1, - 86, -88, 92, -88, -88, -88, -88, -88, -88, -88, - -88, 90, 95, -88, -88, -88, -88, -88, -88, -88, - 87, 82, 74, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -47, -88, + -88, -5, -88, -88, 28, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -53, -88, -88, -88, -88, -88, + -88, 109, -88, -88, -16, -88, -88, -88, -88, -88, + -8, -88, 33, 135, 66, 79, 81, -88, -88, 104, + 78, 34, -88, -88, -88, -88, 35, 146, -88, -3, + 88, -88, 94, -88, -88, -88, -88, -88, -88, -88, + -88, 92, 97, -88, -88, -88, -88, -88, -88, -88, + 89, 84, 77, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -88, -48, -88, + -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -88, -88, 27, + -88, 26, -88, -88, 18, -88, -88, -88, 41, -88, + 38, 51, 110, 61, -88, 69, 60, 53, 54, 93, + 125, -88, 124, 129, 122, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, 120, -88, 52, -88, + -88, 16, 17, 15, -88, -88, -88, -88, 20, -88, + -88, -88, -88, -88, 23, -88, -88, -88, -88, 37, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, 28, - -88, 20, -88, 19, -88, -88, -88, 39, -88, 42, - 43, 106, 61, -88, 63, 55, 52, 53, 91, 125, - -88, 120, 123, 118, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, 116, -88, 59, -88, -88, - 16, 18, 15, -88, -88, -88, -88, 21, -88, -88, - -88, -88, -88, 24, -88, -88, -88, -88, 38, -88, + -88, -88, -88, 99, -88, 103, 24, -88, -88, 25, + -88, -88, 115, 14, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, 97, -88, 115, 25, -88, -88, 26, -88, - -88, 111, 14, -88, -88, -88, -88, -88, -88, -88, + -88, 22, -88, -88, -88, -88, 112, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - 23, -88, -88, -88, -88, 108, -88, -88, -88, -88, + -88, 153, -88, 169, 168, 216, 179, -88, 131, 50, + 42, 70, 82, -88, -88, -88, -88, -88, -88, -88, + -88, 177, -88, 154, -88, 142, -88, -88, 144, -88, + 127, -88, -88, 126, -88, -24, -88, 46, -88, 29, + -88, 152, -88, 155, 156, -88, -88, 180, -88, -88, + -88, -88, -88, -88, 183, -88, -22, 139, -88, -88, + 47, -88, 3, -88, 43, -88, 2, -88, -88, -34, + -88, -88, -31, -88, -88, 12, -88, 45, -88, 19, + -88, 21, -88, -88, 13, -88, -88, -88, -88, -88, + 121, 9, -88, -88, -88, -88, -88, 108, -88, -88, + 0, -88, -88, -88, 6, -88, -35, 138, -88, 141, + -88, -88, -88, -88, 1, -88, -88, -88, -88, -88, + -6, -88, -88, -88, -88, -88, -69, -88, 10, -88, + -60, -88, -88, -88, -88, 91, -88, -88, 58, -88, + -88, -88, -88, -88, -41, -59, -88, -88, -29, -88, + -88, -88, -45, -88, -88, -88, -88, -1, -88, -43, + -88, 76, -88, -37, -88, -88, -88, 7, -88, 8, + -88, -4, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - 160, -88, 171, 163, 145, 179, -88, 135, 45, 41, - 66, 80, -88, -88, -88, -88, -88, -88, -88, -88, - 172, -88, 156, -88, 142, -88, -88, 144, -88, 122, - -88, -88, 114, -88, -23, -88, 48, -88, 29, -88, - 224, -88, 157, 175, -88, -88, 182, -88, -88, -88, - -88, -88, -88, 183, -88, -21, 134, -88, -88, 49, - -88, 3, -88, 44, -88, 2, -88, -88, -37, -88, - -88, -31, -88, -88, 10, -88, 47, -88, 17, -88, - 27, -88, -88, 13, -88, -88, -88, -88, -88, 117, - 6, -88, -88, -88, -88, -88, 154, -88, -88, 1, - -88, -88, -88, 7, -88, -35, 137, -88, 141, -88, - -88, -88, -88, -6, -88, -88, -88, -88, -88, 78, - -88, -88, -88, -88, -88, -69, -88, 11, -88, -59, - -88, -88, -88, -88, 83, -88, -88, 56, -88, -88, - -88, -88, -88, -40, -58, -88, -88, -29, -88, -88, - -88, -45, -88, -88, -88, -88, -3, -88, -42, -88, - -5, -88, -32, -88, -88, -88, 9, -88, 8, -88, - -2, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, 12, - -88, -88, -56, -88, -88}; + 11, -88, -88, -56, -88, -88}; const short QScriptGrammar::action_info [] = { - 318, -25, 350, -45, 292, 270, 426, 310, -194, 393, - -32, 302, 304, -37, 344, 290, 197, 346, 430, 382, - 329, 331, 310, 413, 318, 340, 397, 101, 338, 404, - -49, 292, 270, 299, 323, 290, -24, -51, -195, 343, - 294, 397, 333, 341, 403, 397, 149, 249, 250, 389, - 255, 430, 155, 454, 426, 316, 97, 437, 437, 459, - 151, 389, 103, 102, 98, 344, 101, 105, 413, 222, - 222, 109, 157, 228, 346, 187, 413, 417, 157, 104, - 420, 255, 454, 337, 443, 236, 421, 438, 197, 185, - 97, 197, 419, 413, 197, 197, 325, -263, 197, 81, - 197, 203, 0, 197, 416, 197, 88, 388, 387, 400, - 82, 197, 224, 407, 197, 81, 225, 89, 417, 197, - 187, 90, 81, 312, 241, 240, 82, 313, 0, 0, - 246, 245, 153, 82, 81, 439, 238, 231, 197, 0, - 308, 243, 171, 447, 172, 82, 348, 335, 238, 326, - 432, 198, 252, 204, 401, 173, 232, 428, 192, 235, - 0, 254, 253, 190, 0, 90, 91, 90, 239, 237, - 462, 391, 92, 244, 242, 171, 171, 172, 172, 231, - 239, 237, 191, 171, 192, 172, 197, 0, 173, 173, - 0, 207, 206, 171, 243, 172, 173, 0, 232, 0, - 192, 171, 171, 172, 172, 0, 173, 159, 160, 171, - 91, 172, 91, 0, 173, 173, 92, 0, 92, 159, - 160, 0, 173, 463, 461, 0, 244, 242, 272, 273, - 272, 273, 0, 0, 161, 162, 277, 278, 0, 411, - 410, 0, 0, 0, 0, 279, 161, 162, 280, 0, - 281, 277, 278, 0, 0, 274, 275, 274, 275, 0, - 279, 0, 0, 280, 0, 281, 0, 0, 171, 0, - 172, 164, 165, 0, 0, 0, 0, 0, 0, 166, - 167, 173, 0, 168, 0, 169, 164, 165, 0, 0, - 0, 0, 0, 0, 166, 167, 164, 165, 168, 0, - 169, 0, 0, 0, 166, 167, 164, 165, 168, 209, - 169, 0, 0, 0, 166, 167, 0, 0, 168, 210, - 169, 164, 165, 211, 0, 0, 0, 277, 278, 166, - 167, 0, 212, 168, 213, 169, 279, 0, 0, 280, - 0, 281, 0, 0, 0, 214, 209, 215, 88, 0, - 0, 0, 0, 0, 0, 216, 210, 0, 217, 89, - 211, 0, 0, 0, 218, 0, 0, 0, 0, 212, - 219, 213, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 214, 220, 215, 88, 0, 0, 42, 43, - 209, 0, 216, 0, 0, 217, 89, 0, 85, 0, - 210, 218, 0, 0, 211, 86, 0, 219, 0, 87, - 51, 0, 52, 212, 0, 213, 0, 0, 306, 55, - 220, 0, 0, 58, 0, 0, 214, 0, 215, 88, - 0, 0, 0, 0, 0, 0, 216, 0, 0, 217, - 89, 63, 0, 65, 0, 218, 0, 0, 0, 0, - 0, 219, 0, 0, 57, 68, 45, 0, 0, 0, - 42, 43, 0, 0, 220, 0, 0, 0, 0, 0, - 85, 0, 0, 0, 0, 0, 0, 86, 0, 0, - 0, 87, 51, 0, 52, 0, 0, 0, 0, 0, - 0, 55, 0, 0, 0, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 65, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 57, 68, 45, 0, - 0, 0, 41, 42, 43, 0, 0, 0, 0, 0, - 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, + -46, 319, 293, -26, 351, 271, 431, 311, 303, 427, + -195, 198, 394, 345, -38, -33, 383, 291, 347, 305, + 414, 330, 398, 101, 300, 341, 319, 405, 339, 295, + 311, -50, 291, 271, 293, 398, 324, 332, -52, 398, + -25, 344, 342, 334, 404, 250, 251, 390, 149, 256, + 431, -196, 455, 156, 427, 154, 460, 438, 438, 151, + 105, 390, 104, 102, 97, 103, 345, 223, 223, 101, + 109, 414, 418, 98, 186, 188, 422, 317, 347, 414, + 229, 256, 421, 455, 444, 338, 237, 439, 198, 198, + 198, 186, 97, 420, 414, 198, 326, 198, 198, -264, + 81, 198, 0, 198, 204, 188, 88, 81, 389, 388, + 401, 82, 225, 417, 198, 81, 226, 89, 82, 242, + 241, 313, 198, 81, 90, 314, 82, 418, 90, 247, + 246, 408, 198, 0, 82, 440, 0, 0, 255, 254, + 309, 448, 349, 232, 172, 199, 173, 336, 198, 327, + 433, 236, 239, 253, 158, 402, 205, 174, 172, 244, + 173, 239, 233, 172, 193, 173, 429, 191, 172, 91, + 173, 174, 90, 91, 392, 92, 174, 232, 244, 92, + 463, 174, 198, 0, 240, 238, 192, 0, 193, 0, + 0, 245, 243, 240, 238, 0, 233, 0, 193, 160, + 161, 208, 207, 160, 161, 0, 0, 0, 0, 0, + 245, 243, 0, 273, 274, 273, 274, 91, 0, 0, + 0, 0, 0, 92, 0, 0, 162, 163, 0, 0, + 162, 163, 0, 464, 462, 412, 411, 172, 0, 173, + 275, 276, 275, 276, 165, 166, 0, 0, 0, 0, + 174, 0, 167, 168, 165, 166, 169, 0, 170, 0, + 0, 0, 167, 168, 165, 166, 169, 0, 170, 0, + 0, 0, 167, 168, 165, 166, 169, 0, 170, 0, + 0, 0, 167, 168, 0, 0, 169, 0, 170, 0, + 165, 166, 0, 0, 0, 0, 278, 279, 167, 168, + 0, 210, 169, 0, 170, 280, 0, 0, 281, 0, + 282, 211, 0, 0, 0, 212, 0, 0, 0, 0, + 0, 0, 0, 0, 213, 0, 214, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 215, 0, 216, + 88, 0, 0, 0, 0, 0, 0, 217, 0, 0, + 218, 89, 0, 0, 0, 0, 219, 42, 43, 0, + 0, 0, 220, 0, 0, 0, 0, 85, 0, 0, + 0, 0, 0, 0, 86, 221, 0, 0, 87, 51, + 0, 52, 0, 42, 43, 0, 0, 0, 55, 0, + 0, 0, 58, 85, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 87, 51, 0, 52, 0, 0, - 0, 53, 0, 54, 55, 56, 0, 0, 58, 0, - 0, 0, 59, 0, 60, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 63, 0, 65, 0, - 67, 0, 70, 0, 72, 0, 0, 0, 0, 57, - 68, 45, 0, 0, 0, 41, 42, 43, 0, 0, - 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, - 0, 0, 0, 86, 0, 0, 0, 87, 51, 0, - 52, 0, 0, 0, 53, 0, 54, 55, 56, 0, - 0, 58, 0, 0, 0, 59, 0, 60, 0, 0, - 442, 0, 0, 0, 0, 0, 0, 0, 0, 63, - 0, 65, 0, 67, 0, 70, 0, 72, 0, 0, - 0, 0, 57, 68, 45, 0, 0, 0, -47, 0, - 0, 0, 41, 42, 43, 0, 0, 0, 0, 0, - 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, - 86, 0, 0, 0, 87, 51, 0, 52, 0, 0, - 0, 53, 0, 54, 55, 56, 0, 0, 58, 0, - 0, 0, 59, 0, 60, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 63, 0, 65, 0, - 67, 0, 70, 0, 72, 0, 0, 0, 0, 57, - 68, 45, 0, 0, 0, 41, 42, 43, 0, 0, - 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, - 0, 0, 0, 86, 0, 0, 0, 87, 51, 0, - 52, 0, 0, 0, 53, 0, 54, 55, 56, 0, - 0, 58, 0, 0, 0, 59, 0, 60, 0, 0, - 445, 0, 0, 0, 0, 0, 0, 0, 0, 63, - 0, 65, 0, 67, 0, 70, 0, 72, 0, 0, - 0, 0, 57, 68, 45, 0, 0, 0, 41, 42, - 43, 0, 0, 0, 0, 0, 0, 0, 0, 85, - 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, - 87, 51, 0, 52, 0, 0, 0, 53, 0, 54, - 55, 56, 0, 0, 58, 0, 0, 0, 59, 0, - 60, 0, 0, 0, 0, 0, 0, 202, 0, 0, - 0, 0, 63, 0, 65, 0, 67, 0, 70, 0, - 72, 0, 0, 0, 0, 57, 68, 45, 0, 0, + 63, 0, 65, 0, 55, 0, 0, 0, 58, 0, + 0, 0, 0, 57, 68, 45, 0, 0, 0, 210, + 0, 0, 0, 0, 0, 0, 63, 0, 65, 211, + 0, 0, 0, 212, 0, 0, 0, 0, 0, 57, + 68, 45, 213, 0, 214, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 215, 0, 216, 88, 0, + 0, 0, 0, 0, 0, 217, 0, 0, 218, 89, + 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, + 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, + 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 211, 0, 0, 0, 212, 0, 0, 0, 0, 0, + 0, 0, 0, 213, 0, 214, 0, 0, 307, 0, + 0, 0, 0, 0, 0, 0, 215, 0, 216, 88, + 0, 0, 0, 0, 0, 0, 217, 0, 0, 218, + 89, 0, 0, 0, 0, 219, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 41, 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 87, 51, 0, 52, 0, 0, 0, 53, 0, 54, 55, 56, 0, 0, 58, 0, 0, 0, 59, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 65, 0, 67, - 0, 70, 269, 72, 0, 0, 0, 0, 57, 68, - 45, 0, 0, 0, 115, 116, 117, 0, 0, 119, - 121, 122, 0, 0, 123, 0, 124, 0, 0, 0, - 126, 127, 128, 0, 0, 0, 0, 0, 0, 195, - 130, 131, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, - 0, 0, 0, 0, 0, 0, 139, 140, 141, 0, - 143, 144, 145, 146, 147, 148, 0, 0, 134, 142, - 125, 118, 120, 136, 115, 116, 117, 0, 0, 119, - 121, 122, 0, 0, 123, 0, 124, 0, 0, 0, - 126, 127, 128, 0, 0, 0, 0, 0, 0, 129, - 130, 131, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 133, 0, 0, 0, 135, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, - 0, 0, 0, 0, 0, 138, 139, 140, 141, 0, - 143, 144, 145, 146, 147, 148, 0, 0, 134, 142, - 125, 118, 120, 136, 37, 0, 0, 0, 0, 39, - 0, 41, 42, 43, 44, 0, 0, 0, 0, 0, - 0, 46, 85, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 50, 51, 0, 52, 0, 0, 0, - 53, 0, 54, 55, 56, 0, 0, 58, 0, 0, - 0, 59, 0, 60, 0, 0, 0, 0, 0, 61, - 0, 62, 0, 0, 0, 63, 64, 65, 66, 67, - 69, 70, 71, 72, 73, 74, 0, 0, 57, 68, - 45, 38, 40, 0, 37, 0, 0, 0, 0, 39, - 0, 41, 42, 43, 44, 0, 0, 0, 0, 0, - 0, 46, 47, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 50, 51, 0, 52, 0, 0, 0, + 0, 70, 0, 72, 0, 0, 0, 0, 57, 68, + 45, 0, 0, 0, 41, 42, 43, 0, 0, 0, + 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, + 0, 0, 86, 0, 0, 0, 87, 51, 0, 52, + 0, 0, 0, 53, 0, 54, 55, 56, 0, 0, + 58, 0, 0, 0, 59, 0, 60, 0, 0, 443, + 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, + 65, 0, 67, 0, 70, 0, 72, 0, 0, 0, + 0, 57, 68, 45, 0, 0, 0, -48, 0, 0, + 0, 41, 42, 43, 0, 0, 0, 0, 0, 0, + 0, 0, 85, 0, 0, 0, 0, 0, 0, 86, + 0, 0, 0, 87, 51, 0, 52, 0, 0, 0, 53, 0, 54, 55, 56, 0, 0, 58, 0, 0, - 0, 59, 0, 60, 0, 0, 0, 0, 0, 61, - 0, 62, 0, 0, 0, 63, 64, 65, 66, 67, - 69, 70, 71, 72, 73, 74, 0, 0, 57, 68, - 45, 38, 40, 0, 355, 116, 117, 0, 0, 357, - 121, 359, 42, 43, 360, 0, 124, 0, 0, 0, - 126, 362, 363, 0, 0, 0, 0, 0, 0, 364, - 365, 131, 132, 50, 51, 0, 52, 0, 0, 0, - 53, 0, 54, 366, 56, 0, 0, 368, 0, 0, - 0, 59, 0, 60, 0, -190, 0, 0, 0, 369, - 0, 62, 0, 0, 0, 370, 371, 372, 373, 67, - 375, 376, 377, 378, 379, 380, 0, 0, 367, 374, - 361, 356, 358, 136, - - 431, 422, 427, 429, 441, 352, 300, 398, 385, 464, - 440, 412, 409, 433, 402, 444, 406, 423, 460, 234, - 418, 201, 305, 196, 34, 154, 194, 199, 251, 152, - 205, 227, 229, 248, 150, 110, 230, 208, 352, 110, - 446, 300, 409, 339, 221, 412, 327, 336, 332, 334, - 342, 248, 347, 307, 300, 345, 0, 83, 381, 83, - 83, 83, 349, 83, 284, 158, 163, 182, 283, 0, - 83, 83, 351, 83, 309, 178, 179, 83, 177, 83, - 83, 83, 449, 390, 83, 184, 170, 188, 83, 285, - 453, 330, 83, 83, 95, 452, 0, 83, 83, 450, - 83, 352, 94, 286, 83, 83, 424, 93, 83, 83, - 83, 84, 425, 83, 180, 83, 156, 408, 83, 300, - 451, 194, 233, 83, 83, 247, 264, 300, 352, 223, - 183, 268, 0, 83, 83, 83, 83, 247, 83, 300, - 176, 83, 174, 83, 405, 175, 186, 0, 181, 226, - 83, 0, 448, 83, 0, 83, 303, 424, 282, 83, - 296, 425, 296, 83, 301, 268, 383, 268, 268, 384, - 288, 0, 0, 0, 83, 83, 328, 0, 83, 268, - 268, 83, 295, 268, 298, 293, 268, 271, 287, 83, - 83, 0, 314, 296, 268, 268, 276, 83, 268, 0, - 296, 296, 268, 291, 289, 268, 268, 0, 0, 0, - 0, 0, 0, 0, 0, 315, 0, 0, 0, 0, - 0, 0, 317, 324, 0, 0, 0, 0, 0, 0, + 0, 59, 0, 60, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 63, 0, 65, 0, 67, + 0, 70, 0, 72, 0, 0, 0, 0, 57, 68, + 45, 0, 0, 0, 41, 42, 43, 0, 0, 0, + 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, + 0, 0, 86, 0, 0, 0, 87, 51, 0, 52, + 0, 0, 0, 53, 0, 54, 55, 56, 0, 0, + 58, 0, 0, 0, 59, 0, 60, 0, 0, 446, + 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, + 65, 0, 67, 0, 70, 0, 72, 0, 0, 0, + 0, 57, 68, 45, 0, 0, 0, 41, 42, 43, + 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, + 0, 0, 0, 0, 0, 86, 0, 0, 0, 87, + 51, 0, 52, 0, 0, 0, 53, 0, 54, 55, + 56, 0, 0, 58, 0, 0, 0, 59, 0, 60, + 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, + 0, 63, 0, 65, 0, 67, 0, 70, 0, 72, + 0, 0, 0, 0, 57, 68, 45, 0, 0, 0, + 41, 42, 43, 0, 0, 0, 0, 0, 0, 0, + 0, 85, 0, 0, 0, 0, 0, 0, 86, 0, + 0, 0, 87, 51, 0, 52, 0, 0, 0, 53, + 0, 54, 55, 56, 0, 0, 58, 0, 0, 0, + 59, 0, 60, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 63, 0, 65, 0, 67, 0, + 70, 270, 72, 0, 0, 0, 0, 57, 68, 45, + 0, 0, 0, 115, 116, 117, 0, 0, 119, 121, + 122, 0, 0, 123, 0, 124, 0, 0, 0, 126, + 127, 128, 0, 0, 0, 0, 0, 0, 196, 130, + 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, + 0, 0, 0, 0, 0, 139, 140, 141, 0, 143, + 144, 145, 146, 147, 148, 0, 0, 134, 142, 125, + 118, 120, 136, 115, 116, 117, 0, 0, 119, 121, + 122, 0, 0, 123, 0, 124, 0, 0, 0, 126, + 127, 128, 0, 0, 0, 0, 0, 0, 129, 130, + 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 0, 0, 0, 135, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, + 0, 0, 0, 0, 138, 139, 140, 141, 0, 143, + 144, 145, 146, 147, 148, 0, 0, 134, 142, 125, + 118, 120, 136, 115, 116, 117, 0, 0, 119, 121, + 122, 0, 0, 123, 0, 124, 0, 0, 0, 126, + 127, 128, 0, 0, 0, 0, 0, 0, 129, 130, + 131, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 133, 0, 0, 0, 135, 0, 0, 0, + 0, 0, 0, 0, 153, 0, 0, 0, 137, 0, + 0, 0, 0, 0, 138, 139, 140, 141, 0, 143, + 144, 145, 146, 147, 148, 0, 0, 134, 142, 125, + 118, 120, 136, 37, 0, 0, 0, 0, 39, 0, + 41, 42, 43, 44, 0, 0, 0, 0, 0, 0, + 46, 85, 0, 0, 0, 0, 0, 0, 48, 49, + 0, 0, 50, 51, 0, 52, 0, 0, 0, 53, + 0, 54, 55, 56, 0, 0, 58, 0, 0, 0, + 59, 0, 60, 0, 0, 0, 0, 0, 61, 0, + 62, 0, 0, 0, 63, 64, 65, 66, 67, 69, + 70, 71, 72, 73, 74, 0, 0, 57, 68, 45, + 38, 40, 0, 37, 0, 0, 0, 0, 39, 0, + 41, 42, 43, 44, 0, 0, 0, 0, 0, 0, + 46, 47, 0, 0, 0, 0, 0, 0, 48, 49, + 0, 0, 50, 51, 0, 52, 0, 0, 0, 53, + 0, 54, 55, 56, 0, 0, 58, 0, 0, 0, + 59, 0, 60, 0, 0, 0, 0, 0, 61, 0, + 62, 0, 0, 0, 63, 64, 65, 66, 67, 69, + 70, 71, 72, 73, 74, 0, 0, 57, 68, 45, + 38, 40, 0, 356, 116, 117, 0, 0, 358, 121, + 360, 42, 43, 361, 0, 124, 0, 0, 0, 126, + 363, 364, 0, 0, 0, 0, 0, 0, 365, 366, + 131, 132, 50, 51, 0, 52, 0, 0, 0, 53, + 0, 54, 367, 56, 0, 0, 369, 0, 0, 0, + 59, 0, 60, 0, -191, 0, 0, 0, 370, 0, + 62, 0, 0, 0, 371, 372, 373, 374, 67, 376, + 377, 378, 379, 380, 381, 0, 0, 368, 375, 362, + 357, 359, 136, + + 391, 423, 430, 442, 353, 428, 301, 399, 434, 465, + 441, 413, 410, 403, 445, 386, 407, 424, 461, 419, + 235, 306, 202, 197, 34, 155, 195, 200, 252, 249, + 206, 228, 230, 110, 150, 152, 209, 353, 110, 447, + 301, 410, 231, 413, 222, 328, 340, 337, 333, 335, + 343, 348, 308, 301, 249, 0, 83, 346, 382, 83, + 83, 0, 164, 0, 350, 285, 352, 159, 83, 83, + 83, 83, 83, 284, 310, 183, 179, 180, 83, 83, + 189, 0, 432, 178, 83, 185, 450, 83, 83, 331, + 0, 384, 171, 286, 385, 83, 83, 95, 453, 83, + 83, 451, 83, 353, 94, 287, 83, 83, 425, 93, + 83, 83, 83, 84, 426, 83, 181, 83, 157, 409, + 384, 83, 83, 385, 452, 195, 234, 83, 83, 248, + 265, 224, 301, 301, 184, 269, 353, 227, 83, 83, + 83, 248, 83, 83, 177, 301, 175, 83, 182, 83, + 187, 176, 406, 83, 283, 449, 83, 0, 425, 83, + 297, 426, 297, 0, 83, 269, 454, 269, 304, 302, + 83, 83, 83, 83, 297, 269, 269, 269, 269, 269, + 272, 329, 296, 294, 299, 312, 83, 83, 0, 0, + 315, 269, 269, 288, 277, 83, 316, 83, 297, 0, + 269, 297, 269, 269, 290, 0, 269, 0, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 83, 0, 0, 0, 0, 268, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, + 318, 0, 0, 325, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83, 0, 0, 0, 0, 269, + 0, 289, 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 QScriptGrammar::action_check [] = { - 29, 7, 16, 7, 76, 1, 36, 2, 29, 33, - 7, 61, 60, 7, 7, 48, 8, 36, 36, 55, - 61, 60, 2, 33, 29, 60, 5, 29, 36, 7, - 7, 76, 1, 61, 17, 48, 7, 7, 29, 55, - 8, 5, 31, 33, 55, 5, 7, 74, 36, 36, - 36, 36, 55, 29, 36, 7, 29, 8, 8, 17, - 8, 36, 29, 8, 36, 7, 29, 33, 33, 2, - 2, 55, 1, 7, 36, 76, 33, 20, 1, 60, - 29, 36, 29, 29, 8, 0, 60, 8, 8, 48, - 29, 8, 36, 33, 8, 8, 8, 36, 8, 40, - 8, 8, -1, 8, 6, 8, 42, 61, 62, 10, - 51, 8, 50, 7, 8, 40, 54, 53, 20, 8, - 76, 12, 40, 50, 61, 62, 51, 54, -1, -1, - 61, 62, 7, 51, 40, 56, 29, 15, 8, -1, - 60, 29, 25, 60, 27, 51, 60, 60, 29, 61, - 60, 56, 60, 60, 55, 38, 34, 60, 36, 56, - -1, 61, 62, 15, -1, 12, 57, 12, 61, 62, - 8, 60, 63, 61, 62, 25, 25, 27, 27, 15, - 61, 62, 34, 25, 36, 27, 8, -1, 38, 38, - -1, 61, 62, 25, 29, 27, 38, -1, 34, -1, - 36, 25, 25, 27, 27, -1, 38, 18, 19, 25, - 57, 27, 57, -1, 38, 38, 63, -1, 63, 18, - 19, -1, 38, 61, 62, -1, 61, 62, 18, 19, - 18, 19, -1, -1, 45, 46, 23, 24, -1, 61, - 62, -1, -1, -1, -1, 32, 45, 46, 35, -1, - 37, 23, 24, -1, -1, 45, 46, 45, 46, -1, - 32, -1, -1, 35, -1, 37, -1, -1, 25, -1, - 27, 23, 24, -1, -1, -1, -1, -1, -1, 31, - 32, 38, -1, 35, -1, 37, 23, 24, -1, -1, - -1, -1, -1, -1, 31, 32, 23, 24, 35, -1, - 37, -1, -1, -1, 31, 32, 23, 24, 35, 3, - 37, -1, -1, -1, 31, 32, -1, -1, 35, 13, - 37, 23, 24, 17, -1, -1, -1, 23, 24, 31, - 32, -1, 26, 35, 28, 37, 32, -1, -1, 35, - -1, 37, -1, -1, -1, 39, 3, 41, 42, -1, - -1, -1, -1, -1, -1, 49, 13, -1, 52, 53, - 17, -1, -1, -1, 58, -1, -1, -1, -1, 26, - 64, 28, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 39, 77, 41, 42, -1, -1, 12, 13, - 3, -1, 49, -1, -1, 52, 53, -1, 22, -1, - 13, 58, -1, -1, 17, 29, -1, 64, -1, 33, - 34, -1, 36, 26, -1, 28, -1, -1, 31, 43, - 77, -1, -1, 47, -1, -1, 39, -1, 41, 42, - -1, -1, -1, -1, -1, -1, 49, -1, -1, 52, - 53, 65, -1, 67, -1, 58, -1, -1, -1, -1, - -1, 64, -1, -1, 78, 79, 80, -1, -1, -1, - 12, 13, -1, -1, 77, -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, -1, 67, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, - -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, - -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, - 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, - -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, - -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 65, -1, 67, -1, - 69, -1, 71, -1, 73, -1, -1, -1, -1, 78, - 79, 80, -1, -1, -1, 11, 12, 13, -1, -1, - -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, - -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, - 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, - -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, - 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, - -1, 67, -1, 69, -1, 71, -1, 73, -1, -1, - -1, -1, 78, 79, 80, -1, -1, -1, 7, -1, - -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, - -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, + 7, 29, 76, 7, 16, 1, 36, 2, 61, 36, + 29, 8, 33, 7, 7, 7, 55, 48, 36, 60, + 33, 61, 5, 29, 61, 60, 29, 7, 36, 8, + 2, 7, 48, 1, 76, 5, 17, 60, 7, 5, + 7, 55, 33, 31, 55, 74, 36, 36, 7, 36, + 36, 29, 29, 55, 36, 7, 17, 8, 8, 8, + 33, 36, 60, 8, 29, 29, 7, 2, 2, 29, + 55, 33, 20, 36, 48, 76, 60, 7, 36, 33, + 7, 36, 29, 29, 8, 29, 0, 8, 8, 8, + 8, 48, 29, 36, 33, 8, 8, 8, 8, 36, + 40, 8, -1, 8, 8, 76, 42, 40, 61, 62, + 10, 51, 50, 6, 8, 40, 54, 53, 51, 61, + 62, 50, 8, 40, 12, 54, 51, 20, 12, 61, + 62, 7, 8, -1, 51, 56, -1, -1, 61, 62, + 60, 60, 60, 15, 25, 56, 27, 60, 8, 61, + 60, 56, 29, 60, 1, 55, 60, 38, 25, 29, + 27, 29, 34, 25, 36, 27, 60, 15, 25, 57, + 27, 38, 12, 57, 60, 63, 38, 15, 29, 63, + 8, 38, 8, -1, 61, 62, 34, -1, 36, -1, + -1, 61, 62, 61, 62, -1, 34, -1, 36, 18, + 19, 61, 62, 18, 19, -1, -1, -1, -1, -1, + 61, 62, -1, 18, 19, 18, 19, 57, -1, -1, + -1, -1, -1, 63, -1, -1, 45, 46, -1, -1, + 45, 46, -1, 61, 62, 61, 62, 25, -1, 27, + 45, 46, 45, 46, 23, 24, -1, -1, -1, -1, + 38, -1, 31, 32, 23, 24, 35, -1, 37, -1, + -1, -1, 31, 32, 23, 24, 35, -1, 37, -1, + -1, -1, 31, 32, 23, 24, 35, -1, 37, -1, + -1, -1, 31, 32, -1, -1, 35, -1, 37, -1, + 23, 24, -1, -1, -1, -1, 23, 24, 31, 32, + -1, 3, 35, -1, 37, 32, -1, -1, 35, -1, + 37, 13, -1, -1, -1, 17, -1, -1, -1, -1, + -1, -1, -1, -1, 26, -1, 28, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 39, -1, 41, + 42, -1, -1, -1, -1, -1, -1, 49, -1, -1, + 52, 53, -1, -1, -1, -1, 58, 12, 13, -1, + -1, -1, 64, -1, -1, -1, -1, 22, -1, -1, + -1, -1, -1, -1, 29, 77, -1, -1, 33, 34, + -1, 36, -1, 12, 13, -1, -1, -1, 43, -1, + -1, -1, 47, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, - -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, - -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 65, -1, 67, -1, - 69, -1, 71, -1, 73, -1, -1, -1, -1, 78, - 79, 80, -1, -1, -1, 11, 12, 13, -1, -1, - -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, - -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, - 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, - -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, - 56, -1, -1, -1, -1, -1, -1, -1, -1, 65, - -1, 67, -1, 69, -1, 71, -1, 73, -1, -1, - -1, -1, 78, 79, 80, -1, -1, -1, 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, 60, -1, -1, - -1, -1, 65, -1, 67, -1, 69, -1, 71, -1, - 73, -1, -1, -1, -1, 78, 79, 80, -1, -1, + 65, -1, 67, -1, 43, -1, -1, -1, 47, -1, + -1, -1, -1, 78, 79, 80, -1, -1, -1, 3, + -1, -1, -1, -1, -1, -1, 65, -1, 67, 13, + -1, -1, -1, 17, -1, -1, -1, -1, -1, 78, + 79, 80, 26, -1, 28, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 39, -1, 41, 42, -1, + -1, -1, -1, -1, -1, 49, -1, -1, 52, 53, + -1, -1, -1, -1, 58, -1, -1, -1, -1, -1, + 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 77, -1, -1, -1, -1, -1, -1, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 13, -1, -1, -1, 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, -1, -1, -1, -1, -1, 49, -1, -1, 52, + 53, -1, -1, -1, -1, 58, -1, -1, -1, -1, + -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 77, -1, -1, -1, -1, -1, -1, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, 67, -1, 69, - -1, 71, 72, 73, -1, -1, -1, -1, 78, 79, - 80, -1, -1, -1, 4, 5, 6, -1, -1, 9, - 10, 11, -1, -1, 14, -1, 16, -1, -1, -1, - 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 43, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - -1, -1, -1, -1, -1, -1, 66, 67, 68, -1, - 70, 71, 72, 73, 74, 75, -1, -1, 78, 79, - 80, 81, 82, 83, 4, 5, 6, -1, -1, 9, - 10, 11, -1, -1, 14, -1, 16, -1, -1, -1, - 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, 31, 32, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 43, -1, -1, -1, 47, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - -1, -1, -1, -1, -1, 65, 66, 67, 68, -1, - 70, 71, 72, 73, 74, 75, -1, -1, 78, 79, - 80, 81, 82, 83, 4, -1, -1, -1, -1, 9, - -1, 11, 12, 13, 14, -1, -1, -1, -1, -1, - -1, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, -1, -1, 33, 34, -1, 36, -1, -1, -1, - 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, - -1, 51, -1, 53, -1, -1, -1, -1, -1, 59, - -1, 61, -1, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, -1, -1, 78, 79, - 80, 81, 82, -1, 4, -1, -1, -1, -1, 9, - -1, 11, 12, 13, 14, -1, -1, -1, -1, -1, - -1, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, -1, -1, 33, 34, -1, 36, -1, -1, -1, - 40, -1, 42, 43, 44, -1, -1, 47, -1, -1, - -1, 51, -1, 53, -1, -1, -1, -1, -1, 59, - -1, 61, -1, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, -1, -1, 78, 79, - 80, 81, 82, -1, 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, + -1, 71, -1, 73, -1, -1, -1, -1, 78, 79, + 80, -1, -1, -1, 11, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, + -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, + -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, + 47, -1, -1, -1, 51, -1, 53, -1, -1, 56, + -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, + 67, -1, 69, -1, 71, -1, 73, -1, -1, -1, + -1, 78, 79, 80, -1, -1, -1, 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, 55, -1, -1, -1, 59, - -1, 61, -1, -1, -1, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, -1, -1, 78, 79, - 80, 81, 82, 83, - - 5, 46, 5, 45, 6, 45, 5, 76, 14, 65, - 2, 46, 5, 45, 73, 6, 5, 46, 6, 5, - 78, 6, 45, 5, 85, 6, 10, 6, 5, 9, - 6, 6, 6, 45, 6, 86, 14, 41, 45, 86, - 5, 5, 5, 80, 6, 46, 67, 45, 45, 5, - 81, 45, 5, 5, 5, 45, -1, 18, 45, 18, - 18, 18, 45, 18, 23, 26, 24, 24, 23, -1, - 18, 18, 45, 18, 45, 23, 23, 18, 23, 18, - 18, 18, 20, 5, 18, 24, 23, 28, 18, 23, - 20, 42, 18, 18, 20, 20, -1, 18, 18, 20, - 18, 45, 20, 23, 18, 18, 20, 20, 18, 18, - 18, 21, 20, 18, 23, 18, 21, 61, 18, 5, - 20, 10, 11, 18, 18, 20, 18, 5, 45, 32, - 24, 23, -1, 18, 18, 18, 18, 20, 18, 5, - 22, 18, 22, 18, 61, 22, 30, -1, 23, 34, - 18, -1, 20, 18, -1, 18, 42, 20, 23, 18, - 18, 20, 18, 18, 42, 23, 12, 23, 23, 15, - 25, -1, -1, -1, 18, 18, 42, -1, 18, 23, - 23, 18, 40, 23, 40, 29, 23, 27, 25, 18, - 18, -1, 35, 18, 23, 23, 25, 18, 23, -1, - 18, 18, 23, 31, 25, 23, 23, -1, -1, -1, - -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, - -1, -1, 40, 40, -1, -1, -1, -1, -1, -1, + -1, 51, -1, 53, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 65, -1, 67, -1, 69, + -1, 71, -1, 73, -1, -1, -1, -1, 78, 79, + 80, -1, -1, -1, 11, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, + -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, + -1, -1, -1, 40, -1, 42, 43, 44, -1, -1, + 47, -1, -1, -1, 51, -1, 53, -1, -1, 56, + -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, + 67, -1, 69, -1, 71, -1, 73, -1, -1, -1, + -1, 78, 79, 80, -1, -1, -1, 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, 60, -1, -1, -1, + -1, 65, -1, 67, -1, 69, -1, 71, -1, 73, + -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, + 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, + -1, 22, -1, -1, -1, -1, -1, -1, 29, -1, + -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, + -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, + 51, -1, 53, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 65, -1, 67, -1, 69, -1, + 71, 72, 73, -1, -1, -1, -1, 78, 79, 80, + -1, -1, -1, 4, 5, 6, -1, -1, 9, 10, + 11, -1, -1, 14, -1, 16, -1, -1, -1, 20, + 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, + 31, 32, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, + -1, -1, -1, -1, -1, 66, 67, 68, -1, 70, + 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, + 81, 82, 83, 4, 5, 6, -1, -1, 9, 10, + 11, -1, -1, 14, -1, 16, -1, -1, -1, 20, + 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, + 31, 32, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 43, -1, -1, -1, 47, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, + -1, -1, -1, -1, 65, 66, 67, 68, -1, 70, + 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, + 81, 82, 83, 4, 5, 6, -1, -1, 9, 10, + 11, -1, -1, 14, -1, 16, -1, -1, -1, 20, + 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, + 31, 32, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 43, -1, -1, -1, 47, -1, -1, -1, + -1, -1, -1, -1, 55, -1, -1, -1, 59, -1, + -1, -1, -1, -1, 65, 66, 67, 68, -1, 70, + 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, + 81, 82, 83, 4, -1, -1, -1, -1, 9, -1, + 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, + 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, + -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, + -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, + 51, -1, 53, -1, -1, -1, -1, -1, 59, -1, + 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, + 81, 82, -1, 4, -1, -1, -1, -1, 9, -1, + 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, + 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, + -1, -1, 33, 34, -1, 36, -1, -1, -1, 40, + -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, + 51, -1, 53, -1, -1, -1, -1, -1, 59, -1, + 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, + 81, 82, -1, 4, 5, 6, -1, -1, 9, 10, + 11, 12, 13, 14, -1, 16, -1, -1, -1, 20, + 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, + 31, 32, 33, 34, -1, 36, -1, -1, -1, 40, + -1, 42, 43, 44, -1, -1, 47, -1, -1, -1, + 51, -1, 53, -1, 55, -1, -1, -1, 59, -1, + 61, -1, -1, -1, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, -1, -1, 78, 79, 80, + 81, 82, 83, + + 6, 46, 45, 7, 45, 6, 6, 76, 45, 65, + 2, 46, 6, 73, 7, 14, 6, 46, 7, 78, + 6, 45, 7, 6, 85, 7, 10, 7, 6, 45, + 7, 7, 7, 86, 7, 9, 41, 45, 86, 6, + 6, 6, 14, 46, 7, 67, 80, 45, 45, 6, + 81, 6, 6, 6, 45, -1, 18, 45, 45, 18, + 18, -1, 24, -1, 45, 23, 45, 26, 18, 18, + 18, 18, 18, 23, 45, 24, 23, 23, 18, 18, + 28, -1, 6, 23, 18, 24, 20, 18, 18, 42, + -1, 12, 23, 23, 15, 18, 18, 20, 20, 18, + 18, 20, 18, 45, 20, 23, 18, 18, 20, 20, + 18, 18, 18, 21, 20, 18, 23, 18, 21, 61, + 12, 18, 18, 15, 20, 10, 11, 18, 18, 20, + 18, 32, 6, 6, 24, 23, 45, 34, 18, 18, + 18, 20, 18, 18, 22, 6, 22, 18, 23, 18, + 30, 22, 61, 18, 23, 20, 18, -1, 20, 18, + 18, 20, 18, -1, 18, 23, 20, 23, 42, 42, + 18, 18, 18, 18, 18, 23, 23, 23, 23, 23, + 27, 42, 40, 29, 40, 33, 18, 18, -1, -1, + 35, 23, 23, 25, 25, 18, 40, 18, 18, -1, + 23, 18, 23, 23, 25, -1, 23, -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 18, -1, -1, -1, -1, 23, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 33, -1, -1, + 40, -1, -1, 40, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 18, -1, -1, -1, -1, 23, + -1, 25, -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}; #define Q_SCRIPT_REGEXPLITERAL_RULE1 7 @@ -2296,7 +2322,7 @@ case 8: { } } break; -case 66: { +case 67: { QString name = sym(1).toString(); if ((name == QLatin1String("qsTranslate")) || (name == QLatin1String("QT_TRANSLATE_NOOP"))) { if (!sourcetext.isEmpty()) @@ -2365,31 +2391,29 @@ case 66: { } } break; -case 70: { +case 71: { sym(1) = QVariantList(); } break; -case 71: { +case 72: { sym(1) = sym(2); } break; -case 72: { +case 73: { sym(1) = QVariantList() << sym(1); } break; -case 73: { +case 74: { sym(1) = sym(1).toList() << sym(3); } break; -case 94: { +case 95: { if ((sym(1).type() == QVariant::String) || (sym(3).type() == QVariant::String)) sym(1) = sym(1).toString() + sym(3).toString(); else sym(1) = QVariant(); } break; - case 171: - case 172: case 173: @@ -2417,6 +2441,8 @@ case 94: { case 184: case 185: + + case 186: if (!sourcetext.isEmpty() || !extracomment.isEmpty() || !msgid.isEmpty() || !extra.isEmpty()) { yyMsg() << qPrintable(LU::tr("Discarding unconsumed meta data\n")); sourcetext.clear(); diff --git a/src/linguist/lupdate/qscript.g b/src/linguist/lupdate/qscript.g index 810a41f4d86bbbc277a4933f29d503d3073231e4..2c275cd1754263e137f96ffae1f6bb0b205c9610 100644 --- a/src/linguist/lupdate/qscript.g +++ b/src/linguist/lupdate/qscript.g @@ -1641,6 +1641,7 @@ PrimaryExpression: T_LBRACKET ElisionOpt T_RBRACKET ; PrimaryExpression: T_LBRACKET ElementList T_RBRACKET ; PrimaryExpression: T_LBRACKET ElementList T_COMMA ElisionOpt T_RBRACKET ; PrimaryExpression: T_LBRACE PropertyNameAndValueListOpt T_RBRACE ; +PrimaryExpression: T_LBRACE PropertyNameAndValueList T_COMMA T_RBRACE ; PrimaryExpression: T_LPAREN Expression T_RPAREN ; ElementList: ElisionOpt AssignmentExpression ; ElementList: ElementList T_COMMA ElisionOpt AssignmentExpression ; diff --git a/tests/auto/linguist/lupdate/testdata/good/parsejs3/main.js b/tests/auto/linguist/lupdate/testdata/good/parsejs3/main.js new file mode 100644 index 0000000000000000000000000000000000000000..8d4a8b50cfbce2b06498a729f67ac416a2448a74 --- /dev/null +++ b/tests/auto/linguist/lupdate/testdata/good/parsejs3/main.js @@ -0,0 +1,40 @@ +({ foo: 123, }) // Trailing comma shouldn't cause syntax error and bailout + +({ foo: qsTr("one") }) + +({ foo: qsTr("two"), }) + +({ foo: qsTranslate("FooContext", "one") }) + +({ foo: qsTranslate("FooContext", "two"), }) + +({ foo: qsTrId("qtn_foo_bar") }) + +({ foo: qsTrId("qtn_bar_baz"), }) + +({ foo: { bar: 123, }, baz: qsTr("three"), }) + +({ foo: { bar: 123, }, baz: qsTranslate("FooContext", "three"), }) + +({ + firstGuy: { + age: 50, + //: First guy first name + firstName: qsTr("Frits"), + //: First guy middle name + middleName: qsTranslate("BarContext", "Joe"), + //% "First guy last name" + lastName: qsTrId("qtn_first_guy_last_name"), + weight: 100, // Uh-oh, trailing comma! + }, + secondGuy: { + age: 70, + //: Second guy first name + firstName: qsTr("Bob"), + //: Second guy middle name + middleName: qsTranslate("BarContext", "Steve"), + //% "Second guy last name" + lastName: qsTrId("qtn_second_guy_last_name"), + weight: 120, // Uh-oh, trailing comma! + }, +}) diff --git a/tests/auto/linguist/lupdate/testdata/good/parsejs3/project.pro b/tests/auto/linguist/lupdate/testdata/good/parsejs3/project.pro new file mode 100644 index 0000000000000000000000000000000000000000..d549039c4b8d8dbbb2631bfed45a4ca8a9451155 --- /dev/null +++ b/tests/auto/linguist/lupdate/testdata/good/parsejs3/project.pro @@ -0,0 +1,3 @@ +SOURCES += main.js + +TRANSLATIONS = project.ts diff --git a/tests/auto/linguist/lupdate/testdata/good/parsejs3/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsejs3/project.ts.result new file mode 100644 index 0000000000000000000000000000000000000000..ac36dbfada4b4d5b0f6dba240c6fb38f9b24a1f9 --- /dev/null +++ b/tests/auto/linguist/lupdate/testdata/good/parsejs3/project.ts.result @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name></name> + <message id="qtn_foo_bar"> + <location filename="main.js" line="11"/> + <source></source> + <translation type="unfinished"></translation> + </message> + <message id="qtn_bar_baz"> + <location filename="main.js" line="13"/> + <source></source> + <translation type="unfinished"></translation> + </message> + <message id="qtn_first_guy_last_name"> + <location filename="main.js" line="27"/> + <source>First guy last name</source> + <translation type="unfinished"></translation> + </message> + <message id="qtn_second_guy_last_name"> + <location filename="main.js" line="37"/> + <source>Second guy last name</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>BarContext</name> + <message> + <location filename="main.js" line="25"/> + <source>Joe</source> + <extracomment>First guy middle name</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.js" line="35"/> + <source>Steve</source> + <extracomment>Second guy middle name</extracomment> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>FooContext</name> + <message> + <location filename="main.js" line="7"/> + <source>one</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.js" line="9"/> + <source>two</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.js" line="17"/> + <source>three</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>main</name> + <message> + <location filename="main.js" line="3"/> + <source>one</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.js" line="5"/> + <source>two</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.js" line="15"/> + <source>three</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.js" line="23"/> + <source>Frits</source> + <extracomment>First guy first name</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.js" line="33"/> + <source>Bob</source> + <extracomment>Second guy first name</extracomment> + <translation type="unfinished"></translation> + </message> +</context> +</TS>