Processamento de Linguagens I

Ano Lectivo: 03/04 (2º semestre)

Departamento de Informática / Escola de Engenharia

Universidade do Minho


AVISOS


Apresentação

Cursos a que é leccionada:

Engenharia de Sistemas e Informática -- 3º ano ()
Matemática e Ciências da Computação -- 3º ano ()
Escolaridade:

2 + 2 + 0
Responsável:

Pedro Rangel Henriques
Equipe Docente:
Pedro Rangel Henriques [prh@di.uminho.pt] (1 + 0 + 0)
João Alexandre Saraiva [jas@di.uminho.pt] (0 + 4 + 0)

Obs: é indicado o número de turmas de cada tipo de aula que cada docente lecciona.
Estrutura de Funcionamento:

Exposição da matéria fundamental ---motivação, conceitos, definições, métodos e justificações--- a nível das aulas teóricas.
Resolução dos exercícios de consolidação, no quadro e no computador, a nível das aulas teórico-práticas.
Realização, no computador, de trabalhos concretos de aplicação, em ambiente Linux, recorrendo às ferramentas flex/yacc e à linguagem C, e LRC e à linguagem Haskell; os trabalhos serão desenvolvidos extra aulas.
Objectivos:

Os objectivos fundamentais deste curso são:


Avaliação

Critério:

A Avaliação tem uma componente teórica e uma componente prática ambas obrigatórias.
De acordo com o regulamento actualmente em vigor na UM, a nota teórica será obtida através da realização de 1 prova individual escrita. Essa prova tem as instâncias a seguir indicadas (um aluno só poderá fazer melhoria na época de recurso):
A nota prática será obtida através da realização de 2 trabalhos práticos que envolverão o desenvolvimento completo de um processador para uma linguagem específica, compreendendo a análise do enunciado concreto, o planeamento da resolução e a sua implementação em computador. O 1º trabalho usará a técnica TDS e o 2º seguirá a abordagem TDSem.
O trabalho será realizado ao longo do semestre, extra-aulas e em grupo de 2 ou 3 alunos, sendo apresentado ao docente, para ser discutido em frente ao computador, acompanhado dum relatório sucinto, em datas a combinar com os alunos. Recorda-se que é obrigatória a presença de todos os elementos do grupo aquando da apresentação ao docente.

Cada Trabalho Prático será classificado de acordo com os seguintes escalões:

Escalão
Nota
Não Entregue
0
Não Satisfaz
7
Satisfaz no Mínimo
10
Satisfaz
13
Bom
16
Muito Bom
19

A nota final será determinada de acordo com a seguinte fórmula:

NotaFinal = NotaTeorica * 0.60 + NotaPratica * 0.40
Exige-se 8 valores como nota mínima em cada uma das partes.

Trabalhos Práticos

Para fazer o download do enunciado dos Trabalhos Práticos propostos, clique abaixo: Para fazer o Registo das Equipes e o upload dos Trabalhos Práticos (entrega electrónica dos mesmo), use esta ligação ao Sistema de Submissão de Trabalhos Práticos do DI:

Exames

Para fazer o download (do ficheiro PDF) do enunciado dos Exames de anos anteriores, clique abaixo:


Conteúdo Programático

Programa detalhado:

I. Introdução ao Processamento de Linguagens:
II. Análise Léxica especificada via Gramáticas Regulares (GR); Autómatos Reactivos:
III. Análise Sintáctica especificada via Gramáticas Independentes de Contexto (GIC):
IV. Análise Semântica e Transformação (reacção) especificada via Gramáticas Tradutoras (GT) ---Tradução Dirigida pela Sintaxe:
V. Análise Semântica e Transformação (reacção) especificada via Gramáticas de Atributos (GAs) ---Tradução Dirigida pela Semântica:


Bibliografia

Material bibliográfico proposto para apoio ao curso:

1. J. A. Saraiva, "Especifica\c{c}\~{a}o e Processamento de Linguagens", versão 1.0, Textos Pedagógicos, Univ. do Minho, 1995
2. R. G. Crespo, "Processadores de Linguagens: da concepção à implementação", IST-Press, 1998
3. J.J. Almeida & J.B. Barros, "Linguagens", Notas Pedagógicas, Univ. do Minho, 1990
4. J.J. Almeida & F.J. Ferreira, "YACC"}, Notas Pedagógicas, Univ. do Minho, 1991
5. Aho & Sethi & Ullman, "Compiler Principles, Techniques and Tools", Addison-Wesley, 1986
6. Pittman & Peters, "The Art of Compiler Design: theory and pratice", Prentice-Hall, 1992
7. Waite & Carter, "An Introduction to Compiler Construction", HarperCollin College Publishers, 1993
8.Andrew W. Appel, "Modern Compiler Implementation in Java", Cambridge University Press, 1997
9. Andrew W. Appel, "Modern Compiler Implementation in C", Cambridge University Press, 1997
10. Andrew W. Appel, "Modern Compiler Implementation in ML", Cambridge University Press, 1997
11.M353 Programming and Programming Languages, "Unit 13: Compiling -- volume I", The Open University, 1994
12. M353 Programming and Programming Languages, "Unit 14: Compiling -- volume II", The Open University, 1994
13. M353 Programming and Programming Languages, "Unit 15: Compiling -- volume III", The Open University, 1994
14. B. Teufel & S. Schmidt & T. Teufel, "C2 Compiler Concepts"}, Springer-Verlag, 1993
15. R. Hunter, "Compiladores: sua concepção e programação em Pascal", Editorial Presença, Colecção Sistemas, 1986
16. J.R. Levine & T. Mason & D. Brown, "Lex & Yacc", Ed. Dale Dougherty, O'Reilly & Associates Inc., 1992
17. Manuais das ferramentas flex e yacc
18. Manuais da ferramenta LRC


Notas Pedagógicas e Material de Apoio Diverso

De momento e para além do material bibliográfico recomendado, encontram-se disponíveis os seguintes elementos:

... e a seguinte documentação diversa de apoio:


Avisos Importantes

(2004.07.29)
As notas FINAIS da Época de Recurso estão disponíveis em NOTAS. Os exames podem ser consultados a partir de 2a feira.
(2004.07.20)
As notas FINAIS da 1a Época estão disponíveis em NOTAS.
(2004.07.19)
As notas da 1a época estão disponíveis em NOTAS. Faltam lançar as notas de alguns (poucos) alunos de LESI. As notas desses alunos serão lançadas terça feira.
(2004.06.19)
A pauta com as notas dos Trabalhos Práticos é afixada na próxima 2ªf. Não se esqueçam da necessidade de obter nota prática maior ou igual a 8 para ir a exame.
(2004.06.19)
Foram incluidos nesta página (secção EXAMES) links para descarregar o PDF de exames de anos anterioes.
(2004.06.03)
Entrega electrónica do 2º Trabalho Prático: a data limite é na 2ªf (7.jun)
(2004.06.03)
Avaliação dos 2 Trabalhos Práticos: 3ªf (8.jun) e 4ªf (9jun), todo o dia, na Sala Aberta (folha de marcação com os docentes)
(2004.05.19)
Aula Prática extra --Demonstração do Sistema LRC: 6ªfeira, dia 21 de Maio, as 18h no DI-A2
(2004.03.05)
Os sumários das Teóricas já estão acessiveis e serão actualizados semanalmente.


author: prh@di.uminho.pt;
Last modified: 19 de Junho de 2004