第九章符號表_第1頁
第九章符號表_第2頁
第九章符號表_第3頁
第九章符號表_第4頁
第九章符號表_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第9章章符號表符號表符號表符號表n用來存放在詞法分析過程中生成的有關(guān)標識用來存放在詞法分析過程中生成的有關(guān)標識符的符的語義特征屬性語義特征屬性信息信息n符號表中所登記的信息在編譯的不同階段都符號表中所登記的信息在編譯的不同階段都要用到。要用到。n例如作為語義檢查的依據(jù),目標代碼生成階例如作為語義檢查的依據(jù),目標代碼生成階段地址分配的依據(jù)等。段地址分配的依據(jù)等。n不同種類的表格所涉及的操作往往是不同的不同種類的表格所涉及的操作往往是不同的符號表的操作符號表的操作n在整個編譯期間,對于符號表的操作大致可在整個編譯期間,對于符號表的操作大致可歸納為五類:歸納為五類:q對給定名字,查詢名字是否已在表

2、中對給定名字,查詢名字是否已在表中q往表中填入一個新的名字;往表中填入一個新的名字;q對給定名字,訪問它的某些信息;對給定名字,訪問它的某些信息;q對給定名字,填寫或更新它的某些信息;對給定名字,填寫或更新它的某些信息;q刪除一個或一組無用的項。刪除一個或一組無用的項。N NA AM ME E:A A N NA AM ME E:B B N NA AM ME E:C C N NA AM ME E:D D N NA AM ME E:E E N NA AM ME E:P P K KI IN ND D: C CO ON NS ST TA AN NT T K KI IN ND D: C CO ON NS

3、 ST TA AN NT T K KI IN ND D: V VA AR RI IA AB BL LE E K KI IN ND D: V VA AR RI IA AB BL LE E K KI IN ND D: V VA AR RI IA AB BL LE E K KI IN ND D: P PR RO OC CE ED DU UR R V VA AL L:3 35 5 V VA AL L:4 49 9 L LE EV VE EL L:L LE EV V L LE EV VE EL L:L LE EV V L LE EV VE EL L:L LE EV V L LE EV VE EL L:L

4、 LE EV V A AD DR R:D DX X A AD DR R: D DX X+ +1 1 A AD DR R: D DX X+ +2 2 A AD DR R: S SI IZ ZE E: 4 4 N NA AM ME E:G G K KI IN ND D: V VA AR RI IA AB BL LE E L LE EV VE EL L: L LE EV V+ +1 1 A AD DR R:D DX X TABLE中的信息中的信息表格管理表格管理 名字名字 類型類型 層次層次/值值 地址地址 存儲空間存儲空間9.1 符號表的作用和地位符號表的作用和地位1. 收集符號屬性收集符號屬性n

5、在編譯程序分析標識符說明部分時,收集有在編譯程序分析標識符說明部分時,收集有關(guān)標識符的屬性,在符號表中建立符號的相關(guān)標識符的屬性,在符號表中建立符號的相應(yīng)屬性信息。應(yīng)屬性信息。n例如,說明語句:例如,說明語句: int a; 符號名為符號名為a,整型變量整型變量 float b5; 符號名為符號名為b,浮點型一維數(shù)組浮點型一維數(shù)組 具有具有5個元素,下標范圍個元素,下標范圍04符號表的作用和地位符號表的作用和地位2.上下文語義的合法性檢查的依據(jù)上下文語義的合法性檢查的依據(jù)n在語義分析中,符號表所登記的屬性記錄將在語義分析中,符號表所登記的屬性記錄將用于語義檢查。用于語義檢查。n檢查一個名字的使

6、用和原先的說明是否一致,檢查一個名字的使用和原先的說明是否一致,即標識符屬性在上下文中的即標識符屬性在上下文中的一致性一致性與與合法性合法性。符號表的作用和地位符號表的作用和地位n例如,例如,C語言中有變量說明:語言中有變量說明: int i3,5; 定義說明定義說明 一致性錯誤一致性錯誤 extern float i; 引用說明引用說明 n重復(fù)定義導致的類型不一致是語義錯誤。重復(fù)定義導致的類型不一致是語義錯誤。n同一標識符的重復(fù)定義,即使類型一致,仍同一標識符的重復(fù)定義,即使類型一致,仍然是語義錯誤。然是語義錯誤。符號表的作用和地位符號表的作用和地位3. 作為目標代碼生產(chǎn)階段地址分配的依據(jù)作

