Mostrando postagens com marcador fortran. Mostrar todas as postagens
Mostrando postagens com marcador fortran. Mostrar todas as postagens

terça-feira, 10 de novembro de 2015

Curiosidades dos interpretadores

Na última postagem comentei sobre algumas curiosidades de um tradutor que estamos falando: o compilador. Hoje será diferente, comentaremos sobre os interpretadores. Creio que os nosso leitores já saibam o que é um e pra quê serve, caso não tenha visto é só clicar aqui e voltar a ler essa postagem.

Como visto anteriormente, o interpretador é bem diferente do compilador. Ele é mais lento, mais específico e consome menos memória do nosso PC. Você que quer ser um bom programador e quer seguir nesse ramo é bom saber todas as vantagens e desvantagens dos dois (clique aqui). O interpretador, como dito, ele executa o programa linha a linha e não faz uma análise léxica, sintática e semântica igual ao compilador, como já mostrei. Ele se divide apenas em duas: fase analítica e semântica. Pouco parecidas com as utilizadas nos compiladores, a diferença é que o interpretador cria uma base de dados (estrutura interna) para realizar suas operações. Todo esse processo pode ser feito apenas com os tipos de linguagens interpretadas, que são:

Claro que não existem só essas linguagens interpretadas. Há outras, essas são apenas as mais usadas e as mais conhecidas. Agora, para você ter uma noção da diferença de uma execução compilada para interpretada é só ver esses dois vídeos: 

Python 3.2 vs C++
https://www.youtube.com/watch?v=H_LHeGP_PtI
Python Vs C++ Speed Test
https://www.youtube.com/watch?v=mVvDb484uIs

Notou a diferença? Percebeu a rapidez? Então, agora cabe a você decidir qual tipo de linguagem quer usar, compilada ou interpretada. Fiquem em paz e até a próxima.

“Bons caminhos!”

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