lab2 AST finish, pass all test cases