freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ttcn3編譯技術(shù)研究與實(shí)現(xiàn)碩士畢業(yè)論文-文庫(kù)吧資料

2025-07-04 09:52本頁(yè)面
  

【正文】 有關(guān)記號(hào)、優(yōu)先級(jí)說(shuō)明、數(shù)據(jù)類(lèi)型等;語(yǔ)法規(guī)則部分包括依據(jù)TTCN3的BNF書(shū)寫(xiě)的將近600條語(yǔ)法規(guī)則;程序段部分包括了過(guò)程和函數(shù)聲明的C程序段。將yyparse加入到我們的編譯器中,就是我們的語(yǔ)法分析器。如圖32所示,YACC的輸入為YACC語(yǔ)言的程序,它包含對(duì)源語(yǔ)言語(yǔ)法規(guī)則的描述,語(yǔ)法分析器對(duì)語(yǔ)法結(jié)構(gòu)識(shí)別匹配后的即時(shí)處理動(dòng)作,以及其它輔助過(guò)程。語(yǔ)法分析的基礎(chǔ)是源語(yǔ)言的語(yǔ)法規(guī)則,通常用BNF表達(dá)式[36]來(lái)表示。語(yǔ)法分析的作用是識(shí)別由詞法分析給出的單詞符號(hào)串序列是否滿足給定的文法,組成語(yǔ)法上正確的句子 [38],并最終生成一棵語(yǔ)法樹(shù)或分析樹(shù)[36],供后續(xù)編譯使用?,F(xiàn)階段我們對(duì)詞法分析的錯(cuò)誤處理比較簡(jiǎn)單,就是當(dāng)發(fā)現(xiàn)詞法錯(cuò)誤就停下來(lái),并指出錯(cuò)誤的位置。 詞法分析的錯(cuò)誤處理一個(gè)好的編譯程序應(yīng)能最大限度地發(fā)現(xiàn)源程序中的各種錯(cuò)誤,準(zhǔn)確地指出錯(cuò)誤的性質(zhì)和發(fā)生錯(cuò)誤的地點(diǎn),并且能將錯(cuò)誤所造成的影響限制在盡可能小的范圍內(nèi),使得源程序中的其余部分能繼續(xù)被編譯下去,以便進(jìn)一步發(fā)現(xiàn)其它可能的錯(cuò)誤[36]。3: reserved word: group3: ID, name= Port_Definitions_Group3: {4: reserved word: type4: reserved word: port4: ID, name= IPPortType4: reserved word: mixed4: {5: reserved word: inout5: ID, name= NDMessageType5: ,5: ID, name= NDProcedureType6: }7: }8: reserved word: group8: ID, name= Component_Definitions_Group8: {9: reserved word: type9: reserved word: ponent9: ID, name= NetworkNode9: {10: reserved word: port10: ID, name= IPPortType10: ID, name= NSAP10: 。 group Port_Definitions_Group { type port IPPortType mixed { inout NDMessageType, NDProcedureType } } group Component_Definitions_Group { type ponent NetworkNode { port IPPortType NSAP。在LEX的源程序中嵌入打印代碼,可以在詞法分析器識(shí)別一個(gè)單詞符號(hào)的同時(shí)輸出該單詞符號(hào)的信息。 詞法分析器的輸出結(jié)果詞法分析器的輸出是由源程序中的輸入字符串組成的單詞符號(hào)串。輸入串圖31 LEX在編譯系統(tǒng)中的作用LEX編譯系統(tǒng)yylexLEX源程序yylex單詞符號(hào)串LEX源程序的格式如下 [38]:說(shuō)明部分%%轉(zhuǎn)換規(guī)則%%輔助過(guò)程在本編譯器中。將yylex加入到我們的編譯器中,就是我們的詞法分析器。如圖31所示,LEX的輸入為L(zhǎng)EX語(yǔ)言的程序,它包含對(duì)源語(yǔ)言詞法構(gòu)成的正規(guī)式描述,詞法分析器對(duì)詞法結(jié)構(gòu)識(shí)別匹配后的即時(shí)處理動(dòng)作,以及其它輔助過(guò)程三大部分。詞法分析的基礎(chǔ)是源語(yǔ)言的詞法規(guī)則,一般用正則表達(dá)式[36]來(lái)表示。詞法分析還可以完成一些相關(guān)的輔助任務(wù)[37],一個(gè)是濾掉源程序中的注釋、空格、制表符和換行符等不影響程序執(zhí)行的代碼,另一個(gè)是使編譯器能將發(fā)現(xiàn)的錯(cuò)誤信息與源程序的出錯(cuò)位置聯(lián)系起來(lái)。TTCN3源程序語(yǔ)法樹(shù)分析器第一遍掃描符號(hào)表C程序代碼生成第二遍掃描圖22 TTCN3/C編譯器的遍 第3章 詞法、語(yǔ)法與語(yǔ)義分析 詞法分析 詞法分析簡(jiǎn)介詞法分析是編譯過(guò)程的第一個(gè)階段。第二遍掃描的輸入是第一遍生成的語(yǔ)法樹(shù),通過(guò)對(duì)語(yǔ)法樹(shù)的遍歷,結(jié)合符號(hào)表登記的信息來(lái)生成C代碼。如果只采用一遍掃描,編譯程序在設(shè)計(jì)和實(shí)現(xiàn)上難度太大,生成的編譯器難以維護(hù);多遍掃描對(duì)路由器的測(cè)試效率影響較大;而兩遍掃描,由于前后兩遍的設(shè)計(jì)相對(duì)獨(dú)立而本編譯器由兩個(gè)小組成員分別完成,可以較明確地進(jìn)行小組分工與合作,因此本編譯器采用了兩遍掃描處理的方式。掃描一次在編譯術(shù)語(yǔ)中稱(chēng)為一“遍”(PASS)[36]。源程序詞法分析器語(yǔ)法分析器語(yǔ)義分析器錯(cuò)誤分析器符號(hào)表管理器中間代碼生成器代碼優(yōu)化器代碼生成器目標(biāo)程序圖21 典型編譯器程序階段和功能劃分 編譯過(guò)程的“遍數(shù)”上一節(jié)討論的編譯程序的五個(gè)階段,是按邏輯功能進(jìn)行劃分的。不過(guò)考慮到在本設(shè)計(jì)中功能盡可能簡(jiǎn)化,加上后續(xù)的C編譯器大多具有代碼優(yōu)化的功能,所以目前的TTCN3/C編譯器中未考慮代碼優(yōu)化的問(wèn)題。在編譯程序中最重要的表格是符號(hào)表,它記錄源程序中定義的所有名字以及其各種屬性[36]。TTCN3/C編譯程序的設(shè)計(jì)可以參照這五個(gè)階段劃分相關(guān)的功能模塊。編譯器以某種語(yǔ)言(Source Language )編寫(xiě)的程序作為輸入(源程序),經(jīng)過(guò)處理生成與源程序等價(jià)的用目標(biāo)語(yǔ)言(Target Language)表達(dá)的程序。而在語(yǔ)義分析階段,我們報(bào)告出錯(cuò)地點(diǎn)和具體的錯(cuò)誤類(lèi)型,但并不停止編譯。由于我們選擇了C語(yǔ)言作為中間語(yǔ)言,因此,在滿足測(cè)試需要的前提下,盡量選擇了TTCN3中其語(yǔ)法和語(yǔ)義較容易在C中找到對(duì)應(yīng)關(guān)系的語(yǔ)法結(jié)構(gòu),特別是那些容易實(shí)現(xiàn)直接轉(zhuǎn)換或者通過(guò)構(gòu)造C語(yǔ)言的類(lèi)(Class)結(jié)構(gòu)來(lái)實(shí)現(xiàn)的語(yǔ)法結(jié)構(gòu)。 TTCN3/C編譯程序設(shè)計(jì)范圍的界定TTCN3是一個(gè)相當(dāng)復(fù)雜的測(cè)試控制描述語(yǔ)言,其中許多功能在測(cè)試實(shí)踐中可以不用或難于理解。本編譯器采用的就是這種設(shè)計(jì)思路,即設(shè)計(jì)為T(mén)TCN3到C語(yǔ)言的編譯器。其次,它容易實(shí)現(xiàn)將編譯的中間結(jié)果,即某種程序設(shè)計(jì)語(yǔ)言表達(dá)的代碼,與用同種程序設(shè)計(jì)語(yǔ)言開(kāi)發(fā)的測(cè)試系統(tǒng)其它部件的實(shí)現(xiàn)代碼進(jìn)行聯(lián)合編譯,得到完整的可執(zhí)行測(cè)試程序。這樣做具有多方面的優(yōu)點(diǎn)。 TTCN3/C編譯程序的總體設(shè)計(jì) TTCN3編譯階段劃分TTCN3描述的測(cè)試控制數(shù)據(jù)(測(cè)試?yán)?組/集)到可執(zhí)行測(cè)試數(shù)據(jù)的編譯過(guò)程,一般分為兩個(gè)步驟。 近些年,隨著TTCN3的普及和IPv6測(cè)試系統(tǒng)的出現(xiàn),一些研究機(jī)構(gòu)正在研究開(kāi)發(fā)TTCN3支撐工具。而另外一些研究機(jī)構(gòu)則直接將TTCN描述的測(cè)試集進(jìn)行解釋或編譯。比如英國(guó)國(guó)家物理實(shí)驗(yàn)室將TTCN轉(zhuǎn)換為測(cè)試描述語(yǔ)言TDL[32], 加拿大IDICOM公司將TTCN轉(zhuǎn)換為其專(zhuān)用測(cè)試語(yǔ)言ITL。 國(guó)內(nèi)外相關(guān)編譯技術(shù)研究現(xiàn)狀早在80年代,在TTCN標(biāo)準(zhǔn)剛制定后不久,國(guó)內(nèi)外就有一些研究機(jī)構(gòu)對(duì)TTCN支撐工具進(jìn)行研究。⑧ 測(cè)試集的參數(shù)化和測(cè)試?yán)倪x擇機(jī)制。⑥ 類(lèi)型和值的參數(shù)化。④ 信息編碼和其它屬性的描述。② 動(dòng)態(tài)并發(fā)的測(cè)試配置。2003年3月16日,ETSI發(fā)布的TTCN3修訂版不僅對(duì)原有三部分進(jìn)行了改進(jìn)和提高,還提出三個(gè)新的部分:TTCN3的操作語(yǔ)法[27]、運(yùn)行接口(TTCN3 Runtime Interface,TRI)[28]和控制接口(TTCN3 Control Interface ,TCI)[29]。ETSI于2000年10月發(fā)布的第三代TTCN標(biāo)準(zhǔn)(TTCN3) [16] 是一種更靈活,功能更強(qiáng)大的測(cè)試描述語(yǔ)言,同時(shí)將之列入了ITUT 。由于第一版的TTCN不能描述測(cè)試系統(tǒng)內(nèi)部、被測(cè)系統(tǒng)內(nèi)部以及他們之間的并發(fā)行為,1998年ISO/IEC 和ITUT發(fā)布了第二版TTCN(TTCN2)[22],它在前一版本的基礎(chǔ)上提出了并發(fā)機(jī)制和許多新的概念,實(shí)現(xiàn)了模塊的重用和封裝,(Abstract Syntax Notation 1)[23,24]的解碼。 第2章 TTCN3/C編譯程序總體設(shè)計(jì) TTCN3的發(fā)展及特點(diǎn)TTCN[17]是一種通過(guò)樹(shù)表結(jié)構(gòu)來(lái)描述測(cè)試集和測(cè)試?yán)陌胄问交Z(yǔ)言,其最早于1992年被列入ISO/IEC 96463和CCITT 。第5章簡(jiǎn)要地討論了對(duì)編譯程序的調(diào)試方法和調(diào)試實(shí)踐。該章的重點(diǎn)是用LEX構(gòu)造詞法分析器,以及用YACC構(gòu)造語(yǔ)法分析器的方法;對(duì)解決語(yǔ)法沖突、構(gòu)造語(yǔ)法樹(shù)和維護(hù)符號(hào)表等問(wèn)題也作了相應(yīng)的討論。 論文組織結(jié)構(gòu)本論文的后續(xù)章節(jié)主要反映筆者所涉及的研究工作,其組織結(jié)構(gòu)如下:第2章在簡(jiǎn)要地介紹了TTCN3語(yǔ)言及其發(fā)展和相關(guān)編譯技術(shù)現(xiàn)狀之后,介紹了筆者參與的TTCN3/C編譯程序的總體設(shè)計(jì)方案,確立了兩遍掃描的編譯結(jié)構(gòu)。盡管?chē)?guó)外已有了TTCN3/C[18]和TTCN3/Java[19]編譯器的研究與開(kāi)發(fā),但國(guó)內(nèi)除中科院成都計(jì)算機(jī)應(yīng)用研究所在20世紀(jì)80年代末期,進(jìn)行過(guò)第一版TTCN的編譯程序的開(kāi)發(fā)工作[20]外,至今尚無(wú)人開(kāi)發(fā)過(guò)TTCN3的編譯程序。2) 采用兩步編譯的方式,將TTCN3描述的ATS編譯成C代碼,以便與測(cè)試系統(tǒng)的其它部分代碼聯(lián)合編譯,最終生成可執(zhí)行測(cè)試集ETS。5) 重點(diǎn)研究目標(biāo)代碼生成技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了TTCN3語(yǔ)法規(guī)則的一個(gè)子集的編譯。3) 研究詞法分析技術(shù),與王文娟同學(xué)一起,利用LEX工具實(shí)現(xiàn)了詞法分析器。這是實(shí)現(xiàn)TTCN3編譯程序的必備基礎(chǔ)。 本論文反映的研究與開(kāi)發(fā)工作及主要特點(diǎn)以多端口路由器的并發(fā)測(cè)試技術(shù)的研究為背景,本論文所反映的工作是筆者參與并初步完成的TTCN3/C語(yǔ)言的編譯程序。但也正因?yàn)槿绱耍?lián)機(jī)處理時(shí)花在解釋上的時(shí)間較多,不利于提高測(cè)試效率,也不適合實(shí)時(shí)性要求較高的測(cè)試場(chǎng)合。目前已有的測(cè)試系統(tǒng)中采用解釋方式的較多,即“邊解釋邊執(zhí)行”的測(cè)試方式。與其它高級(jí)程序設(shè)計(jì)語(yǔ)言類(lèi)似,用TTCN3描述的抽象測(cè)試數(shù)據(jù)不能直接用于實(shí)際測(cè)試,需要將其轉(zhuǎn)換成可執(zhí)行的測(cè)試數(shù)據(jù)。TTCN3(Test and Test Control Notation version 3) [16]是TTCN (Tree and Table Combined Notation) [17]的第三版。在CMPTE中,測(cè)試支撐工具包括CMPTDL、TTCNCMPTDL編譯程序和TTCN3/C編譯程序。MTET是用CMPTDL語(yǔ)言描述的測(cè)試控制數(shù)據(jù)中與并行測(cè)試相關(guān)的部分經(jīng)過(guò)編譯后形成的可執(zhí)行程序。 測(cè)試控制管理器與測(cè)試支撐工具如圖13所示, 并發(fā)多端口測(cè)試環(huán)境(CMPTE – Concurrent MultiPort Test Environment)由CMPTS和測(cè)試支撐工具(Test Support Tools)兩部分組成。并發(fā)多端口測(cè)試系統(tǒng)由于能夠模擬多端口路由器的實(shí)際運(yùn)行環(huán)境,因而可克服單對(duì)端口測(cè)試系統(tǒng)不能全面測(cè)試和評(píng)價(jià)多端口路由器的缺點(diǎn)。TPT既可以在CMPTM控制下對(duì)指定的端口對(duì)進(jìn)行測(cè)試,也可以獨(dú)立地作為便攜式雙端口測(cè)試器。 responsesRouter Under Test (RUT)TestsupportToolsCMPTS圖 13 CMPTE系統(tǒng)結(jié)構(gòu)與測(cè)試?yán)喂ぞ呓柚贛SPTTM測(cè)試方法和CMPTDL語(yǔ)言,目前實(shí)驗(yàn)室正在開(kāi)發(fā)多端口IP路由器的并發(fā)測(cè)試系統(tǒng)(CMPTS Concurrent MultiPort Test System)[14]。 responsesATS in CMPTDLTest Data amp。 responsesTwoPort Tester n TwoPort Tester kTwoPort Tester iTwoPort Tester 1CMPTDL CompilerTest Data amp。Multiple testthreadC CompilerTTCN3 CompilerCMPTMATS in TTCN3Coordination mands amp。鑒于TTCN3不能描述并行測(cè)試之間的同步協(xié)調(diào)和控制的機(jī)制,因此需要一種新的測(cè)試控制數(shù)據(jù)定義語(yǔ)言,我們稱(chēng)之為并發(fā)多端口測(cè)試定義語(yǔ)言CMPTDL。MSPTTM要求測(cè)試系統(tǒng)能夠在嚴(yán)格的控制下,對(duì)多個(gè)雙端口測(cè)試器(TPT – TwoPort Tester)進(jìn)行協(xié)調(diào)和同步,實(shí)現(xiàn)對(duì)多個(gè)端口對(duì)的并行測(cè)試。圖12 穿越測(cè)試法示意圖測(cè)試器1 并發(fā)多端口測(cè)試技術(shù)與測(cè)試系統(tǒng)四川省網(wǎng)絡(luò)通信技術(shù)重點(diǎn)實(shí)驗(yàn)室為了解決以上問(wèn)題,著手研究多端口路由器的并發(fā)測(cè)試技術(shù)。正因?yàn)槿绱?,目前的測(cè)試難以模擬多端口路由器的外部實(shí)際工作環(huán)境、外部網(wǎng)絡(luò)信息流的分布和最低性能指標(biāo),因而測(cè)試功能不全面。路由器實(shí)質(zhì)上是包括應(yīng)用層協(xié)議在內(nèi)的信令控制平面和管理平面的協(xié)議集,單對(duì)端口測(cè)試技術(shù)不能反映不同端口之間在三個(gè)平臺(tái)上協(xié)議活動(dòng)的相互影響。由于該方法的測(cè)試路徑穿過(guò)了路由器,因此被稱(chēng)為“穿越測(cè)試法”。實(shí)際上,在Internet環(huán)境中,只要將兩個(gè)測(cè)試器置于同一測(cè)試系統(tǒng)之中,兩個(gè)測(cè)試器分別使用不同的IP地址,便很容易實(shí)現(xiàn)對(duì)一對(duì)IP路由器端口的嚴(yán)格控制下的測(cè)試,也容易實(shí)現(xiàn)測(cè)試器1和2之間的協(xié)調(diào)。曾華燊教授在對(duì)LTM進(jìn)行深入研究后提出的穿越測(cè)試法(TTM)[7]能夠同時(shí)對(duì)一對(duì)端口進(jìn)行測(cè)試,如圖12。 IPv6路由器并發(fā)多端口測(cè)試系統(tǒng) 傳統(tǒng)路由器測(cè)試技術(shù)與系統(tǒng)的局限性如圖11所示,ISO 9646建議的回繞測(cè)試方法(LTM) [6]進(jìn)行測(cè)試時(shí),測(cè)試器將測(cè)試數(shù)據(jù)的目的地址填為測(cè)試器的地址,被測(cè)路由器收到該數(shù)據(jù)時(shí),查詢路徑表后會(huì)將該測(cè)試數(shù)據(jù)返回到測(cè)試器,因此,這種測(cè)試方法稱(chēng)為回繞測(cè)試法。從80年代中期開(kāi)始我國(guó)也逐步開(kāi)始涉足網(wǎng)絡(luò)協(xié)議測(cè)試技術(shù)的研究以及測(cè)試系統(tǒng)的開(kāi)發(fā),過(guò)去大量的工作是針對(duì)端系統(tǒng)(EndSys
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1