]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
tabify
authorJeremy Hylton <jeremy@alum.mit.edu>
Tue, 27 Feb 2007 16:13:23 +0000 (16:13 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Tue, 27 Feb 2007 16:13:23 +0000 (16:13 +0000)
Note that ast.c still has a mix of tabs and spaces, because it
attempts to use four-space indents for more of the new code.

Python/ast.c
Python/compile.c

index dcf7f2b3ab08f85600cf711bd3af3010a0571354..425f7f2c3f90810d90af199767e009daa4e1921d 100644 (file)
@@ -37,7 +37,7 @@ static PyObject *parsestr(const char *s, const char *encoding);
 static PyObject *parsestrplus(struct compiling *, const node *n);
 
 #ifndef LINENO
-#define LINENO(n)       ((n)->n_lineno)
+#define LINENO(n)      ((n)->n_lineno)
 #endif
 
 static identifier
@@ -62,7 +62,7 @@ ast_error(const node *n, const char *errstr)
 {
     PyObject *u = Py_BuildValue("zi", errstr, LINENO(n));
     if (!u)
-        return 0;
+       return 0;
     PyErr_SetObject(PyExc_SyntaxError, u);
     Py_DECREF(u);
     return 0;
@@ -76,36 +76,36 @@ ast_error_finish(const char *filename)
 
     assert(PyErr_Occurred());
     if (!PyErr_ExceptionMatches(PyExc_SyntaxError))
-        return;
+       return;
 
     PyErr_Fetch(&type, &value, &tback);
     errstr = PyTuple_GetItem(value, 0);
     if (!errstr)
-        return;
+       return;
     Py_INCREF(errstr);
     lineno = PyInt_AsLong(PyTuple_GetItem(value, 1));
     if (lineno == -1) {
-        Py_DECREF(errstr);
-        return;
+       Py_DECREF(errstr);
+       return;
     }
     Py_DECREF(value);
 
     loc = PyErr_ProgramText(filename, lineno);
     if (!loc) {
-        Py_INCREF(Py_None);
-        loc = Py_None;
+       Py_INCREF(Py_None);
+       loc = Py_None;
     }
     tmp = Py_BuildValue("(zlOO)", filename, lineno, Py_None, loc);
     Py_DECREF(loc);
     if (!tmp) {
-        Py_DECREF(errstr);
-        return;
+       Py_DECREF(errstr);
+       return;
     }
     value = PyTuple_Pack(2, errstr, tmp);
     Py_DECREF(errstr);
     Py_DECREF(tmp);
     if (!value)
-        return;
+       return;
     PyErr_Restore(type, value, tback);
 }
 
@@ -130,41 +130,41 @@ num_stmts(const node *n)
     node *ch;
 
     switch (TYPE(n)) {
-        case single_input:
-            if (TYPE(CHILD(n, 0)) == NEWLINE)
-                return 0;
-            else
-                return num_stmts(CHILD(n, 0));
-        case file_input:
-            l = 0;
-            for (i = 0; i < NCH(n); i++) {
-                ch = CHILD(n, i);
-                if (TYPE(ch) == stmt)
-                    l += num_stmts(ch);
-            }
-            return l;
-        case stmt:
-            return num_stmts(CHILD(n, 0));
-        case compound_stmt:
-            return 1;
-        case simple_stmt:
-            return NCH(n) / 2; /* Divide by 2 to remove count of semi-colons */
-        case suite:
-            if (NCH(n) == 1)
-                return num_stmts(CHILD(n, 0));
-            else {
-                l = 0;
-                for (i = 2; i < (NCH(n) - 1); i++)
-                    l += num_stmts(CHILD(n, i));
-                return l;
-            }
-        default: {
-            char buf[128];
-
-            sprintf(buf, "Non-statement found: %d %d\n",
-                    TYPE(n), NCH(n));
-            Py_FatalError(buf);
-        }
+       case single_input:
+           if (TYPE(CHILD(n, 0)) == NEWLINE)
+               return 0;
+           else
+               return num_stmts(CHILD(n, 0));
+       case file_input:
+           l = 0;
+           for (i = 0; i < NCH(n); i++) {
+               ch = CHILD(n, i);
+               if (TYPE(ch) == stmt)
+                   l += num_stmts(ch);
+           }
+           return l;
+       case stmt:
+           return num_stmts(CHILD(n, 0));
+       case compound_stmt:
+           return 1;
+       case simple_stmt:
+           return NCH(n) / 2; /* Divide by 2 to remove count of semi-colons */
+       case suite:
+           if (NCH(n) == 1)
+               return num_stmts(CHILD(n, 0));
+           else {
+               l = 0;
+               for (i = 2; i < (NCH(n) - 1); i++)
+                   l += num_stmts(CHILD(n, i));
+               return l;
+           }
+       default: {
+           char buf[128];
+
+           sprintf(buf, "Non-statement found: %d %d\n",
+                   TYPE(n), NCH(n));
+           Py_FatalError(buf);
+       }
     }
     assert(0);
     return 0;
@@ -175,7 +175,7 @@ num_stmts(const node *n)
 
 mod_ty
 PyAST_FromNode(const node *n, PyCompilerFlags *flags, const char *filename,
-               PyArena *arena)
+              PyArena *arena)
 {
     int i, j, k, num;
     asdl_seq *stmts = NULL;
@@ -184,96 +184,96 @@ PyAST_FromNode(const node *n, PyCompilerFlags *flags, const char *filename,
     struct compiling c;
 
     if (flags && flags->cf_flags & PyCF_SOURCE_IS_UTF8) {
-        c.c_encoding = "utf-8";
-        if (TYPE(n) == encoding_decl) {
-                ast_error(n, "encoding declaration in Unicode string");
-                goto error;
-        }
+       c.c_encoding = "utf-8";
+       if (TYPE(n) == encoding_decl) {
+               ast_error(n, "encoding declaration in Unicode string");
+               goto error;
+       }
     } else if (TYPE(n) == encoding_decl) {
-        c.c_encoding = STR(n);
-        n = CHILD(n, 0);
+       c.c_encoding = STR(n);
+       n = CHILD(n, 0);
     } else {
-        c.c_encoding = NULL;
+       c.c_encoding = NULL;
     }
     c.c_arena = arena;
 
     k = 0;
     switch (TYPE(n)) {
-        case file_input:
-            stmts = asdl_seq_new(num_stmts(n), arena);
-            if (!stmts)
-                    return NULL;
-            for (i = 0; i < NCH(n) - 1; i++) {
-                ch = CHILD(n, i);
-                if (TYPE(ch) == NEWLINE)
-                    continue;
-                REQ(ch, stmt);
-                num = num_stmts(ch);
-                if (num == 1) {
-                    s = ast_for_stmt(&c, ch);
-                    if (!s)
-                        goto error;
-                    asdl_seq_SET(stmts, k++, s);
-                }
-                else {
-                    ch = CHILD(ch, 0);
-                    REQ(ch, simple_stmt);
-                    for (j = 0; j < num; j++) {
-                        s = ast_for_stmt(&c, CHILD(ch, j * 2));
-                        if (!s)
-                            goto error;
-                        asdl_seq_SET(stmts, k++, s);
-                    }
-                }
-            }
-            return Module(stmts, arena);
-        case eval_input: {
-            expr_ty testlist_ast;
-
-            /* XXX Why not gen_for here? */
-            testlist_ast = ast_for_testlist(&c, CHILD(n, 0));
-            if (!testlist_ast)
-                goto error;
-            return Expression(testlist_ast, arena);
-        }
-        case single_input:
-            if (TYPE(CHILD(n, 0)) == NEWLINE) {
-                stmts = asdl_seq_new(1, arena);
-                if (!stmts)
-                    goto error;
-                asdl_seq_SET(stmts, 0, Pass(n->n_lineno, n->n_col_offset,
-                                            arena));
-                return Interactive(stmts, arena);
-            }
-            else {
-                n = CHILD(n, 0);
-                num = num_stmts(n);
-                stmts = asdl_seq_new(num, arena);
-                if (!stmts)
-                    goto error;
-                if (num == 1) {
-                    s = ast_for_stmt(&c, n);
-                    if (!s)
-                        goto error;
-                    asdl_seq_SET(stmts, 0, s);
-                }
-                else {
-                    /* Only a simple_stmt can contain multiple statements. */
-                    REQ(n, simple_stmt);
-                    for (i = 0; i < NCH(n); i += 2) {
-                        if (TYPE(CHILD(n, i)) == NEWLINE)
-                            break;
-                        s = ast_for_stmt(&c, CHILD(n, i));
-                        if (!s)
-                            goto error;
-                        asdl_seq_SET(stmts, i / 2, s);
-                    }
-                }
-
-                return Interactive(stmts, arena);
-            }
-        default:
-            goto error;
+       case file_input:
+           stmts = asdl_seq_new(num_stmts(n), arena);
+           if (!stmts)
+                   return NULL;
+           for (i = 0; i < NCH(n) - 1; i++) {
+               ch = CHILD(n, i);
+               if (TYPE(ch) == NEWLINE)
+                   continue;
+               REQ(ch, stmt);
+               num = num_stmts(ch);
+               if (num == 1) {
+                   s = ast_for_stmt(&c, ch);
+                   if (!s)
+                       goto error;
+                   asdl_seq_SET(stmts, k++, s);
+               }
+               else {
+                   ch = CHILD(ch, 0);
+                   REQ(ch, simple_stmt);
+                   for (j = 0; j < num; j++) {
+                       s = ast_for_stmt(&c, CHILD(ch, j * 2));
+                       if (!s)
+                           goto error;
+                       asdl_seq_SET(stmts, k++, s);
+                   }
+               }
+           }
+           return Module(stmts, arena);
+       case eval_input: {
+           expr_ty testlist_ast;
+
+           /* XXX Why not gen_for here? */
+           testlist_ast = ast_for_testlist(&c, CHILD(n, 0));
+           if (!testlist_ast)
+               goto error;
+           return Expression(testlist_ast, arena);
+       }
+       case single_input:
+           if (TYPE(CHILD(n, 0)) == NEWLINE) {
+               stmts = asdl_seq_new(1, arena);
+               if (!stmts)
+                   goto error;
+               asdl_seq_SET(stmts, 0, Pass(n->n_lineno, n->n_col_offset,
+                                           arena));
+               return Interactive(stmts, arena);
+           }
+           else {
+               n = CHILD(n, 0);
+               num = num_stmts(n);
+               stmts = asdl_seq_new(num, arena);
+               if (!stmts)
+                   goto error;
+               if (num == 1) {
+                   s = ast_for_stmt(&c, n);
+                   if (!s)
+                       goto error;
+                   asdl_seq_SET(stmts, 0, s);
+               }
+               else {
+                   /* Only a simple_stmt can contain multiple statements. */
+                   REQ(n, simple_stmt);
+                   for (i = 0; i < NCH(n); i += 2) {
+                       if (TYPE(CHILD(n, i)) == NEWLINE)
+                           break;
+                       s = ast_for_stmt(&c, CHILD(n, i));
+                       if (!s)
+                           goto error;
+                       asdl_seq_SET(stmts, i / 2, s);
+                   }
+               }
+
+               return Interactive(stmts, arena);
+           }
+       default:
+           goto error;
     }
  error:
     ast_error_finish(filename);
@@ -287,30 +287,30 @@ static operator_ty
 get_operator(const node *n)
 {
     switch (TYPE(n)) {
-        case VBAR:
-            return BitOr;
-        case CIRCUMFLEX:
-            return BitXor;
-        case AMPER:
-            return BitAnd;
-        case LEFTSHIFT:
-            return LShift;
-        case RIGHTSHIFT:
-            return RShift;
-        case PLUS:
-            return Add;
-        case MINUS:
-            return Sub;
-        case STAR:
-            return Mult;
-        case SLASH:
-            return Div;
-        case DOUBLESLASH:
-            return FloorDiv;
-        case PERCENT:
-            return Mod;
-        default:
-            return (operator_ty)0;
+       case VBAR:
+           return BitOr;
+       case CIRCUMFLEX:
+           return BitXor;
+       case AMPER:
+           return BitAnd;
+       case LEFTSHIFT:
+           return LShift;
+       case RIGHTSHIFT:
+           return RShift;
+       case PLUS:
+           return Add;
+       case MINUS:
+           return Sub;
+       case STAR:
+           return Mult;
+       case SLASH:
+           return Div;
+       case DOUBLESLASH:
+           return FloorDiv;
+       case PERCENT:
+           return Mod;
+       default:
+           return (operator_ty)0;
     }
 }
 
@@ -340,93 +340,93 @@ set_context(expr_ty e, expr_context_ty ctx, const node *n)
     assert(ctx != AugStore && ctx != AugLoad);
 
     switch (e->kind) {
-        case Attribute_kind:
-            if (ctx == Store &&
-                    !strcmp(PyString_AS_STRING(e->v.Attribute.attr), "None")) {
-                    return ast_error(n, "assignment to None");
-            }
-            e->v.Attribute.ctx = ctx;
-            break;
-        case Subscript_kind:
-            e->v.Subscript.ctx = ctx;
-            break;
-        case Name_kind:
-            if (ctx == Store &&
-                !strcmp(PyString_AS_STRING(e->v.Name.id), "None")) {
-                    return ast_error(n, "assignment to None");
-            }
-            e->v.Name.ctx = ctx;
-            break;
-        case List_kind:
-            e->v.List.ctx = ctx;
-            s = e->v.List.elts;
-            break;
-        case Tuple_kind:
-            if (asdl_seq_LEN(e->v.Tuple.elts) == 0) 
-                return ast_error(n, "can't assign to ()");
-            e->v.Tuple.ctx = ctx;
-            s = e->v.Tuple.elts;
-            break;
-        case Lambda_kind:
-            expr_name = "lambda";
-            break;
-        case Call_kind:
-            expr_name = "function call";
-            break;
-        case BoolOp_kind:
-        case BinOp_kind:
-        case UnaryOp_kind:
-            expr_name = "operator";
-            break;
-        case GeneratorExp_kind:
-            expr_name = "generator expression";
-            break;
-        case Yield_kind:
-            expr_name = "yield expression";
-            break;
-        case ListComp_kind:
-            expr_name = "list comprehension";
-            break;
-        case Dict_kind:
-        case Num_kind:
-        case Str_kind:
-            expr_name = "literal";
-            break;
-        case Compare_kind:
-            expr_name = "comparison";
-            break;
-        case Repr_kind:
-            expr_name = "repr";
-            break;
-        case IfExp_kind:
-            expr_name = "conditional expression";
-            break;
-        default:
-            PyErr_Format(PyExc_SystemError, 
-                         "unexpected expression in assignment %d (line %d)", 
-                         e->kind, e->lineno);
-            return 0;
+       case Attribute_kind:
+           if (ctx == Store &&
+                   !strcmp(PyString_AS_STRING(e->v.Attribute.attr), "None")) {
+                   return ast_error(n, "assignment to None");
+           }
+           e->v.Attribute.ctx = ctx;
+           break;
+       case Subscript_kind:
+           e->v.Subscript.ctx = ctx;
+           break;
+       case Name_kind:
+           if (ctx == Store &&
+               !strcmp(PyString_AS_STRING(e->v.Name.id), "None")) {
+                   return ast_error(n, "assignment to None");
+           }
+           e->v.Name.ctx = ctx;
+           break;
+       case List_kind:
+           e->v.List.ctx = ctx;
+           s = e->v.List.elts;
+           break;
+       case Tuple_kind:
+           if (asdl_seq_LEN(e->v.Tuple.elts) == 0) 
+               return ast_error(n, "can't assign to ()");
+           e->v.Tuple.ctx = ctx;
+           s = e->v.Tuple.elts;
+           break;
+       case Lambda_kind:
+           expr_name = "lambda";
+           break;
+       case Call_kind:
+           expr_name = "function call";
+           break;
+       case BoolOp_kind:
+       case BinOp_kind:
+       case UnaryOp_kind:
+           expr_name = "operator";
+           break;
+       case GeneratorExp_kind:
+           expr_name = "generator expression";
+           break;
+       case Yield_kind:
+           expr_name = "yield expression";
+           break;
+       case ListComp_kind:
+           expr_name = "list comprehension";
+           break;
+       case Dict_kind:
+       case Num_kind:
+       case Str_kind:
+           expr_name = "literal";
+           break;
+       case Compare_kind:
+           expr_name = "comparison";
+           break;
+       case Repr_kind:
+           expr_name = "repr";
+           break;
+       case IfExp_kind:
+           expr_name = "conditional expression";
+           break;
+       default:
+           PyErr_Format(PyExc_SystemError, 
+                        "unexpected expression in assignment %d (line %d)", 
+                        e->kind, e->lineno);
+           return 0;
     }
     /* Check for error string set by switch */
     if (expr_name) {
-        char buf[300];
-        PyOS_snprintf(buf, sizeof(buf),
-                      "can't %s %s",
-                      ctx == Store ? "assign to" : "delete",
-                      expr_name);
-        return ast_error(n, buf);
+       char buf[300];
+       PyOS_snprintf(buf, sizeof(buf),
+                     "can't %s %s",
+                     ctx == Store ? "assign to" : "delete",
+                     expr_name);
+       return ast_error(n, buf);
     }
 
     /* If the LHS is a list or tuple, we need to set the assignment
-       context for all the contained elements.  
+       context for all the contained elements. 
     */
     if (s) {
-        int i;
+       int i;
 
-        for (i = 0; i < asdl_seq_LEN(s); i++) {
-            if (!set_context((expr_ty)asdl_seq_GET(s, i), ctx, n))
-                return 0;
-        }
+       for (i = 0; i < asdl_seq_LEN(s); i++) {
+           if (!set_context((expr_ty)asdl_seq_GET(s, i), ctx, n))
+               return 0;
+       }
     }
     return 1;
 }
@@ -437,35 +437,35 @@ ast_for_augassign(const node *n)
     REQ(n, augassign);
     n = CHILD(n, 0);
     switch (STR(n)[0]) {
-        case '+':
-            return Add;
-        case '-':
-            return Sub;
-        case '/':
-            if (STR(n)[1] == '/')
-                return FloorDiv;
-            else
-                return Div;
-        case '%':
-            return Mod;
-        case '<':
-            return LShift;
-        case '>':
-            return RShift;
-        case '&':
-            return BitAnd;
-        case '^':
-            return BitXor;
-        case '|':
-            return BitOr;
-        case '*':
-            if (STR(n)[1] == '*')
-                return Pow;
-            else
-                return Mult;
-        default:
-            PyErr_Format(PyExc_SystemError, "invalid augassign: %s", STR(n));
-            return (operator_ty)0;
+       case '+':
+           return Add;
+       case '-':
+           return Sub;
+       case '/':
+           if (STR(n)[1] == '/')
+               return FloorDiv;
+           else
+               return Div;
+       case '%':
+           return Mod;
+       case '<':
+           return LShift;
+       case '>':
+           return RShift;
+       case '&':
+           return BitAnd;
+       case '^':
+           return BitXor;
+       case '|':
+           return BitOr;
+       case '*':
+           if (STR(n)[1] == '*')
+               return Pow;
+           else
+               return Mult;
+       default:
+           PyErr_Format(PyExc_SystemError, "invalid augassign: %s", STR(n));
+           return (operator_ty)0;
     }
 }
 
@@ -473,51 +473,51 @@ static cmpop_ty
 ast_for_comp_op(const node *n)
 {
     /* comp_op: '<'|'>'|'=='|'>='|'<='|'<>'|'!='|'in'|'not' 'in'|'is'
-               |'is' 'not'
+              |'is' 'not'
     */
     REQ(n, comp_op);
     if (NCH(n) == 1) {
-        n = CHILD(n, 0);
-        switch (TYPE(n)) {
-            case LESS:
-                return Lt;
-            case GREATER:
-                return Gt;
-            case EQEQUAL:                       /* == */
-                return Eq;
-            case LESSEQUAL:
-                return LtE;
-            case GREATEREQUAL:
-                return GtE;
-            case NOTEQUAL:
-                return NotEq;
-            case NAME:
-                if (strcmp(STR(n), "in") == 0)
-                    return In;
-                if (strcmp(STR(n), "is") == 0)
-                    return Is;
-            default:
-                PyErr_Format(PyExc_SystemError, "invalid comp_op: %s",
-                             STR(n));
-                return (cmpop_ty)0;
-        }
+       n = CHILD(n, 0);
+       switch (TYPE(n)) {
+           case LESS:
+               return Lt;
+           case GREATER:
+               return Gt;
+           case EQEQUAL:                       /* == */
+               return Eq;
+           case LESSEQUAL:
+               return LtE;
+           case GREATEREQUAL:
+               return GtE;
+           case NOTEQUAL:
+               return NotEq;
+           case NAME:
+               if (strcmp(STR(n), "in") == 0)
+                   return In;
+               if (strcmp(STR(n), "is") == 0)
+                   return Is;
+           default:
+               PyErr_Format(PyExc_SystemError, "invalid comp_op: %s",
+                            STR(n));
+               return (cmpop_ty)0;
+       }
     }
     else if (NCH(n) == 2) {
-        /* handle "not in" and "is not" */
-        switch (TYPE(CHILD(n, 0))) {
-            case NAME:
-                if (strcmp(STR(CHILD(n, 1)), "in") == 0)
-                    return NotIn;
-                if (strcmp(STR(CHILD(n, 0)), "is") == 0)
-                    return IsNot;
-            default:
-                PyErr_Format(PyExc_SystemError, "invalid comp_op: %s %s",
-                             STR(CHILD(n, 0)), STR(CHILD(n, 1)));
-                return (cmpop_ty)0;
-        }
+       /* handle "not in" and "is not" */
+       switch (TYPE(CHILD(n, 0))) {
+           case NAME:
+               if (strcmp(STR(CHILD(n, 1)), "in") == 0)
+                   return NotIn;
+               if (strcmp(STR(CHILD(n, 0)), "is") == 0)
+                   return IsNot;
+           default:
+               PyErr_Format(PyExc_SystemError, "invalid comp_op: %s %s",
+                            STR(CHILD(n, 0)), STR(CHILD(n, 1)));
+               return (cmpop_ty)0;
+       }
     }
     PyErr_Format(PyExc_SystemError, "invalid comp_op: has %d children",
-                 NCH(n));
+                NCH(n));
     return (cmpop_ty)0;
 }
 
