Кто-либо знает о пользе / маленький интерпретатор схемы в C++? Perferably что-то <LOC 2000, с простым коллектором мусора (или уплотнение или метка и развертка), никакая потребность поддерживать все R5RS, просто основы if/lambda/set!/cons/car/cdr и некоторые основные операции.
Спасибо!
К сожалению Реализации схемы не организованы на основе таких практических критериев. :)
Я нашел один интерпретатор схем на C ++ , который вы могли бы проверить, чтобы узнать, соответствует ли он вашим потребностям. Я не пробовал этот конкретный, так что это не одобрение.
Вот длинный список реализаций схем:
http://community.schemewiki.org/?scheme-faq-standards#implementations
Некоторые из них являются встраиваемыми интерпретаторами, в основном на C. Это не должно быть препятствием для C++.
Также существует схема гамбита. Он также написан на C и имеет то преимущество, что его можно встраивать. Я лично использовал его для встраивания схемы в Excel 2003 !
Несмотря на то, что над ним очень много работы, он отлично работает, и вы можете легко адаптировать его к любому C ++, который у вас есть.
Ну, есть очень маленькая шепелявка Гэри Нотта. Даже близко к R5RS, но он маленький, и поставляется с книгой с описанием внутреннего устройства! Однако это C, а не C ++, и, насколько я помню, нет GC (но я могу ошибаться).
Также есть Mini Scheme Нильса Холма, но это тоже C, и немного больше, чем вы просили (2404 строки C плюс 1352 схемы). Нильс также написал Схему 9 из пустого пространства , которая больше, но также поставляется с книгой, описывающей каждый фрагмент кода.
Tinyscheme - еще одна небольшая схема (4500 строк C плюс 452 Lisp) ...