gpt4 book ai didi

reference - Xtext 交叉引用和范围界定

转载 作者:行者123 更新时间:2023-12-02 22:34:16 25 4
gpt4 key购买 nike

我在 xtext 交叉引用方面遇到了一些问题这是一个非常简单的语法:

grammar org.xtext.example.mydsl1.Test with org.eclipse.xtext.common.Terminals
generate test "http://www.xtext.org/example/mydsl1/Test"
Model: block=Block? cs+=Company* ;
Block: '{' g=[Employee] '}';
Company: 'Company' name=ID
'{' es+= Employee* '}';
Employee: 'Employee' name=ID ';' ;

这是我的 dsl :

{ Pooyan }
Company Sony{
Employee Pooyan;
Employee John;
}

它总是显示“无法解析对员工‘Pooyan’的引用。”谁能帮帮我?我不知道...

最佳答案

Pooyan 的全称是 Sony.Pooyan。由于您的 block 中的交叉引用“g”是在另一个包含中定义的,因此您必须进行少量自定义以将其放入范围。

  1. 如果您的语言始终使用平面命名空间,您可以在语言生成器中启用 SimpleNamesFragment 并删除 QualifiedNamesFragment。这应该可以解决问题。
  2. 或者,您可以在范围提供程序中为具体引用“g”自定义范围。

关于reference - Xtext 交叉引用和范围界定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11693120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com