我已經爲簡單的堆棧機器編寫了一個小型編譯器。它只能通過大量的虛擬機黑客來組裝和處理範圍/功能。那是我在字節碼本身中定義了作用域和範圍變量定義。如何在使用手寫編譯器生成字節碼時處理範圍
我可以得到一些關於如何處理範圍的指示。
我面臨的問題主要是,我如何讓它知道什麼時候以及何時不用覆蓋外部變量的變量以及類似的內容。字節碼是可變的,我寧願改變它。
其他問題包括如何在返回後保留外部變量。所以變量仍然有其價值。我可以將它推入堆棧,但我可能有很多變量。
我認爲有一些編譯工作是爲了檢查這些事情,但我想不出做什麼需要做。
您是否在談論關閉? – delnan
Sorta,但沒有。基本上如何生成字節碼來處理帶有作用域的變量,或者是其中的例子(這可能更有幫助)。 – Chase