TODO list: Critical: - initializers - add hash tables for symbols (useful for long programs) - 0 is pointer - fix type compare - add message if external function or variable not found. - add float/double support (should be as small as possible while being usable for RISC code generator too). Not critical: - fix preprocessor symbol redefinition - better constant opt (&&, ||, ?:) - function pointers to forward reference (patch code generator) - add PowerPC code generator. - add portable byte code generator and interpreter.