Skip to content

Commit a3e7883

Browse files
committed
Merge pull request #522 from stbergmann/space-after-opt
[gram] Fix lack of space after [opt] in some grammar productions.
2 parents ed874b4 + ab47599 commit a3e7883

14 files changed

+123
-123
lines changed

source/classes.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
\begin{bnf}
3232
\nontermdef{class-specifier}\br
33-
class-head \terminal{\{} member-specification\opt \terminal{\}}
33+
class-head \terminal{\{} member-specification\opt{} \terminal{\}}
3434
\end{bnf}
3535

3636
\begin{bnf}
@@ -453,7 +453,7 @@
453453

454454
\begin{bnf}
455455
\nontermdef{member-declaration}\br
456-
attribute-specifier-seq\opt decl-specifier-seq\opt member-declarator-list\opt \terminal{;}\br
456+
attribute-specifier-seq\opt decl-specifier-seq\opt member-declarator-list\opt{} \terminal{;}\br
457457
function-definition\br
458458
using-declaration\br
459459
static_assert-declaration\br
@@ -472,7 +472,7 @@
472472
\nontermdef{member-declarator}\br
473473
declarator virt-specifier-seq\opt pure-specifier\opt\br
474474
declarator brace-or-equal-initializer\opt\br
475-
identifier\opt attribute-specifier-seq\opt \terminal{:} constant-expression
475+
identifier\opt attribute-specifier-seq\opt{} \terminal{:} constant-expression
476476
\end{bnf}
477477

478478
\begin{bnf}
@@ -1398,7 +1398,7 @@
13981398
A \grammarterm{member-declarator} of the form
13991399

14001400
\begin{ncbnftab}
1401-
identifier\opt attribute-specifier-seq\opt \terminal{:} constant-expression
1401+
identifier\opt attribute-specifier-seq\opt{} \terminal{:} constant-expression
14021402
\end{ncbnftab}
14031403

14041404
\indextext{\idxcode{:}!field declaration}%

source/declarations.tex

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,12 @@
5050

5151
\begin{bnf}
5252
\nontermdef{alias-declaration}\br
53-
\terminal{using} identifier attribute-specifier-seq\opt \terminal{=} type-id \terminal{;}
53+
\terminal{using} identifier attribute-specifier-seq\opt{} \terminal{=} type-id \terminal{;}
5454
\end{bnf}
5555

5656
\begin{bnf}
5757
\nontermdef{simple-declaration}\br
58-
decl-specifier-seq init-declarator-list\opt \terminal{;}\br
58+
decl-specifier-seq init-declarator-list\opt{} \terminal{;}\br
5959
attribute-specifier-seq decl-specifier-seq init-declarator-list \terminal{;}
6060
\end{bnf}
6161

@@ -91,7 +91,7 @@
9191
\grammarterm{nodeclspec-function-declaration} of the form
9292

9393
\begin{ncsimplebnf}
94-
attribute-specifier-seq\opt decl-specifier-seq\opt init-declarator-list\opt \terminal{;}
94+
attribute-specifier-seq\opt decl-specifier-seq\opt init-declarator-list\opt{} \terminal{;}
9595
\end{ncsimplebnf}
9696

9797
is divided into three parts.
@@ -1786,7 +1786,7 @@
17861786

17871787
\begin{bnf}
17881788
\nontermdef{enum-specifier}\br
1789-
enum-head \terminal{\{} enumerator-list\opt \terminal{\}}\br
1789+
enum-head \terminal{\{} enumerator-list\opt{} \terminal{\}}\br
17901790
enum-head \terminal{\{} enumerator-list \terminal{, \}}
17911791
\end{bnf}
17921792

@@ -1799,7 +1799,7 @@
17991799

18001800
\begin{bnf}
18011801
\nontermdef{opaque-enum-declaration}\br
1802-
enum-key attribute-specifier-seq\opt identifier enum-base\opt \terminal{;}
1802+
enum-key attribute-specifier-seq\opt identifier enum-base\opt{} \terminal{;}
18031803
\end{bnf}
18041804

18051805
\begin{bnf}
@@ -2138,7 +2138,7 @@
21382138

