yacc (pre-bison) парсер у bash-скрыпт. Рэалізацыя jq на bash

Часам узнікае праблема напісаць невялікі разумны скрыпт, які разумее нейкую ўбудаваную граматыку, гэта значыць з мініязікам ўнутры. Першапачаткова я напісаў мінімальную рэалізацыю JQ на bash. Але чым больш дадавалася туды "разумнасці", тым цяжэй даводзілася рэалізоўваць рэкурсіўны разбор подвыражений. Гэта так надакучыла, што падштурхнула напісаць спачатку кампілятар LARL(1) yacc (pre-bison) для генерацыі bash-скрыпту, а потым як па алеі атрымаўся вельмі падобны на арыгінал і добры праверачны код для yacc_bash.c міні-jq на bash.

Артыкул цалкам:

Крыніца: linux.org.ru

Дадаць каментар