pub fn parse_else_expr(&mut self) -> PResult<'a, P<Expr>> {
        if self.eat_keyword(keywords::If) {
            return self.parse_if_expr(None);
        } else {
            let blk = try!(self.parse_block());
            return Ok(self.mk_expr(blk.span.lo, blk.span.hi, ExprKind::Block(blk), None));
        }
    }
// `else` token already eaten
`else` token already eaten
` else ` token already eaten
pub fn parse_else_expr(&mut self) -> PResult<'a, P<Expr>> {
        if self.eat_keyword(keywords::If) {
            return self.parse_if_expr(None);
        } else {
            let blk = try!(self.parse_block());
            return Ok(self.mk_expr(blk.span.lo, blk.span.hi, ExprKind::Block(blk), None));
        }
    }
pub fn parse_else_expr ( & mut self ) -> PResult < ' a , P < Expr > > { if self . eat_keyword ( keywords :: If ) { return self . parse_if_expr ( None ) ; } else { let blk = try ! ( self parse_block ( ) ) ; return Ok ( self . mk_expr ( blk . span . lo , blk . span . hi , ExprKind :: Block ( blk ) , None ) ) ; } }
`else` token already eaten
` else ` token already eaten
&mut self
&mut self