Aula 1 2
AULA 1
POR: Eng.º António Pascoal
Programa da Cadeira
Introdução a compiladores
Teoria de computação e teoria das linguagens formais
Conceitos básicos
Estrutura geral do compilador
Gramaticas
Derivação e Redução
Sentenças, Forma Sentencial e Linguagem
Tipos de Gramáticas (Hierarquia de Chomsky)
Sentença Vazia
Recursividade das G.S.C.
Analisador Léxico
Linguagens regulares e expressões regulares
Autómatos finitos
Analisador Sintático
Optimização de código
8/6/2014
Eng.º António Pascoal
2
Avaliação
2 provas parcelares
1 trabalho prático
1 exame
8/6/2014
Eng.º António Pascoal
3
Bibliografia de apoio
Aho,A.V.; Sethi,R.; Ullman,J.D. Compiladores:
Princípios, Técnicas e Ferramentas - Livros
Técnicos e Científicos.
Hopcroft,J.E; Ullman,J.D. Formal Languages end their relation to Automata - Addison- Wesley
Series.
Hopcroft,J.E; Ullman,J.D. Introduction do
Automata Theory, Languages and Computation Addison-Wesley Series.
Kowaltowski,T. Implementação de Linguagens de
Programação - Ed. Guanabara Dois.
8/6/2014
Eng.º António Pascoal
4
Aula nº 1
Sumário:
Introdução a compiladores
Definição de compiladores
Teoria de computação e teoria das linguagens formais
Conceitos básicos
Estrutura geral do compilador
8/6/2014
Eng.º António Pascoal
5
Introdução a compiladores
Um compilador é um programa de sistema que traduz um programa descrito em uma linguagem de alto nível para um programa equivalente em código de máquina para um processador. Em geral, um compilador não produz directamente o código de máquina mas sim um programa em linguagem simbólica (assembly) semanticamente equivalente ao programa em linguagem de alto nível.
8/6/2014
Eng.º António Pascoal
6
Definição de compilador
Um compilador é um programa que converte uma linguagem de fácil escrita e leitura, para programadores em uma linguagem que possa ser interpretada e executada pelas máquinas.
8/6/2014
Eng.º António Pascoal
7