graphql 0.17.2 → 0.18.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.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/lib/graphql.rb +1 -0
  3. data/lib/graphql/analysis/query_depth.rb +1 -1
  4. data/lib/graphql/base_type.rb +25 -1
  5. data/lib/graphql/define.rb +2 -0
  6. data/lib/graphql/define/assign_connection.rb +11 -0
  7. data/lib/graphql/define/assign_global_id_field.rb +11 -0
  8. data/lib/graphql/define/assign_object_field.rb +21 -20
  9. data/lib/graphql/define/defined_object_proxy.rb +2 -2
  10. data/lib/graphql/define/instance_definable.rb +13 -3
  11. data/lib/graphql/field.rb +1 -1
  12. data/lib/graphql/language/generation.rb +57 -6
  13. data/lib/graphql/language/lexer.rb +434 -212
  14. data/lib/graphql/language/lexer.rl +18 -0
  15. data/lib/graphql/language/nodes.rb +75 -0
  16. data/lib/graphql/language/parser.rb +853 -341
  17. data/lib/graphql/language/parser.y +114 -17
  18. data/lib/graphql/query.rb +15 -1
  19. data/lib/graphql/relay.rb +13 -0
  20. data/lib/graphql/relay/array_connection.rb +80 -0
  21. data/lib/graphql/relay/base_connection.rb +138 -0
  22. data/lib/graphql/relay/connection_field.rb +54 -0
  23. data/lib/graphql/relay/connection_type.rb +25 -0
  24. data/lib/graphql/relay/edge.rb +22 -0
  25. data/lib/graphql/relay/edge_type.rb +14 -0
  26. data/lib/graphql/relay/global_id_resolve.rb +15 -0
  27. data/lib/graphql/relay/global_node_identification.rb +124 -0
  28. data/lib/graphql/relay/mutation.rb +146 -0
  29. data/lib/graphql/relay/page_info.rb +13 -0
  30. data/lib/graphql/relay/relation_connection.rb +98 -0
  31. data/lib/graphql/schema.rb +3 -0
  32. data/lib/graphql/schema/printer.rb +12 -2
  33. data/lib/graphql/static_validation/message.rb +9 -5
  34. data/lib/graphql/static_validation/rules/argument_literals_are_compatible.rb +1 -1
  35. data/lib/graphql/static_validation/rules/arguments_are_defined.rb +1 -1
  36. data/lib/graphql/static_validation/rules/directives_are_defined.rb +3 -3
  37. data/lib/graphql/static_validation/rules/directives_are_in_valid_locations.rb +7 -7
  38. data/lib/graphql/static_validation/rules/fields_are_defined_on_type.rb +4 -4
  39. data/lib/graphql/static_validation/rules/fields_have_appropriate_selections.rb +5 -5
  40. data/lib/graphql/static_validation/rules/fields_will_merge.rb +6 -6
  41. data/lib/graphql/static_validation/rules/fragment_spreads_are_possible.rb +17 -9
  42. data/lib/graphql/static_validation/rules/fragment_types_exist.rb +1 -1
  43. data/lib/graphql/static_validation/rules/fragments_are_finite.rb +1 -1
  44. data/lib/graphql/static_validation/rules/fragments_are_on_composite_types.rb +1 -1
  45. data/lib/graphql/static_validation/rules/fragments_are_used.rb +17 -6
  46. data/lib/graphql/static_validation/rules/required_arguments_are_present.rb +1 -1
  47. data/lib/graphql/static_validation/rules/variable_default_values_are_correctly_typed.rb +2 -2
  48. data/lib/graphql/static_validation/rules/variable_usages_are_allowed.rb +5 -5
  49. data/lib/graphql/static_validation/rules/variables_are_input_types.rb +1 -1
  50. data/lib/graphql/static_validation/rules/variables_are_used_and_defined.rb +12 -11
  51. data/lib/graphql/static_validation/type_stack.rb +33 -2
  52. data/lib/graphql/static_validation/validation_context.rb +5 -0
  53. data/lib/graphql/version.rb +1 -1
  54. data/readme.md +16 -4
  55. data/spec/graphql/analysis/analyze_query_spec.rb +31 -2
  56. data/spec/graphql/analysis/query_complexity_spec.rb +24 -0
  57. data/spec/graphql/argument_spec.rb +1 -1
  58. data/spec/graphql/define/instance_definable_spec.rb +9 -0
  59. data/spec/graphql/field_spec.rb +1 -1
  60. data/spec/graphql/internal_representation/rewrite_spec.rb +3 -3
  61. data/spec/graphql/language/generation_spec.rb +25 -4
  62. data/spec/graphql/language/parser_spec.rb +116 -1
  63. data/spec/graphql/query_spec.rb +10 -0
  64. data/spec/graphql/relay/array_connection_spec.rb +164 -0
  65. data/spec/graphql/relay/connection_type_spec.rb +37 -0
  66. data/spec/graphql/relay/global_node_identification_spec.rb +149 -0
  67. data/spec/graphql/relay/mutation_spec.rb +55 -0
  68. data/spec/graphql/relay/page_info_spec.rb +106 -0
  69. data/spec/graphql/relay/relation_connection_spec.rb +348 -0
  70. data/spec/graphql/schema/printer_spec.rb +8 -0
  71. data/spec/graphql/schema/reduce_types_spec.rb +1 -1
  72. data/spec/graphql/static_validation/rules/argument_literals_are_compatible_spec.rb +12 -6
  73. data/spec/graphql/static_validation/rules/arguments_are_defined_spec.rb +8 -4
  74. data/spec/graphql/static_validation/rules/directives_are_defined_spec.rb +4 -2
  75. data/spec/graphql/static_validation/rules/directives_are_in_valid_locations_spec.rb +4 -2
  76. data/spec/graphql/static_validation/rules/fields_are_defined_on_type_spec.rb +7 -2
  77. data/spec/graphql/static_validation/rules/fields_have_appropriate_selections_spec.rb +4 -2
  78. data/spec/graphql/static_validation/rules/fragment_spreads_are_possible_spec.rb +6 -3
  79. data/spec/graphql/static_validation/rules/fragment_types_exist_spec.rb +5 -3
  80. data/spec/graphql/static_validation/rules/fragments_are_finite_spec.rb +4 -2
  81. data/spec/graphql/static_validation/rules/fragments_are_on_composite_types_spec.rb +5 -2
  82. data/spec/graphql/static_validation/rules/fragments_are_used_spec.rb +10 -2
  83. data/spec/graphql/static_validation/rules/required_arguments_are_present_spec.rb +6 -3
  84. data/spec/graphql/static_validation/rules/variable_default_values_are_correctly_typed_spec.rb +8 -4
  85. data/spec/graphql/static_validation/rules/variable_usages_are_allowed_spec.rb +8 -4
  86. data/spec/graphql/static_validation/rules/variables_are_input_types_spec.rb +6 -3
  87. data/spec/graphql/static_validation/rules/variables_are_used_and_defined_spec.rb +6 -3
  88. data/spec/spec_helper.rb +7 -0
  89. data/spec/support/dairy_app.rb +11 -10
  90. data/spec/support/star_wars_data.rb +65 -58
  91. data/spec/support/star_wars_schema.rb +192 -54
  92. metadata +84 -2
@@ -17,6 +17,14 @@
17
17
  QUERY = 'query';
18
18
  MUTATION = 'mutation';
19
19
  SUBSCRIPTION = 'subscription';
20
+ SCHEMA = 'schema';
21
+ SCALAR = 'scalar';
22
+ TYPE = 'type';
23
+ IMPLEMENTS = 'implements';
24
+ INTERFACE = 'interface';
25
+ UNION = 'union';
26
+ ENUM = 'enum';
27
+ INPUT = 'input';
20
28
  RCURLY = '{';
21
29
  LCURLY = '}';
22
30
  RPAREN = '(';
@@ -32,6 +40,7 @@
32
40
  ELLIPSIS = '...';
33
41
  EQUALS = '=';
34
42
  BANG = '!';
43
+ PIPE = '|';
35
44
 
36
45
  QUOTED_STRING = QUOTE STRING_CHAR* QUOTE;
37
46
 
@@ -49,6 +58,14 @@
49
58
  QUERY => { emit_token.call(:QUERY) };
50
59
  MUTATION => { emit_token.call(:MUTATION) };
51
60
  SUBSCRIPTION => { emit_token.call(:SUBSCRIPTION) };
61
+ SCHEMA => { emit_token.call(:SCHEMA) };
62
+ SCALAR => { emit_token.call(:SCALAR) };
63
+ TYPE => { emit_token.call(:TYPE) };
64
+ IMPLEMENTS => { emit_token.call(:IMPLEMENTS) };
65
+ INTERFACE => { emit_token.call(:INTERFACE) };
66
+ UNION => { emit_token.call(:UNION) };
67
+ ENUM => { emit_token.call(:ENUM) };
68
+ INPUT => { emit_token.call(:INPUT) };
52
69
  RCURLY => { emit_token.call(:RCURLY) };
53
70
  LCURLY => { emit_token.call(:LCURLY) };
54
71
  RPAREN => { emit_token.call(:RPAREN) };
@@ -62,6 +79,7 @@
62
79
  ELLIPSIS => { emit_token.call(:ELLIPSIS) };
63
80
  EQUALS => { emit_token.call(:EQUALS) };
64
81
  BANG => { emit_token.call(:BANG) };
82
+ PIPE => { emit_token.call(:PIPE) };
65
83
  IDENTIFIER => { emit_token.call(:IDENTIFIER) };
66
84
 
67
85
  NEWLINE => {
@@ -199,6 +199,81 @@ module GraphQL
199
199
  end
200
200
 
201
201
  class VariableIdentifier < NameOnlyNode; end
202
+
203
+
204
+ class SchemaDefinition < AbstractNode
205
+ attr_accessor :query, :mutation, :subscription
206
+ def initialize_node(query: nil, mutation: nil, subscription: nil)
207
+ @query = query
208
+ @mutation = mutation
209
+ @subscription = subscription
210
+ end
211
+ end
212
+
213
+ class ScalarTypeDefinition < NameOnlyNode; end
214
+
215
+ class ObjectTypeDefinition < AbstractNode
216
+ attr_accessor :name, :interfaces, :fields
217
+ child_attributes :fields
218
+ def initialize_node(name:, interfaces:, fields:)
219
+ @name = name
220
+ @interfaces = interfaces || []
221
+ @fields = fields
222
+ end
223
+ end
224
+
225
+ class InputValueDefinition < AbstractNode
226
+ attr_accessor :name, :type, :default_value
227
+ def initialize_node(name:, type:, default_value: nil)
228
+ @name = name
229
+ @type = type
230
+ @default_value = default_value
231
+ end
232
+ end
233
+
234
+ class FieldDefinition < AbstractNode
235
+ attr_accessor :name, :arguments, :type
236
+ child_attributes :arguments
237
+ def initialize_node(name:, arguments:, type:)
238
+ @name = name
239
+ @arguments = arguments
240
+ @type = type
241
+ end
242
+ end
243
+
244
+ class InterfaceTypeDefinition < AbstractNode
245
+ attr_accessor :name, :fields
246
+ child_attributes :fields
247
+ def initialize_node(name:, fields:)
248
+ @name = name
249
+ @fields = fields
250
+ end
251
+ end
252
+
253
+ class UnionTypeDefinition < AbstractNode
254
+ attr_accessor :name, :types
255
+ def initialize_node(name:, types:)
256
+ @name = name
257
+ @types = types
258
+ end
259
+ end
260
+
261
+ class EnumTypeDefinition < AbstractNode
262
+ attr_accessor :name, :values
263
+ def initialize_node(name:, values:)
264
+ @name = name
265
+ @values = values
266
+ end
267
+ end
268
+
269
+ class InputObjectTypeDefinition < AbstractNode
270
+ attr_accessor :name, :fields
271
+ child_attributes :fields
272
+ def initialize_node(name:, fields:)
273
+ @name = name
274
+ @fields = fields
275
+ end
276
+ end
202
277
  end
203
278
  end
204
279
  end
@@ -12,7 +12,7 @@ module GraphQL
12
12
  module Language
13
13
  class Parser < Racc::Parser
14
14
 
15
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 230)
15
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 327)
16
16
 
