










Sig: Final de Fichero
Sup: La pila de estados
Ant: La pila de estados
Err: Si hallas una errata ...
El siguiente programa flex utiliza las funciones de la pila
de estados para reconocer el lenguaje (no regular)
%option main
%option noyywrap
%option stack
%{
#include <stdio.h>
#include <stdlib.h>
%}
%x estado_a
%%
^a { yy_push_state(estado_a);}
<estado_a>{
a { yy_push_state(estado_a); }
b { yy_pop_state(); }
b[^b\n]+ { printf ("Error\n");
while (YYSTATE != INITIAL)
yy_pop_state();
while (input() != '\n') ;
}
(.|\n) { printf ("Error\n");
while (YYSTATE != INITIAL)
yy_pop_state();
while (input() != '\n') ;
}
}
. { printf ("Error\n");
while (input() != '\n') ;
}
\n { printf("Aceptar\n");}
%%











Sig: Final de Fichero
Sup: La pila de estados
Ant: La pila de estados
Err: Si hallas una errata ...
Casiano Rodríguez León
2012-05-22