Buscar

Compiladores Exercicios

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Exercícios Compiladores 
 
1) O que significa o termo linguagem de programação de alto nível? 
Linguagem de alto nível é aquela cuja sintaxe é voltada para o entendimento 
humano. 
2) Quais as características das linguagens de programação de baixo 
nível? 
As linguagens de baixo nível tem instruções diretas ao processador, sendo 
assim mais próximas da linguagem da máquina. 
3) Quais as características das linguagens de programação de alto nível? 
É uma linguagem muito mais intuitivo, amigável e mais fácil de aprender, 
principalmente para iniciantes na área de programação. 
4) O que vem a ser sintaxe? Dê um exemplo. 
Sintaxe refere-se às regras que regem a composição de textos com 
significado em uma linguagem formal, tal como uma linguagem de programação, 
isto é, os textos para os quais faz sentido definir a semântica ou significado, ou 
fornecer uma interpretação. 
5) O que vem a ser semântica? Dê um exemplo. 
A semântica trata da análise do significado das expressões, das instruções e 
das unidades de programa. A semântica é importante para que os programadores 
saibam precisamente o que as instruções de uma linguagem fazem. – Descreve o 
significado de um programa ao executar suas instruções em uma máquina, real ou 
simulada. 
6) O que são as restrições contextuais? 
Restrições informam o compilador sobre as funcionalidades que um 
argumento de tipo deve ter. Sem nenhuma restrição, o argumento de tipo poderia 
ser qualquer tipo. 
7) Dada as expressões a seguir, coloque-as no formato da análise léxica, com 
identificadores e tokens: 
 a) soma = a + b; 
‘soma’, ‘a’, ‘b’, ‘;’ 
 b) pot = a * a; 
‘pot’, ‘a’, ‘;’ 
 c) x = a + b * c / (2³) 
‘a’, ‘b’, ‘c’, ‘2’, ‘³’ 
8) O que são símbolos terminais e não terminais? Dê exemplos. 
São os elementos léxicos usados na especificação das regras de produção 
que constituem uma gramática formal. Os terminais e não terminais de uma 
gramática particular são dois conjuntos disjuntos. 
9) Quais são os Elementos das gramáticas livres de contexto? 
As gramáticas livres de contexto são usadas para definir linguagens de 
programação bem como os seus compiladores. Os elementos básicos que formam 
as regras da gramática são os símbolos terminais, formados por elementos de um 
alfabeto Σ, e os símbolos não-terminais, comumente chamados de variáveis. 
10) Qual o objetivo da análise léxica? 
A análise léxica também conhecida como scanner ou leitura é a primeira fase 
de um processo de compilação e sua função é fazer a leitura do programa fonte, 
caractere a caractere, agrupar os caracteres em lexemas e produzir uma sequência 
de símbolos léxicos conhecidos como tokens. 
11) Desenvolva as árvores de derivação das expressões a seguir: 
 a) soma = a + b; 
 
 b) pot = a * a; 
 
 c) x = a + b * c / (2³) 
 
 d) a = b² * c² / d³ 
 
12) O que são: 
 a) Gramaticas Ambíguas 
Em ciência da computação, uma gramática livre de contexto é dita ser uma 
gramática ambígua se existe uma cadeia que pode ser gerada pela gramática em 
mais de um caminho (ou seja, a cadeia admite mais de uma árvore sintática ou, 
equivalentemente, mais de uma derivação mais à esquerda). 
 b) Precedência (apresente exemplos) 
A precedência de operadores determina a ordem em que os operadores são 
processados. Operadores com maior precedência são processados primeiro. O 
operador de multiplicação (" * ") tem maior precedência que o operador de adição (" 
+ ") e por isso será executado primeiro. 
13) O que são GLC? 
Uma GLC é dita uma gramática ambígua se existe uma palavra que possui 
duas ou mais árvores de derivação. 
14) Quem cria as restrições de uma GLC? Explique. 
As GLC permitem impor restrições adicionais àquelas que se podem construir 
em gramáticas regulares, podendo assim caracterizar subconjuntos das linguagens 
regulares que façam o uso da propriedade determinada pelos aninhamentos 
sintáticos. Dessa forma, as GLC tornam-se muito úteis para a especificação de 
linguagens de programação, a maioria das quais exige aninhamentos sintáticos. 
 
 
 
NOME: Gustavo Rangel Almeida Soares 
RA: 110478 
 
	Exercícios Compiladores

Continue navegando