2012-04-19 16 views
5

Sto cercando un progetto che coinvolgerà il mio progetto per la compilazione di file java abbastanza semplici. Dalla mia ricerca ho deciso di non provare a costruire il mio compilatore in quanto richiederebbe troppo tempo.Sviluppo di un programma java per compilare i file .java

Così qualcuno sa quale sarebbe il miglior compilatore da implementare in questo progetto in modo tale da essere in grado di compilare i file java che vengono inviati al programma?

+0

La soluzione più ovvia a questo è semplicemente invocare javac con Runtime.exec. C'è una ragione per cui non puoi farlo? Maggiori informazioni sulla tua situazione aiuterebbero le persone a dare risposte migliori. –

+0

Im davvero solo nella fase di ricerca del progetto al momento e cercando di scoprire quali sono i diversi modi in cui ho potuto compilare i file .java da un programma java. Questo perché sto costruendo uno strumento che compilerà e classificherà i programmi java (per il momento e si espanderà in seguito in altri linguaggi di programmazione). Avrà molte più funzioni, ma mi sto concentrando solo sulla ricerca del modo migliore per compilare i programmi prima di assicurarmi che non abbiano errori –

+0

Se hai intenzione di espandermi in lingue diverse allora penso sicuramente di chiamare l'interfaccia della riga di comando al il compilatore è la strada da percorrere. In questo modo, il tuo programma può essere espanso per funzionare con qualsiasi lingua che abbia un'interfaccia della riga di comando (ad esempio quasi tutte le lingue). Un problema che dovrai affrontare, tuttavia, è come assicurarsi che l'ambiente sia impostato correttamente e che il tuo programma sia integrato con i vari strumenti di compilazione che potrebbero essere necessari. (Ad esempio, il tuo strumento Java potrebbe davvero voler supportare le build Ant, dato che gli studenti potrebbero voler usare Ant per progetti più complessi.) –

risposta

9

Perché non utilizzare il Java compiler API integrato?

+0

stavo guardando il javac, sapresti quale vantaggio usare su javac? –

+0

Il vantaggio è semplicemente che non è necessario generare un nuovo processo per ogni compilazione. –

+0

Devo cercarlo un po 'di più ma a prima vista sembra un buon modo di farlo –

0

Questo quasi suona come si ha realmente bisogno di un approccio di script-y che fa tre cose:

  • Compilare sorgente del programma con il compilatore corretto linguaggio
  • Esegui programma risultante per produrre un insieme di risultati
  • Confronta risultati ai risultati attesi per produrre un voto

Poiché si dice che si desidera iniziare con Java, ma passare ad altre lingue, suggerirei di indagare FORMICA. Funzionerà in molte lingue e può facilitare l'esecuzione/classificazione del codice oggetto risultante.

Problemi correlati