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

正文內(nèi)容

第六章屬性文法和語法制導(dǎo)翻譯(編輯修改稿)

2025-08-17 17:12 本頁面
 

【文章內(nèi)容簡介】 在符號表中的入口 。 ? mkleaf (num,val) 建立一個(gè)數(shù)結(jié)點(diǎn) , 標(biāo)號為 num, 一個(gè)域 val用于存放數(shù)的值 。 國防科技大學(xué)計(jì)算機(jī)系 602教研室 建立抽象語法樹的語義規(guī)則 產(chǎn) 生 式 語 義 規(guī) 則 E→E1+T := mknode( ‘+’, , ) E→E1T := mknode( ‘’, , ) E→T := T→ (E) := T→id := mknode( id, ) T→num := mknode( num, ) 國防科技大學(xué)計(jì)算機(jī)系 602教研室 a- 4+ c的抽象語法樹 E nptr T nptr E nptr To entry for a E T nptr id T nptr id id id num 4 + To entry for c 國防科技大學(xué)計(jì)算機(jī)系 602教研室 S屬性文法的自下而上計(jì)算 ? S屬性文法 :只含有綜合屬性 ? 綜合屬性可以在分析輸入符號串的同時(shí)由自下而上的分析器來計(jì)算。 ? 分析器可以保存與棧中文法符號有關(guān)的綜合屬性值,每當(dāng)進(jìn)行歸約時(shí),新的屬性值就由棧中正在歸約的產(chǎn)生式右邊符號的屬性值來計(jì)算。 國防科技大學(xué)計(jì)算機(jī)系 602教研室 ? 在分析棧中使用一個(gè)附加的域來存放綜合屬性值 ? 假設(shè)語義規(guī)則 :=f(,)是對應(yīng)于產(chǎn)生式 A→XYZ的 S m Z .z Z S m 1 Y. y Y S m 2 X .x X ? ? ? S 0 — TOP S’ m 2 A. a A ? ? ? S 0 — TOP 國防科技大學(xué)計(jì)算機(jī)系 602教研室 產(chǎn)生式 代 碼 段 L→En print(val[top]) E→E1+T val[ntop] := val[top2]+val[top] E→T T→T1*F val[ntop] := val[top2]*val[top] T→F F→ (E) val[ntop] :=val[top1] F→digit 國防科技大學(xué)計(jì)算機(jī)系 602教研室 輸入 state sym val 用到的產(chǎn)生式 3*5+4n 0 *5+4n 05 3 3 *5+4n 03 F 3 F→digit *5+4n 02 T 3 T→F 5+4n 027 T* 3 +4n 0275 T*5 3 5 +4n 02710 T*F 3 5 F→digit +4n 02 T 15 T→T*F 國防科技大學(xué)計(jì)算機(jī)系 602教研室 輸入 state sym val 用到的產(chǎn)生式 +4n 01 E 15 E→T 4n 016 E+ 15 n 0165 E+4 15 4 n 0163 E+F 15 4 F→digit n 0169 E+T 15 4 T→F n 01 E 19 E→E+T En 19 L 19 L→En 國防科技大學(xué)計(jì)算機(jī)系 602教研室 L屬性文法和自頂向下翻譯 ? 通過深度優(yōu)先的方法對語法樹進(jìn)行遍歷,計(jì)算屬性文法的所有屬性值 ? LL( 1): 自上而下分析方法,深度優(yōu)先建立語法樹 國防科技大學(xué)計(jì)算機(jī)系 602教研室 ? 一個(gè)屬性文法稱為 L屬性文法 ,如果對于每個(gè)產(chǎn)生式 A→X1X2…X n, 其每個(gè)語義規(guī)則中的每個(gè)屬性或者是綜合屬性,或者是Xj(1?j?n)的一個(gè)繼承屬性且這個(gè)繼承屬性僅依賴于: (1) 產(chǎn)生式 Xj的左邊符號 X1, X2, … , Xj1的屬性; (2) A的繼承屬性。 ? S屬性文法一定是 L屬性文法 國防科技大學(xué)計(jì)算機(jī)系 602教研室 產(chǎn) 生 式 語 義 規(guī) 則 A→LM := l() :=m() A→QR := r() :=q() :=f() 國防科技大學(xué)計(jì)算機(jī)系 602教研室 翻譯模式 ? 翻譯模式 :給出了使用語義規(guī)則進(jìn)行計(jì)算的次序 , 這樣就可把某些實(shí)現(xiàn)細(xì)節(jié)表示出來 ? 在翻譯模式中 , 和文法符號相關(guān)的屬性和語義規(guī)則 ( 這里我們也稱 語義動作 ) ,用花括號 { }括起來 , 插入到產(chǎn)生式右部的合適位置上 國防科技大學(xué)計(jì)算機(jī)系 602教研室 ?翻譯模式示例:把帶加號和減號的中綴表達(dá)式翻譯成相應(yīng)的后綴表達(dá)式 E→TR R→addop T {print()} R1 | ? T→num {print()} 例: 95+2 E T R 9 {print(‘9’)} T R 5 {print(‘5’)} {print(‘’)} + T 2 {print(‘2’)} R {print(‘+’)} ? 國防科技大學(xué)計(jì)算機(jī)系 602教研室 ? 設(shè)計(jì)翻譯模式時(shí),必須保證當(dāng)某個(gè)動作引用一個(gè)屬性時(shí)它必須是有定義的。 ? L屬性文法本身就能確保每個(gè)動作不會引
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1