Você está na página 1de 6

PRACTICA N 05: ANALIZADOR LEXICO CON C++

1. OBJETIVOS:

Simular un compilador en Borland C++ de cdigo fuente a cdigo objeto.


Determinar el funcionamiento de un analizador lxico.

2. FUNDAMENTO TERICO:

2.1. Analizador Lxico:

El analizador lxico es la primera fase de un compilador. Su principal funcin consiste en


leer caracteres de entrada y elaborar como salida una secuencia de componentes lxicos
que utiliza el analizador sintctico para hacer el anlisis. Esta interaccin suele aplicarse
convirtiendo el analizador lxico en una subrutina o corrutina del analizador sintctico.
Recibida la orden obtn el siguiente componente lxico del analizador sintctico, el
analizador lxico lee los caracteres de entrada hasta que pueda identificar el siguiente
componente lxico.

El analizador lxico acta normalmente como un procedimiento que es llamado por el


analizador sintctico cuando este necesita un nuevo token. (Sanchez & Valverde, 1988)
El analizador lxico tiene que dividir la secuencia de caracteres en palabras con significado
propio y despus convertirlo a una secuencia de terminales desde el punto de vista del
analizador sintctico, que es la entrada del analizador sintctico.

Otras funciones que realiza:

Eliminar los comentarios del programa.


Eliminar espacios en blanco, tabuladores, retorno de carro, etc, y en general, todo
aquello que carezca de significado segn la sintaxis del lenguaje.
Reconocer los identificadores de usuario, nmeros, palabras reservadas del lenguaje, y
tratarlos correctamente con respecto a la tabla de smbolos (solo en los casos que debe de
tratar con la tabla de smbolos).
Llevar la cuenta del nmero de lnea por la que va leyendo, por si se produce algn error,
dar informacin sobre donde se ha producido.
Avisar de errores lxicos. Por ejemplo, si @ no pertenece al lenguaje, avisar de un error.
Puede hacer funciones de preprocesador.
3. PROCEDIMIENTO Y DESARROLLO:

Simularemos un compilador por lo cual emplearemos un lenguaje SIMPLE, el cual


ejecutara el proceso de anlisis lxico de un archivo de texto.
Procederemos a digitar el cdigo fuente proporcionado por la docente.
Al ejecutarlo, y probar con un cdigo en un archivo .txt, el analizador lxico funciona con
xito.
4. ANLISIS DE RESULTADOS

a) Qu es lo que muestra el programa?

Muestra el anlisis lxico que se hizo al archivo ejemplo.txt, donde escanea los tokens
permitidos; es decir, lee los elementos del cdigo fuentes y nos muestra en pantalla si los
datos son aceptados o si hubo algn error.

b) Coloque en el archivo ejemplo.txt algn carcter no reconocido por el lenguaje SIMPLE/0.


Vuelva a ejecutar la aplicacin generada por C++. Qu observ en la ejecucin? Cul es la razn
del resultado?

Se coloc el carcter $ , al momento de ejecutar solo analizo hasta el operador de


multiplicacin ,siguientemente se detuvo ya que el carcter $ no estaba definido como
lenguaje permitido en nuestro compilador.

c) Elimine el carcter ; de alguna de las instrucciones. Vuelva a ejecutar la aplicacin. Qu


observ en la ejecucin? Cul es la razn del resultado?

El programa ejecuto normalmente, esto sucede porque el analizador lxico solo aprueba
que los elementos del cdigo fuente ingresados seas reconocidos en su lenguaje
programado, mas no ejecuta funciones, eso sera parte del analizador sintctico.

d) Explique detalladamente que es lo que realiza la funcin siguienteToken().

En esa funcin, se analiza el cdigo carcter por carcter hasta que pueda identificar el
siguiente componente lxico reconociendo los valores que podran ser aceptados y que ya
estn definidos en el mini compilador, lo cual arrojara la seal de error o de aceptacin.
5. CONCLUSIONES:

Se logr simular con xito un mini compilador con un lenguaje simple pero de gran
relevancia para fines de estudio y demostracin.

Demostramos el funcionamiento de un analizador lxico, que es recibir y leer carcter por


carcter de un cdigo fuente proporcionada y determinar si pertenece a su lenguaje
programado.

6. REFERENCIAS BIBLIOGRAFICAS:

Traductores, Compiladores e Intrpretes: Anlisis lexicogrfico, Recuperado de:


http://www.lcc.uma.es/~galvez/ftp/tci/tictema2.pdf el 19 de Noviembre del 2016.

Autmatas y Compiladores: Funcin del Analizador Sintctico. Recuperado de:


http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro32/autocontenido/autocon/31_fu
ncion_del_analizador_sintctico.html el 19 de Noviembre del 2016.

Sanchez, G., & Valverde, J. (1988). Compiladores e Interpretes: Un enfoque pragmatico.


Madrid: Diaz de Santos.

Você também pode gostar