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

正文內容

編譯原理課程設計--語法分析器(參考版)

2025-06-08 12:19本頁面
  

【正文】 2. 運行時屏幕截圖 。執(zhí)行可執(zhí)行文件,可順利通過測試用例 的分析,顯示分析成功并打印出相應的 C 語言源程序。語法分析成功后由主函數顯示分析成功的提示信息并調用輸出函數,將語法分析建立的語法樹的根節(jié)點傳遞給輸出函數,完成同語義 C 語言 源程序的輸出。 2) 解決方式 輸出采用自頂向下的方式,各個語法結構的輸出函數只負責本語法結構的正確輸出,而不會向上負責,但是會向下傳遞一下格式控制的信息,在這里指的是輸出的語法結構距行首有多少空格,這主要是為了輸出的美觀整齊。 5. 輸出函數部分 1) 基本 原理 這部分的功能主要是根據語法分析器構造的語法樹輸出語義相同的C 語言源程序,因此主要是實現(xiàn)各個語法結構的打印輸出。 這里是對文法的結構做了微小的變化,將變量聲明部分更改為 VAR 加一個變量聲明表。 VARIETY : ID {$$=A_Id(EM_tokPos,$1)。} | CALCULATEEXPRESS LT CALCULATEEXPRESS {$$=A_BExp(EM_tokPos,$2,$1,$3)。} | CALCULATEEXPRESS LE CALCULATEEXPRESS {$$=A_BExp(EM_tokPos,$2,$1,$3)。} | CALCULATEEXPRESS NEQ CALCULATEEXPRESS {$$=A_BExp(EM_tokPos,$2,$1,$3)。} 。} | FLOAT {$$=A_RealExp(EM_tokPos,$1)。 FACTOR : VARIETY {$$=A_VarExp(EM_tokPos,$1)。} | TERM DIVIDED FACTOR {$$=A_OpExp(EM_tokPos,$2,$1,$3)。} 。} CALCULATEEXPRESS : TERM | CALCULATEEXPRESS PLUS TERM {$$=A_OpExp(EM_tokPos,$2,$1,$3)。} 。} 。} 。} 。} 。 SENTENCETABLE :SENTENCE {$$=A_StmList($1,NULL)。} |VARIETY COMMA VARIETYTABLE {$$=A_VarList($1,$3)。 TYPE :INTEGER |REAL 。 DECLARE : VARIETYTABLE COLON TYPE {$$=A_Dec(EM_tokPos,$1,$3)。} |DECLARE SEMICOLON DECLARETABLE {$$=A_DecList($1,$3)。} 。} 。} 。 4. 語法分析器的設計 1) 原理 由于語法分析是為了分析源程序的語法結構并建立語法樹,因此只需為該語言書寫一個有效的文法并在產生式后添加相應的語義 動作,在語義動作里通過計算非終結符的綜合屬性來建立程序的語法樹。 4) 其他符號屬性值 當詞法分析遇到整數或浮點數時,需要將 yytext 所指字符串轉換成整數或浮點數,簡單的調用函數 atoi()和 atof()即可完成。 3) 標識符屬性值 識別到標識符時,由于其屬性是一個字符串,不能直接將變量 yytext的值賦給全局變量 yylval,因為 yytext 的值是一個指針變量,而我們無法知道這個指針所指向的內存區(qū)域在下一時刻會發(fā)生怎樣的變化,因此無法確保在語法分析的最后還能正確 地 獲取標識符的名字。為了實現(xiàn)這些功能,詞法
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1