Babbage Lite is an Analytical Engine interpreter based on a certain professor's simplified lesson on Charles Babbage's Analytical Engine at a certain university. It is inspired by John Walker's Analytical Engine Emulator.
This interpreter aims to provide a simplified yet functional approach to understanding Babbage's design and its basic principles.
Below are some key differences between the original machine and the certain professor's simplified model:
| Original Analytical Engine | Simplified Analytical Engine | |
|---|---|---|
| Number Representation | Has a decimal-based gear system where each gear represented a digit (0-9). | Will handle real numbers of any size. |
| Registers & Memory | Includes 2 primed ingress axes and 1 primed egress axis for complex data manipulation. | Does not use primed ingress axes or primed egress axes. |
| Operation Cards | Includes addition, subtraction, multiplication, and division. | Also includes modulo due to not having primed ingress axes or primed egress axes. |
Sample programs demonstrating the interpreter's capabilities can be found in the examples directory (feel free to modify/use these):
A quick-start syntax reference can be found in syntax.md.
Contributions are welcome! Here's how you can contribute:
- Fork the repository.
- Create a new branch for your changes (
git checkout -b feature-xyz). - Commit your changes (
git commit -m "feat: add feature-xyz"). - Push to the branch (
git push origin feature-xyz). - Open a pull request.
- Bell Sound by Universfield from Pixabay
- Idea inspired by John Walker's Analytical Engine Emulator and my certain professor who made sure we understood him
"Do you follow?"
This project is licensed under the MIT License - see the LICENSE file for details.