Processamento de Linguagens I

Ano Lectivo: 04/05 (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 + 2 + 0)
José Carlos Ramalho [jcr@di.uminho.pt] (0 + 2 + 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: Para aceder (e eventualmente fazer o download) ao enunciado dos Trabalhos Práticos propostos no ano anterior, clique abaixo:

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çã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:


Fichas de Exercícios para as Aulas Teórico-Práticas

Para fazer o download do enunciado das Fichas propostas para cada aula, clique abaixo:


Avisos Importantes

(2005.07.19)
As notas práticas e os resultados dos exames da 1ª época estão disponíveis em: notas
(2005.05.02)
A apresentação presencial e defesa oral do 1º Trabalho Prático será feita nas Aulas TP da semana a seguir ao Enterro da Gata (16 a 21 de Maio).
O grupo deve comparecer completo no turno que reúna mais elementos.
Os grupos que não cheguem a ser avaliados 2ªf (por falta de tempo) entregarão no TP3, na 4ªf à tarde.
(2005.05.02)
Já está disponível o enunciado do 2º Trabalho Prático, que terá de estar pronto e ser submetido até ao dia 1 de Junho.
(2005.04.02)
AVISO para os alunos da LESI, TP3 (4ªf): para o exercício da próxima 4ªf é suposto que todos os alunos tenham resolvido os 3 problemas de Geração de Analisadores Léxicos (exercícios 2.1 a 2.3). Quem não resolveu ainda o 2.3 deve fazê-lo até à próxima aula.
(2005.04.02)
Informa-se que após vários pedidos e alguma reflexão foi decidido congelar as notas dos Trabalhos Práticos do ano passado.
Os alunos interessados nesta facilidade (não recomendada) devem avisar os docentes nas aulas e na data do exame!
(2005.04.02)
Recorda-se que na próxima 2ªf de manhã (dia 4 de Abril) os turnos TP do Prof. João Saraiva não funcionam, visto o docente estar a participar num Congresso;
as respectivas aulas de substituição foram devidamente anunciadas e dadas na tarde da passada 4ªfeira.
Qualquer aluno que não tenha podido comparecer, pode assistir a um dos turnos de 2ªf, ou 4ªf, à tarde.
(2005.03.23)
Por causa da revisão do enunciado do 1ºTP, foram acrescentados links, quer na rubrica "Trabalhos Práticos", quer na rubrica "Notas Pedagógicas e Material de Apoio".
(2005.03.23)
O enunciado do 1º Trabalho Prático foi revistos (consulte de novo, ou faça o download da versão final), para corrigir e acrescentar alguns detalhes nas Questões 2.3 e 2.4.
(2005.03.19)
Já está disponível o enunciado do 1º Trabalho Prático, que terá de estar pronto e ser submetido até ao dia 18 de Abril.
NOTA:Os grupos e respectivos membros (alunos) devem registar-se no Sistema de Submissão de Fichas e Trabalhos Práticos no decorrer da próxima semana.
(2005.03.17)
Foi decidido criar um 3º Turno Teórico-Prático à 4ªfeira das 14h-16h, alocado no laboratório 0.11, com vista a dividir o 2º Turno (de 2ªfeira às 17h).
NOTA:O turno só será mantido se na prática se confirmar que há realmente um número de alunos a frequentar as aulas que justifique a existência de 3 turnos TP (que serão sempre em Laboratório).
(2005.03.16)
Já está activo o link para o Sistema de Submissão de Fichas e Trabalhos Práticos; encontra-se acessível no item do menu principal relativo aos Trabalhos Práticos.
(2005.03.14)
Foi criado um novo item no indíce deste sítio para acesso às Folhas de Problemas (Fichas práticas) propostas para resolver nas aulas TP e em casa.
(2005.02.28)
Os sumários das Teóricas já estão acessiveis e serão actualizados semanalmente.


author: prh@di.uminho.pt;
Last modified: 2 de Maio de 2005