Merge pull request #231 from HondaDai/refactor-compiler

Refactor compiler