[發(fā)明專(zhuān)利]一種軟件源碼語(yǔ)言翻譯系統(tǒng)及方法有效
| 申請(qǐng)?zhí)枺?/td> | 201410376235.0 | 申請(qǐng)日: | 2014-08-03 |
| 公開(kāi)(公告)號(hào): | CN104391730B | 公開(kāi)(公告)日: | 2017-07-11 |
| 發(fā)明(設(shè)計(jì))人: | 楊朝暉;馬滿(mǎn)材;李洋;鄧高超;周波;李善平;孫建伶 | 申請(qǐng)(專(zhuān)利權(quán))人: | 浙江網(wǎng)新恒天軟件有限公司 |
| 主分類(lèi)號(hào): | G06F9/45 | 分類(lèi)號(hào): | G06F9/45;G06F9/44;G06F17/30 |
| 代理公司: | 杭州求是專(zhuān)利事務(wù)所有限公司33200 | 代理人: | 邱啟旺 |
| 地址: | 310012 浙江省杭*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 軟件 源碼 語(yǔ)言 翻譯 系統(tǒng) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)程序語(yǔ)言編譯領(lǐng)域,尤其涉及一種軟件源碼語(yǔ)言翻譯系統(tǒng)及方法。
背景技術(shù)
計(jì)算機(jī)軟件發(fā)展過(guò)程中,開(kāi)發(fā)軟件所用的程序語(yǔ)言不斷更新?lián)Q代。迄今為止軟件領(lǐng)域積累了非常大量的,使用早期程序語(yǔ)言編寫(xiě)的軟件程序。維護(hù)和擴(kuò)展陳舊程序語(yǔ)言編寫(xiě)的軟件效率低下,并且熟練使用這些程序語(yǔ)言的程序員也日益減少。為推進(jìn)業(yè)務(wù)持續(xù)發(fā)展,需要將軟件程序從舊的程序語(yǔ)言翻譯為等價(jià)的新的程序語(yǔ)言的實(shí)現(xiàn)。
程序語(yǔ)言翻譯的過(guò)程繁瑣、內(nèi)容單調(diào)重復(fù)并且容易出錯(cuò),適合借助自動(dòng)化翻譯工具實(shí)施。自動(dòng)化翻譯工具的開(kāi)發(fā)存在以下待解決的問(wèn)題:首先,由于存在翻譯需求的源語(yǔ)言和目標(biāo)語(yǔ)言種類(lèi)繁多,為其中每種組合開(kāi)發(fā)一套自動(dòng)化翻譯工具必然存在功能重復(fù)開(kāi)發(fā)的浪費(fèi)。其次,即使需要翻譯的源語(yǔ)言相同,同樣風(fēng)格的翻譯結(jié)果也不能滿(mǎn)足不同用戶(hù)的對(duì)目標(biāo)語(yǔ)言程序的結(jié)構(gòu)和書(shū)寫(xiě)風(fēng)格的要求。
因此該領(lǐng)域需要解決如下的技術(shù)問(wèn)題:如何在軟件源碼語(yǔ)言翻譯中支持靈活高效地定制所翻譯的源語(yǔ)言和目標(biāo)語(yǔ)言的種類(lèi)和代碼風(fēng)格。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提供一種軟件源碼語(yǔ)言翻譯系統(tǒng)及方法。
本發(fā)明的目的是通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)的:一種軟件源碼語(yǔ)言翻譯系統(tǒng),包括:程序?qū)ο竽P凸芾砟K:用于管理作為翻譯中間產(chǎn)物的程序?qū)ο竽P停瑢?duì)程序?qū)ο竽P偷墓芾戆P偷膭?chuàng)建、存儲(chǔ)、查詢(xún)和修改;其中,所述程序?qū)ο竽P桶ㄕZ(yǔ)法樹(shù)和符號(hào)信息表;對(duì)語(yǔ)法樹(shù)的管理包括創(chuàng)建語(yǔ)法樹(shù)節(jié)點(diǎn),設(shè)置語(yǔ)法樹(shù)節(jié)點(diǎn)屬性,讀取語(yǔ)法樹(shù)節(jié)點(diǎn)屬性,設(shè)置語(yǔ)法樹(shù)節(jié)點(diǎn)間父子關(guān)系,根據(jù)語(yǔ)法樹(shù)節(jié)點(diǎn)間父子關(guān)系遍歷語(yǔ)法樹(shù)節(jié)點(diǎn);對(duì)符號(hào)信息表的管理包括創(chuàng)建基本符號(hào)信息表,創(chuàng)建符號(hào)對(duì)象,刪除符號(hào)對(duì)象,設(shè)置符號(hào)對(duì)象屬性,按符號(hào)名稱(chēng)查詢(xún)基本符號(hào)信息表,設(shè)置基本符號(hào)信息表級(jí)聯(lián)關(guān)系,按符號(hào)名稱(chēng)查詢(xún)級(jí)聯(lián)的符號(hào)信息表,設(shè)置符號(hào)對(duì)象與語(yǔ)法樹(shù)節(jié)點(diǎn)的定義關(guān)聯(lián)和引用關(guān)聯(lián);
轉(zhuǎn)換規(guī)則庫(kù):用于管理源碼解析規(guī)則,模型轉(zhuǎn)換規(guī)則和代碼生成規(guī)則;其中源碼解析規(guī)則,包括程序語(yǔ)法規(guī)則和符號(hào)定義規(guī)則;所述程序語(yǔ)法規(guī)則以EBNF范式的形式描述程序語(yǔ)言中合法的語(yǔ)法單元和層次關(guān)系;所述符號(hào)定義規(guī)則描述語(yǔ)法樹(shù)節(jié)點(diǎn)與符號(hào)對(duì)象的對(duì)應(yīng)關(guān)系;模型轉(zhuǎn)換規(guī)則為<模式部,條件部,動(dòng)作部>三元組形式;其中模式部描述該規(guī)則所能轉(zhuǎn)換的語(yǔ)法樹(shù)節(jié)點(diǎn)類(lèi)型和子樹(shù)結(jié)構(gòu);條件部描述滿(mǎn)足模式的語(yǔ)法樹(shù)子樹(shù)中各節(jié)點(diǎn)屬性需要進(jìn)一步滿(mǎn)足的條件;動(dòng)作部描述模式及條件均滿(mǎn)足時(shí),相應(yīng)生成的新語(yǔ)法樹(shù)子樹(shù),以及對(duì)應(yīng)填入符號(hào)信息表中的符號(hào)對(duì)象;代碼生成規(guī)則為<模式部,目標(biāo)模板部>的二元組形式;其中模式部用于描述指定結(jié)構(gòu)的語(yǔ)法子樹(shù),當(dāng)模式匹配時(shí)提取模式中指定位置的變量;目標(biāo)模板部描述相應(yīng)生成的文本的目標(biāo)代碼模板,在模式部匹配語(yǔ)法子樹(shù)時(shí)提取的變量用于填充模板中的占位符;轉(zhuǎn)換規(guī)則庫(kù)模塊對(duì)規(guī)則的管理包括規(guī)則的創(chuàng)建、刪除、查看、編輯、導(dǎo)入和導(dǎo)出;
源碼解析模塊:分別與轉(zhuǎn)換規(guī)則庫(kù)和程序?qū)ο竽P凸芾砟K相連,用于從轉(zhuǎn)換規(guī)則庫(kù)取得定制的源碼解析規(guī)則并予以執(zhí)行,逐個(gè)解析程序源碼,通過(guò)調(diào)用程序?qū)ο竽P凸芾砟K創(chuàng)建和保存等價(jià)的結(jié)構(gòu)化的程序?qū)ο竽P?;所述解析程序源碼,包括使用詞法解析程序?qū)⒃创a切分為詞法單元,使用語(yǔ)法解析程序分析詞法單元序列表達(dá)的語(yǔ)法結(jié)構(gòu),組織反映語(yǔ)法結(jié)構(gòu)的語(yǔ)法樹(shù),以及遍歷語(yǔ)法樹(shù),從中提取其中的符號(hào)定義和引用信息;
程序?qū)ο竽P娃D(zhuǎn)換引擎:分別與轉(zhuǎn)換規(guī)則庫(kù)和程序?qū)ο竽P凸芾砟K相連,用于從轉(zhuǎn)換規(guī)則庫(kù)取得定制的模型轉(zhuǎn)換規(guī)則并予以執(zhí)行,對(duì)程序?qū)ο竽P蛯?shí)施轉(zhuǎn)換;所述程序?qū)ο竽P偷霓D(zhuǎn)換包括語(yǔ)法樹(shù)的轉(zhuǎn)換和符號(hào)信息表的轉(zhuǎn)換;所述語(yǔ)法樹(shù)的轉(zhuǎn)換是指改變語(yǔ)法樹(shù)的結(jié)構(gòu)和屬性的操作,包括修改語(yǔ)法樹(shù)節(jié)點(diǎn)屬性,修改語(yǔ)法樹(shù)節(jié)點(diǎn)間父子關(guān)系,創(chuàng)建和插入新的語(yǔ)法樹(shù)節(jié)點(diǎn),刪除語(yǔ)法樹(shù)節(jié)點(diǎn);所述符號(hào)信息表的轉(zhuǎn)換是指改變符號(hào)信息表所記錄的符號(hào)信息的操作,包括修改符號(hào)對(duì)象屬性,創(chuàng)建和插入新的符號(hào)對(duì)象,刪除符號(hào)對(duì)象,修改符號(hào)信息表級(jí)聯(lián)關(guān)系;
目標(biāo)語(yǔ)言生成模塊:分別與轉(zhuǎn)換規(guī)則庫(kù)和程序?qū)ο竽P凸芾砟K相連,從轉(zhuǎn)換規(guī)則庫(kù)取得定制的代碼生成規(guī)則并予以執(zhí)行,生成目標(biāo)語(yǔ)言源代碼;該模塊包含目標(biāo)代碼模板引擎和源代碼-目標(biāo)代碼關(guān)聯(lián)模塊;其中,所述目標(biāo)代碼模板引擎根據(jù)代碼生成規(guī)則,從程序?qū)ο竽P偷恼Z(yǔ)法樹(shù)節(jié)點(diǎn)中提取屬性信息,包括讀取語(yǔ)法樹(shù)節(jié)點(diǎn)本身屬性,以及查詢(xún)語(yǔ)法樹(shù)節(jié)點(diǎn)相關(guān)聯(lián)的符號(hào)對(duì)象屬性;所提取屬性信息用于填充指定的代碼模板,生成該語(yǔ)法樹(shù)節(jié)點(diǎn)對(duì)應(yīng)的目標(biāo)代碼;在執(zhí)行代碼生成規(guī)則的同時(shí),源代碼-目標(biāo)代碼關(guān)聯(lián)模塊記錄語(yǔ)法樹(shù)節(jié)點(diǎn)對(duì)應(yīng)的源代碼以及生成的目標(biāo)代碼,用于對(duì)比查看翻譯前后的代碼,使用戶(hù)可以審查源碼翻譯的有效性。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于浙江網(wǎng)新恒天軟件有限公司,未經(jīng)浙江網(wǎng)新恒天軟件有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410376235.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線(xiàn)加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來(lái)擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法
- 坐席資源碼的分配方法和分配系統(tǒng)
- 一種服務(wù)器軟件源碼開(kāi)發(fā)管理方法
- 基于源碼庫(kù)上傳容器鏡像至鏡像倉(cāng)庫(kù)的方法及系統(tǒng)
- 一種漏洞檢測(cè)方法、裝置、服務(wù)器及存儲(chǔ)介質(zhì)
- 商品的溯源碼關(guān)聯(lián)方法及裝置
- 一種基于數(shù)據(jù)可執(zhí)行特征的網(wǎng)頁(yè)后門(mén)檢測(cè)方法與系統(tǒng)
- 文件打包方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 源碼轉(zhuǎn)換方法、裝置、計(jì)算機(jī)設(shè)備及可讀存儲(chǔ)介質(zhì)
- 一種多人模式下修改源碼文件的方法、系統(tǒng)及介質(zhì)
- 一種牲畜胴體表皮溯源碼噴印方法、噴碼機(jī)、溯源碼和服務(wù)器
- 自動(dòng)檢測(cè)文件中搭配錯(cuò)誤的系統(tǒng)和方法
- 網(wǎng)絡(luò)連接裝置及網(wǎng)絡(luò)連接裝置的語(yǔ)言環(huán)境設(shè)定方法
- 一種口語(yǔ)評(píng)測(cè)方法及裝置
- 一種語(yǔ)言設(shè)置方法及移動(dòng)終端
- 一種語(yǔ)言文本加載方法和裝置
- 一種語(yǔ)言交流人工智能系統(tǒng)及其語(yǔ)言處理方法
- 語(yǔ)言序列標(biāo)注方法、裝置存儲(chǔ)介質(zhì)及計(jì)算機(jī)設(shè)備
- 一種基于語(yǔ)言包實(shí)現(xiàn)繼電保護(hù)裝置多語(yǔ)言版本方法及裝置
- 一種應(yīng)用軟件的多語(yǔ)言核對(duì)方法及系統(tǒng)
- 多語(yǔ)言字幕顯示方法、裝置、終端設(shè)備及存儲(chǔ)介質(zhì)
- 一種構(gòu)建多語(yǔ)言網(wǎng)站實(shí)時(shí)翻譯的方法
- 一種待翻譯軟件的翻譯方法及裝置
- 一種待翻譯軟件的翻譯方法及裝置
- 一種CAT系統(tǒng)中翻譯記憶庫(kù)和MT結(jié)合的方法及系統(tǒng)
- 翻譯方法、系統(tǒng)、終端以及存儲(chǔ)介質(zhì)
- 一種文本展示方法及裝置
- 機(jī)器翻譯方法及裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 基于機(jī)器翻譯引擎的翻譯方法及裝置
- 翻譯系統(tǒng)、翻譯方法、翻譯機(jī)及存儲(chǔ)介質(zhì)
- 文字翻譯方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)





