davidv1992 / SPLCompiler

A (somewhat) simple compiler for the SPL language, first started as a project for compiler construction course

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction:
-------------

This directory and it subdirectories contain my spl compiler and the test 
 infrastructure supporting it.

The implementation is entirely written in noweb, with c++ as the programming 
 language. This means that noweb is a build-time requirement since it is used 
 to extract all of the code for the compiler. Noweb is available as a package
 on ubuntu (package name: noweb), and can also be obtained at 
 https://www.cs.tufts.edu/~nr/noweb/. A package with pre-generated source files 
 (.c and .h) can be provided on request.

Building:
---------

Running make in the root directory will produce the compiler. This is a single
 executable named compiler. Giving it the argument -help will give a usage
 description.

An individual testprogram <program> can be build by issuing

	make testprogs/<program>

A suite with test input is provided in the tests/ directory tree. Running the
 test programs against these testcases can be done with

	make test

Since the source is noweb, it can be turned into a pdf. This requires a latex 
 distribution to be available on the system that provides at the least the
 packages amsmath, mathpartir, noweb, geometry, textcomp, hypenat, hyperref and 
 longtable. Also the tool latexmk needs to be available, it is used to manage
 the build process.
 
The pdf of the main compiler code can be produced with

	make code.pdf

That for the test programs is available with

	make test.pdf

About

A (somewhat) simple compiler for the SPL language, first started as a project for compiler construction course

License:Other


Languages

Language:Makefile 94.8%Language:TeX 5.2%