rails-graphql 0.2.0 → 1.0.0.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (297) hide show
  1. checksums.yaml +4 -4
  2. data/ext/console.rb +18 -0
  3. data/ext/extconf.h +3 -0
  4. data/ext/extconf.rb +1 -54
  5. data/ext/gql_parser.c +646 -0
  6. data/ext/shared.c +482 -0
  7. data/ext/shared.h +177 -0
  8. data/lib/gql_parser.so +0 -0
  9. data/lib/rails/graphql/adapters/mysql_adapter.rb +59 -0
  10. data/lib/rails/graphql/adapters/pg_adapter.rb +25 -22
  11. data/lib/rails/graphql/adapters/sqlite_adapter.rb +17 -14
  12. data/lib/rails/graphql/alternative/field_set.rb +36 -0
  13. data/lib/rails/graphql/alternative/mutation.rb +17 -0
  14. data/lib/rails/graphql/alternative/query.rb +93 -0
  15. data/lib/rails/graphql/alternative/subscription.rb +17 -0
  16. data/lib/rails/graphql/alternative.rb +20 -0
  17. data/lib/rails/graphql/argument.rb +21 -24
  18. data/lib/rails/graphql/callback.rb +24 -9
  19. data/lib/rails/graphql/collectors/hash_collector.rb +14 -6
  20. data/lib/rails/graphql/collectors/idented_collector.rb +10 -7
  21. data/lib/rails/graphql/collectors/json_collector.rb +22 -17
  22. data/lib/rails/graphql/collectors.rb +4 -4
  23. data/lib/rails/graphql/config.rb +130 -15
  24. data/lib/rails/graphql/directive/cached_directive.rb +33 -0
  25. data/lib/rails/graphql/directive/deprecated_directive.rb +10 -10
  26. data/lib/rails/graphql/directive/include_directive.rb +5 -4
  27. data/lib/rails/graphql/directive/skip_directive.rb +5 -4
  28. data/lib/rails/graphql/directive.rb +118 -63
  29. data/lib/rails/graphql/errors.rb +33 -4
  30. data/lib/rails/graphql/event.rb +16 -5
  31. data/lib/rails/graphql/field/authorized_field.rb +19 -3
  32. data/lib/rails/graphql/field/input_field.rb +11 -10
  33. data/lib/rails/graphql/field/mutation_field.rb +42 -7
  34. data/lib/rails/graphql/field/output_field.rb +102 -13
  35. data/lib/rails/graphql/field/proxied_field.rb +31 -22
  36. data/lib/rails/graphql/field/resolved_field.rb +26 -24
  37. data/lib/rails/graphql/field/scoped_config.rb +10 -4
  38. data/lib/rails/graphql/field/subscription_field.rb +140 -0
  39. data/lib/rails/graphql/field/typed_field.rb +43 -22
  40. data/lib/rails/graphql/field.rb +70 -56
  41. data/lib/rails/graphql/global_id.rb +85 -0
  42. data/lib/rails/graphql/helpers/attribute_delegator.rb +5 -5
  43. data/lib/rails/graphql/helpers/inherited_collection/array.rb +50 -0
  44. data/lib/rails/graphql/helpers/inherited_collection/base.rb +43 -0
  45. data/lib/rails/graphql/helpers/inherited_collection/hash.rb +87 -0
  46. data/lib/rails/graphql/helpers/inherited_collection.rb +25 -76
  47. data/lib/rails/graphql/helpers/instantiable.rb +15 -0
  48. data/lib/rails/graphql/helpers/leaf_from_ar.rb +7 -7
  49. data/lib/rails/graphql/helpers/registerable.rb +44 -62
  50. data/lib/rails/graphql/helpers/unregisterable.rb +16 -0
  51. data/lib/rails/graphql/helpers/with_arguments.rb +31 -27
  52. data/lib/rails/graphql/helpers/with_assignment.rb +10 -8
  53. data/lib/rails/graphql/helpers/with_callbacks.rb +25 -8
  54. data/lib/rails/graphql/helpers/with_description.rb +71 -0
  55. data/lib/rails/graphql/helpers/with_directives.rb +54 -30
  56. data/lib/rails/graphql/helpers/with_events.rb +21 -23
  57. data/lib/rails/graphql/helpers/with_fields.rb +76 -22
  58. data/lib/rails/graphql/helpers/with_global_id.rb +22 -0
  59. data/lib/rails/graphql/helpers/with_name.rb +43 -0
  60. data/lib/rails/graphql/helpers/with_namespace.rb +7 -4
  61. data/lib/rails/graphql/helpers/with_owner.rb +8 -7
  62. data/lib/rails/graphql/helpers/with_schema_fields.rb +137 -55
  63. data/lib/rails/graphql/helpers/with_validator.rb +9 -9
  64. data/lib/rails/graphql/helpers.rb +10 -3
  65. data/lib/rails/graphql/introspection.rb +43 -36
  66. data/lib/rails/graphql/railtie.rb +88 -33
  67. data/lib/rails/graphql/railties/base_generator.rb +3 -9
  68. data/lib/rails/graphql/railties/channel.rb +157 -0
  69. data/lib/rails/graphql/railties/controller.rb +62 -17
  70. data/lib/rails/graphql/railties/controller_runtime.rb +5 -5
  71. data/lib/rails/graphql/railties/log_subscriber.rb +81 -14
  72. data/lib/rails/graphql/request/arguments.rb +24 -49
  73. data/lib/rails/graphql/request/backtrace.rb +191 -0
  74. data/lib/rails/graphql/request/component/field.rb +86 -65
  75. data/lib/rails/graphql/request/component/fragment.rb +72 -24
  76. data/lib/rails/graphql/request/component/operation/subscription.rb +164 -4
  77. data/lib/rails/graphql/request/component/operation.rb +63 -31
  78. data/lib/rails/graphql/request/component/spread.rb +68 -25
  79. data/lib/rails/graphql/request/component/typename.rb +27 -12
  80. data/lib/rails/graphql/request/component.rb +75 -36
  81. data/lib/rails/graphql/request/context.rb +18 -8
  82. data/lib/rails/graphql/request/errors.rb +16 -6
  83. data/lib/rails/graphql/request/event.rb +19 -8
  84. data/lib/rails/graphql/request/helpers/directives.rb +68 -27
  85. data/lib/rails/graphql/request/helpers/selection_set.rb +51 -25
  86. data/lib/rails/graphql/request/helpers/value_writers.rb +18 -16
  87. data/lib/rails/graphql/request/prepared_data.rb +98 -0
  88. data/lib/rails/graphql/request/steps/authorizable.rb +24 -14
  89. data/lib/rails/graphql/request/steps/organizable.rb +110 -48
  90. data/lib/rails/graphql/request/steps/{prepareable.rb → preparable.rb} +20 -7
  91. data/lib/rails/graphql/request/steps/{resolveable.rb → resolvable.rb} +15 -6
  92. data/lib/rails/graphql/request/strategy/cached_strategy.rb +64 -0
  93. data/lib/rails/graphql/request/strategy/dynamic_instance.rb +6 -6
  94. data/lib/rails/graphql/request/strategy/multi_query_strategy.rb +6 -13
  95. data/lib/rails/graphql/request/strategy/sequenced_strategy.rb +9 -9
  96. data/lib/rails/graphql/request/strategy.rb +131 -75
  97. data/lib/rails/graphql/request/subscription.rb +80 -0
  98. data/lib/rails/graphql/request.rb +305 -86
  99. data/lib/rails/graphql/schema.rb +240 -48
  100. data/lib/rails/graphql/shortcuts.rb +22 -3
  101. data/lib/rails/graphql/source/active_record/builders.rb +50 -36
  102. data/lib/rails/graphql/source/active_record_source.rb +70 -54
  103. data/lib/rails/graphql/source/base.rb +111 -0
  104. data/lib/rails/graphql/source/builder.rb +128 -0
  105. data/lib/rails/graphql/source/scoped_arguments.rb +31 -19
  106. data/lib/rails/graphql/source.rb +89 -213
  107. data/lib/rails/graphql/subscription/provider/action_cable.rb +112 -0
  108. data/lib/rails/graphql/subscription/provider/base.rb +191 -0
  109. data/lib/rails/graphql/subscription/provider.rb +18 -0
  110. data/lib/rails/graphql/subscription/store/base.rb +145 -0
  111. data/lib/rails/graphql/subscription/store/memory.rb +127 -0
  112. data/lib/rails/graphql/subscription/store.rb +19 -0
  113. data/lib/rails/graphql/subscription.rb +17 -0
  114. data/lib/rails/graphql/to_gql.rb +29 -32
  115. data/lib/rails/graphql/type/enum/directive_location_enum.rb +11 -11
  116. data/lib/rails/graphql/type/enum/type_kind_enum.rb +3 -3
  117. data/lib/rails/graphql/type/enum.rb +34 -48
  118. data/lib/rails/graphql/type/input.rb +74 -23
  119. data/lib/rails/graphql/type/interface.rb +16 -26
  120. data/lib/rails/graphql/type/object/directive_object.rb +4 -4
  121. data/lib/rails/graphql/type/object/enum_value_object.rb +3 -3
  122. data/lib/rails/graphql/type/object/field_object.rb +24 -6
  123. data/lib/rails/graphql/type/object/input_value_object.rb +3 -3
  124. data/lib/rails/graphql/type/object/schema_object.rb +5 -8
  125. data/lib/rails/graphql/type/object/type_object.rb +29 -19
  126. data/lib/rails/graphql/type/object.rb +26 -23
  127. data/lib/rails/graphql/type/scalar/any_scalar.rb +30 -0
  128. data/lib/rails/graphql/type/scalar/bigint_scalar.rb +5 -5
  129. data/lib/rails/graphql/type/scalar/binary_scalar.rb +3 -3
  130. data/lib/rails/graphql/type/scalar/boolean_scalar.rb +8 -8
  131. data/lib/rails/graphql/type/scalar/date_scalar.rb +3 -3
  132. data/lib/rails/graphql/type/scalar/date_time_scalar.rb +3 -3
  133. data/lib/rails/graphql/type/scalar/decimal_scalar.rb +3 -3
  134. data/lib/rails/graphql/type/scalar/float_scalar.rb +5 -5
  135. data/lib/rails/graphql/type/scalar/id_scalar.rb +6 -5
  136. data/lib/rails/graphql/type/scalar/int_scalar.rb +6 -5
  137. data/lib/rails/graphql/type/scalar/json_scalar.rb +39 -0
  138. data/lib/rails/graphql/type/scalar/string_scalar.rb +18 -4
  139. data/lib/rails/graphql/type/scalar/time_scalar.rb +5 -5
  140. data/lib/rails/graphql/type/scalar.rb +25 -22
  141. data/lib/rails/graphql/type/union.rb +14 -16
  142. data/lib/rails/graphql/type.rb +34 -25
  143. data/lib/rails/graphql/type_map.rb +257 -165
  144. data/lib/rails/graphql/uri.rb +166 -0
  145. data/lib/rails/graphql/version.rb +15 -3
  146. data/lib/rails/graphql.rake +3 -0
  147. data/lib/rails/graphql.rb +85 -52
  148. data/lib/rails-graphql.rb +1 -1
  149. data/test/assets/en.yml +29 -0
  150. data/test/assets/introspection-mem.txt +1 -1
  151. data/test/assets/mem.gql +18 -45
  152. data/test/assets/mysql.gql +392 -0
  153. data/test/assets/sqlite.gql +21 -12
  154. data/test/assets/translate.gql +335 -0
  155. data/test/config.rb +18 -8
  156. data/test/graphql/schema_test.rb +12 -19
  157. data/test/graphql/source_test.rb +8 -75
  158. data/test/graphql/type/enum_test.rb +207 -203
  159. data/test/graphql/type/input_test.rb +14 -9
  160. data/test/graphql/type/interface_test.rb +4 -4
  161. data/test/graphql/type/scalar/any_scalar_test.rb +38 -0
  162. data/test/graphql/type/scalar/boolean_scalar_test.rb +6 -3
  163. data/test/graphql/type/scalar/json_scalar_test.rb +23 -0
  164. data/test/graphql/type_map_test.rb +51 -66
  165. data/test/graphql/type_test.rb +0 -19
  166. data/test/graphql_test.rb +1 -1
  167. data/test/integration/{authorization/authorization_test.rb → authorization_test.rb} +40 -14
  168. data/test/integration/config.rb +36 -3
  169. data/test/integration/customization_test.rb +39 -0
  170. data/test/integration/global_id_test.rb +99 -0
  171. data/test/integration/memory/star_wars_introspection_test.rb +24 -16
  172. data/test/integration/memory/star_wars_query_test.rb +54 -3
  173. data/test/integration/memory/star_wars_validation_test.rb +1 -1
  174. data/test/integration/mysql/star_wars_introspection_test.rb +25 -0
  175. data/test/integration/persisted_query_test.rb +87 -0
  176. data/test/integration/resolver_precedence_test.rb +154 -0
  177. data/test/integration/schemas/memory.rb +22 -7
  178. data/test/integration/schemas/mysql.rb +62 -0
  179. data/test/integration/schemas/sqlite.rb +21 -12
  180. data/test/integration/sqlite/star_wars_global_id_test.rb +83 -0
  181. data/test/integration/sqlite/star_wars_introspection_test.rb +10 -0
  182. data/test/integration/sqlite/star_wars_query_test.rb +14 -1
  183. data/test/integration/translate_test.rb +61 -0
  184. data/test/test_ext.rb +16 -13
  185. metadata +108 -157
  186. data/ext/depend +0 -3
  187. data/ext/graphqlparser/Ast.cpp +0 -346
  188. data/ext/graphqlparser/Ast.h +0 -1214
  189. data/ext/graphqlparser/AstNode.h +0 -36
  190. data/ext/graphqlparser/AstVisitor.h +0 -137
  191. data/ext/graphqlparser/GraphQLParser.cpp +0 -76
  192. data/ext/graphqlparser/GraphQLParser.h +0 -55
  193. data/ext/graphqlparser/JsonVisitor.cpp +0 -161
  194. data/ext/graphqlparser/JsonVisitor.cpp.inc +0 -456
  195. data/ext/graphqlparser/JsonVisitor.h +0 -121
  196. data/ext/graphqlparser/JsonVisitor.h.inc +0 -110
  197. data/ext/graphqlparser/VERSION +0 -1
  198. data/ext/graphqlparser/c/GraphQLAst.cpp +0 -324
  199. data/ext/graphqlparser/c/GraphQLAst.h +0 -180
  200. data/ext/graphqlparser/c/GraphQLAstForEachConcreteType.h +0 -44
  201. data/ext/graphqlparser/c/GraphQLAstNode.cpp +0 -25
  202. data/ext/graphqlparser/c/GraphQLAstNode.h +0 -33
  203. data/ext/graphqlparser/c/GraphQLAstToJSON.cpp +0 -21
  204. data/ext/graphqlparser/c/GraphQLAstToJSON.h +0 -24
  205. data/ext/graphqlparser/c/GraphQLAstVisitor.cpp +0 -55
  206. data/ext/graphqlparser/c/GraphQLAstVisitor.h +0 -53
  207. data/ext/graphqlparser/c/GraphQLParser.cpp +0 -35
  208. data/ext/graphqlparser/c/GraphQLParser.h +0 -54
  209. data/ext/graphqlparser/dump_json_ast.cpp +0 -48
  210. data/ext/graphqlparser/lexer.lpp +0 -324
  211. data/ext/graphqlparser/parser.ypp +0 -693
  212. data/ext/graphqlparser/parsergen/lexer.cpp +0 -2633
  213. data/ext/graphqlparser/parsergen/lexer.h +0 -528
  214. data/ext/graphqlparser/parsergen/location.hh +0 -189
  215. data/ext/graphqlparser/parsergen/parser.tab.cpp +0 -3300
  216. data/ext/graphqlparser/parsergen/parser.tab.hpp +0 -646
  217. data/ext/graphqlparser/parsergen/position.hh +0 -179
  218. data/ext/graphqlparser/parsergen/stack.hh +0 -156
  219. data/ext/graphqlparser/syntaxdefs.h +0 -19
  220. data/ext/libgraphqlparser/AstNode.h +0 -36
  221. data/ext/libgraphqlparser/CMakeLists.txt +0 -148
  222. data/ext/libgraphqlparser/CONTRIBUTING.md +0 -23
  223. data/ext/libgraphqlparser/GraphQLParser.cpp +0 -76
  224. data/ext/libgraphqlparser/GraphQLParser.h +0 -55
  225. data/ext/libgraphqlparser/JsonVisitor.cpp +0 -161
  226. data/ext/libgraphqlparser/JsonVisitor.h +0 -121
  227. data/ext/libgraphqlparser/LICENSE +0 -22
  228. data/ext/libgraphqlparser/README.clang-tidy +0 -7
  229. data/ext/libgraphqlparser/README.md +0 -84
  230. data/ext/libgraphqlparser/ast/ast.ast +0 -203
  231. data/ext/libgraphqlparser/ast/ast.py +0 -61
  232. data/ext/libgraphqlparser/ast/c.py +0 -100
  233. data/ext/libgraphqlparser/ast/c.pyc +0 -0
  234. data/ext/libgraphqlparser/ast/c_impl.py +0 -61
  235. data/ext/libgraphqlparser/ast/c_impl.pyc +0 -0
  236. data/ext/libgraphqlparser/ast/c_visitor_impl.py +0 -39
  237. data/ext/libgraphqlparser/ast/c_visitor_impl.pyc +0 -0
  238. data/ext/libgraphqlparser/ast/casing.py +0 -26
  239. data/ext/libgraphqlparser/ast/casing.pyc +0 -0
  240. data/ext/libgraphqlparser/ast/cxx.py +0 -197
  241. data/ext/libgraphqlparser/ast/cxx.pyc +0 -0
  242. data/ext/libgraphqlparser/ast/cxx_impl.py +0 -61
  243. data/ext/libgraphqlparser/ast/cxx_impl.pyc +0 -0
  244. data/ext/libgraphqlparser/ast/cxx_json_visitor_header.py +0 -42
  245. data/ext/libgraphqlparser/ast/cxx_json_visitor_header.pyc +0 -0
  246. data/ext/libgraphqlparser/ast/cxx_json_visitor_impl.py +0 -80
  247. data/ext/libgraphqlparser/ast/cxx_json_visitor_impl.pyc +0 -0
  248. data/ext/libgraphqlparser/ast/cxx_visitor.py +0 -64
  249. data/ext/libgraphqlparser/ast/cxx_visitor.pyc +0 -0
  250. data/ext/libgraphqlparser/ast/js.py +0 -65
  251. data/ext/libgraphqlparser/ast/license.py +0 -10
  252. data/ext/libgraphqlparser/ast/license.pyc +0 -0
  253. data/ext/libgraphqlparser/c/GraphQLAstNode.cpp +0 -25
  254. data/ext/libgraphqlparser/c/GraphQLAstNode.h +0 -33
  255. data/ext/libgraphqlparser/c/GraphQLAstToJSON.cpp +0 -21
  256. data/ext/libgraphqlparser/c/GraphQLAstToJSON.h +0 -24
  257. data/ext/libgraphqlparser/c/GraphQLAstVisitor.cpp +0 -55
  258. data/ext/libgraphqlparser/c/GraphQLAstVisitor.h +0 -53
  259. data/ext/libgraphqlparser/c/GraphQLParser.cpp +0 -35
  260. data/ext/libgraphqlparser/c/GraphQLParser.h +0 -54
  261. data/ext/libgraphqlparser/clang-tidy-all.sh +0 -3
  262. data/ext/libgraphqlparser/cmake/version.cmake +0 -16
  263. data/ext/libgraphqlparser/dump_json_ast.cpp +0 -48
  264. data/ext/libgraphqlparser/go/README.md +0 -20
  265. data/ext/libgraphqlparser/go/callbacks.go +0 -18
  266. data/ext/libgraphqlparser/go/gotest.go +0 -64
  267. data/ext/libgraphqlparser/lexer.lpp +0 -324
  268. data/ext/libgraphqlparser/libgraphqlparser.pc.in +0 -11
  269. data/ext/libgraphqlparser/parser.ypp +0 -693
  270. data/ext/libgraphqlparser/parsergen/lexer.cpp +0 -2633
  271. data/ext/libgraphqlparser/parsergen/lexer.h +0 -528
  272. data/ext/libgraphqlparser/parsergen/location.hh +0 -189
  273. data/ext/libgraphqlparser/parsergen/parser.tab.cpp +0 -3300
  274. data/ext/libgraphqlparser/parsergen/parser.tab.hpp +0 -646
  275. data/ext/libgraphqlparser/parsergen/position.hh +0 -179
  276. data/ext/libgraphqlparser/parsergen/stack.hh +0 -156
  277. data/ext/libgraphqlparser/python/CMakeLists.txt +0 -14
  278. data/ext/libgraphqlparser/python/README.md +0 -5
  279. data/ext/libgraphqlparser/python/example.py +0 -31
  280. data/ext/libgraphqlparser/syntaxdefs.h +0 -19
  281. data/ext/libgraphqlparser/test/BuildCAPI.c +0 -5
  282. data/ext/libgraphqlparser/test/CMakeLists.txt +0 -25
  283. data/ext/libgraphqlparser/test/JsonVisitorTests.cpp +0 -28
  284. data/ext/libgraphqlparser/test/ParserTests.cpp +0 -352
  285. data/ext/libgraphqlparser/test/kitchen-sink.graphql +0 -59
  286. data/ext/libgraphqlparser/test/kitchen-sink.json +0 -1
  287. data/ext/libgraphqlparser/test/schema-kitchen-sink.graphql +0 -78
  288. data/ext/libgraphqlparser/test/schema-kitchen-sink.json +0 -1
  289. data/ext/libgraphqlparser/test/valgrind.supp +0 -33
  290. data/ext/version.cpp +0 -21
  291. data/lib/graphqlparser.so +0 -0
  292. data/lib/rails/graphql/native/functions.rb +0 -38
  293. data/lib/rails/graphql/native/location.rb +0 -41
  294. data/lib/rails/graphql/native/pointers.rb +0 -23
  295. data/lib/rails/graphql/native/visitor.rb +0 -349
  296. data/lib/rails/graphql/native.rb +0 -56
  297. data/test/integration/schemas/authorization.rb +0 -12
