안녕하세요, 현재 16년도 컴파일러 스터디 멤버 이경민 이라고 합니다.
다름이 아니라 현재 '컴파일러 구조와 원리' 책을 현재 16장 까지 마친 상태이며,
2번 정도 더 스터디하면 책이 끝날 것으로 예상됩니다.
이 책에서는 cbc(컴파일러)를 가지고 전체 소스코드에서 중요한 부분을
보여주면서 설명을 하고 있는데, 현재 이 책만 다 읽고 뭔가를 하기엔 부족한 것 같다라는
결론이 나오고 있습니다. 뭔가 step by step으로 조금씩 만들어 볼만하면 좋을텐데 이 책은 그렇지가 않았습니다.
그리고 책 하나를 봤다고 한들 많이 부족함을 느껴서 다음에 바로 LLVM으로 넘어가야 할지 의문을 가지고 있습니다.
LLVM 홈페이지에 많은 LLVM 자료를 제공하고 있고,
- Getting Started with LLVM Core Libraries
라는 책이 괜찮게 설명이 되어있다고 생각하지만, 원서라 쉽사리 접근하지 못하고 있습니다.
다음에 어떤 진행이 좋을지 조언 부탁드립니다.
댓글 5
-
은두
2016.06.19 02:03
-
woos
2017.05.20 00:58
저는 개인적으로 에펠책이 정말 좋았습니다. 컴파일러 책보면 정말 재미없고 쓸모도 별로 없는 front-end만 주구 장창 설명하는데 에펠책은 미들엔드와 최적화, 백엔드를 이야기해줘서 너무 좋았습니다.
그런데 그때는 제가 현업에서 컴파일러 업무를 할때라서 저에게 너무 필요한 지식이라 더 좋았을수도 있을것 같습니다.
오늘 처음 llvm 스터디에 참석했는데 너무도 놀라웠어요. llvm이 잘 구조화 되어 있다는 이야기는 수없이 들었는데 정말 너무도 잘되어 있더군요.
새로운 언어 컴파일러 하나 만드는데 마음만 먹으면 일주일도 가능할수 있겠구나... 정말 대단하다는 생각이 들었습니다. -
희래
2017.05.20 06:40
혹시 에펠책이 뭔지 알 수 있을까요 아마존에서 검색해봐도 잘 모르겠네요 -
woos
2017.05.20 13:43
이책입니다.
https://www.amazon.com/Modern-Compiler-Implementation-Andrew-Appel/dp/0521607655
절판된걸로 알고 있었는데 찾아보니 pdf 파일도 있는것 같습니다. -
희래
2017.05.21 06:56
감사합니다
.
안녕하세요.
Getting Started with LLVM Core Libraries 책 내용은 좋습니다.
하지만 overall하게 설명되어 있어서 깊게 들어가기는 한계가 많습니다. 입문용으로 추천할만합니다.
컴파일러 공부하시게 되면 언젠간 용책을 보실텐데 그 두께때문에 다 보시려고 하면 금방 지칩니다.
바이블이라 이론 관련 망라하고 있어서 깊이가 깊어질수록 관련 부분만 찾아가면서 보시는게 개인적으로 좋았던것 같습니다.
개인적으로 LLVM에서 제공하는 examples를 강추해드립니다.
Kaleidoscope, BrainF을 분석해보면서 언어 기능도 추가해보고 패스도 구현해보면 나름 재미있게 하실수 있습니다.
하다가 LLVM core로 분석을 하실수도 있는데,
LLVM 코드도 리눅스 커널처럼 방대하고 depth가 있어서 코드 분석하실때 어느정도 큰 그림을 그리면서 가시는게 좋습니다. 헤매다 보면 길 잃어버리기 싶습니다.
그리고 스터디를 프런트 엔드에 중심을 둘건지 백엔드에 중심을 둘건지 멤버를 사이에 조율은 필요합니다. 관심사 그리고 경력에 따라 많이 갈리더라구요.^^
그럼 즐건 스터디 되세요.