Add extern keyword.
This commit is contained in:
parent
f2f4b0537e
commit
35a849233c
@ -89,6 +89,7 @@ impl<'a> Lexer<'a> {
|
|||||||
"fn" => TokenKind::Fn,
|
"fn" => TokenKind::Fn,
|
||||||
"end" => TokenKind::End,
|
"end" => TokenKind::End,
|
||||||
"let" => TokenKind::Let,
|
"let" => TokenKind::Let,
|
||||||
|
"extern" => TokenKind::Extern,
|
||||||
_ => TokenKind::Identifier,
|
_ => TokenKind::Identifier,
|
||||||
};
|
};
|
||||||
Token::new(self.position, self.position + prefix.len(), token_kind)
|
Token::new(self.position, self.position + prefix.len(), token_kind)
|
||||||
@ -163,4 +164,10 @@ mod tests {
|
|||||||
assert_next(&mut lexer, TokenKind::Fn, 2);
|
assert_next(&mut lexer, TokenKind::Fn, 2);
|
||||||
assert_eq!(lexer.next(), None);
|
assert_eq!(lexer.next(), None);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn extern_returned() {
|
||||||
|
let mut lexer = Lexer::new("extern");
|
||||||
|
assert_next(&mut lexer, TokenKind::Extern, 6);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,4 +35,5 @@ pub enum TokenKind {
|
|||||||
IntegerLiteral,
|
IntegerLiteral,
|
||||||
LongLiteral,
|
LongLiteral,
|
||||||
String,
|
String,
|
||||||
|
Extern
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user