问题标签 [dsl-tools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
3113 浏览

java - 哪种语言(在 JVM 上运行)最适合创建 DSL?

我们需要创建复杂的固定长度和可变长度字符串。这些字符串可能代表客户资料、订单等。你们建议使用哪种基于 JVM 的编程语言?

想法是让最终用户使用此 DSL 创建字符串。所以我正在寻找验证、代码完成等。

0 投票
1 回答
766 浏览

dsl - 我可以创建不需要 Visual Studio 的可视化 DSL 吗?

我想创建一个可视化 DSL(框和箭头)。我发现我可以使用Microsoft 的可视化和建模 SDK(DSL 工具续集,用于 VS2010)创建这样的 DSL,并且还有一个关于该主题的实验室。但是,一旦我创建了 DSL,这将需要 Visual Studio 2010 来托管我的设计器。

有什么方法不需要Visual Studio?使用 Windows Workflow Foundation (WF),可以在您自己的应用程序中托管工作流设计器,因此这不是不可能的。

也欢迎提出其他方法的建议。

0 投票
6 回答
3221 浏览

visual-studio - 使用 Microsoft Visual Studio 进行文本域特定语言 (DSL) 开发

我做了一些关于在 Visual Studio 中开发 DSL 的搜索。一开始,我发现VS2010有一个Visualization and Modeling SDK。它有一个称为 DSL 工具的工具。但它似乎只用于图形 DSL 开发。

然后我看到一些帖子说“Oslo”是一种用于开发文本 DSL 的工具,它“曾经”是微软的产品——微软不再支持该工具。http://blogs.msdn.com/b/modelcitizen/archive/2010/09/22/update-on-sql-server-modeling-ctp-repository-modeling-services-quot-quadrant-quot-and-quot- m-quot.aspx

因此,我想知道如果我想开发一个文本 DSL,什么工具最好?如果我使用 F# powerpack 和 FSLex 和 FSYacc 实现一个 DSL 解析器,你怎么看?

0 投票
1 回答
364 浏览

visual-studio-2010 - DSL 工具和自定义框架

我想创建一个库来操作用户定义的机器状态。要创建设计器,我想使用 Visual Studio DSL 工具。在大多数 DSL 示例中,工具用于生成代码。就我而言,我需要一个定义机器状态的 XML 文件。在那种情况下,我应该着手创建此类库。

  • 我应该从创建一个元开始吗?
  • 我需要两次来定义元模型吗?(设计师一次,图书馆一次)
  • 我是否需要在 XML 文件中元模型的库反序列化中定义自己?
0 投票
1 回答
159 浏览

visual-studio-2010 - 有人用“简单的英语”解释 DSL 语言创建的机制

基本上问题是我开始做一些 Visual Studio 2010 扩展的开发,语言定义相当复杂,所以任何人提供一个小的介绍并指出一些好的文档都会很棒

提前致谢,

编辑我的基本问题是我想定义一种简单的语言来在 Visual Studio 2k10 上创建一些模型并使用这些模型生成一些源代码。问题是我在哪里可以找到一些好书,还是我必须深入 MSDN 才能揭开面具...... :)

再次感谢

0 投票
1 回答
689 浏览

java - 用于生成 Java 代码的内联域特定语言

我在一个用 Java 执行矩阵和向量运算的程序上工作。在我当前的实现中发生的多个函数调用和对象创建使它变得缓慢且难以理解。

例如,我想通过速度积分更新机械点的位置:

这里的 API 不太自然,另外我需要分配一个 build 一个新的 Vector3 引用。显然,当以这种方式内联计算时,我在实际用例中测量到了巨大的性能改进:

是否有任何工具可以根据需要从特定领域的语言生成此代码?类似 Cog 的语法会很好。(Cog 是 Ned Batchelder 的代码生成工具)

0 投票
1 回答
747 浏览

c# - DSL Tool NameAndType 动态列表

我有一个关于 DSL 类形状属性的问题。

我创建了一种 DSL 工具。我想有一点像类图中的功能。

我的模型中有形状。我有用于属性和操作的带有隔间部分的类形状。在模型中,我有属性类和操作类。

我为属性创建了“NameAndType”、“Name”和“Type”属性,例如在 404 页上的“使用 Visual Studio DSL 工具进行领域特定开发。Steve Cook、Gareth Jones、Stuart Kent、Alan Cameron Wills”一书中。

它工作得很好,但我想在操作类中有动态的参数列表。某种集合属性。

现在我想为操作创建 NameAndType Collections 属性。我想选择我想在我的操作(方法)中使用多少个参数。那一定是动态列表(一种集合)

你知道我该怎么做吗?

问候亚当

0 投票
1 回答
344 浏览

dsl - 使用 XText 创建用于描述专有 XML 格式的 DSL

目前,我必须使用XACML。由于似乎没有适合我需要的编辑器,而且在其中编写文档确实很痛苦,我想知道我是否不能创建某种 DSL 来使创建文档更容易(不易出错)。XText 有可能吗?我觉得这是可能的,但很难做到(尤其是对于不了解 XText 的人 ;-))。

0 投票
1 回答
243 浏览

java - Java中外部DSL“内部化”的工具

我正在开发和维护一个名为jOOQ的数据库抽象库,它旨在将 SQL 作为外部 DSL “内部化”到 Java 中。这项工作的目标是允许类型安全地构造和执行最流行的 RDBMS 的所有可能的 SQL 语法元素。jOOQ 的内部 DSL 变得越来越复杂,我想正式掌握它。这个想法是我希望能够将某种形式的 SQL 定义作为输入,例如

输入也可以用 XML 或任何其他描述性元语言定义。一旦我有了那个输入,我想从那个输入生成一组 Java 接口,这些接口对 Java 中定义的语法进行建模。示例接口是:

有了上面的接口,就可以在 Java 中构造 SQL 查询,就像今天 jOOQ 已经允许做的那样:

另外,我想排除某些特定构建的一些语法元素。例如,当我为 MySQL 专门构建 jOOQ 时,不需要支持 SQL MERGE 语句。

是否有任何现有的库实现了这种通用方法,以便将 DSL 正式内部化和外部化到 Java?还是我应该自己滚动?

0 投票
2 回答
311 浏览

java - Java 的语法预处理器

我正在寻找一种 Java 宏语言,它提供了方便的方法来执行闭包(编译为匿名内部类)和列表理解(编译为基本的 java 循环)。

我正在寻找的那种东西的一个例子是 Xtend2 http://www.eclipse.org/Xtext/#xtend2

但我想要一些用于通用编程的东西(Xtend2 是 Xtext 的非常特定的 DSL,并且有很多依赖项)。也许甚至可以让我在单个文件中定义多个类(然后预处理器将其拆分为两个单独的文件)。

这样的事情存在吗?

编辑添加:我正在进行 Android 开发,因此任何替代方案都必须生成有效的 Java 源代码,或者字节码必须与 dalvik 重新编译器兼容。