Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouBárbara Pombo Alterado mais de 10 anos atrás
1
1 Aula 7 ImplementandoSubprogramas Universidade do Vale do Rio dos Sinos www.inf.unisinos.br/~barbosa barbosa@exatas.unisinos.br
2
2 1 – Semântica das Chamadas e Retornos Sumário
3
3 2 – Implementando Subprogramas FORTRAN 77 Sumário
4
4 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL Sumário
5
5 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação Sumário
6
6 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação 5 – Recursividade Sumário
7
7 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação 5 – Recursividade 6 – Referências Não Locais Sumário
8
8 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação 5 – Recursividade 6 – Referências Não Locais 7 – Blocos Sumário
9
9 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação 5 – Recursividade 6 – Referências Não Locais 7 – Blocos 8 – Implementando o Escopo Dinâmico Sumário
10
10 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação 5 – Recursividade 6 – Referências Não Locais 7 – Blocos 8 – Implementando o Escopo Dinâmico 9 – Implementando Suprogramas como Parâmetros Sumário
11
11 1 – Semântica das Chamadas e Retornos - Ligação de Subprograma (chamada e retorno) Sumário
12
12 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 - Subprogramas não podem ser recursivos - Registro de ativação - Instância de registro de ativação - FORTRAN 90: aninhados e recursivos Sumário
13
13 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL - Tamanho dos RAs: fixo ou variável ? - Suprogramas aninhados - Recursividade Sumário
14
14 Código Dados Estáticos Heap Pilha
15
15 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação - Estrutura - Exemplo sem recursividade e não locais Sumário
16
16 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação - Estrutura - Exemplo sem recursividade e não locais Sumário
17
17 Variáveis Locais Parâmetros Vínculo Dinâmico Vínculo Estático Endereço de retorno Estrutura de um RA
18
18 procedure sub(var total : real; part : integer); var lista : array[1..5] of integer; soma : real; begin... end;
19
19 procedure sub(var total : real; part : integer); var lista : array[1..5] of integer; soma : real; begin... end; soma lista[5] lista[4] lista[3] lista[2] lista[1] part total Vínculo Dinâmico Vínculo Estático Endereço de retorno
20
20 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação - Estrutura - Exemplo sem recursividade e não locais Sumário
21
21 Local P Main
22
22 Local T Local S Parâmetro R Vínculo Dinâmico Vínculo Estático Retorno RA de B Local P Main
23
23 Local T Local S Parâmetro R Vínculo Dinâmico Vínculo Estático Retorno Local Y Parâmetro X Vínculo Dinâmico Vínculo Estático Retorno RA de B RA de A Local P Main
24
24 Local T Local S Parâmetro R Vínculo Dinâmico Vínculo Estático Retorno Local Y Parâmetro X Vínculo Dinâmico Vínculo Estático Retorno Parâmetro Q Vínculo Dinâmico Vínculo Estático RA de B RA de A RA de C Local P Main
25
25 Local T Local S Parâmetro R Vínculo Dinâmico Vínculo Estático Retorno Local Y Parâmetro X Vínculo Dinâmico Vínculo Estático Retorno Parâmetro Q Vínculo Dinâmico Vínculo Estático RA de B RA de A RA de C Local P Main Local Offset
26
26 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação 5 – Recursividade - Exemplo do programa fatorial Sumário
27
27 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação 5 – Recursividade 6 – Referências Não Locais - Encadeamentos Estáticos - Displays Sumário
28
28 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação 5 – Recursividade 6 – Referências Não Locais 7 – Blocos - Implementando como extensão dos RAs Sumário
29
29 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação 5 – Recursividade 6 – Referências Não Locais 7 – Blocos 8 – Implementando o Escopo Dinâmico - Acesso profundo - Acesso raso Sumário
30
30 1 – Semântica das Chamadas e Retornos 2 – Implementando Subprogramas FORTRAN 77 3 – Implementando Subprogramas ALGOL 4 – Registros de Ativação 5 – Recursividade 6 – Referências Não Locais 7 – Blocos 8 – Implementando o Escopo Dinâmico 9 – Implementando Suprogramas como Parâmetros - Encadeamento Estático - Displays Sumário
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.