stackr_rs/interpreter/built_ins/mod.rs
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
/// Definitions for addressing words.
mod addressing;
/// Definitions for compiling words.
mod compiler;
/// Definitions for conditional words.
mod conditionals;
/// Definitions for control flow words.
mod control_flow;
/// Definitions for equality words.
mod equality;
/// Definitions for logic words.
mod logic;
/// Definitions for math words.
mod math;
/// Definitions for read mode words.
mod read_mode;
/// Definitions for runtime words.
mod runtime;
/// Definitions for stack words.
mod stack_ops;
/// Definitions for string words.
mod string;
use super::*;
/// A type alias for the operation a built-in word performs.
pub type BuiltIn<State> = fn(&mut Interpreter<State>) -> Result<(), Err>;
impl<State> Interpreter<State> {
/// Register all built-in words.
pub(crate) fn register_builtins(&mut self) {
runtime::register_builtins(self);
read_mode::register_builtins(self);
compiler::register_builtins(self);
addressing::register_builtins(self);
stack_ops::register_builtins(self);
equality::register_builtins(self);
logic::register_builtins(self);
conditionals::register_builtins(self);
control_flow::register_builtins(self);
math::register_builtins(self);
string::register_builtins(self);
}
}