Index: Parser/asdl.py =================================================================== --- Parser/asdl.py (revision 62588) +++ Parser/asdl.py (working copy) @@ -387,6 +387,10 @@ self.visit(f, name) def check(mod): + if not mod: + output("Could not parse input file") + return False + v = Check() v.visit(mod) @@ -407,7 +411,8 @@ try: return parser.parse(tokens) except ASDLSyntaxError: - output(sys.exc_info()[1]) + err = sys.exc_info()[1] + output(str(err)) lines = buf.split("\n") output(lines[err.lineno - 1]) # lines starts at 0, files at 1 @@ -424,6 +429,8 @@ for file in files: output(file) mod = parse(file) + if not mod: + break output("module", mod.name) output(len(mod.dfns), "definitions") if not check(mod):