From 158457c18805bec4a0df223691bea47032c13336 Mon Sep 17 00:00:00 2001 From: Akshay Date: Sat, 20 Mar 2021 21:34:59 +0530 Subject: begin work on parser --- src/lisp/lex.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/lisp/lex.rs') diff --git a/src/lisp/lex.rs b/src/lisp/lex.rs index a1bea5f..3b1389d 100644 --- a/src/lisp/lex.rs +++ b/src/lisp/lex.rs @@ -6,13 +6,12 @@ use super::error::LispError; pub enum Token<'a> { LeftParen, RightParen, - Comment(&'a str), Float(&'a str), Integer(&'a str), - Char(&'a str), + // Char(&'a str), String(&'a str), Name(&'a str), - Keyword(&'a str), + // Keyword(&'a str), BackQuote, Comma, CommaAt, @@ -25,13 +24,12 @@ impl<'a> fmt::Display for Token<'a> { match self { Token::LeftParen => write!(f, "("), Token::RightParen => write!(f, ")"), - Token::Comment(_) => write!(f, "comment"), Token::Float(_) => write!(f, "float"), Token::Integer(_) => write!(f, "integer"), - Token::Char(_) => write!(f, "char"), + // Token::Char(_) => write!(f, "char"), Token::String(_) => write!(f, "string"), Token::Name(_) => write!(f, "name"), - Token::Keyword(_) => write!(f, "keyword"), + // Token::Keyword(_) => write!(f, "keyword"), Token::BackQuote => write!(f, "`"), Token::Comma => write!(f, ","), Token::CommaAt => write!(f, ",@"), @@ -48,7 +46,7 @@ pub struct Span { } impl Span { - fn empty(pos: u32) -> Self { + pub fn empty(pos: u32) -> Self { Self { low: pos, high: pos, @@ -299,5 +297,7 @@ mod tests { assert_eq!(tokens("; foo"), []); assert_eq!(tokens("1; foo"), [(sp(0, 1), Token::Integer("1"))]); + assert_eq!(tokens(">="), [(sp(0, 2), Token::Name(">="))]); + assert_eq!(tokens("&&"), [(sp(0, 2), Token::Name("&&"))]); } } -- cgit v1.2.3