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.
 
  DOWNLOADS  
  v1.0 - Source: tinc10.c tinc.h Docs: changes.txt history.txt  
  v1.3 - zip file  
 
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

 

 

email pete.gray@comcast.net
No part of this website may be reproduced without permission