2011-11-21 9 views
8

ANTLR genera el origen de Java desde el archivo de gramática. La fuente generada tiene dependencia con las clases ANTLR.¿Puedo eliminar dependencias ANTLR del código generado?

¿Puedo generar fuentes Java 'limpias' utilizando ANTLR, que no tienen ninguna dependencia antlr?

Si no es así, ¿alguien puede recomendar algún analizador de Java que sobresalga con las interpretaciones y que pueda generar código Java limpio?

+0

Creo que esta es una excelente pregunta. Con la gran disponibilidad de herramientas, marcos y bibliotecas, escalas verticales limitadas y el impacto ambiental del escalado horizontal y el consumo de energía en general, creo que la creación de un código libre de hinchazón sobre la funcionalidad debería ser una preocupación primordial de la moderna ingeniería de software de calidad. –

+0

Hola @JonathanNeufeld Estoy de acuerdo contigo, ¿puedo citar esto? Es por eso que codifiqué [jodd] (http://jodd.org) - para minimizar la base de código ... – igr

Respuesta

2

Realmente no es práctico eliminar las dependencias de tiempo de ejecución en ANTLR. Debe distribuir la biblioteca de tiempo de ejecución ANTLR con sus reconocedores.

Si no recuerdo mal, JavaCC crea una copia de las clases de tiempo de ejecución necesarias (el "boilerplate" de JavaCC) como parte del código "generado", por lo que no necesita incluir un JAR adicional.

¿Cuál es la raíz de su preocupación acerca de las dependencias ANTLR?

+0

El código generado debe ser parte del framework/biblioteca, por lo tanto, quiero mantener las dependencias mínimas, para evitar posibles colisiones con diferentes versiones de tarros antlr de clientes existentes. Pero, más importante, quiero que sí;) – igr

Cuestiones relacionadas