51 lines · 1.3 KB · Python
RawDownload
import sysimport 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()