Concept

Décoration de nom

Résumé
En construction de compilateur, la signature (aussi appelée décoration de nom) est une technique utilisée pour résoudre divers problèmes de résolution de noms uniques des entités informatiques avec plusieurs langages de programmation modernes. Cette technique fournit un moyen d'encoder des informations supplémentaires dans le nom d'une structure, d'une classe ou d'un autre type de donnée afin que les compilateurs puissent communiquer davantage d'informations sémantiques aux lieurs. Cette technique est utile lorsque le langage de programmation permet à différentes entités d'utiliser le même identifiant tant qu'ils occupent différents espaces de noms (un espace de noms est typiquement défini par un module, une classe ou une instruction explicite de déclaration d'espace de noms) ou qu'ils ont des signatures différentes (par exemple. avec la surcharge de fonction). Cette utilisation est nécessaire parce que chaque signature peut exiger une convention d'appel spécialisée dans le code machine. Tout code objet produit par un compilateur est lié avec d'autres codes objets (produits par le même compilateur ou par un autre) par un programme appelé lieur (ou éditeur de liens) qui a besoin de nombreuses informations concernant chaque entité. Par exemple, pour lier correctement une routine, il faut son identifiant (nom) le nombre d'arguments, leurs types, etc. Les langages de programmation simples des années 1970 (par exemple, le langage C) distinguent seulement les bouts de code par leur identifiant, ignorant les autres informations tels que les types des paramètres et le type de la valeur retournée. Les langage de programmation plus récents (par exemple, le langage C++) définissent des exigences plus strictes pour les bouts de code afin de les considérer équivalents, tels que les types des paramètres, le type de la valeur retournée et la convention d'appel de la routine. Ces exigences permettent la surcharge de routine aussi bien que la détection de divers bogue (tel l'utilisation de différentes définitions de routine pour compiler différents fichiers sources).
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.