Buscar

Prova 2 - 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

2º Prova de Construção de Compiladores
Nome: R.A.:
1- Escreva o código gerado, usando as instruções vistas em sala de aula,
para o seguinte trecho de programa. (3,0 pts)
programa test;
var a,b,c: inteiro;
funcao soma: inteiro;
var c,a: inteiro;
funcao ler: inteiro;
inicio
leia (c);
a:=10*c;
ler:=a;
fim;
procedimento loop;
var x: inteiro;
inicio
leia (x);
se se (x < 10) e ((c*10+5)>30)
entao x:=ler;
fim;
inicio
loop;
soma:= c+a;
fim;
inicio
escreva(soma)
fim.
2- Considerando os comandos abaixo:
ALLOC m, n (alocar memória)
DALLOC m, n (desalocar memória).
CALL p (chamar procedimento ou função)
RETURN (retornar procedimento)
(1,0 pts) Em quais procedimentos do analisador sintático estes comandos
são utilizados? Cite cada um deles.
(1,0 pts) De que forma os comandos alloc e dalloc resolvem o problema de
localidade de variáveis em chamadas recursivas? Dê um exemplo de um
trecho de código, e sua execução na pilha.
3- Considere a construção de um novo comando para a LPD:
<comando f_enquanto>::= faca <comandos> enquanto <expressão>
Escreva um algoritmo sintático Analisa_FacaEnquanto. Insira chamadas para
o analisador semântico e geração de código, se existirem. Podem ser
utilizados algoritmos auxiliares da análise sintática. (3,0 pts)
4- A memória M da Máquina Virtual, vista em sala de aula, pode ser
considerada como uma Pilha. Qual o benefício da utilização de expressões
(lógicas e aritméticas) no formato pos fixa em relação a essa estrutura de
dados da memória M da máquina virtual? (2,0 pts)

Continue navegando