stringtranslate.com

Универсальный макропроцессор

Универсальный макропроцессор или универсальный препроцессор — это макропроцессор , который не привязан к определенному языку или программному обеспечению и не интегрирован с ними.

Макропроцессор — это программа, которая копирует поток текста из одного места в другое, делая при этом систематический набор замен. Макропроцессоры часто встраиваются в другие программы, такие как ассемблеры и компиляторы. Иногда они являются автономными программами, которые можно использовать для обработки любого типа текста.

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

Примеры макропроцессоров общего назначения

Смотрите также

Ссылки

  1. ^ ab Strachey, Christopher (октябрь 1965 г.). "Макрогенератор общего назначения". Computer Journal . 8 (3): 225–241. doi : 10.1093/comjnl/8.3.225 .
  2. ^ Уэйт, Уильям М. (июль 1970 г.). «Система мобильного программирования: STAGE2». Сообщения ACM . 13 (7). Нью-Йорк, Нью-Йорк, США: ACM: 415–421. doi :10.1145/362686.362691.
  3. ^ Бриттен, Чарльз Рэндил (2020-06-26). "Трансляция кода 8080 в 8086 - Microsoft Translation of 8080 Code to 8086 and Other 16-Bit Processors". Архивировано из оригинала 2021-07-23 . Получено 2021-11-28 . Stage2 был создан профессором Уильямом Уэйтом в Университете Колорадо в конце шестидесятых как основной компонент его мобильной системы программирования MPS. Stage2 использует алгоритм сопоставления с образцом для сопоставления входных строк текста с набором шаблонов. Каждый шаблон является первой строкой макроса, и когда совпадение распознается, тело кода этого макроса обрабатывается для создания выходного текста, сообщений об ошибках или создания сконструированной строки, которая отправляется для дальнейшего сопоставления с шаблоном. Таким образом, процесс полностью рекурсивен и весьма эффективен в своих возможностях для преобразования текста. Фактически, его можно использовать для реализации компилятора языка программирования.
  4. ^ Коул, А. Дж. (1981). Макропроцессоры (2-е, исправленное издание). Архив CUP. стр. 254.
  5. ^ Фарбер, DJ, 635 Assembly System - GAP. Bell Telephone Laboratories Computation Center (1964).
  6. ^ "Gema". gema.sourceforge.net . Получено 2017-04-21 .
  7. ^ "GPP". logological.org/gpp . Получено 21 апреля 2017 г. .
  8. ^ "Добро пожаловать в документацию pyexpander! — Документация pyexpander 1.7.0". pyexpander.sourceforge.net . Получено 21.04.2017 .
  9. ^ "akiwi - Текстовый ассемблер". www.akiwi.co.uk . Получено 2017-04-21 .
  10. ^ Делор, Кристоф. "PP - универсальный препроцессор (с учетом Pandoc)". cdsoft.fr . Получено 17 октября 2017 г.
  11. ^ "minimac". freshmeat.net . Получено 2017-04-21 .
  12. ^ "aa_macro" . Получено 2017-11-24 .
  13. ^ "wtfm" . Получено 2017-11-24 .