Zeroing in on self-hosting

Published December 01, 2013
Advertisement
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.
4 likes 2 comments

Comments

3Ddreamer

Wow....exciting!

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.

December 01, 2013 04:51 AM
Krohm

I'd be interested in that too; I consider my parser notoriously brittle.

December 02, 2013 07:31 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement