@@ -421,8 +421,8 @@ make the same change here also.
421
421
> * if 表达式尾* → ** ` else ` ** * if 表达式* \
422
422
> * if 表达式尾* → ** ` else ` ** ** ` { ` ** * 语句* ** ` } ` **
423
423
>
424
- > * switch 表达式* → ** ` switch ` ** * 表达式* ** ` { ` ** * switch表 达式案例 * ** ` } ` ** \
425
- > * switch 表达式案例 * → * switch 表达式案例 * * switch 表达式案例 * 可选 \
424
+ > * switch 表达式* → ** ` switch ` ** * 表达式* ** ` { ` ** * switch表 达式 case * ** ` } ` ** \
425
+ > * switch 表达式 case * → * switch 表达式 case * * switch 表达式 case * 可选 \
426
426
> * switch case 表达式* → * case 标签* * 语句* \
427
427
> * switch case 表达式* → * default 标签* * 语句*
428
428
@@ -734,124 +734,124 @@ make the same change here also.
734
734
> * 平台版本* → * 十进制数字* ** ` . ` ** * 十进制数字* \
735
735
> * 平台版本* → * 十进制数字* ** ` . ` ** * 十进制数字* ** ` . ` ** * 十进制数字*
736
736
737
- ## Declarations
737
+ ## 声明
738
738
739
- > Grammar of a declaration:
739
+ > 声明的语法:
740
740
>
741
- > * declaration * → * import-declaration * \
742
- > * declaration * → * constant-declaration * \
743
- > * declaration * → * variable-declaration * \
744
- > * declaration * → * typealias-declaration * \
745
- > * declaration * → * function-declaration * \
746
- > * declaration * → * enum-declaration * \
747
- > * declaration * → * struct-declaration * \
748
- > * declaration * → * class-declaration * \
749
- > * declaration * → * actor-declaration * \
750
- > * declaration * → * protocol-declaration * \
751
- > * declaration * → * initializer-declaration * \
752
- > * declaration * → * deinitializer-declaration * \
753
- > * declaration * → * extension-declaration * \
754
- > * declaration * → * subscript-declaration * \
755
- > * declaration * → * operator-declaration * \
756
- > * declaration * → * precedence-group-declaration * \
741
+ > * 声明 * → * 导入声明 * \
742
+ > * 声明 * → * 常量声明 * \
743
+ > * 声明 * → * 变量声明 * \
744
+ > * 声明 * → * 类型别名声明 * \
745
+ > * 声明 * → * 函数声明 * \
746
+ > * 声明 * → * 枚举声明 * \
747
+ > * 声明 * → * 结构体声明 * \
748
+ > * 声明 * → * 类声明 * \
749
+ > * 声明 * → * actor 声明 * \
750
+ > * 声明 * → * 协议声明 * \
751
+ > * 声明 * → * 构造器声明 * \
752
+ > * 声明 * → * 析构器声明 * \
753
+ > * 声明 * → * 扩展声明 * \
754
+ > * 声明 * → * 下标声明 * \
755
+ > * 声明 * → * 运算符声明 * \
756
+ > * 声明 * → * 优先级组声明 *
757
757
758
- > Grammar of a top-level declaration:
758
+ > 顶级声明的语法:
759
759
>
760
- > * top-level-declaration * → * statements * 可选
760
+ > * 顶级声明 * → * 语句集合 * 可选
761
761
762
- > Grammar of a code block:
762
+ > 代码块的语法:
763
763
>
764
- > * code-block * → ** ` { ` ** * statements * 可选 ** ` } ` **
764
+ > * 代码块 * → ** ` { ` ** * 语句集 * 可选 ** ` } ` **
765
765
766
- > Grammar of an import declaration:
766
+ > 导入声明的语法:
767
767
>
768
- > * import-declaration * → * attributes * 可选 ** ` import ` ** * import-kind * 可选 * import-path *
768
+ > * 导入声明 * → * 属性 * 可选 ** ` import ` ** * 导入类型 * 可选 * 导入路径 *
769
769
>
770
- > * import-kind * → ** ` typealias ` ** | ** ` struct ` ** | ** ` class ` ** | ** ` enum ` ** | ** ` protocol ` ** | ** ` let ` ** | ** ` var ` ** | ** ` func ` ** \
771
- > * import-path * → * identifier * | * identifier * ** ` . ` ** * import-path *
770
+ > * 导入类型 * → ** ` typealias ` ** | ** ` struct ` ** | ** ` class ` ** | ** ` enum ` ** | ** ` protocol ` ** | ** ` let ` ** | ** ` var ` ** | ** ` func ` ** \
771
+ > * 导入路径 * → * 标识符 * | * 标识符 * ** ` . ` ** * 导入路径 *
772
772
773
- > Grammar of a constant declaration:
773
+ > 常量声明的语法:
774
774
>
775
- > * constant-declaration * → * attributes * 可选 * declaration-modifiers * 可选 ** ` let ` ** * pattern-initializer-list *
775
+ > * 常量声明 * → * 属性 * 可选 * 声明修饰符 * 可选 ** ` let ` ** * 模式构造器列表 *
776
776
>
777
- > * pattern-initializer-list * → * pattern-initializer * | * pattern-initializer * ** ` , ` ** * pattern-initializer-list * \
778
- > * pattern-initializer * → * pattern * * initializer * 可选 \
779
- > * initializer * → ** ` = ` ** * expression *
777
+ > * 模式构造器列表 * → * 模式构造器 * | * 模式构造器 * ** ` , ` ** * 模式构造器列表 * \
778
+ > * 模式构造器 * → * 模式 * * 初始化器 * 可选 \
779
+ > * 初始化器 * → ** ` = ` ** * 表达式 *
780
780
781
- > Grammar of a variable declaration:
781
+ > 变量声明的语法:
782
782
>
783
- > * variable-declaration * → * variable-declaration-head * * pattern-initializer-list * \
784
- > * variable-declaration * → * variable-declaration-head * * variable-name * * type-annotation * * code-block * \
785
- > * variable-declaration * → * variable-declaration-head * * variable-name * * type-annotation * * getter-setter-block * \
786
- > * variable-declaration * → * variable-declaration-head * * variable-name * * type-annotation * * getter-setter-keyword-block * \
787
- > * variable-declaration * → * variable-declaration-head * * variable-name * * initializer * * willSet-didSet-block * \
788
- > * variable-declaration * → * variable-declaration-head * * variable-name * * type-annotation * * initializer * 可选 * willSet-didSet-block *
783
+ > * 变量声明 * → * 变量声明头 * * 模式构造器列表 * \
784
+ > * 变量声明 * → * 变量声明头 * * 变量名称 * * 类型注解 * * 代码块 * \
785
+ > * 变量声明 * → * 变量声明头 * * 变量名称 * * 类型注解 * * getter-setter * \
786
+ > * 变量声明 * → * 变量声明头 * * 变量名称 * * 类型注解 * * getter-setter 关键字(Keyword)块 * \
787
+ > * 变量声明 * → * 变量声明头 * * 变量名称 * * 初始化器 * * willSet-didSet 块 * \
788
+ > * 变量声明 * → * 变量声明头 * * 变量名称 * * 类型注解 * * 构造器 * 可选 * willSet-didSet 块 *
789
789
>
790
- > * variable-declaration-head * → * attributes * 可选 * declaration-modifiers * 可选 ** ` var ` ** \
791
- > * variable-name * → * identifier *
790
+ > * 变量声明头 * → * 属性 * 可选 * 声明修饰符 * 可选 ** ` var ` ** \
791
+ > * 变量名称 * → * 标识符 *
792
792
>
793
- > * getter-setter-block * → * code-block * \
794
- > * getter-setter-block * → ** ` { ` ** * getter-clause * * setter-clause * 可选 ** ` } ` ** \
795
- > * getter-setter-block * → ** ` { ` ** * setter-clause * * getter-clause * ** ` } ` ** \
796
- > * getter-clause * → * attributes * 可选 * mutation-modifier * 可选 ** ` get ` ** * code-block * \
797
- > * setter-clause * → * attributes * 可选 * mutation-modifier * 可选 ** ` set ` ** * setter-name * 可选 * code-block * \
798
- > * setter-name * → ** ` ( ` ** * identifier * ** ` ) ` **
793
+ > * getter-setter * → * 代码块 * \
794
+ > * getter-setter * → ** ` { ` ** * getter 子句 * * setter 子句 * 可选 ** ` } ` ** \
795
+ > * getter-setter * → ** ` { ` ** * setter 子句 * * getter 子句 * ** ` } ` ** \
796
+ > * getter 子句 * → * 属性 * 可选 * 可变性修饰符 * 可选 ** ` get ` ** * 代码块 * \
797
+ > * setter 子句 * → * 属性 * 可选 * 可变性修饰符 * 可选 ** ` set ` ** * setter 名称 * 可选 * 代码块 * \
798
+ > * setter 名称 * → ** ` ( ` ** * 标识符 * ** ` ) ` **
799
799
>
800
- > * getter-setter-keyword-block * → ** ` { ` ** * getter-keyword-clause * * setter-keyword-clause * 可选 ** ` } ` ** \
801
- > * getter-setter-keyword-block * → ** ` { ` ** * setter-keyword-clause * * getter-keyword-clause * ** ` } ` ** \
802
- > * getter-keyword-clause * → * attributes * 可选 * mutation-modifier * 可选 ** ` get ` ** \
803
- > * setter-keyword-clause * → * attributes * 可选 * mutation-modifier * 可选 ** ` set ` **
800
+ > * getter-setter 关键字(Keyword)块 * → ** ` { ` ** * getter 关键字子句 * * setter 关键字子句 * 可选 ** ` } ` ** \
801
+ > * getter-setter 关键字(Keyword)块 * → ** ` { ` ** * setter关键字子句 * * getter 关键字子句 * ** ` } ` ** \
802
+ > * getter 关键字子句 * → * 属性 * 可选 * 可变性修饰符 * 可选 ** ` get ` ** \
803
+ > * setter 关键字子句 * → * 属性 * 可选 * 可变性修饰符 * 可选 ** ` set ` **
804
804
>
805
- > * willSet-didSet-block * → ** ` { ` ** * willSet-clause * * didSet-clause * 可选 ** ` } ` ** \
806
- > * willSet-didSet-block * → ** ` { ` ** * didSet-clause * * willSet-clause * 可选 ** ` } ` ** \
807
- > * willSet-clause * → * attributes * 可选 ** ` willSet ` ** * setter-name * 可选 * code-block * \
808
- > * didSet-clause * → * attributes * 可选 ** ` didSet ` ** * setter-name * 可选 * code-block *
805
+ > * willSet-didSet 块 * → ** ` { ` ** * willSet 子句 * * didSet 子句 * 可选 ** ` } ` ** \
806
+ > * willSet-didSet 块 * → ** ` { ` ** * didSet 子句 * * willSet 子句 * 可选 ** ` } ` ** \
807
+ > * willSet 子句 * → * 属性 * 可选 ** ` willSet ` ** * setter 名称 * 可选 * 代码块 * \
808
+ > * didSet 子句 * → * 属性 * 可选 ** ` didSet ` ** * setter 名称 * 可选 * 代码块 *
809
809
810
- > Grammar of a type alias declaration:
810
+ > 类型别名声明的语法:
811
811
>
812
- > * typealias-declaration * → * attributes * 可选 * access-level-modifier * 可选 ** ` typealias ` ** * typealias-name * * generic-parameter-clause * 可选 * typealias-assignment * \
813
- > * typealias-name * → * identifier * \
814
- > * typealias-assignment * → ** ` = ` ** * type *
812
+ > * 类型别名声明 * → * 属性 * 可选 * 访问级别修饰符 * 可选 ** ` typealias ` ** * 类型别名名称 * * 泛型参数子句 * 可选 * 类型别名赋值 * \
813
+ > * 类型别名名称 * → * 标识符 * \
814
+ > * 类型别名赋值 * → ** ` = ` ** * 类型 *
815
815
816
- > Grammar of a function declaration:
816
+ > 函数声明的语法:
817
817
>
818
- > * function-declaration * → * function-head * * function-name * * generic-parameter-clause * 可选 * function-signature * * generic- where-clause * 可选 * function-body * 可选
818
+ > * 函数声明 * → * 函数头 * * 函数名称 * * 泛型参数子句 * 可选 * 函数签名 * * 泛型 where 子句 * 可选 * 函数体 * 可选
819
819
>
820
- > * function-head * → * attributes * 可选 * declaration-modifiers * 可选 ** ` func ` ** \
821
- > * function-name * → * identifier * | * operator *
820
+ > * 函数头 * → * 属性 * 可选 * 声明修饰符 * 可选 ** ` func ` ** \
821
+ > * 函数名称 * → * 标识符 * | * 运算符 *
822
822
>
823
- > * function-signature * → * parameter-clause * ** ` async ` ** 可选 * throws-clause * 可选 * function-result * 可选 \
824
- > * function-signature * → * parameter-clause * ** ` async ` ** 可选 ** ` rethrows ` ** * function-result * 可选 \
825
- > * function-result * → ** ` -> ` ** * attributes * 可选 * type * \
826
- > * function-body * → * code-block *
823
+ > * 函数签名 * → * 参数子句 * ** ` async ` ** 可选 * throws 子句 * 可选 * 函数结果 * 可选 \
824
+ > * 函数签名 * → * 参数子句 * ** ` async ` ** 可选 ** ` rethrows ` ** * 函数结果 * 可选 \
825
+ > * 函数结果 * → ** ` -> ` ** * 属性 * 可选 * 类型 * \
826
+ > * 函数体 * → * 代码块 *
827
827
>
828
- > * parameter-clause * → ** ` ( ` ** ** ` ) ` ** | ** ` ( ` ** * parameter-list * ** ` ) ` ** \
829
- > * parameter-list * → * parameter * | * parameter * ** ` , ` ** * parameter-list * \
830
- > * parameter * → * external-parameter-name * 可选 * local-parameter-name * * parameter-type-annotation * * default-argument-clause * 可选 \
831
- > * parameter * → * external-parameter-name * 可选 * local-parameter-name * * parameter-type-annotation * \
832
- > * parameter * → * external-parameter-name * 可选 * local-parameter-name * * parameter-type-annotation * ** ` ... ` **
828
+ > * 参数子句 * → ** ` ( ` ** ** ` ) ` ** | ** ` ( ` ** * 参数列表 * ** ` ) ` ** \
829
+ > * 参数列表 * → * 参数 * | * 参数 * ** ` , ` ** * 参数列表 * \
830
+ > * 参数 * → * 外部参数名 * 可选 * 本地参数名 * * 参数类型注解 * * 默认参数子句 * 可选 \
831
+ > * 参数 * → * 外部参数名 * 可选 * 本地参数名 * * 参数类型注解 * \
832
+ > * 参数 * → * 外部参数名 * 可选 * 本地参数名 * * 参数类型注解 * ** ` ... ` **
833
833
>
834
- > * external-parameter-name * → * identifier * \
835
- > * local-parameter-name * → * identifier * \
836
- > * parameter-type-annotation * → ** ` : ` ** * attributes * 可选 * parameter-modifier * 可选 * type * \
837
- > * parameter-modifier * → ** ` inout ` ** | ** ` borrowing ` ** | ** ` consuming ` **
838
- > * default-argument-clause * → ** ` = ` ** * expression *
834
+ > * 外部参数名 * → * 标识符 * \
835
+ > * 本地参数名 * → * 标识符 * \
836
+ > * 参数类型注解 * → ** ` : ` ** * 属性 * 可选 * 参数修饰符 * 可选 * 类型 * \
837
+ > * 参数修饰符 * → ** ` inout ` ** | ** ` borrowing ` ** | ** ` consuming ` ** \
838
+ > * 默认参数子句 * → ** ` = ` ** * 表达式 *
839
839
840
- > Grammar of an enumeration declaration:
840
+ > 枚举声明的语法:
841
841
>
842
- > * enum-declaration * → * attributes * 可选 * access-level-modifier * 可选 * union-style-enum * \
843
- > * enum-declaration * → * attributes * 可选 * access-level-modifier * 可选 * raw-value-style-enum *
842
+ > * 枚举声明 * → * 属性 * 可选 * 访问级别修饰符 * 可选 * 联合式枚举 * \
843
+ > * 枚举声明 * → * 属性 * 可选 * 访问级别修饰符 * 可选 * 原始值式枚举 *
844
844
>
845
- > * union-style-enum * → ** ` indirect ` ** 可选 ** ` enum ` ** * enum-name * * generic-parameter-clause * 可选 * type-inheritance-clause * 可选 * generic- where-clause * 可选 ** ` { ` ** * union-style-enum-members * 可选 ** ` } ` ** \
846
- > * union-style-enum-members * → * union-style-enum-member * * union-style-enum-members * 可选 \
847
- > * union-style-enum-member * → * declaration * | * union-style-enum- case-clause * | * compiler-control-statement * \
848
- > * union-style-enum- case-clause * → * attributes * 可选 ** ` indirect ` ** 可选 ** ` case ` ** * union-style-enum- case-list * \
849
- > * union-style-enum- case-list * → * union-style-enum- case* | * union-style-enum- case* ** ` , ` ** * union-style-enum- case-list * \
850
- > * union-style-enum- case* → * enum-case-name * * tuple-type * 可选 \
851
- > * enum-name * → * identifier * \
852
- > * enum- case-name * → * identifier *
845
+ > * 联合式枚举 * → ** ` indirect ` ** 可选 ** ` enum ` ** * 枚举名称 * * 泛型参数子句 * 可选 * 类型继承子句 * 可选 * 泛型 where 子句 * 可选 ** ` { ` ** * 联合式枚举成员 * 可选 ** ` } ` ** \
846
+ > * 联合式枚举成员 * → * 联合式枚举成员 * * 联合式枚举成员 * 可选 \
847
+ > * 联合式枚举成员 * → * 声明 * | * 联合式枚举 case 子句 * | * 编译控制语句 * \
848
+ > * 联合式枚举 case 子句 * → * 属性 * 可选 ** ` indirect ` ** 可选 ** ` case ` ** * 联合式枚举 case 列表 * \
849
+ > * 联合式枚举 case 列表 * → * 联合式枚举 case * | * 联合式枚举 case * ** ` , ` ** * 联合式枚举 case 列表 * \
850
+ > * 联合式枚举 case * → * 枚举case名称 * * 元组类型 * 可选 \
851
+ > * 枚举名称 * → * 标识符 * \
852
+ > * 枚举 case 名称 * → * 标识符 *
853
853
>
854
- > * raw-value-style-enum * → ** ` enum ` ** * enum-name * * generic-parameter-clause * 可选 * type-inheritance-clause * * generic- where-clause * 可选 ** ` { ` ** * raw-value-style-enum-members * ** ` } ` ** \
854
+ > * 原始值式枚举 * → ** ` enum ` ** * 枚举名称 * * 泛型参数子句 * 可选 * 类型继承子句 * * 泛型 where 子句 * 可选 ** ` { ` ** * 原始值式枚举成员
855
855
> * raw-value-style-enum-members* → * raw-value-style-enum-member* * raw-value-style-enum-members* 可选 \
856
856
> * raw-value-style-enum-member* → * declaration* | * raw-value-style-enum-case-clause* | * compiler-control-statement* \
857
857
> * raw-value-style-enum-case-clause* → * attributes* 可选 ** ` case ` ** * raw-value-style-enum-case-list* \
0 commit comments