ペグの出力を入力文法に戻す作業をした人はいますか?
最近、PEGを使用するプロジェクトを継承しました。 PEGパーサーがありますが、ソース文法が失われているか欠落しているようです。 PEGパーサーコードのみから文法を回復することは可能ですか?
このプロセスは手作業で行うのが非常に簡単です。
peg$parse
} else { peg$currPos = s#; s# = peg$FAILED; }
アイテムが順番にあったことを意味します。
while (s# !== peg$FAILED)
if (s# === peg$FAILED)
最も参考になるコメント
このプロセスは手作業で行うのが非常に簡単です。
peg$parse
で始まる関数です。アイテムが順番にあったことを意味します。
while (s# !== peg$FAILED)
は繰り返しです。if (s# === peg$FAILED)
は、選択の代替ブランチです。