blob: 41dc8984d35b7883d90402edcd6c29ff2c90ae26 [file] [log] [blame]
Jeremy Hylton0c3208a2000-03-06 19:13:21 +00001import sys
2import getopt
3
4from compiler import compile, visitor
5
Jeremy Hylton33c2a622001-08-27 20:39:21 +00006##import profile
7
Jeremy Hylton0c3208a2000-03-06 19:13:21 +00008def main():
9 VERBOSE = 0
Jeremy Hyltone7f710c2000-10-13 21:59:32 +000010 DISPLAY = 0
Jeremy Hylton33c2a622001-08-27 20:39:21 +000011 CONTINUE = 0
12 opts, args = getopt.getopt(sys.argv[1:], 'vqdc')
Jeremy Hylton0c3208a2000-03-06 19:13:21 +000013 for k, v in opts:
14 if k == '-v':
15 VERBOSE = 1
16 visitor.ASTVisitor.VERBOSE = visitor.ASTVisitor.VERBOSE + 1
17 if k == '-q':
Jeremy Hylton0a4f1ff2000-05-02 22:29:46 +000018 if sys.platform[:3]=="win":
19 f = open('nul', 'wb') # /dev/null fails on Windows...
20 else:
21 f = open('/dev/null', 'wb')
Jeremy Hylton0c3208a2000-03-06 19:13:21 +000022 sys.stdout = f
Jeremy Hyltone7f710c2000-10-13 21:59:32 +000023 if k == '-d':
24 DISPLAY = 1
Jeremy Hylton33c2a622001-08-27 20:39:21 +000025 if k == '-c':
26 CONTINUE = 1
Jeremy Hylton0c3208a2000-03-06 19:13:21 +000027 if not args:
28 print "no files to compile"
29 else:
30 for filename in args:
31 if VERBOSE:
32 print filename
Jeremy Hylton33c2a622001-08-27 20:39:21 +000033 try:
34 compile(filename, DISPLAY)
35## profile.run('compile(%s, %s)' % (`filename`, `DISPLAY`),
36## filename + ".prof")
37 except SyntaxError, err:
38 print err
39 print err.lineno
40 if not CONTINUE:
41 sys.exit(-1)
Jeremy Hylton0c3208a2000-03-06 19:13:21 +000042
43if __name__ == "__main__":
44 main()