xtext相关内容
我正在尝试做的是修改一些基本的 entity DSL 示例,使其支持原语,并且可以完成以下操作: entity Dog {名称:字符串}实体人{名称:字符串狗 : 狗} 这样成员的类型可以是对另一个实体名称的引用,也可以是预定义的原语.我也在寻找一种方法,因此在生成的编辑器中为基元和实体名称提供了内容辅助. 到目前为止,这是我的 .xtext: 型号:(实体+=实体)*;实体:“实体"
..
我遇到了同样的问题,描述了是这个链接吗 我想在我实现的 getScope 函数中使用 IResourceScopeCache,但我不知道该怎么做.没有找到任何对我有帮助的东西.我有这个文件:MyDslScopeProvider.xtend,我在那里覆盖了 getScope().我如何使用那里的缓存? override def IScope getScope(EObject context, E
..
我正在使用 xText(版本 2.10.0)开发 DSL,我还想添加一个代码生成器. 运行插件时,据我所知,代码生成器应该在文件发生变化时自动调用.这不会发生. 使用调试器时,我注意到没有调用 doGenerate 函数. 我该怎么做才能自动调用 doGenerate 函数? 谢谢. 解决方案 您的文件需要正确的文件扩展名(区分大小写) 项目需要 xtext 性质并
..
我有文本文件要解析(即转换为 Java Bean 实例), 形成了所需的 XText 语法. 我的 XText 语法: org.eclipse.xtext.example.Domainmodel 和 org.eclipse.xtext.common.Terminals 的语法生成域模型“http://www.eclipse.org/xtext/example/Domainmodel
..
我想调用另一个文件中声明的变量.文件的包含是使用交叉引用完成的.以及声明的调用.这是语法: 脚本:包括+=(包括)* 分配+=(分配)* g=GetLog?时钟=时钟?测试+=测试*;任务:配置|Cosem ;包括:'INCLUDE'包含脚本=[脚本|字符串];科西姆:name=ID '=' 'COSEM' '(' classid=INT ',' version=INT ',' obis=STR
..
关注 https://christiandietrich.wordpress.com/2011/10/15/xtext-calling-the-generator-from-a-context-menu/ 并使用 EclipseResourceFileSystemAccess2 而不是 EclipseResourceFileSystemAccess 当行 final EclipseR
..
我有一个 Xtext 语法,当我尝试生成 Xtext 工件时会抛出以下异常(它开始并最终抛出异常). 我的大纲(前几行): 0 [main] INFOlipse.emf.mwe.utils.StandaloneSetup - 注册平台 uri 'C:\Users\Robert Adam\Documents\eclipse.luna\workspace'451 [main] INFOlipse.
..
我有以下语法: 型号:prog+=Program*;程序:g=Greeting de+=DataEntry* s+=Statement*;问候语:'你好' t=ProgPara '!';ProgPara: 'PROGRAM' pname=Progname ';';程序名称:名称=ID;DataEntry: a=INT v=Varname ';';变量名:名称= ID;语句:(c=CopySt
..
在 Xtext 文档 (http://www.eclipse.org/Xtext/documentation.html#_17) 的 推断 JVM 模型 部分中,它首先说:“在许多情况下,您会希望您的 DSL 概念可用作 Java 元素.例如,一个实体将成为一个 Java 类并且应该可以这样使用". 在上面的示例中,我如何使用生成的实体类 outside 的 xbase,即在与 xtext
..
我正在 Theia 中为我们的一个 DSL 创建一个基于 LSP 的编辑器,从这个 DSL,我们需要根据 FullQualifiedName 交叉引用在单独的 XMI 文件中定义的模型. 我能够为 eclipse 插件实现这个,但无法为基于 theia 的编辑器实现它.如果有任何现有示例在 thiea 中实现此功能,那就太好了. 解决方案 解决方案 - 假设我们已经在 EMF
..
我一度陷入困境,因为我无法使用 Junit 测试用例来测试我的语法.下面是我完整的语法. ExpressionModel:表达式=表达式;表达:比较;比较返回表达式:初级 ({Comparison.left=current} op=("=" | "!=" | ">=" | " 我正在尝试测试以下测试用例--> @RunWith(XtextRunner)@InjectWith(ExtendedMy
..
我正在使用 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
..
总的来说,我有我的 dsl 作为插件,我想创建一个使用我的 dsl 的新应用 所以我尝试编写此代码: JsonParser p = new JsonParser();IParseResult r = p.parse(new StringReader("{}"));//一旦工作,它将是文件数据而不是{} 但是当我进行解析时,节点模型构建器为空并且以下行有异常:return doParse(
..
使用简单实体示例 https://eclipse.org/Xtext/documentation/102_domainmodelwalkthrough.html 如何添加如下内容: 地图:'map' entityA=[Entity] '.'特征A=[特征] '=>'entityZ=[实体] '.'特征Z=[特征]; 这样我就可以写了: 实体 A {名称:字符串}实体 B {名称:字符串
..
我在 JvmModelInferrer.xtend 中使用以下代码生成 Java 类 @Inject 扩展 JvmTypesBuilderdef dispatch void infer(Model element, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) {acceptor.accept(element.toC
..
我想使用 xtext 创建一个非常简单的 DSL,具有以下功能: 它将有两种基本类型:数字和字符串 用户可以定义自己的类,这些类由字段声明组成 字段声明将名称与类型相关联,其中类型可以是类或原始类型 以下是我对 DSL 的尝试,类定义和引用工作正常,但我不知道如何拥有原始类型.'String' 和 'Number' 文字不起作用: 型号:(班级+=班级)*(字段+=字段)*;字段
..
我在 xtext 交叉引用方面遇到了一些问题这是一个非常简单的语法: grammar org.xtext.example.mydsl1.Test with org.eclipse.xtext.common.Terminals生成测试“http://www.xtext.org/example/mydsl1/Test"型号:块=块?cs+=公司*;块:'{' g=[Employee] '}';公司:
..
我在我的 DSL 中添加了一个 quickfix 选项,我想在其中对文档文本进行一些修改 - 包括重命名某些元素.我可以很好地更改该元素中的文本,但我还想重命名其所有引用 - 即重命名重构.我该怎么做? 我能否以某种方式从快速修复程序内部触发内置的重命名重构?或者,我如何查看元素的所有引用并更改它们? 解决方案 于是,我找到了一种以编程方式触发重命名重构的方法.我不知道这是否是“正确
..
请考虑这个最小的 Xtext 语法. 型号:“作为"stackeholder=利益相关者“我想要"想要=想要;利益相关者:'客户' |'开发商' |'经理';想:'一切' |'饼干' |'名气'; 现在我需要做的是将利益相关者的定义(让我们忘记want)到SOME外部数据源.这个“外部数据源"可能是一个 CSV 文件,可能是一个数据库,也可能是一个网络服务.但我不太可能是一些 Xtext 文件
..
是否可以使用 Xtext 格式将文档格式化为如下格式?如您所见,Test 子项缩进 4 个空格,而 External 子项仅缩进 2 个空格.我使用的是 Xtext 2.12.0. 测试 my_prog {设备 = "my_device";参数 = 0;}外部的 {路径 = "my_path";File = "my_file";} 解决方案 您可以尝试使用自定义替换器,但不知道这是否适用于嵌
..