I'm trying to debug an undefined
parser in petitparser.
See the code without debug
first:
import "package:petitparser/petitparser.dart";
main() {
var mynum = undefined();
var parser = string("abc").map((s) {
mynum.set(string("888"));
return s;
}) & mynum;
var result = parser.parse("abc888");
print(result);
}
It prints:
Success[1:7]: [abc, 888]
But if I add debug
:
import "package:petitparser/petitparser.dart";
main() {
var mynum = undefined();
var parser = string("abc").map((s) {
mynum.set(string("888"));
return s;
}) & mynum;
var result = debug(parser).parse("abc888");
print(result);
}
It will fail:
Instance of 'SequenceParser'
Instance of 'ActionParser'
Instance of 'PredicateParser'[abc expected]
Success[1:4]: abc
Success[1:4]: abc
Instance of 'SetableParser'
Instance of 'FailureParser'[undefined parser]
Failure[1:4]: undefined parser
Failure[1:4]: undefined parser
Failure[1:4]: undefined parser
Failure[1:4]: undefined parser
Is there anything wrong in my usage?