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

正文內(nèi)容

編譯原理課程設(shè)計(jì)--語法分析器-在線瀏覽

2024-07-31 12:19本頁面
  

【正文】 int ival。 string sval。 a_op op。 ttype typ。 a_bexp relexp。 a_stm_list stens。 a_dec decl。 a_var_list vartable。 a_extension exten。 a_pos pos。 }。 a_vardec vardeclare。 }。 a_dec_list dectable。 4) 變量聲明表數(shù)據(jù)結(jié)構(gòu)定義 struct a_dec_list_ { a_dec head。 }。 a_pos pos。 }。 a_var_list tail。 7) 語句表數(shù)據(jù)結(jié)構(gòu)定義 struct a_stm_list_ { a_stm head。 }。 a_pos pos。 a_exp exp。//賦值語句: var = exp。 a_stm s1。 } iff。 struct a_while_stm_ { a_bexp b。 } whilee。 a_stm_list seq。 } stm。 9) 算數(shù)表達(dá)式數(shù)據(jù)結(jié)構(gòu)定義 struct a_exp_ { enum {A_varExp, A_intExp, A_realExp, A_opExp} kind。 union { struct { a_op op。 a_exp right。 //二元運(yùn)算表達(dá)式: left op right a_id var。 //整型數(shù)表達(dá)式 double fval。 }。 struct { a_bop bop。 a_exp right。 }。 string val。 12) 類型數(shù)據(jù)結(jié)構(gòu)定義 typedef enum{T_int, T_real} ttype。 14) 二元算數(shù)運(yùn)算符數(shù)據(jù)結(jié)構(gòu)定義 typedef enum {A_plusOp, A_minusOp, A_timesOp, A_divideOp} a_op。 16) 各種指針類型定義 typedef struct a_exp_ * a_exp。 typedef struct a_id_ * a_id。 typedef struct a_stm_list_ * a_stm_list。 typedef struct a_vardec_ * a_vardec。 typedef struct a_var_list_ * a_var_list。 typedef struct a_extension_ * a_extension。 最后詞法分析器要將這個詞法單元所對應(yīng)的終結(jié)符記號返回給語法分析器,使語法分析器知道現(xiàn)在已經(jīng)得到了一個終結(jié)符號 ,然后采取相應(yīng)的動作(移進(jìn)終結(jié)符或者歸約產(chǎn)生式)。 2) 定義狀態(tài) 此外為了能夠識別注釋并做相應(yīng)的處理,需要設(shè)置一個狀態(tài),以表示現(xiàn)在詞法分析是否處于注釋的范圍內(nèi),狀態(tài)定義如下: %s COMMENT 當(dāng)遇到注釋開始標(biāo)志時(shí),詞法分析器就進(jìn)入注釋狀態(tài),遇到注釋結(jié)束標(biāo)志再切換回正常狀態(tài)。 為此在遇到標(biāo)識符時(shí),我們需要自己開辟一塊內(nèi)存區(qū)域來存放標(biāo)識符的名字,將此刻 yytext 所指內(nèi)存區(qū)域的值復(fù)制一份到我們自己開辟的內(nèi)存區(qū)域。識別到其他詞法單元只需要根據(jù)詞法單元的類型進(jìn)行簡單的賦值即可。 2) 為該語言書寫的文法(含語義動作)如下: progr : PROGRAM ID SEMICOLON EXTENSION {program = A_Prog(EM_tokP
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1