-
Há 6 fases de compilação:
Análise léxica; Análise sintática; Análise semântica; Geração de código intermediário; Optimização de código; Geração de código final
* Análise semântica papel do analisador semântico assegurar que todas as regras sensíveis ao contexto da linguagem estejam analisadas e verificadas quanto à sua validade
-
O analisador semântico integra o gerador de código intermediário?!
-
https://pt.wikipedia.org/wiki/Compilador
-
•Análise(divide o programa fonte nas partes constituintes e cria uma representação intermediária dos mesmos)
–Léxica (tokens)
–Sintática (árvore sintática)
–Semântica (incoerências semânticas) --> tipos
•Síntese(constrói o programa alvo desejado a partir da representação intermediária)
–Geração de código intermediário
–Otimização do código
–Geração do código
questão correta.
-
Gabarito Certo
Análise semântica é a terceira fase da compilação onde se verificam os erros semânticos, (por exemplo, fazer a divisão de um número inteiro por outro numero float, na linguagem C padrão ANSI)) no código fonte e coletam-se as informações necessárias para a próxima fase da compilação, que é a geração de código objeto.
A análise semântica trata a entrada sintática e transforma-a numa representação mais simples e mais adaptada a geração de código. Esta camada do compilador fica igualmente encarregada de analisar a utilização dos identificadores e de ligar cada uma delas a sua declaração. Nesta situação verificar-se que o programa respeita as regras de visibilidade e de porte dos identificadores. Nesta fase é também esperado que no processo da compilação verifique que cada expressão definida tenha um tipo adequado conforme as regras próprias da linguagem.
O objetivo da análise semântica é trabalhar nesse nível de inter-relacionamento entre partes distintas do programa. As tarefas básicas desempenhadas durante a análise semântica incluem a verificação de tipos, a verificação do fluxo de controle e a verificação da unicidade da declaração de variáveis. Dependendo da linguagem de programação, outros tipos de verificações podem ser necessários.
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !
-
Questão baseada no 1º capítulo do livro do SEBESTA, Conceitos de Linguagem de Programação, 9ª edição. Segue o trecho do livro que sustenta o gabarito:
"O analisador semântico é parte do gerador de código intermediário, que verifica erros difíceis (ou impossíveis) de ser detectados durante a análise sintática, como erros de tipos." [SEBESTA]