重新调整格式

This commit is contained in:
justaway
2015-06-29 20:36:57 +08:00
parent edca312708
commit a0303ee307

View File

@ -34,11 +34,11 @@ Swift 的“词法结构(*lexical structure*)”描述了能构成该语言
> 标识符语法 > 标识符语法
<a id="identifier"></a> <a id="identifier"></a>
> *标识符* → [*头部标识符*](#identifier_head) [*标识符字符组*](#identifier_characters)<sub>可选</sub> > *标识符* → [*头部标识符*](#identifier_head) [*标识符字符组*](#identifier_characters)<sub>可选</sub>
> *标识符* → \`[*头部标识符*](#identifier_head) [*标识符字符组*](#identifier_characters)<sub>可选</sub>\` > *标识符* → \`[*头部标识符*](#identifier_head) [*标识符字符组*](#identifier_characters)<sub>可选</sub>\`
> *标识符* → [*隐式参数名*](#implicit_parameter_name) > *标识符* → [*隐式参数名*](#implicit_parameter_name)
> *标识符列表* → [*标识符*](#identifier) | [*标识符*](#identifier) **,** [*标识符列表*](#identifier_list) > *标识符列表* → [*标识符*](#identifier) | [*标识符*](#identifier) **,** [*标识符列表*](#identifier_list)
<a id="identifier_head"></a> <a id="identifier_head"></a>
> *头部标识符* → 大写或小写字母 A - Z > *头部标识符* → 大写或小写字母 A - Z
> *头部标识符* → U+00A8, U+00AA, U+00AD, U+00AF, U+00B2U+00B5, or U+00B7U+00BA > *头部标识符* → U+00A8, U+00AA, U+00AD, U+00AF, U+00B2U+00B5, or U+00B7U+00BA
> *头部标识符* → U+00BCU+00BE, U+00C0U+00D6, U+00D8U+00F6, or U+00F8U+00FF > *头部标识符* → U+00BCU+00BE, U+00C0U+00D6, U+00D8U+00F6, or U+00F8U+00FF
@ -57,9 +57,9 @@ Swift 的“词法结构(*lexical structure*)”描述了能构成该语言
> *标识符字符* → 数值 0 - 9 > *标识符字符* → 数值 0 - 9
> *标识符字符* → U+0300U+036F, U+1DC0U+1DFF, U+20D0U+20FF, or U+FE20U+FE2F > *标识符字符* → U+0300U+036F, U+1DC0U+1DFF, U+20D0U+20FF, or U+FE20U+FE2F
> *标识符字符* → [*头部标识符*](#identifier_head) > *标识符字符* → [*头部标识符*](#identifier_head)
<a id="identifier_characters"></a> <a id="identifier_characters"></a>
> *标识符字符组* → [*标识符字符*](#identifier_character) [*标识符字符列表*](#identifier_characters)<sub>可选</sub> > *标识符字符组* → [*标识符字符*](#identifier_character) [*标识符字符列表*](#identifier_characters)<sub>可选</sub>
<a id="implicit_parameter_name></a> <a id="implicit_parameter_name"></a>
> *隐式参数名* → **$** [*十进制数字列表*](#decimal_digits) > *隐式参数名* → **$** [*十进制数字列表*](#decimal_digits)
<a id="keywords"></a> <a id="keywords"></a>
@ -94,10 +94,10 @@ true // 布尔型字面量
当为一个字面量值指定了类型注解的时候,这个注解的类型必须能通过这个字面量值实例化后得到。也就是说,这个类型必须遵守这些 Swift 标准库协议中的一个:整型字面量的`IntegerLiteralConvertible`协议、符点型字面量的`FloatingPointLiteralConvertible`协议、字符串字面量的`StringLiteralConvertible`协议以及布尔型字面量的`BooleanLiteralConvertible`协议。比如,`Int8` 遵守了 `IntegerLiteralConvertible`协议,因此它能在 `let x: Int8 = 42` 这个声明中作为整型字面量 `42` 的类型注解。 当为一个字面量值指定了类型注解的时候,这个注解的类型必须能通过这个字面量值实例化后得到。也就是说,这个类型必须遵守这些 Swift 标准库协议中的一个:整型字面量的`IntegerLiteralConvertible`协议、符点型字面量的`FloatingPointLiteralConvertible`协议、字符串字面量的`StringLiteralConvertible`协议以及布尔型字面量的`BooleanLiteralConvertible`协议。比如,`Int8` 遵守了 `IntegerLiteralConvertible`协议,因此它能在 `let x: Int8 = 42` 这个声明中作为整型字面量 `42` 的类型注解。
> 字面量语法 > 字面量语法
> *字面量* → [*数字型字面量*](#numeric_literal) | [*字符串型字面量*](#string_literal) | [*布尔型字面量*](#boolean_literal) | [*nil型字面量*](#nil_literal) > *字面量* → [*数字型字面量*](#numeric_literal) | [*字符串型字面量*](#string_literal) | [*布尔型字面量*](#boolean_literal) | [*nil型字面量*](#nil_literal)
<a id="numeric_literal"></a> <a id="numeric_literal"></a>
> *数字型字面量* → -<sub>可选</sub>[*整型字面量*](#integer_literal) | -<sub>可选</sub>[*符点型字面量*](#floating_point_literal) > *数字型字面量* → -<sub>可选</sub>[*整型字面量*](#integer_literal) | -<sub>可选</sub>[*符点型字面量*](#floating_point_literal)
> *布尔型字面量* → **true** | **false** > *布尔型字面量* → **true** | **false**
> *nil型字面量* → **nil** > *nil型字面量* → **nil**
### 整型字面量 ### 整型字面量
@ -120,23 +120,23 @@ true // 布尔型字面量
<a id="binary_literal"></a> <a id="binary_literal"></a>
> *二进制字面量* → **0b** [*二进制数字*](#binary_digit) [*二进制字面量字符组*](#binary_literal_characters)<sub>可选</sub> > *二进制字面量* → **0b** [*二进制数字*](#binary_digit) [*二进制字面量字符组*](#binary_literal_characters)<sub>可选</sub>
> *二进制数字* → 数值 0 到 1 > *二进制数字* → 数值 0 到 1
> *二进制字面量字符* → [*二进制数字*](#binary_digit) | _ > *二进制字面量字符* → [*二进制数字*](#binary_digit) | _
> *二进制字面量字符组* → [*二进制字面量字符*](#binary_literal_character) [*二进制字面量字符组*](#binary_literal_characters)<sub>可选</sub> > *二进制字面量字符组* → [*二进制字面量字符*](#binary_literal_character) [*二进制字面量字符组*](#binary_literal_characters)<sub>可选</sub>
<a id="octal_literal></a> <a id="octal_literal"></a>
> *八进制字面量* → **0o** [*八进字数字*](#octal_digit) [*八进制字符列表*](#octal_literal_characters)<sub>可选</sub> > *八进制字面量* → **0o** [*八进字数字*](#octal_digit) [*八进制字符列表*](#octal_literal_characters)<sub>可选</sub>
> *八进字数字* → 数值 0 到 7 > *八进字数字* → 数值 0 到 7
> *八进制字符* → [*八进字数字*](#octal_digit) | _ > *八进制字符* → [*八进字数字*](#octal_digit) | _
> *八进制字符组* → [*八进制字符*](#octal_literal_character) [*八进制字符列表*](#octal_literal_characters)<sub>可选</sub> > *八进制字符组* → [*八进制字符*](#octal_literal_character) [*八进制字符列表*](#octal_literal_characters)<sub>可选</sub>
<a id="decimal_literal"></a> <a id="decimal_literal"></a>
> *十进制字面量* → [*十进制数字*](#decimal_digit) [*十进制字符组*](#decimal_literal_characters)<sub>可选</sub> > *十进制字面量* → [*十进制数字*](#decimal_digit) [*十进制字符组*](#decimal_literal_characters)<sub>可选</sub>
> *十进制数字* → 数值 0 到 9 > *十进制数字* → 数值 0 到 9
> *十进制数字列表* → [*十进制数字*](#decimal_digit) [*十进制数字列表*](#decimal_digits)<sub>可选</sub> > *十进制数字列表* → [*十进制数字*](#decimal_digit) [*十进制数字列表*](#decimal_digits)<sub>可选</sub>
> *十进制字符* → [*十进制数字*](#decimal_digit) | _ > *十进制字符* → [*十进制数字*](#decimal_digit) | _
> *十进制字符列表* → [*十进制字符*](#decimal_literal_character) [*十进制字符列表*](#decimal_literal_characters)<sub>可选</sub> > *十进制字符列表* → [*十进制字符*](#decimal_literal_character) [*十进制字符列表*](#decimal_literal_characters)<sub>可选</sub>
<a id="hexadecimal_literal"></a> <a id="hexadecimal_literal"></a>
> *十六进制字面量* → **0x** [*十六进制数字*](#hexadecimal_digit) [*十六进制字面量字符列表*](#hexadecimal_literal_characters)<sub>可选</sub> > *十六进制字面量* → **0x** [*十六进制数字*](#hexadecimal_digit) [*十六进制字面量字符列表*](#hexadecimal_literal_characters)<sub>可选</sub>
> *十六进制数字* → 数值 0 到 9, 字母 a 到 f, 或 A 到 F > *十六进制数字* → 数值 0 到 9, 字母 a 到 f, 或 A 到 F
> *十六进制字符* → [*十六进制数字*](#hexadecimal_digit) | _ > *十六进制字符* → [*十六进制数字*](#hexadecimal_digit) | _
> *十六进制字面量字符列表* → [*十六进制字符*](#hexadecimal_literal_character) [*十六进制字面量字符列表*](#hexadecimal_literal_characters)<sub>可选</sub> > *十六进制字面量字符列表* → [*十六进制字符*](#hexadecimal_literal_character) [*十六进制字面量字符列表*](#hexadecimal_literal_characters)<sub>可选</sub>
### 浮点型字面量 ### 浮点型字面量
@ -156,9 +156,9 @@ true // 布尔型字面量
除非特别指定,浮点型字面量的默认推导类型为 Swift 标准库类型中的 `Double`表示64位浮点数。Swift 标准库也定义了 `Float` 类型表示32位浮点数。 除非特别指定,浮点型字面量的默认推导类型为 Swift 标准库类型中的 `Double`表示64位浮点数。Swift 标准库也定义了 `Float` 类型表示32位浮点数。
> 浮点型字面量语法 > 浮点型字面量语法
> *浮点数字面量* → [*十进制字面量*](#decimal_literal) [*十进制分数*](#decimal_fraction)<sub>可选</sub> [*十进制指数*](#decimal_exponent)<sub>可选</sub> > *浮点数字面量* → [*十进制字面量*](#decimal_literal) [*十进制分数*](#decimal_fraction)<sub>可选</sub> [*十进制指数*](#decimal_exponent)<sub>可选</sub>
> *浮点数字面量* → [*十六进制字面量*](#hexadecimal_literal) [*十六进制分数*](#hexadecimal_fraction)<sub>可选</sub> [*十六进制指数*](#hexadecimal_exponent) > *浮点数字面量* → [*十六进制字面量*](#hexadecimal_literal) [*十六进制分数*](#hexadecimal_fraction)<sub>可选</sub> [*十六进制指数*](#hexadecimal_exponent)
<a id="decimal_fraction"></a> <a id="decimal_fraction"></a>
> *十进制分数* → **.** [*十进制字面量*](#decimal_literal) > *十进制分数* → **.** [*十进制字面量*](#decimal_literal)
> *十进制指数* → [*浮点数e*](#floating_point_e) [*正负号*](#sign)<sub>可选</sub> [*十进制字面量*](#decimal_literal) > *十进制指数* → [*浮点数e*](#floating_point_e) [*正负号*](#sign)<sub>可选</sub> [*十进制字面量*](#decimal_literal)
<a id="hexadecimal_literal"></a> <a id="hexadecimal_literal"></a>
@ -211,7 +211,7 @@ let x = 3; "1 2 \(x)"
> *引用文本条目* → [*转义字符*](#escaped_character) > *引用文本条目* → [*转义字符*](#escaped_character)
> *引用文本条目* → **\(** [*表达式*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Expressions.html#//apple_ref/doc/uid/TP40014097-CH32-ID383) **)** > *引用文本条目* → **\(** [*表达式*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Expressions.html#//apple_ref/doc/uid/TP40014097-CH32-ID383) **)**
> *引用文本条目* → **除了"­, \­, U+000A, 或者 U+000D的所有Unicode的字符** > *引用文本条目* → **除了"­, \­, U+000A, 或者 U+000D的所有Unicode的字符**
> *转义字符* → **\0** | **\\** | **\t** | **\n** | **\r** | **\"** | **\'** > *转义字符* → **\0** | **\\** | **\t** | **\n** | **\r** | **\"** | **\'**
> *转义字符* → **\u {** [*unicode标量数字*](#unicode_scalar_digits) **}** > *转义字符* → **\u {** [*unicode标量数字*](#unicode_scalar_digits) **}**
> *unicode标量数字* → 一到八位的十六进制数字 > *unicode标量数字* → 一到八位的十六进制数字
@ -242,36 +242,36 @@ Swift 标准库定义了许多可供使用的运算符,其中大部分在 [基
> 运算符语法语法 > 运算符语法语法
> *运算符* → [*头部运算符*](#operator_head) [*运算符字符组*](#operator_characters)<sub>可选</sub> > *运算符* → [*头部运算符*](#operator_head) [*运算符字符组*](#operator_characters)<sub>可选</sub>
> *运算符* → [*头部点运算符*](#dot_operator_head) [*点运算符字符组*](#dot_operator_characters)<sub>可选</sub> > *运算符* → [*头部点运算符*](#dot_operator_head) [*点运算符字符组*](#dot_operator_characters)<sub>可选</sub>
<a id="operator_head"></a> <a id="operator_head"></a>
> *头部运算符* → **/** | **=** | **+** | **!** |**\*** | **%** |**<** | **>** |**&** | **|** |**/** | **~** | **?** | > *头部运算符* → **/** | **=** | **+** | **!** |**\*** | **%** |**<** | **>** |**&** | **|** |**/** | **~** | **?** |
> *头部运算符* → U+00A1U+00A7 > *头部运算符* → U+00A1U+00A7
> *头部运算符* → U+00A9 or U+00AB > *头部运算符* → U+00A9 or U+00AB
> *头部运算符* → U+00AC or U+00AE > *头部运算符* → U+00AC or U+00AE
> *头部运算符* → U+00B0U+00B1, U+00B6, U+00BB, U+00BF, U+00D7, or U+00F7 > *头部运算符* → U+00B0U+00B1, U+00B6, U+00BB, U+00BF, U+00D7, or U+00F7
> *头部运算符* → U+2016U+2017 or U+2020U+2027 > *头部运算符* → U+2016U+2017 or U+2020U+2027
> *头部运算符* → U+2030U+203E > *头部运算符* → U+2030U+203E
> *头部运算符* → U+2041U+2053 > *头部运算符* → U+2041U+2053
> *头部运算符* → U+2055U+205E > *头部运算符* → U+2055U+205E
> *头部运算符* → U+2190U+23FF > *头部运算符* → U+2190U+23FF
> *头部运算符* → U+2500U+2775 > *头部运算符* → U+2500U+2775
> *头部运算符* → U+2794U+2BFF > *头部运算符* → U+2794U+2BFF
> *头部运算符* → U+2E00U+2E7F > *头部运算符* → U+2E00U+2E7F
> *头部运算符* → U+3001U+3003 > *头部运算符* → U+3001U+3003
> *头部运算符* → U+3008U+3030 > *头部运算符* → U+3008U+3030
<a id="operator_character"></a> <a id="operator_character"></a>
> *运算符字符* → [*头部运算符*](#operator_head) > *运算符字符* → [*头部运算符*](#operator_head)
> *运算符字符* → U+0300U+036F > *运算符字符* → U+0300U+036F
> *运算符字符* → U+1DC0U+1DFF > *运算符字符* → U+1DC0U+1DFF
> *运算符字符* → U+20D0U+20FF > *运算符字符* → U+20D0U+20FF
> *运算符字符* → U+FE00U+FE0F > *运算符字符* → U+FE00U+FE0F
> *运算符字符* → U+FE20U+FE2F > *运算符字符* → U+FE20U+FE2F
> *运算符字符* → U+E0100U+E01EF > *运算符字符* → U+E0100U+E01EF
<a id="operator_characters"></a> <a id="operator_characters"></a>
> *运算符字符组* → [*运算符字符*](#operator_character) [*运算符字符组*](#operator_characters)<sub>可选</sub> > *运算符字符组* → [*运算符字符*](#operator_character) [*运算符字符组*] (#operator_characters)<sub>可选</sub>
<a id="dot_operator_head"></a> <a id="dot_operator_head"></a>
> *头部点运算符* → **..** > *头部点运算符* → **..**
> *头部点运算符字符* → . | [*运算符字符*](#operator_character) > *头部点运算符字符* → . | [*运算符字符*](#operator_character)
> *头部点运算符字符组* → [*点运算符字符*](#dot_operator_character) [*点运算符字符组*](#dot_operator_characters)<sub>可选</sub> > *头部点运算符字符组* → [*点运算符字符*](#dot_operator_character) [*点运算符字符组*](#dot_operator_characters)<sub>可选</sub>
> *二元运算符* → [*运算符*](#operator) > *二元运算符* → [*运算符*](#operator)