
_START_ARTICLE_
إم 4 (معالج)
_START_SECTION_
الاستخدام
_START_PARAGRAPH_
جميع إصدارات يونكس جعلت معالج الماكرو إم4 متاح، وبوسيكسPOSIX جعله موحداً. شعبية جنيو أوتوكونف  GNU autoconf (الذي يتطلب جنو إم4 لإنشاء تركيب النصوص) قد شجعت العديد على تثبيته، حتى لو لم يكن هؤلاء الناس أنفسهم سيبرمجوا بـ إم4._NEWLINE_معالج الماكرو (أو المعالج) ويعمل كأداة تبديل النص. المستخدم النهائي يستخدمه في كثير من الأحيان إلى إعادة استخدام قوالب النص،  تماما في برمجة التطبيقات، ولكن أيضا في تحرير النص ومعالجة النص والتطبيقات.
_START_SECTION_
مثال
_START_PARAGRAPH_
القطعة التالية تعطي مثال بسيط يمكن أن يشكل جزءا من مكتبة لتوليد الكود الأتش تي أم أل HTإمL code. أنها تحدد تعليق الماركو إلى أقسام عدد تلقائيا :_NEWLINE_divert(-1)_NEWLINE_This `divert' discards this text. Note that I had to quote the `divert'_NEWLINE_in the comment so it wouldn't get undiverted._NEWLINE__NEWLINE_# In a true comment, I'm free to use words such as divert and other builtin_NEWLINE_# m4 macros' names without consequence._NEWLINE__NEWLINE_# This starts the count at ONE as the incr is a preincrement._NEWLINE_define(`H2_COUNT', 0)_NEWLINE__NEWLINE_# The H2_COUNT macro is redefined every time the H2 macro is used._NEWLINE_define(`H2',_NEWLINE_`define(`H2_COUNT', incr(H2_COUNT))<h2>H2_COUNT. $1</h2>')_NEWLINE__NEWLINE_divert(0)dnl Diversion to 0 means back to normal. dnl macro removes this line._NEWLINE_H2(First Section)_NEWLINE_H2(Second Section)_NEWLINE_H2(Conclusion)_NEWLINE_عند معالجة هذا الرمز مع m4  يجب أن يولد النص التالي :_NEWLINE_<h2>1. First Section</h2>_NEWLINE_<h2>2. Second Section</h2>_NEWLINE_<h2>3. Conclusion</h2>_NEWLINE_ملاحظة كثرة استخدام dnl، التي تحذف حتى بما فيه السطرالجديد newline، وبالتالي تمنع ظهور العديد من الأسطر الفارغة التي تظهر في المخرجات.
_START_SECTION_
تطبيقات البرمجيات الحرة
_START_PARAGRAPH_
وهناك نسخة من جنو إم4 GNU version of m4 موجودة. [3] [4] FreeBSD, NetBSD, and OpenBSD أيضا توفير تطبيقات مستقلة للغة إم4. وعلاوة على ذلك، وأدوات تطوير مشروع هايرلووم  Heirloom Project يتضمن نسخة مجانية من اللغة إم4، المستمدة من أوبن سولاريسOpenSolaris..