21392139
\begin{bnf}
21402140
\nontermdef{unnamed-namespace-definition}\br
2141-
\terminal{inline\opt} \terminal{namespace} attribute-specifier-seq\opt \terminal{\{} namespace-body \terminal{\}}
2141+
\terminal{inline\opt} \terminal{namespace} attribute-specifier-seq\opt{} \terminal{\{} namespace-body \terminal{\}}
21422142
\end{bnf}
21432143

21442144
\begin{bnf}
@@ -2291,7 +2291,7 @@
22912291
replaced by
22922292

22932293
\begin{ncsimplebnf}
2294-
\terminal{inline}\opt \terminal{namespace} \uniquens{} \terminal{\{ /* empty body */ \}}\br
2294+
\terminal{inline}\opt{} \terminal{namespace} \uniquens{} \terminal{\{ /* empty body */ \}}\br
22952295
\terminal{using namespace} \uniquens{} \terminal{;}\br
22962296
\terminal{namespace} \uniquens{} \terminal{\{} namespace-body \terminal{\}}
22972297
\end{ncsimplebnf}
@@ -2954,7 +2954,7 @@
29542954

29552955
\begin{bnf}
29562956
\nontermdef{using-directive}\br
2957-
attribute-specifier-seq\opt \terminal{using namespace} nested-name-specifier\opt namespace-name \terminal{;}
2957+
attribute-specifier-seq\opt{} \terminal{using namespace} nested-name-specifier\opt namespace-name \terminal{;}
29582958
\end{bnf}
29592959

29602960
\pnum
@@ -3207,7 +3207,7 @@
32073207
%
32083208
\begin{bnf}
32093209
\nontermdef{linkage-specification}\br
3210-
\terminal{extern} string-literal \terminal{\{} declaration-seq\opt \terminal{\}}\br
3210+
\terminal{extern} string-literal \terminal{\{} declaration-seq\opt{} \terminal{\}}\br
32113211
\terminal{extern} string-literal declaration
32123212
\end{bnf}
32133213

@@ -3449,8 +3449,8 @@
34493449

34503450
\begin{bnf}
34513451
\nontermdef{alignment-specifier}\br
3452-
\terminal{alignas (} type-id \terminal{...}\opt \terminal{)}\br
3453-
\terminal{alignas (} constant-expression \terminal{...}\opt \terminal{)}
3452+
\terminal{alignas (} type-id \terminal{...}\opt{} \terminal{)}\br
3453+
\terminal{alignas (} constant-expression \terminal{...}\opt{} \terminal{)}
34543454
\end{bnf}
34553455

34563456
\begin{bnf}
@@ -3484,7 +3484,7 @@
34843484

34853485
\begin{bnf}
34863486
\nontermdef{attribute-argument-clause}\br
3487-
\terminal{(} balanced-token-seq\opt \terminal{)}
3487+
\terminal{(} balanced-token-seq\opt{} \terminal{)}
34883488
\end{bnf}
34893489

34903490
\begin{bnf}
@@ -3495,9 +3495,9 @@
34953495

34963496
\begin{bnf}
34973497
\nontermdef{balanced-token}\br
3498-
\terminal{(} balanced-token-seq\opt \terminal{)}\br
3499-
\terminal{[} balanced-token-seq\opt \terminal{]}\br
3500-
\terminal{\{} balanced-token-seq\opt \terminal{\}}\br
3498+
\terminal{(} balanced-token-seq\opt{} \terminal{)}\br
3499+
\terminal{[} balanced-token-seq\opt{} \terminal{]}\br
3500+
\terminal{\{} balanced-token-seq\opt{} \terminal{\}}\br
35013501
\textnormal{any \grammarterm{token} other than a parenthesis, a bracket, or a brace}
35023502
\end{bnf}
35033503

source/declarators.tex

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@
121121
\nontermdef{noptr-declarator}\br
122122
declarator-id attribute-specifier-seq\opt\br
123123
noptr-declarator parameters-and-qualifiers\br
124-
noptr-declarator \terminal{[} constant-expression\opt \terminal{]} attribute-specifier-seq\opt\br
124+
noptr-declarator \terminal{[} constant-expression\opt{} \terminal{]} attribute-specifier-seq\opt\br
125125
\terminal{(} ptr-declarator \terminal{)}
126126
\end{bnf}
127127

