Ruby有类似于Perl 6语法的插件吗?

5

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

3个回答

11
如果你想在Ruby中使用真正的Perl 6语法,最好的选择就是Cardinal,一个基于Parrot的Ruby编译器。目前它还未完成且非常慢,但我对它最终成为可行的Ruby实现感到很有希望。目前它已经基本停滞不前,等待Parrot进行一些基础设施的改变以支持更快的解析速度和额外的功能。

7

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

但是,Ruby有许多库实现了不同类型的解析或语法系统。标准库已经包含了racc,这是一个LALR(1)解析器生成器(类似且与古老的yacc相容)。然后有ANTLR解析器生成器,它具有Ruby后端(尽管我不确定是否实际运行)。

在Ruby中最接近Perl6语法的东西将是Ruby-OMeta项目(确保也看看Ryan Davis的分支),不幸的是它仍在开发中。(或者说,不再处于活跃开发状态。)

因此,为了保持与实际相关,我建议您查看语法项目Treetop


2

对于Ruby我不知道类似的东西。

但是对于Perl5有一些类似的内容,可以参考Regexp::Grammars


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接