掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
boost::spiritの文法内のセマンティックアクションを自作 (ID:70553)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>“他のメンバ変数の値が〜〜だったら、'a'と'b'はappendしない Phoenixならメンバ変数を条件式にすることもできるわけで、 必ずしもメンバ関数である必要はないように思いますが…好みの問題ですかね。 # かなり複雑な式を書くなら「関数名」という名前をつけた方がみやすいでしょうし、 # 「(他にも色々とやりますが)」がわからないと結局判断不能ですし。 definition(const CScriptParser& self) { using phoenix::if_; A = boost::spirit::classic::alpha_p [ if_( ! self.name_buffer.empty()) [ phoenix::var(self.name_buffer) = phoenix::arg1 ] .else_ [ phoenix::var(self.name_buffer) += phoenix::arg1 ] ]; } const rule_t& start() const { return A; } };
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.