!JavaRock r267 https://sourceforge.net/projects/javarock/ いろいろな変更に区切をつけるべく,リリース. 今回の目玉は, * フィールド変数を複数のメソッドで自由に読み書きできるようになった * 配列のメソッド渡しがポインタ渡しになった * publicなインスタンス変数に外からアクセスできるようになった ことで,ほかには,たとえば, * ifやwhileの条件式の中でメソッド呼び出しや配列アクセスができなかった * a[i] = a[i] + 1; ができなかった などといった,細かい点が改善されています. よりJavaらしいプログラムがコンパイルできるようになったんじゃないかなあ... !続・BrainF**k [[Diary/2013-1-7]]で書いたコード, リリースバージョンのJavaRockでは,そのままコンパイルできないのだけど, ちゃんと,コンパイルできるように修正. !JavaRockメモ メソッド呼び出しも配列アクセスは同じようにまとめる方がいい,というメモ ::今の実装 メソッド呼び出し→ VHDLMethodInvoke + VHDLMethodReturnIdent 配列アクセス→VHDLArrayAccess とメソッド呼び出しについては, メソッド呼び出し文(VHDLStatement)と戻り値(VHDLExpr)を独立に実装している. これが原因で,ifやwhileの条件式のところなど式だけを扱う箇所の実装が無駄に面倒になっている気がする. 一方で,配列アクセスは,VHDLArrayAccess(VHDLExpr)の中で, 配列アクセスに伴うインデックス操作文を生成するようにしている. 最初の実装では,これが結構面倒だったけど, 今となっては,配列アクセスのようにメソッド実行文を扱ってもいいかもしれない,とか. !ぼやき * ステートマシンとスコープを一緒くたに扱うように設計したのは失敗だったなあ... (Thu Jan 10 18:24:56 2013 +0900) * 生成したHDLのステートマシンのバリデーションくらいはできるようにしたいなあ.可視化ツールとかも欲しい. (Thu Jan 10 16:27:13 2013 +0900) * とか思ってたら,いまのままでも,結構いい方法があることに気づいた♪ (Thu Jan 10 15:23:37 2013 +0900) * いろいろと,がさっと手をいれたい... (Thu Jan 10 15:23:17 2013 +0900)