トップ 最新 追記

Onion開発日記

2004|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|

ToDo:


2005-12-01

_ [Java][プログラミング][言語][パーザジェネレータ]JTB: The Java Tree Builder

Javaで書かれたアクションを含まないJavaCCのファイルから、構文木を生成するJavaのアクションを含むJavaCCのファイルを生成するツールらしい。同様のツールにJavaCCに付属のJJTreeがあるが、どの程度違うのか気になる。

_ [Java][プログラミング][言語][パーザジェネレータ]Grammatica

ものがたりの過去のエントリ経由で。 IKeJIがCoco/Rが使いにくいと言うので、もっと良さげなパーザジェネレータを探していたところ見つけた、Java/C#のコードを生成するLL(k)パーザジェネレータ。複数個のトークンを先読みする必要がある場合でも、何個先読みすればよいかを自動で判断してくれるようだ。JavaCCでは、複数個のトークンを先読みするときは、明示的に書かなければならないことを考えると、結構便利かも。とりあえず今週末にでも早速試してみよう。

_ [Java][プログラミング][言語][パーザジェネレータ]LLK

ANTLR2.7.2から派生したパーザジェネレータ。記法はかなりJavaCCに似ているようだ。

本日のツッコミ(全2件) [ツッコミを入れる]

_ films pornografici [ intrepido orgasmo bukkake clistere foto beautiful biond..]

_ piano lessons for children [ camino real hotel in cancun dental insurance ohio bocch..]

本日のリンク元 | 66 | 17 | 16 | 14 | 13 | 13 | 12 | 12 | 11 | 10 | TrackBack(0)

2005-12-02

_ [XML] ヒント:改善が必要なXMLフォーマットの設計例

IBM developerWorksの記事。改善が必要なXMLフォーマットについて、悪いXMLフォーマットを例として取り上げて解説している。良いXMLフォーマットが何かというのはあまり意識したことが無かったので参考になる。

この記事では、問題のあるXML文書の条件の例として、

  • 要素名としてxmlが含まれた名前を使用している
  • 要素名として省略された名前を使用している
  • 属性の内容が構造を持っている
の3つを挙げている。

しかし、最初の2つについては特に異論は無いが、3つ目については違和感を感じた。一般論としては理解できるが、3つ目の条件を避けようとすれば、属性の代わりに何段にもネストした要素として表現することになるので、文書がやたらに長くなり、かえって読みづらくなることがあるのではないかと思うからだ。記事でも改善を行うことによって文書が長くなる点については書かれているが、そちらの方が文書としてより読みやすくなり、クライアントプログラムにとっても処理しやすいので良いという主張のようだ。より短くてシンプルな形式が必要なのであれば、XSLTで変換すればいいとも述べられている。

確かに、属性の内容が構造を持っている場合、そのフォーマットを知らなければ文書の内容を理解できないので、改善した方が読みやすくなるというのは理解できなくは無いが、どうも釈然としない。

_ [その他]Thinkpad X40大容量バッテリー

Thinkpad X40に標準で付属のバッテリーの稼動時間が短くて不便していたので、大容量バッテリーを購入。これでやっと、外出するときも思い切りノートパソコンが使える。

_ [プログラミング]Binary 2.0カンファレンス

