9.2.1 为什么要生成中间代码