為下面文法寫一個語法制導(dǎo)的定義,用S的綜合屬性val給出下面文法中S產(chǎn)生的二進(jìn)制數(shù)的值。例如,輸入101.101時,S.val=5.625。(不得修改文法)。
為下面的算術(shù)表達(dá)式文法寫一個語法制導(dǎo)的翻譯方案,它將每個子表達(dá)式E的符號(即值大于零還是小于零)記錄在屬性E.sign中(屬性值分別用POS或NEG表示)。你可以假定所有的整數(shù)都不為零,這樣就不用擔(dān)心零的符號。
假設(shè)說明是由下列文法產(chǎn)生的: (a)建立一個翻譯模式,把每一個標(biāo)識符的類型加入到符號表中。 (b)從(a)中的翻譯模式構(gòu)造一個預(yù)翻譯程序。