You are on page 1of 3

UNIVERSIDAD NACIONAL DE INGENIERA Departamento de Lenguajes y Simulacin Gua de laboratorio II

Tema: Analizador Lxico Objetivo: Implementar un Analizador Lxico usando un Lenguaje de programacin. Integrantes: 1. ____________________________________________________________________ 2. ____________________________________________________________________ 3. ____________________________________________________________________ Trabajo Previo: Investigar sobre los analizadores lxicos y su forma de operacin Definir las expresiones regulares que se definirn en el implementado.

analizar lxico

Desarrollo del contenido del Laboratorio: 1. Entrar al software y ponerlo a punto para trabajar. 2. Escribir un programa analice lexicalmente las cadenas generadas por el usuario. 3. Desarrollar el informe del laboratorio en base al formato indicado en el siguiente punto. Orientaciones Generales 1. El documento debe de tener un formato, establecido, un mismo tipo de letra, tamao y justificado. 2. Seguir estrictamente el formato de reporte y sus elementos. 3. El tema ya est dado en la gua 4. El objetivo ya hay uno en la gua, sin embargo como grupo pueden crear ms objetivos. Los objetivos deben de ser capaces de cumplirse. 5. La introduccin debe apuntar a lo que el documento va a presentar. 6. El desarrollo son todas las actividades e instrucciones que estn en la gua. Comenten cada instruccin explicando lo que hace. 7. El reporte se entregar y defender en grupo, el da viernes 27 de abril 2012. Elementos de Reporte de Laboratorio Portada: o Universidad o Facultad o Asignatura o Docente o N de Laboratorio o Grupo o Nombre del Grupo (Ejemplo: Los Matemticos) o Integrantes, N de Carnet, e-mail o Fecha de Entrega Tema Objetivos Introduccin Actividades de Desarrollo Conclusin Referencias Bibliogrficas

Docente: Gabriel Rafael Lacayo Saballos E-mail: gabriellacayo@gmail.com

Martes 08 de Mayo del 2012 Grupo: 3T1,2,3-CO

UNIVERSIDAD NACIONAL DE INGENIERA Departamento de Lenguajes y Simulacin Gua de laboratorio II


Anexos

El compilador es un programa que se encarga de leer un archivo de determinado lenguaje de programacin y traducirlo al lenguaje mquina que es el conjunto de instrucciones que la computadora interpreta. Al ejecutar un programa nuestro compilador comienza 3 procesos de anlisis: Lxico. Sintctico Semntico

Para que el analizador lxico consiga el objetivo de dividir la entrada en partes, tiene que poder decidir por cada una de esas partes si es un componente separado y, en su caso, de que tipo. De forma natural, surge el concepto de categora lxica, que es un tipo de smbolo elemental del lenguaje de programacin. Por ejemplo: identificadores, palabras clave, nmeros enteros, etc. Los componentes lxicos (en ingls, tokens) son los elementos de las categoras lxicas. Por ejemplo, en C, i es un componente lxico de la categora identificador, 232 es un componente lxico de la categora entero, etc. El analizador lxico ir leyendo de la entrada y dividindola en componentes lxicos. En general, no basta con saber la categora la que pertenece un componente, en muchos casos es necesaria cierta informacin adicional. Por ejemplo, ser necesario conocer el valor de un entero o el nombre del identificador. Utilizamos los atributos de los componentes para guardar esta informacin. Un ltimo concepto que nos ser til es el de lexema: la secuencia concreta de caracteres que corresponde a un componente lxico. Por ejemplo, en la sentencia altura=2; hay cuatro componentes lxicos, cada uno de ellos de una categora lxica distinta: Categora Lxica Identificador Asignacin Entero Terminador Lexema Altura = 2 ; Atributos --------Valor: 2 -----

Categoras lxicas ms usuales. Algunas familias de categoras lxicas tpicas de los lenguajes de programacin son: 1. Palabras clave: Palabras con un significado concreto en el lenguaje. Ejemplos de palabras clave en C son while, if, return... Cada palabra clave suele corresponder a una categora

Docente: Gabriel Rafael Lacayo Saballos E-mail: gabriellacayo@gmail.com

Martes 08 de Mayo del 2012 Grupo: 3T1,2,3-CO

2. 3. 4.

5.

6.

UNIVERSIDAD NACIONAL DE INGENIERA Departamento de Lenguajes y Simulacin Gua de laboratorio II lxica. Habitualmente, las palabras claves son reservadas. Si no lo son, el analizador lxico necesitar informacin del analizador sintctico para resolver la ambigedad. Identificadores: Nombres de variables, nombres de funcin, nombres de tipos definidos por el usuario, etc. Ejemplos de identificadores en C son i, x10, valor_leido... Operadores: Smbolos que especifican operaciones aritmticas, lgicas, decadena,etc. Ejemplos de operadores en C son +, *, /, %, ==, !=, &&... Constantes numricas: Literales1 que especifican valores numricos enteros (en base decimal, octal, hexadecimal...), en coma octante, etc. Ejemplos de constantes numricas en C son 928, 0xF6A5, 83.3E+2... Constantes de carcter o de cadena: Literales que especifican caracteres o cadenas de caracteres. Un ejemplo de literal de cadena en C es "una cadena"; ejemplos de literal de carcter son 'x', '\0'... Smbolos especiales: Separadores, delimitadores, terminadores, etc. Ejemplos de estos smbolos en C son { , }, ;... Suelen pertenecer cada uno a una categora lxica separada.

Categoras Lxicas Especiales: 1. Blancos: En los lenguajes de programacin de alto nivel p de formato libre (C, Pascal, Lisp, etc.) los espacios en blanco, tabuladores y saltos de lnea slo sirven para separar componentes lxicos. En ese caso, el analizador lxico se limita a suprimirlos. En otros lenguajes, como Python, no se pueden eliminar totalmente. 2. Comentarios: Informacin destinada al lector del programa. El analizador lxico los elimina. 3. Fin de entrada: Se trata de una categora ficticia emitida por el analizador lxico para indicar que no queda ningn componente pendiente en la entrada. Tomado de: Universitat Jaume I 2010-2011, Ingeniera Informtica, Procesadores de lenguaje, Analizador lxico.

Los literales son secuencias de caracteres que representan valores constantes.

Docente: Gabriel Rafael Lacayo Saballos E-mail: gabriellacayo@gmail.com

Martes 08 de Mayo del 2012 Grupo: 3T1,2,3-CO

You might also like