[發(fā)明專利]一種將TTCN-3腳本轉(zhuǎn)換為Java源代碼的方法,裝置和系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201210400741.X | 申請(qǐng)日: | 2012-10-19 |
| 公開(公告)號(hào): | CN102929680A | 公開(公告)日: | 2013-02-13 |
| 發(fā)明(設(shè)計(jì))人: | 周毅;鄒志斌;李璐璐;冉正 | 申請(qǐng)(專利權(quán))人: | 普華基礎(chǔ)軟件股份有限公司 |
| 主分類號(hào): | G06F9/45 | 分類號(hào): | G06F9/45 |
| 代理公司: | 北京同輝知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11357 | 代理人: | 王道川 |
| 地址: | 200233 上*** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 ttcn 腳本 轉(zhuǎn)換 java 源代碼 方法 裝置 系統(tǒng) | ||
1.一種將TTCN-3腳本轉(zhuǎn)換為Java源代碼的方法,其特征在于,包括:
構(gòu)建所述TTCN-3腳本的翻譯器;
所述翻譯器將所述TTCN-3腳本按照預(yù)定義的翻譯規(guī)則進(jìn)行翻譯,轉(zhuǎn)換所述成Java源代碼;
結(jié)合所述翻譯規(guī)則,構(gòu)建運(yùn)行所述Java源代碼所需的支持庫(kù);所述支持庫(kù)實(shí)現(xiàn)翻譯中引用到的基礎(chǔ)類;
配置所述Java源代碼的執(zhí)行入口,獲取所述Java源代碼的可執(zhí)行文件。
2.根據(jù)權(quán)利要求1所述的方法,所述翻譯器將所述TTCN-3腳本按照預(yù)定義的翻譯規(guī)則進(jìn)行翻譯,轉(zhuǎn)換成所述Java源代碼包括對(duì)所述TTCN-3腳本進(jìn)行詞法分析和語(yǔ)法分析,所述詞法分析和語(yǔ)法分析進(jìn)一步包括以下步驟:
校驗(yàn)和修正所述TTCN-3腳本中詞法和語(yǔ)法的錯(cuò)誤,分析詞法和語(yǔ)法結(jié)構(gòu),生成語(yǔ)法樹;
對(duì)所述語(yǔ)法樹進(jìn)行掃描,進(jìn)行語(yǔ)義分析;
掃描經(jīng)過(guò)所述語(yǔ)義分析的所述語(yǔ)法樹,生成相應(yīng)的所述Java源代碼。
3.根據(jù)權(quán)利要求2所述的方法,所述翻譯器進(jìn)一步包括步驟:記錄所述TTCN-3腳本的文件代碼中的符號(hào),提供符號(hào)表的檢索、引入操作。
4.根據(jù)權(quán)利要求3所述的方法,所述語(yǔ)義分析需要進(jìn)行符號(hào)查找訪問(wèn)操作,為保證查找到的符號(hào)來(lái)自于正確的作用域;當(dāng)進(jìn)入一個(gè)新的符號(hào)作用域時(shí)建立一個(gè)新的作用域?qū)ο螅⒃O(shè)置為當(dāng)前的作用域;在退出所述當(dāng)前的作用域或是所述新的作用域之前,所有新加入的符號(hào)將會(huì)以雙向鏈表的形式組織起來(lái),并且如果新加入的符號(hào)名存在哈希沖突或是同名時(shí),新加入的符號(hào)將會(huì)覆蓋以前的符號(hào)。
5.根據(jù)權(quán)利要求2所述的方法,所述語(yǔ)義分析包括對(duì)所述TTCN-3腳本中的代碼進(jìn)行語(yǔ)義檢查,關(guān)聯(lián)所述TTCN-3腳本中的代碼中的符號(hào),存儲(chǔ)生成Java源代碼所需要的信息,為生成所述Java源代碼做準(zhǔn)備。
6.根據(jù)權(quán)利要求3或4所述的方法,翻譯器對(duì)所述TTCN-3腳本進(jìn)行所述詞法分析以及語(yǔ)法分析是借助于JavaCC以及JJTree工具,通過(guò)編寫符合BNF范式的文件來(lái)實(shí)現(xiàn),所述BNF范式可根據(jù)需求進(jìn)行剪裁。
7.根據(jù)權(quán)利要求5所述的方法,所述語(yǔ)義分析按照順序執(zhí)行:對(duì)于輸入所述TTCN-3腳本的模塊A,首先判斷A是否已經(jīng)被分析過(guò);若是則結(jié)束對(duì)A的語(yǔ)義分析,若否則檢查A中存在的每一個(gè)可能的引入B;若B被分析過(guò),則將B中所有的所有符號(hào)引入到當(dāng)前模塊的符號(hào)表中;若B未被分析過(guò),則先對(duì)B進(jìn)行語(yǔ)義分析,再將B中所有的所有符號(hào)引入到當(dāng)前模塊的符號(hào)表中;當(dāng)對(duì)A中存在的每一個(gè)可能的引入B檢測(cè)完畢后,在對(duì)A進(jìn)行語(yǔ)義分析,并標(biāo)識(shí)A為分析過(guò),結(jié)束對(duì)A的語(yǔ)義分析。
8.一種將TTCN-3腳本轉(zhuǎn)換為Java源代碼的裝置,其特征在于,包括:
翻譯器構(gòu)建模塊,構(gòu)建TTCN-3腳本的翻譯器;
翻譯器,所述翻譯器將所述TTCN-3腳本按照預(yù)定義的翻譯規(guī)則進(jìn)行翻譯,轉(zhuǎn)換成Java源代碼;
支持庫(kù)構(gòu)建模塊,結(jié)合所述翻譯規(guī)則,構(gòu)建運(yùn)行Java源代碼所需的支持庫(kù);
支持庫(kù),所述支持庫(kù)實(shí)現(xiàn)翻譯中引用到的基礎(chǔ)類;
配置編譯模塊,配置Java源代碼的執(zhí)行入口,獲取Java源代碼的可執(zhí)行文件。
9.根據(jù)權(quán)利要求8所述的裝置,所述翻譯器進(jìn)一步包括對(duì)TTCN-3腳本進(jìn)行詞法分析和語(yǔ)法分析的分析模塊,所述進(jìn)行詞法分析和語(yǔ)法分析的分析模塊包括:
詞法語(yǔ)法解析模塊,校驗(yàn)和修正所述TTCN-3腳本中詞法和語(yǔ)法的錯(cuò)誤,分析詞法和語(yǔ)法結(jié)構(gòu),生成語(yǔ)法樹;
語(yǔ)義分析模塊,對(duì)所述語(yǔ)法樹進(jìn)行掃描,進(jìn)行語(yǔ)義分析;
代碼生成模塊,掃描經(jīng)過(guò)語(yǔ)義分析的語(yǔ)法樹,生成相應(yīng)的Java源代碼。
10.根據(jù)權(quán)利要求9所述的裝置,所述翻譯器進(jìn)一步包括符號(hào)表模塊,記錄TTCN-3腳本的文件代碼中的符號(hào),提供符號(hào)表的檢索、引入操作。
11.根據(jù)權(quán)利要求10所述的方法,所述語(yǔ)義分析需要進(jìn)行符號(hào)查找訪問(wèn)操作,為保證查找到的符號(hào)來(lái)自于正確的作用域;當(dāng)進(jìn)入一個(gè)新的符號(hào)作用域時(shí)建立一個(gè)新的作用域?qū)ο?,并設(shè)置為當(dāng)前的作用域;在退出所述當(dāng)前的作用域或是所述新的作用域之前,所有新加入的符號(hào)將會(huì)以雙向鏈表的形式組織起來(lái),并且如果新加入的符號(hào)名存在哈希沖突或是同名時(shí),新加入的符號(hào)將會(huì)覆蓋以前的符號(hào)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于普華基礎(chǔ)軟件股份有限公司,未經(jīng)普華基礎(chǔ)軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210400741.X/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 基于C++映射的TTCN-3測(cè)試系統(tǒng)及測(cè)試方法
- TTCN-3語(yǔ)言的編譯執(zhí)行方法及系統(tǒng)
- 一種TTCN語(yǔ)言與數(shù)據(jù)描述語(yǔ)言的集成方法
- 用于反應(yīng)式系統(tǒng)測(cè)試的編解碼系統(tǒng)及其編解碼器
- 一種進(jìn)行測(cè)試的方法和設(shè)備
- 一種將TTCN-3腳本轉(zhuǎn)換為Java源代碼的方法,裝置和系統(tǒng)
- 基于System Verilog對(duì)TTCN-3進(jìn)行編譯的方法及系統(tǒng)
- 基于TTCN?3對(duì)TETRA終端進(jìn)行測(cè)試的方法和裝置
- 一種基于TTCN-3測(cè)試系統(tǒng)的MVB協(xié)議一致性測(cè)試編解碼器
- 蜂窩通信終端協(xié)議棧TTCN軟件測(cè)試系統(tǒng)
- 腳本處理方法及裝置
- 一種實(shí)現(xiàn)腳本引擎的系統(tǒng)及方法
- 代理自動(dòng)配置腳本的處理方法及代理自動(dòng)配置腳本服務(wù)器
- 一種腳本執(zhí)行方法、裝置及計(jì)算設(shè)備
- 腳本轉(zhuǎn)換方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 性能測(cè)試平臺(tái)腳本存儲(chǔ)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種實(shí)現(xiàn)測(cè)試腳本驗(yàn)證的方法及系統(tǒng)
- 結(jié)構(gòu)化查詢語(yǔ)言腳本審查方法及相關(guān)設(shè)備
- 基于FitNesse框架的數(shù)據(jù)驅(qū)動(dòng)腳本庫(kù)的方法、系統(tǒng)及介質(zhì)
- 一種腳本審計(jì)方法、裝置、設(shè)備及存儲(chǔ)介質(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)換模塊
- 基于支持類的標(biāo)識(shí)來(lái)下載Java應(yīng)用的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品
- 啟動(dòng)JAVA應(yīng)用的方法及裝置
- Java虛擬機(jī)的管理方法、監(jiān)控系統(tǒng)和監(jiān)控代理模塊
- 一種運(yùn)行Java程序的方法和裝置
- 一種保護(hù)java程序的方法
- Java卡的Java代碼補(bǔ)丁方法
- 一種基于中間件架構(gòu)下java棧的多線程實(shí)現(xiàn)方法
- 一種支持JAVA卡補(bǔ)丁函數(shù)的智能卡
- 一種改進(jìn)的Java卡初始化方法和Java卡
- JavaEE平臺(tái)構(gòu)建方法、JavaEE平臺(tái)及云端系統(tǒng)





