Perl 多年来一直是我的首选编程语言工具之一。Perl 6 语法看起来是一个很棒的语言特性。我想知道是否有人为 Ruby 开始了这样的事情。
问问题
572 次
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 回答