FLEX E LEX

615 palavras 3 páginas
O LEX / FLEX servem para gerar automaticamente programas (usualmente em “C”) fazendo a leitura de uma entrada, de modo a varrer um texto e/ou programa (“scanners”) a fim de obter uma seqüência de unidades léxicas (“tokens”). Os tokens gerados pelos programas criados pelo LEX/FLEX serão usualmente processados posteriormente por um programa que realizará a analise sintática. Lex => Gerador de analisadores léxicos (UNIX – Ex.: Lex AT&T, Berkeley BSD) Flex => Gerador de analisadores léxicos (LINUX / Windows-DOS – GNU Lex) Entrada: Arquivo de descrição do analisador léxico Saída: Programa na linguagem “C” que realiza a análise léxica (default: lexyy.c) Outros geradores de analisadores: TPly – TP Lex / Yacc => Gera um programa em PASCAL (scanner em Pascal) JavaCC => Para linguagem Java Flex++ ou Flexx => Para linguagem C++ (orientado a objetos) Usando o FLEX: 1. FLEX -o .l *.l => Arquivos que contêm as definições das unidades léxicas a serem identificadas Contém um conjunto de especificações de expressões regulares que serão usadas para reconhecer os tokens. *.c => Arquivo do programa “C” que implementa o analisador léxico especificado. Principais opções do FLEX: -i => Case Insensitive (ignora diferença entre maiúscula/minúsculas) --version => Exibe a versão atual do programa flex em uso -+ => Geração de código de saída em C++ 2. GCC -o -lfl Observações importantes sobre a geração do programa de análise léxica: - É necessário linkar (-l) uma bibliotec (“lib”) do analisador léxico na compilação do código gerado. O FLEX usa a lib “fl” e o LEX usa a lib “l”. - O programa gerado pode ser executado, onde usualmente a entrada do texto a ser analisado é feita pela “stdin” (teclado). 3. Executar o programa gerado... Compiladores 1 – Prof. Osório Pag.: 2 EXPRESSÕES REGULARES – Usada pelo LEX / FLEX: [0-9] => Reconhece um dígito [a-zA-Z] => Reconhece uma letra (comum = sem acentos) [\ \t\n] => Reconhece um espaço em branco ou um tab ou uma nova linha xxxxx => Reconhece a

Relacionados

  • trabalho compiladores luciane unirp
    865 palavras | 4 páginas
  • compiladores
    1300 palavras | 6 páginas
  • Trabalho Lex Bom
    1841 palavras | 8 páginas
  • Desenvolverdor
    1464 palavras | 6 páginas
  • Flex
    2010 palavras | 9 páginas
  • 3 LexicalAnalysis RMoura 1
    1131 palavras | 5 páginas
  • Pesquisa sobre yacc/bison
    394 palavras | 2 páginas
  • TITULOS
    3479 palavras | 14 páginas
  • Orçamento empresarial tecnisa
    13394 palavras | 54 páginas
  • Tutorial JFlex
    1380 palavras | 6 páginas