2010-11-22 72 views
10

有一部分java語法會讓我感到厭倦:那就是花括號和分號。是否有某種翻譯器可以讓我使用除此之外的所有Java語法?我想要做這樣的事情:Java和whitespace-as-syntax(ala Python)?

public class Hello: 
    public static void main(String[] args): 
     System.out.println("I like turtles.") 

public class Another: 
    public static void somethingelse(): 
     System.out.println("And boobs") 

它是Python的空白語法模型,我已經成長爲喜歡它。我相信它更乾淨,更容易。如果它不存在,我實際上正在考慮大量投入時間來編寫一個解析器來解決這個問題。 (理想情況下,它會打開它,用空白格式化,當保存時,只保存爲帶有大括號和全部的java語法)

這會在語言的其他地方造成問題嗎?我可以期望遇到什麼樣的打嗝?我想使用Java語法的所有其他部分,否則就只是想修改這個小小的小問題。

我可以已經在Eclipse中編寫和讀取代碼很好。是的,我已經知道如何使用代碼格式化工具和所有可用的自動完成選項,這只是編碼風格的一種偏好,所以請不要回答「您應該學會適應它」或「你應該使用一個支持你的IDE「......不。我不想那樣。

+3

有一個關於谷歌代碼的項目,讓你用C來做這件事。我找不到它的鏈接。現在,但它可能值得期待。如果你最終不得不自己實現這一點,那麼它可能會提供一個很好的起點。 – aaronasterling 2010-11-23 00:04:02

+1

我完全得到你來自哪裏,但是誠實地說,你應該習慣它。你認爲編寫自己的解析器真的很值得,因爲你可以擺脫花括號和分號嗎? – 2010-11-23 00:16:46

+2

我認爲有一個任務是很好的。你必須注意``for`循環和引用的字符串,還有foreaches和`switch`,因爲它們都可以使用你需要翻譯的字符。數組初始化程序和靜態塊也是如此......您已經爲自己裁剪了工作。 – CurtainDog 2010-11-23 01:42:15

回答

0

您可能會考慮投入時間學習使用eclipse和代碼格式化程序。

Python的模型非常棒,它(或多或少)強制所有開發人員使用相同的代碼樣式格式。現代軟件公司有代碼風格的指導方針,並使用帶有格式化器的IDE來減輕編碼風格的執行。即使你的同事擁有(主觀上)殘酷的風格(對你而言),你也可以將代碼快速重新格式化爲你可以閱讀的東西。

2

你能切換到Jython嗎? Python的語法,Java的運行時環境。

0

您可以使用JythonScala,它會丟棄大部分花括號和分號(就點和括號而言)。它們的語法更具可讀性,並且您仍然是JVM的所有功能。

儘管如果您需要準確的翻譯器(將其保存爲普通的Java代碼),您可以輕鬆地自行編寫此類翻譯器。逐行讀取輸入文件,計算縮進量,每次改變時,在字符串末尾刪除冒號(如果需要的話)並插入大括號:左大括號和小大小關閉。 (它沒有考慮幾種可能的情況,但其中大多數被認爲是不好的風格。)