17
17
  def initialize(query_string)
18
18
  @query_string = query_string
@@ -75,233 +75,492 @@ end
75
75
  ##### State transition tables begin ###
76
76
 
77
77
  racc_action_table = [
78
- 24, 25, 26, 43, 117, 12, 42, 118, 76, 24,
79
- 25, 26, 27, 19, 20, 21, 22, 23, 24, 25,
80
- 26, 43, 34, 20, 21, 22, 23, 117, 46, 126,
81
- 39, 19, 20, 21, 22, 23, 24, 25, 26, 46,
82
- 34, 68, 54, 80, 46, 46, 46, 12, 54, 48,
83
- 20, 21, 22, 23, 99, 100, 101, 46, 12, 92,
84
- 46, 50, 93, 43, 12, 94, 38, 98, 96, 97,
85
- 86, 87, 83, 84, 85, 99, 100, 101, 36, 46,
86
- 92, 124, 14, 93, 120, 12, 94, 12, 98, 96,
87
- 97, 86, 87, 83, 84, 85, 99, 100, 101, nil,
88
- nil, 92, nil, nil, 93, nil, nil, 94, nil, 98,
89
- 96, 97, 86, 87, 83, 84, 85, 99, 100, 101,
90
- nil, nil, 92, nil, nil, 93, 109, nil, 94, nil,
91
- 98, 96, 97, 86, 87, 83, 84, 85, 99, 100,
92
- 101, nil, nil, 92, nil, nil, 93, nil, nil, 94,
93
- nil, 98, 96, 97, 86, 87, 83, 84, 85, 24,
94
- 25, 26, nil, nil, nil, 24, 25, 26, nil, nil,
95
- nil, nil, 19, 20, 21, 22, 23, 112, 19, 20,
96
- 21, 22, 23, 24, 25, 26, nil, nil, nil, 24,
97
- 25, 26, nil, nil, nil, nil, 19, 20, 21, 22,
98
- 23, 122, 19, 20, 21, 22, 23, 24, 25, 26,
99
- nil, nil, nil, nil, nil, 106, nil, 24, 25, 26,
100
- 19, 20, 21, 22, 23, 106, 24, 25, 26, nil,
101
- 19, 20, 21, 22, 23, 24, 25, 26, nil, 19,
102
- 20, 21, 22, 23, nil, nil, nil, nil, 19, 20,
103
- 21, 22, 23, 24, 25, 26, nil, 57, 24, 25,
104
- 26, nil, 74, 24, 25, 26, 19, 20, 21, 22,
105
- 23, 19, 20, 21, 22, 23, 19, 20, 21, 22,
106
- 23, 24, 25, 26, nil, nil, 24, 25, 26, nil,
107
- nil, nil, nil, nil, 19, 20, 21, 22, 23, 19,
108
- 20, 21, 22, 23, 9, 10, 11, 9, 10, 11,
109
- nil, nil, nil, nil, nil, 12, nil, nil, 12, 13,
110
- nil, nil, 13 ]
78
+ 10, 11, 12, 73, 190, 190, 72, 191, 191, 190,
79
+ 93, 201, 50, 35, 36, 37, 38, 39, 40, 41,
80
+ 42, 43, 44, 45, 46, 47, 10, 11, 12, 109,
81
+ 57, 10, 11, 12, 128, 93, 108, 143, 69, 35,
82
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
83
+ 46, 47, 10, 11, 12, 76, 57, 147, 13, 150,
84
+ 76, 153, 76, 76, 13, 78, 36, 37, 38, 39,
85
+ 40, 41, 42, 43, 44, 45, 46, 47, 10, 11,
86
+ 12, 76, 76, 165, 13, 76, 166, 173, 89, 167,
87
+ 88, 119, 36, 37, 38, 39, 40, 41, 42, 43,
88
+ 117, 118, 159, 160, 156, 157, 158, 10, 11, 12,
89
+ 87, 13, 165, 86, 85, 166, 181, 76, 167, 80,
90
+ 119, 36, 37, 38, 39, 40, 41, 42, 43, 117,
91
+ 118, 159, 160, 156, 157, 158, 10, 11, 12, 73,
92
+ 136, 165, 68, 13, 166, 66, 59, 167, 199, 119,
93
+ 36, 37, 38, 39, 40, 41, 42, 43, 117, 118,
94
+ 159, 160, 156, 157, 158, 10, 11, 12, 190, 30,
95
+ 165, 73, 13, 166, nil, nil, 167, nil, 119, 36,
96
+ 37, 38, 39, 40, 41, 42, 43, 117, 118, 159,
97
+ 160, 156, 157, 158, 10, 11, 12, nil, nil, 165,
98
+ nil, nil, 166, 195, nil, 167, nil, 119, 36, 37,
99
+ 38, 39, 40, 41, 42, 43, 117, 118, 159, 160,
100
+ 156, 157, 158, 10, 11, 12, nil, nil, nil, nil,
101
+ nil, 177, nil, nil, nil, nil, 35, 36, 37, 38,
102
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 10,
103
+ 11, 12, nil, nil, nil, nil, nil, nil, nil, nil,
104
+ nil, nil, 35, 36, 37, 38, 39, 40, 41, 42,
105
+ 43, 44, 45, 46, 47, 10, 11, 12, nil, nil,
106
+ nil, nil, nil, nil, nil, nil, nil, nil, 35, 36,
107
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
108
+ 47, 10, 11, 12, nil, nil, nil, nil, nil, nil,
109
+ nil, nil, nil, nil, 35, 36, 37, 38, 39, 40,
110
+ 41, 42, 43, 44, 45, 46, 47, 10, 11, 12,
111
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
112
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
113
+ 45, 46, 47, 10, 11, 12, nil, nil, nil, nil,
114
+ nil, nil, nil, nil, nil, nil, 35, 36, 37, 38,
115
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 10,
116
+ 11, 12, nil, nil, nil, nil, nil, 177, nil, nil,
117
+ nil, nil, 35, 36, 37, 38, 39, 40, 41, 42,
118
+ 43, 44, 45, 46, 47, 10, 11, 12, nil, nil,
119
+ nil, nil, nil, nil, nil, nil, nil, 197, 35, 36,
120
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
121
+ 47, 10, 11, 12, nil, nil, nil, nil, nil, 177,
122
+ nil, nil, nil, nil, 35, 36, 37, 38, 39, 40,
123
+ 41, 42, 43, 44, 45, 46, 47, 10, 11, 12,
124
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
125
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
126
+ 45, 46, 47, 10, 11, 12, nil, 188, nil, nil,
127
+ nil, nil, nil, nil, nil, nil, 35, 36, 37, 38,
128
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 10,
129
+ 11, 12, nil, nil, nil, nil, nil, nil, nil, nil,
130
+ nil, 184, 35, 36, 37, 38, 39, 40, 41, 42,
131
+ 43, 44, 45, 46, 47, 10, 11, 12, nil, nil,
132
+ nil, nil, nil, nil, nil, nil, nil, nil, 35, 36,
133
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
134
+ 47, 10, 11, 12, nil, nil, nil, nil, nil, nil,
135
+ nil, nil, nil, nil, 35, 36, 37, 38, 39, 40,
136
+ 41, 42, 43, 44, 45, 46, 47, 10, 11, 12,
137
+ nil, nil, nil, nil, nil, 177, nil, nil, nil, nil,
138
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
139
+ 45, 46, 47, 10, 11, 12, nil, nil, nil, nil,
140
+ nil, nil, nil, nil, nil, nil, 35, 36, 37, 38,
141
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 10,
142
+ 11, 12, nil, nil, nil, nil, nil, nil, nil, nil,
143
+ nil, nil, 35, 36, 37, 38, 39, 40, 41, 42,
144
+ 43, 44, 45, 46, 47, 10, 11, 12, nil, nil,
145
+ nil, nil, nil, nil, nil, nil, nil, nil, 35, 36,
146
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
147
+ 47, 10, 11, 12, nil, nil, nil, nil, nil, nil,
148
+ nil, nil, nil, 171, 35, 36, 37, 38, 39, 40,
149
+ 41, 42, 43, 44, 45, 46, 47, 10, 11, 12,
150
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
151
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
152
+ 45, 46, 47, 10, 11, 12, nil, nil, nil, nil,
153
+ nil, nil, nil, nil, nil, nil, 35, 36, 37, 38,
154
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 10,
155
+ 11, 12, nil, 96, nil, nil, nil, nil, nil, nil,
156
+ nil, nil, 35, 36, 37, 38, 39, 40, 41, 42,
157
+ 43, 44, 45, 46, 47, 10, 11, 12, nil, 134,
158
+ nil, nil, nil, nil, nil, nil, nil, nil, 35, 36,
159
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
160
+ 47, 10, 11, 12, nil, nil, nil, nil, nil, nil,
161
+ nil, nil, nil, nil, 35, 36, 37, 38, 39, 40,
162
+ 41, 42, 43, 44, 45, 46, 47, 10, 11, 12,
163
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 152,
164
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
165
+ 45, 46, 47, 10, 11, 12, nil, nil, nil, nil,
166
+ nil, nil, nil, nil, nil, nil, 35, 36, 37, 38,
167
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 10,
168
+ 11, 12, nil, nil, nil, nil, nil, nil, nil, nil,
169
+ nil, nil, 35, 36, 37, 38, 39, 40, 41, 42,
170
+ 43, 44, 45, 46, 47, 10, 11, 12, nil, nil,
171
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 36,
172
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
173
+ 47, 10, 11, 12, nil, nil, nil, nil, nil, nil,
174
+ nil, nil, nil, 146, 35, 36, 37, 38, 39, 40,
175
+ 41, 42, 43, 44, 45, 46, 47, 10, 11, 12,
176
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
177
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
178
+ 45, 46, 47, 10, 11, 12, nil, nil, nil, nil,
179
+ nil, nil, nil, nil, nil, nil, 35, 36, 37, 38,
180
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 10,
181
+ 11, 12, nil, nil, nil, nil, nil, nil, nil, nil,
182
+ nil, nil, 35, 36, 37, 38, 39, 40, 41, 42,
183
+ 43, 44, 45, 46, 47, 10, 11, 12, nil, nil,
184
+ nil, nil, nil, nil, nil, nil, nil, nil, 35, 36,
185
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
186
+ 47, 10, 11, 12, nil, nil, nil, nil, nil, nil,
187
+ nil, nil, nil, nil, 35, 36, 37, 38, 39, 40,
188
+ 41, 42, 43, 44, 45, 46, 47, 10, 11, 12,
189
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
190
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
191
+ 45, 46, 47, 10, 11, 12, nil, nil, nil, nil,
192
+ nil, nil, nil, nil, nil, nil, 119, 36, 37, 38,
193
+ 39, 40, 41, 42, 43, 117, 118, 10, 11, 12,
194
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 149,
195
+ 119, 36, 37, 38, 39, 40, 41, 42, 43, 117,
196
+ 118, 10, 11, 12, nil, nil, 10, 11, 12, nil,
197
+ nil, nil, 13, nil, nil, 17, 24, 25, 106, 26,
198
+ 27, 28, 29, nil, 14, 10, 11, 12, nil, nil,
199
+ nil, nil, nil, nil, nil, nil, 13, nil, nil, 17,
200
+ 24, 25, nil, 26, 27, 28, 29, nil, 14 ]
111
201
 
