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

Noen ganger oppstår problemet med å skrive et lite smart script som forstår noe innebygd grammatikk, altså med et minispråk inni. Jeg skrev opprinnelig en minimal implementering av jq i bash. Men jo mer "smartness" ble lagt til der, jo vanskeligere var det å implementere rekursiv parsing av underuttrykk. Jeg var så lei av dette at jeg ble bedt om først å skrive LARL(1) yacc (pre-bison) kompilatoren for å generere et bash-skript, og så, som urverk, fikk jeg en veldig lik originalen og en god testkode for yacc_bash.c mini-jq i bash.

Hele artikkelen:

Kilde: linux.org.ru

Legg til en kommentar