[phase-16]improve error message
[phase-16]add term macro, and macro define moved from init.rb to new file