🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

The Parser Lives!

Published July 23, 2008
Advertisement
It took a long evening's work, but I've finally gotten a parser functional and actually generating VM operations from source code. At the moment it's a little bit shaky because I'm not terribly familiar with boost::spirit yet, but at least it runs.

At this point I have the guessing-game program being loaded from disk and interpreted in the VM. The main challenge of parsing the "pure" Epoch syntax is now taken care of; with a few minor omissions, the language's built-in keywords are functional.

The next phase will be to add user-defined functions; currently the only function is the entrypoint which, as you can probably guess, defines the program entry point, similar to C/C++'s main.

I think at this point what I'll do is go ahead and clean up the code a bit and finish some documentation work, then package up a preview release. Cleaning things up is going to be a fairly large amount of work, since I've been doing everything pretty ad-hoc up until now. Once that's taken care of, I think I'll be ready to solicit some feedback on the overall design - particularly the parser, which is kind of the weak link of the moment.


Anyways, I'm rambling a bit... but this is my baby, and it's just so darn cool to see it coming together - especially this quickly. I seriously thought it would be a bigger mess than this, but so far it's been pretty smooth sailing.

Of course, I also haven't done anything nontrivial yet... the type system is going to be a minor nightmare, and getting user-defined types and such working will be one of the biggest hurdles in creating the language. That aside, there's also the all-important processing model work....


So... progress has been made, and the remaining amount of work is only murderously daunting rather than utterly impossible.

Whee!
Previous Entry Mmmm, boost::spirit
Next Entry Epic Epoch Update
0 likes 2 comments

Comments

evolutional
Have you done any performance tests on the VM you've put together?
July 23, 2008 01:24 PM
ApochPiQ
Not yet. There's really nothing significant enough there to test. In any case the VM isn't intended to be fast, just a solid prototyping platform (and a reference implementation of the language). Speed-centered applications will (probably) need to wait for the compiler services.
July 23, 2008 02:11 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement