From c491efb33eef6ccfbdcaf554dff9c53667215ca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=8E=E4=BB=8A=E4=BB=A5=E5=90=8E?= <949478479@qq.com> Date: Thu, 3 Dec 2015 22:36:35 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=8E=E5=8C=96=E6=8E=92=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../01_About_the_Language_Reference.md | 4 +- source/chapter3/02_Lexical_Structure.md | 50 +++++++++---------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/source/chapter3/01_About_the_Language_Reference.md b/source/chapter3/01_About_the_Language_Reference.md index f98a2c0d..2a380c8a 100755 --- a/source/chapter3/01_About_the_Language_Reference.md +++ b/source/chapter3/01_About_the_Language_Reference.md @@ -31,10 +31,10 @@ Swift 语言相对较小,这是由于 Swift 代码中的几乎所有常见类 举个例子,getter-setter 的语法块的定义如下: > getter-setter 方法块语法 -> *getter-setter 方法块* → { [*getter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/getter-clause) [*setter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/setter-clause) 可选 } | { [*setter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/setter-clause) [*getter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/getter-clause) } +> *getter-setter 方法块* → { [*getter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/getter-clause) [*setter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/setter-clause)可选 } | { [*setter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/setter-clause) [*getter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/getter-clause) } 这个定义表明,一个 getter-setter 方法块可以由一个 getter 子句后跟一个可选的 setter 子句构成,然后用大括号括起来,或者由一个 setter 子句后跟一个 getter 子句构成,然后用大括号括起来。下面的两个语法产式等价于上述的语法产式,并明确指出了如何取舍: > getter-setter 方法块语法 -> getter-setter 方法块 → { [*getter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/getter-clause) [*setter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/setter-clause) 可选 } +> getter-setter 方法块 → { [*getter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/getter-clause) [*setter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/setter-clause)可选 } > getter-setter 方法块 → { [*setter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/setter-clause) [*getter 子句*](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/getter-clause) } diff --git a/source/chapter3/02_Lexical_Structure.md b/source/chapter3/02_Lexical_Structure.md index 861f2791..e9d093d3 100755 --- a/source/chapter3/02_Lexical_Structure.md +++ b/source/chapter3/02_Lexical_Structure.md @@ -45,8 +45,8 @@ Swift 的“词法结构(*lexical structure*)”描述了能构成该语言 > 标识符语法 -> *标识符* → [*头部标识符*](#identifier_head) [*标识符字符组*](#identifier_characters) 可选 -> *标识符* → \`[*头部标识符*](#identifier_head) [*标识符字符组*](#identifier_characters) 可选\` +> *标识符* → [*头部标识符*](#identifier_head) [*标识符字符组*](#identifier_characters)可选 +> *标识符* → \`[*头部标识符*](#identifier_head) [*标识符字符组*](#identifier_characters)可选\` > *标识符* → [*隐式参数名*](#implicit_parameter_name) > *标识符列表* → [*标识符*](#identifier) | [*标识符*](#identifier) **,** [*标识符列表*](#identifier_list) @@ -74,7 +74,7 @@ Swift 的“词法结构(*lexical structure*)”描述了能构成该语言 > *标识符字符* → U+0300–U+036F,U+1DC0–U+1DFF,U+20D0–U+20FF,或者 U+FE20–U+FE2F > *标识符字符* → [*头部标识符*](#identifier_head) -> *标识符字符组* → [*标识符字符*](#identifier_character) [*标识符字符组*](#identifier_characters) 可选 +> *标识符字符组* → [*标识符字符*](#identifier_character) [*标识符字符组*](#identifier_characters)可选 > *隐式参数名* → **$** [*十进制数字列表*](#decimal_digits) @@ -115,7 +115,7 @@ true // 布尔型字面量 > *字面量* → [*数字型字面量*](#numeric_literal) | [*字符串型字面量*](#string_literal) | [*布尔型字面量*](#boolean_literal) | [*nil型字面量*](#nil_literal) -> *数字型字面量* → **-** 可选 [*整型字面量*](#integer_literal) | **-** 可选 [*浮点型字面量*](#floating_point_literal) +> *数字型字面量* → **-**可选 [*整型字面量*](#integer_literal) | **-**可选 [*浮点型字面量*](#floating_point_literal) > *布尔型字面量* → **true** | **false** @@ -142,41 +142,41 @@ true // 布尔型字面量 > *整型字面量* → [*十六进制字面量*](#hexadecimal_literal) -> *二进制字面量* → **0b** [*二进制数字*](#binary_digit) [*二进制字面量字符组*](#binary_literal_characters) 可选 +> *二进制字面量* → **0b** [*二进制数字*](#binary_digit) [*二进制字面量字符组*](#binary_literal_characters)可选 > *二进制数字* → 数值 0 到 1 > *二进制字面量字符* → [*二进制数字*](#binary_digit) | _ -> *二进制字面量字符组* → [*二进制字面量字符*](#binary_literal_character) [*二进制字面量字符组*](#binary_literal_characters) 可选 +> *二进制字面量字符组* → [*二进制字面量字符*](#binary_literal_character) [*二进制字面量字符组*](#binary_literal_characters)可选 -> *八进制字面量* → **0o** [*八进字数字*](#octal_digit) [*八进制字符组*](#octal_literal_characters) 可选 +> *八进制字面量* → **0o** [*八进字数字*](#octal_digit) [*八进制字符组*](#octal_literal_characters)可选 > *八进字数字* → 数值 0 到 7 > *八进制字符* → [*八进字数字*](#octal_digit) | _ -> *八进制字符组* → [*八进制字符*](#octal_literal_character) [*八进制字符组*](#octal_literal_characters) 可选 +> *八进制字符组* → [*八进制字符*](#octal_literal_character) [*八进制字符组*](#octal_literal_characters)可选 > *十进制字面量* → [*十进制数字*](#decimal_digit) [*十进制字符组*](#decimal_literal_characters)可选 > *十进制数字* → 数值 0 到 9 -> *十进制数字组* → [*十进制数字*](#decimal_digit) [*十进制数字组*](#decimal_digits) 可选 +> *十进制数字组* → [*十进制数字*](#decimal_digit) [*十进制数字组*](#decimal_digits)可选 > *十进制字符* → [*十进制数字*](#decimal_digit) | _ -> *十进制字符组* → [*十进制字符*](#decimal_literal_character) [*十进制字符组*](#decimal_literal_characters) 可选 +> *十进制字符组* → [*十进制字符*](#decimal_literal_character) [*十进制字符组*](#decimal_literal_characters)可选 -> *十六进制字面量* → **0x** [*十六进制数字*](#hexadecimal_digit) [*十六进制字面量字符组*](#hexadecimal_literal_characters) 可选 +> *十六进制字面量* → **0x** [*十六进制数字*](#hexadecimal_digit) [*十六进制字面量字符组*](#hexadecimal_literal_characters)可选 > *十六进制数字* → 数值 0 到 9, 字母 a 到 f, 或 A 到 F > *十六进制字符* → [*十六进制数字*](#hexadecimal_digit) | _ -> *十六进制字面量字符组* → [*十六进制字符*](#hexadecimal_literal_character) [*十六进制字面量字符组*](#hexadecimal_literal_characters) 可选 +> *十六进制字面量字符组* → [*十六进制字符*](#hexadecimal_literal_character) [*十六进制字面量字符组*](#hexadecimal_literal_characters)可选 ### 浮点型字面量 @@ -197,18 +197,18 @@ true // 布尔型字面量 > 浮点型字面量语法 -> *浮点数字面量* → [*十进制字面量*](#decimal_literal) [*十进制分数*](#decimal_fraction) 可选 [*十进制指数*](#decimal_exponent) 可选 -> *浮点数字面量* → [*十六进制字面量*](#hexadecimal_literal) [*十六进制分数*](#hexadecimal_fraction) 可选 [*十六进制指数*](#hexadecimal_exponent) +> *浮点数字面量* → [*十进制字面量*](#decimal_literal) [*十进制分数*](#decimal_fraction)可选 [*十进制指数*](#decimal_exponent)可选 +> *浮点数字面量* → [*十六进制字面量*](#hexadecimal_literal) [*十六进制分数*](#hexadecimal_fraction)可选 [*十六进制指数*](#hexadecimal_exponent) > *十进制分数* → **.** [*十进制字面量*](#decimal_literal) -> *十进制指数* → [*十进制指数 e*](#floating_point_e) [*正负号*](#sign) 可选 [*十进制字面量*](#decimal_literal) +> *十进制指数* → [*十进制指数 e*](#floating_point_e) [*正负号*](#sign)可选 [*十进制字面量*](#decimal_literal) -> *十六进制分数* → **.** [*十六进制数字*](#hexadecimal_digit) [*十六进制字面量字符组*](#hexadecimal_literal_characters) 可选 +> *十六进制分数* → **.** [*十六进制数字*](#hexadecimal_digit) [*十六进制字面量字符组*](#hexadecimal_literal_characters)可选 -> *十六进制指数* → [*十六进制指数 p*](#floating_point_p) [*正负号*](#sign) 可选 [*十进制字面量*](#decimal_literal) +> *十六进制指数* → [*十六进制指数 p*](#floating_point_p) [*正负号*](#sign)可选 [*十进制字面量*](#decimal_literal) > *十进制指数 e* → **e** | **E** @@ -265,17 +265,17 @@ let textB = "Hello world" > *字符串字面量* → [*静态字符串字面量*](#static_string_literal) | [*插值字符串字面量*](#interpolated_string_literal) -> *静态字符串字面量* → **"**[*引用文本*](#quoted_text) 可选**"** +> *静态字符串字面量* → **"**[*引用文本*](#quoted_text)可选**"** -> *引用文本* → [*引用文本项*](#quoted_text_item) [*引用文本*](#quoted_text) 可选 +> *引用文本* → [*引用文本项*](#quoted_text_item) [*引用文本*](#quoted_text)可选 > *引用文本项* → [*转义字符*](#escaped_character) > *引用文本项* → 除了 **"**、**\\**、U+000A、U+000D 以外的所有 Unicode 字符 -> *插值字符串字面量* → **"**[*插值文本*](#interpolated_text) 可选**"** +> *插值字符串字面量* → **"**[*插值文本*](#interpolated_text)可选**"** -> *插值文本* → [*插值文本项*](#interpolated_text_item) [*插值文本*](#interpolated_text) 可选 +> *插值文本* → [*插值文本项*](#interpolated_text_item) [*插值文本*](#interpolated_text)可选 > *插值文本项* → **\\****(**[*表达式*](./04_Expressions.html)**)** | [*引用文本项*](#quoted_text_item) @@ -313,8 +313,8 @@ Swift 标准库定义了许多可供使用的运算符,其中大部分在 [基 > 运算符语法 -> *运算符* → [*头部运算符*](#operator_head) [*运算符字符组*](#operator_characters) 可选 -> *运算符* → [*头部点运算符*](#dot_operator_head) [*点运算符字符组*](#dot_operator_characters) 可选 +> *运算符* → [*头部运算符*](#operator_head) [*运算符字符组*](#operator_characters)可选 +> *运算符* → [*头部点运算符*](#dot_operator_head) [*点运算符字符组*](#dot_operator_characters)可选 > *头部运算符* → **/** | **=** | **-** | **+** | **!** | __*__ | **%** | **<** | **>** | **&** | **|** | **^** | **~** | **?** @@ -342,14 +342,14 @@ Swift 标准库定义了许多可供使用的运算符,其中大部分在 [基 > *运算符字符* → U+FE20–U+FE2F > *运算符字符* → U+E0100–U+E01EF -> *运算符字符组* → [*运算符字符*](#operator_character) [*运算符字符组*](#operator_characters) 可选 +> *运算符字符组* → [*运算符字符*](#operator_character) [*运算符字符组*](#operator_characters)可选 > *头部点运算符* → **..** > *点运算符字符* → **.** | [*运算符字符*](#operator_character) -> *点运算符字符组* → [*点运算符字符*](#dot_operator_character) [*点运算符字符组*](#dot_operator_characters) 可选 +> *点运算符字符组* → [*点运算符字符*](#dot_operator_character) [*点运算符字符组*](#dot_operator_characters)可选 > *二元运算符* → [*运算符*](#operator) > *前置运算符* → [*运算符*](#operator)