首页 > 解决方案 > 仅使用 Xtext 中的动作的对象对具体和抽象语法有什么影响?

问题描述

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

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

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

标签: abstract-syntax-treextext

解决方案


+=不适用于解析器。它用于元模型推理。所以empty将是一个列表。empty+=Empty+或者empty+=Empty+在运行工作流时会导致错误


推荐阅读