2010-11-22 11 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でこれを行うことができるGoogleのコードプロジェクトがあります。私はそれへのリンクを正しく見つけることができません今はそれを探して価値があるかもしれません。これを自分で実装しなければならない場合は、良い出発点になるかもしれません。 – aaronasterling

+1

私はあなたがどこから来ているのかを完全に知ることができますが、正直なところでそれに慣れるべきです。中括弧とセミコロンを取り除くことができるように、あなた自身のパーサーを書くのは本当に価値があると思いますか? –

+2

クエストがあるのは良いことだと思います。 'for'ループと引用符で囲まれた文字列、foreachと' switch'esには、翻訳に必要な文字をすべて使用できるので注意する必要があります。配列の初期化子と静的なブロックも... eeep、あなたの仕事はあなたのために分かれています。 – CurtainDog

答えて

0

代わりに、Eclipseとコードフォーマッタの使用方法を学ぶことに時間を費やすことを検討することもできます。

Pythonのモデルは、多かれ少なかれ、すべての開発者を同じコードスタイル形式に強制するという点で優れています。現代のソフトウェア会社は、コードスタイルのガイドラインを持っており、フォーマッタのIDEを使用してコーディングスタイルの適用を容易にしています。あなたの同僚が(主観的に)ひどいスタイルを(あなたに)持っていても、あなたはすぐにそのコードを読みやすいものに再フォーマットすることができます。

+0

私はすでにコードを細かく書くことができ、中括弧とセミコロンでコードを読み込むことができます。私はすでにEclipseを使用しており、コードフォーマッタを簡単に処理できます。これは、それほど少ないものやそれに類するものを入力することではありません。最適には、両方の方法を変換する私の使用のためのツールになります。ソースファイルをとり、好きなようにフォーマットして保存すると、通常のJava、中カッコ、すべてとしてエクスポートされます。コードにはまったく影響しません。 (少なくともそれは私がそれを想像する方法です)。 – ThantiK

2

Jythonに切り替えることはできますか? Pythonの構文、Javaのランタイム環境

+0

残念ながら、私は現在主にAndroidで作業していますが、Jythonは互換性のあるものをコンパイルしません。私は本当にPython構文全体を探しているわけではありません。インデントベースの構文です。私は自分の個人的なプロジェクトのいくつかにすでにJythonを使用しています。 「Jythonroid」プロジェクトがありましたが、SL4A(以前はASE)に置き換えられましたが、SL4AはSurfaceFlingerやGUI /レイアウトサブシステムにアクセスできません。 – ThantiK

0

JythonまたはScalaを使用できます。中括弧とセミコロンのほとんどはドットとカッコになります。彼らの構文ははるかに読みやすく、あなたはまだJVMのすべての力を持っています。

翻訳者が必要であれば(単純なJavaコードとして保存する)必要があれば、簡単にそのような翻訳者を書くことができます。入力ファイルを1行ずつ読み込んでインデントを数え、変更するたびに文字列の最後にコロンを削除し(必要に応じて)、中括弧を挿入します。より大きなインデントの場合は中括弧を、小さい場合は中括弧を挿入します。 (いくつかのケースを考慮していませんが、そのほとんどは悪いスタイルとみなされます)

+0

Androidに関するご意見をいただきました。最初の段落は無視してください。編集:[またはしない](http://stackoverflow.com/questions/476111/scala-programming-for-android) – ffriend

関連する問題