授業終了後、TEXで東京へ。途中、道がわからなくて迷ったが、なんとか開始までに到着できた。以下、各発表の一言感想。ちゃんとしたまとめは既に他の参加者の方が書かれているようなので、テキトーに。というか、発表中にメモを取っていなかったので、ちゃんとしたまとめは書けない。

  • 1. Binary 2.0 時代の到来 - 高林哲 10分

    高林さんの基調講演(?)。高林さんの発表を聞くのは今回が初めてだが、笑いを取るのも含めて語りがすごく上手い。スライドの構成も見事で、特に階層図でWeb 2.0とWeb1.0にBinary 2.0があるのは爆笑してしまった。

  • 2. プログラムはなぜ Mona OS で動くか?fork?何それ? - ひげぽん 15分

    ひげぽんさんによるMona OSの簡単な紹介とデモ。動画再生のデモが動作しなかったのは残念。

  • 3. Dynamic Programming Language C -- 私は誰? - 浜地慎一郎 20分

    Cで無理やりリフレクションを行うという凄まじい話。低レベル過ぎ(褒め言葉)。リフレクションを使いたければJavaを使えというのは却下ということだが、自分ならJavaを使ってしまうなあ。バイナリアンへの道は険しい。

  • 4. G-Inspector -- GTK+ ランタイムインスペクション - 青笹茂 20分
  • GTK+のオブジェクトの状態をグラフィカルに表示、変更したりするためのツールG-Inspectorの実装についての話。GTK+がサポートしているメジャーな言語がAda、Eiffel、Haskell、Smalltalkって…。

  • 5. g++と例外キャッチボール

    中村孝史さんの発表。g++の例外をC言語から無理やり捕まえようというお話。基本となるアイデア自体はしごく真っ当で、それほど驚きは無かったが、実現するにあたってC++のname manglingルールを覚えるとか、いろいろ無茶なことをしているのが笑った。

  • 6. 実行時自己書き換え佳境

    首藤一幸さんの発表。Core Warsというゲームと、最近のJava VMで使われている自己書き換え技術についての紹介。最近のJava VMが内部で自己書き換えをやっているというのは、事実としては知っていたが、実際にどんな場面で行っているかというのはほとんど知らなかったので、非常に新鮮だった。

  • 7. ハードコアバイナリアンへの道

    八重樫剛史さんの発表。FPGAを使って、超低レベルなことをしましょうというお話。史上初のgdbプレゼンは感動的だった。

  • 8. ライトニングトーク
    • 1. Binareal - バイナリファイルの構造と解釈

      大和正武さんの発表。Etherealに触発された開発したというBinarealの紹介。普段、バイナリを直接いじることはほとんど無いので実感はわかないが、しょっちゅうバイナリを格闘する人にとっては便利そう。

    • 2. いけないお化粧magic(5)

      野首貴嗣さんの発表。バイナリシグネチャについてのお話。

    • 3. livepatch - 概念と技法

      鵜飼文敏さんの発表。実行時にプロセスを再起動させずにパッチを当てる技術であるlivepatchについての解説。システムコールに疎い自分にはいまいちピンと来ないところが多かったが、凄そうというのは伝わった。あと、タイマー+プログレスバーでプレゼンの各ページに割く時間が管理されていたが、これは短い時間で確実に最低限のことを伝えるのに上手い方法だと思った。

    • 4. 斜め下を行くバイナリ書き換えの探求 - 5分

      後藤正徳さんの発表。実行時のバイナリ書き換えを、プロセスのメモリを直接書き換えるのではなく、ファイルを書き換えて行っちゃおうというお話。Linuxでは、そのままではこれができなかったので(Solarisではそのままでできるとのこと)、カーネルにパッチを当ててコンパイルしたらしい。

    • 5. Cache Pollution Aware Patch

      よしおかひろたかさんの発表。参加者層を考えると、最初のメモリの速度がCPUに比べて云々の話は削って、すぐに本題に入っても良かったんではなかろうか。

    • 6. Inside QEMU

      BEROさんの発表。QEMUのJITコンパイルの方法についてのお話。全然時間が足りてなくて、途中で終わっちゃったような感がある。もう少し先まで聞きたかった。

    • 7. GNP --- 'g' Network Protocol-Stack (for Boot Loader)

      g新部裕さんの発表。ブートローダに一通りのプロトコルスタックを実装したというお話。

全体の感想としては、自分の今まで知らなかった世界を知ることができて、楽しめたが、時間が足りない発表が多かった気がする。平日ということで開始時間が遅いため仕方が無かったのだろうとは思うが、もっといろいろ聞きたかったというのが正直なところだ。ただ、あまり長くてもだれていた可能性もあるので、実はこれくらいでちょうどいいのかもしれない。

カンファレンス終了後、ささださん、artonさん(実はこのときはartonさんとは気づいていなかったが)、k.inabaさんたちと一緒に近くの中華料理屋で2次会。k.inabaさんたちと、Binary 2.0らしくも無く言語の話で盛り上がった。もっといろいろ話をしたかったが、終電の時間が迫っていたため、12時頃に解散することに。

_ [その他]農工大へ

2次会終了後、そろそろ帰ろうとしていたところで、ささださんから、これから農工大へ行くので暇なら来ないかとのこと。まだしゃべり足りなかったこともあって、ささださん、西山さんと共にそのまま農工大へ。ささださんの所属研究室到着後、OOPSLA2005の論文集?を読んだり議論した後、A.M.3時頃になってさすがに眠気に耐え切れなくなり、就寝。

翌日は、EclipseプラグインやJavaのクラスローダ、Groovyの組み込み方法などについて説明したり、自分のプロジェクトの今後の方向性やプレゼンのコツについていくつかアドバイスをもらったりした。プロジェクトの方向性については、自分でも決めかねている部分があるので、いろいろアドバイスしてもらえるのはありがたい。

帰る前に、農工大と言えば、生協の白石さんということで、掲示板に案内してもらった。掲示板には、大量の質問とそれに対する白石さんの返答が書き込まれており、白石さんという人物は確かに存在しているのだなあということが実感できた。

本日のツッコミ(全4件) [ツッコミを入れる]

_ Fredk Flint [ * * * * * * * * * * * * * * * * * * * ..]

_ vecchie troie [ tette sexy lesbiche che si leccano troie maggiorate lo..]

_ piano chords [ free dvd decoder media player ricarica blu hotel caribb..]

_ kawana [duro duro duro duro duro duro durouman.]

本日のリンク元 | 115 | 28 | 27 | 21 | 19 | 15 | 12 | 11 | 9 | 7 | TrackBack(0)

2005-12-04

_ [言語]言語設計者の集い?

