ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Teoria de la computacion.Aplicación de gramáticas y lenguajes formales


Enviado por   •  20 de Febrero de 2023  •  Apuntes  •  2.205 Palabras (9 Páginas)  •  56 Visitas

Página 1 de 9

                                                                                                                                                                             23-marzo -2022

TEORIA DE LA COMPUTACION.

PROFESOR: Gómez Andrade Abelardo.

ALUMNA: De La Cruz Martinez Amanda.

CODIGO: 221802034.

ACTIVIDAD 6

Aplicación de gramáticas y lenguajes formales

Referencias:

Texto A.

 Texto B.

http://www2.iib.uam.es/bioinfo/curso/perl/tutoriales/cicei/cap6.htm

https://www.tokioschool.com/noticias/lenguajes-programacion-inteligencia-artificial/

1.-Lenguajes de Programación

Cada lenguaje de programación tiene reglas precisas, las cuales prescriben la estructura sintáctica de los programas bien formados. La sintaxis de las construcciones de un lenguaje de programación puede especificarse mediante gramáticas libres de contexto o la notación BNF (Forma de Backus-Naur). Un lenguaje usado para definir otros lenguajes.

Las gramáticas ofrecen beneficios considerables, tanto para los diseñadores de lenguajes como para los escritores de compiladores.

Una gramática proporciona una especificación sintáctica precisa, pero fácil de entender, de un lenguaje de programación. A partir de ciertas clases de gramáticas, podemos construir de manera automática un analizador sintáctico eficiente que determine la estructura sintáctica de un programa fuente. La estructura impartida a un lenguaje mediante una gramática diseñada en forma apropiada es útil para traducir los programas fuente en código objeto correcto, y para detectar errores. Una gramática permite que un lenguaje evolucione o se desarrolle en forma iterativa, agregando nuevas construcciones para realizar nuevas tareas.

Las gramáticas para las expresiones son suficientes para ilustrar la esencia del análisis sintáctico, ya que dichas técnicas de análisis para las expresiones se transfieren a la mayoría de las construcciones de programación.

En nuestro modelo de compilador, el analizador sintáctico obtiene una cadena de tokens del analizador léxico y  verifica que la cadena de nombres de los tokens pueda generarse mediante la gramática para el lenguaje fuente. Esperamos que el analizador sintáctico reporte cualquier error sintáctico en forma inteligible y que se recupere de los errores que ocurren con frecuencia para seguir procesando el resto del programa. De manera conceptual, para los programas bien formados, el analizador sintáctico construye un árbol de análisis sintáctico y lo pasa al resto del compilador para que lo siga procesando.

Existen tres tipos generales de analizadores para las gramáticas: universales, descendentes y ascendentes. Los métodos que se utilizan, por lo regular, en los compiladores pueden clasificarse como descendentes o ascendentes, los métodos descendentes construyen árboles de análisis sintáctico de la parte superior (raíz) a la parte inferior (hojas), mientras que los métodos ascendentes empiezan de las hojas y avanzan hasta la raíz.

Si un compilador tuviera que procesar sólo programas correctos, su diseño e implementación se simplificaría en forma considerable. No obstante, se espera que un compilador ayude al programador a localizar y rastrear los errores que, de manera inevitable, se infiltran en los programas, a pesar de los mejores esfuerzos del programador.

La planeación del manejo de los errores desde el principio puede simplificar la estructura de un compilador y mejorar su capacidad para manejar los errores. Los errores de programación comunes pueden ocurrir en muchos niveles distintos

  • Los errores léxicos incluyen la escritura incorrecta de los identificadores, las palabras clave o los operadores.
  • Los errores sintácticos incluyen la colocación incorrecta de los signos de punto y coma, además de llaves adicionales o faltantes.
  • Los errores semánticos incluyen los conflictos de tipos entre los operadores y los operandos. U
  • Los errores lógicos pueden ser cualquier cosa, desde un razonamiento incorrecto del programador.

2.-Procesamiento de Lenguajes Naturales

(En el área de la Inteligencia Artificial)

EProcesamiento del Lenguaje Natural es el campo de conocimiento de la Inteligencia Artificial que se ocupa de investigar la manera de comunicar las máquinas con las personas mediante el uso de lenguas naturales.

La comunicación es el intercambio intencional de información efectuado mediante la producción y percepción de signos pertenecientes a un sistema compartido de signos convencionales.

Una de las acciones que puede realizar un agente es la de producir lenguaje. Esta acción es llamada un acto de habla. Es usado en el mismo sentido que libertad de palabra, no estrictamente hablado de forma que, el correo electrónico, las señales de humo y el uso del lenguaje de signos son considerados todos ellos como actos de habla.

La tarea de los agentes que se comunican es decidir cuándo se le solicita un acto de habla de alguna clase y qué acto de habla, de entre todas las posibilidades, es el correcto. El problema de entender los actos de habla es similar a otros problemas de comprensión, tales como interpretar imágenes o diagnosticar enfermedades.

Un lenguaje formal se define como un (posiblemente infinito) conjunto de cadenas. Cada cadena es a su vez una concatenación de símbolos terminales, algunas veces llamados palabras. Los lenguajes formales, tales como la lógica de primer orden o Java, tienen definiciones matemáticas estrictas. Esto contrasta con los lenguajes naturales, tales como chino, danés, inglés y castellano, que no tienen definiciones estrictas y son usados por una comunidad de hablantes. Una gramática es un conjunto finito de reglas que especifican un lenguaje. Los lenguajes formales siempre tienen una gramática oficial. Los lenguajes naturales tienen gramáticas no oficiales, pero los lingüistas se afanan en descubrir propiedades del lenguaje por medio de un proceso de investigación científica y entonces codificar sus descubrimientos en una gramática.

...

Descargar como (para miembros actualizados)  txt (14.6 Kb)   pdf (227.3 Kb)   docx (611 Kb)  
Leer 8 páginas más »
Disponible sólo en Clubensayos.com