Changes from Python 2.6 to Python 2.7ΒΆ

--- /home/docs/checkouts/readthedocs.org/user_builds/restrictedpython/checkouts/latest/docs/contributing/ast/python2_6.ast
+++ /home/docs/checkouts/readthedocs.org/user_builds/restrictedpython/checkouts/latest/docs/contributing/ast/python2_7.ast
@@ -1,7 +1,7 @@
--- Python 2.6 AST
+-- Python 2.7 AST
 -- ASDL's five builtin types are identifier, int, string, object, bool
 
-module Python version "2.6"
+module Python version "2.7"
 {
   mod = Module(stmt* body)
       | Interactive(stmt* body)
@@ -14,7 +14,7 @@
                      arguments args,
                      stmt* body,
                      expr* decorator_list)
-        | ClassDef(identifier name, expr* bases, stmt* body, expr *decorator_list)
+        | ClassDef(identifier name, expr* bases, stmt* body, expr* decorator_list)
         | Return(expr? value)
 
         | Delete(expr* targets)
@@ -37,7 +37,7 @@
         | Assert(expr test, expr? msg)
 
         | Import(alias* names)
-        | ImportFrom(identifier module, alias* names, int? level)
+        | ImportFrom(identifier? module, alias* names, int? level)
 
         -- Doesn't capture requirement that locals must be
         -- defined if globals is
@@ -59,7 +59,10 @@
        | Lambda(arguments args, expr body)
        | IfExp(expr test, expr body, expr orelse)
        | Dict(expr* keys, expr* values)
+       | Set(expr* elts)
        | ListComp(expr elt, comprehension* generators)
+       | SetComp(expr elt, comprehension* generators)
+       | DictComp(expr key, expr value, comprehension* generators)
        | GeneratorExp(expr elt, comprehension* generators)
        -- the grammar constrains where yield expressions can occur
        | Yield(expr? value)