最近、トレースログを吐けるようになった pegjs ですが、標準のトレースログ程度では、大規模な文法のデバッグを行うのはかなり辛いです。
ということで、構文解析の失敗時に、ツリー形式で比較的分かりやすくエラー原因を表示するモジュール pegjs-backtrace を作ってみました。
次のように、最も深い位置で発生したエラーから最初の構文規則までの解析経緯を、コンソールにビジュアルなツリーとして表示します。
複雑なソースコードを相手にした場合も、こんな感じで表示できます。
あまり高度なものではありませんが、とりあえず標準のエラーメッセージとログよりは、デバッグが容易になるかと思います。