val parse_string : string -> (Ast.program, string) result