1. 16 Ara, 2002 1 kayıt (commit)
    • Gustavo Niemeyer's avatar
      Fixing bug · 78429a6a
      Gustavo Niemeyer yazdı
      [#448679] Left to right
      
      * Python/compile.c
        (com_dictmaker): Reordered evaluation of dictionaries to follow strict
        LTR evaluation.
      
      * Lib/compiler/pycodegen.py
        (CodeGenerator.visitDict): Reordered evaluation of dictionaries to
        follow strict LTR evaluation.
      
      * Doc/ref/ref5.tex
        Documented the general LTR evaluation order idea.
      
      * Misc/NEWS
        Documented change in evaluation order of dictionaries.
      78429a6a
  2. 06 Haz, 2002 1 kayıt (commit)
  3. 19 Nis, 2002 1 kayıt (commit)
    • Jeremy Hylton's avatar
      Fix com_arglist() and update grammar fragment. · 8d22b040
      Jeremy Hylton yazdı
      SF bug #522264 reported by Evelyn Mitchell.
      
      The code included a comment about "STAR STAR" which was translated
      into the code as the bogus attribute token.STARSTAR.  This name never
      caused an attribute error because it was never retrieved.  The code
      was based on an old version of the grammar that specified kwargs as
      two tokens ('*' '*').  I checked as far back as 2.1 and didn't find
      this production.
      
      The fix is simple, because token.DOUBLESTAR is the only token
      allowed.  Also update the grammar fragment in com_arglist().
      
      XXX I'll bet lots of other grammar fragments in comments are out of
      date, probably in this module and in compile.c.
      8d22b040
  4. 18 Nis, 2002 2 kayıt (commit)
  5. 28 Şub, 2002 1 kayıt (commit)
  6. 23 Şub, 2002 1 kayıt (commit)
  7. 16 Şub, 2002 1 kayıt (commit)
  8. 21 Ara, 2001 1 kayıt (commit)
  9. 27 Kas, 2001 1 kayıt (commit)
  10. 09 Kas, 2001 1 kayıt (commit)
  11. 18 Eki, 2001 1 kayıt (commit)
  12. 17 Eki, 2001 2 kayıt (commit)
    • Jeremy Hylton's avatar
      Vastly improved stacksize calculation. · 138d90eb
      Jeremy Hylton yazdı
      There are now no known cases where the compiler package computes a
      stack depth lower than the one computed by the builtin compiler.  (To
      achieve this state, we had to fix bugs in both compilers :-).
      
      The chief change is to do the depth calculations with respect to basic
      blocks.  The stack effect of block is calculated.  Then the flow graph
      is traversed using breadth-first search to find the max weight path
      through the graph.
      
      Had to fix the StackDepthTracker to calculate the right info for
      several opcodes: LOAD_ATTR, CALL_FUNCTION (and friends), MAKE_CLOSURE,
      and DUP_TOPX.
      
      XXX Still need to handle free variables in MAKE_CLOSURE.
      
      XXX There are still a lot of places where the computed stack depth is
      larger than for the builtin compiler.  These won't cause the
      interpreter to overflow the frame, but they waste space.
      138d90eb
    • Jeremy Hylton's avatar
      d1142616
  13. 27 Eyl, 2001 1 kayıt (commit)
  14. 17 Eyl, 2001 6 kayıt (commit)
    • Jeremy Hylton's avatar
      API change: · 9dca3643
      Jeremy Hylton yazdı
      compile() becomes replacement for builtin compile()
      compileFile() generates a .pyc from a .py
      both are exported in __init__
      
      compiler.parse() gets optional second argument to specify compilation
      mode, e.g. single, eval, exec
      
      Add AbstractCompileMode as parent class and Module, Expression, and
      Interactive as concrete subclasses.  Each corresponds to a compilation
      mode.
      
      THe AbstractCompileMode instances in turn delegate to CodeGeneration
      subclasses specialized for their particular functions --
      ModuleCodeGenerator, ExpressionCodeGeneration,
      InteractiveCodeGenerator.
      9dca3643
    • Jeremy Hylton's avatar
    • Jeremy Hylton's avatar
      Last set of change to get regression tests to pass · 2e4cc7e0
      Jeremy Hylton yazdı
      Remove the only test in the syntax module.  It ends up that the
      transformer must handle this error case.
      
      In the transformer, check for a list compression in com_assign_list()
      by looking for a list_for node where a comma is expected.
      
      In pycodegen.compile() re-raise the SyntaxError rather than catching
      it and exiting
      2e4cc7e0
    • Jeremy Hylton's avatar
      Handle more syntax errors. · 37c9351c
      Jeremy Hylton yazdı
      Invoke compiler.syntax.check() after building AST.  If a SyntaxError
      occurs, print the error and exit without generating a .pyc file.
      
      Refactor code to use compiler.misc.set_filename() rather than passing
      filename argument around to each CodeGenerator instance.
      37c9351c
    • Jeremy Hylton's avatar
      09392b77
    • Jeremy Hylton's avatar
      support true division · aee0bfed
      Jeremy Hylton yazdı
      aee0bfed
  15. 14 Eyl, 2001 6 kayıt (commit)
  16. 30 Agu, 2001 2 kayıt (commit)
  17. 29 Agu, 2001 11 kayıt (commit)