[發明專利]代碼自動轉換方法和裝置、代碼轉換器及介質在審
| 申請號: | 201910651844.5 | 申請日: | 2019-07-18 |
| 公開(公告)號: | CN110471666A | 公開(公告)日: | 2019-11-19 |
| 發明(設計)人: | 鄧竹立;呂慶春;彭飛 | 申請(專利權)人: | 五八有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 11319 北京潤澤恒知識產權代理有限公司 | 代理人: | 莎日娜<國際申請>=<國際公布>=<進入 |
| 地址: | 300450 天津市濱海新區經濟技術開*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 抽象語法樹 語義模塊 源代碼 目標代碼 語法表達 構建 自動轉換 編譯器 代碼轉換器 方法和裝置 程序代碼 代碼轉換 轉換規則 | ||
本發明公開了代碼自動轉換方法和裝置、代碼轉換器及介質。該代碼轉換方法包括:通過使用編譯器,從源代碼構建源代碼的語義模塊相應的抽象語法樹;針對一個語義模塊的相應抽象語法樹,得到該抽象語法樹的語法表達;基于得到的一個語義模塊的相應抽象語法樹的語法表達,依據預先規定的抽象語法樹的語法表達與目標代碼之間的轉換規則,從該抽象語法樹生成相應的目標代碼語義模塊。本發明通過使用編譯器為源代碼構建抽象語法樹,并基于構建的抽象語法樹,生成目標代碼,由此實現程序代碼的自動轉換。
技術領域
本發明涉及程序代碼轉換技術,尤其涉及代碼自動轉換方法和裝置、代碼轉換器及介質。
背景技術
在業界,對于程序代碼自動轉換的需求一直很大,卻沒有出現能夠廣泛運用的程序代碼自動轉換解決方案。
通常,實現程序代碼轉換的方案是:先將程序代碼當作普通文本,進行正則分析,識別出其中的“[]”、“;”、”{}”等語言符號,來確定文本內容是語句還是函數調用等語義;然后,通過特定規則,生成相應的目標語言程序代碼。
但是,現有技術的這種程序代碼轉換方案的準確率較低,而且,需要程序開發人員對于待轉換的程序語言與目標程序語言都要做詞法分析和語法分析。因此,這種方案目前只能用于轉換簡單的代碼,無法廣泛應用。
綜上可知,亟需一種能夠提高程序代碼轉換的準確率的解決方案。
發明內容
為了解決以上問題之一,本發明提供了一種代碼自動轉換方法和裝置、代碼轉換器及介質,以提高程序代碼轉換的準確率。
根據本發明的一個實施例,提供一種代碼自動轉換方法,包括:抽象語法樹構建步驟,其中,通過使用編譯器,從源代碼構建源代碼的語義模塊相應的抽象語法樹;語法表達解析步驟,其中,針對一個語義模塊的相應抽象語法樹,得到該抽象語法樹的語法表達;轉換步驟,其中,基于得到的一個語義模塊的相應抽象語法樹的語法表達,依據預先規定的抽象語法樹的語法表達與目標代碼之間的轉換規則,從該抽象語法樹生成相應的目標代碼語義模塊。
根據本發明的另一個實施例,提供一種代碼自動轉換裝置,包括:抽象語法樹構建部件,被配置用于通過使用編譯器件,從源代碼構建源代碼的語義模塊相應的抽象語法樹;語法表達解析部件,被配置用于針對一個語義模塊的相應抽象語法樹,得到該抽象語法樹的語法表達;轉換部件,被配置用于基于得到的一個語義模塊的相應抽象語法樹的語法表達,依據預先規定的抽象語法樹的語法表達與目標代碼之間的轉換規則,從該抽象語法樹生成相應的目標代碼語義模塊。
根據本發明的再一個實施例,提供一種代碼轉換器,包括:處理器;以及存儲器,其上存儲有可執行代碼,當所述可執行代碼被所述處理器執行時,使所述處理器執行上面描述的方法之一。
根據本發明的又一個實施例,提供一種非暫時性機器可讀存儲介質,其上存儲有可執行代碼,當所述可執行代碼被處理器執行時,使所述處理器執行上面描述的方法之一。
本發明通過使用編譯器為源代碼構建抽象語法樹,并基于構建的抽象語法樹,生成目標代碼,由此實現程序代碼的自動轉換。
在本發明中,使用編譯器來構建源代碼的抽象語法樹,得到的語義的準確度比現有技術使用文本識別來確定的語義的準確度高。
進一步地,本發明在抽象語法樹的基礎上,基于抽象語法樹的語義與目標代碼之間預定的轉換規則,生成目標代碼。由于抽象語法樹的語義與目標代碼之間的轉換規則通常要比源代碼與目標代碼之間的轉換規則簡單有效得多,因此,基于抽象語法樹的語義來生成目標代碼的方式得到的目標代碼的準確率大大提高。
附圖說明
通過結合附圖對本公開示例性實施方式進行更詳細的描述,本公開的上述以及其它目的、特征和優勢將變得更加明顯,其中,在本公開示例性實施方式中,相同的附圖標記通常代表相同部件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于五八有限公司,未經五八有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910651844.5/2.html,轉載請聲明來源鉆瓜專利網。





