Тут есть несколько примеров AST деревьев для программ на хаксе. Программы очень простые, но некоторые выводы, посмотрев на AST можно сделать.
Глобальная проблема --- AST-дерево похоже вовсе не дерево, а граф. deriving
падает со Stack overflow. Надо подумать как это дерево аккуратно обходить.
TODO:
- Научиться обходить AST. Разобраться, что выкидывает лексер про обработке иcходного файла.
- Надо понять к чему плагин я буду делать: emacs или QtCreator.
- Доразбираться с плагинной системой QtCreator. Я нашел, что подстветка для С++ делается руками в файле $QTC_SRC/src/plugins/cppeditor/cpphighlighter.cpp. Надо сваять редактор для хакса хотя бы с подстветкой.
- Надо научиться апдейтить исходники компилятора. Я так и не понял как это лучше сделать.