xtext相关内容

XText 实体示例,原始类型

我正在尝试做的是修改一些基本的 entity DSL 示例,使其支持原语,并且可以完成以下操作: entity Dog {名称:字符串}实体人{名称:字符串狗 : 狗} 这样成员的类型可以是对另一个实体名称的引用,也可以是预定义的原语.我也在寻找一种方法,因此在生成的编辑器中为基元和实体名称提供了内容辅助. 到目前为止,这是我的 .xtext: 型号:(实体+=实体)*;实体:“实体" ..
发布时间:2021-10-04 18:50:24 其他开发

IResourceScopeCache 用于避免昂贵的范围计算

我遇到了同样的问题,描述了是这个链接吗 我想在我实现的 getScope 函数中使用 IResourceScopeCache,但我不知道该怎么做.没有找到任何对我有帮助的东西.我有这个文件:MyDslScopeProvider.xtend,我在那里覆盖了 getScope().我如何使用那里的缓存? override def IScope getScope(EObject context, E ..
发布时间:2021-10-04 18:50:21 其他开发

xText:doGenerate 方法未被调用

我正在使用 xText(版本 2.10.0)开发 DSL,我还想添加一个代码生成器. 运行插件时,据我所知,代码生成器应该在文件发生变化时自动调用.这不会发生. 使用调试器时,我注意到没有调用 doGenerate 函数. 我该怎么做才能自动调用 doGenerate 函数? 谢谢. 解决方案 您的文件需要正确的文件扩展名(区分大小写) 项目需要 xtext 性质并 ..
发布时间:2021-10-04 18:50:18 其他开发

Xtext,多文件交叉引用

我想调用另一个文件中声明的变量.文件的包含是使用交叉引用完成的.以及声明的调用.这是语法: 脚本:包括+=(包括)* 分配+=(分配)* g=GetLog?时钟=时钟?测试+=测试*;任务:配置|Cosem ;包括:'INCLUDE'包含脚本=[脚本|字符串];科西姆:name=ID '=' 'COSEM' '(' classid=INT ',' version=INT ',' obis=STR ..
发布时间:2021-10-04 18:50:12 Java开发

Xtext:从上下文菜单调用生成器

关注 https://christiandietrich.wordpress.com/2011/10/15/xtext-calling-the-generator-from-a-context-menu/ 并使用 EclipseResourceFileSystemAccess2 而不是 EclipseResourceFileSystemAccess 当行 final EclipseR ..
发布时间:2021-10-04 18:50:09 其他开发

Xtext:这个异常是什么意思?

我有一个 Xtext 语法,当我尝试生成 Xtext 工件时会抛出以下异常(它开始并最终抛出异常). 我的大纲(前几行): 0 [main] INFOlipse.emf.mwe.utils.StandaloneSetup - 注册平台 uri 'C:\Users\Robert Adam\Documents\eclipse.luna\workspace'451 [main] INFOlipse. ..
发布时间:2021-10-04 18:50:06 Java开发

xtext - 无法解析对的引用

我有以下语法: 型号:prog+=Program*;程序:g=Greeting de+=DataEntry* s+=Statement*;问候语:'你​​好' t=ProgPara '!';ProgPara: 'PROGRAM' pname=Progname ';';程序名称:名称=ID;DataEntry: a=INT v=Varname ';';变量名:名称= ID;语句:(c=CopySt ..
发布时间:2021-10-04 18:50:03 其他开发

如何在 xtext 项目之外使用 xtext 推断的 JVM 模型?

在 Xtext 文档 (http://www.eclipse.org/Xtext/documentation.html#_17) 的 推断 JVM 模型 部分中,它首先说:“在许多情况下,您会希望您的 DSL 概念可用作 Java 元素.例如,一个实体将成为一个 Java 类并且应该可以这样使用". 在上面的示例中,我如何使用生成的实体类 outside 的 xbase,即在与 xtext ..
发布时间:2021-10-04 18:50:00 其他开发

如何在 Theia 中为基于 LSP 的编辑器实现 Xtext-XMI 交叉引用?

我正在 Theia 中为我们的一个 DSL 创建一个基于 LSP 的编辑器,从这个 DSL,我们需要根据 FullQualifiedName 交叉引用在单独的 XMI 文件中定义的模型. 我能够为 eclipse 插件实现这个,但无法为基于 theia 的编辑器实现它.如果有任何现有示例在 thiea 中实现此功能,那就太好了. 解决方案 解决方案 - 假设我们已经在 EMF ..
发布时间:2021-10-04 18:49:58 Java开发

有什么方法可以测试我引用 EAttributes 的语法吗?

我一度陷入困境,因为我无法使用 Junit 测试用例来测试我的语法.下面是我完整的语法. ExpressionModel:表达式=表达式;表达:比较;比较返回表达式:初级 ({Comparison.left=current} op=("=" | "!=" | ">=" | " 我正在尝试测试以下测试用例--> @RunWith(XtextRunner)@InjectWith(ExtendedMy ..
发布时间:2021-10-04 18:49:55 其他开发

在 Xtext 中,如何调整某些函数调用

我正在使用 Xtext 2.15 生成一种语言,除其他外,该语言以看起来同步的方式处理异步调用. 例如,以我的语言编写的以下代码: int a = 1;整数 b = 2;boolean sleepSuccess = doSleep(2000);//休眠两秒int c = 3;整数 d = 4; 将生成以下 Java 代码: int a = 1;整数 b = 2;doSleep(2000 ..
发布时间:2021-10-04 18:49:52 其他开发

使用 xtext 不是作为插件

总的来说,我有我的 dsl 作为插件,我想创建一个使用我的 dsl 的新应用 所以我尝试编写此代码: JsonParser p = new JsonParser();IParseResult r = p.parse(new StringReader("{}"));//一旦工作,它将是文件数据而不是{} 但是当我进行解析时,节点模型构建器为空并且以下行有异常:return doParse( ..
发布时间:2021-10-04 18:49:49 其他开发

Xtext - 如何引用元素的元素

使用简单实体示例 https://eclipse.org/Xtext/documentation/102_domainmodelwalkthrough.html 如何添加如下内容: 地图:'map' entityA=[Entity] '.'特征A=[特征] '=>'entityZ=[实体] '.'特征Z=[特征]; 这样我就可以写了: 实体 A {名称:字符串}实体 B {名称:字符串 ..
发布时间:2021-10-04 18:49:46 其他开发

在 xtext 语法中定义原语

我想使用 xtext 创建一个非常简单的 DSL,具有以下功能: 它将有两种基本类型:数字和字符串 用户可以定义自己的类,这些类由字段声明组成 字段声明将名称与类型相关联,其中类型可以是类或原始类型 以下是我对 DSL 的尝试,类定义和引用工作正常,但我不知道如何拥有原始类型.'String' 和 'Number' 文字不起作用: 型号:(班级+=班级)*(字段+=字段)*;字段 ..
发布时间:2021-10-04 18:49:37 Java开发

Xtext 交叉引用和作用域

我在 xtext 交叉引用方面遇到了一些问题这是一个非常简单的语法: grammar org.xtext.example.mydsl1.Test with org.eclipse.xtext.common.Terminals生成测试“http://www.xtext.org/example/mydsl1/Test"型号:块=块?cs+=公司*;块:'{' g=[Employee] '}';公司: ..
发布时间:2021-10-04 18:49:34 其他开发

如何使用重命名重构作为快速修复的一部分?

我在我的 DSL 中添加了一个 quickfix 选项,我想在其中对文档文本进行一些修改 - 包括重命名某些元素.我可以很好地更改该元素中的文本,但我还想重命名其所有引用 - 即重命名重构.我该怎么做? 我能否以某种方式从快速修复程序内部触发内置的重命名重构?或者,我如何查看元素的所有引用并更改它们? 解决方案 于是,我找到了一种以编程方式触发重命名重构的方法.我不知道这是否是“正确 ..
发布时间:2021-10-04 18:49:31 其他开发

XText 对非 DSL 资源的交叉引用

请考虑这个最小的 Xtext 语法. 型号:“作为"stackeholder=利益相关者“我想要"想要=想要;利益相关者:'客户' |'开发商' |'经理';想:'一切' |'饼干' |'名气'; 现在我需要做的是将利益相关者的定义(让我们忘记want)到SOME外部数据源.这个“外部数据源"可能是一个 CSV 文件,可能是一个数据库,也可能是一个网络服务.但我不太可能是一些 Xtext 文件 ..
发布时间:2021-10-04 18:49:29 其他开发

如何使用Xtext格式化程序在同一文档中定义不同的缩进级别

是否可以使用 Xtext 格式将文档格式化为如下格式?如您所见,Test 子项缩进 4 个空格,而 External 子项仅缩进 2 个空格.我使用的是 Xtext 2.12.0. 测试 my_prog {设备 = "my_device";参数 = 0;}外部的 {路径 = "my_path";File = "my_file";} 解决方案 您可以尝试使用自定义替换器,但不知道这是否适用于嵌 ..
发布时间:2021-10-04 18:49:25 其他开发