• entries
    617
  • comments
    1446
  • views
    1005966

Zeroing in on self-hosting

Sign in to follow this  
Followers 0
ApochPiQ

654 views

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
Sign in to follow this  
Followers 0


2 Comments


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.

1

Share this comment


Link to comment

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

1

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