Хочу в lazarus встроить свой препроцессор, который будет взаимодействовать с интерфейсом Лазаря.
Времени на то чтоб разобраться как это сделать много нет, потому может кто-то с этим сталкивался.
Делаю его в виде обычного DesignTime компонента.
1. В первую очередь нужно перехватить подачу файлов на компиляцию и подать на компиляцию обработанный другой файл, если он использует препроцессор.
2. Нужно перехватить вывод сообщений, и выводить измененные сообщения, чтоб номера строк совпадали с первоначальным исходником(для удобства в отладке).
1. Как перехватить подачу файлов на компиляцию?
2. Как перехватить вывод сообщений?
В виках Лазаря ответов на эти вопросы не нашел, по моему нужно исходный код ковырять, если никто не знает.
Как перехватить подачу файла на компиляцию и сообщения?
Модератор: Модераторы
Не уверен, что это так легко. Вам надо преобразовать весь исходник, пройтись по всем файлам проекта. Может быть, будет проще влезть в сам компилятор.
Проект->Параметры проекта->Параметры компилятора->Компиляция->Выполнить перед компиляцией
daesher писал(а):Не уверен, что это так легко. Вам надо преобразовать весь исходник, пройтись по всем файлам проекта. Может быть, будет проще влезть в сам компилятор.
Проще-то оно будет(точнее проще будет создать внешний препроцессор), но я хочу чтоб он в то-же время был скриптовым языком для самого Лазаря, чтоб взаимодействовал с его интерфейсом, меню, чтоб можно было встроить отладчик (чтоб показывало при отладке позицию в обработанном и не обработанном коде) и т.д..
v-t-l писал(а):Проект->Параметры проекта->Параметры компилятора->Компиляция->Выполнить перед компиляцией
Мне нужно сделать это через компонент + то что писал выше.
Самое надёжное - это спросить в списке рассылки.
