青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-341  評論-2670  文章-0  trackbacks-0
    Vczh Library++ 3.0終于開始正式進行優化的工作了。當然這里的優化指的是不更改抽象語法樹的情況下盡量進行更加好的代碼生成。根據經驗這一個部分對于程序的影響最為突出。因為一個程序員可能因為具備了編譯器的一些知識而寫出更加高效的代碼,但是卻控制不了如何將一個具體的表達式轉換成匯編指令的過程。因此這部分不得不盡我所能做到最好。

    目前的進度是將表達式的代碼生成分為以下幾大類:
    1、計算引用地址
    2、計算引用地址的同時不運行副作用
    3、計算結果
    4、僅運行副作用
    5、將結果保存至某某地址

    除了一些非左值的表達式不具備1和2,或者一些特別復雜的左值表達式不具備2以外,每一種表達是都具有以上5種代碼生成算法。這樣可以盡可能將無效代碼降至最少。舉個例子,假設我們為表達式e生成了一串指令is,那么語句s:e;的指令顯然應該是is + {pop typeof(e)}。有可能e其實是++i;,那么按照這個方法生成的代碼就會有無效代碼:
    push addressof(i)
    read int
    push 1
    add
    duplicate-stack-top-item int
    push addressof(i)
    write
    pop int
    我們知道紅色的那些指令是不需要的。因為在編譯s的時候,我們并不需要知道++i之后的結果,僅僅是想執行這個表達式的副作用。根據類似的思路,于是就有了上面的5大分類。當然每一個分類還會有自己細微的部分。如何讓代碼生成模塊易于維護就成為一個挑戰了。代碼越復雜,測試也就越復雜。現在只能通過編寫足夠多的測試用例來盡可能覆蓋更多的代碼來使代碼更加穩定。在修改算法的過程中還會引入新的分支,所以測試用例并不能夠總是及時的跟進。于是就有了下面這個設想。

    測試用例總是要人寫的,在面對編譯器這么復雜的東西的時候,還沒什么有效的方法可以來自動生成測試用例。因為我們需要把代碼以及生成的指令集都log到一個文件里面,這樣當一個用例發生了錯誤的時候,我們可以更加迅速地知道究竟是哪里出了問題。但是編寫測試用例的時候,為了不讓語法分析部分的錯誤導致代碼生成的測試結果出錯,因此只好在調用代碼生成的同時不去運行語法分析的代碼。于是我們需要一個將語法樹轉換成字符串的過程,然后將每一個語句的字符串(可以控制一個基本語句只占用一行代碼)變成注釋添加到匯編指令的log部分。這樣我們就可以輕松知道哪些代碼是屬于哪個語句的。

    目前這個部分正在開發,但已經距離勝利不遠了。當這個部分完成之后,就可以添加很多新的測試用例來測試被分成5類的算法了。目前的測試用例僅能保證每一種表達式都被運行過一次,但是不能保證每一個表達式的每一個代碼生成算法都被執行過。

    詳盡的測試可以在早期發現最大量的bug,這樣可以在后續的語言種類繼續建立起來的時候可以專注于該語言種類自己的測試,而不讓其基層的錯誤讓測試變得更加麻煩。
   
posted on 2010-05-31 08:05 陳梓瀚(vczh) 閱讀(2544) 評論(4)  編輯 收藏 引用 所屬分類: VL++3.0開發紀事

評論:
# re: Vczh Library++ 3.0之NativeX語言反向編譯與一些優化 2010-05-31 22:49 | ccsdu2009
和你沒這些計算機專業的相比
編譯原理我是一點都不會!  回復  更多評論
  
# re: Vczh Library++ 3.0之NativeX語言反向編譯與一些優化 2010-06-01 04:39 | radar
哇,師兄?。?!  回復  更多評論
  
# re: Vczh Library++ 3.0之NativeX語言反向編譯與一些優化 2010-06-01 07:18 | 空明流轉
哇,師兄!  回復  更多評論
  
