问题标签 [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.

0 投票
2 回答
2070 浏览

java - 在 Xtext 语法中集成 OCL 类型的问题

我正在研究一个要重用 OCL 类型的语法(Xtext 项目)。通常您在 Xtext 中使用 import 语句引用现有类型,例如

已经有一个示例 Xtext 项目 (CompleteOCL) 将 OCL 类型集成到语法中。不幸的是,该项目在其导入语句中引用了本地插件,例如

因此 Manifest.MF 文件中没有定义依赖项。如果我想在我的语法中重用 OCL 类型,我必须编写例如

我添加了 org.eclipse.ocl.examples.xtext.base 依赖项,并且可以在我的语法中编写引用(OCL)BaseCST 类型的规则。如果我尝试生成 Xtext 工件,我会收到以下错误:

所以可能我错过了什么?这个问题很容易重现。创建一个新的 Xtext 项目,添加依赖项,编辑语法并添加最后一个导入语句(“import”http://...“)并尝试生成 Xtext 工件。欢迎任何想法!

提前致谢!
迈克尔

编辑:为了使用语法,您必须在 MWE2 工作流程(参见 Xtext 文档(版本 1.0.1)的第 3.2.2.2 节)中参考 ecore 模型的相应 genmodel 文件,例如

尽管如此,它仍然不适合我。

0 投票
1 回答
225 浏览

java - Java 插件扩展点

我正在 xtext 中创建一种编程语言,我想要:

  1. 我需要知道在插件开发中我必须选择哪个扩展点来创建我自己的 Run-As 处理程序。通过贡献 Run As 扩展来创建我运行程序的处理程序。

  2. 如何在用户右键单击数据源资源管理器中的表时附加命令。我想使用表树节点来生成一些代码。

但我不知道哪些扩展点在 Eclipse 中提供了这些功能。

谢谢你,阿布

0 投票
1 回答
702 浏览

php - Xtext 中的 PHP 语法

我正在研究现代化和 Web Reigieneria 的过程,我需要为 PHP 和 XHTML 定义语法以在定义元模型后生成代码 XText。

有人取得了一些我可以依据的进展吗?

0 投票
6 回答
6122 浏览

dsl - Xtext 和 MPS 等不同语言工作台工具的优缺点?

是否有人有使用 Xtext、Spoofax 和 JetBrains 的 MPS 等语言工作台工具的经验?我正在尝试一个,并且很难找到不同工具的良好比较。各自的优缺点是什么?

我正在寻找构建生成 python 代码的 DSL,所以我特别想听听那些在 python 中使用过这些工具之一的人的来信(这三个工具似乎都非常关注 Java ......为什么会这样?)。DLS 主要是供我自己使用的,所以我不太关心构建一个非常漂亮的 IDE,而是关心它是 KISS 来定义语法和编写代码生成器。对 DLS 进行类型检查/静态分析的能力也很酷。

我有点害怕走得太远,碰壁,并意识到我所有的代码都是一种无法移植到其他任何东西的格式——这些工具有风险吗?特别是 MPS 似乎有点可怕,因为据我了解,您并没有真正生成基于文本的语法,而是为 AST 构建专门的编辑器。

0 投票
3 回答
1053 浏览

actionscript-3 - 适用于 xpand 的 Actionscript 3 代码美化器(MWE2 工作流程)

一世

目前我正在为 Java 和 Actionscript3 开发代码生成器。

生成器运行良好,但 Actionscript3 代码不是很好。

对于 Java,有一个与 xpand (MWE2 Workflow) 集成的现有代码美化器,但对于 Actionscript3,我找不到任何东西。

任何的想法?也许有人已经准备好使用 AS3 代码美化器或知道可以与 xpand 和 MWE2 Workflow 集成的第三方美化器

0 投票
1 回答
154 浏览

eclipse - 通过 Xtext/Xpand 中的相同元素名称使引用或终端可访问?

我有一个描述状态机的 Xtext 语法,并且我一直在使用对先前声明的事件和状态的引用来描述转换:

当我使用 MWE 生成编辑器时,它将验证引用项的存在。例如,写作

需要这些:

出现在代码的其他地方(顺便说一句,我为每个状态机使用一个文件,所以它需要在同一个文件中)。在我的 Xpand 代码模板中,我可以访问事件和状态作为转换元素:

这真的很好用,我已经使用了很长时间了。

但是由于许多事件对于我的所有状态机(initshowhidefinish等)都是通用的,因此我希望能够像以前那样引用事件,或者无需输入上述事件名称之一在每个文件中声明事件。

但我不能这样做:

所以我决定定义一个终端EventID,它是上述关键字之一:

但我也不能这样做:

然后我尝试使 Event 成为一个组合规则:

这也不起作用。

现在我决定解决一个解决方法:

这可行,但我将不得不更改我的所有模板以查找事件和基本事件。

我意识到,这是相当多的文字......所以最后,这是我的问题:

有什么办法可以将相同的元素名称用于引用EventID

0 投票
2 回答
3616 浏览

syntax-highlighting - Xtext:使用 ISemanticHighlightingCalculator 中的语法类

听着,我有语法。仅查看我需要处理的特定部分:

我想要得到的是:

这是我的SemanticHighlightingCalculator

我正在按照文档中的说明执行此操作。我在编译时没有收到任何错误。这是一个示例输出System.out.println(node.getGrammarElement().toString());

0 投票
1 回答
444 浏览

types - Xtext:解析时构建类型映射

Xtext中,如何从模型文件中的类型声明构建类型映射(即 Java 映射)?假设我的模型文件如下所示:

我的 Xtext 语法说:

如何<String,DataType>在解析器运行时或在评估模板之前构建映射?以后如何从 Xpand 模板访问地图?

注意:现在是 2011 年。请避免使用全局变量 ( static)。

0 投票
1 回答
270 浏览

java - 使用 Xtext 生成 Java 导入的最佳列表

有没有办法在 Xtext 生成 Java 代码时收集必要的导入列表,然后在处理模型后将此列表插入顶部?

0 投票
1 回答
296 浏览

java - DSL 用于非常标准的对象模型,并映射到 SQL DB

我需要一个 DSL(用于Xtext)来描述一个非常标准的对象模型:

  • 有实体
  • 它们具有可以是原语或对其他实体的引用的字段
  • 参考可以是 1:1、1:N、N:1 或 N:M

不想重新发明轮子,有哪些 DSL 可以实现这一点?