m4 — универсальный макропроцессор, в отличие, к примеру, от препроцессора C, не привязанный к какому-либо языку программирования или разметки.
Разработан в 1977 году соавторами UNIX — Брайаном Керниганом и Денисом Ритчи и, являясь частью стандарта POSIX, входит в состав утилит любой UNIX-подобной операционной системы.
Реализует простой предметно-ориентированный декларативный миниязык макроподстановки, который зачастую используется для расширения миниязыков других утилит UNIX[1], например вместе с autoconf[2] или для конфигурирования почтового сервера sendmail[3][4][5][6].
Примечания
править- ↑ Рэймонд, 2005, 8.1. Классификация языков, с. 217.
- ↑ Calcote, 2010.
- ↑ Джонатан Бартлетт. Введение в метапрограммирование . developerWorks. IBM (20 октября 2005). Дата обращения: 19 января 2020. Архивировано 9 июля 2016 года.
- ↑ Рэймонд, 2005.
- ↑ Georg Wagner. Configuring sendmail 8.9 with m4-macros . opennet.ru (29 ноября 1999). Дата обращения: 20 января 2020. Архивировано 17 января 2018 года.
- ↑ Costales et al., 2007.
Литература
правитьСтатьи
- Дмитрий Кузнецов. M4: Освоим макропроцессор // LinuxFormat. — 2015. — Ноябрь (№ 11 (202)). — С. 76—79.
- Джонатан Бартлетт. Введение в метапрограммирование . developerWorks. IBM (20 октября 2005).
- Jerry Peek. Macro Magic: m4, Part One . Linux Magazine (февраль 2005). Дата обращения: 28 мая 2016.
- Jerry Peek. The Unknown Power Tool: m4, Part Two . Linux Magazine (март 2005). Дата обращения: 28 мая 2016.
Книги
- Эрик Рэймонд. Гл. 8. Мини-языки: поиск выразительной нотации. 8.2.4. Учебный пример: m4 // Искусство программирования для Unix. — Вильямс, 2005. — С. 225. — 544 с. — ISBN 978-5-8459-0791-2.
- John Calcote. Ch. 10. Using the m4 macro processor with autoconf // Autotools: A Practioner's Guide to GNU Autoconf, Automake, and Libtool. — 1'st ed.. — No Starch Press, 2010. — С. 251—269. — XXIV+332 с. — ISBN 978-1-59327-206-7.
- Bryan Costales, Claus Assmann, George Jansen, Gregory Neil Shapiro. Ch. 17. Confgure sendmail.cf with m4 // sendmail: Build and Administer sendmail. — O'Reilly, 2007. — С. 584—647. — 1310 с. — ISBN 978-0-596-55534-4.
Ссылки
править- GNU M4 Project
- Документация на английском языке
- Перевод документации на русский язык
- Документация (рус.) m4 для IBM AIX