xtext相关内容

如何从 Java 项目调用 Xtext 解析器/JvmModelInferrer

我已经实现了一个简单的小 DSL,它通过使用 JvmModelInferrer 方法从输入文件生成类.我想弄清楚如何在常规 Java 项目的代码中调用解析器和代码生成器.所以在我的非 Xtext 项目的主类中的某个时候,我可以创建一个文件,将它传递给我的 DSL 的 Xtext 解析器/codeGenerator,结果将是类文件生成到我选择的文件夹中(在我的 Java 项目中).此案例未包含在文档 ..
发布时间:2021-10-04 18:49:22 其他开发

Xtext - 检查字符串是否为 URL

我对 Xtext 完全陌生,所以在此先感谢您的帮助. 我有以下几点: 终端 PATTERN_SRC : STRING '.png';模式:name='pattern:' value=PATTERN_SRC; 我希望用户像这样编码: pattern:(以 .png/.jpg/.gif 结尾的图像的 URL) 目前我正在检查它,但这不起作用. 有什么好的方法可以解决这个问题吗?提前 ..
发布时间:2021-09-14 20:41:27 其他开发

如何将DSL转换为现有的编程语言?

我想构建一种特定于域的语言,该语言可以转换为现有的语言(例如python,SQL).我尝试避免构建成熟的编译器,并研究了 Xtext 和 Xpand .它们看起来很合理,因为Xtext将用于设计语法并生成语法分析树,Xpand将使用语法分析树生成现有语言的代码(如果我错了,请纠正我). 您对此有何看法?您是否认为XText&还有更好的替代品?我可以用Xpand实现我的目的吗? 解决方案 ..
发布时间:2021-04-23 20:01:19 其他开发

拳击会导致性能问题吗?

我正在一个项目中,我们正在其中开发一种可编译为Java的语言.我们正在使用的框架(xtext)在其生成的代码中大量使用了boxing. 具体来说,如果您有如下声明: int i = 1; int j = 2; int k = i + j; 然后,编译后的代码如下: IntegerExtensions.operator_plus(((Integer)i), ((Integer)j)) ..
发布时间:2021-02-12 18:55:27 Java开发

xtext:表达式/因子/术语语法

这一定是互联网上某个知名示例之一,但我似乎找不到它. 我正在尝试学习XText,我认为计算器表达式解析器将是一个好的开始.但是我的语法出现语法错误: Expression: Term (('+'|'-') Term)*; Term: Factor (('*'|'/') Factor)*; Factor: number=Number | variable=ID ..
发布时间:2020-11-20 04:53:30 其他开发

对话框中的Xtext DSL嵌入式编辑器

我是xtext的新手,我使用xtext创建了DSL,并且生成了工件,从而生成了具有许多功能(如内容辅助和语法着色)的编辑器,现在的问题是我想将编辑器嵌入其中一个对话框。 为了使用EmbeddedEditor实现此即时消息,我能够获得嵌入式编辑器并将其放置在对话框中,但是嵌入式编辑器未显示文件的内容。 / p> 文件C:/Eclipse_Work/workspace/runtime_wo ..
发布时间:2020-10-27 19:05:35 其他开发

如何在xtext列表中添加分隔符?

我有以下语法片段: FixtureGroup: name = ID ':'固定装置+ = [固定装置] * ';'; 在这种情况下,我可以为上述规则键入以下内容: FrontLeft:FrontLeft1 FrontLeft2; 但是,我想输入的内容是以下两者之间的加号: FrontLeft:FrontLeft1 + Front ..
发布时间:2020-10-26 23:11:42 Java开发

无法在Eclipse中将库添加到xtext Project(返回错误)

首先,我使用默认值(以简单的Greetings语法为例)创建了一个xtext项目。 我创建了一个.java文件,其中包含一些代码(可以在下面看到)并将其添加到验证文件夹。 我已经像在普通Java项目中一样将一些jar加载到了构建路径。如果我将特定的Java文件作为独立文件运行,它将加载库并运行代码。 Java文件非常简单: import org.semanticweb.owla ..
发布时间:2020-10-26 23:09:24 Java开发

