m4 — универсальный макропроцессор, в отличие, к примеру, от препроцессора C, не привязанный к какому-либо языку программирования или разметки.

Разработан в 1977 году соавторами UNIX — Брайаном Керниганом и Денисом Ритчи и, являясь частью стандарта POSIX, входит в состав утилит любой UNIX-подобной операционной системы.

Реализует простой предметно-ориентированный декларативный миниязык макроподстановки, который зачастую используется для расширения миниязыков других утилит UNIX[1], например вместе с autoconf[2] или для конфигурирования почтового сервера sendmail[3][4][5][6].

Примечания

править
  1. Рэймонд, 2005, 8.1. Классификация языков, с. 217.
  2. Calcote, 2010.
  3. Джонатан Бартлетт. Введение в метапрограммирование. developerWorks. IBM (20 октября 2005). Дата обращения: 19 января 2020. Архивировано 9 июля 2016 года.
  4. Рэймонд, 2005.
  5. Georg Wagner. Configuring sendmail 8.9 with m4-macros. opennet.ru (29 ноября 1999). Дата обращения: 20 января 2020. Архивировано 17 января 2018 года.
  6. Costales et al., 2007.

Литература

править

Статьи

Книги

  • Эрик Рэймонд. Гл. 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.

Ссылки

править