Buscar

Compiladores Av1 Estácio

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

06/05/2020 Estácio: Alunos
simulado.estacio.br/alunos/?user_cod=1677831&matr_integracao=201703207301 1/5
 
 
 
Disc.: COMPILADORES 
Aluno(a): VITOR HUGO BORHER Matríc.: 201703207301
Acertos: 0,1 de 0,5 04/05/2020 (Finaliz.)
 
 
Acerto: 0,1 / 0,1
 
Construa um programa em Lex que permita contar todas as
ocorrências das palavras aluno e aluna,todas as ocorrncias de
aluno e todas as ocorrências de aluna (aplicação do reject).
%%
 alun(a|o) {total++; REJECT;}
 aluna feminino++;
 aluno masculino++;
 %%
 main() {yylex();
 printf(total,feminino,masculino);}
yywrap() {return(0);}
 
 %{
 int total,feminino,masculino;
 %}
 %%
 alun(a|o) {total++; REJECT;}
 aluna feminino++;
 aluno masculino++;
 . ;
 %%
 main() {yylex();
 printf("Total:%d, Fem=%d,
Mas=%d\n",total,feminino,masculino);}
yywrap() {return(1);}
%%
 alun(a|o) total++;
 aluna feminino++;
 aluno masculino++;
 . ;
 %%
 Questão1
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
06/05/2020 Estácio: Alunos
simulado.estacio.br/alunos/?user_cod=1677831&matr_integracao=201703207301 2/5
int total,feminino,masculino;
 main() {yylex();}
 printf("Total:%d, Fem=%d, Mas=%d\n",total,feminino,masculino);
yywrap() {return(1);}
%%
 int total,feminino,masculino;
 alun(a|o) {total++; REJECT;}
 aluna feminino++;
 aluno masculino++;
 %%
 main() {yylex();
 printf("Total:%d, Fem=%d,
Mas=%d\n",total,feminino,masculino);}
yywrap() {return(0);}
%{
 int total,feminino,masculino;
 %}
%%
 aluna|aluno {total++; feminino++|masculino++; REJECT;}
 %%
 main() {yylex();
 printf("Total:%d, Fem=%d,
Mas=%d\n",total,feminino,masculino);}
yywrap() {return(1);}
 
Respondido em 04/05/2020 18:40:26
 
 
Compare com a sua resposta:
 
Acerto: 0,0 / 0,1
 
Uma das formas de se construir um analisador Léxico é utilizar autômatos finitos. Qual deveria ser a forma correta ?
Criar uma transição vazia para cada estádo de um Autômato Finito Determinístico e associar cada estado a
um Lexema diferente
Combinar Autômatos Finitos Não Determinísticos ligados a um Autômato Determinístico que resolve os
conflitos de prefixo
Combinar Automatos Finitos Determinísticos para cada prefixo conflitante dos Lexemas
 Combinar Autômatos Finitos Não Determinísticos através de um estado inicial de transição vazia.
 Utilizar Autômatos Finitos Determinísticos onde cada estado irá identificar um lexema
Respondido em 04/05/2020 18:45:47
 
 
Compare com a sua resposta:
 
Acerto: 0,0 / 0,1
 
Qual das atividades abaixo fazem parte da construção de um gerador de analisador léxico ?
Obter uma tabela de transição para os Autômatos Finitos que exclua todos os lexemas com prefixos iguais
 Indicar uma ação a ser executada para cada conjunto de prefixos iguais
Funções que são passadas pelo LEX para a entrada
Definir as ações do programa de linguagem intermediária
 Questão2
 Questão3
06/05/2020 Estácio: Alunos
simulado.estacio.br/alunos/?user_cod=1677831&matr_integracao=201703207301 3/5
 Construir uma combinação de NFAs para cada lexema através de transições vazias.
Respondido em 04/05/2020 18:59:40
 
 
Compare com a sua resposta:
 
Acerto: 0,0 / 0,1
 
Para o AFN abaixo faça o mapeamento de forma tabular
Qual das opções representa forma tabular do autômanto
 | 0 | 1 |
 ------------------------
 --> q0 | q1 | q2 |
 q1 | {qf} | --- |
 q2 | --- |{q2,qf}|
 *qf |{q1,qf}| qf |
 | 0 | 1 |
 ------------------------
 --> q0 | q1 | q1 |
 q1 | {q2} | qf |
 q2 | --- | {q1} |
 *qf | qf | qf |
 
 | 1 | 0 |
 ------------------------
 --> q0 | q1 | q2 |
 q1 | {qf} | --- |
 
 Questão4
06/05/2020 Estácio: Alunos
simulado.estacio.br/alunos/?user_cod=1677831&matr_integracao=201703207301 4/5
 q2 | --- | {qf} |
 *qf | qf | q1 |
 
 | 0 | 1 |
 ------------------------
 --> q0 | q1 | q2 |
 q1 |{q2,qf}| --- |
 q2 | --- |{q1,qf}|
 *qf | qf | qf |
 ------------------------------------------
 vv | 0 | 1 |
 ------------------------
 --> q0 | q1 | q2 |
 q1 |{q2,qf}| --- |
 q2 | --- |{q1,qf}|
 *qf | qf | qf |
Respondido em 05/05/2020 16:11:29
 
 
Compare com a sua resposta:
 
Acerto: 0,0 / 0,1
 
Na criação de um analisador léxico utilizamos combinações de NFA para cada
lexema a ser identificado e o analizador precisa começar no "LexemeBegin" mas
como ele encerra ?
 Uma variável, em geral chamada de ponteiro "Forward" vai indicando quantos estados ele já passou. Dessa
forma ele sabe que achou o prefixo mais longo.
 
A chamada da função que avança os estados retorna o prefixo com o maior tamanho.
 
O Autômato sempre encerra quando encontra o lexema de menor tamanho.
 
 O contador de lexemas indica todos os caractéres já foram comparados
 
O ponteiro "Forward" vai indicando quantos lexemas ele já passou. Dessa forma ele sabe que achou o
lexema com tamanho mais longo.
 
Respondido em 05/05/2020 16:16:53
 
 
Compare com a sua resposta:
 
 
 
 
 
 Questão5
javascript:abre_colabore('34850','190312036','3796409145');
06/05/2020 Estácio: Alunos
simulado.estacio.br/alunos/?user_cod=1677831&matr_integracao=201703207301 5/5

Continue navegando