@@ -218,7 +218,7 @@
218218
\begin{bnf}
219219
\nontermdef{noptr-abstract-declarator}\br
220220
noptr-abstract-declarator\opt parameters-and-qualifiers\br
221-
noptr-abstract-declarator\opt \terminal{[} constant-expression\opt{} \terminal{]} attribute-specifier-seq\opt\br
221+
noptr-abstract-declarator\opt{} \terminal{[} constant-expression\opt{} \terminal{]} attribute-specifier-seq\opt\br
222222
\terminal{(} ptr-abstract-declarator \terminal{)}
223223
\end{bnf}
224224

@@ -231,7 +231,7 @@
231231
\begin{bnf}
232232
\nontermdef{noptr-abstract-pack-declarator}\br
233233
noptr-abstract-pack-declarator parameters-and-qualifiers\br
234-
noptr-abstract-pack-declarator \terminal{[} constant-expression\opt\ \terminal{]} attribute-specifier-seq\opt\br
234+
noptr-abstract-pack-declarator \terminal{[} constant-expression\opt{} \terminal{]} attribute-specifier-seq\opt\br
235235
\terminal{...}
236236
\end{bnf}
237237

@@ -579,7 +579,7 @@
579579
has the form
580580

581581
\begin{ncsimplebnf}
582-
\terminal{*} attribute-specifier-seq\opt cv-qualifier-seq\opt \terminal{D1}
582+
\terminal{*} attribute-specifier-seq\opt cv-qualifier-seq\opt{} \terminal{D1}
583583
\end{ncsimplebnf}
584584

585585
and the type of the identifier in the declaration
@@ -693,8 +693,8 @@
693693
has either of the forms
694694

695695
\begin{ncsimplebnf}
696-
\terminal{\&} attribute-specifier-seq\opt \terminal{D1}\br
697-
\terminal{\&\&} attribute-specifier-seq\opt \terminal{D1}
696+
\terminal{\&} attribute-specifier-seq\opt{} \terminal{D1}\br
697+
\terminal{\&\&} attribute-specifier-seq\opt{} \terminal{D1}
698698
\end{ncsimplebnf}
699699

700700
and the type of the identifier in the declaration
@@ -999,7 +999,7 @@
999999
has the form
10001000

10011001
\begin{ncsimplebnf}
1002-
\terminal{D1 [} constant-expression\opt \terminal{]} attribute-specifier-seq\opt
1002+
\terminal{D1 [} constant-expression\opt{} \terminal{]} attribute-specifier-seq\opt
10031003
\end{ncsimplebnf}
10041004

10051005
and the type of the identifier in the declaration
@@ -1376,7 +1376,7 @@
13761376
\indextext{declaration!function}%
13771377
\begin{bnf}
13781378
\nontermdef{parameter-declaration-clause}\br
1379-
parameter-declaration-list\opt \terminal{...}\opt\br
1379+
parameter-declaration-list\opt{} \terminal{...}\opt\br
13801380
parameter-declaration-list \terminal{, ...}
13811381
\end{bnf}
13821382

@@ -1391,7 +1391,7 @@
13911391
attribute-specifier-seq\opt decl-specifier-seq declarator\br
13921392
attribute-specifier-seq\opt decl-specifier-seq declarator \terminal{=} initializer-clause\br
13931393
attribute-specifier-seq\opt decl-specifier-seq abstract-declarator\opt\br
1394-
attribute-specifier-seq\opt decl-specifier-seq abstract-declarator\opt \terminal{=} initializer-clause
1394+
attribute-specifier-seq\opt decl-specifier-seq abstract-declarator\opt{} \terminal{=} initializer-clause
13951395
\end{bnf}
13961396

13971397
The optional \grammarterm{attribute-specifier-seq} in a \grammarterm{parameter-declaration}
@@ -2194,7 +2194,7 @@
21942194
A function definition of the form:
21952195

21962196
\begin{ncbnf}
2197-
attribute-specifier-seq\opt decl-specifier-seq\opt declarator virt-specifier-seq\opt \terminal{ = default ;}
2197+
attribute-specifier-seq\opt decl-specifier-seq\opt declarator virt-specifier-seq\opt{} \terminal{ = default ;}
21982198
\end{ncbnf}
21992199

22002200
is called an \grammarterm{explicitly-defaulted} definition.
@@ -2296,7 +2296,7 @@
22962296
A function definition of the form:
22972297

