| |
Análise e Transformação de Software
Sumários
27 de Setembro de 2010
- A. Apresentação da disciplina
- I.1 Introdução e Motivação para a área de Análise e Transformação de SW.
11 de Outubro de 2010
- Resolução do Exercício 1 sobre Gramáticas, GIC e GT (enunciado descrito nas Fichas Práticas de Engenharia Gramatical).
18 de Outubro de 2010
- Continução da Resolução do Exercício 1 sobre Gramáticas, GIC e GT (enunciado descrito nas Fichas Práticas de Engenharia Gramatical).
25 de Outubro de 2010
- Continução da Resolução do Exercício 1 sobre Gramáticas, agora para introdução às GA e à ferramenta Silver (enunciado descrito nas Fichas Práticas de Engenharia Gramatical; e conteúdo da aula descrito no Módulo de EG (sumários)).
08 de Novembro de 2010
- Resolução do Exercício 2 sobre Gramáticas, para introdução às GA e à ferramenta Silver (enunciado descrito nas Fichas Práticas de Engenharia Gramatical; e conteúdo da aula descrito no Módulo de EG (sumários)).
15 de Outubro de 2010
- Continuação da introdução às GA, às árvores de sintaxe abstrata (AST) e à ferramenta Silver, agora com um novo exemplo da calculadora de expressões "dc -- desktop calculator languag" (conteúdo da aula descrito no Módulo de EG (sumários)).
22 de Novembro de 2010
- Não dei aula por estar na Universidade Nacional de SanLuis? , Argentina, no contexto da visita anual do projecto de cooperação bilateral Quixote (aula dada por JGR, a compensar ainda em dezembro).
29 de Novembro de 2010
- Não dei aula por estar na Universidade Nacional de SanLuis? , Argentina, no contexto da visita anual do projecto de cooperação bilateral Quixote (aula dada por JGR, a compensar ainda em dezembro).
06 de Dezembro de 2010
- Resolução do Exercício 3 sobre Linguagens e Gramáticas, para sedimentar os conhecimentos já introduzidos sobre GAs. Análise da estrutura fisica de uma factura para escolha dos simbolos não-terminais e terminais e dos atributos que permitam descrever o processamento que traduza a semântica desejada; construção das variantes linguisticas pedidas por extensão ou adaptação da gramática; definição das regras para cálculo dos atributos sintetizados.
- Continuação da discussão sobre ferramentas para geração de processadores de linguaguens como o sistema Silver, o LISA ou o AnTLR --- a linguagem de programação para escrita das regras de cálculo dos atributos: escolha entre uma linguagem própria e específica ou uma GPL (General Purpose Language), vantagens e inconvenientes.
13 de Dezembro de 2010
- Introdução à ferramenta para geração de processadores de linguaguens AnTLR --- filosofia geral, alguma regras básicas e as funcionalidades do ambiente de desenvolvimento AnTLRWorks. Utilização do Exercício 2 sobre Linguagens e Gramáticas (a linguagem Lisp e as SExpressions), para sedimentar os conhecimentos já introduzidos sobre GAs e para explicar o uso do AnTLR.
03 de Janeiro de 2011
- Introdução à ferramenta para geração de processadores de linguaguens AnTLR (cont.) --- alguma regras básicas e as funcionalidades do ambiente de desenvolvimento AnTLRWorks. Utilização do Exercício 3 sobre Facturas para sedimentar os conhecimentos já introduzidos sobre GAs e para explicar o uso do AnTLR.
10 de Janeiro de 2011
- Introdução à ferramenta para geração de processadores de linguaguens AnTLR (cont.) --- alguma regras básicas e as funcionalidades do ambiente de desenvolvimento AnTLRWorks. Desenvolvimento de um compilador para uma linguagem de cálculo de expressões, para sedimentar os conhecimentos já introduzidos sobre GAs e para explicar o uso do AnTLR.
17 de Janeiro de 2011
- Introdução à ferramenta para geração de processadores de linguaguens AnTLR (cont.) e ao ambiente de desenvolvimento AnTLRWorks; sedimentação dos conhecimentos já introduzidos sobre GAs.
- Cont. do Desenvolvimento de um compilador para uma linguagem de cálculo de expressões: escolha dos atributos herdados e sintetizados para análise semântica estática---construção da TabId por recolha dos pares <identificador,tipo>; verificação de re-declarações; type-checking .
** 2º SEMESTRE ***
21 de Fevereiro de 2011
- A ferramenta para geração de processadores de linguaguens AnTLR e o ambiente de desenvolvimento AnTLRWorks.
- Sedimentação dos conhecimentos já introduzidos sobre GAs e introdução aos exercícios sobre Análise de Programas---enunciado do problema para as próximas aulas: análise de programas em LogoLISS; escrita de um programa para transporte da gramática Yacc para AnTLR.
- Cont. do Desenvolvimento de um compilador para uma linguagem de cálculo de expressões: escolha dos atributos herdados e sintetizados para análise semântica estática---construção da TabId por recolha dos pares <identificador,tipo>; verificação de re-declarações; type-checking .
28 de Fevereiro de 2011
- Apresentação teórico-prática do trabalho de mestrado do Hugo Areias: retargetting da ferramenta AnTLR de modo a gerar Processadores de Linguagens em Perl --- o problema, a estratégia (ou o caminho) seguido, os resultados atingidos.
- Discussão da forma como usar Perl para se comportar como o Java (a run-time Library).
07 de Março de 2011
- Não houve aula --- 2ªf de Entrudo.
14 de Março de 2011
- A ferramenta para geração de processadores de linguaguens AnTLR e o ambiente de desenvolvimento AnTLRWorks.
- Sedimentação dos conhecimentos já introduzidos sobre GAs e exercícios sobre Análise de Programas: análise de programas em LogoLISS; escrita de um programa para transporte da gramática Yacc para AnTLR.
21 de Março de 2011
- Sedimentação dos conhecimentos já introduzidos sobre GAs e exercícios sobre Análise de Programas: análise de programas em LogoLISS; escrita de um programa para transporte da gramática Yacc para AnTLR (cont. do projeto).
28 de Março de 2011
- Sedimentação dos conhecimentos já introduzidos sobre GAs e exercícios sobre Análise de Programas: análise de programas em LogoLISS; escrita da gramática AnTLR e eliminação de conflitos (cont. do projeto).
04 de Abril de 2011
- A ferramenta para geração de processadores de linguaguens AnTLR e o ambiente de desenvolvimento AnTLRWorks: introdução aos construtores para criar árvores de sintaxe abstrata com atributos (AST) e para sua manipulação; filosofia de trabalho usando o par "grammar / tree-grammar".
- Cont. do projeto para Sedimentação dos conhecimentos já introduzidos sobre GAs e exercícios sobre Análise de Programas: análise de programas em LogoLISS; escrita da gramática AnTLR e eliminação de conflitos (cont. do projeto).
11 de Abril de 2011
- Cont. do projeto para Sedimentação dos conhecimentos já introduzidos sobre GAs e exercícios sobre Análise de Programas: análise de programas em LogoLISS; escrita da gramática AnTLR e eliminação de conflitos (cont. do projeto); definição de atributos para construção da Tabela de Identificadores (definição da sua estrutura em termos genéricos).
- a noção de Bloco e do Nível de aninhamento; o âmbito de validade das declarações (scope) e as regras de visibilidade.
18 de Abril de 2011
- Não houve aula --- férias de Páscoa.
25 de Abril de 2011
- Não houve aula --- feriado nacional comemorativo da Revolução dos Cravos.
02 de Maio de 2011
- Aula usada para apresentação e avaliação parcial do Projeto Integrado (PI) -- 3ª fase (apresentação teórica).
09 de Maio de 2011
- Cont. do projeto para Sedimentação dos conhecimentos já introduzidos sobre GAs e exercícios sobre Análise de Programas: análise de programas em LogoLISS; escrita da gramática AnTLR e eliminação de conflitos (cont. do projeto); definição de atributos para construção da Tabela de Identificadores (definição da sua estrutura em termos genéricos) --- exploração das facilidades do AnTLR para construir e manipular AST; discussão da solução seguida por alguns dos grupos.
16 de Maio de 2011
- Cont. do projeto para Sedimentação dos conhecimentos já introduzidos sobre GAs e exercícios sobre Análise de Programas: análise de programas em LogoLISS; escrita da gramática AnTLR e eliminação de conflitos (cont. do projeto); definição de atributos para construção da Tabela de Identificadores (definição da sua estrutura em termos genéricos) --- exploração das facilidades do AnTLR para construir e manipular AST; discussão da solução seguida por alguns dos grupos.
23 de Maio de 2011
- Cont. do projeto para Sedimentação dos conhecimentos já introduzidos sobre GAs e exercícios sobre Análise de Programas: análise de programas em LogoLISS; exploração das facilidades do AnTLR para construir e manipular AST; discussão da solução seguida por cada grupo.
Exemplo de manipulação de Árvores em AnTLR
30 de Maio de 2011
- Manhã totalmente dedicada ao projeto integrado (PI).
06 de Junho de 2011
- Manhã parcialmente dedicada ao fecho de EG e ao projeto integrado (PI).
13 de Junho de 2011
Fecho da Disciplina, Balanço final:
- Análise, Representação Intermédia (tabela de identificadores, árvore de sintaxe (decorada com atributos), grafos de fluxo e de dependências), Estratégias de Travessia e Transformações.
- Análise Estática versus Análise Dinâmica; Instrumentação de Código e Inspétores.
- Slicing: conceito e definição; estático versus dinâmico; sintático versus semântico; aplicações tradicionais e novas aplicações (verificação de programas anotados com contratos); Slicing de código fonte e de código intermédio e slicing de outras linguagens; slicing de documentos XML.
|
|
 Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors. Ideas, requests, problems regarding TWiki? Send feedback
|
|
| |