# re: Vczh Library++ 3.0之NativeX語言反向編譯與一些優化 2010-06-01 21:01 | 陳梓瀚(vczh)
@radar
求radar真相  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲视频在线观看| 亚洲开发第一视频在线播放| aa级大片欧美| 国产精品大片免费观看| 亚洲手机视频| 亚洲欧美在线免费观看| 国产日产高清欧美一区二区三区| 久久aⅴ乱码一区二区三区| 亚洲专区国产精品| 精品福利av| 欧美激情性爽国产精品17p| 欧美日韩成人综合| 小嫩嫩精品导航| 久久久精品一区| 99热免费精品| 亚洲免费在线播放| 亚洲大片在线观看| 99国产精品久久久久久久成人热| 国产精品视频免费在线观看| 久久久久久亚洲精品中文字幕 | 久久久久久999| 蜜臀av一级做a爰片久久 | 国产日韩亚洲欧美| 美女91精品| 国产精品久久激情| 免费中文日韩| 国产精品社区| 亚洲国产精品成人| 国产精品视频观看| 91久久国产综合久久91精品网站| 国产精品一二三视频| 欧美国产成人在线| 国产精一区二区三区| 亚洲高清久久| 黄色成人av网| 一区二区三区精品久久久| 在线观看日韩av| 午夜宅男久久久| 亚洲午夜国产成人av电影男同| 久久久久久久999精品视频| 亚洲视频在线观看一区| 欧美r片在线| 裸体歌舞表演一区二区| 国产精品亚洲片夜色在线| 亚洲精品国产欧美| 在线观看中文字幕亚洲| 亚洲综合日韩中文字幕v在线| 亚洲免费观看高清在线观看 | 一区二区三区四区在线| 亚洲狠狠婷婷| 久久免费高清视频| 久久精品国产免费| 国产精品色午夜在线观看| 亚洲激情电影中文字幕| 亚洲国产精品va在线看黑人| 性欧美18~19sex高清播放| 亚洲男人的天堂在线aⅴ视频| 欧美日本国产一区| 亚洲国产日韩一区| 亚洲国产毛片完整版 | 亚洲福利国产| 亚洲国产精品日韩| 美女在线一区二区| 欧美成人中文字幕| 亚洲第一网站| 麻豆成人精品| 亚洲激情视频在线观看| 亚洲精品字幕| 欧美日韩免费区域视频在线观看| 亚洲国产精品一区二区第四页av | 欧美日韩伦理在线免费| 亚洲黄网站黄| 在线综合亚洲| 国产精品theporn| 亚洲一区二区三区免费视频| 亚洲欧美日本另类| 国产日韩欧美在线一区| 欧美一区二区观看视频| 久久这里只精品最新地址| 国内精品一区二区三区| 久久久999国产| 亚洲欧洲精品一区二区三区不卡| 99视频在线精品国自产拍免费观看| 欧美精品久久久久久久久老牛影院| 亚洲激情国产精品| 亚洲免费视频在线观看| 国产亚洲精品美女| 久久久久久久激情视频| 亚洲人www| 亚洲欧美日韩视频二区| 国语自产精品视频在线看一大j8| 蜜桃伊人久久| 一级成人国产| 久久综合久久综合久久| 亚洲精品综合久久中文字幕| 欧美午夜大胆人体| 欧美一区二区三区在线观看| 欧美国产精品va在线观看| 亚洲图片在区色| 韩国美女久久| 欧美三日本三级少妇三2023| 香蕉久久夜色精品国产使用方法 | 99视频超级精品| 国产精品一区二区三区成人| 久久免费国产精品| 亚洲神马久久| 亚洲电影毛片| 欧美在线观看一区二区三区| 亚洲国产精品女人久久久| 国产精品免费小视频| 美女主播精品视频一二三四| 亚洲欧美国产日韩中文字幕| 欧美国产综合视频| 欧美一区二区三区视频免费播放| 最新中文字幕亚洲| 国产欧美一区二区三区视频| 欧美激情影院| 久久精品人人做人人爽电影蜜月| 99精品视频免费全部在线| 老牛影视一区二区三区| 午夜精品久久久久久久久| 亚洲精品国产精品国自产观看浪潮| 国产欧美韩日| 国产精品v片在线观看不卡| 欧美jizz19性欧美| 久久久久久高潮国产精品视| 午夜精品一区二区三区在线视 | 欧美激情一区二区三区高清视频| 翔田千里一区二区| 在线视频亚洲欧美| 日韩亚洲在线观看| 亚洲国产欧美在线| 伊人色综合久久天天| 国产一区二区三区丝袜 | 免费看亚洲片| 久久久久久久97| 久久精品毛片| 久久激情综合| 久久久福利视频| 久久久久九九九九| 久久精品国产2020观看福利| 欧美亚洲一区二区在线观看| 亚洲一区二区三区在线播放| 亚洲一区二区四区| 亚洲女同性videos| 性做久久久久久| 欧美在线国产精品| 久久精品视频在线看| 久久国产主播精品| 久久天天狠狠| 免费永久网站黄欧美| 欧美精品一区二| 欧美日韩中文字幕综合视频| 国产精品99免费看 | 亚洲国产一区二区三区a毛片| 黑人操亚洲美女惩罚| 国内精品久久久久久 | 韩日精品中文字幕| 精品动漫一区| 91久久夜色精品国产九色| 亚洲三级免费| 亚洲综合电影一区二区三区| 亚洲欧美日韩在线不卡| 久久精品夜色噜噜亚洲a∨| 久久久无码精品亚洲日韩按摩| 久久夜色精品国产欧美乱| 欧美99在线视频观看| 日韩视频免费在线观看| 亚洲一区欧美激情| 久久在线精品| 国产精品啊v在线| 狠狠色丁香久久综合频道| 亚洲国产成人精品视频| 亚洲一区久久| 欧美aaa级| 中文在线资源观看网站视频免费不卡| 亚洲欧美在线高清| 欧美高清一区二区| 国产精品视频第一区| 亚洲国产精品久久久久秋霞影院 | 久久久久欧美精品| 91久久在线播放| 午夜视频在线观看一区| 欧美大香线蕉线伊人久久国产精品| 欧美日韩亚洲国产一区| 激情综合五月天| 午夜精品一区二区三区在线播放| 免费在线亚洲| 性感少妇一区| 欧美日韩中文在线观看| 一区二区在线免费观看| 亚洲一区二区在线播放| 欧美电影免费| 欧美一区二区三区免费观看| 欧美日韩99| 亚洲国产一区二区a毛片| 久久精品视频网| 一区二区三区欧美视频| 猛干欧美女孩| 永久免费视频成人|