Skip to content
No description, website, or topics provided.
C++ CMake
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
SL3
src
test
.gitignore
CMakeLists.txt
LICENSE
README.md

README.md

Simplified Lisp-Like Language Compiler

Simplified Lisp-Like Language (SL3) is, as its name suggests, a language that is a simplification of lisp, created for learning purposes. More details on the specifications of the language can be found in SL3/specifications.md.

The compiler consists of a lexer, an SLR parser, and LLVM code generation. The compiler reads input at the lexing stage, parses into a parse tree, and then transpiles to LLVM and compiles LLVM.

To use SL3, please first download LLVM (If you are on OSX, I suggest using homebrew). Make sure the llvm executables are in your $PATH.

For some example programs, take a look at test/.

To compile:

$ cd build/
$ cmake ..
$ make
$ mv sl3 /usr/local/bin/

Note that the last step is optional, but it is suggested that you put sl3 in your bin if you will be using it frequently.

To view the output of an SL3 program, simply execute echo $? after running the compiled binary. For example:

$ path/to/sl3 example_no_write.sl3
$ ./a.out
$ echo $?
13
You can’t perform that action at this time.