dsl相关内容

解释自定义语言

我需要开发一个将读取和理解文本文件的应用程序,在该文件中,我将找到描述操作列表(即烹饪食谱)的自定义语言.该语言尚未定义,但可能采用以下形状之一: 类似于C ++的代码 (此代码是随机生成的,仅供参考): begin repeat(10) { bar(toto, 10, 1999, xxx); } result = foo(xxxx, 10); if(foo == ok) ..
发布时间:2020-09-02 22:56:05 C#/.NET

实施“生成器".支持自定义语言

我在语言设计上有点偏爱,目前正在玩自己的业余语言. ( http://rogeralsing.com/2010/04/14/playing- with-plastic/) 真正让我流血的一件事是“发电机"和“收益"关键字. 我知道C#使用AST转换将枚举器方法转换为状态机. 但是它如何用其他语言工作? 有什么方法可以在不进行AST转换的语言中获得生成器支持吗? 例如像Python或Ru ..
发布时间:2020-07-28 18:52:59 其他开发

Jetbrains的MPS和Eclipse Xtext之间的主要区别是什么?

我在多个项目中使用了 Eclipse Xtext .我喜欢轻松地为Ecore(meta)模型定义语法,并为您生成所有内容,包括很棒的Eclipse插件编辑器,但是我对底层最近我遇到了Jetbrains的 MPS(元编程系统).它基于完全不同的哲学. Xtext用于创建基于文本的DSL,从而为您生成解析器(并实例化这些EObject),而使用MPS创建的语言,则可以直接编辑基础模型结构.到目前为止, ..
发布时间:2020-07-24 10:22:20 其他开发

用python编写DSL的编译器

我正在用python编写游戏,因此决定为地图数据文件创建DSL.我知道我可以用regex编写自己的解析器,但是我想知道是否有现有的python工具可以更轻松地完成此操作,例如PHP引擎中使用的re2c. 一些额外的信息: 是的,我需要,但即使我不想要DSL,我仍然想要在项目中构建和使用一个DSL的经验. DSL仅包含数据(声明式?),不会“执行".大多数行看起来像: SOM ..
发布时间:2020-07-21 20:32:46 Python

有没有一种方法可以将spirit :: lex字符串标记的内容匹配为Spirit :: qi语法中的文字

我正在编写DSL,并使用Boost Spirit词法分析器标记我的输入.在我的语法中,我想要一个与此类似的规则(其中tok是词法分析器): header_block = tok.name >> ':' >> tok.stringval > ';' >> tok.description >> ':' >> tok.stringval > ';' ; 我不想为语言指定保留 ..
发布时间:2020-07-18 20:45:56 C/C++开发

在Python虚拟机中创建新语言

是否可以为Python虚拟机创建新语言?我正在阅读 http://late.am/post/2012/03/26/exploring-python-code-objects ,博主在其中讨论Python代码对象.在其中,他讨论了将代码对象分解为字节码以及其中的符号的含义. 这使我认为可以使用替代方法来构造此字节码.我很好奇能否在Python字节码中创建沙盒语言,以便Python可以加载它的能 ..
发布时间:2020-07-14 00:35:03 Python

在Akka-http中获取客户端IP

我正在尝试编写一个知道客户端服务的IP(即远程地址)的Akka HTTP微服务(akka版本2.4.11,Scala版本2.11.8,在撰写本文时均为最新版本),我 我可以使用以下路线创建并运行一个服务,上面写着“ Hello!”: val routeHello:Route = path(“ SayHello”){ get { 实体(as [String]){ body = >完 ..
发布时间:2020-06-03 18:52:19 其他开发

带函数应用的类型化抽象语法树

我正在尝试编写一个可以表示 函数应用程序的类型化抽象语法树数据类型。 到目前为止,我已经拥有 类型Expr = | 'a 的常数| Expr的应用’a> * Expr //错误:未定义类型参数'b' 我不认为在F#中的最后一行写“ for all b”之类的东西-我是错误地解决了这个问题吗? 解决方案 在通常,F#类型系统的表现 ..
发布时间:2020-05-31 22:48:11 其他开发

SFig语言语法高效,清晰(并且优于Spring-Framework的XML DSL)吗?

附录编辑: 尚未接受对此的回答,因为 尚未收到任何反馈 经验丰富的Spring框架 开发人员. 我一直在研究替代DSL,以用于Spring-Framework applicationContext.xml文件(其中描述了bean初始化和依赖关系,以将其加载到Spring bean工厂中). 我的动机是,我完全不喜欢Spring为此目的使用XML,也不喜欢到目前为止已经设计出的任何 ..
发布时间:2020-05-25 01:50:59 其他开发

使用Ruby解析Tcl DSL

我希望能够解析一些参数不被字符串包围的Tcl代码. 考虑以下tcl代码: proc foo {name} { puts "Foo --> $name" } foo bar 对于那些不熟悉Tcl的人,foo是方法名称,而bar是参数(在Tcl中引号是可选的). 先前的代码将输出: Foo --> bar 是否可以使用ruby准确解析 相同的输入(bar保 ..
发布时间:2020-05-25 01:44:27 其他开发

C#中自己的DSL的代码解析器

我正在寻找可与C#代码一起使用的诸如flex/bison之类的东西.我希望能够提供一些语言描述符,并且应该生成一个解析器. 解决方案 有几个选项.我发现反讽很好.它功能强大,并且具有一种新颖的语法,该语法利用C#运算符重载直接在C#中传达语法. Irony-.NET语言实现套件. http://irony.codeplex.com/ ..
发布时间:2020-05-25 01:18:34 C#/.NET

Scala-具有查询字符串解析器和Builder DSL的URL

在Scala中,如何通过编程方式构建带有查询字符串参数的URL? 我又如何将包含带有查询字符串参数的URL的String解析为允许我以编程方式编辑查询字符串参数的结构? 解决方案 以下库可以帮助您解析和构建带有查询字符串参数的URL(免责声明:这是我自己的库): https://github.com/lemonlabsuk/scala-uri 它提供了DSL来构建带有查询字符串 ..
发布时间:2020-05-25 00:30:47 其他开发

适用于简单项目的哪种面向Java的词法分析器(ANTLR,DIY等)

我正在一个小的文本编辑器项目上,想要为几种语言(Java,XML ..仅举几例)添加基本语法突出显示.作为一种学习体验,我想添加一个流行的或不流行的Java词法分析器之一. 您推荐什么项目. Antlr可能是最广为人知的,但看起来却非常复杂和繁重. 这是我所知道的选项. Antlr Ragel(是的,它可以生成Java源代码来处理输入) 自己动手(我想我可以写一个简单的令牌解 ..
发布时间:2020-05-25 00:15:25 Java开发

什么是php好的解析器生成器?

我需要解析一种小的“迷你语言",用户可以在我的网站上键入该语言.我想知道lex和jacc或antlr的对应版本对php世界有什么作用. 解决方案 我使用了用于PHP的LIME Parser生成器几年前,它已经成熟并且稳定. 解析器生成器本身是用PHP编写的,在任何技术意义上都没有关系-因为我们仅要求生成的解析器使用PHP-但尽管如此,我仍然喜欢这个细节.这使我对用PHP编写软件感到抱 ..
发布时间:2020-05-25 00:10:04 PHP

Scala中的"Spread"参数?

是否可以通过给定数组调用采用单个参数的Scala函数(类似于JavaScript 价差在ECMAScript 6中)? ys = [10.0, 2.72, -3.14] f(x, ...ys); 最干净的语法是: f(1, ys) ,但这似乎是不可能的.甚至f(1, ys:_*)都不起作用(f(ys:_*)也不起作用,因为编译器报告的参数太少-仅填充第一个参数). 示例: ..
发布时间:2020-05-24 22:02:53 其他开发

如何使用NEST执行子聚合?

我正在尝试根据特定条件使用存储桶聚合来执行组文档,并为每个存储桶执行总和聚合. 下面是我的尝试 ISearchResponse paymentSearchResponse = ConnectionToES.EsClient() .Search ..
发布时间:2020-05-17 01:05:07 C#/.NET

Xtext 2.9范围提供者

Xtext 2.9更改了范围提供程序的工作方式,我不知道它们现在如何工作. 假设我有以下语法: grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals generate myDsl "http://www.xtext.org/example/mydsl/MyDsl" Model: ..
发布时间:2020-05-10 19:18:00 Java开发

了解为类方法添加method_

我想在实例和类方法添加到某个类的那一刻做一些魔术.因此,我尝试了以下操作: module Magic def self.included(base) base.extend ClassMethods end module ClassMethods def method_added(name) puts "class method '#{name}' ..
发布时间:2020-05-09 02:13:26 其他开发