ShivamSarodia / ShivC

A small C compiler written in Python for learning purposes
GNU General Public License v2.0
40 stars 39 forks source link

ShivC (deprecated - see ShivyC instead)

SHIVC IS A DEPRECATED PROJECT:

I've moved to working on ShivyC, a complete rewrite of ShivC, for a few reasons:

ShivC

A small C compiler witten in Python in a couple weeks over my winter break. Generates x64 Intel-format assembly, which is then assembled and linked by nasm and ld.

Tested on OS X El Capitan 10.11.1 64-bit, Python 3.4.3, and NASM 2.11.08. The assembly uses OS X system calls, so it certainly won't run on Linux or Windows, and it may not run on other versions of OS X.

Note: ShivC is not meant to generate binaries that run quickly. The output code is at times extremely inoptimal.

Features

See the tests folder for examples that compile. The function_test.c test is representative of the range of ShivC.