Está en la página 1de 31

ANÁLISIS LÉXICO

m EXPONENTES:

STEPHANIE URRUTIA BRITO


JORGE MUSIO TORRES
 uEFINICIÓN :

6    
 6   6  6 6 

   66

66 6 6 
 
 66 6 6
  

 
       
 6 

 66    




LA FUNCIÓN uEL ANALIZAuOR LÉXICO

Como la primera fase de un compilador , la


principal tarea del analizador léxico es leer los
caracteres de la entrada del programa fuente.



ë   ANALIZAuOR ANALIZAuOR  



 LEXICO SINTACTICO 

w 


TABLA uE
SIMBOLOS
COMPARACIÓN ENTRE ANÁLISIS LÉXICO Y
ANÁLISIS SINTÁCTICO

Existen varias razones por las cuales la parte


correspondiente al análisis de un compilador
se separa en fases de análisis léxico y análisis
sintáctico.
I. La sencillez en el diseño es la consideración mas
importante. La separación del análisis léxico y el
análisis sintáctico a menudo nos permite simplificar una
de estas tareas.

II. Se mejora la eficiencia del compilador. Un analizador


léxico separado nos permite aplicar técnicas
especializadas que sirven solo para la tarea léxica.

III. Se mejora la portabilidad del compilador. Las


peculiaridades especificas de los dispositivos de entrada
pueden restringirse al analizador léxico.
TOKENS, PATRONES LEXEMAS

Al hablar sobre el análisis léxico, utilizamos tres


términos distintos, pero relacionados:
Ñ Un token es un par que consiste en un nombre de token
y un valor de atributo opcional.

Ñ Un patrón es una descripción de la forma que pueden


tomar los lexemas de un token.

Ñ Un lexema es una secuencia de caracteres en el


programa fuente, que coinciden con el patrón para un
token y que el analizador léxico identifica como una
instancia de ese token.
EJEMPLOS uE TOKENS

token uESCRIPCION INFORMAL LEXEMAS uE EJEMPLO


  
  
   
    
     
 
  

 
 $
     

   %&'(')*+&$$%

     
!  "# ! "
ERRORES LÉXICOS

Sin la ayuda de los demás componentes es difícil


para un analizador léxico saber que hay un error en
el código fuente. Por ejemplo si la cadena fi se
encuentra por primera vez en un programa en C en el
siguiente contexto:

fi( a ==f(x))«
RECONOCIMIENTO uE TOKENS


    ,  
  
   

 
-      
   ,  
         
  .   / 
              & 0 

    1    
 ./2

 
m if   then  

3 if   then  
   


  m
  opre
 
3
 

  m id
3 numero

4  %&'2    
     
  
.  &
0/  %&52 0  
   
     %&'
 .         
   .   
       & 0
 
         /
ë   then        
   
  &

ë  oprel           /


 ë  67      8    9     8  
  9    
   

  
 
   &


       
   
1        
    .   
-        ,
  
&  
    

-    .

               %&''&
 
           &

 m :;*<

 m 
 =
  m 
 >& ?
@ A >0 :=;< A 
@ A

 m : ;B;,<
 m 
> 
3 
@ A
 m 

1 m
1
  m  
  m  3  3  3  3  3  

4  %&''2      
-   /  %&5

ë  
  /    ,       .   C 
1 
            
        
 & ë      C  1   D  
  .   C
.   .   CE     

            
  

 &
        ,   
./       
.       8
- 9 F    2

F m>.   3
. 3 C   @ =

 .  
.  C    .  .

  
 ,  
     
  6GG    . & 0
- F  

  
 
-                ,


         ,    
   
  C
     .  & 0 

-     C C 
  , 

&
uIAGRAMAS uE TRANSICION uE ESTAuOS
  
     
     ,  
    C
  
       / 
 , 
      8   
   
 9&
H ,    C    
          
   
   
      &

   


   

        
    
&  
  
     
     
          
 .  
         C  
 & ë    

    
   . .    
 
   1 C
 
  
     

 C &
        
  
    
  

&     

 
  .    /
 
. & 6   
  
 
    
 .  

   .         
   



   >
 C,  
 . 
. @& 6  

1   C ,  
 C   
  
 
  
   
   C   &  

 
   
   
 

  
        1         
  
    .    
  

&
Algunas convenciones importantes de los diagramas de transición de
estados son:

'&; 6   


 
   
     & 0
 
    
1  
         

 C,   
 
 
  
  
      C & 6     

 
 
     .    1   ,    > 
   C C 
-   C   
.
    , 

@ 
/
   
  
 &

$&;       


  
 C     >    
       .    C  
  
 @ 
 
.            I    
  
 & 0

 /       
  C           
    /
      I   
  
 &

%&; J 
      
   E 
    
    


  8   9    C      
& 0   
 
  ,   
    
     .   
