1
0
Fork 0

Added NULL, RBrace, LBrace tokens

This commit is contained in:
Ishan Jain 2019-02-04 11:10:36 +05:30
parent c84e73756f
commit 561c4c6089
2 changed files with 4 additions and 2 deletions

View File

@ -94,6 +94,7 @@ impl Iterator for Lexer {
')' => Some(Token::RParen), ')' => Some(Token::RParen),
'[' => Some(Token::LBrace), '[' => Some(Token::LBrace),
']' => Some(Token::RBrace), ']' => Some(Token::RBrace),
'0' => Some(Token::EOF),
_ => None, _ => None,
} }
} }

View File

@ -16,6 +16,8 @@ mod tests {
Token::Plus, Token::Plus,
Token::LParen, Token::LParen,
Token::RParen, Token::RParen,
Token::LBrace,
Token::RBrace,
Token::Comma, Token::Comma,
Token::Semicolon, Token::Semicolon,
Token::EOF, Token::EOF,
@ -23,12 +25,11 @@ mod tests {
let tokenized_output = Lexer::new(input).collect::<Vec<Token>>(); let tokenized_output = Lexer::new(input).collect::<Vec<Token>>();
println!("{:?}", tokenized_output);
assert_eq!(expected.len(), tokenized_output.len()); assert_eq!(expected.len(), tokenized_output.len());
println!("{:?}", tokenized_output);
for (exp, actual) in expected.into_iter().zip(tokenized_output) { for (exp, actual) in expected.into_iter().zip(tokenized_output) {
assert_eq!(actual, exp); assert_eq!(actual, exp);
println!("{:?} {:?}", actual, exp);
} }
} }
} }