Página substituída por ' Esta pesquisa deve fornecer um conteúdo atualizado sobre o tema acima. Não esqueça de incluir as referëncias (fontes) no último item, reforçando que não deve...'
Linha 4: Linha 4:
<br>
<br>


= Conceito =
1 Conceito
<br>
2 Princípio de funcionamento
Compiladores nada mais é que um programa que recebe e converte uma linguagem de fácil escrita e leitura, feita por programadores em uma linguagem que possa ser conhecida e executada por máquina. Porém para ser passado por esse processo de reconhecimento de escrita na máquina o compilador tem 3 fases de processamento e analise chamadas: Análise Léxica, Análise Sintática e Análise Semântica.
3 Análise Léxica
 
4 Análise Sintática
= Princípio de funcionamento =
5 Análise Semântica
<br>
6 Exemplos de compiladores
 
7 Referências bibliográficas
= Análise Léxica =
<br>
O analisador Léxico faz a varredura do programa fonte, analisando caractere por caractere e traduz em uma sequência de símbolos léxicos ou tokens (“símbolos”). É nessa fase que são reconhecidas as palavras reservadas, constantes, identificadores e outras palavras que pertencem a linguagem de programação. O analisador léxico executa também outras tarefas como por exemplo o tratamento de espaços, eliminação de comentários, contagem do número de linhas que o programa possui e etc. A parte léxica é a primeira parte da compilação, tendo nessa parte dois estados de análise.
A análise léxica ela e posta em dois estados. O Primeiro estado é o SCANNING onde ele remove os comentários os espaços desnecessários e etc. Já o segundo estado é a própria análise Léxica onde ela agrupa os caracteres em tokens (“símbolos”).
Tokens ou símbolos > São unidades logicas que representam um ou mais caracteres.
 
= Análise Sintática =
<br>
A análise sintática que é a segunda parte da compilação que é o processo de analisar uma sequência gramatical de entrada para determina sua estrutura gramatical segundo uma gramatica formal a parte de analise sintática pode ser também conhecida como “parsing” palavra em inglês.
Dada uma gramática livre do contexto G e uma sentença S, o objetivo do analisador sintático é verificar se a sentença S pertence à linguagem gerada por G.
O analisador sintático, recebe do analisador léxico a sequência de tokens (“símbolos”) que constitui a sentença S e produz como resultado uma árvore de derivação para S, se a sentença é válida, ou emite uma mensagem de erro, caso contrário.
 
= Análise Semântica =
<br>
A análise semântica é a terceira parte da compilação, essa é a parte onde se verifica os erros do código fonte. Essa parte tem como objetivo de trabalhar nesse nível de inter-relacionamento entre partes distintas do programa. As tarefas básicas desempenhada durante a análise semântica incluem a verificação de tipos, a verificação do fluxo de controle e a verificação da unicidade da declaração de variáveis. Dependendo da linguagem de programação, outros tipos de verificações podem ser necessários.
 
= Exemplos de compiladores =
<br>
Existem vários tipos de linguagem de programação hoje em dia e de acordo com o índice TIOBI (que significa uma lista ordenada de linguagem de programação que é classificada de acordo com o índice de freqüência de pesquisa na web usando o nome da linguagem como a palavra-chave) tendo uma lista dos mais populares.
 
1. Java
 
2. C
 
3. C++
 
4. Python
 
5. C♯
 
6. PHP
 
7. Visual Basic .NET
 
8. JavaScript
 
9. Perl
 
10. Ruby
 
11. Assembly
 
12. Visual Basic
 
13. Delphi / Object Pascal
 
14. Swift
 
15. Objective-C
 
16. MATLAB
 
17. Pascal
 
18. R
 
19. PL/SQL
 
20. COBOL
 
Tendo como mais ultilizados atualmente C/C++ e Java porem para esses tipos de linguagem existem seus compiladores como por exemplo para:
----
C/C++
----
DEV -C++ -- Esse compilador é gratuito,  esse compilador é um dos melhores para quem é iniciante tanto na linguagem quanto na programação porem facilita a vida do usuario contando com uma interface
 
GCC --  Gratuito, porem esse compilador é ultilizado pelo projeto GNU. É padrão ANSI C e nativo do sistema Linux, facilitando muito a vida de usuários Linux, pois não é preciso instalar compiladores de terceiros. Porem a sua desvantagem é para iniciantes pois ele não conta com uma interface gráfica.
 
C++ BUILDER – Esse é um dos melhores compiladores que tem, porem ele te dá uma vantagem de criar projetos extensos, porem a sua desvantagem é que esse é pago. Pois A Borland mantém no site da Code Gear duas versões: uma demo e outra paga.
Existem outros exemplos a mais de compiladores para esse tipo de linguagem.
 
------------------------------------------------------
JAVA
------------------------------------------------------
JBUILDER -- JBuilder é uma IDE (Ambiente Integral de Desenvolvimento) para desenvolvimento de aplicações mais gráficas, a partir de JFames. O JBuilder foi desenvolvido pela Borland (a mesma que produz o C++ Builder) utilizando tecnologias da comunidade do Eclipse Europa.
 
ECLIPSE -- Eclipse é uma IDE (Ambiente Integral de Desenvolvimento) de código aberto desenvolvido inicialmente pela IBM e posteriormente doada para a comunidade do sofware livre.
 
JDEVELOPER -- IDE desenvolvido pela Oracle. Cobre todo processo de produção do software em Java, desde o desenvolvimento do código até a implantação do software.
Dentre outros.
 
= Referências bibliográficas =
<br>
http://www.oocities.org/walterchagas/compiler.html
 
https://pt.wikipedia.org/wiki/An%C3%A1lise_l%C3%A9xica
 
www.cin.ufpe.br/~gaa/disciplinas/compiladores/Analise%20Lexica.ppt
 
https://pt.wikipedia.org/wiki/An%C3%A1lise_sint%C3%A1tica_(computa%C3%A7%C3%A3o)
 
http://www.cin.ufpe.br/~pftbm/apostila-LFeC-II.pdf
 
https://pt.wikibooks.org/wiki/Constru%C3%A7%C3%A3o_de_compiladores/An%C3%A1lise_sem%C3%A2ntica
 
https://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o#Lista_de_linguagens
 
http://www.tiexpert.net/programacao/algoritmo/lista-compiladores-c.php

Edição das 01h13min de 22 de maio de 2017

Esta pesquisa deve fornecer um conteúdo atualizado sobre o tema acima. Não esqueça de incluir as  
referëncias (fontes) no último item, reforçando que não deve ser um Copy/Paste e sim uma síntese 
das pesquisas que fizer.


1 Conceito 2 Princípio de funcionamento 3 Análise Léxica 4 Análise Sintática 5 Análise Semântica 6 Exemplos de compiladores 7 Referências bibliográficas