Il arrive parfois qu'il soit difficile d'Ă©crire un petit script intelligent capable de comprendre une certaine grammaire intĂ©grĂ©e, c'est-Ă -dire avec un mini-langage Ă l'intĂ©rieur. Au dĂ©part, j'ai Ă©crit une implĂ©mentation minimale de jq en bash. Mais plus j'ajoutais de « l'intelligence », plus il devenait difficile de mettre en Ćuvre l'analyse rĂ©cursive des sous-expressions. Cela m'a tellement agacĂ© que cela m'a poussĂ© Ă Ă©crire d'abord un compilateur LARL(1) yacc (pre-bison) pour gĂ©nĂ©rer un script bash, puis j'ai obtenu assez facilement un code de vĂ©rification trĂšs proche de l'original et de bonne qualitĂ© pour yacc_bash.c, un mini-jq en bash.
Article complet :
Source : linux.org.ru
