Günter Zöchbauer
Günter Zöchbauer

Reputation: 658017

Unsupported operation: References cannot be parsed

static const String tabChar = '\u0009';
Parser tab() => ref(token, tabChar);
expect(tab().accept(tabChar), isTrue);

with the token method from https://github.com/petitparser/dart-petitparser/blob/ddd9921d702dd18cda4e2f84190777b7dc20b3e2/example/dart/src/grammar.dart (with the default trim parser)

What needs to be changed to get rid of the error?

Unsupported operation: References cannot be parsed

Upvotes: 2

Views: 165

Answers (1)

Lukas Renggli
Lukas Renggli

Reputation: 8947

There are unresolved references in your parser graph, you need to resolve them before you can parse an input.

Your example code lacks context to tell exactly what is going wrong. If you subclass GrammarDefinition and call build() on the definition the resulting parser has all references resolved. Have a look at the documentation in GrammarDefinition and check out how the DartGrammarDefinition is used from its tests.

Upvotes: 1

Related Questions