diff --git a/src/Railt/Compiler/Parser/CompiledSDLParser.php b/src/Railt/Compiler/Parser/CompiledSDLParser.php index d5371d19..9700fccd 100644 --- a/src/Railt/Compiler/Parser/CompiledSDLParser.php +++ b/src/Railt/Compiler/Parser/CompiledSDLParser.php @@ -19,283 +19,283 @@ public function __construct() parent::__construct( [ 'default' => [ - 'T_NON_NULL' => '!', - 'T_VAR' => '\$', - 'T_PARENTHESIS_OPEN' => '\(', - 'T_PARENTHESIS_CLOSE' => '\)', - 'T_THREE_DOTS' => '\.\.\.', - 'T_COLON' => ':', - 'T_EQUAL' => '=', - 'T_DIRECTIVE_AT' => '@', - 'T_BRACKET_OPEN' => '\[', - 'T_BRACKET_CLOSE' => '\]', - 'T_BRACE_OPEN' => '{', - 'T_BRACE_CLOSE:default' => '}', - 'T_OR' => '\|', - 'T_AND' => '\&', - 'T_ON' => 'on\b', - 'T_NUMBER_VALUE' => '\-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][\+\-]?[0-9]+)?\b', - 'T_BOOL_TRUE' => 'true\b', - 'T_BOOL_FALSE' => 'false\b', - 'T_NULL' => 'null\b', + 'T_NON_NULL' => '!', + 'T_VAR' => '\$', + 'T_PARENTHESIS_OPEN' => '\(', + 'T_PARENTHESIS_CLOSE' => '\)', + 'T_THREE_DOTS' => '\.\.\.', + 'T_COLON' => ':', + 'T_EQUAL' => '=', + 'T_DIRECTIVE_AT' => '@', + 'T_BRACKET_OPEN' => '\[', + 'T_BRACKET_CLOSE' => '\]', + 'T_BRACE_OPEN' => '{', + 'T_BRACE_CLOSE:default' => '}', + 'T_OR' => '\|', + 'T_AND' => '\&', + 'T_ON' => 'on\b', + 'T_NUMBER_VALUE' => '\-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][\+\-]?[0-9]+)?\b', + 'T_BOOL_TRUE' => 'true\b', + 'T_BOOL_FALSE' => 'false\b', + 'T_NULL' => 'null\b', 'T_MULTILINE_STRING_OPEN:multiline_string' => '"""', - 'T_STRING_OPEN:string' => '"', - 'T_TYPE' => 'type\b', - 'T_TYPE_IMPLEMENTS' => 'implements\b', - 'T_ENUM' => 'enum\b', - 'T_UNION' => 'union\b', - 'T_INTERFACE' => 'interface\b', - 'T_SCHEMA' => 'schema\b', - 'T_SCHEMA_QUERY' => 'query\b', - 'T_SCHEMA_MUTATION' => 'mutation\b', - 'T_SCHEMA_SUBSCRIPTION' => 'subscription\b', - 'T_SCALAR' => 'scalar\b', - 'T_DIRECTIVE' => 'directive\b', - 'T_INPUT' => 'input\b', - 'T_EXTEND' => 'extend\b', - 'T_NAME' => '([_A-Za-z][_0-9A-Za-z]*)', - 'skip' => '(?:(?:[\xfe\xff|\x20|\x09|\x0a|\x0d]+|#[^\n]*)|,)', + 'T_STRING_OPEN:string' => '"', + 'T_TYPE' => 'type\b', + 'T_TYPE_IMPLEMENTS' => 'implements\b', + 'T_ENUM' => 'enum\b', + 'T_UNION' => 'union\b', + 'T_INTERFACE' => 'interface\b', + 'T_SCHEMA' => 'schema\b', + 'T_SCHEMA_QUERY' => 'query\b', + 'T_SCHEMA_MUTATION' => 'mutation\b', + 'T_SCHEMA_SUBSCRIPTION' => 'subscription\b', + 'T_SCALAR' => 'scalar\b', + 'T_DIRECTIVE' => 'directive\b', + 'T_INPUT' => 'input\b', + 'T_EXTEND' => 'extend\b', + 'T_NAME' => '([_A-Za-z][_0-9A-Za-z]*)', + 'skip' => '(?:(?:[\xfe\xff|\x20|\x09|\x0a|\x0d]+|#[^\n]*)|,)', ], 'multiline_string' => [ - 'T_MULTILINE_STRING' => '(?:\\\"""|(?!""").|\s)+', + 'T_MULTILINE_STRING' => '(?:\\\"""|(?!""").|\s)+', 'T_MULTILINE_STRING_CLOSE:default' => '"""', ], 'string' => [ - 'T_STRING' => '[^"\\\]+(\\\.[^"\\\]*)*', + 'T_STRING' => '[^"\\\]+(\\\.[^"\\\]*)*', 'T_STRING_CLOSE:default' => '"', ], ], [ - 0 => new \Railt\Parser\Llk\Rule\Repetition(0, 0, -1, 'Definitions', null), - 'Document' => new \Railt\Parser\Llk\Rule\Concatenation('Document', [0], '#Document'), - 'Definitions' => new \Railt\Parser\Llk\Rule\Choice('Definitions', ['ObjectDefinition', 'InterfaceDefinition', 'EnumDefinition', 'UnionDefinition', 'SchemaDefinition', 'ScalarDefinition', 'InputDefinition', 'ExtendDefinition', 'DirectiveDefinition'], null), - 3 => new \Railt\Parser\Llk\Rule\Token(3, 'T_BOOL_TRUE', null, -1, true), - 4 => new \Railt\Parser\Llk\Rule\Token(4, 'T_BOOL_FALSE', null, -1, true), - 5 => new \Railt\Parser\Llk\Rule\Token(5, 'T_NULL', null, -1, true), - 'ValueKeyword' => new \Railt\Parser\Llk\Rule\Choice('ValueKeyword', [3, 4, 5], null), - 7 => new \Railt\Parser\Llk\Rule\Token(7, 'T_ON', null, -1, true), - 8 => new \Railt\Parser\Llk\Rule\Token(8, 'T_TYPE', null, -1, true), - 9 => new \Railt\Parser\Llk\Rule\Token(9, 'T_TYPE_IMPLEMENTS', null, -1, true), - 10 => new \Railt\Parser\Llk\Rule\Token(10, 'T_ENUM', null, -1, true), - 11 => new \Railt\Parser\Llk\Rule\Token(11, 'T_UNION', null, -1, true), - 12 => new \Railt\Parser\Llk\Rule\Token(12, 'T_INTERFACE', null, -1, true), - 13 => new \Railt\Parser\Llk\Rule\Token(13, 'T_SCHEMA', null, -1, true), - 14 => new \Railt\Parser\Llk\Rule\Token(14, 'T_SCHEMA_QUERY', null, -1, true), - 15 => new \Railt\Parser\Llk\Rule\Token(15, 'T_SCHEMA_MUTATION', null, -1, true), - 16 => new \Railt\Parser\Llk\Rule\Token(16, 'T_SCALAR', null, -1, true), - 17 => new \Railt\Parser\Llk\Rule\Token(17, 'T_DIRECTIVE', null, -1, true), - 18 => new \Railt\Parser\Llk\Rule\Token(18, 'T_INPUT', null, -1, true), - 19 => new \Railt\Parser\Llk\Rule\Token(19, 'T_EXTEND', null, -1, true), - 'Keyword' => new \Railt\Parser\Llk\Rule\Choice('Keyword', [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], null), - 'Number' => new \Railt\Parser\Llk\Rule\Token('Number', 'T_NUMBER_VALUE', null, -1, true), - 'Nullable' => new \Railt\Parser\Llk\Rule\Token('Nullable', 'T_NULL', null, -1, true), - 23 => new \Railt\Parser\Llk\Rule\Token(23, 'T_BOOL_TRUE', null, -1, true), - 24 => new \Railt\Parser\Llk\Rule\Token(24, 'T_BOOL_FALSE', null, -1, true), - 'Boolean' => new \Railt\Parser\Llk\Rule\Choice('Boolean', [23, 24], null), - 26 => new \Railt\Parser\Llk\Rule\Token(26, 'T_MULTILINE_STRING_OPEN', null, -1, false), - 27 => new \Railt\Parser\Llk\Rule\Token(27, 'T_MULTILINE_STRING', null, -1, true), - 28 => new \Railt\Parser\Llk\Rule\Token(28, 'T_MULTILINE_STRING_CLOSE', null, -1, false), - 29 => new \Railt\Parser\Llk\Rule\Concatenation(29, [26, 27, 28], null), - 30 => new \Railt\Parser\Llk\Rule\Token(30, 'T_STRING_OPEN', null, -1, false), - 31 => new \Railt\Parser\Llk\Rule\Token(31, 'T_STRING', null, -1, true), - 32 => new \Railt\Parser\Llk\Rule\Token(32, 'T_STRING_CLOSE', null, -1, false), - 33 => new \Railt\Parser\Llk\Rule\Concatenation(33, [30, 31, 32], null), - 'String' => new \Railt\Parser\Llk\Rule\Choice('String', [29, 33], null), - 35 => new \Railt\Parser\Llk\Rule\Token(35, 'T_NAME', null, -1, true), - 'Word' => new \Railt\Parser\Llk\Rule\Choice('Word', [35, 'ValueKeyword'], null), - 'Name' => new \Railt\Parser\Llk\Rule\Concatenation('Name', ['Word'], '#Name'), - 38 => new \Railt\Parser\Llk\Rule\Choice(38, ['String', 'Word', 'Keyword'], null), - 'Key' => new \Railt\Parser\Llk\Rule\Concatenation('Key', [38], '#Name'), - 40 => new \Railt\Parser\Llk\Rule\Choice(40, ['String', 'Number', 'Nullable', 'Keyword', 'Object', 'List', 'Word'], null), - 'Value' => new \Railt\Parser\Llk\Rule\Concatenation('Value', [40], '#Value'), - 'ValueDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('ValueDefinition', ['ValueDefinitionResolver'], null), - 43 => new \Railt\Parser\Llk\Rule\Token(43, 'T_NON_NULL', null, -1, true), - 44 => new \Railt\Parser\Llk\Rule\Repetition(44, 0, 1, 43, null), - 45 => new \Railt\Parser\Llk\Rule\Concatenation(45, ['ValueListDefinition', 44], '#List'), - 46 => new \Railt\Parser\Llk\Rule\Token(46, 'T_NON_NULL', null, -1, true), - 47 => new \Railt\Parser\Llk\Rule\Repetition(47, 0, 1, 46, null), - 48 => new \Railt\Parser\Llk\Rule\Concatenation(48, ['ValueScalarDefinition', 47], '#Type'), - 'ValueDefinitionResolver' => new \Railt\Parser\Llk\Rule\Choice('ValueDefinitionResolver', [45, 48], null), - 50 => new \Railt\Parser\Llk\Rule\Token(50, 'T_BRACKET_OPEN', null, -1, false), - 51 => new \Railt\Parser\Llk\Rule\Token(51, 'T_NON_NULL', null, -1, true), - 52 => new \Railt\Parser\Llk\Rule\Repetition(52, 0, 1, 51, null), - 53 => new \Railt\Parser\Llk\Rule\Concatenation(53, ['ValueScalarDefinition', 52], '#Type'), - 54 => new \Railt\Parser\Llk\Rule\Token(54, 'T_BRACKET_CLOSE', null, -1, false), - 'ValueListDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('ValueListDefinition', [50, 53, 54], null), - 'ValueScalarDefinition' => new \Railt\Parser\Llk\Rule\Choice('ValueScalarDefinition', ['Keyword', 'Word'], null), - 57 => new \Railt\Parser\Llk\Rule\Token(57, 'T_BRACE_OPEN', null, -1, false), - 58 => new \Railt\Parser\Llk\Rule\Repetition(58, 0, -1, 'ObjectPair', null), - 59 => new \Railt\Parser\Llk\Rule\Token(59, 'T_BRACE_CLOSE', null, -1, false), - 'Object' => new \Railt\Parser\Llk\Rule\Concatenation('Object', [57, 58, 59], '#Object'), - 61 => new \Railt\Parser\Llk\Rule\Token(61, 'T_COLON', null, -1, false), - 'ObjectPair' => new \Railt\Parser\Llk\Rule\Concatenation('ObjectPair', ['Key', 61, 'Value'], '#ObjectPair'), - 63 => new \Railt\Parser\Llk\Rule\Token(63, 'T_BRACKET_OPEN', null, -1, false), - 64 => new \Railt\Parser\Llk\Rule\Repetition(64, 0, -1, 'Value', null), - 65 => new \Railt\Parser\Llk\Rule\Token(65, 'T_BRACKET_CLOSE', null, -1, false), - 'List' => new \Railt\Parser\Llk\Rule\Concatenation('List', [63, 64, 65], '#List'), - 67 => new \Railt\Parser\Llk\Rule\Token(67, 'T_MULTILINE_STRING_OPEN', null, -1, false), - 68 => new \Railt\Parser\Llk\Rule\Token(68, 'T_MULTILINE_STRING', null, -1, true), - 69 => new \Railt\Parser\Llk\Rule\Token(69, 'T_MULTILINE_STRING_CLOSE', null, -1, false), - 70 => new \Railt\Parser\Llk\Rule\Concatenation(70, [67, 68, 69], null), - 'Documentation' => new \Railt\Parser\Llk\Rule\Concatenation('Documentation', [70], '#Description'), - 72 => new \Railt\Parser\Llk\Rule\Repetition(72, 0, 1, 'Documentation', null), - 73 => new \Railt\Parser\Llk\Rule\Token(73, 'T_SCHEMA', null, -1, false), - 74 => new \Railt\Parser\Llk\Rule\Repetition(74, 0, -1, 'Directive', null), - 75 => new \Railt\Parser\Llk\Rule\Token(75, 'T_BRACE_OPEN', null, -1, false), - 76 => new \Railt\Parser\Llk\Rule\Token(76, 'T_BRACE_CLOSE', null, -1, false), - 'SchemaDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('SchemaDefinition', [72, 73, 74, 75, 'SchemaDefinitionBody', 76], '#SchemaDefinition'), - 78 => new \Railt\Parser\Llk\Rule\Choice(78, ['SchemaDefinitionQuery', 'SchemaDefinitionMutation', 'SchemaDefinitionSubscription'], null), - 'SchemaDefinitionBody' => new \Railt\Parser\Llk\Rule\Repetition('SchemaDefinitionBody', 0, -1, 78, null), - 80 => new \Railt\Parser\Llk\Rule\Repetition(80, 0, 1, 'Documentation', null), - 81 => new \Railt\Parser\Llk\Rule\Token(81, 'T_SCHEMA_QUERY', null, -1, false), - 82 => new \Railt\Parser\Llk\Rule\Token(82, 'T_COLON', null, -1, false), - 'SchemaDefinitionQuery' => new \Railt\Parser\Llk\Rule\Concatenation('SchemaDefinitionQuery', [80, 81, 82, 'SchemaDefinitionFieldValue'], '#Query'), - 84 => new \Railt\Parser\Llk\Rule\Repetition(84, 0, 1, 'Documentation', null), - 85 => new \Railt\Parser\Llk\Rule\Token(85, 'T_SCHEMA_MUTATION', null, -1, false), - 86 => new \Railt\Parser\Llk\Rule\Token(86, 'T_COLON', null, -1, false), - 'SchemaDefinitionMutation' => new \Railt\Parser\Llk\Rule\Concatenation('SchemaDefinitionMutation', [84, 85, 86, 'SchemaDefinitionFieldValue'], '#Mutation'), - 88 => new \Railt\Parser\Llk\Rule\Repetition(88, 0, 1, 'Documentation', null), - 89 => new \Railt\Parser\Llk\Rule\Token(89, 'T_SCHEMA_SUBSCRIPTION', null, -1, false), - 90 => new \Railt\Parser\Llk\Rule\Token(90, 'T_COLON', null, -1, false), - 'SchemaDefinitionSubscription' => new \Railt\Parser\Llk\Rule\Concatenation('SchemaDefinitionSubscription', [88, 89, 90, 'SchemaDefinitionFieldValue'], '#Subscription'), - 92 => new \Railt\Parser\Llk\Rule\Repetition(92, 0, -1, 'Directive', null), - 'SchemaDefinitionFieldValue' => new \Railt\Parser\Llk\Rule\Concatenation('SchemaDefinitionFieldValue', ['ValueDefinition', 92], null), - 94 => new \Railt\Parser\Llk\Rule\Repetition(94, 0, 1, 'Documentation', null), - 95 => new \Railt\Parser\Llk\Rule\Token(95, 'T_SCALAR', null, -1, false), - 96 => new \Railt\Parser\Llk\Rule\Repetition(96, 0, -1, 'Directive', null), - 'ScalarDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('ScalarDefinition', [94, 95, 'Name', 96], '#ScalarDefinition'), - 98 => new \Railt\Parser\Llk\Rule\Repetition(98, 0, 1, 'Documentation', null), - 99 => new \Railt\Parser\Llk\Rule\Token(99, 'T_INPUT', null, -1, false), - 100 => new \Railt\Parser\Llk\Rule\Repetition(100, 0, -1, 'Directive', null), - 101 => new \Railt\Parser\Llk\Rule\Token(101, 'T_BRACE_OPEN', null, -1, false), - 102 => new \Railt\Parser\Llk\Rule\Repetition(102, 0, -1, 'InputDefinitionField', null), - 103 => new \Railt\Parser\Llk\Rule\Token(103, 'T_BRACE_CLOSE', null, -1, false), - 'InputDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('InputDefinition', [98, 99, 'Name', 100, 101, 102, 103], '#InputDefinition'), - 105 => new \Railt\Parser\Llk\Rule\Repetition(105, 0, 1, 'Documentation', null), - 106 => new \Railt\Parser\Llk\Rule\Token(106, 'T_COLON', null, -1, false), - 107 => new \Railt\Parser\Llk\Rule\Repetition(107, 0, 1, 'InputDefinitionDefaultValue', null), - 108 => new \Railt\Parser\Llk\Rule\Repetition(108, 0, -1, 'Directive', null), - 109 => new \Railt\Parser\Llk\Rule\Concatenation(109, ['Key', 106, 'ValueDefinition', 107, 108], null), - 'InputDefinitionField' => new \Railt\Parser\Llk\Rule\Concatenation('InputDefinitionField', [105, 109], '#Argument'), - 111 => new \Railt\Parser\Llk\Rule\Token(111, 'T_EQUAL', null, -1, false), - 'InputDefinitionDefaultValue' => new \Railt\Parser\Llk\Rule\Concatenation('InputDefinitionDefaultValue', [111, 'Value'], null), - 113 => new \Railt\Parser\Llk\Rule\Repetition(113, 0, 1, 'Documentation', null), - 114 => new \Railt\Parser\Llk\Rule\Token(114, 'T_EXTEND', null, -1, false), - 115 => new \Railt\Parser\Llk\Rule\Concatenation(115, ['ObjectDefinition'], '#ExtendDefinition'), - 116 => new \Railt\Parser\Llk\Rule\Concatenation(116, ['InterfaceDefinition'], '#ExtendDefinition'), - 117 => new \Railt\Parser\Llk\Rule\Concatenation(117, ['EnumDefinition'], '#ExtendDefinition'), - 118 => new \Railt\Parser\Llk\Rule\Concatenation(118, ['UnionDefinition'], '#ExtendDefinition'), - 119 => new \Railt\Parser\Llk\Rule\Concatenation(119, ['SchemaDefinition'], '#ExtendDefinition'), - 120 => new \Railt\Parser\Llk\Rule\Concatenation(120, ['ScalarDefinition'], '#ExtendDefinition'), - 121 => new \Railt\Parser\Llk\Rule\Concatenation(121, ['InputDefinition'], '#ExtendDefinition'), - 122 => new \Railt\Parser\Llk\Rule\Concatenation(122, ['DirectiveDefinition'], '#ExtendDefinition'), - 123 => new \Railt\Parser\Llk\Rule\Choice(123, [115, 116, 117, 118, 119, 120, 121, 122], null), - 'ExtendDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('ExtendDefinition', [113, 114, 123], null), - 125 => new \Railt\Parser\Llk\Rule\Repetition(125, 0, 1, 'Documentation', null), - 126 => new \Railt\Parser\Llk\Rule\Token(126, 'T_DIRECTIVE', null, -1, false), - 127 => new \Railt\Parser\Llk\Rule\Token(127, 'T_DIRECTIVE_AT', null, -1, false), - 128 => new \Railt\Parser\Llk\Rule\Repetition(128, 0, -1, 'DirectiveDefinitionArguments', null), - 129 => new \Railt\Parser\Llk\Rule\Token(129, 'T_ON', null, -1, false), - 130 => new \Railt\Parser\Llk\Rule\Repetition(130, 1, -1, 'DirectiveDefinitionTargets', null), - 'DirectiveDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveDefinition', [125, 126, 127, 'Name', 128, 129, 130], '#DirectiveDefinition'), - 132 => new \Railt\Parser\Llk\Rule\Token(132, 'T_PARENTHESIS_OPEN', null, -1, false), - 133 => new \Railt\Parser\Llk\Rule\Repetition(133, 0, -1, 'DirectiveDefinitionArgument', null), - 134 => new \Railt\Parser\Llk\Rule\Token(134, 'T_PARENTHESIS_CLOSE', null, -1, false), - 'DirectiveDefinitionArguments' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveDefinitionArguments', [132, 133, 134], null), - 136 => new \Railt\Parser\Llk\Rule\Repetition(136, 0, 1, 'Documentation', null), - 137 => new \Railt\Parser\Llk\Rule\Token(137, 'T_COLON', null, -1, false), - 138 => new \Railt\Parser\Llk\Rule\Repetition(138, 0, 1, 'DirectiveDefinitionDefaultValue', null), - 139 => new \Railt\Parser\Llk\Rule\Repetition(139, 0, -1, 'Directive', null), - 'DirectiveDefinitionArgument' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveDefinitionArgument', [136, 'Key', 137, 'ValueDefinition', 138, 139], '#Argument'), - 141 => new \Railt\Parser\Llk\Rule\Token(141, 'T_OR', null, -1, false), - 142 => new \Railt\Parser\Llk\Rule\Concatenation(142, [141, 'Key'], null), - 143 => new \Railt\Parser\Llk\Rule\Repetition(143, 0, -1, 142, null), - 'DirectiveDefinitionTargets' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveDefinitionTargets', ['Key', 143], '#Target'), - 145 => new \Railt\Parser\Llk\Rule\Token(145, 'T_EQUAL', null, -1, false), + 0 => new \Railt\Parser\Llk\Rule\Repetition(0, 0, -1, 'Definitions', null), + 'Document' => new \Railt\Parser\Llk\Rule\Concatenation('Document', [0], '#Document'), + 'Definitions' => new \Railt\Parser\Llk\Rule\Choice('Definitions', ['ObjectDefinition', 'InterfaceDefinition', 'EnumDefinition', 'UnionDefinition', 'SchemaDefinition', 'ScalarDefinition', 'InputDefinition', 'ExtendDefinition', 'DirectiveDefinition'], null), + 3 => new \Railt\Parser\Llk\Rule\Token(3, 'T_BOOL_TRUE', null, -1, true), + 4 => new \Railt\Parser\Llk\Rule\Token(4, 'T_BOOL_FALSE', null, -1, true), + 5 => new \Railt\Parser\Llk\Rule\Token(5, 'T_NULL', null, -1, true), + 'ValueKeyword' => new \Railt\Parser\Llk\Rule\Choice('ValueKeyword', [3, 4, 5], null), + 7 => new \Railt\Parser\Llk\Rule\Token(7, 'T_ON', null, -1, true), + 8 => new \Railt\Parser\Llk\Rule\Token(8, 'T_TYPE', null, -1, true), + 9 => new \Railt\Parser\Llk\Rule\Token(9, 'T_TYPE_IMPLEMENTS', null, -1, true), + 10 => new \Railt\Parser\Llk\Rule\Token(10, 'T_ENUM', null, -1, true), + 11 => new \Railt\Parser\Llk\Rule\Token(11, 'T_UNION', null, -1, true), + 12 => new \Railt\Parser\Llk\Rule\Token(12, 'T_INTERFACE', null, -1, true), + 13 => new \Railt\Parser\Llk\Rule\Token(13, 'T_SCHEMA', null, -1, true), + 14 => new \Railt\Parser\Llk\Rule\Token(14, 'T_SCHEMA_QUERY', null, -1, true), + 15 => new \Railt\Parser\Llk\Rule\Token(15, 'T_SCHEMA_MUTATION', null, -1, true), + 16 => new \Railt\Parser\Llk\Rule\Token(16, 'T_SCALAR', null, -1, true), + 17 => new \Railt\Parser\Llk\Rule\Token(17, 'T_DIRECTIVE', null, -1, true), + 18 => new \Railt\Parser\Llk\Rule\Token(18, 'T_INPUT', null, -1, true), + 19 => new \Railt\Parser\Llk\Rule\Token(19, 'T_EXTEND', null, -1, true), + 'Keyword' => new \Railt\Parser\Llk\Rule\Choice('Keyword', [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], null), + 'Number' => new \Railt\Parser\Llk\Rule\Token('Number', 'T_NUMBER_VALUE', null, -1, true), + 'Nullable' => new \Railt\Parser\Llk\Rule\Token('Nullable', 'T_NULL', null, -1, true), + 23 => new \Railt\Parser\Llk\Rule\Token(23, 'T_BOOL_TRUE', null, -1, true), + 24 => new \Railt\Parser\Llk\Rule\Token(24, 'T_BOOL_FALSE', null, -1, true), + 'Boolean' => new \Railt\Parser\Llk\Rule\Choice('Boolean', [23, 24], null), + 26 => new \Railt\Parser\Llk\Rule\Token(26, 'T_MULTILINE_STRING_OPEN', null, -1, false), + 27 => new \Railt\Parser\Llk\Rule\Token(27, 'T_MULTILINE_STRING', null, -1, true), + 28 => new \Railt\Parser\Llk\Rule\Token(28, 'T_MULTILINE_STRING_CLOSE', null, -1, false), + 29 => new \Railt\Parser\Llk\Rule\Concatenation(29, [26, 27, 28], null), + 30 => new \Railt\Parser\Llk\Rule\Token(30, 'T_STRING_OPEN', null, -1, false), + 31 => new \Railt\Parser\Llk\Rule\Token(31, 'T_STRING', null, -1, true), + 32 => new \Railt\Parser\Llk\Rule\Token(32, 'T_STRING_CLOSE', null, -1, false), + 33 => new \Railt\Parser\Llk\Rule\Concatenation(33, [30, 31, 32], null), + 'String' => new \Railt\Parser\Llk\Rule\Choice('String', [29, 33], null), + 35 => new \Railt\Parser\Llk\Rule\Token(35, 'T_NAME', null, -1, true), + 'Word' => new \Railt\Parser\Llk\Rule\Choice('Word', [35, 'ValueKeyword'], null), + 'Name' => new \Railt\Parser\Llk\Rule\Concatenation('Name', ['Word'], '#Name'), + 38 => new \Railt\Parser\Llk\Rule\Choice(38, ['String', 'Word', 'Keyword'], null), + 'Key' => new \Railt\Parser\Llk\Rule\Concatenation('Key', [38], '#Name'), + 40 => new \Railt\Parser\Llk\Rule\Choice(40, ['String', 'Number', 'Nullable', 'Keyword', 'Object', 'List', 'Word'], null), + 'Value' => new \Railt\Parser\Llk\Rule\Concatenation('Value', [40], '#Value'), + 'ValueDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('ValueDefinition', ['ValueDefinitionResolver'], null), + 43 => new \Railt\Parser\Llk\Rule\Token(43, 'T_NON_NULL', null, -1, true), + 44 => new \Railt\Parser\Llk\Rule\Repetition(44, 0, 1, 43, null), + 45 => new \Railt\Parser\Llk\Rule\Concatenation(45, ['ValueListDefinition', 44], '#List'), + 46 => new \Railt\Parser\Llk\Rule\Token(46, 'T_NON_NULL', null, -1, true), + 47 => new \Railt\Parser\Llk\Rule\Repetition(47, 0, 1, 46, null), + 48 => new \Railt\Parser\Llk\Rule\Concatenation(48, ['ValueScalarDefinition', 47], '#Type'), + 'ValueDefinitionResolver' => new \Railt\Parser\Llk\Rule\Choice('ValueDefinitionResolver', [45, 48], null), + 50 => new \Railt\Parser\Llk\Rule\Token(50, 'T_BRACKET_OPEN', null, -1, false), + 51 => new \Railt\Parser\Llk\Rule\Token(51, 'T_NON_NULL', null, -1, true), + 52 => new \Railt\Parser\Llk\Rule\Repetition(52, 0, 1, 51, null), + 53 => new \Railt\Parser\Llk\Rule\Concatenation(53, ['ValueScalarDefinition', 52], '#Type'), + 54 => new \Railt\Parser\Llk\Rule\Token(54, 'T_BRACKET_CLOSE', null, -1, false), + 'ValueListDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('ValueListDefinition', [50, 53, 54], null), + 'ValueScalarDefinition' => new \Railt\Parser\Llk\Rule\Choice('ValueScalarDefinition', ['Keyword', 'Word'], null), + 57 => new \Railt\Parser\Llk\Rule\Token(57, 'T_BRACE_OPEN', null, -1, false), + 58 => new \Railt\Parser\Llk\Rule\Repetition(58, 0, -1, 'ObjectPair', null), + 59 => new \Railt\Parser\Llk\Rule\Token(59, 'T_BRACE_CLOSE', null, -1, false), + 'Object' => new \Railt\Parser\Llk\Rule\Concatenation('Object', [57, 58, 59], '#Object'), + 61 => new \Railt\Parser\Llk\Rule\Token(61, 'T_COLON', null, -1, false), + 'ObjectPair' => new \Railt\Parser\Llk\Rule\Concatenation('ObjectPair', ['Key', 61, 'Value'], '#ObjectPair'), + 63 => new \Railt\Parser\Llk\Rule\Token(63, 'T_BRACKET_OPEN', null, -1, false), + 64 => new \Railt\Parser\Llk\Rule\Repetition(64, 0, -1, 'Value', null), + 65 => new \Railt\Parser\Llk\Rule\Token(65, 'T_BRACKET_CLOSE', null, -1, false), + 'List' => new \Railt\Parser\Llk\Rule\Concatenation('List', [63, 64, 65], '#List'), + 67 => new \Railt\Parser\Llk\Rule\Token(67, 'T_MULTILINE_STRING_OPEN', null, -1, false), + 68 => new \Railt\Parser\Llk\Rule\Token(68, 'T_MULTILINE_STRING', null, -1, true), + 69 => new \Railt\Parser\Llk\Rule\Token(69, 'T_MULTILINE_STRING_CLOSE', null, -1, false), + 70 => new \Railt\Parser\Llk\Rule\Concatenation(70, [67, 68, 69], null), + 'Documentation' => new \Railt\Parser\Llk\Rule\Concatenation('Documentation', [70], '#Description'), + 72 => new \Railt\Parser\Llk\Rule\Repetition(72, 0, 1, 'Documentation', null), + 73 => new \Railt\Parser\Llk\Rule\Token(73, 'T_SCHEMA', null, -1, false), + 74 => new \Railt\Parser\Llk\Rule\Repetition(74, 0, -1, 'Directive', null), + 75 => new \Railt\Parser\Llk\Rule\Token(75, 'T_BRACE_OPEN', null, -1, false), + 76 => new \Railt\Parser\Llk\Rule\Token(76, 'T_BRACE_CLOSE', null, -1, false), + 'SchemaDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('SchemaDefinition', [72, 73, 74, 75, 'SchemaDefinitionBody', 76], '#SchemaDefinition'), + 78 => new \Railt\Parser\Llk\Rule\Choice(78, ['SchemaDefinitionQuery', 'SchemaDefinitionMutation', 'SchemaDefinitionSubscription'], null), + 'SchemaDefinitionBody' => new \Railt\Parser\Llk\Rule\Repetition('SchemaDefinitionBody', 0, -1, 78, null), + 80 => new \Railt\Parser\Llk\Rule\Repetition(80, 0, 1, 'Documentation', null), + 81 => new \Railt\Parser\Llk\Rule\Token(81, 'T_SCHEMA_QUERY', null, -1, false), + 82 => new \Railt\Parser\Llk\Rule\Token(82, 'T_COLON', null, -1, false), + 'SchemaDefinitionQuery' => new \Railt\Parser\Llk\Rule\Concatenation('SchemaDefinitionQuery', [80, 81, 82, 'SchemaDefinitionFieldValue'], '#Query'), + 84 => new \Railt\Parser\Llk\Rule\Repetition(84, 0, 1, 'Documentation', null), + 85 => new \Railt\Parser\Llk\Rule\Token(85, 'T_SCHEMA_MUTATION', null, -1, false), + 86 => new \Railt\Parser\Llk\Rule\Token(86, 'T_COLON', null, -1, false), + 'SchemaDefinitionMutation' => new \Railt\Parser\Llk\Rule\Concatenation('SchemaDefinitionMutation', [84, 85, 86, 'SchemaDefinitionFieldValue'], '#Mutation'), + 88 => new \Railt\Parser\Llk\Rule\Repetition(88, 0, 1, 'Documentation', null), + 89 => new \Railt\Parser\Llk\Rule\Token(89, 'T_SCHEMA_SUBSCRIPTION', null, -1, false), + 90 => new \Railt\Parser\Llk\Rule\Token(90, 'T_COLON', null, -1, false), + 'SchemaDefinitionSubscription' => new \Railt\Parser\Llk\Rule\Concatenation('SchemaDefinitionSubscription', [88, 89, 90, 'SchemaDefinitionFieldValue'], '#Subscription'), + 92 => new \Railt\Parser\Llk\Rule\Repetition(92, 0, -1, 'Directive', null), + 'SchemaDefinitionFieldValue' => new \Railt\Parser\Llk\Rule\Concatenation('SchemaDefinitionFieldValue', ['ValueDefinition', 92], null), + 94 => new \Railt\Parser\Llk\Rule\Repetition(94, 0, 1, 'Documentation', null), + 95 => new \Railt\Parser\Llk\Rule\Token(95, 'T_SCALAR', null, -1, false), + 96 => new \Railt\Parser\Llk\Rule\Repetition(96, 0, -1, 'Directive', null), + 'ScalarDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('ScalarDefinition', [94, 95, 'Name', 96], '#ScalarDefinition'), + 98 => new \Railt\Parser\Llk\Rule\Repetition(98, 0, 1, 'Documentation', null), + 99 => new \Railt\Parser\Llk\Rule\Token(99, 'T_INPUT', null, -1, false), + 100 => new \Railt\Parser\Llk\Rule\Repetition(100, 0, -1, 'Directive', null), + 101 => new \Railt\Parser\Llk\Rule\Token(101, 'T_BRACE_OPEN', null, -1, false), + 102 => new \Railt\Parser\Llk\Rule\Repetition(102, 0, -1, 'InputDefinitionField', null), + 103 => new \Railt\Parser\Llk\Rule\Token(103, 'T_BRACE_CLOSE', null, -1, false), + 'InputDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('InputDefinition', [98, 99, 'Name', 100, 101, 102, 103], '#InputDefinition'), + 105 => new \Railt\Parser\Llk\Rule\Repetition(105, 0, 1, 'Documentation', null), + 106 => new \Railt\Parser\Llk\Rule\Token(106, 'T_COLON', null, -1, false), + 107 => new \Railt\Parser\Llk\Rule\Repetition(107, 0, 1, 'InputDefinitionDefaultValue', null), + 108 => new \Railt\Parser\Llk\Rule\Repetition(108, 0, -1, 'Directive', null), + 109 => new \Railt\Parser\Llk\Rule\Concatenation(109, ['Key', 106, 'ValueDefinition', 107, 108], null), + 'InputDefinitionField' => new \Railt\Parser\Llk\Rule\Concatenation('InputDefinitionField', [105, 109], '#Argument'), + 111 => new \Railt\Parser\Llk\Rule\Token(111, 'T_EQUAL', null, -1, false), + 'InputDefinitionDefaultValue' => new \Railt\Parser\Llk\Rule\Concatenation('InputDefinitionDefaultValue', [111, 'Value'], null), + 113 => new \Railt\Parser\Llk\Rule\Repetition(113, 0, 1, 'Documentation', null), + 114 => new \Railt\Parser\Llk\Rule\Token(114, 'T_EXTEND', null, -1, false), + 115 => new \Railt\Parser\Llk\Rule\Concatenation(115, ['ObjectDefinition'], '#ExtendDefinition'), + 116 => new \Railt\Parser\Llk\Rule\Concatenation(116, ['InterfaceDefinition'], '#ExtendDefinition'), + 117 => new \Railt\Parser\Llk\Rule\Concatenation(117, ['EnumDefinition'], '#ExtendDefinition'), + 118 => new \Railt\Parser\Llk\Rule\Concatenation(118, ['UnionDefinition'], '#ExtendDefinition'), + 119 => new \Railt\Parser\Llk\Rule\Concatenation(119, ['SchemaDefinition'], '#ExtendDefinition'), + 120 => new \Railt\Parser\Llk\Rule\Concatenation(120, ['ScalarDefinition'], '#ExtendDefinition'), + 121 => new \Railt\Parser\Llk\Rule\Concatenation(121, ['InputDefinition'], '#ExtendDefinition'), + 122 => new \Railt\Parser\Llk\Rule\Concatenation(122, ['DirectiveDefinition'], '#ExtendDefinition'), + 123 => new \Railt\Parser\Llk\Rule\Choice(123, [115, 116, 117, 118, 119, 120, 121, 122], null), + 'ExtendDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('ExtendDefinition', [113, 114, 123], null), + 125 => new \Railt\Parser\Llk\Rule\Repetition(125, 0, 1, 'Documentation', null), + 126 => new \Railt\Parser\Llk\Rule\Token(126, 'T_DIRECTIVE', null, -1, false), + 127 => new \Railt\Parser\Llk\Rule\Token(127, 'T_DIRECTIVE_AT', null, -1, false), + 128 => new \Railt\Parser\Llk\Rule\Repetition(128, 0, -1, 'DirectiveDefinitionArguments', null), + 129 => new \Railt\Parser\Llk\Rule\Token(129, 'T_ON', null, -1, false), + 130 => new \Railt\Parser\Llk\Rule\Repetition(130, 1, -1, 'DirectiveDefinitionTargets', null), + 'DirectiveDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveDefinition', [125, 126, 127, 'Name', 128, 129, 130], '#DirectiveDefinition'), + 132 => new \Railt\Parser\Llk\Rule\Token(132, 'T_PARENTHESIS_OPEN', null, -1, false), + 133 => new \Railt\Parser\Llk\Rule\Repetition(133, 0, -1, 'DirectiveDefinitionArgument', null), + 134 => new \Railt\Parser\Llk\Rule\Token(134, 'T_PARENTHESIS_CLOSE', null, -1, false), + 'DirectiveDefinitionArguments' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveDefinitionArguments', [132, 133, 134], null), + 136 => new \Railt\Parser\Llk\Rule\Repetition(136, 0, 1, 'Documentation', null), + 137 => new \Railt\Parser\Llk\Rule\Token(137, 'T_COLON', null, -1, false), + 138 => new \Railt\Parser\Llk\Rule\Repetition(138, 0, 1, 'DirectiveDefinitionDefaultValue', null), + 139 => new \Railt\Parser\Llk\Rule\Repetition(139, 0, -1, 'Directive', null), + 'DirectiveDefinitionArgument' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveDefinitionArgument', [136, 'Key', 137, 'ValueDefinition', 138, 139], '#Argument'), + 141 => new \Railt\Parser\Llk\Rule\Token(141, 'T_OR', null, -1, false), + 142 => new \Railt\Parser\Llk\Rule\Concatenation(142, [141, 'Key'], null), + 143 => new \Railt\Parser\Llk\Rule\Repetition(143, 0, -1, 142, null), + 'DirectiveDefinitionTargets' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveDefinitionTargets', ['Key', 143], '#Target'), + 145 => new \Railt\Parser\Llk\Rule\Token(145, 'T_EQUAL', null, -1, false), 'DirectiveDefinitionDefaultValue' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveDefinitionDefaultValue', [145, 'Value'], null), - 147 => new \Railt\Parser\Llk\Rule\Repetition(147, 0, 1, 'Documentation', null), - 148 => new \Railt\Parser\Llk\Rule\Token(148, 'T_TYPE', null, -1, false), - 149 => new \Railt\Parser\Llk\Rule\Repetition(149, 0, 1, 'ObjectDefinitionImplements', null), - 150 => new \Railt\Parser\Llk\Rule\Repetition(150, 0, -1, 'Directive', null), - 151 => new \Railt\Parser\Llk\Rule\Token(151, 'T_BRACE_OPEN', null, -1, false), - 152 => new \Railt\Parser\Llk\Rule\Repetition(152, 0, -1, 'ObjectDefinitionField', null), - 153 => new \Railt\Parser\Llk\Rule\Token(153, 'T_BRACE_CLOSE', null, -1, false), - 'ObjectDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('ObjectDefinition', [147, 148, 'Name', 149, 150, 151, 152, 153], '#ObjectDefinition'), - 155 => new \Railt\Parser\Llk\Rule\Token(155, 'T_TYPE_IMPLEMENTS', null, -1, false), - 156 => new \Railt\Parser\Llk\Rule\Repetition(156, 0, -1, 'Key', null), - 157 => new \Railt\Parser\Llk\Rule\Token(157, 'T_AND', null, -1, false), - 158 => new \Railt\Parser\Llk\Rule\Concatenation(158, [157, 'Key'], null), - 159 => new \Railt\Parser\Llk\Rule\Repetition(159, 0, 1, 158, null), - 'ObjectDefinitionImplements' => new \Railt\Parser\Llk\Rule\Concatenation('ObjectDefinitionImplements', [155, 156, 159], '#Implements'), - 161 => new \Railt\Parser\Llk\Rule\Repetition(161, 0, 1, 'Documentation', null), - 162 => new \Railt\Parser\Llk\Rule\Repetition(162, 0, 1, 'Arguments', null), - 163 => new \Railt\Parser\Llk\Rule\Token(163, 'T_COLON', null, -1, false), - 164 => new \Railt\Parser\Llk\Rule\Concatenation(164, ['Key', 162, 163, 'ObjectDefinitionFieldValue'], null), - 'ObjectDefinitionField' => new \Railt\Parser\Llk\Rule\Concatenation('ObjectDefinitionField', [161, 164], '#Field'), - 166 => new \Railt\Parser\Llk\Rule\Repetition(166, 0, -1, 'Directive', null), - 'ObjectDefinitionFieldValue' => new \Railt\Parser\Llk\Rule\Concatenation('ObjectDefinitionFieldValue', ['ValueDefinition', 166], null), - 168 => new \Railt\Parser\Llk\Rule\Repetition(168, 0, 1, 'Documentation', null), - 169 => new \Railt\Parser\Llk\Rule\Token(169, 'T_INTERFACE', null, -1, false), - 170 => new \Railt\Parser\Llk\Rule\Repetition(170, 0, -1, 'Directive', null), - 171 => new \Railt\Parser\Llk\Rule\Token(171, 'T_BRACE_OPEN', null, -1, false), - 172 => new \Railt\Parser\Llk\Rule\Repetition(172, 0, -1, 'InterfaceDefinitionBody', null), - 173 => new \Railt\Parser\Llk\Rule\Token(173, 'T_BRACE_CLOSE', null, -1, false), - 'InterfaceDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('InterfaceDefinition', [168, 169, 'Name', 170, 171, 172, 173], '#InterfaceDefinition'), - 175 => new \Railt\Parser\Llk\Rule\Token(175, 'T_COLON', null, -1, false), - 176 => new \Railt\Parser\Llk\Rule\Repetition(176, 0, -1, 'Directive', null), - 177 => new \Railt\Parser\Llk\Rule\Concatenation(177, ['InterfaceDefinitionFieldKey', 175, 'ValueDefinition', 176], null), - 'InterfaceDefinitionBody' => new \Railt\Parser\Llk\Rule\Concatenation('InterfaceDefinitionBody', [177], '#Field'), - 179 => new \Railt\Parser\Llk\Rule\Repetition(179, 0, 1, 'Documentation', null), - 180 => new \Railt\Parser\Llk\Rule\Repetition(180, 0, 1, 'Arguments', null), - 'InterfaceDefinitionFieldKey' => new \Railt\Parser\Llk\Rule\Concatenation('InterfaceDefinitionFieldKey', [179, 'Key', 180], null), - 182 => new \Railt\Parser\Llk\Rule\Repetition(182, 0, 1, 'Documentation', null), - 183 => new \Railt\Parser\Llk\Rule\Token(183, 'T_ENUM', null, -1, false), - 184 => new \Railt\Parser\Llk\Rule\Repetition(184, 0, -1, 'Directive', null), - 185 => new \Railt\Parser\Llk\Rule\Token(185, 'T_BRACE_OPEN', null, -1, false), - 186 => new \Railt\Parser\Llk\Rule\Repetition(186, 0, -1, 'EnumField', null), - 187 => new \Railt\Parser\Llk\Rule\Token(187, 'T_BRACE_CLOSE', null, -1, false), - 'EnumDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('EnumDefinition', [182, 183, 'Name', 184, 185, 186, 187], '#EnumDefinition'), - 189 => new \Railt\Parser\Llk\Rule\Repetition(189, 0, 1, 'Documentation', null), - 190 => new \Railt\Parser\Llk\Rule\Repetition(190, 0, -1, 'Directive', null), - 191 => new \Railt\Parser\Llk\Rule\Concatenation(191, ['EnumValue', 190], null), - 'EnumField' => new \Railt\Parser\Llk\Rule\Concatenation('EnumField', [189, 191], '#Value'), - 193 => new \Railt\Parser\Llk\Rule\Token(193, 'T_NAME', null, -1, true), - 194 => new \Railt\Parser\Llk\Rule\Choice(194, [193, 'Keyword'], null), - 'EnumValue' => new \Railt\Parser\Llk\Rule\Concatenation('EnumValue', [194], '#Name'), - 196 => new \Railt\Parser\Llk\Rule\Repetition(196, 0, 1, 'Documentation', null), - 197 => new \Railt\Parser\Llk\Rule\Token(197, 'T_UNION', null, -1, false), - 198 => new \Railt\Parser\Llk\Rule\Repetition(198, 0, -1, 'Directive', null), - 199 => new \Railt\Parser\Llk\Rule\Token(199, 'T_EQUAL', null, -1, false), - 'UnionDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('UnionDefinition', [196, 197, 'Name', 198, 199, 'UnionBody'], '#UnionDefinition'), - 201 => new \Railt\Parser\Llk\Rule\Token(201, 'T_OR', null, -1, false), - 202 => new \Railt\Parser\Llk\Rule\Repetition(202, 0, 1, 201, null), - 203 => new \Railt\Parser\Llk\Rule\Repetition(203, 1, -1, 'UnionUnitesList', null), - 'UnionBody' => new \Railt\Parser\Llk\Rule\Concatenation('UnionBody', [202, 203], '#Relations'), - 205 => new \Railt\Parser\Llk\Rule\Token(205, 'T_OR', null, -1, false), - 206 => new \Railt\Parser\Llk\Rule\Concatenation(206, [205, 'Name'], null), - 207 => new \Railt\Parser\Llk\Rule\Repetition(207, 0, -1, 206, null), - 'UnionUnitesList' => new \Railt\Parser\Llk\Rule\Concatenation('UnionUnitesList', ['Name', 207], null), - 209 => new \Railt\Parser\Llk\Rule\Token(209, 'T_PARENTHESIS_OPEN', null, -1, false), - 210 => new \Railt\Parser\Llk\Rule\Repetition(210, 0, -1, 'ArgumentPair', null), - 211 => new \Railt\Parser\Llk\Rule\Token(211, 'T_PARENTHESIS_CLOSE', null, -1, false), - 'Arguments' => new \Railt\Parser\Llk\Rule\Concatenation('Arguments', [209, 210, 211], null), - 213 => new \Railt\Parser\Llk\Rule\Repetition(213, 0, 1, 'Documentation', null), - 214 => new \Railt\Parser\Llk\Rule\Token(214, 'T_COLON', null, -1, false), - 215 => new \Railt\Parser\Llk\Rule\Repetition(215, 0, 1, 'ArgumentDefaultValue', null), - 216 => new \Railt\Parser\Llk\Rule\Repetition(216, 0, -1, 'Directive', null), - 'ArgumentPair' => new \Railt\Parser\Llk\Rule\Concatenation('ArgumentPair', [213, 'Key', 214, 'ValueDefinition', 215, 216], '#Argument'), - 'ArgumentValue' => new \Railt\Parser\Llk\Rule\Concatenation('ArgumentValue', ['ValueDefinition'], '#Type'), - 219 => new \Railt\Parser\Llk\Rule\Token(219, 'T_EQUAL', null, -1, false), - 'ArgumentDefaultValue' => new \Railt\Parser\Llk\Rule\Concatenation('ArgumentDefaultValue', [219, 'Value'], null), - 221 => new \Railt\Parser\Llk\Rule\Token(221, 'T_DIRECTIVE_AT', null, -1, false), - 222 => new \Railt\Parser\Llk\Rule\Repetition(222, 0, 1, 'DirectiveArguments', null), - 'Directive' => new \Railt\Parser\Llk\Rule\Concatenation('Directive', [221, 'Name', 222], '#Directive'), - 224 => new \Railt\Parser\Llk\Rule\Token(224, 'T_PARENTHESIS_OPEN', null, -1, false), - 225 => new \Railt\Parser\Llk\Rule\Repetition(225, 0, -1, 'DirectiveArgumentPair', null), - 226 => new \Railt\Parser\Llk\Rule\Token(226, 'T_PARENTHESIS_CLOSE', null, -1, false), - 'DirectiveArguments' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveArguments', [224, 225, 226], null), - 228 => new \Railt\Parser\Llk\Rule\Token(228, 'T_COLON', null, -1, false), - 'DirectiveArgumentPair' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveArgumentPair', ['Key', 228, 'Value'], '#Argument'), + 147 => new \Railt\Parser\Llk\Rule\Repetition(147, 0, 1, 'Documentation', null), + 148 => new \Railt\Parser\Llk\Rule\Token(148, 'T_TYPE', null, -1, false), + 149 => new \Railt\Parser\Llk\Rule\Repetition(149, 0, 1, 'ObjectDefinitionImplements', null), + 150 => new \Railt\Parser\Llk\Rule\Repetition(150, 0, -1, 'Directive', null), + 151 => new \Railt\Parser\Llk\Rule\Token(151, 'T_BRACE_OPEN', null, -1, false), + 152 => new \Railt\Parser\Llk\Rule\Repetition(152, 0, -1, 'ObjectDefinitionField', null), + 153 => new \Railt\Parser\Llk\Rule\Token(153, 'T_BRACE_CLOSE', null, -1, false), + 'ObjectDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('ObjectDefinition', [147, 148, 'Name', 149, 150, 151, 152, 153], '#ObjectDefinition'), + 155 => new \Railt\Parser\Llk\Rule\Token(155, 'T_TYPE_IMPLEMENTS', null, -1, false), + 156 => new \Railt\Parser\Llk\Rule\Repetition(156, 0, -1, 'Key', null), + 157 => new \Railt\Parser\Llk\Rule\Token(157, 'T_AND', null, -1, false), + 158 => new \Railt\Parser\Llk\Rule\Concatenation(158, [157, 'Key'], null), + 159 => new \Railt\Parser\Llk\Rule\Repetition(159, 0, 1, 158, null), + 'ObjectDefinitionImplements' => new \Railt\Parser\Llk\Rule\Concatenation('ObjectDefinitionImplements', [155, 156, 159], '#Implements'), + 161 => new \Railt\Parser\Llk\Rule\Repetition(161, 0, 1, 'Documentation', null), + 162 => new \Railt\Parser\Llk\Rule\Repetition(162, 0, 1, 'Arguments', null), + 163 => new \Railt\Parser\Llk\Rule\Token(163, 'T_COLON', null, -1, false), + 164 => new \Railt\Parser\Llk\Rule\Concatenation(164, ['Key', 162, 163, 'ObjectDefinitionFieldValue'], null), + 'ObjectDefinitionField' => new \Railt\Parser\Llk\Rule\Concatenation('ObjectDefinitionField', [161, 164], '#Field'), + 166 => new \Railt\Parser\Llk\Rule\Repetition(166, 0, -1, 'Directive', null), + 'ObjectDefinitionFieldValue' => new \Railt\Parser\Llk\Rule\Concatenation('ObjectDefinitionFieldValue', ['ValueDefinition', 166], null), + 168 => new \Railt\Parser\Llk\Rule\Repetition(168, 0, 1, 'Documentation', null), + 169 => new \Railt\Parser\Llk\Rule\Token(169, 'T_INTERFACE', null, -1, false), + 170 => new \Railt\Parser\Llk\Rule\Repetition(170, 0, -1, 'Directive', null), + 171 => new \Railt\Parser\Llk\Rule\Token(171, 'T_BRACE_OPEN', null, -1, false), + 172 => new \Railt\Parser\Llk\Rule\Repetition(172, 0, -1, 'InterfaceDefinitionBody', null), + 173 => new \Railt\Parser\Llk\Rule\Token(173, 'T_BRACE_CLOSE', null, -1, false), + 'InterfaceDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('InterfaceDefinition', [168, 169, 'Name', 170, 171, 172, 173], '#InterfaceDefinition'), + 175 => new \Railt\Parser\Llk\Rule\Token(175, 'T_COLON', null, -1, false), + 176 => new \Railt\Parser\Llk\Rule\Repetition(176, 0, -1, 'Directive', null), + 177 => new \Railt\Parser\Llk\Rule\Concatenation(177, ['InterfaceDefinitionFieldKey', 175, 'ValueDefinition', 176], null), + 'InterfaceDefinitionBody' => new \Railt\Parser\Llk\Rule\Concatenation('InterfaceDefinitionBody', [177], '#Field'), + 179 => new \Railt\Parser\Llk\Rule\Repetition(179, 0, 1, 'Documentation', null), + 180 => new \Railt\Parser\Llk\Rule\Repetition(180, 0, 1, 'Arguments', null), + 'InterfaceDefinitionFieldKey' => new \Railt\Parser\Llk\Rule\Concatenation('InterfaceDefinitionFieldKey', [179, 'Key', 180], null), + 182 => new \Railt\Parser\Llk\Rule\Repetition(182, 0, 1, 'Documentation', null), + 183 => new \Railt\Parser\Llk\Rule\Token(183, 'T_ENUM', null, -1, false), + 184 => new \Railt\Parser\Llk\Rule\Repetition(184, 0, -1, 'Directive', null), + 185 => new \Railt\Parser\Llk\Rule\Token(185, 'T_BRACE_OPEN', null, -1, false), + 186 => new \Railt\Parser\Llk\Rule\Repetition(186, 0, -1, 'EnumField', null), + 187 => new \Railt\Parser\Llk\Rule\Token(187, 'T_BRACE_CLOSE', null, -1, false), + 'EnumDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('EnumDefinition', [182, 183, 'Name', 184, 185, 186, 187], '#EnumDefinition'), + 189 => new \Railt\Parser\Llk\Rule\Repetition(189, 0, 1, 'Documentation', null), + 190 => new \Railt\Parser\Llk\Rule\Repetition(190, 0, -1, 'Directive', null), + 191 => new \Railt\Parser\Llk\Rule\Concatenation(191, ['EnumValue', 190], null), + 'EnumField' => new \Railt\Parser\Llk\Rule\Concatenation('EnumField', [189, 191], '#Value'), + 193 => new \Railt\Parser\Llk\Rule\Token(193, 'T_NAME', null, -1, true), + 194 => new \Railt\Parser\Llk\Rule\Choice(194, [193, 'Keyword'], null), + 'EnumValue' => new \Railt\Parser\Llk\Rule\Concatenation('EnumValue', [194], '#Name'), + 196 => new \Railt\Parser\Llk\Rule\Repetition(196, 0, 1, 'Documentation', null), + 197 => new \Railt\Parser\Llk\Rule\Token(197, 'T_UNION', null, -1, false), + 198 => new \Railt\Parser\Llk\Rule\Repetition(198, 0, -1, 'Directive', null), + 199 => new \Railt\Parser\Llk\Rule\Token(199, 'T_EQUAL', null, -1, false), + 'UnionDefinition' => new \Railt\Parser\Llk\Rule\Concatenation('UnionDefinition', [196, 197, 'Name', 198, 199, 'UnionBody'], '#UnionDefinition'), + 201 => new \Railt\Parser\Llk\Rule\Token(201, 'T_OR', null, -1, false), + 202 => new \Railt\Parser\Llk\Rule\Repetition(202, 0, 1, 201, null), + 203 => new \Railt\Parser\Llk\Rule\Repetition(203, 1, -1, 'UnionUnitesList', null), + 'UnionBody' => new \Railt\Parser\Llk\Rule\Concatenation('UnionBody', [202, 203], '#Relations'), + 205 => new \Railt\Parser\Llk\Rule\Token(205, 'T_OR', null, -1, false), + 206 => new \Railt\Parser\Llk\Rule\Concatenation(206, [205, 'Name'], null), + 207 => new \Railt\Parser\Llk\Rule\Repetition(207, 0, -1, 206, null), + 'UnionUnitesList' => new \Railt\Parser\Llk\Rule\Concatenation('UnionUnitesList', ['Name', 207], null), + 209 => new \Railt\Parser\Llk\Rule\Token(209, 'T_PARENTHESIS_OPEN', null, -1, false), + 210 => new \Railt\Parser\Llk\Rule\Repetition(210, 0, -1, 'ArgumentPair', null), + 211 => new \Railt\Parser\Llk\Rule\Token(211, 'T_PARENTHESIS_CLOSE', null, -1, false), + 'Arguments' => new \Railt\Parser\Llk\Rule\Concatenation('Arguments', [209, 210, 211], null), + 213 => new \Railt\Parser\Llk\Rule\Repetition(213, 0, 1, 'Documentation', null), + 214 => new \Railt\Parser\Llk\Rule\Token(214, 'T_COLON', null, -1, false), + 215 => new \Railt\Parser\Llk\Rule\Repetition(215, 0, 1, 'ArgumentDefaultValue', null), + 216 => new \Railt\Parser\Llk\Rule\Repetition(216, 0, -1, 'Directive', null), + 'ArgumentPair' => new \Railt\Parser\Llk\Rule\Concatenation('ArgumentPair', [213, 'Key', 214, 'ValueDefinition', 215, 216], '#Argument'), + 'ArgumentValue' => new \Railt\Parser\Llk\Rule\Concatenation('ArgumentValue', ['ValueDefinition'], '#Type'), + 219 => new \Railt\Parser\Llk\Rule\Token(219, 'T_EQUAL', null, -1, false), + 'ArgumentDefaultValue' => new \Railt\Parser\Llk\Rule\Concatenation('ArgumentDefaultValue', [219, 'Value'], null), + 221 => new \Railt\Parser\Llk\Rule\Token(221, 'T_DIRECTIVE_AT', null, -1, false), + 222 => new \Railt\Parser\Llk\Rule\Repetition(222, 0, 1, 'DirectiveArguments', null), + 'Directive' => new \Railt\Parser\Llk\Rule\Concatenation('Directive', [221, 'Name', 222], '#Directive'), + 224 => new \Railt\Parser\Llk\Rule\Token(224, 'T_PARENTHESIS_OPEN', null, -1, false), + 225 => new \Railt\Parser\Llk\Rule\Repetition(225, 0, -1, 'DirectiveArgumentPair', null), + 226 => new \Railt\Parser\Llk\Rule\Token(226, 'T_PARENTHESIS_CLOSE', null, -1, false), + 'DirectiveArguments' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveArguments', [224, 225, 226], null), + 228 => new \Railt\Parser\Llk\Rule\Token(228, 'T_COLON', null, -1, false), + 'DirectiveArgumentPair' => new \Railt\Parser\Llk\Rule\Concatenation('DirectiveArgumentPair', ['Key', 228, 'Value'], '#Argument'), ], [ ]