2011-07-13から1日間の記事一覧

Boost.Spirit.Qi で文字列のパース

{文字列}={値} の様に文字列が含まれている構文をパースする場合、 +qi::char_ >> '=' >> qi::int_ では、パースに失敗します。 +qi::char_ が、'=' にマッチしないよう設定する必要があるので、 +(qi::char_ - '=') >> '=' >> qi::int_ これでパースに成功…

Boost.Spirit.Qi の Parser を保持

[ソース] #include <boost/spirit/include/qi.hpp> #include <boost/fusion/include/vector.hpp> #include <boost/fusion/include/io.hpp> namespace qi = boost::spirit::qi; namespace fusion = boost::fusion; template <typename P> void test_parser(char const* input, P const& p, bool full_match = true){ using boos…</typename></boost/fusion/include/io.hpp></boost/fusion/include/vector.hpp></boost/spirit/include/qi.hpp>

Vim で開いているウィンドウをスキップしながらバッファを切り替える

バッファを切り替える際に、すでにウィンドウが開いているならば、スキップして切り替えるとかそんな感じ。 複数ウィンドウを開いている状態で、:bnext で切り替えると、すでに開いているウィンドウも切り替えるのでちょっと無駄かなーと。 Quickfix とか、…