OpenSpin is an open source compiler for the Spin/PASM language of the Parallax Propeller. It was ported from Chip Gracey’s original x86 assembler code.
There is a solution/project files for VS 2013, and there are make files for use with GCC. Tested on MinGW, linux, and Mac OSX so far. It should work with any recent version of GCC. I’ve compiled with GCC 4.6 and 4.8.
They build the PropellerCompiler library and openspin.exe.
The code successfully compiles all of the Library files shipped with PropTool as well as all of the files available in the OBEX as of August 2012. That’s approximately 1450 spin files.
The only binary differences are from the corrected handling of floating point numbers (which is now IEEE compliant).
As of version r41, it supports a basic preprocessor.
PropellerCompiler.cpp/h contain the interface to the compiler. Look at openspin.cpp for an example of how to work with the interface.
openspin.exe is a command line wrapper for the compiler library. You give it a spin file and it passes it through the compiler and produces a .binary (or optional .eeprom) file with the same base name as the passed in spin file. There are several command line options available. Run openspin.exe with no arguments to get a usage description.
Note: These contain changes made by Brett, and don’t always include the latest changes from here. * Linux & Mac/OSX