1.理解符號串與集合運算。
l=d=
說明下表示的含義:
lud:全部字母和數字在集合
ld:由乙個字母後跟乙個數字組成的所有符號串的集合
l4:由4個字母組成的所有符號串集合
l*:由字母組成的所有符號串的集合
d+:由乙個或若干個數字組成的所有符號串集合
l(lud)*以字母開頭,後跟字母、數字組成的所有符號串的集合
文法g(z):z->azb|ab定義的是什麼樣的語言?
答:因為z->azb
所以z->aazbb
因為 z->ab
所以z-> aabb
又因為z->azb
所以aazbb->aaabbb
又因為z->ab
所以aabb->aaabbbl(g
)= 因此定義l(
g)定義的是
anbn
3.寫出教材22頁例2.2中識別符號的文法四元組形式(vn,nt,p,s)。
有文法g=(vn,vt,p,s)
vn =,v
t =
p=s=
4.寫出下列表示式的最左推導、最右推導。
g(e):
e=> e + t | t
t=>t * f | f
f=>(e)| i
注意觀察最左和最右推導過程的不同。
最左推導:
e -> e + t
-> t + t
-> f + t
-> i + t
-> i + t * f
-> i + f * f
-> i + i * f
-> i + i * i
最右推導:
e -> e + t
-> e + t * f
-> e + t * i
-> e + f * i
-> e + i * i
-> t + i * i
-> f + i * i
-> i + i * i
編譯原理第二次作業 詞法分析心得
今次大作業是詞法分析,這次的詞法分析的程式編寫,有遇到很多的問題,比如說如何去定義單詞與數字還有符號之間的判斷關係,怎麼去用陣列儲存輸入進去的字串,還有就是判斷的一些程式不懂該如何去編寫。而通過這次實驗,我也開始明白了編譯的一些基本的原理,更加的明白編譯器編寫的過程需要注意的一些錯誤,充分認識到了自...
第二次作業
execise02 1.查詢85年以後出生的學生姓名 性別和出生日期 2.列表顯示所有可能的學生選課組合 學號 課程號 3.查詢1 2 4班中陳姓同學的資訊 4.查詢所有及格的學生姓名 所選課程名及所得分數 5.統計各門課程的及格人數 課程編號 課程名 及格人數 6.統計各門課程的總人數 及格人數和...
第二次作業
第一題 p1 1 遞迴寫法,效率低 include 1.寫乙個函式返回引數值為1的個數 比如 15 0000 1111 4個1 程式原型 int count one bits unsigned int value int fuc int x else return 0 void mainp1 p1 ...