xtext相关内容
我已经实现了一个简单的小 DSL,它通过使用 JvmModelInferrer 方法从输入文件生成类.我想弄清楚如何在常规 Java 项目的代码中调用解析器和代码生成器.所以在我的非 Xtext 项目的主类中的某个时候,我可以创建一个文件,将它传递给我的 DSL 的 Xtext 解析器/codeGenerator,结果将是类文件生成到我选择的文件夹中(在我的 Java 项目中).此案例未包含在文档
..
我对 Xtext 完全陌生,所以在此先感谢您的帮助. 我有以下几点: 终端 PATTERN_SRC : STRING '.png';模式:name='pattern:' value=PATTERN_SRC; 我希望用户像这样编码: pattern:(以 .png/.jpg/.gif 结尾的图像的 URL) 目前我正在检查它,但这不起作用. 有什么好的方法可以解决这个问题吗?提前
..
我有基于Luna版本的RCP应用程序.迁移到Luna 4.4.2版本后,我发现以下错误 !ENTRY org.eclipse.e4.ui.workbench 4 0 2015-08-27 16:59:58.081!MESSAGE无法从包'85'中加载类'org.eclipse.ui.internal.ide.application.addons.ModelCleanupAddon'!堆栈0jav
..
我想构建一种特定于域的语言,该语言可以转换为现有的语言(例如python,SQL).我尝试避免构建成熟的编译器,并研究了 Xtext 和 Xpand .它们看起来很合理,因为Xtext将用于设计语法并生成语法分析树,Xpand将使用语法分析树生成现有语言的代码(如果我错了,请纠正我). 您对此有何看法?您是否认为XText&还有更好的替代品?我可以用Xpand实现我的目的吗? 解决方案
..
我正在一个项目中,我们正在其中开发一种可编译为Java的语言.我们正在使用的框架(xtext)在其生成的代码中大量使用了boxing. 具体来说,如果您有如下声明: int i = 1; int j = 2; int k = i + j; 然后,编译后的代码如下: IntegerExtensions.operator_plus(((Integer)i), ((Integer)j))
..
我有一条错误(如标题中所述),但有一条我不知道如何解决的规则. 我写了以下规则: FunctionArguments returns FunctionArgs::IFunctionArguments : FunctionArgumentsNormal | FunctionArgumentsForIter ; FunctionArgumentsNormal re
..
这一定是互联网上某个知名示例之一,但我似乎找不到它. 我正在尝试学习XText,我认为计算器表达式解析器将是一个好的开始.但是我的语法出现语法错误: Expression: Term (('+'|'-') Term)*; Term: Factor (('*'|'/') Factor)*; Factor: number=Number | variable=ID
..
我已经制作了一个xtext编辑器(2.5)。 我尝试在RCP应用程序的一部分中使用此编辑器。 我使用以下代码: Injector注射器= MyDslActivator.getInstance()。getInjector(MyDslActivator.XTEXT_DSL_MYDSL); EmbeddedEditorFactory factory = jector.getInsta
..
我是xtext的新手,我使用xtext创建了DSL,并且生成了工件,从而生成了具有许多功能(如内容辅助和语法着色)的编辑器,现在的问题是我想将编辑器嵌入其中一个对话框。 为了使用EmbeddedEditor实现此即时消息,我能够获得嵌入式编辑器并将其放置在对话框中,但是嵌入式编辑器未显示文件的内容。 / p> 文件C:/Eclipse_Work/workspace/runtime_wo
..
我有以下语法片段: FixtureGroup: name = ID ':'固定装置+ = [固定装置] * ';'; 在这种情况下,我可以为上述规则键入以下内容: FrontLeft:FrontLeft1 FrontLeft2; 但是,我想输入的内容是以下两者之间的加号: FrontLeft:FrontLeft1 + Front
..
首先,我使用默认值(以简单的Greetings语法为例)创建了一个xtext项目。 我创建了一个.java文件,其中包含一些代码(可以在下面看到)并将其添加到验证文件夹。 我已经像在普通Java项目中一样将一些jar加载到了构建路径。如果我将特定的Java文件作为独立文件运行,它将加载库并运行代码。 Java文件非常简单: import org.semanticweb.owla
..
我想在XText中创建一个与字符串匹配的规则,但不在乎该字符串是什么情况。例如,我希望它与“ DUCK”,“ DucK”和“ duck”都匹配。是否有比覆盖所有情况更简单的方法,例如: 规则: 'Duck'| 'DucK'|'DuCK'| ...等等 ; 解决方案 有一个可以在mwe2中配置的标志工作流程。将 XtextAntlrGeneratorFragment 替换为 o
..
在Xtext语法中,我可以使用 XExpression / XBlockExpression 类型包含Xbase代码块。我将如何使用Java代码块执行相同的操作?包含的Java稍后应包含在由DSL构造生成的Java中。 解决方案 您现在可以使用JBase( https://github.com/LorenzoBettini/jbase )。 JBase是专门为您描述的用例创建的(请参见 h
..
我有一个使用Xtext编写的DSL。我想要执行的是DSL,以使其表现更好。 我编写了myDslGenerator类,该类在xtend中实现了IGenerator接口,以生成Java代码,并且运行良好。 我有两个问题; 解释器和代码生成器? 都不都是用来执行DSL的吗? 如何编写解释器?有分步教程链接吗?我发现许多教程使用xtend生成代码,但找不到任何编写解释器的方法。
..
我正在寻找一个示例(在XText中),该示例如何在用户定义的对象成员上实现代码完成。据我所知,我需要使用IScope,但是如何将所有这些连接在一起还不清楚。 考虑到特性是用户定义的类型,当我键入 name时,如何构建语法以完成/验证 String 中包含的方法。 ? trait字符串{ def toLowerCase():字符串 def toUpperCase():字符串 }
..
我只是找不到任何有关此的东西,只能找到编写自定义自动完成建议的资源,这不是我想要的(还是它)? 语法 我们可以使用示例语法: Model: greetings+=Greeting*; Greeting: 'Hello' name=ID '!'; 问题 现在,当用户创建语法的新实例时,他必须 写“你好"(可以完成) 要写一个空格 现在可以自动完
..
我是Xtext和ANTLR的新手. 我需要将ANTLR(.g)语法转换为XTEXT(.xtext)语法. ANTLR语法中有Xtext不支持的语法谓词. 有没有办法删除/翻译这些谓词? 谢谢 编辑 我要翻译的ANTLR语法可以在这里找到: /* * Copyright 2009, Google Inc. * All rights reserved. *
..
我正在使用xtext 2.4. 我想做的是一种类似SQL的语法. 让我感到困惑的是,我不确定应该将哪些东西视为终端/数据类型/解析器规则.到目前为止,我与MyTerm相关的语法是: Model: (terms += MyTerm ';')* ; MyTerm: constant=MyConstant | variable?='?'| collection_literal=C
..
我正在为CoffeeScript写一个Eclipse/Xtext插件,我意识到我可能需要为此手工编写一个词法分析器. CoffeeScript解析器还使用手写词法分析器来处理缩进和其他语法技巧. Xtext生成扩展了org.eclipse.xtext.parser.antlr.Lexer的类,而该类又扩展了org.antlr.runtime.Lexer.因此,我想将其扩展.我可以看到两种方法
..
我想将一个非常简单的Antlr语法转换为Xtext,所以没有 Xtext未提供的Antlr的精美功能.考虑这个语法 grammar simple; // Antlr3 foo: number+; number: NUMBER; NUMBER: '0'..'9'+; 及其对应的Xtext grammar Simple; // Xtext import "http://www.ecl
..