diff options
| author | bellard <bellard> | 2001-10-28 15:29:01 +0000 |
|---|---|---|
| committer | bellard <bellard> | 2001-10-28 15:29:01 +0000 |
| commit | 58f3296a6efe1ea51a73abc31a3503bffa0e1a82 (patch) | |
| tree | 9d170216fe19ffab7ac28602bcdf815f40c906c1 | |
| parent | 927c4afc0cd9a66b58c44475b2650d9fe9c9fc2a (diff) | |
| download | tinycc-58f3296a6efe1ea51a73abc31a3503bffa0e1a82.tar.gz tinycc-58f3296a6efe1ea51a73abc31a3503bffa0e1a82.tar.bz2 | |
updated
| -rw-r--r-- | README | 49 | ||||
| -rw-r--r-- | TODO | 5 |
2 files changed, 52 insertions, 2 deletions
@@ -0,0 +1,49 @@ +Tiny C Compiler - Make the best x86 Linux C compiler in less than 8192 bytes. +----------------------------------------------------------------------------- + +Differences with ANSI C: +----------------------- + +- Preprocessor: only '#define xx yy' is supported. Recursive defined + supported. All other directives are not supported. + +- Types: int, char, void, pointers and functions are + supported. Function pointers are also supported. struct, union and + typedef not supported. + +- Operations: 'x=' not supported. + +- Keywords: the following keywords are supported: int void char if + else while break return for. + +- Symbol scope: local variables supported, but they cannot have the + same name as global variables. + +Features: +-------- + +- SMALL! You can compile and execute C code everywhere, for example on + rescue disks. + +- FAST! tcc generate x86 code. No byte code overhead. + +- Compile and execute C source directly. No linking necessary. + +- C script supported : just add '#!/usr/bin/tcc' at the first line of + your C source, and execute it directly from the command line ! + +- All C library functions can be used via dynamic linking. + +------------------------------------------------------------------------- +An even smaller compiler can be build from tcc by activating the +define 'TINY'. The following changes from tcc: + +- Comments are not supported. + +- Parsing: No char constants. No '\r' and '\t' in strings. Only base + 10 numbers are supported. + +- no 'for' loops. + +- Operations: '?:', ',', 'x=', shifts, '&&', '||', '!', '~' not supported. + @@ -1,6 +1,7 @@ +- static arrays +- external symbols (vars) +- continue/do while/switch/case/goto - 'x'= -- shifts -- conditionnal ?: - constant propagation for '+', '-' and []. - verify function types |
