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

正文內(nèi)容

編譯原理課程設(shè)計(jì)---編譯代碼生成器設(shè)計(jì)-全文預(yù)覽

  

【正文】 case 34: strcpy(op,)。(syn=32)) {switch(syn) {case 32: strcpy(op,)。 if(syn==26) //( {scanner()。}//條件語(yǔ)句if(條件)語(yǔ)句塊void tiaojian(int *nChain){char res[10],num1[10],num2[10],op[10]。}void sta(int *nChain) //語(yǔ)句{if(syn==10) {fuzhi()。while(syn==31) //。}//語(yǔ)句串::=語(yǔ)句{。//backpatch(*nChain,nextq)。語(yǔ)句串39。 } else printf(缺少左括號(hào)\n)。 if(syn==27) //) {scanner()。 nfc=ntc=1。 //回填int merge(int p1,int p2)。 //Expresiion表達(dá)式char* T()。 //語(yǔ)句void fuzhi()。void lrparser()。void e1()。yufafenxi()。 char opera[10]。 //臨時(shí)變量的標(biāo)號(hào)int ntc,nfc,nnc,nnb,nna。 int temp2。 //小數(shù) int isExp。 int isSignal。 //存放詞組 char ch。char *rwtab1[6]={begin,if,then,while,do,end}。char str[MAX]。 //數(shù)組下標(biāo)int right1。加深了理解文件系統(tǒng)的內(nèi)部功能及內(nèi)部實(shí)現(xiàn),培養(yǎng)實(shí)踐動(dòng)手能力和程序開(kāi)發(fā)能力的目的?! ∪⒓ぐl(fā)了學(xué)習(xí)的積極性  通過(guò)該課程設(shè)計(jì),全面系統(tǒng)的理解了編譯原理程序構(gòu)造的一般原理和基本實(shí)現(xiàn)方法。不成立則“出錯(cuò)處理”。不是則“出錯(cuò)處理”,若是則調(diào)用scaner函數(shù)224。遞歸下降分析的大致流程為:“先判斷是否為begin”224。 通過(guò)本次試驗(yàn),了解了語(yǔ)法分析的運(yùn)行過(guò)程,主程序大致流程為:“置初值”224。 }結(jié)果演示五、課程設(shè)計(jì)的體會(huì)與總結(jié) 經(jīng)過(guò)一個(gè)星期的編譯原理課程設(shè)計(jì),本人在陳宏建老師的指導(dǎo)下,順利完成該課程設(shè) 計(jì)。}if(strcmp(fourCom[i].opera,/)==0) { printf(Mov AX,%1s\n,fourCom[i].arg1)。 printf(Mov %1s,Ax\n,fourCom[i].result)。 printf(ADD Ax,%1s\n,fourCom[i].arg2)。void xunhuan()該函數(shù)的功能是對(duì)循環(huán)語(yǔ)句進(jìn)行分析。 //生成四元式void emit(char *res,char *num1,char *op,char *num2) 該函數(shù)的功能是生成一個(gè)三地址語(yǔ)句送到四式表中 char *newTemp()該函數(shù)的功能是會(huì)動(dòng)一個(gè)新的臨時(shí)變量,臨時(shí)變量名產(chǎn)生的 順序是T1,T2,T3,….int merge(int p1,int p2)該函數(shù)的功能是將以P1,P2為鏈?zhǔn)椎膬蓷l鏈合并成一條鏈,返回時(shí)的函數(shù)值作為合并后的鏈?zhǔn)住?//Factor因子char *newTemp()。 //條件語(yǔ)句void xunhuan()。 //語(yǔ)句塊void staString(int *nChain)。單詞符號(hào)及種別表單詞符號(hào)種別編碼單詞值main1 int 2 float3 double4 char5 if 6 else 7 do8 while9 l(l|d)*10內(nèi)部字符串 ( +||ε ) d*(.dd* | ε)( e ( +||ε ) dd*|ε) 20二進(jìn)制數(shù)值表示=21 +22 23 * 24 / 25 (26 )27 {28 }29 ,30 。 語(yǔ)義分析程序 224。 (3) 語(yǔ)法分析的運(yùn)行結(jié)果 分析成功圖 分析失敗圖 中間代碼生成程序(1)總體描述采用遞歸下降(自上而下)的語(yǔ)法制導(dǎo)翻譯法。 ch=prog[p++]。(ch=39。)) { while((ch=39。)amp。n++) if(strcmp(token,rwtab[n])==0) { syn=n+1。))) { token[m++]=ch。)amp。(ch=39。))||((ch=39。)amp。(ch=39。))||((ch=39。)amp。\n39。掃描子程序scaner1( )掃描輸入的語(yǔ)句 首先設(shè)置3個(gè)變量:①token1用來(lái)存放構(gòu)成單詞符號(hào)的字符串;②sum1用來(lái)存放整型單詞;③syn1用來(lái)存放單詞符號(hào)的類型碼。 三、課程設(shè)計(jì)的內(nèi)容課程設(shè)計(jì)是一項(xiàng)綜合性實(shí)踐環(huán)節(jié),是對(duì)平時(shí)實(shí)驗(yàn)的一個(gè)補(bǔ)充,課程設(shè)計(jì)內(nèi)容包括課程的主要理論知識(shí),但由于編譯的知識(shí)量較復(fù)雜而且綜合性較強(qiáng),因而對(duì)一個(gè)完整的編譯程序不適合平時(shí)實(shí)驗(yàn)。二、課程設(shè)計(jì)的要求 明確課程設(shè)計(jì)任務(wù),復(fù)習(xí)編譯理論知識(shí),查閱復(fù)印相關(guān)的編譯資料。 編譯程序是一極其龐大而又復(fù)雜的系統(tǒng),掌握它比較苦難。要構(gòu)造一個(gè)編譯程序,可以按照這樣的階段來(lái)分別構(gòu)造,最后來(lái)連調(diào)。 通常說(shuō)的翻譯程序是指能夠把某一種語(yǔ)言程序轉(zhuǎn)換成另一種語(yǔ)言程序(目標(biāo)語(yǔ)言程序)?!毒幾g原理》課程設(shè)計(jì)報(bào)告 題目 編譯代碼生成器設(shè)計(jì)學(xué) 院 信息科學(xué)與工程學(xué)院 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí) ******** 學(xué) 號(hào) ********** 學(xué)生姓名 ********* 指導(dǎo)教師 ****** 課程成績(jī) 完成日期 *********** 課程設(shè)計(jì)成績(jī)?cè)u(píng)定學(xué) 院 信息學(xué)院 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) ********* 學(xué) 號(hào) ************** 學(xué)生姓名 ******** 指導(dǎo)教師 ********* 課程成績(jī) 完成日期 ************ 指導(dǎo)教師對(duì)學(xué)生在課程設(shè)計(jì)中的評(píng)價(jià)評(píng)分項(xiàng)目?jī)?yōu)良中及格不及格課程設(shè)計(jì)中的創(chuàng)造性成果學(xué)生掌握課程內(nèi)容的程度課程設(shè)計(jì)完成情況課程設(shè)計(jì)動(dòng)手能力文字表達(dá)學(xué)習(xí)態(tài)度規(guī)范要求課程設(shè)計(jì)論文的質(zhì)量指導(dǎo)教師對(duì)課程設(shè)計(jì)的評(píng)定意見(jiàn)綜合成績(jī) 指導(dǎo)教師簽字 ******年 月 題目 編譯代碼生成器設(shè)計(jì)學(xué)生姓名:******* 指導(dǎo)老師:*******摘要使用過(guò)現(xiàn)代計(jì)算機(jī)的人都知道,多數(shù)用戶是應(yīng)用高級(jí)語(yǔ)言來(lái)實(shí)現(xiàn)他們所需要的計(jì)算的。 計(jì)算機(jī)上執(zhí)行一個(gè)高級(jí)語(yǔ)言程序一般分為兩步:第一,用一個(gè)編譯程序把高級(jí)語(yǔ)言翻譯成機(jī)器語(yǔ)言程序;第二,運(yùn)行所得的機(jī)器語(yǔ)言程序求得計(jì)算結(jié)果。每個(gè)階段都是從上一個(gè)階段得到結(jié)果,對(duì)他進(jìn)行分析,并且根據(jù)一些外部環(huán)境(例如符號(hào)表等)得到最終的輸出結(jié)果。這些構(gòu)造編譯程序的工具成為編譯程序-編譯程序、編譯程序產(chǎn)生器或翻譯程序書(shū)寫(xiě)系統(tǒng),他們是按照編譯程序和目標(biāo)語(yǔ)言的形式描述而自動(dòng)產(chǎn)生編譯程序的。為了讓學(xué)生能夠更好地掌握編譯原理的基本理論和編譯程序構(gòu)造的基本方法和技巧,融會(huì)貫通本課程所學(xué)專業(yè)理論知識(shí),提高他們的軟件設(shè)計(jì)能力,特設(shè)定該課程的課程設(shè)計(jì),通過(guò)設(shè)計(jì)一個(gè)簡(jiǎn)單的PASCAL語(yǔ)言(EL語(yǔ)言)的編譯程序,提高學(xué)生設(shè)計(jì)程序的能力,加深對(duì)編譯理論知識(shí)的理解與應(yīng)用。 編寫(xiě)完整的編譯程序。四、總體設(shè)計(jì)方案及詳細(xì)設(shè)計(jì)主程序詞法分析程序語(yǔ)法分析程序中間代碼生成程序總體設(shè)計(jì)方案:2. 各種單詞符號(hào)對(duì)應(yīng)的種別碼單詞符號(hào)種別碼 單詞符號(hào)種別碼bgin1:17If2:=18Then320wile421do5=22end623lettet(letter|digit)*10=24dight dight*11=25+13;26—14(27*15)28/160詳細(xì)設(shè)計(jì): (1)一共三個(gè)選項(xiàng):①choice 1cifafenxi ②choice 2yufafenxi ③choice 3zhongjiandaima (2)界面演示 圖一 圖二 圖三 置初值調(diào)用掃描子程序輸出單詞二元組輸入串結(jié)束結(jié)束否是(1)流程圖設(shè)計(jì)(2)具體功能的具體設(shè)計(jì)cifafenxi( ) 首先設(shè)置prog[n]來(lái)接收輸入的語(yǔ)句,以‘’來(lái)結(jié)束; 調(diào)用掃描子程序 scaner1( ),每一次得到一個(gè)類型碼; 用switch判別相應(yīng)輸出; 直到syn1=0為止。)||(ch==39。z39。a39。amp。z39。a39。amp。039。939。n6。039。939。amp。039。end 輸出 (1) 具體功能的具體設(shè)計(jì) ()分析程序 給出算術(shù)表達(dá)式文法,進(jìn)行適當(dāng)?shù)奈姆ㄗ儞Q輸入——表達(dá)式;輸出——表達(dá)式語(yǔ)法是否正確。 語(yǔ)法分析程序 224。漸變的過(guò)程。 void staBlock(int *nChain)。 //賦值語(yǔ)句void tiaojian(int *nChain)。 //Term項(xiàng)char* F()。 //合并p1和p2void emit(char *res,char *num1,char *op,char *num2)。void tiaojian(int *nChain)該函數(shù)的功能是對(duì)條件語(yǔ)句進(jìn)行分析。}if(strcmp(fourCom[i].opera,+)==0) { printf(Mov AX,%1s\n,fourCom[i].arg1)。 printf(SUB Ax,%1s\n,fourCom[i].arg2)。 printf(Mov %1s,Ax\n,fourCom[i].result)。}if(strcmp(fourCom[i].opera,goto)==0) { printf(jmp L%1s\n,i)。通過(guò)本試驗(yàn)的完成,更加加深了對(duì)詞法分析原理的理解。結(jié)束。“判斷是否為end”224。kk=0是否成立”成立則說(shuō)明分析成功打印出
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1