Skip to content
/ ssol Public

An OCaml compiler for the SSOL programming language

Notifications You must be signed in to change notification settings

dpmesko/ssol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSOL: The Simple Shape Oriented Language

Authors:

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.

About

An OCaml compiler for the SSOL programming language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •