[發明專利]代碼自動轉換方法和裝置、代碼轉換器及介質在審
| 申請號: | 201910651844.5 | 申請日: | 2019-07-18 |
| 公開(公告)號: | CN110471666A | 公開(公告)日: | 2019-11-19 |
| 發明(設計)人: | 鄧竹立;呂慶春;彭飛 | 申請(專利權)人: | 五八有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 11319 北京潤澤恒知識產權代理有限公司 | 代理人: | 莎日娜<國際申請>=<國際公布>=<進入 |
| 地址: | 300450 天津市濱海新區經濟技術開*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 抽象語法樹 語義模塊 源代碼 目標代碼 語法表達 構建 自動轉換 編譯器 代碼轉換器 方法和裝置 程序代碼 代碼轉換 轉換規則 | ||
1.一種代碼自動轉換方法,其特征在于,包括:
抽象語法樹構建步驟,其中,通過使用編譯器,從源代碼構建源代碼的語義模塊相應的抽象語法樹;
語法表達解析步驟,其中,針對一個語義模塊的相應抽象語法樹,得到該抽象語法樹的語法表達;
轉換步驟,其中,基于得到的一個語義模塊的相應抽象語法樹的語法表達,依據預先規定的抽象語法樹的語法表達與目標代碼之間的轉換規則,從該抽象語法樹生成相應的目標代碼語義模塊。
2.如權利要求1所述的代碼自動轉換方法,其特征在于,還包括:
特征代碼標記步驟,其中,在抽象語法樹構建步驟之前,在源代碼中查找特征代碼,并對查找到的特征代碼添加屬性標記,
在所述語法表達解析步驟中,從添加了屬性標記的特征代碼相應的抽象語法樹生成相應的語法表達,并且,在所述轉換步驟中,基于該語法表達,生成相應的目標代碼語義模塊。
3.如權利要求1所述的代碼自動轉換方法,其特征在于,還包括:
輸出步驟,其中,在轉換步驟之后,對于從抽象語法樹生成的各目標代碼語義模塊進行拼接或組合并輸出。
4.如權利要求1~3中的任何一項所述的代碼自動轉換方法,其特征在于,通過遍歷一個抽象語法樹上的各節點和各子節點,得到該抽象語法樹的語法表達。
5.如權利要求1~3中的任何一項所述的代碼自動轉換方法,其特征在于,所述編譯器為Clang,所述源代碼為Objective-C代碼。
6.一種代碼自動轉換裝置,其特征在于,包括:
抽象語法樹構建部件,被配置用于通過使用編譯器件,從源代碼構建源代碼的語義模塊相應的抽象語法樹;
語法表達解析部件,被配置用于針對一個語義模塊的相應抽象語法樹,得到該抽象語法樹的語法表達;
轉換部件,被配置用于基于得到的一個語義模塊的相應抽象語法樹的語法表達,依據預先規定的抽象語法樹的語法表達與目標代碼之間的轉換規則,從該抽象語法樹生成相應的目標代碼語義模塊。
7.如權利要求6所述的代碼自動轉換裝置,其特征在于,還包括:
特征代碼標記部件,被配置用于在源代碼中查找特征代碼,并對查找到的特征代碼添加屬性標記,
所述語法表達解析部件從添加了屬性標記的特征代碼相應的抽象語法樹生成相應的語法表達,并且,所述轉換部件基于該語法表達,生成相應的目標代碼語義模塊。
8.如權利要求6所述的代碼自動轉換裝置,其特征在于,還包括:
輸出部件,被配置用于對于由轉換裝置從抽象語法樹生成的各目標代碼語義模塊進行拼接或組合并輸出。
9.如權利要求6~8中的任何一項所述的代碼自動轉換裝置,其特征在于,所述語法表達解析部件通過遍歷一個抽象語法樹上的各節點和各子節點,得到該抽象語法樹的語法表達。
10.如權利要求6~8中的任何一項所述的代碼自動轉換裝置,其特征在于,所述編譯器件為Clang編譯器,所述源代碼為Objective-C代碼。
11.一種代碼轉換器,包括:
處理器;以及
存儲器,其上存儲有可執行代碼,當所述可執行代碼被所述處理器執行時,使所述處理器執行如權利要求1~5中任何一項所述的方法。
12.一種非暫時性機器可讀存儲介質,其上存儲有可執行代碼,當所述可執行代碼被處理器執行時,使所述處理器執行如權利要求1~5中任何一項所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于五八有限公司,未經五八有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910651844.5/1.html,轉載請聲明來源鉆瓜專利網。





