Commit Graph

18 Commits

Author SHA1 Message Date
Jeremy Hylton
f37708e048 Merged revisions 70801,70809 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

The merge ran into a lot of conflicts because dicts were replaced with
sets in the Python 3 version of the symbol table.

........
  r70801 | jeremy.hylton | 2009-03-31 09:17:03 -0400 (Tue, 31 Mar 2009) | 3 lines

  Add is_declared_global() which distinguishes between implicit and
  explicit global variables.
........
  r70809 | jeremy.hylton | 2009-03-31 09:48:15 -0400 (Tue, 31 Mar 2009) | 14 lines

  Global statements from one function leaked into parallel functions.

  Re http://bugs.python.org/issue4315

  The symbol table used the same name dictionaries to recursively
  analyze each of its child blocks, even though the dictionaries are
  modified during analysis.  The fix is to create new temporary
  dictionaries via the analyze_child_block().  The only information that
  needs to propagate back up is the names of the free variables.

  Add more comments and break out a helper function.  This code doesn't
  get any easier to understand when you only look at it once a year.
........
2009-03-31 15:26:37 +00:00
Benjamin Peterson
b71caf186a revert 65897 2008-08-20 12:55:31 +00:00
Benjamin Peterson
3938a90a4a Merged revisions 65885,65892,65894,65898 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r65885 | benjamin.peterson | 2008-08-19 17:06:11 -0500 (Tue, 19 Aug 2008) | 1 line

  check that the parser module can handle the new keyword syntax
........
  r65892 | benjamin.peterson | 2008-08-19 20:27:30 -0500 (Tue, 19 Aug 2008) | 1 line

  add a NEWS note for new args syntax
........
  r65894 | benjamin.peterson | 2008-08-19 20:44:45 -0500 (Tue, 19 Aug 2008) | 2 lines

  newSymbolTable is not public API
........
  r65898 | benjamin.peterson | 2008-08-19 21:15:42 -0500 (Tue, 19 Aug 2008) | 1 line

  fix silly errors of mine
........
2008-08-20 02:33:00 +00:00
Benjamin Peterson
9f9fc68b0f return sets instead of tuples from some symtable methods 2008-08-20 02:06:00 +00:00
Benjamin Peterson
87069fd8fe kill the obsolete symtable.Symbol methods 2008-08-20 02:00:14 +00:00
Benjamin Peterson
55e00f279f Merged revisions 65715,65724,65726,65732,65736-65739,65775 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r65715 | benjamin.peterson | 2008-08-16 16:04:16 -0500 (Sat, 16 Aug 2008) | 1 line

  add some documentation for symtable
........
  r65724 | benjamin.peterson | 2008-08-16 17:11:33 -0500 (Sat, 16 Aug 2008) | 2 lines

  include filename and line number in SyntaxError
........
  r65726 | georg.brandl | 2008-08-16 17:37:05 -0500 (Sat, 16 Aug 2008) | 2 lines

  Review symtable docs.
........
  r65732 | benjamin.peterson | 2008-08-16 18:29:40 -0500 (Sat, 16 Aug 2008) | 1 line

  PySTEntry's constructor is static; there's no point in a fancy API name
........
  r65736 | benjamin.peterson | 2008-08-16 20:09:17 -0500 (Sat, 16 Aug 2008) | 1 line

  expose PySTEntry.nested so the symtable module will work
........
  r65737 | benjamin.peterson | 2008-08-16 20:17:15 -0500 (Sat, 16 Aug 2008) | 1 line

  a few improvements
........
  r65738 | benjamin.peterson | 2008-08-16 20:27:30 -0500 (Sat, 16 Aug 2008) | 1 line

  fix compile errors
........
  r65739 | benjamin.peterson | 2008-08-16 21:23:43 -0500 (Sat, 16 Aug 2008) | 1 line

  uhh PySTEntry->ste_unoptimized has to be exposed too
........
  r65775 | benjamin.peterson | 2008-08-17 12:13:26 -0500 (Sun, 17 Aug 2008) | 5 lines

  get the symtable module back in working order
  - Fix broken functions
  - Add (hopefully) extensive tests
  - Modernize a little
........
2008-08-17 18:02:44 +00:00
Collin Winter
ce36ad8a46 Raise statement normalization in Lib/. 2007-08-30 01:19:48 +00:00
Guido van Rossum
cc2b016125 - PEP 3106: dict.iterkeys(), .iteritems(), .itervalues() are now gone;
and .keys(), .items(), .values() return dict views.

The dict views aren't fully functional yet; in particular, they can't
be compared to sets yet.  but they are useful as "iterator wells".

There are still 27 failing unit tests; I expect that many of these
have fairly trivial fixes, but there are so many, I could use help.
2007-02-11 06:12:03 +00:00
Guido van Rossum
be19ed77dd Fix most trivially-findable print statements.
There's one major and one minor category still unfixed:
doctests are the major category (and I hope to be able to augment the
refactoring tool to refactor bona fide doctests soon);
other code generating print statements in strings is the minor category.

(Oh, and I don't know if the compiler package works.)
2007-02-09 05:37:30 +00:00
Guido van Rossum
2def557aba This module was still referencing some dead EXEC related constants. 2006-09-06 22:37:15 +00:00
Neal Norwitz
21d19f7203 Get symtable to limp along, can run compiler/symbols.py. Not saying much, needs more work. 2005-11-25 03:14:00 +00:00
Raymond Hettinger
e0d4972acc Replaced .keys() with dictionary iterators 2002-06-02 18:55:56 +00:00
Tim Peters
bc0e910826 Convert a pile of obvious "yes/no" functions to return bool. 2002-04-04 22:55:58 +00:00
Tim Peters
c4889c496a Remove now-unnecessary "from __future__ import nested_scopes" stmts. 2001-07-12 22:36:02 +00:00
Jeremy Hylton
5030cf1c2d Fix three PyChecker-detected gotchas.
Import OPT_ symbols from _symtable.
Define has_exec() and has_import_star().
2001-04-16 18:43:18 +00:00
Tim Peters
a19a168ccc Whitespace normalization. 2001-03-29 04:36:09 +00:00
Jeremy Hylton
101651c128 flesh out __all__
remove debugging code in if __debug__:

add get_children() method on SymbolTable
2001-03-23 15:41:14 +00:00
Jeremy Hylton
816e149c85 First cut at a high-level symbol table interface 2001-03-22 23:32:22 +00:00