从零开始写个编译器吧