おいふぉりーのぶろぐ

きっと趣味のブログに違いないです!!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

boost::spirit に弄ばれる日々

あいかわらず、ここ数日は Spirit のマニュアルなんか読んだり、サンプルを打ち込んだりしてました。とりあえず、全体の概念とどんな機能があるかは分かったつもりです。でも、いざ自分でコーディングをしようとすると、コンパイルエラーが出まくってうまくいかない。サンプルに毛が生えた程度のコードは問題ないのですが、ちょっと違うことをしようとするとコンパイルが通らなくなったり、通ったと思ったら実行時エラーが発生したり。
とりあえず、自分がテンプレートに不慣れっていうのが一番の原因な気がする。boost のこの手の込み入ったライブラリは "expression template" を使ってるので、それを最近知った私にとってちょっとつらい。特にテンプレート絡みでコンパイルエラーが出ると、エラーメッセージを追いにくい。

今、やりたいのは "3 * sin(2 * (3 * t + 1)) - log(t / 2)" とか(なんでもいいのだけど)って式をパースしてASTを作って、そのあと色んな t を代入して(できるだけ高速に)計算したいのだけども、ちょっとつまずき中。
込み入った話になると~。AST を作るところまではうまくいってるんだけど(というか、ほぼサンプルそのまま)、AST のノードに値を持たせるとき、文法定義の部分で access_node_d ディレクティブを使うんだけど、これの使い方がイマイチわからん。Google先生に聞いても目ぼしいのが見つからないし。

そんなわけで、Spirit に弄ばれてる感じで。。。Spirit を弄ぶのはしばらく時間がかかりそうです。。。というか、相当テンプレート使い込まないと無理そうだな。


参考資料としまして。
http://www.kmonos.net/alang/boost/classes/spirit.html
Let's boost の Spirit のページです。
http://www.c3.club.kyutech.ac.jp/~gridbug/spirit/index.html
Spirit で for とか if 文が使えるインタプリタまで書いておられます。
http://www.fides.dti.ne.jp/~oka-t/cpplab-boost-spirit.html
CSVパーサを書いておられます。


おまけ。
BioJava
先日、ジュンク堂に本を買いに行ったのですが、色々ウロウロしてたら、BioJavaとかってのを存在を知った。何がバイオかって?要は、バイオなデータ(多分塩基配列とかかな?)を処理するためのライブラリみたい。ジュンク堂のバイオインフォマティクスとかって棚にあったけど。

boost::fsm
ここに、日本語チュートリアルがある。これは、何をするかって~と、UML状態チャートを実行可能なC++プログラムへ素早く変換することができるフレームワークだそうな。へぇ~。状態遷移ってのは結構興味があるのでソースを見てみたけど、正直ここまで人の作ったライブラリ使ってると自分で書くとこがなくなりそう~な気がする。
  1. 2006/09/30(土) 22:08:07|
  2. ソフトウェア開発
  3. | トラックバック:0
  4. | コメント:0
<<HDD が遂にイった | ホーム | boostコンパイル時に発生する警告を抑制する>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://tm86eublog.blog42.fc2.com/tb.php/144-a5e938d0
この記事にトラックバックする(FC2ブログユーザー)

来客数

プロフィール

Euphorie

Author:Euphorie
"おいふぉりー"って呼んでくださいな☆
ハードウェアとかソフトウェアとかの開発に興味があったり。。。
連絡先は上の画像。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。