編譯原理第一章教學課件_第1頁
編譯原理第一章教學課件_第2頁
編譯原理第一章教學課件_第3頁
編譯原理第一章教學課件_第4頁
編譯原理第一章教學課件_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

課程簡介(課程地位)

上…

分類課程名校課程定位番注

計尊機導論入門

計癢機基礎尊法和款據(jù)結構基礎

高級語音程序設計(b2)必備工具

計算機理論數(shù)理邏輯;

《薄散數(shù)學1X3)集合論和圖論|計其機數(shù)學

組臺數(shù)學1

上子電路和數(shù)字邏輯________硬件基礎課程含實驗

計算機硬件類課程計其機原理和匯韁百言部件原理含實脆

計尊機接口與通訊部件間通訊含實驗

計算機體系結構體系結構含森

計算機刖絡

編譯技術含課程設計

It作系統(tǒng)系統(tǒng)軟付層含課程設計

計算機軟件類課程

數(shù)據(jù)庫荔統(tǒng)膜理含謖程設計

軟件工程

信息系統(tǒng)分析與設計應用類

計管機圖形學(多幅體技術)應用樊______1

開課目的

源程序—-—>目標程序____可執(zhí)行

J01程序

_________)V----------

OO

形式語言與自動機

預備知識:兩門以上的高級

)匚編語言

程序設計語言數(shù)據(jù)結構等

課程簡介

學習的意義

W對編程語言的設計和實現(xiàn)有深刻的理解,對和編程

語言有關的理論有所了解,對宏觀上把握編程語言

來說,起一個奠基的作用.

力從軟件工程看,編譯器是一個很好的實例,所介紹

的概念和技術能應用到一般的軟件設計之中.

i大多數(shù)程序員同時是簡單語言的設計者,有助于提

高對這些語言的設計水平.

《它的理論基礎扎實,其形式化系統(tǒng)不僅應用于編譯

技術,還大量應用于人工智能,多媒體技術及數(shù)據(jù)庫

等領域.

'o//

課程簡介彎

[教材和參考書]?

W肖軍模,程序設計語言編譯方法,大連理工

大學出版社I

小陳火旺等,程序設計語言編譯原理,國防工業(yè)

出版社,2000|

小陳意云、張昱,編譯原理和技術,高等教育

出版社,2003

《呂映芝等,編譯原理,清華大學出版社

課程簡介

課程要求:

小課時:48學時

?分為兩部分:(分別計分)i

?:?理論基礎(48學時):課堂教學I

?:?實踐部分(0學時):上機實踐)

目的:)

掌握編譯的理論基礎和形式化系統(tǒng),了解

編譯的全過程及其具體實現(xiàn)方法。能運用所

學技術解決實際問題,能獨立編寫一人小劑

編譯系統(tǒng)。(

課程簡介

要求:

4提前預習,認真聽課,理解基本概念,基本原

理與基本算法

《在看書時或理解例題及習題時,一定要劃出

相應的細節(jié)變化過程,通過畫圖來加深理解

9作業(yè)要求獨立、按時完成

f輔導地點:軟件樓421

gE-mai1:guow9966@163,com

s答疑時間:

P9學期總評=考試成績占80%,平時占20%

內容簡介

?第一章概論

?第二章編譯基礎知識

?第三章詞法分析器

?第四章自上而下語法分析

?第五章自下而上語法分析

?第六章LR分析法

?第七章語法制導翻譯技術

?第八章運行時的存貯分配

?第九章目標代碼優(yōu)化

方式

方式

詞法分析程序

語法分析程序

語義分析程序

組成(中間代碼生成程序

中間代碼優(yōu)化程序

目標代碼生成程序

表格管理程序

卜出錯處理程序

I單遍掃描的編譯程序

結構

I多掃4苗的編!譯^呈序

compiler

第二章

終結符號集合

知識體系

非終結符號集合

,組成

產(chǎn)生式集合

識別符號(開始符號)

0型文法函語結構文法)

1型文法5下文有關文法)

分類

2型文法5下文無關文法)

3型文法(正規(guī)文法)

推導/歸約

推導

語法樹

句型

語言與語法分析有關的概念1遞歸文法

句子

二義性文法

綏語直攝7罐語

句柄

compiler

第三章

知識體系

/功能-分割符號串形式的源程序,得到單詞串

