我正在努力跟踪PegJS跟踪,特别是为了了解解析器引擎如何继续进行匹配测试。
例如,我了解trace语句的基础。匹配的文本部分,规则是否通过失败以及函数的名称,如下所示。
4:1-4:1 rule.fail table_or_sub_sub
但是,令人困惑的是,当规则失败并继续检查下一个条件时会发生什么。
我发现回溯(https://github.com/okaxaki/pegjs-backtrace)很有用,但在某些情况下并不准确,即,它未显示所有被调用的函数。这已针对标准示踪剂进行了验证。我也尝试过https://www.npmjs.com/package/better-peg-tracer,但这花费的时间太长,太冗长了。
总而言之,最好有一个指南来指定: