使用不同的GPL(通用编程语言)实现的DSL(域特定编程语言)

StackOverflow https://stackoverflow.com/questions/4237499

  •  26-09-2019
  •  | 
  •  

我正在寻找使用通用编程语言(GPLS)实施的DSL,例如C#,Java,Scala等。主要目标是调查软件行业每天使用精心设计的DSL实现的各种重要属性。

如果您可以指出此类DSL实现(示例或存储库)并说明您认为它是一个好的DSL的原因,我将非常感谢。

谢谢,

阿迪尔·阿克特(Adil Akhter)


编辑1:

恕我直言,这篇文章可以为创建当今软件开发中广泛使用的有趣的流行DSL列表(搜索后,至少我找不到涵盖所有GPL的任何此类列表)。

此列表的几个固有好处之一 - 可以使用它们针对的DSL和域的分类法。

以下是描述一些有趣的DSL和工具的相关链接:

DSL(由GPLS分类):

  1. 红宝石 DSLS => Ruby DSL(特定域语言)存储库,示例
  2. 克洛杰尔 DSLS => 有Clojure DSLS吗?
  3. Scala DSLS => 有趣的DSL,在Scala中实现?
  4. C# dsls => sharpdom( http://sharpdom.codeplex.com )

工具:

  1. Microsoft Visual Studio可视化和建模SDK: http://code.msdn.microsoft.com/vsvmsdk
有帮助吗?

解决方案

看看Boost.spirit2,以主流语言找到非常复杂的DSL。否则,您可以查看LISP的任何方言,这使得编写DSL非常容易,因此您会发现很多。

其他提示

您可能会考虑 实施DSL的非核心技术,例如(我们的)程序转换系统. 。我认为您会发现它们非常强大。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top