Здрааствуйте чат. Мне нужен совет. Я заметил, что системы переписывания активно используются в оптимизаторах, а как на счет компиляторов в целом? Хочется свою систему, похожую на stratego, испробовать на построении компилятора. Это хорошая идея? Есть что нибудь почитать? Производительностью такого компилятора могу принебречь.
Я могу порекомендовать переписывать AST снизу вверх в каждом узле, до тех пор пока функция переписывания не сдастся. Таким образом можно быть уверенным, что у каждого узла AST все подузлы уже оптимизированны. И в функции переписывания исходить из этого факта.