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

正文內(nèi)容

編譯原理課程設計c語言編譯器的實現(xiàn)畢業(yè)論文(完整版)

2025-08-03 11:12上一頁面

下一頁面
  

【正文】 (E). 33. F→.id 34. F→id. .再由項目集構(gòu)造文法的DFA活前綴。R 5. P→id().L。,+,),}T {(,id } { },。三. 詞法分析根據(jù)詞法分析的需要,我將源程序中的單詞符號分為:保留字,字母(標識符),界符三類,統(tǒng)一用一張表表示如下:界符,保留字表單詞=+*:。揚州大學編譯原理課程設計 學 號: 091202122 姓 名: 專 業(yè): 計算機科學與技術(shù) 課 程: 編譯原理 指導教師: 陳宏建 目錄一.程序簡介與分析3二.程序適用范圍3三.詞法分析3四.語法分析4五.語義分析和中間代碼生成10六.代碼生成12七.流程圖13八.實現(xiàn)14九.程序運行結(jié)果14十.總結(jié)18(源程序)18 簡單的編譯程序設計一. 程序簡介與分析本程序由四個部分組成:詞法分析子程序,語法分析子程序,語義分析子程序,目標代碼生成程序。{}()andifthenwhiledoint標志符編碼1234567891031323335363725,并判斷它是不是字母,界符,保留字,空格,換行,結(jié)束符號或者非法字符。,+,),*,}F {(,id } { },。R 6. P→id()L.。為了方便,省去了項目族集的每個狀態(tài)的項目,直接在狀態(tài)轉(zhuǎn)換的箭頭上標明終結(jié)符或非終結(jié)符。語法制導翻譯歸約動作翻譯方案E→E+TE→E1+T{=newtemp。 if pnil then :=p else error。}M→id=EM→id=E{ p:=lookup()。九. 程序運行結(jié)果1. 輸入源文件路徑:2. 輸出保留字 3.輸出符號表的內(nèi)容5.輸出語法分析的結(jié)果(本程序采用自下而上的LR語法分析)6.輸出中間代碼7.輸出目標代碼十. 總結(jié)通過本次實驗,我對編譯程序各階段有了更深刻更深入的了解,也糾正了自己在某些方面的的錯誤,豐富了自己關(guān)于編譯原理方面的知識。{if cccb and ccca then a=b+a。//token隊列struct str//詞法 string結(jié)構(gòu)體{ int num。//產(chǎn)生式右部的長度}。 int num。//操作數(shù) string op2。//變量名稱 int addr。//判斷輸入字符的類型void out1(char ch)。//初始化語法分析數(shù)據(jù)結(jié)構(gòu)int yufa_SLR1(int a)。//給ike分析棧鏈表刪除一個結(jié)點/////////////////////////////////語義分析相關(guān)函數(shù)的聲明void yuyi_main(int m)。//把編號轉(zhuǎn)換成相應的變量名int lookup(string m)。//用于記錄一些特殊的字符位置信息////////////////////////////////主程序開始int main(){ cout************************endl。//詞法 yufa_main()。 token_tail=new token。 L_four_tail=new L。 symb_headnext=NULL。//初始化讀取行數(shù) scan()。) { outfile()。 char document[50]。 if((fp=fopen(document,rt))==NULL) { err=1。 else if(flag==4 || flag==5 ||flag==6) continue。+39。39。)39。) || (39。 39。//非法字符 return(flag)。 : id=2。 : id=4。 : id=6。 : id=8。 : id=10。 input1(temp)。 temp1=new str。 if(flag==1 || flag==4 || flag==5 || flag==6) { if(word==and || word==if || word==then || word==while || word==do || word==int) { if(word==and) tempcode=31。 else if(flag==4 || flag==5 || flag==6) return。 out1(ch)。 } return。 token_tailnext=temp。 temp1=token_headnext。 temp3=string_headnext。 while(temp1!=NULL) { fout1temp1code。 temp3=temp3next。 temp=new token。 p=yufa_SLR1(w)。 stack_headpre=NULL。Q39。 css[2].right=L。 css[5].left=39。 css[7].right=T*F。F39。 css[13].left=39。 css[15].right=while B do M。 css[18].left=39。i20。 css[11].len=3。j18。 }//初始化go_to表 /****************************以下是給action表和go_to表賦初值************************/ action[0][0].sr=39。 action[3][2].sr=39。action[5][4].state=6。r39。 action[10][9].sr=39。action[12][3].state=2。s39。 action[15][1].sr=39。action[16][3].state=13。s39。 action[19][13].sr=39。action[20][3].state=17。r39。 action[23][0].sr=39。action[24][14].state=25。r39。 action[28][16].sr=39。action[30][3].state=15。s39。 action[33][16].sr=39。action[35][12].state=11。r39。 action[36][6].sr=39。action[37][2].state=8。r39。 action[38][3].sr=39。action[38][6].state=6。s39。 action[40][5].sr=39。action[40][10].state=7。s39。 action[43][1].sr=39。action[44][3].state=5。r39。 action[45][5].sr=39。action[45][10].state=9。go_to[13][10]=17。go_to[27][6]=28。go_to[43][5]=37。 if(i==4) j=7。 if(i==32) j=13。 return(j)。 if(i==6) ch=+。 if(i==14) ch=then。P39。 if(ch==39。) j=5。S39。 return(j)。) j=101。T39。 if(ch==39。) j=109。 if(j==101 || j==1) ch=39。 if(j==105 || j==5) ch=39。 if(j==109 || j==9) ch=39。 stack_tailpre=temp。*/ int i,flag=0,state_temp。 cout語法分析出錯!endl。 tempnum=state_temp。 for(i=0。 tempnum=go_to[stack_tailprenum][p]。 flag=3。 k=1。 tempop= 。 } else//其他意外情況 { flag=1。 cout/*動作(歸約):*/sr_tempstate_temp css[state_temp].left→css[state_temp].right /*狀態(tài)轉(zhuǎn)為:stack_tailprenum 棧頂符號:ID21(stack_tailpreword)*/endl。i++) del()。 cout/*動作(移進):*/sr_tempstate_temp /*狀態(tài)轉(zhuǎn)為:stack_tailprenum 棧頂符號:ID10(stack_tailpreword)*/endl。s39。 sr_temp=action[stack_tailprenum][w].sr。 tempnext=stack_tail。 if(j==1010 || j==10) ch=39。 if(j==106 || j==6) ch=39。 if(j==102 || j==2) ch=39。N39。) j=107。 if(ch==39。R39。 j=1。 if(ch==39。B39。) j=3。 if(ch==39。 if(i==16) ch=do。 if(i==8) ch==。 if(i==0) ch=id。id_then=L_four_tailk+1。 if(i==6) j=3。 j=1。go_to[34][6]=35。go_to[15][4]=38。go_to[4][1]=8。action[45][5].state=9。 action[45][2].sr=39。s39。action[43][1].state=41。 action[42][6].sr=39。s39。action[40][5].state=7。 action[40][2].sr=39。r39。action[38][3].state=6。 action[37][10].sr=39。r39。action[36][6].state=10。 action[36][3].sr=39。r39。action[33][16].state=12。 action[33][12].sr=39。r39。action[28][16].state=29。 action[27][0].sr=39。s39。action[23][0].state=31。 action[22][3].sr=39。r39。action[19][13].state=23。 action[18][17].sr=39。r39。action[15][1].state=41。 action[14][8].sr=39。s39。action[10][9].state=13。 action[9][3].sr=39。s39。action[3][2].state=4。action[0][0].state=2。39。 css[13].len=3。 css_len=amp。 css[18].right=S。S39。 css[13].right=id=E。 css[11].left=39。T39。 css[5].right=E+T。 css[3].left=39。 css[1].left=39。
點擊復制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1