Buscar

compiladores 3

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

UNIVERSIDADE DO ESTADO DE MATO GROSSO
CAMPUS UNIVERSITÁRIO DE ALTO ARAGUAIA
CURSO DE CIÊNCIA DA COMPUTAÇÃO
FACULDADE DE LETRAS, CIÊNCIAS SOCIAIS E TECNOLÓGICAS
Disciplina: Compiladores
Docente: Áurea Valéria Pereira da Silva
Discente:
Exercícios de análise sintática 
1 O que é um autônomo finito? Qual é sua importância para o processo de compilação? Existem outros reconhecedores de tokens no processo de compilação?
Um Autômato Finito (AF) é o tipo mais simples de reconhecedor de linguagens. Autômatos finitos são usados com vantagens na compilação porquê: Eles têm a capacidade de realizar várias tarefas simples de compilação. Em particular, o projeto do bloco léxico pode ser feito baseado em um autômato finite.
2 Faça Árvores de derivação com a seguinte regra de produção:
S→A B | B A
A ->a A | a 
B->b B | b
 para as cadeias
a aaaaabbb
b bbbbbbaa
c bba
d ab
3 Dada a gramática seguinte, construa os procedimentos ASD que reconheça a cadeia: abcddaaa
<S> ::= <A><S> | <B><A>
<A> ::= a<B> | <C>| a
<B> ::= b<A> | d <S> | d a
<C> ::= c
4 Considere a gramática: 
S → cAd 
A → ab | b 
Para a cadeia w = cbd construa o passo a passo de uma árvore utilizando o conceito de ASD com retrocesso 
5.	Seja a seguinte linguagem, onde ϵ representa a sentença vazia
S → AB|CD
A → a|ϵ
B→ b|f
C→ c|g
D→ h|i
Qual o conjunto de terminais que podem começar sentenças derivadas de S?
	a) {a,c,g}
	b) {a,b,f,c,g}
	c) {a,b,f,c,g,h,i}
	d) {a,c,g,h,i}
	e) {a,b,f}
RESPOSTAS CORRETAS.
6 Árvores sintáticas servem para:
	a) comunicação entre o Analisador sintático e o Analisador léxico 
	b) Podem ser usadas como estruturas intermediárias entre o analisador sintático e o analisador semântico 
	c) Normalmente são criadas pelo analisador sintático.
	d) Normalmente são criadas pelo analisador léxico.
	e) comunicação entre o Analisador léxico e o gerador de código intermediário 
7 Escreva uma gramática para cada uma das linguagens abaixo :
a) L(G1 ) = {w/w ∈ {a, b, c} * e w = a b n c, n ≥ 0} 
	b) L(G2 ) = {w/w ∈ {0, 1} * e w = 0 m 1 n , m ≥ n ≥ 1} 
8 Seja a gramática abaixo : 
	G = ({E}, {a, b, +, *, (, ) }, P, E) 
	P : E → E * E | E + E | (E) | a | b 
construa uma Árvores de Derivação para a sentença (a+b)*a

Continue navegando