Rust로 구현하는 꼬리 재귀 인터프리터
이 글은 Rust를 사용하여 가상 머신(VM)의 다양한 디스패치 방식, 특히 꼬리 재귀(Tail-Call) 최적화를 활용한 인터프리터 구현 방법을 설명합니다. 꼬리 재귀를 통해 함수 호출 시 새로운 스택 프레임을 할당하지 않고 점프(Jump)하도록 만들어 성능을 높이고 스택 오버플로우를 방지하는 것이 핵심입니다. 개발자는 스칼라(Scala) 기반의 원본 모델을 참고하여 Rust에 맞는 스택 머신과 스위치 디스패치(Switch Dispatch) 구조를 실험하고 벤치마크합니다.