• <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>
            cyt

            很久以前見(jiàn)識(shí)過(guò)spirit,覺(jué)得十分好用。不過(guò)spirit越做越龐大,對(duì)編譯器的要求越來(lái)越高,加上加入了boost,龐大的讓我卻步。有時(shí)候想簡(jiǎn)單用一下,實(shí)在不忍心引入boost這個(gè)龐然大物。

            今天看到一個(gè)The Parser Toolkit http://sourceforge.net/projects/theptk/?作者號(hào)稱(chēng)受到spirit的啟發(fā)做的。程序比較簡(jiǎn)短,就兩個(gè)頭文件,幫助也比較清晰,功能不算十分強(qiáng)勁,但也夠用了。

            之所以喜歡spirit、theptk之類(lèi)的東西而不喜歡用yacc之類(lèi)的,主要是不喜歡程序需要預(yù)處理,而且代碼這樣比較直觀,和C++結(jié)合比較好。

            posted on 2005-10-08 14:49 cyt 閱讀(817) 評(píng)論(4)  編輯 收藏 引用
            Comments
            • # re: 除了spirit的另一個(gè)選擇
              Exile_
              Posted @ 2005-10-22 03:57
              codeproject 上有一個(gè) yard 庫(kù), 也很簡(jiǎn)單,同時(shí)他對(duì)于文法的定義沒(méi)有采用操作符重載的形式,比如也就省去了對(duì)于臨時(shí)對(duì)象的管理,效率更高.
              比如 rule<input_t> E = F || T;
              變?yōu)?struct E : or_<E, T> {};  回復(fù)  更多評(píng)論   
            • # re: 除了spirit的另一個(gè)選擇
              cyt
              Posted @ 2005-10-23 21:16
              多謝介紹!

              yard這個(gè)project可以在 http://sourceforge.net/projects/yard-parser/找到,另外作者主頁(yè)在 http://www.cdiggins.com/; codeproject上也有一些相關(guān)的介紹文章:

              http://www.codeproject.com/cpp/yard-xml-parser.asp

              http://www.codeproject.com/cpp/yard-tokenizer.asp

                回復(fù)  更多評(píng)論   
            • # re: 除了spirit的另一個(gè)選擇
              eXile
              Posted @ 2005-10-24 14:12
              我簡(jiǎn)單地看了一下 theptk 的實(shí)現(xiàn), 發(fā)現(xiàn)有兩個(gè)不爽的地方:
              1. shared_ptr的使用和 weak_ptr 的古怪設(shè)計(jì), 如果在設(shè)計(jì)時(shí)明確的區(qū)分 rule 和 grammar_p 的概念,這兩個(gè)智能指針是完全可以不用的;
              2. 事件機(jī)制的設(shè)計(jì), 不直觀,太復(fù)雜 為什么不像 spirit 一樣用操作符[] 實(shí)現(xiàn)語(yǔ)義動(dòng)作呢? 這樣實(shí)現(xiàn)并不復(fù)雜, 象 Biscuit parser庫(kù)(這是一個(gè)在 yard 基礎(chǔ)上設(shè)計(jì)出來(lái)的庫(kù),也可在codeproject 上找到) ,就加了一個(gè)actor_分析器,實(shí)現(xiàn)語(yǔ)義動(dòng)作.  回復(fù)  更多評(píng)論   
            • # re: 除了spirit的另一個(gè)選擇
              cyt
              Posted @ 2005-10-24 17:27
              應(yīng)該是不難實(shí)現(xiàn)的。
              另外很不爽的一個(gè)地方就是處理語(yǔ)義的地方,沒(méi)有傳入?yún)?shù),也就是說(shuō)一段代碼只能夠有一種處理語(yǔ)義的方法。
              作者只發(fā)布了一個(gè)版本,到現(xiàn)在沒(méi)有更新,作者也沒(méi)有再出現(xiàn)過(guò),都不知道作者是不是已經(jīng)放棄這個(gè)東西了……  回復(fù)  更多評(píng)論   

            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


             
            日韩精品国产自在久久现线拍| 欧美日韩久久中文字幕| 好久久免费视频高清| AA级片免费看视频久久| 精品久久久久久无码中文字幕 | 久久无码AV一区二区三区| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 精品久久久久久中文字幕人妻最新| 日韩精品久久无码中文字幕| 精品久久久久久久中文字幕| 久久精品国产亚洲AV蜜臀色欲| 国产成人久久激情91| 亚洲综合熟女久久久30p| 国产精品日韩欧美久久综合| www久久久天天com| 精品无码久久久久久尤物| 亚洲人成无码www久久久| 精品国产一区二区三区久久蜜臀| 色综合久久久久综合体桃花网| 欧美久久久久久精选9999| 久久人人爽人人爽人人片AV麻豆 | 久久精品国产精品青草| 欧洲精品久久久av无码电影 | 99精品国产99久久久久久97| 亚洲精品国产美女久久久| 熟妇人妻久久中文字幕| 久久棈精品久久久久久噜噜| 亚洲AV无码成人网站久久精品大| 一级a性色生活片久久无少妇一级婬片免费放 | 久久精品中文字幕第23页| 亚洲精品乱码久久久久久蜜桃| 一级a性色生活片久久无| 麻豆AV一区二区三区久久 | 成人综合久久精品色婷婷| 亚洲国产另类久久久精品黑人| 99久久精品国产一区二区| 精品国产青草久久久久福利| 国产精品成人久久久久久久| 久久天天躁夜夜躁狠狠躁2022| 久久综合综合久久97色| 久久精品国产亚洲av日韩|