[發(fā)明專利]一種將TTCN-3腳本轉(zhuǎn)換為Java源代碼的方法,裝置和系統(tǒng)有效
| 申請?zhí)枺?/td> | 201210400741.X | 申請日: | 2012-10-19 |
| 公開(公告)號: | CN102929680A | 公開(公告)日: | 2013-02-13 |
| 發(fā)明(設(shè)計)人: | 周毅;鄒志斌;李璐璐;冉正 | 申請(專利權(quán))人: | 普華基礎(chǔ)軟件股份有限公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 北京同輝知識產(chǎn)權(quán)代理事務所(普通合伙) 11357 | 代理人: | 王道川 |
| 地址: | 200233 上*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 ttcn 腳本 轉(zhuǎn)換 java 源代碼 方法 裝置 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及到計算機腳本編譯領(lǐng)域,具體涉及一種將TTCN-3腳本轉(zhuǎn)換為Java源代碼的方法和裝置。
背景技術(shù)
TTCN-3(Testing?and?Test?Control?Notation?version?3,測試及測試控制表達法-3),是一種國際標準化的測試準用開發(fā)編程語言,專用于各種測試。典型的應用領(lǐng)域為系統(tǒng)測試、交互性測試、協(xié)議測試、業(yè)務測試、服務測試、模塊測試等。例如,可以通過TTCN-3進行移動和互聯(lián)網(wǎng)協(xié)議測試,基于平臺的CORBA(Common?Object?Request?Broker?Architecture,公共對象請求代理體系結(jié)構(gòu))測試、API(Applicat?ion?programming?interface應用編程接口,)測試以及用于描述AUTOSAR(汽車開放系統(tǒng)架構(gòu),Automotive?OpenSystems?Architecture)標準的基礎(chǔ)軟件模塊的符合性測試等等。
要運行TTCN-3測試腳本,需要對應的TTCN-3編譯器。通常,編程語言的編譯器是將語言直接翻譯為目標機可執(zhí)行代碼或是目標虛擬機上的可執(zhí)行代碼。但是,TTCN-3編譯器主要采用的實現(xiàn)方法卻是將TTCN-3語言轉(zhuǎn)化為某一類可編譯的高級語言(如Java,C++等),然后再利用第三方編譯器獲取可執(zhí)行文件。這種方式雖然犧牲的一定的編譯效率,但是利用已存在的高級語言,可以簡化代碼生成以及后端代碼優(yōu)化工作,極大減小編譯器開發(fā)的難度。
目前已知的編譯器都是商業(yè)編譯器,售價昂貴,雖然功能強大,但是在實際情況中,并不需要編譯器支持完整的TTCN-3語法。例如在AUTOSAR?V4.0附帶的測試腳本里,就并未使用基于消息的通信方式。因此,在語法元素集合相對縮小的情況下,根據(jù)可以根據(jù)被編譯腳本所使用的TTCN-3語法,自己構(gòu)建一套代碼轉(zhuǎn)換方案。由于語法元素僅是完整TTCN-3語言的一個子集,自我設(shè)計的難度和復雜度也會相應減少,基于此方法實現(xiàn)的轉(zhuǎn)換功能具有較高的性價比。
發(fā)明內(nèi)容
本發(fā)明的目的是提供了一種將TTCN-3腳本轉(zhuǎn)換為Java源代碼文件的方法、裝置及系統(tǒng),通過本發(fā)明,能夠保證轉(zhuǎn)換后代碼語義完全符合標準TTCN-3的語義規(guī)定,進一步轉(zhuǎn)換后的Java源代碼能夠直接被Java編譯器編譯為字節(jié)碼。
本發(fā)明公開了將TTCN-3腳本轉(zhuǎn)換為Java源代碼的方法,包括:
構(gòu)建TTCN-3腳本的翻譯器;
所述翻譯器將所述TTCN-3腳本按照預定義的翻譯規(guī)則進行翻譯,轉(zhuǎn)換成Java源代碼;
結(jié)合所述翻譯規(guī)則,構(gòu)建運行Java源代碼所需的支持庫;所述支持庫實現(xiàn)翻譯中引用到的基礎(chǔ)類;
配置Java源代碼的執(zhí)行入口,獲取Java源代碼的可執(zhí)行文件。
優(yōu)選的,所述TTCN-3腳本按照預定義的翻譯規(guī)則進行翻譯,轉(zhuǎn)換成Java源代碼包括對TTCN-3腳本進行詞法分析和語法分析,所述詞法分析和語法分析進一步包括以下步驟:
校驗和修正所述TTCN-3腳本中詞法和語法的錯誤,分析詞法和語法結(jié)構(gòu),生成語法樹;
對語法樹進行掃描,進行語義分析;
掃描經(jīng)過語義分析的語法樹,生成相應的Java源代碼。
優(yōu)選的,所述翻譯器進一步包括步驟:記錄TTCN-3腳本文件代碼中的符號,提供符號表的檢索、引入操作。
此外,所述語義分析包括對TTCN-3腳本中的代碼進行語義檢查,關(guān)聯(lián)所述TTCN-3腳本中的代碼中的符號,存儲生成Java源代碼所需要的信息,為生成Java源代碼做準備。
翻譯器對TTCN-3腳本文件進行詞法分析以及語法分析是借助于JavaCC以及JJTree工具,通過編寫符合BNF范式的文件來實現(xiàn),所述BNF范式可根據(jù)需求進行剪裁。
其中,語義分析按照一定的順序執(zhí)行:對于輸入TTCN-3腳本文件的模塊A,首先判斷A是否已經(jīng)被分析過;若是則結(jié)束對A的語義分析,若否則檢查A中存在的每一個可能的引入B;若B被分析過,則將B中所有的所有符號引入到當前模塊的符號表中;若B未被分析過,則先對B進行語義分析,再將B中所有的所有符號引入到當前模塊的符號表中;當對A中存在的每一個可能的引入B檢測完畢后,在對A進行語義分析,并標識A為分析過,結(jié)束對A的語義分析。
本發(fā)明還公開了一種將TTCN-3腳本轉(zhuǎn)換為Java源代碼的裝置,其特征在于,包括:
翻譯器構(gòu)建模塊,構(gòu)建TTCN-3腳本的翻譯器;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于普華基礎(chǔ)軟件股份有限公司,未經(jīng)普華基礎(chǔ)軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210400741.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于C++映射的TTCN-3測試系統(tǒng)及測試方法
- TTCN-3語言的編譯執(zhí)行方法及系統(tǒng)
- 一種TTCN語言與數(shù)據(jù)描述語言的集成方法
- 用于反應式系統(tǒng)測試的編解碼系統(tǒng)及其編解碼器
- 一種進行測試的方法和設(shè)備
- 一種將TTCN-3腳本轉(zhuǎn)換為Java源代碼的方法,裝置和系統(tǒng)
- 基于System Verilog對TTCN-3進行編譯的方法及系統(tǒng)
- 基于TTCN?3對TETRA終端進行測試的方法和裝置
- 一種基于TTCN-3測試系統(tǒng)的MVB協(xié)議一致性測試編解碼器
- 蜂窩通信終端協(xié)議棧TTCN軟件測試系統(tǒng)
- 腳本處理方法及裝置
- 一種實現(xiàn)腳本引擎的系統(tǒng)及方法
- 代理自動配置腳本的處理方法及代理自動配置腳本服務器
- 一種腳本執(zhí)行方法、裝置及計算設(shè)備
- 腳本轉(zhuǎn)換方法、裝置、計算機設(shè)備及存儲介質(zhì)
- 性能測試平臺腳本存儲方法、裝置、設(shè)備及存儲介質(zhì)
- 一種實現(xiàn)測試腳本驗證的方法及系統(tǒng)
- 結(jié)構(gòu)化查詢語言腳本審查方法及相關(guān)設(shè)備
- 基于FitNesse框架的數(shù)據(jù)驅(qū)動腳本庫的方法、系統(tǒng)及介質(zhì)
- 一種腳本審計方法、裝置、設(shè)備及存儲介質(zhì)
- 圖像轉(zhuǎn)換設(shè)備、圖像轉(zhuǎn)換電路及圖像轉(zhuǎn)換方法
- 數(shù)模轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 轉(zhuǎn)換設(shè)備和轉(zhuǎn)換方法
- 占空比轉(zhuǎn)換電路及轉(zhuǎn)換方法
- 通信轉(zhuǎn)換方法、轉(zhuǎn)換裝置及轉(zhuǎn)換系統(tǒng)
- 模數(shù)轉(zhuǎn)換和模數(shù)轉(zhuǎn)換方法
- 轉(zhuǎn)換模塊以及轉(zhuǎn)換電路
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件和熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊
- 熱電轉(zhuǎn)換材料、熱電轉(zhuǎn)換元件及熱電轉(zhuǎn)換模塊





