Генерация исходников по описанию
Периодически у меня возникает потребность нагенерить некоторое, достаточно большое (> 2) количество однотипных сорцов на не объектно-ориентированном языке, непример, С (были, правда, случаи и на js), из небольшого описания неких сущностей. Например, есть описание каких-то модулей с их параметрами, и надо сгенерить сорцы с пустыми setters/getters + какой-то «glue» layer.
Для этих целей я уже который раз использую:
1) XML — для описания сущностей (например, модули + параметры из предыдущего примера)
2) Самописный движок на PHP (для каждого проекта его приходится слегка подкручивать)
3) Шаблоны исходников — файлы на результирующем языке (С / js) + PHP-вставки.
Хотелось бы поинтересоваться, кто чем пользуется для решения подобных задач.
3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарівЕсть тулза autogen (gnu) задаешь definition & templates. Но темплейты пишуться на scheme (Lisp), дальше примеров — не пошло, у меня.
m4 стандартная юниксовая програма, использовал только один раз, генерил из таблиц switch-case конструкцию, минус в том что написаное «плохо читаемое» если нет опыта.
Ну и в одном большом проэкте, я написал пайтоне генерацию класа, базы, доступ к базе сериализация под различнык форматы и View обекта для php. Потом доделали (но уже не я) изменения существуещого кода. В коде ставлялись коментарии что генерируемое и что используеться как definition для генерации.
И читал очень хорошую книгу, о генерации кода, там все примеры были на ruby. Очень красиво все сделано и написано, жаль что я раньше ее не прочитал.
Скажите, а о какой книге идет речь?
Коментар порушує правила спільноти і видалений модераторами.
TXL