turing_machine_rs/program/
mod.rs

1//! Provides [`Program`] realization for Turing machine.
2//!
3//! This module provides a [`Program`] which is used for initialization
4//! a [`crate::TuringMachine`] and the [`Extend`] trait for the [`Program`]
5//! which allows to extend the [`Program`] by tuples of
6//! ([`usize`], [`crate::Symbol`], [`usize`], [`crate::Symbol`], [`crate::instruction::Move`]).
7
8mod core;
9pub use self::core::Program;
10
11/// Helper trait which allows to implement extend method.
12pub trait Extend<I: ?Sized> {
13    /// Extends the program with some object depends to realization.
14    fn extend(&mut self, iterable: I) -> Result<(), String>;
15}