Skip to content

Commit 85ee89a

Browse files
author
Robin Kruppe
committed
Redo PR rust-lang#24811 properly
Transplant the grammar-related changes to grammar.md, and remove all grammar talk from reference.md
1 parent 0d8309e commit 85ee89a

File tree

2 files changed

+9
-21
lines changed

2 files changed

+9
-21
lines changed

src/doc/grammar.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,16 @@ explicit codepoint lists. [^inputformat]
9696
## Special Unicode Productions
9797

9898
The following productions in the Rust grammar are defined in terms of Unicode
99-
properties: `ident`, `non_null`, `non_star`, `non_eol`, `non_slash_or_star`,
100-
`non_single_quote` and `non_double_quote`.
99+
properties: `ident`, `non_null`, `non_eol`, `non_single_quote` and
100+
`non_double_quote`.
101101

102102
### Identifiers
103103

104-
The `ident` production is any nonempty Unicode string of the following form:
104+
The `ident` production is any nonempty Unicode[^non_ascii_idents] string of
105+
the following form:
106+
107+
[^non_ascii_idents]: Non-ASCII characters in identifiers are currently feature
108+
gated. This is expected to improve soon.
105109

106110
- The first character has property `XID_start`
107111
- The remaining characters have property `XID_continue`
@@ -118,8 +122,6 @@ Some productions are defined by exclusion of particular Unicode characters:
118122

119123
- `non_null` is any single Unicode character aside from `U+0000` (null)
120124
- `non_eol` is `non_null` restricted to exclude `U+000A` (`'\n'`)
121-
- `non_star` is `non_null` restricted to exclude `U+002A` (`*`)
122-
- `non_slash_or_star` is `non_null` restricted to exclude `U+002F` (`/`) and `U+002A` (`*`)
123125
- `non_single_quote` is `non_null` restricted to exclude `U+0027` (`'`)
124126
- `non_double_quote` is `non_null` restricted to exclude `U+0022` (`"`)
125127

src/doc/reference.md

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,9 @@ explicit code point lists. [^inputformat]
6565
provided to the grammar verifier, restricted to ASCII range, when verifying the
6666
grammar in this document.
6767

68-
## Special Unicode Productions
68+
## Identifiers
6969

70-
The following productions in the Rust grammar are defined in terms of Unicode
71-
properties: `ident`, `non_null`, `non_eol`, `non_single_quote` and `non_double_quote`.
72-
73-
### Identifiers
74-
75-
The `ident` production is any nonempty Unicode[^non_ascii_idents] string of the following form:
70+
An identifier is any nonempty Unicode[^non_ascii_idents] string of the following form:
7671

7772
[^non_ascii_idents]: Non-ASCII characters in identifiers are currently feature
7873
gated. This is expected to improve soon.
@@ -86,15 +81,6 @@ that does _not_ occur in the set of [keywords](#keywords).
8681
> character ranges used to form the more familiar C and Java language-family
8782
> identifiers.
8883
89-
### Delimiter-restricted productions
90-
91-
Some productions are defined by exclusion of particular Unicode characters:
92-
93-
- `non_null` is any single Unicode character aside from `U+0000` (null)
94-
- `non_eol` is `non_null` restricted to exclude `U+000A` (`'\n'`)
95-
- `non_single_quote` is `non_null` restricted to exclude `U+0027` (`'`)
96-
- `non_double_quote` is `non_null` restricted to exclude `U+0022` (`"`)
97-
9884
## Comments
9985

10086
Comments in Rust code follow the general C++ style of line and block-comment

0 commit comments

Comments
 (0)