DEPARTAMENTO DE ENGENHARIA DE COMPUTAO CURSO DE ENGENHARIA DE COMPUTAO
COMPILADORES LISTA 1 DE EXERCCIOS NOME: Hailton Felisberto de Carvalho Junior CURSO: Ecomp
1- Qual a funo principal de um compilador? A funo principal traduzir um programa de uma linguagem para outra. Ou seja ele transforma uma linguagem de auto nvel em uma linguagem de baixo nvel. 2- De exemplo de compiladores na linguagem C e JIKESva. C: GCC,G++,CCS Java: jikes, JDK, 3-Compilar um programa bsico na linguagem C (gcc) e java (jdk) Java:
4-Explique a funo do lexer e do parser. Lexer: responsvel por dividir o fluxo de entrada em tokens individuais, identificando o tipo de token, e passando sinais um de cada vez para a prxima fase do compilador. Parser: Agrupa os tokens fornecidos pelo analisador lxico em estruturas sintticas construindo uma arvore sinttica equivalente. 5-Explique e de exemplo de tokens Um token um smbolo ou conjunto de smbolos que formaria o que na nossa lngua seria uma palavra. Exemplos:While, string, for, if, else. != ,== 6- Pesquise programas que gerem a arvore parser para analise visual. SableCC, AntLR 7- Descreva sucintamente o processo de gerao de uma executvel com base na figura 1. A figura mostra inicialmente a parte do programa original onde se consiste em conjunto de instrues escritas em C, java ou outras linguagens e mostra os blocos representados por Front End e Back End onde front end existe as etapas tokenizer que ler smbolos um de cada vez a partir do fluxo de entrada e passa as fichas para o analisador parser que agrupa os tokens fornecidos pelo analisador lxico em estruturas sintticas construindo uma arvore sinttica equivalente. Esta parte do compilador tem uma compreenso da gramtica da lngua. Ele responsvel por identificar erros de sintaxe e de traduzir um programa livre de erros nas estruturas de dados internos que podem ser interpretadas ou escritas em outro idioma. A estrutura de dados chamada de rvore de anlise, ou s vezes um Cdigo representao intermediria onde foi representado na figura. A rvore de anlise uma estrutura independente da linguagem, o que d uma grande flexibilidade para o gerador de cdigo. O analisador lxico e analisador juntos so muitas vezes referidos como front-end do compilador. O passo seguinte no processo seguindo o raciocnio anterior como mostrado na figura, consiste em enviar a rvore de anlise ou para um intrprete, onde executado, ou a um pr-processador de gerador de cdigo. Depois de pr-processamento, a rvore de anlise enviada para o gerador de cdigo , o que cria um novo arquivo na lngua-alvo. s vezes, o arquivo recm- criado , ento, o cargo que foi processado para adicionar mquinas otimizaes dependentes. Por fim aps todas as etapas descritas, gerado o executvel.