Compiladores
Ciência da Computação
1˚ Semestre de 2012
Profa. Marina Tachibana de Oliveira
Informações Gerais
•
Livro Adotado:
RICARTE, I. Introdução à Compilação. Campus-Elsevier, 2008.
•
Apostila:
Apostila da professora será enviada por email
•
Avaliação:
2 provas: PO1 (peso 2) e PO2 (peso 4)
•
Revisão:
Aula de revisão sempre nas vésperas das provas
2
Compiladores e Ling. Alto Nível
• Processadores não entendem estas linguagens de alto nível
• Processadores são mais eficientes na execução e código em linguagem de máquina Linguagem
Alto Nível
Compiladores
Linguagem de Máquina
3
Estrutura Interna do Compilador
Análise
Síntese
Arquivo
Origem
Arquivo
Destino
Gramáticas
Estruturas
Internas
4
Análise Léxica
• Identificação, a partir dos caracteres individuais, dos símbolos básicos válidos para a linguagem • Exemplos:
–
–
–
–
Nome dos comandos
Nome das variáveis
Nome das funções
Delimitadores
5
Autômatos Finitos e Tabela de
Transições [5]
1
si
1
sn
0
0
sa
Autômato recebe string binária, composta pelos símbolos 0 e 1
Deve reconhecer se a string termina com o símbolo 0
00
01
10
11
0
Si
Sn
Sa
0
Sa
Sa
Sa
1
Sn
Sn
-
Estado inicial: Si
Estado final: Sa
6
Referências Parte I
•
Bibliografia Básica:
[1] AHO, ALFRED V.; SETHI, R.; ULLMAN, J. D.. Compiladores – Princípios,
Técnicas e Ferramentas, 2a Ed. Ed. Longman, 2007.
[2] RICARTE, I. Introdução à Compilação. Campus-Elsevier, 2008.
[3] LOUDEN, KENNETH C., Compiladores Princípios e Práticas. Tradutor: Silva,
Flavio Soares Correa D. Ed. Thomson Pioneira,1ª Edição - 2004.
•
Bibliografia Complementar:
[4] SANCHEZ G. Y. VALVERDE. Compiladores e Interpretantes. DIAZ DE
SANTOS, 1989.
[5] TOSCANI, S.; Price, A. Implementação de Linguagens de Programação –
Compiladores. 3ª Ed. Editora Artmed, 2008.
[6] MENEZES, P. Linguagens Formais e