1. 程式人生 > >Swift4.2語言參考(一) 關於語言參考

Swift4.2語言參考(一) 關於語言參考

arr section 包含 無法 規則 標準 iter idt simple

本系列文章的這一部分描述了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 }

Swift4.2語言參考(一) 關於語言參考