スタックとポインターを使用して AST をたどって評価する、非再帰的なスキーム インタープリターを設計しようとしました。
純粋なプロシージャ コールだけに取り組む必要がある場合は、問題ありません。ただし、マクロが登場すると、不規則な構文により、非再帰ルーチンを作成するのが難しくなります。(異なるセマンティクスが混在しているため) さらに悪いことに、組み込みマクロ (if、conf let など)を考慮すると、非再帰的アプローチは非常に複雑に見えます。
非再帰インタープリターの実装に関する良い提案はありますか? またはその上の資料はありますか?私は一生懸命グーグルで検索しましたが、何も見つかりませんでした。
そして、主流のSchemeインタプリタはこの種のアプローチを使用するのだろうか. 多分私は再帰で書くことができ、それは非難されません。