112
202
  racc_action_check = [
113
- 12, 12, 12, 33, 104, 78, 33, 104, 60, 50,
114
- 50, 50, 12, 12, 12, 12, 12, 12, 28, 28,
115
- 28, 62, 12, 50, 50, 50, 50, 119, 64, 119,
116
- 28, 28, 28, 28, 28, 28, 34, 34, 34, 66,
117
- 28, 52, 52, 70, 73, 41, 44, 79, 38, 34,
118
- 34, 34, 34, 34, 124, 124, 124, 34, 81, 124,
119
- 37, 35, 124, 56, 55, 124, 16, 124, 124, 124,
120
- 124, 124, 124, 124, 124, 110, 110, 110, 14, 47,
121
- 110, 115, 1, 110, 110, 51, 110, 49, 110, 110,
122
- 110, 110, 110, 110, 110, 110, 76, 76, 76, nil,
123
- nil, 76, nil, nil, 76, nil, nil, 76, nil, 76,
124
- 76, 76, 76, 76, 76, 76, 76, 93, 93, 93,
125
- nil, nil, 93, nil, nil, 93, 93, nil, 93, nil,
126
- 93, 93, 93, 93, 93, 93, 93, 93, 118, 118,
127
- 118, nil, nil, 118, nil, nil, 118, nil, nil, 118,
128
- nil, 118, 118, 118, 118, 118, 118, 118, 118, 92,
129
- 92, 92, nil, nil, nil, 94, 94, 94, nil, nil,
130
- nil, nil, 92, 92, 92, 92, 92, 94, 94, 94,
131
- 94, 94, 94, 7, 7, 7, nil, nil, nil, 113,
132
- 113, 113, nil, nil, nil, nil, 7, 7, 7, 7,
133
- 7, 113, 113, 113, 113, 113, 113, 106, 106, 106,
134
- nil, nil, nil, nil, nil, 106, nil, 80, 80, 80,
135
- 106, 106, 106, 106, 106, 80, 13, 13, 13, nil,
136
- 80, 80, 80, 80, 80, 42, 42, 42, nil, 13,
137
- 13, 13, 13, 13, nil, nil, nil, nil, 42, 42,
138
- 42, 42, 42, 43, 43, 43, nil, 43, 58, 58,
139
- 58, nil, 58, 46, 46, 46, 43, 43, 43, 43,
140
- 43, 58, 58, 58, 58, 58, 46, 46, 46, 46,
141
- 46, 48, 48, 48, nil, nil, 54, 54, 54, nil,
142
- nil, nil, nil, nil, 48, 48, 48, 48, 48, 54,
143
- 54, 54, 54, 54, 0, 0, 0, 3, 3, 3,
144
- nil, nil, nil, nil, nil, 0, nil, nil, 3, 0,
145
- nil, nil, 3 ]
203
+ 13, 13, 13, 56, 178, 176, 56, 178, 176, 193,
204
+ 68, 193, 13, 13, 13, 13, 13, 13, 13, 13,
205
+ 13, 13, 13, 13, 13, 13, 51, 51, 51, 84,
206
+ 13, 59, 59, 59, 91, 91, 83, 112, 51, 51,
207
+ 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
208
+ 51, 51, 57, 57, 57, 105, 51, 116, 79, 124,
209
+ 77, 130, 133, 74, 138, 57, 57, 57, 57, 57,
210
+ 57, 57, 57, 57, 57, 57, 57, 57, 199, 199,
211
+ 199, 57, 71, 199, 90, 67, 199, 144, 65, 199,
212
+ 64, 199, 199, 199, 199, 199, 199, 199, 199, 199,
213
+ 199, 199, 199, 199, 199, 199, 199, 166, 166, 166,
214
+ 63, 154, 166, 62, 61, 166, 166, 103, 166, 58,
215
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
216
+ 166, 166, 166, 166, 166, 166, 136, 136, 136, 101,
217
+ 99, 136, 32, 94, 136, 30, 17, 136, 187, 136,
218
+ 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
219
+ 136, 136, 136, 136, 136, 191, 191, 191, 189, 1,
220
+ 191, 95, 139, 191, nil, nil, 191, nil, 191, 191,
221
+ 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
222
+ 191, 191, 191, 191, 182, 182, 182, nil, nil, 182,
223
+ nil, nil, 182, 182, nil, 182, nil, 182, 182, 182,
224
+ 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
225
+ 182, 182, 182, 150, 150, 150, nil, nil, nil, nil,
226
+ nil, 150, nil, nil, nil, nil, 150, 150, 150, 150,
227
+ 150, 150, 150, 150, 150, 150, 150, 150, 150, 26,
228
+ 26, 26, nil, nil, nil, nil, nil, nil, nil, nil,
229
+ nil, nil, 26, 26, 26, 26, 26, 26, 26, 26,
230
+ 26, 26, 26, 26, 26, 27, 27, 27, nil, nil,
231
+ nil, nil, nil, nil, nil, nil, nil, nil, 27, 27,
232
+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
233
+ 27, 28, 28, 28, nil, nil, nil, nil, nil, nil,
234
+ nil, nil, nil, nil, 28, 28, 28, 28, 28, 28,
235
+ 28, 28, 28, 28, 28, 28, 28, 29, 29, 29,
236
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
237
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
238
+ 29, 29, 29, 24, 24, 24, nil, nil, nil, nil,
239
+ nil, nil, nil, nil, nil, nil, 24, 24, 24, 24,
240
+ 24, 24, 24, 24, 24, 24, 24, 24, 24, 177,
241
+ 177, 177, nil, nil, nil, nil, nil, 177, nil, nil,
242
+ nil, nil, 177, 177, 177, 177, 177, 177, 177, 177,
243
+ 177, 177, 177, 177, 177, 185, 185, 185, nil, nil,
244
+ nil, nil, nil, nil, nil, nil, nil, 185, 185, 185,
245
+ 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
246
+ 185, 173, 173, 173, nil, nil, nil, nil, nil, 173,
247
+ nil, nil, nil, nil, 173, 173, 173, 173, 173, 173,
248
+ 173, 173, 173, 173, 173, 173, 173, 14, 14, 14,
249
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
250
+ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
251
+ 14, 14, 14, 172, 172, 172, nil, 172, nil, nil,
252
+ nil, nil, nil, nil, nil, nil, 172, 172, 172, 172,
253
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 167,
254
+ 167, 167, nil, nil, nil, nil, nil, nil, nil, nil,
255
+ nil, 167, 167, 167, 167, 167, 167, 167, 167, 167,
256
+ 167, 167, 167, 167, 167, 8, 8, 8, nil, nil,
257
+ nil, nil, nil, nil, nil, nil, nil, nil, 8, 8,
258
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
259
+ 8, 165, 165, 165, nil, nil, nil, nil, nil, nil,
260
+ nil, nil, nil, nil, 165, 165, 165, 165, 165, 165,
261
+ 165, 165, 165, 165, 165, 165, 165, 153, 153, 153,
262
+ nil, nil, nil, nil, nil, 153, nil, nil, nil, nil,
263
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
264
+ 153, 153, 153, 25, 25, 25, nil, nil, nil, nil,
265
+ nil, nil, nil, nil, nil, nil, 25, 25, 25, 25,
266
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 147,
267
+ 147, 147, nil, nil, nil, nil, nil, nil, nil, nil,
268
+ nil, nil, 147, 147, 147, 147, 147, 147, 147, 147,
269
+ 147, 147, 147, 147, 147, 143, 143, 143, nil, nil,
270
+ nil, nil, nil, nil, nil, nil, nil, nil, 143, 143,
271
+ 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
272
+ 143, 141, 141, 141, nil, nil, nil, nil, nil, nil,
273
+ nil, nil, nil, 141, 141, 141, 141, 141, 141, 141,
274
+ 141, 141, 141, 141, 141, 141, 141, 89, 89, 89,
275
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
276
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
277
+ 89, 89, 89, 72, 72, 72, nil, nil, nil, nil,
278
+ nil, nil, nil, nil, nil, nil, 72, 72, 72, 72,
279
+ 72, 72, 72, 72, 72, 72, 72, 72, 72, 73,
280
+ 73, 73, nil, 73, nil, nil, nil, nil, nil, nil,
281
+ nil, nil, 73, 73, 73, 73, 73, 73, 73, 73,
282
+ 73, 73, 73, 73, 73, 97, 97, 97, nil, 97,
283
+ nil, nil, nil, nil, nil, nil, nil, nil, 97, 97,
284
+ 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
285
+ 97, 76, 76, 76, nil, nil, nil, nil, nil, nil,
286
+ nil, nil, nil, nil, 76, 76, 76, 76, 76, 76,
287
+ 76, 76, 76, 76, 76, 76, 76, 126, 126, 126,
288
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 126,
289
+ 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
290
+ 126, 126, 126, 78, 78, 78, nil, nil, nil, nil,
291
+ nil, nil, nil, nil, nil, nil, 78, 78, 78, 78,
292
+ 78, 78, 78, 78, 78, 78, 78, 78, 78, 108,
293
+ 108, 108, nil, nil, nil, nil, nil, nil, nil, nil,
294
+ nil, nil, 108, 108, 108, 108, 108, 108, 108, 108,
295
+ 108, 108, 108, 108, 108, 80, 80, 80, nil, nil,
296
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 80,
297
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
298
+ 80, 114, 114, 114, nil, nil, nil, nil, nil, nil,
299
+ nil, nil, nil, 114, 114, 114, 114, 114, 114, 114,
300
+ 114, 114, 114, 114, 114, 114, 114, 111, 111, 111,
301
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
302
+ 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
303
+ 111, 111, 111, 109, 109, 109, nil, nil, nil, nil,
304
+ nil, nil, nil, nil, nil, nil, 109, 109, 109, 109,
305
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 85,
306
+ 85, 85, nil, nil, nil, nil, nil, nil, nil, nil,
307
+ nil, nil, 85, 85, 85, 85, 85, 85, 85, 85,
308
+ 85, 85, 85, 85, 85, 86, 86, 86, nil, nil,
309
+ nil, nil, nil, nil, nil, nil, nil, nil, 86, 86,
310
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
311
+ 86, 87, 87, 87, nil, nil, nil, nil, nil, nil,
312
+ nil, nil, nil, nil, 87, 87, 87, 87, 87, 87,
313
+ 87, 87, 87, 87, 87, 87, 87, 93, 93, 93,
314
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
315
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
316
+ 93, 93, 93, 88, 88, 88, nil, nil, nil, nil,
317
+ nil, nil, nil, nil, nil, nil, 88, 88, 88, 88,
318
+ 88, 88, 88, 88, 88, 88, 88, 123, 123, 123,
319
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 123,
320
+ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
321
+ 123, 3, 3, 3, nil, nil, 81, 81, 81, nil,
322
+ nil, nil, 3, nil, nil, 3, 3, 3, 81, 3,
323
+ 3, 3, 3, nil, 3, 0, 0, 0, nil, nil,
324
+ nil, nil, nil, nil, nil, nil, 0, nil, nil, 0,
325
+ 0, 0, nil, 0, 0, 0, 0, nil, 0 ]
146
326
 
