仅使用具体和抽象语法的Xtext中的动作的对象有什么影响?

问题描述

我目前正在研究其他人的Xtext源代码。有一个对象,它仅使用动作,而没有其他任何东西。让对象的名称为“ Empty ”。源代码的相关部分如下。

    grammar ...
    import "myUri" as MyImport
    ...
    SomeOtherObject returns MyImport::SomeOtherObject:
        "someKeyword" AnotherObject empty += Empty
    ;
    // The most relevant part:
    Empty returns MyImport::Empty:
        {MyImport::Empty}
    ;
    ...

我想知道这个对象是否对具体语法有影响?此外,空对象的外观如何?由于行empty += Empty,可能有多个Empty实例,但是我不知道解析器如何确定创建了多少个实例?

解决方法

+=不适用于解析器。它用于元模型推断。因此empty将是一个列表。 empty+=Empty+empty+=Empty+将在运行工作流程时导致错误

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...