From dfc528e8e770f09e228fd60721a47020d43e6806 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sun, 25 Dec 2016 20:59:21 -0700 Subject: [PATCH] Find left vector parens --- src/lexer/mod.rs | 5 +++++ src/lexer/token.rs | 1 + 2 files changed, 6 insertions(+) diff --git a/src/lexer/mod.rs b/src/lexer/mod.rs index 8f4bb09..d1c6d2d 100644 --- a/src/lexer/mod.rs +++ b/src/lexer/mod.rs @@ -139,6 +139,10 @@ impl Lexer { self.advance(); *token = Some(Token::Boolean(c.is_boolean_true())); } + else if c.is_left_paren() { + self.advance(); + *token = Some(Token::LeftVectorParen); + } } fn state_string(&mut self, c: char, token: &mut Option) { @@ -208,6 +212,7 @@ mod tests { fn lexer_finds_parens() { check_single_token("(", Token::LeftParen(String::from("("))); check_single_token(")", Token::RightParen(String::from(")"))); + check_single_token("#(", Token::LeftVectorParen); } #[test] diff --git a/src/lexer/token.rs b/src/lexer/token.rs index ab66c69..c56b6ca 100644 --- a/src/lexer/token.rs +++ b/src/lexer/token.rs @@ -6,6 +6,7 @@ #[derive(PartialEq)] pub enum Token { LeftParen(String), + LeftVectorParen, RightParen(String), Dot, Identifier(String),