Prévia do material em texto
03/07/2023, 13:26 EPS
https://simulado.estacio.br/alunos/ 1/6
Disciplina: COMPILADORES AV
Aluno: MARCO AURELIO ABEL DA SILVA 202203923196
Turma: 9004
CCT0838_AV_202203923196 (AG) 07/05/2023 19:14:35 (F)
Avaliação: 10,00 pts Nota SIA: 10,00 pts
ENSINEME: ANÁLISE LÉXICA
1. Ref.: 6116822 Pontos: 1,00 / 1,00
(IFB/2017) Considerando-se a de�nição autômatos �nitos, assinale a única alternativa que contém somente cadeias
de caracteres totalmente aceitas pelo autômato �nito da �gura.
AB, ABAB, ABBAAB.
AB, ABBA, ABABAB.
AB, ABAB, ABAABA.
AB, ABAA, ABABAB.
AB, ABAB, ABABAB.
2. Ref.: 3990673 Pontos: 1,00 / 1,00
Autômatos Finitos são de�nidos por uma quíntupla (Q, , , q0, F) onde:
Q é o conjunto �nito de estados,
é o conjunto �nito de símbolos de entrada,
é a função de transição,
q0 é o estado inicial (q0 Q - o estado inicial é apontado por uma seta)
F o conjunto de estados �nais ou de aceitação ( um estado inicial também pode ser �nal).
E podem ser representados por grafos ou de forma tabular considere o seguinte grafo:
Σ δ
Σ
δ
∈
javascript:alert('C%C3%B3digo da quest%C3%A3o: 6116822.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990673.');
Rectangle
03/07/2023, 13:26 EPS
https://simulado.estacio.br/alunos/ 2/6
Qual seria a sua representação tabular?
ENSINEME: ANÁLISE SEMÂNTICA
3. Ref.: 3992182 Pontos: 1,00 / 1,00
As representações intermediárias grá�cas se prestam a representar vários aspectos analisados do programa
fonte. Cada uma delas possui características distintas e se prestam a uma determinada �nalidade.
A �gura a seguirbaixo: corresponde a que tipo de representação intermediária grá�ca?
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992182.');
03/07/2023, 13:26 EPS
https://simulado.estacio.br/alunos/ 3/6
Grafo acíclico direcionado
Arvore de Derivação
Árvore Semântica
Árvore de Derivação anotada
Grafo de Dependência
4. Ref.: 3992188 Pontos: 1,00 / 1,00
As representações intermediárias lineares são utilizadas para produzir o resultado da Análise Semântica.
As respeito destas representações analise as seguintes a�rmativas:
I. Código de máquina de pilha é um exemplo de código de um endereço
II. Códigos de um endereço utilizam nomes implícitos
III. Códigos de dois endereços não utilizam operações destrutivas.
IV. Código de três endereços possuem o formato básico r ← x op y
Estão corretas apenas as a�rmativas:
II, III e IV {ε}
I, II e IV
II e III
I, II e III
I e IV
ENSINEME: ANÁLISE SINTÁTICA
5. Ref.: 3992515 Pontos: 1,00 / 1,00
Gramáticas Livres de Contexto se prestam à de�nição de Linguagens de programação. Porém, a existência de
ambiguidade gera o problema do não determinismo para o parser, já que permite a criação de duas árvores sintáticas
distintas para o mesmo comando.
Considere as seguintes gramáticas
I - A → A + A | A − A | a
II -E → E + E | E → E * E | E → b
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992188.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992515.');
03/07/2023, 13:26 EPS
https://simulado.estacio.br/alunos/ 4/6
III - S → S + T | S → T | T → T * F | F → c
Existe ambiguidade:
Somente em I
Em II e III
Em I e II
Somente em II
Em I e III
6. Ref.: 3992530 Pontos: 1,00 / 1,00
Na implementação de Analisadores Sintáticos Descendentes Preditivo, é criada uma tabela para determinar que
produção utilizar em função do símbolo não terminal no topo da pilha e do símbolo que está sendo lido na entrada.
Para auxiliar no trabalho de criação da tabela, são de�nidos dois conjuntos o First e o Follow
Considere a seguinte gramática
X→abY|c
Y→dY|ε
Z→e
Qual seria o conjunto Follow para o não terminal X?
{a}
{b}
{ε}
{c}
{$}
ENSINEME: GERAÇÃO DE CÓDIGO
7. Ref.: 3993121 Pontos: 1,00 / 1,00
O produto �nal da etapa de síntese do compilador é o código de montagem que será submetido ao montador para
gerar o módulo objeto.
Em seu trabalho o montador deve, entre outras coisas, determinar os endereços em memória das instruções , dos
rótulos e das variáveis.
Considere o trecho de código abaixo:
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3992530.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993121.');
03/07/2023, 13:26 EPS
https://simulado.estacio.br/alunos/ 5/6
Sabendo-se que VALOR e RESULTADO tiveram seus endereços determinados nesta ordem, na tabela de símbolos
seus endereços seriam respectivamente
$1001 e $1000
$1000 e $1001
$3000 e $3001
$3001 e $3000
$1000 e $3000
8. Ref.: 7815541 Pontos: 1,00 / 1,00
(FCC/2014) Compiladores, montadores e ligadores são softwares que convertem programas de um formato de
código (entrada) para um mais próximo ao formato executável compreendido pela máquina (saída). Os ligadores
geram como saída
Programas em formato bytecode.
Bibliotecas de programas semicompilados.
Programas objeto.
Programas compilados em código intermediário, mas ainda não executáveis.
Programas executáveis em linguagem de máquina.
ENSINEME: O COMPILADOR
9. Ref.: 3990558 Pontos: 1,00 / 1,00
Considere o extrato abaixo referente a especi�cação de um linguagem de programação
::= inteiro | real | string
declaração_variavel::= [ {, } ];
::= inteiro | real | string
::= + |- | * | /
::= {L} + {L}|{D}
::= {D}+
::= {D} + [.{D}+] | .{D}
::= ´{C}´
L ::= A..Z a..z
D ::= 0..9
Se a seguinte declaração fosse escrita que tipo de erro seria gerado
Inteiro AB+, B, C
Léxico
Sintático
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7815541.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990558.');
03/07/2023, 13:26 EPS
https://simulado.estacio.br/alunos/ 6/6
Lógico
Semântico
Execução
10. Ref.: 3990551 Pontos: 1,00 / 1,00
Atualmente o JAVA passou a utilizar uma segunda fase de compilação para acelerar a execução. Está técnica
é denominada:
Montagem
JIT
Bytecode
JVM
Linkedição
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990551.');