[發(fā)明專利]用于生成源碼的方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201810522867.1 | 申請(qǐng)日: | 2018-05-28 |
| 公開(公告)號(hào): | CN110543297B | 公開(公告)日: | 2021-03-30 |
| 發(fā)明(設(shè)計(jì))人: | 劉艷;嚴(yán)康;季瑤 | 申請(qǐng)(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司 |
| 主分類號(hào): | G06F8/30 | 分類號(hào): | G06F8/30 |
| 代理公司: | 北京英賽嘉華知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11204 | 代理人: | 王達(dá)佐;馬曉亞 |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 生成 源碼 方法 裝置 | ||
本申請(qǐng)實(shí)施例公開了用于生成源碼的方法和裝置。該方法的一具體實(shí)施方式包括:獲取待轉(zhuǎn)換源碼,其中,該待轉(zhuǎn)換源碼基于第一語法編寫,語法包括語法元素;構(gòu)建該待生成源碼的第一抽象語法樹,其中,該第一抽象語法樹包括與該待轉(zhuǎn)換源碼中的第一語法元素對(duì)應(yīng)的第一節(jié)點(diǎn);根據(jù)預(yù)先建立的對(duì)應(yīng)關(guān)系表,構(gòu)建與該第一抽象語法樹對(duì)應(yīng)的第二抽象語法樹,其中,該對(duì)應(yīng)關(guān)系表用于表征該第一語法的第一語法元素和第二語法的第二語法元素之間的對(duì)應(yīng)關(guān)系,該第二抽象語法樹包括的第二節(jié)點(diǎn)與該第二語法的第二語法元素對(duì)應(yīng);根據(jù)該第二抽象語法樹,生成基于該第二語法的源碼。該實(shí)施方式提供了一種新的源碼生成方式。
技術(shù)領(lǐng)域
本申請(qǐng)實(shí)施例涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及用于生成源碼的方法和裝置。
背景技術(shù)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,各類應(yīng)用程序蓬勃發(fā)展。應(yīng)用程序的更新速度非常快。根據(jù)運(yùn)行環(huán)境的不同,同種功能的應(yīng)用程序,可能需要制作多個(gè)版本。
發(fā)明內(nèi)容
本申請(qǐng)實(shí)施例提出了用于生成源碼的方法和裝置。
第一方面,本申請(qǐng)實(shí)施例提供了一種用于生成源碼的方法,該方法包括:獲取待轉(zhuǎn)換源碼,其中,所述待轉(zhuǎn)換源碼基于第一語法編寫,語法包括語法元素;構(gòu)建所述待生成源碼的第一抽象語法樹,其中,所述第一抽象語法樹包括與所述待轉(zhuǎn)換源碼中的第一語法元素對(duì)應(yīng)的第一節(jié)點(diǎn);根據(jù)預(yù)先建立的對(duì)應(yīng)關(guān)系表,構(gòu)建與所述第一抽象語法樹對(duì)應(yīng)的第二抽象語法樹,其中,所述對(duì)應(yīng)關(guān)系表用于表征所述第一語法的第一語法元素和第二語法的第二語法元素之間的對(duì)應(yīng)關(guān)系,所述第二抽象語法樹包括的第二節(jié)點(diǎn)與所述第二語法的第二語法元素對(duì)應(yīng);根據(jù)所述第二抽象語法樹,生成基于所述第二語法的源碼。
第二方面,本申請(qǐng)實(shí)施例提供了一種用于生成源碼的裝置,該裝置包括:獲取單元,被配置成獲取待轉(zhuǎn)換源碼,其中,所述待轉(zhuǎn)換源碼基于第一語法編寫,語法包括語法元素;第一構(gòu)建單元,被配置成構(gòu)建所述待生成源碼的第一抽象語法樹,其中,所述第一抽象語法樹包括與所述待轉(zhuǎn)換源碼中的第一語法元素對(duì)應(yīng)的第一節(jié)點(diǎn);第二構(gòu)建單元,被配置成根據(jù)預(yù)先建立的對(duì)應(yīng)關(guān)系表,構(gòu)建與所述第一抽象語法樹對(duì)應(yīng)的第二抽象語法樹,其中,所述對(duì)應(yīng)關(guān)系表用于表征所述第一語法的第一語法元素和第二語法的第二語法元素之間的對(duì)應(yīng)關(guān)系,所述第二抽象語法樹包括的第二節(jié)點(diǎn)與所述第二語法的第二語法元素對(duì)應(yīng);生成單元,被配置成根據(jù)所述第二抽象語法樹,生成基于所述第二語法的源碼。
第三方面,本申請(qǐng)實(shí)施例提供了一種電子設(shè)備,該電子設(shè)備包括:一個(gè)或多個(gè)處理器;存儲(chǔ)裝置,其上存儲(chǔ)有一個(gè)或多個(gè)程序,當(dāng)上述一個(gè)或多個(gè)程序被上述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得上述一個(gè)或多個(gè)處理器實(shí)現(xiàn)如第一方面中任一實(shí)現(xiàn)方式描述的方法。
第四方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其中,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面中任一實(shí)現(xiàn)方式描述的方法。
本申請(qǐng)實(shí)施例提供的用于生成源碼的方法和裝置,通過首先構(gòu)建待生成源碼的第一抽象語法樹,然后根據(jù)對(duì)應(yīng)關(guān)系表,構(gòu)建第一抽象語法樹對(duì)應(yīng)的第二抽象語法樹,再根據(jù)第二抽象語法樹生成新的源碼,提供了一種新的生成源碼的方法。
附圖說明
通過閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1是本申請(qǐng)一些實(shí)施例可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖2是根據(jù)本申請(qǐng)的用于生成源碼的方法的一個(gè)實(shí)施例的流程圖;
圖3是根據(jù)本申請(qǐng)的用于生成源碼的方法的一個(gè)應(yīng)用場(chǎng)景的示意圖;
圖4是示例性第一抽象語法樹和第二抽象語法樹之間的關(guān)系示意圖;
圖5是根據(jù)本申請(qǐng)的對(duì)應(yīng)關(guān)系表的示例性的生成方法的流程圖;
圖6A是根據(jù)本申請(qǐng)的用于生成源碼的方法的又一個(gè)實(shí)施例的流程圖;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201810522867.1/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 坐席資源碼的分配方法和分配系統(tǒng)
- 一種服務(wù)器軟件源碼開發(fā)管理方法
- 基于源碼庫上傳容器鏡像至鏡像倉庫的方法及系統(tǒng)
- 一種漏洞檢測(cè)方法、裝置、服務(wù)器及存儲(chǔ)介質(zhì)
- 商品的溯源碼關(guān)聯(lián)方法及裝置
- 一種基于數(shù)據(jù)可執(zhí)行特征的網(wǎng)頁后門檢測(cè)方法與系統(tǒng)
- 文件打包方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 源碼轉(zhuǎn)換方法、裝置、計(jì)算機(jī)設(shè)備及可讀存儲(chǔ)介質(zhì)
- 一種多人模式下修改源碼文件的方法、系統(tǒng)及介質(zhì)
- 一種牲畜胴體表皮溯源碼噴印方法、噴碼機(jī)、溯源碼和服務(wù)器
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