7、為目標代碼生產(chǎn)階段地址分配的依據(jù)n在目標代碼生成階段,當對符號名進行地址在目標代碼生成階段,當對符號名進行地址分配時,符號表是地址分配的依據(jù)。分配時,符號表是地址分配的依據(jù)。n對一個多遍掃描的編譯程序,不同遍所用的對一個多遍掃描的編譯程序,不同遍所用的符號表也往往各有不同,因為每遍所關(guān)心的符號表也往往各有不同,因為每遍所關(guān)心的信息各有差異。信息各有差異。9.2 符號表的主要屬性和作用符號表的主要屬性和作用n不同的語言定義的標識符屬性不盡相同,但不同的語言定義的標識符屬性不盡相同,但以下幾種通常都是需要的:以下幾種通常都是需要的:1. 符號名符號名 表示常量名、變量名、函數(shù)名、表示常量名、變量名

8、、函數(shù)名、過程名等的標識符。用標識符在符號表中位過程名等的標識符。用標識符在符號表中位置表示該標識符,通常是一個整數(shù)值,稱之置表示該標識符,通常是一個整數(shù)值,稱之為內(nèi)部代碼。為內(nèi)部代碼。n對重名標識符,按照該標識符在程序中的作對重名標識符,按照該標識符在程序中的作用域及可視性規(guī)則進行處理。用域及可視性規(guī)則進行處理。符號表的主要屬性和作用符號表的主要屬性和作用2. 符號的類型符號的類型 數(shù)據(jù)類型數(shù)據(jù)類型(data type),符號符號的類型決定了具有該類型的數(shù)據(jù)的存儲格式的類型決定了具有該類型的數(shù)據(jù)的存儲格式3. 符號的存儲類別符號的存儲類別n關(guān)鍵字指定:關(guān)鍵字指定:C語言中的語言中的stati

9、c靜態(tài)存儲、靜態(tài)存儲、extern外部變量、外部變量、regist寄存器變量寄存器變量n說明語句的位置指定:說明語句的位置指定:C語言中的函數(shù)內(nèi)部語言中的函數(shù)內(nèi)部指定指定局部變量、外部指定局部變量、外部指定全局變量。全局變量。符號表的主要屬性和作用符號表的主要屬性和作用4. 符號的作用域及可視性符號的作用域及可視性n作用域作用域在程序中起作用的范圍在程序中起作用的范圍n變量可視性的作用域規(guī)則變量可視性的作用域規(guī)則在作用域范圍內(nèi)在作用域范圍內(nèi)是可引用的。是可引用的。n變量可視性還取決于:變量可視性還取決于:(1) 函數(shù)形參:內(nèi)部變量,可以和外部定義的函數(shù)形參:內(nèi)部變量,可以和外部定義的變量重名,

10、但應(yīng)視為不同的變量。一般規(guī)定變量重名,但應(yīng)視為不同的變量。一般規(guī)定在函數(shù)內(nèi)部,使用形參定義的變量。外部變在函數(shù)內(nèi)部,使用形參定義的變量。外部變量被屏蔽量被屏蔽成為不可視的。成為不可視的。符號表的主要屬性和作用符號表的主要屬性和作用(2) 分程序結(jié)構(gòu):由于分程序可以是多層次的分程序結(jié)構(gòu):由于分程序可以是多層次的嵌套結(jié)構(gòu),因此在各層次的分程序中定義的嵌套結(jié)構(gòu),因此在各層次的分程序中定義的與外部重名的變量,在本層次中有效。即一與外部重名的變量,在本層次中有效。即一旦重名,在本層外定義的變量被屏蔽旦重名,在本層外定義的變量被屏蔽成為成為不可視的。不可視的。n為了確立符號的作用域和可視性,符號表中為了確

