• Advertisement
  • entries
  • comments
  • views

Zeroing in on self-hosting

Sign in to follow this  


After a short break, I'm back to hacking on Epoch again.

Today was pretty productive; made several additions to the parser, added support for a few lingering language features that have been neglected up until now, and fixed a couple minor bugs. The compiler is getting richer, the test suite is expanding at a decent pace, and we're very close to being able to self-host this bad boy.

I have a list of stuff that needs to get done, and it's short:

  • Finish implementing unary operators
  • Fix the few remaining template bugs
  • Write the .EXE generation logic
  • Run a final pass over the code for any remaining TODOs that are blocking self-hosting

    There's also a handful of "bonus features" that would be cool to get in place but aren't strictly necessary for self-hosting. I'm planning on leaving those for later, since my goal was to self-host by the end of this year, and time is running short for hitting that milestone.

    Depending on how motivated I am for the next few days, unary operator support shouldn't be too hard to finish off. Once that's out of the way, there's a handful of issues and missing support bits for templates, which will take a bit more effort but ultimately not a ton of time. Rebuilding the .EXE generation logic in Epoch will be kind of finicky, but it's really just a matter of screwing around with byte buffers and such, so it won't be too awful, especially since I have a working reference implementation in C++ to compare with.

    And of course there remains the very real potential for the compiler to fail self-hosting on the first attempt, which wouldn't surprise me at all, and will add to the time required.

    So all in all, December's gonna be a hell of a month.
Sign in to follow this  


Recommended Comments



Apoch, may I have you write a little about the general tasks that your parser is doing?  I am very curious about that since I know almost nothing about parsers.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement