Plusieurs macros m4 intégrées peuvent manipuler des entiers représentés comme des chaînes de chiffres. Cet exemple montre comment incrémenter la valeur numérique d’une macro varcount :
define(<<varcount>>,0)
define(<<varcount>>,incr(varcount))
On ne met généralement pas entre guillemets le nom d’une macro
Opérations de type mathématique, logique et chaîne

de comptage quand elle est utilisée comme argument d’une macro mathématique intégrée. Dans l’exemple précédent, la macro varcount est redéfinie avec la représentation de chaîne incr(0), c’est-à-dire 1. Par conséquent, tout appel ultérieur à varcount est remplacé par 1 également. La macro eval s’étend en une chaîne qui est la valeur d’une expression mathématique ou logique. Par exemple, dans la séquence
define(<<varcount>>,0)
eval(varcount+1)
la macro eval s’étend à 1. M4 fournit plusieurs macros intégrées pour la manipulation de chaînes, y compris len (string length = longueur de chaîne) et substr (substring = sous-chaîne).
Les macros peuvent être appelées récursivement et m4 reconnaît les macros intégrées pushdef et popdef pour pousser et faire surgir des définitions de macros sur une pile. Ces deux fonctions permettent d’écrire de petits programmes avec itération. Travailler avec des macros récursives est utile dans certains cas, mais il faut faire attention à éviter des macros incontrôlées.
Téléchargez cette ressource

Comment accélérer la transformation des environnements de travail ?
Dans un monde professionnel en pleine mutation, la mobilité, l’efficacité énergétique, la sécurité et l’intelligence embarquée sont devenues des critères décisifs pour les équipements informatiques. Découvrez comment les nouveaux PC Microsoft Surface dotés des processeurs Snapdragon X Series s’imposent comme une réponse stratégique aux nouveaux enjeux IT.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Les banques passent à l’action avec l’IA générative et le cloud
- DSI en assurance : gardien du temple ou moteur de la transformation ?
- Ransomware : persistance des cyberattaques à l’échelle mondiale
- Cybersécurité : l’IA générative rebat les cartes du cybercrime
- Le World Cyber Ranking, 1er classement mondial de la cybersécurité des entreprises
