使用不同的GPL(通用编程语言)实现的DSL(域特定编程语言)
题
我正在寻找使用通用编程语言(GPLS)实施的DSL,例如C#,Java,Scala等。主要目标是调查软件行业每天使用精心设计的DSL实现的各种重要属性。
如果您可以指出此类DSL实现(示例或存储库)并说明您认为它是一个好的DSL的原因,我将非常感谢。
谢谢,
阿迪尔·阿克特(Adil Akhter)
编辑1:
恕我直言,这篇文章可以为创建当今软件开发中广泛使用的有趣的流行DSL列表(搜索后,至少我找不到涵盖所有GPL的任何此类列表)。
此列表的几个固有好处之一 - 可以使用它们针对的DSL和域的分类法。
以下是描述一些有趣的DSL和工具的相关链接:
DSL(由GPLS分类):
- 红宝石 DSLS => Ruby DSL(特定域语言)存储库,示例
- 克洛杰尔 DSLS => 有Clojure DSLS吗?
- Scala DSLS => 有趣的DSL,在Scala中实现?
- C# dsls => sharpdom( http://sharpdom.codeplex.com )
工具:
- Microsoft Visual Studio可视化和建模SDK: http://code.msdn.microsoft.com/vsvmsdk
解决方案
看看Boost.spirit2,以主流语言找到非常复杂的DSL。否则,您可以查看LISP的任何方言,这使得编写DSL非常容易,因此您会发现很多。
其他提示
您可能会考虑 实施DSL的非核心技术,例如(我们的)程序转换系统. 。我认为您会发现它们非常强大。
不隶属于 StackOverflow