问题标签 [xtext]
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.
java - 如何以编程方式在第二个工作台中的模型上运行 Xpand 工作流程?
我有一个 Xtext/Xpand(oAW 4.3、Eclipse 3.4)生成器插件,我在第二个工作台中与编辑器插件一起运行。在那里,我想在我创建的模型文件上以编程方式运行 Xpand 工作流程。如果我使用我拥有的 IFile 的绝对路径设置模型文件,例如:
或者,如果我使用通过以下方式检索的文件 URI:
找不到文件:
在我交给 WorkflowRunner 的地图中,我应该将模型文件属性 (dslFile) 设置为什么值:
我还尝试将属性留空并引用相对于工作流文件(在工作流文件内)的模型文件,但这会产生 FileNotFoundException。在普通应用程序(而不是在第二个工作台)中运行所有这些工作正常。
java - 来自 Xpand 的样本 -
我能得到一些关于 XPand 的好教程吗?我需要获取有关 LET 等命令的信息。如果有人能在上面贴一些样本就更好了。
我面临的问题就像..我运行一个“for”循环,在检查了一些条件后我需要增加一个计数器。但我不能这样做。当我增加计数器时,它会打印到输出文件中。
提前致谢。
compiler-construction - ANTLR 运算符优先级
ANTLR 中如何实现运算符优先级?
我目前正在使用 XText/Antlr 包。
编辑:
我做了 sepp2k 建议的操作,运算符优先级现在可以使用,但是像 3 +* 这样的东西现在也可以使用。操作员基本上是“掉入”树中。
另外,我在 ANTLR 的网站上尝试了 C 语法,在 ANTLRworks 中也发生了同样的事情。
有谁知道是什么问题?
dsl - 用于 EClipse 的 XText 和用于 SQL Server 的 Oslo Intellipad 那么 .NET 是什么?
XText是用于 EClipse 中 DSL 的出色编辑器和语言制造商。我认为Intellipad是 .NET 世界中的等价物,当然,当微软宣布它将成为 SQL Server 的一部分时,我感到很失望。
现在,如果我需要使用支持着色、智能、错误的编辑器创建在 .NET 环境上运行的 DSL……(在 Visual Studio 之外运行的编辑器是一个加号,WPF 编辑器是一个加号),我有什么工具寻找?
java - 我可以将 XText 用于涉及 XML 文件类型的 DSL 吗?
我已经定义了一个小型 DSL,它主要以不同类型的 XML 文件和一些属性文件的形式编写。这很好用,但我希望创建一个 Eclipse 编辑器,让初学者更容易编辑这些文件(我已经有一个可以工作的解析器)。
主 XML 文件可以引用 .properties 文件中的某些项目,反之亦然。主 xml 文件还可以引用其他 XML 文件。根据 .properties 文件的内容和可以添加到 DSL 项目的一些 osgi 插件,某些选项应该仅在主 xml 文件中可用(语法是动态的,取决于上下文)。语言的结构是固定的,但每个属性中可用的选项或属性本身的选择会根据插件 .jar 文件中包含的元数据而变化。
问题:
XText 是否支持动态语法(验证取决于外部因素)?
XText 是否支持 XML 文件/.properties 文件?
非常感谢您提前提供的帮助。
dsl - Jetbrains 的 MPS 和 Eclipse Xtext 之间的主要区别是什么?
我在几个项目中使用了Eclipse Xtext 。我喜欢在 Ecore(元)模型上轻松定义语法并让所有内容为您生成,包括很棒的 Eclipse 插件编辑器,但我对底层EMF 框架感到非常不舒服,因为所有东西都硬连线在静态字段中。
最近我遇到了 Jetbrains 的MPS(元编程系统)。它基于完全不同的哲学。Xtext 用于创建基于文本的 DSL,为您生成解析器(并实例化那些 EObject),而在 MPS 创建的语言中,可以直接编辑底层模型结构。到目前为止,我明白了。
有没有人使用这两种 DSL 工具来指出在使用它们方面的主要区别、预期的用例和受众、复杂性、学习曲线(老实说,开始使用 Xtext 应该对 EMF 的胆量有很多了解) ,代码生成等?
eclipse - 如何遍历 Xtext 生成的 EMF 对象树?
我正在使用Xtext来定义我的 DSL。Xtext 生成一个解析器,让我可以遍历输入 DSL 的 EMF 模型。我想将此 EMF 模型转换为其他树。要进行此翻译,我需要遍历树。但是,我找不到 Xtext 生成的 EMF 模型的访问者类。我发现的最接近的东西是访问单个节点的 Switch 类。我可以自己遍历 EMF 模型并在我访问的每个节点上调用 Switch 类。但是,我想知道 Xtext 中是否存在实现模型遍历的访问者功能。
java - 为什么链接在我的基于 Xtext 的 DSL 中不起作用?
以下是我的 DSL 的 Xtext 语法。
并且,下面是上述DSL中的一个程序。
以下是生成Switch
类的子类,它演示了节点getPredicateType()
上的返回 null 。Predicate
当我使用ModelPrinter
该类遍历上述程序对应的EMF对象模型时,我意识到节点没有正确链接在一起。例如,节点getPredicateType()
上的方法返回. 阅读了 Xtext 用户指南后,我的印象是 Xtext 默认链接语义应该适用于我的 DSL。但是,由于某种原因,我的 DSL 的 AST 节点没有正确链接在一起。谁能帮我诊断这个问题?Predicate
null
java - 让 XText 工作
我知道你不喜欢帮助别人做作业,但我必须制作一个 XText 语法,编写一个与该语法匹配的示例代码并将其编译为一个 html 文件。
讲师向我们展示了步骤,一切都对他有用......他说“这很简单,对你来说只需 10 分钟的工作”。我相信这一点。然而,在家里几乎没有什么能按预期工作。当然,没有更多的讲座可以去,只有考试可供我参加,我必须证明我做了什么才能通过。而且我发给他的邮件被邮件恶魔退回了……
我从 xtext 网站获得了 Xtext 和 Eclipse IDE,我将其解压缩,然后按照官方教程中的步骤使默认项目模板正常工作。该教程可在此处找到:http ://wiki.eclipse.org/Xtext/GettingStarted
现在我在“模型”这一步。它说打开“MyModel.mydsl”我这样做但编辑器没有打开。它说:
“无法打开编辑器:无法实例化编辑器类。这通常表示缺少无参数构造函数,或者编辑器的类名在 plugin.xml 中输入错误。”
由于生成了所有内容,因此错误消息对我没有帮助...有一个选项可以查看堆栈跟踪(它长达一英里),并且在它的顶部有一个异常:
java.lang.IllegalStateException:捆绑包尚未激活。确保 Manifest.MF 包含“Bundle-ActivationPolicy:lazy”。
我打开 Manifast.MF 和 Bundle-ActivationPolicy: lazy 已设置...
我搜索了解决方案,但无济于事。它把我逼疯了,我放弃了。
我没有使用 Eclipse、Java 和 XText 的经验,我只想做我的功课并忘记一切,直到我再次需要它......
有人对 XText 有经验吗?
任何帮助表示赞赏。
ps:我也会参与,我可能会在几个小时内解决问题。但现在我不知所措。