Escopo (computação): diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Linha 91:
O escopo dinâmico é bastante fácil de implementar. Para encontrar o valor de um identificador, o programa poderia atravessar a pilha de execução, através da cadeia dinâmica, verificando cada [[registro de ativação]] buscando um valor para o identificador. Na prática, isto torna-se mais eficiente através da utilização de uma [[lista de associação]], que é uma pilha de pares nome/valor. Pares são empilhados sempre que as declarações são feitas, e desempilhados no momento em que as variáveis deixam o escopo.<ref name="scott2">{{Citar livro|autor=SCOTT, Michael L|título=Programming Language Pragmatics|subtítulo=|idioma=inglês|edição=|local=San Francisco|editora=Morgam Kaufmann/Academic Press|ano=2000|páginas=132-137|volumes=|volume=|id=ISBN 1-55860-442-1}}</ref> Uma estratégia alternativa, que é consideravelmente mais rápida, é fazer uso de uma ''tabela central de referência'', que associa cada nome com seu significado atual. Isso evita uma busca linear durante a execução para encontrar um nome específico, embora a manutenção desta tabela seja mais complexa. <ref name="scott2" /> Note-se que ambas as estratégias assumem um ordenamento de vinculações em estrutura de pilha (LIFO) para qualquer variável; na prática, todas as vinculações são ordenadas desta forma.
 
=== ExemploExemplos ===
Este exemplo compara as conseqüências do uso do escopo estático e do escopo dinâmico. Observe o seguinte código em linguagem ''C-like'':