This is my rendition of the LLVM Kaleidoscope language in C++ to familiarize myself with the LLVM.

For anyone who wishes to clone this repository and use the language...
1. If you intend to build LLVM specifically for this project do the following (Note that full build takes ~20 GB of disk space so I recommend option 2)
=> git clone --recursive https://github.com/dgunther2001/LLVM_Kaleidoscope_Language
=> cd external_libs/llvm-project/llvm
=> mkdir build
=> cd build
=> cmake ..
=> make
(Note that you can configure for your specific architecture so that the build is smaller)
=> cd this/project/root
2. If you have an installation of llvm, follow these instructions to save large amounts of disk space and avoid redundant installation
=> install llvm locally using Homebrew on mac, or clone from github, etc...
=> git clone https://github.com/dgunther2001/LLVM_Kaleidoscope_Language
(Then you just need a path to it, and you can use the following instructions)

Running instructions:
1. Create a build folder one layer below the root directory
=> mkdir build
=> cd build
2. Run Cmake files to initialize build in the build folder
=> cmake -DLLVM_DIR= path/to/llvm
3. Build the entire project
=> make 4. Run some Kaleidoscope (with some of my own added spice)!
a. Run without a script directly from the command line
=> ./main b. Run a test script (for example: mandelbrot.k in the test folder creates a great visualization of the mandelbrot set)
=> ./main ../tests/mandelbrot.k
(Or just a path to a file containing Kaleidoscope code that you create!)