Java コード生成へ向けて

lisp/scheme でS式からコード生成を行いたい。最終的なイメージは以下のような Java の S 式表現から Java コードを生成することだ。

gosh> (print (jise->java
	      '((System.out.println "Hello, Java!")
		(declare x 0)
		(assign x 3)
		(when (= x 3)
		  (System.out.println "oops")))))

System.out.println("Hello, Java!");
int x = 0;
x = 3;
if (x == 3) {
  System.out.println("oops");
}

Java の構文要素を調べれて、S 式表現を検討すれば、あとは util.match あたりを使って単なる静的な式変形をすればよい。