parser yacc (pre-bison) în script bash. Implementarea jq pe bash

Uneori apare problema de a scrie un mic script inteligent, care să înțeleagă o anumită gramatică încorporată, adică un mini-limbaj în interior. Inițial, am scris o implementare minimă a jq în bash. Însă, pe măsură ce se adăuga „inteligență”, devenea din ce în ce mai greu să se implementeze analiza recursivă a sub-expresiilor. A fost atât de obositor, încât m-a determinat să scriu inițial un compilator LARL(1) yacc (pre-bison) pentru a genera un script bash, iar apoi, ca prin minune, a rezultat un cod de verificare foarte similar cu originalul și bun pentru yacc_bash.c mini-jq în bash.

Articolul complet:

Sursa: linux.org.ru

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster