Compiladores
This presentation is the property of its rightful owner.
Sponsored Links
1 / 16

Compiladores PowerPoint PPT Presentation


  • 69 Views
  • Uploaded on
  • Presentation posted in: General

Compiladores. Prof. Guilherme Alexandre Monteiro Reinaldo Recife. Apresentação do Professor. Graduado em Ciência da Computação – UFPE, 2005.2 Mestre em Ciência da Computação – UFPE, 2009 Servidor Público – ATI (Agência de Tecnologia da Informação)

Download Presentation

Compiladores

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Compiladores

Compiladores

Prof. Guilherme Alexandre Monteiro Reinaldo

Recife


Apresenta o do professor

Apresentação do Professor

  • Graduado em Ciência da Computação – UFPE, 2005.2

  • Mestre em Ciência da Computação – UFPE, 2009

  • Servidor Público – ATI (Agência de Tecnologia da Informação)

  • Experiência como Professor em outras instituições:

    • FAFICA (Faculdade de Filosofia, Ciências e Letras de Caruaru)

    • Pós-Graduação – FG, FAFIRE, ESTÁCIO, FMR

    • Núcleo de EAD – UFRPE (Licenciatura em Computação)

    • CEFOSPE (Centro de Formação de Servidores do Estado)

  • Cordelista (Escritor e Declamador de Cordel)


Contatos

Contatos

  • Prof. Guilherme Alexandre Monteiro Reinaldo

  • Apelido: Alexandre Cordel

  • E-mail/gtalk: [email protected]

    [email protected]

  • Site: http://www.alexandrecordel.com.br/fbv

  • Celular: (81) 9801-1878


Roteiro

Roteiro

  • Acordo de Convivência

  • Plano de Ensino

    • Competência

    • Habilidades

    • Bases Tecnológicas

    • Metodologia de Ensino e Aprendizagem

    • Metodologia de Avaliação

    • Bibliografia

  • Compiladores


Acordo de conviv ncia

Acordo de Convivência

  • Celular no silencioso e sair para atender

  • Horário: 19:00h às 22:00h (±10min de tolerância)

  • Presença/participação em aulas (valerão nota)

  • Haverá exercícios/projetos valendo nota

  • Faltas em aulas (não justificadas)

  • Intervalo (~20:30h)

  • Provas (subjetivas)

  • Momentos Relax (descontração)


Plano de ensino

Plano de Ensino

  • EMENTA:

    • Conceitos básicos sobre compiladores e interpretadores.

    • Arquitetura básica de um compilador.

    • Análise léxica.

    • Expressões regulares.

    • Tabela de símbolos.

    • Análise sintática.

    • Grafo sintático.

    • Implementação de um analisador sintático. Representação intermediária.

    • Análise e semântica. Geração de código. Otimização de código.


Plano de ensino1

Plano de Ensino

  • OBJETIVOS:

    • Conhecer os diferentes tipos de tradutores de linguagens;

    • Conhecer a estrutura de um tradutor - compilador;

    • Compreender o funcionamento de um Analisador Léxico;

    • Saber especificar, formalizar e implementar Analisadores Léxicos;

    • Compreender o funcionamento de diferentes técnicas de análise sintática;

    • Saber especificar, formalizar e implementar Analisadores Sintáticos.

    • Conhecer os métodos de tradução dirigida por sintaxe;

    • Conhecer aspectos teóricos da geração de código intermediário, otimização e geração de código;

    • Implementar um tradutor simples de linguagens, desde a sua especificação até codificação.


Plano de ensino2

Plano de Ensino

  • OBJETIVOS:

    • Ao final do semestre o aluno será capaz de construir tradutores de linguagens de programação, a partir da base teórica na disciplina de linguagens formais e autômatos e dos conhecimentos desta disciplina.

    • Como forma de possibilitar uma maior compreensão desses conceitos e do processo de construção de um tradutor, os alunos devem construir um tradutor simples em conjunto com outros alunos.


