テキスト内の単純な検索/置換に PEG.js を使用する方法を理解しようとしています。確かに、これはパーサーの意図された用途ではありませんが、とにかく、検索/置換を生成するためのこれらの種類の言語の背後にあるロジックに興味があります。
私が抱えている問題は、いくつかの定義の補完を積極的に定義するのが難しいということです。例: 次の構文のようなものを検索して置換したいとします。
rule = (whatever_is_not_my_syntax* m:my_syntax)+ {replace m}
word = [a-z0-9_]+
my_syntax = word "." word
whatever_is_not_my_syntax = ???
PEG.jsの唯一の否定的なパーサー関数は と であるため、とのwhatever_is_not_my_syntax
部分的な衝突 (およびその結果のパーサー エラー) なしで PEG.jsにあるものを積極的に説明することは困難です。my_syntax
!expression
[^characters]
手伝って頂けますか?このトピックに関する本や参考文献があれば、よろしくお願いします。前もって感謝します。