yacc (pre-bison) parser in bash-script. Implementatie van jq in bash

Soms doet zich het probleem voor bij het schrijven van een klein slim script dat een ingebouwde grammatica begrijpt, dat wil zeggen met een minitaal erin. Ik schreef oorspronkelijk een minimale implementatie van jq in bash. Maar hoe meer ‘slimheid’ daar werd toegevoegd, hoe moeilijker het was om recursieve parsering van subexpressies te implementeren. Ik was dit zo beu dat ik werd gevraagd om eerst de LARL(1) yacc (pre-bison) compiler te schrijven om een ​​bash-script te genereren, en toen kreeg ik, als een uurwerk, een zeer vergelijkbaar met het origineel en een goede testcode voor yacc_bash.c mini-jq in bash.

Volledig artikel:

Bron: linux.org.ru

Voeg een reactie