Gary Knott's Интерпретация Lisp очень хороша.
Вы также можете попробовать другие, например Lisp Джима Мэйфилда. Там, наверное, много маленьких Лиспов ...
Вы упомянули, что вам не нравится C. Может быть, вы хотели бы Haskell - в этом случае вы можете попробовать "Напишите себе схему за 48 часов" , интересное руководство (вы получите написать интерпретатор Scheme в Haskell).
Обновление: Я знаю, что лисперу вряд ли будет комфортно пользоваться Haskell, но эй, это намного удобнее, чем C (по крайней мере, для меня)! Кроме того, HAskell имеет хороший FFI, поэтому должно быть легко использовать созданный на Haskell Lisp-ридер в качестве C-совместимой библиотеки.
Обновление 2: Если вы хотите использовать XLisp, как предложено другим пользователем, вам, вероятно, понадобится src / xlread.c (863 строки) и include / xlisp.h (1379 строк) - но я могу ошибаться ...
Обновление 3: Если вы используете Lisp Гэри Кнотта (один файл C с 942 строками), сигнатура функции - int32 sread (void). Это был бы мой выбор, если бы мне не нужно ничего необычного (например, чтение макросов) или высоко оптимизированного (есть документ PDF, в котором описывается, как реализован код, так что вам не придется искать дорогу в лабиринте). Документация для функции:
This procedure scans an input string g using a lexical token scanning
routine, e(), where e() returns
1 if the token is '('
2 if the token is '''
3 if the token is '.'
4 if the token is ')' or a typed pointer d to an
atom or number stored in row ptrv(d) in the atom or number tables.
Due to the typecode (8 or 9) of d, d is a negative 32-bit integer. The
token found by e() is stripped from the front of g.
SREAD constructs an S-expression and returns a typed pointer to it as
its result.
Обратите внимание, что Лисп Гэри старый, и вам нужно изменить его, чтобы он компилировался. Вместо включения linuxenv.h включите:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <setjmp.h>
Кроме того, он не работает на 64-битных машинах (документация sread должна объяснить, почему ...)
Обновление 4 : есть также реализация схемы Нильса Холма (есть книги, описывающие внутреннее устройство)