• <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>
            隨筆-341  評論-2670  文章-0  trackbacks-0
                接著上一篇的話題。開發智能提示首要的問題就是開發一個高性能的語法分析器。一個高性能的語法分析器總是包含一個高性能的詞法分析器的。本系列的第一篇已經提到了用C#和狀態機寫著色器對10萬行代碼進行著色只需要半秒。鑒于我們大部分的程序文件都只是幾千行,因此用相同的技術開發的詞法分析器顯然可以在幾十毫秒內完成對文件的分析,從而再也不需要擔心詞法分析器的性能問題了。

                著色器的狀態機一般都比詞法分析器的狀態機簡單,因為我們總是使用一個顏色來表達一些類型的記號(譬如操作符、數字和名字一般都用同樣的顏色——黑色)。因此我們每當支持一種新語言或者當語言升級的修改IDE的時候,總是要同時修改兩個狀態機。手寫狀態機是很容易出錯的,就如同手寫語法分析器也很容易出錯一樣。語法分析器的解決辦法是讓你給文法來生成語法分析器的代碼,因此詞法分析器和著色器也使用類似的方法:給狀態機生成代碼。

                目前這個狀態機只做了一半:只能畫狀態,暫時還不能指定顏色或者記號類型。當然添加一個指定顏色的功能是很簡單的,不過我還需要想一想如何用圖像來表達,讓狀態機顯得更清晰。今天做了一個晚上搞定了狀態機的編輯程序,如圖所示:

                接下來就可以開發兩個功能,第一個是生成著色器的代碼,第二個是生成詞法分析器的代碼。這樣就可以避免因為程序寫錯從而省下一大堆調試的時間了。
            posted on 2010-09-19 09:58 陳梓瀚(vczh) 閱讀(7156) 評論(6)  編輯 收藏 引用 所屬分類: 開發自己的IDE

            評論:
            # re: 開發自己的IDE(四) 2010-09-19 16:33 | 路青飛
            有個小小的疑問,為啥要用C#開發,為啥不用C++  回復  更多評論
              
            # re: 開發自己的IDE(四) 2010-09-19 17:45 | 空明流轉
            我說師祖啊,你每天都要被C++的擁躉折磨很長時間吶。其實我也希望你搞個C++的,然后我就可以用了。你現在這樣我咋移植。。。  回復  更多評論
              
            # re: 開發自己的IDE(四) 2010-09-19 19:04 | 陳梓瀚(vczh)
            @空明流轉
            我整個引擎都是C++寫的,只是IDE部分不是哈。你就讓linux用戶裝個mono,照樣移植。  回復  更多評論
              
            # re: 開發自己的IDE(四) 2010-09-19 19:04 | 陳梓瀚(vczh)
            @路青飛
            因為C++寫GUI吃力不討好,為什么不用C#呢。  回復  更多評論
              
            # re: 開發自己的IDE(四) 2010-09-20 02:43 | meax
            @陳梓瀚(vczh)
            大多數人都喜歡小巧快速,或者稱之為精致的東西。虛擬機目前還做不到這一點  回復  更多評論
              
            # re: 開發自己的IDE(四) 2010-09-20 18:07 | 陳梓瀚(vczh)
            @meax
            IDE本來就不精致,追求做IDE的東西要精致這顯然是不合理的哈。你看那個臃腫的java做eclipse和JBuilder不也是那么多人用。  回復  更多評論
              
            无码人妻久久久一区二区三区 | 久久久一本精品99久久精品66| 欧美久久久久久| 色偷偷偷久久伊人大杳蕉| 亚洲国产成人久久综合一| 看全色黄大色大片免费久久久| 精品久久久一二三区| a级成人毛片久久| 色综合久久88色综合天天 | 一本色道久久综合亚洲精品| 国产精品gz久久久| 久久天天躁狠狠躁夜夜avapp| 久久国产精品一区| 精品久久人妻av中文字幕| 久久亚洲av无码精品浪潮| 国产精品国色综合久久| 亚洲国产视频久久| 激情五月综合综合久久69| 99精品国产在热久久| 四虎国产精品成人免费久久| 久久精品亚洲男人的天堂| 狠色狠色狠狠色综合久久| 无码精品久久久天天影视| 久久亚洲精品无码aⅴ大香| 久久综合狠狠综合久久激情 | 国产99精品久久| 久久久精品国产免大香伊| 蜜桃麻豆www久久国产精品| 青草影院天堂男人久久| 国产99精品久久| 91精品国产综合久久久久久| AV无码久久久久不卡蜜桃| 精品无码久久久久国产| 99国产精品久久| 午夜不卡888久久| 国产—久久香蕉国产线看观看| 精品999久久久久久中文字幕| 狠狠色婷婷综合天天久久丁香 | 国产成人精品久久一区二区三区av| 久久久久久久亚洲Av无码| 欧美亚洲色综久久精品国产|