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

Conteúdo apagado Conteúdo adicionado
Linha 79:
 
[[Imagem:Escopo.jpg|thumb|500px|Cadeias estática e dinâmica após a chamada dos procedimentos A->B->D->C]]
Uma das técnicas mais comuns de implementação do escopo estático é a cadeia estática.<ref name="pratt2">{{Citar livro|autor=PRATT, Terrence W.; ZELKOWITZ, Marvin V|título=Programming Languages|subtítulo=Design and Implementation|idioma=inglês|edição=4ª|local=Upper Saddle River, New Jersey|editora=Prentice hall|ano=2001|páginas=339-340|volumes=|volume=|id=ISBN 0-13-027678-2}}</ref> Esta cadeia mantém ponteiros em cada procedimento apontados para o pai estático. Quando uma referência a uma variável é encontrada em um procedimento, primeiro se procura no registro de ativação deste procedimento. Caso não se encontre a variável, se busca no próximo pai estático e assim por diante. No exemplo da figura, ao lado (relativo ao código de exemplo em Pascal acima), após a chamada dos procedimentos A, B, D e C respectivamente, caso ajahaja uma referência no procedimento C sobre a variável K, a variável usada é a que está declarada no procedimento B (K real).