bash スクリプトの yacc (bison 以前) パーサー。 bashでのjqの実装

場合によっては、組み込み文法を理解する、つまり内部にミニ言語を含む小さなスマートなスクリプトを作成する際に問題が発生します。 私はもともと bash で jq の最小限の実装を書きました。 しかし、そこに「賢さ」が追加されるほど、部分式の再帰解析を実装するのが難しくなります。 私はこれにとてもうんざりしていたので、最初に LARL(1) yacc (bison 前) コンパイラーを書いて bash スクリプトを生成するように求められました。その後、時計仕掛けのように、オリジナルに非常によく似た優れたテスト コードが得られました。 bash の yacc_bash.c mini-jq の場合。

完全な記事:

出所: linux.org.ru

コメントを追加します