如:firstvt®的集合為r推出的串中非終極符**現的第乙個終結符,如果第乙個出現(a)為非終結符,則還需要檢視這個非終結符(a)的的firstvt(a)加入到firstvt®中,一直到結束。
求firstvt(r)的步驟:
理解:對於第一步,我們可以知道,在右部產生式**現的第乙個終結符加入firstvt(左部產生式)。
第二步,對右邊出現的首字元是非終結符的firstvt(首字元)移入first(左部產生式)。
lastvt集合剛好和firstvt集合相反,出現的是右部產生式最後出現的終結符加入集合,以及最後乙個字元是非終結符時的lastvt加入集合。
求lastvt(r)的步驟:
理解:和firstvt類似。
例:構造下面文法的算符優先表。
s ->if r then e else e
e ->e+t|t
t ->t*f|f
f ->i
r ->b
解:1)求各非終結符的首終結符集和尾終結符集。為了考慮語句的開始和結束符號「#」,對文法拓廣,加乙個產生式s』->#s#
firstvt(s)= lastvt(s)=
firstvt(e)= lastvt(e)=
firstvt(t)= lastvt(t)=
firstvt(f)= lastvt(f)=
firstvt®= lastvt®=
算符優先系列之 一 Firstvt和Lastvt集
算符優先系列之 一 firstvt和lastvt集 time limit 1000 ms memory limit 65536 kib problem description 學過編譯原理的菊苣們都知道算符優先文法,作為乙個有點深度的分析方法,我們怎麼能只止步於理論呢,實踐才是王道哦。已知文法g s...
0和1,黑和白
0和1那麼的簡單,就這樣組成了現代社會最堅實的it基礎。黑和白,這麼的簡單,就這樣引領了人們久遠時代裡面的想象力,儲存了人們的創造力。在那些只是紙筆的時間裡面,黑和白就是那麼重要。因為黑色,其實不是沒有光,而是所有的光都已經被吸收了。而白色,其實並不是沒有顏色,而是有所有顏色。這麼來想,黑白的簡單突...
黑盒測試和白盒測試
任何工程產品 注意是任何工程產品 都可以使用以下兩種方法之一進行測試。黑盒測試 已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。白盒測試 已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。軟體的黑盒測試意味著測試要在軟體的介面...