Python 인터프리터를 1024바이트 C 코드로 구현

Key Point
극단적인 크기 제약 속에서 동적 언어 인터프리터의 핵심 기능을 어떻게 구현하는지 보여주는 사례로, 파서 설계와 런타임 최적화에 관심 있는 개발자들의 참고 자료가 될 수 있다.
핵심 요약
- 개발자가 Python 언어의 부분집합을 지원하는 인터프리터를 1024바이트의 C 코드로 만들었다.
- 변수는 소문자 한 글자로 제한하고, 에러 처리를 없애며, 중간 표현(intermediate representation) 없이 직접 실행한다.
- 반복문은 조건식 위치로 되돌아가 소스를 다시 파싱하고, 함수는 호출 위치를 저장한 뒤 함수 본체로 점프하여 실행한다.
- 읽기 쉬운 버전(4800바이트)에서 시작해 변수명 축약, ASCII 값 활용, 연산자 대체 등 코드 골프 기법으로 1024바이트까지 압축했다.
- 구현된 기능: 변수 할당, 산술 연산, if/while/for 반복, 함수 정의 및 호출, fizzbuzz 문제 실행 가능.