Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Генерация исходников по описанию

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Периодически у меня возникает потребность нагенерить некоторое, достаточно большое (> 2) количество однотипных сорцов на не объектно-ориентированном языке, непример, С (были, правда, случаи и на js), из небольшого описания неких сущностей. Например, есть описание каких-то модулей с их параметрами, и надо сгенерить сорцы с пустыми setters/getters + какой-то «glue» layer.

Для этих целей я уже который раз использую:
1) XML — для описания сущностей (например, модули + параметры из предыдущего примера)
2) Самописный движок на PHP (для каждого проекта его приходится слегка подкручивать)
3) Шаблоны исходников — файлы на результирующем языке (С / js) + PHP-вставки.

Хотелось бы поинтересоваться, кто чем пользуется для решения подобных задач.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Есть тулза autogen (gnu) задаешь definition & templates. Но темплейты пишуться на scheme (Lisp), дальше примеров — не пошло, у меня.

m4 стандартная юниксовая програма, использовал только один раз, генерил из таблиц switch-case конструкцию, минус в том что написаное «плохо читаемое» если нет опыта.

Ну и в одном большом проэкте, я написал пайтоне генерацию класа, базы, доступ к базе сериализация под различнык форматы и View обекта для php. Потом доделали (но уже не я) изменения существуещого кода. В коде ставлялись коментарии что генерируемое и что используеться как definition для генерации.

И читал очень хорошую книгу, о генерации кода, там все примеры были на ruby. Очень красиво все сделано и написано, жаль что я раньше ее не прочитал.

Скажите, а о какой книге идет речь?

Коментар порушує правила спільноти і видалений модераторами.

Підписатись на коментарі