A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Aula 7 ImplementandoSubprogramas Universidade do Vale do Rio dos Sinos

Apresentações semelhantes


Apresentação em tema: "1 Aula 7 ImplementandoSubprogramas Universidade do Vale do Rio dos Sinos"— Transcrição da apresentação:

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


Carregar ppt "1 Aula 7 ImplementandoSubprogramas Universidade do Vale do Rio dos Sinos"

Apresentações semelhantes


Anúncios Google