【发布时间】:2020-06-11 16:43:23
【问题描述】:
我在 Xtext 上玩了一点,在 DSL 编辑器中出现了意想不到的行为。这不是 Xtext 文件的全部内容,但对这个问题很重要。
Title:
title= NOUN VERB ':';
Use:
'um' NOUN use=Verbtype;
Verbtype: Simpleverb | NotSeperableVerb;
Simpleverb:
'zu' simpleverb=VERB;
NotSeperableVerb:
notseperable=NOTSEPERABLE;
terminal NOTSEPERABLE:
'be'VERB | 'emp'VERB |'ent'VERB | 'er'VERB | 'ge'VERB | 'miss'VERB | 'ver'VERB | 'zer' VERB;
terminal VERB: ('a'..'z')+;
如果我为标题部分写了一个不可分离的动词,例如“beschreiben”,那么它会带有红色下划线。我无法向我解释。我想允许任何动词,因此任何开头都是小写的单词。
【问题讨论】:
-
能否给出完整的语法和示例模型?除此之外:词法分析器(在 Antlr 中,因此在 Xtext 中)是上下文无关的。因此,如果它可以被解释为 NOTSEPERABLE ,它将会是。可能的解决方案:查看数据类型规则(这是解析器规则,因此是上下文敏感的)