147
327
  racc_action_pointer = [
148
- 302, 82, nil, 305, nil, nil, nil, 181, nil, nil,
149
- nil, nil, -2, 224, 78, nil, 61, nil, nil, nil,
150
- nil, nil, nil, nil, nil, nil, nil, nil, 16, nil,
151
- nil, nil, nil, -2, 34, 46, nil, 37, 41, nil,
152
- nil, 22, 233, 251, 23, nil, 261, 56, 279, 74,
153
- 7, 72, 35, nil, 284, 51, 58, nil, 256, nil,
154
- 0, nil, 16, nil, 5, nil, 16, nil, nil, nil,
155
- 35, nil, nil, 21, nil, nil, 94, nil, -8, 34,
156
- 215, 45, nil, nil, nil, nil, nil, nil, nil, nil,
157
- nil, nil, 157, 115, 163, nil, nil, nil, nil, nil,
158
- nil, nil, nil, nil, -5, nil, 205, nil, nil, nil,
159
- 73, nil, nil, 187, nil, 73, nil, nil, 136, 18,
160
- nil, nil, nil, nil, 52, nil, nil, nil ]
328
+ 1203, 169, nil, 1179, nil, nil, nil, nil, 533, nil,
329
+ nil, nil, nil, -2, 455, nil, nil, 133, nil, nil,
330
+ nil, nil, nil, nil, 351, 611, 247, 273, 299, 325,
331
+ 145, nil, 137, nil, nil, nil, nil, nil, nil, nil,
332
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
333
+ nil, 24, nil, nil, nil, nil, -2, 50, 104, 29,
334
+ nil, 95, 100, 98, 77, 75, nil, 54, 3, nil,
335
+ nil, 51, 741, 767, 32, nil, 819, 29, 871, 45,
336
+ 923, 1184, nil, 28, 16, 1027, 1053, 1079, 1131, 715,
337
+ 71, 28, nil, 1105, 130, 166, nil, 793, nil, 132,
338
+ nil, 134, nil, 86, nil, 24, nil, nil, 897, 1001,
339
+ nil, 975, 32, nil, 949, nil, 24, nil, nil, nil,
340
+ nil, nil, nil, 1155, 51, nil, 845, nil, nil, nil,
341
+ 53, nil, nil, 31, nil, nil, 134, nil, 51, 159,
342
+ nil, 689, nil, 663, 79, nil, nil, 637, nil, nil,
343
+ 221, nil, nil, 585, 98, nil, nil, nil, nil, nil,
344
+ nil, nil, nil, nil, nil, 559, 105, 507, nil, nil,
345
+ nil, nil, 481, 429, nil, nil, -4, 377, -5, nil,
346
+ nil, nil, 192, nil, nil, 403, nil, 140, nil, 159,
347
+ nil, 163, nil, 0, nil, nil, nil, nil, nil, 76,
348
+ nil, nil, nil ]
161
349
 
162
350
  racc_action_default = [
163
- -85, -85, -1, -2, -3, -5, -6, -12, -8, -9,
164
- -10, -11, -85, -85, -85, -4, -14, -13, -35, -36,
165
- -37, -38, -39, -40, -41, -42, -43, -24, -85, -28,
166
- -30, -31, -32, -44, -76, -85, 128, -76, -85, -25,
167
- -29, -76, -85, -85, -77, -78, -85, -76, -85, -85,
168
- -85, -85, -85, -16, -85, -26, -44, -45, -85, -47,
169
- -85, -79, -44, -81, -76, -83, -76, -7, -15, -17,
170
- -85, -27, -33, -76, -46, -48, -85, -80, -85, -85,
171
- -85, -26, -49, -50, -51, -52, -53, -54, -55, -56,
172
- -57, -58, -85, -85, -85, -69, -70, -71, -72, -73,
173
- -74, -75, -82, -84, -22, -19, -85, -34, -59, -60,
174
- -85, -62, -64, -85, -66, -85, -18, -20, -85, -85,
175
- -61, -63, -65, -67, -85, -23, -21, -68 ]
351
+ -126, -126, -1, -2, -3, -5, -6, -7, -13, -9,
352
+ -10, -11, -12, -126, -126, -96, -97, -126, -102, -103,
353
+ -104, -105, -106, -107, -126, -126, -126, -126, -126, -126,
354
+ -126, -4, -15, -14, -36, -37, -38, -39, -40, -41,
355
+ -42, -43, -44, -45, -46, -47, -48, -49, -50, -51,
356
+ -25, -126, -29, -31, -32, -33, -61, -87, -126, -126,
357
+ -108, -110, -126, -126, -126, -126, 203, -87, -126, -26,
358
+ -30, -87, -126, -126, -88, -89, -126, -87, -126, -126,
359
+ -126, -126, -99, -126, -126, -126, -126, -126, -126, -126,
360
+ -126, -126, -17, -126, -27, -61, -62, -126, -64, -126,
361
+ -90, -61, -92, -87, -94, -87, -98, -100, -126, -126,
362
+ -57, -111, -115, -118, -126, -121, -123, -52, -53, -54,
363
+ -55, -56, -59, -126, -126, -113, -126, -8, -16, -18,
364
+ -126, -28, -34, -87, -63, -65, -126, -91, -126, -126,
365
+ -101, -126, -58, -126, -126, -119, -120, -126, -60, -124,
366
+ -126, -114, -125, -126, -27, -66, -67, -68, -69, -70,
367
+ -71, -72, -73, -74, -75, -126, -126, -126, -86, -93,
368
+ -95, -109, -126, -126, -122, -20, -23, -126, -23, -35,
369
+ -76, -77, -126, -79, -81, -126, -83, -126, -116, -117,
370
+ -21, -126, -112, -126, -19, -78, -80, -82, -84, -126,
371
+ -24, -22, -85 ]
176
372
 
177
373
  racc_goto_table = [
178
- 17, 65, 116, 67, 82, 41, 35, 71, 114, 47,
179
- 49, 72, 53, 51, 59, 28, 29, 55, 104, 4,
180
- 52, 111, 15, 63, 37, 66, 69, 123, 73, 75,
181
- 102, 103, 40, 71, 77, 56, 60, 107, 121, 62,
182
- 78, 64, 79, 16, 119, 1, 125, 70, 58, 81,
183
- 3, 60, 127, 110, 113, 2, 61, nil, nil, nil,
184
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
185
- nil, nil, nil, 105, nil, nil, nil, nil, nil, nil,
186
- nil, nil, nil, nil, nil, 108, nil, 115, nil, nil,
187
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 105,
188
- nil, nil, nil, nil, nil, nil, 115 ]
374
+ 8, 132, 121, 8, 126, 155, 33, 151, 52, 82,
375
+ 122, 56, 58, 176, 145, 98, 178, 71, 79, 92,
376
+ 77, 1, 60, 61, 62, 63, 64, 65, 90, 114,
377
+ 123, 107, 94, 104, 97, 183, 189, 121, 102, 135,
378
+ 193, 145, 129, 105, 127, 148, 70, 186, 131, 56,
379
+ 121, 196, 141, 151, 4, 111, 133, 31, 172, 83,
380
+ 200, 179, 137, 182, 138, 198, 139, 192, 202, 194,
381
+ 95, 99, 185, 51, 101, 100, 103, 81, 91, 84,
382
+ 121, 83, 67, 110, 32, 115, 3, 124, 120, 144,
383
+ 2, 130, 169, 170, 154, 99, 121, 116, nil, nil,
384
+ nil, nil, nil, nil, nil, 121, 140, nil, 131, 142,
385
+ nil, nil, nil, 121, nil, nil, nil, nil, nil, nil,
386
+ nil, nil, nil, 120, 124, nil, nil, nil, nil, nil,
387
+ nil, nil, nil, nil, nil, nil, 120, nil, nil, nil,
388
+ nil, 124, nil, nil, nil, 174, nil, nil, 175, nil,
389
+ nil, 175, nil, nil, nil, nil, nil, nil, nil, nil,
390
+ nil, nil, nil, 180, nil, 187, 120, nil, nil, nil,
391
+ 124, 175, nil, nil, nil, 175, nil, nil, nil, nil,
392
+ nil, nil, 120, 187, nil, nil, nil, nil, nil, nil,
393
+ nil, 120, nil, nil, nil, nil, nil, nil, nil, 120 ]
189
394
 
190
395
  racc_goto_check = [
191
- 12, 11, 16, 11, 17, 24, 12, 11, 34, 25,
192
- 10, 19, 14, 10, 27, 18, 20, 10, 15, 4,
193
- 13, 17, 4, 10, 9, 25, 14, 34, 24, 27,
194
- 11, 11, 20, 11, 24, 12, 12, 19, 17, 12,
195
- 10, 12, 10, 8, 15, 1, 17, 12, 26, 10,
196
- 3, 12, 17, 32, 33, 2, 37, nil, nil, nil,
197
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
198
- nil, nil, nil, 12, nil, nil, nil, nil, nil, nil,
199
- nil, nil, nil, nil, nil, 12, nil, 12, nil, nil,
200
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 12,
201
- nil, nil, nil, nil, nil, nil, 12 ]
396
+ 8, 20, 27, 8, 55, 18, 13, 54, 21, 45,
397
+ 28, 13, 13, 16, 57, 32, 16, 25, 11, 15,
398
+ 26, 1, 13, 13, 13, 13, 13, 13, 11, 53,
399
+ 30, 45, 11, 12, 31, 18, 16, 27, 11, 32,
400
+ 16, 57, 15, 26, 12, 28, 21, 39, 12, 13,
401
+ 27, 18, 53, 54, 4, 29, 25, 4, 55, 8,
402
+ 18, 20, 25, 37, 11, 39, 11, 17, 18, 17,
403
+ 13, 13, 38, 19, 13, 41, 13, 44, 14, 52,
404
+ 27, 8, 10, 13, 9, 13, 3, 13, 8, 56,
405
+ 2, 13, 12, 12, 11, 13, 27, 58, nil, nil,
406
+ nil, nil, nil, nil, nil, 27, 13, nil, 12, 13,
407
+ nil, nil, nil, 27, nil, nil, nil, nil, nil, nil,
408
+ nil, nil, nil, 8, 13, nil, nil, nil, nil, nil,
409
+ nil, nil, nil, nil, nil, nil, 8, nil, nil, nil,
410
+ nil, 13, nil, nil, nil, 13, nil, nil, 13, nil,
411
+ nil, 13, nil, nil, nil, nil, nil, nil, nil, nil,
412
+ nil, nil, nil, 13, nil, 13, 8, nil, nil, nil,
413
+ 13, 13, nil, nil, nil, 13, nil, nil, nil, nil,
414
+ nil, nil, 8, 13, nil, nil, nil, nil, nil, nil,
415
+ nil, 8, nil, nil, nil, nil, nil, nil, nil, 8 ]
202
416
 
