1. 19 Sep, 2001 9 commits
  2. 18 Sep, 2001 24 commits
  3. 17 Sep, 2001 7 commits
    • Tim Peters's avatar
      Rework akin to test_threaded_import, so that this can run under regrtest. · a9f6f22f
      Tim Peters authored
      Also raise TestSkipped (intead of appearing to fail) if the import lock
      is held.
      a9f6f22f
    • Guido van Rossum's avatar
      Rewrite function attributes to use the generic routines properly. · d9d1d4ac
      Guido van Rossum authored
      This uses the new "restricted" feature of structmember, and getset
      descriptors for some of the type checks.
      d9d1d4ac
    • Jeremy Hylton's avatar
      Track changes to compiler API · 5d1e34aa
      Jeremy Hylton authored
      5d1e34aa
    • Jeremy Hylton's avatar
      API change: · 9dca3643
      Jeremy Hylton authored
      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
      Fix calculation of hardest_arg. · eab4328f
      Jeremy Hylton authored
      The argument properties are ordered from easiest to hardest.  The
      harder the arg, the more complicated that code that must be generated
      to return it from getChildren() and/or getChildNodes().  The old
      calculation routine was bogus, because it always set hardest_arg to
      the hardness of the last argument.  Now use max() to always set it to
      the hardness of the hardest argument.
      eab4328f
    • Jeremy Hylton's avatar
      Last set of change to get regression tests to pass · 2e4cc7e0
      Jeremy Hylton authored
      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