本书的这一节描述了Swift编程语言的形式语法。这里描述的语法是为了帮助您更详细的了解该语言,而不是让您直接实现一个解析器或编译器。
Swift语言相对小点,这是由于在Swift代码中几乎无处不在的许多常见的的类型,函数以及运算符都由Swift标准库来定义。虽然这些类型,函数和运算符不是Swift语言本身的一部分,但是它们被广泛用于这本书的讨论和代码范例。
用来描述Swift编程语言形式语法的记法遵循下面几个约定:
举个例子,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}