UPE Caruaru Sistemas de Informao Disciplina Compiladores Prof
- Slides: 26
UPE – Caruaru – Sistemas de Informação Disciplina: Compiladores Prof. : Paulemir G. Campos Aspectos e Ferramentas para a Construção de Compiladores (Parte 1) 12/17/2021 Comp - Prof. Paulemir Campos 1
Roteiro da Aula n n n Agrupamentos de Fases Ferramentas para a Construção de Compiladores Referências 12/17/2021 Comp - Prof. Paulemir Campos 2
Agrupamentos de Fases 12/17/2021 Comp - Prof. Paulemir Campos 3
Introdução n n Até o momento, foi discutida a organização lógica de um compilador. Durante a construção de um compilador, a ativação de uma ou mais fases podem ser agrupadas juntas. 12/17/2021 Comp - Prof. Paulemir Campos 4
Compilador Front End n n Consiste do agrupamento de fases ou partes de fases que dependem primariamente da linguagem fonte. São grandemente independentes do código de máquina. 12/17/2021 Comp - Prof. Paulemir Campos 5
Compilador Front End n Normalmente incluem: n n n 12/17/2021 as análises léxica, sintática e semântica; a criação da tabela de símbolos; e, a geração do código intermediário. Comp - Prof. Paulemir Campos 6
Compilador Front End n Também podem incluir: n n 12/17/2021 otimização do código intermediário; e, manipulação dos erros que surgem ao longo de cada fase da compilação. Comp - Prof. Paulemir Campos 7
Compilador Back End n n É formado pelas partes de um compilador que dependem do código de máquina. Geralmente, essas fases não dependem da linguagem fonte, mas, da linguagem intermediária. 12/17/2021 Comp - Prof. Paulemir Campos 8
Compilador Back End n Normalmente incluem: n n n 12/17/2021 otimização de código intermediário; geração de código; e, operações de manipulação de erros e da tabela de símbolos necessárias. Comp - Prof. Paulemir Campos 9
Considerações n Note, com o agrupamento de fases, é possível produzir um compilador front end e vários compiladores back end, de modo que: n 12/17/2021 Obtém-se um compilador resultante de uma mesma linguagem fonte para diferentes máquinas. Comp - Prof. Paulemir Campos 10
Considerações n Por outro lado, pode-se construir vários compiladores front end e um único compilador back end, de forma que: n 12/17/2021 Seja possível compilar várias linguagens fontes diferentes para uma única máquina. Comp - Prof. Paulemir Campos 11
Ferramentas para a Construção de Compiladores 12/17/2021 Comp - Prof. Paulemir Campos 12
Introdução n Na escrita de um compilador, como qualquer programa, pode-se vantajosamente usar ferramentas de software, como: n n 12/17/2021 debuggers; gerenciadores de versão, etc; Comp - Prof. Paulemir Campos 13
Introdução n n Em resumo, depois que o primeiro compilador foi escrito, sistemas ou ferramentas para ajudar no processo de escrita de compiladores apareceram. Alguns desses sistemas são: n n n 12/17/2021 compiladores de compilador; geradores de compilador; e, ferramenta de escrita de tradutor. Comp - Prof. Paulemir Campos 14
Introdução n n Por outro lado, essas ferramentas podem ser orientadas por um modelo particular de linguagens; Assim, são muito úteis para gerar compiladores de linguagem similares. 12/17/2021 Comp - Prof. Paulemir Campos 15
Introdução n Exemplo: n n 12/17/2021 Supondo que o analisador léxico para todas as linguagens é essencialmente o mesmo, exceto pelas palavras reservadas e alguns símbolos, muitos compiladores de compilador executam esta etapa para a geração do compilador. Neste caso, a lista de palavras reservadas é fornecida a parte pelo usuário. Comp - Prof. Paulemir Campos 16
Introdução n Algumas ferramentas gerais também foram criadas para projeto automático de específicos componentes de um compilador. 12/17/2021 Comp - Prof. Paulemir Campos 17
Introdução n As ferramentas mais úteis são aquelas que ocultam detalhes do algoritmo de geração e produzem componentes facilmente integráveis as demais fases do compilador. 12/17/2021 Comp - Prof. Paulemir Campos 18
Introdução n Dentre estas ferramentas, destacam-se: n n n 12/17/2021 Geradores de Análise Sintática; Geradores Léxicos; Tradutores Dirigidos à Sintaxe; Geradores de Código Automático; Analisadores de Fluxo de Dados. Comp - Prof. Paulemir Campos 19
Geradores de Análise Sintática n n Produzem analisadores sintáticos, normalmente de uma entrada baseada em gramática livre de contexto. Nos primeiros compiladores, análise sintática consumia: n n 12/17/2021 grande parte do tempo de compilação; e, muito esforço intelectual. Comp - Prof. Paulemir Campos 20
Geradores de Análise Sintática n Atualmente, esta fase é uma das mais fáceis de implementar, principalmente utilizando geradores de análise sintática ou geradores de parser. 12/17/2021 Comp - Prof. Paulemir Campos 21
Geradores Léxicos n n Geram automaticamente analisadores léxicos, normalmente a partir de uma especificação baseada em expressões regulares. A organização básica do resultado de um analisador léxico é fornecido por um autômato finito. 12/17/2021 Comp - Prof. Paulemir Campos 22
Tradutores Dirigidos à Sintaxe n n Estas ferrramentas produzem coleções de rotinas que caminham pela árvore de análise sintática, gerando o código intermediário. A idéia básica é que cada “tradução” é definida em termos dos nós vizinhos na árvore. 12/17/2021 Comp - Prof. Paulemir Campos 23
Geradores de Código Automático n Cada uma dessas ferramentas lida com uma coleção de regras que definem a tradução de cada operação da linguagem intermediária numa determinada linguagem de máquina. 12/17/2021 Comp - Prof. Paulemir Campos 24
Analisadores de Fluxo de Dados n n Muitas das informações necessárias para uma boa execução da otimização de código envolve análise do fluxo de dados. Assim, essa ferramenta auxilia no processo de juntar informações de como valores são transmitidos de uma parte a outra do programa. 12/17/2021 Comp - Prof. Paulemir Campos 25
Referências n Aho, A. V. ; Sethi, R. e Ullman, J. D. Compilers: Principles, Techniques, and Tools. Addison Wesley Longman, 1985. (Capítulo 1, seções 1. 5 e 1. 6). 12/17/2021 Comp - Prof. Paulemir Campos 26
- Gramáticas libres de contexto (glc)
- Curso de compiladores
- Compilador
- Expresiones regulares en compiladores
- Compiladores
- Upe 2017
- Percebem-se na fala de susanita aspectos preconceituosos
- Australijos augalija
- Upe 2a
- Upynas savoka
- Regras de nomenclatura dos seres vivos
- Upe a vendedora de roupas
- Ouvidoria pedro ernesto
- Casnav
- Numa competição esportiva cinco atletas
- Kuri afrikos upė vandeningiausia
- Etapa adisciplinar
- O que é a vara da disciplina
- Imagens da disciplina de português
- Disciplina teletransmitida
- El orden y la disciplina
- Definición de disciplina
- La vara de la disciplina
- Disciplina
- Pensamiento sistemico quinta disciplina
- Disciplina externa
- Upravljanje razredom