analyseur yacc (pré-bison) dans le script bash. Implémentation de jq dans bash

Parfois, le problème se pose lors de l'écriture d'un petit script intelligent qui comprend une grammaire intégrée, c'est-à-dire avec un mini-langage à l'intérieur. J'ai initialement écrit une implémentation minimale de jq en bash. Mais plus « l'intelligence » y était ajoutée, plus il était difficile de mettre en œuvre une analyse récursive des sous-expressions. J'étais tellement fatigué de cela qu'on m'a demandé d'écrire d'abord le compilateur LARL(1) yacc (pré-bison) pour générer un script bash, puis, comme sur des roulettes, j'ai obtenu un code de test très similaire à l'original et un bon pour yacc_bash.c mini-jq en bash.

Article complet:

Source: linux.org.ru

Ajouter un commentaire