Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

SSOL: The Simple Shape Oriented Language


Maddy Tipp mrt2148 (Manager/Tester)

Jeevan Farias jtf2126 (Language Designer)

Daniel Mesko dpm2153 (System Architect)

COMS4115: Programming Languages and Translators

SSOL was completed as a semester project for COMS4115 with Professor Stephen Edwards. Details can be found on the course website.

Compilation Instructions

To compile and run SSOL programs, first run 'make' to create the compiler executable 'ssol.native', along with object code for our SVG libraries.

To run and test our hello world test program:

$ cd compiler
$ make
$ ./ssol tests/test-draw

The executable shell script 'ssol', compiles the input file 'test/test-draw.ssol' into LLVM IR in a file called 'tests/test-draw.ll'. Then 'llc' is used to compile the .ll into assembly code, saved in 'tests/test-draw.s'. Finally, the assembly code is linked with our relevant object code, 'printbig.o', 'draw.o', and 'svg.o', to produce and then run an executable called 'tests/test-draw'. The executable is automatically removed by the shell script after it is run. This program outputs a single svg file 'hello_world.svg', the name of which is hard-coded within this test program. The file will be written the same directory from which the compiler is run. 'hello_world.svg' can be opened in any text or image editor.


An OCaml compiler for the SSOL programming language






No releases published


No packages published