Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Geradores de analisadores léxicos
2
O que é? Até o momento desenvolvemos o nosso próprio analisador léxico a partir de um autômato finito. Dessa forma fizemos algo parecido com o diagrama abaixo que representa um autômato e uma implementação que simula o funcionamento desse autômato.
5
Implementar um analisador léxico é uma tarefa muito trabalhosa, como essa complexidade é frequente surgiriam algumas ferramentas que apoiam esse tipo de programação. Essas ferramentas são conhecidas como geradores de analisadores léxicos, elas automatizam o processo de implementação de um autômato no reconhecimento de sentenças regulares partir de expressões regulares. Existem diversas implementações para gerar analisadores léxicos para diferentes linguagens de programação.
6
Exemplo de GAL Flex – versão GNU do lex para C.
JFlex – versão Java com pequena diferença na sintaxe de entrada. Turbo Pascal Lex/Yacc Flex++ CSLex – versão C#, derivada do Jlex.
7
Os geradores de analisadores léxicos geram rotinas para fazer a análise léxica de uma linguagem de programação a partir de um arquivo de especificações contendo basicamente expressões regulares que descrevem os tokens. É possível fazer a identificação de cada token através do seu padrão, após esse processo é gerado um arquivo fonte com a implementação do analisador léxico que transforma os padrões de em uma sequencia de tokens O GAL utiliza uma linguagem denominada linguagem Lex e a ferramenta em si é conhecida como “compilador Lex”.
8
JFlex A figura abaixo define a estrutura de um processo de geração de um analisador léxico utilizando a ferramenta JFlex, outros analisadores que implementam a linguagem Lex utilizando o mesmo processo
9
Um arquivo de entrada escrito em linguagem Lex chamado regras
Um arquivo de entrada escrito em linguagem Lex chamado regras.flex descreve o analisador léxico em si, o “Flex transforma o arquivo regras.flex em um código fonte Java chamado do yylex.java que será utilizado para processar o fluxo de caracteres da linguagem de programação.
10
Estrutura básica da linguagem Lex.
Declarações %% %{ Funções - variaveis %} Definições regulares Regras de tradução
Apresentações semelhantes
© 2025 SlidePlayer.com.br Inc.
All rights reserved.