问题标签 [dsl]

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 回答
7015 浏览

javascript - Javascript 可以进行元编程吗?

在我的日常工作中,我碰巧编写了类似于 LINQ 表达式的链式 javascript 函数来查询 JSON 结果。

它完美地工作并给出了预期的结果。

我想知道如果代码是这样编写的(以更易读的方式),这看起来很棒

有没有办法做到这一点?

干杯

拉梅什维尔

0 投票
3 回答
1442 浏览

c# - 帮助学习使用 Irony for .net

我正在努力跟上Irony的速度。我不断看到一些我还不理解的术语:终端、非终端、令牌、状态机、关联性、抽象语法树

有人可以给其中一些术语一些含义吗?我一直在阅读有关 Irony 的精彩内容,因此您可以在学习如何使用它方面提供任何帮助。

粗体字编辑

0 投票
1 回答
362 浏览

visual-studio-2010 - VS2010和DSL部署

有人可以帮我吗?我想要一些关于如何在 vs2010 中部署 DSL 的指南,我使用 DSLPackageProject\Bin\Debug 中的 VSIX 输出,但是当我想将该项目添加到某个项目(文件->添加新项目)时,它只是添加了 dsl 但是没有实验性配置单元中可用的任何 DSL 功能,

非常感谢, Hrayr

0 投票
1 回答
113 浏览

dsl - 域属性作为元素并隐藏默认值属性

我有两个问题

  1. 如何实现以下目标,我有一个名为“Property”的域类-Property 有两个属性“Type”和“Value”,它目前被序列化如下:

我需要它格式化为

但我不确定如何?我已将 Value 设置为表示一个元素,这确实解释了为什么它拥有自己的标签但我不想要它们。

  1. 我有另一个类 - Parameter - 它有一个 IsCollection (a bool) 的属性,我希望 IsCollection 属性只有在设置为 true 时才被序列化,这可能吗?

IE

除此以外

谢谢菲尔

0 投票
1 回答
1288 浏览

function - 实现 DSL 中的 Lua 闭包

Lua 有一个非常好的无括号调用语法,再加上函数闭包,我可以编写以下代码

但是,如果我删除 (tag) 周围的括号,则会导致编译错误。那么为什么 Lua 允许无括号参数(即“def”)而不是无括号 var(本例中为表)参数?

0 投票
2 回答
6175 浏览

c# - e.data.GetData 始终为空

我正在使用 Visual Studio 2010,开发一个扩展

我需要从 Toolwindow 中的 WPF TreeView 拖放到 DSL 图上,但是当我调用 e.data.GetData 时,我无法获得值并想知道我做错了什么

第一个 if 语句解析为 True。这会告诉我它就是那种对象。这是 WPF 树视图中的内容:

SqlServerTable 继承自 Table。如果我插入断点并调用

我可以看到我的完全限定类型名

0 投票
8 回答
3952 浏览

c# - 如何通过 C# 定义 DSL

对于一个小小的夜间项目,我想编写一个验证组件,它可以在 .NET 应用程序中用于对对象、输入参数和后置条件进行通常而乏味的验证。

我的第一个想法是将所有这些验证设置逻辑转储到 XML 配置文件中,并为希望在代码中使用它的人们提供一个流畅的界面。

因为我想提供一些实际可用的东西,所以我考虑提供一种专门的 DSL(领域特定语言)。问题是我应该使用什么工具来做到这一点?

我考虑过使用正则表达式手动解析它。但就我个人而言,我想要更多……可用的东西。

那么你有什么建议呢?

0 投票
1 回答
315 浏览

visual-studio - 使用数据库信息填充 Visual DSL

我有以下问题要解决:

  1. 目前我们有一个数据库模式的元数据树,它具有内存表示和专有模式 XML 序列化(也就是说,我们可以将所有内存数据读/写到 xml 文件)。

目前我正在开发一个 Visual DSL 解决方案(类似于图表),以允许更轻松地使用数据库模式进行操作,并且需要以下指导:

我想从包含数据库模式信息的元数据树中填充 DSL 模型,但我不确定哪个是最好的方法(我是 DSL 新手,所以我不确定我是否看到了所有可能的方法) . 到目前为止,我知道以下内容:

  1. 在 Visual Studio 中创建 DSL 项时,我取出创建元数据树的架构,然后将其序列化为为新项创建的 DSL 文件中的 DSL 的 XML 架构。这样,当 DSL 打开时,它将正确反序列化。然而,这需要大量代码来将我们自己的数据转换为 DSL 所需的数据。

  2. 如果可能的话,我想实例化一个元数据树来遍历它,同时通过代码/API 更改 dsl 模型。

因此,任何朝着这个方向(你做这件事的方式)的指导对我来说都是有价值的。

0 投票
2 回答
460 浏览

c# - DSL 自定义构造函数 - 仅在创建时调用而不加载

信息:VS2010、DSL 工具包、C#

我的一个域类上有一个自定义构造函数,它添加了一些子元素。我有一个问题,因为我只希望在创建域类元素时运行它,而不是每次打开图表时(调用构造函数)

0 投票
6 回答
4243 浏览

python - 有没有办法以编程方式生成 Python 字节码?

我想破解 Python 解释器并尝试创建一个小的 DSL 。有没有我可以做类似这个理论代码的模块(类似于 LINQ 表达式树)?

还是只生成 Python 源代码会更容易?使用 C 或 SWIG 或 Cython 可以使这更容易吗?