File tree Expand file tree Collapse file tree 1 file changed +20
-2
lines changed Expand file tree Collapse file tree 1 file changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -68,6 +68,24 @@ Example_param :
68
68
- C_param
69
69
- D
70
70
71
+ A grammar production may specify that certain expansions are not permitted by
72
+ using the phrase "but not" and then indicating the expansions to be excluded.
73
+
74
+ For example, the production:
75
+
76
+ SafeName : Name but not SevenCarlinWords
77
+
78
+ means that the nonterminal {SafeName} may be replaced by any sequence of
79
+ characters that could replace {Name} provided that the same sequence of
80
+ characters could not replace {SevenCarlinWords}.
81
+
82
+ A grammar may also list a number of restrictions after "but not" seperated
83
+ by "or".
84
+
85
+ For example:
86
+
87
+ NonBooleanName : Name but not ` true ` or ` false `
88
+
71
89
72
90
## Ignored Source
73
91
@@ -247,7 +265,7 @@ InlineFragment : ... on TypeCondition Directives? SelectionSet
247
265
248
266
FragmentDefinition : fragment FragmentName on TypeCondition Directives? SelectionSet
249
267
250
- FragmentName : [ lookahead ! on ] Name
268
+ FragmentName : Name but not ` on `
251
269
252
270
TypeCondition : TypeName
253
271
@@ -271,7 +289,7 @@ BooleanValue :
271
289
- true
272
290
- false
273
291
274
- EnumValue : Name
292
+ EnumValue : Name but not ` true ` , ` false ` or ` null `
275
293
276
294
277
295
#### Array Value
You can’t perform that action at this time.
0 commit comments