@vituum/vite-plugin-latte 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +2 -2
- package/package.json +10 -11
- package/vendor/autoload.php +19 -1
- package/vendor/bin/latte-lint +16 -4
- package/vendor/composer/ClassLoader.php +72 -65
- package/vendor/composer/InstalledVersions.php +21 -12
- package/vendor/composer/autoload_classmap.php +12 -8
- package/vendor/composer/autoload_namespaces.php +1 -1
- package/vendor/composer/autoload_psr4.php +1 -1
- package/vendor/composer/autoload_real.php +7 -26
- package/vendor/composer/autoload_static.php +13 -9
- package/vendor/composer/installed.json +8 -8
- package/vendor/composer/installed.php +10 -10
- package/vendor/latte/latte/bin/latte-lint +8 -2
- package/vendor/latte/latte/composer.json +1 -1
- package/vendor/latte/latte/readme.md +6 -6
- package/vendor/latte/latte/src/Bridges/Tracy/BlueScreenPanel.php +1 -0
- package/vendor/latte/latte/src/Bridges/Tracy/LattePanel.php +3 -2
- package/vendor/latte/latte/src/Latte/Compiler/Block.php +0 -3
- package/vendor/latte/latte/src/Latte/Compiler/Escaper.php +103 -88
- package/vendor/latte/latte/src/Latte/Compiler/ExpressionBuilder.php +2 -1
- package/vendor/latte/latte/src/Latte/Compiler/Node.php +0 -4
- package/vendor/latte/latte/src/Latte/Compiler/NodeHelpers.php +0 -4
- package/vendor/latte/latte/src/Latte/Compiler/NodeTraverser.php +0 -4
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/AuxiliaryNode.php +11 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/FragmentNode.php +10 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/AttributeNode.php +22 -4
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/ElementNode.php +35 -12
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ArgumentNode.php +6 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ArrayItemNode.php +12 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ArrayNode.php +4 -31
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/AssignNode.php +15 -1
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/AssignOpNode.php +11 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/AuxiliaryNode.php +42 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ClassConstantFetchNode.php +2 -2
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ClosureNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/ConstantFetchNode.php +8 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/IssetNode.php +15 -1
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/PostOpNode.php +11 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/PreOpNode.php +11 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/{StaticCallNode.php → StaticMethodCallNode.php} +11 -1
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/{StaticCallableNode.php → StaticMethodCallableNode.php} +11 -1
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Expression/TemporaryNode.php +38 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ExpressionNode.php +24 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ListItemNode.php +48 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ListNode.php +56 -0
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/ModifierNode.php +3 -3
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Php/Scalar/InterpolatedStringNode.php +1 -8
- package/vendor/latte/latte/src/Latte/Compiler/PhpHelpers.php +30 -0
- package/vendor/latte/latte/src/Latte/Compiler/Position.php +4 -8
- package/vendor/latte/latte/src/Latte/Compiler/PrintContext.php +14 -7
- package/vendor/latte/latte/src/Latte/Compiler/Tag.php +13 -14
- package/vendor/latte/latte/src/Latte/Compiler/TagLexer.php +3 -7
- package/vendor/latte/latte/src/Latte/Compiler/TagParser.php +52 -3
- package/vendor/latte/latte/src/Latte/Compiler/TagParserData.php +354 -322
- package/vendor/latte/latte/src/Latte/Compiler/TemplateGenerator.php +6 -5
- package/vendor/latte/latte/src/Latte/Compiler/TemplateLexer.php +95 -176
- package/vendor/latte/latte/src/Latte/Compiler/TemplateParser.php +40 -33
- package/vendor/latte/latte/src/Latte/Compiler/TemplateParserHtml.php +182 -126
- package/vendor/latte/latte/src/Latte/Compiler/Token.php +5 -9
- package/vendor/latte/latte/src/Latte/Compiler/TokenStream.php +6 -22
- package/vendor/latte/latte/src/Latte/Engine.php +37 -8
- package/vendor/latte/latte/src/Latte/Essential/Blueprint.php +0 -2
- package/vendor/latte/latte/src/Latte/Essential/CachingIterator.php +0 -4
- package/vendor/latte/latte/src/Latte/Essential/CoreExtension.php +14 -3
- package/vendor/latte/latte/src/Latte/Essential/Filters.php +8 -6
- package/vendor/latte/latte/src/Latte/Essential/Nodes/BlockNode.php +1 -2
- package/vendor/latte/latte/src/Latte/Essential/Nodes/CaptureNode.php +2 -13
- package/vendor/latte/latte/src/Latte/Essential/Nodes/ContentTypeNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Essential/Nodes/DefineNode.php +1 -2
- package/vendor/latte/latte/src/Latte/Essential/Nodes/EmbedNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Essential/Nodes/ExtendsNode.php +0 -3
- package/vendor/latte/latte/src/Latte/Essential/Nodes/FirstLastSepNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Essential/Nodes/ForNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Essential/Nodes/ForeachNode.php +4 -13
- package/vendor/latte/latte/src/Latte/Essential/Nodes/IfChangedNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Essential/Nodes/IfContentNode.php +4 -1
- package/vendor/latte/latte/src/Latte/Essential/Nodes/IfNode.php +5 -3
- package/vendor/latte/latte/src/Latte/Essential/Nodes/IncludeBlockNode.php +5 -2
- package/vendor/latte/latte/src/Latte/Essential/Nodes/IterateWhileNode.php +6 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/JumpNode.php +26 -23
- package/vendor/latte/latte/src/Latte/Essential/Nodes/NElseNode.php +88 -0
- package/vendor/latte/latte/src/Latte/Essential/Nodes/NTagNode.php +20 -28
- package/vendor/latte/latte/src/Latte/Essential/Nodes/PrintNode.php +7 -12
- package/vendor/latte/latte/src/Latte/Essential/Nodes/RollbackNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Essential/Nodes/SpacelessNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Essential/Nodes/SwitchNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Essential/Nodes/TranslateNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Essential/Nodes/TryNode.php +3 -4
- package/vendor/latte/latte/src/Latte/Essential/Nodes/WhileNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Essential/Passes.php +9 -11
- package/vendor/latte/latte/src/Latte/Essential/RawPhpExtension.php +0 -2
- package/vendor/latte/latte/src/Latte/Essential/TranslatorExtension.php +6 -1
- package/vendor/latte/latte/src/Latte/Loaders/FileLoader.php +0 -2
- package/vendor/latte/latte/src/Latte/Loaders/StringLoader.php +0 -2
- package/vendor/latte/latte/src/Latte/PositionAwareException.php +1 -1
- package/vendor/latte/latte/src/Latte/Runtime/Block.php +0 -4
- package/vendor/latte/latte/src/Latte/Runtime/FilterExecutor.php +43 -51
- package/vendor/latte/latte/src/Latte/Runtime/FilterInfo.php +0 -2
- package/vendor/latte/latte/src/Latte/Runtime/Filters.php +64 -30
- package/vendor/latte/latte/src/Latte/Runtime/Html.php +0 -4
- package/vendor/latte/latte/src/Latte/Runtime/Template.php +2 -2
- package/vendor/latte/latte/src/Latte/Sandbox/Nodes/FunctionCallNode.php +2 -1
- package/vendor/latte/latte/src/Latte/Sandbox/Nodes/MethodCallNode.php +1 -1
- package/vendor/latte/latte/src/Latte/Sandbox/Nodes/SandboxNode.php +3 -3
- package/vendor/latte/latte/src/Latte/Sandbox/Nodes/{StaticCallNode.php → StaticMethodCallNode.php} +3 -3
- package/vendor/latte/latte/src/Latte/Sandbox/Nodes/{StaticCallableNode.php → StaticMethodCallableNode.php} +2 -2
- package/vendor/latte/latte/src/Latte/Sandbox/RuntimeChecker.php +0 -2
- package/vendor/latte/latte/src/Latte/Sandbox/SandboxExtension.php +11 -9
- package/vendor/latte/latte/src/Latte/Sandbox/SecurityPolicy.php +0 -2
- package/vendor/latte/latte/src/Latte/exceptions.php +2 -11
- package/vendor/latte/latte/src/Tools/Linter.php +13 -37
- package/vendor/latte/latte/src/Latte/Compiler/Nodes/Html/QuotedValue.php +0 -53
- package/vendor/latte/latte/src/Latte/Strict.php +0 -101
|
@@ -26,258 +26,271 @@ abstract class TagParserData
|
|
|
26
26
|
/** Rule number signifying that an unexpected token was encountered */
|
|
27
27
|
protected const UnexpectedTokenRule = 8191;
|
|
28
28
|
|
|
29
|
-
protected const Yy2Tblstate =
|
|
29
|
+
protected const Yy2Tblstate = 263;
|
|
30
30
|
|
|
31
31
|
/** Number of non-leaf states */
|
|
32
|
-
protected const NumNonLeafStates =
|
|
32
|
+
protected const NumNonLeafStates = 360;
|
|
33
33
|
|
|
34
34
|
/** Map of lexer tokens to internal symbols */
|
|
35
35
|
protected const TokenToSymbol = [
|
|
36
|
-
0,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
35, 7, 37, 21, 59,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
0, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
|
|
37
|
+
113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 48, 108, 113, 109, 47, 113, 113,
|
|
38
|
+
102, 103, 45, 43, 2, 44, 39, 46, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 22, 106,
|
|
39
|
+
35, 7, 37, 21, 59, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
|
|
40
|
+
113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 61, 113, 107, 27, 113, 113, 100, 113, 113,
|
|
41
|
+
113, 98, 101, 113, 113, 113, 113, 113, 113, 99, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
|
|
42
|
+
113, 113, 113, 104, 26, 105, 50, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
|
|
43
|
+
113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
|
|
44
|
+
113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
|
|
45
|
+
113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
|
|
46
|
+
113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
|
|
47
|
+
113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
|
|
48
|
+
113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 1, 3, 4, 5,
|
|
49
49
|
6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 24, 25, 28, 29, 30,
|
|
50
50
|
31, 32, 33, 34, 36, 38, 40, 41, 42, 49, 51, 52, 53, 54, 55, 56, 57, 58, 60, 62,
|
|
51
51
|
63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
|
|
52
|
-
83, 84, 85, 86, 87, 88, 89, 90,
|
|
52
|
+
83, 84, 85, 86, 87, 88, 89, 90, 110, 91, 92, 93, 94, 111, 112, 95, 96, 97,
|
|
53
53
|
];
|
|
54
54
|
|
|
55
55
|
/** Map of states to a displacement into the self::Action table. The corresponding action for this
|
|
56
56
|
* state/symbol pair is self::Action[self::ActionBase[$state] + $symbol]. If self::ActionBase[$state] is 0, the
|
|
57
57
|
* action is defaulted, i.e. self::ActionDefault[$state] should be used instead. */
|
|
58
58
|
protected const ActionBase = [
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
297, 326, 326, 326, 326, 99, 121, 326, 273, 177, 230, 326, 406, 406, 406, 406, 406, 256, 256, 256,
|
|
60
|
+
256, 296, 296, 295, 298, 402, 403, 404, 405, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
|
|
61
61
|
-43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
|
|
62
62
|
-43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
|
|
63
63
|
-43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
|
|
64
|
-
-43, -43, -43, -43, -43, -43, -43, -43, -43,
|
|
65
|
-
52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
-43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
|
|
64
|
+
-43, -43, -43, -43, -43, -43, -43, -43, -43, -43, 145, 214, 235, 416, 432, 427, 436, 462, 463, 460,
|
|
65
|
+
466, 472, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 137, 182, 528, 213,
|
|
66
|
+
213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 549, 549, 549,
|
|
67
|
+
437, 362, 204, 412, 38, 110, 110, 513, 513, 513, 513, 513, 447, 447, 447, 447, 81, 81, 81, 81,
|
|
68
|
+
500, 500, 271, 271, 271, 271, 271, 271, 271, 271, 271, 272, 135, 135, 454, 13, 275, 275, 275, 228,
|
|
69
|
+
228, 228, 228, 228, 181, 108, 108, 108, 236, 355, 409, 285, 207, 207, 207, 207, 207, 207, 304, 473,
|
|
70
|
+
-21, 132, 132, 205, 167, 167, 132, 378, -13, 122, -34, 208, 332, 221, 143, 158, 2, 411, 259, 277,
|
|
71
|
+
303, 142, 142, 142, 142, 256, 450, 450, 256, 256, 256, 64, 64, 64, 147, 180, 39, 309, 133, 445,
|
|
72
|
+
309, 309, 309, 42, 26, -74, 357, 268, 352, 354, 62, 98, 65, 360, 363, 357, 357, 104, 65, 65,
|
|
73
|
+
291, 290, 312, 134, 76, 312, 294, 294, 109, 35, 374, 369, 375, 351, 344, 451, 240, 253, 292, 288,
|
|
74
|
+
342, 316, 252, 374, 369, 375, 278, 6, 337, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 240,
|
|
75
|
+
468, 36, 317, 376, 385, 17, 397, 398, 453, 300, 455, 299, 305, 331, 306, 469, 341, 24, 240, 470,
|
|
76
|
+
408, 287, 319, 329, 395, 301, 471, 400, 310, 457, 140, 386, 185, 458, 198, 452, 260, 401, 467, 459,
|
|
77
|
+
0, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
|
|
78
|
+
-43, -43, -43, -43, -43, -43, -43, -43, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
78
79
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
79
80
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
80
81
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
81
|
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
82
|
-
52, 52,
|
|
83
|
-
|
|
84
|
-
52, 52, 52,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
0, 0,
|
|
89
|
-
|
|
82
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
|
83
|
+
52, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 52, 52, 52,
|
|
84
|
+
52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
|
85
|
+
52, 52, 52, 0, 447, 52, 52, 52, 52, 52, 52, 52, 0, 0, 0, 0, 108, 108, 108, 108,
|
|
86
|
+
-22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, 108, -22, -22, -22, -22, -22, -22, -22, -22,
|
|
87
|
+
-22, -22, -22, -22, 0, 0, 0, 0, 0, 0, 0, 378, 294, 294, 294, 294, 294, 294, 378, 378,
|
|
88
|
+
0, 0, 0, 0, 108, 108, 0, 0, 378, 294, 0, 0, 0, 0, 0, 0, 0, 256, 256, 256,
|
|
89
|
+
378, 0, 0, 0, 0, 0, 294, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 36,
|
|
90
|
+
299, 299, 299,
|
|
90
91
|
];
|
|
91
92
|
|
|
92
93
|
/** Table of actions. Indexed according to self::ActionBase comment. */
|
|
93
94
|
protected const Action = [
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
-8190,
|
|
102
|
-
|
|
103
|
-
-8190, -8190,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
-8190,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
95
|
+
35, 36, -268, 33, -268, 37, -50, 38, 182, 183, 39, 40, 41, 42, 43, 44, 45, -48, 1, 196,
|
|
96
|
+
46, 562, 563, 208, -47, 544, 387, -221, 16, 560, 290, 527, 248, 249, 199, 0, 291, 292, 7, -47,
|
|
97
|
+
-219, 293, 294, 211, 542, 181, 544, -221, -221, -221, 546, 545, 568, 566, 567, 55, 56, 57, -8190, 30,
|
|
98
|
+
-219, -219, -219, 422, 11, 227, 295, 15, 200, -219, 201, 546, 545, 24, 571, 58, 59, 60, 22, 61,
|
|
99
|
+
62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
|
|
100
|
+
102, 198, 368, 369, 367, -268, 194, 387, 424, -268, 423, 237, 82, -8190, -8190, -8190, -8191, -8191, -8191, -8191,
|
|
101
|
+
73, 74, 75, 76, 368, 369, 367, 366, 365, 451, 385, -8190, 386, -8190, -8190, -8190, 389, -8190, -8190, -8190,
|
|
102
|
+
-8190, 378, 99, -78, 12, -78, 106, 295, 372, 366, 365, 77, 78, 79, 80, 81, 199, 198, -266, 175,
|
|
103
|
+
-266, 197, 47, 378, 13, 204, 345, 302, 82, -78, 372, 174, 303, 374, 238, 239, 373, 379, 304, 305,
|
|
104
|
+
368, 369, 367, 197, 47, -8190, -8190, 204, 646, 302, 25, 107, 647, -216, 303, 374, 238, 239, 373, 379,
|
|
105
|
+
304, 305, 433, -22, 108, 366, 365, -8190, -8190, -8190, -8190, -8190, 26, -216, -216, -216, -8190, -8190, -8190, 378,
|
|
106
|
+
18, -264, -216, -264, 433, -8190, 372, -8190, -8190, -8190, 424, -8190, 423, 368, 369, 367, 510, -183, -52, 197,
|
|
107
|
+
47, 20, -222, 204, 14, 302, -78, 96, 210, -183, 303, 374, 238, 239, 373, 379, 304, 305, 366, 365,
|
|
108
|
+
97, -266, -222, -222, -222, -266, 32, 109, 27, 31, -182, -182, 378, 385, -23, 386, 368, 369, 367, 372,
|
|
109
|
+
433, -17, -182, -182, 366, 365, 215, 216, 217, 212, 213, 214, 197, 47, 172, 247, 204, -222, 302, -16,
|
|
110
|
+
19, 366, 365, 303, 374, 238, 239, 373, 379, 304, 305, 100, 74, 75, 76, 378, 295, -222, -222, -222,
|
|
111
|
+
98, 28, 372, 424, -264, 423, -182, 105, -264, 368, 369, 367, 1, 433, 195, 197, 47, 255, -182, 204,
|
|
112
|
+
387, 302, 173, 560, 387, 202, 303, 374, 238, 239, 373, 379, 304, 305, 366, 365, 294, 203, 198, 82,
|
|
113
|
+
-8190, 103, 328, 387, 101, -8190, -8190, -8190, 378, 351, 283, 648, 572, 50, -8190, 372, 433, 51, -191, 227,
|
|
114
|
+
295, 397, 164, -8190, 295, -8190, -8190, -8190, 197, 47, 280, 573, 204, 229, 302, 34, 267, 3, 180, 303,
|
|
115
|
+
374, 238, 239, 373, 379, 304, 305, 246, -251, 368, 369, 367, -250, 251, 252, 253, -218, 48, 49, 17,
|
|
116
|
+
83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -249, 366, 365, -218, -218, -218, -225,
|
|
117
|
+
-8190, -8190, -8190, -224, -223, -218, 2, 387, 378, 635, 368, 369, 367, 4, 5, 372, 6, -225, -8190, 8,
|
|
118
|
+
-8190, -8190, 9, 473, 475, 10, 23, 186, 197, 47, -217, 29, 204, -216, 302, 199, 52, 53, 192, 303,
|
|
119
|
+
374, 238, 239, 373, 379, 304, 305, 193, 245, 378, -217, -217, -217, -216, -216, -216, 372, 101, 282, -217,
|
|
120
|
+
515, 558, -216, 434, 530, 536, 538, 540, 590, 371, 370, -224, 21, 382, -29, 383, -8190, -8190, -8190, 336,
|
|
121
|
+
375, 374, 377, 376, 373, 379, 380, 381, 366, 365, 340, -8190, -8190, -8190, -8190, 549, -8190, -8190, -8190, 516,
|
|
122
|
+
-8190, -8190, -8190, -8191, -8191, -8191, -8191, -8191, 615, 424, 104, 423, -8190, -8190, -8190, 54, 265, -29, 643, 295,
|
|
123
|
+
645, 1, 398, 644, 526, 348, 255, 642, 599, 387, -8190, 613, 560, 359, 0, 557, 587, 603, 638, 353,
|
|
124
|
+
0, 561, 0, 0, 293, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
125
|
+
0, 0, 50, 0, 0, 0, 0, 0, 227, 295,
|
|
123
126
|
];
|
|
124
127
|
|
|
125
128
|
/** Table indexed analogously to self::Action. If self::ActionCheck[self::ActionBase[$state] + $symbol] != $symbol
|
|
126
129
|
* then the action is defaulted, i.e. self::ActionDefault[$state] should be used instead. */
|
|
127
130
|
protected const ActionCheck = [
|
|
128
|
-
43, 44,
|
|
129
|
-
63, 64, 65, 66,
|
|
130
|
-
|
|
131
|
-
|
|
131
|
+
43, 44, 0, 77, 2, 48, 0, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 0, 61, 62,
|
|
132
|
+
63, 64, 65, 66, 0, 68, 69, 61, 2, 72, 73, 105, 75, 76, 21, 0, 79, 80, 2, 0,
|
|
133
|
+
61, 84, 85, 86, 66, 6, 68, 81, 82, 83, 93, 94, 95, 96, 97, 3, 4, 5, 71, 102,
|
|
134
|
+
81, 82, 83, 85, 2, 108, 109, 2, 26, 90, 28, 93, 94, 21, 87, 23, 24, 25, 2, 27,
|
|
132
135
|
28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
3, 4,
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
136
|
+
2, 49, 3, 4, 5, 103, 2, 69, 95, 107, 97, 2, 60, 3, 4, 5, 35, 36, 37, 38,
|
|
137
|
+
39, 40, 41, 42, 3, 4, 5, 28, 29, 103, 66, 21, 68, 23, 24, 25, 2, 27, 28, 29,
|
|
138
|
+
3, 42, 104, 0, 2, 2, 6, 109, 49, 28, 29, 43, 44, 45, 46, 47, 21, 49, 0, 26,
|
|
139
|
+
2, 62, 63, 42, 22, 66, 44, 68, 60, 26, 49, 26, 73, 74, 75, 76, 77, 78, 79, 80,
|
|
140
|
+
3, 4, 5, 62, 63, 3, 4, 66, 66, 68, 91, 6, 70, 61, 73, 74, 75, 76, 77, 78,
|
|
141
|
+
79, 80, 103, 22, 6, 28, 29, 3, 4, 5, 43, 44, 91, 81, 82, 83, 3, 4, 5, 42,
|
|
142
|
+
6, 0, 90, 2, 103, 21, 49, 23, 24, 25, 95, 27, 97, 3, 4, 5, 103, 90, 103, 62,
|
|
143
|
+
63, 6, 61, 66, 102, 68, 103, 7, 103, 102, 73, 74, 75, 76, 77, 78, 79, 80, 28, 29,
|
|
144
|
+
7, 103, 81, 82, 83, 107, 61, 7, 91, 61, 90, 90, 42, 66, 22, 68, 3, 4, 5, 49,
|
|
145
|
+
103, 22, 102, 102, 28, 29, 81, 82, 83, 81, 82, 83, 62, 63, 26, 90, 66, 61, 68, 22,
|
|
146
|
+
22, 28, 29, 73, 74, 75, 76, 77, 78, 79, 80, 104, 40, 41, 42, 42, 109, 81, 82, 83,
|
|
147
|
+
22, 91, 49, 95, 103, 97, 90, 22, 107, 3, 4, 5, 61, 103, 22, 62, 63, 66, 102, 66,
|
|
148
|
+
69, 68, 26, 72, 69, 26, 73, 74, 75, 76, 77, 78, 79, 80, 28, 29, 85, 28, 49, 60,
|
|
149
|
+
85, 61, 67, 69, 91, 3, 4, 5, 42, 78, 74, 70, 87, 102, 71, 49, 103, 102, 90, 108,
|
|
150
|
+
109, 91, 90, 21, 109, 23, 24, 25, 62, 63, 103, 87, 66, 61, 68, 98, 99, 100, 101, 73,
|
|
151
|
+
74, 75, 76, 77, 78, 79, 80, 90, 102, 3, 4, 5, 102, 81, 82, 83, 61, 91, 92, 7,
|
|
152
|
+
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 102, 28, 29, 81, 82, 83, 102,
|
|
153
|
+
3, 4, 5, 102, 102, 90, 102, 69, 42, 71, 3, 4, 5, 102, 102, 49, 102, 102, 21, 102,
|
|
154
|
+
23, 24, 102, 51, 52, 102, 88, 89, 62, 63, 61, 102, 66, 61, 68, 21, 102, 102, 102, 73,
|
|
155
|
+
74, 75, 76, 77, 78, 79, 80, 102, 102, 42, 81, 82, 83, 81, 82, 83, 49, 91, 103, 90,
|
|
156
|
+
103, 103, 90, 103, 103, 103, 103, 103, 103, 62, 63, 102, 104, 66, 103, 68, 3, 4, 5, 103,
|
|
157
|
+
73, 74, 75, 76, 77, 78, 79, 80, 28, 29, 103, 3, 4, 5, 21, 103, 23, 24, 25, 103,
|
|
158
|
+
27, 28, 29, 30, 31, 32, 33, 34, 103, 95, 22, 97, 3, 4, 5, 104, 104, 103, 105, 109,
|
|
159
|
+
105, 61, 105, 105, 105, 105, 66, 105, 105, 69, 21, 105, 72, 106, -1, 107, 107, 107, 107, 107,
|
|
160
|
+
-1, 108, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
161
|
+
-1, -1, 102, -1, -1, -1, -1, -1, 108, 109,
|
|
157
162
|
];
|
|
158
163
|
|
|
159
164
|
/** Map of states to their default action */
|
|
160
165
|
protected const ActionDefault = [
|
|
161
|
-
8191,
|
|
162
|
-
|
|
163
|
-
8191, 8191, 8191, 8191, 8191, 8191,
|
|
166
|
+
8191, 262, 262, 31, 262, 8191, 8191, 262, 8191, 8191, 8191, 29, 8191, 8191, 8191, 29, 8191, 8191, 8191, 8191,
|
|
167
|
+
8191, 39, 29, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 214, 214, 214, 8191, 8191, 8191, 8191, 8191, 8191,
|
|
168
|
+
8191, 8191, 8191, 8191, 8191, 8191, 8191, 10, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
|
|
164
169
|
8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
|
|
165
170
|
8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
|
|
166
|
-
8191,
|
|
167
|
-
1,
|
|
168
|
-
|
|
169
|
-
117,
|
|
170
|
-
8191, 8191, 8191, 8191, 8191, 8191,
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
8191, 8191,
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
8191, 8191, 8191, 8191, 8191, 8191,
|
|
171
|
+
8191, 8191, 29, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 263, 263, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
|
|
172
|
+
8191, 8191, 1, 269, 270, 83, 77, 215, 265, 267, 79, 82, 80, 43, 44, 56, 119, 121, 153, 120,
|
|
173
|
+
95, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 93, 94, 165, 154, 152, 151,
|
|
174
|
+
117, 118, 124, 92, 8191, 122, 123, 141, 142, 139, 140, 143, 8191, 8191, 8191, 8191, 144, 145, 146, 147,
|
|
175
|
+
8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 125, 69, 69, 69, 8191, 8191, 11, 8191, 8191,
|
|
176
|
+
8191, 8191, 8191, 8191, 205, 131, 132, 134, 205, 204, 149, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191,
|
|
177
|
+
210, 114, 116, 188, 126, 127, 96, 8191, 8191, 8191, 209, 8191, 277, 216, 216, 216, 216, 34, 34, 34,
|
|
178
|
+
8191, 88, 88, 88, 88, 34, 8191, 8191, 34, 34, 34, 8191, 8191, 8191, 194, 222, 216, 137, 8191, 8191,
|
|
179
|
+
128, 129, 130, 57, 8191, 8191, 192, 8191, 181, 8191, 28, 28, 28, 8191, 235, 236, 237, 28, 28, 28,
|
|
180
|
+
169, 36, 71, 28, 28, 71, 8191, 8191, 28, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 199, 8191, 220,
|
|
181
|
+
233, 2, 184, 15, 20, 21, 8191, 199, 218, 135, 136, 138, 157, 158, 159, 160, 161, 162, 163, 260,
|
|
182
|
+
8191, 256, 187, 8191, 8191, 216, 8191, 8191, 276, 8191, 216, 133, 8191, 195, 240, 8191, 217, 216, 261, 8191,
|
|
183
|
+
8191, 8191, 59, 60, 8191, 8191, 8191, 8191, 196, 8191, 8191, 8191, 8191, 8191, 8191, 8191, 55, 8191, 8191, 8191,
|
|
179
184
|
];
|
|
180
185
|
|
|
181
186
|
/** Map of non-terminals to a displacement into the self::Goto table. The corresponding goto state for this
|
|
182
187
|
* non-terminal/state pair is self::Goto[self::GotoBase[$nonTerminal] + $state] (unless defaulted) */
|
|
183
188
|
protected const GotoBase = [
|
|
184
|
-
0, 0, -1, 0, 0,
|
|
185
|
-
-2, 0,
|
|
186
|
-
|
|
187
|
-
|
|
189
|
+
0, 0, -1, 0, 0, 0, 108, 0, 166, 27, 30, -17, 0, 240, 26, 0, 0, 0, 0, 172,
|
|
190
|
+
213, 65, -2, 243, 17, 60, 0, 62, 0, 77, -79, 0, 0, -63, 1, -261, 104, -11, 0, 0,
|
|
191
|
+
-68, 0, 75, 0, 0, 139, 0, 0, 0, 32, 0, 0, 0, 0, -55, -44, 0, 0, 28, 39,
|
|
192
|
+
7, 50, 57, -67, 0, 0, -51, -24, 0, 36, 110, 4, 41, 0, 0,
|
|
188
193
|
];
|
|
189
194
|
|
|
190
195
|
/** Table of states to goto after reduction. Indexed according to self::GotoBase comment. */
|
|
191
196
|
protected const Goto = [
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
197
|
+
112, 112, 111, 112, 436, 436, 112, 535, 537, 327, 111, 617, 539, 589, 591, 592, 140, 128, 129, 128,
|
|
198
|
+
125, 125, 117, 138, 130, 130, 130, 130, 125, 110, 127, 127, 127, 122, 309, 310, 257, 311, 312, 313,
|
|
199
|
+
314, 315, 316, 317, 318, 459, 459, 123, 124, 113, 114, 115, 116, 118, 136, 137, 139, 157, 160, 161,
|
|
200
|
+
162, 165, 166, 167, 168, 169, 170, 171, 176, 177, 178, 179, 191, 205, 206, 207, 224, 225, 260, 261,
|
|
201
|
+
262, 331, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 158, 119, 120,
|
|
202
|
+
130, 131, 121, 159, 132, 133, 156, 134, 135, 184, 184, 184, 184, 334, 259, 184, 278, 279, 264, 184,
|
|
203
|
+
418, 425, 427, 426, 428, 187, 189, 190, 189, 421, 421, 421, 421, 541, 541, 541, 421, 421, 421, 421,
|
|
204
|
+
421, 322, 322, 322, 228, 602, 602, 602, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543, 543,
|
|
205
|
+
240, 614, 614, 614, 614, 614, 614, 306, 306, 306, 306, 339, 358, 306, 447, 444, 445, 306, 256, 337,
|
|
206
|
+
221, 222, 233, 325, 330, 226, 234, 235, 236, 275, 276, 604, 605, 606, 402, 600, 600, 307, 307, 559,
|
|
207
|
+
559, 559, 559, 559, 559, 559, 559, 559, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 581, 579,
|
|
208
|
+
579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
|
|
209
|
+
308, 232, 326, 392, 319, 319, 406, 319, 232, 232, 319, 393, 633, 344, 441, 347, 414, 232, 232, 649,
|
|
210
|
+
411, 450, 449, 338, 323, 324, 354, 400, 633, 634, 232, 531, 432, 508, 323, 324, 281, 532, 639, 640,
|
|
211
|
+
641, 634, 607, 608, 219, 0, 355, 0, 185, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
212
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 534, 0, 0,
|
|
213
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 241, 242,
|
|
214
|
+
243, 244, 0, 0, 0, 395, 395, 395, 0, 0, 0, 0, 0, 395, 0, 0, 395, 395, 395, 0,
|
|
206
215
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
207
216
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
208
|
-
0, 0, 0, 0,
|
|
209
|
-
|
|
217
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
218
|
+
0, 0, 0, 409, 409,
|
|
210
219
|
];
|
|
211
220
|
|
|
212
221
|
/** Table indexed analogously to self::Goto. If self::GotoCheck[self::GotoBase[$nonTerminal] + $state] != $nonTerminal
|
|
213
222
|
* then the goto state is defaulted, i.e. self::GotoDefault[$nonTerminal] should be used. */
|
|
214
223
|
protected const GotoCheck = [
|
|
215
|
-
2, 2, 2, 2,
|
|
224
|
+
2, 2, 2, 2, 37, 37, 2, 35, 35, 60, 2, 71, 35, 35, 35, 35, 2, 2, 2, 2,
|
|
216
225
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
217
226
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
218
227
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
219
228
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
220
|
-
2, 2, 2, 2, 2, 2, 2, 2,
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
+
2, 2, 2, 2, 2, 2, 2, 2, 2, 6, 6, 6, 6, 66, 70, 6, 36, 36, 36, 6,
|
|
230
|
+
30, 30, 30, 30, 30, 6, 6, 6, 6, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
|
|
231
|
+
33, 54, 54, 54, 63, 66, 66, 66, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
|
|
232
|
+
63, 66, 66, 66, 66, 66, 66, 8, 8, 8, 8, 45, 45, 8, 40, 40, 40, 8, 22, 22,
|
|
233
|
+
22, 22, 22, 22, 22, 22, 22, 22, 22, 67, 67, 67, 67, 67, 19, 66, 66, 24, 24, 24,
|
|
234
|
+
24, 24, 24, 24, 24, 24, 24, 24, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 59,
|
|
235
|
+
59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
|
|
236
|
+
61, 10, 20, 13, 23, 23, 21, 23, 10, 10, 23, 13, 72, 25, 11, 11, 27, 10, 10, 10,
|
|
237
|
+
11, 11, 11, 23, 14, 14, 11, 11, 72, 72, 10, 11, 29, 42, 14, 14, 14, 49, 9, 9,
|
|
238
|
+
9, 72, 69, 69, 62, -1, 34, -1, 6, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
239
|
+
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, 10, -1, -1,
|
|
240
|
+
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1, -1, 8, 8,
|
|
241
|
+
8, 8, -1, -1, -1, 6, 6, 6, -1, -1, -1, -1, -1, 6, -1, -1, 6, 6, 6, -1,
|
|
242
|
+
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
229
243
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
230
244
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
231
|
-
-1, -1, -1,
|
|
232
|
-
5, 5, -1, -1, -1, -1, -1, 5, -1, -1, 5, 5, 5,
|
|
245
|
+
-1, -1, -1, 23, 23,
|
|
233
246
|
];
|
|
234
247
|
|
|
235
248
|
/** Map of non-terminals to the default state to goto after their reduction */
|
|
236
249
|
protected const GotoDefault = [
|
|
237
|
-
-8192,
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
250
|
+
-8192, 289, 126, 301, 363, 364, 188, 384, 332, 612, 598, 390, 270, 619, 287, 286, 458, 349, 284, 401,
|
|
251
|
+
350, 405, 163, 296, 297, 341, 277, 413, 250, 430, 263, 342, 343, 268, 352, 553, 272, 435, 271, 258,
|
|
252
|
+
446, 457, 266, 524, 285, 335, 528, 357, 288, 533, 588, 269, 298, 273, 550, 254, 223, 299, 230, 220,
|
|
253
|
+
320, 209, 218, 632, 231, 300, 586, 274, 594, 601, 321, 618, 631, 329, 346,
|
|
241
254
|
];
|
|
242
255
|
|
|
243
256
|
/** Map of rules to the non-terminal on their left-hand side, i.e. the non-terminal to use for
|
|
244
257
|
* determining the state to goto after reduction. */
|
|
245
258
|
protected const RuleToNonTerminal = [
|
|
246
|
-
0, 1, 1, 1,
|
|
247
|
-
|
|
248
|
-
17,
|
|
249
|
-
|
|
250
|
-
|
|
259
|
+
0, 1, 1, 1, 1, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
|
260
|
+
7, 7, 8, 8, 8, 9, 9, 10, 11, 11, 4, 4, 12, 12, 14, 14, 15, 15, 16, 17,
|
|
261
|
+
17, 18, 18, 19, 19, 5, 5, 21, 21, 21, 21, 25, 25, 26, 26, 27, 27, 29, 29, 29,
|
|
262
|
+
29, 30, 30, 30, 30, 31, 31, 32, 32, 28, 28, 34, 34, 35, 35, 36, 36, 37, 37, 37,
|
|
263
|
+
37, 20, 38, 38, 39, 39, 3, 3, 40, 40, 40, 40, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
251
264
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
252
265
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
253
266
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
|
254
|
-
2,
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
72, 72,
|
|
267
|
+
2, 2, 2, 2, 2, 2, 2, 2, 41, 44, 44, 47, 48, 48, 49, 50, 50, 50, 50, 50,
|
|
268
|
+
50, 54, 33, 33, 55, 55, 55, 42, 42, 42, 52, 52, 46, 46, 58, 59, 59, 24, 61, 61,
|
|
269
|
+
61, 61, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 45, 45, 57, 57, 57, 57,
|
|
270
|
+
64, 64, 64, 51, 51, 51, 65, 65, 65, 65, 65, 65, 65, 22, 22, 22, 22, 22, 66, 66,
|
|
271
|
+
69, 68, 56, 56, 56, 56, 56, 56, 56, 53, 53, 53, 67, 67, 67, 23, 60, 70, 70, 71,
|
|
272
|
+
71, 71, 71, 13, 13, 13, 13, 13, 13, 13, 13, 62, 62, 62, 62, 63, 73, 72, 72, 72,
|
|
273
|
+
72, 72, 72, 72, 72, 72, 74, 74, 74, 74,
|
|
261
274
|
];
|
|
262
275
|
|
|
263
276
|
/** Map of rules to the length of their right-hand side, which is the number of elements that have to
|
|
264
277
|
* be popped from the stack(s) on reduction. */
|
|
265
278
|
protected const RuleToLength = [
|
|
266
|
-
1, 2, 2, 2,
|
|
267
|
-
1, 1, 1, 1, 1, 1, 1, 0, 1, 2, 0, 1, 3, 0, 1, 0, 1, 7, 0,
|
|
268
|
-
1, 3, 3, 4,
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
3, 3, 3, 3, 3, 3,
|
|
272
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
|
273
|
-
3, 3, 3, 3,
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
1,
|
|
277
|
-
1,
|
|
278
|
-
3, 1,
|
|
279
|
-
|
|
280
|
-
2, 1,
|
|
279
|
+
1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
280
|
+
1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 2, 0, 1, 3, 0, 1, 0, 1, 7, 0,
|
|
281
|
+
2, 1, 3, 3, 4, 1, 3, 1, 2, 1, 1, 2, 0, 1, 3, 4, 6, 1, 2, 1,
|
|
282
|
+
1, 1, 1, 1, 1, 3, 3, 3, 3, 0, 1, 0, 2, 2, 4, 1, 3, 1, 2, 2,
|
|
283
|
+
3, 2, 3, 1, 4, 4, 3, 4, 0, 3, 3, 3, 1, 3, 3, 3, 4, 1, 1, 2,
|
|
284
|
+
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3,
|
|
285
|
+
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3,
|
|
286
|
+
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 3, 3, 4, 4, 2, 2, 2,
|
|
287
|
+
2, 2, 2, 2, 1, 8, 12, 9, 3, 0, 4, 2, 1, 3, 2, 2, 4, 2, 4, 4,
|
|
288
|
+
6, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 0, 1, 1, 3, 5, 3, 4, 1,
|
|
289
|
+
1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 3, 0, 1, 1, 3, 1, 1,
|
|
290
|
+
1, 1, 1, 1, 3, 1, 1, 4, 1, 4, 6, 4, 4, 1, 1, 3, 3, 3, 1, 4,
|
|
291
|
+
1, 3, 1, 4, 3, 3, 3, 3, 3, 1, 3, 1, 1, 3, 1, 4, 1, 3, 1, 1,
|
|
292
|
+
1, 3, 0, 1, 2, 3, 4, 3, 4, 2, 2, 2, 2, 1, 2, 1, 1, 1, 4, 3,
|
|
293
|
+
3, 3, 3, 3, 6, 3, 1, 1, 2, 1,
|
|
281
294
|
];
|
|
282
295
|
|
|
283
296
|
/** Map of symbols to their names */
|
|
@@ -383,6 +396,7 @@ abstract class TagParserData
|
|
|
383
396
|
"'e'",
|
|
384
397
|
"'m'",
|
|
385
398
|
"'a'",
|
|
399
|
+
"'f'",
|
|
386
400
|
"'('",
|
|
387
401
|
"')'",
|
|
388
402
|
"'{'",
|
|
@@ -409,172 +423,190 @@ abstract class TagParserData
|
|
|
409
423
|
protected function reduce(int $rule, int $pos): void
|
|
410
424
|
{
|
|
411
425
|
(match ($rule) {
|
|
412
|
-
0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
|
426
|
+
0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 28, 29, 57, 70, 72, 92, 97, 98, 164, 181, 183, 187, 188, 190, 191, 193, 204, 209, 210, 215, 216, 218, 219, 220, 221, 223, 225, 226, 228, 233, 234, 238, 242, 249, 251, 252, 254, 259, 277, 289 => fn() => $this->semValue = $this->semStack[$pos],
|
|
413
427
|
2 => fn() => $this->semValue = new Node\ModifierNode($this->semStack[$pos], position: $this->startTokenStack[$pos]->position),
|
|
414
428
|
3 => fn() => $this->semValue = new Expression\ArrayNode($this->semStack[$pos], position: $this->startTokenStack[$pos]->position),
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
429
|
+
22, 23, 24, 25, 26, 62, 63, 64 => fn() => $this->semValue = new Node\IdentifierNode($this->semStack[$pos], $this->startTokenStack[$pos]->position),
|
|
430
|
+
27 => fn() => $this->semValue = new Expression\VariableNode(substr($this->semStack[$pos], 1), $this->startTokenStack[$pos]->position),
|
|
431
|
+
30, 40, 51, 81, 89, 90, 91, 149, 150, 170, 171, 189, 217, 224, 250, 253, 285 => fn() => $this->semValue = $this->semStack[$pos - 1],
|
|
432
|
+
31, 39, 52, 73, 88, 169, 192 => fn() => $this->semValue = [],
|
|
433
|
+
32, 41, 53, 75, 83, 172, 258, 273 => fn() => $this->semValue = [$this->semStack[$pos]],
|
|
434
|
+
33, 42, 54, 66, 68, 76, 82, 173, 257 => function () use ($pos) {
|
|
421
435
|
$this->semStack[$pos - 2][] = $this->semStack[$pos];
|
|
422
436
|
$this->semValue = $this->semStack[$pos - 2];
|
|
423
437
|
},
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
438
|
+
34, 36 => fn() => $this->semValue = false,
|
|
439
|
+
35, 37 => fn() => $this->semValue = true,
|
|
440
|
+
38 => fn() => $this->semValue = new Expression\MatchNode($this->semStack[$pos - 4], $this->semStack[$pos - 1], $this->startTokenStack[$pos - 6]->position),
|
|
441
|
+
43 => fn() => $this->semValue = new Node\MatchArmNode($this->semStack[$pos - 2], $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
442
|
+
44 => fn() => $this->semValue = new Node\MatchArmNode(null, $this->semStack[$pos], $this->startTokenStack[$pos - 3]->position),
|
|
443
|
+
45 => fn() => $this->semValue = [null, ...$this->semStack[$pos]],
|
|
444
|
+
46 => fn() => $this->semValue = [$this->semStack[$pos - 2], ...$this->semStack[$pos]],
|
|
445
|
+
47, 49 => fn() => $this->semValue = [$this->semStack[$pos], false],
|
|
446
|
+
48 => fn() => $this->semValue = [$this->semStack[$pos], true],
|
|
447
|
+
50 => fn() => $this->semValue = [$this->convertArrayToList($this->semStack[$pos]), false],
|
|
448
|
+
55 => fn() => $this->semValue = new Node\ParameterNode($this->semStack[$pos], null, $this->semStack[$pos - 3], $this->semStack[$pos - 2], $this->semStack[$pos - 1], $this->startTokenStack[$pos - 3]->position),
|
|
449
|
+
56 => fn() => $this->semValue = new Node\ParameterNode($this->semStack[$pos - 2], $this->semStack[$pos], $this->semStack[$pos - 5], $this->semStack[$pos - 4], $this->semStack[$pos - 3], $this->startTokenStack[$pos - 5]->position),
|
|
450
|
+
58 => fn() => $this->semValue = new Node\NullableTypeNode($this->semStack[$pos], $this->startTokenStack[$pos - 1]->position),
|
|
451
|
+
59 => fn() => $this->semValue = new Node\UnionTypeNode($this->semStack[$pos], $this->startTokenStack[$pos]->position),
|
|
452
|
+
60 => fn() => $this->semValue = new Node\IntersectionTypeNode($this->semStack[$pos], $this->startTokenStack[$pos]->position),
|
|
453
|
+
61 => fn() => $this->semValue = TagParser::handleBuiltinTypes($this->semStack[$pos]),
|
|
454
|
+
65, 67 => fn() => $this->semValue = [$this->semStack[$pos - 2], $this->semStack[$pos]],
|
|
455
|
+
69, 71, 214 => fn() => $this->semValue = null,
|
|
456
|
+
74 => fn() => $this->semValue = $this->semStack[$pos - 2],
|
|
457
|
+
77 => fn() => $this->semValue = new Node\ArgumentNode($this->semStack[$pos], false, false, null, $this->startTokenStack[$pos]->position),
|
|
458
|
+
78 => fn() => $this->semValue = new Node\ArgumentNode($this->semStack[$pos], true, false, null, $this->startTokenStack[$pos - 1]->position),
|
|
459
|
+
79 => fn() => $this->semValue = new Node\ArgumentNode($this->semStack[$pos], false, true, null, $this->startTokenStack[$pos - 1]->position),
|
|
460
|
+
80 => fn() => $this->semValue = new Node\ArgumentNode($this->semStack[$pos], false, false, $this->semStack[$pos - 2], $this->startTokenStack[$pos - 2]->position),
|
|
461
|
+
84, 85 => fn() => $this->semValue = new Expression\FilterCallNode($this->semStack[$pos - 3], new Node\FilterNode($this->semStack[$pos - 1], $this->semStack[$pos], $this->startTokenStack[$pos - 3]->position), $this->startTokenStack[$pos - 3]->position),
|
|
462
|
+
86 => fn() => $this->semValue = [new Node\FilterNode($this->semStack[$pos - 1], $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position)],
|
|
463
|
+
87 => function () use ($pos) {
|
|
445
464
|
$this->semStack[$pos - 3][] = new Node\FilterNode($this->semStack[$pos - 1], $this->semStack[$pos], $this->startTokenStack[$pos - 3]->position);
|
|
446
465
|
$this->semValue = $this->semStack[$pos - 3];
|
|
447
466
|
},
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
205 => fn() => $this->semValue =
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
229
|
|
547
|
-
|
|
548
|
-
|
|
467
|
+
93, 95 => fn() => $this->semValue = new Expression\AssignNode($this->semStack[$pos - 2], $this->semStack[$pos], false, $this->startTokenStack[$pos - 2]->position),
|
|
468
|
+
94 => fn() => $this->semValue = new Expression\AssignNode($this->convertArrayToList($this->semStack[$pos - 2]), $this->semStack[$pos], false, $this->startTokenStack[$pos - 2]->position),
|
|
469
|
+
96 => fn() => $this->semValue = new Expression\AssignNode($this->semStack[$pos - 3], $this->semStack[$pos], true, $this->startTokenStack[$pos - 3]->position),
|
|
470
|
+
99 => fn() => $this->semValue = new Expression\CloneNode($this->semStack[$pos], $this->startTokenStack[$pos - 1]->position),
|
|
471
|
+
100 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '+', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
472
|
+
101 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '-', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
473
|
+
102 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '*', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
474
|
+
103 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '/', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
475
|
+
104 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '.', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
476
|
+
105 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '%', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
477
|
+
106 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '&', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
478
|
+
107 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '|', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
479
|
+
108 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '^', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
480
|
+
109 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '<<', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
481
|
+
110 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '>>', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
482
|
+
111 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '**', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
483
|
+
112 => fn() => $this->semValue = new Expression\AssignOpNode($this->semStack[$pos - 2], '??', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
484
|
+
113 => fn() => $this->semValue = new Expression\PostOpNode($this->semStack[$pos - 1], '++', $this->startTokenStack[$pos - 1]->position),
|
|
485
|
+
114 => fn() => $this->semValue = new Expression\PreOpNode($this->semStack[$pos], '++', $this->startTokenStack[$pos - 1]->position),
|
|
486
|
+
115 => fn() => $this->semValue = new Expression\PostOpNode($this->semStack[$pos - 1], '--', $this->startTokenStack[$pos - 1]->position),
|
|
487
|
+
116 => fn() => $this->semValue = new Expression\PreOpNode($this->semStack[$pos], '--', $this->startTokenStack[$pos - 1]->position),
|
|
488
|
+
117 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '||', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
489
|
+
118 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '&&', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
490
|
+
119 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], 'or', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
491
|
+
120 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], 'and', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
492
|
+
121 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], 'xor', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
493
|
+
122, 123 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '&', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
494
|
+
124 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '^', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
495
|
+
125 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '.', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
496
|
+
126 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '+', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
497
|
+
127 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '-', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
498
|
+
128 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '*', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
499
|
+
129 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '/', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
500
|
+
130 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '%', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
501
|
+
131 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '<<', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
502
|
+
132 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '>>', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
503
|
+
133 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '**', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
504
|
+
134 => fn() => $this->semValue = new Expression\InNode($this->semStack[$pos - 2], $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
505
|
+
135 => fn() => $this->semValue = new Expression\UnaryOpNode($this->semStack[$pos], '+', $this->startTokenStack[$pos - 1]->position),
|
|
506
|
+
136 => fn() => $this->semValue = new Expression\UnaryOpNode($this->semStack[$pos], '-', $this->startTokenStack[$pos - 1]->position),
|
|
507
|
+
137 => fn() => $this->semValue = new Expression\NotNode($this->semStack[$pos], $this->startTokenStack[$pos - 1]->position),
|
|
508
|
+
138 => fn() => $this->semValue = new Expression\UnaryOpNode($this->semStack[$pos], '~', $this->startTokenStack[$pos - 1]->position),
|
|
509
|
+
139 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '===', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
510
|
+
140 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '!==', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
511
|
+
141 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '==', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
512
|
+
142 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '!=', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
513
|
+
143 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '<=>', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
514
|
+
144 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '<', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
515
|
+
145 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '<=', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
516
|
+
146 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '>', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
517
|
+
147 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '>=', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
518
|
+
148 => fn() => $this->semValue = new Expression\InstanceofNode($this->semStack[$pos - 2], $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
519
|
+
151 => fn() => $this->semValue = new Expression\TernaryNode($this->semStack[$pos - 4], $this->semStack[$pos - 2], $this->semStack[$pos], $this->startTokenStack[$pos - 4]->position),
|
|
520
|
+
152 => fn() => $this->semValue = new Expression\TernaryNode($this->semStack[$pos - 3], null, $this->semStack[$pos], $this->startTokenStack[$pos - 3]->position),
|
|
521
|
+
153 => fn() => $this->semValue = new Expression\TernaryNode($this->semStack[$pos - 2], $this->semStack[$pos], null, $this->startTokenStack[$pos - 2]->position),
|
|
522
|
+
154 => fn() => $this->semValue = new Expression\BinaryOpNode($this->semStack[$pos - 2], '??', $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
523
|
+
155 => fn() => $this->semValue = new Expression\IssetNode($this->semStack[$pos - 1], $this->startTokenStack[$pos - 3]->position),
|
|
524
|
+
156 => fn() => $this->semValue = new Expression\EmptyNode($this->semStack[$pos - 1], $this->startTokenStack[$pos - 3]->position),
|
|
525
|
+
157 => fn() => $this->semValue = new Expression\CastNode('int', $this->semStack[$pos], $this->startTokenStack[$pos - 1]->position),
|
|
526
|
+
158 => fn() => $this->semValue = new Expression\CastNode('float', $this->semStack[$pos], $this->startTokenStack[$pos - 1]->position),
|
|
527
|
+
159 => fn() => $this->semValue = new Expression\CastNode('string', $this->semStack[$pos], $this->startTokenStack[$pos - 1]->position),
|
|
528
|
+
160 => fn() => $this->semValue = new Expression\CastNode('array', $this->semStack[$pos], $this->startTokenStack[$pos - 1]->position),
|
|
529
|
+
161 => fn() => $this->semValue = new Expression\CastNode('object', $this->semStack[$pos], $this->startTokenStack[$pos - 1]->position),
|
|
530
|
+
162 => fn() => $this->semValue = new Expression\CastNode('bool', $this->semStack[$pos], $this->startTokenStack[$pos - 1]->position),
|
|
531
|
+
163 => fn() => $this->semValue = new Expression\ErrorSuppressNode($this->semStack[$pos], $this->startTokenStack[$pos - 1]->position),
|
|
532
|
+
165 => fn() => $this->semValue = new Expression\ClosureNode((bool) $this->semStack[$pos - 6], $this->semStack[$pos - 4], [], $this->semStack[$pos - 2], $this->semStack[$pos], $this->startTokenStack[$pos - 7]->position),
|
|
533
|
+
166 => fn() => $this->semValue = new Expression\ClosureNode((bool) $this->semStack[$pos - 10], $this->semStack[$pos - 8], $this->semStack[$pos - 6], $this->semStack[$pos - 5], $this->semStack[$pos - 2], $this->startTokenStack[$pos - 11]->position),
|
|
534
|
+
167 => fn() => $this->semValue = new Expression\ClosureNode((bool) $this->semStack[$pos - 7], $this->semStack[$pos - 5], $this->semStack[$pos - 3], $this->semStack[$pos - 2], null, $this->startTokenStack[$pos - 8]->position),
|
|
535
|
+
168 => fn() => $this->semValue = new Expression\NewNode($this->semStack[$pos - 1], $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
536
|
+
174 => fn() => $this->semValue = new Node\ClosureUseNode($this->semStack[$pos], $this->semStack[$pos - 1], $this->startTokenStack[$pos - 1]->position),
|
|
537
|
+
175, 177 => fn() => $this->semValue = $this->checkFunctionName(new Expression\FunctionCallNode($this->semStack[$pos - 1], $this->semStack[$pos], $this->startTokenStack[$pos - 1]->position)),
|
|
538
|
+
176, 178 => fn() => $this->semValue = $this->checkFunctionName(new Expression\FunctionCallableNode($this->semStack[$pos - 3], $this->startTokenStack[$pos - 3]->position)),
|
|
539
|
+
179 => fn() => $this->semValue = new Expression\StaticMethodCallNode($this->semStack[$pos - 3], $this->semStack[$pos - 1], $this->semStack[$pos], $this->startTokenStack[$pos - 3]->position),
|
|
540
|
+
180 => fn() => $this->semValue = new Expression\StaticMethodCallableNode($this->semStack[$pos - 5], $this->semStack[$pos - 3], $this->startTokenStack[$pos - 5]->position),
|
|
541
|
+
182, 184, 185 => fn() => $this->semValue = new Node\NameNode($this->semStack[$pos], Node\NameNode::KindNormal, $this->startTokenStack[$pos]->position),
|
|
542
|
+
186 => fn() => $this->semValue = new Node\NameNode($this->semStack[$pos], Node\NameNode::KindFullyQualified, $this->startTokenStack[$pos]->position),
|
|
543
|
+
194 => fn() => $this->semValue = new Expression\ConstantFetchNode($this->semStack[$pos], $this->startTokenStack[$pos]->position),
|
|
544
|
+
195 => fn() => $this->semValue = new Expression\ClassConstantFetchNode($this->semStack[$pos - 2], $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
545
|
+
196 => fn() => $this->semValue = new Expression\ClassConstantFetchNode($this->semStack[$pos - 4], $this->semStack[$pos - 1], $this->startTokenStack[$pos - 4]->position),
|
|
546
|
+
197 => fn() => $this->semValue = new Expression\ArrayNode($this->semStack[$pos - 1], $this->startTokenStack[$pos - 2]->position),
|
|
547
|
+
198 => fn() => $this->semValue = new Expression\ArrayNode($this->semStack[$pos - 1], $this->startTokenStack[$pos - 3]->position),
|
|
548
|
+
199 => function () use ($pos) {
|
|
549
|
+
$this->semValue = $this->semStack[$pos];
|
|
550
|
+
$this->shortArrays->attach($this->semValue);
|
|
551
|
+
},
|
|
552
|
+
200 => fn() => $this->semValue = Scalar\StringNode::parse($this->semStack[$pos], $this->startTokenStack[$pos]->position),
|
|
553
|
+
201 => fn() => $this->semValue = Scalar\InterpolatedStringNode::parse($this->semStack[$pos - 1], $this->startTokenStack[$pos - 2]->position),
|
|
554
|
+
202 => fn() => $this->semValue = Scalar\IntegerNode::parse($this->semStack[$pos], $this->startTokenStack[$pos]->position),
|
|
555
|
+
203 => fn() => $this->semValue = Scalar\FloatNode::parse($this->semStack[$pos], $this->startTokenStack[$pos]->position),
|
|
556
|
+
205, 286 => fn() => $this->semValue = new Scalar\StringNode($this->semStack[$pos], $this->startTokenStack[$pos]->position),
|
|
557
|
+
206 => fn() => $this->semValue = new Scalar\BooleanNode(true, $this->startTokenStack[$pos]->position),
|
|
558
|
+
207 => fn() => $this->semValue = new Scalar\BooleanNode(false, $this->startTokenStack[$pos]->position),
|
|
559
|
+
208 => fn() => $this->semValue = new Scalar\NullNode($this->startTokenStack[$pos]->position),
|
|
560
|
+
211 => fn() => $this->semValue = $this->parseDocString($this->semStack[$pos - 2], [$this->semStack[$pos - 1]], $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position, $this->startTokenStack[$pos]->position),
|
|
561
|
+
212 => fn() => $this->semValue = $this->parseDocString($this->semStack[$pos - 1], [], $this->semStack[$pos], $this->startTokenStack[$pos - 1]->position, $this->startTokenStack[$pos]->position),
|
|
562
|
+
213 => fn() => $this->semValue = $this->parseDocString($this->semStack[$pos - 2], $this->semStack[$pos - 1], $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position, $this->startTokenStack[$pos]->position),
|
|
563
|
+
222 => fn() => $this->semValue = new Expression\ConstantFetchNode(new Node\NameNode($this->semStack[$pos], Node\NameNode::KindNormal, $this->startTokenStack[$pos]->position), $this->startTokenStack[$pos]->position),
|
|
564
|
+
227, 243, 278 => fn() => $this->semValue = new Expression\ArrayAccessNode($this->semStack[$pos - 3], $this->semStack[$pos - 1], $this->startTokenStack[$pos - 3]->position),
|
|
565
|
+
229 => fn() => $this->semValue = new Expression\MethodCallNode($this->semStack[$pos - 3], $this->semStack[$pos - 1], $this->semStack[$pos], false, $this->startTokenStack[$pos - 3]->position),
|
|
566
|
+
230 => fn() => $this->semValue = new Expression\MethodCallableNode($this->semStack[$pos - 5], $this->semStack[$pos - 3], $this->startTokenStack[$pos - 5]->position),
|
|
567
|
+
231 => fn() => $this->semValue = new Expression\MethodCallNode($this->semStack[$pos - 3], $this->semStack[$pos - 1], $this->semStack[$pos], true, $this->startTokenStack[$pos - 3]->position),
|
|
568
|
+
232 => fn() => $this->semValue = new Expression\MethodCallNode(new Expression\BinaryOpNode($this->semStack[$pos - 3], '??', new Scalar\NullNode($this->startTokenStack[$pos - 3]->position), $this->startTokenStack[$pos - 3]->position), $this->semStack[$pos - 1], $this->semStack[$pos], true, $this->startTokenStack[$pos - 3]->position),
|
|
569
|
+
235, 244, 279 => fn() => $this->semValue = new Expression\PropertyFetchNode($this->semStack[$pos - 2], $this->semStack[$pos], false, $this->startTokenStack[$pos - 2]->position),
|
|
570
|
+
236, 245, 280 => fn() => $this->semValue = new Expression\PropertyFetchNode($this->semStack[$pos - 2], $this->semStack[$pos], true, $this->startTokenStack[$pos - 2]->position),
|
|
571
|
+
237, 246, 281 => fn() => $this->semValue = new Expression\PropertyFetchNode(new Expression\BinaryOpNode($this->semStack[$pos - 2], '??', new Scalar\NullNode($this->startTokenStack[$pos - 2]->position), $this->startTokenStack[$pos - 2]->position), $this->semStack[$pos], true, $this->startTokenStack[$pos - 2]->position),
|
|
572
|
+
239 => fn() => $this->semValue = new Expression\VariableNode($this->semStack[$pos - 1], $this->startTokenStack[$pos - 3]->position),
|
|
573
|
+
240 => function () use ($pos) {
|
|
549
574
|
$var = $this->semStack[$pos]->name;
|
|
550
575
|
$this->semValue = \is_string($var)
|
|
551
576
|
? new Node\VarLikeIdentifierNode($var, $this->startTokenStack[$pos]->position)
|
|
552
577
|
: $var;
|
|
553
578
|
},
|
|
554
|
-
|
|
555
|
-
|
|
579
|
+
241, 247, 248 => fn() => $this->semValue = new Expression\StaticPropertyFetchNode($this->semStack[$pos - 2], $this->semStack[$pos], $this->startTokenStack[$pos - 2]->position),
|
|
580
|
+
255 => fn() => $this->semValue = $this->convertArrayToList(new Expression\ArrayNode($this->semStack[$pos - 1], $this->startTokenStack[$pos - 3]->position)),
|
|
581
|
+
256 => function () use ($pos) {
|
|
556
582
|
$this->semValue = $this->semStack[$pos];
|
|
557
583
|
$end = count($this->semValue) - 1;
|
|
558
|
-
if (
|
|
584
|
+
if (
|
|
585
|
+
$this->semValue[$end]->value instanceof Expression\TemporaryNode
|
|
586
|
+
&& !$this->semValue[$end]->value->value
|
|
587
|
+
) {
|
|
559
588
|
array_pop($this->semValue);
|
|
560
589
|
}
|
|
561
590
|
},
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
591
|
+
260 => fn() => $this->semValue = new Node\ArrayItemNode(new Expression\TemporaryNode($this->semStack[$pos], $this->startTokenStack[$pos]->position), null, false, false, $this->startTokenStack[$pos]->position),
|
|
592
|
+
261 => fn() => $this->semValue = new Node\ArrayItemNode(new Expression\TemporaryNode($this->semStack[$pos], $this->startTokenStack[$pos - 2]->position), $this->semStack[$pos - 2], false, false, $this->startTokenStack[$pos - 2]->position),
|
|
593
|
+
262 => fn() => $this->semValue = new Node\ArrayItemNode(new Expression\TemporaryNode(null), null, false, false, $this->startTokenStack[$pos]->position),
|
|
594
|
+
263 => fn() => $this->semValue = new Node\ArrayItemNode($this->semStack[$pos], null, false, false, $this->startTokenStack[$pos]->position),
|
|
595
|
+
264 => fn() => $this->semValue = new Node\ArrayItemNode($this->semStack[$pos], null, true, false, $this->startTokenStack[$pos - 1]->position),
|
|
596
|
+
265, 267 => fn() => $this->semValue = new Node\ArrayItemNode($this->semStack[$pos], $this->semStack[$pos - 2], false, false, $this->startTokenStack[$pos - 2]->position),
|
|
597
|
+
266, 268 => fn() => $this->semValue = new Node\ArrayItemNode($this->semStack[$pos], $this->semStack[$pos - 3], true, false, $this->startTokenStack[$pos - 3]->position),
|
|
598
|
+
269, 270 => fn() => $this->semValue = new Node\ArrayItemNode($this->semStack[$pos], null, false, true, $this->startTokenStack[$pos - 1]->position),
|
|
599
|
+
271, 272 => function () use ($pos) {
|
|
568
600
|
$this->semStack[$pos - 1][] = $this->semStack[$pos];
|
|
569
601
|
$this->semValue = $this->semStack[$pos - 1];
|
|
570
602
|
},
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
603
|
+
274 => fn() => $this->semValue = [$this->semStack[$pos - 1], $this->semStack[$pos]],
|
|
604
|
+
275 => fn() => $this->semValue = new Node\InterpolatedStringPartNode($this->semStack[$pos], $this->startTokenStack[$pos]->position),
|
|
605
|
+
276 => fn() => $this->semValue = new Expression\VariableNode($this->semStack[$pos], $this->startTokenStack[$pos]->position),
|
|
606
|
+
282, 283 => fn() => $this->semValue = new Expression\VariableNode($this->semStack[$pos - 1], $this->startTokenStack[$pos - 2]->position),
|
|
607
|
+
284 => fn() => $this->semValue = new Expression\ArrayAccessNode($this->semStack[$pos - 4], $this->semStack[$pos - 2], $this->startTokenStack[$pos - 5]->position),
|
|
608
|
+
287 => fn() => $this->semValue = TagParser::parseOffset($this->semStack[$pos], $this->startTokenStack[$pos]->position),
|
|
609
|
+
288 => fn() => $this->semValue = TagParser::parseOffset('-' . $this->semStack[$pos], $this->startTokenStack[$pos - 1]->position),
|
|
578
610
|
})();
|
|
579
611
|
}
|
|
580
612
|
}
|