Manchmal ist es eine Herausforderung, ein kleines intelligentes Skript zu schreiben, das eine bestimmte eingebettete Grammatik versteht, also mit einer Mini-Sprache im Inneren. Ursprünglich habe ich eine minimale Implementierung von jq in Bash geschrieben. Doch je mehr „Intelligenz“ hinzugefügt wurde, desto schwieriger wurde es, die rekursive Analyse von Teilausdrücken zu realisieren. Es wurde so frustrierend, dass ich anfing, zunächst einen LARL(1) yacc (pre-bison) Compiler zu schreiben, um Bash-Skripte zu generieren, und anschließend entstand nahezu nahtlos ein sehr ähnlicher und guter Testcode für yacc_bash.c, eine Mini-jq in Bash.
Artikel vollständig:
Quelle: linux.org.ru
