identifier → identifier-headidentifier-charactersopt
identifier → `identifier-headidentifier-charactersopt`
identifier → implicit-parameter-name
identifier-list → identifier identifier,identifier-list
identifier-head → Upper- or lowercase letter A through Z
identifier-head → U+00A8, U+00AA, U+00AD, U+00AF, U+00B2–U+00B5, or U+00B7–U+00BA
identifier-head → U+00BC–U+00BE, U+00C0–U+00D6, U+00D8–U+00F6, or U+00F8–U+00FF
identifier-head → U+0100–U+02FF, U+0370–U+167F, U+1681–U+180D, or U+180F–U+1DBF
identifier-head → U+1E00–U+1FFF
identifier-head → U+200B–U+200D, U+202A–U+202E, U+203F–U+2040, U+2054, or U+2060–U+206F
identifier-head → U+2070–U+20CF, U+2100–U+218F, U+2460–U+24FF, or U+2776–U+2793
identifier-head → U+2C00–U+2DFF or U+2E80–U+2FFF
identifier-head → U+3004–U+3007, U+3021–U+302F, U+3031–U+303F, or U+3040–U+D7FF
identifier-head → U+F900–U+FD3D, U+FD40–U+FDCF, U+FDF0–U+FE1F, or U+FE30–U+FE44
identifier-head → U+FE47–U+FFFD
identifier-head → U+10000–U+1FFFD, U+20000–U+2FFFD, U+30000–U+3FFFD, or U+40000–U+4FFFD
identifier-head → U+50000–U+5FFFD, U+60000–U+6FFFD, U+70000–U+7FFFD, or U+80000–U+8FFFD
identifier-head → U+90000–U+9FFFD, U+A0000–U+AFFFD, U+B0000–U+BFFFD, or U+C0000–U+CFFFD
identifier-head → U+D0000–U+DFFFD or U+E0000–U+EFFFD
identifier-character → Digit 0 through 9
identifier-character → U+0300–U+036F, U+1DC0–U+1DFF, U+20D0–U+20FF, or U+FE20–U+FE2F
identifier-character → identifier-head
identifier-characters → identifier-characteridentifier-charactersopt
implicit-parameter-name → $decimal-digits
- 42 // 整型字面量
- 3.14159 // 浮点型字面量
- "Hello, world!" // 文本型字面量
- 1000_000 // 等于 1000000
- 005 // 等于 5
integer-literal → binary-literal
integer-literal → octal-literal
integer-literal → decimal-literal
integer-literal → hexadecimal-literal
binary-literal → 0b
binary-digitbinary-literal-charactersopt
binary-digit → Digit 0 or 1
binary-literal-character → binary-digit
binary-literal-characters → binary-literal-characterbinary-literal-charactersopt
octal-literal → 0o
octal-digitoctal-literal-charactersopt
octal-digit → Digit 0 through 7
octal-literal-character → octal-digit
octal-literal-characters → octal-literal-characteroctal-literal-charactersopt
decimal-literal → decimal-digitdecimal-literal-charactersopt
decimal-digit → Digit 0 through 9
decimal-digits → decimal-digitdecimal-digitsopt
decimal-literal-character → decimal-digit
decimal-literal-characters → decimal-literal-characterdecimal-literal-charactersopt
hexadecimal-literal → 0x
hexadecimal-digithexadecimal-literal-charactersopt
hexadecimal-digit → Digit 0 through 9, a through f, or A through F
hexadecimal-literal-character → hexadecimal-digit
hexadecimal-literal-characters → hexadecimal-literal-characterhexadecimal-literal-charactersopt
浮点型字面量
- 10_000.56 // 等于 10000.56
- 005000.76 // 等于 5000.76
floating-point-literal → decimal-literaldecimal-fractionoptdecimal-exponentopt
floating-point-literal → hexadecimal-literalhexadecimal-fractionopthexadecimal-exponent
decimal-fraction → .
decimal-literal
decimal-exponent → floating-point-esignoptdecimal-literal
hexadecimal-fraction → .
hexadecimal-literalopt
hexadecimal-exponent → floating-point-psignopthexadecimal-literal
floating-point-e → e
E
floating-point-p → p
P
sign → +
-
- "characters"
- "1 2 3"
- "1 2 \(3)"
- "1 2 \(1 + 2)"
- var x = 3; "1 2 \(x)"
string-literal → "
quoted-text"
quoted-text → quoted-text-itemquoted-textopt
quoted-text-item → escaped-character
quoted-text-item → \(
expression)
quoted-text-item → Any Unicode extended grapheme cluster except "
, \
, U+000A, or U+000D
escaped-character → \0
\\
\t
\n
\r
\"
\'
escaped-character → \x
hexadecimal-digithexadecimal-digit
escaped-character → \u
hexadecimal-digithexadecimal-digithexadecimal-digithexadecimal-digit
escaped-character → \U
hexadecimal-digithexadecimal-digithexadecimal-digithexadecimal-digithexadecimal-digithexadecimal-digithexadecimal-digithexadecimal-digit
operator → operator-characteroperatoropt
operator-character → /
=
-
+
!
*
%
<
>
&
|
^
~
.
binary-operator → operator
prefix-operator → operator
postfix-operator → operator