From 9f8050a5596b55f0325d39599537717678bb1bc5 Mon Sep 17 00:00:00 2001 From: Adam Wick Date: Fri, 12 May 2023 17:28:13 -0700 Subject: [PATCH] Add lexer support for angles, which we'll use for casting. --- src/syntax/tokens.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/syntax/tokens.rs b/src/syntax/tokens.rs index 8b6efd1..edad9ce 100644 --- a/src/syntax/tokens.rs +++ b/src/syntax/tokens.rs @@ -40,6 +40,12 @@ pub enum Token { #[token(")")] RightParen, + #[token("<")] + LessThan, + + #[token(">")] + GreaterThan, + // Next we take of any reserved words; I always like to put // these before we start recognizing more complicated regular // expressions. I don't think it matters, but it works for me. @@ -89,6 +95,8 @@ impl fmt::Display for Token { Token::Semi => write!(f, "';'"), Token::LeftParen => write!(f, "'('"), Token::RightParen => write!(f, "')'"), + Token::LessThan => write!(f, "<"), + Token::GreaterThan => write!(f, ">"), Token::Print => write!(f, "'print'"), Token::Operator(c) => write!(f, "'{}'", c), Token::Number((None, otype, v)) => write!(f, "'{}{}'", v, display_optional_type(otype)),