2012-04-19 10 views
5

Estoy investigando para un proyecto que involucrará mi proyecto para compilar archivos java lo suficientemente simples. De mi investigación, he decidido no intentar crear mi propio compilador ya que esto tomaría demasiado tiempo.Desarrollando un programa java para compilar archivos .java

Entonces, ¿alguien sabe cuál sería el mejor compilador para implementar en este proyecto para que yo pudiera compilar los archivos Java que se envían al programa?

+0

La solución más obvia es simplemente invocar javac con Runtime.exec. ¿Hay alguna razón por la cual no puedes hacer esto? Más información sobre su situación ayudaría a las personas a dar mejores respuestas. –

+0

Realmente solo estoy en la etapa de investigación del proyecto en este momento y trato de averiguar de qué manera puedo compilar los archivos .java de un programa Java. Esto se debe a que voy a construir una herramienta que compilará y evaluará los programas de Java (por el momento y se expandirá a otros lenguajes de programación más adelante). Tendrá muchas más características, pero solo estoy enfocado en encontrar la mejor manera de compilar los programas primero para asegurarme de que no tengan errores. –

+0

Si planea expandirse a diferentes idiomas, entonces definitivamente pienso llamar a la interfaz de línea de comando compilador es el camino a seguir. De esta forma, su programa se puede ampliar para que funcione con cualquier idioma que tenga una interfaz de línea de comandos (es decir, casi todos los idiomas). Sin embargo, uno de los problemas a los que se enfrentará es cómo asegurarse de que el entorno esté configurado correctamente y su programa esté integrado con las diversas herramientas de compilación que puedan ser necesarias. (Por ejemplo, su herramienta Java puede realmente querer apoyar compilaciones de Ant, ya que los estudiantes pueden querer usar Ant para proyectos más complejos). –

Respuesta

9

¿Por qué no utilizar el built in Java compiler API?

+0

Estaba mirando el javac, ¿sabría cuál es la ventaja de usar esto sobre javac? –

+0

La ventaja es simplemente que no tiene que generar un nuevo proceso para cada compilación. –

+0

Tengo que investigar esto un poco más, pero a primera vista parece a primera vista una buena forma de hacerlo –

0

Esto suena casi como si realmente necesita un enfoque de la escritura-y que hace tres cosas:

  • fuente del programa compila con compilador de lenguaje adecuado
  • Ejecutar programa resultante para producir un conjunto de resultados
  • Comparar resultados a los resultados esperados para producir una calificación

Como dices que quieres comenzar con Java, pero cambiar a otros idiomas, sugiero que investigue HORMIGA. Hará compilaciones en muchos idiomas y puede facilitar la ejecución/clasificación del código objeto resultante.

Cuestiones relacionadas