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

dre*_*mac 5 ruby regex grammar perl6 raku

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

小智 11

如果你想在Ruby中使用实际的Perl 6语法,你最好的选择是Cardinal,一个关于Parrot的红宝石编译器.它目前尚未完成且非常缓慢,但我非常希望它最终成为可行的ruby实现.它目前主要是非活动状态,等待Parrot中的一些基础结构更改,以支持提高解析速度和其他功能.


Jör*_*tag 6

并且,由于Perl6语法是一种语言特性,并且Ruby不允许扩展语言,因此实际上不可能在"插件"中实现它.

但是,有许多Ruby库可以实现不同类型的Parsing或Grammar Systems.标准库已经包含racc,它是一个LALR(1)解析器生成器(与古老的可比较并且稍微兼容yacc).然后是ANTLR解析器生成器,它有一个Ruby后端(虽然我不确定它是否真的有用).

与Ruby中的Perl6语法最接近的是Ruby-OMeta项目(确保还要看一下Ryan Davis的分支),遗憾的是它还在开发中.(或者更确切地说,不再处于积极发展阶段.)

因此,保持实际存在的东西,我建议你看看语法项目Treetop.