Boost.Spirit 질문(표현력, 컴파일 속도, 에러 메시지)
jong10이번에 Boost.Spirit을 사용해보려고 고려중인데요. 여기엔 써보신 분들이 꽤 있을 것 같아 질문을 올립니다.
(1) 표현력
웹에서 얼핏, "C언어 파서를 Spirit으로 만든 것은 있지만, C++과 같은 복잡한 문법은 표현 불가능하다."라는 문장을 발견했는데요. lex/yacc에 비해서, Spirit이 특별히 표현력이 부족한 부분이 있나요? BNF만 표현 가능하면, 별로 상관 없는 것은 아닌지. (문법이 모호하지 않다는 가정 하에. 아 물론, C++의 문법은 좀 그렇긴 하지요.)
(2) 컴파일속도
Spirit은 템플릿 메타 프로그래밍으로 된 놈이라서.. 컴파일이 킹왕짱 느리다던데, C언어 정도 범위 문법을 표현한 놈을 컴파일하면 막 5분 걸리고 그러나요?;; 사용해보신 분이 있으면, 대략적인 컴파일 시간을 알 수 있을까요??
(3) 에러 메시지
당연한거지만.. 에러 메시지는.. 구리겠죠? -_-; 템플릿이니깐..
에러 메세지 알아보기 힘들어요. 그리고 컴파일 속도는 컴퓨터 따라서 다르겠죠?
표현력에 대해서는 http://kldp.org/node/57018 맨 끝에 제가 쓴 글을 참고하시면 될 듯. bison은 LALR(1)파서이고, Spirit은 Recursive descent parser라서 LL(k)입니다. 누가 우위에 있다 말하기는 어렵지요.