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

正文內(nèi)容

編譯原理課程設(shè)計(jì)---編譯代碼生成器設(shè)計(jì)-文庫(kù)吧在線文庫(kù)

2025-02-15 17:27上一頁面

下一頁面
  

【正文】 。 backpatch(nna,nextq)。 } else {printf(缺少=號(hào)\n)。 else strcpy(op,)。res=(char *)malloc(10)。 strcpy(num2,F())。 scanner()。 return res。T39。}int merge(int p1,int p2) //合并p1和p2{char circle,nResult。strcpy(fourCom[nextq].arg1,num1)。n8。 if(((ch=39。)amp。(ch=39。))||((ch=39。 //讀下一個(gè)字符 } token[m++]=39。 } } else if((ch=39。 } while((ch=39。 //ch中數(shù)字本身是當(dāng)做字符存放的 ch=prog[p++]。)amp。 //AddToDec()。 ch=prog[p++]。amp。 else sum=sum*pow(10,index)。 token[m++]=ch。 } break。) { syn=33。 token[m++]=ch。 } break。amp。 goto IsNum。 //ch=prog[p++]。039。 ch=prog[p++]。amp。 token[m++]=ch。 repeat=1。 case 39。 } else if(temp2==39。: syn=27。 case 39。 token[m++]=ch。39。 index=0。)。 printf((%3s, %3s ,%3s , %3s )\n,fourCom[i].opera,fourCom[i].arg1,fourCom[i].arg2,fourCom[i].result)。 printf(Mov %1s,Ax\n,fourCom[i].result)。amp。printf( choice 1cifafenxi\n)。r1)。r1)。39。 p1=0。 } }while(syn1!=0)。 39。(ch1=39。))) { while(((ch1=39。)amp。(ch1=39。n1++) if(strcmp(token1,rwtab1[n1])==0) { syn1=n1+1。)) { while((ch1=39。 ch1=prog1[p1++]。=39。:token1[m1++]=ch1。 } break。 token1[m1++]=ch1。 if(ch1==39。!39。} break。 token1[m1++]=ch1。 break。: syn1=27。 case 39。 token1[m1++]=ch1。\39。 break。 } token1[m1++]=39。39。t()。t()。return 。){coutT39。amp。){coutT39。(39。}elseright1=0。if(inputstream[temp1]==39。i39。amp。f()。f()。||inputstream[temp1]!=39。){coutE39。elsecout分析失敗endl。cout請(qǐng)輸入您要分析的字符串以結(jié)束(^為空字符):endl。 token1[m1++]=ch1。 case 39。: syn1=26。 break。)39。 token1[m1++]=ch1。 case 39。 ch1=prog1[p1++]。) { syn1=21。 } else { syn1=14。 case 39。 ch1=prog1[p1++]。) { syn1=24。 p1。39。(ch1=39。)amp。 } p1。))||((ch1=39。(ch1=39。)amp。 if(((ch1=39。m1++)token1[m1++]=NULL。 case 1:printf(you have input a wrong string\n)。 prog1[p1++]=ch1。}}while(r1!=0)。r1)。scanf(%d,amp。}}return。}if(strcmp(fourCom[i].opera,/)==0) {printf(Mov AX,%1s\n,fourCom[i].arg1)。 printf(ADD Ax,%1s\n,fourCom[i].arg2)。 lrparser()。 do{ch=getchar()。 default: syn=1。: syn=31。 break。{39。}syn=26。 if(temp2==39。/39。 repeat=1。 break。+39。939。39。39。amp。 token[m++]=ch。) { syn=36。 } break。 token[m++]=ch。) { syn=35。 syn=20。039。 ch=prog[p++]。e39。)) { //pow(x,y)計(jì)算x的y次冪 temp=(ch39。 ch=prog[p++]。(ch=39。(ch=39。 //標(biāo)識(shí)符 //如果是begin,if,then,while,do,end標(biāo)識(shí)符中的一個(gè) for(n=0。(ch=39。)amp。))) //ch是字母字符 { while(((ch=39。(ch=39。 39。}void scanner() { sum=0。 //strcpy(fourCom[circle].result,p1)。 //四元式circle第四分量?jī)?nèi)容 //strcpy(fourCom[circle].result,t)。 kk++。 res=E()。 } return num1。strcpy(num1,F())。 emit(res,num1,op,num2)。 op=(char *)malloc(10)。 //結(jié)果 scanner()。 emit(0,if,num1,goto)。 case 37: strcpy(op,!=)。 case 33: strcpy(op,=)。nChainTemp)。nChainTemp)。 //nfc=nextq+1。 break。 break。 int nChainTemp。{scanner()。if(syn==29) //} scanner()。} else printf(缺少main\n)。 nextq=1。 //Term項(xiàng)char* F()。 void staBlock(int *nChain)。zhongjiandaima()。char *rwtab[9]={main,int,float,double,char,if,else,do,while}。 //是否是指數(shù) int index。 //單個(gè)字符 int syn,p,m,n,i。//用于存輸入表達(dá)式int tokene=0。  附錄程序清單includeincludeincludefstreamincludeiostreamusing namespace std。   一、對(duì)實(shí)驗(yàn)原理有更深的理解  通過該課程設(shè)計(jì),掌握了什么是編譯程序,編譯程序工作的基本過程及其各階段的基本任務(wù),熟悉了編譯程序總流程框圖,了解了編譯程序的生成過程、構(gòu)造工具及其相關(guān)的技術(shù)對(duì)課本上的知識(shí)有了更深的理解,課本上的知識(shí)師機(jī)械的,表面的。不是則“出錯(cuò)處理”,若是則“調(diào)用scaner函數(shù)”224。通過該課程設(shè)計(jì),收獲頗多。}if(strcmp(fourCom[i].opera,*)==0) {printf(Mov AL,%1s\n,fourCom[i].arg1)。(4) 結(jié)果演示 圖一 簡(jiǎn)單語句生成四元式 圖二 if語句的四元式生成 圖三 循環(huán)語句四元式生成(5)匯編生成if(strcmp(fourCom[i].opera,=)==0) {printf(Move AX,%1s\n,fourCom[i].arg1)。 //自動(dòng)生成臨時(shí)變量void backpatch(int p,int t)。 //語句串void sta(int *nChain)。編譯器。 } } ;判別整數(shù) (3) 詞法分析的運(yùn)行結(jié)果 輸入begin x:=1。039。 break。amp。Z39。A39。amp。 有關(guān)scaner1()中關(guān)鍵點(diǎn)解析: ①while((ch==39。 按要求完成課程設(shè)計(jì)內(nèi)容,課程設(shè)計(jì)報(bào)告要求文字和圖表工整、思路清晰、算法正確。 現(xiàn)在人們已經(jīng)建立了多種編制部分編譯程序或整個(gè)編譯程序的有效工具。現(xiàn)在計(jì)算機(jī)系統(tǒng)一般都含有不只一個(gè)的高級(jí)語言的編譯程序,對(duì)有些高級(jí)語言甚至配置了幾個(gè)不同性能的編譯程序,供用戶按不同需要進(jìn)行選擇。 一個(gè)編譯程序的工作過程一般可以劃分為五個(gè)階段:詞法分析、語法分析、語義分析與中間代碼生成、優(yōu)化、目標(biāo)代碼生成。關(guān)鍵字:C語言、編譯、掃描器、語法分析一、課程設(shè)計(jì)的目的編譯原理課程兼有很強(qiáng)的理論性和實(shí)踐性,是計(jì)算機(jī)專業(yè)的一門非常重要的專業(yè)基礎(chǔ)課程,它在系統(tǒng)軟件中占有十分重要的地位,是計(jì)算機(jī)專業(yè)學(xué)生的一門主修課。本課程的課程設(shè)計(jì)要求學(xué)生編寫一個(gè)完整的編譯程序,包括詞法分析器、語法分析器以及實(shí)現(xiàn)對(duì)簡(jiǎn)單程序設(shè)計(jì)語言中的邏輯運(yùn)算表達(dá)式、算術(shù)運(yùn)算表達(dá)式、賦值語句、IF語句、While語句以及do…while語句進(jìn)行編譯,并生成中間代碼和直接生匯編指令的代碼生成器。 ;忽略空格 ②if(((ch=39。)amp。(ch=39。))||((ch=39。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1