From 0e4469fa587b7d93f2de3c524e03b989674d41f8 Mon Sep 17 00:00:00 2001 From: greg Date: Sat, 25 Jul 2015 13:55:18 -0700 Subject: [PATCH] Filled out keyword tokenizing --- src/tokenizer.rs | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/tokenizer.rs b/src/tokenizer.rs index 28bc4db..a1e866c 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -17,7 +17,6 @@ pub enum Kw { Then, Else, While, - Do, End, Let, Fn, @@ -92,9 +91,18 @@ pub fn tokenize(input: &str) -> Vec { } fn handle_identifier(identifier: String) -> Token { - match &identifier[..] { - "let" => Token::Keyword(Kw::Let), - "if" => Token::Keyword(Kw::If), - _ => Token::Identifier(identifier) - } + + let keyword = match &identifier[..] { + "let" => Kw::Let, + "if" => Kw::If, + "then" => Kw::Then, + "else" => Kw::Else, + "while" => Kw::While, + "end" => Kw::End, + "fn" => Kw::Fn, + "null" => Kw::Null, + _ => return Token::Identifier(identifier) + }; + + return Token::Keyword(keyword); }