Reference Xtext交叉引用和范围界定
我对xtext交叉引用有一些问题 下面是一个非常简单的语法:Reference Xtext交叉引用和范围界定,reference,xtext,scoping,Reference,Xtext,Scoping,我对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'
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。由于块中的交叉引用“g”是在另一个包含中定义的,因此必须进行较小的自定义以将其放入范围中
添加到Sebastians的答案中以使其更精确:您需要在xtext项目的相应.mwe2文件中将“fragment=export.QualifiedNamesFragment auto injection{}”更改为“fragment=export.SimpleNamesFragment” 希望这有帮助