Little trick in data to avoid transporting rule as args for generate function
seprate rule engine from core module
improve macro
improve code block
improve comments
改进re_var模块，减少接口的耦合，方便之后的改造