Skip to content

Latest commit

 

History

History
38 lines (35 loc) · 1.72 KB

TODO.md

File metadata and controls

38 lines (35 loc) · 1.72 KB

Detailed Brain TODOs

  • Fix file testscripts.c.
    • Linux.
    • Mac.
  • Implement ?, :, ;.
  • Ignore else's without if's.
  • Improve the methods IsBranch, IsTerminator and so on.
  • Code refactoring for the return methods inside the recursivity.
  • Code refactoring for the whole project. Improve readability (CodeGen params too).
  • Create verbose mode describe on https://github.com/luizperes/brain/issues/2
  • Fix InputInstruction
  • Implement optimization for empty whiles [ ]. Ignore them (For Else too).
  • Implement optimization for empty moves ShiftInstr(0) and IncrementInstruction(0).
  • Implement a delete comments option for the compiler.
  • Implement a generate optimized code option for the compiler.
  • Improve the return at the method Parser::isSkippable. Check switch at the parser.
  • Change module's name.
  • Change the if and while.if (*ptr != 0), not if (*ptr > 0). Although for is going to work only for positive numbers.
  • Code's refactoring:
    • Move the content of brain.cpp to a boostrap file.
    • Refactor parser.cpp.
  • Make sure you are deleting objects from the heap.
  • Implement $ as a print for number / 100.
    • Implement test cases for $
  • Allow the compiler to have cells larger than 100 x 4
  • Check if required functions (LLVM IR) are implemented.
  • Breaks are not working inside if (they are going back to the beginning of the loop)
  • Fix verbose mode and levels for the debug mode
  • Create install script. (remember to install the libs)
  • Create a code generator file to store common code shared by the instructions.

Documentation

  • Utils
  • Parser
  • Instructions
  • AST