From 307ddedd43990d49729fc694003b8b4a10489b97 Mon Sep 17 00:00:00 2001 From: Chen Jia Date: Sun, 31 Mar 2019 10:57:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B010=5FSummary=5Fof=5Fthe=5FGra?= =?UTF-8?q?mmar(from=20Lexical=20Structure=20->=20Types).md=20(#913)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 第三章 10_Summary_of_the_Grammar(从 Declarations 到 Generic Parameters and Arguments) * 10_Summary_of_the_Grammar(from Declarations -> Generic Parameters and Arguments)的翻译 (#911) * Update 10_Summary_of_the_Grammar(from Lexical Structure -> Types).md. 去掉"可选"前的空格 --- ...ns -> Generic Parameters and Arguments).md | 168 +++++++++--------- 1 file changed, 84 insertions(+), 84 deletions(-) diff --git a/source/chapter3/10_Summary_of_the_Grammar(from Declarations -> Generic Parameters and Arguments).md b/source/chapter3/10_Summary_of_the_Grammar(from Declarations -> Generic Parameters and Arguments).md index 529ba6bc..6ee594a0 100644 --- a/source/chapter3/10_Summary_of_the_Grammar(from Declarations -> Generic Parameters and Arguments).md +++ b/source/chapter3/10_Summary_of_the_Grammar(from Declarations -> Generic Parameters and Arguments).md @@ -32,7 +32,7 @@ > > *声明* → [优先级组声明](./06_Declarations.md#precedence_group_declaration) > -> *声明集* → [声明](./06_Declarations.md#declaration) [声明集](./06_Declarations.md#declarations) 可选 +> *声明集* → [声明](./06_Declarations.md#declaration) [声明集](./06_Declarations.md#declarations)可选 > @@ -40,21 +40,21 @@ > 顶级声明语法 > -> *顶级声明* → [多条语句](./05_Statements.md#statements) 可选 +> *顶级声明* → [多条语句](./05_Statements.md#statements)可选 > > 代码块语法 > -> *代码块* → **{** [多条语句](./05_Statements.md#statements) 可选 **}** +> *代码块* → **{** [多条语句](./05_Statements.md#statements)可选 **}** > > 导入声明语法 > -> *导入声明* → [属性集](./07_Attributes.md#attributes) 可选 **import** [导入类型](./06_Declarations.md#import_kind) 可选 [导入路径](./06_Declarations.md#import_path) +> *导入声明* → [属性集](./07_Attributes.md#attributes)可选 **import** [导入类型](./06_Declarations.md#import_kind)可选 [导入路径](./06_Declarations.md#import_path) > > *导入类型* → **typealias** | **struct** | **class** | **enum** | **protocol** | **let** | **var** | **func** > @@ -67,11 +67,11 @@ > 常数声明语法 > -> *常量声明* → [属性集](./07_Attributes.md#attributes) 可选 [声明修饰符集](./06_Declarations.md#declaration_specifiers) 可选 **let** [模式构造器集](./06_Declarations.md#pattern_initializer_list) +> *常量声明* → [属性集](./07_Attributes.md#attributes)可选 [声明修饰符集](./06_Declarations.md#declaration_specifiers)可选 **let** [模式构造器集](./06_Declarations.md#pattern_initializer_list) > > *模式构造器集* → [模式构造器](./06_Declarations.md#pattern_initializer) | [模式构造器](./06_Declarations.md#pattern_initializer) **,** [模式构造器集](./06_Declarations.md#pattern_initializer_list) > -> *模式构造器* → [模式](./08_Patterns.md#pattern) [构造器](./06_Declarations.md#initializer) 可选 +> *模式构造器* → [模式](./08_Patterns.md#pattern) [构造器](./06_Declarations.md#initializer)可选 > > *构造器* → **=** [表达式](./04_Expressions.md#expression) > @@ -88,49 +88,49 @@ > > *变量声明* → [变量声明头](./06_Declarations.md#variable_declaration_head) [变量名](./06_Declarations.md#variable_name) [类型注解](./03_Types.md#type_annotation) [getter-setter 关键字块](./06_Declarations.md#getter_setter_keyword_block) > -> *变量声明* → [变量声明头](./06_Declarations.md#variable_declaration_head) [变量名](./06_Declarations.md#variable_name) [构造器](./06_Declarations.md#initializer) 可选 [willSet-didSet 代码块](./06_Declarations.md#willSet_didSet_block) +> *变量声明* → [变量声明头](./06_Declarations.md#variable_declaration_head) [变量名](./06_Declarations.md#variable_name) [构造器](./06_Declarations.md#initializer)可选 [willSet-didSet 代码块](./06_Declarations.md#willSet_didSet_block) > -> *变量声明* → [变量声明头](./06_Declarations.md#variable_declaration_head) [变量名](./06_Declarations.md#variable_name) [类型注解](./03_Types.md#type_annotation) [构造器](./06_Declarations.md#initializer) 可选 [willSet-didSet 代码块](./06_Declarations.md#willSet_didSet_block) +> *变量声明* → [变量声明头](./06_Declarations.md#variable_declaration_head) [变量名](./06_Declarations.md#variable_name) [类型注解](./03_Types.md#type_annotation) [构造器](./06_Declarations.md#initializer)可选 [willSet-didSet 代码块](./06_Declarations.md#willSet_didSet_block) > -> *变量声明头* → [属性集](./07_Attributes.md#attributes) 可选 [声明修饰符集](./06_Declarations.md#declaration_specifiers) 可选 **var** +> *变量声明头* → [属性集](./07_Attributes.md#attributes)可选 [声明修饰符集](./06_Declarations.md#declaration_specifiers)可选 **var** > > *变量名称* → [标识符](./02_Lexical_Structure.md#identifier) > > *getter-setter 块* → [代码块](./06_Declarations.md#code_block) > -> *getter-setter 块* → **{** [getter 子句](./06_Declarations.md#getter_clause) [setter 子句](./06_Declarations.md#setter_clause) 可选 **}** +> *getter-setter 块* → **{** [getter 子句](./06_Declarations.md#getter_clause) [setter 子句](./06_Declarations.md#setter_clause)可选 **}** > > *getter-setter 块* → **{** [setter 子句](./06_Declarations.md#setter_clause) [getter 子句](./06_Declarations.md#getter_clause) **}** > -> *getter 子句* → [属性集](./07_Attributes.md#attributes) 可选 [可变性修饰符](./06_Declarations.md#mutation-modifier) 可选 **get** [代码块](./06_Declarations.md#code_block) +> *getter 子句* → [属性集](./07_Attributes.md#attributes)可选 [可变性修饰符](./06_Declarations.md#mutation-modifier)可选 **get** [代码块](./06_Declarations.md#code_block) > -> *setter 子句* → [属性集](./07_Attributes.md#attributes) 可选 [可变性修饰符](./06_Declarations.md#mutation-modifier) 可选 **set** [setter 名称](./06_Declarations.md#setter_name) 可选 [代码块](./06_Declarations.md#code_block) +> *setter 子句* → [属性集](./07_Attributes.md#attributes)可选 [可变性修饰符](./06_Declarations.md#mutation-modifier)可选 **set** [setter 名称](./06_Declarations.md#setter_name)可选 [代码块](./06_Declarations.md#code_block) > > *setter 名称* → **(** [标识符](./02_Lexical_Structure.md#identifier) **)** > -> *getter-setter 关键字(Keyword)块* → **{** [getter 关键字子句](./06_Declarations.md#getter_keyword_clause) [setter 关键字子句](./06_Declarations.md#setter_keyword_clause) 可选 **}** +> *getter-setter 关键字(Keyword)块* → **{** [getter 关键字子句](./06_Declarations.md#getter_keyword_clause) [setter 关键字子句](./06_Declarations.md#setter_keyword_clause)可选 **}** > > *getter-setter 关键字(Keyword)块* → **{** [setter 关键字子句](./06_Declarations.md#setter_keyword_clause) [getter 关键字子句](./06_Declarations.md#getter_keyword_clause) **}** > -> *getter 关键字(Keyword)子句* → [属性集](./07_Attributes.md#attributes) 可选 [可变性修饰符](./06_Declarations.md#mutation-modifier) 可选 **get** +> *getter 关键字(Keyword)子句* → [属性集](./07_Attributes.md#attributes)可选 [可变性修饰符](./06_Declarations.md#mutation-modifier)可选 **get** > -> *setter 关键字(Keyword)子句* → [属性集](./07_Attributes.md#attributes) 可选 [可变性修饰符](./06_Declarations.md#mutation-modifier) 可选 **set** +> *setter 关键字(Keyword)子句* → [属性集](./07_Attributes.md#attributes)可选 [可变性修饰符](./06_Declarations.md#mutation-modifier)可选 **set** > -> *willSet-didSet 代码块* → **{** [willSet 子句](./06_Declarations.md#willSet_clause) [didSet 子句](./06_Declarations.md#didSet_clause) 可选 **}** +> *willSet-didSet 代码块* → **{** [willSet 子句](./06_Declarations.md#willSet_clause) [didSet 子句](./06_Declarations.md#didSet_clause)可选 **}** > -> *willSet-didSet 代码块* → **{** [didSet 子句](./06_Declarations.md#didSet_clause) [willSet 子句](./06_Declarations.md#willSet_clause) 可选 **}** +> *willSet-didSet 代码块* → **{** [didSet 子句](./06_Declarations.md#didSet_clause) [willSet 子句](./06_Declarations.md#willSet_clause)可选 **}** > -> *willSet 子句* → [属性集](./07_Attributes.md#attributes) 可选 **willSet** [setter 名称](./06_Declarations.md#setter_name) 可选 [代码块](./06_Declarations.md#code_block) +> *willSet 子句* → [属性集](./07_Attributes.md#attributes)可选 **willSet** [setter 名称](./06_Declarations.md#setter_name)可选 [代码块](./06_Declarations.md#code_block) > -> *didSet 子句* → [属性集](./07_Attributes.md#attributes) 可选 +> *didSet 子句* → [属性集](./07_Attributes.md#attributes)可选 > - **didSet** [setter 名称](./06_Declarations.md#setter_name) 可选 [代码块](./06_Declarations.md#code_block) + **didSet** [setter 名称](./06_Declarations.md#setter_name)可选 [代码块](./06_Declarations.md#code_block) > 类型别名声明语法 > -> *类型别名声明* → [属性集](./07_Attributes.md#attributes) 可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier) **typealias** [类型别名名称](./06_Declarations.md#typealias_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [类型别名赋值](./06_Declarations.md#typealias_assignment) +> *类型别名声明* → [属性集](./07_Attributes.md#attributes)可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier) **typealias** [类型别名名称](./06_Declarations.md#typealias_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [类型别名赋值](./06_Declarations.md#typealias_assignment) > > *类型别名名称* → [标识符](./02_Lexical_Structure.md#identifier) > @@ -141,18 +141,18 @@ > 函数声明语法 > -> *函数声明* → [函数头](./06_Declarations.md#function_head) [函数名](./06_Declarations.md#function_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [函数签名](./06_Declarations.md#function_signature) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [函数体](./06_Declarations.md#function_body) 可选 +> *函数声明* → [函数头](./06_Declarations.md#function_head) [函数名](./06_Declarations.md#function_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [函数签名](./06_Declarations.md#function_signature) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [函数体](./06_Declarations.md#function_body)可选 > -> *函数头* → [属性集](./07_Attributes.md#attributes) 可选 [声明描述符集](./06_Declarations.md#declaration_specifiers) 可选 **func** +> *函数头* → [属性集](./07_Attributes.md#attributes)可选 [声明描述符集](./06_Declarations.md#declaration_specifiers)可选 **func** > > *函数名* → [标识符](./02_Lexical_Structure.md#identifier) | [运算符](./02_Lexical_Structure.md#operator) > -> *函数签名* → [参数子句](./06_Declarations.md#parameter_clause) **throws** 可选 [函数结果](./06_Declarations.md#function_result) 可选 +> *函数签名* → [参数子句](./06_Declarations.md#parameter_clause) **throws**可选 [函数结果](./06_Declarations.md#function_result)可选 > -> *函数签名* → [参数子句](./06_Declarations.md#parameter_clause) **rethrows** [函数结果](./06_Declarations.md#function_result) 可选 +> *函数签名* → [参数子句](./06_Declarations.md#parameter_clause) **rethrows** [函数结果](./06_Declarations.md#function_result)可选 > -> *函数结果* → **->** [属性集](./07_Attributes.md#attributes) 可选 [类型](./03_Types.md#type) +> *函数结果* → **->** [属性集](./07_Attributes.md#attributes)可选 [类型](./03_Types.md#type) > > *函数体* → [代码块](./06_Declarations.md#code_block) > @@ -160,11 +160,11 @@ > > *参数集* → [参数](./06_Declarations.md#parameter) | [参数](./06_Declarations.md#parameter) **,** [参数集](./06_Declarations.md#parameter_list) > -> *参数* → [外部参数名](./06_Declarations.md#parameter_name) 可选 [本地参数名](./06_Declarations.md#local_parameter_name) [类型注解](./03_Types.md#type_annotation) [默认参数子句](./06_Declarations.md#default_argument_clause) 可选 +> *参数* → [外部参数名](./06_Declarations.md#parameter_name)可选 [本地参数名](./06_Declarations.md#local_parameter_name) [类型注解](./03_Types.md#type_annotation) [默认参数子句](./06_Declarations.md#default_argument_clause)可选 > -> *参数* → [外部参数名](./06_Declarations.md#parameter_name) 可选 [本地参数名](./06_Declarations.md#local_parameter_name) [类型注解](./03_Types.md#type_annotation) +> *参数* → [外部参数名](./06_Declarations.md#parameter_name)可选 [本地参数名](./06_Declarations.md#local_parameter_name) [类型注解](./03_Types.md#type_annotation) > -> *参数* → [外部参数名](./06_Declarations.md#parameter_name) 可选 [本地参数名](./06_Declarations.md#local_parameter_name) [类型注解](./03_Types.md#type_annotation) **...** +> *参数* → [外部参数名](./06_Declarations.md#parameter_name)可选 [本地参数名](./06_Declarations.md#local_parameter_name) [类型注解](./03_Types.md#type_annotation) **...** > > *外部参数名* → [标识符](./02_Lexical_Structure.md#identifier) > @@ -177,37 +177,37 @@ > 枚举声明语法 > -> *枚举声明* → [属性集](./07_Attributes.md#attributes) 可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier) 可选 [联合式枚举](./06_Declarations.md#union_style_enum) +> *枚举声明* → [属性集](./07_Attributes.md#attributes)可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier)可选 [联合式枚举](./06_Declarations.md#union_style_enum) > -> *枚举声明* → [属性集](./07_Attributes.md#attributes) 可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier) 可选 [原始值式枚举](./06_Declarations.md#raw-value-style-enum) +> *枚举声明* → [属性集](./07_Attributes.md#attributes)可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier)可选 [原始值式枚举](./06_Declarations.md#raw-value-style-enum) > -> *联合式枚举* → **indirect** 可选 **enum** [枚举名](./06_Declarations.md#enum_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [类型继承子句](./03_Types.md#type-inheritance-clause) 可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 **{** [联合式枚举成员](./06_Declarations.md#union_style_enum_members) 可选 **}** +> *联合式枚举* → **indirect**可选 **enum** [枚举名](./06_Declarations.md#enum_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [类型继承子句](./03_Types.md#type-inheritance-clause)可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 **{** [联合式枚举成员](./06_Declarations.md#union_style_enum_members)可选 **}** > -> *联合式枚举成员集* → [联合式枚举成员](./06_Declarations.md#union_style_enum_member) [联合样式枚举成员集](./06_Declarations.md#union_style_enum_members) 可选 +> *联合式枚举成员集* → [联合式枚举成员](./06_Declarations.md#union_style_enum_member) [联合样式枚举成员集](./06_Declarations.md#union_style_enum_members)可选 > > *联合样式枚举成员* → [声明](./06_Declarations.md#declaration) | [联合式枚举 case 子句](./06_Declarations.md#union_style_enum_case_clause) | [编译控制语句](./05_Statements.md#compiler-control-statement) > -> *联合式枚举 case 子句* → [属性集](./07_Attributes.md#attributes) 可选 **indirect** 可选 **case** [联合式枚举 case 集](./06_Declarations.md#union_style_enum_case_list) +> *联合式枚举 case 子句* → [属性集](./07_Attributes.md#attributes)可选 **indirect**可选 **case** [联合式枚举 case 集](./06_Declarations.md#union_style_enum_case_list) > > *联合式枚举 case 集* → [联合式枚举 case](./06_Declarations.md#union_style_enum_case) | [联合式枚举 case](./06_Declarations.md#union_style_enum_case) **,** [联合式枚举 case 集](./06_Declarations.md#union_style_enum_case_list) > -> *联合式枚举 case* → [枚举的 case 名](./06_Declarations.md#enum_case_name) [元组类型](./03_Types.md#tuple_type) 可选 +> *联合式枚举 case* → [枚举的 case 名](./06_Declarations.md#enum_case_name) [元组类型](./03_Types.md#tuple_type)可选 > > *枚举名* → [标识符](./02_Lexical_Structure.md#identifier) > > *枚举的 case 名* → [标识符](./02_Lexical_Structure.md#identifier) > -> *原始值式枚举* → **enum** [枚举名](./06_Declarations.md#enum_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [类型继承子句](./03_Types.md#type-inheritance-clause) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 **{** [原始值式枚举成员集](./06_Declarations.md#raw_value_style_enum_members) **}** +> *原始值式枚举* → **enum** [枚举名](./06_Declarations.md#enum_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [类型继承子句](./03_Types.md#type-inheritance-clause) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 **{** [原始值式枚举成员集](./06_Declarations.md#raw_value_style_enum_members) **}** > -> *原始值式枚举成员集* → [原始值式枚举成员](./06_Declarations.md#raw_value_style_enum_member) [原始值式枚举成员集](./06_Declarations.md#raw_value_style_enum_members) 可选 +> *原始值式枚举成员集* → [原始值式枚举成员](./06_Declarations.md#raw_value_style_enum_member) [原始值式枚举成员集](./06_Declarations.md#raw_value_style_enum_members)可选 > > *原始值式枚举成员* → [声明](./06_Declarations.md#declaration) | [原始值式枚举 case 子句](./06_Declarations.md#raw_value_style_enum_case_clause) | [编译控制语句](./05_Statements.md#compiler-control-statement) > -> *原始值式枚举 case 子句* → [属性集](./07_Attributes.md#attributes) 可选 **case** [原始值式枚举 case 集](./06_Declarations.md#raw_value_style_enum_case_list) +> *原始值式枚举 case 子句* → [属性集](./07_Attributes.md#attributes)可选 **case** [原始值式枚举 case 集](./06_Declarations.md#raw_value_style_enum_case_list) > > *原始值式枚举 case 集* → [原始值式枚举 case](./06_Declarations.md#raw_value_style_enum_case) | [原始值式枚举 case](./06_Declarations.md#raw_value_style_enum_case) **,** [原始值式枚举 case 集](./06_Declarations.md#raw_value_style_enum_case_list) > -> *原始值式枚举 case* → [枚举的 case 名](./06_Declarations.md#enum_case_name) [原始值赋值](./06_Declarations.md#raw_value_assignment) 可选 +> *原始值式枚举 case* → [枚举的 case 名](./06_Declarations.md#enum_case_name) [原始值赋值](./06_Declarations.md#raw_value_assignment)可选 > > *原始值赋值* → **=** [原始值字面量](./02_Lexical_Structure.md#literal) > @@ -218,13 +218,13 @@ > 结构体声明语法 > -> *结构体声明* → [属性集](./07_Attributes.md#attributes) 可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier) 可选 **struct** [结构体名称](./06_Declarations.md#struct_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [类型继承子句](./03_Types.md#type_inheritance_clause) 可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [结构体主体](./06_Declarations.md#struct_body) +> *结构体声明* → [属性集](./07_Attributes.md#attributes)可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier)可选 **struct** [结构体名称](./06_Declarations.md#struct_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [类型继承子句](./03_Types.md#type_inheritance_clause)可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [结构体主体](./06_Declarations.md#struct_body) > > *结构体名称* → [标识符](./02_Lexical_Structure.md#identifier) > -> *结构体主体* → **{** [结构体成员集](./06_Declarations.md#declarations) 可选 **}** +> *结构体主体* → **{** [结构体成员集](./06_Declarations.md#declarations)可选 **}** > -> *结构体成员集* → [结构体成员](./06_Declarations.md#declarations) [结构体成员集](./06_Declarations.md#declarations) 可选 +> *结构体成员集* → [结构体成员](./06_Declarations.md#declarations) [结构体成员集](./06_Declarations.md#declarations)可选 > > *结构体成员* → [声明集](./06_Declarations.md#declarations) | [编译控制语句](./05_Statements.md#compiler-control-statement) > @@ -233,15 +233,15 @@ > 类声明语法 > -> *类声明* → [属性集](./07_Attributes.md#attributes) 可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier) 可选 **final** 可选 **class** [类名](./06_Declarations.md#class_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [类型继承子句](./03_Types.md#type_inheritance_clause) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [类主体](./06_Declarations.md#class_body) +> *类声明* → [属性集](./07_Attributes.md#attributes)可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier)可选 **final**可选 **class** [类名](./06_Declarations.md#class_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [类型继承子句](./03_Types.md#type_inheritance_clause) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [类主体](./06_Declarations.md#class_body) > -> *类声明* → [属性集](./07_Attributes.md#attributes) 可选 **final** [访问级别修饰符](./07_Attributes.md#access-level-modifier) 可选 **class** [类名](./06_Declarations.md#class_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [类型继承子句](./03_Types.md#type_inheritance_clause) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [类主体](./06_Declarations.md#class_body) +> *类声明* → [属性集](./07_Attributes.md#attributes)可选 **final** [访问级别修饰符](./07_Attributes.md#access-level-modifier)可选 **class** [类名](./06_Declarations.md#class_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [类型继承子句](./03_Types.md#type_inheritance_clause) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [类主体](./06_Declarations.md#class_body) > > *类名* → [标识符](./02_Lexical_Structure.md#identifier) > -> *类主体* → **{** [类成员集](./06_Declarations.md#declarations) 可选 **}** +> *类主体* → **{** [类成员集](./06_Declarations.md#declarations)可选 **}** > -> *类成员集* → [类成员](./06_Declarations.md#declarations) [类成员集](./06_Declarations.md#declarations) 可选 +> *类成员集* → [类成员](./06_Declarations.md#declarations) [类成员集](./06_Declarations.md#declarations)可选 > > *类成员* → [声明集](./06_Declarations.md#declarations) | [编译控制语句](./05_Statements.md#compiler-control-statement) > @@ -250,13 +250,13 @@ > 协议声明语法 > -> *协议声明* → [属性集](./07_Attributes.md#attributes) 可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier) 可选 **protocol** [协议名](./06_Declarations.md#protocol_name) [类型继承子句](./03_Types.md#type_inheritance_clause) 可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [协议主体](./06_Declarations.md#protocol_body) +> *协议声明* → [属性集](./07_Attributes.md#attributes)可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier)可选 **protocol** [协议名](./06_Declarations.md#protocol_name) [类型继承子句](./03_Types.md#type_inheritance_clause)可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [协议主体](./06_Declarations.md#protocol_body) > > *协议名* → [标识符](./02_Lexical_Structure.md#identifier) > -> *协议主体* → **{** [协议成员集](./06_Declarations.md#protocol_member_declarations) 可选 **}** +> *协议主体* → **{** [协议成员集](./06_Declarations.md#protocol_member_declarations)可选 **}** > -> *协议成员集* → [协议成员](./06_Declarations.md#declarations) [协议成员集](./06_Declarations.md#declarations) 可选 +> *协议成员集* → [协议成员](./06_Declarations.md#declarations) [协议成员集](./06_Declarations.md#declarations)可选 > > *协议成员* → [协议成员声明](./06_Declarations.md#declarations) | [编译控制语句](./05_Statements.md#compiler-control-statement) > @@ -284,45 +284,45 @@ > 协议方法声明语法 > -> *协议方法声明* → [函数头](./06_Declarations.md#function_head) [函数名](./06_Declarations.md#function_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [函数签名](./06_Declarations.md#function_signature) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 +> *协议方法声明* → [函数头](./06_Declarations.md#function_head) [函数名](./06_Declarations.md#function_name) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [函数签名](./06_Declarations.md#function_signature) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 > > 协议构造器声明语法 > -> *协议构造器声明* → [构造器头](./06_Declarations.md#initializer_head) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [参数子句](./06_Declarations.md#parameter_clause) **throws** 可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 +> *协议构造器声明* → [构造器头](./06_Declarations.md#initializer_head) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [参数子句](./06_Declarations.md#parameter_clause) **throws**可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 > -> *协议构造器声明* → [构造器头](./06_Declarations.md#initializer_head) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [参数子句](./06_Declarations.md#parameter_clause) **rethrows** [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 +> *协议构造器声明* → [构造器头](./06_Declarations.md#initializer_head) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [参数子句](./06_Declarations.md#parameter_clause) **rethrows** [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 > > 协议下标声明语法 > -> *协议下标声明* → [下标头](./06_Declarations.md#subscript_head) [下标结果](./06_Declarations.md#subscript_result) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [getter-setter 关键字块](./06_Declarations.md#getter_setter_keyword_block) +> *协议下标声明* → [下标头](./06_Declarations.md#subscript_head) [下标结果](./06_Declarations.md#subscript_result) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [getter-setter 关键字块](./06_Declarations.md#getter_setter_keyword_block) > > 协议关联类型声明语法 > -> *协议关联类型声明* → [属性集](./07_Attributes.md#attributes) 可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier) 可选 **associatedtype** [类型别名](./06_Declarations.md#typealias_name) [类型继承子句](./03_Types.md#type_inheritance_clause) 可选 [类型别名赋值](./06_Declarations.md#typealias_assignment) 可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 +> *协议关联类型声明* → [属性集](./07_Attributes.md#attributes)可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier)可选 **associatedtype** [类型别名](./06_Declarations.md#typealias_name) [类型继承子句](./03_Types.md#type_inheritance_clause)可选 [类型别名赋值](./06_Declarations.md#typealias_assignment)可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 > > 构造器声明语法 > -> *构造器声明* → [构造器头](./06_Declarations.md#initializer_head) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [参数子句](./06_Declarations.md#parameter_clause) **throws** 可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [构造器主体](./06_Declarations.md#initializer_body) +> *构造器声明* → [构造器头](./06_Declarations.md#initializer_head) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [参数子句](./06_Declarations.md#parameter_clause) **throws**可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [构造器主体](./06_Declarations.md#initializer_body) > -> *构造器声明* → [构造器头](./06_Declarations.md#initializer_head) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [参数子句](./06_Declarations.md#parameter_clause) **rethrows** [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [构造器主体](./06_Declarations.md#initializer_body) +> *构造器声明* → [构造器头](./06_Declarations.md#initializer_head) [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [参数子句](./06_Declarations.md#parameter_clause) **rethrows** [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [构造器主体](./06_Declarations.md#initializer_body) > -> *构造器头(Head)* → [属性集](./07_Attributes.md#attributes) 可选 [声明修饰符集](./06_Declarations.md#declaration_modifiers) 可选 **init** +> *构造器头(Head)* → [属性集](./07_Attributes.md#attributes)可选 [声明修饰符集](./06_Declarations.md#declaration_modifiers)可选 **init** > -> *构造器头(Head)* → [属性集](./07_Attributes.md#attributes) 可选 [声明修饰符集](./06_Declarations.md#declaration_modifiers) 可选 **init ?** +> *构造器头(Head)* → [属性集](./07_Attributes.md#attributes)可选 [声明修饰符集](./06_Declarations.md#declaration_modifiers)可选 **init ?** > -> *构造器头(Head)* → [属性集](./07_Attributes.md#attributes) 可选 [声明修饰符集](./06_Declarations.md#declaration_modifiers) 可选 **init !** +> *构造器头(Head)* → [属性集](./07_Attributes.md#attributes)可选 [声明修饰符集](./06_Declarations.md#declaration_modifiers)可选 **init !** > > *构造器主体* → [代码块](./06_Declarations.md#code_block) > @@ -331,18 +331,18 @@ > 析构器声明语法 > -> *析构器声明* → [属性集](./07_Attributes.md#attributes) 可选 **deinit** [代码块](./06_Declarations.md#code_block) +> *析构器声明* → [属性集](./07_Attributes.md#attributes)可选 **deinit** [代码块](./06_Declarations.md#code_block) > > 扩展声明语法 > -> *扩展声明* → [属性集](./07_Attributes.md#attributes) 可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier) 可选 **extension** [类型标识](./03_Types.md#type_identifier) [类型继承子句](./03_Types.md#type_inheritance_clause) 可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [扩展主体](./06_Declarations.md#extension_body) +> *扩展声明* → [属性集](./07_Attributes.md#attributes)可选 [访问级别修饰符](./07_Attributes.md#access-level-modifier)可选 **extension** [类型标识](./03_Types.md#type_identifier) [类型继承子句](./03_Types.md#type_inheritance_clause)可选 [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [扩展主体](./06_Declarations.md#extension_body) > -> *扩展主体* → **{** [扩展成员集](./06_Declarations.md#declarations) 可选 **}** +> *扩展主体* → **{** [扩展成员集](./06_Declarations.md#declarations)可选 **}** > -> *扩展成员集* → [扩展成员](./06_Declarations.md#declarations) [扩展成员集](./06_Declarations.md#declarations) 可选 +> *扩展成员集* → [扩展成员](./06_Declarations.md#declarations) [扩展成员集](./06_Declarations.md#declarations)可选 > > *扩展成员* → [声明集](./06_Declarations.md#declarations) | [编译控制语句](./05_Statements.md#compiler-control-statement) > @@ -351,15 +351,15 @@ > 下标声明语法 > -> *下标声明* → [下标头](./06_Declarations.md#subscript_head) [下标结果](./06_Declarations.md#subscript_result) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [代码块](./06_Declarations.md#code_block) +> *下标声明* → [下标头](./06_Declarations.md#subscript_head) [下标结果](./06_Declarations.md#subscript_result) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [代码块](./06_Declarations.md#code_block) > -> *下标声明* → [下标头](./06_Declarations.md#subscript_head) [下标结果](./06_Declarations.md#subscript_result) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [getter-setter 块](./06_Declarations.md#getter_setter_block) +> *下标声明* → [下标头](./06_Declarations.md#subscript_head) [下标结果](./06_Declarations.md#subscript_result) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [getter-setter 块](./06_Declarations.md#getter_setter_block) > -> *下标声明* → [下标头](./06_Declarations.md#subscript_head) [下标结果](./06_Declarations.md#subscript_result) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause) 可选 [getter-setter 关键字块](./06_Declarations.md#getter_setter_keyword_block) +> *下标声明* → [下标头](./06_Declarations.md#subscript_head) [下标结果](./06_Declarations.md#subscript_result) [泛型 where 子句](./09_Generic_Parameters_and_Arguments.md#generic_where_clause)可选 [getter-setter 关键字块](./06_Declarations.md#getter_setter_keyword_block) > -> *下标头(Head)* → [属性集](./07_Attributes.md#attributes) 可选 [声明修饰符集](./06_Declarations.md#declaration_modifiers) 可选 **subscript** [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause) 可选 [参数子句](./06_Declarations.md#parameter_clause) +> *下标头(Head)* → [属性集](./07_Attributes.md#attributes)可选 [声明修饰符集](./06_Declarations.md#declaration_modifiers)可选 **subscript** [泛型参数子句](./09_Generic_Parameters_and_Arguments.md#generic_parameter_clause)可选 [参数子句](./06_Declarations.md#parameter_clause) > -> *下标结果(Result)* → **->** [属性集](./07_Attributes.md#attributes) 可选 [类型](./03_Types.md#type) +> *下标结果(Result)* → **->** [属性集](./07_Attributes.md#attributes)可选 [类型](./03_Types.md#type) > @@ -372,16 +372,16 @@ > > *后置运算符声明* → **postfix** **operator** [运算符](./02_Lexical_Structure.md#operator) > -> *中置运算符声明* → **infix** **operator** [运算符](./02_Lexical_Structure.md#operator) [中置运算符属性集](./06_Declarations.md#infix_operator_attributes) 可选 +> *中置运算符声明* → **infix** **operator** [运算符](./02_Lexical_Structure.md#operator) [中置运算符属性集](./06_Declarations.md#infix_operator_attributes)可选 > > *中置运算符属性集* → [优先级组名](./06_Declarations.md#precedence_group_name) > > 优先级组声明语法 > -> *优先级组声明* → **precedencegroup** [优先级组名](./06_Declarations.md#precedence_group_name) **{** [优先级组属性集](./06_Declarations.md#precedence_group_attributes) 可选 **}** +> *优先级组声明* → **precedencegroup** [优先级组名](./06_Declarations.md#precedence_group_name) **{** [优先级组属性集](./06_Declarations.md#precedence_group_attributes)可选 **}** > -> *优先级组属性集* → [优先级组属性](./06_Declarations.md#declarations) [优先级组属性集](./06_Declarations.md#declarations) 可选 +> *优先级组属性集* → [优先级组属性](./06_Declarations.md#declarations) [优先级组属性集](./06_Declarations.md#declarations)可选 > > *优先级组属性* → [优先级组关系](./06_Declarations.md#declarations) > @@ -415,7 +415,7 @@ > > *声明修饰符* → [可变性修饰符](./07_Attributes.md#mutation-modifier) > -> *声明修饰符集* → [声明修饰符](./06_Declarations.md#declaration_modifier) [声明修饰符集](./06_Declarations.md#declaration_modifiers) 可选 +> *声明修饰符集* → [声明修饰符](./06_Declarations.md#declaration_modifier) [声明修饰符集](./06_Declarations.md#declaration_modifiers)可选 > > *访问级别修饰符* → **private** | **private(set)** > @@ -434,21 +434,21 @@ > 属性语法 > -> *属性* → **@** [属性名](./07_Attributes.md#attribute_name) [属性参数子句](./07_Attributes.md#attribute_argument_clause) 可选 +> *属性* → **@** [属性名](./07_Attributes.md#attribute_name) [属性参数子句](./07_Attributes.md#attribute_argument_clause)可选 > > *属性名* → [标识符](./02_Lexical_Structure.md#identifier) > -> *属性参数子句* → **{** [平衡令牌集](./07_Attributes.md#balanced_tokens) 可选 **}** +> *属性参数子句* → **{** [平衡令牌集](./07_Attributes.md#balanced_tokens)可选 **}** > -> *属性(Attributes)集* → [属性](./07_Attributes.md#attribute) [属性集](./07_Attributes.md#attributes) 可选 +> *属性(Attributes)集* → [属性](./07_Attributes.md#attribute) [属性集](./07_Attributes.md#attributes)可选 > -> *平衡令牌集* → [平衡令牌](./07_Attributes.md#balanced_token) [平衡令牌集](./07_Attributes.md#balanced_tokens) 可选 +> *平衡令牌集* → [平衡令牌](./07_Attributes.md#balanced_token) [平衡令牌集](./07_Attributes.md#balanced_tokens)可选 > -> *平衡令牌* → **(** [平衡令牌集](./07_Attributes.md#balanced_tokens) 可选 **)** +> *平衡令牌* → **(** [平衡令牌集](./07_Attributes.md#balanced_tokens)可选 **)** > -> *平衡令牌* → **[** [平衡令牌集](./07_Attributes.md#balanced_tokens) 可选 **]** +> *平衡令牌* → **[** [平衡令牌集](./07_Attributes.md#balanced_tokens)可选 **]** > -> *平衡令牌* → **{** [平衡令牌集](./07_Attributes.md#balanced_tokens) 可选 **}** +> *平衡令牌* → **{** [平衡令牌集](./07_Attributes.md#balanced_tokens)可选 **}** > > *平衡令牌* → 任意标识符、关键字、字面量或运算符 > @@ -460,13 +460,13 @@ > 模式语法 > -> *模式* → [通配符模式](./08_Patterns.md#wildcard_pattern) [类型注解](./03_Types.md#type_annotation) 可选 +> *模式* → [通配符模式](./08_Patterns.md#wildcard_pattern) [类型注解](./03_Types.md#type_annotation)可选 > -> *模式* → [标识符模式](./08_Patterns.md#identifier_pattern) [类型注解](./03_Types.md#type_annotati Value Bindingon ) 可选 +> *模式* → [标识符模式](./08_Patterns.md#identifier_pattern) [类型注解](./03_Types.md#type_annotati Value Bindingon )可选 > > *模式* → [值绑定模式](./08_Patterns.md#value_binding_pattern) > -> *模式* → [元组模式](./08_Patterns.md#tuple_pattern) [类型注解](./03_Types.md#type_annotation) 可选 +> *模式* → [元组模式](./08_Patterns.md#tuple_pattern) [类型注解](./03_Types.md#type_annotation)可选 > > *模式* → [枚举 case 模式](./08_Patterns.md#enum_case_pattern) > @@ -502,7 +502,7 @@ > 元组模式语法 > -> *元组模式* → **(** [元组模式元素集](./08_Patterns.md#tuple_pattern_element_list) 可选 **)** +> *元组模式* → **(** [元组模式元素集](./08_Patterns.md#tuple_pattern_element_list)可选 **)** > > *元组模式元素集* → [元组模式元素](./08_Patterns.md#tuple_pattern_element) | [元组模式元素](./08_Patterns.md#tuple_pattern_element) **,** [元组模式元素集](./08_Patterns.md#tuple_pattern_element_list) > @@ -513,7 +513,7 @@ > 枚举 case 模式语法 > -> *enum-case-pattern* → [类型标识](./03_Types.md#type_identifier) 可选 **.** [枚举 case 名](./06_Declarations.md#enum_case_name) [元组模式](./08_Patterns.md#tuple_pattern) 可选 +> *enum-case-pattern* → [类型标识](./03_Types.md#type_identifier)可选 **.** [枚举 case 名](./06_Declarations.md#enum_case_name) [元组模式](./08_Patterns.md#tuple_pattern)可选 >