11、立符號的作用域和可視性,符號表中除符號的存儲類別外,還有除符號的存儲類別外,還有該符號在程序結(jié)該符號在程序結(jié)構(gòu)上被定義的層次。構(gòu)上被定義的層次。符號屬性符號屬性(信息信息)5. 符號變量的存儲分配信息符號變量的存儲分配信息n靜態(tài)存儲區(qū)靜態(tài)存儲區(qū)全局靜態(tài)區(qū)、局部靜態(tài)區(qū)全局靜態(tài)區(qū)、局部靜態(tài)區(qū)n動態(tài)存儲區(qū)動態(tài)存儲區(qū)局部動態(tài)變量的生存周期是定局部動態(tài)變量的生存周期是定義該變量的局部范圍。義該變量的局部范圍。n對變量存儲分配還要確定其在存儲區(qū)的具體對變量存儲分配還要確定其在存儲區(qū)的具體位置的屬性信息。位置的屬性信息。n出現(xiàn)先后次序、存儲區(qū)表頭相對位移量。出現(xiàn)先后次序、存儲區(qū)表頭相對位移量。符號屬性符號屬

12、性(信息信息)6. 符號的其它屬性符號的其它屬性:(1) 數(shù)組內(nèi)情向量數(shù)組內(nèi)情向量(2) 記錄結(jié)構(gòu)型的成員信息記錄結(jié)構(gòu)型的成員信息n成員所占存儲空間、排列次序成員所占存儲空間、排列次序(3) 函數(shù)及過程的形參函數(shù)及過程的形參n每個函數(shù)或過程的形參個數(shù)、排列次序、形每個函數(shù)或過程的形參個數(shù)、排列次序、形參的類型。參的類型。 9.3 符號表的組織符號表的組織n 符號表是連貫上下文進行語義檢查、語義處符號表是連貫上下文進行語義檢查、語義處理、生成代碼和存儲分配的主要依據(jù)。理、生成代碼和存儲分配的主要依據(jù)。n符號表的整體組織符號表的整體組織n表項信息組織表項信息組織9.3.1 符號表的總體組織符號表的

13、總體組織n第一種:把屬性種類完全相同的那些符號組第一種:把屬性種類完全相同的那些符號組織在一起,構(gòu)造出表項是分別為等長的多個織在一起,構(gòu)造出表項是分別為等長的多個符號表符號表 n第二種:把所有語言中的符號都組織在一張第二種:把所有語言中的符號都組織在一張符號表中。組成一張包括了所有屬性的龐大符號表中。組成一張包括了所有屬性的龐大的符號表的符號表 n第三種:折衷方式,根據(jù)符號屬性相似程度第三種:折衷方式,根據(jù)符號屬性相似程度分類組織成若干張表,每張表中記錄的符號分類組織成若干張表,每張表中記錄的符號都有比較多的相同屬性。都有比較多的相同屬性。 9.3.2 符號表項的排列符號表項的排列n符號表作為

14、一個多元組,表中元組的排列組符號表作為一個多元組,表中元組的排列組織是構(gòu)造符號表的重要成分??検菢?gòu)造符號表的重要成分。n在編譯程序的整個工作過程中,符號表被頻在編譯程序的整個工作過程中,符號表被頻繁地用來建立表項,找查表項,填充和引用繁地用來建立表項,找查表項,填充和引用表項的屬性。因此表項的排列組織對該系統(tǒng)表項的屬性。因此表項的排列組織對該系統(tǒng)運行的效率起著十分重要的作用。運行的效率起著十分重要的作用。符號表項的排列符號表項的排列n在編譯程序中,符號表項的組織傳統(tǒng)上采在編譯程序中,符號表項的組織傳統(tǒng)上采用三種構(gòu)造方法。用三種構(gòu)造方法。n 線性組織線性組織n 排序組織及二分法排序組織及二分法1

