fc2ブログ

おいふぉりーのぶろぐ

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

再び spirit ってみる。

いや~。今日は楽しかった。まだまだ、 spirit の実装については…さっぱり分からないものの(ソース見てもよく分からん)、ちょっとずつ使えるようにはなってきました。何度も言ってるかもしんないけど、 spirit てのは C++ のテンプレートで実装されたお手軽パーサーです。 BNF っぽく文法を書いて、セマンティックアクション(文法解析時の処理)を割り当てるって感じです。

とりあえず、電卓っぽいのもを試してるとこ。数式から AST を生成して、計算~。 AST のノードとして boost::variant を使ったらとっても~いい感じになりました。基本的にノード値としては、そのノードの種類によってまちまちになるので、 C 的には union なんかを使いたくなるのだろうけど、ここは C++ っぽく variant を使ってみました。 variant ってのは、色んな型の値を入れられる boost の型です。

これも、形になったらアップしますね。ちょっとしたアプリを作ろうと思ってるので。

あと、ふと思ったのが、コンパイルに時間かかるな。やっぱ boost::spirit とか boost::variant とか使うとテンプレートのおかげでコンパイラが酷使されるようです。
  1. 2006/11/11(土) 00:25:52|
  2. ソフトウェア開発
  3. | トラックバック:0
  4. | コメント:0
<<今日もちょっぴりプログラミング | ホーム | 【携帯予測変換バトン】>>

コメント

コメントの投稿


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

トラックバック

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

来客数

プロフィール

Euphorie

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

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

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