Plano de ensino3

Plano de Ensino

  • CONTEÚDO:

    1.Entrega do plano de aula e Apresentação dos objetivos da disciplina.

    2.Introdução: Processadores de linguagem, Estrutura de um compilador, Evolução das linguagens.

    3.Análise léxica: Introdução, Tokens, Expressões regulares, Implementação, Tabela de símbolos.

    4.Análise léxica: Projeto de um analisador léxico.

    5.Análise sintática: Gramáticas livres de contexto, Análise sintática descendente.

    6.Análise sintática: Análise ascendente.


Plano de ensino4

Plano de Ensino

  • CONTEÚDO:

    7.Análise sintática: Análise LR.

    8.Análise sintática: Projeto de um analisador sintático.

    9.Análise semântica: Esquemas de tradução dirigida por sintaxe, Árvores de sintaxe.

    10.Geração de código: Linguagens Intermediárias, Geração de código para declarações, expressões e atribuições.

    11.Geração de código: Geração de código para expressões lógicas, comandos condicionais e iterativos.

    12.Otimização de Código, Dificuldades com Otimização.

    13.Acompanhamento do desenvolvimento dos projetos.

    14.Apresentação de projetos.


Plano de ensino5

Plano de Ensino

  • METODOLOGIA DE ENSINO APRENDIZAGEM:

    Como estratégias de ensino e aprendizagem, estão previstas as seguintes:

    • Aulas expositivas/dialogadas;

    • Exercícios e Projetos;

    • Trabalho em grupo;


Plano de ensino6

Plano de Ensino

  • METODOLOGIA DE AVALIAÇÃO:

    Como estratégias de avaliação do processo de ensino/aprendizagem, estão previstas as seguintes:

    • Prova escrita;

    • Trabalhos/Projetos em grupo;

    • Exercícios;

    • Verificação da assiduidade e participação em aula.


Plano de ensino7

Plano de Ensino

  • BIBLIOGRAFIA BÁSICA:

    1. AHO, A., LAM, M. S., SETHI, R., ULLMAN, J. D., Compiladores: princípios, técnicas e ferramentas. Ed. Addison Wesley. 2a Edição, 2008.

    2. PRICE, A., TOSCANI, S., Implementação de Linguagens de Programação: Compiladores. Série Livros Didáticos UFRGS, Bookman, 3a Edição, 2008.

    3. MKENNETH C. LOUDEN, Compiladores: Princípios e Práticas. Ed. Cengage Learning, 1a Edição, 2004.


Plano de ensino8

Plano de Ensino

  • BIBLIOGRAFIA COMPLEMENTAR:

    1. APPEL, A. W., PALSBERG, J., ModernCompilerImplementation in Java, Cambridge University Press, 2a Edição, 2002.

    2. WATT, D., BROWN, D., ProgrammingLanguage Processors in Java, Prentice Hall, 2000.

    3. LEWIS, H. R., PAPADIMITRIOU, C. H., Elementos de Teoria da Computação. 2a Edição. Ed. Bookman, 2004.

    4. TENEMBAUM, A. M., Estrutura de Dados Usando C. Makron Books do Brasil, 1995.

    5. DEITEL, H.M., DEITEL, P.J., Java Como Programar, Editora Bookman, 2005


Compiladores1

Compiladores

  • O que é um COMPILADOR?

  • Um compilador é um programa de computador (ou um grupo de programas) que, a partir de um código fonte escrito em uma linguagem compilada, cria um programa semanticamente equivalente, porém escrito em outra linguagem, código objeto.

TRADUTOR

BAIXO NÍVEL

ALTO NÍVEL

MENSAGENS DE ERRO


Refer ncias

Referências

AHO, A., LAM, M. S., SETHI, R., ULLMAN, J. D., Compiladores: princípios, técnicas e ferramentas. Ed. Addison Wesley. 2a Edição, 2008.


  • Login