* Developpeur Joomla Besancon
Developpeur Joomla Besancon
Article:
En domaine d'informatique, la portée (scope en anglais) concernant un identifiant désigne l'étendue dans laquelle cet identifiant est associé. Elle peut être lexicale ou dynamique. Un segment du code source explique la portée lexicale. Au sein de ce segment, l'identifiant n'a qu'un unique lien. Un identifiant à portée globale est accordé dans l'intégrité du code source (parfois seulement à la suite de sa déclaration ou son identification). Dans de multiples langages de programmation, la totalité des fonctions ont une portée globale (exemple : C). Quand un identifiant à portée globale signale une variable, on parle dans ce cas de variable globale. Celles-ci se consacrent précisément à enregistrer des données essentielles à de multiples lieu du programme, un cas typique étant les verrous. Un identifiant à portée locale n'est accordé que dans une structure syntaxique du langage, fréquemment celle où il est notifié. Quand un identifiant à portée locale assigne une variable, on parle alors de variable locale. En outre, dans la majorité des langages, un identifiant à portée locale cache tout possible identifiant de nom identique, mais de plus grande portée. Notifier deux fois le même identifiant dans la même portée peut être jugé comme une erreur, ou comme une redéclaration, suivant le langage et le contexte. La règle de portée lexicale a été infiltré pour la première fois dans LISP 1.5. Il fut ajouté à Algol 60, dont les émanants sont typiquement à portées exclusivement lexicales (C, Pascal). Scheme, qui en fut un promoteur, est un dialecte Lisp qui n'a aussi de portées que lexicales. Common Lisp, lui, bénéfice à la fois de portées lexicales, introduites de Scheme, et de portées dynamiques. Dans une étendue dynamique cernée une portée dynamique est identifiée par un point d'entrée et un point de sortie pendant l'exécution. Le rapport d'un identifiant à portée dynamique dissimule un rapport antécédente dans l'étendue dynamique de la forme qui concrétise cette nouveau rapport. Une variable à portée dynamique, nommée variable dynamique, permet donc de communiquer dans la pile d'appels une modification à un environnement. Des langages non fonctionnels tolèrent également une portée dynamique, particulièrement ceux émanés de Forth (un langage à pile) dont PostScript. La démarche employée est d'utiliser une seconde pile (indépendante de la pile des paramètres ou de la pile de retour des fonctions, les deux piles étant toujours communes) contenant pour chaque position empilée une référence à un dictionnaire de variables. Si une variable ne peut être trouvée dans le premier dictionnaire référencé au sommet de la pile, la recherche continue dans le (ou les) dictionnaires plus bas dans la pile.