[英]Xtext cross-reference across all files in project
我正在用xtext做一个非常简单的DSL。 项目将包含定义消息名称或引用消息名称的文件。 我提供了一个简化的示例:
语法:
Model:
statements+=(MessageDefinition | MessageUsage)*;
MessageDefinition:
'[MESSAGE_DEF]' name=ID;
MessageUsage:
'[MESSAGE_USAGE]' usage=[MessageDefinition];
File1.ex:
[MESSAGE_DEF] EXAMPLE_1
[MESSAGE_DEF] EXAMPLE_2
[MESSAGE_USAGE] EXAMPLE_1
File2.ex:
[MESSAGE_USAGE] EXAMPLE_2
在此示例中,EXAMPLE_1的交叉引用的工作方式是使用法上的“打开声明”将我带到定义。 但是,EXAMPLE_2上的交叉引用无效。 我认为默认作用域规则会阻止其他文件共享引用。
我需要添加什么以便项目中的所有文件共享相同的全局引用范围?
附加信息:
该项目是使用标准向导中的“ Xtext Project”创建的,我只从预生成的代码中编辑了语法,其他所有内容均与默认设置相同。 我以为我需要添加一些自定义作用域行为/规则来将所有文件加载到全局范围中,但是我不确定应该怎么做?
如果您的语法和作用域很好,它将很好地工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.