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

正文內容

編譯課程設計報告書-資料下載頁

2024-10-07 09:16本頁面

【導讀】程后,為加深對課堂教學內容的理解,培養(yǎng)解決實際問題能力而設置的實踐環(huán)節(jié)。通過這個實驗,使。為將來設計、分析編譯程序打下良。為了避免超前搜索,提高運行效率,簡化掃描器的設計,假設該程序設計語言中,基本字。隔,則用空白作間隔。單詞符號及其內部表示如表1-1所示,單詞符號中標識符由一個字母后跟多個字母、數字組成,常數由多個十進制數字組成。目給出文法的目的是為了便于對語法分析結果進行驗證。語,將其歸約為一個非終結符號而實現(xiàn)的。系之后文法也就失去了作用。設計出程序流程框圖和數據結構,編寫出完整的源程序,進行靜態(tài)檢查。制定出程序調試計劃和典型輸入代碼數據。課程設計完成后,按學校給定的格式和要求寫出課程設計報告。串,以一個“#”結尾),如果輸入符號串是句子,則按照其語義進行翻譯,輸出等價的四元式序列。1.程序調試完成后,由指導教師在計算機上檢查,驗收課程設計成果,并現(xiàn)場答辯。2.評閱課程設計報告。

  

【正文】 j=4。 switch(cost[i][j]) { case 39。39。:return 1。break。 case 39。39。:return 1。break。 case 39。=39。:return 0。break。 default:return 2。break。 23 } } int NewTemp(int t[3]) { Fp++。 four[Fp]=new four_item(t[1],t[0],t[2])。 four[Fp]DispFour()。 coutendl。 return Fp+300。 } ////////////////////////////////////////////////////////////////////////////////////////////////dispitem void DispItem(int i) { if(i0||i400) { coutError!endl。 return 。 } if(i100) { if(i==3) cout**。 else coutcost[0][i]。 return。 } else if(i200) { coutSign[i100]。 return 。 24 } else if(i300) { coutEi200。 } else coutTi300。 } void DispIndirect(int i) { if(i0||i=400) { coutError!endl。 return。 } if(i100) { if(i==3) cout**。 else coutcost[0][i]。 } else if(i200) { coutSign[i100]。 } else if(i300) { DispIndirect(Temp[i200])。 } else coutTi300。 } 25 int Merge(int *ch,int ll) { (ch,ll)。 if(ll==1) { Temp[++Tp]=ch[0]。 cout合并 :。 DispItem(ch[0])。 cout==。 DispItem(Tp+200)。 coutendl。 return Tp+200。 } else if(ch[0]==5amp。amp。ch[2]==6) { Temp[++Tp]=ch[1]。 cout合并: (。 DispItem(ch[1])。 cout)==。 DispItem(Tp+200)。 coutendl。 return Tp+200。 } else if(ch[0]100amp。amp。ch[2]100amp。amp。ch[1]100) { cout合并: 。 DispItem(ch[0])。 DispItem(ch[1])。 DispItem(ch[2])。 cout==。 DispItem(Fp+301)。 cout39。\t39。 return NewTemp(ch)。 26 } else { cout合并失??! endl。 //exit(0)。 } } int Entry(char ch) { for(int i=1。iSign[0]。i++) if(Sign[i]==ch) return i+100。 Sign[++Sp]=ch。 return Sp+100。 } int CharToDigital(char ch) { int j。 for(j=0。j8。j++) if(ch==cost[0][j]) return j。 if(IsChar(ch)) { return Entry(ch)。 } else return 0。 } void ToDigital(int digital[],char str[],int amp。d_len,int len) { for(int i=0。ilen。i++) { 27 digital[d_len]=CharToDigital(str[i])。 if(digital[d_len]==0) { cout輸入錯誤! 位置 :i+1endl。 coutstr[i]不能被識別 endl。 system(pause)。 exit(0)。 } if(digital[d_len]==2amp。amp。digital[d_len1]==2) digital[d_len1]=3。 else d_len++。 } } void main() { char string[MAX]。 int *ch=new int [MAX]。 int a。 int strp。 int statop。 int statopvt。 int fp=0。 cout*****************算符優(yōu)先關系表 :*************************endl。 DispCost()。 cout*********************************************************endl。 cout請輸入一段程序 (以 結束! ):endl。 (string,MAX)。 int len=strlen(string)。 ToDigital(Digital,string,Dp,len)。 cout*******************************************************endl。 cout符號棧 :39。\t39。39。\t39。動作 :39。\t39。39。\t39。39。\t39。產生 :endl。 28 (7)。 strp=0。 statop=()1。 statopvt=statop。 a=Digital[0]。 while(a!=7) { a=Digital[strp]。 if((statop)200) statopvt=statop。 else statopvt=statop1。 while(a200amp。amp。(SearchCost((statopvt),a)==1)) { ()。 int highpos=statopvt,lowpos=highpos1。 if((lowpos)200) lowpos。 while(SearchCost((lowpos),(highpos))!=1) { highpos=lowpos。 lowpos。 if((lowpos)200) lowpos。 } int start=()。 lowpos++。 int length=startlowpos。 (Merge(ch,length))。 statopvt=()1。 if((statopvt)200) 29 statopvt。 } if ((a200)amp。amp。(SearchCost((statopvt),a)==2)) { cout錯誤 !endl。 cout第 strp+1 字母錯誤 !endl。 DispItem(a)。 exit(0)。 } else { ()。 cout移進 :。 DispItem(a)。 coutendl。 (a)。 strp++。 statop=()1。 } } ()。 int t[MAX]。 (t,3)。 if(()==0) coutYes!endl。 else coutNo!endl。 cout~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~endl。 cout最后四元式如下 :endl。 for(int l=1。l=Fp。l++) { coutl:。 30 four[l]DispSample()。 } system(pause)。 } : 課程設計(綜合實驗)總結或結論 通過一周的艱苦實驗,基本達到了實驗的目的。通過這次試驗,我加深對課堂教學內容的理解,培養(yǎng)解決實際問題能力。同時學會了應用 編譯程序設計的 原理和 技術設計出 詞法分析器 , 了解了掃描 器的組成結構,不同種類單詞的識別方法。 以及 了解了算符優(yōu)先分析程序的組成結構,掌握實現(xiàn)通用算符優(yōu)先分析算法的方法。在實驗過程中遇到的諸多疑問,也通過努力一一得到了解答。同時感謝老師的耐心指導與講解! 1. 詞法分析器設計 通過詞法分析器的設計更加深刻的理解詞法的概念,也明確了運算符、界符、標識符、常數的定義,實驗需要注意的問題是對空格的過濾,這個是尤其重要的,此外對“ **”的判斷也應該單獨處理,總體來講實驗比較成功。 2.算符優(yōu)先分析程序設計 算符優(yōu)先分析的設計,主要是把查表和分析棧結合起來,通過優(yōu)先級的判斷來 決定究竟是進行規(guī)約還是入棧。實驗需要注意的細節(jié)是對處理的字符時終結符還是非終結符的判斷。 31 通過本次實驗更加深刻的理解了優(yōu)先關系表的相關概念,深刻的體會到了 ab 并不等價于ba 的含義,也體會到了優(yōu)先表對于編譯過程的意義。 3 基于算符優(yōu)先分析方法的語法制導翻譯程序的設計 在算符優(yōu)先分析的基礎上進行本次實驗,思路還是比較清晰的,處理的難點就是將規(guī)約與上面的實驗區(qū)別開來,采用轉化為數字的方式,比較容易的將這一問題合理的解決,在生成產生式時對使用哪一個產生式的判斷是必不可少的。實驗的步驟比較嚴謹,通過本次實驗也提高了 對編譯的變成能力和程序調試能力,并對編譯原理這門課產生了更濃郁的興趣。 參考文獻 [1] 陳火旺,劉春林 . 程序設計語言編譯原理 . 國防工業(yè)出版社,第三版 . [2] 宋雨,程曉榮,黃志強 . 計算機綜合實踐指導 .清華大學出版社,第一版 . 2020,
點擊復制文檔內容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1