`
bd7lx
  • 浏览: 196660 次
社区版块
存档分类
最新评论

红宝石有多少种 8 or 10?

    博客分类:
  • ruby
阅读更多
http://www.infoq.com/news/how-many-rubies-future


"There are now at least 8 active implementations of Ruby

(Ruby, Yarv, JRuby, Cardinal, Rubinius, MetaRuby, Ruby.NET, IronRuby)

, and two interop bridges

(RubyCLR and RubyCocoa)!


是否都符合Ruby 1.8-compatible implementations

可要接受下面的测试

http://rubyforge.org/projects/rubytests



还有Jruby 的亲戚Xruby

http://xruby.com/default.aspx

http://seclib.blogspot.com/2006/09/xruby-project-is-now-hosted-on-google.html

xue.yong.zhi
yawl 宣传下你的最新成果吧

http://www.railscn.com/viewtopic.php?t=2006

分享到:
评论
9 楼 bd7lx 2006-10-31  
http://www.railscn.com/viewtopic.php?t=2409

2006-10-31 周二, 上午12:38    标题: XRuby的新进展

8 楼 dreamhead 2006-10-28  
我前面回复帖子中提到的创建Ruby的Antlr前端属于正在进行时,下面是RubyGrammer这个项目的地址:
http://rubyforge.org/projects/rubygrammar/

在项目的邮件列表存档中,很容易就会发现我前面提到的那些东西,因为最近的邮件很少。^_^

Antlr是一种用来生成编译器前端的工具。对于程序员来说,大家肯定很熟悉编译器,对于编译器的开发,即便不了解,至少也听说过编译原理这门课。通常,我们会把编译器分为前端和后端,前端就是大家熟悉的解析的过程,通常解析的结果是生成一颗语法树,后端就利用这棵语法树进行代码生成。当然,这种说法很笼统。

前端的技术已经比较成熟了,而成熟的东西就应该用工具来代替,所以产生了很多用来生成编译器前端的工具,比如在Unix平台上很多人熟悉的YACC,Ruby的前端就是用它来生成的。Antlr也是这样一种工具,抛开内部的实现,对用户来说,二者起的作用是类似的,简化编译器前端的编写,差别也就是采用了不同的算法,至于LL(K)和LR之类的算法,还是去找编译原理的书吧!这样,大家就可以更好的把精力集中在后端上。后端来说一直是一个很有挑战性的工作,大量代码优化的工作就是在后端完成的,而我们也知道,优化是一条永无止境的路。

下面是Antlr的网站:
http://www.antlr.org/
我自己也写过一篇关于Antlr的blog:
探索Antlr
在《程序员》的增刊上,徐昊写过一篇如何用Antlr开发DSL的文章,点出了用Antlr开发语言的一些基本方法。

现在的主流是Antlr 2,翻看一下Antlr 2的源码,给了我一种混乱不堪的感觉,而且Antlr 2在性能上也一直为人诟病。最新在开发中的Antlr 3解决了这些问题,代码已经有了不错的结构,至于性能问题,至少从邮件列表上体现的内容而言,Terence Parr觉得是有了很大的进步。但是,现在Antlr 3还没有正式发布,而且文档方面远不如Antlr 2,所以,拿到Antlr 3常常会给人一种摸不着头绪的感觉。
7 楼 jack 2006-10-28  
bd7lx 写道
jack

你是个勤劳的人

想给你加点星星, google 地球人都知道

也请jack 讲讲 相关的故事 不在google里的原创故事,鼓掌
还是google来的,我也不懂啥是ANTLR


ANTLR简介

分析器的自动生成一直是编译理论研究的一个方向。早期的程序员手工编写分析器,不但费时费力,而且编写的分析器不稳定、不易修改和移植。在自动化大潮冲击之下,越来越多的程序员抛弃了这种手工做法。

由旧金山大学的Terence Parr 领导开发的ANTLR(以前叫做PCCTS,Purdue Compiler Construction Tool Set,普渡大学编译器构建工具集)是一种分析器自动生成工具,它可以接受语言的文法描述,并能产生识别这些语言的程序。而且我们可以在文法描述中插入特定的语义动作,告诉ANTLR怎样去创建抽象语法树(AST)和怎样产生输出。

现在ANTLR越来越流行(有评论说ANTLR的出现是一个里程碑),不仅因为它功能更强、容易扩展、开源,而且ANTLR生成的代码和使用递归下降方法(手工生成分析器的主要方法)生成的代码很相似,易于阅读理解。与之相比,另外一种著名的分析器生成工具YACC(Yet Another Compiler-Compiler,基于LR分析方法)生成的程序就比较晦涩。
6 楼 bd7lx 2006-10-28  
jack

你是个勤劳的人

想给你加点星星, google 地球人都知道

也请jack 讲讲 相关的故事 不在google里的原创故事,鼓掌
5 楼 jack 2006-10-28  
bd7lx 写道
我再给你加上5星
把上文的细节在讲讲,比如 时间

Antlr 等一些不太熟悉的词


帮你google下 Antlr(ANother Tool for Language Recognition)
4 楼 bd7lx 2006-10-28  
我再给你加上5星
把上文的细节在讲讲,比如 时间

Antlr 等一些不太熟悉的词
3 楼 dreamhead 2006-10-27  
找件有趣的事先说一下!

有一个项目叫rubygrammar,它的目的是开发一个基于Antlr的Ruby语法前端。这个项目聚集一些人气,不过,前期的结果并不太理想,但是受到了很多人的关注。Antlr的开发者Terence Parr最近就在Antlr网站上上传了这个项目的前期成果,一个半完成的Ruby前端。

JRuby的开发者Charles Nutter对这个项目也产生了兴趣,他想替换掉现在JRuby中基于YACC的前端,因为它并不是一个很好的选择,于是,他找到了这个项目。一群人在邮件列表中讨论的结果是,发现现在已经有了一个可以工作的Java的Ruby前端,就是XRuby的前端(最初的名字叫RubyFront)。他们建议把前端从XRuby分离出来。事实上,XRuby的前端最初就是一个单独的项目,所以,这个很容易做到。结果就是yawl把XRuby的前端贡献到rubygrammer中,成为了其项目的一部分。

现在,Charles Nutter已经成为了这个项目的管理员,并发起了新的行动:验证目前这个前端的正确性,考虑实现一个基于Antlr 3的前端,考虑构建一个标准的AST结构。Terence Parr说他愿意做Antlr 3方面的技术支持。

如果大家对于编译器有兴趣,可以考虑参与到这个项目中去,毕竟,它才刚刚起步。
2 楼 bd7lx 2006-10-27  
http://rubyforge.org/projects/rubytests

rubytests 0.36  April 6, 2004

太古老了, 检查日新月异的 特性繁杂的 东东


1 楼 uncutstone 2006-10-27  
这好像和对称群相关。

相关推荐

Global site tag (gtag.js) - Google Analytics