5

Perl 多年来一直是我的首选编程语言工具之一。Perl 6 语法看起来是一个很棒的语言特性。我想知道是否有人为 Ruby 开始了这样的事情。

4

3 回答 3

11

如果你想在 Ruby 中使用实际的 Perl 6 语法,你最好的选择是Cardinal,它是 Parrot 上的一个 ruby​​ 编译器。它目前尚未完成并且非常缓慢,但我非常希望它最终成为一个可行的 ruby​​ 实现。它目前大部分处于非活动状态,等待 Parrot 中的一些基础架构更改以支持改进的解析速度和附加功能。

于 2009-10-28T17:04:34.600 回答
7

不。而且,由于 Perl6 语法是一种语言特性,而 Ruby 不允许扩展语言,实际上不可能在“插件”中实现这一点。

但是,有许多用于 Ruby 的库,它们实现了不同类型的解析或语法系统。标准库已经包含racc,它是一个 LALR(1) 解析器生成器(与 venerable 相当并在某种程度上兼容yacc)。然后是ANTLR解析器生成器,它有一个 Ruby 后端(虽然我不确定它是否真的有效)。

Ruby 中最接近 Perl6 语法的是Ruby-OMeta 项目(一定要看看Ryan Davis 的 fork),不幸的是它仍在开发中。(或者更确切地说,不再处于积极开发中。)

所以,保持实际存在的东西,我建议你看看Grammar 项目Treetop

于 2009-10-29T12:28:16.383 回答
2

不知道Ruby有什么类似的东西。

然而 Perl5 也有类似的东西,见Regexp::Grammars

于 2009-10-28T21:51:51.477 回答