graphql 0.17.2 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
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