🎉 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!

Tangent: One step forward, one step back (again)

Published May 31, 2008
Advertisement
So I tracked down the problem with the gobblers.

I wasn't nicely keeping track of wildcards' (paren statements) effective type, so they kinda got dropped. [reworked wildcard class to include that, and cache results]

And then when I un-flattened the token stream, I wasn't checking if the token was already un-flattened and passing its children along. [edit unflattening code]

Then I ran into a problem where it wasn't clear with the way the AST was formed what the operation was supposed to be. [rewrote AST nodes to include operations]

Which exposed some sort of bug with instance binding or return statements (I can't quite tell which yet) where the return of a method is being assigned to the slot of... some other method's return slot (or some temp slot; I can't quite tell which yet).


So yeah, a lot of plumbing amongst interpreter internals to track down vague failures with seemingly innocuous code. Whole lotta work for not much (visible) progress. And despite not being terribly clever in my design, a whole lot of:

Quote:
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you are as clever as you can be when you write it, how will you ever debug it? ~Brian Kernighan



ps. Indiana Jones? Pretty crappy.


ps2. Malibu is tastey.
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement