2013-02-01 53 views
2

我目前正在研究一個項目,該項目需要編譯文件並給出發現的錯誤(語法)的診斷。我已經能夠讓程序爲.java文件工作。現在,我必須爲.java以外的其他文件(例如:.py文件)執行相同的操作,並將其與我當前的程序集成。我做了一些研究,發現eclipse可以支持20多種語言,插件可以下載。我不知道的是我是否可以調用「編譯器」(例如python)並獲取.py文件中發現的語法錯誤的診斷信息。我應該尋找該語言的bnf嗎?是否有可能在Eclipse中有一個Java程序來編譯其他語言比Java?

+0

我想你應該是谷歌如何在控制檯執行命令。 http://java.ittoolbox.com/groups/technical-functional/java-l/how-to-execute-commands-in-console-1478515 – dinesh707

回答

0

當然可以。我使用PyDev,它可以完成所有任務(語法高亮,調試,甚至是一些重構),並且只需突出顯示語法錯誤即可。在Eclipse下使用Python進行開發時,不需要手動運行命令行工具。

+0

我的程序需要一個python文件(很可能是一個包含語法錯誤的文件)作爲輸入,然後在控制檯上打印語法錯誤。我需要做一些處理的錯誤,這就是爲什麼我需要一種方法讓他們打印out.Take在我稱之爲編譯器的代碼段:CompilationTask task = compiler.getTask(null,fileManager,listener,null,null ,fileObjects); 布爾結果= task.call(); – user2026254

+0

我不知道是否可以從java程序調用python的編譯器。我被告知一個「bnf for python」會有幫助。 – user2026254

+0

然後,您可以在項目設置下查看Eclipse構建器。構建器可以是構建期間運行的任何程序,並可以生成自定義輸出,如錯誤日誌。您可以配置構建器在更改特定文件夾或特定文件時運行。然而,通常使用GUI來獲取文件中的錯誤列表似乎過分。 – h22

1

如果我正確地理解了你想要的是從你的Java程序的「內部」編譯python代碼。

如果是這樣,快速響應可能是使用運行時Java類啓動編譯器。

有一個很好的答案在這裏: getting output from executing a command line program

如果你想要的是從Eclipse中運行編譯器,因爲你已經被告知的PyDev是一個很好的選擇。

除此之外,您還可以在Eclipse中配置任何外部工具這種方式,這是配置Windows系統的命令行的一個示例:

享受Eclipse內部命令行控制檯只需按以下步驟操作:

  1. 轉到菜單運行 - >外部工具 - >外部工具...
  2. 選擇程序中的「配置」(左)列
  3. 按新建按鈕(或右鍵 - >新)
  4. 在名稱編輯框中該工具中輸入一個名稱(該名稱將出現在運行 - >外部工具菜單)
  5. 在位置添加C:\ WINNT \ SYSTEM32 \ cmd.exe的*
  6. 在工作區的目錄添加$ {} resource_loc
  7. 按下關閉按鈕
相關問題