[發(fā)明專利]一種代碼編譯方法及裝置有效
| 申請?zhí)枺?/td> | 202010163381.0 | 申請日: | 2020-03-10 |
| 公開(公告)號(hào): | CN111399842B | 公開(公告)日: | 2023-09-05 |
| 發(fā)明(設(shè)計(jì))人: | 艾國信;宋超 | 申請(專利權(quán))人: | 北京奇藝世紀(jì)科技有限公司 |
| 主分類號(hào): | G06F8/41 | 分類號(hào): | G06F8/41 |
| 代理公司: | 北京華夏泰和知識(shí)產(chǎn)權(quán)代理有限公司 11662 | 代理人: | 張麗穎;李雪 |
| 地址: | 100080 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 代碼 編譯 方法 裝置 | ||
1.一種代碼編譯方法,其特征在于,所述方法包括:
獲取待編譯的事務(wù)源代碼,其中,所述事務(wù)源代碼中的非事務(wù)方法包含預(yù)設(shè)的注解信息,所述注解信息是用于表示該方法為非事務(wù)方法的信息,所述注解信息為自類調(diào)用類,針對事務(wù)源代碼中的每個(gè)非事務(wù)方法,在所述非事務(wù)方法中添加所述自類調(diào)用類,以標(biāo)注所述非事務(wù)方法是被同類方法調(diào)用的非事務(wù)方法;
生成所述事務(wù)源代碼對應(yīng)的樹形表達(dá)式;
根據(jù)所述注解信息,在所述樹形表達(dá)式中確定所述非事務(wù)方法,并根據(jù)預(yù)設(shè)的修改策略,在所述樹形表達(dá)式中添加所述非事務(wù)方法對應(yīng)的代理對象;
對修改后的樹形表達(dá)式進(jìn)行編譯,得到編譯后的代碼,所述編譯后的代碼中所述非事務(wù)方法由事務(wù)方法通過所述代理對象進(jìn)行代理調(diào)用;
其中,所述根據(jù)所述注解信息,在所述樹形表達(dá)式中確定所述非事務(wù)方法,并根據(jù)預(yù)設(shè)的修改策略,在所述樹形表達(dá)式中添加所述非事務(wù)方法對應(yīng)的代理對象,包括:
通過注解處理器,在所述樹形表達(dá)式中確定包含所述注解信息的節(jié)點(diǎn),作為所述非事務(wù)方法對應(yīng)的節(jié)點(diǎn);針對每個(gè)非事務(wù)方法對應(yīng)的節(jié)點(diǎn),通過所述注解處理器在所述節(jié)點(diǎn)之前添加代理對象對應(yīng)的節(jié)點(diǎn);
所述生成所述事務(wù)源代碼對應(yīng)的樹形表達(dá)式,包括:
將所述事務(wù)源代碼輸入至詞法分析掃描器,輸出所述事務(wù)源代碼對應(yīng)的一維數(shù)組;
將所述一維數(shù)組輸入至語法分析解析器,輸出所述事務(wù)源代碼對應(yīng)的樹形表達(dá)式;
所述對修改后的樹形表達(dá)式進(jìn)行編譯,包括:
通過注解處理器生成修改后的樹形表達(dá)式對應(yīng)的事務(wù)源代碼,得到新事務(wù)源代碼;
對所述新事務(wù)源代碼進(jìn)行編譯。
2.一種代碼編譯裝置,其特征在于,所述裝置包括:
獲取模塊,用于獲取待編譯的事務(wù)源代碼,其中,所述事務(wù)源代碼中的非事務(wù)方法包含預(yù)設(shè)的注解信息,所述注解信息是用于表示該方法為非事務(wù)方法的信息,所述注解信息為自類調(diào)用類,針對事務(wù)源代碼中的每個(gè)非事務(wù)方法,在所述非事務(wù)方法中添加所述自類調(diào)用類,以標(biāo)注所述非事務(wù)方法是被同類方法調(diào)用的非事務(wù)方法;
生成模塊,用于生成所述事務(wù)源代碼對應(yīng)的樹形表達(dá)式;
確定模塊,用于根據(jù)所述注解信息,在所述樹形表達(dá)式中確定所述非事務(wù)方法,并根據(jù)預(yù)設(shè)的修改策略,在所述樹形表達(dá)式中添加所述非事務(wù)方法對應(yīng)的代理對象;
編譯模塊,用于對修改后的樹形表達(dá)式進(jìn)行編譯,得到編譯后的代碼,所述編譯后的代碼中所述非事務(wù)方法由事務(wù)方法通過所述代理對象進(jìn)行代理調(diào)用;
其中,所述確定模塊,具體用于:
通過注解處理器,在所述樹形表達(dá)式中確定包含所述注解信息的節(jié)點(diǎn),作為所述非事務(wù)方法對應(yīng)的節(jié)點(diǎn);針對每個(gè)非事務(wù)方法對應(yīng)的節(jié)點(diǎn),通過所述注解處理器在所述節(jié)點(diǎn)之前添加代理對象對應(yīng)的節(jié)點(diǎn);
所述生成模塊,具體用于:
將所述事務(wù)源代碼輸入至詞法分析掃描器,輸出所述事務(wù)源代碼對應(yīng)的一維數(shù)組;
將所述一維數(shù)組輸入至語法分析解析器,輸出所述事務(wù)源代碼對應(yīng)的樹形表達(dá)式;
所述編譯模塊,具體用于:
通過注解處理器生成修改后的樹形表達(dá)式對應(yīng)的事務(wù)源代碼,得到新事務(wù)源代碼;
對所述新事務(wù)源代碼進(jìn)行編譯。
3.一種電子設(shè)備,其特征在于,包括處理器、通信接口、存儲(chǔ)器和通信總線,其中,處理器,通信接口,存儲(chǔ)器通過通信總線完成相互間的通信;
存儲(chǔ)器,用于存放計(jì)算機(jī)程序;
處理器,用于執(zhí)行存儲(chǔ)器上所存放的程序時(shí),實(shí)現(xiàn)權(quán)利要求1所述的方法步驟。
4.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1所述的方法步驟。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京奇藝世紀(jì)科技有限公司,未經(jīng)北京奇藝世紀(jì)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010163381.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)
- 一種軟件開發(fā)中的自動(dòng)化編譯方法及系統(tǒng)
- 一種動(dòng)態(tài)分配編譯機(jī)的系統(tǒng)及其方法
- 一種實(shí)現(xiàn)安卓編譯隔離的方法和系統(tǒng)
- 調(diào)度服務(wù)器、編譯服務(wù)器及分布式編譯方法
- 代碼編譯方法、編譯設(shè)備、存儲(chǔ)介質(zhì)及裝置
- 文件編譯方法、裝置、編譯設(shè)備及存儲(chǔ)介質(zhì)
- 一種編譯方法、裝置及系統(tǒng)
- 一種編譯方法和相關(guān)裝置
- 一種編譯方法、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種代碼編譯方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





