编译器简单实现