學(xué)習(xí)C#無詞尾符號經(jīng)驗(yàn)談
C#的文法符號
一個(gè)C#程序由一個(gè)或多個(gè)源文件組成。一個(gè)源文件是一個(gè)統(tǒng)一字符編碼的字符的有序序列。源文件通常和文件系統(tǒng)中的文件有一一對應(yīng)關(guān)系,但是這個(gè)對應(yīng)關(guān)系并不需要。
C#的詞匯和句子的文法散布在整個(gè)文章中。詞匯文法定義如能把字符組合為形式標(biāo)記;句子的文法定義了如何把標(biāo)記組合為C#程序。
文法生成包括無詞尾符號和有詞尾符號。在文法生成當(dāng)中,C#無詞尾符號用意大利體表示,而有詞尾符號用定寬字體。每一個(gè)C#無詞尾符號定義為一系列產(chǎn)品(production)。這一系列產(chǎn)品的***行是無詞尾符號的名稱,接下來是一個(gè)冒號。對于一個(gè)產(chǎn)品,每個(gè)連續(xù)的鋸齒狀的行的右手邊同左手邊類似是C#無詞尾符號。
例子:nonsense,terminal1,terminal2
定義了一個(gè)名為nonsense 的無詞尾符號,有兩個(gè)產(chǎn)品,一個(gè)在右手邊是terminal1,一個(gè)在左手邊是 terminal2.
選項(xiàng)通常列為單獨(dú)的一行,雖然有時(shí)有很多選項(xiàng),短語“one of”會(huì)在選項(xiàng)前面。這里有一個(gè)對把每個(gè)選項(xiàng)都列在單獨(dú)一行的簡單縮寫的方法。
例子
letter: one ofA B C a b c
如identifier opt ,一個(gè)寫在下方的前綴 “opt”用來作為簡寫來指明一個(gè)可選的符號。例子
whole:
first-part second-partopt last-par t
是下面的縮寫:
whole:
fir st-part last-part
fir st-part second-part last-part
【編輯推薦】