M4 (langage)

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir M4.

M4 est un langage de traitement de macros.

Un processeur de macro est un outil de remplacement de texte. Sa principale utilisation est de réutiliser des canevas de texte, typiquement dans les applications de programmation mais aussi dans les éditeurs de texte. Parmi les usages les plus courants, il est utilisé dans GNU autoconf, ou encore dans Sendmail pour générer le fichier de configuration sendmail.cf.

Les processeurs de macro furent importants quand l'assembleur était l'outil commun des programmeurs. Dans ce temps-là de la programmation, les programmeurs notèrent que la plupart de leurs programmes était de la répétition de texte. Des moyens simples de réutiliser ces textes furent donc inventés. Les programmeurs découvrirent rapidement que cela ne permettait pas seulement de réutiliser des pans entier de texte, mais aussi de substituer des valeurs différentes pour des paramètres similaires. Cela définit la portée des processeurs de macro.

M4 offre les possibilités suivantes :

  • remplacement de texte ;
  • substitution de paramètre ;
  • inclusion de fichier ;
  • manipulation de chaînes de caractères ;
  • évaluation conditionnelle ;
  • expressions arithmétiques ;
  • interfaçage avec le système ;
  • diagnostics pour le programmeur.

À la différence des processeurs de macro précédents, M4 n'a pas été ciblé pour un quelconque langage informatique ou humain. Historiquement, il a toutefois été développé pour supporter le dialecte ratfor du Fortran.