@@ -529,25 +529,25 @@ seq_for_testlist(struct compiling *c, const node *n)
     expr_ty expression;
     int i;
     assert(TYPE(n) == testlist
-           || TYPE(n) == listmaker
-           || TYPE(n) == testlist_gexp
-           || TYPE(n) == testlist_safe
-           || TYPE(n) == testlist1
-           );
+          || TYPE(n) == listmaker
+          || TYPE(n) == testlist_gexp
+          || TYPE(n) == testlist_safe
+          || TYPE(n) == testlist1
+          );
 
     seq = asdl_seq_new((NCH(n) + 1) / 2, c->c_arena);
     if (!seq)
-        return NULL;
+       return NULL;
 
     for (i = 0; i < NCH(n); i += 2) {
-        assert(TYPE(CHILD(n, i)) == test || TYPE(CHILD(n, i)) == old_test);
+       assert(TYPE(CHILD(n, i)) == test || TYPE(CHILD(n, i)) == old_test);
 
-        expression = ast_for_expr(c, CHILD(n, i));
-        if (!expression)
-            return NULL;
+       expression = ast_for_expr(c, CHILD(n, i));
+       if (!expression)
+           return NULL;
 
-        assert(i / 2 < seq->size);
-        asdl_seq_SET(seq, i / 2, expression);
+       assert(i / 2 < seq->size);
+       asdl_seq_SET(seq, i / 2, expression);
     }
     return seq;
 }
@@ -559,46 +559,46 @@ compiler_complex_args(struct compiling *c, const node *n)
     expr_ty result;
     asdl_seq *args = asdl_seq_new(len, c->c_arena);
     if (!args)
-        return NULL;
+       return NULL;
 
     /* fpdef: NAME | '(' fplist ')'
        fplist: fpdef (',' fpdef)* [',']
     */
     REQ(n, fplist);
     for (i = 0; i < len; i++) {
-        const node *fpdef_node = CHILD(n, 2*i);
-        const node *child;
-        expr_ty arg;
+       const node *fpdef_node = CHILD(n, 2*i);
+       const node *child;
+       expr_ty arg;
 set_name:
-        /* fpdef_node is either a NAME or an fplist */
-        child = CHILD(fpdef_node, 0);
-        if (TYPE(child) == NAME) {
-                if (!strcmp(STR(child), "None")) {
-                        ast_error(child, "assignment to None");
-                        return NULL;
-                    }   
-            arg = Name(NEW_IDENTIFIER(child), Store, LINENO(child),
-                       child->n_col_offset, c->c_arena);
-            }
-        else {
-            assert(TYPE(fpdef_node) == fpdef);
-            /* fpdef_node[0] is not a name, so it must be a '(', get CHILD[1] */
-            child = CHILD(fpdef_node, 1);
-            assert(TYPE(child) == fplist);
-            /* NCH == 1 means we have (x), we need to elide the extra parens */
-            if (NCH(child) == 1) {
-                fpdef_node = CHILD(child, 0);
-                assert(TYPE(fpdef_node) == fpdef);
-                goto set_name;
-            }
-            arg = compiler_complex_args(c, child);
-        }
-        asdl_seq_SET(args, i, arg);
+       /* fpdef_node is either a NAME or an fplist */
+       child = CHILD(fpdef_node, 0);
+       if (TYPE(child) == NAME) {
+               if (!strcmp(STR(child), "None")) {
+                       ast_error(child, "assignment to None");
+                       return NULL;
+                   }   
+           arg = Name(NEW_IDENTIFIER(child), Store, LINENO(child),
+                      child->n_col_offset, c->c_arena);
+           }
+       else {
+           assert(TYPE(fpdef_node) == fpdef);
+           /* fpdef_node[0] is not a name, so it must be a '(', get CHILD[1] */
+           child = CHILD(fpdef_node, 1);
+           assert(TYPE(child) == fplist);
+           /* NCH == 1 means we have (x), we need to elide the extra parens */
+           if (NCH(child) == 1) {
+               fpdef_node = CHILD(child, 0);
+               assert(TYPE(fpdef_node) == fpdef);
+               goto set_name;
+           }
+           arg = compiler_complex_args(c, child);
+       }
+       asdl_seq_SET(args, i, arg);
     }
 
     result = Tuple(args, Store, LINENO(n), n->n_col_offset, c->c_arena);
     if (!set_context(result, Store, n))
-        return NULL;
+       return NULL;
     return result;
 }
 
@@ -610,7 +610,7 @@ ast_for_arguments(struct compiling *c, const node *n)
 {
     /* parameters: '(' [varargslist] ')'
        varargslist: (fpdef ['=' test] ',')* ('*' NAME [',' '**' NAME]
-            | '**' NAME) | fpdef ['=' test] (',' fpdef ['=' test])* [',']
+           | '**' NAME) | fpdef ['=' test] (',' fpdef ['=' test])* [',']
     */
     int i, j, k, n_args = 0, n_defaults = 0, found_default = 0;
     asdl_seq *args, *defaults;
@@ -618,26 +618,26 @@ ast_for_arguments(struct compiling *c, const node *n)
     node *ch;
 
     if (TYPE(n) == parameters) {
-        if (NCH(n) == 2) /* () as argument list */
-            return arguments(NULL, NULL, NULL, NULL, c->c_arena);
-        n = CHILD(n, 1);
+       if (NCH(n) == 2) /* () as argument list */
+           return arguments(NULL, NULL, NULL, NULL, c->c_arena);
+       n = CHILD(n, 1);
     }
     REQ(n, varargslist);
 
     /* first count the number of normal args & defaults */
     for (i = 0; i < NCH(n); i++) {
-        ch = CHILD(n, i);
-        if (TYPE(ch) == fpdef)
-            n_args++;
-        if (TYPE(ch) == EQUAL)
-            n_defaults++;
+       ch = CHILD(n, i);
+       if (TYPE(ch) == fpdef)
+           n_args++;
+       if (TYPE(ch) == EQUAL)
+           n_defaults++;
     }
     args = (n_args ? asdl_seq_new(n_args, c->c_arena) : NULL);
     if (!args && n_args)
-        return NULL; /* Don't need to goto error; no objects allocated */
+       return NULL; /* Don't need to goto error; no objects allocated */
     defaults = (n_defaults ? asdl_seq_new(n_defaults, c->c_arena) : NULL);
     if (!defaults && n_defaults)
-        return NULL; /* Don't need to goto error; no objects allocated */
+       return NULL; /* Don't need to goto error; no objects allocated */
 
     /* fpdef: NAME | '(' fplist ')'
        fplist: fpdef (',' fpdef)* [',']
@@ -646,80 +646,80 @@ ast_for_arguments(struct compiling *c, const node *n)
     j = 0;  /* index for defaults */
     k = 0;  /* index for args */
     while (i < NCH(n)) {
-        ch = CHILD(n, i);
-        switch (TYPE(ch)) {
-            case fpdef:
-            handle_fpdef:
-                /* XXX Need to worry about checking if TYPE(CHILD(n, i+1)) is
-                   anything other than EQUAL or a comma? */
-                /* XXX Should NCH(n) check be made a separate check? */
-                if (i + 1 < NCH(n) && TYPE(CHILD(n, i + 1)) == EQUAL) {
-                    expr_ty expression = ast_for_expr(c, CHILD(n, i + 2));
-                    if (!expression)
-                            goto error;
-                    assert(defaults != NULL);
-                    asdl_seq_SET(defaults, j++, expression);
-                    i += 2;
-                    found_default = 1;
-                }
-                else if (found_default) {
-                    ast_error(n, 
-                             "non-default argument follows default argument");
-                    goto error;
-                }
-                if (NCH(ch) == 3) {
-                    ch = CHILD(ch, 1);
-                    /* def foo((x)): is not complex, special case. */
-                    if (NCH(ch) != 1) {
-                        /* We have complex arguments, setup for unpacking. */
-                        asdl_seq_SET(args, k++, compiler_complex_args(c, ch));
-                    } else {
-                        /* def foo((x)): setup for checking NAME below. */
-                        /* Loop because there can be many parens and tuple
-                           unpacking mixed in. */
-                        ch = CHILD(ch, 0);
-                        assert(TYPE(ch) == fpdef);
-                        goto handle_fpdef;
-                    }
-                }
-                if (TYPE(CHILD(ch, 0)) == NAME) {
-                    expr_ty name;
-                    if (!strcmp(STR(CHILD(ch, 0)), "None")) {
-                            ast_error(CHILD(ch, 0), "assignment to None");
-                            goto error;
-                    }
-                    name = Name(NEW_IDENTIFIER(CHILD(ch, 0)),
-                                Param, LINENO(ch), ch->n_col_offset,
-                                c->c_arena);
-                    if (!name)
-                        goto error;
-                    asdl_seq_SET(args, k++, name);
-                                         
-                }
-                i += 2; /* the name and the comma */
-                break;
-            case STAR:
-                if (!strcmp(STR(CHILD(n, i+1)), "None")) {
-                        ast_error(CHILD(n, i+1), "assignment to None");
-                        goto error;
-                }
-                vararg = NEW_IDENTIFIER(CHILD(n, i+1));
-                i += 3;
-                break;
-            case DOUBLESTAR:
-                if (!strcmp(STR(CHILD(n, i+1)), "None")) {
-                        ast_error(CHILD(n, i+1), "assignment to None");
-                        goto error;
-                }
-                kwarg = NEW_IDENTIFIER(CHILD(n, i+1));
-                i += 3;
-                break;
-            default:
-                PyErr_Format(PyExc_SystemError,
-                             "unexpected node in varargslist: %d @ %d",
-                             TYPE(ch), i);
-                goto error;
-        }
+       ch = CHILD(n, i);
+       switch (TYPE(ch)) {
+           case fpdef:
+           handle_fpdef:
+               /* XXX Need to worry about checking if TYPE(CHILD(n, i+1)) is
+                  anything other than EQUAL or a comma? */
+               /* XXX Should NCH(n) check be made a separate check? */
+               if (i + 1 < NCH(n) && TYPE(CHILD(n, i + 1)) == EQUAL) {
+                   expr_ty expression = ast_for_expr(c, CHILD(n, i + 2));
+                   if (!expression)
+                           goto error;
+                   assert(defaults != NULL);
+                   asdl_seq_SET(defaults, j++, expression);
+                   i += 2;
+                   found_default = 1;
+               }
+               else if (found_default) {
+                   ast_error(n, 
+                            "non-default argument follows default argument");
+                   goto error;
+               }
+               if (NCH(ch) == 3) {
+                   ch = CHILD(ch, 1);
+                   /* def foo((x)): is not complex, special case. */
+                   if (NCH(ch) != 1) {
+                       /* We have complex arguments, setup for unpacking. */
+                       asdl_seq_SET(args, k++, compiler_complex_args(c, ch));
+                   } else {
+                       /* def foo((x)): setup for checking NAME below. */
+                       /* Loop because there can be many parens and tuple
+                          unpacking mixed in. */
+                       ch = CHILD(ch, 0);
+                       assert(TYPE(ch) == fpdef);
+                       goto handle_fpdef;
+                   }
+               }
+               if (TYPE(CHILD(ch, 0)) == NAME) {
+                   expr_ty name;
+                   if (!strcmp(STR(CHILD(ch, 0)), "None")) {
+                           ast_error(CHILD(ch, 0), "assignment to None");
+                           goto error;
+                   }
+                   name = Name(NEW_IDENTIFIER(CHILD(ch, 0)),
+                               Param, LINENO(ch), ch->n_col_offset,
+                               c->c_arena);
+                   if (!name)
+                       goto error;
+                   asdl_seq_SET(args, k++, name);
+                                        
+               }
+               i += 2; /* the name and the comma */
+               break;
+           case STAR:
+               if (!strcmp(STR(CHILD(n, i+1)), "None")) {
+                       ast_error(CHILD(n, i+1), "assignment to None");
+                       goto error;
+               }
+               vararg = NEW_IDENTIFIER(CHILD(n, i+1));
+               i += 3;
+               break;
+           case DOUBLESTAR:
+               if (!strcmp(STR(CHILD(n, i+1)), "None")) {
+                       ast_error(CHILD(n, i+1), "assignment to None");
+                       goto error;
+               }
+               kwarg = NEW_IDENTIFIER(CHILD(n, i+1));
+               i += 3;
+               break;
+           default:
+               PyErr_Format(PyExc_SystemError,
+                            "unexpected node in varargslist: %d @ %d",
+                            TYPE(ch), i);
+               goto error;
+       }
     }
 
     return arguments(args, vararg, kwarg, defaults, c->c_arena);
@@ -745,18 +745,18 @@ ast_for_dotted_name(struct compiling *c, const node *n)
 
     id = NEW_IDENTIFIER(CHILD(n, 0));
     if (!id)
-        return NULL;
+       return NULL;
     e = Name(id, Load, lineno, col_offset, c->c_arena);
     if (!e)
-        return NULL;
+       return NULL;
 
     for (i = 2; i < NCH(n); i+=2) {
-        id = NEW_IDENTIFIER(CHILD(n, i));
-        if (!id)
-            return NULL;
-        e = Attribute(e, id, Load, lineno, col_offset, c->c_arena);
-        if (!e)
-            return NULL;
+       id = NEW_IDENTIFIER(CHILD(n, i));
+       if (!id)
+           return NULL;
+       e = Attribute(e, id, Load, lineno, col_offset, c->c_arena);
+       if (!e)
+           return NULL;
     }
 
     return e;
@@ -775,24 +775,24 @@ ast_for_decorator(struct compiling *c, const node *n)
     
     name_expr = ast_for_dotted_name(c, CHILD(n, 1));
     if (!name_expr)
-        return NULL;
-        
+       return NULL;
+       
     if (NCH(n) == 3) { /* No arguments */
-        d = name_expr;
-        name_expr = NULL;
+       d = name_expr;
+       name_expr = NULL;
     }
     else if (NCH(n) == 5) { /* Call with no arguments */
-        d = Call(name_expr, NULL, NULL, NULL, NULL, LINENO(n),
-                 n->n_col_offset, c->c_arena);
-        if (!d)
-            return NULL;
-        name_expr = NULL;
+       d = Call(name_expr, NULL, NULL, NULL, NULL, LINENO(n),
+                n->n_col_offset, c->c_arena);
+       if (!d)
+           return NULL;
+       name_expr = NULL;
     }
     else {
-        d = ast_for_call(c, CHILD(n, 3), name_expr);
-        if (!d)
-            return NULL;
-        name_expr = NULL;
+       d = ast_for_call(c, CHILD(n, 3), name_expr);
+       if (!d)
+           return NULL;
+       name_expr = NULL;
     }
 
     return d;
@@ -808,13 +808,13 @@ ast_for_decorators(struct compiling *c, const node *n)
     REQ(n, decorators);
     decorator_seq = asdl_seq_new(NCH(n), c->c_arena);
     if (!decorator_seq)
-        return NULL;
-        
+       return NULL;
+       
     for (i = 0; i < NCH(n); i++) {
-        d = ast_for_decorator(c, CHILD(n, i));
-            if (!d)
-                return NULL;
-            asdl_seq_SET(decorator_seq, i, d);
+       d = ast_for_decorator(c, CHILD(n, i));
+           if (!d)
+               return NULL;
+           asdl_seq_SET(decorator_seq, i, d);
     }
     return decorator_seq;
 }
@@ -832,31 +832,31 @@ ast_for_funcdef(struct compiling *c, const node *n)
     REQ(n, funcdef);
 
     if (NCH(n) == 6) { /* decorators are present */
-        decorator_seq = ast_for_decorators(c, CHILD(n, 0));
-        if (!decorator_seq)
-            return NULL;
-        name_i = 2;
+       decorator_seq = ast_for_decorators(c, CHILD(n, 0));
+       if (!decorator_seq)
+           return NULL;
+       name_i = 2;
     }
     else {
-        name_i = 1;
+       name_i = 1;
     }
 
     name = NEW_IDENTIFIER(CHILD(n, name_i));
     if (!name)
-        return NULL;
+       return NULL;
     else if (!strcmp(STR(CHILD(n, name_i)), "None")) {
-        ast_error(CHILD(n, name_i), "assignment to None");
-        return NULL;
+       ast_error(CHILD(n, name_i), "assignment to None");
+       return NULL;
     }
     args = ast_for_arguments(c, CHILD(n, name_i + 1));
     if (!args)
-        return NULL;
+       return NULL;
     body = ast_for_suite(c, CHILD(n, name_i + 3));
     if (!body)
-        return NULL;
+       return NULL;
 
     return FunctionDef(name, args, body, decorator_seq, LINENO(n),
-                       n->n_col_offset, c->c_arena);
+                      n->n_col_offset, c->c_arena);
 }
 
 static expr_ty
@@ -867,20 +867,20 @@ ast_for_lambdef(struct compiling *c, const node *n)
     expr_ty expression;
 
     if (NCH(n) == 3) {
-        args = arguments(NULL, NULL, NULL, NULL, c->c_arena);
-        if (!args)
-            return NULL;
-        expression = ast_for_expr(c, CHILD(n, 2));
-        if (!expression)
-            return NULL;
+       args = arguments(NULL, NULL, NULL, NULL, c->c_arena);
+       if (!args)
+           return NULL;
+       expression = ast_for_expr(c, CHILD(n, 2));
+       if (!expression)
+           return NULL;
     }
     else {
-        args = ast_for_arguments(c, CHILD(n, 1));
-        if (!args)
-            return NULL;
-        expression = ast_for_expr(c, CHILD(n, 3));
-        if (!expression)
-            return NULL;
+       args = ast_for_arguments(c, CHILD(n, 1));
+       if (!args)
+           return NULL;
+       expression = ast_for_expr(c, CHILD(n, 3));
+       if (!expression)
+           return NULL;
     }
 
     return Lambda(args, expression, LINENO(n), n->n_col_offset, c->c_arena);
@@ -895,15 +895,15 @@ ast_for_ifexpr(struct compiling *c, const node *n)
     assert(NCH(n) == 5);
     body = ast_for_expr(c, CHILD(n, 0));
     if (!body)
-        return NULL;
+       return NULL;
     expression = ast_for_expr(c, CHILD(n, 2));
     if (!expression)
-        return NULL;
+       return NULL;
     orelse = ast_for_expr(c, CHILD(n, 4));
     if (!orelse)
-        return NULL;
+       return NULL;
     return IfExp(expression, body, orelse, LINENO(n), n->n_col_offset,
-                 c->c_arena);
+                c->c_arena);
 }
 
 /* XXX(nnorwitz): the listcomp and genexpr code should be refactored
@@ -926,21 +926,21 @@ count_list_fors(const node *n)
     n_fors++;
     REQ(ch, list_for);
     if (NCH(ch) == 5)
-        ch = CHILD(ch, 4);
+       ch = CHILD(ch, 4);
     else
-        return n_fors;
+       return n_fors;
  count_list_iter:
     REQ(ch, list_iter);
     ch = CHILD(ch, 0);
     if (TYPE(ch) == list_for)
-        goto count_list_for;
+       goto count_list_for;
     else if (TYPE(ch) == list_if) {
-        if (NCH(ch) == 3) {
-            ch = CHILD(ch, 2);
-            goto count_list_iter;
-        }
-        else
-            return n_fors;
+       if (NCH(ch) == 3) {
+           ch = CHILD(ch, 2);
+           goto count_list_iter;
+       }
+       else
+           return n_fors;
     }
 
     /* Should never be reached */
@@ -961,12 +961,12 @@ count_list_ifs(const node *n)
  count_list_iter:
     REQ(n, list_iter);
     if (TYPE(CHILD(n, 0)) == list_for)
-        return n_ifs;
+       return n_ifs;
     n = CHILD(n, 0);
     REQ(n, list_if);
     n_ifs++;
     if (NCH(n) == 2)
-        return n_ifs;
+       return n_ifs;
     n = CHILD(n, 2);
     goto count_list_iter;
 }
@@ -990,73 +990,73 @@ ast_for_listcomp(struct compiling *c, const node *n)
 
     elt = ast_for_expr(c, CHILD(n, 0));
     if (!elt)
-        return NULL;
+       return NULL;
 
     n_fors = count_list_fors(n);
     if (n_fors == -1)
-        return NULL;
+       return NULL;
 
     listcomps = asdl_seq_new(n_fors, c->c_arena);
     if (!listcomps)
