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