2010-11-22 69 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代码),您可以轻松地自行编写此类翻译器。逐行读取输入文件,计算缩进量,每次改变时,在字符串末尾删除冒号(如果需要的话)并插入大括号:左大括号和小大小关闭。 (它没有考虑几种可能的情况,但其中大多数被认为是不好的风格。)