# Turing Machine Backend Library
A powerful and efficient Turing Machine backend library written in Rust! This library contains the essential components, compiler, and abstractions needed to create, run, and manage Turing Machines.
## Demo
Check out the [online demo](https://turing.coldboard.net) (here is [the code](https://github.com/turing-marcos/turing-machine))
## Features
- Efficient Turing Machine implementation
- Compiler for custom Turing Machine code
- Abstractions to create and modify Turing Machines programmatically
- Support for both deterministic and non-deterministic Turing Machines
- Cross-platform compatibility
## Installation
Add the following to your `Cargo.toml` file under `[dependencies]`:
```toml
turing_lib = "^2.1"
```
or
```toml
turing_lib = { git = "https://github.com/turing-marcos/turing-lib/" }
```
for the git version.
Then, run cargo build to download and compile the library.
## Usage
To use the Turing Machine Backend Library in your Rust project, simply import it:
```Rust
use turing_lib::TuringMachine;
fn main() {
let unparsed_file = fs::read_to_string(&"./some_file").expect("cannot read file");
let (tm, warnings) = match TuringMachine::new(&unparsed_file) {
Ok(t) => t,
Err(e: CompilerError) => {
handle_error(e, file);
std::process::exit(1);
}
};
}
```
Refer to the [API documentation](https://docs.rs/turing-lib/latest/turing_lib/) for detailed information on the available methods and structures.
## Examples
You can find examples on how to use this library in the examples folder of this repository.
## Contributing
We welcome contributions! Feel free to submit pull requests, issues, or suggestions. Please follow the [contributing guidelines](https://github.com/turing-marcos/turing-lib/)