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