
Сейчас я работаю
над senjin/gglsl — библиотекой для программирования шейдеров с помощью Groovy, о которой
недавно писал.
Здесь я опишу три подхода к анализу AST (abstract syntax tree), все на примерах под-задач, вытекающих одна из другой и связанных общим контекстом: рекурсивные функции, паттерн Visitor, и паттерн-матчинг.
Паттерн-матчинг реализован на Java и
доступен на GitHub.