first集合的求法:
first集合最終是對產生式右部的字串而言的,但其關鍵是求出非終結符的first集合,由於終結符的first集合就是它自己,所以求出非終結符的first集合後,就可很直觀地得到每個字串的first集合。
1. 直接收取:對形如u-a…的產生式(其中a是終結符),把a收入到first(u)中
2. 反覆傳送:對形入u-p…的產生式(其中p是非終結符),應把first(p)中的全部內容傳送到first(u)中。
follow集合的求法:
follow集合是針對非終結符而言的,follow(u)所表達的是句型中非終結符u所有可能的後隨終結符號的集合,特別地,「#」是識別符號的後隨符。
1. 直接收取:注意產生式右部的每乙個形如「…ua…」的組合,把a直接收入到follow(u)中。
2.直接收取:對形如「…up…」(p是非終結符)的組合,把first(p)直接收入到follow(u)中。
3.反覆傳送:對形如u-…p的產生式(其中p是非終結符),應把follow(u)中的全部內容傳送到follow(p)中。
編譯原理 First集合和Follow集合的求法
first集合的求法 first集合最終是對產生式右部的字串而言的,但其關鍵是求出非終結符的first集合,由於終結符的first集合就是它自己,所以求出非終結符的first集合後,就可很直觀地得到每個字串的first集合。1.直接收取 對形如u a 的產生式 其中a是終結符 把a收入到first ...
編譯原理first集合和follow集合
2011.06.4 文法 s abc a a b b first集合求法 能 由非終結符號推出的所有的開頭符號或可能的 但要求這個開頭符號是終結符號。如此題a可以推導出a和 所以first a a,同理 first b s可以推導出abc,還可以推導出bc,還可以推導出c,所以first s a,b...
編譯原理之First集合,Follow集合
對於first集合,follow集合的構造方法,我引用的是國防科技大學王挺老師的方法,我覺得這個講的比較詳細易懂 下面用一道例題進行應用 求e t e t t f t f f i e 的所有產生式的follow集合,所有產生式右部的first集合。第一步,消除左遞迴 上式轉化為 1 e te 2 e...