Baixe o app para aproveitar ainda mais
Prévia do material em texto
01/06/2020 Estácio: Alunos simulado.estacio.br 1/4 Disc.: COMPILADORES Aluno(a): EDUARDO HENRIQUE NARCISO DOS SANTOS Matríc.: 201602842388 Acertos: 0,3 de 0,5 07/05/2020 (Finaliz.) Acerto: 0,0 / 0,1 Árvores sintáticas servem para: Normalmente são criadas pelo analisador sintático. Comunicação entre o Analisador léxico e o gerador de código intermediário Normalmente são criadas pelo analisador léxico. Podem ser usadas como estruturas intermediárias entre o analisador sintático e o analisador semântico comunicação entre o Analisador sintático e o Analisador léxico Respondido em 07/05/2020 20:38:27 Compare com a sua resposta: Acerto: 0,0 / 0,1 Construa um programa Lex que conte o número de ocorrências da palavra she e he num determinado texto de entrada. %{ int s,h; %} %% she {s++; REJECT;} he {h++; REJECT;} . ; %% main() { yylex(); printf("Senhoras:%d",s); printf("Senhores:%d",h);} } %% Questão1 Questão2 http://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); 01/06/2020 Estácio: Alunos simulado.estacio.br 2/4 int s,h; she {s++; REJECT;} he {h++;} . ; %% main() {yylex(); printf("Senhoras:%d",s); printf("Senhores:%d",h);} yywrap() {return(1);} %{ int s,h; %} %% she {s++; REJECT;} he {h++;} . ; %% main() {yylex(); printf("Senhoras:%d",s); printf("Senhores:%d",h);} yywrap() {return(1);} %{ int s,h; printf("Senhoras:%d",s); printf("Senhores:%d",h); %} %% she {s++; REJECT;} he {h++;} %% main() {yylex();} yywrap() {return(1);} %% she|he {s++;h++ REJECT;} %% int s,h; main() {yylex(); printf("Senhoras:%d",s); printf("Senhores:%d",h);} yywrap() {return(1);} Respondido em 07/05/2020 20:37:53 Compare com a sua resposta: Acerto: 0,1 / 0,1 A identificação e o tratamento de erros em programas de computador estão entre as tarefas dos compiladores. Os erros de um programa podem ter variados tipos e precisam ser identificados e tratados em diferentes fases da compilação. Considere uma linguagem de programação que exige que as variáveis manipuladas por seus programas sejam previamente declaradas, não podendo haver duplicidade de identificadores para variáveis em um mesmo escopo. Considere, ainda, que a sintaxe dessa linguagem tenha sido definida por meio de Questão3 01/06/2020 Estácio: Alunos simulado.estacio.br 3/4 uma gramática livre de contexto e as produções seguintes definam a forma das declarações de variáveis em seus programas. D → TL; | TL; D T → int | real | char L → id | id,L Considere os exemplos de sentenças ¿ I e II ¿ a seguir, com a indicação ¿ entre os delimitadores /* e */ ¿ de diferentes tipos de erros. I int: a, b; /* dois pontos após a palavra int */ II int a,b; real a; /* declaração dupla da variável a */ A partir dessas informações, assinale a opção correta. O compilador não tem meios para identificar e relatar erros como o da sentença I. A identificação e a comunicação do erro na sentença II são funções do analisador léxico. A identificação e a comunicação do erro na sentença I são funções da geração de código intermediário. A identificação e a comunicação do erro em qualquer uma das sentenças são funções do analisador léxico. A identificação e a comunicação do erro na sentença II são funções da análise semântica. Respondido em 07/05/2020 19:48:09 Compare com a sua resposta: Acerto: 0,1 / 0,1 A expressão [A-Za-z]+: Define ma seqüência de zero ou mais repetições da seqüência de caracteres ¿A-Za-z¿ Define uma seqüência de zero ou mais letras maiúsculas ou minúsculas Define uma seqüência de um ou mais letras maiúsculas ou minúsculas É equivalente à expressão [A-Za-z][A-Za-z]* É uma expressão regular Respondido em 07/05/2020 19:42:35 Compare com a sua resposta: Acerto: 0,1 / 0,1 Na gram atica a seguir os não-terminais estão em mai usculas e os terminais em minusculas, todos separados por espacos (estilo BNF): PROGRAMA -> begin LISTACMD end LISTACMD -> LISTACMD CMD | CMD CMD -> do id := num to num begin LISTACMD end | read id | write EXP | id := EXP EXP -> EXP + EXP | EXP - EXP | num | id | ( EXP ) Qual a principal razão para essa gramática não ser LL(1)? Somente a recursão à esquerda Somente a recursão a direita Recursão a direita preditiva Recursão à esquerda ou ambiguidade. Ambiguidade Respondido em 07/05/2020 19:43:42 Questão4 Questão5 01/06/2020 Estácio: Alunos simulado.estacio.br 4/4 Compare com a sua resposta: javascript:abre_colabore('34442','188002871','3749005168');
Compartilhar