yacc (pirms bizonu) parsētājs bash skriptā. Jq ieviešana bash

Dažreiz problēma rodas, rakstot nelielu viedo skriptu, kas saprot kādu iebūvēto gramatiku, tas ir, ar mini valodu. Sākotnēji es uzrakstīju minimālu jq ieviešanu bash. Bet jo vairāk “gudrības” tur tika pievienots, jo grūtāk bija īstenot apakšizteiksmju rekursīvo parsēšanu. Man tas bija tik ļoti noguris, ka mani pamudināja vispirms uzrakstīt LARL(1) yacc (pre-bison) kompilatoru, lai ģenerētu bash skriptu, un pēc tam, kā pulkstenis, es saņēmu oriģinālam ļoti līdzīgu un labu testa kodu. yacc_bash.c mini-jq valodā bash.

Pilns raksts:

Avots: linux.org.ru

Pievieno komentāru