Buscar

Prova 1 - Construção de Compiladores

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 3 páginas

Prévia do material em texto

1º Prova de Construção de Compiladores
Nome: R.A.:
1- A linguagem L(G) = {w / w ϵ {a,b,c}* e w = anbcn+1, n>=1} pode ser obtida
através de uma Gramática Linear à Direita G?
Se a resposta for afirmativa, construa a GLD G. No caso de não ser possível
obtê-la a partir de uma GLD, destaque o motivo e apresente uma gramática
equivalente G’ que gere L(G). (3,0 pts)
2- Considere que a linguagem de programação vista em sala de aula pode
agora reconhecer comandos de definição de estruturas similares a linguagem
C:
typedef struct X
inicio
var int a;
int b;
boolean c;
fim ;
Altere a gramática da linguagem de programação LPD, e os analisadores
léxico e sintático para reconhecer este novo comando. Qualquer alteração
deve ser apresentada em pseudocódigo (não serão aceitas respostas em
linguagens de programação específicas)
Qualquer rotina já existente no léxico ou sintático pode ser chamada pelo seu
programa. (4,0 pts)
3- Explique qual a relação e para que servem expressões regulares,
autômatos finitos, tokens e lexemas em compiladores. (2,0 pts)
4- Apresente 2 exemplos diferentes de erros léxicos. (1,0 pts)

Continue navegando