summaryrefslogtreecommitdiff
path: root/sys/src/cmd/python/Tools/compiler/compile.py
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
commit458120dd40db6b4df55a4e96b650e16798ef06a0 (patch)
tree8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Tools/compiler/compile.py
parent3a742c699f6806c1145aea5149bf15de15a0afd7 (diff)
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Tools/compiler/compile.py')
-rw-r--r--sys/src/cmd/python/Tools/compiler/compile.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Tools/compiler/compile.py b/sys/src/cmd/python/Tools/compiler/compile.py
new file mode 100644
index 000000000..9d50425d3
--- /dev/null
+++ b/sys/src/cmd/python/Tools/compiler/compile.py
@@ -0,0 +1,51 @@
+import sys
+import getopt
+
+from compiler import compileFile, visitor
+
+import profile
+
+def main():
+ VERBOSE = 0
+ DISPLAY = 0
+ PROFILE = 0
+ CONTINUE = 0
+ opts, args = getopt.getopt(sys.argv[1:], 'vqdcp')
+ for k, v in opts:
+ if k == '-v':
+ VERBOSE = 1
+ visitor.ASTVisitor.VERBOSE = visitor.ASTVisitor.VERBOSE + 1
+ if k == '-q':
+ if sys.platform[:3]=="win":
+ f = open('nul', 'wb') # /dev/null fails on Windows...
+ else:
+ f = open('/dev/null', 'wb')
+ sys.stdout = f
+ if k == '-d':
+ DISPLAY = 1
+ if k == '-c':
+ CONTINUE = 1
+ if k == '-p':
+ PROFILE = 1
+ if not args:
+ print "no files to compile"
+ else:
+ for filename in args:
+ if VERBOSE:
+ print filename
+ try:
+ if PROFILE:
+ profile.run('compileFile(%r, %r)' % (filename, DISPLAY),
+ filename + ".prof")
+ else:
+ compileFile(filename, DISPLAY)
+
+ except SyntaxError, err:
+ print err
+ if err.lineno is not None:
+ print err.lineno
+ if not CONTINUE:
+ sys.exit(-1)
+
+if __name__ == "__main__":
+ main()