색 작업을 하면 할수록 이상해지는거 같아서 최소한으로만 했다. 결국 음영도 집어넣지 않음..
동아리 활동은 2005년부터 했는데 어쩐지 회지에 그림을 내는건 이번이 두번째. 지난번에 그렸던것과 마찬가지로 사진을 보고 그렸다.
학술제때 동방에 잠시 놀러갔던 적이 있는데 진성이가 기타를 가지고 놀길래 알려달라고 해서 "로망스"의 앞부분을 배웠다. 휴학한 해성이가 놀러와 그 모습을 사진으로 담아 두었다. 내 핸드폰에. (-_-;) 무엇을 그릴까 고민하다가 핸드폰 속 사진을 보고 이걸 그리기로 마음먹음. ㅎ.ㅎ
더 간편한 SNS가 생겨난 탓에(트위터 라거나, twitter라거나 트위...) 블로깅을 소홀이 하고 있어서 그런지, 연달아 3개가 리뷰 글이다. 한달에 한번씩 리뷰를 올리고 있으니 3달째 아무런 글을 올리지 않고 있는거나 마찬가지 아닌가 ㅠ.ㅠ
학교에 복학해서 열심히 학교생활을 하다가 중간고사를 만났다. 3년넘게 시험을 모르고 살았다가 시험기간을 보내고 있는데 완전 죽을맞 ㅠ.ㅠ 차라리 프로젝트 마감이 더 재미나다. (물론 복직하면 기분은 다르겠지..)
시험 문제 푸는 스킬도 죽었는지 문제를 잘못 이해해서 엉뚱하게 풀어 한문제 틀렸는데, 근데 그게 45점 짜리다. ㅠ_ㅠ.. 실제적으로 지금까지 배운 내용의 집약이 한문제에 되어있었기 때문에 교수님께서 배점을 그렇게 하신 모양인데, 뭐, 어쩔 수 없지 끄응. 어쩐지 풀면서 너무 간단한데 배점이 왜이리 높나 싶더라니.. 요즘 어리버리의 최고봉을 달리고 있다. 라고 말하고 다니는데 점점 심해지는거 같다. 말이 씨가 되는건가.
다음주 금요일까지 시험이 있다. 그러니 공부해야지 ㅠ_ㅠ ACM-ICPC는 다음주 토요일이 대회인데 준비는 제대로 할 수 있을런지.. 킁.
이번 한빛 리더스 5번째 리뷰 도서로 선택한 책은 "컴파일러 구조와 원리". 이번 학기에 학교에서 "컴파일러" 과목을 수강하며 컴파일러에 대해서 더 알고 싶어서 선정한 책이다. 어려울 거라는 생각은 전혀 하지도 못했던 지라 이번에도 책을 모두 다 읽진 못했다(ㅠ.ㅠ) 전공 관련 책을 볼 때 일본에서 출간된 책을 번역한 것을 보면 확실히 번역이 다른 언어권 국가의 책을 번역 한 것 보다 깔끔하다. 이번 책 역시 그랬다.
저자의 홈페이지를 찾아가 보니 일본에서 소개된 책의 제목은 "보통의 컴파일러를 만들자"란다. 한빛미디어에서는 "구조와 원리" 라는 다른 책들과 돌림자 맞추기를 한 모양인데, 어쩐지 좀 더 딱딱하게 다가온다. 책의 내용도 C언어 컴파일러를 완전히 구현하는 것이 아닌 몇 가지 기능을 제거하고 몇가지 기능은 구현하기 더 쉽게 바꾼 C♭을 만드는 것이기 때문에 "보통의 컴파일러를 만들자"가 더 와 닿고 센스까지 느껴지는 제목이다.
현재 수강하고 있는 컴파일러 과목에서 교수님이 선택하신 교재는 "컴파일러 입문" 이라는 책 인데 벌써 중간고사 (오늘 오전에 중간고사를 보았다. ㅠ.ㅠ)가 지났음에도 불구하고 언어형식에 대해서만 이야기하고 있다. 이해하기 어렵고, 이해한다고 해도 이게 컴파일러를 만들기와 무슨 상관인지 바로 연관시키기 어렵다. 시험기간 이란 것이 존재해서 교재를 정독 할 기회를 주지 않았다면 영원히 이해하지 못 했을 거다.
이 책은 보통의 학부 커리큘럼에서 다루는 이러한 컴파일러 이론은 다루지 않는다. 대신 컴파일러 제작의 실제적인 모든 내용을 다루고 있다. 컴파일러는 논리적으로 크게 두 가지로 나누어지는데, 어휘 분석과 구문 분석, 중간코드를 생성하는 전단부와 최적화, 목적코드를 생성하는 후단부가 그것 이다. 목차를 확인하면 알 수 있듯이 모든 내용이 이 책에 집약되어 있다.
책은 컴파일 과정의 앞부분, 어휘 분석하는 단계부터 시작하여 실제 컴파일러를 제작하는 과정에서 어떻게 생각을 하고 왜 저런 코드를 썼는지, 왜 이런 제약사항을 두었는지, 왜 저런 제약사항은 고려하지 않았는지에 대한 설명과 함께 javaCC를 활용한 코드를 보여주기 때문에 책을 읽어나가며 하나하나 배우는 재미를 느낄 수 있다. 딱딱한 이론이 아닌 실제적인 코드를 이용하여 진행하기 때문에 더욱 수월한 느낌. 더군다나 C♭을 제작 하며(비록 C언어 에서 일부 제약을 둔 언어이지만) C언어의 사소한 문법을 이해하는데도 도움이 될 수 있는 책이다.
책을 여러권 번역을 했던 역자여서 그런지 번역은 매우 잘 되어 있다. 하지만 책을 읽으며 아쉬운 점이 있었는데, 번역이 너무 그대로 되어 있다는 점 이다. 한빛미디어의 도서 사이트에서도 예제 소스를 받을 수 있지만 일본어 사이트인 저자 사이트에 가서 소스를 받으라는 설명이 있는 부분이나 일본어 처리에 대한 설명은 있지만 한국어 처리에 대한 설명은 없는 점이 아쉽다. 역자 중에서 이러한 부분에는 역주를 두어 많은 설명을 해주는 분도 있는데, 이 책의 역자가 이런 부분을 배려해 줬다면 더 좋은 번역서가 되었을 꺼라 생각한다. 이 점이 0.2% 아쉬운 부분이다.