This repository contains a collection of header files for simulating a basic calculator using a Turing machine. The calculator supports addition, subtraction, multiplication, division, and factorial operations. The simulation is based on the principles and theory described in the paper Construction of Basic Calculator through Turing Machine.
The Turing machine is a theoretical computing device that manipulates symbols on an infinite tape based on a set of rules. This repository implements a Turing machine simulation of a basic calculator capable of performing addition, subtraction, multiplication, division, and factorial calculations.
The simulation aims to provide an understanding of how a Turing machine can be designed and programmed to perform arithmetic operations. It follows the principles outlined in the referenced paper, allowing developers to explore and experiment with the underlying concepts.
To use the Turing machine calculator simulation, follow these steps:
- Clone the repository to your local machine.
git clone https://github.com/arya2004/turing-machine-calculator-simulator.git
- Copy the required header files from the repository to your project directory.
- Include the desired header file(s) in your C program.
- Follow the instructions provided in the referenced paper to implement and execute the desired arithmetic operation.
To understand the concepts and theory behind the Turing machine calculator simulation, it is recommended to read the paper Simulation of Basic Calculator through Turing Machine. The paper provides detailed information on the design and implementation of the Turing machine, as well as the rules and configurations required for each supported operation.
The Turing machine calculator simulation supports the following arithmetic operations:
- Addition (+)
- Subtraction (-)
- Multiplication (*)
- Division (/)
- Factorial (!)
Each operation has its own header file, which contains the necessary definitions, rules, and configurations for simulating the operation using a Turing machine.
Contributions to this repository are welcome. If you have any improvements or additional operations to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or improvement.
- Implement your changes and test them thoroughly.
- Commit and push your changes to your forked repository.
- Submit a pull request detailing your changes and their benefits.
This repository is licensed under the MIT License. Feel free to use the code provided here in your own projects.
We would like to acknowledge the authors of the referenced paper, Construction of Basic Calculator through Turing Machine: A Review, and the Youtube video Factorial Turing machine: Computing 4!, for their valuable research and insights into implementing a calculator using a Turing machine.
If you have any questions or suggestions for improvement, please don't hesitate to open an issue or reach out to the project maintainers.
Happy calculating!