單項選擇題
考慮下面的類PASCAL的嵌套過程語言程序,對于調(diào)用過程:主程序→過程Q→過程R→過程R,過程R的第2次調(diào)用的活動記錄中的Display表為()。
A.B.C.D.
多項選擇題
關(guān)于下面的while-do語句的屬性文法,說法正確的是()。
A.E .true和E .false都是綜合屬性B.E .true和E .false都是繼承屬性C.綜合屬性S .begin存放E的代碼開頭的對應的標號D.繼承屬性S .next存放語句S的后繼語句對應的標號
A.布爾表達式在程序中可以用于邏輯演算、以及將邏輯計算的結(jié)果用作控制語句的條件B.在不同的程序設(shè)計語言中,布爾表達式的計算規(guī)則是一樣的C.在不同的程序設(shè)計語言中,布爾表達式的計算規(guī)則可能是不同的D.對于一個程序設(shè)計語言,布爾表達式的計算可以有不同的翻譯方法,但是計算得到的邏輯結(jié)果(真假值)應當是一樣的
產(chǎn)生式E?E1+E2的語義動作中關(guān)于E.type的語義規(guī)則可定義為:?下面的說法正確的是()。
A.整型表達式和整型表達式做加法,結(jié)果是整型B.整型表達式和整型表達式做加法,結(jié)果是實型C.整型表達式和實型表達式做加法,結(jié)果是整型D.整型表達式和實型表達式做加法,結(jié)果是實型
A.編譯程序在翻譯數(shù)組元素引用時,會在生成的代碼中插入計算數(shù)組元素地址的代碼B.編譯程序產(chǎn)生數(shù)組元素地址計算代碼,其中的不變部分與數(shù)組的定義相關(guān)C.編譯程序產(chǎn)生數(shù)組元素地址計算代碼,其中的可變部分與數(shù)組的定義、數(shù)組元素引用的下標都相關(guān)D.數(shù)組元素引用的翻譯可以從左到右一遍掃描生成地址計算代碼
關(guān)于下面的賦值語句生成三地址代碼的屬性文法,說法正確的是()。
A.E .place表示存放E值的單元的名字(地址)B.E .code表示對E求值的三地址語句序列C.S .code代表賦值語句S的三地址代碼D.上述屬性文法不是S-屬性文法
某語言的do-while語句的語法形式為S ?do S(1)While E其語義解釋為:該語句的一遍掃描翻譯模式如下,其中空白處應該填寫()。
A.backpatch(E .truelist,nextquad )B.backpatch(E .falselist,nextquad )C.backpatch(E .truelist,U .quad)D.backpatch(E .falselist,U .quad)
假設(shè)與下圖所示的if-then-else的語義對應的屬性文法中與產(chǎn)生式S→if E then S1else S2對應的語義規(guī)則如下,其中空白處應該填寫()。
A.newlabelB.E .trueC.E .falseD.S .next
將語句if (A< 0)then while (C>0)do C:=C-D?翻譯成下面的四元式序列,其中空白處應該填寫()。
A.(j,-,-,100)B.(j,-,-,102)C.(j,-,-,104)D.(j,-,-,107)
將布爾表達式(A>B)and (B< C)or (E < F)?翻譯成下面的四元式序列,其中空白處應該填寫()。
A.(j,-,-,102)B.(j,-,-,104)C.(j,-,-,106)D.(j,-,-,112)
將賦值語句A:=B*(-C)+D*(E-F)翻譯成下面的三地址代碼,其中空白處應該填寫()。
A.T3:=T2+DB.T3:=D *EC.T3:=E -FD.T3:=F –E