COStream編譯器的抽象語法樹重構(gòu)與優(yōu)化
發(fā)布時間:2021-07-17 08:59
隨著多核架構(gòu)平臺的發(fā)展,人們對數(shù)據(jù)和計算能力提出了更高的要求。COStream數(shù)據(jù)流編程語言作為一種高效的并行編程模型,能充分利用數(shù)據(jù)并行、任務(wù)并行和流水并行挖掘程序的并行性,具有速度快、功耗低、簡單易用等特點。隨著技術(shù)的發(fā)展,在COStream的迭代更新過程中,COStream出現(xiàn)了設(shè)計不靈活、難擴展、難維護、適用性低等問題。針對COStream編譯器所面臨的問題,設(shè)計并實現(xiàn)了COStream編譯器的抽象語法樹重構(gòu)與優(yōu)化。針對抽象語法樹的結(jié)構(gòu)特點,利用面向?qū)ο缶幊痰乃枷雽φZ法樹結(jié)構(gòu)進行優(yōu)化設(shè)計,從詞法分析、語法分析、接口調(diào)用適配和代碼生成等階段對COStream編譯器進行重構(gòu),大大提高了語法樹的設(shè)計靈活性和可擴展性。通過完善調(diào)試信息與錯位定位功能,提供符號表管理、內(nèi)存優(yōu)化管理機制,提升了COStream的內(nèi)存性能和編程友好性。針對COStream缺乏庫支持的問題,提出了基于COStream編譯系統(tǒng)的文法與庫擴展流程規(guī)范,介紹數(shù)據(jù)流文法擴展基本方法,從本地庫擴展和外部庫擴展兩個方面對COStream編譯器進行庫擴展,能有效的提升COStream的通用性和適用性。本課題以X86架構(gòu)多核處...
【文章來源】:華中科技大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:55 頁
【學(xué)位級別】:碩士
【部分圖文】:
詞法分析器和語法分析器之間的交互如圖2.2所示,在詞法分析第一階段,F(xiàn)lex工具采用擴展的正則表達式識別相
中 科 技 大 學(xué) 碩 士 學(xué) 位 符號組成,它們是語法的“單詞”。符號由一。符號 error 代表錯誤恢復(fù)。由詞法分析器產(chǎn)法分析器產(chǎn)生的符號被移交給語法分析器做語,規(guī)則左部定義的符號被稱為非終結(jié)符?扑狗妒剑 Backus-Naur Form,BNF)的規(guī)則對.5所示,在語法構(gòu)建階段, COStream 文法入口on.unit 表示文法入口,translation.unit 可以進行.unit 由 declaration 聲明、普通 function 聲明和 m 源程序頂層可由全局變量定義、函數(shù)定義以
圖 2.6 表達式規(guī)約巴科斯范式和運算符優(yōu)先級定義樹結(jié)構(gòu)設(shè)計項目工程中,語法樹的結(jié)構(gòu)設(shè)計采用了大量復(fù)雜的嵌套數(shù)據(jù)類型結(jié)構(gòu)導(dǎo)致在語義檢查、常量傳播以及代碼生成階段對抽象語法樹性和語義不明。因此,我們利用面向?qū)ο蟮乃枷、多態(tài)機制與 S支持,設(shè)計了一種新型的抽象語法樹結(jié)構(gòu),大大提高了程序的可和可維護性,減小項目的更新迭代和維護成本。樹結(jié)構(gòu)設(shè)計 2.7 所示為原工程抽象語法樹結(jié)構(gòu)圖,Node 類包含節(jié)點類型、定結(jié)構(gòu),其 union 結(jié)構(gòu)是所有語法樹節(jié)點類的集合,對于所有的語類作為其子成員,其節(jié)點之間的耦合度高,在對語法樹進行訪問造成一定程度的語義不明,此種語法樹結(jié)構(gòu)缺乏一定的層次關(guān)系。
【參考文獻】:
期刊論文
[1]CCodeExtractor:一種針對C程序自動化的函數(shù)提取方法[J]. 張其良,張昱,周坤. 計算機科學(xué). 2017(04)
[2]基于抽象語法樹和多態(tài)機制的復(fù)雜條件語句自動重構(gòu)研究[J]. 劉偉,胡志剛,劉宏韜. 電子科技大學(xué)學(xué)報. 2014(05)
[3]COStream:一種面向數(shù)據(jù)流的編程語言和編譯器實現(xiàn)[J]. 張維維,魏海濤,于俊清,李鶴,黎昊,楊秋吉. 計算機學(xué)報. 2013(10)
[4]任務(wù)并行編程模型研究與進展[J]. 王蕾,崔慧敏,陳莉,馮曉兵. 軟件學(xué)報. 2013(01)
[5]基于K-最近鄰的C克隆代碼重構(gòu)方法[J]. 馮江輝,王甜甜,蘇小紅,馬培軍. 智能計算機與應(yīng)用. 2011(03)
[6]使用抽象語法樹和靜態(tài)分析的克隆代碼自動重構(gòu)方法[J]. 于冬琦,彭鑫,趙文耘. 小型微型計算機系統(tǒng). 2009(09)
碩士論文
[1]基于COStream的HEVC并行編碼方法研究[D]. 莫斌生.華中科技大學(xué) 2017
[2]基于數(shù)據(jù)流的圖像特征值提取與索引構(gòu)建方法研究[D]. 肖碩.華中科技大學(xué) 2015
本文編號:3287863
【文章來源】:華中科技大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:55 頁
【學(xué)位級別】:碩士
【部分圖文】:
詞法分析器和語法分析器之間的交互如圖2.2所示,在詞法分析第一階段,F(xiàn)lex工具采用擴展的正則表達式識別相
中 科 技 大 學(xué) 碩 士 學(xué) 位 符號組成,它們是語法的“單詞”。符號由一。符號 error 代表錯誤恢復(fù)。由詞法分析器產(chǎn)法分析器產(chǎn)生的符號被移交給語法分析器做語,規(guī)則左部定義的符號被稱為非終結(jié)符?扑狗妒剑 Backus-Naur Form,BNF)的規(guī)則對.5所示,在語法構(gòu)建階段, COStream 文法入口on.unit 表示文法入口,translation.unit 可以進行.unit 由 declaration 聲明、普通 function 聲明和 m 源程序頂層可由全局變量定義、函數(shù)定義以
圖 2.6 表達式規(guī)約巴科斯范式和運算符優(yōu)先級定義樹結(jié)構(gòu)設(shè)計項目工程中,語法樹的結(jié)構(gòu)設(shè)計采用了大量復(fù)雜的嵌套數(shù)據(jù)類型結(jié)構(gòu)導(dǎo)致在語義檢查、常量傳播以及代碼生成階段對抽象語法樹性和語義不明。因此,我們利用面向?qū)ο蟮乃枷、多態(tài)機制與 S支持,設(shè)計了一種新型的抽象語法樹結(jié)構(gòu),大大提高了程序的可和可維護性,減小項目的更新迭代和維護成本。樹結(jié)構(gòu)設(shè)計 2.7 所示為原工程抽象語法樹結(jié)構(gòu)圖,Node 類包含節(jié)點類型、定結(jié)構(gòu),其 union 結(jié)構(gòu)是所有語法樹節(jié)點類的集合,對于所有的語類作為其子成員,其節(jié)點之間的耦合度高,在對語法樹進行訪問造成一定程度的語義不明,此種語法樹結(jié)構(gòu)缺乏一定的層次關(guān)系。
【參考文獻】:
期刊論文
[1]CCodeExtractor:一種針對C程序自動化的函數(shù)提取方法[J]. 張其良,張昱,周坤. 計算機科學(xué). 2017(04)
[2]基于抽象語法樹和多態(tài)機制的復(fù)雜條件語句自動重構(gòu)研究[J]. 劉偉,胡志剛,劉宏韜. 電子科技大學(xué)學(xué)報. 2014(05)
[3]COStream:一種面向數(shù)據(jù)流的編程語言和編譯器實現(xiàn)[J]. 張維維,魏海濤,于俊清,李鶴,黎昊,楊秋吉. 計算機學(xué)報. 2013(10)
[4]任務(wù)并行編程模型研究與進展[J]. 王蕾,崔慧敏,陳莉,馮曉兵. 軟件學(xué)報. 2013(01)
[5]基于K-最近鄰的C克隆代碼重構(gòu)方法[J]. 馮江輝,王甜甜,蘇小紅,馬培軍. 智能計算機與應(yīng)用. 2011(03)
[6]使用抽象語法樹和靜態(tài)分析的克隆代碼自動重構(gòu)方法[J]. 于冬琦,彭鑫,趙文耘. 小型微型計算機系統(tǒng). 2009(09)
碩士論文
[1]基于COStream的HEVC并行編碼方法研究[D]. 莫斌生.華中科技大學(xué) 2017
[2]基于數(shù)據(jù)流的圖像特征值提取與索引構(gòu)建方法研究[D]. 肖碩.華中科技大學(xué) 2015
本文編號:3287863
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3287863.html
最近更新
教材專著