Open main menu


Revision as of 01:32, 7 June 2017 by Gary Benson (talk | contribs) (→‎Installation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

I8C is a compiler for Infinity notes. It compiles I8 source code to object code that can then be linked into executables or shared libraries in the usual way.


You can install I8C with PIP:

pip install --user

or you can build from source:

git clone
cd i8c
python test  # optional
python install --user

Either will install I8C in ~/.local/bin/i8c, so you may need to add ~/.local/bin to your path. Alternatively you can omit the --user and install I8C globally on your system.


In most cases the command you want is:

i8c -c file.i8

which reads and compiles file.i8 and writes the result to file.o.

In general I8C operates like GCC, so if you’re used to GCC then I8C should make sense. I8C uses GCC both to preprocess its input (unless invoked with -fpreprocessed) and to assemble its output (unless invoked with -E or -S). If GCC is used, all options not explicitly listed by i8c --help will be passed to GCC unmodified.

The following environment variables may be set to cause I8C to use a specific GCC executable:

Program for compiling C programs (default: gcc)
Program for running the C preprocessor, with results to standard output (default: $(I8C_CC) -E -x c)
Program for compiling assembly files (default: $(I8C_CC) -x assembler-with-cpp)


Python package
Integration testing
Bug tracker (product "infinity", component "i8c")
Mailing list,