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

正文內(nèi)容

基于tena定義語言的文本編輯和可視化編譯的研究與實現(xiàn)碩士畢業(yè)論文-預(yù)覽頁

2025-07-13 12:40 上一頁面

下一頁面
 

【正文】 的研究與實踐促進(jìn)了TENA技術(shù)和相關(guān)產(chǎn)品的豐富與成熟,所取得的理論研究和實踐應(yīng)用成果對我國的虛擬試驗驗證使能體系結(jié)構(gòu)的研究具有借鑒作用。本文需要完成的工作有以下三個部分:1. 實現(xiàn)TDL文本編輯器。利用Eclipse RCP框架構(gòu)建一體化集成平臺,主要實現(xiàn)項目生成與管理功能、可視化文本編輯功能和可視化TDL編譯功能,方便以后對TDL編輯模塊、可視化建模模塊、框架代碼生成與編譯模塊、對象模型框架測試驗證模塊進(jìn)行集成,實現(xiàn)一體化模型構(gòu)建工具。 論文組織結(jié)構(gòu)本文分為七章,論文結(jié)構(gòu)安排如下:第1章緒論。第3章系統(tǒng)總體設(shè)計。第5章框架代碼生成與編譯模塊設(shè)計。第7章系統(tǒng)的實現(xiàn)。 本章小結(jié)本章闡述了論文的課題背景,接著介紹了國內(nèi)外虛擬試驗驗證技術(shù)的發(fā)展?fàn)顩r,主要是美國的TENA框架的相關(guān)情況,然后總體介紹了論文的研究內(nèi)容和研究的意義,最后介紹了全文的結(jié)構(gòu)安排。 TDL關(guān)鍵字TDL語言一共包括30個關(guān)鍵字,: TDL關(guān)鍵字importpackagecharotectimplementsprivatevoidclasslocal classoutmessageinterfacevectorenumextendsunsigned shortshortonewayunsigned longlongbooleanunsigned long longlong longstringfloatdoubleinraisesreadonlyinout 導(dǎo)入(import)Import關(guān)鍵字允許一個VDL文件(及其生成VOM庫和VOM基本實現(xiàn)庫)導(dǎo)入其它VDL文件(及其生成VOM庫和VOM基本實現(xiàn)庫)。導(dǎo)入一個VDL文件并不像C++里的預(yù)處理文件包含,導(dǎo)入的VDL文件必須是一個完整的且符合語法的VOM定義。C++和IDL對名稱空間沒有強制要求,但TDL語言的所以元素必須包含一個名稱空間。 狀態(tài)分布對象(SDO)SDO是元模型的關(guān)鍵部分,它支持各個資源之間的分布式通信,SDO包含一些方法能夠被遠(yuǎn)程調(diào)用,而且也包含公共狀態(tài),公共狀態(tài)可以發(fā)布給所有訂閱者,SDO的定義使用“class”關(guān)鍵字,使用“extends”關(guān)鍵字繼承一個其它的SDO類,可以擁有它的所有狀態(tài)屬性和方法并且可以定義自己的屬性和方法,使用“implements”關(guān)鍵字可以實現(xiàn)一個或多個接口中的方法。 消息對象(message)消息也是一種復(fù)雜的數(shù)據(jù)類型,包含本地方法和消息信息。 double y。 message PointMessage { Point location。 本地對象(Local Class)本地對象是一個復(fù)雜數(shù)據(jù)類型,包含方法(operation)和狀態(tài)信息(數(shù)據(jù)成員)。例如,一個向量可以是“l(fā)ong”類型的向量,其所有成員均是long型整數(shù),也可以是本地類(local class)類型的向量,此時其所有成員均是指定本地類的實例。接口本身可以繼承其它接口,也支持多繼承,即可以將多個接口定義為自己的父接口。 }。TDL語言是對IDL語言的擴展,TDL保留了部分IDL的基本數(shù)據(jù)類型作為自己的基本數(shù)據(jù)類型。RCP為終端用戶提供了基于本地操作系統(tǒng)的豐富的圖形用戶接口(GUI)使用體驗,可以很容易地實現(xiàn)剪切、復(fù)制、拖放等操作,也能高效進(jìn)行業(yè)務(wù)邏輯處理。瘦客戶端應(yīng)用程序無法滿足用戶要求,RCP又成為流行的開發(fā)模式,它針對瘦客戶端“表現(xiàn)層邏輯居于服務(wù)器端”的弊端,將服務(wù)端和表現(xiàn)邏輯完全分離,表現(xiàn)邏輯完全由客戶端負(fù)責(zé)[19]。一個最小的RCP應(yīng)用程序只需要java基礎(chǔ)庫類,開發(fā)者可以根據(jù)實際需要選取相應(yīng)插件,例如不使用JFace,或者不基于OSGi,只要能達(dá)到開發(fā)要求即可。對各個平臺下的產(chǎn)品包裝提供有力支持,開發(fā)的RCP可以在嵌入式設(shè)備上運行。無論RCP在哪種操作系統(tǒng)下運行,都可以保持與本機一致的外觀。 本章小結(jié)本章介紹了在后續(xù)開發(fā)中涉及到的相關(guān)知識和技術(shù)——TENA定義語言TDL的基本數(shù)據(jù)類型和元素以及項目開發(fā)框架Eclipse RCP。 文本編輯模塊文本編輯模塊負(fù)責(zé)對TDL文件進(jìn)行編輯,包含以下五個功能:一是:文件的I/O操作,即在一體化模型構(gòu)建工具中打開、關(guān)閉、修改、存儲TDL文件。五是錯誤提示,顯示代碼錯誤信息。 對象模型測試驗證模塊對象模型測試驗證模塊,主要完成對生成的對象模型組件進(jìn)行測試驗證,實現(xiàn)測試代碼自動生成、日志代碼生成、組件單元測試、組件集成測試等功能。16浙江大學(xué)碩士學(xué)位論文 第4章 TDL文本編輯模塊的研究第4章 TDL文本編輯模塊的研究對系統(tǒng)進(jìn)行了總體設(shè)計后,首先開始研究TDL文本編輯模塊,該模塊是TDL一體化模型構(gòu)建系統(tǒng)的基礎(chǔ),用于讀取編輯TDL文件,客戶要求編輯器編輯TDL文件時要像在Eclipse中編輯JAVA文件一樣快捷方便,因此本章先在Eclipse編輯器的基礎(chǔ)上研究TDL文本編輯模塊的工作原理,然后描述生成TDL編輯器的方法。但由于模塊化設(shè)計,文本編輯框架中的許多塊也可以在RCP程序中使用。在VIMT編輯器中,VDLDocumentProVIMTr讀取、保存文件,當(dāng)編輯器讀取TDL文件時,IEditorInput描述文件并將信息傳遞給VDLDocumentProVIMTr,編輯器處理TDL代碼的功能也委托給VDLDocumentProVIMTr,它包含以下幾個主要方法:createDocument:打開硬盤上的TDL文件,創(chuàng)建包含TDL文件內(nèi)容的VDLDocument對象。 語法高亮顯示TDL代碼的語法高亮顯示功能是在TDL文本劃分基礎(chǔ)上實現(xiàn)的,讀取的TDL文件封裝在VDLDocument類中,然后進(jìn)行TDL源碼的遍歷和定位。: TDL語法高亮實現(xiàn)過程 語法錯誤提示語法錯誤提示功能按照TDL語法規(guī)則驗證TDL文件,對不符合語法規(guī)則的地方進(jìn)行標(biāo)識,提示用戶編寫TDL代碼過程中的錯誤。縮進(jìn)策略分為使用制表符(Tab)策略和空格(Space)策略,默認(rèn)使用制表符策略;花括號換行策略默認(rèn)使用緊湊格式的換行策略,在定義類時,花括號總是緊跟類名,不做換行處理。內(nèi)容提示包含兩種:一是關(guān)鍵字的提示和補充,二是對導(dǎo)入TDL文件的提示和補充。隨著用戶輸入更多的字符,列表中匹配的數(shù)目也將減少,用戶能夠更快的選擇需要的導(dǎo)入文件。 XText介紹XText是一種實現(xiàn)編程語言的開源語言開發(fā)框架,它可以為用戶建立一種領(lǐng)域特定語言(DSL)或者通用編程語言(GPL),用戶只需要事先定義好語言的語法規(guī)則,同時還可以創(chuàng)建一個基于該語言的Eclipse精致開發(fā)環(huán)境,比如具有語法高亮、格式美化、代碼提示、自動補充等高級功能的文本編輯器[22]。XText生成語言的編譯組件——語法分析器、代碼格式化程序、編譯檢查和靜態(tài)分析程序以及代碼發(fā)生器和解釋器等,它們可以被移植到任何java環(huán)境中,這些組件與Eclipse模型框架結(jié)合,為自定義語言提供了基礎(chǔ)開發(fā)環(huán)境。 BNF范式和EBNF范式BNF范式即巴科斯范式(BackusNaur Form),是一種用于描述編程語言語法的形式化符號。39。039。239。439。639。839。BNF范式非常精確,用它定義語言不會產(chǎn)生歧義,并且它是數(shù)學(xué)產(chǎn)物,可以被計算機理解,因此它廣泛用于程序設(shè)計語言的語法表示中。下面用EBNF范式重新描述所有數(shù)字:A::= 39。 D+)?D::= 39。 | 39。 | 39。 | 39。 | 39。由此可見,EBNF范式描述語言時比BNF范式更加方便和簡潔,所以在定義計算機編程語言時一般采用EBNF范式,語言的可讀性更強、書寫更簡便,: EBNF的操作符符號說明::=操作符左邊的符號被右邊的符號替代|左右兩邊是可選項操作符中是非終止符‘’操作符中是終止符*左邊的符號可以不出現(xiàn)或者重復(fù)多次+左邊的符號可以重復(fù)一次或者多次{ }所有語法單元是一個整體[ ]語言單元可以不出現(xiàn)或者出現(xiàn)一次 TDL語言的語法規(guī)范根據(jù)EBNF范式的規(guī)則和XText的書寫習(xí)慣來描述TDL語言的語法規(guī)范,由于語法規(guī)范內(nèi)容繁多,下面只列舉一些重要的規(guī)范。Package_decl*。Package_header:39。Package_body:Package_element_list。Package_element:VDO_type_decl|39。||||。ID。,39。Inherit_option39。}39。ID。39。Member_list:member+=Member*。39。Data_member_type:Fundamental_type_name|Qulified_type_name|Qulified_type_name39。Vector_type_decl:39。Vector_member_type39。Data_member_name:ID。39。Member_list39。ID。兩次編譯過程中使用的編譯器分別是由客戶提供的TDL編譯器和VC編譯器,本模塊的工作是對這兩個編譯器進(jìn)行封裝調(diào)用,最后集成到一體化集成平臺上。另外模塊還要集成到一體化集成平臺上。2. :TDL編譯器,由客戶方提供,能精確、快速的完成TDL的編譯工作,將TDL代碼編譯成對象模型框架代碼。此功能包含兩項工作:1. 封裝調(diào)用TDL編譯器(),將TDL文件編譯成C++文件。錯誤信息是編譯過程中產(chǎn)生的所有錯誤的記錄,日志文件記錄了編譯的所有操作情況。在控制臺上,用戶可以看到有多少錯誤,出錯文件,出錯行號,可能導(dǎo)致出錯的原因等信息。: 錯位定位的工作流程 框架代碼編譯框架代碼編譯是將編輯過的對象模型框架代碼編譯生成對象模型組件或可執(zhí)行程序,編譯結(jié)果會生成兩個不同的DLL文件,其中一個是VOM組件代碼經(jīng)編譯后得到的DLL文件,另一個是VOM組件的基本實現(xiàn)經(jīng)過編譯生成的DLL文件。 框架源碼可視化編譯的主要工作就是封裝外部調(diào)用命令、方法,實現(xiàn)編譯的可視化,其方法、原理與TDL可視化編譯類似。我們的工作是對外部程序、外部程序的運行環(huán)境、調(diào)用外部程序的命令進(jìn)行封裝,并最終能集成到一體化集成平臺上,實現(xiàn)編譯過程的一體化和可視化。WaitForOut類監(jiān)視編譯器的輸出,處理編譯器的輸出信息,processInputStream方法對編譯器的輸出信息(字符串)進(jìn)行分行處理。MSBuild類通過調(diào)用工程構(gòu)建系統(tǒng)來完成VC工程的編譯,它的屬性有:環(huán)境變量env、MSBuild工作目錄dir、輸出緩沖區(qū)out、MSBuild文件的絕對路徑path_msbuild_exe、不同狀態(tài)回調(diào)函數(shù)接口status、原始輸出數(shù)據(jù)rawOut。 本章小結(jié)本章描述了框架代碼生成與編譯模塊的詳細(xì)功能,對TDL編譯器和VC編譯器的封裝調(diào)用方法進(jìn)行了概要設(shè)計和詳細(xì)設(shè)計,為功能模塊的實現(xiàn)奠定了基礎(chǔ)。 一體化集成平臺概述基于TDL的一體化模型構(gòu)建工具(VIMT)本質(zhì)是一個包含文本編輯、框架代碼生成和編譯、可視化建模和模型測試功能的外部運行程序。 一體化集成平臺的設(shè)計一體化集成平臺主要是集成文本編輯、可視化建模、框架代碼生成和編譯和模塊驗證等四個功能模塊實現(xiàn)可視化操作,下面主要分析一體化集成平臺的三個主要功能:項目生成與管理功能、可視化文本編輯功能和可視化編譯功能。工程資源管理器是工程項目的所有資源集合與分類,由于工程項目中文件的種類較多,比如VDL源文件、VDL可視化模型文件、CPP文件和頭文件、VOM組件,而且這些文件轉(zhuǎn)換過程設(shè)計到兩種編譯器,運行環(huán)境需要多種中間件的支持,項目十分復(fù)雜,所以必須多各種資源分類處理。該拓展項選定前面的views的項目資源管理器視圖,將IResource數(shù)據(jù)模型與該視圖結(jié)合,并提供ContentProvider類(內(nèi)容提供器)和LabProvider 類(標(biāo)簽提供器)來組織顯示視圖中的資源內(nèi)容。 輸入數(shù)據(jù)與輸出數(shù)據(jù)此模塊的輸入數(shù)據(jù)是VIMT中各種向?qū)υ捒颍ū热纾篘ewWizard、ImportWizard等)的生成結(jié)果(包括VDL文件、圖片文件、文件夾等),輸出數(shù)據(jù)是資源管理視圖和編輯器的內(nèi)容呈現(xiàn)。工程資源管理器TDL一體化建模工具應(yīng)用程序的工程資源管理器由ProjectExplorer類實現(xiàn),它繼承ViewPart類,實現(xiàn)Observer接口,控制了TDL工程項目所有資源的集合與分類。setFocus用于設(shè)置工程資源管理器為工作臺的焦點,該方法無參數(shù)無返回值。makeActions用于定義工程資源管理器視圖的相關(guān)操作,如新建、打開、刪除等,無參數(shù)無返回值。它有三個方法:TreeObject(String name)是TreeObject類的構(gòu)造器之一,初始化name屬性。創(chuàng)建項目工程項目工程的創(chuàng)建過程由以下幾個工程向?qū)ь悓崿F(xiàn):NewProjectWizard、NewProjectWizardPage、NewVDLClassWizard 、NewVDLClassWizardPage、NewVDLFileWizard、NewVDLFileWizardPage。它包含四個方法,分別是: init、performFinish、addPages、doFinish。doFinish是向?qū)А巴瓿伞卑粹o的相應(yīng)方法,該方法將會對填寫的配置參數(shù)進(jìn)行處理,創(chuàng)建項目資源,包括工程文件、文件夾、項目文件,然后在編輯器中打開新建的項目文件。修改文本頁源代碼將改變內(nèi)部數(shù)據(jù)模型,這個變化觸發(fā)觀察者模式的監(jiān)視器,將引起可視化建模頁面和圖形化格式頁面的更新。UML編輯頁直接集成MagicDraw中的UML類圖編輯器進(jìn)行可視化建模。 可視化文本編輯功能類圖ApplicationActionBarAdvisor類繼承ActionBarAdvisor類,負(fù)責(zé)創(chuàng)建TDL一體化建模工具程序的菜單欄和工具欄,以及相關(guān)的操作;ProjectExplorer類是整個TDL一體化建模工具應(yīng)用
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1