| INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO |

Introducción | Contenido | Bibliografía

Introducción
Contenido
UNIDAD I Introducción 1.1 Lenguajes y Gramáticas 1.2 Clasificación de las Gramáticas 1.3 Derivaciones y Reducciones

1.4 Árboles de sintaxis

1.5 Gramáticas Ambiguas

1.6 Formas de Backus-Naur (BNF)

UNIDAD II
UNIDAD III
UNIDAD IV
UNIDAD V
UNIDAD VI
UNIDAD VII
UNIDAD VIII
UNIDAD IX
PROBLEMARIO
Bibliografía

Introducción

> Uno de los principales mecanismos de comunicación entre una computadora y una persona viene dado por el envío y recepción de mensajes de tipo texto: el usuario escribe una instrucción mediante el teclado, y la computadora la ejecuta devolviendo un mensaje informativo sobre las acciones llevadas a cabo.

> Aunque la evolución de las computadoras se encuentra dirigida actualmente hacia el empleo de novedosas y ergonómicas interfaces de usuario (como el ratón, las pantallas digitales, las tarjetas de gráficos, y todos aquellos dispositivos que en su desarrollo busquen la optimización integral entre el hombre y la máquina), podemos decir que casi todas las acciones que el usuario realiza sobre estas interfaces se traducen antes o después a secuencias de instrucciones que son ejecutadas como si hubieran sido introducidas por teclado.

> Desde el punto de vista del profesional de la computación, el trabajo que éste realiza se encuentra plagado de situaciones en las que se produce una comunicación textual directa con la máquina, a través de la utilización de un intérprete de instrucciones (shell), la construcción de archivos de trabajo por lotes, la programación mediante diversos lenguajes y en general todas aquellas aplicaciones que permiten la interacción hombre – máquina, lo cual en muchos casos se realiza mediante un compilador.

> Existe una gran cantidad de situaciones en las que puede ser muy útil conocer cómo funcionan las distintas partes de un compilador, especialmente aquélla que se encarga de traducir los textos fuentes y convertirlos en frases sintácticamente válidas.

> Un ejemplo de gran utilidad en el trabajo diario en una oficina, sería el caso de tener un documento en formato de texto, el cual almacena la información de los empleados de la compañía, es decir, incorpora en si mismo una base de datos. La pregunta que nos plantearíamos para resolver este problema sería: ¿Cómo obtener la base de datos original a la que hace referencia el documento en cuestión?. Basándose en que la estructura del documento está formada por bloques que se repiten, la solución podría ser:

> - Convertir el documento a formato texto puro.

> - Procesar dicho texto con un compilador para eliminar los caracteres superfluos y dar como resultado otro texto en el que cada campo de la tabla de la base de datos está entre comillas.

> - El texto anterior podría importarse a cualquier sistema gestor de bases de datos y con ello evitar el trabajo de captura de datos.

> Otras aplicaciones en donde los compiladores cobran relevancia, es la creación de preprocesadores para lenguajes que no lo tienen incorporado, por ejemplo, para trabajar lenguaje SQL embebido en un lenguaje de tercera generación (por ejemplo C), esto se realiza mediante un preprocesador. Otra aplicación común se refiere a la conversión del carácter ASCII 10 (LF) en “<br>” de HTML para pasar texto a la web.

> Existen muchas situaciones en las cuales el uso de un compilador es imprescindible. Por tal razón, el aprendizaje de los componentes del mismo son muy importantes en la formación de profesionales de la computación.

Atrás Siguiente

##### Introducción / Contenido / Unidad I / Unidad II / Unidad III / Unidad IV / Unidad V / Unidad VI / Unidad VII / Unidad VIII / Unidad IX / Problemario / Bibliografía

##### Inicio

##### Créditos

José Sánchez Juárez, Andrés Ortigoza Campos, Fabiola Ocampo Botello