Analizador yacc (pre-bison) en script bash. Implementación de jq en bash

A veces surge el problema de escribir un pequeño script inteligente que comprenda alguna gramática incorporada, es decir, con un minilenguaje en su interior. Originalmente escribí una implementación mínima de jq en bash. Pero cuanto más "inteligente" se agregaba allí, más difícil era implementar el análisis recursivo de subexpresiones. Estaba tan cansado de esto que me pidieron que primero escribiera el compilador LARL(1) yacc (pre-bison) para generar un script bash y luego, como un reloj, obtuve un código de prueba muy similar al original y bueno. para yacc_bash.c mini-jq en bash.

Articulo completo:

Fuente: linux.org.ru

Añadir un comentario