매우 간단한 언어를 위해 여러 가지 손으로 쓴 컴파일러를 만들었지 만 이제는 단순화 된 Python 또는 Ruby와 유사한 동적 언어를 개발하려고합니다. 그러나 컴파일러가 작동하는 방식을 머릿속으로 감싸기 쉬웠습니다. 원시 컴파일러는 번역 만합니다. 그러나 언어가 역동적이라면 이것을 할 수 없습니다. 런타임에 정보를 추적하고 더 많은 작업을 수행하는 인터프리터 또는 VM을 작성해야합니다.
간단히 말해서, 컴파일러가 작동하는 방식을 알고 있지만 인터프리터를 작성하기 위해 마이그레이션하려는 것을 고려할 때 확인해야 할 리소스가 있습니까? 동적 언어를위한 몇 가지 VM이 있지만 내 롤링에는 아무런 문제가 없습니다. 이것은 모두 내 개인적인 경험을위한 것입니다.
컴파일러에서 인터프리터로 이동하는 방법에 대한 정보를 찾고 있습니다. 이미 언어 X 용 컴파일러를 만들었지 만 이제 인터프리터를 작성해야하는 경우 수행해야 할 작업과 프로세스를 처리하는 리소스가 있습니까?
컴파일러 또는 가상 머신의 작동 방식을 다루는 광범위하거나 추상적 인 리소스를 원하지 않습니다. 나는 주제에 관한 많은 교과서를 가지고 있습니다. 내가 온라인에서 찾은 모든 자료는 경험이 없다고 가정하여 어휘 또는 구문 분석으로 시작하거나 매우 추상적입니다. 작동하는 컴파일러가 있지만 이제 이것을 인터프리터로 바꾸고 언어에 동적 기능을 추가하고 싶습니다.
이 과정에서 자원을 찾을 수 없거나, 범위가 너무 제한적이거나, 너무 이론적이지 않고 통역사의 "백엔드"에있는 자원이 여기에 게시 된 이유입니다.