1

我想将我的终端放到一个单独的文件中,因为我将在生产版本中使用外部词法分析器。我尝试遵循使用自定义终端定义的答案。所以我有一个mypackage/Tokens.xtext文件和一个mypackage/MyDsl.xtext包含

grammar mypackage.MyDsl with mypackage.Tokens

生成工作正常,但它创建了一个MyDslStandaloneSetupGenerated不能src-gen编译的,因为它调用了不存在的mypackage.TokensStandaloneSetup.doSetup(). 它还生成src-gen/mypackage/services/MyDslGrammarAccesswhich 引用一个也不存在的TokensGrammarAccess类。所以我的问题基本上是:当我有另一个语法文件时,我还应该怎么做才能使它可用?

4

3 回答 3

1

您还需要为标记语法运行生成器。

于 2011-11-29T10:36:38.267 回答
0

在 Xtext 中,您通常将标记(终端)和解析器规则放入同一个 .xtext 文件中。您是否有特定原因要拆分此内容?

于 2011-11-30T20:29:02.593 回答
0

简单的原因:

Easier to Read and work with the Grammar for everybody (especially other users)

似乎 Xtext 仍然不支持使用多个 .xtext 文件

于 2014-11-05T10:04:46.337 回答