-        return NULL;
+       return NULL;
 
     ch = CHILD(n, 1);
     for (i = 0; i < n_fors; i++) {
-        comprehension_ty lc;
-        asdl_seq *t;
-        expr_ty expression;
-        node *for_ch;
-
-        REQ(ch, list_for);
-
-        for_ch = CHILD(ch, 1);
-        t = ast_for_exprlist(c, for_ch, Store);
-        if (!t)
-            return NULL;
-        expression = ast_for_testlist(c, CHILD(ch, 3));
-        if (!expression)
-            return NULL;
-
-        /* Check the # of children rather than the length of t, since
-           [x for x, in ... ] has 1 element in t, but still requires a Tuple. */
-        if (NCH(for_ch) == 1)
-            lc = comprehension((expr_ty)asdl_seq_GET(t, 0), expression, NULL,
-                               c->c_arena);
-        else
-            lc = comprehension(Tuple(t, Store, LINENO(ch), ch->n_col_offset,
-                                     c->c_arena),
-                               expression, NULL, c->c_arena);
-        if (!lc)
-            return NULL;
-
-        if (NCH(ch) == 5) {
-            int j, n_ifs;
-            asdl_seq *ifs;
-
-            ch = CHILD(ch, 4);
-            n_ifs = count_list_ifs(ch);
-            if (n_ifs == -1)
-                return NULL;
-
-            ifs = asdl_seq_new(n_ifs, c->c_arena);
-            if (!ifs)
-                return NULL;
-
-            for (j = 0; j < n_ifs; j++) {
-            REQ(ch, list_iter);
-                    ch = CHILD(ch, 0);
-                    REQ(ch, list_if);
-
-                asdl_seq_SET(ifs, j, ast_for_expr(c, CHILD(ch, 1)));
-                if (NCH(ch) == 3)
-                    ch = CHILD(ch, 2);
-                }
-                /* on exit, must guarantee that ch is a list_for */
-                if (TYPE(ch) == list_iter)
-                        ch = CHILD(ch, 0);
-            lc->ifs = ifs;
-            }
-            asdl_seq_SET(listcomps, i, lc);
+       comprehension_ty lc;
+       asdl_seq *t;
+       expr_ty expression;
+       node *for_ch;
+
+       REQ(ch, list_for);
+
+       for_ch = CHILD(ch, 1);
+       t = ast_for_exprlist(c, for_ch, Store);
+       if (!t)
+           return NULL;
+       expression = ast_for_testlist(c, CHILD(ch, 3));
+       if (!expression)
+           return NULL;
+
+       /* Check the # of children rather than the length of t, since
+          [x for x, in ... ] has 1 element in t, but still requires a Tuple. */
+       if (NCH(for_ch) == 1)
+           lc = comprehension((expr_ty)asdl_seq_GET(t, 0), expression, NULL,
+                              c->c_arena);
+       else
+           lc = comprehension(Tuple(t, Store, LINENO(ch), ch->n_col_offset,
+                                    c->c_arena),
+                              expression, NULL, c->c_arena);
+       if (!lc)
+           return NULL;
+
+       if (NCH(ch) == 5) {
+           int j, n_ifs;
+           asdl_seq *ifs;
+
+           ch = CHILD(ch, 4);
+           n_ifs = count_list_ifs(ch);
+           if (n_ifs == -1)
+               return NULL;
+
+           ifs = asdl_seq_new(n_ifs, c->c_arena);
+           if (!ifs)
+               return NULL;
+
+           for (j = 0; j < n_ifs; j++) {
+           REQ(ch, list_iter);
+                   ch = CHILD(ch, 0);
+                   REQ(ch, list_if);
+
+               asdl_seq_SET(ifs, j, ast_for_expr(c, CHILD(ch, 1)));
+               if (NCH(ch) == 3)
+                   ch = CHILD(ch, 2);
+               }
+               /* on exit, must guarantee that ch is a list_for */
+               if (TYPE(ch) == list_iter)
+                       ch = CHILD(ch, 0);
+           lc->ifs = ifs;
+           }
+           asdl_seq_SET(listcomps, i, lc);
     }
 
     return ListComp(elt, listcomps, LINENO(n), n->n_col_offset, c->c_arena);
@@ -1071,34 +1071,34 @@ ast_for_listcomp(struct compiling *c, const node *n)
 static int
 count_gen_fors(const node *n)
 {
-        int n_fors = 0;
-        node *ch = CHILD(n, 1);
+       int n_fors = 0;
+       node *ch = CHILD(n, 1);
 
  count_gen_for:
-        n_fors++;
-        REQ(ch, gen_for);
-        if (NCH(ch) == 5)
-                ch = CHILD(ch, 4);
-        else
-                return n_fors;
+       n_fors++;
+       REQ(ch, gen_for);
+       if (NCH(ch) == 5)
+               ch = CHILD(ch, 4);
+       else
+               return n_fors;
  count_gen_iter:
-        REQ(ch, gen_iter);
-        ch = CHILD(ch, 0);
-        if (TYPE(ch) == gen_for)
-                goto count_gen_for;
-        else if (TYPE(ch) == gen_if) {
-                if (NCH(ch) == 3) {
-                        ch = CHILD(ch, 2);
-                        goto count_gen_iter;
-                }
-                else
-                    return n_fors;
-        }
-
-        /* Should never be reached */
-        PyErr_SetString(PyExc_SystemError,
-                        "logic error in count_gen_fors");
-        return -1;
+       REQ(ch, gen_iter);
+       ch = CHILD(ch, 0);
+       if (TYPE(ch) == gen_for)
+               goto count_gen_for;
+       else if (TYPE(ch) == gen_if) {
+               if (NCH(ch) == 3) {
+                       ch = CHILD(ch, 2);
+                       goto count_gen_iter;
+               }
+               else
+                   return n_fors;
+       }
+
+       /* Should never be reached */
+       PyErr_SetString(PyExc_SystemError,
+                       "logic error in count_gen_fors");
+       return -1;
 }
 
 /* Count the number of 'if' statements in a generator expression.
@@ -1109,19 +1109,19 @@ count_gen_fors(const node *n)
 static int
 count_gen_ifs(const node *n)
 {
-        int n_ifs = 0;
-
-        while (1) {
-                REQ(n, gen_iter);
-                if (TYPE(CHILD(n, 0)) == gen_for)
-                        return n_ifs;
-                n = CHILD(n, 0);
-                REQ(n, gen_if);
-                n_ifs++;
-                if (NCH(n) == 2)
-                        return n_ifs;
-                n = CHILD(n, 2);
-        }
+       int n_ifs = 0;
+
+       while (1) {
+               REQ(n, gen_iter);
+               if (TYPE(CHILD(n, 0)) == gen_for)
+                       return n_ifs;
+               n = CHILD(n, 0);
+               REQ(n, gen_if);
+               n_ifs++;
+               if (NCH(n) == 2)
+                       return n_ifs;
+               n = CHILD(n, 2);
+       }
 }
 
 /* TODO(jhylton): Combine with list comprehension code? */
@@ -1129,7 +1129,7 @@ static expr_ty
 ast_for_genexp(struct compiling *c, const node *n)
 {
     /* testlist_gexp: test ( gen_for | (',' test)* [','] )
-       argument: [test '='] test [gen_for]       # Really [keyword '='] test */
+       argument: [test '='] test [gen_for]      # Really [keyword '='] test */
     expr_ty elt;
     asdl_seq *genexps;
     int i, n_fors;
@@ -1140,77 +1140,77 @@ ast_for_genexp(struct compiling *c, const node *n)
     
     elt = ast_for_expr(c, CHILD(n, 0));
     if (!elt)
-        return NULL;
+       return NULL;
     
     n_fors = count_gen_fors(n);
     if (n_fors == -1)
-        return NULL;
+       return NULL;
 
     genexps = asdl_seq_new(n_fors, c->c_arena);
     if (!genexps)
-        return NULL;
+       return NULL;
 
     ch = CHILD(n, 1);
     for (i = 0; i < n_fors; i++) {
-        comprehension_ty ge;
-        asdl_seq *t;
-        expr_ty expression;
-        node *for_ch;
-        
-        REQ(ch, gen_for);
-        
-        for_ch = CHILD(ch, 1);
-        t = ast_for_exprlist(c, for_ch, Store);
-        if (!t)
-            return NULL;
-        expression = ast_for_expr(c, CHILD(ch, 3));
-        if (!expression)
-            return NULL;
-
-        /* Check the # of children rather than the length of t, since
-           (x for x, in ...) has 1 element in t, but still requires a Tuple. */
-        if (NCH(for_ch) == 1)
-            ge = comprehension((expr_ty)asdl_seq_GET(t, 0), expression,
-                               NULL, c->c_arena);
-        else
-            ge = comprehension(Tuple(t, Store, LINENO(ch), ch->n_col_offset,
-                                     c->c_arena),
-                               expression, NULL, c->c_arena);
-
-        if (!ge)
-            return NULL;
-
-        if (NCH(ch) == 5) {
-            int j, n_ifs;
-            asdl_seq *ifs;
-            
-            ch = CHILD(ch, 4);
-            n_ifs = count_gen_ifs(ch);
-            if (n_ifs == -1)
-                return NULL;
-
-            ifs = asdl_seq_new(n_ifs, c->c_arena);
-            if (!ifs)
-                return NULL;
-
-            for (j = 0; j < n_ifs; j++) {
-                REQ(ch, gen_iter);
-                ch = CHILD(ch, 0);
-                REQ(ch, gen_if);
-                
-                expression = ast_for_expr(c, CHILD(ch, 1));
-                if (!expression)
-                    return NULL;
-                asdl_seq_SET(ifs, j, expression);
-                if (NCH(ch) == 3)
-                    ch = CHILD(ch, 2);
-            }
-            /* on exit, must guarantee that ch is a gen_for */
-            if (TYPE(ch) == gen_iter)
-                ch = CHILD(ch, 0);
-            ge->ifs = ifs;
-        }
-        asdl_seq_SET(genexps, i, ge);
+       comprehension_ty ge;
+       asdl_seq *t;
+       expr_ty expression;
+       node *for_ch;
+       
+       REQ(ch, gen_for);
+       
+       for_ch = CHILD(ch, 1);
+       t = ast_for_exprlist(c, for_ch, Store);
+       if (!t)
+           return NULL;
+       expression = ast_for_expr(c, CHILD(ch, 3));
+       if (!expression)
+           return NULL;
+
+       /* Check the # of children rather than the length of t, since
+          (x for x, in ...) has 1 element in t, but still requires a Tuple. */
+       if (NCH(for_ch) == 1)
+           ge = comprehension((expr_ty)asdl_seq_GET(t, 0), expression,
+                              NULL, c->c_arena);
+       else
+           ge = comprehension(Tuple(t, Store, LINENO(ch), ch->n_col_offset,
+                                    c->c_arena),
+                              expression, NULL, c->c_arena);
+
+       if (!ge)
+           return NULL;
+
+       if (NCH(ch) == 5) {
+           int j, n_ifs;
+           asdl_seq *ifs;
+           
+           ch = CHILD(ch, 4);
+           n_ifs = count_gen_ifs(ch);
+           if (n_ifs == -1)
+               return NULL;
+
+           ifs = asdl_seq_new(n_ifs, c->c_arena);
+           if (!ifs)
+               return NULL;
+
+           for (j = 0; j < n_ifs; j++) {
+               REQ(ch, gen_iter);
+               ch = CHILD(ch, 0);
+               REQ(ch, gen_if);
+               
+               expression = ast_for_expr(c, CHILD(ch, 1));
+               if (!expression)
+                   return NULL;
+               asdl_seq_SET(ifs, j, expression);
+               if (NCH(ch) == 3)
+                   ch = CHILD(ch, 2);
+           }
+           /* on exit, must guarantee that ch is a gen_for */
+           if (TYPE(ch) == gen_iter)
+               ch = CHILD(ch, 0);
+           ge->ifs = ifs;
+       }
+       asdl_seq_SET(genexps, i, ge);
     }
     
     return GeneratorExp(elt, genexps, LINENO(n), n->n_col_offset, c->c_arena);
@@ -1226,96 +1226,96 @@ ast_for_atom(struct compiling *c, const node *n)
     
     switch (TYPE(ch)) {
     case NAME:
-        /* All names start in Load context, but may later be
-           changed. */
-        return Name(NEW_IDENTIFIER(ch), Load, LINENO(n), n->n_col_offset, c->c_arena);
+       /* All names start in Load context, but may later be
+          changed. */
+       return Name(NEW_IDENTIFIER(ch), Load, LINENO(n), n->n_col_offset, c->c_arena);
     case STRING: {
-        PyObject *str = parsestrplus(c, n);
-        if (!str)
-            return NULL;
+       PyObject *str = parsestrplus(c, n);
+       if (!str)
+           return NULL;
 
-        PyArena_AddPyObject(c->c_arena, str);
-        return Str(str, LINENO(n), n->n_col_offset, c->c_arena);
+       PyArena_AddPyObject(c->c_arena, str);
+       return Str(str, LINENO(n), n->n_col_offset, c->c_arena);
     }
     case NUMBER: {
-        PyObject *pynum = parsenumber(STR(ch));
-        if (!pynum)
-            return NULL;
+       PyObject *pynum = parsenumber(STR(ch));
+       if (!pynum)
+           return NULL;
 
-        PyArena_AddPyObject(c->c_arena, pynum);
-        return Num(pynum, LINENO(n), n->n_col_offset, c->c_arena);
+       PyArena_AddPyObject(c->c_arena, pynum);
+       return Num(pynum, LINENO(n), n->n_col_offset, c->c_arena);
     }
     case LPAR: /* some parenthesized expressions */
-        ch = CHILD(n, 1);
-        
-        if (TYPE(ch) == RPAR)
-            return Tuple(NULL, Load, LINENO(n), n->n_col_offset, c->c_arena);
-        
-        if (TYPE(ch) == yield_expr)
-            return ast_for_expr(c, ch);
-        
-        if ((NCH(ch) > 1) && (TYPE(CHILD(ch, 1)) == gen_for))
-            return ast_for_genexp(c, ch);
-        
-        return ast_for_testlist_gexp(c, ch);
+       ch = CHILD(n, 1);
+       
+       if (TYPE(ch) == RPAR)
+           return Tuple(NULL, Load, LINENO(n), n->n_col_offset, c->c_arena);
+       
+       if (TYPE(ch) == yield_expr)
+           return ast_for_expr(c, ch);
+       
+       if ((NCH(ch) > 1) && (TYPE(CHILD(ch, 1)) == gen_for))
+           return ast_for_genexp(c, ch);
+       
+       return ast_for_testlist_gexp(c, ch);
     case LSQB: /* list (or list comprehension) */
-        ch = CHILD(n, 1);
-        
-        if (TYPE(ch) == RSQB)
-            return List(NULL, Load, LINENO(n), n->n_col_offset, c->c_arena);
-        
-        REQ(ch, listmaker);
-        if (NCH(ch) == 1 || TYPE(CHILD(ch, 1)) == COMMA) {
-            asdl_seq *elts = seq_for_testlist(c, ch);
-            if (!elts)
-                return NULL;
-
-            return List(elts, Load, LINENO(n), n->n_col_offset, c->c_arena);
-        }
-        else
-            return ast_for_listcomp(c, ch);
+       ch = CHILD(n, 1);
+       
+       if (TYPE(ch) == RSQB)
+           return List(NULL, Load, LINENO(n), n->n_col_offset, c->c_arena);
+       
+       REQ(ch, listmaker);
+       if (NCH(ch) == 1 || TYPE(CHILD(ch, 1)) == COMMA) {
+           asdl_seq *elts = seq_for_testlist(c, ch);
+           if (!elts)
+               return NULL;
+
+           return List(elts, Load, LINENO(n), n->n_col_offset, c->c_arena);
+       }
+       else
+           return ast_for_listcomp(c, ch);
     case LBRACE: {
-        /* dictmaker: test ':' test (',' test ':' test)* [','] */
-        int i, size;
-        asdl_seq *keys, *values;
-        
-        ch = CHILD(n, 1);
-        size = (NCH(ch) + 1) / 4; /* +1 in case no trailing comma */
-        keys = asdl_seq_new(size, c->c_arena);
-        if (!keys)
-            return NULL;
-        
-        values = asdl_seq_new(size, c->c_arena);
-        if (!values)
-            return NULL;
-        
-        for (i = 0; i < NCH(ch); i += 4) {
-            expr_ty expression;
-            
-            expression = ast_for_expr(c, CHILD(ch, i));
-            if (!expression)
-                return NULL;
-
-            asdl_seq_SET(keys, i / 4, expression);
-
-            expression = ast_for_expr(c, CHILD(ch, i + 2));
-            if (!expression)
-                return NULL;
-
-            asdl_seq_SET(values, i / 4, expression);
-        }
-        return Dict(keys, values, LINENO(n), n->n_col_offset, c->c_arena);
+       /* dictmaker: test ':' test (',' test ':' test)* [','] */
+       int i, size;
+       asdl_seq *keys, *values;
+       
+       ch = CHILD(n, 1);
+       size = (NCH(ch) + 1) / 4; /* +1 in case no trailing comma */
+       keys = asdl_seq_new(size, c->c_arena);
+       if (!keys)
+           return NULL;
+       
+       values = asdl_seq_new(size, c->c_arena);
+       if (!values)
+           return NULL;
+       
+       for (i = 0; i < NCH(ch); i += 4) {
+           expr_ty expression;
+           
+           expression = ast_for_expr(c, CHILD(ch, i));
+           if (!expression)
+               return NULL;
+
+           asdl_seq_SET(keys, i / 4, expression);
+
+           expression = ast_for_expr(c, CHILD(ch, i + 2));
+           if (!expression)
+               return NULL;
+
+           asdl_seq_SET(values, i / 4, expression);
+       }
+       return Dict(keys, values, LINENO(n), n->n_col_offset, c->c_arena);
     }
     case BACKQUOTE: { /* repr */
-        expr_ty expression = ast_for_testlist(c, CHILD(n, 1));
-        if (!expression)
-            return NULL;
+       expr_ty expression = ast_for_testlist(c, CHILD(n, 1));
+       if (!expression)
+           return NULL;
 
-        return Repr(expression, LINENO(n), n->n_col_offset, c->c_arena);
+       return Repr(expression, LINENO(n), n->n_col_offset, c->c_arena);
     }
     default:
-        PyErr_Format(PyExc_SystemError, "unhandled atom %d", TYPE(ch));
-        return NULL;
+       PyErr_Format(PyExc_SystemError, "unhandled atom %d", TYPE(ch));
+       return NULL;
     }
 }
 
@@ -1333,62 +1333,62 @@ ast_for_slice(struct compiling *c, const node *n)
     */
     ch = CHILD(n, 0);
     if (TYPE(ch) == DOT)
-        return Ellipsis(c->c_arena);
+       return Ellipsis(c->c_arena);
 
     if (NCH(n) == 1 && TYPE(ch) == test) {
-        /* 'step' variable hold no significance in terms of being used over
-           other vars */
-        step = ast_for_expr(c, ch); 
-        if (!step)
-            return NULL;
-            
-        return Index(step, c->c_arena);
+       /* 'step' variable hold no significance in terms of being used over
+          other vars */
+       step = ast_for_expr(c, ch); 
+       if (!step)
+           return NULL;
+           
+       return Index(step, c->c_arena);
     }
 
     if (TYPE(ch) == test) {
-        lower = ast_for_expr(c, ch);
-        if (!lower)
-            return NULL;
+       lower = ast_for_expr(c, ch);
+       if (!lower)
+           return NULL;
     }
 
     /* If there's an upper bound it's in the second or third position. */
     if (TYPE(ch) == COLON) {
-        if (NCH(n) > 1) {
-            node *n2 = CHILD(n, 1);
-
-            if (TYPE(n2) == test) {
-                upper = ast_for_expr(c, n2);
-                if (!upper)
-                    return NULL;
-            }
-        }
+       if (NCH(n) > 1) {
+           node *n2 = CHILD(n, 1);
+
+           if (TYPE(n2) == test) {
+               upper = ast_for_expr(c, n2);
+               if (!upper)
+                   return NULL;
+           }
+       }
     } else if (NCH(n) > 2) {
-        node *n2 = CHILD(n, 2);
+       node *n2 = CHILD(n, 2);
 
-        if (TYPE(n2) == test) {
-            upper = ast_for_expr(c, n2);
-            if (!upper)
-                return NULL;
-        }
+       if (TYPE(n2) == test) {
+           upper = ast_for_expr(c, n2);
+           if (!upper)
+               return NULL;
+       }
     }
 
     ch = CHILD(n, NCH(n) - 1);
     if (TYPE(ch) == sliceop) {
-        if (NCH(ch) == 1) {
-            /* No expression, so step is None */
-            ch = CHILD(ch, 0);
-            step = Name(new_identifier("None", c->c_arena), Load,
-                        LINENO(ch), ch->n_col_offset, c->c_arena);
-            if (!step)
-                return NULL;
-        } else {
-            ch = CHILD(ch, 1);
-            if (TYPE(ch) == test) {
-                step = ast_for_expr(c, ch);
-                if (!step)
-                    return NULL;
-            }
-        }
+       if (NCH(ch) == 1) {
+           /* No expression, so step is None */
+           ch = CHILD(ch, 0);
+           step = Name(new_identifier("None", c->c_arena), Load,
+                       LINENO(ch), ch->n_col_offset, c->c_arena);
+           if (!step)
+               return NULL;
+       } else {
+           ch = CHILD(ch, 1);
+           if (TYPE(ch) == test) {
+               step = ast_for_expr(c, ch);
+               if (!step)
+                   return NULL;
+           }
+       }
     }
 
     return Slice(lower, upper, step, c->c_arena);
@@ -1397,53 +1397,53 @@ ast_for_slice(struct compiling *c, const node *n)
 static expr_ty
 ast_for_binop(struct compiling *c, const node *n)
 {
-        /* Must account for a sequence of expressions.
-           How should A op B op C by represented?  
-           BinOp(BinOp(A, op, B), op, C).
-        */
-
-        int i, nops;
-        expr_ty expr1, expr2, result;
-        operator_ty newoperator;
-
-        expr1 = ast_for_expr(c, CHILD(n, 0));
-        if (!expr1)
-            return NULL;
-
-        expr2 = ast_for_expr(c, CHILD(n, 2));
-        if (!expr2)
-            return NULL;
-
-        newoperator = get_operator(CHILD(n, 1));
-        if (!newoperator)
-            return NULL;
-
-        result = BinOp(expr1, newoperator, expr2, LINENO(n), n->n_col_offset,
-                       c->c_arena);
-        if (!result)
-            return NULL;
-
-        nops = (NCH(n) - 1) / 2;
-        for (i = 1; i < nops; i++) {
-                expr_ty tmp_result, tmp;
-                const node* next_oper = CHILD(n, i * 2 + 1);
-
-                newoperator = get_operator(next_oper);
-                if (!newoperator)
-                    return NULL;
-
-                tmp = ast_for_expr(c, CHILD(n, i * 2 + 2));
-                if (!tmp)
-                    return NULL;
-
-                tmp_result = BinOp(result, newoperator, tmp, 
-                                   LINENO(next_oper), next_oper->n_col_offset,
-                                   c->c_arena);
-                if (!tmp) 
-                        return NULL;
-                result = tmp_result;
-        }
-        return result;
+       /* Must account for a sequence of expressions.
+          How should A op B op C by represented?  
+          BinOp(BinOp(A, op, B), op, C).
+       */
+
+       int i, nops;
+       expr_ty expr1, expr2, result;
+       operator_ty newoperator;
+
+       expr1 = ast_for_expr(c, CHILD(n, 0));
+       if (!expr1)
+           return NULL;
+
+       expr2 = ast_for_expr(c, CHILD(n, 2));
+       if (!expr2)
+           return NULL;
+
+       newoperator = get_operator(CHILD(n, 1));
+       if (!newoperator)
+           return NULL;
+
+       result = BinOp(expr1, newoperator, expr2, LINENO(n), n->n_col_offset,
+                      c->c_arena);
+       if (!result)
+           return NULL;
+
+       nops = (NCH(n) - 1) / 2;
+       for (i = 1; i < nops; i++) {
+               expr_ty tmp_result, tmp;
+               const node* next_oper = CHILD(n, i * 2 + 1);
+
+               newoperator = get_operator(next_oper);
+               if (!newoperator)
+                   return NULL;
+
+               tmp = ast_for_expr(c, CHILD(n, i * 2 + 2));
+               if (!tmp)
+                   return NULL;
+
+               tmp_result = BinOp(result, newoperator, tmp, 
+                                  LINENO(next_oper), next_oper->n_col_offset,
+                                  c->c_arena);
+               if (!tmp) 
+                       return NULL;
+               result = tmp_result;
+       }
+       return result;
 }
 
 static expr_ty