@@ -1,3300 +0,0 @@
1
- // A Bison parser, made by GNU Bison 3.0.5.
2
-
3
- // Skeleton implementation for Bison LALR(1) parsers in C++
4
-
5
- // Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
6
-
7
- // This program is free software: you can redistribute it and/or modify
8
- // it under the terms of the GNU General Public License as published by
9
- // the Free Software Foundation, either version 3 of the License, or
10
- // (at your option) any later version.
11
-
12
- // This program is distributed in the hope that it will be useful,
13
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- // GNU General Public License for more details.
16
-
17
- // You should have received a copy of the GNU General Public License
18
- // along with this program. If not, see <http://www.gnu.org/licenses/>.
19
-
20
- // As a special exception, you may create a larger work that contains
21
- // part or all of the Bison parser skeleton and distribute that work
22
- // under terms of your choice, so long as that work isn't itself a
23
- // parser generator using the skeleton or a modified version thereof
24
- // as a parser skeleton. Alternatively, if you modify or redistribute
25
- // the parser skeleton itself, you may (at your option) remove this
26
- // special exception, which will cause the skeleton and the resulting
27
- // Bison output files to be licensed under the GNU General Public
28
- // License without this special exception.
29
-
30
- // This special exception was added by the Free Software Foundation in
31
- // version 2.2 of Bison.
32
-
33
-
34
- // First part of user declarations.
35
-
36
- #line 37 "parser.tab.cpp" // lalr1.cc:406
37
-
38
- # ifndef YY_NULLPTR
39
- # if defined __cplusplus && 201103L <= __cplusplus
40
- # define YY_NULLPTR nullptr
41
- # else
42
- # define YY_NULLPTR 0
43
- # endif
44
- # endif
45
-
46
- #include "parser.tab.hpp"
47
-
48
- // User implementation prologue.
49
-
50
- #line 51 "parser.tab.cpp" // lalr1.cc:414
51
- // Unqualified %code blocks.
52
- #line 157 "parser.ypp" // lalr1.cc:415
53
-
54
- #include "lexer.h"
55
- #include "syntaxdefs.h"
56
-
57
- #line 58 "parser.tab.cpp" // lalr1.cc:415
58
-
59
-
60
- #ifndef YY_
61
- # if defined YYENABLE_NLS && YYENABLE_NLS
62
- # if ENABLE_NLS
63
- # include <libintl.h> // FIXME: INFRINGES ON USER NAME SPACE.
64
- # define YY_(msgid) dgettext ("bison-runtime", msgid)
65
- # endif
66
- # endif
67
- # ifndef YY_
68
- # define YY_(msgid) msgid
69
- # endif
70
- #endif
71
-
72
- #define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
73
- /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
74
- If N is 0, then set CURRENT to the empty location which ends
75
- the previous symbol: RHS[0] (always defined). */
76
-
77
- # ifndef YYLLOC_DEFAULT
78
- # define YYLLOC_DEFAULT(Current, Rhs, N) \
79
- do \
80
- if (N) \
81
- { \
82
- (Current).begin = YYRHSLOC (Rhs, 1).begin; \
83
- (Current).end = YYRHSLOC (Rhs, N).end; \
84
- } \
85
- else \
86
- { \
87
- (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
88
- } \
89
- while (/*CONSTCOND*/ false)
90
- # endif
91
-
92
-
93
- // Suppress unused-variable warnings by "using" E.
94
- #define YYUSE(E) ((void) (E))
95
-
96
- // Enable debugging if requested.
97
- #if YYDEBUG
98
-
99
- // A pseudo ostream that takes yydebug_ into account.
100
- # define YYCDEBUG if (yydebug_) (*yycdebug_)
101
-
102
- # define YY_SYMBOL_PRINT(Title, Symbol) \
103
- do { \
104
- if (yydebug_) \
105
- { \
106
- *yycdebug_ << Title << ' '; \
107
- yy_print_ (*yycdebug_, Symbol); \
108
- *yycdebug_ << '\n'; \
109
- } \
110
- } while (false)
111
-
112
- # define YY_REDUCE_PRINT(Rule) \
113
- do { \
114
- if (yydebug_) \
115
- yy_reduce_print_ (Rule); \
116
- } while (false)
117
-
118
- # define YY_STACK_PRINT() \
119
- do { \
120
- if (yydebug_) \
121
- yystack_print_ (); \
122
- } while (false)
123
-
124
- #else // !YYDEBUG
125
-
126
- # define YYCDEBUG if (false) std::cerr
127
- # define YY_SYMBOL_PRINT(Title, Symbol) YYUSE (Symbol)
128
- # define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
129
- # define YY_STACK_PRINT() static_cast<void> (0)
130
-
131
- #endif // !YYDEBUG
132
-
133
- #define yyerrok (yyerrstatus_ = 0)
134
- #define yyclearin (yyla.clear ())
135
-
136
- #define YYACCEPT goto yyacceptlab
137
- #define YYABORT goto yyabortlab
138
- #define YYERROR goto yyerrorlab
139
- #define YYRECOVERING() (!!yyerrstatus_)
140
-
141
-
142
- namespace yy {
143
- #line 144 "parser.tab.cpp" // lalr1.cc:481
144
-
145
- /* Return YYSTR after stripping away unnecessary quotes and
146
- backslashes, so that it's suitable for yyerror. The heuristic is
147
- that double-quoting is unnecessary unless the string contains an
148
- apostrophe, a comma, or backslash (other than backslash-backslash).
149
- YYSTR is taken from yytname. */
150
- std::string
151
- GraphQLParserImpl::yytnamerr_ (const char *yystr)
152
- {
153
- if (*yystr == '"')
154
- {
155
- std::string yyr = "";
156
- char const *yyp = yystr;
157
-
158
- for (;;)
159
- switch (*++yyp)
160
- {
161
- case '\'':
162
- case ',':
163
- goto do_not_strip_quotes;
164
-
165
- case '\\':
166
- if (*++yyp != '\\')
167
- goto do_not_strip_quotes;
168
- // Fall through.
169
- default:
170
- yyr += *yyp;
171
- break;
172
-
173
- case '"':
174
- return yyr;
175
- }
176
- do_not_strip_quotes: ;
177
- }
178
-
179
- return yystr;
180
- }
181
-
182
-
183
- /// Build a parser object.
184
- GraphQLParserImpl::GraphQLParserImpl (bool enableSchema_yyarg, Node **outAST_yyarg, const char **outError_yyarg, void *scanner_yyarg)
185
- :
186
- #if YYDEBUG
187
- yydebug_ (false),
188
- yycdebug_ (&std::cerr),
189
- #endif
190
- enableSchema (enableSchema_yyarg),
191
- outAST (outAST_yyarg),
192
- outError (outError_yyarg),
193
- scanner (scanner_yyarg)
194
- {}
195
-
196
- GraphQLParserImpl::~GraphQLParserImpl ()
197
- {}
198
-
199
-
200
- /*---------------.
201
- | Symbol types. |
202
- `---------------*/
203
-
204
- GraphQLParserImpl::syntax_error::syntax_error (const location_type& l, const std::string& m)
205
- : std::runtime_error (m)
206
- , location (l)
207
- {}
208
-
209
- // basic_symbol.
210
- template <typename Base>
211
- GraphQLParserImpl::basic_symbol<Base>::basic_symbol ()
212
- : value ()
213
- {}
214
-
215
- template <typename Base>
216
- GraphQLParserImpl::basic_symbol<Base>::basic_symbol (const basic_symbol& other)
217
- : Base (other)
218
- , value ()
219
- , location (other.location)
220
- {
221
- value = other.value;
222
- }
223
-
224
- template <typename Base>
225
- GraphQLParserImpl::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const semantic_type& v, const location_type& l)
226
- : Base (t)
227
- , value (v)
228
- , location (l)
229
- {}
230
-
231
-
232
- /// Constructor for valueless symbols.
233
- template <typename Base>
234
- GraphQLParserImpl::basic_symbol<Base>::basic_symbol (typename Base::kind_type t, const location_type& l)
235
- : Base (t)
236
- , value ()
237
- , location (l)
238
- {}
239
-
240
- template <typename Base>
241
- GraphQLParserImpl::basic_symbol<Base>::~basic_symbol ()
242
- {
243
- clear ();
244
- }
245
-
246
- template <typename Base>
247
- void
248
- GraphQLParserImpl::basic_symbol<Base>::clear ()
249
- {
250
- Base::clear ();
251
- }
252
-
253
- template <typename Base>
254
- bool
255
- GraphQLParserImpl::basic_symbol<Base>::empty () const
256
- {
257
- return Base::type_get () == empty_symbol;
258
- }
259
-
260
- template <typename Base>
261
- void
262
- GraphQLParserImpl::basic_symbol<Base>::move (basic_symbol& s)
263
- {
264
- super_type::move (s);
265
- value = s.value;
266
- location = s.location;
267
- }
268
-
269
- // by_type.
270
- GraphQLParserImpl::by_type::by_type ()
271
- : type (empty_symbol)
272
- {}
273
-
274
- GraphQLParserImpl::by_type::by_type (const by_type& other)
275
- : type (other.type)
276
- {}
277
-
278
- GraphQLParserImpl::by_type::by_type (token_type t)
279
- : type (yytranslate_ (t))
280
- {}
281
-
282
- void
283
- GraphQLParserImpl::by_type::clear ()
284
- {
285
- type = empty_symbol;
286
- }
287
-
288
- void
289
- GraphQLParserImpl::by_type::move (by_type& that)
290
- {
291
- type = that.type;
292
- that.clear ();
293
- }
294
-
295
- int
296
- GraphQLParserImpl::by_type::type_get () const
297
- {
298
- return type;
299
- }
300
-
301
-
302
- // by_state.
303
- GraphQLParserImpl::by_state::by_state ()
304
- : state (empty_state)
305
- {}
306
-
307
- GraphQLParserImpl::by_state::by_state (const by_state& other)
308
- : state (other.state)
309
- {}
310
-
311
- void
312
- GraphQLParserImpl::by_state::clear ()
313
- {
314
- state = empty_state;
315
- }
316
-
317
- void
318
- GraphQLParserImpl::by_state::move (by_state& that)
319
- {
320
- state = that.state;
321
- that.clear ();
322
- }
323
-
324
- GraphQLParserImpl::by_state::by_state (state_type s)
325
- : state (s)
326
- {}
327
-
328
- GraphQLParserImpl::symbol_number_type
329
- GraphQLParserImpl::by_state::type_get () const
330
- {
331
- if (state == empty_state)
332
- return empty_symbol;
333
- else
334
- return yystos_[state];
335
- }
336
-
337
- GraphQLParserImpl::stack_symbol_type::stack_symbol_type ()
338
- {}
339
-
340
- GraphQLParserImpl::stack_symbol_type::stack_symbol_type (const stack_symbol_type& that)
341
- : super_type (that.state, that.location)
342
- {
343
- value = that.value;
344
- }
345
-
346
- GraphQLParserImpl::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that)
347
- : super_type (s, that.location)
348
- {
349
- value = that.value;
350
- // that is emptied.
351
- that.type = empty_symbol;
352
- }
353
-
354
- GraphQLParserImpl::stack_symbol_type&
355
- GraphQLParserImpl::stack_symbol_type::operator= (const stack_symbol_type& that)
356
- {
357
- state = that.state;
358
- value = that.value;
359
- location = that.location;
360
- return *this;
361
- }
362
-
363
-
364
- template <typename Base>
365
- void
366
- GraphQLParserImpl::yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const
367
- {
368
- if (yymsg)
369
- YY_SYMBOL_PRINT (yymsg, yysym);
370
-
371
- // User destructor.
372
- switch (yysym.type_get ())
373
- {
374
- case 3: // "directive"
375
-
376
- #line 289 "parser.ypp" // lalr1.cc:616
377
- { }
378
- #line 379 "parser.tab.cpp" // lalr1.cc:616
379
- break;
380
-
381
- case 4: // "enum"
382
-
383
- #line 289 "parser.ypp" // lalr1.cc:616
384
- { }
385
- #line 386 "parser.tab.cpp" // lalr1.cc:616
386
- break;
387
-
388
- case 5: // "extend"
389
-
390
- #line 289 "parser.ypp" // lalr1.cc:616
391
- { }
392
- #line 393 "parser.tab.cpp" // lalr1.cc:616
393
- break;
394
-
395
- case 6: // "false"
396
-
397
- #line 289 "parser.ypp" // lalr1.cc:616
398
- { }
399
- #line 400 "parser.tab.cpp" // lalr1.cc:616
400
- break;
401
-
402
- case 7: // "fragment"
403
-
404
- #line 289 "parser.ypp" // lalr1.cc:616
405
- { }
406
- #line 407 "parser.tab.cpp" // lalr1.cc:616
407
- break;
408
-
409
- case 8: // "implements"
410
-
411
- #line 289 "parser.ypp" // lalr1.cc:616
412
- { }
413
- #line 414 "parser.tab.cpp" // lalr1.cc:616
414
- break;
415
-
416
- case 9: // "input"
417
-
418
- #line 289 "parser.ypp" // lalr1.cc:616
419
- { }
420
- #line 421 "parser.tab.cpp" // lalr1.cc:616
421
- break;
422
-
423
- case 10: // "interface"
424
-
425
- #line 289 "parser.ypp" // lalr1.cc:616
426
- { }
427
- #line 428 "parser.tab.cpp" // lalr1.cc:616
428
- break;
429
-
430
- case 11: // "mutation"
431
-
432
- #line 289 "parser.ypp" // lalr1.cc:616
433
- { }
434
- #line 435 "parser.tab.cpp" // lalr1.cc:616
435
- break;
436
-
437
- case 12: // "null"
438
-
439
- #line 289 "parser.ypp" // lalr1.cc:616
440
- { }
441
- #line 442 "parser.tab.cpp" // lalr1.cc:616
442
- break;
443
-
444
- case 13: // "query"
445
-
446
- #line 289 "parser.ypp" // lalr1.cc:616
447
- { }
448
- #line 449 "parser.tab.cpp" // lalr1.cc:616
449
- break;
450
-
451
- case 14: // "on"
452
-
453
- #line 289 "parser.ypp" // lalr1.cc:616
454
- { }
455
- #line 456 "parser.tab.cpp" // lalr1.cc:616
456
- break;
457
-
458
- case 15: // "scalar"
459
-
460
- #line 289 "parser.ypp" // lalr1.cc:616
461
- { }
462
- #line 463 "parser.tab.cpp" // lalr1.cc:616
463
- break;
464
-
465
- case 16: // "schema"
466
-
467
- #line 289 "parser.ypp" // lalr1.cc:616
468
- { }
469
- #line 470 "parser.tab.cpp" // lalr1.cc:616
470
- break;
471
-
472
- case 17: // "subscription"
473
-
474
- #line 289 "parser.ypp" // lalr1.cc:616
475
- { }
476
- #line 477 "parser.tab.cpp" // lalr1.cc:616
477
- break;
478
-
479
- case 18: // "true"
480
-
481
- #line 289 "parser.ypp" // lalr1.cc:616
482
- { }
483
- #line 484 "parser.tab.cpp" // lalr1.cc:616
484
- break;
485
-
486
- case 19: // "type"
487
-
488
- #line 289 "parser.ypp" // lalr1.cc:616
489
- { }
490
- #line 491 "parser.tab.cpp" // lalr1.cc:616
491
- break;
492
-
493
- case 20: // "union"
494
-
495
- #line 289 "parser.ypp" // lalr1.cc:616
496
- { }
497
- #line 498 "parser.tab.cpp" // lalr1.cc:616
498
- break;
499
-
500
- case 33: // VARIABLE
501
-
502
- #line 289 "parser.ypp" // lalr1.cc:616
503
- { }
504
- #line 505 "parser.tab.cpp" // lalr1.cc:616
505
- break;
506
-
507
- case 34: // INTEGER
508
-
509
- #line 289 "parser.ypp" // lalr1.cc:616
510
- { }
511
- #line 512 "parser.tab.cpp" // lalr1.cc:616
512
- break;
513
-
514
- case 35: // FLOAT
515
-
516
- #line 289 "parser.ypp" // lalr1.cc:616
517
- { }
518
- #line 519 "parser.tab.cpp" // lalr1.cc:616
519
- break;
520
-
521
- case 36: // STRING
522
-
523
- #line 289 "parser.ypp" // lalr1.cc:616
524
- { }
525
- #line 526 "parser.tab.cpp" // lalr1.cc:616
526
- break;
527
-
528
- case 37: // IDENTIFIER
529
-
530
- #line 289 "parser.ypp" // lalr1.cc:616
531
- { }
532
- #line 533 "parser.tab.cpp" // lalr1.cc:616
533
- break;
534
-
535
- case 39: // start
536
-
537
- #line 291 "parser.ypp" // lalr1.cc:616
538
- { }
539
- #line 540 "parser.tab.cpp" // lalr1.cc:616
540
- break;
541
-
542
- case 40: // fragment_name
543
-
544
- #line 292 "parser.ypp" // lalr1.cc:616
545
- { delete (yysym.value.name); }
546
- #line 547 "parser.tab.cpp" // lalr1.cc:616
547
- break;
548
-
549
- case 41: // name
550
-
551
- #line 292 "parser.ypp" // lalr1.cc:616
552
- { delete (yysym.value.name); }
553
- #line 554 "parser.tab.cpp" // lalr1.cc:616
554
- break;
555
-
556
- case 42: // name_opt
557
-
558
- #line 292 "parser.ypp" // lalr1.cc:616
559
- { delete (yysym.value.name); }
560
- #line 561 "parser.tab.cpp" // lalr1.cc:616
561
- break;
562
-
563
- case 43: // document
564
-
565
- #line 291 "parser.ypp" // lalr1.cc:616
566
- { }
567
- #line 568 "parser.tab.cpp" // lalr1.cc:616
568
- break;
569
-
570
- case 44: // definition_list
571
-
572
- #line 292 "parser.ypp" // lalr1.cc:616
573
- { delete (yysym.value.definitionList); }
574
- #line 575 "parser.tab.cpp" // lalr1.cc:616
575
- break;
576
-
577
- case 45: // definition
578
-
579
- #line 292 "parser.ypp" // lalr1.cc:616
580
- { delete (yysym.value.definition); }
581
- #line 582 "parser.tab.cpp" // lalr1.cc:616
582
- break;
583
-
584
- case 46: // schema_gate
585
-
586
- #line 292 "parser.ypp" // lalr1.cc:616
587
- { delete (yysym.value.definition); }
588
- #line 589 "parser.tab.cpp" // lalr1.cc:616
589
- break;
590
-
591
- case 47: // operation_definition
592
-
593
- #line 292 "parser.ypp" // lalr1.cc:616
594
- { delete (yysym.value.operationDefinition); }
595
- #line 596 "parser.tab.cpp" // lalr1.cc:616
596
- break;
597
-
598
- case 48: // operation_type
599
-
600
- #line 290 "parser.ypp" // lalr1.cc:616
601
- { free((void *)(yysym.value.heapStr)); }
602
- #line 603 "parser.tab.cpp" // lalr1.cc:616
603
- break;
604
-
605
- case 49: // variable_definitions
606
-
607
- #line 292 "parser.ypp" // lalr1.cc:616
608
- { delete (yysym.value.variableDefinitionList); }
609
- #line 610 "parser.tab.cpp" // lalr1.cc:616
610
- break;
611
-
612
- case 50: // variable_definition_list
613
-
614
- #line 292 "parser.ypp" // lalr1.cc:616
615
- { delete (yysym.value.variableDefinitionList); }
616
- #line 617 "parser.tab.cpp" // lalr1.cc:616
617
- break;
618
-
619
- case 51: // variable
620
-
621
- #line 292 "parser.ypp" // lalr1.cc:616
622
- { delete (yysym.value.variable); }
623
- #line 624 "parser.tab.cpp" // lalr1.cc:616
624
- break;
625
-
626
- case 52: // variable_definition
627
-
628
- #line 292 "parser.ypp" // lalr1.cc:616
629
- { delete (yysym.value.variableDefinition); }
630
- #line 631 "parser.tab.cpp" // lalr1.cc:616
631
- break;
632
-
633
- case 53: // default_value_opt
634
-
635
- #line 292 "parser.ypp" // lalr1.cc:616
636
- { delete (yysym.value.value); }
637
- #line 638 "parser.tab.cpp" // lalr1.cc:616
638
- break;
639
-
640
- case 54: // default_value
641
-
642
- #line 292 "parser.ypp" // lalr1.cc:616
643
- { delete (yysym.value.value); }
644
- #line 645 "parser.tab.cpp" // lalr1.cc:616
645
- break;
646
-
647
- case 55: // selection_set
648
-
649
- #line 292 "parser.ypp" // lalr1.cc:616
650
- { delete (yysym.value.selectionSet); }
651
- #line 652 "parser.tab.cpp" // lalr1.cc:616
652
- break;
653
-
654
- case 56: // selection_set_opt
655
-
656
- #line 292 "parser.ypp" // lalr1.cc:616
657
- { delete (yysym.value.selectionSet); }
658
- #line 659 "parser.tab.cpp" // lalr1.cc:616
659
- break;
660
-
661
- case 57: // selection_list
662
-
663
- #line 292 "parser.ypp" // lalr1.cc:616
664
- { delete (yysym.value.selectionList); }
665
- #line 666 "parser.tab.cpp" // lalr1.cc:616
666
- break;
667
-
668
- case 58: // selection
669
-
670
- #line 292 "parser.ypp" // lalr1.cc:616
671
- { delete (yysym.value.selection); }
672
- #line 673 "parser.tab.cpp" // lalr1.cc:616
673
- break;
674
-
675
- case 59: // field
676
-
677
- #line 292 "parser.ypp" // lalr1.cc:616
678
- { delete (yysym.value.field); }
679
- #line 680 "parser.tab.cpp" // lalr1.cc:616
680
- break;
681
-
682
- case 60: // arguments
683
-
684
- #line 292 "parser.ypp" // lalr1.cc:616
685
- { delete (yysym.value.argumentList); }
686
- #line 687 "parser.tab.cpp" // lalr1.cc:616
687
- break;
688
-
689
- case 61: // arguments_opt
690
-
691
- #line 292 "parser.ypp" // lalr1.cc:616
692
- { delete (yysym.value.argumentList); }
693
- #line 694 "parser.tab.cpp" // lalr1.cc:616
694
- break;
695
-
696
- case 62: // argument_list
697
-
698
- #line 292 "parser.ypp" // lalr1.cc:616
699
- { delete (yysym.value.argumentList); }
700
- #line 701 "parser.tab.cpp" // lalr1.cc:616
701
- break;
702
-
703
- case 63: // argument
704
-
705
- #line 292 "parser.ypp" // lalr1.cc:616
706
- { delete (yysym.value.argument); }
707
- #line 708 "parser.tab.cpp" // lalr1.cc:616
708
- break;
709
-
710
- case 64: // fragment_spread
711
-
712
- #line 292 "parser.ypp" // lalr1.cc:616
713
- { delete (yysym.value.fragmentSpread); }
714
- #line 715 "parser.tab.cpp" // lalr1.cc:616
715
- break;
716
-
717
- case 65: // inline_fragment
718
-
719
- #line 292 "parser.ypp" // lalr1.cc:616
720
- { delete (yysym.value.inlineFragment); }
721
- #line 722 "parser.tab.cpp" // lalr1.cc:616
722
- break;
723
-
724
- case 66: // fragment_definition
725
-
726
- #line 292 "parser.ypp" // lalr1.cc:616
727
- { delete (yysym.value.fragmentDefinition); }
728
- #line 729 "parser.tab.cpp" // lalr1.cc:616
729
- break;
730
-
731
- case 67: // type_condition
732
-
733
- #line 292 "parser.ypp" // lalr1.cc:616
734
- { delete (yysym.value.namedType); }
735
- #line 736 "parser.tab.cpp" // lalr1.cc:616
736
- break;
737
-
738
- case 68: // value
739
-
740
- #line 292 "parser.ypp" // lalr1.cc:616
741
- { delete (yysym.value.value); }
742
- #line 743 "parser.tab.cpp" // lalr1.cc:616
743
- break;
744
-
745
- case 69: // int_value
746
-
747
- #line 292 "parser.ypp" // lalr1.cc:616
748
- { delete (yysym.value.intValue); }
749
- #line 750 "parser.tab.cpp" // lalr1.cc:616
750
- break;
751
-
752
- case 70: // float_value
753
-
754
- #line 292 "parser.ypp" // lalr1.cc:616
755
- { delete (yysym.value.floatValue); }
756
- #line 757 "parser.tab.cpp" // lalr1.cc:616
757
- break;
758
-
759
- case 71: // string_value
760
-
761
- #line 292 "parser.ypp" // lalr1.cc:616
762
- { delete (yysym.value.stringValue); }
763
- #line 764 "parser.tab.cpp" // lalr1.cc:616
764
- break;
765
-
766
- case 72: // value_const
767
-
768
- #line 292 "parser.ypp" // lalr1.cc:616
769
- { delete (yysym.value.value); }
770
- #line 771 "parser.tab.cpp" // lalr1.cc:616
771
- break;
772
-
773
- case 73: // boolean_value
774
-
775
- #line 292 "parser.ypp" // lalr1.cc:616
776
- { delete (yysym.value.booleanValue); }
777
- #line 778 "parser.tab.cpp" // lalr1.cc:616
778
- break;
779
-
780
- case 74: // null_value
781
-
782
- #line 292 "parser.ypp" // lalr1.cc:616
783
- { delete (yysym.value.nullValue); }
784
- #line 785 "parser.tab.cpp" // lalr1.cc:616
785
- break;
786
-
787
- case 75: // enum_value
788
-
789
- #line 292 "parser.ypp" // lalr1.cc:616
790
- { delete (yysym.value.enumValue); }
791
- #line 792 "parser.tab.cpp" // lalr1.cc:616
792
- break;
793
-
794
- case 76: // list_value
795
-
796
- #line 292 "parser.ypp" // lalr1.cc:616
797
- { delete (yysym.value.arrayValue); }
798
- #line 799 "parser.tab.cpp" // lalr1.cc:616
799
- break;
800
-
801
- case 77: // value_list
802
-
803
- #line 292 "parser.ypp" // lalr1.cc:616
804
- { delete (yysym.value.valueList); }
805
- #line 806 "parser.tab.cpp" // lalr1.cc:616
806
- break;
807
-
808
- case 78: // list_value_const
809
-
810
- #line 292 "parser.ypp" // lalr1.cc:616
811
- { delete (yysym.value.arrayValue); }
812
- #line 813 "parser.tab.cpp" // lalr1.cc:616
813
- break;
814
-
815
- case 79: // value_const_list
816
-
817
- #line 292 "parser.ypp" // lalr1.cc:616
818
- { delete (yysym.value.valueList); }
819
- #line 820 "parser.tab.cpp" // lalr1.cc:616
820
- break;
821
-
822
- case 80: // object_value
823
-
824
- #line 292 "parser.ypp" // lalr1.cc:616
825
- { delete (yysym.value.objectValue); }
826
- #line 827 "parser.tab.cpp" // lalr1.cc:616
827
- break;
828
-
829
- case 81: // object_field_list
830
-
831
- #line 292 "parser.ypp" // lalr1.cc:616
832
- { delete (yysym.value.objectFieldList); }
833
- #line 834 "parser.tab.cpp" // lalr1.cc:616
834
- break;
835
-
836
- case 82: // object_field
837
-
838
- #line 292 "parser.ypp" // lalr1.cc:616
839
- { delete (yysym.value.objectField); }
840
- #line 841 "parser.tab.cpp" // lalr1.cc:616
841
- break;
842
-
843
- case 83: // object_value_const
844
-
845
- #line 292 "parser.ypp" // lalr1.cc:616
846
- { delete (yysym.value.objectValue); }
847
- #line 848 "parser.tab.cpp" // lalr1.cc:616
848
- break;
849
-
850
- case 84: // object_field_const_list
851
-
852
- #line 292 "parser.ypp" // lalr1.cc:616
853
- { delete (yysym.value.objectFieldList); }
854
- #line 855 "parser.tab.cpp" // lalr1.cc:616
855
- break;
856
-
857
- case 85: // object_field_const
858
-
859
- #line 292 "parser.ypp" // lalr1.cc:616
860
- { delete (yysym.value.objectField); }
861
- #line 862 "parser.tab.cpp" // lalr1.cc:616
862
- break;
863
-
864
- case 86: // directives
865
-
866
- #line 292 "parser.ypp" // lalr1.cc:616
867
- { delete (yysym.value.directiveList); }
868
- #line 869 "parser.tab.cpp" // lalr1.cc:616
869
- break;
870
-
871
- case 87: // directives_opt
872
-
873
- #line 292 "parser.ypp" // lalr1.cc:616
874
- { delete (yysym.value.directiveList); }
875
- #line 876 "parser.tab.cpp" // lalr1.cc:616
876
- break;
877
-
878
- case 88: // directive_list
879
-
880
- #line 292 "parser.ypp" // lalr1.cc:616
881
- { delete (yysym.value.directiveList); }
882
- #line 883 "parser.tab.cpp" // lalr1.cc:616
883
- break;
884
-
885
- case 89: // directive
886
-
887
- #line 292 "parser.ypp" // lalr1.cc:616
888
- { delete (yysym.value.directive); }
889
- #line 890 "parser.tab.cpp" // lalr1.cc:616
890
- break;
891
-
892
- case 90: // type
893
-
894
- #line 292 "parser.ypp" // lalr1.cc:616
895
- { delete (yysym.value.type); }
896
- #line 897 "parser.tab.cpp" // lalr1.cc:616
897
- break;
898
-
899
- case 91: // type_name
900
-
901
- #line 292 "parser.ypp" // lalr1.cc:616
902
- { delete (yysym.value.namedType); }
903
- #line 904 "parser.tab.cpp" // lalr1.cc:616
904
- break;
905
-
906
- case 92: // list_type
907
-
908
- #line 292 "parser.ypp" // lalr1.cc:616
909
- { delete (yysym.value.listType); }
910
- #line 911 "parser.tab.cpp" // lalr1.cc:616
911
- break;
912
-
913
- case 93: // non_null_type
914
-
915
- #line 292 "parser.ypp" // lalr1.cc:616
916
- { delete (yysym.value.nonNullType); }
917
- #line 918 "parser.tab.cpp" // lalr1.cc:616
918
- break;
919
-
920
- case 94: // schema_definition
921
-
922
- #line 292 "parser.ypp" // lalr1.cc:616
923
- { delete (yysym.value.schemaDefinition); }
924
- #line 925 "parser.tab.cpp" // lalr1.cc:616
925
- break;
926
-
927
- case 95: // operation_type_definition_list
928
-
929
- #line 292 "parser.ypp" // lalr1.cc:616
930
- { delete (yysym.value.operationTypeDefinitionList); }
931
- #line 932 "parser.tab.cpp" // lalr1.cc:616
932
- break;
933
-
934
- case 96: // operation_type_definition
935
-
936
- #line 292 "parser.ypp" // lalr1.cc:616
937
- { delete (yysym.value.operationTypeDefinition); }
938
- #line 939 "parser.tab.cpp" // lalr1.cc:616
939
- break;
940
-
941
- case 97: // scalar_type_definition
942
-
943
- #line 292 "parser.ypp" // lalr1.cc:616
944
- { delete (yysym.value.scalarTypeDefinition); }
945
- #line 946 "parser.tab.cpp" // lalr1.cc:616
946
- break;
947
-
948
- case 98: // object_type_definition
949
-
950
- #line 292 "parser.ypp" // lalr1.cc:616
951
- { delete (yysym.value.objectTypeDefinition); }
952
- #line 953 "parser.tab.cpp" // lalr1.cc:616
953
- break;
954
-
955
- case 99: // implements_interfaces_opt
956
-
957
- #line 292 "parser.ypp" // lalr1.cc:616
958
- { delete (yysym.value.typeNameList); }
959
- #line 960 "parser.tab.cpp" // lalr1.cc:616
960
- break;
961
-
962
- case 100: // type_name_list
963
-
964
- #line 292 "parser.ypp" // lalr1.cc:616
965
- { delete (yysym.value.typeNameList); }
966
- #line 967 "parser.tab.cpp" // lalr1.cc:616
967
- break;
968
-
969
- case 101: // field_definition
970
-
971
- #line 292 "parser.ypp" // lalr1.cc:616
972
- { delete (yysym.value.fieldDefinition); }
973
- #line 974 "parser.tab.cpp" // lalr1.cc:616
974
- break;
975
-
976
- case 102: // field_definition_list
977
-
978
- #line 292 "parser.ypp" // lalr1.cc:616
979
- { delete (yysym.value.fieldDefinitionList); }
980
- #line 981 "parser.tab.cpp" // lalr1.cc:616
981
- break;
982
-
983
- case 103: // arguments_definition_opt
984
-
985
- #line 292 "parser.ypp" // lalr1.cc:616
986
- { delete (yysym.value.inputValueDefinitionList); }
987
- #line 988 "parser.tab.cpp" // lalr1.cc:616
988
- break;
989
-
990
- case 104: // arguments_definition
991
-
992
- #line 292 "parser.ypp" // lalr1.cc:616
993
- { delete (yysym.value.inputValueDefinitionList); }
994
- #line 995 "parser.tab.cpp" // lalr1.cc:616
995
- break;
996
-
997
- case 105: // input_value_definition_list
998
-
999
- #line 292 "parser.ypp" // lalr1.cc:616
1000
- { delete (yysym.value.inputValueDefinitionList); }
1001
- #line 1002 "parser.tab.cpp" // lalr1.cc:616
1002
- break;
1003
-
1004
- case 106: // input_value_definition
1005
-
1006
- #line 292 "parser.ypp" // lalr1.cc:616
1007
- { delete (yysym.value.inputValueDefinition); }
1008
- #line 1009 "parser.tab.cpp" // lalr1.cc:616
1009
- break;
1010
-
1011
- case 107: // interface_type_definition
1012
-
1013
- #line 292 "parser.ypp" // lalr1.cc:616
1014
- { delete (yysym.value.interfaceTypeDefinition); }
1015
- #line 1016 "parser.tab.cpp" // lalr1.cc:616
1016
- break;
1017
-
1018
- case 108: // union_type_definition
1019
-
1020
- #line 292 "parser.ypp" // lalr1.cc:616
1021
- { delete (yysym.value.unionTypeDefinition); }
1022
- #line 1023 "parser.tab.cpp" // lalr1.cc:616
1023
- break;
1024
-
1025
- case 109: // union_members
1026
-
1027
- #line 292 "parser.ypp" // lalr1.cc:616
1028
- { delete (yysym.value.typeNameList); }
1029
- #line 1030 "parser.tab.cpp" // lalr1.cc:616
1030
- break;
1031
-
1032
- case 110: // enum_type_definition
1033
-
1034
- #line 292 "parser.ypp" // lalr1.cc:616
1035
- { delete (yysym.value.enumTypeDefinition); }
1036
- #line 1037 "parser.tab.cpp" // lalr1.cc:616
1037
- break;
1038
-
1039
- case 111: // enum_value_definition
1040
-
1041
- #line 292 "parser.ypp" // lalr1.cc:616
1042
- { delete (yysym.value.enumValueDefinition); }
1043
- #line 1044 "parser.tab.cpp" // lalr1.cc:616
1044
- break;
1045
-
1046
- case 112: // enum_value_definition_list
1047
-
1048
- #line 292 "parser.ypp" // lalr1.cc:616
1049
- { delete (yysym.value.enumValueDefinitionList); }
1050
- #line 1051 "parser.tab.cpp" // lalr1.cc:616
1051
- break;
1052
-
1053
- case 113: // input_object_type_definition
1054
-
1055
- #line 292 "parser.ypp" // lalr1.cc:616
1056
- { delete (yysym.value.inputObjectTypeDefinition); }
1057
- #line 1058 "parser.tab.cpp" // lalr1.cc:616
1058
- break;
1059
-
1060
- case 114: // type_extension_definition
1061
-
1062
- #line 292 "parser.ypp" // lalr1.cc:616
1063
- { delete (yysym.value.typeExtensionDefinition); }
1064
- #line 1065 "parser.tab.cpp" // lalr1.cc:616
1065
- break;
1066
-
1067
- case 115: // directive_definition
1068
-
1069
- #line 292 "parser.ypp" // lalr1.cc:616
1070
- { delete (yysym.value.directiveDefinition); }
1071
- #line 1072 "parser.tab.cpp" // lalr1.cc:616
1072
- break;
1073
-
1074
- case 116: // directive_locations
1075
-
1076
- #line 292 "parser.ypp" // lalr1.cc:616
1077
- { delete (yysym.value.nameList); }
1078
- #line 1079 "parser.tab.cpp" // lalr1.cc:616
1079
- break;
1080
-
1081
-
1082
- default:
1083
- break;
1084
- }
1085
- }
1086
-
1087
- #if YYDEBUG
1088
- template <typename Base>
1089
- void
1090
- GraphQLParserImpl::yy_print_ (std::ostream& yyo,
1091
- const basic_symbol<Base>& yysym) const
1092
- {
1093
- std::ostream& yyoutput = yyo;
1094
- YYUSE (yyoutput);
1095
- symbol_number_type yytype = yysym.type_get ();
1096
- // Avoid a (spurious) G++ 4.8 warning about "array subscript is
1097
- // below array bounds".
1098
- if (yysym.empty ())
1099
- std::abort ();
1100
- yyo << (yytype < yyntokens_ ? "token" : "nterm")
1101
- << ' ' << yytname_[yytype] << " ("
1102
- << yysym.location << ": ";
1103
- switch (yytype)
1104
- {
1105
- case 3: // "directive"
1106
-
1107
- #line 294 "parser.ypp" // lalr1.cc:635
1108
- { yyoutput << (yysym.value.str); }
1109
- #line 1110 "parser.tab.cpp" // lalr1.cc:635
1110
- break;
1111
-
1112
- case 4: // "enum"
1113
-
1114
- #line 294 "parser.ypp" // lalr1.cc:635
1115
- { yyoutput << (yysym.value.str); }
1116
- #line 1117 "parser.tab.cpp" // lalr1.cc:635
1117
- break;
1118
-
1119
- case 5: // "extend"
1120
-
1121
- #line 294 "parser.ypp" // lalr1.cc:635
1122
- { yyoutput << (yysym.value.str); }
1123
- #line 1124 "parser.tab.cpp" // lalr1.cc:635
1124
- break;
1125
-
1126
- case 6: // "false"
1127
-
1128
- #line 294 "parser.ypp" // lalr1.cc:635
1129
- { yyoutput << (yysym.value.str); }
1130
- #line 1131 "parser.tab.cpp" // lalr1.cc:635
1131
- break;
1132
-
1133
- case 7: // "fragment"
1134
-
1135
- #line 294 "parser.ypp" // lalr1.cc:635
1136
- { yyoutput << (yysym.value.str); }
1137
- #line 1138 "parser.tab.cpp" // lalr1.cc:635
1138
- break;
1139
-
1140
- case 8: // "implements"
1141
-
1142
- #line 294 "parser.ypp" // lalr1.cc:635
1143
- { yyoutput << (yysym.value.str); }
1144
- #line 1145 "parser.tab.cpp" // lalr1.cc:635
1145
- break;
1146
-
1147
- case 9: // "input"
1148
-
1149
- #line 294 "parser.ypp" // lalr1.cc:635
1150
- { yyoutput << (yysym.value.str); }
1151
- #line 1152 "parser.tab.cpp" // lalr1.cc:635
1152
- break;
1153
-
1154
- case 10: // "interface"
1155
-
1156
- #line 294 "parser.ypp" // lalr1.cc:635
1157
- { yyoutput << (yysym.value.str); }
1158
- #line 1159 "parser.tab.cpp" // lalr1.cc:635
1159
- break;
1160
-
1161
- case 11: // "mutation"
1162
-
1163
- #line 294 "parser.ypp" // lalr1.cc:635
1164
- { yyoutput << (yysym.value.str); }
1165
- #line 1166 "parser.tab.cpp" // lalr1.cc:635
1166
- break;
1167
-
1168
- case 12: // "null"
1169
-
1170
- #line 294 "parser.ypp" // lalr1.cc:635
1171
- { yyoutput << (yysym.value.str); }
1172
- #line 1173 "parser.tab.cpp" // lalr1.cc:635
1173
- break;
1174
-
1175
- case 13: // "query"
1176
-
1177
- #line 294 "parser.ypp" // lalr1.cc:635
1178
- { yyoutput << (yysym.value.str); }
1179
- #line 1180 "parser.tab.cpp" // lalr1.cc:635
1180
- break;
1181
-
1182
- case 14: // "on"
1183
-
1184
- #line 294 "parser.ypp" // lalr1.cc:635
1185
- { yyoutput << (yysym.value.str); }
1186
- #line 1187 "parser.tab.cpp" // lalr1.cc:635
1187
- break;
1188
-
1189
- case 15: // "scalar"
1190
-
1191
- #line 294 "parser.ypp" // lalr1.cc:635
1192
- { yyoutput << (yysym.value.str); }
1193
- #line 1194 "parser.tab.cpp" // lalr1.cc:635
1194
- break;
1195
-
1196
- case 16: // "schema"
1197
-
1198
- #line 294 "parser.ypp" // lalr1.cc:635
1199
- { yyoutput << (yysym.value.str); }
1200
- #line 1201 "parser.tab.cpp" // lalr1.cc:635
1201
- break;
1202
-
1203
- case 17: // "subscription"
1204
-
1205
- #line 294 "parser.ypp" // lalr1.cc:635
1206
- { yyoutput << (yysym.value.str); }
1207
- #line 1208 "parser.tab.cpp" // lalr1.cc:635
1208
- break;
1209
-
1210
- case 18: // "true"
1211
-
1212
- #line 294 "parser.ypp" // lalr1.cc:635
1213
- { yyoutput << (yysym.value.str); }
1214
- #line 1215 "parser.tab.cpp" // lalr1.cc:635
1215
- break;
1216
-
1217
- case 19: // "type"
1218
-
1219
- #line 294 "parser.ypp" // lalr1.cc:635
1220
- { yyoutput << (yysym.value.str); }
1221
- #line 1222 "parser.tab.cpp" // lalr1.cc:635
1222
- break;
1223
-
1224
- case 20: // "union"
1225
-
1226
- #line 294 "parser.ypp" // lalr1.cc:635
1227
- { yyoutput << (yysym.value.str); }
1228
- #line 1229 "parser.tab.cpp" // lalr1.cc:635
1229
- break;
1230
-
1231
- case 33: // VARIABLE
1232
-
1233
- #line 294 "parser.ypp" // lalr1.cc:635
1234
- { yyoutput << (yysym.value.str); }
1235
- #line 1236 "parser.tab.cpp" // lalr1.cc:635
1236
- break;
1237
-
1238
- case 34: // INTEGER
1239
-
1240
- #line 294 "parser.ypp" // lalr1.cc:635
1241
- { yyoutput << (yysym.value.str); }
1242
- #line 1243 "parser.tab.cpp" // lalr1.cc:635
1243
- break;
1244
-
1245
- case 35: // FLOAT
1246
-
1247
- #line 294 "parser.ypp" // lalr1.cc:635
1248
- { yyoutput << (yysym.value.str); }
1249
- #line 1250 "parser.tab.cpp" // lalr1.cc:635
1250
- break;
1251
-
1252
- case 36: // STRING
1253
-
1254
- #line 294 "parser.ypp" // lalr1.cc:635
1255
- { yyoutput << (yysym.value.str); }
1256
- #line 1257 "parser.tab.cpp" // lalr1.cc:635
1257
- break;
1258
-
1259
- case 37: // IDENTIFIER
1260
-
1261
- #line 294 "parser.ypp" // lalr1.cc:635
1262
- { yyoutput << (yysym.value.str); }
1263
- #line 1264 "parser.tab.cpp" // lalr1.cc:635
1264
- break;
1265
-
1266
-
1267
- default:
1268
- break;
1269
- }
1270
- yyo << ')';
1271
- }
1272
- #endif
1273
-
1274
- void
1275
- GraphQLParserImpl::yypush_ (const char* m, state_type s, symbol_type& sym)
1276
- {
1277
- stack_symbol_type t (s, sym);
1278
- yypush_ (m, t);
1279
- }
1280
-
1281
- void
1282
- GraphQLParserImpl::yypush_ (const char* m, stack_symbol_type& s)
1283
- {
1284
- if (m)
1285
- YY_SYMBOL_PRINT (m, s);
1286
- yystack_.push (s);
1287
- }
1288
-
1289
- void
1290
- GraphQLParserImpl::yypop_ (unsigned n)
1291
- {
1292
- yystack_.pop (n);
1293
- }
1294
-
1295
- #if YYDEBUG
1296
- std::ostream&
1297
- GraphQLParserImpl::debug_stream () const
1298
- {
1299
- return *yycdebug_;
1300
- }
1301
-
1302
- void
1303
- GraphQLParserImpl::set_debug_stream (std::ostream& o)
1304
- {
1305
- yycdebug_ = &o;
1306
- }
1307
-
1308
-
1309
- GraphQLParserImpl::debug_level_type
1310
- GraphQLParserImpl::debug_level () const
1311
- {
1312
- return yydebug_;
1313
- }
1314
-
1315
- void
1316
- GraphQLParserImpl::set_debug_level (debug_level_type l)
1317
- {
1318
- yydebug_ = l;
1319
- }
1320
- #endif // YYDEBUG
1321
-
1322
- GraphQLParserImpl::state_type
1323
- GraphQLParserImpl::yy_lr_goto_state_ (state_type yystate, int yysym)
1324
- {
1325
- int yyr = yypgoto_[yysym - yyntokens_] + yystate;
1326
- if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
1327
- return yytable_[yyr];
1328
- else
1329
- return yydefgoto_[yysym - yyntokens_];
1330
- }
1331
-
1332
- bool
1333
- GraphQLParserImpl::yy_pact_value_is_default_ (int yyvalue)
1334
- {
1335
- return yyvalue == yypact_ninf_;
1336
- }
1337
-
1338
- bool
1339
- GraphQLParserImpl::yy_table_value_is_error_ (int yyvalue)
1340
- {
1341
- return yyvalue == yytable_ninf_;
1342
- }
1343
-
1344
- int
1345
- GraphQLParserImpl::parse ()
1346
- {
1347
- // State.
1348
- int yyn;
1349
- /// Length of the RHS of the rule being reduced.
1350
- int yylen = 0;
1351
-
1352
- // Error handling.
1353
- int yynerrs_ = 0;
1354
- int yyerrstatus_ = 0;
1355
-
1356
- /// The lookahead symbol.
1357
- symbol_type yyla;
1358
-
1359
- /// The locations where the error started and ended.
1360
- stack_symbol_type yyerror_range[3];
1361
-
1362
- /// The return value of parse ().
1363
- int yyresult;
1364
-
1365
- // FIXME: This shoud be completely indented. It is not yet to
1366
- // avoid gratuitous conflicts when merging into the master branch.
1367
- try
1368
- {
1369
- YYCDEBUG << "Starting parse\n";
1370
-
1371
-
1372
- /* Initialize the stack. The initial state will be set in
1373
- yynewstate, since the latter expects the semantical and the
1374
- location values to have been already stored, initialize these
1375
- stacks with a primary value. */
1376
- yystack_.clear ();
1377
- yypush_ (YY_NULLPTR, 0, yyla);
1378
-
1379
- // A new symbol was pushed on the stack.
1380
- yynewstate:
1381
- YYCDEBUG << "Entering state " << yystack_[0].state << '\n';
1382
-
1383
- // Accept?
1384
- if (yystack_[0].state == yyfinal_)
1385
- goto yyacceptlab;
1386
-
1387
- goto yybackup;
1388
-
1389
- // Backup.
1390
- yybackup:
1391
-
1392
- // Try to take a decision without lookahead.
1393
- yyn = yypact_[yystack_[0].state];
1394
- if (yy_pact_value_is_default_ (yyn))
1395
- goto yydefault;
1396
-
1397
- // Read a lookahead token.
1398
- if (yyla.empty ())
1399
- {
1400
- YYCDEBUG << "Reading a token: ";
1401
- try
1402
- {
1403
- yyla.type = yytranslate_ (yylex (&yyla.value, &yyla.location, scanner));
1404
- }
1405
- catch (const syntax_error& yyexc)
1406
- {
1407
- error (yyexc);
1408
- goto yyerrlab1;
1409
- }
1410
- }
1411
- YY_SYMBOL_PRINT ("Next token is", yyla);
1412
-
1413
- /* If the proper action on seeing token YYLA.TYPE is to reduce or
1414
- to detect an error, take that action. */
1415
- yyn += yyla.type_get ();
1416
- if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.type_get ())
1417
- goto yydefault;
1418
-
1419
- // Reduce or error.
1420
- yyn = yytable_[yyn];
1421
- if (yyn <= 0)
1422
- {
1423
- if (yy_table_value_is_error_ (yyn))
1424
- goto yyerrlab;
1425
- yyn = -yyn;
1426
- goto yyreduce;
1427
- }
1428
-
1429
- // Count tokens shifted since error; after three, turn off error status.
1430
- if (yyerrstatus_)
1431
- --yyerrstatus_;
1432
-
1433
- // Shift the lookahead token.
1434
- yypush_ ("Shifting", yyn, yyla);
1435
- goto yynewstate;
1436
-
1437
- /*-----------------------------------------------------------.
1438
- | yydefault -- do the default action for the current state. |
1439
- `-----------------------------------------------------------*/
1440
- yydefault:
1441
- yyn = yydefact_[yystack_[0].state];
1442
- if (yyn == 0)
1443
- goto yyerrlab;
1444
- goto yyreduce;
1445
-
1446
- /*-----------------------------.
1447
- | yyreduce -- Do a reduction. |
1448
- `-----------------------------*/
1449
- yyreduce:
1450
- yylen = yyr2_[yyn];
1451
- {
1452
- stack_symbol_type yylhs;
1453
- yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);
1454
- /* If YYLEN is nonzero, implement the default value of the
1455
- action: '$$ = $1'. Otherwise, use the top of the stack.
1456
-
1457
- Otherwise, the following line sets YYLHS.VALUE to garbage.
1458
- This behavior is undocumented and Bison users should not rely
1459
- upon it. */
1460
- if (yylen)
1461
- yylhs.value = yystack_[yylen - 1].value;
1462
- else
1463
- yylhs.value = yystack_[0].value;
1464
-
1465
- // Default location.
1466
- {
1467
- slice<stack_symbol_type, stack_type> slice (yystack_, yylen);
1468
- YYLLOC_DEFAULT (yylhs.location, slice, yylen);
1469
- yyerror_range[1].location = yylhs.location;
1470
- }
1471
-
1472
- // Perform the reduction.
1473
- YY_REDUCE_PRINT (yyn);
1474
- try
1475
- {
1476
- switch (yyn)
1477
- {
1478
- case 2:
1479
- #line 298 "parser.ypp" // lalr1.cc:856
1480
- { *outAST = (yystack_[0].value.document); }
1481
- #line 1482 "parser.tab.cpp" // lalr1.cc:856
1482
- break;
1483
-
1484
- case 3:
1485
- #line 303 "parser.ypp" // lalr1.cc:856
1486
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1487
- #line 1488 "parser.tab.cpp" // lalr1.cc:856
1488
- break;
1489
-
1490
- case 4:
1491
- #line 304 "parser.ypp" // lalr1.cc:856
1492
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1493
- #line 1494 "parser.tab.cpp" // lalr1.cc:856
1494
- break;
1495
-
1496
- case 5:
1497
- #line 305 "parser.ypp" // lalr1.cc:856
1498
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1499
- #line 1500 "parser.tab.cpp" // lalr1.cc:856
1500
- break;
1501
-
1502
- case 6:
1503
- #line 306 "parser.ypp" // lalr1.cc:856
1504
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1505
- #line 1506 "parser.tab.cpp" // lalr1.cc:856
1506
- break;
1507
-
1508
- case 7:
1509
- #line 307 "parser.ypp" // lalr1.cc:856
1510
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1511
- #line 1512 "parser.tab.cpp" // lalr1.cc:856
1512
- break;
1513
-
1514
- case 8:
1515
- #line 308 "parser.ypp" // lalr1.cc:856
1516
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1517
- #line 1518 "parser.tab.cpp" // lalr1.cc:856
1518
- break;
1519
-
1520
- case 9:
1521
- #line 309 "parser.ypp" // lalr1.cc:856
1522
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1523
- #line 1524 "parser.tab.cpp" // lalr1.cc:856
1524
- break;
1525
-
1526
- case 10:
1527
- #line 310 "parser.ypp" // lalr1.cc:856
1528
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1529
- #line 1530 "parser.tab.cpp" // lalr1.cc:856
1530
- break;
1531
-
1532
- case 11:
1533
- #line 311 "parser.ypp" // lalr1.cc:856
1534
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1535
- #line 1536 "parser.tab.cpp" // lalr1.cc:856
1536
- break;
1537
-
1538
- case 12:
1539
- #line 312 "parser.ypp" // lalr1.cc:856
1540
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1541
- #line 1542 "parser.tab.cpp" // lalr1.cc:856
1542
- break;
1543
-
1544
- case 13:
1545
- #line 313 "parser.ypp" // lalr1.cc:856
1546
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1547
- #line 1548 "parser.tab.cpp" // lalr1.cc:856
1548
- break;
1549
-
1550
- case 14:
1551
- #line 314 "parser.ypp" // lalr1.cc:856
1552
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1553
- #line 1554 "parser.tab.cpp" // lalr1.cc:856
1554
- break;
1555
-
1556
- case 15:
1557
- #line 315 "parser.ypp" // lalr1.cc:856
1558
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1559
- #line 1560 "parser.tab.cpp" // lalr1.cc:856
1560
- break;
1561
-
1562
- case 16:
1563
- #line 316 "parser.ypp" // lalr1.cc:856
1564
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1565
- #line 1566 "parser.tab.cpp" // lalr1.cc:856
1566
- break;
1567
-
1568
- case 17:
1569
- #line 317 "parser.ypp" // lalr1.cc:856
1570
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1571
- #line 1572 "parser.tab.cpp" // lalr1.cc:856
1572
- break;
1573
-
1574
- case 18:
1575
- #line 318 "parser.ypp" // lalr1.cc:856
1576
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1577
- #line 1578 "parser.tab.cpp" // lalr1.cc:856
1578
- break;
1579
-
1580
- case 19:
1581
- #line 319 "parser.ypp" // lalr1.cc:856
1582
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1583
- #line 1584 "parser.tab.cpp" // lalr1.cc:856
1584
- break;
1585
-
1586
- case 20:
1587
- #line 320 "parser.ypp" // lalr1.cc:856
1588
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1589
- #line 1590 "parser.tab.cpp" // lalr1.cc:856
1590
- break;
1591
-
1592
- case 22:
1593
- #line 324 "parser.ypp" // lalr1.cc:856
1594
- { (yylhs.value.name) = new Name(yystack_[0].location, strdup((yystack_[0].value.str))); }
1595
- #line 1596 "parser.tab.cpp" // lalr1.cc:856
1596
- break;
1597
-
1598
- case 23:
1599
- #line 328 "parser.ypp" // lalr1.cc:856
1600
- {(yylhs.value.name) = nullptr;}
1601
- #line 1602 "parser.tab.cpp" // lalr1.cc:856
1602
- break;
1603
-
1604
- case 25:
1605
- #line 334 "parser.ypp" // lalr1.cc:856
1606
- { (yylhs.value.document) = new Document(yylhs.location, (yystack_[0].value.definitionList)); }
1607
- #line 1608 "parser.tab.cpp" // lalr1.cc:856
1608
- break;
1609
-
1610
- case 26:
1611
- #line 337 "parser.ypp" // lalr1.cc:856
1612
- { (yylhs.value.definitionList) = new std::vector<std::unique_ptr<Definition>>(); (yylhs.value.definitionList)->emplace_back((yystack_[0].value.definition)); }
1613
- #line 1614 "parser.tab.cpp" // lalr1.cc:856
1614
- break;
1615
-
1616
- case 27:
1617
- #line 338 "parser.ypp" // lalr1.cc:856
1618
- { (yystack_[1].value.definitionList)->emplace_back((yystack_[0].value.definition)); (yylhs.value.definitionList) = (yystack_[1].value.definitionList); }
1619
- #line 1620 "parser.tab.cpp" // lalr1.cc:856
1620
- break;
1621
-
1622
- case 28:
1623
- #line 341 "parser.ypp" // lalr1.cc:856
1624
- { (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.operationDefinition)); }
1625
- #line 1626 "parser.tab.cpp" // lalr1.cc:856
1626
- break;
1627
-
1628
- case 29:
1629
- #line 342 "parser.ypp" // lalr1.cc:856
1630
- { (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.fragmentDefinition)); }
1631
- #line 1632 "parser.tab.cpp" // lalr1.cc:856
1632
- break;
1633
-
1634
- case 30:
1635
- #line 343 "parser.ypp" // lalr1.cc:856
1636
- {
1637
- if (!enableSchema) {
1638
- error(yylhs.location, "schema support disabled");
1639
- // %destructor doesn't work with YYERROR. See
1640
- // https://www.gnu.org/software/bison/manual/html_node/Destructor-Decl.html
1641
- delete (yylhs.value.definition);
1642
- YYERROR;
1643
- }
1644
- (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.definition));
1645
- }
1646
- #line 1647 "parser.tab.cpp" // lalr1.cc:856
1647
- break;
1648
-
1649
- case 31:
1650
- #line 355 "parser.ypp" // lalr1.cc:856
1651
- { (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.schemaDefinition)); }
1652
- #line 1653 "parser.tab.cpp" // lalr1.cc:856
1653
- break;
1654
-
1655
- case 32:
1656
- #line 356 "parser.ypp" // lalr1.cc:856
1657
- { (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.scalarTypeDefinition)); }
1658
- #line 1659 "parser.tab.cpp" // lalr1.cc:856
1659
- break;
1660
-
1661
- case 33:
1662
- #line 357 "parser.ypp" // lalr1.cc:856
1663
- { (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.objectTypeDefinition)); }
1664
- #line 1665 "parser.tab.cpp" // lalr1.cc:856
1665
- break;
1666
-
1667
- case 34:
1668
- #line 358 "parser.ypp" // lalr1.cc:856
1669
- { (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.interfaceTypeDefinition)); }
1670
- #line 1671 "parser.tab.cpp" // lalr1.cc:856
1671
- break;
1672
-
1673
- case 35:
1674
- #line 359 "parser.ypp" // lalr1.cc:856
1675
- { (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.unionTypeDefinition)); }
1676
- #line 1677 "parser.tab.cpp" // lalr1.cc:856
1677
- break;
1678
-
1679
- case 36:
1680
- #line 360 "parser.ypp" // lalr1.cc:856
1681
- { (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.enumTypeDefinition)); }
1682
- #line 1683 "parser.tab.cpp" // lalr1.cc:856
1683
- break;
1684
-
1685
- case 37:
1686
- #line 361 "parser.ypp" // lalr1.cc:856
1687
- { (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.inputObjectTypeDefinition)); }
1688
- #line 1689 "parser.tab.cpp" // lalr1.cc:856
1689
- break;
1690
-
1691
- case 38:
1692
- #line 362 "parser.ypp" // lalr1.cc:856
1693
- { (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.typeExtensionDefinition)); }
1694
- #line 1695 "parser.tab.cpp" // lalr1.cc:856
1695
- break;
1696
-
1697
- case 39:
1698
- #line 363 "parser.ypp" // lalr1.cc:856
1699
- { (yylhs.value.definition) = static_cast<Definition *>((yystack_[0].value.directiveDefinition)); }
1700
- #line 1701 "parser.tab.cpp" // lalr1.cc:856
1701
- break;
1702
-
1703
- case 40:
1704
- #line 369 "parser.ypp" // lalr1.cc:856
1705
- { (yylhs.value.operationDefinition) = new OperationDefinition(yylhs.location, strdup("query"), nullptr, nullptr, nullptr, (yystack_[0].value.selectionSet)); }
1706
- #line 1707 "parser.tab.cpp" // lalr1.cc:856
1707
- break;
1708
-
1709
- case 41:
1710
- #line 370 "parser.ypp" // lalr1.cc:856
1711
- { (yylhs.value.operationDefinition) = new OperationDefinition(yylhs.location, (yystack_[2].value.heapStr), (yystack_[1].value.name), nullptr, nullptr, (yystack_[0].value.selectionSet)); }
1712
- #line 1713 "parser.tab.cpp" // lalr1.cc:856
1713
- break;
1714
-
1715
- case 42:
1716
- #line 371 "parser.ypp" // lalr1.cc:856
1717
- { (yylhs.value.operationDefinition) = new OperationDefinition(yylhs.location, (yystack_[3].value.heapStr), (yystack_[2].value.name), (yystack_[1].value.variableDefinitionList), nullptr, (yystack_[0].value.selectionSet)); }
1718
- #line 1719 "parser.tab.cpp" // lalr1.cc:856
1719
- break;
1720
-
1721
- case 43:
1722
- #line 372 "parser.ypp" // lalr1.cc:856
1723
- { (yylhs.value.operationDefinition) = new OperationDefinition(yylhs.location, (yystack_[3].value.heapStr), (yystack_[2].value.name), nullptr, (yystack_[1].value.directiveList), (yystack_[0].value.selectionSet)); }
1724
- #line 1725 "parser.tab.cpp" // lalr1.cc:856
1725
- break;
1726
-
1727
- case 44:
1728
- #line 373 "parser.ypp" // lalr1.cc:856
1729
- { (yylhs.value.operationDefinition) = new OperationDefinition(yylhs.location, (yystack_[4].value.heapStr), (yystack_[3].value.name), (yystack_[2].value.variableDefinitionList), (yystack_[1].value.directiveList), (yystack_[0].value.selectionSet)); }
1730
- #line 1731 "parser.tab.cpp" // lalr1.cc:856
1731
- break;
1732
-
1733
- case 45:
1734
- #line 376 "parser.ypp" // lalr1.cc:856
1735
- { (yylhs.value.heapStr) = strdup((yystack_[0].value.str)); }
1736
- #line 1737 "parser.tab.cpp" // lalr1.cc:856
1737
- break;
1738
-
1739
- case 46:
1740
- #line 377 "parser.ypp" // lalr1.cc:856
1741
- { (yylhs.value.heapStr) = strdup((yystack_[0].value.str)); }
1742
- #line 1743 "parser.tab.cpp" // lalr1.cc:856
1743
- break;
1744
-
1745
- case 47:
1746
- #line 378 "parser.ypp" // lalr1.cc:856
1747
- { (yylhs.value.heapStr) = strdup((yystack_[0].value.str)); }
1748
- #line 1749 "parser.tab.cpp" // lalr1.cc:856
1749
- break;
1750
-
1751
- case 48:
1752
- #line 382 "parser.ypp" // lalr1.cc:856
1753
- { (yylhs.value.variableDefinitionList) = (yystack_[1].value.variableDefinitionList); }
1754
- #line 1755 "parser.tab.cpp" // lalr1.cc:856
1755
- break;
1756
-
1757
- case 49:
1758
- #line 386 "parser.ypp" // lalr1.cc:856
1759
- { (yylhs.value.variableDefinitionList) = new std::vector<std::unique_ptr<VariableDefinition>>(); (yylhs.value.variableDefinitionList)->emplace_back((yystack_[0].value.variableDefinition)); }
1760
- #line 1761 "parser.tab.cpp" // lalr1.cc:856
1761
- break;
1762
-
1763
- case 50:
1764
- #line 387 "parser.ypp" // lalr1.cc:856
1765
- { (yystack_[1].value.variableDefinitionList)->emplace_back((yystack_[0].value.variableDefinition)); (yylhs.value.variableDefinitionList) = (yystack_[1].value.variableDefinitionList); }
1766
- #line 1767 "parser.tab.cpp" // lalr1.cc:856
1767
- break;
1768
-
1769
- case 51:
1770
- #line 390 "parser.ypp" // lalr1.cc:856
1771
- { (yylhs.value.variable) = new Variable(yylhs.location, new Name(yystack_[0].location, strdup((yystack_[0].value.str)))); }
1772
- #line 1773 "parser.tab.cpp" // lalr1.cc:856
1773
- break;
1774
-
1775
- case 52:
1776
- #line 394 "parser.ypp" // lalr1.cc:856
1777
- { (yylhs.value.variableDefinition) = new VariableDefinition(yylhs.location, (yystack_[3].value.variable), (yystack_[1].value.type), (yystack_[0].value.value)); }
1778
- #line 1779 "parser.tab.cpp" // lalr1.cc:856
1779
- break;
1780
-
1781
- case 53:
1782
- #line 398 "parser.ypp" // lalr1.cc:856
1783
- { (yylhs.value.value) = nullptr; }
1784
- #line 1785 "parser.tab.cpp" // lalr1.cc:856
1785
- break;
1786
-
1787
- case 55:
1788
- #line 402 "parser.ypp" // lalr1.cc:856
1789
- { (yylhs.value.value) = (yystack_[0].value.value); }
1790
- #line 1791 "parser.tab.cpp" // lalr1.cc:856
1791
- break;
1792
-
1793
- case 56:
1794
- #line 406 "parser.ypp" // lalr1.cc:856
1795
- { (yylhs.value.selectionSet) = new SelectionSet(yylhs.location, (yystack_[1].value.selectionList)); }
1796
- #line 1797 "parser.tab.cpp" // lalr1.cc:856
1797
- break;
1798
-
1799
- case 57:
1800
- #line 410 "parser.ypp" // lalr1.cc:856
1801
- { (yylhs.value.selectionSet) = nullptr; }
1802
- #line 1803 "parser.tab.cpp" // lalr1.cc:856
1803
- break;
1804
-
1805
- case 59:
1806
- #line 413 "parser.ypp" // lalr1.cc:856
1807
- { (yylhs.value.selectionList) = new std::vector<std::unique_ptr<Selection>>(); (yylhs.value.selectionList)->emplace_back((yystack_[0].value.selection)); }
1808
- #line 1809 "parser.tab.cpp" // lalr1.cc:856
1809
- break;
1810
-
1811
- case 60:
1812
- #line 414 "parser.ypp" // lalr1.cc:856
1813
- { (yystack_[1].value.selectionList)->emplace_back((yystack_[0].value.selection)); (yylhs.value.selectionList) = (yystack_[1].value.selectionList); }
1814
- #line 1815 "parser.tab.cpp" // lalr1.cc:856
1815
- break;
1816
-
1817
- case 61:
1818
- #line 417 "parser.ypp" // lalr1.cc:856
1819
- { (yylhs.value.selection) = static_cast<Selection *>((yystack_[0].value.field)); }
1820
- #line 1821 "parser.tab.cpp" // lalr1.cc:856
1821
- break;
1822
-
1823
- case 62:
1824
- #line 418 "parser.ypp" // lalr1.cc:856
1825
- { (yylhs.value.selection) = static_cast<Selection *>((yystack_[0].value.fragmentSpread)); }
1826
- #line 1827 "parser.tab.cpp" // lalr1.cc:856
1827
- break;
1828
-
1829
- case 63:
1830
- #line 419 "parser.ypp" // lalr1.cc:856
1831
- { (yylhs.value.selection) = static_cast<Selection *>((yystack_[0].value.inlineFragment)); }
1832
- #line 1833 "parser.tab.cpp" // lalr1.cc:856
1833
- break;
1834
-
1835
- case 64:
1836
- #line 422 "parser.ypp" // lalr1.cc:856
1837
- { (yylhs.value.field) = new Field(yylhs.location, nullptr, (yystack_[3].value.name), (yystack_[2].value.argumentList), (yystack_[1].value.directiveList), (yystack_[0].value.selectionSet)); }
1838
- #line 1839 "parser.tab.cpp" // lalr1.cc:856
1839
- break;
1840
-
1841
- case 65:
1842
- #line 423 "parser.ypp" // lalr1.cc:856
1843
- { (yylhs.value.field) = new Field(yylhs.location, (yystack_[5].value.name), (yystack_[3].value.name), (yystack_[2].value.argumentList), (yystack_[1].value.directiveList), (yystack_[0].value.selectionSet)); }
1844
- #line 1845 "parser.tab.cpp" // lalr1.cc:856
1845
- break;
1846
-
1847
- case 66:
1848
- #line 426 "parser.ypp" // lalr1.cc:856
1849
- { (yylhs.value.argumentList) = (yystack_[1].value.argumentList); }
1850
- #line 1851 "parser.tab.cpp" // lalr1.cc:856
1851
- break;
1852
-
1853
- case 67:
1854
- #line 429 "parser.ypp" // lalr1.cc:856
1855
- { (yylhs.value.argumentList) = nullptr; }
1856
- #line 1857 "parser.tab.cpp" // lalr1.cc:856
1857
- break;
1858
-
1859
- case 68:
1860
- #line 430 "parser.ypp" // lalr1.cc:856
1861
- { (yylhs.value.argumentList) = (yystack_[0].value.argumentList); }
1862
- #line 1863 "parser.tab.cpp" // lalr1.cc:856
1863
- break;
1864
-
1865
- case 69:
1866
- #line 433 "parser.ypp" // lalr1.cc:856
1867
- { (yylhs.value.argumentList) = new std::vector<std::unique_ptr<Argument>>(); (yylhs.value.argumentList)->emplace_back((yystack_[0].value.argument)); }
1868
- #line 1869 "parser.tab.cpp" // lalr1.cc:856
1869
- break;
1870
-
1871
- case 70:
1872
- #line 434 "parser.ypp" // lalr1.cc:856
1873
- { (yystack_[1].value.argumentList)->emplace_back((yystack_[0].value.argument)); (yylhs.value.argumentList) = (yystack_[1].value.argumentList); }
1874
- #line 1875 "parser.tab.cpp" // lalr1.cc:856
1875
- break;
1876
-
1877
- case 71:
1878
- #line 437 "parser.ypp" // lalr1.cc:856
1879
- { (yylhs.value.argument) = new Argument(yylhs.location, (yystack_[2].value.name), (yystack_[0].value.value)); }
1880
- #line 1881 "parser.tab.cpp" // lalr1.cc:856
1881
- break;
1882
-
1883
- case 72:
1884
- #line 442 "parser.ypp" // lalr1.cc:856
1885
- { (yylhs.value.fragmentSpread) = new FragmentSpread(yylhs.location, (yystack_[1].value.name), (yystack_[0].value.directiveList)); }
1886
- #line 1887 "parser.tab.cpp" // lalr1.cc:856
1887
- break;
1888
-
1889
- case 73:
1890
- #line 446 "parser.ypp" // lalr1.cc:856
1891
- { (yylhs.value.inlineFragment) = new InlineFragment(yylhs.location, (yystack_[2].value.namedType), (yystack_[1].value.directiveList), (yystack_[0].value.selectionSet)); }
1892
- #line 1893 "parser.tab.cpp" // lalr1.cc:856
1893
- break;
1894
-
1895
- case 74:
1896
- #line 447 "parser.ypp" // lalr1.cc:856
1897
- { (yylhs.value.inlineFragment) = new InlineFragment(yylhs.location, nullptr, (yystack_[1].value.directiveList), (yystack_[0].value.selectionSet)); }
1898
- #line 1899 "parser.tab.cpp" // lalr1.cc:856
1899
- break;
1900
-
1901
- case 75:
1902
- #line 451 "parser.ypp" // lalr1.cc:856
1903
- { (yylhs.value.fragmentDefinition) = new FragmentDefinition(yylhs.location, (yystack_[4].value.name), (yystack_[2].value.namedType), (yystack_[1].value.directiveList), (yystack_[0].value.selectionSet)); }
1904
- #line 1905 "parser.tab.cpp" // lalr1.cc:856
1905
- break;
1906
-
1907
- case 77:
1908
- #line 458 "parser.ypp" // lalr1.cc:856
1909
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.variable)); }
1910
- #line 1911 "parser.tab.cpp" // lalr1.cc:856
1911
- break;
1912
-
1913
- case 78:
1914
- #line 459 "parser.ypp" // lalr1.cc:856
1915
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.intValue)); }
1916
- #line 1917 "parser.tab.cpp" // lalr1.cc:856
1917
- break;
1918
-
1919
- case 79:
1920
- #line 460 "parser.ypp" // lalr1.cc:856
1921
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.floatValue)); }
1922
- #line 1923 "parser.tab.cpp" // lalr1.cc:856
1923
- break;
1924
-
1925
- case 80:
1926
- #line 461 "parser.ypp" // lalr1.cc:856
1927
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.stringValue)); }
1928
- #line 1929 "parser.tab.cpp" // lalr1.cc:856
1929
- break;
1930
-
1931
- case 81:
1932
- #line 462 "parser.ypp" // lalr1.cc:856
1933
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.booleanValue)); }
1934
- #line 1935 "parser.tab.cpp" // lalr1.cc:856
1935
- break;
1936
-
1937
- case 82:
1938
- #line 463 "parser.ypp" // lalr1.cc:856
1939
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.nullValue)); }
1940
- #line 1941 "parser.tab.cpp" // lalr1.cc:856
1941
- break;
1942
-
1943
- case 83:
1944
- #line 464 "parser.ypp" // lalr1.cc:856
1945
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.enumValue)); }
1946
- #line 1947 "parser.tab.cpp" // lalr1.cc:856
1947
- break;
1948
-
1949
- case 84:
1950
- #line 465 "parser.ypp" // lalr1.cc:856
1951
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.arrayValue)); }
1952
- #line 1953 "parser.tab.cpp" // lalr1.cc:856
1953
- break;
1954
-
1955
- case 85:
1956
- #line 466 "parser.ypp" // lalr1.cc:856
1957
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.objectValue)); }
1958
- #line 1959 "parser.tab.cpp" // lalr1.cc:856
1959
- break;
1960
-
1961
- case 86:
1962
- #line 469 "parser.ypp" // lalr1.cc:856
1963
- { (yylhs.value.intValue) = new IntValue(yylhs.location, strdup((yystack_[0].value.str))); }
1964
- #line 1965 "parser.tab.cpp" // lalr1.cc:856
1965
- break;
1966
-
1967
- case 87:
1968
- #line 472 "parser.ypp" // lalr1.cc:856
1969
- { (yylhs.value.floatValue) = new FloatValue(yylhs.location, strdup((yystack_[0].value.str))); }
1970
- #line 1971 "parser.tab.cpp" // lalr1.cc:856
1971
- break;
1972
-
1973
- case 88:
1974
- #line 475 "parser.ypp" // lalr1.cc:856
1975
- { (yylhs.value.stringValue) = new StringValue(yylhs.location, strdup((yystack_[0].value.str))); }
1976
- #line 1977 "parser.tab.cpp" // lalr1.cc:856
1977
- break;
1978
-
1979
- case 89:
1980
- #line 478 "parser.ypp" // lalr1.cc:856
1981
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.intValue)); }
1982
- #line 1983 "parser.tab.cpp" // lalr1.cc:856
1983
- break;
1984
-
1985
- case 90:
1986
- #line 479 "parser.ypp" // lalr1.cc:856
1987
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.floatValue)); }
1988
- #line 1989 "parser.tab.cpp" // lalr1.cc:856
1989
- break;
1990
-
1991
- case 91:
1992
- #line 480 "parser.ypp" // lalr1.cc:856
1993
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.stringValue)); }
1994
- #line 1995 "parser.tab.cpp" // lalr1.cc:856
1995
- break;
1996
-
1997
- case 92:
1998
- #line 481 "parser.ypp" // lalr1.cc:856
1999
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.booleanValue)); }
2000
- #line 2001 "parser.tab.cpp" // lalr1.cc:856
2001
- break;
2002
-
2003
- case 93:
2004
- #line 482 "parser.ypp" // lalr1.cc:856
2005
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.nullValue)); }
2006
- #line 2007 "parser.tab.cpp" // lalr1.cc:856
2007
- break;
2008
-
2009
- case 94:
2010
- #line 483 "parser.ypp" // lalr1.cc:856
2011
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.enumValue)); }
2012
- #line 2013 "parser.tab.cpp" // lalr1.cc:856
2013
- break;
2014
-
2015
- case 95:
2016
- #line 484 "parser.ypp" // lalr1.cc:856
2017
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.arrayValue)); }
2018
- #line 2019 "parser.tab.cpp" // lalr1.cc:856
2019
- break;
2020
-
2021
- case 96:
2022
- #line 485 "parser.ypp" // lalr1.cc:856
2023
- { (yylhs.value.value) = static_cast<Value *>((yystack_[0].value.objectValue)); }
2024
- #line 2025 "parser.tab.cpp" // lalr1.cc:856
2025
- break;
2026
-
2027
- case 97:
2028
- #line 488 "parser.ypp" // lalr1.cc:856
2029
- { (yylhs.value.booleanValue) = new BooleanValue(yylhs.location, true); }
2030
- #line 2031 "parser.tab.cpp" // lalr1.cc:856
2031
- break;
2032
-
2033
- case 98:
2034
- #line 489 "parser.ypp" // lalr1.cc:856
2035
- { (yylhs.value.booleanValue) = new BooleanValue(yylhs.location, false); }
2036
- #line 2037 "parser.tab.cpp" // lalr1.cc:856
2037
- break;
2038
-
2039
- case 99:
2040
- #line 492 "parser.ypp" // lalr1.cc:856
2041
- { (yylhs.value.nullValue) = new NullValue(yylhs.location); }
2042
- #line 2043 "parser.tab.cpp" // lalr1.cc:856
2043
- break;
2044
-
2045
- case 100:
2046
- #line 495 "parser.ypp" // lalr1.cc:856
2047
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2048
- #line 2049 "parser.tab.cpp" // lalr1.cc:856
2049
- break;
2050
-
2051
- case 101:
2052
- #line 496 "parser.ypp" // lalr1.cc:856
2053
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2054
- #line 2055 "parser.tab.cpp" // lalr1.cc:856
2055
- break;
2056
-
2057
- case 102:
2058
- #line 497 "parser.ypp" // lalr1.cc:856
2059
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2060
- #line 2061 "parser.tab.cpp" // lalr1.cc:856
2061
- break;
2062
-
2063
- case 103:
2064
- #line 498 "parser.ypp" // lalr1.cc:856
2065
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2066
- #line 2067 "parser.tab.cpp" // lalr1.cc:856
2067
- break;
2068
-
2069
- case 104:
2070
- #line 499 "parser.ypp" // lalr1.cc:856
2071
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2072
- #line 2073 "parser.tab.cpp" // lalr1.cc:856
2073
- break;
2074
-
2075
- case 105:
2076
- #line 500 "parser.ypp" // lalr1.cc:856
2077
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2078
- #line 2079 "parser.tab.cpp" // lalr1.cc:856
2079
- break;
2080
-
2081
- case 106:
2082
- #line 501 "parser.ypp" // lalr1.cc:856
2083
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2084
- #line 2085 "parser.tab.cpp" // lalr1.cc:856
2085
- break;
2086
-
2087
- case 107:
2088
- #line 502 "parser.ypp" // lalr1.cc:856
2089
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2090
- #line 2091 "parser.tab.cpp" // lalr1.cc:856
2091
- break;
2092
-
2093
- case 108:
2094
- #line 503 "parser.ypp" // lalr1.cc:856
2095
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2096
- #line 2097 "parser.tab.cpp" // lalr1.cc:856
2097
- break;
2098
-
2099
- case 109:
2100
- #line 504 "parser.ypp" // lalr1.cc:856
2101
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2102
- #line 2103 "parser.tab.cpp" // lalr1.cc:856
2103
- break;
2104
-
2105
- case 110:
2106
- #line 505 "parser.ypp" // lalr1.cc:856
2107
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2108
- #line 2109 "parser.tab.cpp" // lalr1.cc:856
2109
- break;
2110
-
2111
- case 111:
2112
- #line 506 "parser.ypp" // lalr1.cc:856
2113
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2114
- #line 2115 "parser.tab.cpp" // lalr1.cc:856
2115
- break;
2116
-
2117
- case 112:
2118
- #line 507 "parser.ypp" // lalr1.cc:856
2119
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2120
- #line 2121 "parser.tab.cpp" // lalr1.cc:856
2121
- break;
2122
-
2123
- case 113:
2124
- #line 508 "parser.ypp" // lalr1.cc:856
2125
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2126
- #line 2127 "parser.tab.cpp" // lalr1.cc:856
2127
- break;
2128
-
2129
- case 114:
2130
- #line 509 "parser.ypp" // lalr1.cc:856
2131
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2132
- #line 2133 "parser.tab.cpp" // lalr1.cc:856
2133
- break;
2134
-
2135
- case 115:
2136
- #line 510 "parser.ypp" // lalr1.cc:856
2137
- { (yylhs.value.enumValue) = new EnumValue(yylhs.location, strdup((yystack_[0].value.str))); }
2138
- #line 2139 "parser.tab.cpp" // lalr1.cc:856
2139
- break;
2140
-
2141
- case 116:
2142
- #line 517 "parser.ypp" // lalr1.cc:856
2143
- { (yylhs.value.arrayValue) = new ListValue(yylhs.location, new std::vector<std::unique_ptr<Value>>()); }
2144
- #line 2145 "parser.tab.cpp" // lalr1.cc:856
2145
- break;
2146
-
2147
- case 117:
2148
- #line 518 "parser.ypp" // lalr1.cc:856
2149
- { (yylhs.value.arrayValue) = new ListValue(yylhs.location, (yystack_[1].value.valueList)); }
2150
- #line 2151 "parser.tab.cpp" // lalr1.cc:856
2151
- break;
2152
-
2153
- case 118:
2154
- #line 521 "parser.ypp" // lalr1.cc:856
2155
- { (yylhs.value.valueList) = new std::vector<std::unique_ptr<Value>>(); (yylhs.value.valueList)->emplace_back((yystack_[0].value.value)); }
2156
- #line 2157 "parser.tab.cpp" // lalr1.cc:856
2157
- break;
2158
-
2159
- case 119:
2160
- #line 522 "parser.ypp" // lalr1.cc:856
2161
- { (yystack_[1].value.valueList)->emplace_back((yystack_[0].value.value)); (yylhs.value.valueList) = (yystack_[1].value.valueList); }
2162
- #line 2163 "parser.tab.cpp" // lalr1.cc:856
2163
- break;
2164
-
2165
- case 120:
2166
- #line 526 "parser.ypp" // lalr1.cc:856
2167
- { (yylhs.value.arrayValue) = new ListValue(yylhs.location, new std::vector<std::unique_ptr<Value>>()); }
2168
- #line 2169 "parser.tab.cpp" // lalr1.cc:856
2169
- break;
2170
-
2171
- case 121:
2172
- #line 527 "parser.ypp" // lalr1.cc:856
2173
- { (yylhs.value.arrayValue) = new ListValue(yylhs.location, (yystack_[1].value.valueList)); }
2174
- #line 2175 "parser.tab.cpp" // lalr1.cc:856
2175
- break;
2176
-
2177
- case 122:
2178
- #line 531 "parser.ypp" // lalr1.cc:856
2179
- { (yylhs.value.valueList) = new std::vector<std::unique_ptr<Value>>(); (yylhs.value.valueList)->emplace_back((yystack_[0].value.value)); }
2180
- #line 2181 "parser.tab.cpp" // lalr1.cc:856
2181
- break;
2182
-
2183
- case 123:
2184
- #line 532 "parser.ypp" // lalr1.cc:856
2185
- { (yystack_[1].value.valueList)->emplace_back((yystack_[0].value.value)); (yylhs.value.valueList) = (yystack_[1].value.valueList); }
2186
- #line 2187 "parser.tab.cpp" // lalr1.cc:856
2187
- break;
2188
-
2189
- case 124:
2190
- #line 537 "parser.ypp" // lalr1.cc:856
2191
- { (yylhs.value.objectValue) = new ObjectValue(yylhs.location, new std::vector<std::unique_ptr<ObjectField>>()); }
2192
- #line 2193 "parser.tab.cpp" // lalr1.cc:856
2193
- break;
2194
-
2195
- case 125:
2196
- #line 538 "parser.ypp" // lalr1.cc:856
2197
- { (yylhs.value.objectValue) = new ObjectValue(yylhs.location, (yystack_[1].value.objectFieldList)); }
2198
- #line 2199 "parser.tab.cpp" // lalr1.cc:856
2199
- break;
2200
-
2201
- case 126:
2202
- #line 542 "parser.ypp" // lalr1.cc:856
2203
- { (yylhs.value.objectFieldList) = new std::vector<std::unique_ptr<ObjectField>>(); (yylhs.value.objectFieldList)->emplace_back((yystack_[0].value.objectField)); }
2204
- #line 2205 "parser.tab.cpp" // lalr1.cc:856
2205
- break;
2206
-
2207
- case 127:
2208
- #line 543 "parser.ypp" // lalr1.cc:856
2209
- { (yystack_[1].value.objectFieldList)->emplace_back((yystack_[0].value.objectField)); (yylhs.value.objectFieldList) = (yystack_[1].value.objectFieldList); }
2210
- #line 2211 "parser.tab.cpp" // lalr1.cc:856
2211
- break;
2212
-
2213
- case 128:
2214
- #line 546 "parser.ypp" // lalr1.cc:856
2215
- { (yylhs.value.objectField) = new ObjectField(yylhs.location, (yystack_[2].value.name), (yystack_[0].value.value)); }
2216
- #line 2217 "parser.tab.cpp" // lalr1.cc:856
2217
- break;
2218
-
2219
- case 129:
2220
- #line 550 "parser.ypp" // lalr1.cc:856
2221
- { (yylhs.value.objectValue) = new ObjectValue(yylhs.location, new std::vector<std::unique_ptr<ObjectField>>()); }
2222
- #line 2223 "parser.tab.cpp" // lalr1.cc:856
2223
- break;
2224
-
2225
- case 130:
2226
- #line 551 "parser.ypp" // lalr1.cc:856
2227
- { (yylhs.value.objectValue) = new ObjectValue(yylhs.location, (yystack_[1].value.objectFieldList)); }
2228
- #line 2229 "parser.tab.cpp" // lalr1.cc:856
2229
- break;
2230
-
2231
- case 131:
2232
- #line 555 "parser.ypp" // lalr1.cc:856
2233
- { (yylhs.value.objectFieldList) = new std::vector<std::unique_ptr<ObjectField>>(); (yylhs.value.objectFieldList)->emplace_back((yystack_[0].value.objectField)); }
2234
- #line 2235 "parser.tab.cpp" // lalr1.cc:856
2235
- break;
2236
-
2237
- case 132:
2238
- #line 556 "parser.ypp" // lalr1.cc:856
2239
- { (yystack_[1].value.objectFieldList)->emplace_back((yystack_[0].value.objectField)); (yylhs.value.objectFieldList) = (yystack_[1].value.objectFieldList); }
2240
- #line 2241 "parser.tab.cpp" // lalr1.cc:856
2241
- break;
2242
-
2243
- case 133:
2244
- #line 559 "parser.ypp" // lalr1.cc:856
2245
- { (yylhs.value.objectField) = new ObjectField(yylhs.location, (yystack_[2].value.name), (yystack_[0].value.value)); }
2246
- #line 2247 "parser.tab.cpp" // lalr1.cc:856
2247
- break;
2248
-
2249
- case 135:
2250
- #line 567 "parser.ypp" // lalr1.cc:856
2251
- { (yylhs.value.directiveList) = nullptr; }
2252
- #line 2253 "parser.tab.cpp" // lalr1.cc:856
2253
- break;
2254
-
2255
- case 137:
2256
- #line 571 "parser.ypp" // lalr1.cc:856
2257
- { (yylhs.value.directiveList) = new std::vector<std::unique_ptr<Directive>>(); (yylhs.value.directiveList)->emplace_back((yystack_[0].value.directive)); }
2258
- #line 2259 "parser.tab.cpp" // lalr1.cc:856
2259
- break;
2260
-
2261
- case 138:
2262
- #line 572 "parser.ypp" // lalr1.cc:856
2263
- { (yystack_[1].value.directiveList)->emplace_back((yystack_[0].value.directive)); (yylhs.value.directiveList) = (yystack_[1].value.directiveList); }
2264
- #line 2265 "parser.tab.cpp" // lalr1.cc:856
2265
- break;
2266
-
2267
- case 139:
2268
- #line 575 "parser.ypp" // lalr1.cc:856
2269
- { (yylhs.value.directive) = new Directive(yylhs.location, (yystack_[1].value.name), (yystack_[0].value.argumentList)); }
2270
- #line 2271 "parser.tab.cpp" // lalr1.cc:856
2271
- break;
2272
-
2273
- case 140:
2274
- #line 580 "parser.ypp" // lalr1.cc:856
2275
- { (yylhs.value.type) = static_cast<Type *>((yystack_[0].value.namedType)); }
2276
- #line 2277 "parser.tab.cpp" // lalr1.cc:856
2277
- break;
2278
-
2279
- case 141:
2280
- #line 581 "parser.ypp" // lalr1.cc:856
2281
- { (yylhs.value.type) = static_cast<Type *>((yystack_[0].value.listType)); }
2282
- #line 2283 "parser.tab.cpp" // lalr1.cc:856
2283
- break;
2284
-
2285
- case 142:
2286
- #line 582 "parser.ypp" // lalr1.cc:856
2287
- { (yylhs.value.type) = static_cast<Type *>((yystack_[0].value.nonNullType)); }
2288
- #line 2289 "parser.tab.cpp" // lalr1.cc:856
2289
- break;
2290
-
2291
- case 143:
2292
- #line 585 "parser.ypp" // lalr1.cc:856
2293
- { (yylhs.value.namedType) = new NamedType(yylhs.location, (yystack_[0].value.name)); }
2294
- #line 2295 "parser.tab.cpp" // lalr1.cc:856
2295
- break;
2296
-
2297
- case 144:
2298
- #line 588 "parser.ypp" // lalr1.cc:856
2299
- { (yylhs.value.listType) = new ListType(yylhs.location, (yystack_[1].value.type)); }
2300
- #line 2301 "parser.tab.cpp" // lalr1.cc:856
2301
- break;
2302
-
2303
- case 145:
2304
- #line 591 "parser.ypp" // lalr1.cc:856
2305
- { (yylhs.value.nonNullType) = new NonNullType(yylhs.location, (yystack_[1].value.namedType)); }
2306
- #line 2307 "parser.tab.cpp" // lalr1.cc:856
2307
- break;
2308
-
2309
- case 146:
2310
- #line 592 "parser.ypp" // lalr1.cc:856
2311
- { (yylhs.value.nonNullType) = new NonNullType(yylhs.location, (yystack_[1].value.listType)); }
2312
- #line 2313 "parser.tab.cpp" // lalr1.cc:856
2313
- break;
2314
-
2315
- case 147:
2316
- #line 597 "parser.ypp" // lalr1.cc:856
2317
- { (yylhs.value.schemaDefinition) = new SchemaDefinition(yylhs.location, (yystack_[3].value.directiveList), (yystack_[1].value.operationTypeDefinitionList)); }
2318
- #line 2319 "parser.tab.cpp" // lalr1.cc:856
2319
- break;
2320
-
2321
- case 148:
2322
- #line 601 "parser.ypp" // lalr1.cc:856
2323
- { (yylhs.value.operationTypeDefinitionList) = new std::vector<std::unique_ptr<OperationTypeDefinition>>(); (yylhs.value.operationTypeDefinitionList)->emplace_back((yystack_[0].value.operationTypeDefinition)); }
2324
- #line 2325 "parser.tab.cpp" // lalr1.cc:856
2325
- break;
2326
-
2327
- case 149:
2328
- #line 602 "parser.ypp" // lalr1.cc:856
2329
- { (yystack_[1].value.operationTypeDefinitionList)->emplace_back((yystack_[0].value.operationTypeDefinition)); (yylhs.value.operationTypeDefinitionList) = (yystack_[1].value.operationTypeDefinitionList); }
2330
- #line 2331 "parser.tab.cpp" // lalr1.cc:856
2331
- break;
2332
-
2333
- case 150:
2334
- #line 606 "parser.ypp" // lalr1.cc:856
2335
- { (yylhs.value.operationTypeDefinition) = new OperationTypeDefinition(yylhs.location, (yystack_[2].value.heapStr), (yystack_[0].value.namedType)); }
2336
- #line 2337 "parser.tab.cpp" // lalr1.cc:856
2337
- break;
2338
-
2339
- case 151:
2340
- #line 609 "parser.ypp" // lalr1.cc:856
2341
- { (yylhs.value.scalarTypeDefinition) = new ScalarTypeDefinition(yylhs.location, (yystack_[1].value.name), (yystack_[0].value.directiveList)); }
2342
- #line 2343 "parser.tab.cpp" // lalr1.cc:856
2343
- break;
2344
-
2345
- case 152:
2346
- #line 612 "parser.ypp" // lalr1.cc:856
2347
- { (yylhs.value.objectTypeDefinition) = new ObjectTypeDefinition(yylhs.location, (yystack_[5].value.name), (yystack_[4].value.typeNameList), (yystack_[3].value.directiveList), (yystack_[1].value.fieldDefinitionList)); }
2348
- #line 2349 "parser.tab.cpp" // lalr1.cc:856
2349
- break;
2350
-
2351
- case 153:
2352
- #line 615 "parser.ypp" // lalr1.cc:856
2353
- { (yylhs.value.typeNameList) = nullptr; }
2354
- #line 2355 "parser.tab.cpp" // lalr1.cc:856
2355
- break;
2356
-
2357
- case 154:
2358
- #line 616 "parser.ypp" // lalr1.cc:856
2359
- { (yylhs.value.typeNameList) = (yystack_[0].value.typeNameList); }
2360
- #line 2361 "parser.tab.cpp" // lalr1.cc:856
2361
- break;
2362
-
2363
- case 155:
2364
- #line 619 "parser.ypp" // lalr1.cc:856
2365
- { (yylhs.value.typeNameList) = new std::vector<std::unique_ptr<NamedType>>(); (yylhs.value.typeNameList)->emplace_back((yystack_[0].value.namedType)); }
2366
- #line 2367 "parser.tab.cpp" // lalr1.cc:856
2367
- break;
2368
-
2369
- case 156:
2370
- #line 620 "parser.ypp" // lalr1.cc:856
2371
- { (yystack_[1].value.typeNameList)->emplace_back((yystack_[0].value.namedType)); (yylhs.value.typeNameList) = (yystack_[1].value.typeNameList); }
2372
- #line 2373 "parser.tab.cpp" // lalr1.cc:856
2373
- break;
2374
-
2375
- case 157:
2376
- #line 623 "parser.ypp" // lalr1.cc:856
2377
- { (yylhs.value.fieldDefinition) = new FieldDefinition(yylhs.location, (yystack_[4].value.name), (yystack_[3].value.inputValueDefinitionList), (yystack_[1].value.type), (yystack_[0].value.directiveList)); }
2378
- #line 2379 "parser.tab.cpp" // lalr1.cc:856
2379
- break;
2380
-
2381
- case 158:
2382
- #line 627 "parser.ypp" // lalr1.cc:856
2383
- { (yylhs.value.fieldDefinitionList) = new std::vector<std::unique_ptr<FieldDefinition>>(); (yylhs.value.fieldDefinitionList)->emplace_back((yystack_[0].value.fieldDefinition)); }
2384
- #line 2385 "parser.tab.cpp" // lalr1.cc:856
2385
- break;
2386
-
2387
- case 159:
2388
- #line 628 "parser.ypp" // lalr1.cc:856
2389
- { (yystack_[1].value.fieldDefinitionList)->emplace_back((yystack_[0].value.fieldDefinition)); (yylhs.value.fieldDefinitionList) = (yystack_[1].value.fieldDefinitionList); }
2390
- #line 2391 "parser.tab.cpp" // lalr1.cc:856
2391
- break;
2392
-
2393
- case 160:
2394
- #line 631 "parser.ypp" // lalr1.cc:856
2395
- { (yylhs.value.inputValueDefinitionList) = nullptr; }
2396
- #line 2397 "parser.tab.cpp" // lalr1.cc:856
2397
- break;
2398
-
2399
- case 161:
2400
- #line 632 "parser.ypp" // lalr1.cc:856
2401
- { (yylhs.value.inputValueDefinitionList) = (yystack_[0].value.inputValueDefinitionList); }
2402
- #line 2403 "parser.tab.cpp" // lalr1.cc:856
2403
- break;
2404
-
2405
- case 162:
2406
- #line 635 "parser.ypp" // lalr1.cc:856
2407
- { (yylhs.value.inputValueDefinitionList) = (yystack_[1].value.inputValueDefinitionList); }
2408
- #line 2409 "parser.tab.cpp" // lalr1.cc:856
2409
- break;
2410
-
2411
- case 163:
2412
- #line 638 "parser.ypp" // lalr1.cc:856
2413
- { (yylhs.value.inputValueDefinitionList) = new std::vector<std::unique_ptr<InputValueDefinition>>(); (yylhs.value.inputValueDefinitionList)->emplace_back((yystack_[0].value.inputValueDefinition)); }
2414
- #line 2415 "parser.tab.cpp" // lalr1.cc:856
2415
- break;
2416
-
2417
- case 164:
2418
- #line 639 "parser.ypp" // lalr1.cc:856
2419
- { (yystack_[1].value.inputValueDefinitionList)->emplace_back((yystack_[0].value.inputValueDefinition)); (yylhs.value.inputValueDefinitionList) = (yystack_[1].value.inputValueDefinitionList); }
2420
- #line 2421 "parser.tab.cpp" // lalr1.cc:856
2421
- break;
2422
-
2423
- case 165:
2424
- #line 642 "parser.ypp" // lalr1.cc:856
2425
- { (yylhs.value.inputValueDefinition) = new InputValueDefinition(yylhs.location, (yystack_[4].value.name), (yystack_[2].value.type), (yystack_[1].value.value), (yystack_[0].value.directiveList)); }
2426
- #line 2427 "parser.tab.cpp" // lalr1.cc:856
2427
- break;
2428
-
2429
- case 166:
2430
- #line 644 "parser.ypp" // lalr1.cc:856
2431
- { (yylhs.value.interfaceTypeDefinition) = new InterfaceTypeDefinition(yylhs.location, (yystack_[4].value.name), (yystack_[3].value.directiveList), (yystack_[1].value.fieldDefinitionList)); }
2432
- #line 2433 "parser.tab.cpp" // lalr1.cc:856
2433
- break;
2434
-
2435
- case 167:
2436
- #line 647 "parser.ypp" // lalr1.cc:856
2437
- { (yylhs.value.unionTypeDefinition) = new UnionTypeDefinition(yylhs.location, (yystack_[3].value.name), (yystack_[2].value.directiveList), (yystack_[0].value.typeNameList)); }
2438
- #line 2439 "parser.tab.cpp" // lalr1.cc:856
2439
- break;
2440
-
2441
- case 168:
2442
- #line 650 "parser.ypp" // lalr1.cc:856
2443
- { (yylhs.value.typeNameList) = new std::vector<std::unique_ptr<NamedType>>(); (yylhs.value.typeNameList)->emplace_back((yystack_[0].value.namedType)); }
2444
- #line 2445 "parser.tab.cpp" // lalr1.cc:856
2445
- break;
2446
-
2447
- case 169:
2448
- #line 651 "parser.ypp" // lalr1.cc:856
2449
- { (yystack_[2].value.typeNameList)->emplace_back((yystack_[0].value.namedType)); (yylhs.value.typeNameList) = (yystack_[2].value.typeNameList); }
2450
- #line 2451 "parser.tab.cpp" // lalr1.cc:856
2451
- break;
2452
-
2453
- case 170:
2454
- #line 654 "parser.ypp" // lalr1.cc:856
2455
- { (yylhs.value.enumTypeDefinition) = new EnumTypeDefinition(yylhs.location, (yystack_[4].value.name), (yystack_[3].value.directiveList), (yystack_[1].value.enumValueDefinitionList)); }
2456
- #line 2457 "parser.tab.cpp" // lalr1.cc:856
2457
- break;
2458
-
2459
- case 171:
2460
- #line 657 "parser.ypp" // lalr1.cc:856
2461
- { (yylhs.value.enumValueDefinition) = new EnumValueDefinition(yylhs.location, (yystack_[1].value.name), (yystack_[0].value.directiveList)); }
2462
- #line 2463 "parser.tab.cpp" // lalr1.cc:856
2463
- break;
2464
-
2465
- case 172:
2466
- #line 661 "parser.ypp" // lalr1.cc:856
2467
- { (yylhs.value.enumValueDefinitionList) = new std::vector<std::unique_ptr<EnumValueDefinition>>(); (yylhs.value.enumValueDefinitionList)->emplace_back((yystack_[0].value.enumValueDefinition)); }
2468
- #line 2469 "parser.tab.cpp" // lalr1.cc:856
2469
- break;
2470
-
2471
- case 173:
2472
- #line 662 "parser.ypp" // lalr1.cc:856
2473
- { (yystack_[1].value.enumValueDefinitionList)->emplace_back((yystack_[0].value.enumValueDefinition)); (yylhs.value.enumValueDefinitionList) = (yystack_[1].value.enumValueDefinitionList); }
2474
- #line 2475 "parser.tab.cpp" // lalr1.cc:856
2475
- break;
2476
-
2477
- case 174:
2478
- #line 665 "parser.ypp" // lalr1.cc:856
2479
- { (yylhs.value.inputObjectTypeDefinition) = new InputObjectTypeDefinition(yylhs.location, (yystack_[4].value.name), (yystack_[3].value.directiveList), (yystack_[1].value.inputValueDefinitionList)); }
2480
- #line 2481 "parser.tab.cpp" // lalr1.cc:856
2481
- break;
2482
-
2483
- case 175:
2484
- #line 668 "parser.ypp" // lalr1.cc:856
2485
- { (yylhs.value.typeExtensionDefinition) = new TypeExtensionDefinition(yylhs.location, (yystack_[0].value.objectTypeDefinition)); }
2486
- #line 2487 "parser.tab.cpp" // lalr1.cc:856
2487
- break;
2488
-
2489
- case 176:
2490
- #line 671 "parser.ypp" // lalr1.cc:856
2491
- { (yylhs.value.directiveDefinition) = new DirectiveDefinition(yylhs.location, (yystack_[3].value.name), (yystack_[2].value.inputValueDefinitionList), (yystack_[0].value.nameList)); }
2492
- #line 2493 "parser.tab.cpp" // lalr1.cc:856
2493
- break;
2494
-
2495
- case 177:
2496
- #line 675 "parser.ypp" // lalr1.cc:856
2497
- { (yylhs.value.nameList) = new std::vector<std::unique_ptr<Name>>(); (yylhs.value.nameList)->emplace_back((yystack_[0].value.name)); }
2498
- #line 2499 "parser.tab.cpp" // lalr1.cc:856
2499
- break;
2500
-
2501
- case 178:
2502
- #line 676 "parser.ypp" // lalr1.cc:856
2503
- { (yystack_[2].value.nameList)->emplace_back((yystack_[0].value.name)); (yylhs.value.nameList) = (yystack_[2].value.nameList); }
2504
- #line 2505 "parser.tab.cpp" // lalr1.cc:856
2505
- break;
2506
-
2507
-
2508
- #line 2509 "parser.tab.cpp" // lalr1.cc:856
2509
- default:
2510
- break;
2511
- }
2512
- }
2513
- catch (const syntax_error& yyexc)
2514
- {
2515
- error (yyexc);
2516
- YYERROR;
2517
- }
2518
- YY_SYMBOL_PRINT ("-> $$ =", yylhs);
2519
- yypop_ (yylen);
2520
- yylen = 0;
2521
- YY_STACK_PRINT ();
2522
-
2523
- // Shift the result of the reduction.
2524
- yypush_ (YY_NULLPTR, yylhs);
2525
- }
2526
- goto yynewstate;
2527
-
2528
- /*--------------------------------------.
2529
- | yyerrlab -- here on detecting error. |
2530
- `--------------------------------------*/
2531
- yyerrlab:
2532
- // If not already recovering from an error, report this error.
2533
- if (!yyerrstatus_)
2534
- {
2535
- ++yynerrs_;
2536
- error (yyla.location, yysyntax_error_ (yystack_[0].state, yyla));
2537
- }
2538
-
2539
-
2540
- yyerror_range[1].location = yyla.location;
2541
- if (yyerrstatus_ == 3)
2542
- {
2543
- /* If just tried and failed to reuse lookahead token after an
2544
- error, discard it. */
2545
-
2546
- // Return failure if at end of input.
2547
- if (yyla.type_get () == yyeof_)
2548
- YYABORT;
2549
- else if (!yyla.empty ())
2550
- {
2551
- yy_destroy_ ("Error: discarding", yyla);
2552
- yyla.clear ();
2553
- }
2554
- }
2555
-
2556
- // Else will try to reuse lookahead token after shifting the error token.
2557
- goto yyerrlab1;
2558
-
2559
-
2560
- /*---------------------------------------------------.
2561
- | yyerrorlab -- error raised explicitly by YYERROR. |
2562
- `---------------------------------------------------*/
2563
- yyerrorlab:
2564
-
2565
- /* Pacify compilers like GCC when the user code never invokes
2566
- YYERROR and the label yyerrorlab therefore never appears in user
2567
- code. */
2568
- if (false)
2569
- goto yyerrorlab;
2570
- /* Do not reclaim the symbols of the rule whose action triggered
2571
- this YYERROR. */
2572
- yypop_ (yylen);
2573
- yylen = 0;
2574
- goto yyerrlab1;
2575
-
2576
- /*-------------------------------------------------------------.
2577
- | yyerrlab1 -- common code for both syntax error and YYERROR. |
2578
- `-------------------------------------------------------------*/
2579
- yyerrlab1:
2580
- yyerrstatus_ = 3; // Each real token shifted decrements this.
2581
- {
2582
- stack_symbol_type error_token;
2583
- for (;;)
2584
- {
2585
- yyn = yypact_[yystack_[0].state];
2586
- if (!yy_pact_value_is_default_ (yyn))
2587
- {
2588
- yyn += yyterror_;
2589
- if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
2590
- {
2591
- yyn = yytable_[yyn];
2592
- if (0 < yyn)
2593
- break;
2594
- }
2595
- }
2596
-
2597
- // Pop the current state because it cannot handle the error token.
2598
- if (yystack_.size () == 1)
2599
- YYABORT;
2600
-
2601
- yyerror_range[1].location = yystack_[0].location;
2602
- yy_destroy_ ("Error: popping", yystack_[0]);
2603
- yypop_ ();
2604
- YY_STACK_PRINT ();
2605
- }
2606
-
2607
- yyerror_range[2].location = yyla.location;
2608
- YYLLOC_DEFAULT (error_token.location, yyerror_range, 2);
2609
-
2610
- // Shift the error token.
2611
- error_token.state = yyn;
2612
- yypush_ ("Shifting", error_token);
2613
- }
2614
- goto yynewstate;
2615
-
2616
- // Accept.
2617
- yyacceptlab:
2618
- yyresult = 0;
2619
- goto yyreturn;
2620
-
2621
- // Abort.
2622
- yyabortlab:
2623
- yyresult = 1;
2624
- goto yyreturn;
2625
-
2626
- yyreturn:
2627
- if (!yyla.empty ())
2628
- yy_destroy_ ("Cleanup: discarding lookahead", yyla);
2629
-
2630
- /* Do not reclaim the symbols of the rule whose action triggered
2631
- this YYABORT or YYACCEPT. */
2632
- yypop_ (yylen);
2633
- while (1 < yystack_.size ())
2634
- {
2635
- yy_destroy_ ("Cleanup: popping", yystack_[0]);
2636
- yypop_ ();
2637
- }
2638
-
2639
- return yyresult;
2640
- }
2641
- catch (...)
2642
- {
2643
- YYCDEBUG << "Exception caught: cleaning lookahead and stack\n";
2644
- // Do not try to display the values of the reclaimed symbols,
2645
- // as their printer might throw an exception.
2646
- if (!yyla.empty ())
2647
- yy_destroy_ (YY_NULLPTR, yyla);
2648
-
2649
- while (1 < yystack_.size ())
2650
- {
2651
- yy_destroy_ (YY_NULLPTR, yystack_[0]);
2652
- yypop_ ();
2653
- }
2654
- throw;
2655
- }
2656
- }
2657
-
2658
- void
2659
- GraphQLParserImpl::error (const syntax_error& yyexc)
2660
- {
2661
- error (yyexc.location, yyexc.what ());
2662
- }
2663
-
2664
- // Generate an error message.
2665
- std::string
2666
- GraphQLParserImpl::yysyntax_error_ (state_type yystate, const symbol_type& yyla) const
2667
- {
2668
- // Number of reported tokens (one for the "unexpected", one per
2669
- // "expected").
2670
- size_t yycount = 0;
2671
- // Its maximum.
2672
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2673
- // Arguments of yyformat.
2674
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2675
-
2676
- /* There are many possibilities here to consider:
2677
- - If this state is a consistent state with a default action, then
2678
- the only way this function was invoked is if the default action
2679
- is an error action. In that case, don't check for expected
2680
- tokens because there are none.
2681
- - The only way there can be no lookahead present (in yyla) is
2682
- if this state is a consistent state with a default action.
2683
- Thus, detecting the absence of a lookahead is sufficient to
2684
- determine that there is no unexpected or expected token to
2685
- report. In that case, just report a simple "syntax error".
2686
- - Don't assume there isn't a lookahead just because this state is
2687
- a consistent state with a default action. There might have
2688
- been a previous inconsistent state, consistent state with a
2689
- non-default action, or user semantic action that manipulated
2690
- yyla. (However, yyla is currently not documented for users.)
2691
- - Of course, the expected token list depends on states to have
2692
- correct lookahead information, and it depends on the parser not
2693
- to perform extra reductions after fetching a lookahead from the
2694
- scanner and before detecting a syntax error. Thus, state
2695
- merging (from LALR or IELR) and default reductions corrupt the
2696
- expected token list. However, the list is correct for
2697
- canonical LR with one exception: it will still contain any
2698
- token that will not be accepted due to an error action in a
2699
- later state.
2700
- */
2701
- if (!yyla.empty ())
2702
- {
2703
- int yytoken = yyla.type_get ();
2704
- yyarg[yycount++] = yytname_[yytoken];
2705
- int yyn = yypact_[yystate];
2706
- if (!yy_pact_value_is_default_ (yyn))
2707
- {
2708
- /* Start YYX at -YYN if negative to avoid negative indexes in
2709
- YYCHECK. In other words, skip the first -YYN actions for
2710
- this state because they are default actions. */
2711
- int yyxbegin = yyn < 0 ? -yyn : 0;
2712
- // Stay within bounds of both yycheck and yytname.
2713
- int yychecklim = yylast_ - yyn + 1;
2714
- int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
2715
- for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
2716
- if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
2717
- && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
2718
- {
2719
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2720
- {
2721
- yycount = 1;
2722
- break;
2723
- }
2724
- else
2725
- yyarg[yycount++] = yytname_[yyx];
2726
- }
2727
- }
2728
- }
2729
-
2730
- char const* yyformat = YY_NULLPTR;
2731
- switch (yycount)
2732
- {
2733
- #define YYCASE_(N, S) \
2734
- case N: \
2735
- yyformat = S; \
2736
- break
2737
- default: // Avoid compiler warnings.
2738
- YYCASE_ (0, YY_("syntax error"));
2739
- YYCASE_ (1, YY_("syntax error, unexpected %s"));
2740
- YYCASE_ (2, YY_("syntax error, unexpected %s, expecting %s"));
2741
- YYCASE_ (3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2742
- YYCASE_ (4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2743
- YYCASE_ (5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2744
- #undef YYCASE_
2745
- }
2746
-
2747
- std::string yyres;
2748
- // Argument number.
2749
- size_t yyi = 0;
2750
- for (char const* yyp = yyformat; *yyp; ++yyp)
2751
- if (yyp[0] == '%' && yyp[1] == 's' && yyi < yycount)
2752
- {
2753
- yyres += yytnamerr_ (yyarg[yyi++]);
2754
- ++yyp;
2755
- }
2756
- else
2757
- yyres += *yyp;
2758
- return yyres;
2759
- }
2760
-
2761
-
2762
- const short int GraphQLParserImpl::yypact_ninf_ = -228;
2763
-
2764
- const signed char GraphQLParserImpl::yytable_ninf_ = -1;
2765
-
2766
- const short int
2767
- GraphQLParserImpl::yypact_[] =
2768
- {
2769
- 198, -11, 895, 6, 918, 895, 895, -228, -228, 895,
2770
- 13, -228, 895, 895, 440, 50, -228, 198, -228, -228,
2771
- -228, 895, -228, -228, -228, -228, -228, -228, -228, -228,
2772
- -228, -228, -228, 895, -228, -228, -228, -228, -228, -228,
2773
- -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
2774
- -228, -228, -228, -228, 13, -228, 58, 13, 13, 13,
2775
- 895, -228, 44, 13, -228, 79, 13, 475, 74, 405,
2776
- -228, -228, -228, -228, -228, -228, -228, 76, 54, 52,
2777
- 895, 65, 67, -228, 94, 100, -228, 895, 13, 84,
2778
- 895, 13, 89, 895, 895, -228, 13, -228, -228, 87,
2779
- 88, -228, 89, 895, 109, -228, 895, -228, 13, -228,
2780
- 895, 895, -228, 99, 68, -228, -228, 895, 95, 895,
2781
- 13, -228, -228, 101, 510, -228, 94, 89, -228, -9,
2782
- 103, -228, -228, 89, -228, 104, 545, -228, 895, 13,
2783
- -228, 580, 89, 615, 54, -228, 650, 895, -228, -228,
2784
- -228, 895, -228, 102, 89, 265, -228, -228, 13, -228,
2785
- -228, -228, -228, 685, -228, 685, -228, -228, -228, 106,
2786
- -228, -228, -228, -228, -228, 105, -228, -228, -228, 720,
2787
- 895, -228, -228, -228, -228, -228, -228, -228, -228, -228,
2788
- -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
2789
- 150, 755, -228, -228, -228, -228, -228, -228, -228, -228,
2790
- -228, -228, -228, -228, -228, -228, 89, 685, 112, 110,
2791
- 111, -228, 112, 895, 685, -228, -228, -228, -228, 228,
2792
- -228, 115, 790, -228, -228, 113, 370, -228, -228, -228,
2793
- -228, 13, -228, 13, -228, -228, 265, -228, -228, -228,
2794
- 300, 825, -228, -228, -228, -228, -228, -228, -228, -228,
2795
- -228, -228, -228, -228, -228, -228, 335, -228, 118, 860,
2796
- -228, -228, -228, 370, -228, -228, -228
2797
- };
2798
-
2799
- const unsigned char
2800
- GraphQLParserImpl::yydefact_[] =
2801
- {
2802
- 0, 0, 0, 0, 0, 0, 0, 46, 45, 0,
2803
- 135, 47, 0, 0, 0, 0, 2, 25, 26, 30,
2804
- 28, 23, 40, 29, 31, 32, 33, 34, 35, 36,
2805
- 37, 38, 39, 0, 3, 4, 5, 6, 7, 9,
2806
- 10, 11, 12, 13, 14, 22, 15, 16, 17, 18,
2807
- 19, 20, 8, 21, 135, 175, 0, 135, 135, 135,
2808
- 0, 136, 0, 134, 137, 153, 135, 135, 67, 0,
2809
- 59, 61, 62, 63, 1, 27, 24, 0, 160, 0,
2810
- 0, 0, 0, 151, 67, 0, 138, 0, 135, 0,
2811
- 0, 135, 0, 0, 0, 68, 135, 56, 60, 0,
2812
- 0, 41, 0, 0, 0, 161, 0, 143, 135, 76,
2813
- 0, 0, 139, 0, 0, 148, 155, 154, 0, 0,
2814
- 135, 72, 74, 0, 0, 69, 67, 57, 51, 0,
2815
- 0, 49, 42, 0, 43, 0, 0, 163, 0, 135,
2816
- 172, 0, 0, 0, 160, 158, 0, 0, 147, 149,
2817
- 156, 0, 168, 167, 0, 0, 66, 70, 135, 58,
2818
- 64, 48, 50, 0, 44, 0, 162, 164, 177, 176,
2819
- 171, 170, 173, 75, 174, 0, 166, 159, 150, 0,
2820
- 0, 73, 100, 101, 102, 98, 103, 105, 106, 107,
2821
- 108, 99, 110, 109, 111, 112, 113, 97, 114, 115,
2822
- 0, 0, 86, 87, 88, 104, 77, 71, 78, 79,
2823
- 80, 81, 82, 83, 84, 85, 57, 0, 53, 140,
2824
- 141, 142, 53, 0, 0, 152, 169, 116, 118, 0,
2825
- 124, 0, 0, 126, 65, 0, 0, 52, 54, 145,
2826
- 146, 135, 178, 135, 117, 119, 0, 125, 127, 144,
2827
- 0, 0, 89, 90, 91, 55, 92, 93, 94, 95,
2828
- 96, 165, 157, 128, 120, 122, 0, 129, 0, 0,
2829
- 131, 121, 123, 0, 130, 132, 133
2830
- };
2831
-
2832
- const short int
2833
- GraphQLParserImpl::yypgoto_[] =
2834
- {
2835
- -228, -228, 1, -2, -228, -228, -228, 128, -228, -228,
2836
- -52, -228, -228, -84, 17, -87, -228, -64, -69, -228,
2837
- 81, -228, -228, -82, -228, 24, -228, -228, -228, 61,
2838
- -194, -227, -218, -193, -224, -189, -180, -161, -228, -228,
2839
- -228, -228, -228, -228, -61, -228, -228, -97, -12, -37,
2840
- -228, 119, -164, -53, -228, -228, -228, -228, 59, -228,
2841
- 171, -228, -228, -138, 25, 31, -228, 71, -29, -228,
2842
- -228, -228, -228, 47, -228, -228, -228, -228, -228
2843
- };
2844
-
2845
- const short int
2846
- GraphQLParserImpl::yydefgoto_[] =
2847
- {
2848
- -1, 15, 53, 107, 77, 16, 17, 18, 19, 20,
2849
- 21, 100, 129, 206, 131, 237, 238, 22, 160, 69,
2850
- 70, 71, 95, 96, 124, 125, 72, 73, 23, 108,
2851
- 207, 208, 209, 210, 255, 211, 212, 213, 214, 229,
2852
- 259, 266, 215, 232, 233, 260, 269, 270, 61, 62,
2853
- 63, 64, 218, 219, 220, 221, 24, 114, 115, 25,
2854
- 26, 88, 117, 145, 146, 104, 105, 136, 137, 27,
2855
- 28, 153, 29, 140, 141, 30, 31, 32, 169
2856
- };
2857
-
2858
- const unsigned short int
2859
- GraphQLParserImpl::yytable_[] =
2860
- {
2861
- 54, 222, 112, 57, 58, 56, 228, 59, 177, 252,
2862
- 65, 66, 68, 101, 161, 130, 33, 79, 253, 76,
2863
- 81, 82, 83, 252, 128, 12, 265, 109, 122, 89,
2864
- 92, 78, 253, 113, 116, 245, 132, 109, 134, 252,
2865
- 60, 177, 272, 254, 158, 130, 252, 256, 253, 276,
2866
- 74, 118, 263, 235, 121, 253, 257, 254, 84, 127,
2867
- 243, 256, 113, 159, 150, 102, 152, 68, 91, 164,
2868
- 257, 142, 80, 254, 85, 258, 103, 256, 173, 7,
2869
- 254, 8, 106, 154, 256, 11, 257, 87, 133, 258,
2870
- 181, 123, 126, 257, 178, 110, 93, 111, 99, 94,
2871
- 148, 135, 170, 60, 139, 258, 14, 167, 135, 144,
2872
- 119, 7, 258, 8, 167, 60, 93, 11, 14, 14,
2873
- 128, 216, 123, 138, 147, 151, 155, 226, 163, 165,
2874
- 224, 239, 240, 180, 135, 241, 168, 223, 236, 139,
2875
- 246, 135, 249, 273, 144, 75, 162, 234, 157, 144,
2876
- 98, 120, 159, 182, 183, 184, 185, 186, 187, 188,
2877
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2878
- 199, 248, 275, 149, 55, 175, 179, 144, 200, 227,
2879
- 201, 143, 86, 128, 202, 203, 204, 205, 172, 0,
2880
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 231,
2881
- 0, 1, 2, 3, 261, 4, 262, 5, 6, 7,
2882
- 0, 8, 0, 9, 10, 11, 0, 12, 13, 0,
2883
- 0, 242, 0, 0, 0, 0, 0, 0, 14, 0,
2884
- 231, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2885
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 268,
2886
- 0, 0, 0, 0, 0, 0, 200, 244, 201, 0,
2887
- 0, 128, 202, 203, 204, 205, 0, 268, 182, 183,
2888
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
2889
- 194, 195, 196, 197, 198, 199, 0, 0, 0, 0,
2890
- 0, 0, 0, 200, 0, 201, 0, 0, 128, 202,
2891
- 203, 204, 205, 182, 183, 184, 185, 186, 187, 188,
2892
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2893
- 199, 0, 0, 0, 0, 0, 0, 0, 250, 264,
2894
- 251, 0, 0, 0, 202, 203, 204, 205, 182, 183,
2895
- 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
2896
- 194, 195, 196, 197, 198, 199, 0, 0, 0, 0,
2897
- 0, 0, 0, 250, 271, 251, 0, 0, 0, 202,
2898
- 203, 204, 205, 182, 183, 184, 185, 186, 187, 188,
2899
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2900
- 199, 0, 0, 0, 0, 0, 0, 0, 250, 0,
2901
- 251, 0, 0, 0, 202, 203, 204, 205, 34, 35,
2902
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2903
- 46, 47, 48, 49, 50, 51, 0, 0, 0, 67,
2904
- 0, 0, 0, 0, 0, 0, 0, 97, 0, 0,
2905
- 0, 0, 52, 34, 35, 36, 37, 38, 39, 40,
2906
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2907
- 51, 0, 0, 0, 67, 0, 0, 0, 0, 0,
2908
- 0, 0, 0, 0, 0, 0, 0, 52, 34, 35,
2909
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 90,
2910
- 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
2911
- 0, 0, 60, 0, 0, 0, 0, 0, 0, 0,
2912
- 0, 0, 52, 34, 35, 36, 37, 38, 39, 40,
2913
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2914
- 51, 0, 0, 156, 0, 0, 0, 0, 0, 0,
2915
- 0, 0, 0, 0, 0, 0, 0, 52, 34, 35,
2916
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2917
- 46, 47, 48, 49, 50, 51, 0, 0, 166, 0,
2918
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2919
- 0, 0, 52, 34, 35, 36, 37, 38, 39, 40,
2920
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2921
- 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2922
- 0, 0, 171, 0, 0, 0, 0, 52, 34, 35,
2923
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2924
- 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
2925
- 0, 0, 0, 0, 0, 0, 0, 174, 0, 0,
2926
- 0, 0, 52, 34, 35, 36, 37, 38, 39, 40,
2927
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2928
- 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2929
- 0, 0, 176, 0, 0, 0, 0, 52, 34, 35,
2930
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2931
- 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
2932
- 0, 0, 0, 217, 0, 0, 0, 0, 0, 0,
2933
- 0, 0, 52, 34, 35, 36, 37, 38, 39, 40,
2934
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2935
- 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2936
- 0, 0, 225, 0, 0, 0, 0, 52, 34, 35,
2937
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2938
- 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
2939
- 0, 0, 0, 0, 0, 0, 0, 230, 0, 0,
2940
- 0, 0, 52, 34, 35, 36, 37, 38, 39, 40,
2941
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2942
- 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2943
- 0, 0, 247, 0, 0, 0, 0, 52, 34, 35,
2944
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2945
- 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
2946
- 0, 0, 0, 0, 0, 0, 0, 267, 0, 0,
2947
- 0, 0, 52, 34, 35, 36, 37, 38, 39, 40,
2948
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2949
- 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2950
- 0, 0, 274, 0, 0, 0, 0, 52, 34, 35,
2951
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2952
- 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
2953
- 0, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2954
- 43, 44, 52, 46, 47, 48, 49, 50, 51, 0,
2955
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2956
- 0, 0, 0, 0, 0, 52
2957
- };
2958
-
2959
- const short int
2960
- GraphQLParserImpl::yycheck_[] =
2961
- {
2962
- 2, 165, 84, 5, 6, 4, 200, 9, 146, 236,
2963
- 12, 13, 14, 77, 23, 99, 27, 54, 236, 21,
2964
- 57, 58, 59, 250, 33, 19, 250, 80, 92, 66,
2965
- 67, 33, 250, 85, 87, 229, 100, 90, 102, 266,
2966
- 27, 179, 266, 236, 126, 129, 273, 236, 266, 273,
2967
- 0, 88, 246, 217, 91, 273, 236, 250, 60, 96,
2968
- 224, 250, 114, 127, 117, 77, 119, 69, 67, 133,
2969
- 250, 108, 14, 266, 30, 236, 22, 266, 142, 11,
2970
- 273, 13, 30, 120, 273, 17, 266, 8, 100, 250,
2971
- 154, 93, 94, 273, 147, 30, 22, 30, 22, 25,
2972
- 32, 103, 139, 27, 106, 266, 30, 136, 110, 111,
2973
- 26, 11, 273, 13, 143, 27, 22, 17, 30, 30,
2974
- 33, 158, 124, 14, 25, 30, 25, 180, 25, 25,
2975
- 25, 21, 21, 31, 136, 222, 138, 31, 26, 141,
2976
- 25, 143, 29, 25, 146, 17, 129, 216, 124, 151,
2977
- 69, 90, 216, 3, 4, 5, 6, 7, 8, 9,
2978
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2979
- 20, 232, 269, 114, 3, 144, 151, 179, 28, 29,
2980
- 30, 110, 63, 33, 34, 35, 36, 37, 141, -1,
2981
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 201,
2982
- -1, 3, 4, 5, 241, 7, 243, 9, 10, 11,
2983
- -1, 13, -1, 15, 16, 17, -1, 19, 20, -1,
2984
- -1, 223, -1, -1, -1, -1, -1, -1, 30, -1,
2985
- 232, 3, 4, 5, 6, 7, 8, 9, 10, 11,
2986
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 251,
2987
- -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
2988
- -1, 33, 34, 35, 36, 37, -1, 269, 3, 4,
2989
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2990
- 15, 16, 17, 18, 19, 20, -1, -1, -1, -1,
2991
- -1, -1, -1, 28, -1, 30, -1, -1, 33, 34,
2992
- 35, 36, 37, 3, 4, 5, 6, 7, 8, 9,
2993
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2994
- 20, -1, -1, -1, -1, -1, -1, -1, 28, 29,
2995
- 30, -1, -1, -1, 34, 35, 36, 37, 3, 4,
2996
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2997
- 15, 16, 17, 18, 19, 20, -1, -1, -1, -1,
2998
- -1, -1, -1, 28, 29, 30, -1, -1, -1, 34,
2999
- 35, 36, 37, 3, 4, 5, 6, 7, 8, 9,
3000
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3001
- 20, -1, -1, -1, -1, -1, -1, -1, 28, -1,
3002
- 30, -1, -1, -1, 34, 35, 36, 37, 3, 4,
3003
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3004
- 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
3005
- -1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
3006
- -1, -1, 37, 3, 4, 5, 6, 7, 8, 9,
3007
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3008
- 20, -1, -1, -1, 24, -1, -1, -1, -1, -1,
3009
- -1, -1, -1, -1, -1, -1, -1, 37, 3, 4,
3010
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3011
- 15, 16, 17, 18, 19, 20, -1, -1, -1, -1,
3012
- -1, -1, 27, -1, -1, -1, -1, -1, -1, -1,
3013
- -1, -1, 37, 3, 4, 5, 6, 7, 8, 9,
3014
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3015
- 20, -1, -1, 23, -1, -1, -1, -1, -1, -1,
3016
- -1, -1, -1, -1, -1, -1, -1, 37, 3, 4,
3017
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3018
- 15, 16, 17, 18, 19, 20, -1, -1, 23, -1,
3019
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3020
- -1, -1, 37, 3, 4, 5, 6, 7, 8, 9,
3021
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3022
- 20, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3023
- -1, -1, 32, -1, -1, -1, -1, 37, 3, 4,
3024
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3025
- 15, 16, 17, 18, 19, 20, -1, -1, -1, -1,
3026
- -1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
3027
- -1, -1, 37, 3, 4, 5, 6, 7, 8, 9,
3028
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3029
- 20, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3030
- -1, -1, 32, -1, -1, -1, -1, 37, 3, 4,
3031
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3032
- 15, 16, 17, 18, 19, 20, -1, -1, -1, -1,
3033
- -1, -1, -1, 28, -1, -1, -1, -1, -1, -1,
3034
- -1, -1, 37, 3, 4, 5, 6, 7, 8, 9,
3035
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3036
- 20, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3037
- -1, -1, 32, -1, -1, -1, -1, 37, 3, 4,
3038
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3039
- 15, 16, 17, 18, 19, 20, -1, -1, -1, -1,
3040
- -1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
3041
- -1, -1, 37, 3, 4, 5, 6, 7, 8, 9,
3042
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3043
- 20, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3044
- -1, -1, 32, -1, -1, -1, -1, 37, 3, 4,
3045
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3046
- 15, 16, 17, 18, 19, 20, -1, -1, -1, -1,
3047
- -1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
3048
- -1, -1, 37, 3, 4, 5, 6, 7, 8, 9,
3049
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3050
- 20, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3051
- -1, -1, 32, -1, -1, -1, -1, 37, 3, 4,
3052
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3053
- 15, 16, 17, 18, 19, 20, -1, -1, -1, -1,
3054
- -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3055
- 12, 13, 37, 15, 16, 17, 18, 19, 20, -1,
3056
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3057
- -1, -1, -1, -1, -1, 37
3058
- };
3059
-
3060
- const unsigned char
3061
- GraphQLParserImpl::yystos_[] =
3062
- {
3063
- 0, 3, 4, 5, 7, 9, 10, 11, 13, 15,
3064
- 16, 17, 19, 20, 30, 39, 43, 44, 45, 46,
3065
- 47, 48, 55, 66, 94, 97, 98, 107, 108, 110,
3066
- 113, 114, 115, 27, 3, 4, 5, 6, 7, 8,
3067
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
3068
- 19, 20, 37, 40, 41, 98, 40, 41, 41, 41,
3069
- 27, 86, 87, 88, 89, 41, 41, 24, 41, 57,
3070
- 58, 59, 64, 65, 0, 45, 41, 42, 41, 87,
3071
- 14, 87, 87, 87, 41, 30, 89, 8, 99, 87,
3072
- 14, 40, 87, 22, 25, 60, 61, 32, 58, 22,
3073
- 49, 55, 86, 22, 103, 104, 30, 41, 67, 91,
3074
- 30, 30, 61, 48, 95, 96, 91, 100, 87, 26,
3075
- 67, 87, 55, 41, 62, 63, 41, 87, 33, 50,
3076
- 51, 52, 55, 86, 55, 41, 105, 106, 14, 41,
3077
- 111, 112, 87, 105, 41, 101, 102, 25, 32, 96,
3078
- 91, 30, 91, 109, 87, 25, 23, 63, 61, 55,
3079
- 56, 23, 52, 25, 55, 25, 23, 106, 41, 116,
3080
- 87, 32, 111, 55, 32, 103, 32, 101, 91, 102,
3081
- 31, 55, 3, 4, 5, 6, 7, 8, 9, 10,
3082
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
3083
- 28, 30, 34, 35, 36, 37, 51, 68, 69, 70,
3084
- 71, 73, 74, 75, 76, 80, 87, 28, 90, 91,
3085
- 92, 93, 90, 31, 25, 32, 91, 29, 68, 77,
3086
- 32, 41, 81, 82, 56, 90, 26, 53, 54, 21,
3087
- 21, 53, 41, 90, 29, 68, 25, 32, 82, 29,
3088
- 28, 30, 69, 70, 71, 72, 73, 74, 75, 78,
3089
- 83, 87, 87, 68, 29, 72, 79, 32, 41, 84,
3090
- 85, 29, 72, 25, 32, 85, 72
3091
- };
3092
-
3093
- const unsigned char
3094
- GraphQLParserImpl::yyr1_[] =
3095
- {
3096
- 0, 38, 39, 40, 40, 40, 40, 40, 40, 40,
3097
- 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
3098
- 40, 41, 41, 42, 42, 43, 44, 44, 45, 45,
3099
- 45, 46, 46, 46, 46, 46, 46, 46, 46, 46,
3100
- 47, 47, 47, 47, 47, 48, 48, 48, 49, 50,
3101
- 50, 51, 52, 53, 53, 54, 55, 56, 56, 57,
3102
- 57, 58, 58, 58, 59, 59, 60, 61, 61, 62,
3103
- 62, 63, 64, 65, 65, 66, 67, 68, 68, 68,
3104
- 68, 68, 68, 68, 68, 68, 69, 70, 71, 72,
3105
- 72, 72, 72, 72, 72, 72, 72, 73, 73, 74,
3106
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
3107
- 75, 75, 75, 75, 75, 75, 76, 76, 77, 77,
3108
- 78, 78, 79, 79, 80, 80, 81, 81, 82, 83,
3109
- 83, 84, 84, 85, 86, 87, 87, 88, 88, 89,
3110
- 90, 90, 90, 91, 92, 93, 93, 94, 95, 95,
3111
- 96, 97, 98, 99, 99, 100, 100, 101, 102, 102,
3112
- 103, 103, 104, 105, 105, 106, 107, 108, 109, 109,
3113
- 110, 111, 112, 112, 113, 114, 115, 116, 116
3114
- };
3115
-
3116
- const unsigned char
3117
- GraphQLParserImpl::yyr2_[] =
3118
- {
3119
- 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
3120
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3121
- 1, 1, 1, 0, 1, 1, 1, 2, 1, 1,
3122
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3123
- 1, 3, 4, 4, 5, 1, 1, 1, 3, 1,
3124
- 2, 1, 4, 0, 1, 2, 3, 0, 1, 1,
3125
- 2, 1, 1, 1, 4, 6, 3, 0, 1, 1,
3126
- 2, 3, 3, 5, 3, 6, 1, 1, 1, 1,
3127
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3128
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3129
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3130
- 1, 1, 1, 1, 1, 1, 2, 3, 1, 2,
3131
- 2, 3, 1, 2, 2, 3, 1, 2, 3, 2,
3132
- 3, 1, 2, 3, 1, 0, 1, 1, 2, 3,
3133
- 1, 1, 1, 1, 3, 2, 2, 5, 1, 2,
3134
- 3, 3, 7, 0, 2, 1, 2, 5, 1, 2,
3135
- 0, 1, 3, 1, 2, 5, 6, 5, 1, 3,
3136
- 6, 2, 1, 2, 6, 2, 6, 1, 3
3137
- };
3138
-
3139
-
3140
-
3141
- // YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
3142
- // First, the terminals, then, starting at \a yyntokens_, nonterminals.
3143
- const char*
3144
- const GraphQLParserImpl::yytname_[] =
3145
- {
3146
- "EOF", "error", "$undefined", "\"directive\"", "\"enum\"", "\"extend\"",
3147
- "\"false\"", "\"fragment\"", "\"implements\"", "\"input\"",
3148
- "\"interface\"", "\"mutation\"", "\"null\"", "\"query\"", "\"on\"",
3149
- "\"scalar\"", "\"schema\"", "\"subscription\"", "\"true\"", "\"type\"",
3150
- "\"union\"", "\"!\"", "\"(\"", "\")\"", "\"...\"", "\":\"", "\"=\"",
3151
- "\"@\"", "\"[\"", "\"]\"", "\"{\"", "\"|\"", "\"}\"", "VARIABLE",
3152
- "INTEGER", "FLOAT", "STRING", "IDENTIFIER", "$accept", "start",
3153
- "fragment_name", "name", "name_opt", "document", "definition_list",
3154
- "definition", "schema_gate", "operation_definition", "operation_type",
3155
- "variable_definitions", "variable_definition_list", "variable",
3156
- "variable_definition", "default_value_opt", "default_value",
3157
- "selection_set", "selection_set_opt", "selection_list", "selection",
3158
- "field", "arguments", "arguments_opt", "argument_list", "argument",
3159
- "fragment_spread", "inline_fragment", "fragment_definition",
3160
- "type_condition", "value", "int_value", "float_value", "string_value",
3161
- "value_const", "boolean_value", "null_value", "enum_value", "list_value",
3162
- "value_list", "list_value_const", "value_const_list", "object_value",
3163
- "object_field_list", "object_field", "object_value_const",
3164
- "object_field_const_list", "object_field_const", "directives",
3165
- "directives_opt", "directive_list", "directive", "type", "type_name",
3166
- "list_type", "non_null_type", "schema_definition",
3167
- "operation_type_definition_list", "operation_type_definition",
3168
- "scalar_type_definition", "object_type_definition",
3169
- "implements_interfaces_opt", "type_name_list", "field_definition",
3170
- "field_definition_list", "arguments_definition_opt",
3171
- "arguments_definition", "input_value_definition_list",
3172
- "input_value_definition", "interface_type_definition",
3173
- "union_type_definition", "union_members", "enum_type_definition",
3174
- "enum_value_definition", "enum_value_definition_list",
3175
- "input_object_type_definition", "type_extension_definition",
3176
- "directive_definition", "directive_locations", YY_NULLPTR
3177
- };
3178
-
3179
- #if YYDEBUG
3180
- const unsigned short int
3181
- GraphQLParserImpl::yyrline_[] =
3182
- {
3183
- 0, 298, 298, 303, 304, 305, 306, 307, 308, 309,
3184
- 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
3185
- 320, 323, 324, 328, 329, 334, 337, 338, 341, 342,
3186
- 343, 355, 356, 357, 358, 359, 360, 361, 362, 363,
3187
- 369, 370, 371, 372, 373, 376, 377, 378, 382, 386,
3188
- 387, 390, 394, 398, 399, 402, 406, 410, 411, 413,
3189
- 414, 417, 418, 419, 422, 423, 426, 429, 430, 433,
3190
- 434, 437, 442, 446, 447, 451, 454, 458, 459, 460,
3191
- 461, 462, 463, 464, 465, 466, 469, 472, 475, 478,
3192
- 479, 480, 481, 482, 483, 484, 485, 488, 489, 492,
3193
- 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
3194
- 505, 506, 507, 508, 509, 510, 517, 518, 521, 522,
3195
- 526, 527, 531, 532, 537, 538, 542, 543, 546, 550,
3196
- 551, 555, 556, 559, 564, 567, 568, 571, 572, 575,
3197
- 580, 581, 582, 585, 588, 591, 592, 597, 601, 602,
3198
- 606, 609, 612, 615, 616, 619, 620, 623, 627, 628,
3199
- 631, 632, 635, 638, 639, 642, 644, 647, 650, 651,
3200
- 654, 657, 661, 662, 665, 668, 671, 675, 676
3201
- };
3202
-
3203
- // Print the state stack on the debug stream.
3204
- void
3205
- GraphQLParserImpl::yystack_print_ ()
3206
- {
3207
- *yycdebug_ << "Stack now";
3208
- for (stack_type::const_iterator
3209
- i = yystack_.begin (),
3210
- i_end = yystack_.end ();
3211
- i != i_end; ++i)
3212
- *yycdebug_ << ' ' << i->state;
3213
- *yycdebug_ << '\n';
3214
- }
3215
-
3216
- // Report on the debug stream that the rule \a yyrule is going to be reduced.
3217
- void
3218
- GraphQLParserImpl::yy_reduce_print_ (int yyrule)
3219
- {
3220
- unsigned yylno = yyrline_[yyrule];
3221
- int yynrhs = yyr2_[yyrule];
3222
- // Print the symbols being reduced, and their result.
3223
- *yycdebug_ << "Reducing stack by rule " << yyrule - 1
3224
- << " (line " << yylno << "):\n";
3225
- // The symbols being reduced.
3226
- for (int yyi = 0; yyi < yynrhs; yyi++)
3227
- YY_SYMBOL_PRINT (" $" << yyi + 1 << " =",
3228
- yystack_[(yynrhs) - (yyi + 1)]);
3229
- }
3230
- #endif // YYDEBUG
3231
-
3232
- // Symbol number corresponding to token number t.
3233
- GraphQLParserImpl::token_number_type
3234
- GraphQLParserImpl::yytranslate_ (int t)
3235
- {
3236
- static
3237
- const token_number_type
3238
- translate_table[] =
3239
- {
3240
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3241
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3242
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3243
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3244
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3245
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3246
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3247
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3248
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3249
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3250
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3251
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3252
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3253
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3254
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3255
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3256
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3257
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3258
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3259
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3260
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3261
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3262
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3263
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3264
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3265
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
3266
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3267
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3268
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
3269
- 35, 36, 37
3270
- };
3271
- const unsigned user_token_number_max_ = 292;
3272
- const token_number_type undef_token_ = 2;
3273
-
3274
- if (static_cast<int> (t) <= yyeof_)
3275
- return yyeof_;
3276
- else if (static_cast<unsigned> (t) <= user_token_number_max_)
3277
- return translate_table[t];
3278
- else
3279
- return undef_token_;
3280
- }
3281
-
3282
-
3283
- } // yy
3284
- #line 3285 "parser.tab.cpp" // lalr1.cc:1163
3285
- #line 679 "parser.ypp" // lalr1.cc:1164
3286
-
3287
-
3288
- void yy::GraphQLParserImpl::error(const yy::location &loc, const std::string &str) {
3289
- std::ostringstream out;
3290
- out << loc << ": " << str;
3291
- if (outError) {
3292
- *outError = strdup(out.str().c_str());
3293
- }
3294
- }
3295
-
3296
- /* Workaround for syntax_error ctor being marked inline, which causes link
3297
- errors if used from lexer.lpp. */
3298
- yy::GraphQLParserImpl::syntax_error make_error(const yy::location &loc, const std::string &str) {
3299
- return yy::GraphQLParserImpl::syntax_error(loc, str);
3300
- }