* Agence Wordpress Besancon
Agence Wordpress Besancon
Article:
En informatique, la portée (scope en anglais) correspondant à un identifiant ,qui peut être lexicale ou dynamique, signifie l'étendue dans laquelle cet identifiant est associé. Une portée lexicale est déterminé via un fragment du code source. l'identifiant n'a qu'une seule liaison dans ce fragment. Un identifiant à portée globale est affilié dans l'intégralité du code source (parfois juste après sa déclaration ou son identification). Dans beaucoup de langages de programmation, toutes les fonctions ont une portée globale (exemple : C). Quand un identifiant à portée globale dénomme une variable, dans ce cas on parle de variable globale. Celles-ci s'occupent essentiellement du stockage des données nécessaires à de multiples place du programme, un cas singulier étant les verrous. Un identifiant à portée locale n'est affillié que dans une formule syntaxique du langage, en général celle où il est ané. Quand un identifiant à portée locale indique une variable, on parle alors de variable locale. Encore, dans la généralité des langages, un identifiant à portée locale camoufle tout potentiel identifiant de même nom, mais de plus grande portée. Aner deux fois le même identifiant dans la même portée peut être compté comme une erreur, ou comme une redéclaration, selon le langage et le contexte. La philosophie de portée lexicale a été intégrée pour la première fois dans LISP 1.5. Il fut ajouté à Algol 60, dont les dérivants sont typiquement à portées purement lexicales (C, Pascal). Scheme, qui en fut un promoteur, est un dialecte Lisp qui n'a également de portées que lexicales. Common Lisp, lui, bénéfice à la fois de portées lexicales, amenées de Scheme, et de portées dynamiques. Au sein d' une étendue dynamique déterminée une portée dynamique est définie par un point d'entrée et un point de sortie lors de l'exécution. La liaison d'un identifiant à portée dynamique voile une liaison précédente au sein de l'étendue dynamique de la forme qui exécute cette nouvelle liaison. Une variable à portée dynamique, appelée variable dynamique, permet donc de propager dans la pile d'appels un changement à un environnement. Des langages non fonctionnels admettent aussi une portée dynamique, surtout ceux dérivés de Forth (un langage à pile) dont PostScript. La façon employée est d'utiliser une seconde pile (autonome de la pile des paramètres ou de la pile de retour des fonctions, les deux piles étant souvent communes) comprenant 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.