boost spirit 에서 파싱후에 남는 newline 처리 질문입니다.
글쓴이: kalstein / 작성시간: 목, 2007/10/04 - 2:45오후
text파싱을 해야되는데...중간에 끼이는 \n은 괜찮은데요... 마지막에 있는 \n은 어떤수를 써도 처리가 안되네요 -_-;;
의 질문처럼 말이죠... "[a=10]" 은 잘 되지만 "[a=10]\n" 은 안된달까요...
parse("abrakadabra", my_rule, space_p); 방식으로 Phrase level parsing으로 사용하고있는데...
그렇다고 일일히 공백처리를 넣어주자니 귀찮고...
쩝...이게 문법대로 다 처리하고 난 다음에 남아있는 \r\n을 처리를 못하더군요.
space_p를 인위적으로 optional 처리 (!space_p) 를 해도 안되고...ㅠ.ㅠ
Forums:
아, 제게 쪽지를
아, 제게 쪽지를 보내주셨던 분이군요~
워낙 본 지 오래되어서 제 코드를 봐도 이해가 가지 않는군요 -_- (얼마만의 c++ 코드인지..)
전 하나의 operation씩 처리하도록 미리 처리하도록 만들었습니다 :)
[자답] sprit 홈페이지에 있었네요;;;
정말 우연찮게...발견해서 남겨놓습니다. (혹시나...다른분들 보시라고 ㅎㅎ)
http://spirit.sourceforge.net/ 여기서 본건데요...
마지막 rule에 eps_p or end_p 를 넣어달라네요 (end_p를 추천하네요)
그래서 넣어보니 잘 되는군요;;;
그전에는 일단 입력받은 string을 선처리해서...젤 뒤에 있는 잡다한것들을 없앴는데...그럴필요가 없게됐네요.
------------------------------------------
Let`s Smart Move!!
http://kalstein.tistory.com/
댓글 달기