2001年編譯原理試題_第1頁
2001年編譯原理試題_第2頁
2001年編譯原理試題_第3頁
2001年編譯原理試題_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、2001年編譯原理試題1(10分)處于/* 和 */之間的串構(gòu)成注解,注解中間沒有*/。畫出接受這種注解的DFA的狀態(tài)轉(zhuǎn)換圖。2(10分)為語言L ambn | 0 £ m £ 2n(即a的個數(shù)不超過b的個數(shù)的兩倍)寫一個LR(1)文法,不準(zhǔn)超過6個產(chǎn)生式。(若超過6個產(chǎn)生式,不給分。若所寫文法不是LR(1)文法,最多給5分。)3(10分)構(gòu)造下面文法的LL(1)分析表。D ® TLT ® int | realL ® id RR ® , id R | e4(15分)就下面文法S ® ( L) | aL ® L ,

2、S | S· 給出一個語法制導(dǎo)定義,它輸出配對括號的個數(shù)。· 給出一個翻譯方案,它輸出每個a的嵌套深度。如句子(a, (a, a) ),第一小題的輸出是2,第二小題的輸出是1 2 2。5(10分)Pascal語言for語句的含義見教材第222頁習(xí)題7.13。請為該語句設(shè)計一種合理的中間代碼結(jié)構(gòu)。你可以按第215頁圖7.17的方式或者第219頁圖7.19的方式寫出你的設(shè)計,不需要寫產(chǎn)生中間代碼的語法制導(dǎo)定義。6(5分)一個C語言程序如下:func(i1,i2,i3)long i1,i2,i3;long j1,j2,j3; printf("Addresses of i

3、1,i2,i3 = %o,%o,%on",&i1,&i2,&i3);printf("Addresses of j1,j2,j3 = %o,%o,%on",&j1,&j2,&j3);main()long i1,i2,i3;func(i1,i2,i3);該程序在某種機器的Linux上的運行結(jié)果如下:Addresses of i1,i2,i3 = 27777775460,27777775464,27777775470Addresses of j1,j2,j3 = 27777775444,27777775440,277777

4、75434從上面的結(jié)果可以看出,func 函數(shù)的3個形式參數(shù)的地址依次升高,而3個局部變量的地址依次降低。試說明為什么會有這個區(qū)別。7(15分)一個C語言程序及其在某種機器linux操作系統(tǒng)上的編譯結(jié)果如下。根據(jù)所生成的匯編程序來解釋程序中四個變量的作用域、生存期和置初值方式等方面的區(qū)別。static long aa = 10;short bb = 20;func() static long cc = 30; short dd = 40;.file"static.c".version"01.01"gcc2_compiled.:.data.align 4.

5、type aa,object.size aa,4aa:.long 10.globl bb.align 2.type bb,object.size bb,2bb:.value 20.align 4.type cc.2,object.size cc.2,4cc.2:.long 30.text.align 4.globl func.type func,functionfunc:pushl %ebpmovl %esp,%ebpsubl $4,%espmovw $40,-2(%ebp).L1:leaveret.Lfe1:.size func,.Lfe1-func.ident"GCC: (GNU) egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)"8(10分)C語言是一種類型語言,但它不是強類型語言,因為編譯時的類型檢查不能保證所接受的程序沒有運行時的類型錯誤。例如,編譯時的類型檢查一般不能保證運行時沒有數(shù)組越界。請你再舉一個這樣的例子說明C語言不是強類型語言。9(10分)如果在A機器上我們有C語言編譯器CCA,也有它的源碼SA(用C語言寫成)。如何利用它通過盡量少的工作來得到B機器的C語言編譯器CCB。10(5分)表達(dá)式(lx.(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論