#[derive(Debug, Clone, PartialEq)] pub enum OpType { Push, Pop, Minus, Plus, Equals, Print, If, Else, End, Dup, Gt, Lt } // #[derive(Debug)] // pub enum OpType { // } #[derive(Debug, Clone)] pub struct Operator { pub typ: OpType, pub value: i32, pub pos: (String, u32, u32) } impl Operator { pub fn new(typ: OpType, value: i32, file: String, row: u32, col: u32) -> Self { Self { typ, value, pos: (file, row, col) } } } #[derive(Debug)] pub struct Token { pub file: String, pub line: u32, pub col: u32, pub text: String }