由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - any lexer/parser enthusiasts here?
相关主题
C -- sample without replacementwhy i hate spring
C++ Segment Fault老魏, 终于放假了, 我给你个多机版的, 看看能不能秒 你的计
刚看了下juju的历史,发现juju用go了问个问题,关于隐藏实现细节, C plusplus
关于Go本站是不是被牙膏厂的补丁影响了?
why pythonQuestion on using ## in #define
美西时间下午5点之后电话被打爆的进来RegEx puzzle
proxy到底是干什么用的?one more interview question
cxx程序如何给optimized build加函数symbol?emacs里能不能从后往前的query-replace? (转载)
相关话题的讨论汇总
话题: parser话题: lexer话题: java话题: here
进入Programming版参与讨论
1 (共1页)
c*****t
发帖数: 1879
1
Just curious.
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
6
为什么不用ANTLR? 要自己写一个?
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 的大作中提到】
: 你这玩意规模不小啊
1 (共1页)
进入Programming版参与讨论
相关主题
emacs里能不能从后往前的query-replace? (转载)why python
if (a&b) 和 if ((a&b)==b)美西时间下午5点之后电话被打爆的进来
R plot hel...proxy到底是干什么用的?
请大家帮忙看一下:关于AJAX 中加入“Pleas wait... ” messagecxx程序如何给optimized build加函数symbol?
C -- sample without replacementwhy i hate spring
C++ Segment Fault老魏, 终于放假了, 我给你个多机版的, 看看能不能秒 你的计
刚看了下juju的历史,发现juju用go了问个问题,关于隐藏实现细节, C plusplus
关于Go本站是不是被牙膏厂的补丁影响了?
相关话题的讨论汇总
话题: parser话题: lexer话题: java话题: here