int $0x80

LLVM Kaleidoscope Tutorial Korean 번역 본문

컴퓨터공부/엘엘비엠

LLVM Kaleidoscope Tutorial Korean 번역

cd80 cd80 2017.07.20 14:08

컴파일러 공부는 어렵습니다. 대충 이해하는건 어렵지 않지만 막상 직접 그 기술을 활용해 뭘 만들어라 하면 만들기 어렵습니다. 그러던 중 컴파일러를 이해하기 아주 좋은 튜토리얼을 만나 읽다가, 누가 번역한거 없나 찾아봤는데 번역본도 없고 그래서 한번 번역해봅니다

이 글을 쓸 당시 제 컴퓨터에 깔려있는 LLVM 버젼이 4.0.0이기 때문에 이거에 맞는 튜토리얼만 번역합니다

http://releases.llvm.org/4.0.0/docs/tutorial/LangImpl01.html



http://releases.llvm.org/4.0.0/docs/tutorial/index.html

여기 보면 튜토리얼이 세가지 있는데 이 번역시리즈는 그 첫번째입니다.


저는 번역할 때 모든 단어를 그 뜻에 맞게 정확하게 번역하는것을 좋아하지 않습니다. 영어와 우리나라말의 문장 전개 구조가 되게 많이 다르기 때문이죠, 그래서 제가 한번 쭉 읽어보고 그걸 우리나라 말에 맞게 가공해서 작성합니다.

정확한 글을 읽고 싶으시다면 요즘 구글 번역기 성능도 좋으니 구글번역기로 보시면 됩니다



튜토리얼 원본에서는 컴파일러 소스코드를 모두 한 파일에 구현합니다. 이는 소스코드 구조 관리를 어렵게 하기 때문에 이 튜토리얼에서는 약간 예제 코드를 변형해서, 컴파일러의 각 부분을 모두 독립된 파일로 관리합니다. 원본 소스코드를 보고 싶으시다면 원문 튜토리얼을 참고하세요



제가 이 튜토리얼을 읽어보기 전에 LLVM Cookbook을 사서 읽어봤습니다

되게 주변분들이 좋다고 칭찬하고 두루두루 좋은 평을 받는 책인데

전 되게 보다가 어이없어서 다른걸 찾아보게 된겁니다

첫째로 코딩스타일이 별로입니다. underscore, camelcase, pascal 이걸 다 짬뽕을 해놔갖고 되게 통일성이 떨어집니다

둘째로 구성이 별로입니다. 이거는 좀 디테일한 구성에 대한건데, 결국에 마지막에 가면 컴파일이 되긴 합니다. 근데 중간중간 코드 작성해보고 컴파일해보자고 하는 부분에서 그 다음장 내용을 진행하지 않으면 컴파일도 안되고 실행도 안되는데도 갑자기 컴파일을 해서 실행하는 부분이 있습니다. 다 아는 상태에서 본다면 그냥 넘어갈 수 있겠지만 아무것도 모르는 상태에서 공부하기엔 적절하지 않습니다

셋째로 LLVM 공식 튜토리얼의 코드를 그대로 갖다쓰면서, 과제낼때 표절하는것처럼 코드 스타일만 열심히 바꿔놨습니다. 근데 문제는 그 바꾼 스타일이 LLVM 표준도 아니고, 통일되어있지도 않기 때문에 배우면 독이되는 방식입니다

넷째로, 존재하는 튜토리얼을 그대로 베껴 책을 낼거였다면 자기만의 설명이라도 더 보충하고, 튜토리얼에서 다루지 않는 몇가지 컴파일러 기법의 응용이라도 다뤄야 하는데, 오히려 원본 튜토리얼보다 설명이 부실합니다. 원본 튜토리얼을 읽어보면 코드를 쭉 쓰면서 의아한 부분에 대해서 설명이 안된게 없는데 책에는 정말 여러 설명이 누락돼있습니다

0 Comments
댓글쓰기 폼
Prev 1 2 3 4 5 6 7 8 9 10 11 Next