@@ -1455,67 +1455,67 @@ ast_for_trailer(struct compiling *c, const node *n, expr_ty left_expr)
      */
     REQ(n, trailer);
     if (TYPE(CHILD(n, 0)) == LPAR) {
-        if (NCH(n) == 2)
-            return Call(left_expr, NULL, NULL, NULL, NULL, LINENO(n),
-                        n->n_col_offset, c->c_arena);
-        else
-            return ast_for_call(c, CHILD(n, 1), left_expr);
+       if (NCH(n) == 2)
+           return Call(left_expr, NULL, NULL, NULL, NULL, LINENO(n),
+                       n->n_col_offset, c->c_arena);
+       else
+           return ast_for_call(c, CHILD(n, 1), left_expr);
     }
     else if (TYPE(CHILD(n, 0)) == DOT ) {
-        return Attribute(left_expr, NEW_IDENTIFIER(CHILD(n, 1)), Load,
-                         LINENO(n), n->n_col_offset, c->c_arena);
+       return Attribute(left_expr, NEW_IDENTIFIER(CHILD(n, 1)), Load,
+                        LINENO(n), n->n_col_offset, c->c_arena);
     }
     else {
-        REQ(CHILD(n, 0), LSQB);
-        REQ(CHILD(n, 2), RSQB);
-        n = CHILD(n, 1);
-        if (NCH(n) == 1) {
-            slice_ty slc = ast_for_slice(c, CHILD(n, 0));
-            if (!slc)
-                return NULL;
-            return Subscript(left_expr, slc, Load, LINENO(n), n->n_col_offset,
-                             c->c_arena);
-        }
-        else {
-            /* The grammar is ambiguous here. The ambiguity is resolved 
-               by treating the sequence as a tuple literal if there are
-               no slice features.
-            */
-            int j;
-            slice_ty slc;
-            expr_ty e;
-            bool simple = true;
-            asdl_seq *slices, *elts;
-            slices = asdl_seq_new((NCH(n) + 1) / 2, c->c_arena);
-            if (!slices)
-                return NULL;
-            for (j = 0; j < NCH(n); j += 2) {
-                slc = ast_for_slice(c, CHILD(n, j));
-                if (!slc)
-                    return NULL;
-                if (slc->kind != Index_kind)
-                    simple = false;
-                asdl_seq_SET(slices, j / 2, slc);
-            }
-            if (!simple) {
-                return Subscript(left_expr, ExtSlice(slices, c->c_arena),
-                                 Load, LINENO(n), n->n_col_offset, c->c_arena);
-            }
-            /* extract Index values and put them in a Tuple */
-            elts = asdl_seq_new(asdl_seq_LEN(slices), c->c_arena);
-            if (!elts)
-                return NULL;
-            for (j = 0; j < asdl_seq_LEN(slices); ++j) {
-                slc = (slice_ty)asdl_seq_GET(slices, j);
-                assert(slc->kind == Index_kind  && slc->v.Index.value);
-                asdl_seq_SET(elts, j, slc->v.Index.value);
-            }
-            e = Tuple(elts, Load, LINENO(n), n->n_col_offset, c->c_arena);
-            if (!e)
-                return NULL;
-            return Subscript(left_expr, Index(e, c->c_arena),
-                             Load, LINENO(n), n->n_col_offset, c->c_arena);
-        }
+       REQ(CHILD(n, 0), LSQB);
+       REQ(CHILD(n, 2), RSQB);
+       n = CHILD(n, 1);
+       if (NCH(n) == 1) {
+           slice_ty slc = ast_for_slice(c, CHILD(n, 0));
+           if (!slc)
+               return NULL;
+           return Subscript(left_expr, slc, Load, LINENO(n), n->n_col_offset,
+                            c->c_arena);
+       }
+       else {
+           /* The grammar is ambiguous here. The ambiguity is resolved 
+              by treating the sequence as a tuple literal if there are
+              no slice features.
+           */
+           int j;
+           slice_ty slc;
+           expr_ty e;
+           bool simple = true;
+           asdl_seq *slices, *elts;
+           slices = asdl_seq_new((NCH(n) + 1) / 2, c->c_arena);
+           if (!slices)
+               return NULL;
+           for (j = 0; j < NCH(n); j += 2) {
+               slc = ast_for_slice(c, CHILD(n, j));
+               if (!slc)
+                   return NULL;
+               if (slc->kind != Index_kind)
+                   simple = false;
+               asdl_seq_SET(slices, j / 2, slc);
+           }
+           if (!simple) {
+               return Subscript(left_expr, ExtSlice(slices, c->c_arena),
+                                Load, LINENO(n), n->n_col_offset, c->c_arena);
+           }
+           /* extract Index values and put them in a Tuple */
+           elts = asdl_seq_new(asdl_seq_LEN(slices), c->c_arena);
+           if (!elts)
+               return NULL;
+           for (j = 0; j < asdl_seq_LEN(slices); ++j) {
+               slc = (slice_ty)asdl_seq_GET(slices, j);
+               assert(slc->kind == Index_kind  && slc->v.Index.value);
+               asdl_seq_SET(elts, j, slc->v.Index.value);
+           }
+           e = Tuple(elts, Load, LINENO(n), n->n_col_offset, c->c_arena);
+           if (!e)
+               return NULL;
+           return Subscript(left_expr, Index(e, c->c_arena),
+                            Load, LINENO(n), n->n_col_offset, c->c_arena);
+       }
     }
 }
 
@@ -1526,47 +1526,47 @@ ast_for_factor(struct compiling *c, const node *n)
     expr_ty expression;
 
     /* If the unary - operator is applied to a constant, don't generate
-       a UNARY_NEGATIVE opcode.  Just store the approriate value as a
+       a UNARY_NEGATIVE opcode.         Just store the approriate value as a
        constant.  The peephole optimizer already does something like
        this but it doesn't handle the case where the constant is
        (sys.maxint - 1).  In that case, we want a PyIntObject, not a
        PyLongObject.
     */
     if (TYPE(CHILD(n, 0)) == MINUS
-        && NCH(n) == 2
-        && TYPE((pfactor = CHILD(n, 1))) == factor
-        && NCH(pfactor) == 1
-        && TYPE((ppower = CHILD(pfactor, 0))) == power
-        && NCH(ppower) == 1
-        && TYPE((patom = CHILD(ppower, 0))) == atom
-        && TYPE((pnum = CHILD(patom, 0))) == NUMBER) {
-        char *s = PyObject_MALLOC(strlen(STR(pnum)) + 2);
-        if (s == NULL)
-            return NULL;
-        s[0] = '-';
-        strcpy(s + 1, STR(pnum));
-        PyObject_FREE(STR(pnum));
-        STR(pnum) = s;
-        return ast_for_atom(c, patom);
+       && NCH(n) == 2
+       && TYPE((pfactor = CHILD(n, 1))) == factor
+       && NCH(pfactor) == 1
+       && TYPE((ppower = CHILD(pfactor, 0))) == power
+       && NCH(ppower) == 1
+       && TYPE((patom = CHILD(ppower, 0))) == atom
+       && TYPE((pnum = CHILD(patom, 0))) == NUMBER) {
+       char *s = PyObject_MALLOC(strlen(STR(pnum)) + 2);
+       if (s == NULL)
+           return NULL;
+       s[0] = '-';
+       strcpy(s + 1, STR(pnum));
+       PyObject_FREE(STR(pnum));
+       STR(pnum) = s;
+       return ast_for_atom(c, patom);
     }
 
     expression = ast_for_expr(c, CHILD(n, 1));
     if (!expression)
-        return NULL;
+       return NULL;
 
     switch (TYPE(CHILD(n, 0))) {
-        case PLUS:
-            return UnaryOp(UAdd, expression, LINENO(n), n->n_col_offset,
-                           c->c_arena);
-        case MINUS:
-            return UnaryOp(USub, expression, LINENO(n), n->n_col_offset,
-                           c->c_arena);
-        case TILDE:
-            return UnaryOp(Invert, expression, LINENO(n),
-                           n->n_col_offset, c->c_arena);
+       case PLUS:
+           return UnaryOp(UAdd, expression, LINENO(n), n->n_col_offset,
+                          c->c_arena);
+       case MINUS:
+           return UnaryOp(USub, expression, LINENO(n), n->n_col_offset,
+                          c->c_arena);
+       case TILDE:
+           return UnaryOp(Invert, expression, LINENO(n),
+                          n->n_col_offset, c->c_arena);
     }
     PyErr_Format(PyExc_SystemError, "unhandled factor: %d",
-                 TYPE(CHILD(n, 0)));
+                TYPE(CHILD(n, 0)));
     return NULL;
 }
 
@@ -1580,28 +1580,28 @@ ast_for_power(struct compiling *c, const node *n)
     REQ(n, power);
     e = ast_for_atom(c, CHILD(n, 0));
     if (!e)
-        return NULL;
+       return NULL;
     if (NCH(n) == 1)
-        return e;
+       return e;
     for (i = 1; i < NCH(n); i++) {
-        node *ch = CHILD(n, i);
-        if (TYPE(ch) != trailer)
-            break;
-        tmp = ast_for_trailer(c, ch, e);
-        if (!tmp)
-            return NULL;
-        tmp->lineno = e->lineno;
-        tmp->col_offset = e->col_offset;
-        e = tmp;
+       node *ch = CHILD(n, i);
+       if (TYPE(ch) != trailer)
+           break;
+       tmp = ast_for_trailer(c, ch, e);
+       if (!tmp)
+           return NULL;
+       tmp->lineno = e->lineno;
+       tmp->col_offset = e->col_offset;
+       e = tmp;
     }
     if (TYPE(CHILD(n, NCH(n) - 1)) == factor) {
-        expr_ty f = ast_for_expr(c, CHILD(n, NCH(n) - 1));
-        if (!f)
-            return NULL;
-        tmp = BinOp(e, Pow, f, LINENO(n), n->n_col_offset, c->c_arena);
-        if (!tmp)
-            return NULL;
-        e = tmp;
+       expr_ty f = ast_for_expr(c, CHILD(n, NCH(n) - 1));
+       if (!f)
+           return NULL;
+       tmp = BinOp(e, Pow, f, LINENO(n), n->n_col_offset, c->c_arena);
+       if (!tmp)
+           return NULL;
+       e = tmp;
     }
     return e;
 }
@@ -1642,124 +1642,124 @@ ast_for_expr(struct compiling *c, const node *n)
 
  loop:
     switch (TYPE(n)) {
-        case test:
-        case old_test:
-            if (TYPE(CHILD(n, 0)) == lambdef ||
-                TYPE(CHILD(n, 0)) == old_lambdef)
-                return ast_for_lambdef(c, CHILD(n, 0));
-            else if (NCH(n) > 1)
-                return ast_for_ifexpr(c, n);
-            /* Fallthrough */
-        case or_test:
-        case and_test:
-            if (NCH(n) == 1) {
-                n = CHILD(n, 0);
-                goto loop;
-            }
-            seq = asdl_seq_new((NCH(n) + 1) / 2, c->c_arena);
-            if (!seq)
-                return NULL;
-            for (i = 0; i < NCH(n); i += 2) {
-                expr_ty e = ast_for_expr(c, CHILD(n, i));
-                if (!e)
-                    return NULL;
-                asdl_seq_SET(seq, i / 2, e);
-            }
-            if (!strcmp(STR(CHILD(n, 1)), "and"))
-                return BoolOp(And, seq, LINENO(n), n->n_col_offset,
-                              c->c_arena);
-            assert(!strcmp(STR(CHILD(n, 1)), "or"));
-            return BoolOp(Or, seq, LINENO(n), n->n_col_offset, c->c_arena);
-        case not_test:
-            if (NCH(n) == 1) {
-                n = CHILD(n, 0);
-                goto loop;
-            }
-            else {
-                expr_ty expression = ast_for_expr(c, CHILD(n, 1));
-                if (!expression)
-                    return NULL;
-
-                return UnaryOp(Not, expression, LINENO(n), n->n_col_offset,
-                               c->c_arena);
-            }
-        case comparison:
-            if (NCH(n) == 1) {
-                n = CHILD(n, 0);
-                goto loop;
-            }
-            else {
-                expr_ty expression;
-                asdl_int_seq *ops;
-                asdl_seq *cmps;
-                ops = asdl_int_seq_new(NCH(n) / 2, c->c_arena);
-                if (!ops)
-                    return NULL;
-                cmps = asdl_seq_new(NCH(n) / 2, c->c_arena);
-                if (!cmps) {
-                    return NULL;
-                }
-                for (i = 1; i < NCH(n); i += 2) {
-                    cmpop_ty newoperator;
-
-                    newoperator = ast_for_comp_op(CHILD(n, i));
-                    if (!newoperator) {
-                        return NULL;
-                    }
-
-                    expression = ast_for_expr(c, CHILD(n, i + 1));
-                    if (!expression) {
-                        return NULL;
-                    }
-                        
-                    asdl_seq_SET(ops, i / 2, newoperator);
-                    asdl_seq_SET(cmps, i / 2, expression);
-                }
-                expression = ast_for_expr(c, CHILD(n, 0));
-                if (!expression) {
-                    return NULL;
-                }
-                    
-                return Compare(expression, ops, cmps, LINENO(n),
-                               n->n_col_offset, c->c_arena);
-            }
-            break;
-
-        /* The next five cases all handle BinOps.  The main body of code
-           is the same in each case, but the switch turned inside out to
-           reuse the code for each type of operator.
-         */
-        case expr:
-        case xor_expr:
-        case and_expr:
-        case shift_expr:
-        case arith_expr:
-        case term:
-            if (NCH(n) == 1) {
-                n = CHILD(n, 0);
-                goto loop;
-            }
-            return ast_for_binop(c, n);
-        case yield_expr: {
-            expr_ty exp = NULL;
-            if (NCH(n) == 2) {
-                exp = ast_for_testlist(c, CHILD(n, 1));
-                if (!exp)
-                    return NULL;
-            }
-            return Yield(exp, LINENO(n), n->n_col_offset, c->c_arena);
-        }
-        case factor:
-            if (NCH(n) == 1) {
-                n = CHILD(n, 0);
-                goto loop;
-            }
-            return ast_for_factor(c, n);
-        case power:
-            return ast_for_power(c, n);
-        default:
-            PyErr_Format(PyExc_SystemError, "unhandled expr: %d", TYPE(n));
-            return NULL;
+       case test:
+       case old_test:
+           if (TYPE(CHILD(n, 0)) == lambdef ||
+               TYPE(CHILD(n, 0)) == old_lambdef)
+               return ast_for_lambdef(c, CHILD(n, 0));
+           else if (NCH(n) > 1)
+               return ast_for_ifexpr(c, n);
+           /* Fallthrough */
+       case or_test:
+       case and_test:
+           if (NCH(n) == 1) {
+               n = CHILD(n, 0);
+               goto loop;
+           }
+           seq = asdl_seq_new((NCH(n) + 1) / 2, c->c_arena);
+           if (!seq)
+               return NULL;
+           for (i = 0; i < NCH(n); i += 2) {
+               expr_ty e = ast_for_expr(c, CHILD(n, i));
+               if (!e)
+                   return NULL;
+               asdl_seq_SET(seq, i / 2, e);
+           }
+           if (!strcmp(STR(CHILD(n, 1)), "and"))
+               return BoolOp(And, seq, LINENO(n), n->n_col_offset,
+                             c->c_arena);
+           assert(!strcmp(STR(CHILD(n, 1)), "or"));
+           return BoolOp(Or, seq, LINENO(n), n->n_col_offset, c->c_arena);
+       case not_test:
+           if (NCH(n) == 1) {
+               n = CHILD(n, 0);
+               goto loop;
+           }
+           else {
+               expr_ty expression = ast_for_expr(c, CHILD(n, 1));
+               if (!expression)
+                   return NULL;
+
+               return UnaryOp(Not, expression, LINENO(n), n->n_col_offset,
+                              c->c_arena);
+           }
+       case comparison:
+           if (NCH(n) == 1) {
+               n = CHILD(n, 0);
+               goto loop;
+           }
+           else {
+               expr_ty expression;
+               asdl_int_seq *ops;
+               asdl_seq *cmps;
+               ops = asdl_int_seq_new(NCH(n) / 2, c->c_arena);
+               if (!ops)
+                   return NULL;
+               cmps = asdl_seq_new(NCH(n) / 2, c->c_arena);
+               if (!cmps) {
+                   return NULL;
+               }
+               for (i = 1; i < NCH(n); i += 2) {
+                   cmpop_ty newoperator;
+
+                   newoperator = ast_for_comp_op(CHILD(n, i));
+                   if (!newoperator) {
+                       return NULL;
+                   }
+
+                   expression = ast_for_expr(c, CHILD(n, i + 1));
+                   if (!expression) {
+                       return NULL;
+                   }
+                       
+                   asdl_seq_SET(ops, i / 2, newoperator);
+                   asdl_seq_SET(cmps, i / 2, expression);
+               }
+               expression = ast_for_expr(c, CHILD(n, 0));
+               if (!expression) {
+                   return NULL;
+               }
+                   
+               return Compare(expression, ops, cmps, LINENO(n),
+                              n->n_col_offset, c->c_arena);
+           }
+           break;
+
+       /* The next five cases all handle BinOps.  The main body of code
+          is the same in each case, but the switch turned inside out to
+          reuse the code for each type of operator.
+        */
+       case expr:
+       case xor_expr:
+       case and_expr:
+       case shift_expr:
+       case arith_expr:
+       case term:
+           if (NCH(n) == 1) {
+               n = CHILD(n, 0);
+               goto loop;
+           }
+           return ast_for_binop(c, n);
+       case yield_expr: {
+           expr_ty exp = NULL;
+           if (NCH(n) == 2) {
+               exp = ast_for_testlist(c, CHILD(n, 1));
+               if (!exp)
+                   return NULL;
+           }
+           return Yield(exp, LINENO(n), n->n_col_offset, c->c_arena);
+       }
+       case factor:
+           if (NCH(n) == 1) {
+               n = CHILD(n, 0);
+               goto loop;
+           }
+           return ast_for_factor(c, n);
+       case power:
+           return ast_for_power(c, n);
+       default:
+           PyErr_Format(PyExc_SystemError, "unhandled expr: %d", TYPE(n));
+           return NULL;
     }
     /* should never get here unless if error is set */
     return NULL;
