[發(fā)明專利]C程序編譯方法及編譯器有效
| 申請?zhí)枺?/td> | 201310751856.8 | 申請日: | 2013-12-31 |
| 公開(公告)號: | CN104750533B | 公開(公告)日: | 2018-10-19 |
| 發(fā)明(設(shè)計)人: | 裘巍;盧昊;潘松 | 申請(專利權(quán))人: | 上海東軟載波微電子有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 北京同立鈞成知識產(chǎn)權(quán)代理有限公司 11205 | 代理人: | 劉芳 |
| 地址: | 200235 上海市徐匯區(qū)龍*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 程序 編譯 方法 編譯器 | ||
1.一種C程序編譯方法,包括:依次對C程序進(jìn)行詞法分析、語法分析、語義分析及中間代碼生成,其特征在于,
根據(jù)所述詞法分析、所述語法分析、所述語義分析及中間代碼生成獲取的所述C程序中各函數(shù)的信息將所述各函數(shù)分配在中央處理器CPU可支持的至少兩個線程上;
為各函數(shù)對應(yīng)分配一個符號訪問接口,所述符號訪問接口與全局符號數(shù)據(jù)相連,且與所述函數(shù)對應(yīng)的局部符號數(shù)據(jù)相連;
在分配到的線程上對各函數(shù)進(jìn)行優(yōu)化,所述優(yōu)化至少包括各函數(shù)分別通過對應(yīng)的符號訪問接口對全局符號中所述函數(shù)需改寫的符號進(jìn)行標(biāo)記,并通過所述符號訪問接口在所述函數(shù)對應(yīng)的所述局部符號中改寫需改寫的符號;
對各線程上完成優(yōu)化的函數(shù)進(jìn)行數(shù)據(jù)維護(hù),數(shù)據(jù)維護(hù)為根據(jù)全局符號中各符號上的標(biāo)記更新全局符號;
對經(jīng)過所述中間代碼優(yōu)化的C程序進(jìn)行目標(biāo)代碼生成;
將目標(biāo)代碼生成后的各函數(shù)按照進(jìn)行所述詞法分析前的C程序的函數(shù)排序順序進(jìn)行排序整理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述改寫為對所述符號的使用或?qū)λ龇柕亩x。
3.一種C程序編譯器,包括:用于對C程序進(jìn)行詞法分析的詞法分析器、用于對詞法分析后的C程序進(jìn)行語法分析的語法分析器、用于對語法分析后的C程序進(jìn)行語義分析及中間代碼生成的語義分析及中間代碼生成器、中間代碼優(yōu)化器和目標(biāo)代碼生成器,其特征在于,
所述中間代碼優(yōu)化器,用于將經(jīng)過所述語義分析及中間代碼生成的C程序以函數(shù)為單位分配在至少兩個線程上,以分別進(jìn)行中間代碼優(yōu)化;
所述目標(biāo)代碼生成器,用于對經(jīng)過所述中間代碼優(yōu)化的C程序進(jìn)行目標(biāo)代碼生成;
還包括:
線程控制器,用于根據(jù)所述詞法分析、所述語法分析、所述語義分析及中間代碼生成獲取的所述C程序中各函數(shù)的信息將各函數(shù)分配在中央處理器CPU可支持的至少兩個線程上;
處理器,用于為各函數(shù)對應(yīng)分配一個符號訪問接口,所述符號訪問接口與全局符號數(shù)據(jù)相連,且與所述函數(shù)對應(yīng)的局部符號數(shù)據(jù)相連;
所述中間代碼優(yōu)化器,具體用于在分配到的線程上對各函數(shù)進(jìn)行優(yōu)化,所述優(yōu)化至少包括各函數(shù)分別通過對應(yīng)的符號訪問接口對全局符號中所述函數(shù)需改寫的符號進(jìn)行標(biāo)記,并通過所述符號訪問接口在所述函數(shù)對應(yīng)的所述局部符號中改寫需改寫的符號;
所述目標(biāo)代碼生成器,還用于將目標(biāo)代碼生成后的各函數(shù)按照進(jìn)行所述詞法分析前的C程序的函數(shù)排序順序進(jìn)行排序整理;
還包括:
優(yōu)化結(jié)果綜合器,用于對各線程上完成優(yōu)化的所述函數(shù)進(jìn)行數(shù)據(jù)維護(hù),所述數(shù)據(jù)維護(hù)為根據(jù)所述全局符號中各符號上的所述標(biāo)記更新所述全局符號。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海東軟載波微電子有限公司,未經(jīng)上海東軟載波微電子有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310751856.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





