[英]Specification of Scala compiler's intermediate code
Scala編譯器生成的中間代碼是否有任何正式規范或詳細描述(即,將-Xprint-icode
選項傳遞給scalac)?
謝謝。
隨着新GenBCode
后端的引入,icode格式已不復存在,該后端直接從scalac Tree
到ASM的字節碼表示形式。 如果我是你,我不會花時間去學習它。
相反,我建議您使用scalac Trees在cleanup
( -Xprint:cleanup
)進行打印( -Xprint:cleanup
),這是后端之前的最后一個階段,這很容易理解,因為它們基本上是帶有Scala語法的Java代碼。
就是說,如果您堅持要使用icode
,那么我認為沒有任何真正的文檔。 但是它幾乎與JVM字節碼一一對應:它具有類,字段和方法。 在方法內部,有一個基於堆棧的指令集。
在此處查找有關icode的文檔(第35頁): http : //infoscience.epfl.ch/record/150270/files/EPFL_TH4820.pdf
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.