Home - madisongh/blissc GitHub Wiki
This wiki hosts information about the BLISS-M compiler.
Recent updates
Look at the git log for complete information, this will cover only highlights.
2013-04-21
- First pass at generating and reading library files. The code needs some cleanup and further testing, but unit testing so far looks good.
2013-03-24
- Initial stab at packaging with autotools. Configuration and build of the
compiler is still pretty simple, but it works, as does
make distto create a source package. The version string is set to0.1for now. - Ran the compiler through valgrind and fixed an off-by-1 buffer overrun and several memory leaks in the cleanup code.
- Other minor fixes for compiler warnings.
2013-03-17
- Added a script to drive running the tests, and hooked up a 'make check' target.
2013-03-01
- The compiler now works on 32-bit as well as 64-bit x86 hosts.
- Test cases updated to produce uniform results on either 32- or 64-bit systems.
- Several bugs fixed during testing.
2013-02-20
- Added test cases for handling of literals, lexical functions, macros.
- Fixed bugs found during testing.
2013-02-17
- Removed the
testfilesdirectory, which had some random files I was using for testing at various stages of early development. Added a newtestsdirectory, along with the start of some tests that will be more systematic and automatable. - Found (and fixed) some bugs while running through the new tests.
- Filed some bugs/enhancements earlier in the week for some known issues.
To-do list
- Complete the test suite based on the current capabilities in the compiler, and automate the tests.
- Check on further issues to be recorded. Some will come up during testing, others will come up as I review the LRM to create the test cases -- e.g., keywords not hooked up yet.
- Decide whether to pursue further enhancements to the LLVM back-end -- adding debug metadata, multiple target machines, fixing the MAIN problem, etc. -- or plug in another back-end for older processors (looking at TACK for this).
- More documentation.
- Package up with Autotools.
- More stress-testing for memory leaks.
- Reevaluate the error-handling paths in the front end. There are more places where the compiler needs to be smarter about error recovery, particularly in parts that were coded early on.