官术网_书友最值得收藏!

1.2.3 語義分析

語義分析器將語法分析樹與詞法分析中構(gòu)造的符號表相關(guān)聯(lián),檢查源程序是否滿足語言所定義的語義規(guī)則。語義分析器同時提取變量的類型信息,以便于中間代碼的生成。語義分析器輸出修飾語法樹,給語法樹賦予了語義信息。

例如,對于語法分析樹:

語義分析器分析等號右端表達(dá)式的類型是否與被賦值的變量i一致。當(dāng)ibc均為INT類型時符合語義規(guī)則。

語義分析的一個重要工作是做類型檢查,語義分析器檢查構(gòu)成表達(dá)式的每個運算分量是否具有符合語義規(guī)則的類型,如下標(biāo)應(yīng)為整數(shù),等號兩側(cè)的值類型應(yīng)當(dāng)相同等。

在第3章中,我們將討論以下內(nèi)容:

屬性文法,屬性文法是一種形式化方法,通過在語法分析樹上添加屬性,并基于添加的屬性進(jìn)行計算和推導(dǎo),若推導(dǎo)結(jié)果有矛盾則存在語義錯誤。

語法制導(dǎo)的定義,語法制導(dǎo)的定義將屬性文法和翻譯方案結(jié)合起來,并能夠快速反饋到源代碼層面,有助于快速修復(fù)源代碼中的錯誤。

●實現(xiàn)屬性文法和語法制導(dǎo)的算法。

主站蜘蛛池模板: 邓州市| 瑞昌市| 尉犁县| 湄潭县| 额尔古纳市| 左云县| 浑源县| 沂南县| 咸丰县| 长顺县| 庄浪县| 通化市| 英山县| 察隅县| 佛冈县| 兴业县| 垦利县| 石柱| 新竹市| 广德县| 邵武市| 上虞市| 安义县| 会东县| 苏尼特左旗| 文化| 延边| 青海省| 罗甸县| 新邵县| 杭锦后旗| 甘孜| 乐亭县| 成都市| 蚌埠市| 南涧| 寻乌县| 天水市| 永春县| 马关县| 仙桃市|