나는 여전히 부스트 스피릿을 처음 접했습니다.앞뒤 공백 문자로 구문 분석 문자열 늘리기
나는 가능한 납과 후행 공백 및 중간 공백이있는 문자열을 구문 분석하려합니다. 나는 문자열
- (가)의 사이에 단어의 공백이 하나 개의 공백 예를 들어
에
"( my test1 ) (my test2)"
가져 후행 선도 공백
"my test1"
"my test2"
- 두 용어로서 구문 분석 그 사이에 공간을 유지 수 있지만 516,난 다음 논리
using boost::spirit::qi;
struct Parser : grammar<Iterator, attribType(), space_type>
{
public:
Parser() : Parser::base_type(term)
{
group %= '(' >> (group | names) >> ')';
names %= no_skip[alnum][_val=_1];
}
private:
typedef boost::spirit::qi::rule<Iterator, attribType(), space_type> Rule;
Rule group;
Rule names
}
을 사용했다. 불행하게도, 공백과 공백을 연속적으로 유지합니다. 나는 더 나은 논리를 찾고 싶다.
나는 부스트 :: 정신을 사용자 정의 선장을 사용하는 자료를 참조하십시오 : 제나라 온라인으로 건너 ::했다,하지만 난 공간에 대한 유용한 예를 건너하지 않았습니다. 다른 사람도 그 경험이 있습니까?
'lexeme','skip','no_skip', 함축적 인 skippers와'raw'에 대한 배경은 다음과 같습니다 : http://stackoverflow.com/questions/17072987/boost-spirit-skipper-issues/17073965#1707396 5 – sehe