Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anthhon/calculator
Terminal based calculator made in C.
https://github.com/anthhon/calculator
Last synced: 7 days ago
JSON representation
Terminal based calculator made in C.
- Host: GitHub
- URL: https://github.com/anthhon/calculator
- Owner: Anthhon
- Created: 2023-11-29T13:30:48.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-11T20:20:24.000Z (about 1 year ago)
- Last Synced: 2024-11-16T12:09:29.886Z (2 months ago)
- Language: C
- Size: 45.9 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Calculator
`Calculator` is a terminal based calculator implemented entirely in C.
## Usage
```bash
calc
```## Installing
```bash
git clone [email protected]:Anthhon/calculator.git
cd calculator
make build-linux # or make build-windows
./build/calc -t
```After using these commands above, you should see a sequence of successful messages on your screen, signalizing that the application is working correctly. After that, the program can be installed automatically into your Linux system by using this command:
```bash
make install-linux
```## Project Roadmap
- [X] Arguments parsing
- [X] Implement lexer to tokenize input
- [X] Implement formula interpreter
- [X] Create test script## Features
- [X] Handle 4 basic operations (+, -, *, /)
- [X] Handle number powering (^)
- [X] Negative number operations
- [X] Float number operations
- [X] Handle {[()]} symbols
- [ ] Handle logarithmic## Contact
If you have any questions, suggestions, or need assistance, feel free to reach out to the project maintainers by [opening an issue](https://github.com/Anthhon/calculator/issues).
Also, don't forget to check the [project roadmap section](https://github.com/Anthhon/calculator#project-roadmap) and see if anything interest you.
We appreciate your interest in contributing to `calculator` and look forward to your contributions!
### References
- [How to write an interpreter from scratch](https://www.toptal.com/scala/writing-an-interpreter)