[連結] WeiParserGenerator released under GPLv3

看板PLT (程式語言與理論)作者 (Wei Hu)時間17年前 (2007/11/24 12:50), 編輯推噓7(7019)
留言26則, 3人參與, 最新討論串1/3 (看更多)
最近我把之前寫的一個 parser generator 放在 google code 上面 release 出來, 名叫 Wei Parser Generator. 她的 project page 在 http://code.google.com/p/wei-parser-generator/ 討論區在 http://groups.google.com/group/wei-parser-generator 詳細的圖文解釋在 http://code.google.com/p/wei-parser-generator/wiki/Chinese_Introduction 你可以從 project page 的 downloads 區下載她的 source code, 也可以直接從 project page 的 Source 區取得使用 svn 下載的方法. << 簡介 >> 這個 Wei Parser Generator (wpg) 是一個 LL(k) parser generator, 它具有下列特點: * 允許使用者自訂想要的 lookahead 深度 * 支援 EBNF (Extended BNF) 語法或純粹的 BNF 語法. * 如果 grammar 只有使用到單純的 BNF 語法, 那麼便可以命令 wpg 自動的進行: 1. left recursion removal. (使用 Paull's algorithm) 2. left factoring. * 利用 graphviz 套件, wpg 可以將 grammar 轉成樹狀圖. Wei Parser Generator 目前支援 Microsoft Visual C++ 2005 (express) compiler. 但理論上, 任何符合 C++ 標準的 compiler 都可以順利的編譯它. Wei Parser Generator (wpg) 使用到 C++ (STL) 及 boost library 以及 Wei Common Library, 所以要編譯 wpg 需要一個 C++ compiler (越符合 C++ standard 越好), 以及事先安裝好 boost library 及 Wei Common Library. * boost: http://www.boost.org/ * Wei Common Library: http://code.google.com/p/wei-common-library/ -- http://www.csie.ntu.edu.tw/~r88052/main/tw/frame.html -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.70.75.219

11/24 13:57, , 1F
有空時來玩玩看...測測在 g++ 和 comeau 上的相容性 :p
11/24 13:57, 1F

11/24 14:11, , 2F
稍微翻了一下,看來有不少地方要修修改改才能過...
11/24 14:11, 2F

11/25 17:59, , 3F
我在寫 wpg 的時候用到的都是 standard C++ syntax,
11/25 17:59, 3F

11/25 18:00, , 4F
而且應該沒有用到 win32 specific header files
11/25 18:00, 4F

11/25 18:00, , 5F
maybe definitions 要注意一下.
11/25 18:00, 5F

11/25 18:00, , 6F
我懶得替 make 寫 makefile 了....
11/25 18:00, 6F

11/25 21:06, , 7F
是全部都看過一次,只是看到 windows.h 和 dll export
11/25 21:06, 7F

11/25 21:07, , 8F
^沒 漏字...
11/25 21:07, 8F

11/25 21:30, , 9F
喔~ 我有用到 windows.h 喔?... hmmm..... 有點忘了..
11/25 21:30, 9F

11/25 21:32, , 10F
剛剛 review 了一下, windows.h 應該可以從 precompiled
11/25 21:32, 10F

11/25 21:32, , 11F
header 中拿掉才對
11/25 21:32, 11F

11/25 21:32, , 12F
因為我應該沒用到 windows specific 的 facilities 才對.
11/25 21:32, 12F

11/25 22:51, , 13F
找不到 wcscpy_s... 查了一下有點像 vc 的東西
11/25 22:51, 13F

11/25 22:52, , 14F
放棄 :o 應該還會有不少問題沒辦法一下解決
11/25 22:52, 14F

11/25 22:55, , 15F
每次看到 msdn 寫一堆非標準卻又宣稱標準的東西實在很頭痛
11/25 22:55, 15F

11/26 09:21, , 16F
恩, wcscpy_s 這類 _s 的 function, 是定義在
11/26 09:21, 16F

11/26 09:22, , 17F
ISO/IEC TR 24731 中, 這些 function 的規範更嚴謹,
11/26 09:22, 17F

11/26 09:22, , 18F
好處也更多. 我當初也很驚訝 VC2005 實現了這套.
11/26 09:22, 18F

11/26 09:22, , 19F
不只 vc2005 有, openwatcom 1.5 以後也都有.
11/26 09:22, 19F

11/26 09:23, , 20F
這算是 c library 的 extension. 跟 compiler 沒關.
11/26 09:23, 20F

11/26 09:23, , 21F
要怪就怪 glibc 怎麼進度這麼慢吧.
11/26 09:23, 21F

11/26 09:24, , 22F
anyway, 要改回沒有 _s 的方法比加上 _s 還要來的簡單.
11/26 09:24, 22F

11/26 10:42, , 23F
可以考慮回文 @@; 翻了一下,dinkumware 好像也沒做...
11/26 10:42, 23F

11/26 10:42, , 24F
改天再查查看有誰做好了 @@
11/26 10:42, 24F

11/27 18:08, , 25F
wcscpy就是一種wchar_t的strcpy對吧=_=
11/27 18:08, 25F

11/27 18:09, , 26F
_s版本幾乎跟strncpy做法相同
11/27 18:09, 26F
文章代碼(AID): #17Hwsdbb (PLT)
文章代碼(AID): #17Hwsdbb (PLT)