Parser and compiler should be separated.