c*****t 发帖数: 1879 | |
I**********s 发帖数: 441 | 2 I work on parser generation.
What do you want to talk about? |
c*****t 发帖数: 1879 | 3 Ha, good.
I created a new project called CookCC (hosted on google code) which
contains both lexer and parser generator (lalr (1) only). It's
written in Java. It basically replaces my yoolex and yooparse projects
I wrote N years ago, since Java is much easier to maintain and extend.
Right now I am working on the Java code generation using FreeMarker
template. I am wondering if anyone wants to join me on this project
to work on code generation for other languages, or assist in testing.
The perf
【在 I**********s 的大作中提到】 : I work on parser generation. : What do you want to talk about?
|
I**********s 发帖数: 441 | 4 I just sent an email to your mailbox. |
c*****t 发帖数: 1879 | 5 所有在这里的 test case 都是测试过的(不过 parser 部分还在 svn 里,
我现在还差将 compressed table 放进 code generator)。
http://code.google.com/p/cookcc/source/browse/trunk/tests/
code generator 现在只有 Java 。其实弄 C/C++ 也不是太难(毕竟是
template approach)。
现在用的是 xml 输入。主要是 yacc/lex 的输入文件其实很复杂。手工写
parser 太困难。至于自动 generate,俺不正在写嘛。
至于 mix 代码和 grammar 。我有个想法,不适合 C/C++,但是很适合
Java / C# / Python 。这样可以直接利用现成的 Java/C#/Python editor
(同时该 editor 的功能,比如 refactoring,context sensitive help
等)。我已经手工推出个 prototype,就差 implementation 。 |
z*****m 发帖数: 119 | |
c*****t 发帖数: 1879 | 7 ANTLR 是 LL。另外我觉得其方法(单 Java 而言)其实并不是很理想。
还有些 engineering 方面的问题。
有些我还不能具体说,等弄出来在说吧 :)
【在 z*****m 的大作中提到】 : 为什么不用ANTLR? 要自己写一个?
|
T*****9 发帖数: 2484 | 8 我有兴趣
【在 c*****t 的大作中提到】 : Just curious.
|
T*****9 发帖数: 2484 | 9 你这玩意规模不小啊
【在 c*****t 的大作中提到】 : Ha, good. : I created a new project called CookCC (hosted on google code) which : contains both lexer and parser generator (lalr (1) only). It's : written in Java. It basically replaces my yoolex and yooparse projects : I wrote N years ago, since Java is much easier to maintain and extend. : Right now I am working on the Java code generation using FreeMarker : template. I am wondering if anyone wants to join me on this project : to work on code generation for other languages, or assist in testing. : The perf
|
c*****t 发帖数: 1879 | 10 还是小意思。我个人 3-4 星期的工作量。主要加一个 target language 比较费
神。毕竟又快又好的 lexer/parser 里面可以 optimize 的地方很多。
刚刚弄出个 0.3 release 。有个比较 unique 的写 lexer/parser 的办法。可
惜,有人 98 年就在 Python 上弄了个类似的(虽然差了点)。遗憾的是,好像
没人注意到。我是写完才发现。现在 Antlr/JavaCC 等还是用比较古老的办法写。
【在 T*****9 的大作中提到】 : 你这玩意规模不小啊
|