Go to the first, previous, next, last section, table of contents.

Interactive C User's Guide

Manual Edition 0.1

Documents software version 3.1

January 8, 1996

Original document by:
Fred Martin
MIT Media Laboratory
E-mail: fredm@media.mit.edu

Copyright 1995 Newton Research Labs.
Copyright 1992 Fred Martin
All rights reserved.


Interactive C (IC for short) is a C language consisting of a compiler (with interactive command-line compilation and debugging) and a run-time machine language module. IC implements a subset of C including control structures (for, while, if, else), local and global variables, arrays, pointers, structures, 16-bit and 32-bit integers, and 32-bit floating point numbers.

IC works by compiling into pseudo-code for a custom stack machine, rather than compiling directly into native code for a particular processor. This pseudo-code (or p-code) is then interpreted by the run-time machine language program. This unusual approach to compiler design allows IC to offer the following design tradeoffs:

Since IC's ultimate performance is limited by the fact that its output p-code is interpreted, these advantages are taken at the expense of raw execution speed.

The current version of IC was designed and implemented by Randy Sargent, Anne Wright, and Carl Witty, with the assistance of Fred Martin. As of this writing, there are many related 6811 systems in use: the 6.270 LEGO Robot Controller Board (Rev 2.21: 1994, Rev 2.2: 1993, Rev 2.1: 1992, Rev 2.0: 1991), the Handy Board (1995), the Rug Warrior (1993), and the Sensor Robot (1991). This document currently specifically covers the Rev. 2.21 6.270 LEGO Robot Controller Board, but much of this manual is applicable to all platforms.

Go to the first, previous, next, last section, table of contents.