13 stable releases
2.1.6 | Jan 20, 2024 |
---|---|
2.1.4 | Oct 16, 2023 |
2.1.3 | Jul 25, 2023 |
1.1.3 | Mar 27, 2023 |
#188 in Programming languages
68 downloads per month
47KB
1K
SLoC
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 (here is the code)
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]
:
turing_lib = "^2.1"
or
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:
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 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
Dependencies
~5–7MB
~128K SLoC