compiler. Refactored the compiler, fixed #239.