Título

Reconocedor de lenguajes con base en gramáticas formales

Autor

HORACIO ALBERTO GARCIA SALAS

Colaborador

EDUARDO RENE RODRIGUEZ AVILA (Asesor de tesis)

Nivel de Acceso

Acceso Abierto

Resumen o descripción

"Durante esta investigación se desarrolló un sistema reconocedor de lenguajes basado en gramáticas formales. Es una herramienta informática que condensa algunas de las técnicas utilizadas en el desarrollo de metacompiladores y permite que un lenguaje de programación sea reconocido por el sistema con sólo describirlo a través de su gramática. Es un metacompilador descendente recursivo que integra tanto el analizador léxico como el sintáctico en un solo analizador, permitiendo que el código fuente del sistema sea reducido.Tomando en consideración potenciales programadores de este sistema, lo más importante es que cuenten con una manera útil y sencilla para describir sus lenguajes. Por esta razón, se ha implementado una interfaz que permite leer la gramática desde un simple archivo de texto y que la descripción de la gramática del lenguaje se haga por medio de reglas de producción con una notación clara y sencilla. Con el fin de explicar el funcionamiento y la construcción de este sistema, a través de las páginas de este trabajo se hablará primeramente, de manera introductoria, de la teoría de los lenguajes en términos computacionales, que a diferencia del enfoque lingüístico, centra su atención en el desarrollo de herramientas computacionales, cuyo principal objetivo es la creación de software para el procesamiento automático de los lenguajes, específicamente lenguajes de programación o computacionales. En este sentido, la idea es que los lenguajes de programación sean más amigables y que impongan menos restricciones, de manera que los programadores tengan mayor libertad para expresar su creatividad, utilizando lenguajes de programación cuyas oraciones sean más parecidas a las utilizadas en el lenguaje natural. Se hace una reseña acerca de la historia de los lenguajes computacionales. Empezando con el que es considerado el primer lenguaje de programación, el Plankalkül, hasta el lenguaje Java que es de los lenguajes más utilizados actualmente. Como toda ciencia, la de la computación basa su desarrollo en la evolución de los descubrimientos, aplicando nuevas técnicas y conocimientos a los descubrimientos previos, con el fin de obtener resultados más eficientes que los anteriores. Se presenta una descripción de las gramáticas formales, así como su clasificación en gramáticas irrestrictas, sensibles al contexto, libres de contexto y regulares. La mayoría de los lenguajes de programación pueden ser descritos por medio de este tipo de gramáticas, por lo que, una de las áreas que ha obtenido beneficios del empleo de gramáticas es la de desarrollo de compiladores. Se describen las principales características de los compiladores como herramientas necesarias para la traducción de programas fuente escritos en lenguaje de alto nivel a lenguaje máquina. En este sentido, se hace referencia de acuerdo a su compilador a dos tipos de lenguajes, interpretados y compilados. Una vez explicada la teoría sobre la que se basa el desarrollo de esta investigación, se describe el funcionamiento y la manera en la que se llevó a cabo la construcción del sistema. Este sistema consiste de cuatro funciones, dos de ellas se utilizan para hacer un preprocesamiento de la gramática, que permite identificar en las reglas de producción los diferentes símbolos que las constituyen, así como almacenarlas en la memoria primaria con el fin de que estén disponibles al momento de la ejecución. Otra función se encarga del código fuente, lo almacena en un arreglo y en caso de ser necesario elimina los separadores. La cuarta es la función principal y es recursiva, se encarga de verificar la estructura de las oraciones y que sean construidas únicamente con símbolos que pertenezcan al alfabeto del lenguaje. Después de haber explicado el funcionamiento y la construcción del sistema, se presentan algunas pruebas de lenguajes que es posible reconocer. En estos ejemplos, se muestra la sencillez con la que se describen las reglas de producción de la gramática de un lenguaje. Finalmente, se proporciona el código fuente del sistema."

Fecha de publicación

2007

Tipo de publicación

Tesis de maestría

Formato

application/pdf

Idioma

Español

Repositorio Orígen

REPOSITORIO UPIICSA IPN

Descargas

0

Comentarios



Necesitas iniciar sesión o registrarte para comentar.