/// Eat everything up to a non-whitespace
fn eat<'a>(it: &mut iter::Peekable<(uint, char), str::CharOffsets<'a>>) {
loop {
- match it.peek().map(|x| x.val1()) {
+ match it.peek().map(|x| x.1) {
Some(' ') | Some('\n') | Some('\r') | Some('\t') => {
it.next();
},
'\\' => {
let ch = chars.peek().unwrap_or_else(|| {
panic!("{}", error(i).as_slice())
- }).val1();
+ }).1;
if ch == '\n' {
eat(&mut chars);
chars.next();
let ch = chars.peek().unwrap_or_else(|| {
panic!("{}", error(i).as_slice())
- }).val1();
+ }).1;
if ch != '\n' {
panic!("lexer accepted bare CR");
'\r' => {
let ch = chars.peek().unwrap_or_else(|| {
panic!("{}", error(i).as_slice())
- }).val1();
+ }).1;
if ch != '\n' {
panic!("lexer accepted bare CR");
/// Eat everything up to a non-whitespace
fn eat<'a, I: Iterator<(uint, u8)>>(it: &mut iter::Peekable<(uint, u8), I>) {
loop {
- match it.peek().map(|x| x.val1()) {
+ match it.peek().map(|x| x.1) {
Some(b' ') | Some(b'\n') | Some(b'\r') | Some(b'\t') => {
it.next();
},
match chars.next() {
Some((i, b'\\')) => {
let em = error(i);
- match chars.peek().expect(em.as_slice()).val1() {
+ match chars.peek().expect(em.as_slice()).1 {
b'\n' => eat(&mut chars),
b'\r' => {
chars.next();
- if chars.peek().expect(em.as_slice()).val1() != b'\n' {
+ if chars.peek().expect(em.as_slice()).1 != b'\n' {
panic!("lexer accepted bare CR");
}
eat(&mut chars);
},
Some((i, b'\r')) => {
let em = error(i);
- if chars.peek().expect(em.as_slice()).val1() != b'\n' {
+ if chars.peek().expect(em.as_slice()).1 != b'\n' {
panic!("lexer accepted bare CR");
}
chars.next();
}
token::Literal(lit, suf) => {
let (suffix_illegal, out) = match lit {
- token::Byte(i) => (true, LitByte(parse::byte_lit(i.as_str()).val0())),
- token::Char(i) => (true, LitChar(parse::char_lit(i.as_str()).val0())),
+ token::Byte(i) => (true, LitByte(parse::byte_lit(i.as_str()).0)),
+ token::Char(i) => (true, LitChar(parse::char_lit(i.as_str()).0)),
// there are some valid suffixes for integer and
// float literals, so all the handling is done