&
Ejemplo 3.9

   %&'%     


   
    
      
   & 0,   
   

  & 6 C      .   
 
   
 
       
        C     
& ë 

   
 '    ,  
  
 & 6 
 
          
 $  C C 

-     
.
 0   

 .    
  

     & 6   
 '  
  
 
 
 
          
 %   C C  
     1  
    8     9& 0  

  
          
 (   C C 
   & 6 .  . C   
 (
   I     
. 
  
    &
Figura 3.13 uiagrama de transición de estados para oprel&

   
 ' $ H
 >  0@


% H
 >  N0@

I


( H
 >  M@


) H
 >  07@

 K H
 >  L0@
 +

I
5

 H
 >  LM@
ë 
     
      
  C  

  
  
 .     & ?  

C C  11   
 )&  .  

 
     
  & 0
  .   
 + 
   .  
  
        > C 

     @     >   
  
 @&
O. C     
  C    
   
      .   
 C         
  
 ,  
   
   
&
RECONOCIMIENTO uE LAS PALABRAS RESERVAuAS E
IuENTIFICAuORES.
0  
    .   C   
   
   . &
ë        .   C   
1   C >  

./@      
        &     
       
   
       %&'(  
.    
  
       .   C 
1 
   
 ./&




  
 

I
* ' ''
H
 >.
  
- >@ 
  
G?>@@
4 %&'(  
  
 
 >@
 .  C&
FINALIZACION uEL BOSQUEJO.

0   
    
-    C     %&'(

    

   & 0,    
 *  . 
       
     
 '    
 & ë     
 '       


  
  
& 
   
     

   
  
   
 ''  
   
 
&   
  
    
  
 
. 
  
      
  
1  
  
.   .   
   
 
   .   C   C   
 &
0   
   
   
-    
    
%&'+   1
 1       /  1 C
& 0,  
 
 '$  C      
 '%& 0  
 
      
   & N .

  C    
  
   
 1 C
        
 E '$%  
/ & ë   /     
 $    C C 

-     


   
.    

     
 
   
& 0
     
         
        /  
 &


 
 



 =; 


 0 I


'$ '% '( ') '+ 'K '5 '*

0 
 4&%&'+ 
 

 I I
$ 
 $'

    
D   &
6  C,    C  
   
 '% 
 
    8
    9& ë  
 '(  .     

  E   
 ')  
 ,   
  & 6 C   0 
 

   8   
   9   
 
./  

 '+  '*& 6   
 ') C        0   


  1           1   
  C C
    
 
  
 $'&

0   
   
      
     %&'K 
     .  & 0    .      
  
8   .   8  
  delim    E  
   
  
    
.    
   C
  
 C, 
  
    P   /     

   D
- &

 

    
 I
$$ $% $(

4 %&'K2J ? 


     .  &
O. C     
 $( 1  
  .    
  
  .    
C     
     
.  & H   
        
   
  .            , 

   
.              
.  &

ARQUITECTURA uE UN ANALIZAuOR LÉXICO BASAuO EN


uIAGRAMAS uE TRANSICIÓN uE ESTAuOS.

Q C        


 ,     
  

    
    ,  & 6 
  


     
   
 
   ,  & ë
    C .  
  
      
 
  
   
   
& J   
 6F
1  .  
C   
  C        .  
 
   
     
&       

       
 6
1    .   C  C 

    
 
 
          

  
  
&
EL GENERAuOR uE ANALIZAuORES LÉXICOS LEX

J  1 
            
 

    
     ,   
 
            . 
  
- &
 
  
    1 
       /
    1 
        &
0   
    
   
     

          1C   &&    



  
  &        

 
          
  &
USO uE LEX

   %&$$     


 ,   & J  1C  
  
   &  
  
    /    .    ,  
  C     & 0   
     &       
   1C       &&& 0       

 1C    1C  &
   
. &     
        ,         .   / 
 
   
        
- &

0               &


   
%&$$     . 
     , 

& 0       
C C  
     
         . 
.   
- & 0 C   
.
   
    

  
.   .          C .   .
 C $    
 
    ,       ,


           C C

  .  
 .    C   
.
  
- &
4 %&$$2     ,     &
ESTRUCTURA uE LOS PROGRAMAS EN LEX

J     
   
  2

?   
RR
H  

RR
4      

               C .   



 
 
 >
          
    

E 
/   .   
- @       &
       

   
  2

ë
 S  T

 
                
          &      
 
        
      1   1 C 

   
 , 
  /&

    
           
 ,    & ?
   
 
C 
               
   ,  &
0   ,      
./   /
     ,


     ,   
 ,    
  

   
   C, 1
   
   /     

         
  ë& ? /
  
 & ë            , 

     
1 >
 C, .   ë  .   .    
 @

     ,      .      1
 
        
  C  
     ,


&

También podría gustarte