ferth 0.2.0

A safe, native-sized Forth. no_std compatible.
Documentation
use core::num::NonZero;

pub trait State {
    fn throw_xt(&self) -> Option<NonZero<usize>> {
        None
    }
}

pub struct Booting {}
impl State for Booting {}

pub struct Booted {
    pub xt_catch: usize,
    pub xt_interpret: usize,
    pub xt_throw: usize,
}
impl State for Booted {
    fn throw_xt(&self) -> Option<NonZero<usize>> {
        NonZero::new(self.xt_throw)
    }
}

pub struct Loading {}
impl State for Loading {}

pub struct Ready {
    pub xt_quit: usize,
    pub xt_load: usize,
}
impl State for Ready {}