yacc (pre-bison) parser i bash-skript. Implementera jq i bash

Ibland uppstår problemet med att skriva ett litet smart manus som förstår en del inbyggd grammatik, det vill säga med ett minispråk inuti. Jag skrev ursprungligen en minimal implementering av jq i bash. Men ju mer "smarthet" lades till där, desto svårare var det att implementera rekursiv analys av underuttryck. Jag var så trött på detta att jag blev ombedd att först skriva LARL(1) yacc (pre-bison) kompilatorn för att generera ett bash-skript, och sedan fick jag, precis som clockwork, en mycket lik originalet och en bra testkod för yacc_bash.c mini-jq i bash.

Artikel i sin helhet:

Källa: linux.org.ru

Lägg en kommentar