我有一个语法的Xtext,做这样的事情:如何访问Xtext验证程序中的上下文信息?
Model:
(names += Name)*
(rules += Rule)*
;
Rule:
'rule' ruleName = ID;
Name:
name = ID+;
terminal ID:
('a'..'z')+;
我想验证ruleName
已申报的名称块。我可以在JavaValidator
这样的访问规则名称本身:
@Check
public void checkName(Rule rule) {
rule.getName(); // how to compare to names without access to Model object?
}
,但我无法从Model
访问names
领域。我如何在JavaValidator
中做到这一点?
很抱歉,如果该示例语法不能编译,我只是以此为例。主要想法应该清楚。 – Jorn