C Compiler hacking - starting with Small-C by Ron Cain