使用 Xtext Validator 验证字符串

Validate a String Using Xtext Validator

我在使用 Xtext 方面还很陌生,我一直在寻找解决问题的方法。我已经构建了我的 DSL 的 Xtext 语法,还使用 ​​Ace 创建了一个基于 Web 的编辑器。我想将我的 Xtext Validator 模块作为依赖项注入到我的 REST 项目中,并使其验证用户在 Web 界面上键入的 DSL。验证后,我想在网络上显示错误消息(如果有的话)。否则,我会执行相应的操作。

我所知道的是我需要构建一个 DSL 解释器并将我的 Xtext 项目导出到一个 jar 文件。但是,我不知道 Xtext 的哪个接口允许我使用语法规则来验证入站字符串? 我应该先将字符串转换为 EMF 模型并使用 IConcreteSyntaxValidator.validateObject() 函数吗?如果是的话,你能给我举个例子吗?

提前致谢!任何帮助将不胜感激!

请检查 IResourceValidator 及其 validate 方法。这将提供正确的答案。 IConcreteSyntaxValidator 适用于非常狭窄的用例,您可以通过构造函数调用和 setter 调用在内存中创建对象,并希望将这些对象写回您的语言语法。可能不是你在那里做什么。