1.0 翻譯:dabing1022 校對:numbbbbb
2.0 翻譯+校對:KYawn
本頁內(nèi)容包括:
本書的這一節(jié)描述了 Swift 編程語言的形式語法。這里描述的語法是為了幫助您更詳細(xì)地了解該語言,而不是讓您直接實現(xiàn)一個解析器或編譯器。
Swift 語言相對較小,這是由于 Swift 代碼中的幾乎所有常見類型、函數(shù)以及運算符都已經(jīng)在 Swift 標(biāo)準(zhǔn)庫中定義了。雖然這些類型、函數(shù)和運算符并不是 Swift 語言自身的一部分,但是它們被廣泛應(yīng)用于本書的討論和代碼范例中。
用來描述 Swift 編程語言形式語法的符號遵循下面幾個約定:
→
)用來標(biāo)記語法產(chǎn)式,可以理解為“可由……構(gòu)成”。|
)分隔。當(dāng)可選用的語法產(chǎn)式太多時,為了閱讀方便,它們將被拆分為多行語法產(chǎn)式規(guī)則。opt
來標(biāo)記。舉個例子,getter-setter 的語法塊的定義如下:
getter-setter 方法塊語法
getter-setter 方法塊 → { getter 子句 setter 子句可選 } | { setter 子句 getter 子句 }
這個定義表明,一個 getter-setter 方法塊可以由一個 getter 子句后跟一個可選的 setter 子句構(gòu)成,然后用大括號括起來,或者由一個 setter 子句后跟一個 getter 子句構(gòu)成,然后用大括號括起來。下面的兩個語法產(chǎn)式等價于上述的語法產(chǎn)式,并明確指出了如何取舍:
getter-setter 方法塊語法
getter-setter 方法塊 → { getter 子句 setter 子句可選 }
getter-setter 方法塊 → { setter 子句 getter 子句 }