@@ -248,7 +248,7 @@ make the same change here also.
248
248
249
249
> 类型标识符的语法:
250
250
>
251
- > * 类型标识符* → * 类型名称* * 泛型参数子句 * 可选 | * 类型名称* * 泛型参数子句 * 可选 ** ` . ` ** * 类型标识符* \
251
+ > * 类型标识符* → * 类型名称* * 泛型实参子句 * 可选 | * 类型名称* * 泛型实参子句 * 可选 ** ` . ` ** * 类型标识符* \
252
252
> * 类型名称* → * 标识符*
253
253
254
254
> 元组类型的语法:
@@ -317,114 +317,114 @@ make the same change here also.
317
317
> * 类型继承从句* → ** ` : ` ** * 类型继承集* \
318
318
> * 类型继承集* → * 属性* 可选 * 类型标识符* | * 属性* 可选 * 类型标识符* ** ` , ` ** * 类型继承集*
319
319
320
- ## Expressions
320
+ ## 表达式
321
321
322
- > Grammar of an expression:
322
+ > 表达式的语法:
323
323
>
324
- > * expression * → * try-operator * 可选 * await-operator * 可选 * prefix-expression * * infix-expressions * 可选 \
324
+ > * 表达式 * → * try 运算符 * 可选 * await 运算符 * 可选 * 前缀表达式 * * 中缀表达式 * 可选 \
325
325
326
- > Grammar of a prefix expression:
326
+ > 前缀表达式的语法:
327
327
>
328
- > * prefix-expression * → * prefix-operator * 可选 * postfix-expression * \
329
- > * prefix-expression * → * in-out-expression *
328
+ > * 前缀表达式 * → * 前缀运算符 * 可选 * 后缀表达式 * \
329
+ > * 前缀表达式 * → * 输入输出表达式 *
330
330
331
- > Grammar of an in-out expression:
331
+ > 输入输出表达式的语法:
332
332
>
333
- > * in-out-expression * → ** ` & ` ** * primary-expression *
333
+ > * 输入输出表达式 * → ** ` & ` ** * 基础表达式 *
334
334
335
- > Grammar of a try expression:
335
+ > try 表达式的语法:
336
336
>
337
- > * try-operator * → ** ` try ` ** | ** ` try ` ** ** ` ? ` ** | ** ` try ` ** ** ` ! ` **
337
+ > * try 运算符 * → ** ` try ` ** | ** ` try ` ** ** ` ? ` ** | ** ` try ` ** ** ` ! ` **
338
338
339
- > Grammar of an await expression:
339
+ > await 表达式的语法:
340
340
>
341
- > * await-operator * → ** ` await ` **
341
+ > * await 运算符 * → ** ` await ` **
342
342
343
- > Grammar of an infix expression:
343
+ > 中缀表达式的语法:
344
344
>
345
- > * infix-expression * → * infix-operator * * prefix-expression * \
346
- > * infix-expression * → * assignment-operator * * try-operator * 可选 * await-operator * 可选 * prefix-expression * \
347
- > * infix-expression * → * conditional-operator * * try-operator * 可选 * await-operator * 可选 * prefix-expression * \
348
- > * infix-expression * → * type-casting-operator * \
349
- > * infix-expressions * → * infix-expression * * infix-expressions * 可选
345
+ > * 中缀表达式 * → * 中缀运算符 * * 前缀表达式 * \
346
+ > * 中缀表达式 * → * 赋值运算符 * * try 运算符 * 可选 * await 运算符 * 可选 * 前缀表达式 * \
347
+ > * 中缀表达式 * → * 条件运算符 * * try 运算符 * 可选 * await 运算符 * 可选 * 前缀表达式 * \
348
+ > * 中缀表达式 * → * 类型转换运算符 * \
349
+ > * 中缀表达式 * → * 中缀表达式 * * 中缀表达式 * 可选
350
350
351
- > Grammar of an assignment operator:
351
+ > 赋值运算符的语法:
352
352
>
353
- > * assignment-operator * → ** ` = ` **
353
+ > * 赋值运算符 * → ** ` = ` **
354
354
355
- > Grammar of a conditional operator:
355
+ > 条件运算符的语法:
356
356
>
357
- > * conditional-operator * → ** ` ? ` ** * expression * ** ` : ` **
357
+ > * 条件运算符 * → ** ` ? ` ** * 表达式 * ** ` : ` **
358
358
359
- > Grammar of a type-casting operator:
359
+ > 类型转换运算符的语法:
360
360
>
361
- > * type-casting-operator * → ** ` is ` ** * type * \
362
- > * type-casting-operator * → ** ` as ` ** * type * \
363
- > * type-casting-operator * → ** ` as ` ** ** ` ? ` ** * type * \
364
- > * type-casting-operator * → ** ` as ` ** ** ` ! ` ** * type *
361
+ > * 类型转换运算符 * → ** ` is ` ** * 类型 * \
362
+ > * 类型转换运算符 * → ** ` as ` ** * 类型 * \
363
+ > * 类型转换运算符 * → ** ` as ` ** ** ` ? ` ** * 类型 * \
364
+ > * 类型转换运算符 * → ** ` as ` ** ** ` ! ` ** * 类型 *
365
365
366
- > Grammar of a primary expression:
366
+ > 基础表达式的语法:
367
367
>
368
- > * primary-expression * → * identifier * * generic-argument-clause * 可选 \
369
- > * primary-expression * → * literal-expression * \
370
- > * primary-expression * → * self-expression * \
371
- > * primary-expression * → * superclass-expression * \
372
- > * primary-expression * → * conditional-expression * \
373
- > * primary-expression * → * closure-expression * \
374
- > * primary-expression * → * parenthesized-expression * \
375
- > * primary-expression * → * tuple-expression * \
376
- > * primary-expression * → * implicit-member-expression * \
377
- > * primary-expression * → * wildcard-expression * \
378
- > * primary-expression * → * macro-expansion-expression * \
379
- > * primary-expression * → * key-path-expression * \
380
- > * primary-expression * → * selector-expression * \
381
- > * primary-expression * → * key-path-string-expression *
368
+ > * 基础表达式 * → * 标识符 * * 泛型实参子句 * 可选 \
369
+ > * 基础表达式 * → * 字面量表达式 * \
370
+ > * 基础表达式 * → * self 表达式 * \
371
+ > * 基础表达式 * → * 父类表达式 * \
372
+ > * 基础表达式 * → * 条件表达式 * \
373
+ > * 基础表达式 * → * 闭包表达式 * \
374
+ > * 基础表达式 * → * 圆括号表达式 * \
375
+ > * 基础表达式 * → * 元组表达式 * \
376
+ > * 基础表达式 * → * 隐式成员表达式 * \
377
+ > * 基础表达式 * → * 通配符表达式 * \
378
+ > * 基础表达式 * → * 宏展开表达式 * \
379
+ > * 基础表达式 * → * key-path 表达式 * \
380
+ > * 基础表达式 * → * 选择器表达式 * \
381
+ > * 基础表达式 * → * key-path字符串表达式 *
382
382
383
- > Grammar of a literal expression:
383
+ > 字面量表达式的语法:
384
384
>
385
- > * literal-expression * → * literal * \
386
- > * literal-expression * → * array-literal * | * dictionary-literal * | * playground-literal *
385
+ > * 字面量表达式 * → * 字面量 * \
386
+ > * 字面量表达式 * → * 数组字面量 * | * 字典字面量 * | * playground 字面量 *
387
387
>
388
- > * array-literal * → ** ` [ ` ** * array-literal-items * 可选 ** ` ] ` ** \
389
- > * array-literal-items * → * array-literal-item * ** ` , ` ** 可选 | * array-literal-item * ** ` , ` ** * array-literal-items * \
390
- > * array-literal-item * → * expression *
388
+ > * 数组字面量 * → ** ` [ ` ** * 数组字面量项 * 可选 ** ` ] ` ** \
389
+ > * 数组字面量项 * → * 数组字面量项 * ** ` , ` ** 可选 | * 数组字面量项 * ** ` , ` ** * 数组字面量项 * \
390
+ > * 数组字面量项 * → * 表达式 *
391
391
>
392
- > * dictionary-literal * → ** ` [ ` ** * dictionary-literal-items * ** ` ] ` ** | ** ` [ ` ** ** ` : ` ** ** ` ] ` ** \
393
- > * dictionary-literal-items * → * dictionary-literal-item * ** ` , ` ** 可选 | * dictionary-literal-item * ** ` , ` ** * dictionary-literal-items * \
394
- > * dictionary-literal-item * → * expression * ** ` : ` ** * expression *
392
+ > * 字典字面量 * → ** ` [ ` ** * 字典字面量项 * ** ` ] ` ** | ** ` [ ` ** ** ` : ` ** ** ` ] ` ** \
393
+ > * 字典字面量项 * → * 字典字面量项 * ** ` , ` ** 可选 | * 字典字面量项 * ** ` , ` ** * 字典字面量项 * \
394
+ > * 字典字面量项 * → * 表达式 * ** ` : ` ** * 表达式 *
395
395
>
396
- > * playground-literal * → ** ` #colorLiteral ` ** ** ` ( ` ** ** ` red ` ** ** ` : ` ** * expression * ** ` , ` ** ** ` green ` ** ** ` : ` ** * expression * ** ` , ` ** ** ` blue ` ** ** ` : ` ** * expression * ** ` , ` ** ** ` alpha ` ** ** ` : ` ** * expression * ** ` ) ` ** \
397
- > * playground-literal * → ** ` #fileLiteral ` ** ** ` ( ` ** ** ` resourceName ` ** ** ` : ` ** * expression * ** ` ) ` ** \
398
- > * playground-literal * → ** ` #imageLiteral ` ** ** ` ( ` ** ** ` resourceName ` ** ** ` : ` ** * expression * ** ` ) ` **
396
+ > * playground 字面量 * → ** ` #colorLiteral ` ** ** ` ( ` ** ** ` red ` ** ** ` : ` ** * 表达式 * ** ` , ` ** ** ` green ` ** ** ` : ` ** * 表达式 * ** ` , ` ** ** ` blue ` ** ** ` : ` ** * 表达式 * ** ` , ` ** ** ` alpha ` ** ** ` : ` ** * 表达式 * ** ` ) ` ** \
397
+ > * playground 字面量 * → ** ` #fileLiteral ` ** ** ` ( ` ** ** ` resourceName ` ** ** ` : ` ** * 表达式 * ** ` ) ` ** \
398
+ > * playground 字面量 * → ** ` #imageLiteral ` ** ** ` ( ` ** ** ` resourceName ` ** ** ` : ` ** * 表达式 * ** ` ) ` **
399
399
400
- > Grammar of a self expression:
400
+ > self 表达式的语法:
401
401
>
402
- > * self-expression * → ** ` self ` ** | * self-method-expression * | * self-subscript-expression * | * self-initializer-expression *
402
+ > * self 表达式 * → ** ` self ` ** | * self 方法表达式 * | * self 下标表达式 * | * self 构造器表达式 *
403
403
>
404
- > * self-method-expression * → ** ` self ` ** ** ` . ` ** * identifier * \
405
- > * self-subscript-expression * → ** ` self ` ** ** ` [ ` ** * function-call-argument-list * ** ` ] ` ** \
406
- > * self-initializer-expression * → ** ` self ` ** ** ` . ` ** ** ` init ` **
404
+ > * self 方法表达式 * → ** ` self ` ** ** ` . ` ** * 标识符 * \
405
+ > * self 下标表达式 * → ** ` self ` ** ** ` [ ` ** * 函数调用参数表 * ** ` ] ` ** \
406
+ > * self 构造器表达式 * → ** ` self ` ** ** ` . ` ** ** ` init ` **
407
407
408
- > Grammar of a superclass expression:
408
+ > 父类表达式的语法:
409
409
>
410
- > * superclass-expression * → * superclass-method-expression * | * superclass-subscript-expression * | * superclass-initializer-expression *
410
+ > * 父类表达式 * → * 父类方法表达式 * | * 父类下标表达式 * | * 父类构造器表达式 *
411
411
>
412
- > * superclass-method-expression * → ** ` super ` ** ** ` . ` ** * identifier * \
413
- > * superclass-subscript-expression * → ** ` super ` ** ** ` [ ` ** * function-call-argument-list * ** ` ] ` ** \
414
- > * superclass-initializer-expression * → ** ` super ` ** ** ` . ` ** ** ` init ` **
412
+ > * 父类方法表达式 * → ** ` super ` ** ** ` . ` ** * 标识符 * \
413
+ > * 父类下标表达式 * → ** ` super ` ** ** ` [ ` ** * 函数调用参数表 * ** ` ] ` ** \
414
+ > * 父类构造器表达式 * → ** ` super ` ** ** ` . ` ** ** ` init ` **
415
415
416
- > Grammar of a conditional expression:
416
+ > 条件表达式的语法:
417
417
>
418
- > * conditional-expression * → * if-expression * | * switch-expression *
418
+ > * 条件表达式 * → * if 表达式 * | * switch 表达式 *
419
419
>
420
- > * if-expression * → ** ` if ` ** * condition-list * ** ` { ` ** * statement * ** ` } ` ** * if-expression-tail * \
421
- > * if-expression-tail * → ** ` else ` ** * if-expression * \
422
- > * if-expression-tail * → ** ` else ` ** ** ` { ` ** * statement * ** ` } ` **
420
+ > * if 表达式 * → ** ` if ` ** * 条件列表 * ** ` { ` ** * 语句 * ** ` } ` ** * if 表达式尾 * \
421
+ > * if 表达式尾 * → ** ` else ` ** * if 表达式 * \
422
+ > * if 表达式尾 * → ** ` else ` ** ** ` { ` ** * 语句 * ** ` } ` **
423
423
>
424
- > * switch-expression * → ** ` switch ` ** * expression * ** ` { ` ** * switch-expression-cases * ** ` } ` ** \
425
- > * switch-expression-cases * → * switch-expression-case * * switch-expression-cases * 可选 \
426
- > * switch-expression- case* → * case-label * * statement * \
427
- > * switch-expression- case* → * default-label * * statement *
424
+ > * switch 表达式 * → ** ` switch ` ** * 表达式 * ** ` { ` ** * switch表 达式案例 * ** ` } ` ** \
425
+ > * switch 表达式案例 * → * switch 表达式案例 * * switch 表达式案例 * 可选 \
426
+ > * switch case 表达式 * → * case 标签 * * 语句 * \
427
+ > * switch case 表达式 * → * default 标签 * * 语句 *
428
428
429
429
> Grammar of a closure expression:
430
430
>
0 commit comments