You are on page 1of 5

Tutorial de JFLEX

1 Passo - Criao do arquivo .flex


O programa JFlex serve para se criar uma classe Java que faz a anlise lxica de qualquer arquivo texto. Para que o JFlex crie esta classe, devemos indicar para ele um arquivo .flex, que contm as regras da construo desta classe. Este um exemplo de arquivo para ser utilizado no JFlex: Teste.flex %% <<- Indica o incio das pr-definies <<- Faz com que a classe tenha uma funo "main" <<- Indica o nome da classe a ser gerada

%standalone %class Teste %{ int numA=0; %} %eof{ %eof} %%

<<- Contador para o nmero de letras A ou a

<<- Executar no final do arquivo texto

System.out.println("Numeros de A's = " + numA);

<<- Aqui comeam as regras da linguagem... { numA++; System.out.println("A"); } { System.out.println("Bin"); } { // ignora } <<- "a" ou "A"

[a|A] ((0|1)*) .

[ \n\t\r] { // ignora }

<<- Espao, pula-linha, tabulaes... <<- 0 ou 1 fechamento <<- Qualquer outra coisa

Repare que este arquivo composto de duas partes distintas, separadas por "%%". A primeira parte contm todas as declaraes globais da classe que vai ser construda, enquanto que a segunda parte possue as regras do analisador lxico. Ainda poderia ter uma terceira parte, onde definiramos o cdigo em Java de funes criadas por ns, como por exemplo se fizssemos uma funo que fosse escrevendo em um arquivo texto, etc.

2 Passo - Utilizando o JFlex


O prximo passo executar o JFlex, para que ele gere o arquivo Teste.java. Se voc instalou corretamente o JFlex, dever indicar para o programa o caminho do seu arquivo Teste.flex. Clique em "Generate" para criar o arquivo, e voc ver a seguinte mensagem:

Isto significa que o arquivo foi criado com sucesso. Repare que foi criado um Autmato No-Determinsco primeiramente, depois ele converteu para um Autmato Finito Determinsco, e depois minimizou os estados, o que resultou em um grafo com 10 estados. Mas e da, no verdade? O que importa que o JFlex gerou para voc um arquivo Teste.java, que voc pode compilar e executar.

3 Passo - Compilando e executando o Teste.java


Para compilar e testar o arquivo gerado muito fcil, pessoal. Eu utilizei o JCreator, mas voc pode utilizar qualquer outro mtodo, inclusive compilar e executar via linha de comando. Abra o JCreator e crie um Projeto vazio no diretrio onde est o Teste.java. Se estiver tudo certo, o arquivo estar aparecendo na aba FileView do JCreator:

Se voc compilar e executar o arquivo, ver a seguinte mensagem:

Isto porque, na funo main, ele espera que voc entre com o nome do arquivo texto a ser analizado pelo programa. Criando um arquivo texto qualquer no mesmo diretrio do Teste.class, voc pode passar o nome dele como parmetro.

Para configurar a execuo do Teste.class com parmetros, devemos configurar o JCreator. Entre no menu Project -> Project Properties, entre na aba JDKTools e escolha a opo Run Application no combo "Select Tool Type". Dois cliques no <default>, na aba Parameters ative a opo "Prompt for main method arguments".

Quando voc executar o programa, vai aparecer uma janela perguntando o nome do arquivo, digite Teste.txt e voc dever obter o seguinte resultado:

You might also like