Макропроцессор M4
M4 – это универсальный макропроцессор, разработанный в 1977 году легендарными программистами – Брайаном Керниганом (Brian Kernighan) и Денисом Ричи (Dennis Ritchie). Язык M4 является полным языком в смысле Тьюринга. Наиболее известное применение M4 – это утилиты autotools, которые используется в процессе компиляции в Linux, и конфигурация sendmail. Основное предназначение M4 – генерация текстовых файлов. Например, M4 может полностью заменить cpp при компиляции программ на языке C/C++. Или, например, M4 может использоваться как замена css при формировании html-файлов.
Из недостатков M4 можно отметить сложность отладки скриптов на M4 и невысокая скорость работы.
Общая информация по M4:
- Brian W. Kernighan. Dennis M. Ritchie The M4 Macro Processor, 1977
- Kenneth J. Turner Exploiting the m4 Macro Language, 1994
- Jonathan Bartlett The art of metaprogramming, Part 1: Introduction to metaprogramming, 2005. В этой книге языку M4 посвящен только небольшой раздел
- M4. Эта статья на русском языке
- GNU m4 page
- GNU M4 macro processor. Оригинальная документация по M4 на английском языке
- GNU m4 Development site
- Hints and Tips for the M4 macro processor
- m4 Macroprocessor
Конфигурирование sendmail с помощью макросов M4:
- Georg Wagner Конфигурация sendmail’а с помощью m4 макросов, 1999
- official Sendmail M4 macro reference
Использование M4 при генерации HTML/xHTML:
Уязвимости в GNU M4:


osya