203
417
  racc_goto_pointer = [
204
- nil, 45, 55, 50, 19, nil, nil, nil, 36, 8,
205
- -24, -48, -7, -18, -26, -62, -102, -72, 3, -44,
206
- 4, nil, nil, nil, -28, -25, 5, -29, nil, nil,
207
- nil, nil, -40, -40, -86, nil, nil, 12 ]
418
+ nil, 21, 90, 86, 54, nil, nil, nil, 0, 76,
419
+ 50, -39, -46, -2, 10, -49, -137, -109, -131, 60,
420
+ -93, -5, nil, nil, nil, -39, -37, -86, -78, -30,
421
+ -58, -39, -58, nil, nil, nil, nil, -103, -95, -120,
422
+ nil, 1, nil, nil, 18, -50, nil, nil, nil, nil,
423
+ nil, nil, 18, -57, -119, -85, -23, -100, 10 ]
208
424
 
209
425
  racc_goto_default = [
210
- nil, nil, nil, nil, nil, 5, 6, 7, nil, nil,
211
- nil, 8, 33, nil, nil, nil, nil, nil, nil, nil,
212
- nil, 30, 31, 32, nil, 18, nil, nil, 88, 89,
213
- 90, 91, nil, nil, nil, 95, 44, 45 ]
426
+ nil, nil, nil, nil, nil, 5, 6, 7, 48, nil,
427
+ nil, nil, 9, 112, nil, nil, nil, nil, nil, nil,
428
+ nil, nil, 53, 54, 55, nil, 34, 49, 168, nil,
429
+ nil, nil, nil, 161, 162, 163, 164, nil, nil, nil,
430
+ 74, 75, 15, 16, nil, nil, 18, 19, 20, 21,
431
+ 22, 23, nil, nil, 125, nil, nil, 113, nil ]
214
432
 
215
433
  racc_reduce_table = [
216
434
  0, 0, :racc_error,
217
- 1, 26, :_reduce_none,
218
- 1, 27, :_reduce_2,
219
- 1, 28, :_reduce_3,
220
- 2, 28, :_reduce_4,
221
- 1, 29, :_reduce_none,
222
- 1, 29, :_reduce_none,
223
- 5, 30, :_reduce_7,
224
- 1, 30, :_reduce_8,
225
- 1, 32, :_reduce_none,
226
- 1, 32, :_reduce_none,
227
- 1, 32, :_reduce_none,
228
- 0, 33, :_reduce_12,
229
- 1, 33, :_reduce_none,
230
- 0, 34, :_reduce_14,
231
- 3, 34, :_reduce_15,
232
- 1, 38, :_reduce_16,
233
- 2, 38, :_reduce_17,
234
- 5, 39, :_reduce_18,
235
- 1, 40, :_reduce_19,
236
- 2, 40, :_reduce_20,
237
- 3, 40, :_reduce_21,
238
- 0, 41, :_reduce_22,
239
- 2, 41, :_reduce_23,
240
- 2, 36, :_reduce_24,
241
- 3, 36, :_reduce_25,
242
- 0, 44, :_reduce_26,
243
- 1, 44, :_reduce_27,
244
- 1, 43, :_reduce_28,
245
- 2, 43, :_reduce_29,
246
- 1, 45, :_reduce_none,
247
- 1, 45, :_reduce_none,
248
- 1, 45, :_reduce_none,
249
- 4, 46, :_reduce_33,
250
- 6, 46, :_reduce_34,
251
- 1, 37, :_reduce_none,
252
- 1, 37, :_reduce_none,
253
- 1, 50, :_reduce_none,
254
- 1, 50, :_reduce_none,
255
- 1, 50, :_reduce_none,
256
- 1, 50, :_reduce_none,
257
- 1, 50, :_reduce_none,
258
- 1, 50, :_reduce_none,
259
- 1, 50, :_reduce_none,
260
- 0, 49, :_reduce_44,
261
- 2, 49, :_reduce_45,
262
- 3, 49, :_reduce_46,
263
- 1, 51, :_reduce_47,
264
- 2, 51, :_reduce_48,
265
- 3, 52, :_reduce_49,
266
- 1, 42, :_reduce_50,
267
- 1, 42, :_reduce_51,
268
- 1, 42, :_reduce_52,
269
- 1, 42, :_reduce_53,
270
- 1, 42, :_reduce_54,
271
- 1, 42, :_reduce_none,
435
+ 1, 35, :_reduce_none,
436
+ 1, 36, :_reduce_2,
437
+ 1, 37, :_reduce_3,
438
+ 2, 37, :_reduce_4,
439
+ 1, 38, :_reduce_none,
440
+ 1, 38, :_reduce_none,
441
+ 1, 38, :_reduce_none,
442
+ 5, 39, :_reduce_8,
443
+ 1, 39, :_reduce_9,
272
444
  1, 42, :_reduce_none,
273
445
  1, 42, :_reduce_none,
274
446
  1, 42, :_reduce_none,
275
- 2, 53, :_reduce_59,
276
- 2, 54, :_reduce_60,
277
- 3, 54, :_reduce_61,
278
- 1, 57, :_reduce_62,
279
- 2, 57, :_reduce_63,
280
- 2, 55, :_reduce_64,
281
- 3, 55, :_reduce_65,
282
- 1, 58, :_reduce_66,
283
- 2, 58, :_reduce_67,
284
- 3, 59, :_reduce_68,
285
- 1, 56, :_reduce_69,
447
+ 0, 43, :_reduce_13,
448
+ 1, 43, :_reduce_none,
449
+ 0, 44, :_reduce_15,
450
+ 3, 44, :_reduce_16,
451
+ 1, 48, :_reduce_17,
452
+ 2, 48, :_reduce_18,
453
+ 5, 49, :_reduce_19,
454
+ 1, 50, :_reduce_20,
455
+ 2, 50, :_reduce_21,
456
+ 3, 50, :_reduce_22,
457
+ 0, 51, :_reduce_23,
458
+ 2, 51, :_reduce_24,
459
+ 2, 46, :_reduce_25,
460
+ 3, 46, :_reduce_26,
461
+ 0, 54, :_reduce_27,
462
+ 1, 54, :_reduce_28,
463
+ 1, 53, :_reduce_29,
464
+ 2, 53, :_reduce_30,
465
+ 1, 55, :_reduce_none,
466
+ 1, 55, :_reduce_none,
467
+ 1, 55, :_reduce_none,
468
+ 4, 56, :_reduce_34,
469
+ 6, 56, :_reduce_35,
470
+ 1, 47, :_reduce_none,
471
+ 1, 47, :_reduce_none,
472
+ 1, 61, :_reduce_none,
473
+ 1, 61, :_reduce_none,
474
+ 1, 61, :_reduce_none,
475
+ 1, 61, :_reduce_none,
476
+ 1, 61, :_reduce_none,
477
+ 1, 61, :_reduce_none,
478
+ 1, 61, :_reduce_none,
479
+ 1, 61, :_reduce_none,
286
480
  1, 60, :_reduce_none,
287
481
  1, 60, :_reduce_none,
288
482
  1, 60, :_reduce_none,
289
483
  1, 60, :_reduce_none,
290
484
  1, 60, :_reduce_none,
291
485
  1, 60, :_reduce_none,
292
- 0, 35, :_reduce_76,
293
- 1, 35, :_reduce_none,
294
- 1, 61, :_reduce_78,
295
- 2, 61, :_reduce_79,
296
- 3, 62, :_reduce_80,
297
- 3, 47, :_reduce_81,
298
- 5, 48, :_reduce_82,
299
- 3, 48, :_reduce_83,
300
- 6, 31, :_reduce_84 ]
301
-
302
- racc_reduce_n = 85
303
-
304
- racc_shift_n = 128
486
+ 1, 62, :_reduce_none,
487
+ 1, 62, :_reduce_none,
488
+ 1, 62, :_reduce_none,
489
+ 1, 62, :_reduce_none,
490
+ 1, 62, :_reduce_none,
491
+ 1, 63, :_reduce_57,
492
+ 2, 63, :_reduce_58,
493
+ 1, 64, :_reduce_59,
494
+ 2, 64, :_reduce_60,
495
+ 0, 59, :_reduce_61,
496
+ 2, 59, :_reduce_62,
497
+ 3, 59, :_reduce_63,
498
+ 1, 65, :_reduce_64,
499
+ 2, 65, :_reduce_65,
500
+ 3, 66, :_reduce_66,
501
+ 1, 52, :_reduce_67,
502
+ 1, 52, :_reduce_68,
503
+ 1, 52, :_reduce_69,
504
+ 1, 52, :_reduce_70,
505
+ 1, 52, :_reduce_71,
506
+ 1, 52, :_reduce_none,
507
+ 1, 52, :_reduce_none,
508
+ 1, 52, :_reduce_none,
509
+ 1, 52, :_reduce_none,
510
+ 2, 67, :_reduce_76,
511
+ 2, 68, :_reduce_77,
512
+ 3, 68, :_reduce_78,
513
+ 1, 71, :_reduce_79,
514
+ 2, 71, :_reduce_80,
515
+ 2, 69, :_reduce_81,
516
+ 3, 69, :_reduce_82,
517
+ 1, 72, :_reduce_83,
518
+ 2, 72, :_reduce_84,
519
+ 3, 73, :_reduce_85,
520
+ 1, 70, :_reduce_86,
521
+ 0, 45, :_reduce_87,
522
+ 1, 45, :_reduce_none,
523
+ 1, 74, :_reduce_89,
524
+ 2, 74, :_reduce_90,
525
+ 3, 75, :_reduce_91,
526
+ 3, 57, :_reduce_92,
527
+ 5, 58, :_reduce_93,
528
+ 3, 58, :_reduce_94,
529
+ 6, 40, :_reduce_95,
530
+ 1, 41, :_reduce_none,
531
+ 1, 41, :_reduce_none,
532
+ 4, 76, :_reduce_98,
533
+ 1, 78, :_reduce_none,
534
+ 2, 78, :_reduce_100,
535
+ 3, 79, :_reduce_101,
536
+ 1, 77, :_reduce_none,
537
+ 1, 77, :_reduce_none,
538
+ 1, 77, :_reduce_none,
539
+ 1, 77, :_reduce_none,
540
+ 1, 77, :_reduce_none,
541
+ 1, 77, :_reduce_none,
542
+ 2, 80, :_reduce_108,
543
+ 6, 81, :_reduce_109,
544
+ 0, 86, :_reduce_110,
545
+ 2, 86, :_reduce_111,
546
+ 4, 88, :_reduce_112,
547
+ 1, 89, :_reduce_113,
548
+ 2, 89, :_reduce_114,
549
+ 0, 90, :_reduce_115,
550
+ 3, 90, :_reduce_116,
551
+ 4, 91, :_reduce_117,
552
+ 1, 87, :_reduce_118,
553
+ 2, 87, :_reduce_119,
554
+ 5, 82, :_reduce_120,
555
+ 1, 92, :_reduce_121,
556
+ 3, 92, :_reduce_122,
557
+ 4, 83, :_reduce_123,
558
+ 5, 84, :_reduce_124,
559
+ 5, 85, :_reduce_125 ]
560
+
561
+ racc_reduce_n = 126
562
+
563
+ racc_shift_n = 203
305
564
 
