Você está na página 1de 4

APS 1

Professor: Sérgio Assunção Monteiro


e-mail: smonteiro@unicarioca.edu.br
1. A atividade deve ser entregue individualmente no local apropriado do AVA
2. As resoluções da atividade devem ser escritas em letra legível (as resoluções não podem ser
digitadas)
3. A atividade deve conter:
1. Nome da disciplina
2. Código da Turma
3. Nome e matrícula do aluno
4. A data de entrega é até 28/09/2021.
5. Esta atividade vale 4,0 pontos na composição da nota da AV1.
6. Todas as respostas devem ser justificadas.
7. O arquivo deve estar no formato PDF
Nome da Disciplina: Compiladores
Nome do Aluno: Gabriel Mendes de Paulo | Matrícula: 2016201429
Código da Turma: 121
Considere o código abaixo escrito na linguagem C:
x = 0;
while(x < 10)
x = x + 2;
printf("o valor de x é: %i ", x);

Questão 01: (1,0 ponto) identifique os lexemas e tokens do programa através da análise
léxica.

Questão 02: (1,0 ponto) Descreva uma ou mais gramáticas que contemplem a estrutura
apresentada no código.
Program: Atribuição, Repetição, Escrever
Atribuicao -> tk_id, tk_simbolo, tk_tk_numero
Repeticao -> tk_while tk_ap tk_id1 tk_comparacao tk_numero tk_fp, block
Block -> Atribuicao
Escrever -> tk_print tk_ap tk_literal tk_id1 tk_fp
Questão 03: (1,0 ponto) Apresente a respectiva árvore sintática do programa.

Questão 04: (1,0 ponto) Traduza o programa para representação de três endereços.
1 - x := 0
2 - if x >= 10 goto 6
3 - t1 = x + 2
4 - x=t1
5 - go to 2
6-

Você também pode gostar