Scala 编译器会对代码进行几个阶段的处理,检查处理的中间结果,可以便于理解Scala编译器的工作机制,更好的理解语言本身。
在命令行使用 Scalac -Xprint:parse XXX.scala 就可以得到编译器在prase阶段的处理结果。
(要了解所有处理阶段请参阅 Scalac 的文档 )
例如代码:
class Main extends App{
for(i <-1 to 10 ) println(i)
}
用 Scalac -Xprint:parse 可以得到:
package <empty> {
class Main extends App {
def <init>() = {
super.<init>();
()
};
1.to(10).foreach(((i) => println(i)))
}
}
为了方便查阅 编译器输出,可以给 Sublime Text 增加一个Build System,(菜单: Tools-> Build System ->New Build System),内容为:
{
"cmd": ["C:\\scala\\bin\\scalac.bat","-Xprint:parse","$file"],
"selector":"source.scala",
"encoding": "cp936"
}
这样只需要将你感兴趣的代码段贴到Sublime Text, (Ctrl-B)就能看到编译器的中间处理结果了。