yacc (pre-bizón) parser v bash skripte. Implementácia jq v bash

Niekedy vzniká problém napísať malý inteligentný skript, ktorý rozumie nejakej vstavanej gramatike, teda s minijazykom vo vnútri. Pôvodne som napísal minimálnu implementáciu jq v bash. Ale čím viac „inteligentnosti“ sa tam pridalo, tým ťažšie bolo implementovať rekurzívnu analýzu podvýrazov. Bol som z toho taký unavený, že som bol vyzvaný, aby som najprv napísal kompilátor LARL(1) yacc (pre-bizón), aby sa vygeneroval bash skript, a potom som ako hodinky dostal veľmi podobný originál a dobrý testovací kód pre yacc_bash.c mini-jq v bash.

Celý článok:

Zdroj: linux.org.ru

Pridať komentár