Někdy vzniká problém napsat malý chytrý skript, který rozumí určité vestavěné gramatice, tedy mini-jazyku uvnitř. Původně jsem napsal minimální implementaci jq na bash. Ale čím více „inteligence“ se tam přidávalo, tím obtížnější bylo realizovat rekurzivní analýzu podvýrazů. Tak mě to unavilo, že mě to přimělo nejdříve napsat překladač LARL(1) yacc (pre-bison) pro generování bash-skriptu a poté, jakoby po másle, vznikl velmi podobný originálu a dobrý testovací kód pro yacc_bash.c mini-jq na bash.
Celý článek:
Zdroj: linux.org.ru
