use crate::Expr;
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, Hash)]
pub enum Token {
TokenExpr(Expr),
Str(String),
StartParens,
EndParens,
StartSquareBracket,
EndSquareBracket,
StartCurlyBracket,
EndCurlyBracket,
Comma,
Space,
NewLine,
Tabs,
TabsPrev,
}
impl Token {
pub fn is_start_bracket(&self) -> bool {
use Token::*;
match self {
StartParens | StartSquareBracket | StartCurlyBracket => true,
_ => false,
}
}
}
impl From<Expr> for Token {
fn from(val: Expr) -> Token {Token::TokenExpr(val)}
}