* Developpeur Prestashop Besancon
Developpeur Prestashop Besancon
Article:
DUn identifiant en informatique est attaché au sein d'une étendue qui s'appelle la portée de l'identifiant. Cette dernière peut être lexicale ou dynamique. Une portée lexicale est désigné par une division du code source. Dans cette division, l'identifiant n'a qu'une unique relation. Un identifiant à portée globale est attaché au sein de la globalité du code source (parfois juste après sa déclaration ou sa détermination). Dans beaucoup de langages de programmation, toutes les fonctions ont une portée globale (exemple : C). Quand un identifiant à portée globale déclare une variable, on parle dans ce cas de variable globale. Celles-ci donnent l'opprtunité spécifiquement d'enregistrer des données nécessaires à de multiples endroits du programme, un cas spécial étant les verrous. Un identifiant à portée locale n'est allié que dans une combinaison syntaxique du langage, fréquemment celle où il est appellé. Lorsqu'un identifiant à portée locale déclare une variable, on parle alors de variable locale. De même, dans la généralité des langages, un identifiant à portée locale dissimule tout éventuel identifiant de même nom, de plus grande portée en revanche. Nommer deux fois le même identifiant dans la même portée peut être prise comme une erreur, ou comme une redéclaration, seleon le langage et le contexte. Le système de portée lexicale a été inclus pour la première fois dans LISP 1.5. Il fut ajouté à Algol 60, dont les dérivants sont partculièrement à portées purement 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, dispose à la fois de portées lexicales, importées de Scheme, et de portées dynamiques. Une portée dynamique est caractérisée dans une étendue dynamique limitée 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 antérieure au sein de l'étendue dynamique de la forme qui accomplit cette récente liaison .Une variable à portée dynamique, nommée variable dynamique, permet donc de propager dans la pile d'appels une modification à un environnement. Des langages non fonctionnels endossent aussi une portée dynamique, notamment ceux issus de Forth (un langage à pile) dont PostScript. La technique 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 souvent 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 se poursuit dans le (ou les) dictionnaires plus bas dans la pile.