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
 
3 Análise Léxica
 
4 Análise Sintática
Um interpretador é um tipo de tradutor que traduz o código fonte em linguagem de máquina através da interpretação de cada instrução feita à medida que o software é executado, ou seja, um interpretador lê uma linguagem de alto nível e a coloca em execução.
5 Bytecode
 
6 Exemplos de interpretadores
 
7 Referências Bibliográficas
 
[[Arquivo: interpretação 1.jpg]]
 
= Princípio de funcionamento =
<br>
 
 
O programa conversor recebe a primeira instrução do programa fonte, confere para ver se está escrita corretamente, converte-a em linguagem de máquina e então ordena ao computador que execute esta instrução. Depois repete o processo para a segunda instrução, e assim sucessivamente, até a última instrução do programa fonte. Quando a segunda instrução é trabalhada, a primeira é perdida, isto é, apenas uma instrução fica na memória em cada instante.
Se este programa fonte for executado uma segunda vez, novamente haverá uma nova tradução, comando por comando, pois os comandos em linguagem de máquina não ficam armazenados para futuras execuções
O interpretador analisa sintaticamente e semanticamente o código, se estas duas etapas forem realizadas e executadas de forma correta o código está pronto para funcionar.
 
 
[[Arquivo:interpretação.jpg]]
 
= Análise Léxica =
<br>
 
 
É o processo de analisar a entrada de linhas de caracteres (tal como o código-fonte de um programa de computador) e produzir uma seqüência de símbolos chamados “símbolos léxicos”, ou somente "símbolos" (tokens)- tokens é uma sequencia logicamente coesa de caracteres que representam um único símbolo-, que podem ser manipulados mais facilmente pelo compilador. A Análise Léxica é a forma de verificar determinado alfabeto. Um exemplo similar de analise lexica é quando ao analisar uma palavra, pode-se definir através da análise léxica se existe ou não algum carácter que não faz parte do nosso alfabeto, ou um alfabeto inventado por nós.
 
= Análise Sintática =
<br>
 
 
É o processo de analisar uma seqüência de entrada (lida de um arquivo de computador ou do teclado) para determinar sua estrutura gramatical segundo uma determinada gramática formal.  A análise sintática transforma um texto na entrada em uma estrutura de dados, em geral uma árvore, o que é conveniente para processamento posterior e captura a hierarquia implícita desta entrada. Através da análise léxica é obtido um grupo de tokens, para que o analisador sintático use um conjunto de regras para construir uma árvore sintática da estrutura.
Em termos práticos, pode também ser usada para decompor um texto em unidades estruturais para serem organizadas dentro de um bloco, por exemplo.
 
= Bytecode =
<br>
 
 
Bytecode ( código em bytes) é o resultado de um processo semelhante ao dos compiladores de código-fonte, o bytecode pode ser interpretado numa máquina virtual, que fará a execução. Assim, o bytecode é um estágio intermédio entre o código-fonte e a aplicação final, sendo a sua vantagem principal a dualidade entre a portabilidade — o bytecode irá produzir o mesmo resultado em qualquer arquitetura — e a ausência da necessidade do pré-processamento típico dos compiladores — o bytecode é encarado como um produto final, cuja validação da sintaxe e tipos de dados (entre outras funções dos compiladores) não será necessária.
 
 
 
 
<br>
 
 
 
 
 
[[Arquivo:Nt-bytecode.png]]
 
 
 
 
 
<br>
 
= Exemplos de interpretadores =
<br>
 
• Navegadores;
 
• Excel, Word, Basic, Access, ... ;
 
• SmallTalk;
 
• AutoLisp;
 
• Prolog (algumas versões);
 
• Matlab;
 
• Lisp.
 
• Internet
 
• Ruby
 
• Jruby
 
• Ironruby
 
• Macruby
 
 
 
 
[[Arquivo: ruby-3-728.jpg]]
 
= Referências Bibliográficas =
<br>
 
 
Disponível em :< http://www.din.uem.br/~yandre/ICC/introducao-grande.pdf>. Acesso em 13 de abril de 2016.
 
Disponível em : <https://www.researchgate.net/profile/Joao_Ferreira25/publication/267947976_PROGRAMAS_PARA_A_INTERNET_VISANDO_A_DETERMINAO_DO_TAMANHO_DE_LOTE_TIMO_E_O_BALANCEAMENTO_DE_LINHA/links/54bdcfa20cf27c8f2814ce36.pdf>. Acesso em 13 de abril de 2016
 
Disponível em: <http://paginapessoal.utfpr.edu.br/danielc/Ensino/Graduacao/2015.1/ET42G/et42g-2015.1/Aula2.pdf>. Acesso em 13 de abril de 2016.
 
Disponível em: <https://books.google.com.br/books?hl=pt-BR&lr=&id=nv4ZbkhP-nsC&oi=fnd&pg=PR7&dq=compilador+interpretador&ots=Z3dGxM9_Mc&sig=gK2yoJdcRWUppATNa07Q_VdnjZ8>. Acesso em
 
Disponível em: <http://tutoria.ualg.pt/2013/pluginfile.php/72095/mod_resource/content/3/comp_1314_01.pdf>. Acesso em 14 de abril de 2016.Disponível em:
 
Disponível em: <http://unipe.tanure.net/arquivos/20091/comp2/aula1.pdf>. Acesso em 14 de abril de 2016.
 
Disponível em: <http://professores.dcc.ufla.br/~terra/public_files/2011_apostila_logica.pdf>, Acesso em 14 de abril de 2016.
 
Disponível em: <https://www.oficinadanet.com.br/artigo/1527/diferencas_entre_compiladores_e_interpretadores>. Acesso em 14 de abril de 2016.
 
Disponível em: <https://upload.wikimedia.org/wikipedia/commons/3/38/Nt-bytecode.png>. Acesso em 18 de abril de 2016.
'''

Edição das 01h29min 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 Bytecode 6 Exemplos de interpretadores 7 Referências Bibliográficas