mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Merge ast-branch to head
This change implements a new bytecode compiler, based on a transformation of the parse tree to an abstract syntax defined in Parser/Python.asdl. The compiler implementation is not complete, but it is in stable enough shape to run the entire test suite excepting two disabled tests.
This commit is contained in:
parent
2cb94aba12
commit
3e0055f8c6
54 changed files with 13675 additions and 6810 deletions
|
@ -28,7 +28,7 @@ def walk(co, match=None):
|
|||
if type(obj) == types.CodeType:
|
||||
walk(obj, match)
|
||||
|
||||
def main(filename, codename=None):
|
||||
def load(filename, codename=None):
|
||||
co = loadCode(filename)
|
||||
walk(co, codename)
|
||||
|
||||
|
@ -39,6 +39,9 @@ if __name__ == "__main__":
|
|||
else:
|
||||
filename = sys.argv[1]
|
||||
codename = None
|
||||
if filename.endswith('.py') and os.path.exists(filename+"c"):
|
||||
filename += "c"
|
||||
main(filename, codename)
|
||||
if filename.endswith('.py'):
|
||||
buf = open(filename).read()
|
||||
co = compile(buf, filename, "exec")
|
||||
walk(co)
|
||||
else:
|
||||
load(filename, codename)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue