Nick Coghlan wrote:

I haven't looked at that code recently, but I believe the ADSL sequence in the assignment node is for statements where there are actually multiple assignment targets, such as:

>>> p = x, y = 1, 2
>>> p, x, y
((1, 2), 1, 2)

Cheers,
Nick.

Ah I see. A quick test verifies exactly this:

   >>> import _ast
>>> ast = compile("p = x, y = 1, 2", "<string>", "exec", _ast.PyCF_ONLY_AST)
   >>> ast.body[0]
   <_ast.Assign object at 0xb7d0122c>
   >>> ast.body[0].targets
   [<_ast.Name object at 0xb7d0124c>, <_ast.Tuple object at 0xb7d0128c>]
   >>> ast.body[0].value
   <_ast.Tuple object at 0xb7d0132c>
   >>>

I thought this would have been implemented as nested Assign nodes, but I'm obviously wrong. :) Thanks for the clarification.

Cheers,
T
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to