const AST *ast_tag(const loc_t &loc, const std::string *n, bool h)
{
    AST *ast = new AST(loc, AST::TAG);
    ast->tag.name = n;
    ast->tag.history = h;
    return ast;
}
const AST *ast_tag(const loc_t &loc, const std::string *n, bool h)
{
    AST *ast = new AST(loc, AST::TAG);
    ast->tag.name = n;
    ast->tag.history = h;
    return ast;
}