如果我想在Ruby 1.9或JRuby中构建DSL,我是否需要手动完成以下任何阶段:
- 词法分析
- 解释
- 语法分析
- 即时编译
显然,作为程序员,我不喜欢写实际代码,希望没有这些步骤需要手工完成 :)
如果我想在Ruby 1.9或JRuby中构建DSL,我是否需要手动完成以下任何阶段:
显然,作为程序员,我不喜欢写实际代码,希望没有这些步骤需要手工完成 :)
这取决于你想要什么。如果要编写内部(即使用Ruby语法)DSL,则完全是Ruby。如果要构建不使用Ruby语法的DSL,可以查看treetop gem。
Jeremy Mcanally有一个非常好的关于DSL的演示文稿。他介绍了外部和内部DSL的内容。