[發明專利]一種代碼生成方法、裝置、終端設備及存儲介質在審
| 申請號: | 202110702534.9 | 申請日: | 2021-06-24 |
| 公開(公告)號: | CN113419716A | 公開(公告)日: | 2021-09-21 |
| 發明(設計)人: | 張云 | 申請(專利權)人: | 北京京東振世信息技術有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/53 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 黃玉霞 |
| 地址: | 100086 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 代碼 生成 方法 裝置 終端設備 存儲 介質 | ||
1.一種代碼生成方法,其特征在于,包括:
獲取原始代碼的抽象語法樹;其中,所述抽象語法樹中包括類型屬性的第一屬性值和內容屬性的第二屬性值,且所述第一屬性值用于表征所述原始代碼的類型,所述第二屬性值用于表征所述原始代碼的語句內容;
根據所述第一屬性值和所述第二屬性值,判斷所述原始代碼中是否包含異常處理語句;其中,所述異常處理語句,于所述原始代碼運行異常時進行調用;
若否,則利用預先設置的與預設異常處理語句對應的第三屬性值,對所述第二屬性值進行更新,得到更新后的抽象語法樹;其中,所述第三屬性值用于表征所述預設異常處理語句的語句內容;
根據更新后的抽象語法樹,生成包含所述預設異常處理語句的目標代碼。
2.根據權利要求1所述的方法,其特征在于,所述根據所述第一屬性值和所述第二屬性值,判斷所述原始代碼中是否包含異常處理語句,包括:
判斷所述第一屬性值是否為函數標識;
若是,則判斷所述第二屬性值中是否包含異常處理語句的語句標識;
若否,則確定所述原始代碼中未包含異常處理語句。
3.根據權利要求2所述的方法,其特征在于,還包括:
若所述第一屬性值不為函數標識,則將所述原始代碼作為目標代碼;和/或,
若所述第二屬性值中包含異常處理語句的語句標識,則將所述原始代碼作為目標代碼。
4.根據權利要求1所述的方法,其特征在于,所述利用預先設置的與預設異常處理語句對應的第三屬性值,對所述第二屬性值進行更新,包括:
將所述第二屬性值,添加至預設語法樹中的內容屬性;其中,所述預設語法樹的內容屬性中包含與預設異常處理語句對應的第三屬性值;
利用添加有所述第二屬性值的預設語法樹中的內容屬性,替換所述抽象語法樹的內容屬性,以對所述抽象語法樹中內容屬性的第二屬性值進行更新。
5.根據權利要求1所述的方法,其特征在于,所述預設異常處理語句中包括,預設的接收接口;
在所述目標代碼運行過程中,于運行異常時,通過所述接收接口對采集的異常數據進行傳輸。
6.根據權利要求2所述的方法,其特征在于,應用于軟件打包工具;所述原始代碼為當前編譯的代碼;
所述判斷所述第二屬性值中是否包含異常處理語句的語句標識,包括:
調用預設插件,以通過所述預設插件,判斷所述第二屬性值中是否包含異常處理語句的語句標識。
7.根據權利要求4所述的方法,其特征在于,應用于軟件打包工具;所述原始代碼為當前編譯的代碼;
所述將所述第二屬性值,添加至預設語法樹中的內容屬性,包括:
將所述第二屬性值,賦值給預設插件內置的預設語法樹中內容屬性的預設屬性值;
所述利用添加有所述第二屬性值的預設語法樹中的內容屬性,替換所述抽象語法樹的內容屬性,包括:
將包含有賦值后預設屬性值的預設語法樹中的內容屬性,重新賦值給所述抽象語法樹的內容屬性。
8.一種代碼生成裝置,其特征在于,包括:
語法樹獲取模塊,用于獲取原始代碼的抽象語法樹;其中,所述抽象語法樹中包括類型屬性的第一屬性值和內容屬性的第二屬性值,且所述第一屬性值用于表征所述原始代碼的類型,所述第二屬性值用于表征所述原始代碼的語句內容;
語句判斷模塊,用于根據所述第一屬性值和所述第二屬性值,判斷所述原始代碼中是否包含異常處理語句;其中,所述異常處理語句,于所述原始代碼運行異常時進行調用;
語法樹更新模塊,用于若所述原始代碼中未包含異常處理語句,則利用預先設置的與預設異常處理語句對應的第三屬性值,對所述第二屬性值進行更新,得到更新后的抽象語法樹;其中,所述第三屬性值用于表征所述預設異常處理語句的語句內容;
代碼生成模塊,用于根據更新后的抽象語法樹,生成包含所述預設異常處理語句的目標代碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東振世信息技術有限公司,未經北京京東振世信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110702534.9/1.html,轉載請聲明來源鉆瓜專利網。





