C#文法產(chǎn)生式概述
C#語言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#文法產(chǎn)生式,包括介紹XX等方面。
詞法文法和句法文法用C#文法產(chǎn)生式來表示。每個文法產(chǎn)生式定義一個非結(jié)束符號和它可能的擴(kuò)展(由非結(jié)束符或結(jié)束符組成的序列)。在文法產(chǎn)生式中,非結(jié)束符號顯示為斜體,而結(jié)束符號顯示為等寬字體。
C#文法產(chǎn)生式的***行是該產(chǎn)生式所定義的非結(jié)束符號的名稱,后跟一個冒號。每個后續(xù)的縮進(jìn)行列出一個可能的擴(kuò)展,它是以非結(jié)束符或結(jié)束符組成的序列的形式給出的。例如,產(chǎn)生式:
◆while-statement:(while 語句:)
◆while ( boolean-expression )
◆embedded-statement(while ( 布爾表達(dá)式 ) 嵌入語句)
定義了一個 while 語句,它是這樣構(gòu)成的:由標(biāo)記 while 開始,后跟標(biāo)記“(”、布爾表達(dá)式、標(biāo)記“)”和嵌入的語句。
當(dāng)有不止一個可能的非結(jié)束符號擴(kuò)展時,列出這些可能的擴(kuò)展(每個擴(kuò)展單獨(dú)占一行)。例如,產(chǎn)生式:
◆statement-list:(語句列表:)
◆statement(語句)
◆statement-list statement(語句列表 語句)
定義一個語句列表,它或僅含有一個語句,或由一個語句列表和隨后跟著的一個語句組成。換言之,定義是遞歸的,語句列表由一個或多個語句組成。
一個符號若以下標(biāo)“可選”作其后綴,就表明該符號是可選的。產(chǎn)生式:
block:(塊:)
{ statement-listopt }({ 語句列表可選 })
是以下產(chǎn)生式的簡短形式:
block:(塊:)
{ }
{ statement-list }({ 語句列表 })
它定義了一個塊,此塊由一個用“{”和“}”標(biāo)記括起來的可選語句列表組成。
可選項通常在單獨(dú)的行上列出,但是當(dāng)有許多可選項時,可以在單行上給定的擴(kuò)展列表之前加上短語“下列之一”。這只是在單獨(dú)一行上列出每個可選項的簡短形式。以上介紹C#文法產(chǎn)生式。
【編輯推薦】