TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Os Compiladores

Por:   •  17/6/2018  •  Pesquisas Acadêmicas  •  660 Palavras (3 Páginas)  •  241 Visualizações

Página 1 de 3

1. O que é um compilador e para que serve?

Compilador é um mecanismo que converte um código em linguagem de alto nível para linguagem de máquina, porém esse código convertido não poderá ser interpretado diretamente pelo hardware é necessário o uso do Assembler interpretador para traduzir o código convertido.

2. Defina as ferramentas para a construção de um compilador.

Geradores de Scanners: Produzem analisadores léxicos a partir de uma descrição de expressões regulares. Ex.: Lex, Flex.

Geradores de parsers: Produzem automaticamente analisadores sintáticos a partir de uma descrição da gramática da linguagem. Ex.: Bison, JavaCC.

Tradutores dirigidos por sintaxe: Produzem rotinas para manipular árvores sintáticas e gerar código intermediário.

Gerador de código: Produzem um gerador de código a partir de uma coleção de regras para traduzir cada operação da linguagem intermediária na linguagem de máquina para uma máquina alvo.

Mecanismo de análise de fluxo de dados: Coletam informações sobre como os valores são transmitidos dentro do código.

3. Defina Tabela de Símbolos. Cite os modos mais comuns para organizar e acessar as tabelas de símbolos.

É uma estrutura de dados gerada pelo computador com o objetivo de armazenar informações sobre os nomes (identificadores de variáveis, de parâmetros, de funções, de procedimentos). Ela começa a ser construída na fase léxica quando os identificadores são reconhecidos.

Modos de organizar uma tabela.:

Listas lineares mais simples

Árvores binárias

Tabela Hash

4. Quais os tipos de gramáticas segundo a hierarquia de Chomsky?

Tipos de Gramáticas:

Gramáticas irrestritas - Tipo 0

Gramáticas sensíveis ao contexto - Tipo 1

Gramáticas livres de contexto - Tipo 2

Gramáticas Regulares - Tipo 3

5. Defina:

a) Padrões: É uma descrição da forma que os lexemas de um token podem assumir. Para palavras-chave, é bem simples, exemplo, IF. Agora para identificadores e outros, o padrão é mais complexo.

b) Lexema: É uma sequência de caracteres no programa fonte que casa com o padrão para um token e é identificado pelo analisador léxico como uma instância de token.

c) Diagrama de Transição: Representa os padrões de tokens. Eles são compostos de estados e arestas. Estados representam o que sabemos a respeito daquele token (os caracteres que estão entre os ponteiros lexemeBegin e forward).

6. Dê exemplos de símbolos léxicos (tokens).

Palavras reservadas: int, char, varchar, float, bool, if, else.

Delimitadores: ponto e vírgula ( ; ).

7.

...

Baixar como (para membros premium)  txt (4.5 Kb)   pdf (48.2 Kb)   docx (12.9 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com