Todo

Below is a list of features / tasks that need to be done.

  • Improve the debugger.
    • Add support for local variables.
  • Misc
    • Create a better/fancier logo
    • Improve the fuzzer tool that can generate random source code to stress the compiler.
  • Binary utils
    • Implement the disassembler further.
    • Implement Mac OSX support and add a mac 64-bit example project.
    • Add Windows support and add a windows 64-bit example project.
  • Languages
    • Complete the fortran frontend. The ppci.lang.fortran module contains a start.
    • Complete the C frontend, The ppci.lang.c module contains an attempt.
    • Complete the pascal frontend.
    • Complete the front-end for LLVM IR-code, this way, the front-end of LLVM can be used and the backend of ppci.
    • Add a backend for LLVM IR-code.
    • Investigate regular expression derivatives as described here: https://github.com/MichaelPaddon/epsilon
    • Add ada frontend
    • Add D language frontend
  • Optimizations
    • Add a peephole optimizer.
    • Investigate polyhedral optimization
  • Add better support for harvard architecture cpu’s like avr, 8051 and PIC.

Issue trackers

On github, there is a list of open issues which need attention:

https://github.com/windelbouwman/ppci/issues