A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Geradores de analisadores léxicos

Apresentações semelhantes


Apresentação em tema: "Geradores de analisadores léxicos"— Transcrição da apresentação:

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.

3

4

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  

11


Carregar ppt "Geradores de analisadores léxicos"

Apresentações semelhantes


Anúncios Google