Partially implemented compiling infrastructure in the compiler (currently it will output a program that prints the name of the function that first runs; i.e. main)
Fixed lexing issue in the assembler which prevented labels with underscores from being used.
Updated package.bat to ship new files.
Added proper error handling infrastructure.
Fixed a few bugs in the assembler.
Added relocation table support for the assembler.
Added support for DAT instruction w/ strings and individual characters.
Multiple fixes to how instruction skip is handled
Added size retrieval and stack size counting to the compiler.
Fixed indentation in Aaron's commit.
Merged Aaron's commits into mainline.
Added AUTHORS and MIT-LICENSE files.
Updated file header commits to better support multiple authors.
Added Aaron's modifications to the assembler.
Fixed bug in assembler that generated incorrect programs.
Implemented support for function and variable declarations, function calling, argument passing, return values, pointers, dereferencing, address-of, boolean and bitwise operations in the compiler.
Implemented assembler-independent output via the -t option.
Implemented support for searching multiple paths for preprocessor include files.
Added support for .BOUNDARY directive in assembler.
Changed assembler to be case-insensitive with regards to register names.
Added README.txt on getting started with compiling the project.
Fixed a few serious bugs in the emulator.
Implemented support in the compiler for strings, while and for loop, debug statement, true / false / NULL constants, chained if / else if / else statements.
Fixed function calling bugs.
Fixed relative assignment operators.
Greatly improved the speed of the emulator.
Added support for feeding the input / output of the compiler, assembler and emulator to each other via stdin / stdout.
Added infrastructure for extension tables as per https://github.com/hach-que/0x10c-Standards/blob/master/ASM/Draft_Extension_Declaration_Table.txt.
Added infrastructure for struct definitions (can't yet use them as types).
Added debug option (-d) to emulator to optionally show each instruction that is executed (this is NOT step-by-step).
Removed the -a and -e options from the compiler and assembler as this can now be done with stdin / stdout piping.
Implemented support for structures in the C compiler and gave the whole AST infrastructure a pretty big overhaul.
Added support for sizeof() operator.
Fixed emulator screen foreground color.
Implemented support for global function pointers (can't declare them locally yet).
Implemented support for global variables.
Fixed a bug in the assembler which would cause it to crash if you tried to use a label with an offset in brackets.
Fixed bugs in the emulator which prevented you from using the debug (-d) option.
Implemented support for initializers on global variables (inc. global function pointers).
Added support for local function pointers.
Fixed the type recognition system in the lexer / parser.
Modified a whole bunch of code so that it compiles out-of-the-box on GCC.
Removed old assembler / emulator examples to favour maintained C example files.
Added support for .INCLUDE, .INCBIN and .ORIGIN assembler directives.
Added modified 0x42c to the repository.
Fixed assembler crash bug when encountering an unknown opcode.
Fixed casing issues with assembler recognition of registers.
Partially implemented new I/O support into emulator.