Analizador sintáctico
A analizador o parser (viene del inglés: parse – pasar por 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 esté traducido 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. Una cadena de instrucciones se analiza en un lenguaje de programación y luego se descompone en sus componentes individuales.
Como funciona
Para revisar el texto, los analizadores suelen utilizar un lexer separado (llamado lexer), que divide los datos de entrada en pestañas (símbolos de entrada como palabras). Los Lexers son generalmente máquinas finitas, que siguen la gramática habitual y, por tanto, prometen un desglose adecuado. Los tokens así obtenidos sirven como caracteres de entrada para el analizador.
El analizador actual maneja la gramática de los datos de entrada, realiza un análisis sintáctico de estos y como regla general crea un árbol de sintaxis (árbol de análisis). Esto se puede utilizar para el posprocesamiento 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 verifica, procesa y reenvía las instrucciones del código fuente.

Ejemplo de un árbol de análisis
Tipos de analizadores
Simplemente hay dos métodos de análisis diferentes, análisis de arriba hacia abajo y análisis de abajo hacia arriba. Por lo general, difieren en el orden en que se crean los elementos del árbol de sintaxis.
- De arriba a abajo: En el método de arriba hacia abajo, el analizador funciona en un método orientado a objetivos, lo que significa que busca desde el símbolo de inicio de la sintaxis y busca una derivación sintáctica adecuada. De esta manera, el árbol de análisis se desarrolla de arriba a abajo en la dirección de un desglose cada vez más detallado.
- De abajo hacia arriba: El analizador de abajo hacia arriba comienza con el símbolo de la cadena de entrada e intenta determinar el aumento de las relaciones sintácticas. Esto se hace hasta que se alcanza el símbolo de inicio de la gramática.
Aplicaciones
Un analizador se usa comúnmente para convertir texto en una nueva estructura, por ejemplo, un árbol de sintaxis, que expresa la disposición jerárquica de los elementos. En las siguientes aplicaciones, el uso de un analizador suele ser fundamental:
- La lectura de un lenguaje de programación se realiza mediante un analizador. Proporciona una estructura de datos al compilador, con la que se puede generar el código máquina o el código de bytes.
- El código HTML es inicialmente solo una cadena de caracteres para una PC que debe ser analizada por el analizador contenido en el navegador web. Proporciona una descripción de la página web como una estructura de datos que un motor de diseño puede proyectar en la pantalla.
- Los analizadores XML especiales son responsables de analizar los documentos XML y preparar la información contenida en ellos para su uso posterior.
- Los analizadores de URI descomponen esquemas complejos, como URL, en su estructura jerárquica.
- Los motores de búsqueda como Google extraen (analizan) el texto relevante para ellos de las páginas web descargadas con rastreadores. Se procesan y los datos analizados se pueden utilizar para la navegación.
conclusión
Hay más clasificaciones de tipos de analizadores al mismo tiempo de la subdivisión explicada en análisis de arriba hacia abajo y de abajo hacia arriba. Según la gramática analizada, se pueden realizar mejores rastreos en las páginas web con el analizador adecuado. Los motores de búsqueda siempre intentarán aprovechar al máximo este eficiente procedimiento de análisis web para proporcionar al usuario resultados de búsqueda rápidos e informativos.
