freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

編譯技術(shù)課程設(shè)計(jì)報(bào)告-詞法分析、語法分析、中間代碼生成-資料下載頁

2025-05-13 13:32本頁面

【導(dǎo)讀】門課程的內(nèi)容,用來完成一個(gè)小型編譯程序。從而鞏固和加強(qiáng)對(duì)詞法分析、語法分析、語義。能力,進(jìn)一步培養(yǎng)學(xué)生的獨(dú)立編程能力。所謂的保留字的意思是,用。例如,下面的寫法是絕對(duì)禁止的:。其次,由于把關(guān)鍵字作為保留字,故可以把關(guān)鍵字作為一類特殊標(biāo)示符來處理。說,對(duì)于關(guān)鍵字不專設(shè)對(duì)應(yīng)的轉(zhuǎn)換圖。但把它們預(yù)先安排在一張表格中(此。表叫作保留字表)。當(dāng)轉(zhuǎn)換圖識(shí)別出一個(gè)標(biāo)識(shí)符時(shí),就去查對(duì)這張表,確定它是否為一個(gè)關(guān)。一個(gè)空白符作間隔。例如,一個(gè)條件語句應(yīng)寫為。因?yàn)閷?duì)于后者,我們的分析器將無條件地將ifi看成一個(gè)標(biāo)識(shí)符。使用的算法可以是:預(yù)測(cè)分析法;遞歸下降分析法;LR分析法等。

  

【正文】 t[d])endl。 } int YE() 第 28 頁 { int rt,t1。 rt=YT()。 t1=rt。 rt=YE2(t1)。 return rt。 } int YE1(int a) { int rt,t1。 t1=a。 if(flags[temp]==9) //加法 { temp++。 int tt=v+1。 v++。 int t2=YT()。 int rr=newTemp()。 siyuan(tt,t1,t2,rr)。 rt=rr。 return rt。 } else if(flags[temp]==12) //減法 { temp++。 int tt=v+1。 v++。 int t2=YT()。 int rr=newTemp()。 siyuan(tt,t1,t2,rr)。 rt=rr。 return rt。 } else return t1。 } int YE2(int a) { int rt,t1。 t1=a。 if(flags[temp]==9||flags[temp]==12)//+或 { rt=YE1(t1)。 t1=rt。 第 29 頁 rt=YE2(t1)。 return rt。 } else if (flags[temp]!=0||flags[temp]!=17) { return t1。 } else return t1。 } int YT() { int rt,t1。 rt=YF()。 t1=rt。 rt=YT2(t1)。 return rt。 } int YT1(int a) { int rt,t1。 t1=a。 if(flags[temp]==10) //乘法 { int tt=v+1。 v++。 temp++。 int t2=YF()。 int rr=newTemp()。 siyuan(tt,t1,t2,rr)。 rt=rr。 return rt。 } else if(flags[temp]==13) //除法 { temp++。 int tt=v+1。 v++。 int t2=YF()。 int rr=newTemp()。 siyuan(tt,t1,t2,rr)。 rt=rr。 return rt。 第 30 頁 } else return t1。 } int YT2(int a) { int rt,t。 t=a。 if(flags[temp]==10||flags[temp]==13)//乘或除 { rt=YT1(t)。 t=rt。 rt=YT2(t)。 return rt。 } else return t。 } int YF() { int t1,rt。 rt=YP()。 t1=rt。 rt=YF1(t1)。 return rt。 } int YF1(int a) //乘方 { int rt,t1。 t1=a。 if(flags[temp]==11) { temp++。 int tt=v+1。 v++。 int t2=YF()。 int rr=newTemp()。 siyuan(tt,t1,t2,rr)。 rt=rr。 return rt。 } else return t1。 } int YP() { int rt,t1。 第 31 頁 if(flags[temp]==6||flags[temp]==7)//標(biāo)識(shí)符或常數(shù) { v++。 rt=v。 temp++。 return rt。 } else if(flags[temp]==17) //( { v++。 temp++。 rt=YE()。 if(flags[temp]==17) //) { v++。 temp++。 return rt。 } else return ww。 } else return ww。 } void main() { printf( 單詞號(hào)對(duì)應(yīng) 的種別編碼 \n)。 printf(\n)。 printf((while,1) (if,2) (else,3) (switch,4) (case,5)\n)。 printf(\n)。 printf((標(biāo)括識(shí)符 ,6) (常數(shù) ,7) (=,8) (+,9) (++,9)\n)。 printf(\n)。 printf((+=,9) (*,10 ) (**,11) (,12) (/,13)\n)。 printf(\n)。 printf((/=,13) (,14) (=,14) (,14) (=,14)\n)。 printf(\n)。 printf((!=,14) (。,15) (,16) ((,17) (),17)\n)。 printf(\n)。 printf((!,18) ({,20) (},20) ([,21) (],21)\n)。 printf(\n)。 printf((:,22) (,0) ( ,24)\n)。 printf(\n)。 printf(\n)。 int i=0。 cout請(qǐng)輸入測(cè)試程序或者表達(dá)式,以 結(jié)束 endl。 第 32 頁 do { ch =getchar()。 program[i++] = ch。 }while(ch != 39。39。)。 i = 0。 printf(\n)。 cout詞法分析: endl。 cout(值 , 種別 )endl。 do{ flag = Scan(program)。//詞法分析 if (flag == 7) { cout(number , flag)endl。 flags[num]=flag。 stringstream stream。 streamnumber。 streamt[num]。 ()。 num++。 } else if (flag == 1) { cout出錯(cuò) ! endl。 } else { cout(words , flag)endl。 if(flag!=24) { flags[num]=flag。 t[num]=words。 num++。 } } }while (flag != 0)。 flags[num]=0。 is_right=1。 printf(\n)。 cout語法分析: endl。 E()。 if((flags[temp]==0)amp。amp。is_right) { printf(\n)。 第 33 頁 cout分析成功! ?endl。 temp=0。 printf(\n)。 cout四元式序列: endl。 YE()。 } else cout分析失敗 ! endl。 system(pause)。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1