* Developpeur Magento Besancon
Developpeur Magento Besancon
Article:
En informatique ,un identifiant est conjoint au sein d'une étendue qui se nomme la portée de l'identifiant. Cette dernière peut être lexicale ou dynamique. Une section du code source définie la portée lexicale. Dans de cette section, l'identifiant n'a qu'un seul lien. Un identifiant à portée globale est relié au sein de la totalité du code source (parfois juste après sa déclaration ou sa définition).Toutes les fonctions disposent d' une portée globale (exemple : C) dans beaucoup de langages de programmation. On parle de variable globale quand un identifiant à portée globale affecte une variable. Celles-ci s'emploient particulièrement pour enregistrer des données importantes à de multiples endroits du programme, un cas particulier étant les verrous. Un identifiant à portée locale n'est associé qu'au sein d'un assemblage syntaxique du langage, couramment celle où il est signalé. Quand un identifiant à portée locale désigne une variable, on parle dans ce cas de variable locale. En prime, dans la plupart des langages, un identifiant à portée locale camoufle tout éventuel identifiant de même nom, de plus grande portée en revanche. Déclarer deux fois le même identifiant dans la même portée peut être juger comme une erreur, ou comme une redéclaration, selon le langage et le contexte. La base de portée lexicale a été introduite pour la première fois dans LISP 1.5. Il fut ajouté à Algol 60, dont les provenants sont spécialement à 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, jouit à la fois de portées lexicales, importées de Scheme, et de portées dynamiques. Au sein d' une étendue dynamique précisée une portée dynamique est définié par un point d'entrée et un point de sortie lors de l'exécution. Le rapport d'un identifiant à portée dynamique camoufle un rapport précédent dans l'étendue dynamique de la forme qui exécute ce nouveau lien. 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 admettent également une portée dynamique, spécialement ceux issus de Forth (un langage à pile) dont PostScript. La manière 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 fréquemment communes) incluant pour chaque place 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.