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