★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/9740057.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
本系列文章的这一部分描述了Swift编程语言的形式语法。此处描述的语法旨在帮助您更详细地理解语言,而不是允许您直接实现解析器或编译器。
Swift语言相对较小,因为Swift代码中几乎无处不在的许多常见类型,函数和运算符实际上都是在Swift标准库中定义的。虽然这些类型,函数和运算符不是Swift语言本身的一部分,但它们在本书的这一部分的讨论和代码示例中被广泛使用。
如何阅读语法
用于描述Swift编程语言的形式语法的符号遵循一些约定:
- 箭头(→)用于标记语法产生,可以读作“可以包含”。
- 句法类别用斜体文本表示,并出现在语法生成规则的两侧。
- 文字和标点符号用粗体文字表示,仅出现在语法生成规则的右侧。
constant width
- 替代语法产生由竖线(|)分隔。当替代作品太长而无法轻易阅读时,它们会在新行上分成多个语法制作规则。
- 在少数情况下,常规字体文本用于描述语法生成规则的右侧。
- 可选的语法类别和文字由尾部下标opt标记。
作为示例,getter-setter块的语法定义如下:
1 GRAMMAR OF A GETTER-SETTER BLOCK 2 3 getter-setter-block → { getter-clause setter-clause opt } | { setter-clause getter-clause }
这个定义表明getter-setter块可以包含一个getter子句,后跟一个可选的setter子句,用括号括起来,或者一个setter子句后跟一个用括号括起来的getter子句。上面的语法生成相当于以下两个作品,其中明确说明了替代方案:
1 GRAMMAR OF A GETTER-SETTER BLOCK 2 3 getter-setter-block → { getter-clause setter-clause opt } 4 5 getter-setter-block → { setter-clause getter-clause }