|
Last change
on this file since 1538 was 2, checked in by Yuri Dario, 15 years ago |
|
Initial import for vendor code.
|
-
Property svn:eol-style
set to
native
|
|
File size:
1.3 KB
|
| Line | |
|---|
| 1 | import sys
|
|---|
| 2 | import getopt
|
|---|
| 3 |
|
|---|
| 4 | from compiler import compileFile, visitor
|
|---|
| 5 |
|
|---|
| 6 | import profile
|
|---|
| 7 |
|
|---|
| 8 | def main():
|
|---|
| 9 | VERBOSE = 0
|
|---|
| 10 | DISPLAY = 0
|
|---|
| 11 | PROFILE = 0
|
|---|
| 12 | CONTINUE = 0
|
|---|
| 13 | opts, args = getopt.getopt(sys.argv[1:], 'vqdcp')
|
|---|
| 14 | for k, v in opts:
|
|---|
| 15 | if k == '-v':
|
|---|
| 16 | VERBOSE = 1
|
|---|
| 17 | visitor.ASTVisitor.VERBOSE = visitor.ASTVisitor.VERBOSE + 1
|
|---|
| 18 | if k == '-q':
|
|---|
| 19 | if sys.platform[:3]=="win":
|
|---|
| 20 | f = open('nul', 'wb') # /dev/null fails on Windows...
|
|---|
| 21 | else:
|
|---|
| 22 | f = open('/dev/null', 'wb')
|
|---|
| 23 | sys.stdout = f
|
|---|
| 24 | if k == '-d':
|
|---|
| 25 | DISPLAY = 1
|
|---|
| 26 | if k == '-c':
|
|---|
| 27 | CONTINUE = 1
|
|---|
| 28 | if k == '-p':
|
|---|
| 29 | PROFILE = 1
|
|---|
| 30 | if not args:
|
|---|
| 31 | print "no files to compile"
|
|---|
| 32 | else:
|
|---|
| 33 | for filename in args:
|
|---|
| 34 | if VERBOSE:
|
|---|
| 35 | print filename
|
|---|
| 36 | try:
|
|---|
| 37 | if PROFILE:
|
|---|
| 38 | profile.run('compileFile(%r, %r)' % (filename, DISPLAY),
|
|---|
| 39 | filename + ".prof")
|
|---|
| 40 | else:
|
|---|
| 41 | compileFile(filename, DISPLAY)
|
|---|
| 42 |
|
|---|
| 43 | except SyntaxError, err:
|
|---|
| 44 | print err
|
|---|
| 45 | if err.lineno is not None:
|
|---|
| 46 | print err.lineno
|
|---|
| 47 | if not CONTINUE:
|
|---|
| 48 | sys.exit(-1)
|
|---|
| 49 |
|
|---|
| 50 | if __name__ == "__main__":
|
|---|
| 51 | main()
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.