306
565
  racc_token_table = {
307
566
  false => 0,
@@ -320,17 +579,26 @@ racc_token_table = {
320
579
  :RCURLY => 13,
321
580
  :LCURLY => 14,
322
581
  :ON => 15,
323
- :IDENTIFIER => 16,
324
- :FRAGMENT => 17,
325
- :TRUE => 18,
326
- :FALSE => 19,
327
- :FLOAT => 20,
328
- :INT => 21,
329
- :STRING => 22,
330
- :DIR_SIGN => 23,
331
- :ELLIPSIS => 24 }
332
-
333
- racc_nt_base = 25
582
+ :SCHEMA => 16,
583
+ :SCALAR => 17,
584
+ :TYPE => 18,
585
+ :IMPLEMENTS => 19,
586
+ :INTERFACE => 20,
587
+ :UNION => 21,
588
+ :ENUM => 22,
589
+ :INPUT => 23,
590
+ :IDENTIFIER => 24,
591
+ :FRAGMENT => 25,
592
+ :TRUE => 26,
593
+ :FALSE => 27,
594
+ :FLOAT => 28,
595
+ :INT => 29,
596
+ :STRING => 30,
597
+ :DIR_SIGN => 31,
598
+ :ELLIPSIS => 32,
599
+ :PIPE => 33 }
600
+
601
+ racc_nt_base = 34
334
602
 
335
603
  racc_use_result_var = true
336
604
 
