Documente Academic
Documente Profesional
Documente Cultură
Centro de Investigacin y
Transferencia de Tecnologa
Facultad: Ingeniera
Anlisis Lxico Escuela: Computacin
Asignatura: Compiladores
Contenido
En la presente gua se dar a conocer la manera en que un compilador realiza el anlisis lxico de un programa fuente.
Objetivos Especficos
Material y Equipo
Gua de laboratorio N 2.
Computadora con Netbeans 7 o superior.
Introduccin Terica
Lxico
El lxico de un lenguaje de programacin u otro lenguaje usado en informtica est constituido por todas las palabras y
smbolos que lo componen. En los lenguajes de programacin, el lxico lo constituyen los elementos individuales del
lenguaje denominados tokens. Los tokens son todas las palabras reservadas del lenguaje, los smbolos que denotan los
distintos tipos de operadores, identificadores (de variables, de funciones, de procedimientos, de tipos, etc.), separadores
de sentencias, y otros smbolos empleados en las distintas instrucciones del lenguaje.
Analizador Lxico
Al analizador lxico (scanner): lee la secuencia de caracteres del programa fuente, caracter a carcter, y los agrupa para
formar unidades con significado propio, los componentes lxicos (tokens en ingls). stos componentes lxicos
representan:
El analizador lxico opera bajo peticin del analizador sintctico devolviendo un componente lxico conforme el analizador
sintctico lo va necesitando para avanzar en la gramtica. Los componentes lxicos son los smbolos terminales de la
gramtica. Suele implementarse como una subrutina del analizador sintctico. Cuando recibe la orden obtn el siguiente
componente lxico el analizador lxico lee los caracteres de entrada hasta identificar el siguiente componente lxico.
2 Compiladores / Gua II / Ciclo 02 - 2017
Tabla de
Smbolos
Procedimiento
Siguiendo con el estudio del analizador lxico, se puede representar de la siguiente manera:
Donde cada accin es un fragmento de programa que describe cual ha de ser la accin del analizador lxico cuando la
secuencia de entrada coincida con la expresin regular.
Son una serie de caracteres que forman un patrn, normalmente representativo de otro grupo de caracteres mayor, de tal
forma que podemos comparar el patrn con otro conjunto de caracteres para encontrar las coincidencias.
Las expresiones regulares estn disponibles en casi cualquier lenguaje de programacin, pero, aunque su sintaxis es
relativamente uniforme, cada lenguaje usa su propio dialecto.
A continuacin, se presenta una aplicacin capaz de evaluar el lxico utilizado en una expresin que corresponde a un
lenguaje de programacin. Dicho programa hace las respectivas distinciones entre cada elemento que forma parte de las
expresiones (variables, palabras reservadas, smbolos, nmeros, etc.)
3 Compiladores / Gua II / Ciclo 02 - 2017
4 Compiladores / Gua II / Ciclo 02 - 2017
La idea es que el analizador lxico reconozca cada una de las representaciones que se encuentran en las expresiones del
lenguaje de programacin.
Cada vez que se desee hacer ms robusto nuestro analizador debemos agregar ms patrones en nuestro cdigo.
Ejercicios:
2. Modificar el ejemplo de manera que acepte ms palabras reservadas, por ejemplo: for, foreach, bool, int, double,
char, string.
5 Compiladores / Gua II / Ciclo 02 - 2017
Investigacin Complementaria
Bibliografa
Manuel Alfonseca Moreno, Marina de la Cruz Echeanda, Alfonso Ortega de la Puente, Estrella Pulido Caabate,
Compiladores: Teora y Prctica, Pearson Educacin, S.A., Madrid, 2006