auto a = parse("3 + 4") assert_equal(eval(a), 7) assert_equal(1, a.children.size()); assert_equal("3 + 4", a.children[0].text()); def my_fun() { return 1; } assert_equal(true, my_fun.has_parse_tree()); assert_equal(false, `+`.has_parse_tree()); assert_throws("Function does not have a parse tree", fun() { `+`.get_parse_tree(); } ); auto& parsetree = my_fun.get_parse_tree(); assert_equal(1, eval(parsetree)); print(parsetree.text());