Un analizador sintáctico o parser (viene del inglés: parse – analizar una cadena o texto en componentes sintácticos lógicos) es un programa que normalmente es parte de un compilador. El compilador se asegura de que el código se traduce correctamente a un lenguaje ejecutable. La tarea del analizador es, en este caso, la descomposición y transformación de las entradas en un formato utilizable para su posterior procesamiento. Se analiza una cadena de instrucciones en un lenguaje de programación y luego se descompone en sus componentes individuales.
Para analizar un texto, los analizadores suelen utilizar un analizador léxico separado (llamado lexer), que descompone los datos de entrada en fichas (símbolos de entrada como palabras). Los Lexers son por lo general máquinas de finitas, que siguen la gramática regular y por lo tanto aseguran un desglose adecuado. Los tokens obtenidos de esta manera sirven como caracteres de entrada para el analizador sintáctico.
El analizador actual maneja la gramática de los datos de entrada, realiza un análisis sintáctico de éstos y como regla general crea un árbol de sintaxis (árbol de análisis). Esto se puede utilizar para el procesamiento posterior de los datos, por ejemplo, la generación de código por un compilador o ejecutado por un intérprete (traductor). Por lo tanto, el analizador es el software que comprueba, procesa y reenvía las instrucciones del código fuente.
Ejemplo de un árbol de análisis
Hay básicamente dos métodos de análisis diferentes, análisis de arriba hacia abajo (top-down) y análisis de abajo hacia arriba (bottom-up). Éstos difieren generalmente en el orden en el que se crean los elementos del árbol sintáctico.
Un analizador sintáctico se utiliza a menudo para convertir texto en una nueva estructura, por ejemplo, un árbol sintáctico, que expresa la disposición jerárquica de los elementos. En las siguientes aplicaciones el uso de un analizador es usualmente esencial:
Existen más clasificaciones de los tipos de analizadores además de la subdivisión explicada en el análisis de arriba hacia abajo y de abajo hacia arriba. Basándose en la gramática analizada, se pueden realizar mejores crawls en las páginas web con el analizador apropiado. Los motores de búsqueda siempre tratarán de optimizar este proceso de análisis eficiente de la web para proporcionar al usuario resultados de búsqueda rápidos e informativos.
Breadcrumb es una navegación secundaria dentro de una web (también llamada navegación de miga de…
Google Mobile hace referencia a todos los productos y servicios ofrecidos por Google Inc. con…
El término valor añadido (added value en inglés), tiene su origen en la administración de…
RankBrain es un nuevo subsistema de algoritmos que Google utiliza en la entrega de resultados…
El término ad exchange (intercambio de anuncios) se refiere a los mercados online, en los…
Esta web usa cookies.