Você está na página 1de 10

Generador de Analizadores Lxicos

LEX FLEX JLEX AT&T GNU Bison MKS Lex Abraxas Lex Posix Lex
etc.

Pasos para obtener Analizador Lxico


1. 2.

3.

Determinar los tokens Definir un patrn para cada uno Escribir los patrones en el formato de la herramienta
Generador de analizador lxico (herramienta)

Lexico.I

Lexico.java

especificaciones

Tabla de transiciones

Genera una tabla de estados y el cdigo que la recorre

Desarrollo de un analizador lxico con LEX


Programa fuente en LEX Lex.1

LEX

Lex.yy.c

Lex.yy.c

Compilador de C

a.out

Cdigo fuente o programa

a.out

Secuencia de componentes lxicos

Especificaciones en LEX
Un programa en fuente para el LEX consta de tres partes: Seccin de definiciones (declaraciones) %% Seccin de reglas (regla de produccin) %% Seccin de subrutinas usadas (procedimientos auxiliares)

ejemplo
%{

%}

#define #define #define #define #define #define

IF 1 ELSE 2 NUM 3 OPREL 4 PARAB 5 PARCE 6

digito [0-9] num {digito}+ letra [A-Za-z] ident {letra}({letra|digito))*

%% if return IF; else return ELSE; {num} return NUM; {ident} return IDENT; \( return PARAB; \) return PARCE;

%% main() { int ret; while((ret=yylex())!=0) { switch(ret) { case IF: ... break; case ELSE: break; } } }

Ejemplo
%{ /* * * * */ %}

ejemplo que reconoce si una palabra es verbo o no, para el idioma ingles. Solo algunos verbos

%% [\t ]+

/* ignora blancos*/

is | am | are | were | was | be | being | been | do | does | did | will | would | should | can | could | has | have | had | go {printf(%s: es un verbo\n, yytext)} [a-zA-Z]+ {printf(%s: no es un verbo\n,
yytext)}

.|\n

{ECHO;}

%% main() { yylex() }

Você também pode gostar

  • EQM Planproyecto
    EQM Planproyecto
    Documento15 páginas
    EQM Planproyecto
    Francis Huamanñahui Zavala
    Ainda não há avaliações
  • Ejercicios Reglas Pinky
    Ejercicios Reglas Pinky
    Documento1 página
    Ejercicios Reglas Pinky
    Francis Huamanñahui Zavala
    Ainda não há avaliações
  • Sub Consultas
    Sub Consultas
    Documento2 páginas
    Sub Consultas
    Francis Huamanñahui Zavala
    Ainda não há avaliações
  • Tarea BD
    Tarea BD
    Documento5 páginas
    Tarea BD
    Francis Huamanñahui Zavala
    Ainda não há avaliações
  • Analisis Sintactico Intro 5
    Analisis Sintactico Intro 5
    Documento26 páginas
    Analisis Sintactico Intro 5
    Francis Huamanñahui Zavala
    Ainda não há avaliações
  • 03 Numeros Aleatorios
    03 Numeros Aleatorios
    Documento35 páginas
    03 Numeros Aleatorios
    Francis Huamanñahui Zavala
    Ainda não há avaliações