単純なスタック マシン用の小さなコンパイラを作成しました。いくつかの仮想マシンのハックのみで、スコープ/機能を組み立てて処理できます。つまり、スコープを定義し、スコープ変数定義をバイトコード自体に定義します。
スコープをどのように処理する必要があるかについて、いくつかの指針を得ることができますか。
私が直面している問題は主に、外側の変数を内側の変数で上書きするときと上書きしないときをどのように知らせるかなどです。バイトコードは変更可能であり、変更したいと考えています。
その他の問題には、戻った後に変数を外部に保持する方法が含まれます。そのため、変数にはまだその値があります。スタックにプッシュできますが、多くの変数を持つことができます。
これらのことをチェックするためにコンパイラーの作業が行われていると思いますが、それを行うために何をする必要があるかはわかりません。