boost-phoenix

    1

    1답변

    나는 boost :: spirit을 사용하여 간단한 표현 파서를 작성하려고했다. 계산기 예제 (참조 : http://www.boost.org/doc/libs/1_41_0/libs/spirit/example/qi/calc2_ast.cpp)로 시작하여 변수에 대한 참조를 나타내는 "ref"규칙을 추가하려고했습니다. 나는 예에 만들어진 #include <boos

    1

    1답변

    나는 부스트 스피릿과 피닉스로 std :: string을 어떻게 파싱합니까? 예를 들어 아래 1234를 int로 구문 분석했지만 문자열로 구문 분석하려고하면 구문 분석이 실패합니다. qi::alnum을 +qi::alnum으로 바꾸면 구문 분석은 성공하지만 문자열 번호는 원하지 않는 값 "4"를 갖습니다. qi :: alnum은 단일 문자와 만 일치합니다.

    2

    1답변

    나는 다음과 같이 부스트 성령 문자열을 구문 분석하는 노력했습니다 호출되지 : N이 integer_count입니다 integer_count int1 int2 int3 ... intN . 예를 들어, 5 1 2 3 4 5 코드는 다음입니다 : #define BOOST_SPIRIT_USE_PHOENIX_V3 #include <boost/spirit/i

    3

    1답변

    일부 코드에서 작업 중이며 하나의 정렬 기능을 수행하는 섹션이 있습니다. 그것을 구현하기 위해 나는 연산자 <의 기능을 과부하시키는 것이 가장 쉽다고 결정했습니다. 내가 선호하는 일종의 boost :: bind, boost :: phoenix, lambda 또는 일부 다른 유형의 구현을 사용하여 실제 호출에 가까운 구현 구현을 옮기는 것입니다. 불행히도 새

    0

    1답변

    // 1 Mexpression = Mterm >> *( '+' >> Mterm [qi::_val = phoenix::new_<BinaryNode>(_1, '+', _2)] | '-' >> Mterm [qi::_val = phoenix::new_<BinaryNode>(_1, '-', _2)] ); Mterm = Mfactor >> *

    0

    1답변

    특정 문법에 대해 반복 횟수를 세는 방법이 있는지 궁금합니다. 함수에 대해 얼마나 많은 매개 변수가 있는지를 효과적으로 계산합니다. 이것은 내 자신의 구문을 구문 분석하는 데 boost spirit 라이브러리를 사용하고 있습니다. 파서가 목록 연산자 %를 사용하여 찾는 매개 변수의 수를 얻으려고합니다. // _1 is string of function, i

    0

    1답변

    나는 부스트 스피릿을 사용하여 간단한 계산기를 작성하고 있습니다. 제로 분모가 발생하면 나누기 연산자가 예외를 발생 시키길 원합니다. 이 이해하기 내가 그러나 term = factor [qi::_val = qi::_1] >> *(('*' >> factor [qi::_val *= qi::_1]) | ('/'

    1

    1답변

    나는 google :: protobuf를 생성해야하는 boost :: spirit 파서를 출력 할 때 생성 된 클래스를 구현했습니다. 나는 page을 배경으로 애썼다. 불행히도 google :: protobuf 생성 클래스는 set/get 메서드 만 제공하기 때문에 특성 문법을 사용할 수 없습니다. 그래서, 난 부스트 :: 피닉스와 결합 defered 시도

    1

    1답변

    나는 다음과 같은 공장 기능이 있습니다 std::auto_ptr<IPath> PathFactory(std::string const& branch_type, CPathModel const& path_model) { using namespace boost::assign; using namespace boost::phoenix::placeho

    3

    1답변

    게으른 평가 버전의 std :: pair.first가 필요합니다. 나의 접근 방식은, 부스트 :: 피닉스를 사용하는 템플릿 기반 함수를 정의하고 folows로 BOOST_PHOENIX_ADAPT_FUNCTION의 매크로를 사용하는 것입니다 내 경우 T1에서 (내가 현재 프로그램에 필요한 특정 사건에 대한 괜찮 template <typename T1, typ