sexta-feira, 30 de outubro de 2015

Curiosidades dos compiladores


Hoje falarei das mais variadas curiosidades sobre os compiladores. Bom, não sei se “curiosidades” seria a palavra correta, mas é algo além do que havíamos estudado em postagens anteriores, caso não tenha visto é só clicar aqui.

Como já sabemos o que um compilador e “pra” quê serve, agora adentrarei no desenvolvimento de um compilador. Ele é responsável por traduzir um determinado código-fonte para linguagem de máquina (código binário), como dissemos. Dentro desse processo há três tipos de análises: léxica (divide em símbolos), sintática (estruturação do código e onde é criado árvore sintática) e semântica (se realmente o código faz sentido). Na imagem a seguir há um exemplo de uma árvore sintática:
O exemplo na imagem acima é de uma expressão: A/(B*C). O compilador vai analisar se a expressão está correta e determinar os elementos estruturais do programa e seus relacionamentos. Toda essa criação da linguagem-fonte que passa pelo compilador é determinada por algum tipo de linguagem compilada. Abaixo estão alguns tipos:

Essas linguagens são as mais usadas e conhecidas, todavia há outras que também são compiladas, por isso não existem só essas, claro. Como disse, cabe a cada programador decidir em qual linguagem quer trabalhar e "partir para o abraço". Na próxima postagem falarei algumas curiosidades dos nosso outro tradutor, o interpretador. Fiquem em paz e "bons caminhos". Abraço!


Bibliografia: NETO, João J - Introdução à compilação, Engenharia da computação, vol.1

2 comentários:

  1. o texto aborda bem acerca dos compiladores numa analise anacrônica da forma como os compiladores lê um código-fonte escrito em uma determinada linguagem criando um código semanticamente equivalente em outra linguagem.

    ResponderExcluir
    Respostas
    1. Isso mesmo, Francisco. É justamente o que tenho falado em quase todas as minhas postagens! Um tradutor, de forma genérica, é responsável por tudo isso. Grande abraço!

      Excluir