簡體   English   中英

Scala編譯器中間代碼的規范

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM