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

java - JavaBeans and DSLs

It's 2009 and we still all hold on the JavaBeans despite all their flaws, mostly because of the tooling support which we wrote in our own blood.

But now we have method chaining and internal DSLs and some pressure to replace or extend JavaBeans with DSL classes. Has anyone an implementation that implements PropertyDescriptor for a DSL (where the getters and setter use the exact same name as the property) and a way to hook that into the Java RT so I don't need to create them all by myself?

0 投票
3 回答
293 浏览

.net - 为我的脚本语言切换到 DLR 的主要优势是什么?

我使用 Antlr 编写了一个 DSL,以从我的语法文件中生成词法分析器和解析器。解析器生成一个抽象语法树,其中包含我可以计算的各种节点(例如函数节点)。在函数节点的代码中,我负责绑定——检查函数名称和参数类型是否匹配函数库。我在这里有一些简单的缓存来优化函数查找(如果我用两个整数调用 A+B,那么下次我使用加号运算符时很有可能使用 2 个整数)。

最近我一直在阅读有关 DLR 的信息,它似乎旨在适应这种类型的脚本语言实现。乍一看,它看起来不像生成解析器或词法分析器,但它似乎确实有助于实现的其他部分。我想知道切换到使用 DLR 对我的主要优势是什么。

0 投票
8 回答
745 浏览

parsing - 了解有关解析的更多信息

自 1999 年以来,我一直在为工作和娱乐而编程。我想学习新东西,最近我一直专注于解析,因为我的大部分工作是阅读、整合和分析数据。我还有大量重复性任务,我认为如果开销足够低,我可以用非常简单的特定领域语言表达这些任务。我有几个关于这个主题的问题。

  1. 我当前的大部分解析代码都没有定义正式的语法。我通常用我选择的语言把一些东西拼凑在一起,因为这很容易,我知道怎么做,而且我可以很快地编写代码。与我一起工作的其他人也很容易维护。与大多数程序员用来编写解析器的技巧相比,定义语法和生成真正的解析器(就像使用ANTLRYACC一样)来解析事物的优点和缺点是什么?
  2. 在 C++、Perl 和 Ruby 中编写基于语法的解析器的最佳解析器生成工具是什么?我查看了ANTLR并没有发现很多关于将 ANTLRv3 与 C++ 目标一起使用的信息,但除此之外这看起来很有趣。我应该阅读哪些与 ANTLR 类似的其他工具?
  3. 有兴趣了解更多关于解析的规范书籍和文章是什么?不幸的是,编译器课程不是我教育的一部分,因此非常欢迎基础材料。我听说过关于龙之书的好消息,但那里还有什么?
0 投票
2 回答
418 浏览

.net - 解析和评估给定条件

我正在尝试这样做是在.NET 中为以下情况编写一个简单的解析器

  • [PART]表示评估位置,(假设这是一个巨大的文本文件,PART 将文本文件分成大块)
  • function()s 是我记录的函数,可以通过这个查询调用。退货truefalse
  • 基于此True/False运算符和其他运算符,我想组合结果并从整个输入中返回一个最终的 True 或 False。

在 .NET 中实现这样的事情的最佳方法是什么,是否有任何简单的库可以让我集成它,或者我应该只编写一个简单的解析器然后自己做吗?

PS我找不到这个问题的好标题。

0 投票
1 回答
395 浏览

visual-studio - 如何解决“DomainClass XXX 不是抽象的,既不是模型的根,也不是嵌入其中。” 警告

我在 VisualStudio 中收到以下警告:

“DomainClass ManagedField 不是抽象的,既不是模型的根,也不是嵌入其中。”

警告是正确的,我的类不是抽象的(也不应该是抽象的),它不应该是模型的根。因此,归结为“也不嵌入其中”的最后一部分,我的类 ManagedField 继承自另一个处于嵌入关系的类。

那么为什么我仍然会收到此警告以及如何摆脱它?

0 投票
12 回答
1549 浏览

language-agnostic - 您为什么样的问题编写 DSL?

我只是对特定领域的语言感到好奇。我在文章中看到过好几次,似乎可以在保险之外使用它们或银行数据定义问题。

所以我来 SO 有一些具体的意见。

你用过DSL吗?写一个。如果是,那是什么感觉?

你认为你的一个项目使用 DSL 会更好(更高效、更可维护……)吗?

编辑:我很抱歉把它放在后面,但我的意思是你自己写的一个特定的 DSL。它不包括 Tex、HTML、Make、SQL。事实上,问题更多的是:“编写 DSL”

0 投票
3 回答
89 浏览

parsing - 表达复杂时间多区间的语言?

我想知道是否有人知道任何声明性语言来表达绝对日期时间多间隔。我的意思是集合,它们是时间间隔的并集/交集/补集。

我想代表的区间是:

我不是在寻找库,而是在寻找某种语言规范。

我正在寻找的一个示例是您可以在此处找到的 cron 表达式。

0 投票
3 回答
23811 浏览

java - grails中的log4j:如何登录文件?

我的 grails config.groovy 中有这个 log4j 配置

infoLog、warnLog 和 errorLog 来自上一个问题……它们运行良好。

现在我添加新的 RollingFile 名称为“custom”...

我尝试使用 log.info("something .... ${obj}"); 从我的控制器和服务登录 但似乎该消息没有插入custom.log,我需要在配置中添加一些东西吗?

谢谢你 !!

0 投票
2 回答
517 浏览

visual-studio - Visual Studio DSL 工具和服务器资源管理器

是否可以让用户将表格从 Visual Studio Server Explorer 拖放到我自己的 DSL 图上?

我可以删除我创建的自定义域类,但想利用内置功能。

我在 Visual Studio 2010 中工作。

0 投票
3 回答
632 浏览

visual-studio-2008 - “DSL 工具”和“奥斯陆”有什么区别?

我刚刚开始使用特定领域的工具开发,并且正在使用 Visual Studio SDK DSL 工具。但是,我听说微软在特定领域的开发方面有另一项举措,称为“奥斯陆”。

我的印象是 DSL Tools 专注于图形领域特定语言,而 Oslo 专注于文本语言,但我不确定。

有人可以指出“DSL 工具”和“奥斯陆”之间有什么区别吗?