#[derive(Debug, Clone, PartialEq, Eq)]
pub enum TokenKind {
Fn,
Pub,
Let,
Mut,
Struct,
Mod,
If,
Else,
While,
Break,
Continue,
Return,
ReservedKeyword(String),
Identifier(String),
IntegerLiteral(String),
FloatLiteral(String),
StringLiteral(String),
BoolLiteral(bool),
Lifetime(String),
Plus,
Minus,
Star,
Slash,
Percent,
Eq,
EqEq,
NotEq,
Lt,
LtEq,
Gt,
GtEq,
Bang,
AmpAmp,
PipePipe,
Amp,
ColonColon,
Colon,
Semi,
Comma,
Dot,
LParen,
RParen,
LBrace,
RBrace,
Arrow,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Token {
pub kind: TokenKind,
pub span: crate::span::Span,
}