dsl相关内容
我需要开发一个将读取和理解文本文件的应用程序,在该文件中,我将找到描述操作列表(即烹饪食谱)的自定义语言.该语言尚未定义,但可能采用以下形状之一: 类似于C ++的代码 (此代码是随机生成的,仅供参考): begin repeat(10) { bar(toto, 10, 1999, xxx); } result = foo(xxxx, 10); if(foo == ok)
..
我在语言设计上有点偏爱,目前正在玩自己的业余语言. ( http://rogeralsing.com/2010/04/14/playing- with-plastic/) 真正让我流血的一件事是“发电机"和“收益"关键字. 我知道C#使用AST转换将枚举器方法转换为状态机. 但是它如何用其他语言工作? 有什么方法可以在不进行AST转换的语言中获得生成器支持吗? 例如像Python或Ru
..
我在多个项目中使用了 Eclipse Xtext .我喜欢轻松地为Ecore(meta)模型定义语法,并为您生成所有内容,包括很棒的Eclipse插件编辑器,但是我对底层最近我遇到了Jetbrains的 MPS(元编程系统).它基于完全不同的哲学. Xtext用于创建基于文本的DSL,从而为您生成解析器(并实例化这些EObject),而使用MPS创建的语言,则可以直接编辑基础模型结构.到目前为止,
..
我正在用python编写游戏,因此决定为地图数据文件创建DSL.我知道我可以用regex编写自己的解析器,但是我想知道是否有现有的python工具可以更轻松地完成此操作,例如PHP引擎中使用的re2c. 一些额外的信息: 是的,我需要,但即使我不想要DSL,我仍然想要在项目中构建和使用一个DSL的经验. DSL仅包含数据(声明式?),不会“执行".大多数行看起来像: SOM
..
我正在编写DSL,并使用Boost Spirit词法分析器标记我的输入.在我的语法中,我想要一个与此类似的规则(其中tok是词法分析器): header_block = tok.name >> ':' >> tok.stringval > ';' >> tok.description >> ':' >> tok.stringval > ';' ; 我不想为语言指定保留
..
是否可以为Python虚拟机创建新语言?我正在阅读 http://late.am/post/2012/03/26/exploring-python-code-objects ,博主在其中讨论Python代码对象.在其中,他讨论了将代码对象分解为字节码以及其中的符号的含义. 这使我认为可以使用替代方法来构造此字节码.我很好奇能否在Python字节码中创建沙盒语言,以便Python可以加载它的能
..
我有一个SFTP目录,可以读取文件并将文件发送给ServiceActivator进行进一步处理.在任何时候,我都需要使用处理程序并行处理它们. 这是我的SPring Integration Java DSL流程. IntegrationFlows.from(Sftp.inboundAdapter(getSftpSessionFactory())
..
我正在尝试编写一个知道客户端服务的IP(即远程地址)的Akka HTTP微服务(akka版本2.4.11,Scala版本2.11.8,在撰写本文时均为最新版本),我 我可以使用以下路线创建并运行一个服务,上面写着“ Hello!”: val routeHello:Route = path(“ SayHello”){ get { 实体(as [String]){ body = >完
..
我正在尝试编写一个可以表示 函数应用程序的类型化抽象语法树数据类型。 到目前为止,我已经拥有 类型Expr = | 'a 的常数| Expr的应用’a> * Expr //错误:未定义类型参数'b' 我不认为在F#中的最后一行写“ for all b”之类的东西-我是错误地解决了这个问题吗? 解决方案 在通常,F#类型系统的表现
..
附录编辑: 尚未接受对此的回答,因为 尚未收到任何反馈 经验丰富的Spring框架 开发人员. 我一直在研究替代DSL,以用于Spring-Framework applicationContext.xml文件(其中描述了bean初始化和依赖关系,以将其加载到Spring bean工厂中). 我的动机是,我完全不喜欢Spring为此目的使用XML,也不喜欢到目前为止已经设计出的任何
..
我希望能够解析一些参数不被字符串包围的Tcl代码. 考虑以下tcl代码: proc foo {name} { puts "Foo --> $name" } foo bar 对于那些不熟悉Tcl的人,foo是方法名称,而bar是参数(在Tcl中引号是可选的). 先前的代码将输出: Foo --> bar 是否可以使用ruby准确解析 相同的输入(bar保
..
我正在寻找可与C#代码一起使用的诸如flex/bison之类的东西.我希望能够提供一些语言描述符,并且应该生成一个解析器. 解决方案 有几个选项.我发现反讽很好.它功能强大,并且具有一种新颖的语法,该语法利用C#运算符重载直接在C#中传达语法. Irony-.NET语言实现套件. http://irony.codeplex.com/
..
在Scala中,如何通过编程方式构建带有查询字符串参数的URL? 我又如何将包含带有查询字符串参数的URL的String解析为允许我以编程方式编辑查询字符串参数的结构? 解决方案 以下库可以帮助您解析和构建带有查询字符串参数的URL(免责声明:这是我自己的库): https://github.com/lemonlabsuk/scala-uri 它提供了DSL来构建带有查询字符串
..
我正在一个小的文本编辑器项目上,想要为几种语言(Java,XML ..仅举几例)添加基本语法突出显示.作为一种学习体验,我想添加一个流行的或不流行的Java词法分析器之一. 您推荐什么项目. Antlr可能是最广为人知的,但看起来却非常复杂和繁重. 这是我所知道的选项. Antlr Ragel(是的,它可以生成Java源代码来处理输入) 自己动手(我想我可以写一个简单的令牌解
..
我需要解析一种小的“迷你语言",用户可以在我的网站上键入该语言.我想知道lex和jacc或antlr的对应版本对php世界有什么作用. 解决方案 我使用了用于PHP的LIME Parser生成器几年前,它已经成熟并且稳定. 解析器生成器本身是用PHP编写的,在任何技术意义上都没有关系-因为我们仅要求生成的解析器使用PHP-但尽管如此,我仍然喜欢这个细节.这使我对用PHP编写软件感到抱
..
是否可以通过给定数组调用采用单个参数的Scala函数(类似于JavaScript 价差在ECMAScript 6中)? ys = [10.0, 2.72, -3.14] f(x, ...ys); 最干净的语法是: f(1, ys) ,但这似乎是不可能的.甚至f(1, ys:_*)都不起作用(f(ys:_*)也不起作用,因为编译器报告的参数太少-仅填充第一个参数). 示例:
..
我正在尝试根据特定条件使用存储桶聚合来执行组文档,并为每个存储桶执行总和聚合. 下面是我的尝试 ISearchResponse paymentSearchResponse = ConnectionToES.EsClient() .Search
..
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:
..
说我需要一些非常特殊的乘法运算符.可以在以下宏中实现: macro @ } 我可以像使用它 def val = 2
..
我想在实例和类方法添加到某个类的那一刻做一些魔术.因此,我尝试了以下操作: module Magic def self.included(base) base.extend ClassMethods end module ClassMethods def method_added(name) puts "class method '#{name}'
..