From Jason Turner

[gram.stmt]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp8btfc92o/{from.md → to.md} +15 -21
tmp/tmp8btfc92o/{from.md → to.md} RENAMED
@@ -8,10 +8,18 @@ statement:
8
  attribute-specifier-seqₒₚₜ selection-statement
9
  attribute-specifier-seqₒₚₜ iteration-statement
10
  attribute-specifier-seqₒₚₜ jump-statement
11
  declaration-statement
12
  attribute-specifier-seqₒₚₜ try-block
 
 
 
 
 
 
 
 
13
  ```
14
 
15
  ``` bnf
16
  labeled-statement:
17
  attribute-specifier-seqₒₚₜ identifier ':' statement
@@ -35,53 +43,39 @@ statement-seq:
35
  statement-seq statement
36
  ```
37
 
38
  ``` bnf
39
  selection-statement:
40
- 'if (' condition ')' statement
41
- 'if (' condition ')' statement 'else' statement
42
- 'switch (' condition ')' statement
43
- ```
44
-
45
- ``` bnf
46
- condition:
47
- expression
48
- attribute-specifier-seqₒₚₜ decl-specifier-seq declarator '=' initializer-clause
49
- attribute-specifier-seqₒₚₜ decl-specifier-seq declarator braced-init-list
50
  ```
51
 
52
  ``` bnf
53
  iteration-statement:
54
  'while (' condition ')' statement
55
  'do' statement 'while (' expression ') ;'
56
- 'for (' for-init-statement conditionₒₚₜ ';' expressionₒₚₜ ')' statement
57
  'for (' for-range-declaration ':' for-range-initializer ')' statement
58
  ```
59
 
60
- ``` bnf
61
- for-init-statement:
62
- expression-statement
63
- simple-declaration
64
- ```
65
-
66
  ``` bnf
67
  for-range-declaration:
68
  attribute-specifier-seqₒₚₜ decl-specifier-seq declarator
 
69
  ```
70
 
71
  ``` bnf
72
  for-range-initializer:
73
- expression
74
- braced-init-list
75
  ```
76
 
77
  ``` bnf
78
  jump-statement:
79
  'break ;'
80
  'continue ;'
81
- 'return' expressionₒₚₜ ';'
82
- 'return' braced-init-list ';'
83
  'goto' identifier ';'
84
  ```
85
 
86
  ``` bnf
87
  declaration-statement:
 
8
  attribute-specifier-seqₒₚₜ selection-statement
9
  attribute-specifier-seqₒₚₜ iteration-statement
10
  attribute-specifier-seqₒₚₜ jump-statement
11
  declaration-statement
12
  attribute-specifier-seqₒₚₜ try-block
13
+
14
+ init-statement:
15
+ expression-statement
16
+ simple-declaration
17
+
18
+ condition:
19
+ expression
20
+ attribute-specifier-seqₒₚₜ decl-specifier-seq declarator brace-or-equal-initializer
21
  ```
22
 
23
  ``` bnf
24
  labeled-statement:
25
  attribute-specifier-seqₒₚₜ identifier ':' statement
 
43
  statement-seq statement
44
  ```
45
 
46
  ``` bnf
47
  selection-statement:
48
+ 'if constexprₒₚₜ (' init-statementₒₚₜ condition ')' statement
49
+ 'if constexprₒₚₜ (' init-statementₒₚₜ condition ')' statement 'else' statement
50
+ 'switch (' init-statementₒₚₜ condition ')' statement
 
 
 
 
 
 
 
51
  ```
52
 
53
  ``` bnf
54
  iteration-statement:
55
  'while (' condition ')' statement
56
  'do' statement 'while (' expression ') ;'
57
+ 'for (' init-statement conditionₒₚₜ ';' expressionₒₚₜ ')' statement
58
  'for (' for-range-declaration ':' for-range-initializer ')' statement
59
  ```
60
 
 
 
 
 
 
 
61
  ``` bnf
62
  for-range-declaration:
63
  attribute-specifier-seqₒₚₜ decl-specifier-seq declarator
64
+ attribute-specifier-seqₒₚₜ decl-specifier-seq ref-qualifierₒₚₜ '[' identifier-list ']'
65
  ```
66
 
67
  ``` bnf
68
  for-range-initializer:
69
+ expr-or-braced-init-list
 
70
  ```
71
 
72
  ``` bnf
73
  jump-statement:
74
  'break ;'
75
  'continue ;'
76
+ 'return' expr-or-braced-init-listₒₚₜ ';'
 
77
  'goto' identifier ';'
78
  ```
79
 
80
  ``` bnf
81
  declaration-statement: