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
mod error; use std::collections::HashMap; use std::convert::TryFrom; use std::convert::TryInto; /// This Enum lists the token types that are used by the Forth interpreter #[derive(Debug)] pub enum Token { Number(i64), Command(String), Colon(String), SemiColon, End, Error(String), Comment(String), } // This macro lets you statically initialize a hashmap macro_rules! hashmap { ($( $key: expr => $val: expr ),*) => {{ let mut map = ::std::collections::HashMap::new(); $( map.insert($key, $val); )* map }} }