问题标签 [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 投票
1 回答
919 浏览

dsl - DSL 工具:在自定义代码中创建新图表

我正在为 Visual Studio 2005 使用 DSL 工具。

我有一个 DSL,在某个时候我想使用自定义代码创建一个新图表。

到目前为止,我能够通过覆盖当前已打开的图表来创建一个新图表。代码如下:

但是,我真正想做的是,

用一个新的实例 FEGeneratorDiagram 创建一个新的 DSL 文档,然后继续我添加元素和设置属性的逻辑。

有什么帮助吗?

0 投票
2 回答
620 浏览

c# - C# 创建隐藏事务

我正在为 VS2005 使用 C# 和 DSL 工具。

我需要创建事务来更改一些数据,但我希望它们对用户隐藏,这意味着不显示在 VS2005 的 UNDO 列表中。

我尝试禁用 UndoManager

但是通过禁用它,撤消列表中所有现有的先前操作都将被清除。

事务有一个名为“isHidden”的属性,但它是只读的,我不知道如何将其设置为隐藏。我也尝试创建一个新的 UndoManager 但它也是一个只读属性......

如何创建未出现在撤消列表中的事务?

我很乐意写更多细节以澄清任何疑问,非常感谢你,Luís Filipe

[添加]

我根据属性值绘制每个形状的背景。例如,如果为真,则为绿色,如果为假,则为红色。我需要打开一个事务来绘制形状的背景,但对我来说它表现为一个计算的(只读)属性。

0 投票
8 回答
8356 浏览

python - 在 python 中为 DSL 编写编译器

我正在用 python 编写游戏,并决定为地图数据文件创建一个 DSL。我知道我可以用正则表达式编写自己的解析器,但我想知道是否有现有的 python 工具可以更容易地做到这一点,比如 PHP 引擎中使用的 re2c。

一些额外的信息:

  • 是的,我确实需要 DSL,即使我不需要,我仍然想要在项目中构建和使用 DSL。
  • DSL 只包含数据(声明性的?),它不会被“执行”。大多数行看起来像:

    SOMETHING: !abc @123 #xyz/123

    我只需要读取数据树。

0 投票
2 回答
1020 浏览

visual-studio - DSL 工具:如何将 DLL 创建为弱命名

我有一个 DSL 工具解决方案。

我需要为此项目添加一个弱名称引用。因为 DSL Tools 项目 DLL 是强命名的,所以我不能使用弱命名的 DLL。

我无法使 DLL 具有强名称,因为我无法重新编译它。

我试图通过转到 Dsl 和 DslPackage 项目属性来使我的 DSL 工具项目 DLL 弱命名,并取消选中 Sigining 选项卡中的“签署程序集”选项。

然后我编译它。错误列表给出以下错误

查看 VS2005 输出窗口,我看到 gacutil 正在被调用

之后,我使用了命令提示符,gacutil.exe 错误显示如下:

我不知道为什么以及如何调用 gacutil.exe。我查看了项目和解决方案属性,没有配置为调用 gacutil.exe 的选项。我什至查看了“gacutil.exe”的每个文件,但我什么也没找到。

我真正想要的是能够使用我无法进行强命名的弱命名 DLL。因此,我一直试图让我的 DSL 工具 DLL 命名为弱名称,但我做不到。

关于我如何解决这个问题的任何帮助?

非常感谢, Luís Filipe

0 投票
4 回答
3418 浏览

.net - Microsoft Visual Studio SDK DSL 工具 - 有认真的人吗?

我们正在考虑使用 Microsoft DSL 工具包来创建一些抽象设计器。我已经做了一些 POC,但想得到一些关于相同的意见。

有人在这里分享他们使用 Microsoft DSL Toolkit 和 T4 的经验吗?此外,任何指向开源 DSL 项目的指针都会有所帮助——例如。Microsoft 服务工厂建模版严重依赖 DSL 工具包。

由于 OSLO/Quadrant 需要一些时间才能发布,我认为我们唯一的选择是依靠 Microsoft DSL 设计器。(参见 Kieth 的博客

另外,这里有一些我已经掌握的关于 DSL 的信息:

1 - MSDN 中关于 DSL 工具的一个不错的实验室

2 - Codeplex 中使用 DSL 工具包的项目列表

0 投票
5 回答
498 浏览

api - 为什么 DSL 需要解析工具?

难道 DSL 不能像 API 一样简单,因此不需要解析器吗?还是我误解了领域特定语言的真正含义?我认为它指的是解决特定领域问题的任何有组织的规则集。API 似乎符合这个定义,对吧?

0 投票
1 回答
100 浏览

.net - DSLs and Form Creation

I'm currently working on the requirements/scoping of a project now that could involve:
1) 5 to 6 forms
2) with 250 to 300 questions/fields accross the forms
3) 2 to 3 workflows

