code: function() {
      var token = this.expect('if');
  
      this.state.push('conditional');
      this.cond = true;
      var node = new nodes.If(this.expression())
        , cond
        , block
        , item;
  
      node.column = token.column;
  
      this.cond = false;
      node.block = this.block(node, false);
      this.skip(['newline', 'comment']);
      while (this.accept('else')) {
        token = this.accept('if');
        if (token) {
          this.cond = true;
          cond = this.expression();
          this.cond = false;
          block = this.block(node, false);
          item = new nodes.If(cond, block);
  
          item.column = token.column;
  
          node.elses.push(item);
        } else {
          node.elses.push(this.block(node, false));
          break;
        }
        this.skip(['newline', 'comment']);
      }
      this.state.pop();
      return node;
    }
docs: if expression block (else block)?