將抽象語法樹表達式轉換爲SSA基本塊需要以線性順序寫出表達式中的所有操作,例如, x * y + 1按此順序轉換爲包含*和+的操作列表。 通常在操作列表中包含變量和文字提取?即以上是否應列出長度爲2或5的列表? 在一方面,加載全局變量的值,或一個恆定,到寄存器是將最終不得不被調度的操作。 在另一方面,決定什麼樣的價值觀將生活在寄存器中的東西通常過程中或SSA形式轉換離開後進行。第三方面,在線性序列
當編譯器使用SSA形式表示代碼時,對局部變量的更新成爲新變量。但是,當變量處於封閉範圍內時,這並不總是有效的,例如, (使用JavaScript語法說明,可以在許多語言中出現的情況): function f() {
var x = 1;
function g() {
x++;
}
...
}
什麼是代表這個通常的方法是什麼?