SóProvas


ID
158005
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

No âmbito das linguagens formais, no processo de compilação, a fase de análise é composta pelas subfases: Análise Léxica, Análise Sintática e Análise Semântica. Assim, considere:

I. Durante a análise léxica, as palavras ou lexemas são guardados na tabela de símbolos e classificados de acordo com a linguagem, em palavras reservadas, comandos, variáveis e tipos básicos.
II. A Análise Sintática é responsável pela verificação da boa formação dos comandos da linguagem, de acordo com as regras especificadas pela gramática da linguagem, pois sentenças mal formadas, geralmente, interrompem o processo de compilação e são apresentadas como mensagens de erro.
III. No fim da análise sintática, temos a representação do programa original de forma hierárquica, onde o programa é representado por uma árvore sintática.
IV. A análise semântica mais comum consiste na verificação da consistência de tipos dos operandos envolvidos em operações aritméticas ou dos parâmetros passados a procedimentos.

É correto o que consta em

Alternativas
Comentários
  • ô loko, são raras as ocorrências de boas questões teóricas de CC nos concursos, show de bola essa ;)
  • Compiladores são programas que traduzem linguagens, no caso uma linguagem fonte (escrita numa linguagem de programação) para uma linguagem destino (linguagem que o computador realmente entenda). São complexos e o processo de compilação se dá por três fases:

    1 - Análise Léxica -> ler caractere por caracter no código e forma tóken, identificando o tipo (ex: constante, palavra reservada ...) de cada um deles de acordo com a tabela de símbolos. Ex: for i = 0. O compilador irá ler: f,o,r,i,=,0  e dirá 'for' = palavra reservada, i = variável criada, '=' operador de atribuição, 0 = valor literal 

    2 - Análise Sintática -> chamado também de 'parser', verifica se o código possui sentenças válidas, criando uma estrutura de árvore ao final do processo. Ex: a sentença do 'if' deve ser: if () then

    3 - Análise Semântica -> verifica o significado de instruções, realizando análises que não podem ser feitos anteriormente como, por exemplo, escopo de variáveis (uma variável local de uma função não pode ser usada fora dela), atribuição de valores (verificar se os tipos são compatíveis entre o valor e a variável que está recebendo ele).

    GABARITO: E