軟考之文法

2021-07-23 10:18:30 字數 1604 閱讀 4224

要軟考了,文法是乙個考點,有的同學感覺這部分不太好理解,之所以不太好理解,很大的原因是教程裡的敘述 ——雲裡霧裡,可能是為了表明自己身為「教程」、具有不可動搖的地位,所以狐假虎威了一次吧;明天周四活動技術分享,本person自告奮勇地要講關於這方面的東西,所以私下裡做了乙個ppt,感覺ppt不是很差,所以直接寫成部落格(*^__^*

)

終結符:

不能單獨出現在推導式左邊,為最終狀態;a/b/c/d……

非終結符:

推導過程中的佔位符;一般大寫a/b/c/d/……

α—>β 非終結符—>終極符

短語文法

設g=(vn,vt,p,s),如果它的每個產生式α→β是這樣一種結構:α∈(vn∪vt)*且至少含有乙個非終結符,而β∈(vn∪vt)*,則g是乙個0型文法;

其實就一句話:α至少有乙個大寫字母

上下文有關文法

對應於線性有界自動機。它是在0型文法的基礎上每乙個α→β,都有|β|>=|α|。這裡的|β|表示的是β的長度。有乙個特例α→ε也滿足1型文法,這個很容易理解吧;

也是一句話:|β|>=|α|

上下文無關文法

它對應於下推自動機;

在1型文法的基礎上,再滿足:每乙個α→β

都有α是非終結符。

what's   this『s』「一句話」?

正規文法

對應於有限狀態自動機;在2型文法的基礎上滿足:a→

α|αb(右線性)或a→α|b

α(左線性)

第一點:左邊必須只有乙個非終結符;

第二點:右邊最多只能有兩個字元,且當有兩個字元時必須有乙個為終結符而另乙個為非終結符;當右邊只有乙個字元時,此字元必須為終結符。

第三點:右邊有兩個字元的產生式,兩個字元中終結符和非終結符的相對位置一定要固定,也就是說如果乙個產生式右邊的兩個字元的排列是:終結符+非終結符,那麼所有產生式右邊只要有兩個字元的,都必須前面是終結符而後面是非終結符。反之亦然,要麼,就全是:非終結符+終結符。

注意:

右線性 和 左線性

兩套規則不能同時出現在乙個語法中;

只能完全滿足其中的乙個,才能算 3型文法

小結:0型:α 至少包含一

個非終結符

1型:|β|>=|α|

2型: α→β都有α是非終結符

3型:a→α|αb(右線性)ora→α|bα(左)

有幫助吧,拿走不謝;我也就是說說,thanks for reading

軟考 編譯原理之文法

一 定義 描述語言語法結構的規則 文法g是乙個四元組,可表示為g vn,vt,p,s ps vn 表示非終結符集合,一般使用大寫字母表示 vt 表示終結符集合,一般用小寫字母表示 p 表示產生式的集合 s 表示開始符號 二 推導 用產生式的右側替換產生式的左側,直到產生乙個終結符的序列為止。例子 文...

軟考之軟考總結

從準備軟考到軟考結束,差點兒相同三個月的時間。儘管我們學計算機的時間已經不短,可是大規模 系統性的學習計算機理論的知識的時候,當從組成原理到編譯原理,從資料庫到作業系統,從物件導向技術到設計模式,儘管之前大都都接觸過,可是當全部理論性的知識,排著長隊,等著你一一檢閱的時候,你才發現,原來自己肚子裡的...

軟考又見軟考

我這地兒 報名截止時間都快到了,3月4日,我才知道開始報名了。大三了,課程少了些。一直想考這個證來著,無奈時間太緊要不就是專業課還沒學。現在已經定下要考本專業研了,方向嘛 唉也說不准,大家都知道這個證是其次的搞技術的話還是能力問題,我的想法考這個是為了梳理專業知識,以備研究生專業課的考試 以後很可能...