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

正文內(nèi)容

while循環(huán)語句的翻譯程序的設(shè)計課設(shè)報告(編輯修改稿)

2025-06-09 22:21 本頁面
 

【文章內(nèi)容簡介】 詞法分析子程序流程圖如下: 語法分析語法分析是編譯過程的核心部分。它的任務(wù)是在詞法分析識別出單詞符號串的基礎(chǔ)上,分析并判定程序的語法結(jié)構(gòu)是否符合語法規(guī)則。流程圖如下:輸入串…ci…c1Sp→┋┋┋┋X[i]S[i]總 控 程 序輸出ACTION表GOTO表?xiàng)=Y(jié)束其中SP為棧頂指針,S[i]為狀態(tài)棧,X[i]為文法符號棧。狀態(tài)轉(zhuǎn)換表內(nèi)容按關(guān)系GOTO[Si,X]=Sj確定,改關(guān)系式是指當(dāng)前棧頂狀態(tài)為Si遇到當(dāng)前文法符號為X時應(yīng)轉(zhuǎn)向狀態(tài)Sj。X為終結(jié)符或非終結(jié)符。ACTION[Si,a]規(guī)定了棧頂狀態(tài)為Sj時遇到輸入符號c[i]應(yīng)該執(zhí)行的動作。動作有以下四種可能:(1) 移進(jìn):當(dāng)Sj=GOTO[Si,a]成立,則把Sj移入到文法符號棧。其中i,j表示狀態(tài)號。(2) 規(guī)約:當(dāng)在棧頂形成句柄為b時,則用b歸約為相應(yīng)的非終結(jié)符A,即當(dāng)文法中有Ab的產(chǎn)生式,而b的長度為r,則從狀態(tài)棧和文法符號棧中自棧頂向下去掉r個符號。并把A移入文法符號棧內(nèi),再把滿足Sj=GOTO[Si,A]的狀態(tài)移進(jìn)狀態(tài)棧,其中Si為修改指針后的棧頂狀態(tài)。(3) 接受acc:當(dāng)歸約到文法符號棧中只剩下文法的開始符號S時,并且輸入符號串已結(jié)束即當(dāng)前輸入符是‘’,則為分析成功。(4) 報錯:當(dāng)遇到狀態(tài)棧頂為某一狀態(tài)下出現(xiàn)不該遇到的文法符號時,則報錯,說明輸入串不是該分發(fā)能接受的句子。 語法制導(dǎo)翻譯在語法分析過程中,隨著分析的步步進(jìn)展,根據(jù)每個產(chǎn)生式所對應(yīng)的語義子程序(或語義規(guī)則描述的語義動作)進(jìn)行翻譯。屬性文法的每個符號有屬性,所以每個符號入棧時,必須連屬性一起入棧,這樣,棧符號就由文法符號及存放該符號屬性的域所組成。由于屬性類型不同,屬性域存放的內(nèi)容就要根據(jù)屬性的類型來定。有的可能直接存放屬性值,也有的存放的是指向?qū)傩灾档闹羔?。對于綜合屬性,其屬性域不存放其屬性值,而是存放一個指針,指向存貯該屬性值的單元。對于繼承屬性,其屬性域直接保存其屬性值。繼承屬性的屬性域剛?cè)霔r為空,但是在該棧符號變成棧頂符號之前的某一時刻,它們必須接受相應(yīng)的屬性值,即在成為棧頂時,繼承屬性的屬性域必須有值。6 、詳細(xì)的算法描述Main() //主程序算法{ open()。 //打開輸入文件 open()。 //打開輸出文件 Print(G[S])。 //顯示文法G[S] int check,over=0。 int m,k。 char chr。 for(m=0。mMAX。m++) for(k=0。kbuf。k++) t[m].name[k]=39。\039。 //初始化t[] initlab()。 //初始化LR(0)分析表 get(sym)。 //取一個字符 while(sym!=結(jié)束) { chr=Getsymbol()。 //詞法分析 if(chr為空格) continue。 else { S[num]=chr。 //保存詞法分析結(jié)果 num++。 } } S[num++]=39。39。 print(The while sentence is:)。 LR()。 //語法分析 if(over==1||Check!=1)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1