`
dreamhead
  • 浏览: 43130 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

活动的XRuby讲稿

    博客分类:
  • ruby
阅读更多
周末活动的时候,给大家介绍了一下XRuby,讲稿已经上传,有兴趣的朋友,可以看看。
http://xruby.com/Documents/XRuby_Overview.ppt

如果对其中涉及的任何内容有问题,都可以提出来,大家一起探讨。
分享到:
评论
8 楼 dreamhead 2007-03-31  
感谢dennis_zane,经过一些小的修改,我已经将他翻译的版本加入到XRuby中。

To zhangyu8374:
XRuby要进行的修改就是将我们已经写过的一个newruntime合并到主干中。这部分代码早就写过了,不过,因为与原来的版本差别比较大,所以一直没有合并进来。没有什么特别的,newruntime只是参考着C Ruby去写了一个结构,《Ruby Hacking Guide》介绍了这个结构。这部分英文版已经发布的2、3、4和6几个章节很好的介绍了这些内容。其实,这几章的中文版已经翻译好了,等着其它几个章节就绪,就可以发布了。想了解这部分代码可以参考newruntime这个branch,也许最终合并进来会有一些小的差异,但基本思想不会变。

另外,你说的继承层次确实有些值得探讨的地方,不过,它就是这次要修改的目标。
7 楼 zhangyu8374 2007-03-30  
To :dreamhead
runtime处在大的修改中,大体思路是怎样的,哪里可以得到这方面的介绍。

看现在的实现,我感觉不爽的一个地方是继承层次太深了。
RubyClass-->RubyModule--->MethodCollectionWithMin...

是不是可以并列起来,或者通过组合的方式?
6 楼 dennis_zane 2007-03-30  
dreamhead 写道
To dennis_zane:
感谢你提供了《XRuby Hacking Guide》的中文翻译。这篇文档的最初写的时候,项目中只有yawl和我两个人,用英文写是为了给更多的人了解的机会。后来,也主要工作都在其它方面,也就忽略了。

不知道您是否介意,我把您翻译的文档做一些小的修改之后,加入到XRuby中去。

另外,现在runtime处在一个大的修改之中,所以,没有提供相关的文档。至于编译器的部分,可以参考着XRuby的前端,去读一下编译原理,了解一下Antlr的用法,应该可以有个大致的了解。


翻译有些用词不够恰当,能被接受是我的荣幸。我有在看antlr方面的资料,因为不是科班的,理论上确实很多东西不明白,不过有系统学习过正则,看起来还有点眉目,准备系统找本书补补,看能不能看懂。多谢。
5 楼 dreamhead 2007-03-30  
To dennis_zane:
感谢你提供了《XRuby Hacking Guide》的中文翻译。这篇文档的最初写的时候,项目中只有yawl和我两个人,用英文写是为了给更多的人了解的机会。后来,也主要工作都在其它方面,也就忽略了。

不知道您是否介意,我把您翻译的文档做一些小的修改之后,加入到XRuby中去。

另外,现在runtime处在一个大的修改之中,所以,没有提供相关的文档。至于编译器的部分,可以参考着XRuby的前端,去读一下编译原理,了解一下Antlr的用法,应该可以有个大致的了解。
4 楼 dennis_zane 2007-03-29  
我简单翻译了下XRuby Hacking Guide,奇怪你们为什么不提供下中文版呢?读了下builtin包中的代码,并不是很难理解,特别难的应该是在runtime和compiler。编译器对我来说一直是个很神秘的东西。
3 楼 dreamhead 2007-03-29  
To zhangyu8374:
你提到的问题确实存在,value和builtin有一些内容比较容易混淆。现在主要是这样区分的,value存放的是实体,builtin提供的是Ruby层次上的方法,但是有些方法究竟作为实体的方法还是只是作为Ruby层次上的方法,现在还没有做严格的区分。我曾经在《管窥Ruby——方法定义》中讨论过类似的问题,你可以参考一下。如果你有更好的解决办法,欢迎你贡献出来。

了解XRuby最快的方式就是通过builtin,这样很快就可以上手,至于runtime的支撑结构和compiler,可以在有一定了解之后,慢慢来。我个人走过的路就是builtin->runtime->compiler。

2 楼 zhangyu8374 2007-03-28  
今天下过来,看了看!心想一个问题:怎样可以快速了解xruby。

总结了一下:
(1)把《XRuby Hacking Guide》通读了一遍,然后按照给出的步骤把上面的Hello程序运行了一遍,找点感觉。
(2)停下来,凭自己的直觉,想想xruby会是什么样子。
(3)自己该从哪里入手呢?得把突破点找出来。自己采用的方式是查看src的目录结构。
(4)有compiler和runtime两个目录。避重就轻,自我感觉runtime简单些,就选它。
(5)runtime下有4个目录,首先弄清楚的当然应该是它们之间的关系。按照dreamhead所给ppt描述,对此有了粗略的感觉。
(6)感觉毕竟是感觉,得自己理出一条线来。我选择的路线是:
RubyValue(lang),RubyString(value),StringClassBuilder(builtin)。
(7)看代码时,先看测试代码,了解它到底用来干什么。

----------------------------
对于字符串来说,value和builtin的界限好像不是特别清晰,把RubyString的方法移到StringClassBuilder中也可以。

第一感觉还不错,慢慢看!
1 楼 smilewater 2007-03-26  
不错。有空仔细研究

相关推荐

Global site tag (gtag.js) - Google Analytics