Algoritmo de análisis sintáctico eficiente y modelado semántico
Un analizador sintáctico es una herramienta que nos permite determinar la estructura sintáctica de un programa fuente.
Existen tres tipos generales de analizadores para las gramáticas: universales, descendentes y ascendentes. Estos analizadores pueden ser creados de manera manual o de manera automática. Para los creados de manera automática es necesario contar con algoritmos, ya que éstos inducen representaciones a partir de ejemplos donde el conocimiento ya ha sido aplicado.
Un algoritmo es un listado definido, ordenado y finito de operaciones para hallar solución a un problema. Para determinar estructuras sintácticas de programas fuente contamos con algoritmos reconocidos como: el Cocke-Younger-Kasami, el algoritmo de Early, el Left-Corner, Recursive-Descent, entre otros.
Modelado semántico
Consiste en estudiar los datos que se pretenden almacenar antes de elegir el modelo de datos concreto que se va a usar para su manipulación. El modelado semántico permite separar el análisis (¿qué?) del diseño (¿cómo?).
Fuente: Apuntes de Informática VII de la FCA de la UNAM