15、. 散列組織散列組織9.3.3 關(guān)鍵字域的組織關(guān)鍵字域的組織n符號表的關(guān)鍵字域符號表的關(guān)鍵字域(段段)就是符號名稱就是符號名稱n等長關(guān)鍵字域等長關(guān)鍵字域(段段)符號表符號表設(shè)置關(guān)鍵字段的設(shè)置關(guān)鍵字段的長度為標識符的最大長度,長度為標識符的最大長度,C語言規(guī)定為語言規(guī)定為32n不等長關(guān)鍵字段符號表不等長關(guān)鍵字段符號表采用采用關(guān)鍵字池關(guān)鍵字池的索的索引結(jié)構(gòu)。引結(jié)構(gòu)。n關(guān)鍵字在關(guān)鍵字池中連續(xù)存放,符號表中的關(guān)鍵字在關(guān)鍵字池中連續(xù)存放,符號表中的關(guān)鍵字段是一個指向關(guān)鍵字段是一個指向關(guān)鍵字池關(guān)鍵字池的指針,其值的指針,其值是關(guān)鍵字在池中的位置。是關(guān)鍵字在池中的位置。9.3.4 其它域的組織其它域的組織n

16、 等長屬性值域組織等長屬性值域組織n 取相應(yīng)的數(shù)據(jù)類型表達屬性值取相應(yīng)的數(shù)據(jù)類型表達屬性值 Defined 1 或或 true 表示已定義表示已定義 Defined 0 或或 false 表示未定義表示未定義n符號數(shù)據(jù)類型域、存儲類別域符號數(shù)據(jù)類型域、存儲類別域n位移量屬性域位移量屬性域整形量表示整形量表示n符號之間的關(guān)系屬性域符號之間的關(guān)系屬性域指針或指針鏈構(gòu)造指針或指針鏈構(gòu)造其它域的組織其它域的組織n符號的數(shù)據(jù)類型符號的數(shù)據(jù)類型data_type bit位位 整數(shù)值整數(shù)值char 0 0 0 0short 0 0 1 1int 0 1 0 2long 0 1 1 3unsigned 1 0

17、 0 4float 1 0 1 5double 1 1 0 6 其它域的組織其它域的組織2. 不等長屬性值域組織不等長屬性值域組織n數(shù)組的內(nèi)情向量:數(shù)組維數(shù)、每維的元素數(shù)組的內(nèi)情向量:數(shù)組維數(shù)、每維的元素個數(shù)個數(shù)典型的不等長屬性值。典型的不等長屬性值。n可以用可以用“位位”信息表示的屬性,放入一個信息表示的屬性,放入一個字段:字段:n該變量符號是否已初始化該變量符號是否已初始化n該符號是否為結(jié)構(gòu)成員該符號是否為結(jié)構(gòu)成員n該符號是否為標號該符號是否為標號n該符號是否為保留字該符號是否為保留字9.3.5 下推鏈域的組織下推鏈域的組織n在符號表中采用下推鏈域的組織處理實現(xiàn)分在符號表中采用下推鏈域的組

18、織處理實現(xiàn)分程序的分層結(jié)構(gòu)中的同名標識符的語義功能程序的分層結(jié)構(gòu)中的同名標識符的語義功能n當進入一個內(nèi)層結(jié)構(gòu)并出現(xiàn)重名時,把外層當進入一個內(nèi)層結(jié)構(gòu)并出現(xiàn)重名時,把外層的符號表項下推到下推鏈中的符號表項下推到下推鏈中9.4 符號表的管理符號表的管理n符號表所起的作用反映了其行為特征符號表所起的作用反映了其行為特征n符號表的行為表現(xiàn)在:符號表的初始化、符符號表的行為表現(xiàn)在:符號表的初始化、符號的登錄、符號的查找和有關(guān)分程序結(jié)構(gòu)的號的登錄、符號的查找和有關(guān)分程序結(jié)構(gòu)的符號表層次管理符號表層次管理n除對符號表的初始化之外,都是動態(tài)進行的除對符號表的初始化之外,都是動態(tài)進行的n針對三種表項組織形式的符號

