Publicação

Apostila de Compiladores Disponível Para Download

foto de
Fernando Palma CONTEÚDO EM DESTAQUE

Apostila de Compiladores e Linguagens Formais Disponibilizada Para Livre Acesso e Download Pelas Universidades UFPE e URICER

O material a seguir é tema de estudos de profissionais de TI que cursam nível
superior em formações como Sistemas de Informação e Ciência da Computação.

Normalmente, Compiladores é trabalhado em uma ou duas disciplinas localizadas entre o meio e o final da graduação.

Nem sempre é uma disciplina avaliada como fácil pelos alunos (normalmente é o contrário), portanto vale a pena dar uma reforçada no assunto, fixar, se prevenir, e para estes fins disponibilizamos uma apostila de qualidade disponibilizada para livre acesso e download no site da UFPE .

Saiba um pouco mais sobre compiladores, sobre a apostila e acesse o conteúdo completo a seguir.

Sobre Compiladores

Linguagens Formais

A primeira coisa que normalmente se aprende sobre compiladores é que trata-se de um tema derivado da Teoria das Linguagens Formais. Portanto, para para facilitar seu primeiro contato com a disciplina, veja  a seguir uma definição do conceito de Linguagens Formais.

"Entende-se por linguagem formal estudo de modelos matemáticos que possibilitam a especificação e o reconhecimento de linguagens (no sentido amplo da palavra), suas classificações, estruturas, propriedades, características e inter-relacionamentos ." ( Wikipedia , Maio de 2016)
Se a descrição acima não ajudou, tente entender desta forma: o objetivo das linguagens formais é usar a matemática para estruturar linguagens e traduzi-las, decifrá-las.

Relação Entre Linguagens Formais e Compiladores

Segundo MENEZES (1997), os estudos sobre linguagens formais iniciaram-se na década de 50 com o objetivo de definir matematicamente as estruturas das linguagens naturais.

Pouco tempo depois, percebeu-se que esta teoria que estava surgindo (das Linguagens Formais) cairia muito bem no estudo da Ciência da Computação.

Ora, sabia-se que...

  • os computadores interpretam linguagem de máquina ( machine code )
  • os humanos poderiam então:
    • desenvolver linguagens de programação e de comandos mais fáceis de serem compreendidas e usadas por pessoas
    • Usar um processo de tradução para converter sua linguagem em linguagem de máquina (aqui entra a utilidade das linguagens formais)

A partir dai, as linguagens formais começaram a ser usadas para traduzir linguagens de programação em linguagem de máquina ( machine code ).

O programa que faz esta tradução é chamado por compilador!

Definição de Compilador

Agora você já conquistou uma primeira intimidade com esta disciplina, fica mais fácil interpretar a definição de um compilador, transcrita a seguir.

"Um compilador é um programa de computador (ou um grupo de programas) que, a partir de um código fonte escrito em uma linguagem compilada, cria um programa semanticamente equivalente, porém escrito em outra linguagem, código objeto ." ( Wikipedia , Maio de 2016)

Exemplos de Compiladores

  • Muitas vezes, o compilador é um programa de console , exemplos:
    • 4DOS / 4OS2 / 4NT - ( DOS , OS/2 , Windows NT )
    • CL - ( OS/400 )
    • bash - (Linux, Mac OS X)
    • CLI / Amiga Shell - ( AmigaOS )
    • cmd.exe - (OS/2, Windows NT )
    • command.com - ( MS-DOS , Windows 95 - Windows XP )
    • csh - (UNIX)
    • DCL - ( VMS / OpenVMS )
  • Podem também ser disponibilizados como bibliotecas usadas em conjunto com outros programas, como o GNU .
  • IDE´s também executam processos de compilação de código, tais como:

Sobre a Apostila

Autor

A apostila em PDF que sugerimos a seguir está disponível para livre acesso e download no site da Universidade Federal de Pernambuco (UFPE) . É possível que o professor que a disponibilizou ensine também na URICER – Universidade Regional Integrada do Alto Uruguai e das Missões – Campus de Erechim , pois a apostila cita esta outra instituição logo na primeira página.

O professor da disciplina não se identifica nesta apostila, mas buscaremos seu nome e citá-lo aqui assim que for conhecido.

Conteúdo

Confira alguns conceitos que você irá aprender / revisar ao estudar esta apostila:

  • Tipos de Linguagem

  • Especificação de uma linguagem

  • Tipos de Compilação

  • Sistemas de Interpretação Híbridos

  • Construção de Compiladores

  • Processadores de linguagens

  • Estrutura geral de um compilador

  • Analisador léxico (ou scanner)

  • Analisador sintático (ou parser)

  • Analisador semântico

  • Otimização de código

  • Geração de código

  • Simplificações de Gramáticas Livres de Contexto

  • Dentre outros ...

Apostila de Compiladores e Linguagens Formais ( download aqui )


Estude Outras Disciplinas de Sistemas de Informação e Ciência da Computação:

Comentários