Você está na página 1de 14

Escuela Superior de Cmputo

Autmatas del
analizador lxico C
Compiladores

Cruz Cruz Jorge


Feregrino Bolaos Antonio
Gonzales Rodrguez Florencio Javier
6-3-2013

Compiladores

Analizador lxico

Introduccin
Dada la complejidad de realizar un analizador lxico, se tiene que dividir en varias partes, cada una
controlada por un autmata. Los que empleamos para llevar a cabo el nuestro fueron los
siguientes. Los ordenamos segn la precedencia (mayor a menor)

Consideraciones
Dado el tamao de algunos autmatas, se ha simplificado la notacin en algunos casos mediante
el uso de agrupaciones.

Compiladores

Analizador lxico

Autmata que reconoce identificadores malformados


Este autmata se encarga de encontrar errores en los identificadores, reconocer cadenas del
tipo:

4fx
444tw_
8yx

Expresin regular
[0-9]+[a-zA-Z0-9_]+

Representacin grfica

Compiladores

Autmata que reconoce nmeros flotantes


Encargado de interceptar las expresiones de tipo

0.11111
90.32
100.0001

Expresin regular
[0-9]+. [0-9]+

Representacin grfica

Analizador lxico

Compiladores

Autmata que reconoce nmeros enteros


Importante para el analizador, se encarga de validar las expresiones:

24212
990231
1

Expresin regular
[0-9]+

Representacin grfica

Analizador lxico

Compiladores

Autmata que reconoce palabras reservadas


Realiza el trabajo de reconocer algunas palabras reservadas de C, estas son fijas.

Expresin regular
(main)|(goto)|(return)|(signed)|(sizeof)|(typedef)|(union)|(unsigned)

Representacin grfica

Analizador lxico

Compiladores

Analizador lxico

Autmata que reconoce estructuras repetitivas


Al ser estas palabras reservadas la expresin regular para validarlas es un poco esttica

Expresin regular
(for)|(break)|(continue)|(do)|(while)

Representacin grfica

Compiladores

Autmata que reconoce estructuras selectivas


Estticas, similares a las estructuras repetitivas

Expresin regular
(switch)|(case)|(else)|(if)|(default)

Representacin grfica

Analizador lxico

Compiladores

Autmata que reconoce tipos de dato


Expresin regular
(char)|(int)|(long)|(short)|(float)|(double)|(void)

Representacin grfica

Analizador lxico

Compiladores

Autmata que reconoce los identificadores


Expresin regular
[a-zA-Z_]+[a-zA-Z0-9_]*

Representacin grfica

Analizador lxico

Compiladores

Autmata que reconoce especificadores de formato


Expresin regular
%(d|i|u|o|x|X|f|F|e|E|g|G|a|A|c|s|p|n|%)

Representacin grfica

Analizador lxico

Compiladores

Autmata que reconoce operadores de incremento/decremento


Expresin regular
(++)|(--)|(+|-|*|/|%)=

Representacin grfica

Autmata que reconoce operadores aritmticos


Expresin regular
+|-|*|/|%

Representacin grfica

Analizador lxico

Compiladores

Autmata que reconoce operadores relacionales


Expresin regular
<|>|(>=)|(<=)|(!=)|(==)

Representacin grfica

Autmata que reconoce el operador asignacin


Expresin regular
=

Representacin grfica

Analizador lxico

Compiladores

Autmata que reconoce los operadores lgicos


Expresin regular
!|(&&)|(||)

Representacin grfica

Autmata que reconoce caracteres especiales


Expresin regular
{|}|[|]|(|)|;|,|.

Representacin grfica

Analizador lxico

Você também pode gostar