Циклопедия скорбит по жертвам террористического акта в Крокус-Сити (Красногорск, МО)
Метапрограммирование
Перейти к навигации
Перейти к поиску
Метапрограммирование — это создание программ, манипулирующих программами.
Общая информация[править]
Частным случаем метапрограммирования является самомодификация программ — такой вид программирования называется рефлексивным.
Метапрограммы могут работать либо на этапе компиляции, либо изменять код динамически (на этапе выполнения). Язык, на котором пишется метапрограмма, называется метаязыком. Он может совпадать с нижележащим языком.
Подходы[править]
- Макросы и шаблоны
- Многоэтапный код
- Внешние системы преобразования кода
- Интерпретация кода из какой-либо структуры данных (строки, деревья и т. д.)
- Интроспекция
- Зависимые типы являются ограниченной формой метапрограммирования, что позволяет строже гарантировать корректность получаемой программы