Boost Spirit V2 の演算子

ID: 20
creation date: 2013/02/20 20:12
modification date: 2013/02/20 20:13
owner: taiji
tags: C++,Spirit V2,operator,EBNF

以前、Boost の Spirit (Classic) について書きましたが、新しい Boost Spirit V2 で使用されている演算子を優先順位でまとめてみました。

Spirit V2 Name EBNF SpiritのAttribute Description
&a And Predicate なし unused_type,A aにマッチする。
-a Optional なし optional<A> 0回または1回のマッチ
+a Plus a+ vector<A> 1回以上のマッチ
*a Kleene a* vector<A> 0回以上のマッチ
!a Not Predicate なし unused_type,A aにマッチしない。
~a Negation [^...] - C-aにマッチ(Cは文字集合全体)
a % b List a (b a)* vector<A> 1回以上の b 区切り a のリストのマッチ。a>>*(b>>a) と同義
a - b Difference a - b A a にマッチかつ b にマッチしない。
a >> b,a << b Sequence a b tupple<A,B> a,b の並びにマッチ
a > b Expect a b tupple<A,B> a,b の並びにマッチしなければ例外
a ^ b Permutation a - b | b - a tuple<optional<A>,optional<B> > a か b にマッチし両方にはマッチしない。a-b|b-a と同義
a | b Alternative a | b variant<A,B> a か b にマッチ
a || b Sequential Or (a b) | a | b,(a b?) | b tuple<optional<A>,optional<B> > a,b の並びもしくはどちらかにマッチ。a>>b|a|b,(a>>-b)|b と同義

&」Intersection,「&&」Sequential-and がなくなり「!」Optional が「-」に変わっているようです。

0 コメント
ゲストコメント認証用なぞなぞ:
キーボードのLから左に全部打って下さい。それを二回やって下さい。 ...