 
 
 
 
 
 
 
 
 
 










 
 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