stackr_rs/interpreter/built_ins/
mod.rs

1/// Definitions for addressing words.
2mod addressing;
3/// Definitions for compiling words.
4mod compiler;
5/// Definitions for conditional words.
6mod conditionals;
7/// Definitions for control flow words.
8mod control_flow;
9/// Definitions for equality words.
10mod equality;
11/// Definitions for logic words.
12mod logic;
13/// Definitions for math words.
14mod math;
15/// Definitions for read mode words.
16mod read_mode;
17/// Definitions for runtime words.
18mod runtime;
19/// Definitions for stack words.
20mod stack_ops;
21/// Definitions for string words.
22mod string;
23
24use super::*;
25
26/// A type alias for the operation a built-in word performs.
27pub type BuiltIn<State> = fn(&mut Interpreter<State>) -> Result<(), Err>;
28
29impl<State> Interpreter<State> {
30    /// Register all built-in words.
31    pub(crate) fn register_builtins(&mut self) {
32        runtime::register_builtins(self);
33        read_mode::register_builtins(self);
34        compiler::register_builtins(self);
35        addressing::register_builtins(self);
36        stack_ops::register_builtins(self);
37        equality::register_builtins(self);
38        logic::register_builtins(self);
39        conditionals::register_builtins(self);
40        control_flow::register_builtins(self);
41        math::register_builtins(self);
42        string::register_builtins(self);
43    }
44}