You are on page 1of 2

COLEGIADO DE CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: TRADUTORES E COMPILADORES PROFESSORA: SARA MENDES OLIVEIRA LIMA SÉRIE: 7º SEMESTRE e 8º SEMESTRE DATA

: 30/03/2012 RESPOSTAS DA ATIVIDADE DE REVISÃO PARA A PROVA DO DIA 13/04/2012 1) CONCEITUE: a. ALFABETO: Conjunto finito de símbolos ou caracteres. b. SENTENÇA: Também chamada de palavra ou cadeia de caracteres, é uma sequência finita de símbolos (do alfabeto) justapostos. c. LINGUAGEM: É um conjunto de palavras sobre um alfabeto. d. GRAMÁTICA: Conjunto finito de regras as quais, quando aplicadas sucessivamente, geram palavras. Também conhecida como sistema gerador de linguagens. e. AUTÔMATO FINITO: Sistema de estados finitos o qual constitui um modelo computacional responsável pelo reconhecimento de linguagens. 2) MARQUE OS CONJUNTOS QUE SÃO ALFABETOS: a. CONJUNTO DOS NÚMEROS INTEIROS b. CONJUNTO DOS NÚMEROS PRIMOS c. CONJUNTO DAS LETRAS DO ALFABETO d. CONJUNTO DAS PARTES DA {a,b,c,d} e. CONJUNTO DAS VOGAIS 3) APRESENTE OS POSSÍVEIS PREFIXOS E SUFIXOS DE CADA UMA DAS SEGUINTES OPÇÕES: a. Teoria: Vazio, T, te, Téo, teor, teori, teoria, a, ia, ria, oria, eoria. b. Universidade Vazio, U, un, uni, univ, unive, univer, univers, universi, universid, universida, universidad, universidade, e, de, ade, dade, idade, sidade, rsidade, ersidade, versidade, iversidade, niversidade. c. aaa Vazio, a, aa, aaa d. abccba Vazio, a, ab, abc, abcc, abccb, abccba, a, BA, cba, ccba, bccba e. abcab Vazio, a, ab, abc, abc, abcab, b, ab, cab, bcab.

4) APRESENTE AS PARTES DE UM COMPILADOR E A FUNÇÃO DE CADA UMA DELAS:

embora corretas sintaticamente. 5) QUAL A RELAÇÃO ENTRE ANALISADOR LÉXICO X ANALISADOR SINTÁTICO: O analisador léxico com sua função de quebrar o código fonte com o objetivo de identificar as marcas (tokens) gera como resultado a tabela de símbolos que será usada pelo analisador sintático na próxima etapa do compilador. real. etc. ANALISADOR LÉXICO: Também conhecido como scanner. tais como seu tipo (inteiro. . Projetar um gerador de código que produza programas objeto verdadeiramente eficientes é uma das tarefas mais difíceis no projeto de um compilador. GERADOR DE CÓDIGO: produz o código objeto final. Não utiliza mais o programa fonte para fazer tal verificação. agrupando a sequência de caracteres lidos em grupos de símbolos (tokens). e ajustar-se novamente à informação sendo passada de fase a fase de modo a poder completar o processo de compilação (mesmo que não seja mais possível gerar código objeto. 5.COLEGIADO DE CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: TRADUTORES E COMPILADORES PROFESSORA: SARA MENDES OLIVEIRA LIMA SÉRIE: 7º SEMESTRE e 8º SEMESTRE DATA: 30/03/2012 RESPOSTAS DA ATIVIDADE DE REVISÃO PARA A PROVA DO DIA 13/04/2012 1. 8. OTIMIZADOR DE CÓDIGO: é um módulo opcional (presente na grande maioria dos compiladores) que objetiva melhorar o código intermediário de modo que o programa objeto produzido ao fim da compilação seja menor (ocupe menos espaço de memória) e/ou mais rápido (tenha tempo de execução menor). tomando decisões com relação à alocação de espaço para os dados do programa. definindo que registradores da UCP serão usados. 4. escopo.). ANALISADOR SINTÁTICO: Também chamado de parser. agrupa os símbolos recebidos do analisador léxico em estruturas sintáticas. etc. MÓDULO GERÊNCIA DE TABELA DE SÍMBOLOS: tem por função guardar informações a respeito de todos os nomes usados pelo programa e registrar informações importantes associadas a cada um. GERADOR DE CÓDIGO INTERMEDIÁRIO: usa as estruturas produzidas pelo analisador sintático e verificadas pelo analisador semântico para criar uma seqüência de instruções simples dita código intermediário (está entre a linguagem de alto nível e a linguagem de baixo nível). a análise léxica e sintática deve prosseguir até o fim). Ele deve avisar o programador da ocorrência do erro emitindo uma mensagem. 2. ANALISADOR SEMÂNTICO: verifica se estruturas sintáticas pelo analisador sintático. o analisador sintático. lê o programa fonte caracter a caracter. responsável por verificar se a sequência de símbolos contida no programa fonte forma um programa válido ou não. A estrutura de dados usada para registrar essas informações é chamada tabela de símbolos. tamanho. selecionando a forma de acessá-los. em vez disso ele utilizada a árvore sintática como representação do programa. etc. têm significado admissível na linguagem. A saída do analisador léxico é uma seqüência de símbolos que é passada para a próxima fase. 6. 3. É o coração do compilador. 7. MANIPULADOR DE ERROS: é ativado sempre que for detectado um erro no programa fonte. A saída do otimizador de código é um novo código intermediário.