close #29 : use AST support instead of building Hash tree