Prévia do material em texto
Impresso por Rodrigo Hemrique, E-mail rodrigohemrique71@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 22/09/2025, 22:05:30 • Pergunta 1 0,5 em 0,5 pontos Considere as seguintes armações: I. Compiladores traduzem todo o código-fonte para código de máquina de uma só vez, gerando um arquivo executável, que pode ser executado repedamente sem a necessidade de nova tradução. II. Interpretadores traduzem e executam o código linha por linha, e, portanto, sempre que o programa for executado, ele precisa ser novamente interpretado. III. Atualmente a estratégia de interpretação está em desuso. Está correto o que se arma em: Resposta Selecionada: a. I e II, apenas. Respostas: a. I e II, apenas. b. I e III, apenas. c. II e III, apenas. d. I, II e III. e. I, apenas. Comentário da resposta: Resposta: A Comentário: As asserções I e II denem compiladores e interpretadores, respecvamente. A linguagem Java é hibrida, ou seja, é compilada para bytecode, porém, interpretada para código de máquina e, portanto, faz uso do conceito de interpretação. Impresso por Rodrigo Hemrique, E-mail rodrigohemrique71@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 22/09/2025, 22:05:30 • Pergunta 2 0,5 em 0,5 pontos Assinalar a alternava correta: Resposta Selecionada: a. A análise léxica tem como principal funcionalidade ler o uxo de caracteres que compõem o programa fonte e os agrupa em sequências signicavas, chamadas lexemas. Respostas: a. A análise léxica tem como principal funcionalidade ler o uxo de caracteres que compõem o programa fonte e os agrupa em sequências signicavas, chamadas lexemas. b. O analisador léxico do compilador recebe como entrada os tokens e cria uma representação intermediária da sequência de tokens a parr de um conjunto de regras. c. Na análise sintáca são realizadas vericações a m de assegurar que os componentes do programa estão agrupados corretamente de acordo com a semânca da linguagem. d. Códigos de três endereços são exemplos de código objeto. e. Pilhas são exemplos de código objeto. Comentário da resposta: Resposta: A Comentário: A denição correta de análise léxica é a que se apresenta na alternava a). Na alternava b) é denido analisador sintáco em vez de léxico. Na alternava c) é denida análise semânca em vez de análise sintáca. Códigos de três endereços são códigos intermediários e não código Impresso por Rodrigo Hemrique, E-mail rodrigohemrique71@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 22/09/2025, 22:05:30 objeto. Pilhas não são código objeto e sim estratégia de organização da memória. • Pergunta 3 0,5 em 0,5 pontos Assinale a alternava incorreta: Resposta Selecionada: e. Gramácas livres de contexto são disposivos aceitadores da sintaxe das linguagens de programação. Respostas: a. Gramácas regulares são disposivos geradores das linguagens regulares. b. Autômatos nitos são disposivos reconhecedores das linguagens regulares. c. Padrões de tokens podem ser especicados por expressões regulares. d. Gramácas de atributos são empregadas na análise semânca do compilador. e. Gramácas livres de contexto são disposivos aceitadores da sintaxe das linguagens de programação. Comentário da resposta: Resposta: E Comentário: Diz-se que as gramácas são disposivos geradores de uma linguagem. Os compiladores empregam regras de gramácas livres de contexto e a parr destas gera a árvore de derivação durante a análise sintáca. • Pergunta 4 Impresso por Rodrigo Hemrique, E-mail rodrigohemrique71@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 22/09/2025, 22:05:30 0,5 em 0,5 pontos Considere as seguintes asserções: I. Os autômatos nitos são estruturas formais pernentes aos disposivos reconhecedores das linguagens regulares. PORQUE II. Os diagramas de estado representam gracamente qualquer autômato nito e consequentemente qualquer linguagem regular. Assinale a alternava correta: Resposta Selecionada: b. I e II são verdadeiras, mas II não jusca I. Respostas: a. I e II são verdadeiras e II jusca I. b. I e II são verdadeiras, mas II não jusca I. c. Apenas I é verdadeira. d. Apenas II é verdadeira. e. I e II são falsas. Comentário da resposta: Resposta: B Comentário: Embora ambas as armações sejam verdadeiras, o fato de diagramas de estado representarem autômatos nitos não jusca diretamente que autômatos nitos são reconhecedores de linguagens regulares. Em vez disso, os diagramas de estado são empregados também em modelagem de sistemas, são usados para descrever o comportamento de sistemas embarcados etc. • Pergunta 5 Impresso por Rodrigo Hemrique, E-mail rodrigohemrique71@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 22/09/2025, 22:05:30 0,5 em 0,5 pontos Cadeias de letras, dígitos e sublinhados constuem os idencadores da linguagem C. Considere as seguintes denições regulares: I. letra_ → [A-Za-z_] II. digito → [0-9] III. id → letra_(letra|digito)* Assinale a alternava que apresenta uma armação falsa: Resposta Selecionada: d. A cadeia 0a_x apresenta o padrão especicado pela denição id → letra_(letra|digito)*. Respostas: a. A denição regular letra_ → [A- -z_] dene que uma Za letra_ pode ser qualquer letra ou mesmo o símbolo “_”. b. A denição de dígito no item II é abreviação da digito → 0 | 1 |2 | 3 | 4 | 5 | 6 | 7 | 8 | 9. c. A cadeia a0_x apresenta o padrão especicado pela denição id → letra_(letra|digito)*. d. A cadeia 0a_x apresenta o padrão especicado pela denição id → letra_(letra|digito)*. e. A cadeia 0a_x0 apresenta o padrão especicado pela denição id → letra_(letra|digito)*. Comentário da resposta: Resposta: D Comentário: A denição id → letra_(letra|digito)* especica que o primeiro símbolo de um id deve ser obrigatoriamente Impresso por Rodrigo Hemrique, E-mail rodrigohemrique71@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 22/09/2025, 22:05:30 uma letra_, ou seja qualquer letra maiúscula ou minúscula ou mesmo um símbolo “_”. • Pergunta 6 0,5 em 0,5 pontos Assinale a alternava correta: Resposta Selecionada: b. Para tokens da classe constante inteira, o valor do token pode ser o número inteiro representado pela constante. Respostas: a. Todos os tokens têm valor associado. b. Para tokens da classe constante inteira, o valor do token pode ser o número inteiro representado pela constante. c. Os compiladores modernos não atribuem valor aos tokens. d. O analisador léxico não pode realizar ações que não sejam aquelas de classicar a sequência de caracteres em tokens. e. Não há como especicar formalmente os tokens, pois se trata de um aspecto dependente de contexto das linguagens de programação. Comentário da resposta: Resposta: B Comentário: Uma das ações auxiliares do analisador léxico é atribuir o valor numérico às constantes inteiras ou reais. Tão logo um token seja idencado, seu valor também é armazenado. • Pergunta 7 0,5 em 0,5 pontos Impresso por Rodrigo Hemrique, E-mail rodrigohemrique71@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 22/09/2025, 22:05:30 Considere uma linguagem de programação em que a sintaxe de uma operação aritméca seja dada pela seguinte gramáca: S → var = E; | var = E; S E → E + E | E - E | E * E | E/E | E(E)| var. Assinale a alternava correta: Resposta Selecionada: d. A gramáca presente no enunciado é livre de contexto. Respostas: a. A detecção de erro em uma sentença gerada por esta gramáca está fora do escopo da análise sintáca. b. A gramáca presente no enunciado é regular. c. A detecção de erro em uma sentença gerada por esta gramáca está no escopo da análise semânca. d. A gramáca presente no enunciado é livre de contexto. e. A gramáca presente no enunciado é denominada gramáca de atributos aritmécos. Comentário da resposta: Resposta: D Comentário: A gramáca presente no enunciado apresenta produções da forma: A→ β, onde: A V e β ( T) *, ou seja, ∈ ∈ V ∪ no lado esquerdo da produ o deve exisr um e, apenas um, çã símbolo não terminal e, no lado direito da produ o, podem çã gurar quaisquer cadeias de símbolos, sejam terminais, não terminais e até mesmo isoladamente, a cadeia vazia. • Pergunta 8 0,5 em 0,5 pontos A análise semânca faz uso do formalismo denominado: Impresso por Rodrigo Hemrique, E-mail rodrigohemrique71@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 22/09/2025, 22:05:30 Resposta Selecionada: c. Gramáca de atributos. Respostas: a. Gramáca livre de contexto. b. Gramáca dependente de contexto. c. Gramáca de atributos. d. Expressões semâncas. e. Recuperação local semânca. Comentário da resposta: Resposta: C Comentário: As dependências de contexto não podem ser descritas por formalismos livres de contexto. Um formalismo capaz de efetuar associações entre objetos da linguagem e os atributos declarados para os mesmos, funcionalidade própria da análise semânca, é a gramáca de atributos. • Pergunta 9 0,5 em 0,5 pontos Assinale a alternava correta: Resposta Selecionada: a. Nem todas as linguagens livres de contexto permitem a construção de analisadores determiníscos. Respostas: a. Nem todas as linguagens livres de contexto permitem a construção de analisadores determiníscos. Impresso por Rodrigo Hemrique, E-mail rodrigohemrique71@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 22/09/2025, 22:05:30 b. O subconjunto de gramácas livres de contexto que permite a construção de reconhecedores ascendentes é denominado LL(k). c. Os reconhecedores descendentes podem apresentar gramácas com recursividade à esquerda. d. Os reconhecedores descendentes não devem apresentar gramácas fatoradas à esquerda e nem à direita. e. Os reconhecedores descendentes podem apresentar somente gramácas com recursões indiretas à esquerda. Comentário da resposta: Resposta: A Comentário: O subconjunto das gramácas livres de contexto, que permite a construção de reconhecedores determiníscos descendentes é denominado LL(k). As gramácas devem ser fatoradas à esquerda e isentas de recursividade à esquerda. • Pergunta 10 0,5 em 0,5 pontos Sobre os analisadores que efetuam análise recursiva prediva: Resposta Selecionada: b. Seu projeto faz uso do conjunto “First” dos símbolos não terminais. Respostas: a. Permitem que a linguagem que apresente a gramáca tenha recursividade à esquerda. b. Impresso por Rodrigo Hemrique, E-mail rodrigohemrique71@gmail.com para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não pode ser reproduzido ou repassado para terceiros. 22/09/2025, 22:05:30 Seu projeto faz uso do conjunto “First” dos símbolos não terminais. c. Não devem apresentar gramácas fatoradas à esquerda e nem à direita. d. Fazem uso da gramáca de atributos. e. Fazem uso de gramácas ambíguas. Comentário da resposta: Resposta: B Comentário: Estes analisadores exigem não somente que a gramáca não tenha recursividade à esquerda e que a gramáca esteja fatorada à esquerda, mas também que, para os não terminais com mais de uma regra de produção, os primeiros terminais deriváveis sejam capazes de idencar, univocamente, a produção que deve ser aplicada a cada instante da análise. Para tanto, fazem uso do conjunto First dos símbolos não terminais.