@@ -1770,8 +1770,8 @@ ast_for_call(struct compiling *c, const node *n, expr_ty func)
 {
     /*
       arglist: (argument ',')* (argument [',']| '*' test [',' '**' test]
-               | '**' test)
-      argument: [test '='] test [gen_for]        # Really [keyword '='] test
+              | '**' test)
+      argument: [test '='] test [gen_for]       # Really [keyword '='] test
     */
 
     int i, nargs, nkeywords, ngens;
@@ -1785,20 +1785,20 @@ ast_for_call(struct compiling *c, const node *n, expr_ty func)
     nkeywords = 0;
     ngens = 0;
     for (i = 0; i < NCH(n); i++) {
-        node *ch = CHILD(n, i);
-        if (TYPE(ch) == argument) {
-            if (NCH(ch) == 1)
-                nargs++;
-            else if (TYPE(CHILD(ch, 1)) == gen_for)
-                ngens++;
-            else
-                nkeywords++;
-        }
+       node *ch = CHILD(n, i);
+       if (TYPE(ch) == argument) {
+           if (NCH(ch) == 1)
+               nargs++;
+           else if (TYPE(CHILD(ch, 1)) == gen_for)
+               ngens++;
+           else
+               nkeywords++;
+       }
     }
     if (ngens > 1 || (ngens && (nargs || nkeywords))) {
-        ast_error(n, "Generator expression must be parenthesized "
-                  "if not sole argument");
-        return NULL;
+       ast_error(n, "Generator expression must be parenthesized "
+                 "if not sole argument");
+       return NULL;
     }
 
     if (nargs + nkeywords + ngens > 255) {
@@ -1808,71 +1808,71 @@ ast_for_call(struct compiling *c, const node *n, expr_ty func)
 
     args = asdl_seq_new(nargs + ngens, c->c_arena);
     if (!args)
-        return NULL;
+       return NULL;
     keywords = asdl_seq_new(nkeywords, c->c_arena);
     if (!keywords)
-        return NULL;
+       return NULL;
     nargs = 0;
     nkeywords = 0;
     for (i = 0; i < NCH(n); i++) {
-        node *ch = CHILD(n, i);
-        if (TYPE(ch) == argument) {
-            expr_ty e;
-            if (NCH(ch) == 1) {
-                if (nkeywords) {
-                    ast_error(CHILD(ch, 0),
-                              "non-keyword arg after keyword arg");
-                    return NULL;
-                }
-                e = ast_for_expr(c, CHILD(ch, 0));
-                if (!e)
-                    return NULL;
-                asdl_seq_SET(args, nargs++, e);
-            }  
-            else if (TYPE(CHILD(ch, 1)) == gen_for) {
-                e = ast_for_genexp(c, ch);
-                if (!e)
-                    return NULL;
-                asdl_seq_SET(args, nargs++, e);
-            }
-            else {
-                keyword_ty kw;
-                identifier key;
-
-                /* CHILD(ch, 0) is test, but must be an identifier? */ 
-                e = ast_for_expr(c, CHILD(ch, 0));
-                if (!e)
-                    return NULL;
-                /* f(lambda x: x[0] = 3) ends up getting parsed with
-                 * LHS test = lambda x: x[0], and RHS test = 3.
-                 * SF bug 132313 points out that complaining about a keyword
-                 * then is very confusing.
-                 */
-                if (e->kind == Lambda_kind) {
-                  ast_error(CHILD(ch, 0), "lambda cannot contain assignment");
-                  return NULL;
-                } else if (e->kind != Name_kind) {
-                  ast_error(CHILD(ch, 0), "keyword can't be an expression");
-                  return NULL;
-                }
-                key = e->v.Name.id;
-                e = ast_for_expr(c, CHILD(ch, 2));
-                if (!e)
-                    return NULL;
-                kw = keyword(key, e, c->c_arena);
-                if (!kw)
-                    return NULL;
-                asdl_seq_SET(keywords, nkeywords++, kw);
-            }
-        }
-        else if (TYPE(ch) == STAR) {
-            vararg = ast_for_expr(c, CHILD(n, i+1));
-            i++;
-        }
-        else if (TYPE(ch) == DOUBLESTAR) {
-            kwarg = ast_for_expr(c, CHILD(n, i+1));
-            i++;
-        }
+       node *ch = CHILD(n, i);
+       if (TYPE(ch) == argument) {
+           expr_ty e;
+           if (NCH(ch) == 1) {
+               if (nkeywords) {
+                   ast_error(CHILD(ch, 0),
+                             "non-keyword arg after keyword arg");
+                   return NULL;
+               }
+               e = ast_for_expr(c, CHILD(ch, 0));
+               if (!e)
+                   return NULL;
+               asdl_seq_SET(args, nargs++, e);
+           }  
+           else if (TYPE(CHILD(ch, 1)) == gen_for) {
+               e = ast_for_genexp(c, ch);
+               if (!e)
+                   return NULL;
+               asdl_seq_SET(args, nargs++, e);
+           }
+           else {
+               keyword_ty kw;
+               identifier key;
+
+               /* CHILD(ch, 0) is test, but must be an identifier? */ 
+               e = ast_for_expr(c, CHILD(ch, 0));
+               if (!e)
+                   return NULL;
+               /* f(lambda x: x[0] = 3) ends up getting parsed with
+                * LHS test = lambda x: x[0], and RHS test = 3.
+                * SF bug 132313 points out that complaining about a keyword
+                * then is very confusing.
+                */
+               if (e->kind == Lambda_kind) {
+                 ast_error(CHILD(ch, 0), "lambda cannot contain assignment");
+                 return NULL;
+               } else if (e->kind != Name_kind) {
+                 ast_error(CHILD(ch, 0), "keyword can't be an expression");
+                 return NULL;
+               }
+               key = e->v.Name.id;
+               e = ast_for_expr(c, CHILD(ch, 2));
+               if (!e)
+                   return NULL;
+               kw = keyword(key, e, c->c_arena);
+               if (!kw)
+                   return NULL;
+               asdl_seq_SET(keywords, nkeywords++, kw);
+           }
+       }
+       else if (TYPE(ch) == STAR) {
+           vararg = ast_for_expr(c, CHILD(n, i+1));
+           i++;
+       }
+       else if (TYPE(ch) == DOUBLESTAR) {
+           kwarg = ast_for_expr(c, CHILD(n, i+1));
+           i++;
+       }
     }
 
     return Call(func, args, keywords, vararg, kwarg, func->lineno, func->col_offset, c->c_arena);
@@ -1887,21 +1887,21 @@ ast_for_testlist(struct compiling *c, const node* n)
     /* testlist1: test (',' test)* */
     assert(NCH(n) > 0);
     if (TYPE(n) == testlist_gexp) {
-        if (NCH(n) > 1)
-            assert(TYPE(CHILD(n, 1)) != gen_for);
+       if (NCH(n) > 1)
+           assert(TYPE(CHILD(n, 1)) != gen_for);
     }
     else {
-        assert(TYPE(n) == testlist ||
-               TYPE(n) == testlist_safe ||
-               TYPE(n) == testlist1);
+       assert(TYPE(n) == testlist ||
+              TYPE(n) == testlist_safe ||
+              TYPE(n) == testlist1);
     }
     if (NCH(n) == 1)
-        return ast_for_expr(c, CHILD(n, 0));
+       return ast_for_expr(c, CHILD(n, 0));
     else {
-        asdl_seq *tmp = seq_for_testlist(c, n);
-        if (!tmp)
-            return NULL;
-        return Tuple(tmp, Load, LINENO(n), n->n_col_offset, c->c_arena);
+       asdl_seq *tmp = seq_for_testlist(c, n);
+       if (!tmp)
+           return NULL;
+       return Tuple(tmp, Load, LINENO(n), n->n_col_offset, c->c_arena);
     }
 }
 
@@ -1912,7 +1912,7 @@ ast_for_testlist_gexp(struct compiling *c, const node* n)
     /* argument: test [ gen_for ] */
     assert(TYPE(n) == testlist_gexp || TYPE(n) == argument);
     if (NCH(n) > 1 && TYPE(CHILD(n, 1)) == gen_for)
-        return ast_for_genexp(c, n);
+       return ast_for_genexp(c, n);
     return ast_for_testlist(c, n);
 }
 
@@ -1924,15 +1924,15 @@ ast_for_class_bases(struct compiling *c, const node* n)
     assert(NCH(n) > 0);
     REQ(n, testlist);
     if (NCH(n) == 1) {
-        expr_ty base;
-        asdl_seq *bases = asdl_seq_new(1, c->c_arena);
-        if (!bases)
-            return NULL;
-        base = ast_for_expr(c, CHILD(n, 0));
-        if (!base)
-            return NULL;
-        asdl_seq_SET(bases, 0, base);
-        return bases;
+       expr_ty base;
+       asdl_seq *bases = asdl_seq_new(1, c->c_arena);
+       if (!bases)
+           return NULL;
+       base = ast_for_expr(c, CHILD(n, 0));
+       if (!base)
+           return NULL;
+       asdl_seq_SET(bases, 0, base);
+       return bases;
     }
 
     return seq_for_testlist(c, n);
@@ -1943,107 +1943,107 @@ ast_for_expr_stmt(struct compiling *c, const node *n)
 {
     REQ(n, expr_stmt);
     /* expr_stmt: testlist (augassign (yield_expr|testlist) 
-                | ('=' (yield_expr|testlist))*)
+               | ('=' (yield_expr|testlist))*)
        testlist: test (',' test)* [',']
        augassign: '+=' | '-=' | '*=' | '/=' | '%=' | '&=' | '|=' | '^='
-                | '<<=' | '>>=' | '**=' | '//='
+               | '<<=' | '>>=' | '**=' | '//='
        test: ... here starts the operator precendence dance
      */
 
     if (NCH(n) == 1) {
-        expr_ty e = ast_for_testlist(c, CHILD(n, 0));
-        if (!e)
-            return NULL;
+       expr_ty e = ast_for_testlist(c, CHILD(n, 0));
+       if (!e)
+           return NULL;
 
-        return Expr(e, LINENO(n), n->n_col_offset, c->c_arena);
+       return Expr(e, LINENO(n), n->n_col_offset, c->c_arena);
     }
     else if (TYPE(CHILD(n, 1)) == augassign) {
-        expr_ty expr1, expr2;
-        operator_ty newoperator;
-        node *ch = CHILD(n, 0);
-
-        expr1 = ast_for_testlist(c, ch);
-        if (!expr1)
-            return NULL;
-        /* TODO(nas): Remove duplicated error checks (set_context does it) */
-        switch (expr1->kind) {
-            case GeneratorExp_kind:
-                ast_error(ch, "augmented assignment to generator "
-                          "expression not possible");
-                return NULL;
-            case Yield_kind:
-                ast_error(ch, "augmented assignment to yield "
-                          "expression not possible");
-                return NULL;
-            case Name_kind: {
-                const char *var_name = PyString_AS_STRING(expr1->v.Name.id);
-                if (var_name[0] == 'N' && !strcmp(var_name, "None")) {
-                    ast_error(ch, "assignment to None");
-                    return NULL;
-                }
-                break;
-            }
-            case Attribute_kind:
-            case Subscript_kind:
-                break;
-            default:
-                ast_error(ch, "illegal expression for augmented "
-                          "assignment");
-                return NULL;
-        }
-        set_context(expr1, Store, ch);
-
-        ch = CHILD(n, 2);
-        if (TYPE(ch) == testlist)
-            expr2 = ast_for_testlist(c, ch);
-        else
-            expr2 = ast_for_expr(c, ch);
-        if (!expr2)
-            return NULL;
-
-        newoperator = ast_for_augassign(CHILD(n, 1));
-        if (!newoperator)
-            return NULL;
-
-        return AugAssign(expr1, newoperator, expr2, LINENO(n), n->n_col_offset, c->c_arena);
+       expr_ty expr1, expr2;
+       operator_ty newoperator;
+       node *ch = CHILD(n, 0);
+
+       expr1 = ast_for_testlist(c, ch);
+       if (!expr1)
+           return NULL;
+       /* TODO(nas): Remove duplicated error checks (set_context does it) */
+       switch (expr1->kind) {
+           case GeneratorExp_kind:
+               ast_error(ch, "augmented assignment to generator "
+                         "expression not possible");
+               return NULL;
+           case Yield_kind:
+               ast_error(ch, "augmented assignment to yield "
+                         "expression not possible");
+               return NULL;
+           case Name_kind: {
+               const char *var_name = PyString_AS_STRING(expr1->v.Name.id);
+               if (var_name[0] == 'N' && !strcmp(var_name, "None")) {
+                   ast_error(ch, "assignment to None");
+                   return NULL;
+               }
+               break;
+           }
+           case Attribute_kind:
+           case Subscript_kind:
+               break;
+           default:
+               ast_error(ch, "illegal expression for augmented "
+                         "assignment");
+               return NULL;
+       }
+       set_context(expr1, Store, ch);
+
+       ch = CHILD(n, 2);
+       if (TYPE(ch) == testlist)
+           expr2 = ast_for_testlist(c, ch);
+       else
+           expr2 = ast_for_expr(c, ch);
+       if (!expr2)
+           return NULL;
+
+       newoperator = ast_for_augassign(CHILD(n, 1));
+       if (!newoperator)
+           return NULL;
+
+       return AugAssign(expr1, newoperator, expr2, LINENO(n), n->n_col_offset, c->c_arena);
     }
     else {
-        int i;
-        asdl_seq *targets;
-        node *value;
-        expr_ty expression;
-
-        /* a normal assignment */
-        REQ(CHILD(n, 1), EQUAL);
-        targets = asdl_seq_new(NCH(n) / 2, c->c_arena);
-        if (!targets)
-            return NULL;
-        for (i = 0; i < NCH(n) - 2; i += 2) {
-            expr_ty e;
-            node *ch = CHILD(n, i);
-            if (TYPE(ch) == yield_expr) {
-                ast_error(ch, "assignment to yield expression not possible");
-                return NULL;
-            }
-            e = ast_for_testlist(c, ch);
-
-            /* set context to assign */
-            if (!e) 
-              return NULL;
-
-            if (!set_context(e, Store, CHILD(n, i)))
-              return NULL;
-
-            asdl_seq_SET(targets, i / 2, e);
-        }
-        value = CHILD(n, NCH(n) - 1);
-        if (TYPE(value) == testlist)
-            expression = ast_for_testlist(c, value);
-        else
-            expression = ast_for_expr(c, value);
-        if (!expression)
-            return NULL;
-        return Assign(targets, expression, LINENO(n), n->n_col_offset, c->c_arena);
+       int i;
+       asdl_seq *targets;
+       node *value;
+       expr_ty expression;
+
+       /* a normal assignment */
+       REQ(CHILD(n, 1), EQUAL);
+       targets = asdl_seq_new(NCH(n) / 2, c->c_arena);
+       if (!targets)
+           return NULL;
+       for (i = 0; i < NCH(n) - 2; i += 2) {
+           expr_ty e;
+           node *ch = CHILD(n, i);
+           if (TYPE(ch) == yield_expr) {
+               ast_error(ch, "assignment to yield expression not possible");
+               return NULL;
+           }
+           e = ast_for_testlist(c, ch);
+
+           /* set context to assign */
+           if (!e) 
+             return NULL;
+
+           if (!set_context(e, Store, CHILD(n, i)))
+             return NULL;
+
+           asdl_seq_SET(targets, i / 2, e);
+       }
+       value = CHILD(n, NCH(n) - 1);
+       if (TYPE(value) == testlist)
+           expression = ast_for_testlist(c, value);
+       else
+           expression = ast_for_expr(c, value);
+       if (!expression)
+           return NULL;
+       return Assign(targets, expression, LINENO(n), n->n_col_offset, c->c_arena);
     }
 }
 
@@ -2051,7 +2051,7 @@ static stmt_ty
 ast_for_print_stmt(struct compiling *c, const node *n)
 {
     /* print_stmt: 'print' ( [ test (',' test)* [','] ]
-                             | '>>' test [ (',' test)+ [','] ] )
+                            | '>>' test [ (',' test)+ [','] ] )
      */
     expr_ty dest = NULL, expression;
     asdl_seq *seq;
@@ -2060,19 +2060,19 @@ ast_for_print_stmt(struct compiling *c, const node *n)
 
     REQ(n, print_stmt);
     if (NCH(n) >= 2 && TYPE(CHILD(n, 1)) == RIGHTSHIFT) {
-        dest = ast_for_expr(c, CHILD(n, 2));
-        if (!dest)
-            return NULL;
-            start = 4;
+       dest = ast_for_expr(c, CHILD(n, 2));
+       if (!dest)
+           return NULL;
+           start = 4;
     }
     seq = asdl_seq_new((NCH(n) + 1 - start) / 2, c->c_arena);
     if (!seq)
-        return NULL;
+       return NULL;
     for (i = start, j = 0; i < NCH(n); i += 2, ++j) {
-        expression = ast_for_expr(c, CHILD(n, i));
-        if (!expression)
-            return NULL;
-        asdl_seq_SET(seq, j, expression);
+       expression = ast_for_expr(c, CHILD(n, i));
+       if (!expression)
+           return NULL;
+       asdl_seq_SET(seq, j, expression);
     }
     nl = (TYPE(CHILD(n, NCH(n) - 1)) == COMMA) ? false : true;
     return Print(dest, seq, nl, LINENO(n), n->n_col_offset, c->c_arena);
@@ -2089,14 +2089,14 @@ ast_for_exprlist(struct compiling *c, const node *n, expr_context_ty context)
 
     seq = asdl_seq_new((NCH(n) + 1) / 2, c->c_arena);
     if (!seq)
-        return NULL;
+       return NULL;
     for (i = 0; i < NCH(n); i += 2) {
-        e = ast_for_expr(c, CHILD(n, i));
-        if (!e)
-            return NULL;
-        asdl_seq_SET(seq, i / 2, e);
-        if (context && !set_context(e, context, CHILD(n, i)))
-            return NULL;
+       e = ast_for_expr(c, CHILD(n, i));
+       if (!e)
+           return NULL;
+       asdl_seq_SET(seq, i / 2, e);
+       if (context && !set_context(e, context, CHILD(n, i)))
+           return NULL;
     }
     return seq;
 }
@@ -2111,7 +2111,7 @@ ast_for_del_stmt(struct compiling *c, const node *n)
 
     expr_list = ast_for_exprlist(c, CHILD(n, 1), Del);
     if (!expr_list)
-        return NULL;
+       return NULL;
     return Delete(expr_list, LINENO(n), n->n_col_offset, c->c_arena);
 }
 
@@ -2120,7 +2120,7 @@ ast_for_flow_stmt(struct compiling *c, const node *n)
 {
     /*
       flow_stmt: break_stmt | continue_stmt | return_stmt | raise_stmt
-                 | yield_stmt
+                | yield_stmt
       break_stmt: 'break'
       continue_stmt: 'continue'
       return_stmt: 'return' [testlist]
@@ -2133,65 +2133,65 @@ ast_for_flow_stmt(struct compiling *c, const node *n)
     REQ(n, flow_stmt);
     ch = CHILD(n, 0);
     switch (TYPE(ch)) {
-        case break_stmt:
-            return Break(LINENO(n), n->n_col_offset, c->c_arena);
-        case continue_stmt:
-            return Continue(LINENO(n), n->n_col_offset, c->c_arena);
-        case yield_stmt: { /* will reduce to yield_expr */
-            expr_ty exp = ast_for_expr(c, CHILD(ch, 0));
-            if (!exp)
-                return NULL;
-            return Expr(exp, LINENO(n), n->n_col_offset, c->c_arena);
-        }
-        case return_stmt:
-            if (NCH(ch) == 1)
-                return Return(NULL, LINENO(n), n->n_col_offset, c->c_arena);
-            else {
-                expr_ty expression = ast_for_testlist(c, CHILD(ch, 1));
-                if (!expression)
-                    return NULL;
-                return Return(expression, LINENO(n), n->n_col_offset, c->c_arena);
-            }
-        case raise_stmt:
-            if (NCH(ch) == 1)
-                return Raise(NULL, NULL, NULL, LINENO(n), n->n_col_offset, c->c_arena);
-            else if (NCH(ch) == 2) {
-                expr_ty expression = ast_for_expr(c, CHILD(ch, 1));
-                if (!expression)
-                    return NULL;
-                return Raise(expression, NULL, NULL, LINENO(n), n->n_col_offset, c->c_arena);
-            }
-            else if (NCH(ch) == 4) {
-                expr_ty expr1, expr2;
-
-                expr1 = ast_for_expr(c, CHILD(ch, 1));
-                if (!expr1)
-                    return NULL;
-                expr2 = ast_for_expr(c, CHILD(ch, 3));
-                if (!expr2)
-                    return NULL;
-
-                return Raise(expr1, expr2, NULL, LINENO(n), n->n_col_offset, c->c_arena);
-            }
-            else if (NCH(ch) == 6) {
-                expr_ty expr1, expr2, expr3;
-
-                expr1 = ast_for_expr(c, CHILD(ch, 1));
-                if (!expr1)
-                    return NULL;
-                expr2 = ast_for_expr(c, CHILD(ch, 3));
-                if (!expr2)
-                    return NULL;
-                expr3 = ast_for_expr(c, CHILD(ch, 5));
-                if (!expr3)
-                    return NULL;
-                    
-                return Raise(expr1, expr2, expr3, LINENO(n), n->n_col_offset, c->c_arena);
-            }
-        default:
-            PyErr_Format(PyExc_SystemError,
-                         "unexpected flow_stmt: %d", TYPE(ch));
-            return NULL;
+       case break_stmt:
+           return Break(LINENO(n), n->n_col_offset, c->c_arena);
+       case continue_stmt:
+           return Continue(LINENO(n), n->n_col_offset, c->c_arena);
+       case yield_stmt: { /* will reduce to yield_expr */
+           expr_ty exp = ast_for_expr(c, CHILD(ch, 0));
+           if (!exp)
+               return NULL;
+           return Expr(exp, LINENO(n), n->n_col_offset, c->c_arena);
+       }
+       case return_stmt:
+           if (NCH(ch) == 1)
+               return Return(NULL, LINENO(n), n->n_col_offset, c->c_arena);
+           else {
+               expr_ty expression = ast_for_testlist(c, CHILD(ch, 1));
+               if (!expression)
+                   return NULL;
+               return Return(expression, LINENO(n), n->n_col_offset, c->c_arena);
+           }
+       case raise_stmt:
+           if (NCH(ch) == 1)
+               return Raise(NULL, NULL, NULL, LINENO(n), n->n_col_offset, c->c_arena);
+           else if (NCH(ch) == 2) {
+               expr_ty expression = ast_for_expr(c, CHILD(ch, 1));
+               if (!expression)
+                   return NULL;
+               return Raise(expression, NULL, NULL, LINENO(n), n->n_col_offset, c->c_arena);
+           }
+           else if (NCH(ch) == 4) {
+               expr_ty expr1, expr2;
+
+               expr1 = ast_for_expr(c, CHILD(ch, 1));
+               if (!expr1)
+                   return NULL;
+               expr2 = ast_for_expr(c, CHILD(ch, 3));
+               if (!expr2)
+                   return NULL;
+
+               return Raise(expr1, expr2, NULL, LINENO(n), n->n_col_offset, c->c_arena);
+           }
+           else if (NCH(ch) == 6) {
+               expr_ty expr1, expr2, expr3;
+
+               expr1 = ast_for_expr(c, CHILD(ch, 1));
+               if (!expr1)
+                   return NULL;
+               expr2 = ast_for_expr(c, CHILD(ch, 3));
+               if (!expr2)
+                   return NULL;
+               expr3 = ast_for_expr(c, CHILD(ch, 5));
+               if (!expr3)
+                   return NULL;
+                   
+               return Raise(expr1, expr2, expr3, LINENO(n), n->n_col_offset, c->c_arena);
+           }
+       default:
+           PyErr_Format(PyExc_SystemError,
+                        "unexpected flow_stmt: %d", TYPE(ch));
+           return NULL;
     }
 
     PyErr_SetString(PyExc_SystemError, "unhandled flow statement");
