UFRJ/ECO/SI 2024_2 COMENTARIOS SOBRE OS COMPILADORES fpc e gcc - 260824 Um compilador é um programa capaz de gerar um arquivo com código executável a partir de outro arquivo com o código-fonte (texto puro em alguma linguagem de programação, como C ou Pascal). As assim chamadas 'palavras reservadas da linguagem' são expressões predefinidas pelo compilador e pelas bibliotecas de módulos usadas na compilação. O processo de compilação, que tem o código-fonte como entrada e o programa compilado executável como saída, verifica e valida a correçãoo léxica e sintática do código. Vamos usar dois compiladores até o fim do nosso curso: o 'gcc' (gnuCompilerCollection) e o 'fpc' (freePascalCompiler). O 'gcc' já vem normalmente instalado em uma distribuição corrente linux. O 'fpc' precisamos instalar. Testamos a funcionalidade dos compiladores gcc e fpc com dois programas 'minimalistas': cprimeiro.c e pprimeiro.pas. Os arquivos com codigos-fonte - como, por exemplo, o pprimeiro.pas ou cprimeiro.c - devem ser compilados para poderem ser carregados e executados, como fizemos no terminal do linux. Depois da compilação, os arquivos dos executáveis devem ter sido gerados - como, por exemplo, o pprimeiro e o cprimeiro que testamos. O COMPILADOR deve reconhecer COMENTÁRIOS no CÓDIGO-FONTE e distinguí-los do CÓDIGO COMPILÁVEL propriamente dito. Para isso, cada LINGUAGEM DE PROGRAMAÇÃO utiliza certos símbolos delimitadores que marcam o início e o fim do comentário. O PRE-PROCESSAMENTO do código-fonte pelo compilador ELIMINA os comentários, espaços e/ou pula-linhas, tabs, e/ou outros caracteres eventualmente NÃO ENVOLVIDOS na compilação. O compilador não gera código para uma linha comentada, apenas para as que não estão comentadas. Os delimitadores de comentário permitem excluir da compilação seu conteúdo. Delimitadores de comentários podem assim ser usados para desligar/ligar (comment/uncomment) trechos de código que não desejamos compilar e executar. Em Pascal, as chaves {} tambem delimitam DIRETIVAS DE COMPILAÇÃO, que sao 'pseudo-comentários' para o compilador acrescentar - ou eliminar - algum procedimento durante a compilação. Assim, o compilador FreePascal pode interpretar as chaves tanto como delimitadores de comentário como diretivas de compilação, Em C, o símbolo # ao começo da linha inicia uma "diretiva de compilador" naquela linha; o caracter pula-linha no fim da linha finaliza a "diretiva de compilador". Nossa primeira aproximação com os códigos-fonte foi a de um usuário que tem instalados os compiladores gcc e fpc acessíveis através de um terminal linux e que sabe: a)editar; b)salvar; c)compilar um código-fonte no fpc (FreePascal) e no gcc (C); e d)executar o código compilado. Todos os que comprovaram a funcionalidade dos compiladores fpc e gcc e o acesso a um terminal de linha de comando linux devem preencher os requisitos acima.