第七章複習題
-
中間代碼是介於源語言程序和什麼之間的一種代碼?(D)。
A 源代碼
B 機器語言
C 彙編語言
D 目標代碼 -
在編譯程序中與生成中間代碼的目的無關的是(B)。
A 便於目標代碼優化
B 便於存儲空間的組織
C 便於目標代碼的移植
D 便於編譯程序的移植 -
逆波蘭表示法表示表達式時無須使用括號。正確
-
四元式之間的聯繫是通過(B)實現的。
A 指示器
B 臨時變量
C 符號表
D 程序變量 -
後綴式 ab+cd+/可用表達式(B)來表示。
A a+b/c+d
B (a+b)/(c+d)
C a+b/(c+d)
D a+b+c/d -
表達式( ┐ A ∨B)∧(C∨D)的逆波蘭表示爲(B)。
A ┐AB∨∧CD∨
B A┐B∨CD∨∧
C AB∨┐CD∨∧
D A┐B∨∧CD∨ -
間接三元式表示法的優點爲(A)。
A採用間接碼錶,便於優化處理
B 節省存儲空間,不便於表的修改
C便於優化處理,節省存儲空間
D 節省存儲空間,不便於優化處理 -
數組元素的地址計算與數組的存儲方式有關。正確
-
樹形表示和四元式不便於優化,而三元式和間接三元式則便於優化。錯誤
-
表達式ab-c-d$e$f-g-hi中,運算符的優先級由高到低依次爲-、、$,且均爲右結合,則其後綴式爲(C)。
A $a-b-cd$e-f-ghi
B bcd–aefgh–i*$$
C abcd–efgh–i$$
D abc-d-e$fg-h-i$ -
以下(D)不是中間代碼的表示形式。
A DAG圖
B 後綴式
C 三元式
D 間接四元式 -
表達式a+bc-d/e↑f的後綴式是(C)。
A ab+cd-e↑f
B abc+def/↑-
C abc+def↑/-
D abc*±def↑/ -
編譯過程中將源代碼翻譯成中間代碼,具有很多優點,其中(A)不是中間代碼的優點。
A 中間代碼不能用於解釋
B 利於在不同目標機上實現同一種語言
C 利於進行與機器無關的優化
D 編譯程序的邏輯結構更爲簡單明確 -
中間代碼生成時依據的是(C)。
A 語法規則
B 詞法規則
C 語義規則
D 等價變換規則 -
採用三元式實現三地址代碼時,不利於對中間代碼進行優化。正確