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

隨筆-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>
            亚洲免费婷婷| 欧美中在线观看| 亚洲国产精品123| 久久青草久久| 亚洲肉体裸体xxxx137| 欧美国产一区二区在线观看| 久久精品国产综合| 亚洲国产日韩欧美在线动漫| 欧美激情亚洲自拍| 欧美日韩一区二区在线观看| 亚洲欧美久久| 新片速递亚洲合集欧美合集| 在线高清一区| 亚洲三级视频| 国产精品最新自拍| 欧美大学生性色视频| 欧美人与性动交α欧美精品济南到| 亚洲图片自拍偷拍| 小嫩嫩精品导航| 亚洲美女黄色| 亚洲专区一区| 亚洲国产午夜| 亚洲一级在线观看| 亚洲国产欧美在线人成| 在线视频精品一| 一区二区三区中文在线观看| 亚洲精品自在久久| 黄色成人片子| 亚洲深夜激情| 亚洲日本在线视频观看| 亚洲欧美日韩在线播放| 亚洲精品欧美激情| 欧美一级视频| 一区二区欧美日韩| 久久精品国产v日韩v亚洲| 99精品国产99久久久久久福利| 午夜精彩视频在线观看不卡| 亚洲毛片在线看| 久久人人爽人人爽爽久久| 亚洲欧美视频一区| 欧美电影免费观看高清| 久久国产精品久久国产精品| 欧美精品不卡| 欧美国产精品久久| 国产真实久久| 亚洲午夜精品国产| 一区二区三区高清| 美女主播一区| 美女视频网站黄色亚洲| 国产女主播一区二区| 99国产精品久久久久久久| 亚洲品质自拍| 欧美a级理论片| 免费欧美在线| 在线成人激情视频| 欧美一区1区三区3区公司| 亚洲女女女同性video| 欧美日本免费| 亚洲精品国产精品乱码不99| 91久久黄色| 免费成人高清视频| 欧美激情亚洲激情| 亚洲国产成人不卡| 久久一区二区三区av| 免费日韩一区二区| 亚洲国产精品成人精品| 久久久亚洲成人| 免费在线看成人av| 亚洲人成网站精品片在线观看| 另类图片综合电影| 亚洲国产一区二区在线| 亚洲精品日韩欧美| 欧美日韩成人在线观看| 日韩网站在线观看| 亚洲欧美日韩成人| 国产人成一区二区三区影院| 久久成人免费| 欧美a级片一区| 日韩亚洲不卡在线| 国产精品久久久久久久电影| 亚洲综合第一页| 久久久亚洲欧洲日产国码αv| 韩国三级在线一区| 免费看成人av| 亚洲精品视频在线| 亚洲欧美国产视频| 国产在线观看一区| 免费视频久久| 中文精品在线| 久久资源av| 99国产精品国产精品久久| 国产精品久久久久久久久久久久久| 亚洲女人天堂成人av在线| 久久一区二区精品| 一本大道av伊人久久综合| 国产精品美女www爽爽爽| 久久久久国产一区二区| 亚洲国产免费看| 欧美一区永久视频免费观看| 亚洲国产欧美日韩另类综合| 欧美日韩综合在线免费观看| 久久国产精品99国产精| 亚洲国产精品一区二区三区| 亚洲欧美综合精品久久成人| 亚洲国产高潮在线观看| 国产精品红桃| 欧美v国产在线一区二区三区| 一区二区三区精品| 欧美黄色aaaa| 久久国产视频网| 这里只有精品视频| 在线观看视频一区二区| 国产精品久久久久久av下载红粉| 久久久久久久高潮| 亚洲视频每日更新| 亚洲精品1区| 久久综合网色—综合色88| 亚洲一区二区三区免费在线观看| 精品999久久久| 国产精品亚洲成人| 欧美精品自拍| 欧美成人在线免费观看| 久久电影一区| 午夜精品亚洲| 亚洲小说区图片区| 99精品视频免费观看视频| 亚洲第一页在线| 免费一区视频| 久久婷婷综合激情| 久久大香伊蕉在人线观看热2| 在线视频日韩精品| 亚洲精品欧洲精品| 亚洲欧洲一区二区在线观看| 亚洲成人自拍视频| 国内精品久久久久影院薰衣草| 国产精品区一区二区三| 国产精品黄视频| 欧美午夜久久| 国产精品jvid在线观看蜜臀| 欧美日韩一区二区视频在线| 欧美激情视频免费观看| 欧美成人影音| 欧美另类变人与禽xxxxx| 蜜桃av一区二区| 欧美成年视频| 欧美激情一区二区三区高清视频 | 久久久久久九九九九| 亚洲欧美精品suv| 午夜一区二区三区在线观看| 亚洲欧美高清| 欧美一区二区三区日韩| 久久成人国产| 麻豆精品视频在线观看视频| 美女视频黄 久久| 欧美激情中文字幕一区二区| 亚洲国产欧美不卡在线观看| 亚洲国产精品久久久久久女王| 亚洲高清免费在线| 亚洲伦理在线观看| 亚洲一区二区三区精品在线 | 欧美成人精品不卡视频在线观看| 欧美电影免费观看高清| 欧美激情亚洲国产| 妖精成人www高清在线观看| 亚洲一级特黄| 久久久久天天天天| 欧美精品99| 国产农村妇女精品一二区| 尹人成人综合网| 999在线观看精品免费不卡网站| 亚洲影视在线播放| 久久久999精品视频| 亚洲第一毛片| 亚洲性夜色噜噜噜7777| 久久免费偷拍视频| 欧美日韩在线大尺度| 国户精品久久久久久久久久久不卡| 亚洲第一区在线观看| 亚洲午夜av电影| 久久综合免费视频影院| 日韩亚洲一区二区| 久久狠狠一本精品综合网| 欧美精品高清视频| 国产综合香蕉五月婷在线| 亚洲精品欧美极品| 久久久www成人免费毛片麻豆| 亚洲黄一区二区| 久久精品国产亚洲精品| 欧美日韩一区二区三区四区在线观看| 国产欧美一区二区白浆黑人| 亚洲九九精品| 蜜臀99久久精品久久久久久软件 | 玖玖视频精品| 在线亚洲欧美视频| 女人色偷偷aa久久天堂| 国模精品一区二区三区| 亚洲视频电影图片偷拍一区| 欧美r片在线| 欧美亚洲一级片| 国产精品jvid在线观看蜜臀|