Everytime we choose to introduce new functionality, we decide on our group chat what that will entail and then we fill out the modules with ticks.
- Program [x] - Everyone
- Assembler [x] - Baron & Pranav
- Tokenizer [x] - Baron
- Parser [x] - Pranav
- ParserMonad[x] - Pranav
- AST [x] - Baron
- Emulator [x] - Angelos & Youssef
- Arithmetic Instructions [x] - Youssef
- Load/Store Instructions [x] - Youssef
- Branch Instructions [x] - Youssef
- Memory [x] - Angelos
- Front-End [x] - Angelos
- Figure out what we're supposed to do
- Figure out how we're supposed to start
- Assigned parts to individuals
- Initial Research Phase completed
- Learning and Initial instructions
- Implement working module basics
- Attempt some pipelining
- Write ADC function
- Write flag setting function
- Come up with machineState interface
- Write basic tokeniser
-
MachineState
Testing - Basic UI
- Write basic parser
- Write basic AST
- Connect all basic modules together
- Write flag-setting function
- Support for all arithmetic instructions
- Error Handling Framework - "Printing" Monad
- Memory Implementation