zxbasic 0.1.0

Generates BASIC code for the Sinclar ZX Spectrum programmatically
Documentation
#[derive(Debug, Copy, Clone, PartialEq)]
pub enum Keyword {
    Rnd,
    Inkey,
    Pi,
    Fn,
    Point,
    Screen,
    Attr,
    At,
    Tab,
    ValStr,
    Code,
    Val,
    Len,
    Sin,
    Cos,
    Tan,
    Asn,
    Acs,
    Atn,
    Ln,
    Exp,
    Int,
    Sqr,
    Sgn,
    Abs,
    Peek,
    In,
    Usr,
    Str,
    Chr,
    Not,
    Bin,
    Or,
    And,
    LessOrEqual,
    GreaterOrEqual,
    NotEqual,
    Line,
    Then,
    To,
    Step,
    DefFn,
    Cat,
    Format,
    Move,
    Erase,
    Open,
    Close,
    Merge,
    Verify,
    Beep,
    Circle,
    Ink,
    Paper,
    Flash,
    Bright,
    Inverse,
    Over,
    Out,
    Lprint,
    Llist,
    Stop,
    Read,
    Data,
    Restore,
    New,
    Border,
    Continue,
    Dim,
    Rem,
    For,
    GoTo,
    GoSub,
    Input,
    Load,
    List,
    Let,
    Pause,
    Next,
    Poke,
    Print,
    Plot,
    Run,
    Save,
    Randomize,
    If,
    Cls,
    Draw,
    Clear,
    Return,
    Copy,
}

impl Keyword {
    pub fn to_byte(&self) -> u8 {
        match self {
            Self::Rnd => 165,
            Self::Inkey => 166,
            Self::Pi => 167,
            Self::Fn => 168,
            Self::Point => 169,
            Self::Screen => 170,
            Self::Attr => 171,
            Self::At => 172,
            Self::Tab => 173,
            Self::ValStr => 174,
            Self::Code => 175,
            Self::Val => 176,
            Self::Len => 177,
            Self::Sin => 178,
            Self::Cos => 179,
            Self::Tan => 180,
            Self::Asn => 181,
            Self::Acs => 182,
            Self::Atn => 183,
            Self::Ln => 184,
            Self::Exp => 185,
            Self::Int => 186,
            Self::Sqr => 187,
            Self::Sgn => 188,
            Self::Abs => 189,
            Self::Peek => 190,
            Self::In => 191,
            Self::Usr => 192,
            Self::Str => 193,
            Self::Chr => 194,
            Self::Not => 195,
            Self::Bin => 196,
            Self::Or => 197,
            Self::And => 198,
            Self::LessOrEqual => 199,
            Self::GreaterOrEqual => 200,
            Self::NotEqual => 201,
            Self::Line => 202,
            Self::Then => 203,
            Self::To => 204,
            Self::Step => 205,
            Self::DefFn => 206,
            Self::Cat => 207,
            Self::Format => 208,
            Self::Move => 209,
            Self::Erase => 210,
            Self::Open => 211,
            Self::Close => 212,
            Self::Merge => 213,
            Self::Verify => 214,
            Self::Beep => 215,
            Self::Circle => 216,
            Self::Ink => 217,
            Self::Paper => 218,
            Self::Flash => 219,
            Self::Bright => 220,
            Self::Inverse => 221,
            Self::Over => 222,
            Self::Out => 223,
            Self::Lprint => 224,
            Self::Llist => 225,
            Self::Stop => 226,
            Self::Read => 227,
            Self::Data => 228,
            Self::Restore => 229,
            Self::New => 230,
            Self::Border => 231,
            Self::Continue => 232,
            Self::Dim => 233,
            Self::Rem => 234,
            Self::For => 235,
            Self::GoTo => 236,
            Self::GoSub => 237,
            Self::Input => 238,
            Self::Load => 239,
            Self::List => 240,
            Self::Let => 241,
            Self::Pause => 242,
            Self::Next => 243,
            Self::Poke => 244,
            Self::Print => 245,
            Self::Plot => 246,
            Self::Run => 247,
            Self::Save => 248,
            Self::Randomize => 249,
            Self::If => 250,
            Self::Cls => 251,
            Self::Draw => 252,
            Self::Clear => 253,
            Self::Return => 254,
            Self::Copy => 255,
        }
    }
}