Skip to content

Commit ff75fa7

Browse files
committed
[Syntax] Roughly categorize unimpemented productions in Status.md
1 parent c8bb2b8 commit ff75fa7

File tree

1 file changed

+125
-114
lines changed

1 file changed

+125
-114
lines changed

lib/Syntax/Status.md

Lines changed: 125 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,15 @@ Include the following in each entry:
115115
- metatype-type
116116
- `MetatypeTypeSyntax`
117117

118+
- tuple-type
119+
- `TupleTypeSyntax`
120+
121+
- tuple-type-element
122+
- `TupleTypeElementSyntax`
123+
124+
- tuple-type-element-list
125+
- `TupleTypeElementListSyntax`
126+
118127
### Type Attributes
119128

120129
- attribute
@@ -191,161 +200,163 @@ Include the following in each entry:
191200

192201
## Unrepresented Grammar Productions
193202

194-
- argument-names
203+
These are categorized somewhat by difficulty and priority.
204+
205+
### Easy
206+
195207
- array-literal
196208
- array-literal-items
197209
- as-pattern
198-
- availability-argument
199-
- availability-arguments
200-
- availability-condition
201-
- binary-expression
202-
- binary-expressions
203-
- binary-operator
204-
- branch-statement
205-
- capture-list
206-
- capture-list-item
207-
- capture-list-items
208-
- capture-specifier
209210
- case-condition
210-
- case-item-list
211211
- case-label
212-
- catch-clause
213-
- catch-clauses
214-
- class-declaration
215-
- closure-expression
216-
- closure-parameter
217-
- closure-parameter-clause
218-
- closure-parameter-list
219-
- closure-signature
220-
- compilation-condition
221-
- compiler-control-statement
222-
- condition
223-
- condition-list
224-
- conditional-compilation-block
225-
- conditional-operator
226-
- constant-declaration
227-
- declaration-modifier
228212
- declaration-modifiers
229-
- defer-statement
230-
- deinitializer-declaration
231-
- dictionary-literal
232-
- dictionary-literal-item
233-
- dictionary-literal-items
234-
- didSet-clause
235-
- do-statement
213+
- declaration-modifier
236214
- dynamic-type-expression
237-
- else-clause
238-
- else-directive-clause
239-
- elseif-directive-clause
240-
- elseif-directive-clauses
241-
- enum-case-pattern
242-
- enum-declaration
243-
- explicit-member-expression
244-
- expression-list
245-
- expression-pattern
246-
- extension-declaration
247-
- extension-members
248215
- floating-point-literal
249-
- for-in-statement
250216
- forced-value-expression
251-
- function-body
252-
- function-declaration
253-
- function-result
254-
- function-signature
255-
- getter-clause
256-
- getter-keyword-clause
257-
- getter-setter-block
258-
- getter-setter-keyword-block
259-
- guard-statement
260217
- identifier-list
261-
- if-directive-clause
262-
- if-statement
263218
- implicit-member-expression
264-
- import-declaration
265219
- import-path
266220
- in-out-expression
267-
- infix-operator-declaration
268-
- infix-operator-group
269-
- initializer-declaration
270-
- initializer-head
271-
- interpolated-string-literal
272221
- interpolated-text
273222
- interpolated-text-item
274223
- is-pattern
275224
- key-path-expression
276225
- line-control-statement
277-
- operator-declaration
278-
- optional-binding-condition
279226
- optional-chaining-expression
280227
- optional-pattern
281-
- parameter
282-
- parameter-clause
283-
- parameter-list
284228
- parenthesized-expression
285-
- pattern
286-
- pattern-initializer
287-
- pattern-initializer-list
288229
- platform-condition
289230
- platform-version
290-
- playground-literal
291231
- postfix-operator-declaration
292232
- precedence-group-assignment
293233
- precedence-group-associativity
294-
- precedence-group-attribute
295-
- precedence-group-attributes
296-
- precedence-group-declaration
297234
- precedence-group-names
298-
- precedence-group-relation
299-
- prefix-expression
300-
- prefix-operator
301-
- prefix-operator-declaration
302-
- primary-expression
303-
- protocol-associated-type-declaration
304-
- protocol-composition-type
305-
- protocol-declaration
306-
- repeat-while-statement
307-
- selector-expression
308-
- setter-clause
309-
- setter-keyword-clause
310-
- setter-name
311235
- statement-label
312236
- static-string-literal
313-
- string-literal
314-
- subscript-declaration
315237
- swift-version
316-
- switch-case
317-
- switch-cases
318-
- switch-statement
319238
- throw-statement
320-
- tuple-element
321-
- tuple-element-list
322-
- tuple-expression
323-
- tuple-pattern
324-
- tuple-pattern-element
325-
- tuple-pattern-element-list
326-
- tuple-type
327-
- tuple-type-element
328-
- tuple-type-element-list
329-
- type-casting-operator
330-
- type-casting-pattern
331239
- value-binding-pattern
332-
- variable-declaration
333240
- where-clause
334-
- where-expression
241+
- dictionary-literal
242+
- dictionary-literal-items
243+
- dictionary-literal-item
244+
- capture-list
245+
- capture-list-items
246+
- capture-list-item
247+
- defer-statement
248+
249+
### Medium
250+
251+
- else-directive-clause
252+
- elseif-directive-clauses
253+
- elseif-directive-clause
254+
- precedence-group-declaration
255+
- precedence-group-relation
256+
- expression-list
257+
- availability-condition
258+
- availability-arguments
259+
- availability-argument
260+
- switch-cases
261+
- switch-case
262+
- constant-declaration
263+
- catch-clauses
264+
- catch-clause
265+
- variable-declaration
266+
- do-statement
267+
- for-in-statement
268+
- guard-statement
269+
- case-item-list
270+
- import-declaration
271+
- if-directive-clause
272+
- if-statement
273+
- else-clause
274+
- protocol-associated-type-declaration
275+
- repeat-while-statement
335276
- while-statement
277+
- tuple-expression
278+
- tuple-element-list
279+
- tuple-element
280+
- tuple-pattern
281+
- tuple-pattern-element-list
282+
- tuple-pattern-element
283+
- switch-statement
284+
- explicit-member-expression
285+
- optional-binding-condition
286+
- operator-declaration
287+
- selector-expression
288+
- protocol-composition-type
289+
- conditional-operator
290+
- deinitializer-declaration
291+
- didSet-clause
336292
- willSet-clause
337-
- willSet-didSet-block
293+
- pattern-initializer-list
294+
- pattern-initializer
295+
- prefix-expression
296+
- prefix-operator-declaration
297+
- infix-operator-declaration
298+
- infix-operator-group
299+
- binary-expression
300+
301+
### Hard
302+
303+
- protocol-declaration
304+
- closure-expression
305+
- closure-signature
306+
- closure-parameter-clause
307+
- closure-parameter-list
308+
- closure-parameter
309+
- extension-declaration
310+
- enum-declaration
311+
- class-declaration
312+
- getter-setter-block
313+
- getter-setter-keyword-block
314+
- getter-keyword-clause
315+
- getter-clause
316+
- setter-keyword-clause
317+
- setter-clause
318+
- setter-name
319+
- subscript-declaration
320+
- function-declaration
321+
- function-body
322+
- function-result
323+
- function-signature
324+
- parameter-clause
325+
- parameter-list
326+
- parameter
327+
- enum-case-pattern
328+
- initializer-declaration
329+
- initializer-head
330+
- interpolated-string-literal
331+
- conditional-compilation-block
338332

