Introducción

Advertencia

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombres de sus funciones y todo lo documentado sobre esta extensión, puede cambiar en una futura edición de PHP sin previo aviso. El uso de esta extensión queda bajo su propia responsabilidad.

La extensión parle proporciona facilidades de lexing y parsing de uso general. La implementación se basa en las bibliotecas de » estas librerías y requiere un compilador compatible con » C++14. El análisis léxico se basa en la correspondencia regex, el análisis sintáctico es LALR(1). Los analizadores se generan sobre la marcha y pueden ser utilizados inmediatamente después de haber sido finalizados. Parle maneja el análisis léxico y sintáctico, la representación y el tratamiento de las estructuras de datos apropiadas son tarea del implementador. La serialización y la generación de código no son soportadas por la extensión, por el momento.

El analizador léxico es un proceso de división de una secuencia de caracteres en una lista de lexemas. La lista de lexemas puede ser utilizada posteriormente para el análisis sintáctico en relación con una gramática formal. Estas operaciones también son conocidas como análisis léxico (lexing) y análisis sintáctico (parsing). Esta documentación no tiene como objetivo proporcionar información exhaustiva sobre el lexing y el parsing. Buena información sobre estos temas está disponible en numerosos recursos en la red. Varios ejemplos de uso están incluidos para mostrar la funcionalidad. La extensión es útil para los desarrolladores PHP que deseen aprender o utilizar el análisis léxico y sintáctico. Las máquinas de estado y el análisis de gramática no tienen

Los casos de uso comunes para parle son cuando un formato de datos es demasiado complejo para ser manejado por la correspondencia regex con PCRE. La aplicación práctica es, por lo tanto, amplia. Ya sea un formato de datos específico, una modificación del comportamiento de las funciones existentes, o incluso un lenguaje de programación y más allá. Los métodos de ayuda como Parle\Lexer::dump() para inspeccionar la máquina de estado generada, o Parle\Parser::dump() para inspeccionar la gramática generada, son útiles. El método Parle\Parser::trace() también puede ser utilizado para seguir la operación de análisis.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top