@@ -2210,67 +2210,67 @@ alias_for_import_name(struct compiling *c, const node *n)
 
  loop:
     switch (TYPE(n)) {
-        case import_as_name:
-            str = NULL;
-            if (NCH(n) == 3) {
-                str = NEW_IDENTIFIER(CHILD(n, 2));
-            }
-            return alias(NEW_IDENTIFIER(CHILD(n, 0)), str, c->c_arena);
-        case dotted_as_name:
-            if (NCH(n) == 1) {
-                n = CHILD(n, 0);
-                goto loop;
-            }
-            else {
-                alias_ty a = alias_for_import_name(c, CHILD(n, 0));
-                if (!a)
-                    return NULL;
-                assert(!a->asname);
-                a->asname = NEW_IDENTIFIER(CHILD(n, 2));
-                return a;
-            }
-            break;
-        case dotted_name:
-            if (NCH(n) == 1)
-                return alias(NEW_IDENTIFIER(CHILD(n, 0)), NULL, c->c_arena);
-            else {
-                /* Create a string of the form "a.b.c" */
-                int i;
-                size_t len;
-                char *s;
-
-                len = 0;
-                for (i = 0; i < NCH(n); i += 2)
-                    /* length of string plus one for the dot */
-                    len += strlen(STR(CHILD(n, i))) + 1;
-                len--; /* the last name doesn't have a dot */
-                str = PyString_FromStringAndSize(NULL, len);
-                if (!str)
-                    return NULL;
-                s = PyString_AS_STRING(str);
-                if (!s)
-                    return NULL;
-                for (i = 0; i < NCH(n); i += 2) {
-                    char *sch = STR(CHILD(n, i));
-                    strcpy(s, STR(CHILD(n, i)));
-                    s += strlen(sch);
-                    *s++ = '.';
-                }
-                --s;
-                *s = '\0';
-                PyString_InternInPlace(&str);
-                PyArena_AddPyObject(c->c_arena, str);
-                return alias(str, NULL, c->c_arena);
-            }
-            break;
-        case STAR:
-            str = PyString_InternFromString("*");
-            PyArena_AddPyObject(c->c_arena, str);
-            return alias(str, NULL, c->c_arena);
-        default:
-            PyErr_Format(PyExc_SystemError,
-                         "unexpected import name: %d", TYPE(n));
-            return NULL;
+       case import_as_name:
+           str = NULL;
+           if (NCH(n) == 3) {
+               str = NEW_IDENTIFIER(CHILD(n, 2));
+           }
+           return alias(NEW_IDENTIFIER(CHILD(n, 0)), str, c->c_arena);
+       case dotted_as_name:
+           if (NCH(n) == 1) {
+               n = CHILD(n, 0);
+               goto loop;
+           }
+           else {
+               alias_ty a = alias_for_import_name(c, CHILD(n, 0));
+               if (!a)
+                   return NULL;
+               assert(!a->asname);
+               a->asname = NEW_IDENTIFIER(CHILD(n, 2));
+               return a;
+           }
+           break;
+       case dotted_name:
+           if (NCH(n) == 1)
+               return alias(NEW_IDENTIFIER(CHILD(n, 0)), NULL, c->c_arena);
+           else {
+               /* Create a string of the form "a.b.c" */
+               int i;
+               size_t len;
+               char *s;
+
+               len = 0;
+               for (i = 0; i < NCH(n); i += 2)
+                   /* length of string plus one for the dot */
+                   len += strlen(STR(CHILD(n, i))) + 1;
+               len--; /* the last name doesn't have a dot */
+               str = PyString_FromStringAndSize(NULL, len);
+               if (!str)
+                   return NULL;
+               s = PyString_AS_STRING(str);
+               if (!s)
+                   return NULL;
+               for (i = 0; i < NCH(n); i += 2) {
+                   char *sch = STR(CHILD(n, i));
+                   strcpy(s, STR(CHILD(n, i)));
+                   s += strlen(sch);
+                   *s++ = '.';
+               }
+               --s;
+               *s = '\0';
+               PyString_InternInPlace(&str);
+               PyArena_AddPyObject(c->c_arena, str);
+               return alias(str, NULL, c->c_arena);
+           }
+           break;
+       case STAR:
+           str = PyString_InternFromString("*");
+           PyArena_AddPyObject(c->c_arena, str);
+           return alias(str, NULL, c->c_arena);
+       default:
+           PyErr_Format(PyExc_SystemError,
+                        "unexpected import name: %d", TYPE(n));
+           return NULL;
     }
 
     PyErr_SetString(PyExc_SystemError, "unhandled import name condition");
@@ -2284,7 +2284,7 @@ ast_for_import_stmt(struct compiling *c, const node *n)
       import_stmt: import_name | import_from
       import_name: 'import' dotted_as_names
       import_from: 'from' ('.'* dotted_name | '.') 'import'
-                          ('*' | '(' import_as_names ')' | import_as_names)
+                         ('*' | '(' import_as_names ')' | import_as_names)
     */
     int lineno;
     int col_offset;
@@ -2296,97 +2296,97 @@ ast_for_import_stmt(struct compiling *c, const node *n)
     col_offset = n->n_col_offset;
     n = CHILD(n, 0);
     if (TYPE(n) == import_name) {
-        n = CHILD(n, 1);
-        REQ(n, dotted_as_names);
-        aliases = asdl_seq_new((NCH(n) + 1) / 2, c->c_arena);
-        if (!aliases)
-                return NULL;
-        for (i = 0; i < NCH(n); i += 2) {
-            alias_ty import_alias = alias_for_import_name(c, CHILD(n, i));
-            if (!import_alias)
-                return NULL;
-            asdl_seq_SET(aliases, i / 2, import_alias);
-        }
-        return Import(aliases, lineno, col_offset, c->c_arena);
+       n = CHILD(n, 1);
+       REQ(n, dotted_as_names);
+       aliases = asdl_seq_new((NCH(n) + 1) / 2, c->c_arena);
+       if (!aliases)
+               return NULL;
+       for (i = 0; i < NCH(n); i += 2) {
+           alias_ty import_alias = alias_for_import_name(c, CHILD(n, i));
+           if (!import_alias)
+               return NULL;
+           asdl_seq_SET(aliases, i / 2, import_alias);
+       }
+       return Import(aliases, lineno, col_offset, c->c_arena);
     }
     else if (TYPE(n) == import_from) {
-        int n_children;
-        int idx, ndots = 0;
-        alias_ty mod = NULL;
-        identifier modname;
-        
+       int n_children;
+       int idx, ndots = 0;
+       alias_ty mod = NULL;
+       identifier modname;
+       
        /* Count the number of dots (for relative imports) and check for the
-          optional module name */
-        for (idx = 1; idx < NCH(n); idx++) {
-            if (TYPE(CHILD(n, idx)) == dotted_name) {
-                mod = alias_for_import_name(c, CHILD(n, idx));
-                idx++;
-                break;
-            } else if (TYPE(CHILD(n, idx)) != DOT) {
-                break;
-            }
-            ndots++;
-        }
-        idx++; /* skip over the 'import' keyword */
-        switch (TYPE(CHILD(n, idx))) {
-        case STAR:
-            /* from ... import * */
-            n = CHILD(n, idx);
-            n_children = 1;
-            if (ndots) {
-                ast_error(n, "'import *' not allowed with 'from .'");
-                return NULL;
-            }
-            break;
-        case LPAR:
-            /* from ... import (x, y, z) */
-            n = CHILD(n, idx + 1);
-            n_children = NCH(n);
-            break;
-        case import_as_names:
-            /* from ... import x, y, z */
-            n = CHILD(n, idx);
-            n_children = NCH(n);
-            if (n_children % 2 == 0) {
-                ast_error(n, "trailing comma not allowed without"
-                             " surrounding parentheses");
-                return NULL;
-            }
-            break;
-        default:
-            ast_error(n, "Unexpected node-type in from-import");
-            return NULL;
-        }
-
-        aliases = asdl_seq_new((n_children + 1) / 2, c->c_arena);
-        if (!aliases)
-            return NULL;
-
-        /* handle "from ... import *" special b/c there's no children */
-        if (TYPE(n) == STAR) {
-            alias_ty import_alias = alias_for_import_name(c, n);
-            if (!import_alias)
-                return NULL;
-                asdl_seq_SET(aliases, 0, import_alias);
-        }
-        else {
-            for (i = 0; i < NCH(n); i += 2) {
-                alias_ty import_alias = alias_for_import_name(c, CHILD(n, i));
-                if (!import_alias)
-                    return NULL;
-                    asdl_seq_SET(aliases, i / 2, import_alias);
-            }
-        }
-        if (mod != NULL)
-            modname = mod->name;
-        else
-            modname = new_identifier("", c->c_arena);
-        return ImportFrom(modname, aliases, ndots, lineno, col_offset,
-                          c->c_arena);
+         optional module name */
+       for (idx = 1; idx < NCH(n); idx++) {
+           if (TYPE(CHILD(n, idx)) == dotted_name) {
+               mod = alias_for_import_name(c, CHILD(n, idx));
+               idx++;
+               break;
+           } else if (TYPE(CHILD(n, idx)) != DOT) {
+               break;
+           }
+           ndots++;
+       }
+       idx++; /* skip over the 'import' keyword */
+       switch (TYPE(CHILD(n, idx))) {
+       case STAR:
+           /* from ... import * */
+           n = CHILD(n, idx);
+           n_children = 1;
+           if (ndots) {
+               ast_error(n, "'import *' not allowed with 'from .'");
+               return NULL;
+           }
+           break;
+       case LPAR:
+           /* from ... import (x, y, z) */
+           n = CHILD(n, idx + 1);
+           n_children = NCH(n);
+           break;
+       case import_as_names:
+           /* from ... import x, y, z */
+           n = CHILD(n, idx);
+           n_children = NCH(n);
+           if (n_children % 2 == 0) {
+               ast_error(n, "trailing comma not allowed without"
+                            " surrounding parentheses");
+               return NULL;
+           }
+           break;
+       default:
+           ast_error(n, "Unexpected node-type in from-import");
+           return NULL;
+       }
+
+       aliases = asdl_seq_new((n_children + 1) / 2, c->c_arena);
+       if (!aliases)
+           return NULL;
+
+       /* handle "from ... import *" special b/c there's no children */
+       if (TYPE(n) == STAR) {
+           alias_ty import_alias = alias_for_import_name(c, n);
+           if (!import_alias)
+               return NULL;
+               asdl_seq_SET(aliases, 0, import_alias);
+       }
+       else {
+           for (i = 0; i < NCH(n); i += 2) {
+               alias_ty import_alias = alias_for_import_name(c, CHILD(n, i));
+               if (!import_alias)
+                   return NULL;
+                   asdl_seq_SET(aliases, i / 2, import_alias);
+           }
+       }
+       if (mod != NULL)
+           modname = mod->name;
+       else
+           modname = new_identifier("", c->c_arena);
+       return ImportFrom(modname, aliases, ndots, lineno, col_offset,
+                         c->c_arena);
     }
     PyErr_Format(PyExc_SystemError,
-                 "unknown import statement: starts with command '%s'",
-                 STR(CHILD(n, 0)));
+                "unknown import statement: starts with command '%s'",
+                STR(CHILD(n, 0)));
     return NULL;
 }
 
@@ -2401,12 +2401,12 @@ ast_for_global_stmt(struct compiling *c, const node *n)
     REQ(n, global_stmt);
     s = asdl_seq_new(NCH(n) / 2, c->c_arena);
     if (!s)
-        return NULL;
+       return NULL;
     for (i = 1; i < NCH(n); i += 2) {
-        name = NEW_IDENTIFIER(CHILD(n, i));
-        if (!name)
-            return NULL;
-        asdl_seq_SET(s, i / 2, name);
+       name = NEW_IDENTIFIER(CHILD(n, i));
+       if (!name)
+           return NULL;
+       asdl_seq_SET(s, i / 2, name);
     }
     return Global(s, LINENO(n), n->n_col_offset, c->c_arena);
 }
@@ -2417,26 +2417,26 @@ ast_for_exec_stmt(struct compiling *c, const node *n)
     expr_ty expr1, globals = NULL, locals = NULL;
     int n_children = NCH(n);
     if (n_children != 2 && n_children != 4 && n_children != 6) {
-        PyErr_Format(PyExc_SystemError,
-                     "poorly formed 'exec' statement: %d parts to statement",
-                     n_children);
-        return NULL;
+       PyErr_Format(PyExc_SystemError,
+                    "poorly formed 'exec' statement: %d parts to statement",
+                    n_children);
+       return NULL;
     }
 
     /* exec_stmt: 'exec' expr ['in' test [',' test]] */
     REQ(n, exec_stmt);
     expr1 = ast_for_expr(c, CHILD(n, 1));
     if (!expr1)
-        return NULL;
+       return NULL;
     if (n_children >= 4) {
-        globals = ast_for_expr(c, CHILD(n, 3));
-        if (!globals)
-            return NULL;
+       globals = ast_for_expr(c, CHILD(n, 3));
+       if (!globals)
+           return NULL;
     }
     if (n_children == 6) {
-        locals = ast_for_expr(c, CHILD(n, 5));
-        if (!locals)
-            return NULL;
+       locals = ast_for_expr(c, CHILD(n, 5));
+       if (!locals)
+           return NULL;
     }
 
     return Exec(expr1, globals, locals, LINENO(n), n->n_col_offset, c->c_arena);
@@ -2448,26 +2448,26 @@ ast_for_assert_stmt(struct compiling *c, const node *n)
     /* assert_stmt: 'assert' test [',' test] */
     REQ(n, assert_stmt);
     if (NCH(n) == 2) {
-        expr_ty expression = ast_for_expr(c, CHILD(n, 1));
-        if (!expression)
-            return NULL;
-        return Assert(expression, NULL, LINENO(n), n->n_col_offset, c->c_arena);
+       expr_ty expression = ast_for_expr(c, CHILD(n, 1));
+       if (!expression)
+           return NULL;
+       return Assert(expression, NULL, LINENO(n), n->n_col_offset, c->c_arena);
     }
     else if (NCH(n) == 4) {
-        expr_ty expr1, expr2;
+       expr_ty expr1, expr2;
 
-        expr1 = ast_for_expr(c, CHILD(n, 1));
-        if (!expr1)
-            return NULL;
-        expr2 = ast_for_expr(c, CHILD(n, 3));
-        if (!expr2)
-            return NULL;
-            
-        return Assert(expr1, expr2, LINENO(n), n->n_col_offset, c->c_arena);
+       expr1 = ast_for_expr(c, CHILD(n, 1));
+       if (!expr1)
+           return NULL;
+       expr2 = ast_for_expr(c, CHILD(n, 3));
+       if (!expr2)
+           return NULL;
+           
+       return Assert(expr1, expr2, LINENO(n), n->n_col_offset, c->c_arena);
     }
     PyErr_Format(PyExc_SystemError,
-                 "improper number of parts to 'assert' statement: %d",
-                 NCH(n));
+                "improper number of parts to 'assert' statement: %d",
+                NCH(n));
     return NULL;
 }
 
@@ -2485,53 +2485,53 @@ ast_for_suite(struct compiling *c, const node *n)
     total = num_stmts(n);
     seq = asdl_seq_new(total, c->c_arena);
     if (!seq)
-        return NULL;
+       return NULL;
     if (TYPE(CHILD(n, 0)) == simple_stmt) {
-        n = CHILD(n, 0);
-        /* simple_stmt always ends with a NEWLINE,
-           and may have a trailing SEMI 
-        */
-        end = NCH(n) - 1;
-        if (TYPE(CHILD(n, end - 1)) == SEMI)
-            end--;
-        /* loop by 2 to skip semi-colons */
-        for (i = 0; i < end; i += 2) {
-            ch = CHILD(n, i);
-            s = ast_for_stmt(c, ch);
-            if (!s)
-                return NULL;
-            asdl_seq_SET(seq, pos++, s);
-        }
+       n = CHILD(n, 0);
+       /* simple_stmt always ends with a NEWLINE,
+          and may have a trailing SEMI 
+       */
+       end = NCH(n) - 1;
+       if (TYPE(CHILD(n, end - 1)) == SEMI)
+           end--;
+       /* loop by 2 to skip semi-colons */
+       for (i = 0; i < end; i += 2) {
+           ch = CHILD(n, i);
+           s = ast_for_stmt(c, ch);
+           if (!s)
+               return NULL;
+           asdl_seq_SET(seq, pos++, s);
+       }
     }
     else {
-        for (i = 2; i < (NCH(n) - 1); i++) {
-            ch = CHILD(n, i);
-            REQ(ch, stmt);
-            num = num_stmts(ch);
-            if (num == 1) {
-                /* small_stmt or compound_stmt with only one child */
-                s = ast_for_stmt(c, ch);
-                if (!s)
-                    return NULL;
-                asdl_seq_SET(seq, pos++, s);
-            }
-            else {
-                int j;
-                ch = CHILD(ch, 0);
-                REQ(ch, simple_stmt);
-                for (j = 0; j < NCH(ch); j += 2) {
-                    /* statement terminates with a semi-colon ';' */
-                    if (NCH(CHILD(ch, j)) == 0) {
-                        assert((j + 1) == NCH(ch));
-                        break;
-                    }
-                    s = ast_for_stmt(c, CHILD(ch, j));
-                    if (!s)
-                        return NULL;
-                    asdl_seq_SET(seq, pos++, s);
-                }
-            }
-        }
+       for (i = 2; i < (NCH(n) - 1); i++) {
+           ch = CHILD(n, i);
+           REQ(ch, stmt);
+           num = num_stmts(ch);
+           if (num == 1) {
+               /* small_stmt or compound_stmt with only one child */
+               s = ast_for_stmt(c, ch);
+               if (!s)
+                   return NULL;
+               asdl_seq_SET(seq, pos++, s);
+           }
+           else {
+               int j;
+               ch = CHILD(ch, 0);
+               REQ(ch, simple_stmt);
+               for (j = 0; j < NCH(ch); j += 2) {
+                   /* statement terminates with a semi-colon ';' */
+                   if (NCH(CHILD(ch, j)) == 0) {
+                       assert((j + 1) == NCH(ch));
+                       break;
+                   }
+                   s = ast_for_stmt(c, CHILD(ch, j));
+                   if (!s)
+                       return NULL;
+                   asdl_seq_SET(seq, pos++, s);
+               }
+           }
+       }
     }
     assert(pos == seq->size);
     return seq;
@@ -2548,17 +2548,17 @@ ast_for_if_stmt(struct compiling *c, const node *n)
     REQ(n, if_stmt);
 
     if (NCH(n) == 4) {
-        expr_ty expression;
-        asdl_seq *suite_seq;
+       expr_ty expression;
+       asdl_seq *suite_seq;
 
-        expression = ast_for_expr(c, CHILD(n, 1));
-        if (!expression)
-            return NULL;
-        suite_seq = ast_for_suite(c, CHILD(n, 3)); 
-        if (!suite_seq)
-            return NULL;
-            
-        return If(expression, suite_seq, NULL, LINENO(n), n->n_col_offset, c->c_arena);
+       expression = ast_for_expr(c, CHILD(n, 1));
+       if (!expression)
+           return NULL;
+       suite_seq = ast_for_suite(c, CHILD(n, 3)); 
+       if (!suite_seq)
+           return NULL;
+           
+       return If(expression, suite_seq, NULL, LINENO(n), n->n_col_offset, c->c_arena);
     }
 
     s = STR(CHILD(n, 4));
@@ -2567,84 +2567,84 @@ ast_for_if_stmt(struct compiling *c, const node *n)
        'i' for el_i_f
     */
     if (s[2] == 's') {
-        expr_ty expression;
-        asdl_seq *seq1, *seq2;
+       expr_ty expression;
+       asdl_seq *seq1, *seq2;
 
-        expression = ast_for_expr(c, CHILD(n, 1));
-        if (!expression)
-            return NULL;
-        seq1 = ast_for_suite(c, CHILD(n, 3));
-        if (!seq1)
-            return NULL;
-        seq2 = ast_for_suite(c, CHILD(n, 6));
-        if (!seq2)
-            return NULL;
+       expression = ast_for_expr(c, CHILD(n, 1));
+       if (!expression)
+           return NULL;
+       seq1 = ast_for_suite(c, CHILD(n, 3));
+       if (!seq1)
+           return NULL;
+       seq2 = ast_for_suite(c, CHILD(n, 6));
+       if (!seq2)
+           return NULL;
 
-        return If(expression, seq1, seq2, LINENO(n), n->n_col_offset, c->c_arena);
+       return If(expression, seq1, seq2, LINENO(n), n->n_col_offset, c->c_arena);
     }
     else if (s[2] == 'i') {
-        int i, n_elif, has_else = 0;
-        asdl_seq *orelse = NULL;
-        n_elif = NCH(n) - 4;
-        /* must reference the child n_elif+1 since 'else' token is third,
-           not fourth, child from the end. */
-        if (TYPE(CHILD(n, (n_elif + 1))) == NAME
-            && STR(CHILD(n, (n_elif + 1)))[2] == 's') {
-            has_else = 1;
-            n_elif -= 3;
-        }
-        n_elif /= 4;
-
-        if (has_else) {
-            expr_ty expression;
-            asdl_seq *seq1, *seq2;
-
-            orelse = asdl_seq_new(1, c->c_arena);
-            if (!orelse)
-                return NULL;
-            expression = ast_for_expr(c, CHILD(n, NCH(n) - 6));
-            if (!expression)
-                return NULL;
-            seq1 = ast_for_suite(c, CHILD(n, NCH(n) - 4));
-            if (!seq1)
-                return NULL;
-            seq2 = ast_for_suite(c, CHILD(n, NCH(n) - 1));
-            if (!seq2)
-                return NULL;
-
-            asdl_seq_SET(orelse, 0, If(expression, seq1, seq2, 
-                                       LINENO(CHILD(n, NCH(n) - 6)), CHILD(n, NCH(n) - 6)->n_col_offset,
-                                       c->c_arena));
-            /* the just-created orelse handled the last elif */
-            n_elif--;
-        }
-
-        for (i = 0; i < n_elif; i++) {
-            int off = 5 + (n_elif - i - 1) * 4;
-            expr_ty expression;
-            asdl_seq *suite_seq;
-            asdl_seq *newobj = asdl_seq_new(1, c->c_arena);
-            if (!newobj)
-                return NULL;
-            expression = ast_for_expr(c, CHILD(n, off));
-            if (!expression)
-                return NULL;
-            suite_seq = ast_for_suite(c, CHILD(n, off + 2));
-            if (!suite_seq)
-                return NULL;
-
-            asdl_seq_SET(newobj, 0,
-                         If(expression, suite_seq, orelse, 
-                            LINENO(CHILD(n, off)), CHILD(n, off)->n_col_offset, c->c_arena));
-            orelse = newobj;
-        }
-        return If(ast_for_expr(c, CHILD(n, 1)),
-                  ast_for_suite(c, CHILD(n, 3)),
-                  orelse, LINENO(n), n->n_col_offset, c->c_arena);
+       int i, n_elif, has_else = 0;
+       asdl_seq *orelse = NULL;
+       n_elif = NCH(n) - 4;
+       /* must reference the child n_elif+1 since 'else' token is third,
+          not fourth, child from the end. */
+       if (TYPE(CHILD(n, (n_elif + 1))) == NAME
+           && STR(CHILD(n, (n_elif + 1)))[2] == 's') {
+           has_else = 1;
+           n_elif -= 3;
+       }
+       n_elif /= 4;
+
+       if (has_else) {
+           expr_ty expression;
+           asdl_seq *seq1, *seq2;
+
+           orelse = asdl_seq_new(1, c->c_arena);
+           if (!orelse)
+               return NULL;
+           expression = ast_for_expr(c, CHILD(n, NCH(n) - 6));
+           if (!expression)
+               return NULL;
+           seq1 = ast_for_suite(c, CHILD(n, NCH(n) - 4));
+           if (!seq1)
+               return NULL;
+           seq2 = ast_for_suite(c, CHILD(n, NCH(n) - 1));
+           if (!seq2)
+               return NULL;
+
+           asdl_seq_SET(orelse, 0, If(expression, seq1, seq2, 
+                                      LINENO(CHILD(n, NCH(n) - 6)), CHILD(n, NCH(n) - 6)->n_col_offset,
+                                      c->c_arena));
+           /* the just-created orelse handled the last elif */
+           n_elif--;
+       }
+
+       for (i = 0; i < n_elif; i++) {
+           int off = 5 + (n_elif - i - 1) * 4;
+           expr_ty expression;
+           asdl_seq *suite_seq;
+           asdl_seq *newobj = asdl_seq_new(1, c->c_arena);
+           if (!newobj)
+               return NULL;
+           expression = ast_for_expr(c, CHILD(n, off));
+           if (!expression)
+               return NULL;
+           suite_seq = ast_for_suite(c, CHILD(n, off + 2));
+           if (!suite_seq)
+               return NULL;
+
+           asdl_seq_SET(newobj, 0,
+                        If(expression, suite_seq, orelse, 
+                           LINENO(CHILD(n, off)), CHILD(n, off)->n_col_offset, c->c_arena));
+           orelse = newobj;
+       }
+       return If(ast_for_expr(c, CHILD(n, 1)),
+                 ast_for_suite(c, CHILD(n, 3)),
+                 orelse, LINENO(n), n->n_col_offset, c->c_arena);
     }
 
     PyErr_Format(PyExc_SystemError,
-                 "unexpected token in 'if' statement: %s", s);
+                "unexpected token in 'if' statement: %s", s);
     return NULL;
 }
 
