Buscando más tipos de parsing me tope con que básicamente solo hay dos tipos de parsing:}
.
- Analizador sintáctico descendente (Top-Down-Parser): Un analizador puede empezar con el símbolo inicial e intentar transformarlo en la entrada, intuitivamente esto sería ir dividiendo la entrada progresivamente en partes cada vez más pequeñas, de esta forma funcionan los analizadores LL, un ejemplo es el javaCC.
- Analizador sintáctico ascendente (Bottom-Up-Parser): Un analizador puede empezar con la entrada e intentar llegar hasta el símbolo inicial, intuitivamente el analizador intenta encontrar los símbolos más pequeños y progresivamente construir la jerarquía de símbolos hasta el inicial, los analizadores LR funcionan así y un ejemplo es el Yacc.
.
Realmente encontré muy poca información sobre el Pratt Parser, la mayoría de artículos hablan solamente de los tipos Top-Down-Parser y Bottom-Up-Parser 🤔.
.
En Wikipedia se hace una mención a los tipos Chart parser y Left corner parser, dejo aquí el enlace por si a alguien le interesa 👀:
.
Analizador sintáctico (Parser)
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?