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

正文內(nèi)容

編譯原理課程設計讀書工程方案-wenkub.com

2024-11-10 01:12 本頁面
   

【正文】 expression(tmp,tx,lev)。getsym()。}getsym()。case VARIABLE:gen(LOD,levtable[i].,table[i].)。while((sym)!=()){if(sym ==IDENT){i= position(id,tx)。if(mulop ==TIMES)gen(OPR,0,4)。amp。for(int t=TIMES。elsegen(OPR,0,3)。symaddop= sym。if(addop ==MINUS)gen(OPR,0,1)。amp。symset tmp=fsys。}elseerror(34)。statement(temp1,tx,lev)。temp2 = statbegsys。temp1= fsys,(SEMICOLON),(UNTILSYM)。statement(fsys,tx,lev)。cx2= cx。// 記下當前代碼分配位置,這是while循環(huán)的開始位置getsym()。statement(tmp,tx,lev)。for(i=SEMICOLON。else if(sym=PERIOD){error(26)。tmp=statbegsys。symset tmp=fsys。code[cx1].a=cx。code[cx1].a= cx。gen(JPC,0,0)。condition(tmp,tx,lev)。} } else if(sym ==IFSYM){ getsym()。if(i == 0)error(11)。} gen(OPR,0,15)。gen(OPR,0,14)。symset tmp=fsys。while((sym)!=())getsym()。gen(STO,levtable[i].,table[i].)。if(sym==IDENT)i=position(id,tx)。if(i!= 0)gen(STO,levtable[i].,table[i].)。if(sym ==BECOMES)getsym()。if(i == 0)error(11)。if(listswitch)for(i= cx0。} if(sym!= RPAREN)} error(32)。} if(sym == COMMA)getsym()。getsym()。} elseerror(4)。}// constdeclaration end// 變量說明處理void PL0::vardeclaration(intamp。getsym()。amp。}//position end// 常量定義處理void PL0::constdeclaration(intamp。strcpy(table[0].name, id)。break。table[tx].=dx。num=0。dx,int lev){ tx= tx+1。test(fsys,s2,8)。i ((symbol)i)。cx0= cx。}while((sym)!=())。}elseerror(5)。symset tmp = statbegsys。symset tmp = fsys。getsym()。elseerror(5)。do{vardeclaration(tx,dx,lev)。} if(sym ==SEMICOLON)getsym()。do{if(sym == CONSTSYM)// 處理常量聲明{getsym()。// 變量的個數(shù) tx0= tx。int dx。it!=()。}//gen end// 測試當前單詞符號是否合法void PL0::test(symset s1,symset s2,int n){ if(sourceEnd)return。}code[cx].f= x。if(line[ll1]==10)ll。}cc= 0。// 其它符號的賦值getch()。){sym= GEQ。// extra stuff added to support 39。){sym= BECOMES。:39。getch()。sym= NUMBER。}while(i j)sym= wsym[k]。j= norw。kk= kk1。}while(isalpha(ch)||isdigit(ch))。// 檢測一個單詞長度 do{ if(k al){a[k]= ch。 39。err= err+1。fout=fopen(destination,”w“)。 39。cc= 0。(CONSTSYM),(VARSYM),(PROCSYM)。strcpy(mnemonic[CAL],” cal “)。strcpy(mnemonic[LIT],” lit “)。]= GTR。39。ssym[39。]= EQL。)39。ssym[39。]= TIMES。39。ssym[39。memset(code,0,sizeof(code))。wsym[13]= UNTILSYM。wsym[9]= PROCSYM。wsym[5]= ELSESYM。wsym[1]= BEGINSYM。strcpy(word[13],”until“)。strcpy(word[9],”procedure“)。strcpy(word[5],”else“)。strcpy(word[1],”begin“)?!? ”error 0006: 過程說明后的符號不正確(應是語句開始符或過程開始符)“, ”error 0007: 應是語句開始符“, ”error 0008: 過程體內(nèi)語句部分的后跟符不正確“, ”error 0009: 程序皆為丟了句號‘.’“, ”error 0010: 語句之間漏了‘。執(zhí)行程序int base(int l,int b,int s[])。void arraydeclaration(intamp。void expression(symset fsys,int tx,int lev)。tx,intamp。的位置void constdeclaration(intamp。void enter(obj0 k,int amp。個單詞void getch()。public:PL0(char* source,char*destination)。// 一些符號對應的symbol類型表合 char mnemonic[8][6]。// 詞法分析器中用于臨時存放正在分析的詞instruction code[cxmax+1]。// code line string errStr[]。// character count int ll。// last character read symbol sym。}other。obj0 kind。t big than levmaxint a。// functions typedef set symset。// 行緩沖區(qū)長度typedef enum {NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODDSYM,EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLON,PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM,WHILESYM,WRITESYM,READSYM,DOSYM,CALLSYM,CONSTSYM,VARSYM,PROCSYM,ELSESYM,REPEATSYM,UNTILSYM} symbol。// digits in numbers 數(shù)字的最大長度 const int amax = 2047。const int norw = 16。Repeat語句的處理:首先用CX1變量記下當前代碼段分配位置,作為循環(huán)的開始位置。接下去記錄下代碼段分配位置(即下面生成的jpc指令的位置),然后生成 條件轉(zhuǎn)移jpc指令(遇0或遇假轉(zhuǎn)移),轉(zhuǎn)移地址未知暫時填0。由PL/0的語法圖可知:一個完整的PL/0程序是由分程序和句號構(gòu)成的。語法分析子程序分析:語法分析子程序采用了自頂向下的遞歸子程序法,語法分析同時也根據(jù)程序的語義生成相應三元代碼,并提供了出錯處理的機制。查保留字表時使用了二分法查找以提高效率。Getch過程通過反復調(diào)用Getch子過程從源程序過獲取字符,并把它們拼成單詞。詞法分析和代碼生成作為獨立的子程序供語法分析程序調(diào)用。其編譯過程采用一趟掃描方式,以語法分析程序為核心,詞法分析和代碼生成程序都作為一個獨立的過程,當語法分析需要讀單詞時就調(diào)用詞法分析程序,而當語法分析正確需要生成相應的目標代碼時,則調(diào)用代碼生成程序。}UNTIL 可根據(jù)自己具體情況從中選擇2個以上題目進行擴充。二、實驗內(nèi)容1)仔細閱讀PL/0編譯程序文本(編譯原理(第二版)張素琴 呂映芝 蔣維杜 戴桂蘭 主編清華大學出版社),并上機調(diào)試通過。此外,對于文檔的編寫和美化自己也獲得了許多有用的經(jīng)驗。此外,對以前那些已掌握的知識有了溫習和動手鍛煉的機會。通過這次的編譯原理課程的學習和實踐,自己獲益良多。首先自己對遞歸向下分析法進行了學習,將書上的幾個遞歸向下分析的偽代碼看過之后,自己對遞歸向下的分析方法的原理有了初步的認識,大概知道了根據(jù)文法怎么分析,但是對于如何編寫代碼卻還在此處鍵入]是難以下手,于是就對照TINY語言的文法看了幾遍書后面的TINY語言的遞歸向下分析的語法分析程序,這樣就基本知道了C語言的語法分析程序怎么寫。這只是詞法分析的原始代碼,在之后還進行了兩次徹底的改動。自己著手寫詞法分析的時候還不清楚詞法分析的任務內(nèi)容,還不知道詞法分析的結(jié)果是什么,詞法分析出錯的情況和類型有哪些,也總是將詞法分析和語法分析混在一起,不明白哪些錯誤在詞法分析中報,哪些錯誤在語法分析中判斷,后來經(jīng)過查書、網(wǎng)上資料、請教同學等途徑逐步清晰了詞法分析的工作內(nèi)容是從源代碼文件中獲取出Token,供語法分析使用。理論知識的了解224。[在此處鍵入]測試優(yōu)化,輸入課件中的代碼,結(jié)果與課件一樣。 目標代碼模塊目標代碼生成把優(yōu)化后的中間代碼變換成目標代碼,此處的目標代碼為匯編代碼,采用單寄存器生成目標代碼 數(shù)據(jù)結(jié)構(gòu)[在此處鍵入]對于一個基本塊有如下流程圖W:操作符,B:第一操作數(shù),C:第二操作數(shù),R:寄存器網(wǎng)上找一段話抄上 [在此處鍵入]測試打開文件測試保存文件如果沒打開文件,直接敲代碼,點保存時會彈出另存為窗口[在此處鍵入]測試錯誤檢測,程序缺少main函數(shù)的類型,錯誤列表中顯示第一行函數(shù)缺少錯誤類型。 數(shù)據(jù)結(jié)構(gòu)在此處鍵入] 四元式模塊四元式為中間代碼,編譯程序進行完語義分析后,先生成中間代碼作為過渡,此時中間代碼與目標代碼已經(jīng)比較相似 數(shù)據(jù)結(jié)構(gòu)[ 在此處鍵入]在語法分析中嵌入相應的語義動作,生成四元式 數(shù)據(jù)結(jié)構(gòu)[[在此處鍵入] GEQ(+)()(*)(/)(+,i1,i2,t)PUSH(i)ASSI(=)(=,t,_,POP)LABER(i)(lb,_,_,i)GOTO(i)(gt,_,_,i)IF(if)(if,a,_,_)EL(el)(el,_,_,_)IE(ie)(ie,_,_,_)WH()(wh,_,_,_)DO()(do,a,_,_)WE(we)(we,_,_,_) 錯誤處理模塊 保存運行時發(fā)現(xiàn)的錯誤,儲存行號已經(jīng)詳細信息并輸出。Token定義Token定義:Token類型(TokenType): 語法分析模塊語法分析是編譯過程的一個邏輯階段。⑴ 關鍵字表的初值。詞法分析階段的代碼被封裝成一個類——Lexical,Token中主要是Lexical類的聲明代碼。它們的關系是這樣的:Grammer類的一個成員變量temp首先對源程序刪除注釋,然后進行詞法分析獲取所有Token,并將獲取的Token存儲在Token對象的tokenList(List類型)中。在處理過程中,Token類的對象作為Lexical類的一個成員變量,配合Grammer類進行語法分析。工程分為幾個文件:,Four_Yuan,cs,)。(2)語法分析要求用學習過的自底向上或自頂向下的分析方法等,實現(xiàn)對表達式、各種說明語句、控制語句進行語法分析。 要求:(1)設計詞法分析器設計各單詞的狀態(tài)轉(zhuǎn)換圖,并為不同的單詞設計種別碼。[在此處鍵入]編譯器是將C語言翻譯為匯編語言代碼的計算機程序。若語法正確,則用語法制導翻譯法進行語義翻譯;生成并打印出語法樹;若語法錯誤,要求指出出錯性質(zhì)和出錯位置(行號)。四、讀書報告范例黑龍江大學“編譯原理課程設計”讀書報告學院 年級 專業(yè) 學號 姓名 報告日期 成績黑龍江大學計算機科學技術學院黑龍江大學軟件學院一、開發(fā)環(huán)境簡介二、基本理論闡述、當前理論或?qū)嵺`應用現(xiàn)狀三、小型編譯器系統(tǒng)架構(gòu)四、小型編譯器主要功能模塊與實現(xiàn)(1)功能介紹(2)相關理論(3)算法描述(4)程序流程圖(5)測試用例與實驗結(jié)果五、讀書工程心得總結(jié)六、參考文獻,:基于Windows與Linux[M].中國電力出版社,2004,4:第1315頁,第3654頁 2.第二篇:編譯原理課程設計課 程 設 計 報 告設計題目:一個簡單文法的編譯器前端的設計與實現(xiàn)班級: 計算機1206 組長學號:201239 組長姓名:閆智宣 指導教師:李曉華 設計時間:2014年12月[在此處鍵入]設計分工組長學號及姓名: 20123974閆智宣分工:語法分析,四元式生成,目標代碼優(yōu)化及生成 組員1學號及姓名:20123977廖峭 分工:詞法分析,錯誤處理 組員2學號及姓名:20123959郭
點擊復制文檔內(nèi)容
數(shù)學相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1