Пример #1
0
def main():
    filename = sys.argv[1]
    t0 = time.time()
    drv = driver.Driver(pygram.python_grammar, convert=pytree.convert)
    tree = drv.parse_file(filename)
    t1 = time.time()
    dt = t1 - t0
    with open(filename) as file:
        nlines = len(file.readlines())
    print("%.3f seconds for %d lines; %.0f lines/sec" % (dt, nlines, nlines /
                                                         (dt or 1e-9)))
    pegen.print_memstats()
Пример #2
0
def main():
    t0 = time.time()
    for filename in sys.argv[1:]:
        print(filename, end="\r")
        try:
            with open(filename) as file:
                source = file.read()
            tree = ast.parse(source, filename)
        except Exception as err:
            print("Error:", err, file=sys.stderr)
    tok = None
    t1 = time.time()
    dt = t1 - t0
    print(f"Parsed in {dt:.3f} secs", file=sys.stderr)
    pegen.print_memstats()
Пример #3
0
def main():
    t0 = time.time()
    for filename in sys.argv[1:]:
        try:
            with open(filename) as file:
                text = file.read()
            parser = UnknownParser()
            ast = parser.parse(text,
                               rule_name='start',
                               filename=filename,
                               whitespace=' ')
        except Exception as err:
            print("Error:", err, file=sys.stderr)
    t1 = time.time()
    nlines = 0
    for filename in sys.argv[1:]:
        with open(filename) as file:
            nlines += len(file.readlines())
    dt = t1 - t0
    print(f"{nlines} lines in {dt:.3f} secs", file=sys.stderr)
    if dt:
        print(f"{nlines/dt:.0f} lines/sec", file=sys.stderr)
    pegen.print_memstats()
Пример #4
0
def main():
    t0 = time.time()
    ntoks = 0
    nlines = 0
    line_ends = (token.NL, token.NEWLINE)
    for filename in sys.argv[1:]:
        print(f"{nlines:10} lines", end="\r", file=sys.stderr)
        try:
            with open(filename) as file:
                toks = tokenize.generate_tokens(file.readline)
                for tok in toks:
                    ntoks += 1
                    if tok.type in line_ends:
                        nlines += 1
        except Exception as err:
            print("Error:", err, file=sys.stderr)
    tok = None
    t1 = time.time()
    dt = t1 - t0
    print(f"{ntoks} tokens, {nlines} lines in {dt:.3f} secs", file=sys.stderr)
    if dt:
        print(f"{ntoks/dt:.0f} tokens/sec, {nlines/dt:.0f} lines/sec",
              file=sys.stderr)
    pegen.print_memstats()