<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>boost</title><link>http://blogs.wankuma.com/asd7000jp/category/1349.aspx</link><description>boostのメモ</description><managingEditor>ちとし</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>ちとし</dc:creator><title>boost::spirit::grammarのデバッグ</title><link>http://blogs.wankuma.com/asd7000jp/archive/2007/08/18/90841.aspx</link><pubDate>Sat, 18 Aug 2007 08:03:00 GMT</pubDate><guid>http://blogs.wankuma.com/asd7000jp/archive/2007/08/18/90841.aspx</guid><wfw:comment>http://blogs.wankuma.com/asd7000jp/comments/90841.aspx</wfw:comment><comments>http://blogs.wankuma.com/asd7000jp/archive/2007/08/18/90841.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/asd7000jp/comments/commentRss/90841.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/asd7000jp/services/trackbacks/90841.aspx</trackback:ping><description>&lt;P&gt;&lt;FONT color=#0000ff&gt;&lt;FONT color=#800080&gt;&lt;FONT color=#0000ff&gt;#define&lt;/FONT&gt; BOOST_SPIRIT_DEBUG&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;#include&lt;/FONT&gt; &amp;lt;boost/spirit/core.hpp&amp;gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;#include&lt;/FONT&gt; &amp;lt;boost/spirit/attribute.hpp&amp;gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;#include&lt;/FONT&gt; &amp;lt;boost/spirit/utility.hpp&amp;gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;BR&gt;struct&lt;/FONT&gt; &lt;FONT color=#a52a2a&gt;my_parser&lt;/FONT&gt; : boost::spirit::grammar&amp;lt;&lt;FONT color=#a52a2a&gt;my_parser&lt;/FONT&gt;&amp;gt;&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;template&lt;/FONT&gt; &amp;lt;&lt;FONT color=#0000ff&gt;typename&lt;/FONT&gt; ScannerT&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;struct&lt;/FONT&gt; definition&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; definition(&lt;FONT color=#a52a2a&gt;my_parser&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;const&lt;/FONT&gt;&amp;amp; self)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;using namespace&lt;/FONT&gt; boost::spirit;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;using namespace&lt;/FONT&gt; phoenix;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; expr = &lt;FONT color=#008000&gt;/* define&amp;nbsp;rule here. */&lt;/FONT&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#800080&gt;BOOST_SPIRIT_DEBUG_RULE&lt;/FONT&gt;(expr);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; boost::spirit::rule&lt;SCANNERT&gt; expr;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; boost::spirit::rule&lt;SCANNERT&gt; &lt;FONT color=#0000ff&gt;const&lt;/FONT&gt;&amp;amp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; start() &lt;FONT color=#0000ff&gt;const&lt;/FONT&gt; { &lt;FONT color=#0000ff&gt;return&lt;/FONT&gt; expr; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;BR&gt;};&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800080&gt;BOOST_SPIRIT_DEBUG&lt;FONT color=#000000&gt;と&lt;/FONT&gt;BOOST_SPIRIT_DEBUG_RULE&lt;/FONT&gt;&lt;FONT color=#000000&gt;で綺麗なツリー表示をしてくれるようになる。&lt;BR&gt;試行したルールを順番に成功失敗の記号とともにツリー型に表示。&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/asd7000jp/aggbug/90841.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちとし</dc:creator><title>boost::spiritのメモ</title><link>http://blogs.wankuma.com/asd7000jp/archive/2007/08/18/90840.aspx</link><pubDate>Sat, 18 Aug 2007 07:46:00 GMT</pubDate><guid>http://blogs.wankuma.com/asd7000jp/archive/2007/08/18/90840.aspx</guid><wfw:comment>http://blogs.wankuma.com/asd7000jp/comments/90840.aspx</wfw:comment><comments>http://blogs.wankuma.com/asd7000jp/archive/2007/08/18/90840.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/asd7000jp/comments/commentRss/90840.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/asd7000jp/services/trackbacks/90840.aspx</trackback:ping><description>&lt;P&gt;boost::spirit::chset&amp;lt;&amp;gt;() で日本語がうまく扱えない。&lt;BR&gt;asciiの範囲は特に問題ないように見える。&lt;/P&gt;
&lt;P&gt;&amp;#215; chset&amp;lt;wchar_t&amp;gt;(L"ぁ-んァ-ヶ亜-腕弌-熙")&lt;BR&gt;&amp;#215; chset&amp;lt;wchar_t&amp;gt;(L"\u3041-\u3093\u30A1-\u30F6\u4E9C-\u8155\u5F0C-\u7199")&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/asd7000jp/aggbug/90840.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちとし</dc:creator><title>boost::spirit::grammarのテンプレ</title><link>http://blogs.wankuma.com/asd7000jp/archive/2007/08/17/90803.aspx</link><pubDate>Fri, 17 Aug 2007 22:44:00 GMT</pubDate><guid>http://blogs.wankuma.com/asd7000jp/archive/2007/08/17/90803.aspx</guid><wfw:comment>http://blogs.wankuma.com/asd7000jp/comments/90803.aspx</wfw:comment><comments>http://blogs.wankuma.com/asd7000jp/archive/2007/08/17/90803.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/asd7000jp/comments/commentRss/90803.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/asd7000jp/services/trackbacks/90803.aspx</trackback:ping><description>&lt;P&gt;&lt;FONT color=#0000ff&gt;#include&lt;/FONT&gt; &amp;lt;boost/spirit/core.hpp&amp;gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;#include&lt;/FONT&gt; &amp;lt;boost/spirit/attribute.hpp&amp;gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;#include&lt;/FONT&gt; &amp;lt;boost/spirit/utility.hpp&amp;gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;BR&gt;struct&lt;/FONT&gt; &lt;FONT color=#a52a2a&gt;my_parser&lt;/FONT&gt; : boost::spirit::grammar&amp;lt;&lt;FONT color=#a52a2a&gt;my_parser&lt;/FONT&gt;&amp;gt;&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;template&lt;/FONT&gt; &amp;lt;&lt;FONT color=#0000ff&gt;typename&lt;/FONT&gt; ScannerT&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;struct&lt;/FONT&gt; definition&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; definition(&lt;FONT color=#a52a2a&gt;my_parser&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;const&lt;/FONT&gt;&amp;amp; self)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;using namespace&lt;/FONT&gt; boost::spirit;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;using namespace&lt;/FONT&gt; phoenix;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; boost::spirit::rule&lt;SCANNERT&gt; expr;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; boost::spirit::rule&lt;SCANNERT&gt; &lt;FONT color=#0000ff&gt;const&lt;/FONT&gt;&amp;amp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; start() &lt;FONT color=#0000ff&gt;const&lt;/FONT&gt; { &lt;FONT color=#0000ff&gt;return&lt;/FONT&gt; expr; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;BR&gt;};&lt;/P&gt;
&lt;P&gt;それにしてもビルドが遅い。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/asd7000jp/aggbug/90803.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちとし</dc:creator><title>boost::spirit::closureのメモ</title><link>http://blogs.wankuma.com/asd7000jp/archive/2007/07/26/87101.aspx</link><pubDate>Thu, 26 Jul 2007 14:10:00 GMT</pubDate><guid>http://blogs.wankuma.com/asd7000jp/archive/2007/07/26/87101.aspx</guid><wfw:comment>http://blogs.wankuma.com/asd7000jp/comments/87101.aspx</wfw:comment><comments>http://blogs.wankuma.com/asd7000jp/archive/2007/07/26/87101.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/asd7000jp/comments/commentRss/87101.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/asd7000jp/services/trackbacks/87101.aspx</trackback:ping><description>&lt;P&gt;&lt;STRONG&gt;BOOST_SPIRIT_CLOSURE_LIMIT&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;これで属性の数を指定する。&lt;BR&gt;規定値では合成属性に使われるT0と通常の属性T1、T2が用意される。&lt;BR&gt;最大でT14まで使える。&lt;/P&gt;
&lt;P&gt;#define BOOST_SPIRIT_CLOSURE_LIMIT 14&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/asd7000jp/aggbug/87101.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちとし</dc:creator><title>boost::spirit::parseのメモ</title><link>http://blogs.wankuma.com/asd7000jp/archive/2007/07/20/86203.aspx</link><pubDate>Fri, 20 Jul 2007 16:05:00 GMT</pubDate><guid>http://blogs.wankuma.com/asd7000jp/archive/2007/07/20/86203.aspx</guid><wfw:comment>http://blogs.wankuma.com/asd7000jp/comments/86203.aspx</wfw:comment><comments>http://blogs.wankuma.com/asd7000jp/archive/2007/07/20/86203.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/asd7000jp/comments/commentRss/86203.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/asd7000jp/services/trackbacks/86203.aspx</trackback:ping><description>&lt;P&gt;boost::spirit::parse_info&lt;WCHAR_T const*&gt; info&lt;BR&gt;??? = parse(L"abc", my_namespace::my_p, boost::spirit::space_p);&lt;/P&gt;
&lt;P&gt;こういう形でワイド文字が使えた。　parse_infoとparse()のCharTが一致していないといけなかった。　自分で定義したparser内で使うCharTはどちらでも大丈夫だった。&lt;/P&gt;
&lt;P&gt;実際に使うときには一致した文字列なども使うと思う。　その時にジェネリック文字列を実現するのにどうするものなのかよくわからない。　調べる。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/asd7000jp/aggbug/86203.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちとし</dc:creator><title>boostを使ってみた</title><link>http://blogs.wankuma.com/asd7000jp/archive/2007/06/14/80722.aspx</link><pubDate>Thu, 14 Jun 2007 17:15:00 GMT</pubDate><guid>http://blogs.wankuma.com/asd7000jp/archive/2007/06/14/80722.aspx</guid><wfw:comment>http://blogs.wankuma.com/asd7000jp/comments/80722.aspx</wfw:comment><comments>http://blogs.wankuma.com/asd7000jp/archive/2007/06/14/80722.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/asd7000jp/comments/commentRss/80722.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/asd7000jp/services/trackbacks/80722.aspx</trackback:ping><description>&lt;P&gt;レンタルサーバーを借りたんだけど、Tidyが入っていないのでやりたいことができない。&lt;/P&gt;
&lt;P&gt;そこで、C++で書いてCGI経由で動かそうとししたんだけど、借りてるサーバーのOSはLinux。　普段VC++しか使っていない僕にはちょっと厳しいものがありました。&lt;/P&gt;
&lt;P&gt;GDBでデバッグは、さすがに手間がかかりすぎます。　そこで、VSで開発してLinux + g++でコンパイルすることにしたんだけど、C++標準ライブラリだけではディレクトリの操作すらできません。&lt;/P&gt;
&lt;P&gt;ここら辺を解決してくれるクロスプラットフォームのライブラリを探していてBoostに行きつきました。&lt;/P&gt;
&lt;P&gt;まだターミナル上で動かしてみる程度だけど、結果は良さそうです。　何の問題もなくLinuxとWindowsで動いています。&lt;/P&gt;
&lt;P&gt;あとは、XMLと文字エンコーディング周りのライブラリがあれば当面しのげそうです。&lt;BR&gt;でも、これがいいのないみたい☆&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/asd7000jp/aggbug/80722.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>