339333
## Trivial and Intermediate Grammar Productions
340334

335+
- binary-expressions
336+
- binary-operator
337+
- compilation-condition
338+
- capture-specifier
339+
- precedence-group-attributes
340+
- precedence-group-attribute
341+
- prefix-operator
342+
- type-casting-operator
343+
- willSet-didSet-block
341344
- architecture
345+
- string-literal
346+
- argument-names
342347
- array-literal-item
348+
- type-casting-pattern
343349
- assignment-operator
350+
- expression-pattern
344351
- binary-digit
345352
- binary-literal-character
346353
- binary-literal-characters
354+
- branch-statement
347355
- class-member
348356
- class-requirement
357+
- condition
358+
- condition-list
359+
- compiler-control-statement
349360
- control-transfer-statement
350361
- decimal-digit
351362
- decimal-digits
@@ -375,6 +386,7 @@ Include the following in each entry:
375386
- identifier-characters
376387
- identifier-head
377388
- if-directive
389+
- where-expression
378390
- implicit-parameter-name
379391
- initializer
380392
- initializer-body
@@ -394,6 +406,7 @@ Include the following in each entry:
394406
- operator-character
395407
- operator-characters
396408
- operator-head
409+
- pattern
397410
- postfix-expression
398411
- postfix-operator
399412
- postfix-self-expression
@@ -402,6 +415,7 @@ Include the following in each entry:
402415
- protocol-member
403416
- protocol-member-declaration
404417
- protocol-members
418+
- extension-members
405419
- protocol-method-declaration
406420
- protocol-property-declaration
407421
- protocol-subscript-declaration
@@ -413,6 +427,7 @@ Include the following in each entry:
413427
- raw-value-style-enum-case
414428
- raw-value-style-enum-case-clause
415429
- raw-value-style-enum-case-list
430+
- playground-literal
416431
- raw-value-style-enum-member
417432
- raw-value-style-enum-members
418433
- requirement
@@ -442,9 +457,5 @@ Include the following in each entry:
442457
- variable-declaration-head
443458
- wildcard-expression
444459
- wildcard-pattern
445-
446-
## Intermediate Grammar Productions
447-
448-
These productions don't need to be represented directly in a class hierarchy.
449-
460+
- primary-expression
450461
- generic-argument

0 commit comments

Comments
 (0)