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

正文內(nèi)容

編譯原理報告(8)-在線瀏覽

2025-05-10 12:06本頁面
  

【正文】 ]={begin,if,then,while,do,end}。 printf(\n 202。200。186。178。210。 39。189。202。:\n)。ch)。 }while(ch!=39。)。 do{ scaner()。 break。 getch()。 default: printf(( %10s%5d )\n,token,syn)。 } }while(syn!=0)。}scaner(){ sum=0。m8。 ch=prog[p++]。 while((ch==39。)||(ch==39。))ch=prog[p++]。z39。amp。a39。Z39。amp。A39。z39。amp。a39。Z39。amp。A39。039。amp。939。 ch=prog[p++]。\039。 syn=10。n6。 break。039。amp。939。039。amp。939。039。 } p。 } else switch(ch) { case 39。:token[m++]=ch。 if(ch==39。) { syn=22。 } else if(ch==39。) { syn=21。 } else { syn=20。 } break。:39。 ch=prog[p++]。=39。 token[m++]=ch。 p。 case 39。:token[m++]=ch。 if(ch==39。) { syn=24。 } else { syn=23。 } break。39。 token[m++]=ch。 case 39。: syn=13。 break。*39。 token[m++]=ch。 case 39。: syn=16。 break。(39。 token[m++]=ch。 case 39。: syn=28。 break。=39。 token[m++]=ch。 case 39。: syn=26。 break。39。 token[m++]=ch。 default: syn=1。 } token[m++]=39。}實驗二:語法分析1) 設(shè)計并編制一個語法分析程序,加深對語法分析程序中遞歸下降分析方法的理解;2) 鞏固對代碼生成及報錯處理等理論的認(rèn)識;3) 培養(yǎng)對完整系統(tǒng)獨立分析和設(shè)計的能力;4) 培養(yǎng)學(xué)生獨立編程的能力; 利用C語言編制遞歸下降分析程序,并對簡單語言進(jìn)行語法分析。b:=0 end 輸出: success 輸入: begin a=9 end 輸出: error算法的基本任務(wù)是從字符串中表示的源程序中識別出具有獨立意義的單詞符號,并通過其基本文法,正確規(guī)約到開始符號。 其中retab中元素為 “begin” “if” “then” “while” “do” “end”,在程序會掃描出標(biāo)識符時,首先查關(guān)鍵字表。syn用于每一步掃描中scanner 的返回值。2) 主程序main算法流程圖開始讀取字符串到inputStringint i =0。) Nscanner()出錯處理 Y6) statement語句分析算法流程圖調(diào)用syn ==26(。 expression() 出錯處理是否 )scanner() 。 x:= 2*3 end 結(jié)果如下2. 輸入begin a=9 end 結(jié)果如下本次實驗和第一實驗一樣,框架已經(jīng)給出,我們需要做的是將第一個實驗和第二個實驗很好的結(jié)合起來。通過兩次編譯原理的實驗,更加理解了詞法語法分析的過程,促進(jìn)了對課程的進(jìn)一步學(xué)習(xí)。int ClearBlank(char *input,int (*index),int length)。void lrparser(char *input,int inputLength,int *index)。void factor(char *input,int inputLength,int *index)。void expression(char *input,int inputLength,int *index)。char *retab[6]={begin,if,then,while,do,end}。int myIsAlpha(char ch){ if(islower(ch)==2 || isupper(ch)==1) { return 1。 }}void scaner(char *input,int inputLength,int *index){ char s[256]=。 int nowPosition=0。 if(myIsAlpha(ch)==1) //如果是字母 { while(((ch=39。 amp。 ch=39。) || (myIsAlpha(ch)==1 ) )amp。 *index =inputLength) { s[nowPosition]=ch。 ch=GetChar(input,index,inputLength)。039。939。amp。\039。 if(j==0) { syn=10。 } (*index)。 } else //超過范圍 { s[nowPosition++]=ch。\039。 if(j==0) { syn=10。 } getchar()。 return。039。amp。939。039。amp。939。amp。 //添加到當(dāng)前字符串中 nowPosition++。 } if(ch39。 || ch39。)//進(jìn)行回退操作 { (*index)。 return。 syn=11。 } } else { switch(ch) { case 39。: { syn=13。 } case 39。: { syn=14。 } case 39。: { syn=15。 } case 39。: {
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1