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

正文內(nèi)容

基于tena定義語(yǔ)言的文本編輯和可視化編譯的研究與實(shí)現(xiàn)碩士畢業(yè)論文(編輯修改稿)

2025-07-16 12:40 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ng字符串octet位組八字節(jié)void操作(方法)的返回值為空 Eclipse RCP框架RCP是基于Eclipse項(xiàng)目推出的一個(gè)開(kāi)發(fā)富客戶端應(yīng)用框架,為開(kāi)發(fā)人員提供了一個(gè)功能強(qiáng)大的、快速的、可擴(kuò)展的應(yīng)用平臺(tái)。 Eclipse RCP概述RCP是Rich Client Platform的縮寫(xiě),指富客戶端應(yīng)用平臺(tái)。RCP為終端用戶提供了基于本地操作系統(tǒng)的豐富的圖形用戶接口(GUI)使用體驗(yàn),可以很容易地實(shí)現(xiàn)剪切、復(fù)制、拖放等操作,也能高效進(jìn)行業(yè)務(wù)邏輯處理。在開(kāi)發(fā)過(guò)程中,由于業(yè)務(wù)邏輯、數(shù)據(jù)處理、系統(tǒng)和用戶界面的高耦合性,系統(tǒng)的重構(gòu)工作越來(lái)越困難,系統(tǒng)的分發(fā)、部署和升級(jí)也非常麻煩,客戶端的一點(diǎn)改動(dòng),需要開(kāi)發(fā)人員在客戶機(jī)上逐一發(fā)布,因此人們提出瘦客戶端(thin client)來(lái)解決這一問(wèn)題。瘦客戶端基于“請(qǐng)求/響應(yīng)”模式,應(yīng)用程序統(tǒng)一部署在服務(wù)端,維護(hù)工作也只需在服務(wù)端進(jìn)行,極大減少了維護(hù)成本,客戶端更是簡(jiǎn)單到只要一個(gè)Web瀏覽器就可以了。但是隨之新問(wèn)題出現(xiàn)了:一是無(wú)法為用戶提供豐富的圖形使用體驗(yàn),可操作性差;二是應(yīng)用程序過(guò)于依賴Web服務(wù)器的性能,在數(shù)據(jù)爆炸的今天,無(wú)法滿足用戶大量高效率的交互性需求;三是基于“請(qǐng)求/響應(yīng)”模式的瘦客戶端應(yīng)用程序需要很高的網(wǎng)絡(luò)能力來(lái)保證交互性能,難以快速響應(yīng)大量業(yè)務(wù)邏輯的處理需求[18]。瘦客戶端應(yīng)用程序無(wú)法滿足用戶要求,RCP又成為流行的開(kāi)發(fā)模式,它針對(duì)瘦客戶端“表現(xiàn)層邏輯居于服務(wù)器端”的弊端,將服務(wù)端和表現(xiàn)邏輯完全分離,表現(xiàn)邏輯完全由客戶端負(fù)責(zé)[19]。增加了新內(nèi)涵的RCP不僅可以給用戶提供豐富的圖形用戶界面,還滿足用戶的智能更新、可擴(kuò)展、跨平臺(tái)等要求。 Eclipse RCP體系結(jié)構(gòu)RCP應(yīng)用程序?qū)嶋H上是插件和運(yùn)行時(shí)內(nèi)核的組合。 RCP的體系結(jié)構(gòu)核心平臺(tái)工作原理:運(yùn)行Eclipse,運(yùn)行插件;OSGi是標(biāo)準(zhǔn)集束框架;JFace支持文件處理、緩沖、編輯;SWT是可移植構(gòu)件工具包[19]。一個(gè)最小的RCP應(yīng)用程序只需要java基礎(chǔ)庫(kù)類,開(kāi)發(fā)者可以根據(jù)實(shí)際需要選取相應(yīng)插件,例如不使用JFace,或者不基于OSGi,只要能達(dá)到開(kāi)發(fā)要求即可。 Eclipse RCP的優(yōu)點(diǎn)和應(yīng)用Eclipse RCP越來(lái)越受到用戶的青睞,因?yàn)樗哂幸韵聝?yōu)點(diǎn):1. 組件化。基于Eclipse的系統(tǒng)設(shè)計(jì)由插件構(gòu)成,可以通過(guò)擴(kuò)展點(diǎn)進(jìn)行配置。2. 便利性。對(duì)各個(gè)平臺(tái)下的產(chǎn)品包裝提供有力支持,開(kāi)發(fā)的RCP可以在嵌入式設(shè)備上運(yùn)行。3. 可擴(kuò)展。用戶可以搭建各種規(guī)模、類型和用途的應(yīng)用程序。4. 本地感觀和使用體驗(yàn)。無(wú)論RCP在哪種操作系統(tǒng)下運(yùn)行,都可以保持與本機(jī)一致的外觀。5. 脫機(jī)操作。RCP在本機(jī)運(yùn)行,不需要網(wǎng)絡(luò)連接,可以充分利用本機(jī)硬件的處理能力進(jìn)行大量數(shù)據(jù)處理。Eclipse RCP在國(guó)內(nèi)得到了廣泛應(yīng)用,比如NASA的火星探測(cè)計(jì)劃、IBM Workplace開(kāi)發(fā)平臺(tái)等,國(guó)內(nèi)電信、金融、醫(yī)療領(lǐng)域也越來(lái)越多的使用Eclipse RCP來(lái)開(kāi)發(fā)系統(tǒng)[20][21]。 本章小結(jié)本章介紹了在后續(xù)開(kāi)發(fā)中涉及到的相關(guān)知識(shí)和技術(shù)——TENA定義語(yǔ)言TDL的基本數(shù)據(jù)類型和元素以及項(xiàng)目開(kāi)發(fā)框架Eclipse RCP。12浙江大學(xué)碩士學(xué)位論文 第3章系統(tǒng)總體設(shè)計(jì)第3章 系統(tǒng)總體設(shè)計(jì)在進(jìn)行設(shè)計(jì)開(kāi)發(fā)工作之前,首先要對(duì)用戶提出的需求進(jìn)行梳理分析,確定系統(tǒng)要實(shí)現(xiàn)的功能,然后對(duì)系統(tǒng)進(jìn)行模塊化劃分,將系統(tǒng)功能分成各個(gè)功能模塊,確定各個(gè)功能模塊要實(shí)現(xiàn)的功能,分模塊進(jìn)行開(kāi)發(fā),最后再將各個(gè)功能模塊集成為一體化模型構(gòu)建工具,這是項(xiàng)目的工作思路,下面描述系統(tǒng)的總體分析設(shè)計(jì)。 總體設(shè)計(jì)基于TDL的一體化模型構(gòu)建工具(VIMT)以Eclipse核心框架為基礎(chǔ),采用Eclipse RCP技術(shù)框架,結(jié)合開(kāi)源軟件作為底層支持平臺(tái),滿足客戶文本編輯、可視化建模、多格式模型文件轉(zhuǎn)換、TDL編譯、TDL到C++框架源碼的映射、框架代碼編譯、組件的單元與集成測(cè)試、測(cè)試框架代碼自動(dòng)生成、一體化集成等需求,實(shí)現(xiàn)可視化、一體化操作,性能穩(wěn)定、操作簡(jiǎn)單、界面友好。: 軟件總體框架圖 功能模塊劃分一體化模型構(gòu)建工具可以劃分了五個(gè)功能模塊:文本編輯模塊、可視化建模模塊、可視化框架代碼生成與編譯模塊、對(duì)象模型測(cè)試驗(yàn)證模塊和一體化集成平臺(tái)。 文本編輯模塊文本編輯模塊負(fù)責(zé)對(duì)TDL文件進(jìn)行編輯,包含以下五個(gè)功能:一是:文件的I/O操作,即在一體化模型構(gòu)建工具中打開(kāi)、關(guān)閉、修改、存儲(chǔ)TDL文件。二是語(yǔ)法高亮顯示,即對(duì)代碼中的關(guān)鍵字進(jìn)行辨認(rèn),用不同的顏色和字體來(lái)顯示,比如:以高亮顯示變量名,用灰色顯示注釋,這一功能增加了代碼的可讀性。三是格式美化,修正代碼的錯(cuò)誤縮進(jìn),將代碼格式化顯示,形成統(tǒng)一的代碼風(fēng)格,增加代碼的閱讀效率。四是自動(dòng)補(bǔ)充,在鍵入TDL代碼時(shí),對(duì)后續(xù)代碼自動(dòng)提示。五是錯(cuò)誤提示,顯示代碼錯(cuò)誤信息。 可視化建模模塊可視化建模模塊,提供圖像化建模方式,支持TDL元素可視化表示和TDL可視化生成向?qū)ВС諸DL、UML、圖形化格式的多格式模型文件以及相關(guān)的導(dǎo)入導(dǎo)出,支持TDL到UML、UML到TDL的雙向映射,也支持模型文件的布局優(yōu)化、元素顏色區(qū)分和層次化展示。 可視化建模模塊的子模塊劃分 可視化框架代碼生成與編譯模塊框架代碼生成與編譯模塊主要有兩部分工作:第一部分是完成TDL文件的編譯,并生成對(duì)象模型框架代碼和對(duì)象模型實(shí)現(xiàn)接口框架代碼,這一過(guò)程通過(guò)調(diào)用客戶提供的TDL編譯器來(lái)實(shí)現(xiàn),還要對(duì)生成的框架代碼進(jìn)行查看編輯,提供編譯錯(cuò)誤實(shí)時(shí)顯示和錯(cuò)誤定位功能。第二部分是針對(duì)上一部分編譯生成的框架代碼,調(diào)用VC編譯器進(jìn)行編譯,生成對(duì)象模型框架組件(DLL)。 對(duì)象模型測(cè)試驗(yàn)證模塊對(duì)象模型測(cè)試驗(yàn)證模塊,主要完成對(duì)生成的對(duì)象模型組件進(jìn)行測(cè)試驗(yàn)證,實(shí)現(xiàn)測(cè)試代碼自動(dòng)生成、日志代碼生成、組件單元測(cè)試、組件集成測(cè)試等功能。測(cè)試代碼自動(dòng)生成通過(guò)代碼模版實(shí)現(xiàn);日志代碼生成是在Class、Local Class、Message定義的方法中注入日志代碼,記錄方法執(zhí)行軌跡;組件單元測(cè)試通過(guò)CppUnit單元測(cè)試框架完成完成,需要將CppUnit集成到一體化模型構(gòu)建工具中。 一體化集成平臺(tái)利用Eclipse RCP框架來(lái)開(kāi)發(fā),采用模塊化集成方式和eclipse插件機(jī)制,構(gòu)建本系統(tǒng)的一體化集成平臺(tái)(VIMT),上述四個(gè)功能模塊都要集成到一體化集成平臺(tái)上,形成一體化模型構(gòu)建工具軟件。 本章小結(jié)本章介紹了系統(tǒng)的總體設(shè)計(jì),根據(jù)客戶需求完成的系統(tǒng)總體設(shè)計(jì),將系統(tǒng)劃分為五個(gè)模塊:文本編輯、可視化建模、框架代碼生成與編譯、對(duì)象模型測(cè)試和一體化平臺(tái)。16浙江大學(xué)碩士學(xué)位論文 第4章 TDL文本編輯模塊的研究第4章 TDL文本編輯模塊的研究對(duì)系統(tǒng)進(jìn)行了總體設(shè)計(jì)后,首先開(kāi)始研究TDL文本編輯模塊,該模塊是TDL一體化模型構(gòu)建系統(tǒng)的基礎(chǔ),用于讀取編輯TDL文件,客戶要求編輯器編輯TDL文件時(shí)要像在Eclipse中編輯JAVA文件一樣快捷方便,因此本章先在Eclipse編輯器的基礎(chǔ)上研究TDL文本編輯模塊的工作原理,然后描述生成TDL編輯器的方法。 功能介紹,TDL文本編輯模塊包含五個(gè)子功能:文本操作(打開(kāi)、關(guān)閉、修改、存儲(chǔ))、語(yǔ)法高亮顯示、語(yǔ)法錯(cuò)誤提示、格式美化、文本快捷提示和自動(dòng)補(bǔ)充。 文本編輯模塊子功能劃分 文本編輯模塊的工作原理文本編輯模塊由Eclipse RCP開(kāi)發(fā)平臺(tái)中的編輯器來(lái)實(shí)現(xiàn),Eclipse文本框架是由幾個(gè)小插件來(lái)實(shí)現(xiàn)的,它們實(shí)現(xiàn)了模塊化和封裝功能,這樣可以允許文本模型重用而不依賴于文本的顯示。,它是Eclipse IDE產(chǎn)品,不是RCP的一部分。但由于模塊化設(shè)計(jì),文本編輯框架中的許多塊也可以在RCP程序中使用。 TDL的I/O操作VIMT編輯器的I/O操作流程:打開(kāi)TDL文件,鍵入和修改TDL源代碼,編輯完成后,對(duì)其進(jìn)行保存,然后關(guān)閉編輯器。: Eclipse編輯器的框架結(jié)構(gòu)Eclipse平臺(tái)編輯器編輯的前提是對(duì)目標(biāo)文檔的切割,在編輯器打開(kāi)文檔時(shí)就調(diào)用分割器對(duì)文檔進(jìn)行切割,分割信息保存在Editor中,IDocument類是很重要的類,分割器的設(shè)置就是通過(guò)IDocument類中createDocument()方法進(jìn)行的,并且編輯的內(nèi)容由IDocument來(lái)封裝,它是文本遍歷和定位的基礎(chǔ)。我們將在此基礎(chǔ)上實(shí)現(xiàn)VIMT中的TDL編輯器,Eclipse平臺(tái)編輯器的文本編輯功能由AbstractTextEditor提供,IDocumentProVIMTr實(shí)現(xiàn)讀取和保存文件功能。在VIMT編輯器中,VDLDocumentProVIMTr讀取、保存文件,當(dāng)編輯器讀取TDL文件時(shí),IEditorInput描述文件并將信息傳遞給VDLDocumentProVIMTr,編輯器處理TDL代碼的功能也委托給VDLDocumentProVIMTr,它包含以下幾個(gè)主要方法:createDocument:打開(kāi)硬盤(pán)上的TDL文件,創(chuàng)建包含TDL文件內(nèi)容的VDLDocument對(duì)象。doSaveDocument:將TDL文件保存在磁盤(pán)上。isModifiable:決定用戶是否可以編輯文檔。isReadOnly:決定文檔是否能夠被保存。 語(yǔ)法高亮顯示TDL代碼的語(yǔ)法高亮顯示功能是在TDL文本劃分基礎(chǔ)上實(shí)現(xiàn)的,讀取的TDL文件封裝在VDLDocument類中,然后進(jìn)行TDL源碼的遍歷和定位。它的工作原理是:首先按照TDL語(yǔ)法規(guī)則形成TDL掃描器的掃描規(guī)則,當(dāng)編輯器打開(kāi)一個(gè)TDL文件時(shí),TDL編輯器會(huì)按照定義的TDL掃描器掃描規(guī)則對(duì)TDL文本進(jìn)行完全掃描,并且對(duì)掃描信息進(jìn)行分割形成不同內(nèi)容完全獨(dú)立的文本塊。在顯示TDL文件時(shí),調(diào)用掃描器中的evaluate方法,返回IToken對(duì)象,然后對(duì)不同IToken對(duì)象按不同的顏色顯示其內(nèi)容,比如關(guān)鍵字顯示顏色為藍(lán)色,字符串顯示為綠色,標(biāo)識(shí)符顯示為黑色。這些顯示顏色可以在程序中進(jìn)行設(shè)置。: TDL語(yǔ)法高亮實(shí)現(xiàn)過(guò)程 語(yǔ)法錯(cuò)誤提示語(yǔ)法錯(cuò)誤提示功能按照TDL語(yǔ)法規(guī)則驗(yàn)證TDL文件,對(duì)不符合語(yǔ)法規(guī)則的地方進(jìn)行標(biāo)識(shí),提示用戶編寫(xiě)TDL代碼過(guò)程中的錯(cuò)誤。根據(jù)TDL的語(yǔ)法規(guī)則,解析文檔的時(shí)候?qū)﹀e(cuò)誤進(jìn)行標(biāo)識(shí),用哈希表收集和定位所有的TDL錯(cuò)誤,然后進(jìn)行TDL驗(yàn)證和標(biāo)記,這個(gè)工作在TDL編輯時(shí)會(huì)實(shí)時(shí)進(jìn)行,解析TDL文件的時(shí)候如果發(fā)現(xiàn)錯(cuò)誤調(diào)用錯(cuò)誤處理方法在錯(cuò)誤的位置進(jìn)行標(biāo)識(shí),顯示出警告或者錯(cuò)誤標(biāo)記。 格式美化格式美化就是按照特定規(guī)則對(duì)TDL文本重新排版,形成統(tǒng)一格式,使代碼更具有可讀性,顯示更為美觀。在實(shí)現(xiàn)格式化之前要選定格式化策略,不同的格式化策略體現(xiàn)不同的編程風(fēng)格??s進(jìn)策略分為使用制表符(Tab)策略和空格(Space)策略,默認(rèn)使用制表符策略;花括號(hào)換行策略默認(rèn)使用緊湊格式的換行策略,在定義類時(shí),花括號(hào)總是緊跟類名,不做換行處理。這些策略可以在系統(tǒng)選項(xiàng)中進(jìn)行設(shè)置。VIMT編輯器根據(jù)TDL語(yǔ)法規(guī)則解析整個(gè)TDL文件得到語(yǔ)法樹(shù),遍歷語(yǔ)法樹(shù),將每一個(gè)元素保存到字符串中,每一行的縮進(jìn)以及空格根據(jù)已有的格式化策略對(duì)文件進(jìn)行排列,最后將該字符串重新輸出到編輯器中,實(shí)現(xiàn)內(nèi)容格式美化功能。 快捷提示和自動(dòng)補(bǔ)充當(dāng)用戶編輯TDL文本時(shí),根據(jù)已經(jīng)輸入的部分信息可以給出后續(xù)內(nèi)容的多種提示,根據(jù)用戶的選擇,自動(dòng)補(bǔ)充完整。內(nèi)容提示包含兩種:一是關(guān)鍵字的提示和補(bǔ)充,二是對(duì)導(dǎo)入TDL文件的提示和補(bǔ)充。,在編輯器中新建一個(gè)內(nèi)容輔助類,該內(nèi)容輔助類監(jiān)聽(tīng)TDL文本代碼的變化。當(dāng)監(jiān)聽(tīng)到TDL文本內(nèi)容發(fā)生變化時(shí),內(nèi)容輔助類首先獲取最后鍵入的Token,在預(yù)存的關(guān)鍵字列表中進(jìn)行字符串匹配,彈出匹配的字符串列表框供用戶選擇,用戶選擇需要的關(guān)鍵字,內(nèi)容輔助類補(bǔ)全該關(guān)鍵字。當(dāng)檢測(cè)到匹配的字符串為import時(shí),VIMT文本編輯器讀取TDL庫(kù)(目錄)文件列表,將庫(kù)中所有的TDL文件列出來(lái),用戶選擇要導(dǎo)入的TDL文件,補(bǔ)全import導(dǎo)入。隨著用戶輸入更多的字符,列表中匹配的數(shù)目也將減少,用戶能夠更快的選擇需要的導(dǎo)入文件。 VIMT快捷提示和自動(dòng)補(bǔ)充工作流程 文本編輯器的生成方法了解了文本編輯器的工作原理后,開(kāi)始著手實(shí)現(xiàn)這一模塊。如果完全靠編碼實(shí)現(xiàn),工作及其繁雜而且很難短期完成,所有必須另辟蹊徑利用其它工具輔助完成。很幸運(yùn)我找到了這樣一個(gè)開(kāi)源工具——XText,它能幫助實(shí)現(xiàn)TDL語(yǔ)言的文本編輯器,我需要做的就是研究TDL語(yǔ)言的語(yǔ)法定義。 XText介紹XText是一種實(shí)現(xiàn)編程語(yǔ)言的開(kāi)源語(yǔ)言開(kāi)發(fā)框架,它可以為用戶建立一種領(lǐng)域特定語(yǔ)言(DSL)或者通用編程語(yǔ)言(GPL),用戶只需要事先定義好語(yǔ)言的語(yǔ)法規(guī)則,同時(shí)還可以創(chuàng)建一個(gè)基于該語(yǔ)言的Eclipse精致開(kāi)發(fā)環(huán)境,比如具有語(yǔ)法高亮、格式美化、代碼提示、自動(dòng)補(bǔ)充等高級(jí)功能的文本編輯器[22]。編輯自定義語(yǔ)言和編輯java代碼時(shí)效果一樣,只是語(yǔ)法、關(guān)鍵字和結(jié)構(gòu)不同。XText在許多領(lǐng)域有著廣泛應(yīng)用。 XText的工作原理XText提供一組領(lǐng)域特定語(yǔ)言和模型的編程接口,用于描述自定義語(yǔ)言的語(yǔ)法規(guī)則,然后在java虛擬機(jī)(JVM)上實(shí)現(xiàn)自定義語(yǔ)言。XText生成語(yǔ)言的編譯組件——語(yǔ)法分析器、代碼格式化程序、編譯檢查和靜態(tài)分析程序以及代碼發(fā)生器和解釋器等,它們可以被移植到任何java環(huán)境中,這些組件與Eclipse模型框架結(jié)合,為自定義語(yǔ)言提供了基礎(chǔ)開(kāi)發(fā)環(huán)境。 領(lǐng)域特定語(yǔ)言DSL是應(yīng)用與某一特定領(lǐng)域的小型計(jì)算機(jī)編程語(yǔ)言,比如TENA定義的TDL語(yǔ)言,它們專注于解決某個(gè)具體問(wèn)題,功能強(qiáng)大。與之相對(duì)應(yīng)的是通用語(yǔ)言(GPL:General purpose Language),比如java開(kāi)發(fā)語(yǔ)言、C/C++語(yǔ)言,它們應(yīng)用的范圍更為廣泛,可以解決許多問(wèn)題,但不一定是最好的方式。 TDL的語(yǔ)法定義下面采用BNF范式和EBNF范式來(lái)描述TDL語(yǔ)言。 BNF范式和EBNF范式BNF范式即巴科斯范式(BackusNaur Form),是一種用于描述編程語(yǔ)言語(yǔ)法的形式化符號(hào)。BNF范式定義的語(yǔ)言是一個(gè)字符串集合,它們的書(shū)寫(xiě)規(guī)則如下:symbol::=alternative1|alternative2…它的意思是左邊的符號(hào)(symbol)被右邊的兩個(gè)可選符號(hào)中的任意一個(gè)替代,然后以遞歸的方式描述右邊的符
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1