diff options
author | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-08-27 20:39:21 (GMT) |
---|---|---|
committer | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-08-27 20:39:21 (GMT) |
commit | 33c2a627f19db0c9f5965f37e2d848e6477cd986 (patch) | |
tree | 5cbf0d3f5a4547a9075d460acc411e7f00bef1cd /Tools/compiler/compile.py | |
parent | 6d8c1aabff765d4958132f750a968769e7cece13 (diff) | |
download | cpython-33c2a627f19db0c9f5965f37e2d848e6477cd986.zip cpython-33c2a627f19db0c9f5965f37e2d848e6477cd986.tar.gz cpython-33c2a627f19db0c9f5965f37e2d848e6477cd986.tar.bz2 |
Add -c option to continue if one file has a SyntaxError
Diffstat (limited to 'Tools/compiler/compile.py')
-rw-r--r-- | Tools/compiler/compile.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Tools/compiler/compile.py b/Tools/compiler/compile.py index 58fc3b2..41dc898 100644 --- a/Tools/compiler/compile.py +++ b/Tools/compiler/compile.py @@ -3,10 +3,13 @@ import getopt from compiler import compile, visitor +##import profile + def main(): VERBOSE = 0 DISPLAY = 0 - opts, args = getopt.getopt(sys.argv[1:], 'vqd') + CONTINUE = 0 + opts, args = getopt.getopt(sys.argv[1:], 'vqdc') for k, v in opts: if k == '-v': VERBOSE = 1 @@ -19,13 +22,23 @@ def main(): sys.stdout = f if k == '-d': DISPLAY = 1 + if k == '-c': + CONTINUE = 1 if not args: print "no files to compile" else: for filename in args: if VERBOSE: print filename - compile(filename, DISPLAY) + try: + compile(filename, DISPLAY) +## profile.run('compile(%s, %s)' % (`filename`, `DISPLAY`), +## filename + ".prof") + except SyntaxError, err: + print err + print err.lineno + if not CONTINUE: + sys.exit(-1) if __name__ == "__main__": main() |