Descargar

Expresiones regulares

Enviado por FRANCISCO RIOS ACOSTA


Partes: 1, 2

    edu.red 2 Expresiones regulares Palabras clave : expresiones regulares, definiciones regulares, cerradura, alternancia, concatenación, alfabeto, lenguajes, autómatas. 1.1 ¿ PORQUÉ LENGUAJES ?. Seguramente has escuchado, leído, o bien comentado acerca del “procesamiento electrónico de datos”, término que se utiliza para denotar al hecho de efectuar ciertas operaciones, tareas, desde simples hasta complicadas, teniendo como medio o herramienta una computadora, Fig. 1.1. Datos Datos de Entrada x, y COMPUTADORA (a) COMPUTADORA de Salida ?x+y? (b) No. de control Nombre Calif. parciales Calif. final de n alumnos para m grupos de r carreras COMPUTADORA COMPUTADORA Reporte estadístico del índice de aprobación de las r carreras en cierto instituto Período escolar (c ) Fig. 1.1 (a) Proceso electrónico de datos (b) Proceso electrónico de datos, relativamente simple (c) Proceso electrónico de datos, con operaciones mayores en cantidad y dificultad. 2

    edu.red 3 Expresiones regulares Hagamos la siguiente pregunta: ¿Cómo realiza la computadora, las operaciones citadas en la Fig. 1 (b) y (c) ?. Obviamente, tanto la obtención de la raíz cuadrada del valor absoluto de dos datos de entrada X y Y, como del reporte estadístico, representan un problema y éste es enfrentado, aplicando un algoritmo adecuado para su solución. Los algoritmos son introducidos a la computadora en forma de programas, Fig. 1.2. Algoritmo . . . . . . . . leer x leer y T1 = x + y T2 = | x + y | Z = sqrt(T2) COMPUTADORA Fig. 1.2 Programas. Asimismo , un programa está formado de un conjunto de instrucciones escritas (codificadas) en un cierto lenguaje de programación. Estas instrucciones manipulan los datos de entrada, (los reciben, los procesan), para convertirlos en información -“datos de salida”-. Y .. ¿ ésto ? ¿ Para qué me sirve ? !!! LyA 3

    edu.red 4 Expresiones regulares Así, el proceso electrónico de datos conlleva a la utilización de un computadora como recurso. La computadora requiere de programas y éstos a su vez, son entidades compuestas de instrucciones y datos, que se codifican en un determinado lenguaje de programación, Fig. 1.3. Proceso Electrónico de Datos Uso de Computadora Construcción de Programas Lenguaje de Programación Fig. 1.3 . La computadora como recurso en el P.E.D. Ahhh … LENGUAJES LyA Nuestro estudio comprenderá, la teoría formal para especificar, representar, definir y reconocer lenguajes de cualesquier naturaleza. Especialmente, nuestro interés serán los lenguajes de programación. ¿ Y los AUTÓMATAS ? LyA 4

    edu.red 5 Expresiones regulares 1.2 COMPILACIÓN. Supongamos que utilizamos un cierto lenguaje para expresarnos. Cualquier lenguaje en la construcción de las sentencias (instrucciones), requiere de observar ciertas reglas, denominadas reglas de sintáxis. Si no respetamos las reglas de sintáxis del lenguaje, nuestras sentencias pueden no ser entendidas, es decir, estamos cometiendo errores al hacer uso de ese lenguaje. Los compiladores son programas que se encargan de la tarea de revisar si un programa (programa fuente) de computadora, codificado (escrito) en un determinado lenguaje de programación, está libre de errores. Si así es, el compilador a su salida, nos proporciona un programa objeto, que generalmente es la traducción del programa fuente a código ensamblador o bien, un código ejecutable; de lo contrario nos informa con mensajes, de los errores encontrados, fig. 1.4. PROGRAMA FUENTE Compilador PROGRAMA OBJETO MENSAJES DE ERROR Fig. 1.4 Función del compilador. Vaya, vaya ! … Y luego qué ?? LyA 5

    edu.red 6 Expresiones regulares 1.3 ¿ PORQUÉ AUTÓMATAS ? El proceso de compilación de un programa se efectúa en dos fases: análisis y síntesis, fig. 1.5. Representación intermedia del programa fuente Programa fuente ANÁLISIS Errores SÍNTESIS Errores Programa objeto Fig. 1.5 Fases de un compilador. La fase de análisis tiene como entrada, el programa fuente. En base a este programa fuente, la fase de análisis construye una representación intermedia, ¿de quién?… pues del programa fuente, precisamente. En la fase de síntesis se toma de entrada a esta representación intermedia, para la generación del código que constituye al programa objeto. Pues no veo nada de los AUTÓMATAS. LyA Ocupémonos de la fase de análisis. La fase de síntesis no tiene relevancia para efectos de este curso. El análisis que toma al programa fuente como entrada, consiste a su vez de tres fases: 6

    edu.red 7 1. Análisis léxico. 2. Análisis sintáctico. 3. Análisis semántico.Expresiones regulares Programa Fuente ANÁLISIS LÉXICO ANÁLISIS SINTÁCTICO ANÁLISIS SEMÁNTICO hacia generación de código tokens árbol de parse intermedio Fig. 1.6 Fases de análisis de un compilador. La tarea principal del análisis léxico consiste en leer de izquierda a derecha, el programa fuente. El programa fuente es la entrada al analizador léxico y generalmente, reside en un a

    Partes: 1, 2
    Página siguiente