diff options
author | David Thomas <m8pple@github.com> | 2017-01-23 10:56:54 +0000 |
---|---|---|
committer | David Thomas <m8pple@github.com> | 2017-01-26 10:57:25 +0000 |
commit | b850a6b64115940a0e3df50b2aa923dd3e99b13e (patch) | |
tree | 2b394c18824ed89cc305d719d2c771f155615ba8 /3-compiler.md | |
download | Compiler-b850a6b64115940a0e3df50b2aa923dd3e99b13e.tar.gz Compiler-b850a6b64115940a0e3df50b2aa923dd3e99b13e.zip |
Initial transfer
Diffstat (limited to '3-compiler.md')
-rw-r--r-- | 3-compiler.md | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/3-compiler.md b/3-compiler.md new file mode 100644 index 0000000..7ac2fe7 --- /dev/null +++ b/3-compiler.md @@ -0,0 +1,45 @@ +Create a compiler for the C language +==================================== + +Your program should accept C source code on +`stdin` and write a heirarchical representation on `stdout`. + +Input Format +------------ + +The input format is C90. + +Output Format +------------- + +The output format should be MIPS1 assembly code. + +It should be possible to assemble and link this code +against a C run-time, and have it execute correctly +on a MIPS processor. + +Compilation +----------- + +Your compiler should be built using: +```` +make bin/c_compiler +```` +and the resulting program should be called `bin/c_compiler`. + +The target environment remains Ubuntu 16.04. + +Deliverables +------------ + +There are actually three deliverables here: + +1 - The compiler itself + +2 - A test framework + +3 - Documentation + +There are certain requirements on test and a format for the +documentation, but we'll elaborate on those when they are +encountered in the course. |