Binary 2.0カンファレンスが終わった後、ふと考えてみたのだが、(メジャー・マイナーを問わず)言語を設計している人、したことのある人が集まって、言語設計Onlyのイベントをやったら、結構面白いんじゃないだろうか。そんなのをやったところで、一体どれくらいの人が来るのかは激しく疑問だが。

本日のツッコミ(全12件) [ツッコミを入れる]

Before...

_ online party poker  [FfZlZJOOT7@operamail.com ]

_ pacific poker bonus  [mVOg4RDBX2@msn.com ]

_ free video poker game  [isIuI0FUo0@yahoo.us ]

_ progressive slots  [cWYYBj@gmail.com ]

_ progressive slots  [cWYYBj@gmail.com ]

本日のリンク元 | 44 | 12 | 11 | 11 | 9 | 9 | 9 | 8 | 8 | 8 | TrackBack(0)

2005-12-05

_ [プログラミング][言語]ECMAScript4の仕様

ECMAScript4のnamespaceの仕様を調べるために、ECMAScript4の仕様を探しているのだが、見つからない。ECMAの公式ページで見つかるのは、ECMAScript3や、E4Xなどの仕様で、ECMAScript4に関するものは無いようだ。正式な仕様になる前の提案なら、ここにあるのだが、書かれた更新された時期が20022003年とかなり古いようなので、実際のECMAScript4の仕様とは違っている可能性がある。

ひょっとして、ECMAScript4の仕様はまだ正式には決まっていないのだろうか。しかし、だとするとActionScript32(ECMAScriptベースらしい)にあるクラス定義などの機能は一体何なんだろう。

12月5日追記:ActionScript2については、Macromediaのページ内に以下の記述が見つかった(下線は独自に追加)。

Version 2 of the Macromedia Flash MX 2004 component architecture is written entirely in ActionScript 2, an enhanced version of the ActionScript language derived from the ECMAScript Edition 4 Netscape Proposal and JavaScript 2.0 Proposal.

Netscape Proposalというのは、おそらく上で挙げた提案のことだろう。ということは、ActionScript2はECMAScript4が標準化される前の提案の段階で派生したものということか。

_ [Onion]インタフェース継承構文の変更

ものすごく久しぶりに、Onion開発日記らしい話題。

今までのOnionでは、インタフェースの実装やインタフェースの継承を行うためにconformsというキーワードを使っていた。例えば、クラスAがインタフェースBを実装する場合、以下のようになる。

class A conforms B {
}

しかし、インタフェースの実装という比較的よく使う機能に長い名前を割り当てるのは良くないと思っていたので、もっと簡潔な名前として"<:"という記号を使うように変更することにした。この記号は言語仕様などの記述でサブタイプ関係を表現するためによく使われる記号であるし、文字数も2文字と少ないので適当だと思う。

あとは、クラスの継承もextendsではなくて、もっと簡潔な名前を使うようにしたいのだが、どうしたものか。

しかし、現在のところほぼ自分くらいしかユーザがいない(笑)言語なので問題無いものの、他の人にも幅広く使ってもらいたいなら、このようにちょっとした理由であまり構文を変更するのはどうかという気がする。後で構文を変えたくならないように、構文を決定できるのが理想なのだが、なかなかうまくいかない。悩ましい。

_ [Eclipse][言語]The eScript Language

Eclipseのプラグインを手軽に書くことを目的としたスクリプト言語らしい。一瞬ネタがかぶったかと思ってドキっとしたが、主眼はあくまでもプラグインを書くことであり、Stormのようにバッチ処理を手軽に書けるものではないようなので、ホッとした。

_ [ソフトウェア]Firefox 1.5

レンダリングがかなり高速になったと聞いて、インストールしてみた。

いくつかのページを開いてみると、確かに以前と比べてかなり高速にページが表示されるようになっている。特にスラッシュドットジャパンは、以前は表示されるのに若干時間がかかってストレスを感じることが多かったが、1.5ではかなり高速に表示され、実に快適だ。

本日のツッコミ(全8件) [ツッコミを入れる]

Before...

_ Takashi [> インタフェースの実装という比較的よく使う機能に長い名前を割り当てるのは良くない そんなものはIDEやエディタが..]

_ みずしま [> そんなものはIDEやエディタが補完してくれるものなので, > 長いかどうかはあまり関係ないと思います. IDE..]

_ Napolian Netherton [ * * * * * * * * * * * * * * * * * * * ..]

_ mia matures teens [ e sessomestruazioni pippe gratis teens casalinghe calde..]

_ credit cards with high cash advance limit [ hotel carrusel cancun free mp3 decoder mature bocchino ..]

本日のリンク元 | 55 | 26 | 23 | 18 | 14 | 11 | 10 | 9 | 9 | 9 | TrackBack(0)

2005-12-07

_ [Java]exewrap

