picoc/README
2015-06-10 15:29:12 -05:00

60 lines
1.9 KiB
Plaintext

picoc
-----
PicoC is a very small C interpreter for scripting. It was originally written
as a script language for a UAV's on-board flight system. It's also very
suitable for other robotic, embedded and non-embedded applications.
The core C source code is around 3500 lines of code. It's not intended to be
a complete implementation of ISO C but it has all the essentials. When
compiled it only takes a few k of code space and is also very sparing of
data space. This means it can work well in small embedded devices. It's also
a fun example of how to create a very small language implementation while
still keeping the code readable.
It's been tested on x86-32, x86-64, powerpc, arm, ultrasparc, HP-PA and blackfin
processors and is easy to port to new targets.
Compiling picoc
---------------
picoc can be compiled for a UNIX/Linux/POSIX host by typing "make".
The test suite can be run by typing "make test".
Porting picoc
-------------
platform.h is where you select your platform type and specify the includes
etc. for your platform.
platform_XXX.c contains support functions so the compiler can work on
your platform, such as how to write characters to the console etc..
platform_library.c contains your library of functions you want to make
available to user programs.
There's also a clibrary.c which contains user library functions like
printf() which are platform-independent.
Porting the system will involve setting up suitable includes and defines
in platform.h, writing some I/O routines in platform_XXX.c, putting
whatever user functions you want in platform_library.c and then changing
the main program in picoc.c to whatever you need to do to get programs
into the system.
platform.h is set to UNIX_HOST by default so tests can be easily run on
a UNIX system. You'll need to specify your own host setup dependent on
your target platform.
Copyright
---------
picoc is published under the "New BSD License".
http://www.opensource.org/licenses/bsd-license.php