• <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  評(píng)論-2670  文章-0  trackbacks-0
                今天我終于實(shí)現(xiàn)了偉大的智能提示了,真是渾身上下都在發(fā)光啊。這次智能提示的代碼可以在Vczh Library+ 3.0的頁(yè)面上看到。我使用了上一篇文章所提到的技術(shù),在用戶輸入文字的時(shí)候,通過(guò)迅速獲得“當(dāng)前編輯語(yǔ)句”的語(yǔ)法樹(shù),再加上舊的“當(dāng)前編輯語(yǔ)句”的作用域?qū)ο螅瑏?lái)判斷用戶究竟處于整份代碼的什么地方,最后給出正確的提示。

                下面開(kāi)始貼圖了哈。

                                                  


                整整兩天不容易啊,期間修掉了很多bug,因?yàn)檫@次整個(gè)parser都在面對(duì)一些殘缺不全的代碼。下一篇文章我會(huì)重點(diǎn)描述關(guān)于IDE里面處理兩顆有些時(shí)候不夠同步得樹(shù)的算法。 

                在這里遇到的問(wèn)題一般都是如何確定一個(gè)語(yǔ)法樹(shù)節(jié)點(diǎn)覆蓋的源代碼的位置。當(dāng)然這個(gè)主要是語(yǔ)法分析器干的事情,不過(guò)實(shí)在是太復(fù)雜了,主要是我不想寫(xiě)語(yǔ)法分析器,轉(zhuǎn)而寫(xiě)了一個(gè)生成器,因此就不得不開(kāi)發(fā)一個(gè)通用的算法出來(lái)。第二步就是,通過(guò)光標(biāo)的位置來(lái)判斷用戶接下來(lái)需要輸入的東西是什么,這一步也比較囧,因?yàn)樯婕暗胶芏嗲闆r。用戶輸入的代碼可能是殘缺不全的,因此語(yǔ)法樹(shù)的任何一個(gè)屬性(包括語(yǔ)法書(shū)自己)都有可能是null,稍微一不小心就會(huì)犯錯(cuò)誤了……
               
            posted on 2010-11-07 03:11 陳梓瀚(vczh) 閱讀(24679) 評(píng)論(23)  編輯 收藏 引用 所屬分類: 開(kāi)發(fā)自己的IDE

            評(píng)論:
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-07 03:56 | 溪流
            哇~贊~!代碼變成了圖片,終于看得懂了= =  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-07 05:22 | DiryBoy
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-07 06:01 | lwch
            厲害啊...  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-07 18:29 | 陳昱(CY)
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-07 22:02 | 叫我老王吧
            頂一個(gè)  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-08 04:47 | Pear
            再次來(lái)膜拜  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-08 16:49 | 主打歌
            為什么不向visual assist取取經(jīng)呢?  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-08 17:52 | 潘孫友
            太牛X了。。。  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-08 18:08 | 溪流
            @主打歌
            我看著挺有VA的味道呀。。。不過(guò)智能提示也都差不多這樣子了。。。
            只是覺(jué)著“為什么不”是個(gè)讀起來(lái)讓人感覺(jué)不太友好的提問(wèn)方式~  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-08 21:06 | dazhuang
            真讓人羨慕,能講解一下開(kāi)發(fā)思路嗎  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-08 23:02 | 空明流轉(zhuǎn)
            @dazhuang
            簡(jiǎn)而言之,人肉。  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-09 11:01 | ooseven
            好像沒(méi)有看到函數(shù)調(diào)用參數(shù)提示  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-09 11:02 | ooseven
            好像沒(méi)有看到函數(shù)參數(shù)提示  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-09 16:42 | ooseven
            而且上面的提示信息好像都是c++系統(tǒng)本身的信息,復(fù)雜的動(dòng)態(tài)信息提示沒(méi)看到。比如多繼承類與模板類下的類函數(shù)提示。這個(gè)比較關(guān)鍵,連微軟與va都做不好。建議你做好后,移植幾個(gè)boost的庫(kù)到你的語(yǔ)言下,然后再試試,估計(jì)你會(huì)絕望!  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-09 16:43 | ooseven
            而且上面的提示信息好像都是語(yǔ)言系統(tǒng)本身的信息,復(fù)雜的動(dòng)態(tài)信息提示沒(méi)看到。比如多繼承類與模板類下的類函數(shù)提示。這個(gè)比較關(guān)鍵,連微軟與va都做不好。建議你做好后,移植幾個(gè)boost的庫(kù)到你的語(yǔ)言下,然后再試試,估計(jì)你會(huì)絕望!  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-09 16:44 | ooseven
            特別是模板類下的只能提示,不止絕望,連自殺的心情都有!  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-09 18:10 | 陳梓瀚(vczh)
            @ooseven
            我這是我自己設(shè)計(jì)的語(yǔ)言啊,不是C++,沒(méi)有類的,只有模板和concept,看清楚哈。  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-09 23:38 | CR蘇杭
            樓主你真的是渾身上下都在發(fā)光  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-10 01:18 | ooseven
            @陳梓瀚(vczh)
            我知道是你設(shè)計(jì)的語(yǔ)言,不過(guò)我印象中你的語(yǔ)言好像是支持類的,是我記錯(cuò)了,不過(guò)類,多態(tài)的支持應(yīng)該加上吧?這個(gè)含關(guān)鍵啊,加上了這個(gè)就可以很方便的設(shè)計(jì)類庫(kù)了。
              回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-10 03:52 | 陳梓瀚(vczh)
            @ooseven
            這是在計(jì)劃中的,只是跟你的想象有點(diǎn)出入而已。  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-10 04:09 | 陳梓瀚(vczh)
            @ooseven
            你可能把我以前做過(guò)的語(yǔ)言跟這個(gè)混了吧……  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-10 20:04 | gaimor
            不錯(cuò) 年輕有為  回復(fù)  更多評(píng)論
              
            # re: 開(kāi)發(fā)自己的IDE(十),我終于搞定了智能提示了哇哈哈 2010-11-11 01:08 | mm
            好強(qiáng)大好強(qiáng)大!!!  回復(fù)  更多評(píng)論
              
            国产99精品久久| 久久久这里有精品| 丰满少妇高潮惨叫久久久| 国产精品青草久久久久福利99| 亚洲乱码日产精品a级毛片久久| 久久99热这里只频精品6| 97热久久免费频精品99| 久久国产AVJUST麻豆| 亚洲国产视频久久| 欧美粉嫩小泬久久久久久久| 国产精品岛国久久久久| 婷婷五月深深久久精品| 久久天天躁狠狠躁夜夜躁2014| 久久伊人精品青青草原日本| 精品久久久久久国产91| 九九久久99综合一区二区| 无码AV波多野结衣久久| 久久夜色精品国产亚洲| 国内精品伊人久久久久影院对白| 久久九色综合九色99伊人| 2021国产精品久久精品| 精品国产综合区久久久久久| 久久久久久国产精品无码下载| 嫩草影院久久国产精品| 99久久国产亚洲高清观看2024 | 成人国内精品久久久久影院VR| 国产精品一区二区久久精品涩爱| 国产成人精品久久一区二区三区av| 久久久久成人精品无码中文字幕| 久久久精品一区二区三区| 久久人人爽人人人人爽AV| 国内精品九九久久精品| 国产精品18久久久久久vr| 亚洲国产成人久久精品影视| 91精品国产91久久| 色综合久久夜色精品国产| 久久久久国产精品人妻| 99久久免费国产精品热| 人妻丰满?V无码久久不卡| 亚洲AV无一区二区三区久久| 久久99久久无码毛片一区二区|