Swift 关于语言附注
用来描述Swift编程语言形式语法的记法遵循下面几个约定:
- 箭头(→)用来标记语法产式,可以被理解为“可以包含”。
- 句法范畴由斜体文字表示,并出现在一个语法产式规则两侧。
- 义词和标点符号由粗体固定宽度的文本显示和只出现在一个语法产式规则的右边。
- 选择性的语法产式由竖线(|)分隔。当可选用的语法产式太多时,为了阅读方便,它们将被拆分为多行语法产式规则。
- 在少数情况下,常规字体文字用来描述语法产式规则的右边。
- 可选的句法范畴和文字用尾标
opt
来标记。
举个例子,getter-setter的语法块的定义如下:
GRAMMAR OF A GETTER-SETTER BLOCK
getter-setter-block → { getter-clause setter-clauseopt } | { setter-clause getter-clause}
这个定义表明,一个getter-setter方法块可以由一个getter子句后跟一个可选的setter子句构成,用大括号括起来,或者由一个setter子句后跟一个getter子句构成,用大括号括起来。上述的文法产生等价于下面的两个产生,明确阐明如何二中择一:
GRAMMAR OF A GETTER-SETTER BLOCK
getter-setter-block → { getter-clause setter-clauseopt }
getter-setter-block → { setter-clause getter-clause}