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

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

Стаття повністю:

Джерело: linux.org.ru

Додати коментар або відгук