@@ -2655,37 +2655,37 @@ ast_for_while_stmt(struct compiling *c, const node *n)
     REQ(n, while_stmt);
 
     if (NCH(n) == 4) {
-        expr_ty expression;
-        asdl_seq *suite_seq;
+       expr_ty expression;
+       asdl_seq *suite_seq;
 
-        expression = ast_for_expr(c, CHILD(n, 1));
-        if (!expression)
-            return NULL;
-        suite_seq = ast_for_suite(c, CHILD(n, 3));
-        if (!suite_seq)
-            return NULL;
-        return While(expression, suite_seq, NULL, LINENO(n), n->n_col_offset, c->c_arena);
+       expression = ast_for_expr(c, CHILD(n, 1));
+       if (!expression)
+           return NULL;
+       suite_seq = ast_for_suite(c, CHILD(n, 3));
+       if (!suite_seq)
+           return NULL;
+       return While(expression, suite_seq, NULL, LINENO(n), n->n_col_offset, c->c_arena);
     }
     else if (NCH(n) == 7) {
-        expr_ty expression;
-        asdl_seq *seq1, *seq2;
+       expr_ty expression;
+       asdl_seq *seq1, *seq2;
 
-        expression = ast_for_expr(c, CHILD(n, 1));
-        if (!expression)
-            return NULL;
-        seq1 = ast_for_suite(c, CHILD(n, 3));
-        if (!seq1)
-            return NULL;
-        seq2 = ast_for_suite(c, CHILD(n, 6));
-        if (!seq2)
-            return NULL;
+       expression = ast_for_expr(c, CHILD(n, 1));
+       if (!expression)
+           return NULL;
+       seq1 = ast_for_suite(c, CHILD(n, 3));
+       if (!seq1)
+           return NULL;
+       seq2 = ast_for_suite(c, CHILD(n, 6));
+       if (!seq2)
+           return NULL;
 
-        return While(expression, seq1, seq2, LINENO(n), n->n_col_offset, c->c_arena);
+       return While(expression, seq1, seq2, LINENO(n), n->n_col_offset, c->c_arena);
     }
 
     PyErr_Format(PyExc_SystemError,
-                 "wrong number of tokens for 'while' statement: %d",
-                 NCH(n));
+                "wrong number of tokens for 'while' statement: %d",
+                NCH(n));
     return NULL;
 }
 
@@ -2700,31 +2700,31 @@ ast_for_for_stmt(struct compiling *c, const node *n)
     REQ(n, for_stmt);
 
     if (NCH(n) == 9) {
-        seq = ast_for_suite(c, CHILD(n, 8));
-        if (!seq)
-            return NULL;
+       seq = ast_for_suite(c, CHILD(n, 8));
+       if (!seq)
+           return NULL;
     }
 
     node_target = CHILD(n, 1);
     _target = ast_for_exprlist(c, node_target, Store);
     if (!_target)
-        return NULL;
+       return NULL;
     /* Check the # of children rather than the length of _target, since
        for x, in ... has 1 element in _target, but still requires a Tuple. */
     if (NCH(node_target) == 1)
-        target = (expr_ty)asdl_seq_GET(_target, 0);
+       target = (expr_ty)asdl_seq_GET(_target, 0);
     else
-        target = Tuple(_target, Store, LINENO(n), n->n_col_offset, c->c_arena);
+       target = Tuple(_target, Store, LINENO(n), n->n_col_offset, c->c_arena);
 
     expression = ast_for_testlist(c, CHILD(n, 3));
     if (!expression)
-        return NULL;
+       return NULL;
     suite_seq = ast_for_suite(c, CHILD(n, 5));
     if (!suite_seq)
-        return NULL;
+       return NULL;
 
     return For(target, expression, suite_seq, seq, LINENO(n), n->n_col_offset,
-               c->c_arena);
+              c->c_arena);
 }
 
 static excepthandler_ty
@@ -2735,49 +2735,49 @@ ast_for_except_clause(struct compiling *c, const node *exc, node *body)
     REQ(body, suite);
 
     if (NCH(exc) == 1) {
-        asdl_seq *suite_seq = ast_for_suite(c, body);
-        if (!suite_seq)
-            return NULL;
+       asdl_seq *suite_seq = ast_for_suite(c, body);
+       if (!suite_seq)
+           return NULL;
 
-        return excepthandler(NULL, NULL, suite_seq, LINENO(exc),
-                             exc->n_col_offset, c->c_arena);
+       return excepthandler(NULL, NULL, suite_seq, LINENO(exc),
+                            exc->n_col_offset, c->c_arena);
     }
     else if (NCH(exc) == 2) {
-        expr_ty expression;
-        asdl_seq *suite_seq;
+       expr_ty expression;
+       asdl_seq *suite_seq;
 
-        expression = ast_for_expr(c, CHILD(exc, 1));
-        if (!expression)
-            return NULL;
-        suite_seq = ast_for_suite(c, body);
-        if (!suite_seq)
-            return NULL;
+       expression = ast_for_expr(c, CHILD(exc, 1));
+       if (!expression)
+           return NULL;
+       suite_seq = ast_for_suite(c, body);
+       if (!suite_seq)
+           return NULL;
 
-        return excepthandler(expression, NULL, suite_seq, LINENO(exc),
-                             exc->n_col_offset, c->c_arena);
+       return excepthandler(expression, NULL, suite_seq, LINENO(exc),
+                            exc->n_col_offset, c->c_arena);
     }
     else if (NCH(exc) == 4) {
-        asdl_seq *suite_seq;
-        expr_ty expression;
-        expr_ty e = ast_for_expr(c, CHILD(exc, 3));
-        if (!e)
-            return NULL;
-        if (!set_context(e, Store, CHILD(exc, 3)))
-            return NULL;
-        expression = ast_for_expr(c, CHILD(exc, 1));
-        if (!expression)
-            return NULL;
-        suite_seq = ast_for_suite(c, body);
-        if (!suite_seq)
-            return NULL;
-
-        return excepthandler(expression, e, suite_seq, LINENO(exc),
-                             exc->n_col_offset, c->c_arena);
+       asdl_seq *suite_seq;
+       expr_ty expression;
+       expr_ty e = ast_for_expr(c, CHILD(exc, 3));
+       if (!e)
+           return NULL;
+       if (!set_context(e, Store, CHILD(exc, 3)))
+           return NULL;
+       expression = ast_for_expr(c, CHILD(exc, 1));
+       if (!expression)
+           return NULL;
+       suite_seq = ast_for_suite(c, body);
+       if (!suite_seq)
+           return NULL;
+
+       return excepthandler(expression, e, suite_seq, LINENO(exc),
+                            exc->n_col_offset, c->c_arena);
     }
 
     PyErr_Format(PyExc_SystemError,
-                 "wrong number of children for 'except' clause: %d",
-                 NCH(exc));
+                "wrong number of children for 'except' clause: %d",
+                NCH(exc));
     return NULL;
 }
 
@@ -2792,66 +2792,66 @@ ast_for_try_stmt(struct compiling *c, const node *n)
 
     body = ast_for_suite(c, CHILD(n, 2));
     if (body == NULL)
-        return NULL;
+       return NULL;
 
     if (TYPE(CHILD(n, nch - 3)) == NAME) {
-        if (strcmp(STR(CHILD(n, nch - 3)), "finally") == 0) {
-            if (nch >= 9 && TYPE(CHILD(n, nch - 6)) == NAME) {
-                /* we can assume it's an "else",
-                   because nch >= 9 for try-else-finally and
-                   it would otherwise have a type of except_clause */
-                orelse = ast_for_suite(c, CHILD(n, nch - 4));
-                if (orelse == NULL)
-                    return NULL;
-                n_except--;
-            }
-
-            finally = ast_for_suite(c, CHILD(n, nch - 1));
-            if (finally == NULL)
-                return NULL;
-            n_except--;
-        }
-        else {
-            /* we can assume it's an "else",
-               otherwise it would have a type of except_clause */
-            orelse = ast_for_suite(c, CHILD(n, nch - 1));
-            if (orelse == NULL)
-                return NULL;
-            n_except--;
-        }
+       if (strcmp(STR(CHILD(n, nch - 3)), "finally") == 0) {
+           if (nch >= 9 && TYPE(CHILD(n, nch - 6)) == NAME) {
+               /* we can assume it's an "else",
+                  because nch >= 9 for try-else-finally and
+                  it would otherwise have a type of except_clause */
+               orelse = ast_for_suite(c, CHILD(n, nch - 4));
+               if (orelse == NULL)
+                   return NULL;
+               n_except--;
+           }
+
+           finally = ast_for_suite(c, CHILD(n, nch - 1));
+           if (finally == NULL)
+               return NULL;
+           n_except--;
+       }
+       else {
+           /* we can assume it's an "else",
+              otherwise it would have a type of except_clause */
+           orelse = ast_for_suite(c, CHILD(n, nch - 1));
+           if (orelse == NULL)
+               return NULL;
+           n_except--;
+       }
     }
     else if (TYPE(CHILD(n, nch - 3)) != except_clause) {
-        ast_error(n, "malformed 'try' statement");
-        return NULL;
+       ast_error(n, "malformed 'try' statement");
+       return NULL;
     }
     
     if (n_except > 0) {
-        int i;
-        stmt_ty except_st;
-        /* process except statements to create a try ... except */
-        asdl_seq *handlers = asdl_seq_new(n_except, c->c_arena);
-        if (handlers == NULL)
-            return NULL;
-
-        for (i = 0; i < n_except; i++) {
-            excepthandler_ty e = ast_for_except_clause(c, CHILD(n, 3 + i * 3),
-                                                       CHILD(n, 5 + i * 3));
-            if (!e)
-                return NULL;
-            asdl_seq_SET(handlers, i, e);
-        }
-
-        except_st = TryExcept(body, handlers, orelse, LINENO(n),
-                              n->n_col_offset, c->c_arena);
-        if (!finally)
-            return except_st;
-
-        /* if a 'finally' is present too, we nest the TryExcept within a
-           TryFinally to emulate try ... except ... finally */
-        body = asdl_seq_new(1, c->c_arena);
-        if (body == NULL)
-            return NULL;
-        asdl_seq_SET(body, 0, except_st);
+       int i;
+       stmt_ty except_st;
+       /* process except statements to create a try ... except */
+       asdl_seq *handlers = asdl_seq_new(n_except, c->c_arena);
+       if (handlers == NULL)
+           return NULL;
+
+       for (i = 0; i < n_except; i++) {
+           excepthandler_ty e = ast_for_except_clause(c, CHILD(n, 3 + i * 3),
+                                                      CHILD(n, 5 + i * 3));
+           if (!e)
+               return NULL;
+           asdl_seq_SET(handlers, i, e);
+       }
+
+       except_st = TryExcept(body, handlers, orelse, LINENO(n),
+                             n->n_col_offset, c->c_arena);
+       if (!finally)
+           return except_st;
+
+       /* if a 'finally' is present too, we nest the TryExcept within a
+          TryFinally to emulate try ... except ... finally */
+       body = asdl_seq_new(1, c->c_arena);
+       if (body == NULL)
+           return NULL;
+       asdl_seq_SET(body, 0, except_st);
     }
 
     /* must be a try ... finally (except clauses are in body, if any exist) */
@@ -2877,23 +2877,23 @@ ast_for_with_stmt(struct compiling *c, const node *n)
     assert(TYPE(n) == with_stmt);
     context_expr = ast_for_expr(c, CHILD(n, 1));
     if (TYPE(CHILD(n, 2)) == with_var) {
-        optional_vars = ast_for_with_var(c, CHILD(n, 2));
+       optional_vars = ast_for_with_var(c, CHILD(n, 2));
 
-        if (!optional_vars) {
-            return NULL;
-        }
-        if (!set_context(optional_vars, Store, n)) {
-            return NULL;
-        }
-        suite_index = 4;
+       if (!optional_vars) {
+           return NULL;
+       }
+       if (!set_context(optional_vars, Store, n)) {
+           return NULL;
+       }
+       suite_index = 4;
     }
 
     suite_seq = ast_for_suite(c, CHILD(n, suite_index));
     if (!suite_seq) {
-        return NULL;
+       return NULL;
     }
     return With(context_expr, optional_vars, suite_seq, LINENO(n), 
-                n->n_col_offset, c->c_arena);
+               n->n_col_offset, c->c_arena);
 }
 
 static stmt_ty
@@ -2905,246 +2905,246 @@ ast_for_classdef(struct compiling *c, const node *n)
     REQ(n, classdef);
 
     if (!strcmp(STR(CHILD(n, 1)), "None")) {
-            ast_error(n, "assignment to None");
-            return NULL;
+           ast_error(n, "assignment to None");
+           return NULL;
     }
 
     if (NCH(n) == 4) {
-        s = ast_for_suite(c, CHILD(n, 3));
-        if (!s)
-            return NULL;
-        return ClassDef(NEW_IDENTIFIER(CHILD(n, 1)), NULL, s, LINENO(n),
-                        n->n_col_offset, c->c_arena);
+       s = ast_for_suite(c, CHILD(n, 3));
+       if (!s)
+           return NULL;
+       return ClassDef(NEW_IDENTIFIER(CHILD(n, 1)), NULL, s, LINENO(n),
+                       n->n_col_offset, c->c_arena);
     }
     /* check for empty base list */
     if (TYPE(CHILD(n,3)) == RPAR) {
-        s = ast_for_suite(c, CHILD(n,5));
-        if (!s)
-                return NULL;
-        return ClassDef(NEW_IDENTIFIER(CHILD(n, 1)), NULL, s, LINENO(n),
-                        n->n_col_offset, c->c_arena);
+       s = ast_for_suite(c, CHILD(n,5));
+       if (!s)
+               return NULL;
+       return ClassDef(NEW_IDENTIFIER(CHILD(n, 1)), NULL, s, LINENO(n),
+                       n->n_col_offset, c->c_arena);
     }
 
     /* else handle the base class list */
     bases = ast_for_class_bases(c, CHILD(n, 3));
     if (!bases)
-        return NULL;
+       return NULL;
 
     s = ast_for_suite(c, CHILD(n, 6));
     if (!s)