Java News経由で。 以前紹介したLaunch4jと同系統の、jarファイルからexeを生成するツール。コマンドラインで動作するのと、余計な一時ファイルを生成しないなどの点でLaunch4jとは異なるようだ。また、生成したexeをWindowsサービスとして動作させることもできるらしい。ソフトウェアの自動ビルド手順に組み込むなら、Launch4jよりこちらの方が使いやすいかも。

_ [検索]留年 解析学

これで検索してきた人は、おそらく大学関係者なのだろうが、いったい何が知りたいのだろうか。ちなみに、自分は解析学で留年という事態はかろうじてまぬがれた

_ [Onion]コンパイルエラーの個数の表示

今日は、コンパイルエラーの個数を表示するコードを追加した。これで、コンパイルエラーがあった場合、末尾にエラーの個数が表示されるようになった。例えば、以下のようなソースをコンパイルしようとすると、

foo = "Foo";
foo = 1;
bar = 1.0;
bar = "Bar";

次のようなエラーメッセージが出力される。

CompileError.on: 2,7: 型 java.lang.String が期待されている箇所に、型 int を使用
しました。
                foo = 1;
                      ^
CompileError.on: 4,7: 型 double が期待されている箇所に、型 java.lang.String を使
用しました。
                bar = "Bar";
                      ^
2 個のエラーが発見されました。
本日のツッコミ(全6件) [ツッコミを入れる]

Before...

_ みずしま [はい。7文字目(7カラム目)っていうことです。どんな形式がいいかよくわからなかったので、行番号、カラムの順に出せばま..]

_ ささだ [なんか知らんけど,それだと秀丸とxyzzyでは飛べます.他も同様? 由来はなんだろ. ]

_ Danl Ash [ * * * * * * * * * * * * * * * * * * * ..]

_ gay trolas [ favoloso infermiera sex sexy puercas gay pompini violen..]

_ omni cancun hotel 26 villas [ gr solaris hotel cancun tcs decoders bloccare pagina in..]

本日のリンク元 | 14 | 14 | 12 | 11 | 9 | 9 | 8 | 7 | 7 | 6 | TrackBack(0)

2005-12-08

_ [Onion]スクリプトのスーパークラス

Onionでは、トップレベルに関数を定義できるのだが、現在のOnionでは、それはObjectのサブクラスのインスタンスメソッドになる。例えば、ファイルFactorial.onに以下のようなスクリプトを記述すると、

/*
 * 階乗を計算する。int型のnを引数に取り、その数の階乗を
 * int型で返す。
 */
def fact(n :int) :int {
  /*
   * 条件式には()が必要ない。その代わりにthenとelseの部分に
   * が必要。
   */
  if n < 2 { return 1; } else { return n * fact(n - 1); }
}

内部的には、次のようなクラス定義に変換される。

class FactorialMain {
public: //OnionはC++方式のアクセス指定。何も指定しなければprivate
  /* 
   * クラス内部のメソッド定義にはdefは必要無い。
   */
  fact(n :int) :int {
    if n < 2 { return 1; } else { return n * fact(n - 1); }
  }
}

しかし、Groovyのソースのorg.codehaus.groovy.control.CompilerConfigurationクラス中にscriptBaseClassというフィールドがあるのを見て思いついたのだが、コンパイル時のオプションで、トップレベルの関数の属するクラスのスーパークラスを指定できると便利なのではないだろうか。例えば、アプレットをスクリプトのスーパークラスとして指定できると、明示的にアプレットのサブクラスを作るよりも簡潔な、次のような形でアプレットを記述できることになる。

import {
  /*
   * java.awtパッケージの全てのクラスをimport。
   * Javaのimport java.awt.*;とほぼ同じ。
   */
  java.awt.*;
}
/*
 * java.applet.Applet#init() をオーバーライド
 */
def init {
}
/*
 * java.applet.Applet#start() をオーバーライド
 */
def start {
}
/*
 * java.applet.Applet#paint(java.awt.Graphics) をオーバーライド
 */
def paint(g :Graphics) {
}

_ [Onion]コンパイルエラーの出力フォーマットの変更

Onionのコンパイルエラーの出力フォーマットは、

ファイル名:行番号,列番号: ...

という形になっていたのだが、ささださんから、12/7の日記に対するツッコミで、一般的なエディタで飛べる

ファイル名:行番号: ...
という形にする方が良いという指摘を受けたため、自分の一番良く使うエディタであるvim(gvim)で調べてみた所、確かに
ファイル名:行番号:

という形式のエラーメッセージから、エラー行にジャンプ可能であることがわかった。

この形式が標準的なものかどうかはわからないが、秀丸エディタやxyzzyでも同じフォーマットでジャンプできるらしいので、エラーメッセージの出力フォーマットは変更した。変更後のエラーメッセージは次のようになる。

Error.on:7: 型 java.lang.String が期待されている箇所に、型 int を使用しました。
                x = 1;
                    ^
Error.on:10: 型 java.lang.String が期待されている箇所に、型 int を使用しました。

x = 100; ^ 2 個のエラーが発見されました。
本日のツッコミ(全5件) [ツッコミを入れる]

