| TinC
- Tiny, in C |
| |
| A
compiler based on Jack W. Crenshaw's
tutorial, coded in C. An open
source
project to extend and enhance the
original. Windows and Linux hosts. |
| |
| Jack's tutorial is available
here. |
| |
|
| |
| Want to know more?
Read all about it in |
|
 |
|
| v1.0
(Initial Release) |
- 'Smart'
compiler trace implemented
- Staging buffer
implemented
- pcode
generation mechanism implemented,
including removal of
target-specific output
- Non-interactive
code processing implemented
(input and output)
- Pre- and
post-optimization pcode
generation implemented
- Line number
(for error reporting) implemented
- Data types
char and int implemented
- Simple arrays
implemented
|
| v1.3 |
- Added #define
directive
- Added
recognition of hex ($HHHH)
- Simple
pointers (*name *$HHHH)
implemented
- Added
address-of operator
- Added
character literals
- Added optional
semicolon processing
- Replaced
Primary/Secondary scheme with
register pool
- Added single
line and nested block comments
- Added
recognition of 'unsigned'
- Added
directives: #inline, #ifdef and
#endif
- Added
mandatory '()' to while and if
statements
- Added
recognition for '!=' (same as
'<>')
- Added
'<<' and '>>'
(bitwise left and right shift)
operators
- Added
procedures and calls
- Added
recognition of 'interrupt'
- Added forward
declarations of procedures and
interrupts (prototypes)
- Improved trace
and pcode details (including
tracking of register allocation)
- Split of
common and target-specific
routines into different modules
- Added #include
directive
- Added level 1
instruction optimizations
- Added
for..endfor keywords and
processing
- Split
symbol/trace/pcode output
|
|