Quiero escribir un traductor entre dos idiomas, y después de leer un poco en Internet decidí usar ANTLR. Tuve que aprenderlo desde cero, pero además de algunos problemas para eliminar la recursividad a la izquierda, todo salió bien hasta ahora.ANTLR vs. Happy vs. otros generadores de analizador
Sin embargo, hoy un tipo me dijo que echara un vistazo a Happy, un generador de analizadores basado en Haskell. No tengo conocimiento de Haskell, así que podría usar algunos consejos, si Happy es de hecho mejor que ANTLR y si vale la pena aprenderlo.
Específicamente, lo que me preocupa es que mi traductor debe admitir la sustitución de macros, que aún no tengo idea de cómo hacerlo en ANTLR. Tal vez en Feliz esto es más fácil de hacer?
O si crees que otros generadores de analizadores son incluso mejores, me alegraría saber de ellos.
Si usted es capaz de decir, la pieza más valiosa de información que podría proporcionar en este momento es una responder a "¿Cuáles son los idiomas de origen y destino?" –
@ 280Z28 Son lenguajes creados internos. Son algo similares a Java, con la diferencia de que una clase puede contener definiciones de macro y luego dentro de los métodos las macros necesitan expandirse. – Gabriel
Mientras tanto, descubrí que mi problema es más simple de lo que inicialmente pensé. Logré hacerlo con ANTLR, en el Lexer, así que no hay necesidad de aprender urgentemente Happy u otro generador ahora. – Gabriel