rails-graphql 0.2.0 → 1.0.0.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
- }