Space 天狼星错误

Space error in sirius

我创建了我的 xtext 语法,现在我使用 sirius 建模,我遇到的问题是当我从调色板创建一个元素时(例如,我创建一个按钮),在采用 xtext 扩展名的文件中在我的例子中 'instance.pfe' 我发现了一个 space 错误,建模给出的 space 在语法中是不一样的。 一直不明白这个错误是从哪里来的,以及如何解决的,谢谢大家的帮助。

这是一个例子

My grammar

您不应在关键字中使用 space。这将产生各种有线副作用,就像您所面临的那样。

所以不用

SomeRule: 'somekeyword : ' somevalue=INT

你应该使用

SomeRule: 'somekeyword' ':'  somevalue=INT

如果你真的想强制执行 space 然后为它引入一个终端

terminal SPACE: ' ';

SomeRule: 'somekeyword' SPACE ':' SPACEsomevalue=INT

更新:启用class拆分

        parserGenerator = {
            options = {
                classSplitting = true
            }
        }