_ keisuken [面白い言語になってますね.JavaScript(or ActionScript)のようであり,Ruby(Groovy..]

_ みずしま [> 面白い言語になってますね。 どうもありがとうございます。 > JavaScript(or ActionScr..]

_ Edward Ash [ * * * * * * * * * * * * * * * * * * * ..]

_ hombres masturvandose gangbang [ peruanitascon bukkake fotoporno amateur sborrate video ..]

_ first time cash advance [ dental insurance and north dakota gay teen male chat roo..]

本日のリンク元 | 14 | 10 | 8 | 8 | 8 | 7 | 6 | 6 | 5 | 5 | TrackBack(0)

2005-12-12

_ [Eclipse] Eclipse Text Editor Extensions (ETEE)

Eclipseのテキストエディタ上のテキストを、コマンドラインを使ってフィルタリングするのを簡単にするプラグイン。地味だが使い出のありそうなプラグインだ。

_ [その他]Q't

最近、いよいよ寒くなってきたので、研究室のメンバー何人かとQ'tへコートと冬物の服を買いに行ってきた。良い服の組み合わせなどはさっぱりわからなかったが、アドバイスしてもらうことで、何とか一通りそろえることができた。

しかし、ズボンを試着してみたときに、LLサイズでもきつかったのはショックだった。これは、本格的にダイエットをしなければいけないなあ。

本日のツッコミ(全9件) [ツッコミを入れる]

Before...

_ 7ukfc18kbp [s6tyys6w77yonhw6 beofr9bbt1 gt4tfniq9qqcv ]

_ donne calde [ fetish fotolog desnudos mature foto gratis chat y video..]

_ dental and vision insurance [ capital lighting pl lighting free dvd decoder media pla..]

_ ymhgvs xwedmy [rwzvbq jtilmpwc pevr zcvg whzuco dltgabo pbol ]

_ oifrcpl pluvibs [vbcisfey ocubmxjiv tzepwdgj aerpkolj qcio uxedfrts chtqfnl..]

本日のリンク元 | 26 | 15 | 12 | 12 | 10 | 10 | 6 | 6 | 6 | 6 | TrackBack(0)

2005-12-13

_ [Eclipse]Gotofileプラグイン

hima2さんの日記@IT:CoolなEclipseプラグイン(7)経由で。Eclipseでのファイル検索を支援するプラグイン。早速入れてみたが、インクリメンタル検索でファイルが検索できるのがなかなか便利。Eclipse標準のファイル検索機能がイマイチと感じている人にお勧めだ。

本日のツッコミ(全2件) [ツッコミを入れる]

_ sexo de maduras [ basso prosperose sborrate nella fica mousy infermiera s..]

_ church lighting [ first commonwealth dental insurance windows media dvd de..]

本日のリンク元 | 18 | 17 | 15 | 14 | 11 | 11 | 10 | 10 | 9 | 9 | TrackBack(0)

2005-12-14

_ [授業]水泳

久しぶりの水泳の授業。右膝の痛みはほとんど引いたものの、激しい運動をするといつ再発するかわからないので、冷や冷やしながら泳いだが、とりあえず何ともなくてほっとした。

本日のツッコミ(全2件) [ツッコミを入れる]

_ foto sess [ bevitrici di sborra zie nude foto pompino foto di stud..]

_ fica bocchino tutto porno gratis [ lighting equipment rental fortis and dental insurance p..]

本日のリンク元 | 65 | 20 | 17 | 14 | 12 | 11 | 10 | 9 | 8 | 8 | TrackBack(0)

2005-12-15

_ [その他]Ruby忘年会

Rubyistでも無いのに、Ruby忘年会に行ってきた。RoR、高橋メソッド、YARVなど様々な話題で話すことができて、大変楽しかった。また来年も行きたいものだ。

本日のツッコミ(全3件) [ツッコミを入れる]

_ Robert Cor [ * * * * * * * * * * * * * * * * * * * ..]

_ insesto gratis teens [ cosetta grassottelle frases calientes gay muy peludas s..]

_ 1955 ford vin decoder [ research dental insurance carriers cancun mexico hotels ..]

本日のリンク元 | 15 | 14 | 12 | 10 | 10 | 9 | 9 | 8 | 6 | 6 | TrackBack(0)

2005-12-18

_ [その他]飲み会

shinichiro_hさんk.inabaさんw_oさんshelarcyさんytqwertyさん と東京で飲み会。

全員、言語系?だけあって、前置きをせずにディープな言語の話ができるのが実に楽しい。D言語、Java、Haskell、orz、ILogScript、MixJuice、アスペクト指向、などなど様々な話題についてしゃべることができて、満足。また、このような形で集まって話をしたいものだ。

本日のツッコミ(全5件) [ツッコミを入れる]

_ Neare Dielhorst [ * * * * * * * * * * * * * * * * * * * ..]

_ sensazione casalinga [ fetish enormi sexy video spagnolette adeguato lesbiche ..]

_ 1961 pontiac vin number decoder [ kids lighting bocchino it upright piano krystal hotel ..]

_ John McCoy [Google is the best search engine ]

_ bbbb [bbbbbbbbbbbbbbbbbbbbb]

本日のリンク元 | 71 | 52 | 36 | 35 | 19 | 16 | 15 | 13 | 13 | 12 | TrackBack(0)

2005-12-19

_ [パーザジェネレータ][Java]Grammaticaその2

以前日記で取り上げたGrammaticaで、簡単な文法定義ファイルからJavaのソースを生成させてみたのだが、なかなか使いにくそうだ。

Grammaticaは文法定義ファイルにアクションを全く書けないパーザジェネレータであり、アクションを駆動する代わりに、構文木を自動生成してくれる。しかし、構文木を自動生成してくれるというのは、一見便利そうに見えるものの、Grammaticaでは、抽象構文木ではなく具象構文木が生成されてしまうため、結局、具象構文木から抽象構文木への変換処理を別に書く必要があるのだ。

以前使ってみたSableCCにも同様の問題があったが、もうちょっとなんとかならないものだろうか。JJTreeのようにノードの生成を制御するための機能でもあれば良いのだが…。

本日のツッコミ(全3件) [ツッコミを入れる]

_ Johann Kobn [ * * * * * * * * * * * * * * * * * * * ..]

_ voglia di sborra [ vogliose di cazzo fighe bagnate gratis sesso diciottenn..]

_ mpeg2 decoder [ newest cancun hotel used pianos learn piano dental ins..]

本日のリンク元 | 18 | 11 | 9 | 9 | 9 | 6 | 6 | 6 | 5 | 4 | TrackBack(0)

2005-12-21

_ [授業]水泳

いつも通りの授業だったが、徹夜明けのため、かなり疲れた。

本日のツッコミ(全5件) [ツッコミを入れる]

_ defplus [徹夜、お疲れ様でした。 思い返してみると、こちら質問しっぱなしで 申し訳なかったかなと。 辛抱強く答えて頂いたのが記..]

_ みずしま [いえいえ。自分としては、いろいろ質問してもらえる方が 嬉しいので、むしろ助かりました。あと、水泳ですが、途中、何度か..]

_ Benjamin Imhoff [ * * * * * * * * * * * * * * * * * * * ..]

_ italiani nudi [ sesso sexy culo sborrato obese mature amatoriali pompi..]

_ bloccare cartella [ dental insurance in oregon reduction in dental school gr..]

本日のリンク元 | 36 | 33 | 20 | 16 | 16 | 15 | 12 | 12 | 10 | 10 | TrackBack(0)

2005-12-22

_ [Java][ネタ]JRail Java Rail Simulator

こんな毎日・・・ Script_on_Java経由。JavaでRailsをシミュレーションする何かを作ってるのかと思って、プロジェクトのページを見てみたら、 何故か線路の3Dポリゴン画像が張ってあって、こりゃ何だ?と思って説明を読んでみると、

Client - server Java Rail Simulator, using 3D visualisations.
ということのようでorz

「JRail Java Rail Simulator」であって、「JRail Java Rails Simulator」でないところで気づくべきであった…。

本日のツッコミ(全4件) [ツッコミを入れる]

_ Ryo [orz。とにかくruby on Railsは便利そうですよねー。 ]

_ Lewis Knox [ * * * * * * * * * * * * * * * * * * * ..]

_ le tette [ immagini di asiatiche bocchini ingoio sexi profilattic..]

_ dolby decoder [ fica bocchino tutto porno gratis free mp3 decoders bocc..]

本日のリンク元 | 14 | 11 | 10 | 9 | 9 | 7 | 7 | 7 | 7 | 6 | TrackBack(0)

2005-12-23

_ [Ruby]Rubyist Magazine0012号

今日、リリースされた模様。記事の中では、特にqwikWebの仕組みについて解説したのが面白そう。

本日のリンク元 | 7 | 7 | 6 | 4 | 2 | 2 | 2 | 1 | 1 | 1 | TrackBack(0)

2005-12-24

_ [その他]クリスマスイブ

今日はクリスマスイブだが、もちろん、この日を一緒に過ごす異性が居るはずもなく。せめて時間を有効に使うために、研究室で卒論用のプログラムを書こうとしたのだが、何故か一向に書く気が起こらない。

仕方がないので、研究室のソファーに寝転がって休んでいると、先輩たちがケーキ+ドーナツを買ってやってきた。どうやら、同じくこの日を独り寂しく過ごす者同士、ケーキを食べつつ語り合おうという趣旨らしい。というわけで、自虐ネタで盛り下がりつつ、ケーキを食したのであった。

ケーキを食べた後は、引き続き卒論用のプログラムを実装。糖分を摂取したおかげか、ケーキを食べる前と比べて、だいぶ作業がはかどった。

本日のツッコミ(全7件) [ツッコミを入れる]

Before...

_ yach [独り寂しく過ごしてないやん!! ]

_ みずしま [独りの意味が違うのですよ。 > 独り寂しく ]

_ Philip Angelmayer [ * * * * * * * * * * * * * * * * * * * ..]

_ bdsm mania [ immagini infermiere fighette rasate diciottenni italian..]

_ information on dental insurance [ bloccare animazione flash hotels cancun mexico ceramica..]

本日のリンク元 | 52 | 18 | 13 | 10 | 10 | 8 | 8 | 8 | 7 | 6 | TrackBack(0)

2005-12-25

_ [その他]クリスマス

  • クリスマスだけど、そんなことは一向に関係無く、研究室でプログラムの実装。

  • 今日になって、初めてVIMのファイルブラウザを使ってみたが、なかなか便利。今までは、VIMを複数立ち上げて別のファイルを編集するときに切り替えていたが、これなら大抵の場合、1つだけ立ち上げてれば十分だ。

本日のツッコミ(全4件) [ツッコミを入れる]

_ Abram Wilhelm [ * * * * * * * * * * * * * * * * * * * ..]

_ trombare la gnocca [ foto porno amateur fine strip amateur peruanas culonas ..]

_ satellite decoders [ indovinello campo boccia free hardcore gay chat discoun..]

_ lvdg4ky@lycos.com [funny ringtones ]

本日のリンク元 | 12 | 11 | 9 | 9 | 8 | 8 | 7 | 7 | 5 | 5 | TrackBack(0)

2005-12-26

_ [その他]ゼミ

研究室での、今年最後のゼミ。結局、今日までに卒論用のプログラムが動作するところまで作ることができず、ちょっとへこんだ。

敗因は、Schemeでのプログラミングに自分が不慣れであったことだろうか。研究室のM先生曰く、Schemeで作るなら、もっと早く作れたはずとのこと。しかし、Schemeでのプログラミングにもっと慣れればそうなのかもしれないが、現状では、自分の生産性はJava >>> Schemeなので、なかなかつらいところだ。とはいえ、プログラムをSchemeで作ると決めたのは自分であるのだし、今更後には引けない。

とりあえず、年内にはプログラムが動作するようにしたいところだ。

本日のツッコミ(全3件) [ツッコミを入れる]

_ Joseph Folby [ * * * * * * * * * * * * * * * * * * * ..]

_ succhiare porno [ segretarie sexi video cazzoni locali per tardone subli..]

_ cazzo bocca [ bloccare chat rete bocche piene di sborra piano man bil..]

本日のリンク元 | 47 | 26 | 8 | 8 | 7 | 7 | 7 | 6 | 6 | 5 | TrackBack(0)

2005-12-27

_ [その他]夢

夢というのは、元々大抵どこか変なものだが、今日はたまたまやけに記憶に残っていたので、書き留めておくことにする。

内容は実に簡単。つくばにビッグフォールという別名で呼ばれる流れの急な川(ビッグフォールという名前なのに滝ではない!)があり、それを無謀にも泳いで下ろうとする挑戦者が居た。そこで、何故か知り合いがカメラマンとして同行することになり、ボートで川を下りながら、挑戦者を撮影したのであった。自分はと言えば、撮影された映像を「ビッグフォールなのに何故川なんだ?」とかツッコミを入れながら、どこかで見ているだけ。全くもって意味不明な夢である。たぶん、だいぶ前に見たなんかのバラエティー番組の影響されたんだろうな。

ちなみに、起きてから「つくば ビッグフォール」で検索してみたが、当然のことながら、そんなものはあるわけが無いのであった。

_ [Java][アスペクト指向]AspectJ5リリース

MYCOM PCWEBのニュース経由で。GenericsなどのJava5の新しい機能に対応したのは、まあ普通として、アノテーションを使ってJava言語の文法のみでアスペクトを書くこともできるようになったのは、Eclipseなどの開発環境との相性を考えると、大きいかも。

_ [その他]大掃除

今日は、サークルの引退したメンバーが集まって家で忘年会をすることになっているので、部屋の大掃除をした。

不要な雑誌を捨てたり、部屋に掃除機をかけたり、台所やトイレを綺麗にするといった作業を行ったが、掃除する前がかなり散らかって(汚れて)いたので、6時間くらいかかってしまった。しかし、おかげでかなり綺麗になった。これなら、人を呼んでも恥ずかしくないな。

_ [その他]忘年会

自分を含め、サークルの引退したメンバー中心の忘年会。久しぶりに会う人ばかりで、少し懐かしい気分だ。今後の進路や就職先、メンバーの色恋沙汰などについて、鍋をつつきつつ語り合った。

本日のツッコミ(全5件) [ツッコミを入れる]

_ Isaac Wilkeson [ * * * * * * * * * * * * * * * * * * * ..]

_ qlixp fpazy [rcyfmlk lxoeftzr monbp lnikchv otskvu vyqdpi bmorei ]

_ superdotate hardcore [ ufficio incazzato gay sessoxxx lesbe uomini pelosi asi..]

_ casa maya hotel cancun mexico [ boccia campania pond lighting foto gratis bocchino hot..]

_ qfyj xewyt [kgzo jbtrgx wxrflctvh nyzl kpiwd szhfqpgdm ajrbckn ]

本日のリンク元 | 11 | 9 | 7 | 7 | 6 | 6 | 5 | 5 | 5 | 4 | TrackBack(0)

2005-12-28

_ [その他]筋肉痛

昨日、大掃除で結構運動をしたので、腕が筋肉痛だ。特に、重い雑誌の束を持ったせいで、肩が痛い…。まあ、明日には治ってるだろうけど、大掃除で筋肉痛になるとは運動不足なんだろうなあ。考えてみれば、つくばマラソンの後は、体育の授業を除いて、ろくな運動をしていない。そろそろ、ジョギングを再開しようかな。

_ [Eclipse][Storm]スタックトレースの表示

今日は、Stormで実行したスクリプトにエラーがあった場合、スクリプトのスタックトレースがEclipseのコンソールビューに表示されるようにする機能を実装していたのだが、難航している。

現在、StormではGroovyスクリプトを実行するために、GroovyShellというGroovyスクリプトをJavaプログラムに組み込むためのクラスを使っている。このGroovyShellクラスのインスタンスのrun(String script)メソッドなどを呼び出すことで、Groovyスクリプトを実行できるのだが、実行に失敗した場合、 GroovyRuntimeExceptionという例外のサブクラスのインスタンスが投げられる。これ自体は別に問題ではない。投げられた例外をcatchして適切な処理をすれば良いだけだからだ。

問題は、投げられた例外のスタックトレースを出力するときだ。投げられたGroovyRuntimeExceptionのスタックトレースをそのまま出力すると、Java言語レベルのスタックトレースが出力されてしまうのだ。例えば、次のスクリプトを実行すると

println (p.x)

次のようなスタックトレースが出力されてしまう。

groovy.lang.MissingPropertyException: No such property: p for class: simple
	at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:730)
	at groovy.lang.GroovyObjectSupport.getProperty(GroovyObjectSupport.java:65)
	at groovy.lang.Script.getProperty(Script.java:85)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getGroovyObjectProperty(ScriptBytecodeAdapter.java:365)
	at simple.run(simple.grv)
	at org.onion_lang.storm.editor.ScriptActionDelegate.run(ScriptActionDelegate.java:91)
	at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:246)
	at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:223)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:538)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3080)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2713)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
	at org.eclipse.core.launcher.Main.run(Main.java:973)
	at org.eclipse.core.launcher.Main.main(Main.java:948)

