我正在研究一個涉及我的項目的項目來編譯足夠簡單的java文件。從我的研究中,我決定不嘗試構建我自己的編譯器,因爲這隻需要很長時間。開發一個java程序來編譯.java文件
那麼有沒有人知道什麼是最好的編譯器來實現在這個項目中,這樣我就能夠編譯提交給程序的java文件?
我正在研究一個涉及我的項目的項目來編譯足夠簡單的java文件。從我的研究中,我決定不嘗試構建我自己的編譯器,因爲這隻需要很長時間。開發一個java程序來編譯.java文件
那麼有沒有人知道什麼是最好的編譯器來實現在這個項目中,這樣我就能夠編譯提交給程序的java文件?
爲什麼不使用內置的Java compiler API?
我正在查看javac,你會知道使用javac的優點嗎? – 2012-04-19 17:03:01
優點是,您不必爲每個編譯生成新的進程。 – 2012-04-19 17:05:00
我必須研究這個更多一點,但看起來乍看之下無論如何是一個很好的做法 – 2012-04-19 17:13:10
這幾乎聽起來像你真的需要一個腳本-Y的辦法,做了三兩件事:
既然你說你想從Java開始,但移動到其他語言,我會建議調查螞蟻。它將以多種語言構建,並且可以幫助執行/分級生成的目標代碼。
最明顯的解決方案是使用Runtime.exec調用javac。你有沒有理由不能這樣做?有關您的情況的更多信息將幫助人們提供更好的答案。 – 2012-04-19 17:05:29
我現在只是在項目的研究階段,並試圖找出我可以從java程序編譯.java文件的不同方式。這是因爲我打算構建一個工具來編譯和分級java程序(目前爲止,後來擴展到其他編程語言)。它會有更多的功能,但我只是專注於找到實際編譯程序的最佳方式,以確保它們沒有錯誤 – 2012-04-19 17:10:52
如果您計劃擴展到不同的語言,那麼我絕對認爲將命令行界面調用到編譯器是要走的路。這樣,您的程序就可以擴展到使用任何具有命令行界面的語言(即幾乎所有語言)。但是,您將面臨的一個問題是如何確保環境設置正確,並將您的程序與各種可能需要的構建工具集成在一起。 (例如,您的Java工具可能真的想要支持Ant構建,因爲學生可能希望將Ant用於更復雜的項目。) – 2012-04-19 20:24:05