next up previous contents
Next: Análise sintática Up: Analisadores léxicos Previous: Integração com código C   Sumário

Geração da aplicação

Nesta seção ilustra-se a utilização de uma das implementações do programa lex, que é o aplicativo flex, disponível para diversas plataformas computacionais. A sintaxe dos comandos apresentadas correspondem à utilização do aplicativo com o sistema operacional Unix.

Considere como exemplo que a especificação lex apresentada no Algoritmo 3.2 foi escrita em um arquivo que recebeu o nome unsint.l, onde .l é uma extensão padrão para esse tipo de arquivo. Para gerar o analisador léxico, flex é invocado recebendo esse arquivo como entrada:

   > flex  unsint.l

A execução desse comando gera um arquivo-fonte C de nome lex.yy.c, que implementa os procedimentos do analisador léxico. Para gerar o código executável, este programa deve ser compilado e ligado com a biblioteca libfl, que contém os procedimentos internos padrões de flex

   > gcc -o aliss lex.yy.c -lfl
(Bibliotecas são descritas na Seção 4.6.1.)

O arquivo executável aliss conterá o analisador léxico para inteiros sem sinal. Se invocado sem argumentos, aliss irá aguardar a entrada do teclado para proceder à análise das strings; o término da execução será determinado pela entrada do caráter control-D. Se for invocado com um argumento na linha de comando, aliss irá interpretar esse argumento como o nome de um arquivo que conterá o texto que deve ser analisado, processando-o do início ao fim.


next up previous contents
Next: Análise sintática Up: Analisadores léxicos Previous: Integração com código C   Sumário
Ivan L. M. Ricarte 2003-02-14