about summary refs log tree commit diff
path: root/src/librustsyntax/parse/parser.rs
diff options
context:
space:
mode:
authorPaul Stansifer <paul.stansifer@gmail.com>2012-05-24 12:38:45 -0700
committerPaul Stansifer <paul.stansifer@gmail.com>2012-05-24 14:39:22 -0700
commit09652c8f5f0f12913396898afd4fb382ae90a448 (patch)
tree6d4c85ec703a1977edd4ecab8fa2dde835d234f9 /src/librustsyntax/parse/parser.rs
parent829c9834791cfccb6f79f860beec2f1fc4f1284d (diff)
downloadrust-09652c8f5f0f12913396898afd4fb382ae90a448.tar.gz
rust-09652c8f5f0f12913396898afd4fb382ae90a448.zip
Use an impl to access parse/common.rs
Diffstat (limited to 'src/librustsyntax/parse/parser.rs')
-rw-r--r--src/librustsyntax/parse/parser.rs535
1 files changed, 268 insertions, 267 deletions
diff --git a/src/librustsyntax/parse/parser.rs b/src/librustsyntax/parse/parser.rs
index 32bafac535b..686bbea3874 100644
--- a/src/librustsyntax/parse/parser.rs
+++ b/src/librustsyntax/parse/parser.rs
@@ -15,7 +15,6 @@ import attr::{parse_outer_attrs_or_ext,
 import common::*;
 import dvec::{dvec, extensions};
 
-export expect;
 export file_type;
 export parser;
 export parse_expr;
@@ -142,13 +141,13 @@ class parser {
 
     fn parse_ty_fn() -> fn_decl {
         let inputs =
-            parse_seq(token::LPAREN, token::RPAREN, seq_sep(token::COMMA),
-                      self) { |p|
+            self.parse_seq(token::LPAREN, token::RPAREN,
+                           seq_sep(token::COMMA)) { |p|
             let mode = p.parse_arg_mode();
             let name = if is_plain_ident(p.token)
                 && p.look_ahead(1u) == token::COLON {
 
-                let name = parse_value_ident(p);
+                let name = self.parse_value_ident();
                 p.bump();
                 name
             } else { "" };
@@ -168,14 +167,14 @@ class parser {
     }
 
     fn parse_ty_methods() -> [ty_method] {
-        (parse_seq(token::LBRACE, token::RBRACE, seq_sep_none(), self) { |p|
+        (self.parse_seq(token::LBRACE, token::RBRACE, seq_sep_none()) { |p|
             let attrs = parse_outer_attributes(p);
             let flo = p.span.lo;
             let pur = p.parse_fn_purity();
             let ident = p.parse_method_name();
             let tps = p.parse_ty_params();
             let d = p.parse_ty_fn(), fhi = p.last_span.hi;
-            expect(p, token::SEMI);
+            self.expect(token::SEMI);
             {ident: ident, attrs: attrs, decl: {purity: pur with d}, tps: tps,
              span: mk_sp(flo, fhi)}
         }).node
@@ -190,8 +189,8 @@ class parser {
     fn parse_ty_field() -> ty_field {
         let lo = self.span.lo;
         let mutbl = self.parse_mutability();
-        let id = parse_ident(self);
-        expect(self, token::COLON);
+        let id = self.parse_ident();
+        self.expect(token::COLON);
         let ty = self.parse_ty(false);
         ret spanned(lo, ty.span.hi, {ident: id, mt: {ty: ty, mutbl: mutbl}});
     }
@@ -207,7 +206,7 @@ class parser {
     fn parse_type_constr_arg() -> @ty_constr_arg {
         let sp = self.span;
         let mut carg = carg_base;
-        expect(self, token::BINOP(token::STAR));
+        self.expect(token::BINOP(token::STAR));
         if self.token == token::DOT {
             // "*..." notation for record fields
             self.bump();
@@ -224,7 +223,7 @@ class parser {
         if self.token == token::BINOP(token::STAR) {
             self.bump();
         } else {
-            let i: ident = parse_value_ident(self);
+            let i: ident = self.parse_value_ident();
             carg = carg_ident(self.ident_index(args, i));
         }
         ret @{node: carg, span: sp};
@@ -234,8 +233,9 @@ class parser {
         let lo = self.span.lo;
         let path = self.parse_path_without_tps();
         let args: {node: [@constr_arg], span: span} =
-            parse_seq(token::LPAREN, token::RPAREN, seq_sep(token::COMMA),
-                      self, {|p| p.parse_constr_arg(fn_args)});
+            self.parse_seq(token::LPAREN, token::RPAREN,
+                           seq_sep(token::COMMA),
+                           {|p| p.parse_constr_arg(fn_args)});
         ret @spanned(lo, args.span.hi,
                      {path: path, args: args.node, id: self.get_id()});
     }
@@ -244,8 +244,9 @@ class parser {
         let lo = self.span.lo;
         let path = self.parse_path_without_tps();
         let args: [@ty_constr_arg] =
-            parse_seq(token::LPAREN, token::RPAREN, seq_sep(token::COMMA),
-                      self, {|p| p.parse_type_constr_arg()}).node;
+            self.parse_seq(token::LPAREN, token::RPAREN,
+                           seq_sep(token::COMMA),
+                           {|p| p.parse_type_constr_arg()}).node;
         let hi = self.span.lo;
         let tc: ty_constr_ = {path: path, args: args, id: self.get_id()};
         ret @spanned(lo, hi, tc);
@@ -268,9 +269,9 @@ class parser {
     }
 
     fn parse_ret_ty() -> (ret_style, @ty) {
-        ret if eat(self, token::RARROW) {
+        ret if self.eat(token::RARROW) {
             let lo = self.span.lo;
-            if eat(self, token::NOT) {
+            if self.eat(token::NOT) {
                 (noreturn, @{id: self.get_id(),
                              node: ty_bot,
                              span: mk_sp(lo, self.last_span.hi)})
@@ -296,7 +297,7 @@ class parser {
 
     // Parses something like "&x"
     fn parse_region() -> @region {
-        expect(self, token::BINOP(token::AND));
+        self.expect(token::BINOP(token::AND));
         alt self.token {
           token::IDENT(sid, _) {
             self.bump();
@@ -347,7 +348,7 @@ class parser {
                 }
                 let t = if vec::len(ts) == 1u { ts[0].node }
                 else { ty_tup(ts) };
-                expect(self, token::RPAREN);
+                self.expect(token::RPAREN);
                 t
             }
         } else if self.token == token::AT {
@@ -360,11 +361,11 @@ class parser {
             self.bump();
             ty_ptr(self.parse_mt())
         } else if self.token == token::LBRACE {
-            let elems = parse_seq(token::LBRACE, token::RBRACE,
-                                  seq_sep_opt(token::COMMA), self,
-                                  {|p| p.parse_ty_field()});
+            let elems = self.parse_seq(token::LBRACE, token::RBRACE,
+                                       seq_sep_opt(token::COMMA),
+                                       {|p| p.parse_ty_field()});
             if vec::len(elems.node) == 0u {
-                unexpected_last(self, token::RBRACE);
+                self.unexpected_last(token::RBRACE);
             }
             let hi = elems.span.hi;
 
@@ -377,24 +378,24 @@ class parser {
                           self.parse_type_constraints())
             } else { t }
         } else if self.token == token::LBRACKET {
-            expect(self, token::LBRACKET);
+            self.expect(token::LBRACKET);
             let t = ty_vec(self.parse_mt());
-            expect(self, token::RBRACKET);
+            self.expect(token::RBRACKET);
             t
         } else if self.token == token::BINOP(token::AND) {
             self.bump();
             let region = self.parse_region_dot();
             let mt = self.parse_mt();
             ty_rptr(region, mt)
-        } else if eat_keyword(self, "fn") {
+        } else if self.eat_keyword("fn") {
             let proto = self.parse_fn_ty_proto();
             alt proto {
               proto_bare { self.warn("fn is deprecated, use native fn"); }
               _ { /* fallthrough */ }
             }
             ty_fn(proto, self.parse_ty_fn())
-        } else if eat_keyword(self, "native") {
-            expect_keyword(self, "fn");
+        } else if self.eat_keyword("native") {
+            self.expect_keyword("fn");
             ty_fn(proto_bare, self.parse_ty_fn())
         } else if self.token == token::MOD_SEP || is_ident(self.token) {
             let path = self.parse_path_with_tps(colons_before_params);
@@ -413,14 +414,14 @@ class parser {
     }
 
     fn parse_arg_mode() -> mode {
-        if eat(self, token::BINOP(token::AND)) {
+        if self.eat(token::BINOP(token::AND)) {
             expl(by_mutbl_ref)
-        } else if eat(self, token::BINOP(token::MINUS)) {
+        } else if self.eat(token::BINOP(token::MINUS)) {
             expl(by_move)
-        } else if eat(self, token::ANDAND) {
+        } else if self.eat(token::ANDAND) {
             expl(by_ref)
-        } else if eat(self, token::BINOP(token::PLUS)) {
-            if eat(self, token::BINOP(token::PLUS)) {
+        } else if self.eat(token::BINOP(token::PLUS)) {
+            if self.eat(token::BINOP(token::PLUS)) {
                 expl(by_val)
             } else {
                 expl(by_copy)
@@ -433,13 +434,13 @@ class parser {
 
         fn parse_capture_item(p:parser, is_move: bool) -> capture_item {
             let sp = mk_sp(p.span.lo, p.span.hi);
-            let ident = parse_ident(p);
+            let ident = p.parse_ident();
             @{id: p.get_id(), is_move: is_move, name: ident, span: sp}
         }
 
-        if eat_keyword(self, "move") {
+        if self.eat_keyword("move") {
             either::right(parse_capture_item(self, true))
-        } else if eat_keyword(self, "copy") {
+        } else if self.eat_keyword("copy") {
             either::right(parse_capture_item(self, false))
         } else {
             parse_arg_fn(self)
@@ -448,8 +449,8 @@ class parser {
 
     fn parse_arg() -> arg_or_capture_item {
         let m = self.parse_arg_mode();
-        let i = parse_value_ident(self);
-        expect(self, token::COLON);
+        let i = self.parse_value_ident();
+        self.expect(token::COLON);
         let t = self.parse_ty(false);
         either::left({mode: m, ty: t, ident: i, id: self.get_id()})
     }
@@ -461,8 +462,8 @@ class parser {
     fn parse_fn_block_arg() -> arg_or_capture_item {
         self.parse_capture_item_or() {|p|
             let m = p.parse_arg_mode();
-            let i = parse_value_ident(p);
-            let t = if eat(p, token::COLON) {
+            let i = p.parse_value_ident();
+            let t = if p.eat(token::COLON) {
                 p.parse_ty(false)
             } else {
                 @{id: p.get_id(),
@@ -486,7 +487,7 @@ class parser {
               token::LPAREN {
                 self.bump();
                 let e = self.parse_expr();
-                expect(self, token::RPAREN);
+                self.expect(token::RPAREN);
                 let hi = self.last_span.hi;
                 some(mac_aq(mk_sp(lo,hi), e))
               }
@@ -533,16 +534,16 @@ class parser {
           token::LIT_UINT(u, ut) { lit_uint(u, ut) }
           token::LIT_FLOAT(s, ft) { lit_float(self.get_str(s), ft) }
           token::LIT_STR(s) { lit_str(self.get_str(s)) }
-          token::LPAREN { expect(self, token::RPAREN); lit_nil }
-          _ { unexpected_last(self, tok); }
+          token::LPAREN { self.expect(token::RPAREN); lit_nil }
+          _ { self.unexpected_last(tok); }
         }
     }
 
     fn parse_lit() -> lit {
         let lo = self.span.lo;
-        let lit = if eat_keyword(self, "true") {
+        let lit = if self.eat_keyword("true") {
             lit_bool(true)
-        } else if eat_keyword(self, "false") {
+        } else if self.eat_keyword("false") {
             lit_bool(false)
         } else {
             let tok = self.token;
@@ -553,7 +554,8 @@ class parser {
     }
 
     fn parse_path_without_tps() -> @path {
-        self.parse_path_without_tps_(parse_ident, parse_ident)
+        self.parse_path_without_tps_({|p| p.parse_ident()},
+                                     {|p| p.parse_ident()})
     }
 
     fn parse_path_without_tps_(
@@ -561,7 +563,7 @@ class parser {
         parse_last_ident: fn(parser) -> ident) -> @path {
 
         let lo = self.span.lo;
-        let global = eat(self, token::MOD_SEP);
+        let global = self.eat(token::MOD_SEP);
         let mut ids = [];
         loop {
             let is_not_last =
@@ -570,7 +572,7 @@ class parser {
 
             if is_not_last {
                 ids += [parse_ident(self)];
-                expect(self, token::MOD_SEP);
+                self.expect(token::MOD_SEP);
             } else {
                 ids += [parse_last_ident(self)];
                 break;
@@ -581,7 +583,8 @@ class parser {
     }
 
     fn parse_value_path() -> @path {
-        self.parse_path_without_tps_(parse_ident, parse_value_ident)
+        self.parse_path_without_tps_({|p| p.parse_ident()},
+                                     {|p| p.parse_value_ident()})
     }
 
     fn parse_path_with_tps(colons: bool) -> @path {
@@ -589,7 +592,7 @@ class parser {
 
         let lo = self.span.lo;
         let path = self.parse_path_without_tps();
-        if colons && !eat(self, token::MOD_SEP) {
+        if colons && !self.eat(token::MOD_SEP) {
             ret path;
         }
 
@@ -604,7 +607,7 @@ class parser {
             if self.token == token::BINOP(token::SLASH)
                 && self.look_ahead(1u) == token::BINOP(token::AND) {
 
-                expect(self, token::BINOP(token::SLASH));
+                self.expect(token::BINOP(token::SLASH));
                 some(self.parse_region())
             } else {
                 none
@@ -614,8 +617,8 @@ class parser {
         // Parse any type parameters which may appear:
         let tps = {
             if self.token == token::LT {
-                parse_seq_lt_gt(some(token::COMMA), self,
-                                {|p| p.parse_ty(false)})
+                self.parse_seq_lt_gt(some(token::COMMA),
+                                     {|p| p.parse_ty(false)})
             } else {
                 {node: [], span: path.span}
             }
@@ -627,11 +630,11 @@ class parser {
     }
 
     fn parse_mutability() -> mutability {
-        if eat_keyword(self, "mut") {
+        if self.eat_keyword("mut") {
             m_mutbl
-        } else if eat_keyword(self, "mut") {
+        } else if self.eat_keyword("mut") {
             m_mutbl
-        } else if eat_keyword(self, "const") {
+        } else if self.eat_keyword("const") {
             m_const
         } else {
             m_imm
@@ -641,8 +644,8 @@ class parser {
     fn parse_field(sep: token::token) -> field {
         let lo = self.span.lo;
         let m = self.parse_mutability();
-        let i = parse_ident(self);
-        expect(self, sep);
+        let i = self.parse_ident();
+        self.expect(sep);
         let e = self.parse_expr();
         ret spanned(lo, e.span.hi, {mutbl: m, ident: i, expr: e});
     }
@@ -700,7 +703,7 @@ class parser {
                 self.bump(); es += [self.parse_expr()];
             }
             hi = self.span.hi;
-            expect(self, token::RPAREN);
+            self.expect(token::RPAREN);
 
             // Note: we retain the expr_tup() even for simple
             // parenthesized expressions, but only for a "little while".
@@ -710,16 +713,16 @@ class parser {
             ret self.mk_pexpr(lo, hi, expr_tup(es));
         } else if self.token == token::LBRACE {
             self.bump();
-            if is_keyword(self, "mut") ||
+            if self.is_keyword("mut") ||
                 is_plain_ident(self.token)
                 && self.look_ahead(1u) == token::COLON {
                 let mut fields = [self.parse_field(token::COLON)];
                 let mut base = none;
                 while self.token != token::RBRACE {
-                    if eat_keyword(self, "with") {
+                    if self.eat_keyword("with") {
                         base = some(self.parse_expr()); break;
                     }
-                    expect(self, token::COMMA);
+                    self.expect(token::COMMA);
                     if self.token == token::RBRACE {
                         // record ends by an optional trailing comma
                         break;
@@ -727,7 +730,7 @@ class parser {
                     fields += [self.parse_field(token::COLON)];
                 }
                 hi = self.span.hi;
-                expect(self, token::RBRACE);
+                self.expect(token::RBRACE);
                 ex = expr_rec(fields, base);
             } else if token::is_bar(self.token) {
                 ret pexpr(self.parse_fn_block_expr());
@@ -735,24 +738,24 @@ class parser {
                 let blk = self.parse_block_tail(lo, default_blk);
                 ret self.mk_pexpr(blk.span.lo, blk.span.hi, expr_block(blk));
             }
-        } else if eat_keyword(self, "new") {
-            expect(self, token::LPAREN);
+        } else if self.eat_keyword("new") {
+            self.expect(token::LPAREN);
             let r = self.parse_expr();
-            expect(self, token::RPAREN);
+            self.expect(token::RPAREN);
             let v = self.parse_expr();
             ret self.mk_pexpr(lo, self.span.hi,
                               expr_new(r, self.get_id(), v));
-        } else if eat_keyword(self, "if") {
+        } else if self.eat_keyword("if") {
             ret pexpr(self.parse_if_expr());
-        } else if eat_keyword(self, "for") {
+        } else if self.eat_keyword("for") {
             ret pexpr(self.parse_for_expr());
-        } else if eat_keyword(self, "while") {
+        } else if self.eat_keyword("while") {
             ret pexpr(self.parse_while_expr());
-        } else if eat_keyword(self, "loop") {
+        } else if self.eat_keyword("loop") {
             ret pexpr(self.parse_loop_expr());
-        } else if eat_keyword(self, "alt") {
+        } else if self.eat_keyword("alt") {
             ret pexpr(self.parse_alt_expr());
-        } else if eat_keyword(self, "fn") {
+        } else if self.eat_keyword("fn") {
             let proto = self.parse_fn_ty_proto();
             alt proto {
               proto_bare { self.fatal("fn expr are deprecated, use fn@"); }
@@ -760,16 +763,16 @@ class parser {
               _ { /* fallthrough */ }
             }
             ret pexpr(self.parse_fn_expr(proto));
-        } else if eat_keyword(self, "unchecked") {
+        } else if self.eat_keyword("unchecked") {
             ret pexpr(self.parse_block_expr(lo, unchecked_blk));
-        } else if eat_keyword(self, "unsafe") {
+        } else if self.eat_keyword("unsafe") {
             ret pexpr(self.parse_block_expr(lo, unsafe_blk));
         } else if self.token == token::LBRACKET {
             self.bump();
             let mutbl = self.parse_mutability();
             let es =
-                parse_seq_to_end(token::RBRACKET, seq_sep(token::COMMA), self,
-                                 {|p| p.parse_expr()});
+                self.parse_seq_to_end(token::RBRACKET, seq_sep(token::COMMA),
+                                      {|p| p.parse_expr()});
             hi = self.span.hi;
             ex = expr_vec(es, mutbl);
         } else if self.token == token::POUND
@@ -777,7 +780,7 @@ class parser {
             self.bump();
             self.bump();
             let ty = self.parse_ty(false);
-            expect(self, token::GT);
+            self.expect(token::GT);
 
             /* hack: early return to take advantage of specialized function */
             ret pexpr(self.mk_mac_expr(lo, self.span.hi,
@@ -796,39 +799,39 @@ class parser {
             let ex_ext = self.parse_syntax_ext();
             hi = ex_ext.span.hi;
             ex = ex_ext.node;
-        } else if eat_keyword(self, "bind") {
+        } else if self.eat_keyword("bind") {
             let e = self.parse_expr_res(RESTRICT_NO_CALL_EXPRS);
-            let es =
-                parse_seq(token::LPAREN, token::RPAREN, seq_sep(token::COMMA),
-                          self, {|p| p.parse_expr_or_hole()});
+            let es = self.parse_seq(token::LPAREN, token::RPAREN,
+                                    seq_sep(token::COMMA),
+                                    {|p| p.parse_expr_or_hole()});
             hi = es.span.hi;
             ex = expr_bind(e, es.node);
-        } else if eat_keyword(self, "fail") {
+        } else if self.eat_keyword("fail") {
             if can_begin_expr(self.token) {
                 let e = self.parse_expr();
                 hi = e.span.hi;
                 ex = expr_fail(some(e));
             } else { ex = expr_fail(none); }
-        } else if eat_keyword(self, "log") {
-            expect(self, token::LPAREN);
+        } else if self.eat_keyword("log") {
+            self.expect(token::LPAREN);
             let lvl = self.parse_expr();
-            expect(self, token::COMMA);
+            self.expect(token::COMMA);
             let e = self.parse_expr();
             ex = expr_log(2, lvl, e);
             hi = self.span.hi;
-            expect(self, token::RPAREN);
-        } else if eat_keyword(self, "assert") {
+            self.expect(token::RPAREN);
+        } else if self.eat_keyword("assert") {
             let e = self.parse_expr();
             ex = expr_assert(e);
             hi = e.span.hi;
-        } else if eat_keyword(self, "check") {
+        } else if self.eat_keyword("check") {
             /* Should be a predicate (pure boolean function) applied to
             arguments that are all either slot variables or literals.
             but the typechecker enforces that. */
             let e = self.parse_expr();
             hi = e.span.hi;
             ex = expr_check(checked_expr, e);
-        } else if eat_keyword(self, "claim") {
+        } else if self.eat_keyword("claim") {
             /* Same rules as check, except that if check-claims
             is enabled (a command-line flag), then the parser turns
             claims into check */
@@ -836,25 +839,25 @@ class parser {
             let e = self.parse_expr();
             hi = e.span.hi;
             ex = expr_check(claimed_expr, e);
-        } else if eat_keyword(self, "ret") {
+        } else if self.eat_keyword("ret") {
             if can_begin_expr(self.token) {
                 let e = self.parse_expr();
                 hi = e.span.hi;
                 ex = expr_ret(some(e));
             } else { ex = expr_ret(none); }
-        } else if eat_keyword(self, "break") {
+        } else if self.eat_keyword("break") {
             ex = expr_break;
             hi = self.span.hi;
-        } else if eat_keyword(self, "cont") {
+        } else if self.eat_keyword("cont") {
             ex = expr_cont;
             hi = self.span.hi;
-        } else if eat_keyword(self, "copy") {
+        } else if self.eat_keyword("copy") {
             let e = self.parse_expr();
             ex = expr_copy(e);
             hi = e.span.hi;
         } else if self.token == token::MOD_SEP ||
-            is_ident(self.token) && !is_keyword(self, "true") &&
-            !is_keyword(self, "false") {
+            is_ident(self.token) && !self.is_keyword("true") &&
+            !self.is_keyword("false") {
             let pth = self.parse_path_with_tps(true);
             hi = pth.span.hi;
             ex = expr_path(pth);
@@ -884,14 +887,14 @@ class parser {
     }
 
     fn parse_block_expr(lo: uint, blk_mode: blk_check_mode) -> @expr {
-        expect(self, token::LBRACE);
+        self.expect(token::LBRACE);
         let blk = self.parse_block_tail(lo, blk_mode);
         ret self.mk_expr(blk.span.lo, blk.span.hi, expr_block(blk));
     }
 
     fn parse_syntax_ext() -> @expr {
         let lo = self.span.lo;
-        expect(self, token::POUND);
+        self.expect(token::POUND);
         ret self.parse_syntax_ext_naked(lo);
     }
 
@@ -907,11 +910,11 @@ class parser {
         if (self.token == token::LPAREN || self.token == token::LBRACKET) {
             let es =
                 if self.token == token::LPAREN {
-                parse_seq(token::LPAREN, token::RPAREN,
-                          sep, self, {|p| p.parse_expr()})
+                self.parse_seq(token::LPAREN, token::RPAREN,
+                               sep, {|p| p.parse_expr()})
         } else {
-            parse_seq(token::LBRACKET, token::RBRACKET,
-                      sep, self, {|p| p.parse_expr()})
+            self.parse_seq(token::LBRACKET, token::RBRACKET,
+                           sep, {|p| p.parse_expr()})
         };
         let hi = es.span.hi;
         e = some(self.mk_expr(es.span.lo, hi,
@@ -952,21 +955,21 @@ class parser {
         let mut hi;
         loop {
             // expr.f
-            if eat(self, token::DOT) {
+            if self.eat(token::DOT) {
                 alt self.token {
                   token::IDENT(i, _) {
                     hi = self.span.hi;
                     self.bump();
-                    let tys = if eat(self, token::MOD_SEP) {
-                        expect(self, token::LT);
-                        parse_seq_to_gt(some(token::COMMA), self,
+                    let tys = if self.eat(token::MOD_SEP) {
+                        self.expect(token::LT);
+                        self.parse_seq_to_gt(some(token::COMMA),
                                         {|p| p.parse_ty(false)})
                     } else { [] };
                     e = self.mk_pexpr(lo, hi, expr_field(self.to_expr(e),
                                                          self.get_str(i),
                                                          tys));
                   }
-                  _ { unexpected(self); }
+                  _ { self.unexpected(); }
                 }
                 cont;
             }
@@ -974,10 +977,9 @@ class parser {
             alt self.token {
               // expr(...)
               token::LPAREN if self.permits_call() {
-                let es_opt =
-                    parse_seq(token::LPAREN, token::RPAREN,
-                              seq_sep(token::COMMA), self,
-                              {|p| p.parse_expr_or_hole()});
+                let es_opt = self.parse_seq(token::LPAREN, token::RPAREN,
+                                            seq_sep(token::COMMA),
+                                            {|p| p.parse_expr_or_hole()});
                 hi = es_opt.span.hi;
 
                 let nd =
@@ -1012,7 +1014,7 @@ class parser {
             self.bump();
             let ix = self.parse_expr();
             hi = ix.span.hi;
-            expect(self, token::RBRACKET);
+            self.expect(token::RBRACKET);
             self.get_id(); // see ast_util::op_expr_callee_id
             e = self.mk_pexpr(lo, hi, expr_index(self.to_expr(e), ix));
           }
@@ -1108,7 +1110,7 @@ class parser {
           }
           _ {}
         }
-        if as_prec > min_prec && eat_keyword(self, "as") {
+        if as_prec > min_prec && self.eat_keyword("as") {
             let rhs = self.parse_ty(true);
             let _as =
                 self.mk_pexpr(lhs.span.lo, rhs.span.hi, expr_cast(lhs, rhs));
@@ -1171,7 +1173,7 @@ class parser {
         let thn = self.parse_block();
         let mut els: option<@expr> = none;
         let mut hi = thn.span.hi;
-        if eat_keyword(self, "else") {
+        if self.eat_keyword("else") {
             let elexpr = self.parse_else_expr();
             els = some(elexpr);
             hi = elexpr.span.hi;
@@ -1180,7 +1182,7 @@ class parser {
     }
 
     fn parse_if_expr() -> @expr {
-        if eat_keyword(self, "check") {
+        if self.eat_keyword("check") {
             let q = self.parse_if_expr_1();
             ret self.mk_expr(q.lo, q.hi,
                              expr_if_check(q.cond, q.then, q.els));
@@ -1216,7 +1218,7 @@ class parser {
     }
 
     fn parse_else_expr() -> @expr {
-        if eat_keyword(self, "if") {
+        if self.eat_keyword("if") {
             ret self.parse_if_expr();
         } else {
             let blk = self.parse_block();
@@ -1258,15 +1260,15 @@ class parser {
 
     fn parse_alt_expr() -> @expr {
         let lo = self.last_span.lo;
-        let mode = if eat_keyword(self, "check") { alt_check }
+        let mode = if self.eat_keyword("check") { alt_check }
         else { alt_exhaustive };
         let discriminant = self.parse_expr();
-        expect(self, token::LBRACE);
+        self.expect(token::LBRACE);
         let mut arms: [arm] = [];
         while self.token != token::RBRACE {
             let pats = self.parse_pats();
             let mut guard = none;
-            if eat_keyword(self, "if") { guard = some(self.parse_expr()); }
+            if self.eat_keyword("if") { guard = some(self.parse_expr()); }
             let blk = self.parse_block();
             arms += [{pats: pats, guard: guard, body: blk}];
         }
@@ -1351,7 +1353,7 @@ class parser {
             let mut first = true;
             while self.token != token::RBRACE {
                 if first { first = false; }
-                else { expect(self, token::COMMA); }
+                else { self.expect(token::COMMA); }
 
                 if self.token == token::UNDERSCORE {
                     self.bump();
@@ -1365,9 +1367,9 @@ class parser {
 
                 let lo1 = self.last_span.lo;
                 let fieldname = if self.look_ahead(1u) == token::COLON {
-                    parse_ident(self)
+                    self.parse_ident()
                 } else {
-                    parse_value_ident(self)
+                    self.parse_value_ident()
                 };
                 let hi1 = self.last_span.lo;
                 let fieldpath = ast_util::ident_to_path(mk_sp(lo1, hi1),
@@ -1401,17 +1403,17 @@ class parser {
                     self.bump();
                     fields += [self.parse_pat()];
                 }
-                if vec::len(fields) == 1u { expect(self, token::COMMA); }
+                if vec::len(fields) == 1u { self.expect(token::COMMA); }
                 hi = self.span.hi;
-                expect(self, token::RPAREN);
+                self.expect(token::RPAREN);
                 pat = pat_tup(fields);
             }
           }
           tok {
-            if !is_ident(tok) || is_keyword(self, "true")
-                || is_keyword(self, "false") {
+            if !is_ident(tok) || self.is_keyword("true")
+                || self.is_keyword("false") {
                 let val = self.parse_expr_res(RESTRICT_NO_BAR_OP);
-                if eat_keyword(self, "to") {
+                if self.eat_keyword("to") {
                     let end = self.parse_expr_res(RESTRICT_NO_BAR_OP);
                     hi = end.span.hi;
                     pat = pat_range(val, end);
@@ -1425,7 +1427,7 @@ class parser {
                   _ { true }
                 } {
                 let name = self.parse_value_path();
-                let sub = if eat(self, token::AT) { some(self.parse_pat()) }
+                let sub = if self.eat(token::AT) { some(self.parse_pat()) }
                 else { none };
                 pat = pat_ident(name, sub);
             } else {
@@ -1440,12 +1442,12 @@ class parser {
                         // This is a "top constructor only" pat
                         self.bump(); self.bump();
                         star_pat = true;
-                        expect(self, token::RPAREN);
+                        self.expect(token::RPAREN);
                       }
                       _ {
-                        let a = parse_seq(token::LPAREN, token::RPAREN,
-                                          seq_sep(token::COMMA), self,
-                                          {|p| p.parse_pat()});
+                        let a = self.parse_seq(token::LPAREN, token::RPAREN,
+                                               seq_sep(token::COMMA),
+                                               {|p| p.parse_pat()});
                         args = a.node;
                         hi = a.span.hi;
                       }
@@ -1477,7 +1479,7 @@ class parser {
         let mut ty = @{id: self.get_id(),
                        node: ty_infer,
                        span: mk_sp(lo, lo)};
-        if eat(self, token::COLON) { ty = self.parse_ty(false); }
+        if self.eat(token::COLON) { ty = self.parse_ty(false); }
         let init = if allow_init { self.parse_initializer() } else { none };
         ret @spanned(lo, self.last_span.hi,
                      {is_mutbl: is_mutbl, ty: ty, pat: pat,
@@ -1485,10 +1487,10 @@ class parser {
     }
 
     fn parse_let() -> @decl {
-        let is_mutbl = eat_keyword(self, "mut");
+        let is_mutbl = self.eat_keyword("mut");
         let lo = self.span.lo;
         let mut locals = [self.parse_local(is_mutbl, true)];
-        while eat(self, token::COMMA) {
+        while self.eat(token::COMMA) {
             locals += [self.parse_local(is_mutbl, true)];
         }
         ret @spanned(lo, self.last_span.hi, decl_local(locals));
@@ -1498,14 +1500,14 @@ class parser {
     fn parse_instance_var(pr: visibility) -> @class_member {
         let mut is_mutbl = class_immutable;
         let lo = self.span.lo;
-        if eat_keyword(self, "mut") {
+        if self.eat_keyword("mut") {
             is_mutbl = class_mutable;
         }
         if !is_plain_ident(self.token) {
             self.fatal("expecting ident");
         }
-        let name = parse_ident(self);
-        expect(self, token::COLON);
+        let name = self.parse_ident();
+        self.expect(token::COLON);
         let ty = self.parse_ty(false);
         ret @{node: instance_var(name, ty, is_mutbl, self.get_id(), pr),
               span: mk_sp(lo, self.last_span.hi)};
@@ -1520,9 +1522,9 @@ class parser {
         }
 
         let lo = self.span.lo;
-        if is_keyword(self, "let") {
+        if self.is_keyword("let") {
             check_expected_item(self, first_item_attrs);
-            expect_keyword(self, "let");
+            self.expect_keyword("let");
             let decl = self.parse_let();
             ret @spanned(lo, decl.span.hi, stmt_decl(decl, self.get_id()));
         } else {
@@ -1580,18 +1582,18 @@ class parser {
         }
 
         let lo = self.span.lo;
-        if eat_keyword(self, "unchecked") {
-            expect(self, token::LBRACE);
+        if self.eat_keyword("unchecked") {
+            self.expect(token::LBRACE);
             let {inner, next} = maybe_parse_inner_attrs_and_next(self,
                                                                  parse_attrs);
             ret (inner, self.parse_block_tail_(lo, unchecked_blk, next));
-        } else if eat_keyword(self, "unsafe") {
-            expect(self, token::LBRACE);
+        } else if self.eat_keyword("unsafe") {
+            self.expect(token::LBRACE);
             let {inner, next} = maybe_parse_inner_attrs_and_next(self,
                                                                  parse_attrs);
             ret (inner, self.parse_block_tail_(lo, unsafe_blk, next));
         } else {
-            expect(self, token::LBRACE);
+            self.expect(token::LBRACE);
             let {inner, next} = maybe_parse_inner_attrs_and_next(self,
                                                                  parse_attrs);
             ret (inner, self.parse_block_tail_(lo, default_blk, next));
@@ -1658,7 +1660,7 @@ class parser {
                     stmts += [stmt];
 
                     if classify::stmt_ends_with_semi(*stmt) {
-                        expect(self, token::SEMI);
+                        self.expect(token::SEMI);
                     }
                   }
                 }
@@ -1674,11 +1676,11 @@ class parser {
 
     fn parse_ty_param() -> ty_param {
         let mut bounds = [];
-        let ident = parse_ident(self);
-        if eat(self, token::COLON) {
+        let ident = self.parse_ident();
+        if self.eat(token::COLON) {
             while self.token != token::COMMA && self.token != token::GT {
-                if eat_keyword(self, "send") { bounds += [bound_send]; }
-                else if eat_keyword(self, "copy") { bounds += [bound_copy]; }
+                if self.eat_keyword("send") { bounds += [bound_send]; }
+                else if self.eat_keyword("copy") { bounds += [bound_copy]; }
                 else { bounds += [bound_iface(self.parse_ty(false))]; }
             }
         }
@@ -1686,16 +1688,15 @@ class parser {
     }
 
     fn parse_ty_params() -> [ty_param] {
-        if eat(self, token::LT) {
-            parse_seq_to_gt(some(token::COMMA), self,
-                            {|p| p.parse_ty_param()})
+        if self.eat(token::LT) {
+            self.parse_seq_to_gt(some(token::COMMA), {|p| p.parse_ty_param()})
         } else { [] }
     }
 
     // FIXME Remove after snapshot
     fn parse_old_skool_capture_clause() -> [capture_item] {
         fn expect_opt_trailing_semi(p: parser) {
-            if !eat(p, token::SEMI) {
+            if !p.eat(token::SEMI) {
                 if p.token != token::RBRACKET {
                     p.fatal("expecting ; or ]");
                 }
@@ -1709,9 +1710,9 @@ class parser {
                   token::IDENT(_, _) {
                     let id = p.get_id();
                     let sp = mk_sp(p.span.lo, p.span.hi);
-                    let ident = parse_ident(p);
+                    let ident = p.parse_ident();
                     res += [@{id:id, is_move: is_move, name:ident, span:sp}];
-                    if !eat(p, token::COMMA) {
+                    if !p.eat(token::COMMA) {
                         ret res;
                     }
                   }
@@ -1723,12 +1724,12 @@ class parser {
 
         let mut cap_items = [];
 
-        if eat(self, token::LBRACKET) {
-            while !eat(self, token::RBRACKET) {
-                if eat_keyword(self, "copy") {
+        if self.eat(token::LBRACKET) {
+            while !self.eat(token::RBRACKET) {
+                if self.eat_keyword("copy") {
                     cap_items += eat_ident_list(self, false);
                     expect_opt_trailing_semi(self);
-                } else if eat_keyword(self, "move") {
+                } else if self.eat_keyword("move") {
                     cap_items += eat_ident_list(self, true);
                     expect_opt_trailing_semi(self);
                 } else {
@@ -1746,8 +1747,8 @@ class parser {
         -> (fn_decl, capture_clause) {
 
         let args_or_capture_items: [arg_or_capture_item] =
-            parse_seq(token::LPAREN, token::RPAREN, seq_sep(token::COMMA),
-                      self, parse_arg_fn).node;
+            self.parse_seq(token::LPAREN, token::RPAREN,
+                           seq_sep(token::COMMA), parse_arg_fn).node;
 
         let inputs = either::lefts(args_or_capture_items);
         let capture_clause = @either::rights(args_or_capture_items);
@@ -1770,15 +1771,15 @@ class parser {
 
     fn parse_fn_block_decl() -> (fn_decl, capture_clause) {
         let inputs_captures = {
-            if eat(self, token::OROR) {
+            if self.eat(token::OROR) {
                 []
             } else {
-                parse_seq(token::BINOP(token::OR), token::BINOP(token::OR),
-                          seq_sep(token::COMMA), self,
-                          {|p| p.parse_fn_block_arg()}).node
+                self.parse_seq(token::BINOP(token::OR),
+                               token::BINOP(token::OR), seq_sep(token::COMMA),
+                               {|p| p.parse_fn_block_arg()}).node
             }
         };
-        let output = if eat(self, token::RARROW) {
+        let output = if self.eat(token::RARROW) {
             self.parse_ty(false)
         } else {
             @{id: self.get_id(), node: ty_infer, span: self.span}
@@ -1792,7 +1793,7 @@ class parser {
     }
 
     fn parse_fn_header() -> {ident: ident, tps: [ty_param]} {
-        let id = parse_value_ident(self);
+        let id = self.parse_value_ident();
         let ty_params = self.parse_ty_params();
         ret {ident: id, tps: ty_params};
     }
@@ -1819,10 +1820,10 @@ class parser {
         alt self.token {
           token::BINOP(op) { self.bump(); token::binop_to_str(op) }
           token::NOT { self.bump(); "!" }
-          token::LBRACKET { self.bump(); expect(self, token::RBRACKET); "[]" }
+          token::LBRACKET { self.bump(); self.expect(token::RBRACKET); "[]" }
           _ {
-            let id = parse_value_ident(self);
-            if id == "unary" && eat(self, token::BINOP(token::MINUS)) {
+            let id = self.parse_value_ident();
+            if id == "unary" && self.eat(token::BINOP(token::MINUS)) {
                 "unary-"
             }
             else { id }
@@ -1844,7 +1845,7 @@ class parser {
     }
 
     fn parse_item_iface() -> item_info {
-        let ident = parse_ident(self);
+        let ident = self.parse_ident();
         let rp = self.parse_region_param();
         let tps = self.parse_ty_params();
         let meths = self.parse_ty_methods();
@@ -1865,15 +1866,15 @@ class parser {
             } else if self.token == token::BINOP(token::SLASH) {
                 (none, self.parse_region_param(), self.parse_ty_params())
             }
-            else if is_keyword(self, "of") {
+            else if self.is_keyword("of") {
                 (none, rp_none, [])
             } else {
-                let id = parse_ident(self);
+                let id = self.parse_ident();
                 let rp = self.parse_region_param();
                 (some(id), rp, self.parse_ty_params())
             }
         };
-        let ifce = if eat_keyword(self, "of") {
+        let ifce = if self.eat_keyword("of") {
             let path = self.parse_path_with_tps(false);
             if option::is_none(ident) {
                 ident = some(vec::last(path.idents));
@@ -1882,27 +1883,27 @@ class parser {
         } else { none };
         let ident = alt ident {
           some(name) { name }
-          none { expect_keyword(self, "of"); fail; }
+          none { self.expect_keyword("of"); fail; }
         };
-        expect_keyword(self, "for");
+        self.expect_keyword("for");
         let ty = self.parse_ty(false);
         let mut meths = [];
-        expect(self, token::LBRACE);
-        while !eat(self, token::RBRACE) {
+        self.expect(token::LBRACE);
+        while !self.eat(token::RBRACE) {
             meths += [self.parse_method(public)];
         }
         (ident, item_impl(tps, rp, ifce, ty, meths), none)
     }
 
     fn parse_item_res() -> item_info {
-        let ident = parse_value_ident(self);
+        let ident = self.parse_value_ident();
         let rp = self.parse_region_param();
         let ty_params = self.parse_ty_params();
-        expect(self, token::LPAREN);
-        let arg_ident = parse_value_ident(self);
-        expect(self, token::COLON);
+        self.expect(token::LPAREN);
+        let arg_ident = self.parse_value_ident();
+        self.expect(token::COLON);
         let t = self.parse_ty(false);
-        expect(self, token::RPAREN);
+        self.expect(token::RPAREN);
         let dtor = self.parse_block_no_value();
         let decl = {
             inputs: [{mode: expl(by_ref), ty: t,
@@ -1946,19 +1947,19 @@ class parser {
     }
 
     fn parse_iface_ref_list() -> [@iface_ref] {
-        parse_seq_to_before_end(token::LBRACE, seq_sep(token::COMMA), self,
-                                {|p| p.parse_iface_ref()})
+        self.parse_seq_to_before_end(token::LBRACE, seq_sep(token::COMMA),
+                                     {|p| p.parse_iface_ref()})
     }
 
     fn parse_item_class() -> item_info {
-        let class_name = parse_value_ident(self);
+        let class_name = self.parse_value_ident();
         let rp = self.parse_region_param();
         let ty_params = self.parse_ty_params();
         let class_path = self.ident_to_path_tys(class_name, rp, ty_params);
-        let ifaces : [@iface_ref] = if eat_keyword(self, "implements")
+        let ifaces : [@iface_ref] = if self.eat_keyword("implements")
             { self.parse_iface_ref_list() }
         else { [] };
-        expect(self, token::LBRACE);
+        self.expect(token::LBRACE);
         let mut ms: [@class_member] = [];
         let ctor_id = self.get_id();
         let mut the_ctor : option<(fn_decl, blk, codemap::span)> = none;
@@ -2003,9 +2004,9 @@ class parser {
 
     fn parse_single_class_item(vis: visibility)
         -> @class_member {
-        if eat_keyword(self, "let") {
+        if self.eat_keyword("let") {
             let a_var = self.parse_instance_var(vis);
-            expect(self, token::SEMI);
+            self.expect(token::SEMI);
             ret a_var;
         }
         else {
@@ -2034,16 +2035,16 @@ class parser {
 
     fn parse_class_item(class_name_with_tps: @path)
         -> class_contents {
-        if eat_keyword(self, "new") {
+        if self.eat_keyword("new") {
             // result type is always the type of the class
             ret self.parse_ctor(ty_path(class_name_with_tps,
                                         self.get_id()));
         }
-        else if eat_keyword(self, "drop") {
+        else if self.eat_keyword("drop") {
             ret self.parse_dtor();
         }
-        else if eat_keyword(self, "priv") {
-            expect(self, token::LBRACE);
+        else if self.eat_keyword("priv") {
+            self.expect(token::LBRACE);
         let mut results = [];
         while self.token != token::RBRACE {
             results += [self.parse_single_class_item(private)];
@@ -2058,8 +2059,8 @@ class parser {
 }
 
     fn parse_visibility(def: visibility) -> visibility {
-        if eat_keyword(self, "pub") { public }
-        else if eat_keyword(self, "priv") { private }
+        if self.eat_keyword("pub") { public }
+        else if self.eat_keyword("priv") { private }
         else { def }
     }
 
@@ -2094,21 +2095,21 @@ class parser {
     }
 
     fn parse_item_const() -> item_info {
-        let id = parse_value_ident(self);
-        expect(self, token::COLON);
+        let id = self.parse_value_ident();
+        self.expect(token::COLON);
         let ty = self.parse_ty(false);
-        expect(self, token::EQ);
+        self.expect(token::EQ);
         let e = self.parse_expr();
-        expect(self, token::SEMI);
+        self.expect(token::SEMI);
         (id, item_const(ty, e), none)
     }
 
     fn parse_item_mod() -> item_info {
-        let id = parse_ident(self);
-        expect(self, token::LBRACE);
+        let id = self.parse_ident();
+        self.expect(token::LBRACE);
         let inner_attrs = parse_inner_attrs_and_next(self);
         let m = self.parse_mod_items(token::RBRACE, inner_attrs.next);
-        expect(self, token::RBRACE);
+        self.expect(token::RBRACE);
         (id, item_mod(m), some(inner_attrs.inner))
     }
 
@@ -2118,7 +2119,7 @@ class parser {
         let t = self.parse_fn_header();
         let (decl, _) = self.parse_fn_decl(purity, {|p| p.parse_arg()});
         let mut hi = self.span.hi;
-        expect(self, token::SEMI);
+        self.expect(token::SEMI);
         ret @{ident: t.ident,
               attrs: attrs,
               node: native_item_fn(decl, t.tps),
@@ -2127,15 +2128,15 @@ class parser {
     }
 
     fn parse_fn_purity() -> purity {
-        if eat_keyword(self, "fn") { impure_fn }
-        else if eat_keyword(self, "pure") {
-            expect_keyword(self, "fn");
+        if self.eat_keyword("fn") { impure_fn }
+        else if self.eat_keyword("pure") {
+            self.expect_keyword("fn");
             pure_fn
-        } else if eat_keyword(self, "unsafe") {
-            expect_keyword(self, "fn");
+        } else if self.eat_keyword("unsafe") {
+            self.expect_keyword("fn");
             unsafe_fn
         }
-        else { unexpected(self); }
+        else { self.unexpected(); }
     }
 
     fn parse_native_item(+attrs: [attribute]) ->
@@ -2160,18 +2161,18 @@ class parser {
     }
 
     fn parse_item_native_mod() -> item_info {
-        expect_keyword(self, "mod");
-        let id = parse_ident(self);
-        expect(self, token::LBRACE);
+        self.expect_keyword("mod");
+        let id = self.parse_ident();
+        self.expect(token::LBRACE);
         let more_attrs = parse_inner_attrs_and_next(self);
         let m = self.parse_native_mod_items(more_attrs.next);
-        expect(self, token::RBRACE);
+        self.expect(token::RBRACE);
         (id, item_native_mod(m), some(more_attrs.inner))
     }
 
     fn parse_type_decl() -> {lo: uint, ident: ident} {
         let lo = self.last_span.lo;
-        let id = parse_ident(self);
+        let id = self.parse_ident();
         ret {lo: lo, ident: id};
     }
 
@@ -2179,15 +2180,15 @@ class parser {
         let t = self.parse_type_decl();
         let rp = self.parse_region_param();
         let tps = self.parse_ty_params();
-        expect(self, token::EQ);
+        self.expect(token::EQ);
         let ty = self.parse_ty(false);
-        expect(self, token::SEMI);
+        self.expect(token::SEMI);
         (t.ident, item_ty(ty, tps, rp), none)
     }
 
     fn parse_region_param() -> region_param {
-        if eat(self, token::BINOP(token::SLASH)) {
-            expect(self, token::BINOP(token::AND));
+        if self.eat(token::BINOP(token::SLASH)) {
+            self.expect(token::BINOP(token::AND));
             rp_self
         } else {
             rp_none
@@ -2195,16 +2196,16 @@ class parser {
     }
 
     fn parse_item_enum(default_vis: visibility) -> item_info {
-        let id = parse_ident(self);
+        let id = self.parse_ident();
         let rp = self.parse_region_param();
         let ty_params = self.parse_ty_params();
         let mut variants: [variant] = [];
         // Newtype syntax
         if self.token == token::EQ {
-            check_restricted_keywords_(self, id);
+            self.check_restricted_keywords_(id);
             self.bump();
             let ty = self.parse_ty(false);
-            expect(self, token::SEMI);
+            self.expect(token::SEMI);
             let variant =
                 spanned(ty.span.lo, ty.span.hi,
                         {name: id,
@@ -2215,7 +2216,7 @@ class parser {
                          vis: public});
             ret (id, item_enum([variant], ty_params, rp), none);
         }
-        expect(self, token::LBRACE);
+        self.expect(token::LBRACE);
 
         let mut all_nullary = true, have_disr = false;
 
@@ -2223,17 +2224,17 @@ class parser {
             let variant_attrs = parse_outer_attributes(self);
             let vlo = self.span.lo;
             let vis = self.parse_visibility(default_vis);
-            let ident = parse_value_ident(self);
+            let ident = self.parse_value_ident();
             let mut args = [], disr_expr = none;
             if self.token == token::LPAREN {
                 all_nullary = false;
-                let arg_tys = parse_seq(token::LPAREN, token::RPAREN,
-                                        seq_sep(token::COMMA), self,
-                                        {|p| p.parse_ty(false)});
+                let arg_tys = self.parse_seq(token::LPAREN, token::RPAREN,
+                                             seq_sep(token::COMMA),
+                                             {|p| p.parse_ty(false)});
                 for arg_tys.node.each {|ty|
                     args += [{ty: ty, id: self.get_id()}];
                 }
-            } else if eat(self, token::EQ) {
+            } else if self.eat(token::EQ) {
                 have_disr = true;
                 disr_expr = some(self.parse_expr());
             }
@@ -2243,9 +2244,9 @@ class parser {
                       disr_expr: disr_expr, vis: vis};
             variants += [spanned(vlo, self.last_span.hi, vr)];
 
-            if !eat(self, token::COMMA) { break; }
+            if !self.eat(token::COMMA) { break; }
         }
-        expect(self, token::RBRACE);
+        self.expect(token::RBRACE);
         if (have_disr && !all_nullary) {
             self.fatal("discriminator values can only be used with a c-like \
                         enum");
@@ -2287,38 +2288,38 @@ class parser {
     fn parse_item(+attrs: [attribute], vis: visibility)
         -> option<@item> {
         let lo = self.span.lo;
-        let (ident, item_, extra_attrs) = if eat_keyword(self, "const") {
+        let (ident, item_, extra_attrs) = if self.eat_keyword("const") {
             self.parse_item_const()
-        } else if is_keyword(self, "fn") &&
+        } else if self.is_keyword("fn") &&
             !self.fn_expr_lookahead(self.look_ahead(1u)) {
             self.bump();
             self.parse_item_fn(impure_fn)
-        } else if eat_keyword(self, "pure") {
-            expect_keyword(self, "fn");
+        } else if self.eat_keyword("pure") {
+            self.expect_keyword("fn");
             self.parse_item_fn(pure_fn)
-        } else if is_keyword(self, "unsafe")
+        } else if self.is_keyword("unsafe")
             && self.look_ahead(1u) != token::LBRACE {
             self.bump();
-            expect_keyword(self, "fn");
+            self.expect_keyword("fn");
             self.parse_item_fn(unsafe_fn)
-        } else if eat_keyword(self, "crust") {
-            expect_keyword(self, "fn");
+        } else if self.eat_keyword("crust") {
+            self.expect_keyword("fn");
             self.parse_item_fn(crust_fn)
-        } else if eat_keyword(self, "mod") {
+        } else if self.eat_keyword("mod") {
             self.parse_item_mod()
-        } else if eat_keyword(self, "native") {
+        } else if self.eat_keyword("native") {
             self.parse_item_native_mod()
-        } else if eat_keyword(self, "type") {
+        } else if self.eat_keyword("type") {
             self.parse_item_type()
-        } else if eat_keyword(self, "enum") {
+        } else if self.eat_keyword("enum") {
             self.parse_item_enum(vis)
-        } else if eat_keyword(self, "iface") {
+        } else if self.eat_keyword("iface") {
             self.parse_item_iface()
-        } else if eat_keyword(self, "impl") {
+        } else if self.eat_keyword("impl") {
             self.parse_item_impl()
-        } else if eat_keyword(self, "resource") {
+        } else if self.eat_keyword("resource") {
             self.parse_item_res()
-        } else if eat_keyword(self, "class") {
+        } else if self.eat_keyword("class") {
             self.parse_item_class()
         } else { ret none; };
         some(self.mk_item(lo, self.last_span.hi, ident, item_, vis,
@@ -2329,24 +2330,24 @@ class parser {
     }
 
     fn parse_use() -> view_item_ {
-        let ident = parse_ident(self);
+        let ident = self.parse_ident();
         let metadata = parse_optional_meta(self);
         ret view_item_use(ident, metadata, self.get_id());
     }
 
     fn parse_view_path() -> @view_path {
         let lo = self.span.lo;
-        let first_ident = parse_ident(self);
+        let first_ident = self.parse_ident();
         let mut path = [first_ident];
         #debug("parsed view_path: %s", first_ident);
         alt self.token {
           token::EQ {
             // x = foo::bar
             self.bump();
-            path = [parse_ident(self)];
+            path = [self.parse_ident()];
             while self.token == token::MOD_SEP {
                 self.bump();
-                let id = parse_ident(self);
+                let id = self.parse_ident();
                 path += [id];
             }
             let path = @{span: mk_sp(lo, self.span.hi), global: false,
@@ -2370,9 +2371,9 @@ class parser {
                   // foo::bar::{a,b,c}
                   token::LBRACE {
                     let idents =
-                        parse_seq(token::LBRACE, token::RBRACE,
-                                  seq_sep(token::COMMA), self,
-                                  {|p| parse_path_list_ident(p)}).node;
+                        self.parse_seq(token::LBRACE, token::RBRACE,
+                                       seq_sep(token::COMMA),
+                                       {|p| p.parse_path_list_ident()}).node;
                     let path = @{span: mk_sp(lo, self.span.hi),
                                  global: false, idents: path,
                                  rp: none, types: []};
@@ -2413,24 +2414,24 @@ class parser {
     }
 
     fn is_view_item() -> bool {
-        let tok = if !is_keyword(self, "pub") && !is_keyword(self, "priv") {
+        let tok = if !self.is_keyword("pub") && !self.is_keyword("priv") {
             self.token
         } else { self.look_ahead(1u) };
-        token_is_keyword(self, "use", tok)
-            || token_is_keyword(self, "import", tok)
-            || token_is_keyword(self, "export", tok)
+        self.token_is_keyword("use", tok)
+            || self.token_is_keyword("import", tok)
+            || self.token_is_keyword("export", tok)
     }
 
     fn parse_view_item(+attrs: [attribute]) -> @view_item {
         let lo = self.span.lo, vis = self.parse_visibility(private);
-        let node = if eat_keyword(self, "use") {
+        let node = if self.eat_keyword("use") {
             self.parse_use()
-        } else if eat_keyword(self, "import") {
+        } else if self.eat_keyword("import") {
             view_item_import(self.parse_view_paths())
-        } else if eat_keyword(self, "export") {
+        } else if self.eat_keyword("export") {
             view_item_export(self.parse_view_paths())
         } else { fail; };
-        expect(self, token::SEMI);
+        self.expect(token::SEMI);
         @{node: node, attrs: attrs,
           vis: vis, span: mk_sp(lo, self.last_span.hi)}
     }
@@ -2440,7 +2441,7 @@ class parser {
                                           view_items: [@view_item]} {
         let mut attrs = first_item_attrs + parse_outer_attributes(self);
         let mut items = [];
-        while if only_imports { is_keyword(self, "import") }
+        while if only_imports { self.is_keyword("import") }
         else { self.is_view_item() } {
             items += [self.parse_view_item(attrs)];
             attrs = parse_outer_attributes(self);
@@ -2485,9 +2486,9 @@ class parser {
         let expect_mod = vec::len(outer_attrs) > 0u;
 
         let lo = self.span.lo;
-        if expect_mod || is_keyword(self, "mod") {
-            expect_keyword(self, "mod");
-            let id = parse_ident(self);
+        if expect_mod || self.is_keyword("mod") {
+            self.expect_keyword("mod");
+            let id = self.parse_ident();
             alt self.token {
               // mod x = "foo.rs";
               token::SEMI {
@@ -2504,11 +2505,11 @@ class parser {
                 let cdirs = self.parse_crate_directives(token::RBRACE,
                                                         next_outer_attr);
                 let mut hi = self.span.hi;
-                expect(self, token::RBRACE);
+                self.expect(token::RBRACE);
                 ret spanned(lo, hi,
                             cdir_dir_mod(id, cdirs, mod_attrs));
               }
-              _ { unexpected(self); }
+              _ { self.unexpected(); }
             }
         } else if self.is_view_item() {
             let vi = self.parse_view_item(outer_attrs);
@@ -2524,7 +2525,7 @@ class parser {
         // accept seeing the terminator next, so if we do see it then fail the
         // same way parse_crate_directive would
         if vec::len(first_outer_attr) > 0u && self.token == term {
-            expect_keyword(self, "mod");
+            self.expect_keyword("mod");
         }
 
         let mut cdirs: [@crate_directive] = [];