问题标签 [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.
parsing - Xtext 可以用于解析通用编程语言吗?
我目前正在开发一种通用的基于代理的编程语言(它的语法会受到 Java 的启发,我们也在这种语言中使用对象)。
自项目开始以来,我们对使用ANTLR或Xtext的事实持怀疑态度。那时我们发现 Xtext 正在实现 ANTLR 功能的一个子集。所以我们决定为我们的语言使用 ANLTR,从而失去了为我们的语言免费拥有一个成熟的 Eclipse 编辑器的可能性(Xtext 提供了如此好的特性)。
然而,据我所知,今年夏天 Xtext 项目向前迈出了一大步。引用链接:
Xtext 的限制是什么?
Sven:您可以使用 Xtext 实现几乎任何类型的编程语言或 DSL。有一个例外,那就是如果您需要使用所谓的“语义谓词”,这是一件相当复杂的事情,我认为不值得在这里解释。很少有语言真正需要这个概念。然而,突出的例子是 C/C++。我们希望在下一个版本中研究该主题。
这在Xtext 文档中也得到了加强:
什么是 Xtext?无论您是想创建一种小型的文本领域特定语言 (DSL),还是想实现一种成熟的通用编程语言。使用 Xtext,您可以快速创建自己的语言。此外,如果您已经拥有一种现有的语言,但它缺乏良好的工具支持,那么您可以使用 Xtext 创建一个复杂的基于 Eclipse 的开发环境,在极短的时间内提供现代 Java IDE 中已知的编辑体验。我们称 Xtext 为语言开发框架。
如果 Xtext 摆脱了过去的限制,为什么仍然无法为最著名的编程语言(Java、C# 等)找到复杂的 Xtext 语法?
在 ANTLR 网站上,您可以找到大量此类语法示例,而对于 Xtext 而言,我能找到的唯一示例是文档中报告的示例。那么,也许 Xtext 仍然不成熟,无法用于实现通用编程语言?我对此有点担心......我不会开始在 Xtext 中重写语法,然后认识到它不适合那个。
editor - ANTLR 语法的编辑器生成器?
我正在使用 ANTLR 创建一种新的通用编程语言,我对此非常满意。
由于我想提供好的工具来简化用我的语言编写的程序的开发,我开始考虑通过适当的 Eclipse 插件来实现该语言的编辑器。
是否有任何工具/项目可以让您拥有一个成熟的编辑器(具有语法突出显示、代码完成等)。我知道 Xtext 允许您自动执行此操作,那么 ANTLR 呢?
我在 ANTLR 邮件列表中看到了这封邮件,但没有任何答复
eclipse - XText:使用自定义终端定义
我对 XText 完全陌生。
当您使用 XText 定义语法时,您可以指定第二个语法并使用它声明的定义,如此处所述:
在 Xtext 中,每个语法都有一个唯一的名称,就像公共 Java 类一样,它需要反映文件在 Java 类路径中的位置。在我们的例子中,语法文件位于 /org/eclipse/xtext/example/Domainmodel.xtext,因此语法的名称是 org.eclipse.xtext.example.Domainmodel。该语句的第二部分(与 org.eclipse.xtext.common.Terminals 一起)指出,该语法重用并覆盖了指定语法中的规则。org.eclipse.xtext.common.Terminals 是 Xtext 附带的库语法,并预定义了最常见的终端规则
我正在开发一个 XText 插件,我想在一个单独的文件中定义我自己的终端符号。是否可以?我怎样才能做到这一点?
我尝试创建一个新的 Xtext 文件并将其附加在 org.eclipse.xtext.common.Terminals 之后并仅添加我的文件,但两种解决方案都无法编译。
谢谢。
编辑
如果我在同一个项目中使用两个 xtext 文件,一个用于语法,一个用于语法终端,则启动 mwe2 文件时会出现以下异常:
java.lang.IllegalStateException:解析“类路径:/org/xvr/language/sh/ShaderDsl.xtext”时出现问题:[XtextLinkingDiagnostic:null:1 无法解析对语法“org.xvr.language.sh.ShTerminal”的引用。 ,XtextLinkingDiagnostic:null:9 无法解析对 AbstractRule 'ID' 的引用。TransformationDiagnostic:null:14 无法创建数据类型 INVARIANT(错误代码:NoSuchTypeAvailable),TransformationDiagnostic:null:17 无法创建数据类型 PRECISION(错误代码:NoSuchTypeAvailable),TransformationDiagnostic: null:19 无法创建数据类型 HIGH_PRECISION(错误代码:NoSuchTypeAvailable),TransformationDiagnostic:null:20 无法创建数据类型 MEDIUM_PRECISION(错误代码:NoSuchTypeAvailable),TransformationDiagnostic:null:21 无法创建数据类型 LOW_PRECISION(错误代码:NoSuchTypeAvailable)]
这两个 xtext 文件是:
语法
和语法的终端
antlr - 将 ANTLR 语法翻译成 XText 语法:如何去除句法谓词
我是 Xtext 和 ANTLR 的新手。
我需要将 ANTLR (.g) 语法翻译成 XTEXT (.xtext) 语法。在 ANTLR 语法中,存在 Xtext 不支持的句法谓词。
有没有办法删除/翻译这些谓词?
谢谢
编辑
我要翻译的 ANTLR 语法可以在这里找到:
xtext - 在 Xtext 中解析字符串
我目前正在尝试为我们在公司使用的内部语言编写一个基于 Eclipse 的编辑器。该语言是以下形式的语句的集合:
...在自己的路线上。{arguments} 的格式取决于正在执行的 {action} 的类型。脚本片段的示例可能如下所示:
我的问题是解析这样的片段。我有评论和超时声明工作,但我似乎无法创建一个规则来覆盖横幅声明。我的所有尝试都导致 Antlr “令牌定义无法访问”警告,或者编辑器无法匹配输入。我为横幅声明尝试了以下规则:
和
...这给了我 antlr 警告。我想出的一个技巧是简单地创建一个与 SL_COMMENT 相同的终端,在开头使用“banner:”而不是“#”。缺点是我没有得到语法着色,“横幅”也没有出现在自动完成列表中。
欢迎任何建议。
xtext - Xtext 自定义交叉引用
我一直在为我们内部使用的一种语言开发一个基于 Xtext 的 Eclipse 插件。这种语言可能有以下形式的陈述:
...最终我想提供一个自定义位置提供程序,以便在文件路径上按 F3 将在 Eclipse 的新编辑器中打开文件。我还没有机会尝试一下,但是有人认为以下方法有什么问题吗?
- 覆盖 IHyperlinkHelper 以使我的文件路径规则可交叉引用
- 覆盖 ILocationInFileProvider 以使文件路径规则执行 Eclipse 魔术以在新编辑器中打开文件
任何建议表示赞赏,谢谢
xtext - 从 jar 中交叉引用 xtext 中的 dsl 元素
我有一个用 xtext 编写的 DSL。假设扩展名是 dmodel。我创建了一个包含两个文件的项目,a.dmodel
并且b.model
基于 DSL,其中的各种元素能够在编辑器中相互交叉引用。
可以说,我想移动a.dmodel
到 jar 并将其添加到 jar(并可能将 jar 添加到项目中)并且仍然能够交叉引用 b.dmodel 中的元素。我该如何做到这一点?
eclipse - XText 没有提供哪些 ANTLR 功能?
我刚刚遇到了非常好的工具 Xtext 来创建 DSL 以及用于编辑的 IDE。我在网上做了一些搜索,发现有人说它不提供 ANTLR 的所有功能。我使用 ANTLR 作为我的解析器生成器。
我什至不确定要为我的语言编写完整的解析器需要 ANTLR 的哪些功能,但 ANTLR 已经存在了很长时间,并且可能支持比 Xtext 更多的功能。
任何人都可以举一些Xtext语法中不能指定的例子吗?
syntax-highlighting - xtext:基本的“向导”项目在第一次构建时出错
我正在使用(相当重的)xtext 来创建基本的 DSL 解析器和文本突出显示。
我正在关注http://wiki.eclipse.org/Xtext/GettingStarted上的入门教程
我得到的控制台中的输出是:
0 [主] 信息 eclipse.emf.mwe.core.WorkflowRunner ------------------------- -------------------------------------------------- - 0 [main] INFO eclipse.emf.mwe.core.WorkflowRunner - EMF Modeling Workflow Engine 0.7.2,Build v200908120417 0 [main] INFO eclipse.emf.mwe.core.WorkflowRunner - (c) 2005-2009 openarchitectureware.org和贡献者 0 [main] INFO eclipse.emf.mwe.core.WorkflowRunner --------------------------------- -------------------------------------------------- --- 0 [main] INFO eclipse.emf.mwe.core.WorkflowRunner - 运行工作流:C:/Users/Richard/workspace/org.xtext.example.mydsl.generator/src/workflow/MyDslGenerator.mwe 0 [main ] INFO eclipse.emf.mwe.core.WorkflowRunner - 297 [main] 错误 eclipse.emf.mwe.core.WorkflowRunner - [错误]:找不到类:'org.xtext.example。MyDslStandaloneSetup'(元素: bean register class='org.xtext.example.MyDslStandaloneSetup' in C:/Users/Richard/workspace/org.xtext.example.mydsl.generator/src/workflow/MyDslGenerator.mwe:11; 报告人: -UNKNOWN-) 297 [main] 错误 eclipse.emf.mwe.core.WorkflowRunner - 工作流因配置错误而中断。
我在教程的第 4 步“DSL 生成”中得到了这个输出。
eclipse - 如何在 eclipse helios 中通过 zip 文件安装 xText
我希望通过下载 zip 文件在 eclipse helios 中安装 xText。不幸的是,下载后我找不到有关如何在 Eclipse 中安装插件的说明。有谁知道我如何安装它?