我需要手动构建Ruby DSL的哪些部分?

3

如果我想在Ruby 1.9或JRuby中构建DSL,我是否需要手动完成以下任何阶段:

  • 词法分析
  • 解释
  • 语法分析
  • 即时编译

显然,作为程序员,我不喜欢写实际代码,希望没有这些步骤需要手工完成 :)

2个回答

6

这一切都是通过元编程完成的。您不必执行您列出的任何操作。Jamis Buck在他的博客文章中详细介绍了如何使用Ruby编写领域特定语言


6

这取决于你想要什么。如果要编写内部(即使用Ruby语法)DSL,则完全是Ruby。如果要构建不使用Ruby语法的DSL,可以查看treetop gem。

Jeremy Mcanally有一个非常好的关于DSL的演示文稿。他介绍了外部和内部DSL的内容。


我认为这个演示非常不错,现在已经移至此处:Jive Talkin': DSL Design and Construction - Franco Rondini

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