2008年06月22日

SICPの図形言語をJython(のアプレット)で実装した

せっかく「Jythonプログラミング」読書会やったので

 なんかアウトプットがないともったいないおばけが出る。なお読書会につきましては→短期集中Jythonプログラミング読書会終了!で。

http://livedoor.blogimg.jp/r_c_3/imgs/2/f/2f9711dd.jpg

 実行は、JythonでSICPの図形言語 - 310ちゃんねるで。環境によっては動かないかもしれません。なんつってもいまんところ俺PCでしか動いてないし。ハウスの共有PCで動かなくて涙目。管理者権限がないからJavaコンソール見れないっぽいし。アプレット版が動かないときは、ずう〜〜っと↓のリンクにあるJavaScript版でおk。JavaScript版は大抵のところで動くと思う。ケータイは知らんがな。

文句
  • Pythonはインデントめちゃくちゃな糞コードが書けない。
    • たまには書きたいときもある(エディタを使いこなしてないからかもね)。
  • コンパイル時に検出できそうじゃね?ってエラーが実行時に出る。
    • かもしれない。詳細は不明。
  • Eclipseの起動に2分半かかる。
    • 画面は、EclipseのJiglooってやつで作ってから秀丸にコピペした。
    • Eclipseを使うのはそんときだけ。
  • ボタンクリックを最初MouseEventでやってた(ActionEventへ修正)。
    • Javaは昔とった杵柄&aname(_1)&size(10){[[*1>#1]]}でやってる。どこかでブラッシュアップしたいなあ。
  • コンパイルに2分弱、ビルドに約5分かかる。
  • 実行(アプレットのロード)に1分かかる。
環境
  • Windows 2000 SP4
  • Celeron800MHz(笑)
  • java version "1.6.0_06"
  • Jython 2.2.1 on java1.5.0
    • どうもIBMのJREを見に行ってるっぽい。SunのJREもインストール済み。
ビルド手順

 1 C:\>jythonc --jar sicpapp.jar --all sicpapp.py~~

 2 C:\>mkdir jars~~

 3 C:\>copy sicpapp.jar jars~~

 4 C:\>cd jars~~

 5 C:\jars>jar xf sicpapp.jar~~

 6 (エクスプローラで)jython.jarを展開してできたorg\pythonをjars\org\pythonへ上書き~~

 7 (エクスプローラで)sicpapp.jarを削除~~

 8 C:\jars>cd ..~~

 9 C:\>jar cfm sicpapp.jar jarsicp\META-INF\MANIFEST.MF -C jarsicp .~~

10 C:\>jarsigner -keystore sicpkey sicpapp.jar mykey~~

1 コンパイル~~

2〜9 org\python\parser\ast\とかが入ってないので、強引に入れる~~

10 署名付きアプレットへ。証明書の作り方はJythonプログラミングを参考に。この認証局に申請していない証明書は「オレオレ証明書」と呼ばれるらしいです。~~

ビルドの2〜9、やっていいんかな〜?

2. Can't use "exec" or "eval" in (unsigned) applets.~~

〜(ry〜~~

Any applet that wants to dynamically execute arbitrary strings of

Python code must be signed and given permission by the user.~~

                               Applet Issues

とあるように未署名アプレットでは、execが使えない。署名すると使えるよ、と書いてあるように読めるので、署名したところ、org.python.parser.ast.exprTypeがノットファウンドになってしまう。なので、強引にjarアーカイブに追加した。

アフィ
リンク
  • ---

&aname(1) &size(10){[[※1>#_1]]・・・きねづか、これ豆知識な。}



r_c_3 at 15:09│Comments(0)TrackBack(0)プログラミング 

トラックバックURL

コメントする

名前
URL
 
  絵文字