-        return NULL;
+       return NULL;
     return ClassDef(NEW_IDENTIFIER(CHILD(n, 1)), bases, s, LINENO(n),
-                    n->n_col_offset, c->c_arena);
+                   n->n_col_offset, c->c_arena);
 }
 
 static stmt_ty
 ast_for_stmt(struct compiling *c, const node *n)
 {
     if (TYPE(n) == stmt) {
-        assert(NCH(n) == 1);
-        n = CHILD(n, 0);
+       assert(NCH(n) == 1);
+       n = CHILD(n, 0);
     }
     if (TYPE(n) == simple_stmt) {
-        assert(num_stmts(n) == 1);
-        n = CHILD(n, 0);
+       assert(num_stmts(n) == 1);
+       n = CHILD(n, 0);
     }
     if (TYPE(n) == small_stmt) {
-        REQ(n, small_stmt);
-        n = CHILD(n, 0);
-        /* small_stmt: expr_stmt | print_stmt  | del_stmt | pass_stmt
-                     | flow_stmt | import_stmt | global_stmt | exec_stmt
-                     | assert_stmt
-        */
-        switch (TYPE(n)) {
-            case expr_stmt:
-                return ast_for_expr_stmt(c, n);
-            case print_stmt:
-                return ast_for_print_stmt(c, n);
-            case del_stmt:
-                return ast_for_del_stmt(c, n);
-            case pass_stmt:
-                return Pass(LINENO(n), n->n_col_offset, c->c_arena);
-            case flow_stmt:
-                return ast_for_flow_stmt(c, n);
-            case import_stmt:
-                return ast_for_import_stmt(c, n);
-            case global_stmt:
-                return ast_for_global_stmt(c, n);
-            case exec_stmt:
-                return ast_for_exec_stmt(c, n);
-            case assert_stmt:
-                return ast_for_assert_stmt(c, n);
-            default:
-                PyErr_Format(PyExc_SystemError,
-                             "unhandled small_stmt: TYPE=%d NCH=%d\n",
-                             TYPE(n), NCH(n));
-                return NULL;
-        }
+       REQ(n, small_stmt);
+       n = CHILD(n, 0);
+       /* small_stmt: expr_stmt | print_stmt  | del_stmt | pass_stmt
+                    | flow_stmt | import_stmt | global_stmt | exec_stmt
+                    | assert_stmt
+       */
+       switch (TYPE(n)) {
+           case expr_stmt:
+               return ast_for_expr_stmt(c, n);
+           case print_stmt:
+               return ast_for_print_stmt(c, n);
+           case del_stmt:
+               return ast_for_del_stmt(c, n);
+           case pass_stmt:
+               return Pass(LINENO(n), n->n_col_offset, c->c_arena);
+           case flow_stmt:
+               return ast_for_flow_stmt(c, n);
+           case import_stmt:
+               return ast_for_import_stmt(c, n);
+           case global_stmt:
+               return ast_for_global_stmt(c, n);
+           case exec_stmt:
+               return ast_for_exec_stmt(c, n);
+           case assert_stmt:
+               return ast_for_assert_stmt(c, n);
+           default:
+               PyErr_Format(PyExc_SystemError,
+                            "unhandled small_stmt: TYPE=%d NCH=%d\n",
+                            TYPE(n), NCH(n));
+               return NULL;
+       }
     }
     else {
-        /* compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt
-                        | funcdef | classdef
-        */
-        node *ch = CHILD(n, 0);
-        REQ(n, compound_stmt);
-        switch (TYPE(ch)) {
-            case if_stmt:
-                return ast_for_if_stmt(c, ch);
-            case while_stmt:
-                return ast_for_while_stmt(c, ch);
-            case for_stmt:
-                return ast_for_for_stmt(c, ch);
-            case try_stmt:
-                return ast_for_try_stmt(c, ch);
-            case with_stmt:
-                return ast_for_with_stmt(c, ch);
-            case funcdef:
-                return ast_for_funcdef(c, ch);
-            case classdef:
-                return ast_for_classdef(c, ch);
-            default:
-                PyErr_Format(PyExc_SystemError,
-                             "unhandled small_stmt: TYPE=%d NCH=%d\n",
-                             TYPE(n), NCH(n));
-                return NULL;
-        }
+       /* compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt
+                       | funcdef | classdef
+       */
+       node *ch = CHILD(n, 0);
+       REQ(n, compound_stmt);
+       switch (TYPE(ch)) {
+           case if_stmt:
+               return ast_for_if_stmt(c, ch);
+           case while_stmt:
+               return ast_for_while_stmt(c, ch);
+           case for_stmt:
+               return ast_for_for_stmt(c, ch);
+           case try_stmt:
+               return ast_for_try_stmt(c, ch);
+           case with_stmt:
+               return ast_for_with_stmt(c, ch);
+           case funcdef:
+               return ast_for_funcdef(c, ch);
+           case classdef:
+               return ast_for_classdef(c, ch);
+           default:
+               PyErr_Format(PyExc_SystemError,
+                            "unhandled small_stmt: TYPE=%d NCH=%d\n",
+                            TYPE(n), NCH(n));
+               return NULL;
+       }
     }
 }
 
 static PyObject *
 parsenumber(const char *s)
 {
-        const char *end;
-        long x;
-        double dx;
+       const char *end;
+       long x;
+       double dx;
 #ifndef WITHOUT_COMPLEX
-        Py_complex c;
-        int imflag;
+       Py_complex c;
+       int imflag;
 #endif
 
-        errno = 0;
-        end = s + strlen(s) - 1;
+       errno = 0;
+       end = s + strlen(s) - 1;
 #ifndef WITHOUT_COMPLEX
-        imflag = *end == 'j' || *end == 'J';
+       imflag = *end == 'j' || *end == 'J';
 #endif
-        if (*end == 'l' || *end == 'L')
-                return PyLong_FromString((char *)s, (char **)0, 0);
-        if (s[0] == '0') {
-                x = (long) PyOS_strtoul((char *)s, (char **)&end, 0);
-                if (x < 0 && errno == 0) {
-                                return PyLong_FromString((char *)s,
-                                                         (char **)0,
-                                                         0);
-                }
-        }
-        else
-                x = PyOS_strtol((char *)s, (char **)&end, 0);
-        if (*end == '\0') {
-                if (errno != 0)
-                        return PyLong_FromString((char *)s, (char **)0, 0);
-                return PyInt_FromLong(x);
-        }
-        /* XXX Huge floats may silently fail */
+       if (*end == 'l' || *end == 'L')
+               return PyLong_FromString((char *)s, (char **)0, 0);
+       if (s[0] == '0') {
+               x = (long) PyOS_strtoul((char *)s, (char **)&end, 0);
+               if (x < 0 && errno == 0) {
+                               return PyLong_FromString((char *)s,
+                                                        (char **)0,
+                                                        0);
+               }
+       }
+       else
+               x = PyOS_strtol((char *)s, (char **)&end, 0);
+       if (*end == '\0') {
+               if (errno != 0)
+                       return PyLong_FromString((char *)s, (char **)0, 0);
+               return PyInt_FromLong(x);
+       }
+       /* XXX Huge floats may silently fail */
 #ifndef WITHOUT_COMPLEX
-        if (imflag) {
-                c.real = 0.;
-                PyFPE_START_PROTECT("atof", return 0)
-                c.imag = PyOS_ascii_atof(s);
-                PyFPE_END_PROTECT(c)
-                return PyComplex_FromCComplex(c);
-        }
-        else
+       if (imflag) {
+               c.real = 0.;
+               PyFPE_START_PROTECT("atof", return 0)
+               c.imag = PyOS_ascii_atof(s);
+               PyFPE_END_PROTECT(c)
+               return PyComplex_FromCComplex(c);
+       }
+       else
 #endif
-        {
-                PyFPE_START_PROTECT("atof", return 0)
-                dx = PyOS_ascii_atof(s);
-                PyFPE_END_PROTECT(dx)
-                return PyFloat_FromDouble(dx);
-        }
+       {
+               PyFPE_START_PROTECT("atof", return 0)
+               dx = PyOS_ascii_atof(s);
+               PyFPE_END_PROTECT(dx)
+               return PyFloat_FromDouble(dx);
+       }
 }
 
 static PyObject *
 decode_utf8(const char **sPtr, const char *end, char* encoding)
 {
 #ifndef Py_USING_UNICODE
-        Py_FatalError("decode_utf8 should not be called in this build.");
-        return NULL;
+       Py_FatalError("decode_utf8 should not be called in this build.");
+       return NULL;
 #else
-        PyObject *u, *v;
-        char *s, *t;
-        t = s = (char *)*sPtr;
-        /* while (s < end && *s != '\\') s++; */ /* inefficient for u".." */
-        while (s < end && (*s & 0x80)) s++;
-        *sPtr = s;
-        u = PyUnicode_DecodeUTF8(t, s - t, NULL);
-        if (u == NULL)
-                return NULL;
-        v = PyUnicode_AsEncodedString(u, encoding, NULL);
-        Py_DECREF(u);
-        return v;
+       PyObject *u, *v;
+       char *s, *t;
+       t = s = (char *)*sPtr;
+       /* while (s < end && *s != '\\') s++; */ /* inefficient for u".." */
+       while (s < end && (*s & 0x80)) s++;
+       *sPtr = s;
+       u = PyUnicode_DecodeUTF8(t, s - t, NULL);
+       if (u == NULL)
+               return NULL;
+       v = PyUnicode_AsEncodedString(u, encoding, NULL);
+       Py_DECREF(u);
+       return v;
 #endif
 }
 
 static PyObject *
 decode_unicode(const char *s, size_t len, int rawmode, const char *encoding)
 {
-        PyObject *v, *u;
-        char *buf;
-        char *p;
-        const char *end;
-        if (encoding == NULL) {
-                buf = (char *)s;
-                u = NULL;
-        } else if (strcmp(encoding, "iso-8859-1") == 0) {
-                buf = (char *)s;
-                u = NULL;
-        } else {
-                /* "\XX" may become "\u005c\uHHLL" (12 bytes) */
-                u = PyString_FromStringAndSize((char *)NULL, len * 4);
-                if (u == NULL)
-                        return NULL;
-                p = buf = PyString_AsString(u);
-                end = s + len;
-                while (s < end) {
-                        if (*s == '\\') {
-                                *p++ = *s++;
-                                if (*s & 0x80) {
-                                        strcpy(p, "u005c");
-                                        p += 5;
-                                }
-                        }
-                        if (*s & 0x80) { /* XXX inefficient */
-                                PyObject *w;
-                                char *r;
-                                Py_ssize_t rn, i;
-                                w = decode_utf8(&s, end, "utf-16-be");
-                                if (w == NULL) {
-                                        Py_DECREF(u);
-                                        return NULL;
-                                }
-                                r = PyString_AsString(w);
-                                rn = PyString_Size(w);
-                                assert(rn % 2 == 0);
-                                for (i = 0; i < rn; i += 2) {
-                                        sprintf(p, "\\u%02x%02x",
-                                                r[i + 0] & 0xFF,
-                                                r[i + 1] & 0xFF);
-                                        p += 6;
-                                }
-                                Py_DECREF(w);
-                        } else {
-                                *p++ = *s++;
-                        }
-                }
-                len = p - buf;
-                s = buf;
-        }
-        if (rawmode)
-                v = PyUnicode_DecodeRawUnicodeEscape(s, len, NULL);
-        else
-                v = PyUnicode_DecodeUnicodeEscape(s, len, NULL);
-        Py_XDECREF(u);
-        return v;
+       PyObject *v, *u;
+       char *buf;
+       char *p;
+       const char *end;
+       if (encoding == NULL) {
+               buf = (char *)s;
+               u = NULL;
+       } else if (strcmp(encoding, "iso-8859-1") == 0) {
+               buf = (char *)s;
+               u = NULL;
+       } else {
+               /* "\XX" may become "\u005c\uHHLL" (12 bytes) */
+               u = PyString_FromStringAndSize((char *)NULL, len * 4);
+               if (u == NULL)
+                       return NULL;
+               p = buf = PyString_AsString(u);
+               end = s + len;
+               while (s < end) {
+                       if (*s == '\\') {
+                               *p++ = *s++;
+                               if (*s & 0x80) {
+                                       strcpy(p, "u005c");
+                                       p += 5;
+                               }
+                       }
+                       if (*s & 0x80) { /* XXX inefficient */
+                               PyObject *w;
+                               char *r;
+                               Py_ssize_t rn, i;
+                               w = decode_utf8(&s, end, "utf-16-be");
+                               if (w == NULL) {
+                                       Py_DECREF(u);
+                                       return NULL;
+                               }
+                               r = PyString_AsString(w);
+                               rn = PyString_Size(w);
+                               assert(rn % 2 == 0);
+                               for (i = 0; i < rn; i += 2) {
+                                       sprintf(p, "\\u%02x%02x",
+                                               r[i + 0] & 0xFF,
+                                               r[i + 1] & 0xFF);
+                                       p += 6;
+                               }
+                               Py_DECREF(w);
+                       } else {
+                               *p++ = *s++;
+                       }
+               }
+               len = p - buf;
+               s = buf;
+       }
+       if (rawmode)
+               v = PyUnicode_DecodeRawUnicodeEscape(s, len, NULL);
+       else
+               v = PyUnicode_DecodeUnicodeEscape(s, len, NULL);
+       Py_XDECREF(u);
+       return v;
 }
 
 /* s is a Python string literal, including the bracketing quote characters,
@@ -3154,75 +3154,75 @@ decode_unicode(const char *s, size_t len, int rawmode, const char *encoding)
 static PyObject *
 parsestr(const char *s, const char *encoding)
 {
-        size_t len;
-        int quote = Py_CHARMASK(*s);
-        int rawmode = 0;
-        int need_encoding;
-        int unicode = 0;
-
-        if (isalpha(quote) || quote == '_') {
-                if (quote == 'u' || quote == 'U') {
-                        quote = *++s;
-                        unicode = 1;
-                }
-                if (quote == 'r' || quote == 'R') {
-                        quote = *++s;
-                        rawmode = 1;
-                }
-        }
-        if (quote != '\'' && quote != '\"') {
-                PyErr_BadInternalCall();
-                return NULL;
-        }
-        s++;
-        len = strlen(s);
-        if (len > INT_MAX) {
-                PyErr_SetString(PyExc_OverflowError, 
-                                "string to parse is too long");
-                return NULL;
-        }
-        if (s[--len] != quote) {
-                PyErr_BadInternalCall();
-                return NULL;
-        }
-        if (len >= 4 && s[0] == quote && s[1] == quote) {
-                s += 2;
-                len -= 2;
-                if (s[--len] != quote || s[--len] != quote) {
-                        PyErr_BadInternalCall();
-                        return NULL;
-                }
-        }
+       size_t len;
+       int quote = Py_CHARMASK(*s);
+       int rawmode = 0;
+       int need_encoding;
+       int unicode = 0;
+
+       if (isalpha(quote) || quote == '_') {
+               if (quote == 'u' || quote == 'U') {
+                       quote = *++s;
+                       unicode = 1;
+               }
+               if (quote == 'r' || quote == 'R') {
+                       quote = *++s;
+                       rawmode = 1;
+               }
+       }
+       if (quote != '\'' && quote != '\"') {
+               PyErr_BadInternalCall();
+               return NULL;
+       }
+       s++;
+       len = strlen(s);
+       if (len > INT_MAX) {
+               PyErr_SetString(PyExc_OverflowError, 
+                               "string to parse is too long");
+               return NULL;
+       }
+       if (s[--len] != quote) {
+               PyErr_BadInternalCall();
+               return NULL;
+       }
+       if (len >= 4 && s[0] == quote && s[1] == quote) {
+               s += 2;
+               len -= 2;
+               if (s[--len] != quote || s[--len] != quote) {
+                       PyErr_BadInternalCall();
+                       return NULL;
+               }
+       }
 #ifdef Py_USING_UNICODE
-        if (unicode || Py_UnicodeFlag) {
-                return decode_unicode(s, len, rawmode, encoding);
-        }
+       if (unicode || Py_UnicodeFlag) {
+               return decode_unicode(s, len, rawmode, encoding);
+       }
 #endif
-        need_encoding = (encoding != NULL &&
-                         strcmp(encoding, "utf-8") != 0 &&
-                         strcmp(encoding, "iso-8859-1") != 0);
-        if (rawmode || strchr(s, '\\') == NULL) {
-                if (need_encoding) {
+       need_encoding = (encoding != NULL &&
+                        strcmp(encoding, "utf-8") != 0 &&
+                        strcmp(encoding, "iso-8859-1") != 0);
+       if (rawmode || strchr(s, '\\') == NULL) {
+               if (need_encoding) {
 #ifndef Py_USING_UNICODE
-                        /* This should not happen - we never see any other
-                           encoding. */
-                        Py_FatalError(
-                            "cannot deal with encodings in this build.");
+                       /* This should not happen - we never see any other
+                          encoding. */
+                       Py_FatalError(
+                           "cannot deal with encodings in this build.");
 #else
-                        PyObject *v, *u = PyUnicode_DecodeUTF8(s, len, NULL);
-                        if (u == NULL)
-                                return NULL;
-                        v = PyUnicode_AsEncodedString(u, encoding, NULL);
-                        Py_DECREF(u);
-                        return v;
+                       PyObject *v, *u = PyUnicode_DecodeUTF8(s, len, NULL);
+                       if (u == NULL)
+                               return NULL;
+                       v = PyUnicode_AsEncodedString(u, encoding, NULL);
+                       Py_DECREF(u);
+                       return v;
 #endif
-                } else {
-                        return PyString_FromStringAndSize(s, len);
-                }
-        }
+               } else {
+                       return PyString_FromStringAndSize(s, len);
+               }
+       }
 
-        return PyString_DecodeEscape(s, len, NULL, unicode,
-                                     need_encoding ? encoding : NULL);
+       return PyString_DecodeEscape(s, len, NULL, unicode,
+                                    need_encoding ? encoding : NULL);
 }
 
 /* Build a Python string object out of a STRING atom.  This takes care of
@@ -3232,36 +3232,36 @@ parsestr(const char *s, const char *encoding)
 static PyObject *
 parsestrplus(struct compiling *c, const node *n)
 {
-        PyObject *v;
-        int i;
-        REQ(CHILD(n, 0), STRING);
-        if ((v = parsestr(STR(CHILD(n, 0)), c->c_encoding)) != NULL) {
-                /* String literal concatenation */
-                for (i = 1; i < NCH(n); i++) {
-                        PyObject *s;
-                        s = parsestr(STR(CHILD(n, i)), c->c_encoding);
-                        if (s == NULL)
-                                goto onError;
-                        if (PyString_Check(v) && PyString_Check(s)) {
-                                PyString_ConcatAndDel(&v, s);
-                                if (v == NULL)
-                                    goto onError;
-                        }
+       PyObject *v;
+       int i;
+       REQ(CHILD(n, 0), STRING);
+       if ((v = parsestr(STR(CHILD(n, 0)), c->c_encoding)) != NULL) {
+               /* String literal concatenation */
+               for (i = 1; i < NCH(n); i++) {
+                       PyObject *s;
+                       s = parsestr(STR(CHILD(n, i)), c->c_encoding);
+                       if (s == NULL)
+                               goto onError;
+                       if (PyString_Check(v) && PyString_Check(s)) {
+                               PyString_ConcatAndDel(&v, s);
+                               if (v == NULL)
+                                   goto onError;
+                       }
 #ifdef Py_USING_UNICODE
-                        else {
-                                PyObject *temp = PyUnicode_Concat(v, s);
-                                Py_DECREF(s);
-                                Py_DECREF(v);
-                                v = temp;
-                                if (v == NULL)
-                                    goto onError;
-                        }
+                       else {
+                               PyObject *temp = PyUnicode_Concat(v, s);
+                               Py_DECREF(s);
+                               Py_DECREF(v);
+                               v = temp;
+                               if (v == NULL)
+                                   goto onError;
+                       }
 #endif
-                }
-        }
-        return v;
+               }
+       }
+       return v;
 
  onError:
-        Py_XDECREF(v);
-        return NULL;
+       Py_XDECREF(v);
+       return NULL;
 }
index 9b1af92c905925d17c59765144529fe12dc61595..f051d13ee5e910cb2ef20aa25fcf807171336775 100644 (file)
@@ -8,7 +8,7 @@
  *   2. Builds a symbol table. See symtable.c.
  *   3. Generate code for basic blocks.  See compiler_mod() in this file.
  *   4. Assemble the basic blocks into final code.  See assemble() in
- *      this file.      
+ *     this file.       
  *   5. Optimize the byte code (peephole optimizations).  See peephole.c
  *
  * Note that compiler_mod() suggests module, but the module ast type
@@ -194,17 +194,17 @@ _Py_Mangle(PyObject *privateobj, PyObject *ident)
        }
        p = PyString_AsString(privateobj);
        nlen = strlen(name);
-        /* Don't mangle __id__ or names with dots.
+       /* Don't mangle __id__ or names with dots.
 
-           The only time a name with a dot can occur is when
-           we are compiling an import statement that has a 
-           package name.
+          The only time a name with a dot can occur is when
+          we are compiling an import statement that has a 
+          package name.
 
-           TODO(jhylton): Decide whether we want to support
-           mangling of the module name, e.g. __M.X.
-        */
+          TODO(jhylton): Decide whether we want to support
+          mangling of the module name, e.g. __M.X.
+       */
        if ((name[nlen-1] == '_' && name[nlen-2] == '_') 
-            || strchr(name, '.')) {
+           || strchr(name, '.')) {
                Py_INCREF(ident);
                return ident; /* Don't mangle __whatever__ */
        }
@@ -439,7 +439,7 @@ compiler_enter_scope(struct compiler *c, identifier name, void *key,
        struct compiler_unit *u;
 
        u = (struct compiler_unit *)PyObject_Malloc(sizeof(
-                                                struct compiler_unit));
+                                               struct compiler_unit));
        if (!u) {
                PyErr_NoMemory();
                return 0;
@@ -607,7 +607,7 @@ compiler_next_instr(struct compiler *c, basicblock *b)
        assert(b != NULL);
        if (b->b_instr == NULL) {
                b->b_instr = (struct instr *)PyObject_Malloc(
-                                 sizeof(struct instr) * DEFAULT_BLOCK_SIZE);
+                                sizeof(struct instr) * DEFAULT_BLOCK_SIZE);
                if (b->b_instr == NULL) {
                        PyErr_NoMemory();
                        return -1;
@@ -627,7 +627,7 @@ compiler_next_instr(struct compiler *c, basicblock *b)
                }
                b->b_ialloc <<= 1;
                tmp = (struct instr *)PyObject_Realloc(
-                                                (void *)b->b_instr, newsize);
+                                               (void *)b->b_instr, newsize);
                if (tmp == NULL) {
                        PyErr_NoMemory();
                        return -1;
@@ -1154,7 +1154,7 @@ compiler_mod(struct compiler *c, mod_ty mod)
        case Interactive_kind:
                c->c_interactive = 1;
                VISIT_SEQ_IN_SCOPE(c, stmt, 
-                                        mod->v.Interactive.body);
+                                       mod->v.Interactive.body);
                break;
        case Expression_kind:
                VISIT_IN_SCOPE(c, expr, mod->v.Expression.body);
@@ -1538,7 +1538,7 @@ compiler_if(struct compiler *c, stmt_ty s)
                compiler_use_next_block(c, next);
                ADDOP(c, POP_TOP);
                if (s->v.If.orelse)
-                       VISIT_SEQ(c, stmt, s->v.If.orelse);
+                       VISIT_SEQ(c, stmt, s->v.If.orelse);
        }
        compiler_use_next_block(c, end);
        return 1;
@@ -1786,8 +1786,8 @@ compiler_try_except(struct compiler *c, stmt_ty s)
                                                s->v.TryExcept.handlers, i);
                if (!handler->type && i < n-1)
                    return compiler_error(c, "default 'except:' must be last");
-        c->u->u_lineno_set = false;
-        c->u->u_lineno = handler->lineno;
+       c->u->u_lineno_set = false;
+       c->u->u_lineno = handler->lineno;
                except = compiler_new_block(c);
                if (except == NULL)
                        return 0;
@@ -2109,7 +2109,7 @@ compiler_visit_stmt(struct compiler *c, stmt_ty s)
        case Pass_kind:
                break;
        case Break_kind:
-                if (!compiler_in_loop(c))
+               if (!compiler_in_loop(c))
                        return compiler_error(c, "'break' outside loop");
                ADDOP(c, BREAK_LOOP);
                break;
@@ -2439,20 +2439,20 @@ compiler_compare(struct compiler *c, expr_ty e)
                if (cleanup == NULL)
                    return 0;
                VISIT(c, expr, 
-                        (expr_ty)asdl_seq_GET(e->v.Compare.comparators, 0));
+                       (expr_ty)asdl_seq_GET(e->v.Compare.comparators, 0));
        }
        for (i = 1; i < n; i++) {
                ADDOP(c, DUP_TOP);
                ADDOP(c, ROT_THREE);
                ADDOP_I(c, COMPARE_OP,
                        cmpop((cmpop_ty)(asdl_seq_GET(
-                                                  e->v.Compare.ops, i - 1))));
+                                                 e->v.Compare.ops, i - 1))));
                ADDOP_JREL(c, JUMP_IF_FALSE, cleanup);
                NEXT_BLOCK(c);
                ADDOP(c, POP_TOP);
                if (i < (n - 1))
                    VISIT(c, expr, 
-                            (expr_ty)asdl_seq_GET(e->v.Compare.comparators, i));
+                           (expr_ty)asdl_seq_GET(e->v.Compare.comparators, i));
        }
        VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Compare.comparators, n - 1));
        ADDOP_I(c, COMPARE_OP,
@@ -2736,7 +2736,7 @@ expr_constant(expr_ty e)
                /* __debug__ is not assignable, so we can optimize
                 * it away in if and while statements */
                if (strcmp(PyString_AS_STRING(e->v.Name.id),
-                          "__debug__") == 0)
+                          "__debug__") == 0)
                           return ! Py_OptimizeFlag;
                /* fall through */
        default:
@@ -2883,8 +2883,8 @@ compiler_visit_expr(struct compiler *c, expr_ty e)
        int i, n;
 
        /* If expr e has a different line number than the last expr/stmt,
-           set a new line number for the next instruction.
-        */
+          set a new line number for the next instruction.
+       */
        if (e->lineno > c->u->u_lineno) {
                c->u->u_lineno = e->lineno;
                c->u->u_lineno_set = false;
@@ -2914,10 +2914,10 @@ compiler_visit_expr(struct compiler *c, expr_ty e)
                for (i = 0; i < n; i++) {
                        ADDOP(c, DUP_TOP);
                        VISIT(c, expr, 
-                                (expr_ty)asdl_seq_GET(e->v.Dict.values, i));
+                               (expr_ty)asdl_seq_GET(e->v.Dict.values, i));
                        ADDOP(c, ROT_TWO);
                        VISIT(c, expr, 
-                                (expr_ty)asdl_seq_GET(e->v.Dict.keys, i));
+                               (expr_ty)asdl_seq_GET(e->v.Dict.keys, i));
                        ADDOP(c, STORE_SUBSCR);
                }
                break;
@@ -3089,13 +3089,13 @@ compiler_pop_fblock(struct compiler *c, enum fblocktype t, basicblock *b)
 
 static int
 compiler_in_loop(struct compiler *c) {
-        int i;
-        struct compiler_unit *u = c->u;
-        for (i = 0; i < u->u_nfblocks; ++i) {
-                if (u->u_fblock[i].fb_type == LOOP)
-                        return 1;
-        }
-        return 0;
+       int i;
+       struct compiler_unit *u = c->u;
+       for (i = 0; i < u->u_nfblocks; ++i) {
+               if (u->u_fblock[i].fb_type == LOOP)
+                       return 1;
+       }
+       return 0;
 }
 /* Raises a SyntaxError and returns 0.
    If something goes wrong, a different exception may be raised.
@@ -3290,7 +3290,7 @@ compiler_visit_slice(struct compiler *c, slice_ty s, expr_context_ty ctx)
                        int i, n = asdl_seq_LEN(s->v.ExtSlice.dims);
                        for (i = 0; i < n; i++) {
                                slice_ty sub = (slice_ty)asdl_seq_GET(
-                                        s->v.ExtSlice.dims, i);
+                                       s->v.ExtSlice.dims, i);
                                if (!compiler_visit_nested_slice(c, sub, ctx))
                                        return 0;
                        }
@@ -3488,7 +3488,7 @@ the line # increment in each pair generated must be 0 until the remaining addr
 increment is < 256.  So, in the example above, assemble_lnotab (it used
 to be called com_set_lineno) should not (as was actually done until 2.2)
 expand 300, 300 to 255, 255, 45, 45, 
-            but to 255,   0, 45, 255, 0, 45.
+           but to 255,   0, 45, 255, 0, 45.
 */
 
 static int