Are there any .NET or cross-platform tools that will allow me to put the responsibility of developing the forms back onto a non-technical Business Analyst? Are there any good DSLs for this? I think this person would NOT be sucessful at trying to use InfoPath for this.

I guess I'm looking for a DSL that I could put through an engine at runtime to display the CRUD screens. I'd rather not use my own XML or DSL if there is something like this already out there.

I'm thinking I would display the forms as part of an ASP.NET WebForm or ASP.NET MVC application.

0 投票
5 回答
1947 浏览

.net - 在 .NET 中构建 DSL 的工具

我越来越喜欢开发 DSL。我使用 fslex 和 fsyacc 开发了一个带有 F# 的小程序,但错误消息不准确(我也找不到生成更好的方法,似乎没有关于如何处理错误案例的文档)以及事实他们不会充分解析 UNICODE 字符串对我来说是不可接受的。长话短说,我正在寻找可以让开发 DSL 变得非常简单的工具(Visual Studio 工具与我所追求的完全不同),我对解析/AST 生成部分最感兴趣。我看过 ANTLR 并且混合代码和语法定义元语言对我来说看起来很糟糕,所以请不要提及它或在答案中遇到类似问题的解决方案。还有,我在那里见过' s 一些名为 Boo 的语言的东西,但我现在真的对搞乱另一种语言(特别是如果它几乎没有支持的话)不感兴趣,所以这也不适合。任何其他建议都值得赞赏,只要它有良好的文档记录,可以在 .NET 中正常工作,最后但并非最不重要的是不涉及使用动态类型语言或使用 DLR。

0 投票
1 回答
484 浏览

dsl-tools - 如何在 DSL 工具图中嵌套形状?

我有一个包含两个主要域类的 DSL:Area 和 Entity。区域由 GeometryShape 在视觉上表示,而实体由 CompartmentShape 表示。实体可以嵌入到区域中,也可以不嵌入(在这种情况下,它们嵌入在根对象中,这是一种区域)。实体之间可能存在关系,包括不同领域的实体之间。区域不能嵌入到其他区域内,实体也不能嵌入到其他实体内。

我的问题是我无法从图表中获得我想要的行为。实体在区域中的嵌入在模型级别上运行得非常好,但视觉表示表现不稳定。例如,如果我拖动在该区域之外的区域中创建的实体,它不再响应鼠标单击(我有执行重新父级的代码,但不知何故,事物的图表方面被破坏了)。

我已经到处搜索了如何做到这一点的样本,但结果都是空的。我在网上找到的每个示例都通过“引用”关系模拟嵌套,而我正在执行域类(以及它们关联的形状类)的真正嵌入。

有没有人有如何做到这一点的例子?

当我发泄时,我是唯一一个认为图表/形状类被大量记录不足的人吗?

0 投票
2 回答
2310 浏览

c# - DSL:从 DSL 规则到 C# 表达式

问题可能是复合的,让我扩展它:

  • 是否存在设计器(存根/框架/元设计器)来创建基于 .NET 对象公共 bool 属性的基于 AND/OR 的规则?保存为任何 DSL/Boo/... 输出。
  • 是否可以将DSL 输出编译为 C#表达式?

我们的主要问题是文档和代码之间的差距。我们的产品基于数百个用户定义的规则,我们希望加快变更请求。

如果我们能够为用户提供一个简单的设计器并获取输出,那么在将其翻译/编译成 C#/IL 代码之后,我们就有了一个快速的更改请求周期。

我知道我们的问题很具体,但欢迎任何“墙砖”!

示例

AC# 类,主题:

在设计师中,我们应该能够创造

  • 任何类型的图形设计师(即下拉选择公共属性)

DSL 中的输出:

C# 中的输出:

更新#1

我会很高兴支持使用静态类型的 .NET 类的 DSL 语言。我的意思是如果用户可以检查代码(示例中的“输出 DSL”),我们不需要设计器。

更新#2

根据tipp,我盯着表情树。几天后,我遇到了 DLinq——我从来都不是 DLinq 的忠实粉丝,但在这种情况下,我非常适合问题域。

  • 易于将(A > 2 AND B < 4) OR C = 5解析为表达式树
  • 轻松创建这样的表达式
  • 非常容易序列化/反序列化
  • 基于 FlowLayoutPanel 的 GUI 可以很好地作为“表达式生成器”