added do-while in ast.h