@@ -4,9 +4,8 @@ Swift 文档源文件地址:https://docs.swift.org/swift-book/documentation/th
4
4
翻译估计用时:⭐️⭐️⭐️⭐️⭐️
5
5
-->
6
6
7
- # Summary of the Grammar
8
-
9
- Read the whole formal grammar.
7
+ # 语法总结
8
+ 阅读完整的形式语法。
10
9
11
10
<!--
12
11
@@ -146,7 +145,7 @@ make the same change here also.
146
145
>
147
146
> * 多行字符串开分隔定界符* → * 字符串扩展分隔符* 可选 ** ` """ ` ** \
148
147
> * 多行字符串闭分隔定界符* → ** ` """ ` ** * 字符串扩展分隔符* 可选 \
149
- > * 字符串扩展分隔符* → ** ` # ` ** * 字符串扩展分隔符* 可选
148
+ > * 字符串扩展分隔符* → ** ` # ` ** * 字符串扩展分隔符* 可选
150
149
>
151
150
> * 引用文本* → * 引用文本项* * 引用文本* 可选 \
152
151
> * 引用文本项* → * 转义字符* \
@@ -166,7 +165,7 @@ make the same change here also.
166
165
> * 多行插值文本* → * 多行插值文本项* * 多行插值文本* 可选 \
167
166
> * 多行插值文本项* → ** ` \( ` ** * 表达式* ** ` ) ` ** | * 多行引用文本项*
168
167
>
169
- > * 转义序列* → ** ` \ ` ** * 字符串扩展分隔符* \
168
+ > * 转义序列* → ** ` \ ` ** * 字符串扩展分隔符* \
170
169
> * 转义字符* → * 转义序列* ** ` 0 ` ** | * 转义序列* ** ` \ ` ** | * 转义序列* ** ` t ` ** | * 转义序列* ** ` n ` ** | * 转义序列* ** ` r ` ** | * 转义序列* ** ` " ` ** | * 转义序列* ** ` ' ` ** \
171
170
> * 转义字符* → * 转义序列* ** ` u ` ** ** ` { ` ** * unicode-标量-数字* ** ` } ` ** \
172
171
> * unicode-标量-数字* → 一到八个十六进制数字
@@ -269,7 +268,7 @@ make the same change here also.
269
268
> * 函数类型参数* → * 属性* 可选 ** ` inout ` ** 可选 * 类型* | * 参数标签* * 类型注释* \
270
269
> * 参数标签* → * 标识符*
271
270
>
272
- > * 异常throws * → ** ` throws ` ** | ** ` throws ` ** ** ` ( ` ** * 类型* ** ` ) ` **
271
+ > * 异常 throws * → ** ` throws ` ** | ** ` throws ` ** ** ` ( ` ** * 类型* ** ` ) ` **
273
272
274
273
> 数组类型语法:
275
274
>
@@ -421,8 +420,8 @@ make the same change here also.
421
420
> * if 表达式尾* → ** ` else ` ** * if 表达式* \
422
421
> * if 表达式尾* → ** ` else ` ** ** ` { ` ** * 语句* ** ` } ` **
423
422
>
424
- > * switch 表达式* → ** ` switch ` ** * 表达式* ** ` { ` ** * switch表 达式 case * ** ` } ` ** \
425
- > * switch 表达式 case * → * switch 表达式 case * * switch 表达式 case * 可选 \
423
+ > * switch 表达式* → ** ` switch ` ** * 表达式* ** ` { ` ** * switch表 达式 case* ** ` } ` ** \
424
+ > * switch 表达式 case* → * switch 表达式 case* * switch 表达式 case* 可选 \
426
425
> * switch case 表达式* → * case 标签* * 语句* \
427
426
> * switch case 表达式* → * default 标签* * 语句*
428
427
@@ -469,7 +468,7 @@ make the same change here also.
469
468
>
470
469
> * 宏展开表达式* → ** ` # ` ** * 标识符* * 泛型参数子句* 可选 * 函数调用参数子句* 可选 * 尾随闭包* 可选
471
470
472
- > ke'y表达式语法 :
471
+ > key-path 表达式语法 :
473
472
>
474
473
> * key-path 表达式* → ** ` \ ` ** * 类型* 可选 ** ` . ` ** * key-path 组件* \
475
474
> * key-path 组件* → * key-path 组件* | * key-path 组件* ** ` . ` ** * key-path 组件* \
@@ -558,7 +557,7 @@ make the same change here also.
558
557
> * 语句* → * 延迟语句* ** ` ; ` ** 可选 \
559
558
> * 语句* → * 执行语句* ** ` ; ` ** 可选 \
560
559
> * 语句* → * 编译控制语句* \
561
- > * 语句集合 * → * 语句* * 语句集合 * 可选
560
+ > * 语句集 * → * 语句* * 语句集 * 可选
562
561
563
562
> 循环语句语法:
564
563
>
@@ -603,8 +602,8 @@ make the same change here also.
603
602
>
604
603
> * switch 语句* → ** ` switch ` ** * 表达式* ** ` { ` ** * switch 语句* 可选 ** ` } ` ** \
605
604
> * switch 语句* → * switch 语句* * switch 语句* 可选 \
606
- > * switch 语句* → * case 标签* * 语句集合 * \
607
- > * switch 语句* → * default 标签* * 语句集合 * \
605
+ > * switch 语句* → * case 标签* * 语句集 * \
606
+ > * switch 语句* → * default 标签* * 语句集 * \
608
607
> * switch 语句* → * 条件 switch 语句*
609
608
>
610
609
> * case 标签* → * 属性* 可选 ** ` case ` ** * case 项集* ** ` : ` ** \
@@ -679,7 +678,7 @@ make the same change here also.
679
678
> 条件编译块语法:
680
679
>
681
680
> * 条件编译块* → * if 指令子句* * elseif 指令子句集* 可选 * else 指令子句* 可选 * endif 指令* \
682
- > * if 指令子句* → * if 指令* * 编译条件* * 语句集合 * 可选 \
681
+ > * if 指令子句* → * if 指令* * 编译条件* * 语句集 * 可选 \
683
682
> * elseif 指令子句* → * elseif 指令子句* * elseif 指令子句集* 可选 \
684
683
> * elseif 指令子句* → * elseif 指令* * 编译条件* * 语句集* 可选 \
685
684
> * else 指令子句* → * else 指令* * 语句集* 可选 \
@@ -757,7 +756,7 @@ make the same change here also.
757
756
758
757
> 顶级声明语法:
759
758
>
760
- > * 顶级声明* → * 语句集合 * 可选
759
+ > * 顶级声明* → * 语句集 * 可选
761
760
762
761
> 代码块语法:
763
762
>
@@ -782,17 +781,17 @@ make the same change here also.
782
781
>
783
782
> * 变量声明* → * 变量声明头* * 模式构造器集* \
784
783
> * 变量声明* → * 变量声明头* * 变量名* * 类型注解* * 代码块* \
785
- > * 变量声明* → * 变量声明头* * 变量名* * 类型注解* * getter-setter * \
784
+ > * 变量声明* → * 变量声明头* * 变量名* * 类型注解* * getter-setter* \
786
785
> * 变量声明* → * 变量声明头* * 变量名* * 类型注解* * getter-setter 关键字(Keyword)块* \
787
786
> * 变量声明* → * 变量声明头* * 变量名* * 构造器* * willSet-didSet 块* \
788
787
> * 变量声明* → * 变量声明头* * 变量名* * 类型注解* * 构造器* 可选 * willSet-didSet 块*
789
788
>
790
789
> * 变量声明头* → * 属性* 可选 * 声明修饰符* 可选 ** ` var ` ** \
791
790
> * 变量名* → * 标识符*
792
791
>
793
- > * getter-setter * → * 代码块* \
794
- > * getter-setter * → ** ` { ` ** * getter 子句* * setter 子句* 可选 ** ` } ` ** \
795
- > * getter-setter * → ** ` { ` ** * setter 子句* * getter 子句* ** ` } ` ** \
792
+ > * getter-setter* → * 代码块* \
793
+ > * getter-setter* → ** ` { ` ** * getter 子句* * setter 子句* 可选 ** ` } ` ** \
794
+ > * getter-setter* → ** ` { ` ** * setter 子句* * getter 子句* ** ` } ` ** \
796
795
> * getter 子句* → * 属性* 可选 * 可变性修饰符* 可选 ** ` get ` ** * 代码块* \
797
796
> * setter 子句* → * 属性* 可选 * 可变性修饰符* 可选 ** ` set ` ** * setter 名* 可选 * 代码块* \
798
797
> * setter 名* → ** ` ( ` ** * 标识符* ** ` ) ` **
@@ -846,17 +845,17 @@ make the same change here also.
846
845
> * 联合式枚举成员* → * 联合式枚举成员* * 联合式枚举成员* 可选 \
847
846
> * 联合式枚举成员* → * 声明* | * 联合式枚举 case 子句* | * 编译控制语句* \
848
847
> * 联合式枚举 case 子句* → * 属性* 可选 ** ` indirect ` ** 可选 ** ` case ` ** * 联合式枚举 case 集* \
849
- > * 联合式枚举 case 集* → * 联合式枚举 case * | * 联合式枚举 case * ** ` , ` ** * 联合式枚举 case 集* \
850
- > * 联合式枚举 case * → * 枚举case名* * 元组类型* 可选 \
848
+ > * 联合式枚举 case 集* → * 联合式枚举 case* | * 联合式枚举 case* ** ` , ` ** * 联合式枚举 case 集* \
849
+ > * 联合式枚举 case* → * 枚举case名* * 元组类型* 可选 \
851
850
> * 枚举名* → * 标识符* \
852
851
> * 枚举 case 名* → * 标识符*
853
852
>
854
- > * 原始值式枚举* → ** ` enum ` ** * 枚举名* * 泛型参数子句* 可选 * 类型继承子句* * 泛型 where 子句* 可选 ** ` { ` ** * 原始值式枚举成员
853
+ > * 原始值式枚举* → ** ` enum ` ** * 枚举名* * 泛型参数子句* 可选 * 类型继承子句* * 泛型 where 子句* 可选 ** ` { ` ** * 原始值式枚举成员*
855
854
> * 原始值式枚举成员集* → * 原始值式枚举成员* * 原始值式枚举成员集* 可选 \
856
855
> * 原始值式枚举成员集* → * 声明* | * 原始值式枚举 case 子句* | * 编译控制语句* \
857
856
> * 原始值式枚举 case 子句* → * 属性* 可选 ** ` case ` ** * 原始值式枚举 case 集* \
858
- > * 原始值式枚举 case 集* → * 原始值式枚举 case * | * 原始值式枚举 case * ** ` , ` ** * 原始值式枚举 case 集* \
859
- > * 原始值式枚举 case * → * 枚举 case 名* * 原始值赋值* 可选 \
857
+ > * 原始值式枚举 case 集* → * 原始值式枚举 case* | * 原始值式枚举 case* ** ` , ` ** * 原始值式枚举 case 集* \
858
+ > * 原始值式枚举 case* → * 枚举 case 名* * 原始值赋值* 可选 \
860
859
> * 原始值赋值* → ** ` = ` ** * 原始值字面量* \
861
860
> * 原始值字面量* → * 数值字面量* | * 静态字符串字面量* | * 布尔字面量*
862
861
@@ -871,7 +870,7 @@ make the same change here also.
871
870
872
871
> 类声明语法:
873
872
>
874
- > * 类声明* → * 属性* 可选 * 访问级别修饰符* 可选 ** ` final ` ** 可选 ** ` class ` ** * 类名* * 泛型参数子句* 可选 * 类型继承子句* 可选 * 泛型 where 子句* 可选 * 类主体* \
873
+ > * 类声明* → * 属性* 可选 * 访问级别修饰符* 可选 ** ` final ` ** 可选 ** ` class ` ** * 类名* * 泛型参数子句* 可选 * 类型继承子句* 可选 * 泛型 where 子句* 可选 * 类主体* \
875
874
> * 类声明* → * 属性* 可选 ** ` final ` ** * 访问级别修饰符* 可选 ** ` class ` ** * 类名* * 泛型参数子句* 可选 * 类型继承子句* 可选 * 泛型 where子句* 可选 * 类主体* \
876
875
> * 类名* → * 标识符* \
877
876
> * 类主体* → ** ` { ` ** * 类成员* 可选 ** ` } ` **
@@ -927,8 +926,8 @@ make the same change here also.
927
926
928
927
> 构造器声明语法:
929
928
>
930
- > * 构造器声明* → * 构造器头* * 泛型参数子句* 可选 * 参数子句* ** ` async ` ** 可选 * 抛出子句* 可选 * 泛型 where 子句* 可选 * 构造器主体* \
931
- > * 构造器声明* → * 构造器头* * 泛型参数子句* 可选 * 参数子句* ** ` async ` ** 可选 ** ` rethrows ` ** * 泛型 where 子句* 可选 * 构造器主体* \
929
+ > * 构造器声明* → * 构造器头* * 泛型参数子句* 可选 * 参数子句* ** ` async ` ** 可选 * 抛出子句* 可选 * 泛型 where 子句* 可选 * 构造器主体* \
930
+ > * 构造器声明* → * 构造器头* * 泛型参数子句* 可选 * 参数子句* ** ` async ` ** 可选 ** ` rethrows ` ** * 泛型 where 子句* 可选 * 构造器主体* \
932
931
> * 构造器头* → * 属性* 可选 * 声明修饰符* 可选 ** ` init ` ** \
933
932
> * 构造器头* → * 属性* 可选 * 声明修饰符* 可选 ** ` init ` ** ** ` ? ` ** \
934
933
> * 构造器头* → * 属性* 可选 * 声明修饰符* 可选 ** ` init ` ** ** ` ! ` ** \
@@ -953,7 +952,6 @@ make the same change here also.
953
952
> * 下标声明* → * 下标头* * 下标结果* * 泛型 where 子句* 可选 * getter-setter 关键字块* \
954
953
> * 下标头* → * 属性* 可选 * 声明修饰符* 可选 ** ` subscript ` ** * 泛型参数子句* 可选 * 参数子句* \
955
954
> * 下标结果* → ** ` -> ` ** * 特性* 可选 * 类型*
956
- ```
957
955
958
956
> 宏声明语法:
959
957
>
@@ -1059,7 +1057,6 @@ make the same change here also.
1059
1057
> * 元组模式* → ** ` ( ` ** * 元组模式元素集* 可选 ** ` ) ` ** \
1060
1058
> * 元组模式元素集* → * 元组模式元素* | * 元组模式元素* ** ` , ` ** * 元组模式元素集* \
1061
1059
> * 元组模式元素* → * 模式* | * 标识符* ** ` : ` ** * 模式*
1062
- ```
1063
1060
1064
1061
> 枚举 case 模式语法:
1065
1062
>
0 commit comments