1. Diferencie compilador, interpretador e assemblers.
Compiladores: traduzem linguagens programao alto nvel para cdigo mquina; Assemblers: traduzem linguagens programao baixo nvel para cdigo mquina; Interpretadores: executam os programas logo aps o seu reconhecimento (realizam aes) 2. Quais as funcionalidades bsicas de um compilador? Tradutor de uma linguagem mais abstrata (origem) para uma mais concreta (destino). Facilitar programao (abstrao); Checar certos tipos de erros e vulnerabilidades; Gerar cdigo portvel; Otimizar cdigo: velocidade, tamanho, energia, etc. 3. Quais as caractersticas das anlises de front-end? E de back-end? Anlise (front-end)
Cria representaes intermedirias do programa;
Verifica presena de certos tipos de erro.
Sntese (back-end)
Constri o programa destino a partir de representaes
intermedirias.
4. O que so as anlises lxica, sinttica e semntica?
Anlise lxica
Organiza caracteres de entrada em grupos, chamados tokens.
Logo l os caracteres de entrada e os agrupa em sequncias chamadas lexemas (tokens) e faz reconhecimento dos smbolos terminais representados por cada palavra. Os tokens so consumidos na fase seguinte (parsing);
Anlise sinttica
Organiza tokens em uma estrutura hierrquica. Logo apartir
dos tokens cria uma estrutura em rvore (rvore sinttica) que representa a estrutura gramatical do programa. Agrupa os smbolos terminais e verificar se formam uma frase sintaticamente correta (composta segundo as regras sintticas da ling.).
Anlise semntica
Checa se o programa respeita regras bsicas de consistncia.
Procura possveis erros semnticos e guarda informaes contextuais adicionais, tambm verifica se as regras semnticas da linguagem so satisfeitas e calcula os valores associados aos smbolos, de modo a poder conhecer-se o significado completo da frase;
5. O que a Tabela de Smbolos? O que cdigo intermedirio?
Tabela de Smbolos so estrutura de dados usada para guardar Identificadores e informaes sobre eles, so tambm atualizadas durante todas as etapas de compilao. Cdigo intermedirio (IR) so as representaes intermedirias de cdigo, que facilitam a anlise e transformao. A gerao de cdigo intermdio reescreve o significado da frase de entrada em linguagem intermediaria;
6. Em que ordem ocorrem as 6 etapas bsicas de um
compilador?
7. O que tratamento de erros?
A capacidade para tratar os erros de enorme importncia para a sua aceitao, pelo utilizador final, como ferramenta de trabalho, logo o tratamento de erros o processo que desencadeado pelo reconhecedor logo aps a deteco de um erro na frase que est a ser analisada;
8. Diferencie traduo orientada pela Sintaxe de traduo orientada
pela semntica. A grande diferena entre as tradues que na traduo orientada pela sintaxe no h uma separao ntidas das tarefas e nunca chega a construir as arvores de sintaxe e a arvore de derivao e a especificao usada a
gramatica tradutora, enquanto na traduo orientada pela semntica das
tarefas referidas so executadas separadamente, no se distinguindo nenhuma em relao s outras, q rvore de derivao construda explicitamente para todas as restantes etapas trabalharem sobre a rvore de sintaxe decorada, alm da especificao usada ser a gramatica de atributos;