@@ -367,6 +635,14 @@ Racc_token_to_s_table = [
367
635
  "RCURLY",
368
636
  "LCURLY",
369
637
  "ON",
638
+ "SCHEMA",
639
+ "SCALAR",
640
+ "TYPE",
641
+ "IMPLEMENTS",
642
+ "INTERFACE",
643
+ "UNION",
644
+ "ENUM",
645
+ "INPUT",
370
646
  "IDENTIFIER",
371
647
  "FRAGMENT",
372
648
  "TRUE",
@@ -376,6 +652,7 @@ Racc_token_to_s_table = [
376
652
  "STRING",
377
653
  "DIR_SIGN",
378
654
  "ELLIPSIS",
655
+ "PIPE",
379
656
  "$start",
380
657
  "target",
381
658
  "document",
@@ -383,6 +660,7 @@ Racc_token_to_s_table = [
383
660
  "definition",
384
661
  "operation_definition",
385
662
  "fragment_definition",
663
+ "type_system_definition",
386
664
  "operation_type",
387
665
  "operation_name_opt",
388
666
  "variable_definitions_opt",
@@ -391,8 +669,8 @@ Racc_token_to_s_table = [
391
669
  "name",
392
670
  "variable_definitions_list",
393
671
  "variable_definition",
394
- "variable_definition_type_name",
395
- "variable_definition_default_value_opt",
672
+ "type",
673
+ "default_value_opt",
396
674
  "input_value",
397
675
  "selection_list",
398
676
  "selection_set_opt",
@@ -402,6 +680,10 @@ Racc_token_to_s_table = [
402
680
  "inline_fragment",
403
681
  "arguments_opt",
404
682
  "name_without_on",
683
+ "schema_keyword",
684
+ "enum_name",
685
+ "name_list",
686
+ "enum_name_list",
405
687
  "arguments_list",
406
688
  "argument",
407
689
  "variable",
@@ -411,9 +693,25 @@ Racc_token_to_s_table = [
411
693
  "list_value_list",
412
694
  "object_value_list",
413
695
  "object_value_field",
414
- "enum_name",
415
696
  "directives_list",
416
- "directive" ]
697
+ "directive",
698
+ "schema_definition",
699
+ "type_definition",
700
+ "operation_type_definition_list",
701
+ "operation_type_definition",
702
+ "scalar_type_definition",
703
+ "object_type_definition",
704
+ "interface_type_definition",
705
+ "union_type_definition",
706
+ "enum_type_definition",
707
+ "input_object_type_definition",
708
+ "implements_opt",
709
+ "field_definition_list",
710
+ "input_value_definition",
711
+ "input_value_definition_list",
712
+ "arguments_definitions_opt",
713
+ "field_definition",
714
+ "union_members" ]
417
715
 
418
716
  Racc_debug_parser = false
419
717
 
@@ -448,8 +746,10 @@ module_eval(<<'.,.,', 'parser.y', 8)
448
746
 
449
747
  # reduce 6 omitted
450
748
 
451
- module_eval(<<'.,.,', 'parser.y', 16)
452
- def _reduce_7(val, _values, result)
749
+ # reduce 7 omitted
750
+
751
+ module_eval(<<'.,.,', 'parser.y', 17)
752
+ def _reduce_8(val, _values, result)
453
753
  return make_node(
454
754
  :OperationDefinition, {
455
755
  operation_type: val[0],
@@ -465,8 +765,8 @@ module_eval(<<'.,.,', 'parser.y', 16)
465
765
  end
466
766
  .,.,
467
767
 
468
- module_eval(<<'.,.,', 'parser.y', 28)
469
- def _reduce_8(val, _values, result)
768
+ module_eval(<<'.,.,', 'parser.y', 29)
769
+ def _reduce_9(val, _values, result)
470
770
  return make_node(
471
771
  :OperationDefinition, {
472
772
  operation_type: "query",
@@ -478,51 +778,51 @@ module_eval(<<'.,.,', 'parser.y', 28)
478
778
  end
479
779
  .,.,
480
780
 
481
- # reduce 9 omitted
482
-
483
781
  # reduce 10 omitted
484
782
 
485
783
  # reduce 11 omitted
486
784
 
487
- module_eval(<<'.,.,', 'parser.y', 42)
488
- def _reduce_12(val, _values, result)
785
+ # reduce 12 omitted
786
+
787
+ module_eval(<<'.,.,', 'parser.y', 43)
788
+ def _reduce_13(val, _values, result)
489
789
  return nil
490
790
  result
491
791
  end
492
792
  .,.,
493
793
 
494
- # reduce 13 omitted
794
+ # reduce 14 omitted
495
795
 
496
- module_eval(<<'.,.,', 'parser.y', 46)
497
- def _reduce_14(val, _values, result)
796
+ module_eval(<<'.,.,', 'parser.y', 47)
797
+ def _reduce_15(val, _values, result)
498
798
  return []
499
799
  result
500
800
  end
501
801
  .,.,
502
802
 
503
- module_eval(<<'.,.,', 'parser.y', 47)
504
- def _reduce_15(val, _values, result)
803
+ module_eval(<<'.,.,', 'parser.y', 48)
804
+ def _reduce_16(val, _values, result)
505
805
  return val[1]
506
806
  result
507
807
  end
508
808
  .,.,
509
809
 
510
- module_eval(<<'.,.,', 'parser.y', 50)
511
- def _reduce_16(val, _values, result)
810
+ module_eval(<<'.,.,', 'parser.y', 51)
811
+ def _reduce_17(val, _values, result)
512
812
  return [val[0]]
513
813
  result
514
814
  end
515
815
  .,.,
516
816
 
517
- module_eval(<<'.,.,', 'parser.y', 51)
518
- def _reduce_17(val, _values, result)
817
+ module_eval(<<'.,.,', 'parser.y', 52)
818
+ def _reduce_18(val, _values, result)
519
819
  val[0] << val[1]
520
820
  result
521
821
  end
522
822
  .,.,
523
823
 
524
- module_eval(<<'.,.,', 'parser.y', 55)
525
- def _reduce_18(val, _values, result)
824
+ module_eval(<<'.,.,', 'parser.y', 56)
825
+ def _reduce_19(val, _values, result)
526
826
  return make_node(:VariableDefinition, {
527
827
  name: val[1],
528
828
  type: val[3],
@@ -534,91 +834,91 @@ module_eval(<<'.,.,', 'parser.y', 55)
534
834
  end
535
835
  .,.,
536
836
 
537
- module_eval(<<'.,.,', 'parser.y', 64)
538
- def _reduce_19(val, _values, result)
539
- return make_node(:TypeName, name: val[0])
540
- result
541
- end
542
- .,.,
543
-
544
837
  module_eval(<<'.,.,', 'parser.y', 65)
545
838
  def _reduce_20(val, _values, result)
546
- return make_node(:NonNullType, of_type: val[0])
839
+ return make_node(:TypeName, name: val[0])
547
840
  result
548
841
  end
549
842
  .,.,
550
843
 
551
844
  module_eval(<<'.,.,', 'parser.y', 66)
552
845
  def _reduce_21(val, _values, result)
553
- return make_node(:ListType, of_type: val[1])
846
+ return make_node(:NonNullType, of_type: val[0])
554
847
  result
555
848
  end
556
849
  .,.,
557
850
 
558
- module_eval(<<'.,.,', 'parser.y', 69)
851
+ module_eval(<<'.,.,', 'parser.y', 67)
559
852
  def _reduce_22(val, _values, result)
560
- return nil
853
+ return make_node(:ListType, of_type: val[1])
561
854
  result
562
855
  end
563
856
  .,.,
564
857
 
565
858
  module_eval(<<'.,.,', 'parser.y', 70)
566
859
  def _reduce_23(val, _values, result)
567
- return val[1]
860
+ return nil
568
861
  result
569
862
  end
570
863
  .,.,
571
864
 
572
- module_eval(<<'.,.,', 'parser.y', 73)
865
+ module_eval(<<'.,.,', 'parser.y', 71)
573
866
  def _reduce_24(val, _values, result)
574
- return []
867
+ return val[1]
575
868
  result
576
869
  end
577
870
  .,.,
578
871
 
579
872
  module_eval(<<'.,.,', 'parser.y', 74)
580
873
  def _reduce_25(val, _values, result)
581
- return val[1]
874
+ return []
582
875
  result
583
876
  end
584
877
  .,.,
585
878
 
586
- module_eval(<<'.,.,', 'parser.y', 77)
879
+ module_eval(<<'.,.,', 'parser.y', 75)
587
880
  def _reduce_26(val, _values, result)
588
- return []
881
+ return val[1]
589
882
  result
590
883
  end
591
884
  .,.,
592
885
 
593
886
  module_eval(<<'.,.,', 'parser.y', 78)
594
887
  def _reduce_27(val, _values, result)
595
- return val[0]
888
+ return []
596
889
  result
597
890
  end
598
891
  .,.,
599
892
 
600
- module_eval(<<'.,.,', 'parser.y', 81)
893
+ module_eval(<<'.,.,', 'parser.y', 79)
601
894
  def _reduce_28(val, _values, result)
602
- return [result]
895
+ return val[0]
603
896
  result
604
897
  end
605
898
  .,.,
606
899
 
607
900
  module_eval(<<'.,.,', 'parser.y', 82)
608
901
  def _reduce_29(val, _values, result)
609
- val[0] << val[1]
902
+ return [result]
610
903
  result
611
904
  end
612
905
  .,.,
613
906
 
614
- # reduce 30 omitted
907
+ module_eval(<<'.,.,', 'parser.y', 83)
908
+ def _reduce_30(val, _values, result)
909
+ val[0] << val[1]
910
+ result
911
+ end
912
+ .,.,
615
913
 
616
914
  # reduce 31 omitted
617
915
 
618
916
  # reduce 32 omitted
619
917
 
620
- module_eval(<<'.,.,', 'parser.y', 91)
621
- def _reduce_33(val, _values, result)
918
+ # reduce 33 omitted
919
+
920
+ module_eval(<<'.,.,', 'parser.y', 92)
921
+ def _reduce_34(val, _values, result)
622
922
  return make_node(
623
923
  :Field, {
624
924
  name: val[0],
@@ -633,8 +933,8 @@ module_eval(<<'.,.,', 'parser.y', 91)
633
933
  end
634
934
  .,.,
635
935
 
636
- module_eval(<<'.,.,', 'parser.y', 102)
637
- def _reduce_34(val, _values, result)
936
+ module_eval(<<'.,.,', 'parser.y', 103)
937
+ def _reduce_35(val, _values, result)
638
938
  return make_node(
639
939
  :Field, {
640
940
  alias: val[0],
@@ -650,8 +950,6 @@ module_eval(<<'.,.,', 'parser.y', 102)
650
950
  end
651
951
  .,.,
652
952
 
653
- # reduce 35 omitted
654
-
655
953
  # reduce 36 omitted
656
954
 
657
955
  # reduce 37 omitted
@@ -668,219 +966,261 @@ module_eval(<<'.,.,', 'parser.y', 102)
668
966
 
669
967
  # reduce 43 omitted
670
968
 
671
- module_eval(<<'.,.,', 'parser.y', 128)
672
- def _reduce_44(val, _values, result)
969
+ # reduce 44 omitted
970
+
971
+ # reduce 45 omitted
972
+
973
+ # reduce 46 omitted
974
+
975
+ # reduce 47 omitted
976
+
977
+ # reduce 48 omitted
978
+
979
+ # reduce 49 omitted
980
+
981
+ # reduce 50 omitted
982
+
983
+ # reduce 51 omitted
984
+
985
+ # reduce 52 omitted
986
+
987
+ # reduce 53 omitted
988
+
989
+ # reduce 54 omitted
990
+
991
+ # reduce 55 omitted
992
+
993
+ # reduce 56 omitted
994
+
995
+ module_eval(<<'.,.,', 'parser.y', 145)
996
+ def _reduce_57(val, _values, result)
997
+ return [val[0].to_s]
998
+ result
999
+ end
1000
+ .,.,
1001
+
1002
+ module_eval(<<'.,.,', 'parser.y', 146)
1003
+ def _reduce_58(val, _values, result)
1004
+ val[0] << val[1].to_s
1005
+ result
1006
+ end
1007
+ .,.,
1008
+
1009
+ module_eval(<<'.,.,', 'parser.y', 149)
1010
+ def _reduce_59(val, _values, result)
1011
+ return [val[0].to_s]
1012
+ result
1013
+ end
1014
+ .,.,
1015
+
1016
+ module_eval(<<'.,.,', 'parser.y', 150)
1017
+ def _reduce_60(val, _values, result)
1018
+ return val[0] << val[1].to_s
1019
+ result
1020
+ end
1021
+ .,.,
1022
+
1023
+ module_eval(<<'.,.,', 'parser.y', 153)
1024
+ def _reduce_61(val, _values, result)
673
1025
  return []
674
1026
  result
675
1027
  end
676
1028
  .,.,
677
1029
 
678
- module_eval(<<'.,.,', 'parser.y', 129)
679
- def _reduce_45(val, _values, result)
1030
+ module_eval(<<'.,.,', 'parser.y', 154)
1031
+ def _reduce_62(val, _values, result)
680
1032
  return []
681
1033
  result
682
1034
  end
683
1035
  .,.,
684
1036
 
685
- module_eval(<<'.,.,', 'parser.y', 130)
686
- def _reduce_46(val, _values, result)
1037
+ module_eval(<<'.,.,', 'parser.y', 155)
1038
+ def _reduce_63(val, _values, result)
687
1039
  return val[1]
688
1040
  result
689
1041
  end
690
1042
  .,.,
691
1043
 
692
- module_eval(<<'.,.,', 'parser.y', 133)
693
- def _reduce_47(val, _values, result)
1044
+ module_eval(<<'.,.,', 'parser.y', 158)
1045
+ def _reduce_64(val, _values, result)
694
1046
  return [val[0]]
695
1047
  result
696
1048
  end
697
1049
  .,.,
698
1050
 
699
- module_eval(<<'.,.,', 'parser.y', 134)
700
- def _reduce_48(val, _values, result)
1051
+ module_eval(<<'.,.,', 'parser.y', 159)
1052
+ def _reduce_65(val, _values, result)
701
1053
  val[0] << val[1]
702
1054
  result
703
1055
  end
704
1056
  .,.,
705
1057
 
706
- module_eval(<<'.,.,', 'parser.y', 137)
707
- def _reduce_49(val, _values, result)
1058
+ module_eval(<<'.,.,', 'parser.y', 162)
1059
+ def _reduce_66(val, _values, result)
708
1060
  return make_node(:Argument, name: val[0], value: val[2], position_source: val[0])
709
1061
  result
710
1062
  end
711
1063
  .,.,
712
1064
 
713
- module_eval(<<'.,.,', 'parser.y', 140)
714
- def _reduce_50(val, _values, result)
1065
+ module_eval(<<'.,.,', 'parser.y', 165)
1066
+ def _reduce_67(val, _values, result)
715
1067
  return val[0].to_f
716
1068
  result
717
1069
  end
718
1070
  .,.,
719
1071
 
720
- module_eval(<<'.,.,', 'parser.y', 141)
721
- def _reduce_51(val, _values, result)
1072
+ module_eval(<<'.,.,', 'parser.y', 166)
1073
+ def _reduce_68(val, _values, result)
722
1074
  return val[0].to_i
723
1075
  result
724
1076
  end
725
1077
  .,.,
726
1078
 
727
- module_eval(<<'.,.,', 'parser.y', 142)
728
- def _reduce_52(val, _values, result)
1079
+ module_eval(<<'.,.,', 'parser.y', 167)
1080
+ def _reduce_69(val, _values, result)
729
1081
  return val[0].to_s
730
1082
  result
731
1083
  end
732
1084
  .,.,
733
1085
 
734
- module_eval(<<'.,.,', 'parser.y', 143)
735
- def _reduce_53(val, _values, result)
1086
+ module_eval(<<'.,.,', 'parser.y', 168)
1087
+ def _reduce_70(val, _values, result)
736
1088
  return true
737
1089
  result
738
1090
  end
739
1091
  .,.,
740
1092
 
741
- module_eval(<<'.,.,', 'parser.y', 144)
742
- def _reduce_54(val, _values, result)
1093
+ module_eval(<<'.,.,', 'parser.y', 169)
1094
+ def _reduce_71(val, _values, result)
743
1095
  return false
744
1096
  result
745
1097
  end
746
1098
  .,.,
747
1099
 
748
- # reduce 55 omitted
1100
+ # reduce 72 omitted
749
1101
 
750
- # reduce 56 omitted
1102
+ # reduce 73 omitted
751
1103
 
752
- # reduce 57 omitted
1104
+ # reduce 74 omitted
753
1105
 
754
- # reduce 58 omitted
1106
+ # reduce 75 omitted
755
1107
 
756
- module_eval(<<'.,.,', 'parser.y', 150)
757
- def _reduce_59(val, _values, result)
1108
+ module_eval(<<'.,.,', 'parser.y', 175)
1109
+ def _reduce_76(val, _values, result)
758
1110
  return make_node(:VariableIdentifier, name: val[1], position_source: val[0])
759
1111
  result
760
1112
  end
761
1113
  .,.,
762
1114
 
763
- module_eval(<<'.,.,', 'parser.y', 153)
764
- def _reduce_60(val, _values, result)
1115
+ module_eval(<<'.,.,', 'parser.y', 178)
1116
+ def _reduce_77(val, _values, result)
765
1117
  return []
766
1118
  result
767
1119
  end
768
1120
  .,.,
769
1121
 
770
- module_eval(<<'.,.,', 'parser.y', 154)
771
- def _reduce_61(val, _values, result)
1122
+ module_eval(<<'.,.,', 'parser.y', 179)
1123
+ def _reduce_78(val, _values, result)
772
1124
  return val[1]
773
1125
  result
774
1126
  end
775
1127
  .,.,
776
1128
 
777
- module_eval(<<'.,.,', 'parser.y', 157)
778
- def _reduce_62(val, _values, result)
1129
+ module_eval(<<'.,.,', 'parser.y', 182)
1130
+ def _reduce_79(val, _values, result)
779
1131
  return [val[0]]
780
1132
  result
781
1133
  end
782
1134
  .,.,
783
1135
 
784
- module_eval(<<'.,.,', 'parser.y', 158)
785
- def _reduce_63(val, _values, result)
1136
+ module_eval(<<'.,.,', 'parser.y', 183)
1137
+ def _reduce_80(val, _values, result)
786
1138
  val[0] << val[1]
787
1139
  result
788
1140
  end
789
1141
  .,.,
790
1142
 
791
- module_eval(<<'.,.,', 'parser.y', 161)
792
- def _reduce_64(val, _values, result)
1143
+ module_eval(<<'.,.,', 'parser.y', 186)
1144
+ def _reduce_81(val, _values, result)
793
1145
  return make_node(:InputObject, arguments: [], position_source: val[0])
794
1146
  result
795
1147
  end
796
1148
  .,.,
797
1149
 
798
- module_eval(<<'.,.,', 'parser.y', 162)
799
- def _reduce_65(val, _values, result)
1150
+ module_eval(<<'.,.,', 'parser.y', 187)
1151
+ def _reduce_82(val, _values, result)
800
1152
  return make_node(:InputObject, arguments: val[1], position_source: val[0])
801
1153
  result
802
1154
  end
803
1155
  .,.,
804
1156
 
805
- module_eval(<<'.,.,', 'parser.y', 165)
806
- def _reduce_66(val, _values, result)
1157
+ module_eval(<<'.,.,', 'parser.y', 190)
1158
+ def _reduce_83(val, _values, result)
807
1159
  return [val[0]]
808
1160
  result
809
1161
  end
810
1162
  .,.,
811
1163
 
812
- module_eval(<<'.,.,', 'parser.y', 166)
813
- def _reduce_67(val, _values, result)
1164
+ module_eval(<<'.,.,', 'parser.y', 191)
1165
+ def _reduce_84(val, _values, result)
814
1166
  val[0] << val[1]
815
1167
  result
816
1168
  end
817
1169
  .,.,
818
1170
 
819
- module_eval(<<'.,.,', 'parser.y', 169)
820
- def _reduce_68(val, _values, result)
1171
+ module_eval(<<'.,.,', 'parser.y', 194)
1172
+ def _reduce_85(val, _values, result)
821
1173
  return make_node(:Argument, name: val[0], value: val[2], position_source: val[0])
822
1174
  result
823
1175
  end
824
1176
  .,.,
825
1177
 
826
- module_eval(<<'.,.,', 'parser.y', 171)
827
- def _reduce_69(val, _values, result)
1178
+ module_eval(<<'.,.,', 'parser.y', 196)
1179
+ def _reduce_86(val, _values, result)
828
1180
  return make_node(:Enum, name: val[0], position_source: val[0])
829
1181
  result
830
1182
  end
831
1183
  .,.,
832
1184
 
833
- # reduce 70 omitted
834
-
835
- # reduce 71 omitted
836
-
837
- # reduce 72 omitted
838
-
839
- # reduce 73 omitted
840
-
841
- # reduce 74 omitted
842
-
843
- # reduce 75 omitted
844
-
845
- module_eval(<<'.,.,', 'parser.y', 182)
846
- def _reduce_76(val, _values, result)
1185
+ module_eval(<<'.,.,', 'parser.y', 199)
1186
+ def _reduce_87(val, _values, result)
847
1187
  return []
848
1188
  result
849
1189
  end
850
1190
  .,.,
851
1191
 
852
- # reduce 77 omitted
1192
+ # reduce 88 omitted
853
1193
 
854
- module_eval(<<'.,.,', 'parser.y', 186)
855
- def _reduce_78(val, _values, result)
1194
+ module_eval(<<'.,.,', 'parser.y', 203)
1195
+ def _reduce_89(val, _values, result)
856
1196
  return [val[0]]
857
1197
  result
858
1198
  end
859
1199
  .,.,
860
1200
 
861
- module_eval(<<'.,.,', 'parser.y', 187)
862
- def _reduce_79(val, _values, result)
1201
+ module_eval(<<'.,.,', 'parser.y', 204)
1202
+ def _reduce_90(val, _values, result)
863
1203
  val[0] << val[1]
864
1204
  result
865
1205
  end
866
1206
  .,.,
867
1207
 
868
- module_eval(<<'.,.,', 'parser.y', 189)
869
- def _reduce_80(val, _values, result)
1208
+ module_eval(<<'.,.,', 'parser.y', 206)
1209
+ def _reduce_91(val, _values, result)
870
1210
  return make_node(:Directive, name: val[1], arguments: val[2], position_source: val[0])
871
1211
  result
872
1212
  end
873
1213
  .,.,
874
1214
 
875
- module_eval(<<'.,.,', 'parser.y', 192)
876
- def _reduce_81(val, _values, result)
1215
+ module_eval(<<'.,.,', 'parser.y', 209)
1216
+ def _reduce_92(val, _values, result)
877
1217
  return make_node(:FragmentSpread, name: val[1], directives: val[2], position_source: val[0])
878
1218
  result
879
1219
  end
880
1220
  .,.,
881
1221
 
882
- module_eval(<<'.,.,', 'parser.y', 196)
883
- def _reduce_82(val, _values, result)
1222
+ module_eval(<<'.,.,', 'parser.y', 213)
1223
+ def _reduce_93(val, _values, result)
884
1224
  return make_node(:InlineFragment, {
885
1225
  type: val[2],
886
1226
  directives: val[3],
@@ -892,8 +1232,8 @@ module_eval(<<'.,.,', 'parser.y', 196)
892
1232
  end
893
1233
  .,.,
894
1234
 
895
- module_eval(<<'.,.,', 'parser.y', 204)
896
- def _reduce_83(val, _values, result)
1235
+ module_eval(<<'.,.,', 'parser.y', 221)
1236
+ def _reduce_94(val, _values, result)
897
1237
  return make_node(:InlineFragment, {
898
1238
  type: nil,
899
1239
  directives: val[1],
@@ -905,8 +1245,8 @@ module_eval(<<'.,.,', 'parser.y', 204)
905
1245
  end
906
1246
  .,.,
907
1247
 
908
- module_eval(<<'.,.,', 'parser.y', 214)
909
- def _reduce_84(val, _values, result)
1248
+ module_eval(<<'.,.,', 'parser.y', 231)
1249
+ def _reduce_95(val, _values, result)
910
1250
  return make_node(:FragmentDefinition, {
911
1251
  name: val[1],
912
1252
  type: val[3],
@@ -920,6 +1260,178 @@ module_eval(<<'.,.,', 'parser.y', 214)
920
1260
  end
921
1261
  .,.,
922
1262
 
1263
+ # reduce 96 omitted
1264
+
1265
+ # reduce 97 omitted
1266
+
1267
+ module_eval(<<'.,.,', 'parser.y', 247)
1268
+ def _reduce_98(val, _values, result)
1269
+ return make_node(:SchemaDefinition, val[2])
1270
+ result
1271
+ end
1272
+ .,.,
1273
+
1274
+ # reduce 99 omitted
1275
+
1276
+ module_eval(<<'.,.,', 'parser.y', 251)
1277
+ def _reduce_100(val, _values, result)
1278
+ return val[0].merge(val[1])
1279
+ result
1280
+ end
1281
+ .,.,
1282
+
1283
+ module_eval(<<'.,.,', 'parser.y', 254)
1284
+ def _reduce_101(val, _values, result)
1285
+ return { val[0].to_s.to_sym => val[2] }
1286
+ result
1287
+ end
1288
+ .,.,
1289
+
1290
+ # reduce 102 omitted
1291
+
1292
+ # reduce 103 omitted
1293
+
1294
+ # reduce 104 omitted
1295
+
1296
+ # reduce 105 omitted
1297
+
1298
+ # reduce 106 omitted
1299
+
1300
+ # reduce 107 omitted
1301
+
1302
+ module_eval(<<'.,.,', 'parser.y', 264)
1303
+ def _reduce_108(val, _values, result)
1304
+ return make_node(:ScalarTypeDefinition, name: val[1])
1305
+ result
1306
+ end
1307
+ .,.,
1308
+
1309
+ module_eval(<<'.,.,', 'parser.y', 268)
1310
+ def _reduce_109(val, _values, result)
1311
+ return make_node(:ObjectTypeDefinition, name: val[1], interfaces: val[2], fields: val[4])
1312
+
1313
+ result
1314
+ end
1315
+ .,.,
1316
+
1317
+ module_eval(<<'.,.,', 'parser.y', 272)
1318
+ def _reduce_110(val, _values, result)
1319
+ return []
1320
+ result
1321
+ end
1322
+ .,.,
1323
+
1324
+ module_eval(<<'.,.,', 'parser.y', 273)
1325
+ def _reduce_111(val, _values, result)
1326
+ return val[1]
1327
+ result
1328
+ end
1329
+ .,.,
1330
+
1331
+ module_eval(<<'.,.,', 'parser.y', 277)
1332
+ def _reduce_112(val, _values, result)
1333
+ return make_node(:InputValueDefinition, name: val[0], type: val[2], default_value: val[3])
1334
+
1335
+ result
1336
+ end
1337
+ .,.,
1338
+
1339
+ module_eval(<<'.,.,', 'parser.y', 281)
1340
+ def _reduce_113(val, _values, result)
1341
+ return [val[0]]
1342
+ result
1343
+ end
1344
+ .,.,
1345
+
1346
+ module_eval(<<'.,.,', 'parser.y', 282)
1347
+ def _reduce_114(val, _values, result)
1348
+ val[0] << val[1]
1349
+ result
1350
+ end
1351
+ .,.,
1352
+
1353
+ module_eval(<<'.,.,', 'parser.y', 285)
1354
+ def _reduce_115(val, _values, result)
1355
+ return []
1356
+ result
1357
+ end
1358
+ .,.,
1359
+
1360
+ module_eval(<<'.,.,', 'parser.y', 286)
1361
+ def _reduce_116(val, _values, result)
1362
+ return val[1]
1363
+ result
1364
+ end
1365
+ .,.,
1366
+
1367
+ module_eval(<<'.,.,', 'parser.y', 290)
1368
+ def _reduce_117(val, _values, result)
1369
+ return make_node(:FieldDefinition, name: val[0], arguments: val[1], type: val[3])
1370
+
1371
+ result
1372
+ end
1373
+ .,.,
1374
+
1375
+ module_eval(<<'.,.,', 'parser.y', 294)
1376
+ def _reduce_118(val, _values, result)
1377
+ return [val[0]]
1378
+ result
1379
+ end
1380
+ .,.,
1381
+
1382
+ module_eval(<<'.,.,', 'parser.y', 295)
1383
+ def _reduce_119(val, _values, result)
1384
+ val[0] << val[1]
1385
+ result
1386
+ end
1387
+ .,.,
1388
+
1389
+ module_eval(<<'.,.,', 'parser.y', 299)
1390
+ def _reduce_120(val, _values, result)
1391
+ return make_node(:InterfaceTypeDefinition, name: val[1], fields: val[3])
1392
+
1393
+ result
1394
+ end
1395
+ .,.,
1396
+
1397
+ module_eval(<<'.,.,', 'parser.y', 303)
1398
+ def _reduce_121(val, _values, result)
1399
+ return [val[0].to_s]
1400
+ result
1401
+ end
1402
+ .,.,
1403
+
1404
+ module_eval(<<'.,.,', 'parser.y', 304)
1405
+ def _reduce_122(val, _values, result)
1406
+ val[0] << val[2].to_s
1407
+ result
1408
+ end
1409
+ .,.,
1410
+
1411
+ module_eval(<<'.,.,', 'parser.y', 308)
1412
+ def _reduce_123(val, _values, result)
1413
+ return make_node(:UnionTypeDefinition, name: val[1], types: val[3])
1414
+
1415
+ result
1416
+ end
1417
+ .,.,
1418
+
1419
+ module_eval(<<'.,.,', 'parser.y', 313)
1420
+ def _reduce_124(val, _values, result)
1421
+ return make_node(:EnumTypeDefinition, name: val[1], values: val[3])
1422
+
1423
+ result
1424
+ end
1425
+ .,.,
1426
+
1427
+ module_eval(<<'.,.,', 'parser.y', 318)
1428
+ def _reduce_125(val, _values, result)
1429
+ return make_node(:InputObjectTypeDefinition, name: val[1], fields: val[3])
1430
+
1431
+ result
1432
+ end
1433
+ .,.,
1434
+
923
1435
  def _reduce_none(val, _values, result)
924
1436
  val[0]
925
1437
  end