어느날, 프로그래머라면 한번쯤은 꿈꿔봤던 (저만 그런가요 ㅎㅎ..) 저만의 언어를 만들기 위해 이번에야말로 무언가를 만들어야 겠다는 생각이 들었습니다. C나 C++은 정말 친해지고 싶지만 친해지기 힘들어서 문자열을 다루기 용이하고 다른 라이브러리 없이 많은 기능을 갖추고 있는 Python을 선택하기로 했습니다. 하지만, 컴파일러나 인터프리터를 구현하는 강의나 자료들은 많았지만, 파이썬으로 구현하는 것은 잘 볼 수 없었습니다. 그래서, Java나 C/C++로 된 소스들을 분석해서 이해한 뒤 Python으로 포팅하는 방식으로 진행했습니다.
문법도 어느정도 갖추어졌으니 인터프리터가 어떻게 구성되는지 알아봅시다. 먼저 Lexer로 소스코드를 토큰 단위로 분석하고, Parser로 우선순위에 맞춰서 Abstract Syntax Tree를 만들어...