간만에 포스팅.
학기도 끝나고, 요즘에는 연구실일을 본격적으로 하고 있습니다. 현재 제가 하고 있는 일은 GCC (GNU Compiler Collection) Porting입니다. 제가 이 일을 하니 S.J.Oh 박사님께서는 '드디어 시궁창 속에 왔구나'하셨는데....이유인 즉 Docu가 잘 안되어 있기 때문이랍니다.
-_-;; 무협지마냥, 무공의 코어로 들어가게 되면 아는 사람만 알게되고, 이심전심으로 배우게 되죠. 마치 그런 느낌이 들었습니다.
GCC는 중간에 RTL(Register Transfer Language)을 생성합니다. 이 RTL은 Lisp-like Language이기 때문에, Tree처럼 보이고 비문법적으로 보입니다. 그래서 md(machine description)을 보면서 뭔가 신비+_+한 느낌을 받았습니다. -> 바로 구글링!
예, LISP에는 문법이 (하나밖에) 없답니다. (
http://lisp.tistory.com/45?srchid=BR1http%3A%2F%2Flisp.tistory.com%2F45)
(그리고 완전 추상화의 구현, 매크로, 코드를 데이터로 인식가능 등의 장점들이 있다고 합니다. 아직 그 뜻들을 다 이해한 것은 아니지만, 이론적으로 '매우 아름다운' 언어라 하겠습니다.)
그래서 GCC Porting의 Machine Description도 제대로 공부할 겸, Lisp에 푹 빠져보렵니다.
아래는 Lisp를 시작하기 위해 이것 저것 알아본 것들입니다.
책 : 컴퓨터 프로그램의 구조와 해석(번역판) MIT, UC 버클리 교재로 쓰임 -
http://blog.java2game.com/259
이건 우리학교 도서관에 있어서 바로 빌렸구요 +ㅁ+
아래 링크에서 또 검색해보시면 좋은 자료 얻을 수 있습니다.
그룹 : 한국리스퍼 - Lisp 공부를 위한 자료들.
http://groups.google.com/group/lisp-korea/web/lisp%EC%97%90+%EA%B4%80%EB%A0%A8%EB%90%9C+%EC%9E%90%EB%A3%8C%EB%93%A4(%EC%B1%85%2C+%EB%8F%99%EC%98%81%EC%83%81+%EB%93%B1)
여러분도 Lisp의 세계에 들어가보세요 ㅋ 뇌가 유연해지는 것을 느낄 수 있습니다!