これでも一応エラーの起きた箇所はわかるものの、本当に欲しい情報(ここでは、赤で表示している部分)が、その他の情報に埋もれてしまうのは、良くない。このケースでは、Exception#getStackTrace()を使って取得したStackTraceElementの配列から、.javaで終わるファイル名のものを取り除く 処理を入れることで何とかすることはできたが、どうにも気持ち悪い上に、この方法だと、Javaのライブラリ中で例外が発生した場合にJavaの部分のスタックトレースが表示されないことになってしまう。どうしたものだろうか。

本日のツッコミ(全6件) [ツッコミを入れる]

Before...

_ Daniel Corbin [ * * * * * * * * * * * * * * * * * * * ..]

_ tangas ricas gay [ sarde vogliose webcam guardoni video pornostar foto qu..]

_ adult chat rooms gay [ colorado gay chat dvd decoder download provider service..]

_ matsu [問題の箇所よりもしたには"groovy"が含まれていないから、それで判断するっていうのは駄目ですか? ]

_ leonardo antonio [estas fotos estan biem ricas ]

本日のリンク元 | 21 | 17 | 11 | 9 | 7 | 5 | 5 | 5 | 4 | 4 | TrackBack(0)

2005-12-29

_ [その他]帰省

1月4日まで。JR二条駅に着いて、電車から降りてみると、駅前がものすごい様変わりしていてビックリ。二条駅周辺も、随分開発が進んだものだ。

_ [その他]忘年会

高校の頃の部活(生物部)が一緒だった同級生たちと、京都で忘年会。お互いの近況報告をしたり、グランツーリスモや桃太郎電鉄などをして遊んだ。

本日のツッコミ(全2件) [ツッコミを入れる]

_ che porca [ professoresse in calore le liceali asiatiche sex scopa..]

_ lighting safety [ blocco finestra legno pennsylvania individual dental ins..]

本日のリンク元 | 15 | 6 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | TrackBack(0)

2005-12-30

_ [その他]忘年会

小学校のときの同窓生の中で成人式で会ったメンバーで忘年会。

本日のツッコミ(全1件) [ツッコミを入れる]

_ Romaine Imlay [ * * * * * * * * * * * * * * * * * * * ..]

本日のリンク元 | 4 | 3 | 3 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | TrackBack(0)

Mizushima Kota/e-mail: i021216{at}coins.tsukuba.ac.jp/SKype ID: mizu_standard