| Linha 19: | Linha 19: | ||
== Referências Bibliográficas == | == Referências Bibliográficas == | ||
http://producao.virtual.ufpb.br/books/camyle/introducao-a-computacao-livro/livro/livro.chunked/ch05s04.html ''(25/05/2017 - 16:20)'' | http://producao.virtual.ufpb.br/books/camyle/introducao-a-computacao-livro/livro/livro.chunked/ch05s04.html ''(25/05/2017 - 16:20)'' | ||
https://pt.stackoverflow.com/questions/113578/o-que-%C3%A9-analise-l%C3%A9xica ''(04/06/2017 - 17:57)'' | |||
Edição das 21h00min de 4 de junho de 2017
Conceito
- O software interpretador é um programa de computador que executa instruções escritas em uma linguagem de programação. Por exemplo, as linguagens Basic, Prolog, Python e Java, são frequentemente interpretadas. Um interpretador geralmente usa uma das seguintes estratégias para a execução do programa:
- Executar o código fonte diretamente ou
- Traduzir o código fonte em alguma representação intermediária e depois executar este código.
- Para isso, certos tipos de tradutores transformam uma linguagem fonte em uma linguagem simplificada, chamada de código intermediário, que pode ser diretamente “executado” por um programa chamado interpretador. Podemos imaginar o código intermediário como uma linguagem de máquina de um "computador abstrato" projetado para executar o código fonte.
- Interpretadores são, em geral, menores que compiladores e facilitam a implementação de construções complexas em linguagens de programação. Entretanto, o tempo de execução de um programa interpretado é geralmente maior que o tempo de execução deste mesmo programa compilado, pois o interpretador deve analisar cada declaração no programa a cada vez que é executado e depois executar a ação desejada, enquanto que o código compilado apenas executa a ação dentro de um contexto fixo, anteriormente determinado pela compilação. Este tempo no processo de análise é conhecido como overhead interpretativa.
Princípio de funcionamento
Análise Léxica
- Definição
Análise léxica é o processo realizado sobre um texto, digamos um programa de computador ou então uma linguagem de marcação como HTML, que divide este em lexemes e os converte para uma sequência de tokens, os quais são usados para alimentar um parser. Um programa que realiza análise léxica é geralmente chamado de lexer, scanner ou tokenizer.
- Tokens/Lexemes
Lexemes são unidades sintáticas relevantes do contexto do lexer, por exemplo para um lexer voltado a uma certa linguagem de programação alguns lexemes poderiam ser: 1, "olá", for, ==, variableName, function. Um token é uma estrutura que categoriza um lexeme, ele contêm um nome abstrato que representa o grupo do lexeme e um possível valor deste caso o grupo não seja único.
Análise Sintática
Bytecode
Exemplos de interpretadores
Referências Bibliográficas
http://producao.virtual.ufpb.br/books/camyle/introducao-a-computacao-livro/livro/livro.chunked/ch05s04.html (25/05/2017 - 16:20) https://pt.stackoverflow.com/questions/113578/o-que-%C3%A9-analise-l%C3%A9xica (04/06/2017 - 17:57)