2016-08-13 7 views
1

나는이 같은 파서 구축 할 수 있습니다 기대 사용할 때 정신 X3를 사용하여 빠른 파서를 얻을 것이다 : 나는 문자열 Number가 INT 온다 후에 알고있는 경우에나는 내가이 운전자가 정신 X3에서

const auto p = ("Number:" >> x3::_int) 
      | ("String:" >> +x3::alpha); 

을 이후 String 문자열은 항상 >을 사용하여 Number 다음에 오는 숫자 등이 올 때 사용할 수 있습니다.

const auto p = ("Number:" > x3::_int) 
      | ("String:" > +x3::alpha); 

나에게는 차이점은 파서가 예외가 발생하는 입력을 구문 분석하지 못하는 경우입니다.

지금 내 질문은 가능하면 언제든지 >> 운영자를 통해 > 운영자를 사용해야합니까? >을 사용하여 생성되는 구문 분석기는 >> 연산자를 사용하는 것보다 빠릅니다.

+2

아니요 -'>'은'>>'이고 구문 분석에 실패하면'throw'가됩니다. – ildjarn

+4

"무엇이 더 빠릅니까?"궁금한 점이 있다면 그것을 측정하십시오. –

답변

1

항상 프로필 만 있으면됩니다.

에 관계없이 : 나는 만이 되돌아 대안을 방지하는 범위 운영자에게

을 기대 사용할 때

나는 정신 X3를 사용하여 빠른 파서를 얻을 것이다, 그러나 당신은 그것이 아니라고 필요한 경우 어쨌든 똑같이하는 것.