抽象compile过程