У меня была похожая идея пару дней назад. LISP, безусловно, проще всего реализовать, поскольку синтаксис настолько прост, а структуры данных, которыми манипулирует язык, - это те же структуры, в которых написан код. Следовательно, вам нужна только минимальная реализация, и вы можете определить остальное в терминах сам по себе.
Однако, если вы пытаетесь изучить синтаксический анализ, вы можете захотеть сделать более сложный язык с абстрактными синтаксическими деревьями и т. Д.
Если вы хотите проверить мою (буквально двухдневную) реализацию lisp на Java, ознакомьтесь с mylisp.googlecode.com . Я все еще работаю над этим, но невероятно, как быстро ушло время, чтобы заставить работать существующий материал.