Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/osor-io/MathInterpreterCLI
Interpreter for mathematical expressions using Flex and Bison. Supports Vectors, Matrices and all of its relevant operations.
https://github.com/osor-io/MathInterpreterCLI
Last synced: 2 months ago
JSON representation
Interpreter for mathematical expressions using Flex and Bison. Supports Vectors, Matrices and all of its relevant operations.
- Host: GitHub
- URL: https://github.com/osor-io/MathInterpreterCLI
- Owner: osor-io
- License: gpl-3.0
- Created: 2016-11-30T22:01:03.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-04-17T19:12:36.000Z (almost 8 years ago)
- Last Synced: 2024-04-24T15:34:50.990Z (9 months ago)
- Language: C
- Homepage:
- Size: 126 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- AwesomeInterpreter - MathInterpreterCLI
README
# MathInterpreterCLI (WolframBeta)
An interpreter for mathematical expressions similar to a command line while learning Flex and Bison and its integration. Supports all commonly used operations with single numbers, vectors and matrices (with floats, integers, booleans, etc).To compile the program you can use the compile.sh found on the /scripts/ folder and then use run.sh or runWithLoad.sh to test it.
If you want to compile the program but you dont have cmake or make in your system you could compile it with the next flex, bison and gcc commands (should be executed in /src/(the gcc) and /src/Flex\&Bison (flex and bison commands)):
```bash
flex mainFlex.lbison -v -d mainBison.y
gcc main.c ./readerSystem/readerSystem.c ./readerSystem/readerSystem.h ./errorManager/errorManager.c ./errorManager/errorManager.h ./symbolTable/symbolTable.c ./symbolTable/symbolTable.h utils/bHashTable.c utils/bHashTable.h utils/colours.h utils/defineParser.c utils/defineParser.h Flex\&Bison/CLIHelp.c Flex\&Bison/CLIHelp.h -Wall -Wextra -lm
```Then you could execute it yourself with:
```bash
./a.out [-l file_to_load]
```