Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: pfalcon/python-compiler.old
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: pfalcon/python-compiler.old
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: builtin-ast
Choose a head ref
  • 13 commits
  • 5 files changed
  • 1 contributor

Commits on Jan 5, 2019

  1. Configuration menu
    Copy the full SHA
    52cb475 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ba4ed63 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b046ca7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5cfa7f4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    63b670e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    14d8e26 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6bfbc1c View commit details
    Browse the repository at this point in the history
  8. pycodegen: visitIf: Update for Py3 ast module and optimize.

    Optimzie if vs if-else block generation.
    pfalcon committed Jan 5, 2019
    Configuration menu
    Copy the full SHA
    39452a1 View commit details
    Browse the repository at this point in the history
  9. pycodegen: Provide Py3 way to build dictionary.

    By pushing key/value pairs on the stack and creating dict in one go. The
    original Py2 is to create an emoty dict and add items one by one. This
    saves stack size, but slower/more bytecode.
    pfalcon committed Jan 5, 2019
    Configuration menu
    Copy the full SHA
    2c67019 View commit details
    Browse the repository at this point in the history
  10. codegen: _makeClosure: Pass __qualname__ param to MAKE_FUNCTION and f…

    …riends.
    
    As required in Python3.
    pfalcon committed Jan 5, 2019
    Configuration menu
    Copy the full SHA
    0e6a98f View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2019

  1. Configuration menu
    Copy the full SHA
    e663f1a View commit details
    Browse the repository at this point in the history
  2. pycodegen: Revamp handling of Try node.

    Python3 syntax is supported, where "except" and "finally" can be attached
    to the same "try". Internally, such a statement into enclosed try-finally
    with try-except inside.
    pfalcon committed Jan 6, 2019
    Configuration menu
    Copy the full SHA
    288e297 View commit details
    Browse the repository at this point in the history
  3. pycodegen: try: Implement special handling of "except Exc as var:" in…

    … Py3.
    
    Per https://docs.python.org/3/reference/compound_stmts.html#the-try-statement
    
    except E as N:
        foo
    
    is compiled as:
    
    except E as N:
        try:
            foo
        finally:
            del N
    
    and actually it's even compiled as:
    
    except E as N:
        try:
            del N
        finally:
            N = None
            del N
    
    to allow, as shown, user's exeption handler body to contain "del N"
    statement (so, to avoid exception, compiler-generated finally handler
    first recreates the var and then deletes it).
    pfalcon committed Jan 6, 2019
    Configuration menu
    Copy the full SHA
    48b51ea View commit details
    Browse the repository at this point in the history
Loading