5 > XID_start XID_continue<sup>\*</sup>
6 > | `_` XID_continue<sup>+</sup>
8 An identifier is any nonempty Unicode[^non_ascii_idents] string of the following form:
12 * The first character has property [`XID_start`]
13 * The remaining characters have property [`XID_continue`]
17 * The first character is `_`
18 * The identifier is more than one character, `_` alone is not an identifier
19 * The remaining characters have property [`XID_continue`]
21 that does _not_ occur in the set of [keywords].
23 > **Note**: [`XID_start`] and [`XID_continue`] as character properties cover the
24 > character ranges used to form the more familiar C and Java language-family
29 [`XID_start`]: http://unicode.org/cldr/utility/list-unicodeset.jsp?a=%5B%3AXID_Start%3A%5D&abb=on&g=&i=
30 [`XID_continue`]: http://unicode.org/cldr/utility/list-unicodeset.jsp?a=%5B%3AXID_Continue%3A%5D&abb=on&g=&i=
31 [keywords]: keywords.html
32 [^non_ascii_idents]: Non-ASCII characters in identifiers are currently feature
33 gated. This is expected to improve soon.