2012-01-14から1日間の記事一覧

Sprout.Weed で特定の構文を無視する

weed::omit を使用して特定の構文を無視することが出来ます。 [ソース] #define SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION #include <sprout/weed.hpp> template<typename Parsed> struct parsed_holder{ constexpr operator bool() const{ return parsed.success(); } template<typename T> co</typename></typename></sprout/weed.hpp>…

Sprout.Weed でどちらかにマッチするパーサを書く

演算子を使用して // 数値かアルファベットにマッチするパーサ weed::int_ | weed::alpha のようなパーサを記述することが出来ます。 また、上記のパーサだと attribute の型は sprout::variant<std::intmax_t, char> のように sprout::variant 型になります。 [ソース] #define S</std::intmax_t,>…