aboutsummaryrefslogtreecommitdiffstats
path: root/csc/linker.csc
AgeCommit message (Collapse)AuthorFilesLines
2022-08-01Modify the project structure.Rose Hogenson1-119/+0
Now the lib directory contains what will eventually end up on the user's /usr/lib/csc. When I write make install, it will copy all of the .csc files from lib into the destination lib directory. This means I can start working on the standard library in lib/scheme.
2022-07-30Fix a bug in the linker label calculation.Rose Hogenson1-1/+1
2022-07-30Fix some test cases in the compiler.Rose Hogenson1-8/+20
2022-07-29Insert an exit op at the end of the program.Rose Hogenson1-12/+4
2022-07-28Use a better interface for linker.Rose Hogenson1-22/+51
2022-07-26Fix an issue with how the linker combined files.Rose Hogenson1-4/+12
I inserted jump statements into the bytecode at the beginning of each compilation unit, to jump to the init label. The point is that now the bytecode can be executed from start to finish, and assuming the libraries were ordered correctly, it will run the full program.
2022-07-25Re-write the linker.Rose Hogenson1-47/+62
2022-07-24Improve the match syntax for constants.Rose Hogenson1-4/+4
I guess you can pattern match using quote as a literal. That's pretty cool.
2022-07-24Export some common comparers from hash-map.Rose Hogenson1-13/+2
2022-07-23Add a delete method to the red-black tree.Rose Hogenson1-1/+8
God damn delete is even more complicated than insert. I think it works, at least.
2022-07-02Write closure conversion.Rose Hogenson1-8/+1
I desperately need a diffing library.
2022-01-13Generalize the hash map.Rose Hogenson1-1/+8
Before we were assuming keys could be compared with eqv?. But it seems like that assumption isn't true when we want to hold identifiers in the hash map.
2022-01-11Move scheme compiler into a separate directory.Rose Hogenson1-0/+67