Hacker News Digest

06 октября 2025 г. в 14:06 • gist.github.com • ⭐ 210 • 💬 40

OriginalHN

#scheme#c#lisp#interpreter#chez-scheme#mit-scheme#memory-management#compiler#github

Show HN: Kent Dybvig's Scheme Machine in 400 Lines of C (Heap-Memory Model)

Виртуальная машина для языка Scheme реализована на C с использованием кучи для хранения пар. Основана на модели из работы Дабвига «Three Implementation Models for Scheme», что делает её компактным учебным примером интерпретатора Lisp-подобных языков.

Лексический анализатор разбивает входную строку на токены, а парсер строит из них списковые структуры через функцию cons. Пары хранятся в статическом массиве text, что упрощает управление памятью. Поддерживаются базовые конструкции: атомы, списки, цитирование через апостров. Вывод структур реализован рекурсивно с учётом точечной нотации.