榆入一字符串形式的源程序

輸出一單詞申

詞法分析《

分析方法T??前搜索

步(1)闡才匡圖-

程序設計方法-最小化DFA的狀態(tài)轉換圖

步(2)由框圖編寫程序

其中“步(1)”畫才匡圖涉及的內容如下:

正規(guī)式7

二^NF廣集遂DFA華簡.最小化DFA

轉換規(guī)則

compiler

第四章

知識體系

提取左公因子

上整本問題’?直接左遞歸的消除

?消除左遞歸間接左遞歸的消除

而1

法不確定方法-回溯算法

析滿足的條件

分析方法,遞歸于程序的構造

{遞歸于程序分析過程

確定,

方法滿足的條件

LL(D分析表的構造

{LL(D分析過程

compiler

第五、六章

知識體系

宜*rgJ如何找到當前句型的可歸約串

自基本問題1將被歸約串歸約成哪一個非終結符號

下實現(xiàn)技術??移進-歸約技術

而I定義

簡單優(yōu)先關系

上1構造方法

簡單優(yōu)先分析?簡單優(yōu)先文法

語分析算法

法優(yōu)先分析法I定義

分算符優(yōu)先關系1構造方法

析算符優(yōu)先分算符優(yōu)先文法

分析算法

分析方法

優(yōu)先函數(shù)構建!需信看著法

LR分析法

compiler

規(guī)范句型活前綴

LR(0)項目

基礎知識

LR(0)項目集規(guī)范族的構造

LR⑴項目

LR⑴項目集規(guī)范族的構造

[分析棧

LR分析法LR分析程周分析表

(自動構造)I分析方法

LR(0)分析表的構造

SLR(1)分析表的構造

分析表的構造,

LR⑴分析表的構造

LALR⑴分析表的構造

二義性文法的分析-無二義性規(guī)則的使用表的構造

compiler

第七孽

先1三只/年系1定義

得'比1小擊I繼承得,注

種類套合屬性

禺牲文法1

語構造方法

■年逆茂蘭式

中間語言

4*毅語法樹

compiler

第八章

知識體系

基本思想

時地址

傳值

刻j

參數(shù)傳遞

的1傳結果

存?傳名

組靜態(tài)存儲分配隹本思想

織存儲紐卜4局部變

與棧式存

織方案靜態(tài)鏈]活動記

分儲分配[量訪問的DISPLAY表T錄結構

配(實現(xiàn)

堆式存儲分配

compiler

第九章

知識體系局部優(yōu)化常量合并1利用

優(yōu)化的,消除公共子表達式|DAG圖

目的刪除無用賦值J優(yōu)化

與機器

代無關的循環(huán)優(yōu)化循環(huán)不變式外提

碼,強度削弱

優(yōu)優(yōu)化

化刪除歸納變量

全局優(yōu)化

優(yōu)化的

種類[寄存器優(yōu)化

與機器有|并行分支優(yōu)化

關的優(yōu)化

I窺孔優(yōu)化

第一章概論

(介紹名詞術語、了解編譯系統(tǒng)的結構和編譯過程)

編譯的起源:程序設計語言的發(fā)展

基本概念

編譯過程和編譯程序構造

編譯程序的生成

1.1存序設計語言的發(fā)展

機器語言>面向用戶A面向問題

A匯編語言

(機器指令)的語言的語言

C70600000002MOVx,2x=2

77

高級語言

132

?低級語言(LowlevelLanguage)

字位碼、機器語言、匯編語言

特點:與特定的機器有關,功效高,但使用復

爭、繁瑣、費時、易出錯

?高級語言

--Fortran、Pascal、C語言等

特點:不依賴具體機器,移植性好、對用戶要求低、

易使用、易維護等。

用高級語言編制的程序,計算機不能立即執(zhí)行,

必須通過一個“翻譯程序”加工,轉化為與其等價的

機器語言程序,機器才能執(zhí)行。

這種翻譯程序,稱之為“編譯程序”。

1.2基本概念

?源程序

用匯編語言或高級語言編寫的程序稱為源程序。

?目標程序

用目標語言所表示的程序。

目標語言:可以是介于源語言和機器語言之間的

“中間語言”,可以是某種機器的機器語言,也可以是

某機器的匯編語言。

?翻譯程序

修源程序轉換為目標程序的程序稱為翻譯程序。

它是指各種語言的翻譯器,包括匯編程序和編譯程序,

是匯編程序、編譯程序以及各種變換程序的總稱

源程序、翻譯程序、目標程序三者關系:

源程序翻譯程序目標程序

即源程序是翻譯程序的輸入,目標程序是翻譯程序

的輸出

源程序翻譯程序目標程序

5z2^?iler匯編語言匯編程序機器語言

高級語言編譯程序目標程序

?匯編程序

若源程序用匯編語言書寫,經(jīng)過翻譯程序得到用機器語言

表示的程序,這時的翻譯程序就稱之為匯編程序,這種翻譯過

程稱為“匯編”(Assemble)I

?編譯程序

若源程序是用高級語言書寫,經(jīng)加工后得到目標程序,

這種翻譯過程稱“編譯”(Compile)

匯編程序與編譯程序都是翻譯程序,主要區(qū)別是加工對象的

不同。由于匯編語言格式簡單,常與機器語言之間有——對

應的關系,匯編程序所要做的翻譯工作比編譯程序簡單得多。

^^ompi1er

源程序的編譯和運行

?編譯或匯編階段

編譯程序

源程序或目標程序

匯編程序

?運行階段

目標程序

+

輸入數(shù)據(jù)運行子程序輸出數(shù)據(jù)

友mpi\er

程序設計語言的轉換

?:?翻譯

—是指能把某種語言的源程序,在不改變語義的條件I

下,轉換成另一種語言程序一目標語言程序

?:.編譯

—專指由高級語言轉換為低級語言

解釋U一

—接受某高級語言的一個語句輸入,進行解釋并控制

計算機執(zhí)行,馬上得到這句的執(zhí)行結果,然后再接

受下一句

源程序的編譯和運行

?編譯或匯編階段

編譯程序

源程序或

匯編程序

?運行階段

目標程序

+

輸入數(shù)據(jù)運行子程序輸出數(shù)

友mpi\er

程序設計語言的轉換

?:?翻譯

—是指能把某種語言的源程序,在不改變語義的條件I

下,轉換成另一種語言程序一目標語言程序

孝編譯

—專指由高級語言轉換為低級語言

?:.解釋

—接受某高級語言的一個語句輸入,進行解釋并控制

計算機執(zhí)行,馬上得到這句的執(zhí)行結果,然后再接

受下一句

?解釋程序(Interpreter)

對源程序進行解釋執(zhí)行的程序。

?工作過程

源程序

輸入數(shù)據(jù)輸出數(shù)據(jù)

解釋程序

?特點、與編譯程序比較

源程序的中間形式

輸出數(shù)據(jù)

輸入數(shù)據(jù)解釋程序

編譯程序

編譯過程概述

1.3的各個程序

一段英文翻譯成中文階段

需經(jīng)下列步驟:

識別出句子中的單詞詞法分析

分析句子的語法結構

語法分析

根據(jù)句子的含義進行語義分析及中間代碼

初步分析生成

對譯文進行修飾代碼優(yōu)化

寫出最后的譯文目標代碼生成

YZompi1er

1.3.1編譯過程

編譯過程是指修高級語言程序翻譯為等價的目標程

序的過程。

習慣上是將編譯過程劃分為5個基本階段:

語法分析

語義分析、一生成中間代碼

薩勺碼優(yōu)化

生成目標程序

一詞法分析

任務:分析和識別單詞。

源程序是由字符序列構成的,詞法分析掃描源程序(字符

串),根據(jù)語言的詞法規(guī)則分析并識別單詞,并以某種編碼形

式輸出。(

?單詞:是語言的熊太語法單位,一般語言有左大

對于如下的字符串,詞法分析程序將分析和識別出9個單詞:

Xli^XZ.O^OXACl

123456789

/一、詞法分析zz^iler

識別右邊程序中的單詞、

舉例說明

?基本字:Void,int,float|

Voidjisuan()

{inty,c,d;?標識符:a,b,c,d,x,y,jisuan

floatx,a,b;?常數(shù):5°

x=a+b*50;?運算符:*,+,=「

y=c+)d*(x+b;?界限符:㈠;,()

zz^iler

1.詞法分析

?詞法分析依照詞法規(guī)則,識別出正確的單詞,轉換

成統(tǒng)一規(guī)格備用

?轉換

—對基本字,運算符,界符的轉換

—標識符的轉換

—常數(shù)的轉換

—轉換完成后的格式(類號,內碼)

?描述詞法規(guī)則的有效工具是正規(guī)式和有限自動機

i^ompi1er

以position=initial+rate*60為例

1m、

形成一個記號的字

符序列稱為該記

號的單詞

position>=、initial

(a

、+、rate>*、60

并用記號表示識別出的單詞

d3表示position、initial、rate

上語句:idl-id2+id3*60

;第一章概論

position=initial+rate*60符號表

1position???

2initial???

詞法分析器3rate?--

id1=id2+id3*60

二、語法分析^wpiler

任務:根據(jù)語法規(guī)則(即語言的文法),分析并識別出

各種語法成分,如表達式、各種說明、各種語句、

過程、函數(shù)等,并進行語法正確性檢查。

語法規(guī)則一語言的規(guī)則,又稱為文法

語法規(guī)則的表示:

----BNF:A::=B|C

XI:=(2.0+0.8)*Cl

賦值語句的文法:

<賦值語句)一<變量><賦值操作符><表達式)

<變量>一<簡單標識符》

〈賦值操作符>一:=

〈表達式>一....

賦值語句的語法規(guī)則:

。A::=V=E

E::=T|E+T

T::=F|T*F

?F::=V|(E)|C

?V::=標識符

c::=常數(shù)

舉例說明賦值語句的語法規(guī)則:

Voidjisuan()?A::=V=E

{inty,c,d;?E::=T|E+T

?T::=F|T*F

floatx,a,b;

?F::=V|(E)|C

x=a+b*50;

V::=標識符

y=c+)d*(x+b;

?c::=常數(shù)

語法分析的方法:

----推導(derive)和歸約(reduce)

推導---最左推導,最右推導

最右目隹導最左歸約(x=a+b*50)

舉例說明賦值語句的語法規(guī)則:

Voidjisuan()A:=V=E

{inty,c,d;E:=T|E+T

T:=F|T*F

floatx,a,b;

F:=V|(E)|C

x=a+b*50;

V:=標識符

y=c+)d*(x+b;

最右推導C:=常數(shù)

A^^V=Ev=E+l^^V=E+T*FV=E+T*C

—V=E+T*50—V=E+F*50

—V=E+V*50—V=E+b*50—V=T+b*50

-?V=F+b*50-?V=V+b*50-?V=a+b*50

^^x=a+b*50

歸約一最右歸約,最左歸約

?AV=Ei^*x=E-^x=E+T?>x=T+T

x=V+T?^x=a+Tx=a+T*F

^^x=a+F*F^^x=a+V*F^^x=a+b*F

x=a+b*C^^x=a+b*50賦值語句的語法規(guī)則:

?:?A:=V=E

最左推導最右歸約E:=T|E+T

?T:=F|T*F

?F:=V|(E)|C

?V:=標識符

?C:=常數(shù)

舉例說明賦值語句的語法規(guī)則:

Voidjisuan()*A::=V=E

{inty,c,d;?E::=T|E+T

T::=F|T*F

floatx,a,b;

F::=V|(E)|C

x=a+b*50;

?V::=標識符

y=c+)d*(x+b;

?c::=常數(shù)

)

?:.c語言語句y=c+)

分析過程:

AV=EV=E+TV=E+F

V=E+VV=E+bV=T+b

V=T*F+bV=T*V+bV=T*x+b

?無法得到該句

?:?故,該C語言語句是錯誤的

;二、語法分析^ompiler

?具體地說,語法分析是在記號流的基礎上建立一

個層次結構-建立語法樹

?語法分析過程也可以用一棵倒著的樹來表示

?這棵樹叫語法樹,比如上述程序段中的單詞序列:

idl=id2+id3*60經(jīng)語法分析得知其是PASCAL語言

的“賦值語句:表示成如下所示形式。

語法分析^ompiler

_i_d___3___|___3_____|_N____u___m____|_6___0___

b.數(shù)據(jù)結構

第一章概論

idj=id2+id3*60

三、語義分析、生成中間代碼

任務:對識別出的各種語法成分進行語義分析,

并產(chǎn)生相應的中間代碼。)

?中間代碼:一種介于源語言和目標語言之間的中間語

言形式I

?生成中間代碼的目的:)

<1>便于做優(yōu)化處理;\

<2>便于編譯程序的移植。

?中間代碼的形式:編譯程序設計者可以自己設計,常用的有

四元式、三元式、逆波蘭表示等。

~Zeller

例:Xl:=(2.0+0.8)*Cl

?由語法分析識別出為賦值語句,語義分析首先要

分析語義上的正確性,例如要檢查表達式中和賦值

號兩邊的類型是否一致。

?根據(jù)賦值語句的語義,生成中間代碼。

即用一種語言形式來代替另一種語言形式,

這是翻譯的關鍵步驟。

(翻譯的實質:語義的等價性)

position=initial+rate*60

三、語義分析、生成中間代碼

三、語義分析、生成中間代碼

總結一下語義分析主要的任務:

完成靜態(tài)語義審查和處理

上下文相關性審查

類型匹配審查

類型轉換

]龍如Hlei

★四元式(三地址指令)

XI:=(2.0+0.8)*C1

運左運算對象右運算對象

⑴結果

⑵+2.00.8T1

⑶T1C1T2

XIT2

其中T1和T2為編譯程序引入的工作單元

四元式的語義為:2.0+0.8->T1

T1*C1一T2

T2一XI

這樣所生成的四元式與原來的賦值語句在語言的

形式上不同,但語義上等價。

四、代碼優(yōu)化

任務:目的是為了得到高質量的目標程序。

例如:前面的四元式中第一個四元式是計算常量表達式值,

該值在編譯時就可以算出并存放在工作單元中,不必生成目

標指令來計算,這樣四元式可優(yōu)化為:

編譯時:2.0+0.8TT1

(1)*T1ClT2

⑵=XIT2

優(yōu)化前的四元式:

(1)+2.00.8T1

(2)*T1ClT2

(3):=XIT2

position=initial+rate*60

第一章概論

tempi:=inttoreal(60)

tempi:=id3*tempi

temp3:=id2+tempi

idl:=temp3

代碼優(yōu)化器

tempi:=id3*60.0

idl:=id2+tempi&

四、代碼優(yōu)化

試圖改進中間代碼,以產(chǎn)生執(zhí)行速度較快占用內

存空間少的機器代碼

原則:等價變換

主要方面:公共子表達式的提取、合并已知量、

刪除無用語句、強度削弱、循環(huán)優(yōu)化等優(yōu)化工作

代碼優(yōu)化工作會降低編譯程序的編譯速度,因此

編譯優(yōu)化階段常常作為可選擇階段,編譯程序具

有控制機制以允許用戶在編譯速度和目標代碼的

質量間進行權衡。

代碼優(yōu)化

例:將下面的語句轉換

成中間代碼

k=1

for(k=1;k<=100;k++)10ifk<=100then

{m=i+10*k;

{m=i+10*k;

n=j+10*k;

n=j+10*k;k++;

goto10;

})

四、代碼優(yōu)化

序號OPARG1ARG2RESULT

(1)1k

■k=1

(2)100k(9)

*10ifk<=100

(3)10kTithen

(4)+ITim{m=i+10*k;

*n=j+10*k;

(5)10kT

■2k++;

+ngoto10;

(6)JT2

⑺+k1k)

(8)J(2)

(9)

四、代碼優(yōu)化

序號OPARG1ARG2RESULT

(1)Im

■k=1f

(2)Jnm=i

(3)1kn=J|

(4)100k(9)10ifk<=100then

+m10m{m=m+10;

(5)n=n+10;

(6)+n10nk++;

⑺+k1kgoto10;

(8)J(4)

(9)

五、目標程序生成

任務:把中間代碼變換成特定機器上的低級語言代碼。

目標代碼形式:

—絕對指令代碼

—匯編指令代碼

一可重定位的指令代碼。

編譯的最后階段,它的工作與硬件系統(tǒng)結構和指令定義有

關,這個階段的工作很復雜,涉及到硬件系統(tǒng)功能部件的運

用、機器指令的選擇、各種數(shù)據(jù)類型變量的存儲空間分配以

及寄存器和后緩寄存器的調度等。

五、目標代碼生成

由中間代碼很容易生成目標程序(地址指令序列)。這

部分工作與機器關系密切,所以要根據(jù)機器進行。在做這

部分工作時(要注意充分利用累加器),也可以進行優(yōu)化

處理。

XI:=(2.0+0.8)*C1

LOAD2.0

ADD0.8

STOT1作利用累LOAD2.0

LOADT1加器的優(yōu)化ADD0.8

MULClMULCl

STOT2STOXI

LOADT2注意:在翻譯成目標程序的過程中,

STOXI要切記保持語義的等價性。

position=initial+rate*60

五、目標程序生成

使用兩個寄存器(RI和R2),上面生成的中間代碼可

生成下面的匯編代碼

(1)(MOVFid3R2)

(2)(MOLF#60.0R2)

(3)(MOVFid2R1)

⑷(ADDFR1R2)

(5)(MOVR1id1)

position=initial+rate*60

五、目標程序生成

tempi:=id3*60.0

idl:=id2+tempi

符號表

1position???

代碼生成器2initial???

3rate???

MOVFid3,R2

MULF#60.0,R2

MOVFid2,RI

AbbFR2,RI

MOVFRI,idl

1.3-2編譯程序構造

一、編譯程序的邏輯結構

按邏輯功能不同,可將編譯過程劃分為五個基本階段,

與此相對應,我們將實現(xiàn)整個編譯過程的編譯程序劃分為

五個邏輯階段(即五個邏輯子過程)。

編譯程序構造

在某機器上為某種語言構造編譯程序要掌

握以下三方面:

-----源語言

-----目標語言

-----編譯方法.I

i—Zeller

上上列五個階段中都要做兩件事:

(1)建表和查表;(2)出錯處理;

所以編譯程序中都要包括符號表管理和出錯處理兩部分

★符號表管理I

在整個編譯過程中始終都要貫穿著建表(填表)和查表的

工作。即要及時地把源程序中的信息和編譯過程中所產(chǎn)生的信

息登記在表格中,而在隨后的編譯過程中同時又要不斷地查找

這些表格中的信息。I

4昔無甲

規(guī)履建官盔癰程序難免有多種錯誤,編譯程序必須要有出錯I

處理的功能。即能診察出錯誤,并能報告用戶錯誤的性質和位

置,以便用戶修改源程序。出錯處理能力的大小是衡量編譯程

序質量好壞的一個重要指標。

z^piler

典型的編譯程序具有7個邏輯部分

S.P

詞法分析

符語法分析

管語義分析、生成中間代碼

代碼優(yōu)化

生成目標程序

6、表格管理

。作用:用來記錄源程序的各種信息以及編譯

過程的各種狀況。

?與編譯前三個階段有關的表格有:

—符號表,常數(shù)表?標號表?分程序入口表5

中間代碼表等

1)符號表:用來登記源程序中的常量名,變

量名,數(shù)組名,過程名等。

—記錄它們的性質,定義和弓I用情況

符號表管理

符號表是一個數(shù)據(jù)結構

。。

每個標識符在符號表

中都有一條記錄

NameTypekindvaladdr

id1

id2

常數(shù)表與標號表

常數(shù)表標號表

NAMEINFORMATION

1

4

10四元式序號4

入口名表

。作用:登記過程的層號,分程序

符號表入口等

NAMEINFORMATION

INCWAP二目子程序,四元

式序號1

中間代碼表(四元式,三元組構成表)

序號0PARG1ARG2RESULT

(1)1k

(2)100k(9)

*

(3)10kTi

(4)+ITim

*

(5)10kT

■2

+n

(6)JT2

⑺+k1k

(8)J(2)

(9)return

7、錯誤處理

任務:在編譯的各個階段都會發(fā)現(xiàn)源程序中的錯

誤,為了使編譯器能繼續(xù)運行,以檢測出源程序

中更多的錯誤,在檢測到錯誤后,必須以合適的

方式進行錯誤處理。

完成:由專門的出錯處理程序來完成

錯誤類型:一語法錯誤

—語義錯誤

>error

二、遍(PASS)

遍:對源程序(包括源程序中間形式)從頭到尾掃描

一次,并做有關的加工處理,生成新的源程序中間形

式或目標程序,通常稱之為一遍。

第一遍第二遍

S,0C2S,P.......op

S.PC1中間形式11甲間形式25產(chǎn)

k__________)

★要注意遍與基本階段的區(qū)別

上一■遍的結果是下

溫馨提示

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

最新文檔

評論

0/150

提交評論