![2023年P(guān)L語(yǔ)言編譯器分析實(shí)驗(yàn)報(bào)告_第1頁(yè)](http://file4.renrendoc.com/view/2cd297d10005a9069ee34c5f4a817ee2/2cd297d10005a9069ee34c5f4a817ee21.gif)
![2023年P(guān)L語(yǔ)言編譯器分析實(shí)驗(yàn)報(bào)告_第2頁(yè)](http://file4.renrendoc.com/view/2cd297d10005a9069ee34c5f4a817ee2/2cd297d10005a9069ee34c5f4a817ee22.gif)
![2023年P(guān)L語(yǔ)言編譯器分析實(shí)驗(yàn)報(bào)告_第3頁(yè)](http://file4.renrendoc.com/view/2cd297d10005a9069ee34c5f4a817ee2/2cd297d10005a9069ee34c5f4a817ee23.gif)
![2023年P(guān)L語(yǔ)言編譯器分析實(shí)驗(yàn)報(bào)告_第4頁(yè)](http://file4.renrendoc.com/view/2cd297d10005a9069ee34c5f4a817ee2/2cd297d10005a9069ee34c5f4a817ee24.gif)
![2023年P(guān)L語(yǔ)言編譯器分析實(shí)驗(yàn)報(bào)告_第5頁(yè)](http://file4.renrendoc.com/view/2cd297d10005a9069ee34c5f4a817ee2/2cd297d10005a9069ee34c5f4a817ee25.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PL/0語(yǔ)言編譯器分析實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)閱讀與解析一個(gè)實(shí)際編譯器(PL/0語(yǔ)言編譯器)的源代碼,加深對(duì)編譯階段(涉及詞法分析、語(yǔ)法分析、語(yǔ)義分析、中間代碼生成等)和編譯系統(tǒng)軟件結(jié)構(gòu)的理解,并達(dá)成提高學(xué)生學(xué)習(xí)愛(ài)好的目的。二、實(shí)驗(yàn)規(guī)定(1)規(guī)定掌握基本的程序設(shè)計(jì)技巧(C語(yǔ)言)和閱讀較大規(guī)模程序源代碼的能力;(2)理解并掌握編譯過(guò)程的邏輯階段及各邏輯階段的功能;(3)規(guī)定能把握整個(gè)系統(tǒng)(PL/0語(yǔ)言編譯器)的體系結(jié)構(gòu),各功能模塊的功能,各模塊之間的接口;(4)規(guī)定能總結(jié)出實(shí)現(xiàn)編譯過(guò)程各邏輯階段功能采用的具體算法與技三、實(shí)驗(yàn)報(bào)告pl/0語(yǔ)言是pascal語(yǔ)言的一個(gè)子集,我們這里分析的pl/0的編譯程序涉及了對(duì)pl/0語(yǔ)言源程序進(jìn)行分析解決、編譯生成類(lèi)pcode代碼,并在虛擬機(jī)上解釋運(yùn)營(yíng)生成的類(lèi)pcode代碼的功能。pl/0語(yǔ)言編譯程序采用以語(yǔ)法分析為核心、一遍掃描的編譯方法。詞法分析和代碼生成作為獨(dú)立的子程序供語(yǔ)法分析程序調(diào)用。語(yǔ)法分析的同時(shí),提供了犯錯(cuò)報(bào)告和犯錯(cuò)恢復(fù)的功能。在源程序沒(méi)有錯(cuò)誤編譯通過(guò)的情況下,調(diào)用類(lèi)pcode解釋程序解釋執(zhí)行生成的類(lèi)pcode代碼。詞法分析子程序分析:詞法分析子程序名為getsym,功能是從源程序中讀出一個(gè)單詞符號(hào)(token),把它的信息放入全局變量sym、id和num中,語(yǔ)法分析器需要單詞時(shí),直接從這三個(gè)變量中獲得。(注意!語(yǔ)法分析器每次用完這三個(gè)變量的值就立即調(diào)用getsym子程序獲取新的單詞供下一次使用。而不是在需要新單詞時(shí)才調(diào)用getsym過(guò)程。)getsym過(guò)程通過(guò)反復(fù)調(diào)用getch子過(guò)程從源程序過(guò)獲取字符,并把它們拼成單詞。getch過(guò)程中使用了行緩沖區(qū)技術(shù)以提高程序運(yùn)營(yíng)效率。詞法分析器的分析過(guò)程:調(diào)用getsym時(shí),它通過(guò)getch過(guò)程從源程序中獲得一個(gè)字符。假如這個(gè)字符是字母,則繼續(xù)獲取字符或數(shù)字,最終可以拼成一個(gè)單詞,查保存字表,假如查到為保存字,則把sym變量賦成相應(yīng)的保存字類(lèi)型值;假如沒(méi)有查到,則這個(gè)單詞應(yīng)是一個(gè)用戶(hù)自定義的標(biāo)記符(也許是變量名、常量名或是過(guò)程的名字),把sym置為ident,把這個(gè)單詞存入id變量。查保存字表時(shí)使用了二分法查找以提高效率。假如getch獲得的字符是數(shù)字,則繼續(xù)用getch獲取數(shù)字,并把它們拼成一個(gè)整數(shù),然后把sym置為number,并把拼成的數(shù)值放入num變量。假如辨認(rèn)出其它合法的符號(hào)(比如:賦值號(hào)、大于號(hào)、小于等于號(hào)等),則把sym則成相應(yīng)的類(lèi)型。假如碰到不合法的字符,把sym置成nul。語(yǔ)法分析子程序分析:語(yǔ)法分析子程序采用了自頂向下的遞歸子程序法,語(yǔ)法分析同時(shí)也根據(jù)程序的語(yǔ)意生成相應(yīng)的代碼,并提供了犯錯(cuò)解決的機(jī)制。語(yǔ)法分析重要由分程序分析過(guò)程(block)、常量定義分析過(guò)程(constdeclaration)、變量定義分析過(guò)程(vardeclarat(yī)ion)、語(yǔ)句分析過(guò)程(statement)、表達(dá)式解決過(guò)程(expression)、項(xiàng)解決過(guò)程(term)、因子解決過(guò)程(factor)和條件解決過(guò)程(condition)構(gòu)成。這些過(guò)程在結(jié)構(gòu)上構(gòu)成一個(gè)嵌套的層次結(jié)構(gòu)。除此之外,尚有犯錯(cuò)報(bào)告過(guò)程(error)、代碼生成過(guò)程(gen)、測(cè)試單詞合法性及犯錯(cuò)恢復(fù)過(guò)程(test)、登錄名字表過(guò)程(enter)、查詢(xún)名字表函數(shù)(position)以及列出類(lèi)pcode代碼過(guò)程(listcode)作過(guò)語(yǔ)法分析的輔助過(guò)程。由pl/0的語(yǔ)法圖可知:一個(gè)完整的pl/0程序是由分程序和句號(hào)構(gòu)成的。因此,本編譯程序在運(yùn)營(yíng)的時(shí)候,通過(guò)主程序中調(diào)用分程序解決過(guò)程block來(lái)分析分程序部分(分程序分析過(guò)程中還也許會(huì)遞歸調(diào)用block過(guò)程),然后,判斷最后讀入的符號(hào)是否為句號(hào)。假如是句號(hào)且分程序分析中未犯錯(cuò),則是一個(gè)合法的pl/0程序,可以運(yùn)營(yíng)生成的代碼,否則就說(shuō)明源pl/0程序是不合法的,輸出犯錯(cuò)提醒即可。語(yǔ)法單元分析:1、分程序解決過(guò)程:語(yǔ)法分析開(kāi)始后,一方面調(diào)用分程序解決過(guò)程(block)解決分程序。過(guò)程入口參數(shù)置為:0層、符號(hào)表位置0、犯錯(cuò)恢復(fù)單詞集合為句號(hào)、聲明符或語(yǔ)句開(kāi)始符。進(jìn)入block過(guò)程后,一方面把局部數(shù)據(jù)段分派指針設(shè)為3,準(zhǔn)備分派3個(gè)單元供運(yùn)營(yíng)期存放靜態(tài)鏈sl、動(dòng)態(tài)鏈dl和返回地址ra。然后用tx0記錄下當(dāng)前符號(hào)表位置并產(chǎn)生一條jmp指令,準(zhǔn)備跳轉(zhuǎn)到主程序的開(kāi)始位置,由于當(dāng)前還沒(méi)有知到主程序究竟在何處開(kāi)始,所以jmp的目的暫時(shí)填為0,稍后再改。同時(shí)在符號(hào)表的當(dāng)前位置記錄下這個(gè)jmp指令在代碼段中的位置。在判斷了嵌套層數(shù)沒(méi)有超過(guò)規(guī)定的層數(shù)后,開(kāi)始分析源程序。一方面判斷是否碰到了常量聲明,假如碰到則開(kāi)始常量定義,把常量存入符號(hào)表。接下去用同樣的方法分析變量聲明,變量定義過(guò)程中會(huì)用dx變量記錄下局部數(shù)據(jù)段分派的空間個(gè)數(shù)。然后假如碰到procedure保存字則進(jìn)行過(guò)程聲明和定義,聲明的方法是把過(guò)程的名字和所在的層次記入符號(hào)表,過(guò)程定義的方法就是通過(guò)遞歸調(diào)用block過(guò)程,由于每個(gè)過(guò)程都是一個(gè)分程序。由于這是分程序中的分程序,因此調(diào)用block時(shí)需把當(dāng)前的層次號(hào)lev加一傳遞給block過(guò)程。分程序聲明部分完畢后,即將進(jìn)入語(yǔ)句的解決,這時(shí)的代碼分派指針cx的值正好指向語(yǔ)句的開(kāi)始位置,這個(gè)位置正是前面的jmp指令需要跳轉(zhuǎn)到的位置。于是通過(guò)前面記錄下來(lái)的地址值,把這個(gè)jmp指令的跳轉(zhuǎn)位置改成當(dāng)前cx的位置。并在符號(hào)表中記錄下當(dāng)前的代碼段分派地址和局部數(shù)據(jù)段要分派的大?。ǎ鋢的值)。生成一條int指令,分派dx個(gè)空間,作為這個(gè)分程序段的第一條指令。下面就調(diào)用語(yǔ)句解決過(guò)程statement分析語(yǔ)句。分析完畢后,生成操作數(shù)為0的opr指令,用于從分程序返回(對(duì)于0層的主程序來(lái)說(shuō),就是程序運(yùn)營(yíng)完畢,退出)。2、常量定義過(guò)程:通過(guò)循環(huán),反復(fù)獲得標(biāo)記符和相應(yīng)的值,存入符號(hào)表。符號(hào)表中記錄下標(biāo)記符的名字和它相應(yīng)的值。3、變量定義過(guò)程:與常量定義類(lèi)似,通過(guò)循環(huán),反復(fù)獲得標(biāo)記符,存入符號(hào)表。符號(hào)表中記錄下標(biāo)記符的名字、它所在的層及它在所在層中的偏移地址。4、語(yǔ)句解決過(guò)程:語(yǔ)句解決過(guò)程是一個(gè)嵌套子程序,通過(guò)調(diào)用表達(dá)式解決、項(xiàng)解決、因子解決等過(guò)程及遞歸調(diào)用自己來(lái)實(shí)現(xiàn)對(duì)語(yǔ)句的分析。語(yǔ)句解決過(guò)程可以辨認(rèn)的語(yǔ)句涉及賦值語(yǔ)句、read語(yǔ)句、write語(yǔ)句、call語(yǔ)句、if語(yǔ)句、while語(yǔ)句。當(dāng)碰到begin/end語(yǔ)句時(shí),就遞歸調(diào)用自己來(lái)分析。分析的同時(shí)生成相應(yīng)的類(lèi)pcode指令。5、賦值語(yǔ)句的解決:一方面獲取賦值號(hào)左邊的標(biāo)記符,從符號(hào)表中找到它的信息,并確認(rèn)這個(gè)標(biāo)記符確為變量名。然后通過(guò)調(diào)用表達(dá)式解決過(guò)程算得賦值號(hào)右部的表達(dá)式的值并生成相應(yīng)的指令保證這個(gè)值放在運(yùn)營(yíng)期的數(shù)據(jù)棧頂。最后通過(guò)前面查到的左部變量的位置信息,生成相應(yīng)的sto指令,把棧頂值存入指定的變量的空間,實(shí)現(xiàn)了賦值操作。6、read語(yǔ)句的解決:擬定read語(yǔ)句語(yǔ)法合理的前提下(否則報(bào)錯(cuò)),生成相應(yīng)的指令:第一條是16號(hào)操作的opr指令,實(shí)現(xiàn)從標(biāo)準(zhǔn)輸入設(shè)備上讀一個(gè)整數(shù)值,放在數(shù)據(jù)棧頂。第二條是sto指令,把棧頂?shù)闹荡嫒雛ead語(yǔ)句括號(hào)中的變量所在的單元。7、write語(yǔ)句的解決:與read語(yǔ)句相似。在語(yǔ)法對(duì)的的前提下,生成指令:通過(guò)循環(huán)調(diào)用表達(dá)式解決過(guò)程分析write語(yǔ)句括號(hào)中的每一個(gè)表達(dá)式,生成相應(yīng)指令保證把表達(dá)式的值算出并放到數(shù)據(jù)棧頂并生成14號(hào)操作的opr指令,輸出表達(dá)式的值。最后生成15號(hào)操作的opr指令輸出一個(gè)換行。8、call語(yǔ)句的解決:從符號(hào)表中找到call語(yǔ)句右部的標(biāo)記符,獲得其所在層次和偏移地址。然后生成相應(yīng)的cal指令。至于調(diào)用子過(guò)程所需的保護(hù)現(xiàn)場(chǎng)等工作是由類(lèi)pcode解釋程序在解釋執(zhí)行cal指令時(shí)自動(dòng)完畢的。9、if語(yǔ)句的解決:按if語(yǔ)句的語(yǔ)法,一方面調(diào)用邏輯表達(dá)式解決過(guò)程解決if語(yǔ)句的條件,把相應(yīng)的真假值放到數(shù)據(jù)棧頂。接下去記錄下代碼段分派位置(即下面生成的jpc指令的位置),然后生成條件轉(zhuǎn)移jpc指令(遇0或遇假轉(zhuǎn)移),轉(zhuǎn)移地址未知暫時(shí)填0。然后調(diào)用語(yǔ)句解決過(guò)程解決then語(yǔ)句后面的語(yǔ)句或語(yǔ)句塊。then后的語(yǔ)句解決完后,當(dāng)前代碼段分派指針的位置就應(yīng)當(dāng)是上面的jpc指令的轉(zhuǎn)移位置。通過(guò)前面記錄下的jpc指令的位置,把它的跳轉(zhuǎn)位置改成當(dāng)前的代碼段指針位置。10、begin/end語(yǔ)句的解決:通過(guò)循環(huán)遍歷begin/end語(yǔ)句塊中的每一個(gè)語(yǔ)句,通過(guò)遞歸調(diào)用語(yǔ)句分析過(guò)程分析并生成相應(yīng)代碼。11、while語(yǔ)句的解決:一方面用cx1變量記下當(dāng)前代碼段分派位置,作為循環(huán)的開(kāi)始位置。然后解決while語(yǔ)句中的條件表達(dá)式生成相應(yīng)代碼把結(jié)果放在數(shù)據(jù)棧頂,再用cx2變量記下當(dāng)前位置,生成條件轉(zhuǎn)移指令,轉(zhuǎn)移位置未知,填0。通過(guò)遞歸調(diào)用語(yǔ)句分析過(guò)程分析do語(yǔ)句后的語(yǔ)句或語(yǔ)句塊并生成相應(yīng)代碼。最后生成一條無(wú)條件跳轉(zhuǎn)指令jmp,跳轉(zhuǎn)到cx1所指位置,并把cx2所指的條件跳轉(zhuǎn)指令的跳轉(zhuǎn)位置改成當(dāng)前代碼段分派位置。12、表達(dá)式、項(xiàng)、因子解決:根據(jù)pl/0語(yǔ)法可知,表達(dá)式應(yīng)當(dāng)是由正負(fù)號(hào)或無(wú)符號(hào)開(kāi)頭、由若干個(gè)項(xiàng)以加減號(hào)連接而成。而項(xiàng)是由若干個(gè)因子以乘除號(hào)連接而成,因子則也許是一個(gè)標(biāo)記符或一個(gè)數(shù)字,或是一個(gè)以括號(hào)括起來(lái)的子表達(dá)式。根據(jù)這樣的結(jié)構(gòu),構(gòu)造出相應(yīng)的過(guò)程,遞歸調(diào)用就完畢了表達(dá)式的解決。把項(xiàng)和因子獨(dú)立開(kāi)解決解決了加減號(hào)與乘除號(hào)的優(yōu)先級(jí)問(wèn)題。在這幾個(gè)過(guò)程的反復(fù)調(diào)用中,始終傳遞fsys變量的值,保證可以在犯錯(cuò)的情況下跳過(guò)犯錯(cuò)的符號(hào),使分析過(guò)程得以進(jìn)行下去。13、邏輯表達(dá)式的解決:一方面判斷是否為一元邏輯表達(dá)式:判奇偶。假如是,則通過(guò)調(diào)用表達(dá)式解決過(guò)程分析計(jì)算表達(dá)式的值,然后生成判奇指令。假如不是,則肯定是二元邏輯運(yùn)算符,通過(guò)調(diào)用表達(dá)式解決過(guò)程依次分析運(yùn)算符左右兩部分的值,放在棧頂?shù)膬蓚€(gè)空間中,然后依不同的邏輯運(yùn)算符,生成相應(yīng)的邏輯判斷指令,放入代碼段。14、判斷單詞合法性與犯錯(cuò)恢復(fù)過(guò)程分析:本過(guò)程有三個(gè)參數(shù),s1、s2為兩個(gè)符號(hào)集合,n為犯錯(cuò)代碼。本過(guò)程的功能是:測(cè)試當(dāng)前符號(hào)(即sym變量中的值)是否在s1集合中,假如不在,就通過(guò)調(diào)用犯錯(cuò)報(bào)告過(guò)程輸出犯錯(cuò)代碼n,并放棄當(dāng)前符號(hào),通過(guò)詞法分析過(guò)程獲取一下單詞,直到這個(gè)單詞出現(xiàn)在s1或s2集合中為止。這個(gè)過(guò)程在實(shí)際使用中很靈活,重要有兩個(gè)用法:在進(jìn)入某個(gè)語(yǔ)法單位時(shí),調(diào)用本過(guò)程,檢查當(dāng)前符號(hào)是否屬于該語(yǔ)法單位的開(kāi)始符號(hào)集合。若不屬于,則濾去開(kāi)始符號(hào)和后繼符號(hào)集合外的所有符號(hào)。在語(yǔ)法單位分析結(jié)束時(shí),調(diào)用本過(guò)程,檢查當(dāng)前符號(hào)是否屬于調(diào)用該語(yǔ)法單位時(shí)應(yīng)有的后繼符號(hào)集合。若不屬于,則濾去后繼符號(hào)和開(kāi)始符號(hào)集合外的所有符號(hào)。通過(guò)這樣的機(jī)制,可以在源程序出現(xiàn)錯(cuò)誤時(shí),及時(shí)跳過(guò)犯錯(cuò)的部分,保證語(yǔ)法分析可以繼續(xù)下去。15、類(lèi)pcode代碼解釋執(zhí)行過(guò)程分析:這個(gè)過(guò)程模擬了一臺(tái)可以運(yùn)營(yíng)類(lèi)pcode指令的棧式計(jì)算機(jī)。它擁有一個(gè)棧式數(shù)據(jù)段用于存放運(yùn)營(yíng)期數(shù)據(jù)、擁有一個(gè)代碼段用于存放類(lèi)pcode程序代碼。同時(shí)還擁用數(shù)據(jù)段分派指針、指令指針、指令寄存器、局部段基址指針等寄存器。16、解釋執(zhí)行類(lèi)pcode代碼時(shí),數(shù)據(jù)段存儲(chǔ)分派方式:對(duì)于源程序的每一個(gè)過(guò)程(涉及主程序),在被調(diào)用時(shí),一方面在數(shù)據(jù)段中開(kāi)辟三個(gè)空間,存放靜態(tài)鏈sl、動(dòng)態(tài)鏈dl和返回地址ra。靜態(tài)鏈記錄了定義該過(guò)程的直接外過(guò)程(或主程序)運(yùn)營(yíng)時(shí)最新數(shù)據(jù)段的基地址。動(dòng)態(tài)鏈記錄調(diào)用該過(guò)程前正在運(yùn)營(yíng)的過(guò)程的數(shù)據(jù)段基址。返回地址記錄了調(diào)用該過(guò)程時(shí)程序運(yùn)營(yíng)的斷點(diǎn)位置。對(duì)于主程序來(lái)說(shuō),sl、dl和ra的值均置為0。靜態(tài)鏈的功能是在一個(gè)子過(guò)程要引用它的直接或間接父過(guò)程(這里的父過(guò)程是按定義過(guò)程時(shí)的嵌套情況來(lái)定的,而不是按執(zhí)行時(shí)的調(diào)用順序定的)的變量時(shí),可以通過(guò)靜態(tài)鏈,跳過(guò)個(gè)數(shù)為層差的數(shù)據(jù)段,找到包含要引用的變量所在的數(shù)據(jù)段基址,然后通過(guò)偏移地址訪問(wèn)它。在過(guò)程返回時(shí),解釋程序通過(guò)返回地址恢復(fù)指令指針的值到調(diào)用前的地址,通
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度消防工程安全評(píng)估與咨詢(xún)合同
- 2025年普洱茶茶藝培訓(xùn)學(xué)校合作購(gòu)銷(xiāo)合同范本4篇
- 2025年度二零二五年度智能工廠設(shè)計(jì)與建設(shè)合同
- 2025年度環(huán)保項(xiàng)目設(shè)備融資租賃合同
- 2025年度蔬菜種植與農(nóng)業(yè)旅游發(fā)展合同
- 2025年度航空航天復(fù)合材料股份認(rèn)購(gòu)合同協(xié)議
- 2025年度股權(quán)轉(zhuǎn)讓協(xié)議英文版與稅收籌劃建議
- 2025年度海運(yùn)貨物運(yùn)輸保險(xiǎn)理賠合同范本
- 2025年度股東借款合同范例:生物制藥研發(fā)與應(yīng)用投資合同
- 2025年度能源貿(mào)易實(shí)務(wù):國(guó)際石油天然氣買(mǎi)賣(mài)合同標(biāo)準(zhǔn)版
- 戰(zhàn)略管理與倫理
- 如何構(gòu)建高效課堂課件
- 虛擬化與云計(jì)算技術(shù)應(yīng)用實(shí)踐項(xiàng)目化教程 教案全套 第1-14周 虛擬化與云計(jì)算導(dǎo)論-騰訊云服務(wù)
- 甲基丙烯酸甲酯生產(chǎn)工藝畢業(yè)設(shè)計(jì)設(shè)備選型與布置模板
- 徐金桂行政法與行政訴訟法新講義
- 瀝青拌合設(shè)備結(jié)構(gòu)認(rèn)知
- 2023年北京高考政治真題試題及答案
- 復(fù)旦中華傳統(tǒng)體育課程講義05木蘭拳基本技術(shù)
- 北師大版五年級(jí)上冊(cè)數(shù)學(xué)教學(xué)課件第5課時(shí) 人民幣兌換
- 工程回訪記錄單
- 住房公積金投訴申請(qǐng)書(shū)
評(píng)論
0/150
提交評(píng)論