December 04, 2005

Boost::SpiritでCMS計画

このサイトも長く続けているもので、だんだんとコンテンツが増えてきたため、ブログスタイルのみでの運営には多少無理がでてきたように感じています。アクセスログを見ていると、Google大先生にも嫌われ始めましたし(笑)。

そういうことで、テーマごとにまとめページを作ろうと考えているのですが、自分でWikiライクなCMSを作ろうかと考えています。それというのもBoostというC++ライブラリの中にあるパーサジェネレータ(文法解析器)、Spiritに最近はまりりつつあるからです。

このSpirit、文法を定義するためのBNFという記法があるのですが、ほぼそれをそのまま記述するだけで、パーサを作ることができます。当初は実験でできたログファイルの処理をスクリプト言語以外でも簡単にできないかな程度に思って使い出したのですが、実際使ってみるととても簡単でその魅力にはまってしましいました。

現在は文法を考えています。

続きを読む "Boost::SpiritでCMS計画"
23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/446

December 10, 2005

ごみ漁り

[Timely]

最近、某所にいらなくなったコンピュータ等がゴミとして山のように積まれていました。
やっぱり電子機器のはやりすたりって早いものですね。見てみると、AppleのPowerMac 8500とかSun Sparcとかがごろごろあって、ノスタルジーを感じてしまいました。

拾っても本当にかさばるものばかりでしたので、半導体レベルでスキャンしてみると色々面白いものがありました。何かの計測用と思われる基板についていたオペアンプ、バーブラウンの16bitDAC、3-1/2桁テスター用ADCなどなど。これらはなにかで使えそうなので漁っておきました。
半導体を扱うようになると、ジャンクがまるで宝の山ように見えてきます。本当におもしろい世界です。

23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/447

December 17, 2005

飛行実験のまとめ

先月17日に調布飛行場にてセスナで実験をしてきましたが、そのデータを整理してみました。いちおうデータは取れているみたいです。特徴的なものを紹介したいと思います。

051117_flight3_ez.gif
GPS 2D履歴

調布周辺を飛びました。

ez_flight3_AD2.gif
加速度計 機軸方向

離陸後に次第に加速している様子、ならびに着陸時に急激に減速している様子を捉えています。

ez_flight3_AD3.gif
ジャイロ ヨー方向

旋回を飛行中に何度か行ったのですが、その様子を捉えています。

現在はデータの解析作業をしています。年明けぐらいによい結果がでているといいのですが。

23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/448

December 20, 2005

計測器2号機

計測器1号機に続いて、よりよいセンサを搭載した2号機を作成しました。といっても現在は角速度のみを知りたいというあるアプリケーションに特化されているため、ジャイロしか搭載していません。ジャイロはシリコンセンシング(住友精密)CRS03を使っています。

ADC_w_CRS03_0.jpg
外観はこんな感じです。今度はアクリルケースを使って中に収めてみました。

実験器具を一度作ってみるといろいろなことがわかるのですが、やはり実験中は不測の事態がよくおきるな、ということです。ケーブルの断線にはじまり、ネジ穴が効かなくなったりと、散々でした。こんな中でケーブルをUSB1本に統一したり、機器をできるだけ外部に露出しないようにしたりといった工夫が生まれました。1号機と比べてみると自分のノウハウが少しあがったような気がして嬉しいがぎりです。

23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (4) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/449

December 25, 2005

Boost::SpiritでCMS計画 (2)

WikiライクなCMSをBoost::Spiritという変態的なC++ライブラリを用いてつくろうという企画の『Boost::SpiritでCMS計画』。ある程度形ができてきたので、進捗状況の報告といきたいと思います。

記法をある程度定めてそれに対するアクションを定めました。記法はほぼWiki+RDです。文法の紹介を簡単にすると

  • Wikiエリア(処理される部分)は=beginで始まって=endで終わる
  • インライン要素は
    • 下線 __ (下線を引きたい言葉) __
    • 打ち消し線 == (打ち消したい言葉) ==
    • 強調 '' 強調したい言葉 ''
    • リンク [[ リンク先 (空白 エイリアス) ]]
  • ブロック要素は
    • 番号付リスト +で段階数指定 最後に&をつけることで継続
    • 番号なしリスト -で段階数指定 最後に&をつけることで継続
    • 見出し !で段階数指定
  • 自動改行挿入 元の文改行で<br />が挿入される、直後がブロック要素の際は挿入されない
これからの予定としては定義リストと表組みを組み込もうと思います。プラグインなどの拡張機能はあまり考えていません。

ソースを公開します。Spiritを使う方の参考になれば幸いです。

細かいソースは続きをどうぞ。

※その後、パーサとレンダラーを分離しました。

続きを読む "Boost::SpiritでCMS計画 (2)"
23:03 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/450

December 28, 2005

MacOSX(10.2.8)でgcc 3.4.5のコンパイル

Boost::SpiritでCMSを作ろうという企画ですが、サーバで動かなければ企画倒れですので、とりあえずサーバ機のPowerMac G3(@350MHz そろそろ引退?)でコンパイルしてみました。

結果コンパイルできません。自前のプログラム以前の問題で、boostのinstallでかなりこけています。エラーの内容は

`tree_list' not supported by dump_expr

Webを巡回してみるとgccのバージョンをあげれば大丈夫なようなのでgcc3系列の最新版3.4.5をコンパイル & インストールしてみることにしました。本来ならFink等のパッケージ管理ツールを使ってインストールというのが正道なのでしょうが、僕は野良ビルド好きなのでソースからコンパイルします。コンパイル環境はMacOSX(10.2)に付属のgcc(Developer Toolsに付属 version 1151 based on gcc version 3.1)です。
あと注意書きですが、ここで作るgccはApple拡張は施されていませんので、MacOSX付属gccの置き換えにはなりません。FinkにあるDarwinの文章が参考になるかと思います。

詳細は続きをどうぞ。

続きを読む "MacOSX(10.2.8)でgcc 3.4.5のコンパイル"
21:10 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/451