use std::str::FromStr; use crate::vm::{ syn::ast::*, }; grammar; // TODO : instkind InstOp: InstOp = { "add" => InstOp::Add, "mul" => InstOp::Mul, "div" => InstOp::Div, "neg" => InstOp::Neg, "and" => InstOp::And, "or" => InstOp::Or, "xor" => InstOp::Xor, "shl" => InstOp::Shl, "shr" => InstOp::Shr, "cmpeq" => InstOp::CmpEq, "cmplt" => InstOp::CmpLt, "jz" => InstOp::Jz, "jnz" => InstOp::Jnz, "load" => InstOp::Load, "store" => InstOp::Store, "storeimm" => InstOp::StoreImm, "copy" => InstOp::Copy, "nop" => InstOp::Nop, "halt" => InstOp::Halt, } LabelDef: String = {