Estoy escribiendo un modo principal para un lenguaje de programación que tiene una gramática bien definida: tiene un BNF, formalizado en algunos archivos felices . En particular, no quiero volver a implementar el BNF como una serie de escaneos de expresiones regulares hacia adelante / hacia atrás...