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: