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

正文內(nèi)容

編譯原理報(bào)告(9)-在線瀏覽

2025-05-29 22:59本頁面
  

【正文】 字母拼字符串 數(shù)字 其他符號 錯誤 是否關(guān)鍵字?拼數(shù) 對不同符號給出相應(yīng)的syn值 否報(bào)錯syn=10 是syn=11syn為對應(yīng)關(guān)鍵字的單詞種別碼返回 圖132 詞法分析程序掃描子程序框圖4. 具體實(shí)現(xiàn)char *rwtab[6] = {begin, if, then, while, do, end}。 return ch。 39。 }}void concat(){ //拼接單詞 token[m++] = ch。\039。a39。amp。z39。A39。amp。Z39。 else return 0。039。amp。939。 else return 0。 for(i=0。 i++){ if(!strcmp(rwtab[i], token)){ return i+1。}void retract(){ //回退一個字符 p = p 1。 printf(Please input string (end of ): \n)。ch)。 }while(ch != 39。)。 do{ scaner()。 getch()。 default: printf((%d, %s)\n, syn, token)。 } }while(syn != 0)。}5. 結(jié)果分析輸入begin x:=9: if x9 then x:=2*x+1/3。) (2, if) ……如圖151所示:圖151 詞法分析實(shí)驗(yàn)結(jié)果6. 實(shí)驗(yàn)總結(jié)詞法分析的基本任務(wù)是從字符串表示的源程序中識別出具有獨(dú)立意義的單詞符號,其基本思想是根據(jù)掃描到單詞符號的第一個字符的種類,拼出相應(yīng)的單詞符號。實(shí)驗(yàn)二 語法分析1. 實(shí)驗(yàn)?zāi)康木幹埔粋€遞歸下降分析程序,實(shí)現(xiàn)對詞法分析程序所提供的單詞序列的語法檢查和結(jié)構(gòu)分析。 待分析的簡單語言的語法用擴(kuò)充的BNF表示如下:(1)程序::=begin語句串end(2)語句串::=語句{;語句}(3)語句::=賦值語句(4)賦值語句::=ID:=表達(dá)式(5)表達(dá)式::=項(xiàng){+項(xiàng) | 項(xiàng)}(6)項(xiàng)::=因子{*因子 | /因子(7)因子::=ID | NUM | (表達(dá)式) 實(shí)驗(yàn)要求說明輸入單詞串,以“”結(jié)束,如果是文法正確的句子,則輸出成功信息,打印“success”,否則輸出“error”。 x:=2*3。置初值調(diào)用scaner讀下一個單詞符號調(diào)用lrparser結(jié)束圖231 語法分析主程序框圖(2)遞歸下降分析程序示意圖如圖232所示。 是否begin?調(diào)用statement函數(shù) 否 是調(diào)用scaner是否 ;?否調(diào)用語句串分析程序 是 是否end?調(diào)用scaner 否 調(diào)用statement函數(shù) 是調(diào)用scaner syn=0amp。kk=0?出錯處理 否 出錯處理 是 圖233 語句串分析示意圖打印分析成功 圖232 遞歸下降分析程序示意圖(4)statement語句分析程序流程如圖232323237所示。 else if(syn == 27){ scaner()。 //調(diào)用函數(shù)statement() if(syn == 28) scaner()。)39。 kk = 1。 kk = 1。}void term(){ factor()。 //讀下一個單詞符號 factor()。}void expression(){ term()。 //讀下一個單詞符號 term()。}void statement(){ if(syn==10){ scaner()。 //讀下一個單詞符號 expression()。:=39。 kk=1。 kk=1。}void yucu(){ statement()。 //讀下一個單詞符號 if(syn != 6) statement()。}void lrparser(){ if(syn == 1){ scaner()。 //調(diào)用yucu()函數(shù) if(syn == 6){ scaner()。amp。 } else{ if(kk != 1) printf(The string is lack of a 39。!\n)。 } } else{ printf(The string is lack of a 39。!\n)。 } return。 printf(Please input string (end of ): \n)。ch)。 }while(ch != 39。)。 scaner()。 return 0。 x:=2*3。begin39。調(diào)用scaner函數(shù)讀下一個單詞符號224。結(jié)束。不是則“出錯處理”,若是則“調(diào)用scaner函數(shù)”224?!芭袛嗍欠駷閑nd”224?!芭袛鄐yn=0amp。kk=0是否成立”成立則說明分析成功打印出來。附錄char ch。char *rwtab[6] = {begin, if, then, while, do, end}。 return ch。 39。 }}void concat() //拼接單詞{ token[m++] = ch。\039。a39。amp。z39。A39。amp。Z39。 else return 0。039。amp。939。 else return 0。 for(i=0。 i++) { if(!strcmp(rwtab[i], token)) { return i+1。}void retract() //回退一個字符{ p = p 1。}void scaner(){ m = 0。 n8。\039。 getbc()。 m_getch()。 syn = reserve()。 m_getch()。 syn = 11。39。 m_getch()。39。 concat()。=39。 concat()。 retract()。 case 39。: concat()。 if(ch == 39。) { syn
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1