[發(fā)明專利]用于生成源碼的方法和裝置有效
| 申請?zhí)枺?/td> | 201810522867.1 | 申請日: | 2018-05-28 |
| 公開(公告)號: | CN110543297B | 公開(公告)日: | 2021-03-30 |
| 發(fā)明(設(shè)計)人: | 劉艷;嚴(yán)康;季瑤 | 申請(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30 |
| 代理公司: | 北京英賽嘉華知識產(chǎn)權(quán)代理有限責(zé)任公司 11204 | 代理人: | 王達(dá)佐;馬曉亞 |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 生成 源碼 方法 裝置 | ||
1.一種用于生成源碼的方法,包括:
獲取待轉(zhuǎn)換源碼,其中,所述待轉(zhuǎn)換源碼基于第一語法編寫,語法包括語法元素;
構(gòu)建所述待轉(zhuǎn)換源碼的第一抽象語法樹,其中,所述第一抽象語法樹包括與所述待轉(zhuǎn)換源碼中的第一語法元素對應(yīng)的第一節(jié)點(diǎn);
根據(jù)預(yù)先建立的對應(yīng)關(guān)系表,構(gòu)建與所述第一抽象語法樹對應(yīng)的第二抽象語法樹,其中,所述對應(yīng)關(guān)系表用于表征所述第一語法的第一語法元素和第二語法的第二語法元素之間的對應(yīng)關(guān)系,所述第二抽象語法樹包括的第二節(jié)點(diǎn)與所述第二語法的第二語法元素對應(yīng);
根據(jù)所述第二抽象語法樹,生成基于所述第二語法的源碼;
其中,語法與工具集合相關(guān)聯(lián),語法元素與工具集合中的工具對應(yīng),工具集合包括以下至少一項(xiàng):組件集合、樣式集合、生命周期函數(shù)集合和事件集合;以及
所述對應(yīng)關(guān)系表是通過如下生成步驟得到的:
比較所述第一語法所關(guān)聯(lián)的第一工具集合和所述第二語法所關(guān)聯(lián)的第二工具集合,確定目標(biāo)第一工具,其中,所述第二工具集合中沒有與目標(biāo)第一工具功能一致的第二工具;
根據(jù)所述第二語法和所述第二工具集合,構(gòu)造與所述目標(biāo)第一工具功能一致的類第二工具,以及生成與類第二工具對應(yīng)的語法元素;
針對目標(biāo)第一工具與類第二工具分別對應(yīng)的語法元素,生成的第一對應(yīng)關(guān)系信息,以及生成包括第一對應(yīng)關(guān)系信息的對應(yīng)關(guān)系表。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述構(gòu)造與所述目標(biāo)第一工具功能一致的類第二工具,包括:
響應(yīng)于目標(biāo)第一工具為預(yù)定義事件,將目標(biāo)第一工具轉(zhuǎn)換為對象,以及將轉(zhuǎn)換得到的對象轉(zhuǎn)換為可調(diào)用函數(shù)。
3.根據(jù)權(quán)利要求1所述的方法,所述生成步驟還包括:
從所述第一工具集合和所述第二工具集合中,確定功能一致的第一工具和第二工具;
針對功能一致的第一工具和第二工具分別對應(yīng)的語法元素,生成第二對應(yīng)關(guān)系信息,以及生成包括第二對應(yīng)關(guān)系信息的對應(yīng)關(guān)系表。
4.根據(jù)權(quán)利要求1所述的方法,其中,所生成的源碼為寄宿程序的源碼。
5.根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的方法,其中,語法元素的語法元素類型包括以下至少一項(xiàng):組件類、樣式類、生命周期函數(shù)類和事件類;以及
所述根據(jù)預(yù)先建立的對應(yīng)關(guān)系表,構(gòu)建與所述第一抽象語法樹對應(yīng)的第二抽象語法樹,包括:
遍歷所述第一抽象語法樹,根據(jù)第一節(jié)點(diǎn)對應(yīng)的第一語法元素的語法元素類型,確定第一節(jié)點(diǎn)的節(jié)點(diǎn)類型,其中,節(jié)點(diǎn)類型包括以下至少一項(xiàng):組件類、樣式類、生命周期函數(shù)類和事件類;
對節(jié)點(diǎn)類型進(jìn)行排序,以及按序生成各節(jié)點(diǎn)類型的第一節(jié)點(diǎn)對應(yīng)的第二節(jié)點(diǎn)。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述對節(jié)點(diǎn)類型進(jìn)行排序,以及按序生成各節(jié)點(diǎn)類型的第一節(jié)點(diǎn)對應(yīng)的第二節(jié)點(diǎn),包括以下至少一項(xiàng):
對于組件類第一節(jié)點(diǎn),根據(jù)所對應(yīng)的組件類第一語法元素對應(yīng)的第二語法元素,生成組件類第一節(jié)點(diǎn)對應(yīng)的第二節(jié)點(diǎn);
對于樣式類第一節(jié)點(diǎn),根據(jù)所對應(yīng)的樣式類第一語法元素對應(yīng)的第二語法元素,生成樣式類第一節(jié)點(diǎn)對應(yīng)的第二節(jié)點(diǎn);
對于生命周期函數(shù)類第一節(jié)點(diǎn),根據(jù)所對應(yīng)的生命周期函數(shù)類第一語法元素對應(yīng)的第二語法元素,生成生命周期函數(shù)類第一節(jié)點(diǎn)對應(yīng)的第二節(jié)點(diǎn);
對于事件類第一節(jié)點(diǎn),根據(jù)所對應(yīng)的事件類第一語法元素對應(yīng)的第二語法元素,生成事件類第一節(jié)點(diǎn)對應(yīng)的第二節(jié)點(diǎn)。
7.根據(jù)權(quán)利要求6所述的方法,其中,樣式類第一節(jié)點(diǎn)與組件類第一節(jié)點(diǎn)相關(guān)聯(lián);以及
所述生成樣式類第一節(jié)點(diǎn)對應(yīng)的第二節(jié)點(diǎn),包括:
從樣式類第一節(jié)點(diǎn)中,獲取樣式的鍵值對,以及將所獲取的鍵值對確定為第二節(jié)點(diǎn);
在樣式類第一節(jié)點(diǎn)所關(guān)聯(lián)的組件類第一節(jié)點(diǎn)對應(yīng)的第二節(jié)點(diǎn),與所確定的第二節(jié)點(diǎn)之間,建立關(guān)聯(lián)關(guān)系。
該專利技術(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ù)合作,請聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201810522867.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 坐席資源碼的分配方法和分配系統(tǒng)
- 一種服務(wù)器軟件源碼開發(fā)管理方法
- 基于源碼庫上傳容器鏡像至鏡像倉庫的方法及系統(tǒng)
- 一種漏洞檢測方法、裝置、服務(wù)器及存儲介質(zhì)
- 商品的溯源碼關(guān)聯(lián)方法及裝置
- 一種基于數(shù)據(jù)可執(zhí)行特征的網(wǎng)頁后門檢測方法與系統(tǒng)
- 文件打包方法、裝置、設(shè)備及存儲介質(zhì)
- 源碼轉(zhuǎn)換方法、裝置、計算機(jī)設(shè)備及可讀存儲介質(zhì)
- 一種多人模式下修改源碼文件的方法、系統(tǒng)及介質(zhì)
- 一種牲畜胴體表皮溯源碼噴印方法、噴碼機(jī)、溯源碼和服務(wù)器





