[發(fā)明專利]移植方法及源到源編譯器有效
| 申請(qǐng)?zhí)枺?/td> | 201310632199.5 | 申請(qǐng)日: | 2013-11-29 |
| 公開(kāi)(公告)號(hào): | CN103631632B | 公開(kāi)(公告)日: | 2017-08-04 |
| 發(fā)明(設(shè)計(jì))人: | 曾建江;卓玉樟;胡海亮 | 申請(qǐng)(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號(hào): | G06F9/45 | 分類號(hào): | G06F9/45;G06F9/44 |
| 代理公司: | 深圳市深佳知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙)44285 | 代理人: | 唐華明 |
| 地址: | 518129 廣東*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 移植 方法 源到源 編譯器 | ||
1.一種應(yīng)用程序跨平臺(tái)移植方法,其特征在于,包括:
接收與平臺(tái)芯片架構(gòu)無(wú)關(guān)、針對(duì)所述應(yīng)用程序編寫(xiě)的、采用通用運(yùn)算符和通用數(shù)據(jù)類型的通用平臺(tái)算法源代碼;所述通用平臺(tái)算法源代碼符合通用語(yǔ)法規(guī)則,所述通用語(yǔ)法規(guī)則為與平臺(tái)芯片架構(gòu)無(wú)關(guān)的語(yǔ)法規(guī)則;
對(duì)所述通用平臺(tái)算法源代碼中的通用運(yùn)算符及通用數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,得到符合目標(biāo)平臺(tái)運(yùn)算要求及數(shù)據(jù)類型要求的目標(biāo)平臺(tái)算法源代碼;
發(fā)送所述目標(biāo)平臺(tái)算法源代碼至目標(biāo)平臺(tái)編譯器,以便所述目標(biāo)平臺(tái)編譯器對(duì)所述目標(biāo)平臺(tái)算法源代碼進(jìn)行編譯,得到可運(yùn)行在目標(biāo)平臺(tái)上的應(yīng)用程序;
其中,所述對(duì)通用平臺(tái)算法源代碼中的通用運(yùn)算符及通用數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,得到符合目標(biāo)平臺(tái)運(yùn)算要求及數(shù)據(jù)類型要求的目標(biāo)平臺(tái)算法源代碼,具體包括:
解析所述通用平臺(tái)算法源代碼,得到抽象語(yǔ)法樹(shù);其中,所述抽象語(yǔ)法樹(shù)包括通用運(yùn)算節(jié)點(diǎn);
對(duì)所述抽象語(yǔ)法樹(shù)中的通用運(yùn)算節(jié)點(diǎn)進(jìn)行替換處理和優(yōu)化處理,得到符合目標(biāo)平臺(tái)運(yùn)算要求及數(shù)據(jù)類型要求的語(yǔ)法樹(shù);
反解析所述符合目標(biāo)平臺(tái)運(yùn)算要求及數(shù)據(jù)類型要求的語(yǔ)法樹(shù),得到所述目標(biāo)平臺(tái)算法源代碼;
所述替換處理包括:
令所述抽象語(yǔ)法樹(shù)中的每一通用運(yùn)算節(jié)點(diǎn)和通用運(yùn)算庫(kù)模板進(jìn)行匹配,當(dāng)滿足預(yù)設(shè)匹配條件時(shí),匹配成功;
利用匹配成功的通用運(yùn)算庫(kù)模板中的內(nèi)容,替換與之相匹配的通用運(yùn)算節(jié)點(diǎn)的內(nèi)容,得到第二語(yǔ)法樹(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述解析所述通用平臺(tái)算法源代碼,得到抽象語(yǔ)法樹(shù)包括:
對(duì)所述通用平臺(tái)算法源代碼進(jìn)行詞法分析,得到記號(hào)流;
對(duì)所述記號(hào)流進(jìn)行語(yǔ)法分析,構(gòu)成第一語(yǔ)法樹(shù);
對(duì)所述第一語(yǔ)法樹(shù)進(jìn)行語(yǔ)義分析,得到經(jīng)語(yǔ)義分析處理后的抽象語(yǔ)法樹(shù)。
3.如權(quán)利要求1或2所述的方法,其特征在于,
所述優(yōu)化處理包括:對(duì)所述第二語(yǔ)法樹(shù)進(jìn)行合并相同循環(huán)的節(jié)點(diǎn)、消除冗余節(jié)點(diǎn)和向量化中的至少一種,得到所述符合目標(biāo)平臺(tái)運(yùn)算要求及數(shù)據(jù)類型要求的語(yǔ)法樹(shù)。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,
所述通用運(yùn)算節(jié)點(diǎn)包括通用運(yùn)算符節(jié)點(diǎn)和操作數(shù)節(jié)點(diǎn);
所述通用運(yùn)算庫(kù)模板包括通用運(yùn)算模板和通用數(shù)據(jù)類型模板;
所述通用運(yùn)算模板的內(nèi)容包含,適用于所述目標(biāo)平臺(tái)并可實(shí)現(xiàn)通用運(yùn)算的運(yùn)算代碼;所述通用數(shù)據(jù)類型模板的內(nèi)容包含,適用于所述目標(biāo)平臺(tái)、并與通用數(shù)據(jù)類型相對(duì)應(yīng)的數(shù)據(jù)類型的定義或解釋。
5.如權(quán)利要求4所述的方法,其特征在于,
當(dāng)令通用運(yùn)算符節(jié)點(diǎn)與通用運(yùn)算模板進(jìn)行匹配時(shí),所述預(yù)設(shè)匹配條件包括,通用運(yùn)算符節(jié)點(diǎn)包含的通用運(yùn)算符,與通用運(yùn)算模板所實(shí)現(xiàn)的通用運(yùn)算相一致,并且,通用運(yùn)算符節(jié)點(diǎn)的關(guān)聯(lián)節(jié)點(diǎn)之間符合依賴關(guān)系;
當(dāng)令操作數(shù)節(jié)點(diǎn)與通用數(shù)據(jù)類型模板進(jìn)行匹配時(shí),所述預(yù)設(shè)匹配條件包括,操作數(shù)節(jié)點(diǎn)包含的通用數(shù)據(jù)類型,與通用數(shù)據(jù)類型模板對(duì)應(yīng)的通用數(shù)據(jù)類型相一致,并且,操作數(shù)節(jié)點(diǎn)的關(guān)聯(lián)節(jié)點(diǎn)之間符合依賴關(guān)系;
所述關(guān)聯(lián)節(jié)點(diǎn)包括左節(jié)點(diǎn)和右節(jié)點(diǎn)中的至少一種。
6.如權(quán)利要求4所述的方法,其特征在于,所述通用運(yùn)算庫(kù)模板還包括專有指令模板,所述專有指令模板的內(nèi)容包含,適用于所述目標(biāo)平臺(tái)并可實(shí)現(xiàn)通用運(yùn)算的指令;
當(dāng)令通用運(yùn)算符節(jié)點(diǎn)與專有指令模板進(jìn)行匹配時(shí),所述預(yù)設(shè)匹配條件包括,通用運(yùn)算符節(jié)點(diǎn)包含的通用運(yùn)算符,與專有指令模板所實(shí)現(xiàn)的通用運(yùn)算相一致,并且,通用運(yùn)算符節(jié)點(diǎn)的關(guān)聯(lián)節(jié)點(diǎn)之間符合依賴關(guān)系;
所述關(guān)聯(lián)節(jié)點(diǎn)包括左節(jié)點(diǎn)和右節(jié)點(diǎn)中的至少一種。
7.如權(quán)利要求1或2所述的方法,其特征在于,所述接收到的算法源代碼具體為通用DSP算法C源代碼。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310632199.5/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(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ì)





