From Jason Turner

[gram.dcl]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpwb9zw0wj/{from.md → to.md} +23 -12
tmp/tmpwb9zw0wj/{from.md → to.md} RENAMED
@@ -6,25 +6,35 @@ declaration-seq:
6
  declaration-seq declaration
7
  ```
8
 
9
  ``` bnf
10
  declaration:
 
 
 
 
 
 
11
  block-declaration
12
  nodeclspec-function-declaration
13
  function-definition
14
  template-declaration
15
  deduction-guide
16
- explicit-instantiation
17
- explicit-specialization
18
- export-declaration
19
  linkage-specification
20
  namespace-definition
21
  empty-declaration
22
  attribute-declaration
23
  module-import-declaration
24
  ```
25
 
 
 
 
 
 
 
 
26
  ``` bnf
27
  block-declaration:
28
  simple-declaration
29
  asm-declaration
30
  namespace-alias-definition
@@ -168,15 +178,10 @@ type-name:
168
  ``` bnf
169
  elaborated-type-specifier:
170
  class-key attribute-specifier-seqₒₚₜ nested-name-specifierₒₚₜ identifier
171
  class-key simple-template-id
172
  class-key nested-name-specifier templateₒₚₜ simple-template-id
173
- elaborated-enum-specifier
174
- ```
175
-
176
- ``` bnf
177
- elaborated-enum-specifier:
178
  enum nested-name-specifierₒₚₜ identifier
179
  ```
180
 
181
  ``` bnf
182
  decltype-specifier:
@@ -317,13 +322,13 @@ parameter-declaration-list:
317
  parameter-declaration-list ',' parameter-declaration
318
  ```
319
 
320
  ``` bnf
321
  parameter-declaration:
322
- attribute-specifier-seqₒₚₜ decl-specifier-seq declarator
323
  attribute-specifier-seqₒₚₜ decl-specifier-seq declarator '=' initializer-clause
324
- attribute-specifier-seqₒₚₜ decl-specifier-seq abstract-declaratorₒₚₜ
325
  attribute-specifier-seqₒₚₜ decl-specifier-seq abstract-declaratorₒₚₜ '=' initializer-clause
326
  ```
327
 
328
  ``` bnf
329
  initializer:
@@ -447,11 +452,17 @@ enumerator:
447
  identifier attribute-specifier-seqₒₚₜ
448
  ```
449
 
450
  ``` bnf
451
  using-enum-declaration:
452
- 'using' elaborated-enum-specifier ';'
 
 
 
 
 
 
453
  ```
454
 
455
  ``` bnf
456
  namespace-name:
457
  identifier
@@ -533,11 +544,11 @@ asm-declaration:
533
  ```
534
 
535
  ``` bnf
536
  linkage-specification:
537
  extern string-literal '{' declaration-seqₒₚₜ '}'
538
- extern string-literal declaration
539
  ```
540
 
541
  ``` bnf
542
  attribute-specifier-seq:
543
  attribute-specifier-seqₒₚₜ attribute-specifier
 
6
  declaration-seq declaration
7
  ```
8
 
9
  ``` bnf
10
  declaration:
11
+ name-declaration
12
+ special-declaration
13
+ ```
14
+
15
+ ``` bnf
16
+ name-declaration:
17
  block-declaration
18
  nodeclspec-function-declaration
19
  function-definition
20
  template-declaration
21
  deduction-guide
 
 
 
22
  linkage-specification
23
  namespace-definition
24
  empty-declaration
25
  attribute-declaration
26
  module-import-declaration
27
  ```
28
 
29
+ ``` bnf
30
+ special-declaration:
31
+ explicit-instantiation
32
+ explicit-specialization
33
+ export-declaration
34
+ ```
35
+
36
  ``` bnf
37
  block-declaration:
38
  simple-declaration
39
  asm-declaration
40
  namespace-alias-definition
 
178
  ``` bnf
179
  elaborated-type-specifier:
180
  class-key attribute-specifier-seqₒₚₜ nested-name-specifierₒₚₜ identifier
181
  class-key simple-template-id
182
  class-key nested-name-specifier templateₒₚₜ simple-template-id
 
 
 
 
 
183
  enum nested-name-specifierₒₚₜ identifier
184
  ```
185
 
186
  ``` bnf
187
  decltype-specifier:
 
322
  parameter-declaration-list ',' parameter-declaration
323
  ```
324
 
325
  ``` bnf
326
  parameter-declaration:
327
+ attribute-specifier-seqₒₚₜ thisₒₚₜ decl-specifier-seq declarator
328
  attribute-specifier-seqₒₚₜ decl-specifier-seq declarator '=' initializer-clause
329
+ attribute-specifier-seqₒₚₜ thisₒₚₜ decl-specifier-seq abstract-declaratorₒₚₜ
330
  attribute-specifier-seqₒₚₜ decl-specifier-seq abstract-declaratorₒₚₜ '=' initializer-clause
331
  ```
332
 
333
  ``` bnf
334
  initializer:
 
452
  identifier attribute-specifier-seqₒₚₜ
453
  ```
454
 
455
  ``` bnf
456
  using-enum-declaration:
457
+ using enum using-enum-declarator ';'
458
+ ```
459
+
460
+ ``` bnf
461
+ using-enum-declarator:
462
+ nested-name-specifierₒₚₜ identifier
463
+ nested-name-specifierₒₚₜ simple-template-id
464
  ```
465
 
466
  ``` bnf
467
  namespace-name:
468
  identifier
 
544
  ```
545
 
546
  ``` bnf
547
  linkage-specification:
548
  extern string-literal '{' declaration-seqₒₚₜ '}'
549
+ extern string-literal name-declaration
550
  ```
551
 
552
  ``` bnf
553
  attribute-specifier-seq:
554
  attribute-specifier-seqₒₚₜ attribute-specifier