是否可以使用英語以外的語言編寫Java? 我不問有關可能以其他語言顯示的日誌消息。 如果可能的話,它需要一個不同的編譯器(或具有不同語言支持的JDK)。非英語語言編碼Java,例如西班牙語或日語
回答
Go through this para if you know some theory about compilers otherwise read next para
。 編寫編譯器時,已經預先定義了關鍵字和其他符號,詞法分析器匹配它們並將它們存儲在符號表中,然後在最終開發機器代碼之前遵循後續階段。
您的問題的答案是NO
和YES
。
NO
因爲James Gosling and his team
開發了帶有英文關鍵字的Java JDK,因此如果您使用的是他的JDK,則必須遵循這一點。
YES
因爲您可以使用不同的語言開發自己的具有不同關鍵字的Java編譯器。但絕對不會將其稱爲Java編譯器,而是另一種使用OOPS概念的編譯器。
另一個解決方案可以是編寫一個「翻譯器」。 「翻譯」採用java-Spanish並在java中「翻譯」它。例如,使用ANTLR,您可以採用Java語法,用西班牙語翻譯他的令牌,然後使用西班牙Java。從Java-Spanish語法中,您可以生成一個解析器,該解析器將西班牙Java作爲輸入並生成輸出標準Java。 – Fedy2
是的,'Bootstrapping'是另一種選擇。 Thanks @ Fedy2 –
你應該考慮使用* italics *來代替'code statements',它代表了代碼和關鍵字:)。 –
否。你可以隨意命名標識符,只要它們符合語言規範是合法的,但關鍵字,API方法等總是相同的。它們應該以其原始形式使用。因此,您不能用西班牙語替代文字throw代替Java中的throw
。
可能是Grammars。
這是不可能的。 Java代碼只能用英文寫入。
從技術上講,除非您編寫自己的解析器,否則只能翻譯令牌。 –
我有一個建議。您可以定義一個字映射來將所有可用的可接受的java關鍵字映射到您的語言。
public => publique
static => statique
這樣子。然後做文字處理。在背景中將您的語言轉換爲英語並使用英語生成Java文件。編譯這些java類。
我對這種方法沒有多少信心。這可能會帶來一個小小的想法。如果我正在談論別的東西而不是你正在尋找的東西,請原諒我。如果你有任何想法,請讓我知道。我對這個項目感興趣。
我們在導入其他類時會遇到一些問題,因爲其他類名將以英文顯示。你需要建立單詞字典。 –
- 1. 沒有定義語言(英語,西班牙語等)的「代碼」?
- 2. 使英語語言SSRS報告在西班牙語
- 3. 多語言的MFC應用程序 - 英語,法語,西班牙語和韓語
- 4. Yii2框架:如何更改默認的英語語言爲西班牙語
- 5. 將日期時間從英語轉換爲西班牙語
- 6. 西班牙語語音(語音)識別
- 7. wordpress多國語言與阿拉伯語和西班牙語
- 8. 需要法語和西班牙語語言的單詞列表
- 9. 在Windows Phone上選擇西班牙語(墨西哥)時如何將西班牙語設置爲顯示語言?
- 10. 英語,葡萄牙語和西班牙語的國家和國籍列表?
- 11. 非英語語言Strlen
- 12. 在非英語語言
- 13. JSON和非英語語言
- 14. 獲得當月西班牙Python語言
- 15. DropDownList從西班牙語切換到英語?
- 16. 任何免費的英語 - 西班牙語詞彙數據庫?
- 17. MSACCESS功能名稱錯誤(西班牙語/英語)
- 18. 將ValidationMessageFor方法中的英語替換爲西班牙語Dynamicaly
- 19. 如何逃生處理非英語單詞(阿拉伯語,西班牙語和烏爾都語的話)投票
- 20. 西班牙語的Primefaces庫?
- 21. PHP + MySQL +西班牙語
- 22. Open Graph西班牙語
- 23. RpDesignerVCL西班牙語(reportmanager)
- 24. 多國語言網站 - 英語,日語,韓語語言
- 25. 西班牙語和巴西葡萄牙語的子域名稱
- 26. 在android中的語言環境西班牙語
- 27. 在軌西班牙語的語言環境 - 型號名稱
- 28. 解析日期西班牙語錯誤
- 29. 在iPhone中將日期時間從英語轉換爲西班牙語?
- 30. 更改日期選擇從英語到西班牙語在軌道的值
你究竟是什麼意思?一個翻譯版本,其中每個對象/方法/ ...被翻譯成例如西班牙語? –
答案是**否**。 – Maroun
您的意思是能否爲您的方法命名,或者是語言和JDK的翻譯(「標準函數」,如'System.out.println')? –