Little C Interpreter

Building Your Own C Interpreter
Herbert Schildt
Dr. Dobb's Journal v14, n8, August 1989
http://www.ddj.com/184408184

Also appears on:
C: The Complete Reference, 4th Edition
ISBN:0072121246
Schildt, Herbert
Publisher:McGraw-Hill Osborne Media (April,2000)

Little C is a C interpreter that can execute a subset of K&R ANSI C.
The interpreter is functional as presented and is designed so that
you can easily enhance and extend it.

Features provided by this C interpreter:

* Parameterized functions with local variables
* Recursion
* if statements
* do-while, while, and for loops
* Integer and character variables
* Global variables
* Integer and character constants
* String constants (limited implementation)
* The return statement, both with and without a value
* A limited number of standard library functions.
* These operators: +, -, *, /, %, <, >, <=, >=, ==, !=, unary -, and unary +.
* Functions returning integers
* Comments

Features not provided (**)

* Targets of the if, while, do, and for that are not be blocks of code
  surrounded by beginning and ending curly braces
* Functions returning non-integer values
* switch, goto, break and continue statements
* Pointers
* Arrays
* Structures and unions

(**) Refers to interpreted programs. Library code has access to all
features provided by the C compiler. Developer can add support for
these and other features by modifying the interpreter source code.

To add new functions to the interpreter, edit the internal funtion
table on smallc.h and add the functions on one of the lib*.c files.

April, 2007 - Ported to ARM Linux by Jesus Alvarez <jesusmalvarez@gmail.com>
December, 2009 - Ported to Micromint Electrum by Micromint Support <support@micromint.com>
