yacc (pre-bölény) elemző bash szkriptben. A jq megvalósítása bash-ban

Néha felmerül a probléma, ha egy kis intelligens szkriptet írunk, amely megérti a beépített nyelvtant, vagyis egy mini nyelvvel. Eredetileg a jq minimális implementációját írtam bash-ban. De minél több „okosságot” adtak hozzá, annál nehezebb volt végrehajtani a részkifejezések rekurzív elemzését. Annyira elegem volt ebből, hogy először megírtam a LARL(1) yacc (pre-bison) fordítót, hogy létrehozzak egy bash szkriptet, majd az óraműhöz hasonlóan az eredetihez nagyon hasonlót és egy jó tesztkódot kaptam. a yacc_bash.c mini-jq számára bashban.

A cikk teljes terjedelmében:

Forrás: linux.org.ru

Hozzászólás