Add Token::Unit.

This commit is contained in:
Stephen Chung
2022-04-21 10:04:46 +08:00
parent 299d6ef308
commit 5e4f27ae25
5 changed files with 69 additions and 34 deletions

View File

@@ -382,6 +382,8 @@ pub enum Token {
LeftBracket,
/// `]`
RightBracket,
/// `()`
Unit,
/// `+`
Plus,
/// `+` (unary)
@@ -558,6 +560,7 @@ impl Token {
RightParen => ")",
LeftBracket => "[",
RightBracket => "]",
Unit => "()",
Plus => "+",
UnaryPlus => "+",
Minus => "-",
@@ -754,6 +757,7 @@ impl Token {
")" => RightParen,
"[" => LeftBracket,
"]" => RightBracket,
"()" => Unit,
"+" => Plus,
"-" => Minus,
"*" => Multiply,
@@ -1702,6 +1706,12 @@ fn get_next_token_inner(
('{', ..) => return Some((Token::LeftBrace, start_pos)),
('}', ..) => return Some((Token::RightBrace, start_pos)),
// Unit
('(', ')') => {
eat_next(stream, pos);
return Some((Token::Unit, start_pos));
}
// Parentheses
('(', '*') => {
eat_next(stream, pos);