bash скриптиндеги yacc (бизонго чейинки) талдоочу. bash ичинде jq ишке ашыруу

Иногда возникает проблема написать небольшой умный скрипт, понимающий некую встроенную грамматику, то есть с миниязыком внутрях. Изначально я написал минимальную реализацию jq на bash. Но чем больше добавлялось туда «умности», тем труднее приходилось реализовывать рекурсивный разбор подвыражений. Это так надоело, что сподвигло написать вначале компилятор LARL(1) yacc (pre-bison) для генерации bash-скрипта, а потом как по маслу получился весьма похожий на оригинал и хороший проверочный код для yacc_bash.c мини-jq на bash.

Статья полностью:

Source: linux.org.ru

Комментарий кошуу