summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2001-08-27 20:39:21 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2001-08-27 20:39:21 (GMT)
commit33c2a627f19db0c9f5965f37e2d848e6477cd986 (patch)
tree5cbf0d3f5a4547a9075d460acc411e7f00bef1cd
parent6d8c1aabff765d4958132f750a968769e7cece13 (diff)
downloadcpython-33c2a627f19db0c9f5965f37e2d848e6477cd986.zip
cpython-33c2a627f19db0c9f5965f37e2d848e6477cd986.tar.gz
cpython-33c2a627f19db0c9f5965f37e2d848e6477cd986.tar.bz2
Add -c option to continue if one file has a SyntaxError
-rw-r--r--Tools/compiler/compile.py17
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()