Циклопедия скорбит по жертвам террористического акта в Крокус-Сити (Красногорск, МО)

Метапрограммирование

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Метапрограммирование — это создание программ, манипулирующих программами.

Общая информация[править]

Частным случаем метапрограммирования является самомодификация программ — такой вид программирования называется рефлексивным.

Метапрограммы могут работать либо на этапе компиляции, либо изменять код динамически (на этапе выполнения). Язык, на котором пишется метапрограмма, называется метаязыком. Он может совпадать с нижележащим языком.

Подходы[править]

  • Макросы и шаблоны
  • Многоэтапный код
  • Внешние системы преобразования кода
  • Интерпретация кода из какой-либо структуры данных (строки, деревья и т. д.)
  • Интроспекция
  • Зависимые типы являются ограниченной формой метапрограммирования, что позволяет строже гарантировать корректность получаемой программы

Языки[править]

Источники[править]