Feb 21, 2007 21:34
(People not in CS131a with me can safely ignore this whole entry)
Things that were broken in our parser on our turnin 12 days ago, in order of when I fixed them:
1) Function calls relied on old code that didn't exist anymore, so every function call was a parser error.
2) Forgot the RESULT binding in for/let statements, which made NULL propagate up the tree.
3) Argument lists in function calls and declarations were out of order like whoa. Fixed this once, then fixed it again.
4) Forgot the RESULT binding in range statements. Took me a solid 2 hours of work, including implementing a bunch of new code (this is ugly as sin) for a robust debugging method, before realizing this. Wow~
5) () was propagating as NULL instead of as an empty ExprList.
6) Scanner was coding > and < as GREATER and LESS. Parser was looking for GT and LT. Oops. (scanner was right)
7) AND and OR statements were still ordered as I first implemented the additive operators, specifically 1 AND 2 AND 3 AND 4 AND 5 was parsed as ((((2 AND 3) AND 4) AND 5) AND 1).
:D!! IT'S DONE WHEE~~~~~
now for the hard part ;_;