Development of an interpreted language for use in future projects, but mostly as a learning exercise.
What is this? I am embarking on a journey to develop a general purpose interpreted language in c++, mostly for educational purposes. I have many goals for doing this. One goal is to just become more familiar with modern and optimized c++ and OO principles to improve my craft. Another (albeit lofty) goal is to create a fun and engaging open-source community working to build something fun. Looking to have other contributors, and be welcoming to people who want to start contributing to an open source project.
This project is built using CMake. I will add in build details shortly, but I am currently developing this on both MacOS, and Windows. There will be some pains getting your build environment set up however I will eventually put some installation and build instructions up.
Join the Discord Server! This is going to be the main communication area for discussions, as development moves forward.
Current Development tasks can be found at the Trello Board
While working on parsing keywords, Arithmetic operations are currently broken. Will fix shortly!
Wooo! Version 0.00000001 is done! JIL can now support arithmetic operations preserving order of operations for the four basic operators, MDAS (not the full PEMDAS yet)
VariableNames can be placed on the left hand side of an "=" operator, in order to store that variable. If the variable is stored, you can then use that variable on the right side of an "=" operator to use it in arithmetic.
x=20+1-4/2
y=x*2
c = y*x
So far, white space in the lines is not a problem, spaces are stripped out by the Tokenzier.
CMake must be installed. If building on Windows, There are two possible routes, either using Visual Studio 2019 or MinGW. A VS .sln file can be generated by running
>cd BuildScripts/VisualStudio2019
>.\BuildVSProject.bat
This will place a .sln in the BuildScripts/VisualStudio2019 folder. By opening this file in Visual Studio, the project can be built, placing the executable file in BuildScripts/VisualStudio2019/Debug. When the project has been built, the interpreter can be used
>cd Debug
>.\JILInterpreter.exe \PATH\TO\testJILFile.jil
Building with an older VS should be easy by modifying the BuildVSProject.bat
file your version. This should be modified so the project can be built by more users.
The project can be built using the scripts in the "BuildScripts/Unix" folder.
In order to build on Unix both cmake and g++ need to be installed. The project can be used by running
>cd BuildScripts/Unix
>./BuildUnix.sh
>./JILInterpreter /PATH/TO/testJILFile.jil