19、表,采用的方針對三種表項組織形式的符號表,采用的方法各有不同。法各有不同。9.4.1 符號表的初始化符號表的初始化1. 符號表的表長是漸增變化的情況符號表的表長是漸增變化的情況n線性組織的和二分法組織的符號表,開始表線性組織的和二分法組織的符號表,開始表長度為長度為0,隨著符號的登錄,表長增長。,隨著符號的登錄,表長增長。n初始化方法:表尾指針指向表頭位置。初始化方法:表尾指針指向表頭位置。2. 符號表的表長是確定的情況符號表的表長是確定的情況 n散列組織的符號表,表的長度與表項的個數(shù)散列組織的符號表,表的長度與表項的個數(shù)無關(guān)。無關(guān)。n初始化方法:清除全部表項。初始化方法:清除全部表項。9.4

20、.2 符號的登錄符號的登錄n當一個標識符被確定在符號表中尚不存在時,當一個標識符被確定在符號表中尚不存在時,在符號表中登錄該符號。在符號表中登錄該符號。n在表中創(chuàng)建一個新的表項,確定登錄位置。在表中創(chuàng)建一個新的表項,確定登錄位置。n線性組織的符號表,創(chuàng)建即確定了表項。線性組織的符號表,創(chuàng)建即確定了表項。n對于二分法組織的符號表,登陸新的表項后,對于二分法組織的符號表,登陸新的表項后,必須保持符號表的有序性。按某種順序確定必須保持符號表的有序性。按某種順序確定位置,執(zhí)行插入操作。位置,執(zhí)行插入操作。n對于散列表,通過某種散列算法確定登錄表對于散列表,通過某種散列算法確定登錄表項的位置。項的位置。

21、9.4.3 符號的查找符號的查找n對于掃描到的一個符號,需要確定符號類別對于掃描到的一個符號,需要確定符號類別n查找順序通常為:查找順序通常為:n保留字表保留字表和和運算符表運算符表:找到后轉(zhuǎn)換為內(nèi)碼:找到后轉(zhuǎn)換為內(nèi)碼n標識符表標識符表:找到:找到已登錄;未找到已登錄;未找到登錄登錄n查找算法:順序、折半、散列查找算法:順序、折半、散列9.4.4 符號表中分程序結(jié)構(gòu)層次的管理符號表中分程序結(jié)構(gòu)層次的管理n對于具有分程序型結(jié)構(gòu)的語言程序,不同層對于具有分程序型結(jié)構(gòu)的語言程序,不同層次分程序中定義的標識符號具有不同的作用次分程序中定義的標識符號具有不同的作用域和不同的可視性規(guī)則。域和不同的可視性規(guī)

22、則。n通常對于具有分程序結(jié)構(gòu)的語言可用兩種方通常對于具有分程序結(jié)構(gòu)的語言可用兩種方式組織它們的符號表:式組織它們的符號表: q一是對每個分程序建立一個獨立的分表結(jié)一是對每個分程序建立一個獨立的分表結(jié)構(gòu)的符號表;構(gòu)的符號表;q一是把各分程序符號組織在一張單表結(jié)構(gòu)一是把各分程序符號組織在一張單表結(jié)構(gòu)的符號表中的符號表中 分表結(jié)構(gòu)的組織管理分表結(jié)構(gòu)的組織管理n其基本思想是,每當編譯程序掃描到一個分其基本思想是,每當編譯程序掃描到一個分程序結(jié)構(gòu)開始時,為該分程序建立一張符號程序結(jié)構(gòu)開始時,為該分程序建立一張符號表,在該分程序中定義的標識符,都被登錄表,在該分程序中定義的標識符,都被登錄在該符號表中。在

23、該符號表中。n而當編譯程序掃描到一個分程序的結(jié)束時,而當編譯程序掃描到一個分程序的結(jié)束時,編譯程序釋放為該分程序所建立的符號表。編譯程序釋放為該分程序所建立的符號表。n這種符號表的分表結(jié)構(gòu)與源程序的分程序?qū)舆@種符號表的分表結(jié)構(gòu)與源程序的分程序?qū)哟谓Y(jié)構(gòu)一一對應(yīng)次結(jié)構(gòu)一一對應(yīng) 單表結(jié)構(gòu)的組織管理單表結(jié)構(gòu)的組織管理n其基本思想是,所有分程序中定義的標識符其基本思想是,所有分程序中定義的標識符都集中在單張符號表中。都集中在單張符號表中。n為了實現(xiàn)分程序構(gòu)造中標識符的作用域和可為了實現(xiàn)分程序構(gòu)造中標識符的作用域和可視性規(guī)則的要求視性規(guī)則的要求, ,在符號表中可設(shè)立一個屬在符號表中可設(shè)立一個屬性域用來登錄

