第六章 屬性文法和語(yǔ)法制導(dǎo)翻譯

2018-6-11    seo達(dá)人

如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里

1.總結(jié)

    屬性文法是在上下文無(wú)關(guān)文法的基礎(chǔ)上為每個(gè)文法符號(hào)(終結(jié)符或非終結(jié)符)配備若干個(gè)相關(guān)的“值”(稱為屬性)。

    屬性代表與文法符號(hào)相關(guān)的信息,和變量一樣,可以進(jìn)行計(jì)算和傳遞。屬性分為綜合屬性和繼承屬性。

    綜合屬性用于“自下而上”傳遞信息,在語(yǔ)法樹(shù)中,一個(gè)結(jié)點(diǎn)的綜合屬性的值,由其子結(jié)點(diǎn)的屬性值確定。

    繼承屬性用于“自上而下”傳遞信息,在語(yǔ)法樹(shù)中,一個(gè)結(jié)點(diǎn)的繼承屬性由此結(jié)點(diǎn)的父結(jié)點(diǎn)和/或兄弟結(jié)點(diǎn)的某些屬性確定。

    屬性計(jì)算的過(guò)程即是語(yǔ)義處理的過(guò)程,對(duì)于文法的每一個(gè)產(chǎn)生式配備一組屬性的計(jì)算規(guī)則,則稱為語(yǔ)義規(guī)則。

    語(yǔ)義規(guī)則所描述的工作包括:屬性計(jì)算、靜態(tài)語(yǔ)義檢查、符號(hào)表操作、代碼生成等。

    抽象語(yǔ)法樹(shù)指從語(yǔ)法樹(shù)中去掉對(duì)翻譯不必要的信息,而獲得更有效的源程序中間表示。

       L-屬性文法的自頂向下翻譯,屬性的計(jì)算次序受分析方法所限定的分析樹(shù)結(jié)點(diǎn)建立次序的限制,分析樹(shù)的結(jié)點(diǎn)是自左向右生成,如果屬性信息是自左向右流動(dòng),那么就有可能在分析的同時(shí)完成屬性計(jì)算。

 S—屬性文法的自下而上計(jì)算,S—屬性文法,它只含有綜合屬性。綜合屬性可以在分析符號(hào)串的同時(shí)由自上而下的分析器來(lái)構(gòu)造,分析器可以保存與棧中文法符號(hào)有關(guān)的綜合屬性值,每當(dāng)進(jìn)行歸約時(shí),新的屬性值就由棧中正在歸約的產(chǎn)生式右邊符號(hào)的屬性值來(lái)計(jì)算,可以通過(guò)擴(kuò)充分析器中的棧來(lái)存放這些綜合屬性值。S-屬性文法的翻譯器通常可借助于LR分析器實(shí)現(xiàn)。

    翻譯模式是語(yǔ)法制導(dǎo)定義的一種便于翻譯的書(shū)寫(xiě)形式。其中屬性與文法符號(hào)相對(duì)應(yīng),語(yǔ)義規(guī)則或語(yǔ)義動(dòng)作用花括號(hào){ }括起來(lái),可被插入到產(chǎn)生式右部的任何合適的位置上。這是一種語(yǔ)法分析和語(yǔ)義動(dòng)作交錯(cuò)的表示法,他表達(dá)在按深度優(yōu)先遍歷分析樹(shù)的過(guò)程中何時(shí)執(zhí)行語(yǔ)義動(dòng)作。翻譯模式給出了使用語(yǔ)義規(guī)則進(jìn)行計(jì)算的順序??煽闯墒欠治鲞^(guò)程中翻譯的注釋。

2.感悟

    這一章主要內(nèi)容是SDD語(yǔ)法制導(dǎo)定義和SDT語(yǔ)法制導(dǎo)翻譯方案,通過(guò)給CFG中的文法符號(hào)設(shè)置語(yǔ)義屬性來(lái)表示語(yǔ)法成分對(duì)應(yīng)的語(yǔ)義信息,而語(yǔ)義屬性通過(guò)相關(guān)聯(lián)的語(yǔ)義規(guī)則計(jì)算,在對(duì)語(yǔ)法分析的過(guò)程中進(jìn)行翻譯。

藍(lán)藍(lán)設(shè)計(jì)sillybuy.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)


分享本文至:

日歷

鏈接

個(gè)人資料

存檔