静态单赋值形式 在編譯器的設計中靜態單賦值形式static single assignment form通常簡寫為SSA form或是SSA是中間表示IRintermediate representation的特性每個變數僅被賦值一次在原始的IR中已存在的變數可被分割成許多不同的版本在許多教科書當中通常會將舊的變數名稱加上一個下標而成為新的變數名稱以至於標明每個變數及其不同版本在SSAUD鏈usedefine chain賦值代表define使用變數代表use是非常明確而且每個僅包含單一元素 SSA於年在IBM開始進行研究它是由Ron CytronJeanne FerranteBarry K RosenMark N Wegman及F Kenneth Zadeck所開發 SSA等同於一個续体传递风格CPS的子集不包含非本地端控制流程當CPS被使用在IR前者就不會發生所以任何最佳化及轉換都會適用於CPS當我們期待在C或是Fortran的編譯器中使用SSA時CPS已被廣泛地使用在函數程式語言的編譯器中像是SchemeML及Haskell