24、符號所在分程序的層次性域用來登錄符號所在分程序的層次n進入分程序時,層次要增加一層進入分程序時,層次要增加一層. .在退出一在退出一個分程序時,層次降低一層,且需要把符號個分程序時,層次降低一層,且需要把符號表中,所有在退出的分程序中登錄的符號項表中,所有在退出的分程序中登錄的符號項清除。清除。嵌套結(jié)構(gòu)型程序的符號表嵌套結(jié)構(gòu)型程序的符號表n嵌套結(jié)構(gòu)型程序設(shè)計語言的特點,可采用的嵌套結(jié)構(gòu)型程序設(shè)計語言的特點,可采用的辦法:將其符號表設(shè)計為棧符號表,當新的辦法:將其符號表設(shè)計為棧符號表,當新的名字出現(xiàn)總是從棧頂填入。名字出現(xiàn)總是從棧頂填入。n查找操作從符號表的棧頂往底部查(保證先查找操作從符號表的

25、棧頂往底部查(保證先查最近出現(xiàn)的名字)。查最近出現(xiàn)的名字)。n因為程序是分層的,并且一個過程結(jié)束時將因為程序是分層的,并且一個過程結(jié)束時將釋放相應(yīng)的子符號表,因此查找范圍與線性釋放相應(yīng)的子符號表,因此查找范圍與線性表比相對要小一些。表比相對要小一些。DISPLAY層次關(guān)系表層次關(guān)系表n引入一個顯示引入一個顯示(DISPLAY)層次關(guān)系表,稱層次關(guān)系表,稱為過程的嵌套層次表。其作用是為了描述為過程的嵌套層次表。其作用是為了描述過程的嵌套層次,指出當前正在活動著的過程的嵌套層次,指出當前正在活動著的各嵌套的過程各嵌套的過程(或函數(shù)或函數(shù))相應(yīng)的子符號表在相應(yīng)的子符號表在棧符號表中的起始位置棧符號表

26、中的起始位置(相對地址相對地址)。nDISPLAY表也是一個棧,棧頂指針為表也是一個棧,棧頂指針為level。當進入一個新過程時,當進入一個新過程時,level增加增加1;每當;每當退出一個過程時,退出一個過程時,level減減1。DISPLAY表表nDISPLAY(level)總是指向當前正在處理的總是指向當前正在處理的最內(nèi)層的過程的子符號表在棧符號表中的最內(nèi)層的過程的子符號表在棧符號表中的起始位置。起始位置。n在符號表的信息欄中引入一個指針域在符號表的信息欄中引入一個指針域(previous)用以鏈接它在同一過程內(nèi)的前用以鏈接它在同一過程內(nèi)的前一域名字在表中的下標一域名字在表中的下標(相對

27、位置相對位置)。DISPLAY表表n每一層的最后一個域名字,其每一層的最后一個域名字,其previous之值之值為為0。這樣,每當需要查找一個新名字時,。這樣,每當需要查找一個新名字時,就能通過就能通過DISPLAY找出當前正在處理的最找出當前正在處理的最內(nèi)層的過程及所有外層的子符號表在棧符號內(nèi)層的過程及所有外層的子符號表在棧符號表中的位置。表中的位置。n然后,通過然后,通過previous可以找到同一過程內(nèi)的可以找到同一過程內(nèi)的所有被說明的名字。所有被說明的名字。說明部分的分析與處理說明部分的分析與處理n對每個過程說明的對象對每個過程說明的對象(變量,常量和過程變量,常量和過程)造名字表造名字表n填寫標識符的所在層次、屬性和分配的相對填寫標識符的所在層次、屬性和分配的相對位置。標識符的屬性不同時,所需填入的信位置。標識符的屬性不同時,所需填入的信息也不同。登錄信息由息也不同。登錄信息由ENTER過程完成。過程完成。說明部分的分析與處理說明部分的分析與處

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論