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

正文內(nèi)容

編譯原理報告(9)-wenkub

2023-04-26 22:59:17 本頁面
 

【正文】 39。039。Z39。A39。amp。\039。 39。置初值調(diào)用掃描子程序輸出單詞二元組輸入串結(jié)束 否 是結(jié)束 圖131 詞法分析主程序框圖變量初始化忽略空格返回是否文件結(jié)束? 是 否 字母拼字符串 數(shù)字 其他符號 錯誤 是否關(guān)鍵字?拼數(shù) 對不同符號給出相應(yīng)的syn值 否報錯syn=10 是syn=11syn為對應(yīng)關(guān)鍵字的單詞種別碼返回 圖132 詞法分析程序掃描子程序框圖4. 具體實現(xiàn)char *rwtab[6] = {begin, if, then, while, do, end}。關(guān)鍵字表為一個字符串?dāng)?shù)組,其描述如下:Char *rwtab[6] = {“begin”, “if”, “then”, “while”, “do”, “end”,}。 主程序框圖主程序框圖如圖131所示。其中:syn為單詞種別碼; token為存放的單詞自身字符串; sum為整型常數(shù)??崭褚话阌脕矸指鬒D、SUM、運算符、界符和關(guān)鍵字,詞法分析階段通常被忽略。源程序 13詞法分析 13語法分析 18實驗一 詞法分析1. 實驗?zāi)康脑O(shè)計、編制并調(diào)試一個詞法分析程序,加深對詞法分析原理的理解。2. 實驗要求 待分析的簡單的詞法(1)關(guān)鍵字:begin、if、then、while、do、end所有的關(guān)鍵字都是小寫。 各單詞符號的種別碼各種單詞符號所對應(yīng)的種別碼如表1所示。例如,對源程序 begin x:=9: if x9 then x:=2*x+1/3。其中初始包括以下兩個方面:(1)關(guān)鍵字表的初值。(2)程序中需要用到的主要變量為syn,token和sum。 //關(guān)鍵字表/* 自選函數(shù) */char m_getch(){ //從輸入源讀一個字符到CH中 ch = prog[p++]。|| ch== 10){ ch = prog[p++]。}int letter(){ //判斷是否是字母 if((ch=39。ch=39。amp。)) return 1。 amp。) return 1。 i6。} /* 主程序 */int main(){ p = 0。 prog[p++] = ch。 p = 0。 exit(0)。 return 0。通過本試驗的完成,更加加深了對詞法分析原理的理解。例如: 輸入 begin a:=9。(3)語句串分析過程示意圖如圖233所示。是否標(biāo)識符?調(diào)用term函數(shù) 否調(diào)用scaner是否+ , ? 否是否:=? 是調(diào)用scaner 否調(diào)用scaner調(diào)用term函數(shù)調(diào)用expression函數(shù)出錯處理出錯處理圖234 statement函數(shù)示意圖 圖235 expression函數(shù)示意圖調(diào)用scaner調(diào)用factor函數(shù)是否標(biāo)識符? 是是否* , /? 否是否整常數(shù)?否 是 是是否(? 否 否調(diào)用factor函數(shù) 是出錯處理調(diào)用scaner調(diào)用expression函數(shù) 圖236 term函數(shù)示意圖是否)? 否出錯處理調(diào)用scaner調(diào)用scaner 是 圖237 factor函數(shù)示意圖4. 具體實現(xiàn)void factor(){ if(syn==10 || syn==11) scaner()。 //讀下一個單詞符號 else{ printf(The error is on 39。 } } else{ printf(The expression is error!\n)。 //調(diào)用函數(shù)factor() while(syn==15 || syn==16) { scaner()。 //調(diào)用函數(shù)term() while(syn==13 || syn==14){ scaner()。 //讀下一個單詞符號 if(syn==18){ scaner()。 is error!\n)。 } return。 //調(diào)用函數(shù)statement() } return。 if(syn==0 amp。end39。begin39。}int main(){ p = 0。 prog[p++] = ch。 p = kk = 0。}5. 結(jié)果分析(1)輸入 begin a:=9。!如圖252所示:圖252 語法分析實驗結(jié)果(二)6. 實驗總結(jié)通過本次試驗,了解了語法分析的運行過程,主程序大致流程為:“置初值”224。遞歸下降分析的大致流程為:“先判斷是否為begin”224。不是則“出錯處理”,若是則“調(diào)用scaner函數(shù)”224。不成立則“出錯處理”。int syn, p, m, n。}void getbc() //去掉空白字符{ while (ch == 39。 token[m] = 39。amp。)||(ch=39。ch=39。}int digit() //判斷是否是數(shù)字{ if(ch = 39。 ch = 39。}int reserve() //檢索關(guān)鍵字表格{ int i。 } } return 10。 for(n=0。 m_getch()。 } retract()。 } retract()。: concat()。) { syn = 21。) { syn = 22。 } break。 m_getch()。 concat()。 case 39。 if(ch == 39。 } else {
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1