我目前正在研究一個項目,該項目需要編譯文件並給出發現的錯誤(語法)的診斷。我已經能夠讓程序爲.java文件工作。現在,我必須爲.java以外的其他文件(例如:.py文件)執行相同的操作,並將其與我當前的程序集成。我做了一些研究,發現eclipse可以支持20多種語言,插件可以下載。我不知道的是我是否可以調用「編譯器」(例如python)並獲取.py文件中發現的語法錯誤的診斷信息。我應該尋找該語言的bnf嗎?是否有可能在Eclipse中有一個Java程序來編譯其他語言比Java?
回答
當然可以。我使用PyDev,它可以完成所有任務(語法高亮,調試,甚至是一些重構),並且只需突出顯示語法錯誤即可。在Eclipse下使用Python進行開發時,不需要手動運行命令行工具。
我的程序需要一個python文件(很可能是一個包含語法錯誤的文件)作爲輸入,然後在控制檯上打印語法錯誤。我需要做一些處理的錯誤,這就是爲什麼我需要一種方法讓他們打印out.Take在我稱之爲編譯器的代碼段:CompilationTask task = compiler.getTask(null,fileManager,listener,null,null ,fileObjects); 布爾結果= task.call(); – user2026254
我不知道是否可以從java程序調用python的編譯器。我被告知一個「bnf for python」會有幫助。 – user2026254
然後,您可以在項目設置下查看Eclipse構建器。構建器可以是構建期間運行的任何程序,並可以生成自定義輸出,如錯誤日誌。您可以配置構建器在更改特定文件夾或特定文件時運行。然而,通常使用GUI來獲取文件中的錯誤列表似乎過分。 – h22
如果我正確地理解了你想要的是從你的Java程序的「內部」編譯python代碼。
如果是這樣,快速響應可能是使用運行時Java類啓動編譯器。
有一個很好的答案在這裏: getting output from executing a command line program
如果你想要的是從Eclipse中運行編譯器,因爲你已經被告知的PyDev是一個很好的選擇。
除此之外,您還可以在Eclipse中配置任何外部工具這種方式,這是配置Windows系統的命令行的一個示例:
享受Eclipse內部命令行控制檯只需按以下步驟操作:
- 轉到菜單運行 - >外部工具 - >外部工具...
- 選擇程序中的「配置」(左)列
- 按新建按鈕(或右鍵 - >新)
- 在名稱編輯框中該工具中輸入一個名稱(該名稱將出現在運行 - >外部工具菜單)
- 在位置添加C:\ WINNT \ SYSTEM32 \ cmd.exe的*
- 在工作區的目錄添加$ {} resource_loc
- 按下關閉按鈕
- 1. 是否有可能有一個Java程序只用import語句
- 2. 這是可能的java或任何其他編程語言
- 3. 在java中是否有getattr,callable和其他元編程功能?
- 4. 是否可以使用其他語言編寫java代碼?
- 5. 是否有Golang終端外殼?編譯語言是否可能?
- 6. 是否有一個Java SWF編譯器?
- 7. 腳本語言是否可以翻譯成其他語言?
- 8. 與其他編程語言相比,爲什麼Java更安全?
- 9. 是否有可能確定.NET程序集編寫的語言?
- 10. PHP是否爲'方法重載'提供了一個規定,就像java和一些其他編程語言一樣?如果沒有,是否有其他選擇?
- 11. 是否有可能在Java中有兩個其他地圖支持的Map?
- 12. Java問題:是否有可能在另一個switch語句中有switch語句?
- 13. 是否有可能以編程方式在內存中編譯java源代碼?
- 14. 是否有可能在Java
- 15. 是否有Java程序片段可以在JRE 6上使用Java 5編譯器進行編譯,但是不能使用Java 6編譯器進行編譯?
- 16. Java代碼沒有用'javac'編譯,而是在Eclipse中編譯
- 17. 是否有可能在其他應用程序中充氣RemoteViews?
- 18. 是否有可能在C++中使用編譯時斷言
- 19. 爲什麼一些編程語言比其他編程語言更快?
- 20. 是否有可能在java中有一個未簽名的ByteBuffer?
- 21. 我可以編寫一個程序來監視使用Java或其他語言的文件嗎?
- 22. 在AWS上編譯其他語言Lambda
- 23. 是否有一個Eclipse插件可以執行從一種語言到另一種語言的評論翻譯?
- 24. java編程語言
- 25. 是否有可能與Java
- 26. 是否有可能編譯android .java源文件jd-gui
- 27. 將C程序翻譯成其他編程語言
- 28. 是否有可能在Java中
- 29. 是否有可能在Java中
- 30. 是否有可能在java swing應用程序中運行osmdroid
我想你應該是谷歌如何在控制檯執行命令。 http://java.ittoolbox.com/groups/technical-functional/java-l/how-to-execute-commands-in-console-1478515 – dinesh707