2
나는 문자열과 부유물을 분석하는 부양 정신 규칙을 만들고 싶습니다.정신이나 명령을 부스트
(str astring)(n 123)
또는 또 다른 순서로 수 : I 구문 분석하고자하는 문자열은 다음과 같은 형식이
(n 123)(str astring)
나는 다음과 같은 유형의 속성과 규칙을 만들 싶습니다 :
qi::rule<Iter, std::string(), ascii::space_type> attr;
attr = lexeme[*alnum];
qi::rule<Iter, boost::fusion::vector<std::string, float>, ascii::space_type> hj;
hj = (
'(' >> lit("str") >> attr(/*put this at position 0*/) >> ')'
|
'(' >> lit("n") >> float_[/*put this at position 1*/] >> ')'
);
:
qi::rule<Iter, boost::fusion::vector<std::string, float>, ascii::space_type> hj;
는 지금까지 내 코드입니다
분명히, 이것은 컴파일되지 않습니다 (boost는 다른 속성 유형을 공제합니다). 이것을 어떻게 구현할 수 있습니까? 특히 주석이 달린 코드에 무엇을 넣을 수 있습니까?
+1. [여기] (http://coliru.stacked-crooked.com/a/4b0a0abfe1669615)는 완전한 예입니다. 순열 파서는 또한 하나의'(n 개의 숫자) '또는 하나의'(str 문자열)'과 채워지는 것이 중요합니다. 누락 된 기본 구성 요소로 채 웁니다. – llonesmiz