• <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久久无毒不卡 | 久久综合久久久| 久久无码精品一区二区三区| 99精品国产在热久久| 国产精品无码久久久久久| 久久天堂AV综合合色蜜桃网| 久久99精品久久久大学生| 99久久这里只精品国产免费| 久久婷婷国产剧情内射白浆| 成人综合久久精品色婷婷| 久久亚洲精品成人无码网站| 天堂久久天堂AV色综合| 久久亚洲精品国产精品| 国产精品久久久久久久久鸭| 久久精品草草草| 精品国产青草久久久久福利| 久久人人爽人人澡人人高潮AV| 久久精品成人一区二区三区| 亚洲国产综合久久天堂 | 久久AⅤ人妻少妇嫩草影院| 色综合久久久久| 久久久久亚洲AV成人网人人网站| 久久久久无码精品国产app| 久久频这里精品99香蕉久| 一本一本久久aa综合精品| 久久综合综合久久97色| 久久久久久国产精品美女| 囯产极品美女高潮无套久久久 | 日日狠狠久久偷偷色综合0| 亚洲中文久久精品无码ww16| 久久久精品免费国产四虎| 久久天天婷婷五月俺也去| 久久A级毛片免费观看| 久久国产精品免费一区二区三区 | 77777亚洲午夜久久多喷| 99久久人妻无码精品系列| 久久久久这里只有精品| jizzjizz国产精品久久| 久久久久久无码国产精品中文字幕 | 久久国产精品国产自线拍免费| 久久伊人五月天论坛|