lispのインタプリタをjavaで作るときに、コンパイルできるようにするのにどういった知識が必要なのかわからんです。
既にjavaの知識があることを前提にお願いします。

xyzzyのclファイルはエディタで眺めたのですが、自分1人では手におえない気がしました。
そこで書籍やインターネットの力を借りようと思ったわけです。

しかし、Cとかのコンパイラとは何か違うし、Lispにも中田 育男著「コンパイラの構成と最適化」が役に立つのかと疑問です。
また、初めからコンパイルすることを意識せずにインタプリタとしてのみ考えて、余裕があればコンパイルできるようにするのが妥当なのか?
色々疑問がつきません。

アドバイスをおねがいします。