匹配XText中的字符串,无论大小写

我想在XText中创建一个与字符串匹配的规则,但不在乎该字符串是什么情况。例如,我希望它与“ DUCK”,“ DucK”和“ duck”都匹配。是否有比覆盖所有情况更简单的方法,例如: 规则: 'Duck'| 'DucK'|'DuCK'| ...等等 ; 解决方案 有一个可以在mwe2中配置的标志工作流程。将 XtextAntlrGeneratorFragment 替换为 o ..
发布时间:2020-10-26 23:09:16 Java开发

如何在Xtext DSL中包含Java代码块?

在Xtext语法中,我可以使用 XExpression / XBlockExpression 类型包含Xbase代码块。我将如何使用Java代码块执行相同的操作?包含的Java稍后应包含在由DSL构造生成的Java中。 解决方案 您现在可以使用JBase( https://github.com/LorenzoBettini/jbase )。 JBase是专门为您描述的用例创建的(请参见 h ..
发布时间:2020-10-26 23:06:37 Java开发

解释器与代码生成器Xtext

我有一个使用Xtext编写的DSL。我想要执行的是DSL,以使其表现更好。 我编写了myDslGenerator类,该类在xtend中实现了IGenerator接口,以生成Java代码,并且运行良好。 我有两个问题; 解释器和代码生成器? 都不都是用来执行DSL的吗? 如何编写解释器?有分步教程链接吗?我发现许多教程使用xtend生成代码,但找不到任何编写解释器的方法。 ..
发布时间:2020-10-26 23:05:00 Java开发

范围对象的Xtext示例

我正在寻找一个示例(在XText中),该示例如何在用户定义的对象成员上实现代码完成。据我所知,我需要使用IScope,但是如何将所有这些连接在一起还不清楚。 考虑到特性是用户定义的类型,当我键入 name时,如何构建语法以完成/验证 String 中包含的方法。 ? trait字符串{ def toLowerCase():字符串 def toUpperCase():字符串 } ..
发布时间:2020-10-26 23:02:17 其他开发

如何在Xtext中编写自定义自动完成功能?

我只是找不到任何有关此的东西,只能找到编写自定义自动完成建议的资源,这不是我想要的(还是它)? 语法 我们可以使用示例语法: Model: greetings+=Greeting*; Greeting: 'Hello' name=ID '!'; 问题 现在,当用户创建语法的新实例时,他必须 写“你好"(可以完成) 要写一个空格 现在可以自动完 ..
发布时间:2020-09-14 05:00:48 其他开发

xtext中的终端/数据类型/解析器规则

我正在使用xtext 2.4. 我想做的是一种类似SQL的语法. 让我感到困惑的是,我不确定应该将哪些东西视为终端/数据类型/解析器规则.到目前为止,我与MyTerm相关的语法是: Model: (terms += MyTerm ';')* ; MyTerm: constant=MyConstant | variable?='?'| collection_literal=C ..
发布时间:2020-09-02 22:56:11 其他开发

在没有语法文件的情况下编写自定义Xtext/ANTLR词法分析器

我正在为CoffeeScript写一个Eclipse/Xtext插件,我意识到我可能需要为此手工编写一个词法分析器. CoffeeScript解析器还使用手写词法分析器来处理缩进和其他语法技巧. Xtext生成扩展了org.eclipse.xtext.parser.antlr.Lexer的类,而该类又扩展了org.antlr.runtime.Lexer.因此,我想将其扩展.我可以看到两种方法 ..
发布时间:2020-09-02 22:52:45 其他开发

将简单的Antlr语法转换为Xtext

我想将一个非常简单的Antlr语法转换为Xtext,所以没有 Xtext未提供的Antlr的精美功能.考虑这个语法 grammar simple; // Antlr3 foo: number+; number: NUMBER; NUMBER: '0'..'9'+; 及其对应的Xtext grammar Simple; // Xtext import "http://www.ecl ..
发布时间:2020-09-02 22:52:36 其他开发