有谁知道DSL设计的一个很好的参考?

时间:2009-11-17 14:41:46

标签: clojure reference dsl

我一直在研究设计一些领域特定语言,我可能会在Clojure中实现,但我真的不知道涉及到什么。

我所考虑的语言旨在成为抽象语言,可由具有很少编程背景或没有编程背景的领域专家阅读。

有没有人知道任何有用的教程,书籍或其他参考资料?

4 个答案:

答案 0 :(得分:8)

你可能会喜欢Martin Fowler的新书Domain Specific Languages。这是一项正在进行的工作,其中大部分都可以在线获取。它的目的是与语言无关。

以下是我发现有用的RubyConf的一些演示文稿(概念至少应该映射到Clojure):

答案 1 :(得分:3)

Language Implementation PatternsAntlr的创建者Terence Parr的

String Template,可以说是生成解析器和词法分析器的最佳工具。

这本书目前处于“测试阶段”,但仍然是一本很好的读物。如果您购买它,您将获得更新以及最终版本。

答案 2 :(得分:2)

我的评估还在早期,因为这本书仍在完成,但 DSLs in Action http://www.manning.com/ghosh似乎很好。

您还可以查看在Boo中构建特定于域的语言http://www.manning.com/rahien

答案 3 :(得分:2)

看起来你正在描述一个外部DSL。为此,您需要设置解析器。

您有两种选择:编写自己的(可能很难)或使用现有系统(如ANTLR)来定义语法。这是Java所以它应该与Clojure兼容。