0
コンパイラの経験はあまりありませんが、最終的にコンパイラを書く必要があります。私はパーサのためにFParsecを使用していますが、今は評価者を使っています。私は(私は)かなり典型的なアプローチを取っています。私は、環境とASTノードをとるeval
関数を持っています。環境はスコープによって異なるため、永続型です。これはeval
を必要とし、それは助手がenv * node
を返す必要があり、すべての環境渡しが扱いにくくなり始めています。コンパイラ環境の追跡方法
これに対処する標準的な方法は何ですか?私は、各スコープによって変更された共有環境をよりきれいにすることを考え始めていますが、可能ならばそれを避けたいと思います。
あなたはそれがコンパイラで物事を簡素化すると思いますか? – Daniel
私は十分な経験を持っていないので、両方の方法で強い意見があります。 – Brian
私は、ワークフローに構文上の制限があると思っていましたが、それは何かを覚えていません。 – Daniel