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

正文內(nèi)容

編譯原理6-5-自下而上計(jì)算繼承屬性(已修改)

2025-10-24 02:39 本頁(yè)面
 

【正文】 第六章 屬性文法和語(yǔ)法制導(dǎo)翻譯 屬性文法 基于屬性文法的處理方法 S屬性文法的自下而上計(jì)算 L樹(shù)性文法和自頂向下翻譯 自下而上計(jì)算繼承屬性 自下而上計(jì)算繼承屬性 ? 討論在自下而上的分析過(guò)程中實(shí)現(xiàn) L屬性文法的方法。 ? 這種方法可以實(shí)現(xiàn)任何基于 LL(1)文法的 L屬性文法,它還可以實(shí)現(xiàn)許多(不是所有)基于 LR(1)文法的 L屬性文法。 從翻譯模式中去掉嵌入在產(chǎn)生式中間的動(dòng)作 ? 介紹一種轉(zhuǎn)換方法,它可以使所有嵌入的動(dòng)作都出現(xiàn)在產(chǎn)生式的末尾,這樣就可以自下而上處理繼承屬性。 ? 轉(zhuǎn)換方法是,在基礎(chǔ)文法中加入新的產(chǎn)生式,這種產(chǎn)生式的形式為 M→ ε ,其中 M為新引入的一個(gè)標(biāo)記非終結(jié)符。我們把嵌入在產(chǎn)生式中的每個(gè)語(yǔ)義動(dòng)作用不同的標(biāo)記非終結(jié)符 M代替,并把這個(gè)動(dòng)作放在產(chǎn)生式 M→ ε 的末尾。 例如,下面翻譯模式 E→ T R R→ +T {print(‘+’)} R | T{ print(‘- ’)} R | ε T → num{ print( )} E→ TR R→+ TMR | - TNR | ε T → num { print( ) } M→ ε { print ( ‘+’) } N→ ε { print(‘- ’) } 使用標(biāo)記非終結(jié)符號(hào) M和 N轉(zhuǎn)換為 ? 兩個(gè)翻譯模式中的文法接受相同的語(yǔ)言。通過(guò)畫(huà)出帶有表示動(dòng)作的附加結(jié)點(diǎn)的分析樹(shù),可以看到動(dòng)作的執(zhí)行程序也是一樣的。 ? 在經(jīng)過(guò)轉(zhuǎn)換的翻譯模式中,動(dòng)作都在產(chǎn)生式右端的末尾,因此,可以在自下而上分析過(guò)程中產(chǎn)生式右部被歸約時(shí)執(zhí)行相應(yīng)的動(dòng)作。 分析棧中的繼承屬性 ? 自下而上分析器對(duì)產(chǎn)生式 A→ XY的右部是通過(guò)把 X和 Y從分析棧中移出并用 A代替它們。 ? 假設(shè) X有一個(gè)綜合屬性 ,按照 的方法我們把它與 X一起放在分析棧中。 ? 由于 Y以下的子樹(shù)中的任何歸約之前已經(jīng)放在棧中,這個(gè)值可以被 Y繼承。 ? 也就是說(shuō) ,如果繼承屬性 Y. i是由復(fù)寫(xiě)規(guī)則Y. i := ,則可以在需要 地方使用 。 ? 我們將會(huì)看到,在自下而上分析中計(jì)算屬性值時(shí) 復(fù)寫(xiě)規(guī)則 起非常重要的作用 下面例子說(shuō)明復(fù)寫(xiě)規(guī)則的使用 ? 假設(shè)某翻譯模式為 D ? T { := } L T? int {T. type := integer} T? real {T. type := real} L? { := } L1, id {addtype (, )} L? id {addtype (, )} ? 按照這個(gè)翻譯模式.標(biāo)識(shí)符的類型可以通過(guò)繼承屬性的復(fù)寫(xiě)規(guī)則來(lái)傳遞。例如,對(duì)于輸入串 int p, q, r 其屬性的傳遞方向如圖 D T L L , r L , q p int ? type ? ? ? in
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1