首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何引用属性引用而不是“命名”引用?

如何引用属性引用而不是“命名”引用?
EN

Stack Overflow用户
提问于 2019-04-30 22:01:59
回答 1查看 40关注 0票数 0

这个问题是对/how-to-add-a-separate-in-in-xtext-list的跟进。

我有以下语法部分:

代码语言:javascript
复制
 Fixture:
                            name            = ID
    ('('                    abbreviation    = ID ')')?
    ':'                     type            = FixtureType 
    'startDmxChannel' '='   startDmxChannel = INT
    ';';

FixtureGroup:
                            name            = ID 
    ('('                    abbreviation    = ID ')')?
    ':'                     fixtures += [Fixture.abbreviation]*
    ';';

我有以下几个部分:

代码语言:javascript
复制
Fixtures
{
    FrontRight1  (FR1) : FunPar startDmxChannel=1;
    FrontRight2  (FR2) : FunPar startDmxChannel=9;
    FrontRight3  (FR3) : FunPar startDmxChannel=17;
    FrontRight4  (FR4) : FunPar startDmxChannel=25;
}

FixtureGroups
{
    FrontRight: FrontRight1 FrontRight2 FrontRight3 FrontRight4;

我想在最后一行中使用缩写名称:

代码语言:javascript
复制
    FrontRight: FR1 FR2 FR3 FR4;

或者更好的是,名称或缩写的组合,如:

代码语言:javascript
复制
    FrontRight: FrontRight1 FR2 FR3 FR4;

如何做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-01 07:10:51

这里有三件事

  • 对于全局引用(文件之间):自定义IDefaultResourceDescriptionStrategy (通过子类DefaultResourceDescriptionStrategy)允许在多个名称下索引元素并向用户数据添加信息,例如,索引名称是缩写
  • 对于本地引用,在org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider.internalGetAllDescriptions(Resource)中也可以这样做
  • 然后,您可以对MyDslScopeProvider进行调整,以筛选正确的参考资料。
  • 如果引用是本地的,那么您可以在MyDslScopeProvider中完成所有操作
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55929196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档