22982298
\begin{ncbnf}
2299-
attribute-specifier-seq\opt decl-specifier-seq\opt declarator virt-specifier-seq\opt \terminal{ = delete ;}
2299+
attribute-specifier-seq\opt decl-specifier-seq\opt declarator virt-specifier-seq\opt{} \terminal{ = delete ;}
23002300
\end{ncbnf}
23012301

23022302
is called a \term{deleted definition}. A function with a

source/derived.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
\begin{bnf}
3232
\nontermdef{base-specifier}\br
3333
attribute-specifier-seq\opt base-type-specifier\br
34-
attribute-specifier-seq\opt \terminal{virtual} access-specifier\opt base-type-specifier\br
34+
attribute-specifier-seq\opt{} \terminal{virtual} access-specifier\opt base-type-specifier\br
3535
attribute-specifier-seq\opt access-specifier \terminal{virtual}\opt base-type-specifier
3636
\end{bnf}
3737

source/exceptions.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -676,7 +676,7 @@
676676

677677
\begin{bnf}
678678
\nontermdef{dynamic-exception-specification}\br
679-
\terminal{throw (} type-id-list\opt \terminal{)}
679+
\terminal{throw (} type-id-list\opt{} \terminal{)}
680680
\end{bnf}
681681

682682
\begin{bnf}

source/expressions.tex

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,7 @@
588588

589589
\begin{bnf}
590590
\nontermdef{lambda-introducer}\br
591-
\terminal{[} lambda-capture\opt \terminal{]}
591+
\terminal{[} lambda-capture\opt{} \terminal{]}
592592
\end{bnf}
593593

594594
\begin{bnf}
@@ -1261,9 +1261,9 @@
12611261
\nontermdef{postfix-expression}\br
12621262
primary-expression\br
12631263
postfix-expression \terminal{[} expr-or-braced-init-list \terminal{]}\br
1264-
postfix-expression \terminal{(} expression-list\opt \terminal{)}\br
1265-
simple-type-specifier \terminal{(} expression-list\opt \terminal{)}\br
1266-
typename-specifier \terminal{(} expression-list\opt \terminal{)}\br
1264+
postfix-expression \terminal{(} expression-list\opt{} \terminal{)}\br
1265+
simple-type-specifier \terminal{(} expression-list\opt{} \terminal{)}\br
1266+
typename-specifier \terminal{(} expression-list\opt{} \terminal{)}\br
12671267
simple-type-specifier braced-init-list\br
12681268
typename-specifier braced-init-list\br
12691269
postfix-expression \terminal{. template}\opt id-expression\br
@@ -2819,8 +2819,8 @@
28192819

28202820
\begin{bnf}
28212821
\nontermdef{new-expression}\br
2822-
\terminal{::}\opt \terminal{new} new-placement\opt new-type-id new-initializer\opt \br
2823-
\terminal{::}\opt \terminal{new} new-placement\opt \terminal{(} type-id \terminal{)} new-initializer\opt
2822+
\terminal{::}\opt{} \terminal{new} new-placement\opt new-type-id new-initializer\opt \br
2823+
\terminal{::}\opt{} \terminal{new} new-placement\opt{} \terminal{(} type-id \terminal{)} new-initializer\opt
28242824
\end{bnf}
28252825

28262826
\indextext{\idxcode{new}!storage allocation}%
@@ -2849,7 +2849,7 @@
28492849

28502850
\begin{bnf}
28512851
\nontermdef{new-initializer}\br
2852-
\terminal{(} expression-list\opt \terminal{)}\br
2852+
\terminal{(} expression-list\opt{} \terminal{)}\br
28532853
braced-init-list
28542854
\end{bnf}
28552855

@@ -3325,8 +3325,8 @@
33253325

33263326
\begin{bnf}
33273327
\nontermdef{delete-expression}\br
3328-
\terminal{::}\opt \terminal{delete} cast-expression\br
3329-
\terminal{::}\opt \terminal{delete [ ]} cast-expression
3328+
\terminal{::}\opt{} \terminal{delete} cast-expression\br
3329+
\terminal{::}\opt{} \terminal{delete [ ]} cast-expression
33303330
\end{bnf}
33313331

33323332
The first alternative is for non-array objects, and the second is for arrays. Whenever

0 commit comments

Comments
 (0)