yacc 와 lex 에 대해서 공부하고 싶습니다. 도와주세요 ㅠ
글쓴이: bkc625 / 작성시간: 월, 2013/11/04 - 5:37오후
안녕하세요
이번에 pcap 라이브러리를 보다가 BPF 에 대해서 조사하게 되었습니다.
소스코드를 보던 중 yacc 와 lex 를 이용해서 c 파일을 만들었더라구요..
yacc 와 lex 에 대해선 아무것도 몰라 이래저래 검색하던중
국내 유일한 서적이라고 하는 오라일리에서 나온 책을 검색해봤는데.. 혹평 이더라구요..
배경설명도 부실하고 예제의 결과물도 없고 심지어 예제도 틀린것이 있다고..
회사일이라 빨리 습득을 해서 진행을 해야하는데 마냥 시간이 주어지지도 않아서..
여러분들이 알고 계신 좋은 사이트나 도움 될만한 것들을 부탁드립니다. ㅠ
뎃글이 많아지고 추후 어떤이들이 yacc lex 라는 키워드로 검색했을때 이 글이 나올테고 저 처럼 헤메시는 분들에게 도움이 되길 바랍니다. :)
Forums:
lex 와 yacc 그 자체는 딱히 공부할 것이
lex 와 yacc 그 자체는 딱히 공부할 것이 없습니다... 오라일리 책도 전반부 간단한 설명과 후반부 예제(SQL등)으로 구성되어 있던 것으로 기억하는데..
딱히 할말이 없어서 그럴 겁니다.
parser generator 자체에 관심이 있으시다면 lex & yacc 보다는 자바쪽의 antlr로 접근해 보시길 권해드립니다.
보다 깔끔한(?) 코드와 문서들이 있어서 공부하시기 나을겁니다.
...
일반적으로 yacc와 lex를 쓴다면 십중팔구 호환제품(?)인 GNU bison과 flex를 쓰게 될 텐데요, 그냥 해당 프로젝트 웹사이트에 가셔서 bison manual, flex manual을 다운받아서 첨부터 끝까지 (혹은 필요한 부분만) 읽어보시면 됩니다. 별로 길지도 않고 잘못된 부분도 없고 가장 믿을만한 문서일 듯합니다. (뭐, 물론 영어의 압박...이 있을 수 있겠습니다만. -_-)
예전에 일하던 회사에서는 파서를 만들어야 해서 팀원들이 bison, flex 매뉴얼을 제본해서 한부씩 갖고 있었죠. 꽤 유용하더군요.
다만 yacc 혹은 bison이 어떻게 동작하는지 제대로 이해하려면 LALR 파서에 대한 기본적인 지식이 필요한데, 대학교에서 컴파일러 수업을 들으셨다면 좋지만 아니라면 컴파일러 관련 교재를 한권 사셔서 읽어보시는 게 제일 좋은데 그러면 이해하는 데만 한두 달 걸릴 거라서... 으음...;;
댓글 달기