1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
pub const SPACES: &str = "\r\n\t "; pub const DIGITS: &str = "0123456789"; pub const PUNCTUATIONS: &str = ";"; #[derive(Debug, PartialEq, Clone)] pub enum Token { Eof, SemiColon, NewLine, Integer(String), } impl Token { pub fn is_eof(&self) -> bool { match self { Token::Eof => true, _ => false, } } pub fn is_semicolon(&self) -> bool { match self { Token::SemiColon => true, _ => false, } } pub fn is_newline(&self) -> bool { match self { Token::NewLine => true, _ => false, } } } pub fn string_is_token(character: String) -> bool { if SPACES.contains(&character.as_str()) { true } else { false } }