我正在寻找流行的领域特定语言。我相信 CSS 是其中之一,而 XML/HTML 可能会合而为一?(尽管这似乎比语言更多的数据)。我唯一能想到的另一个是星际争霸地图编辑器......
有哪些流行的领域特定语言?
我正在寻找流行的领域特定语言。我相信 CSS 是其中之一,而 XML/HTML 可能会合而为一?(尽管这似乎比语言更多的数据)。我唯一能想到的另一个是星际争霸地图编辑器......
有哪些流行的领域特定语言?
特定领域语言的诀窍是您为特定问题领域定义自己的语言。或者,正如 Kerzhner (2009) 所说,“DSL 是一种专门用于描述特定问题域的语言。” [1]
从这个角度来看,HTML 是一个不好的例子,因为只有少数人为有问题的领域定义了 HTML,但更多的人将它用作设计网站的标准语言。
因此,问题也可能是:是否有流行的语言来定义 DSL?这些是定义其他语言的语言,即元语言。我认为围绕 Eclipse-Modeling Framework (EMF) 和 OMG 的 Meta-Object-Facility 的语言是最常见的两种语言。然而,GrGen 的元建模能力也令人印象深刻,而且可能更容易学习。
顺便说一句:在 Soley,我们正在构建用于开发特定领域语言的软件。Soley Studio是一个集成开发环境,用于定义可用于建模和数据分析的基于图形的特定领域语言。
[1]:Kerzhner, AA 和 Paredis, CJJ (2009)。使用领域特定语言为基于模型的系统工程获取设计综合知识。ASME 2009 国际设计工程技术会议和计算机与工程信息会议,IDETC/CIE 2009。美国圣地亚哥。
SuperCollider,或者特别是 SuperCollider 客户端 (sclang),被认为是用于实时音频合成和算法组合的 DSL。此外,还有其他客户端实现,包括ScalaCollider和Overtone,它们分别使用 Scala 和 Clojure 与 SuperCollider 服务器通信。
来自维基百科:
特定领域语言的示例包括
- HTML,
- 儿童标志,
- Verilog 和 VHDL 硬件描述语言,
- Mata 用于矩阵编程,
- Mathematica 和 Maxima 用于符号数学,
- 电子表格公式和宏,
- 用于关系数据库查询的 SQL,
- 用于创建解析器的 YACC 语法,
- 用于指定词法分析器的正则表达式,
- 用于创建图表语言的通用 Eclipse 建模系统,
- Csound 用于声音和音乐合成,
- 以及 GraphViz 和 GrGen 的输入语言,用于图形布局和图形重写的软件包。