« Contex is here | Main | problem with quoted lists »
October 12, 2004
Maintainance programming
I spent a day to make the rest of my days easier. First I took a look at my largest file, Parser.java. This class was doing two things when it was better off doing one; it was parsing the String of typed CX code, then commiting (evaluating) the parsed structure.
Now, there is a new file in CVS named Evaluater.java and this class is just for the committing. After that work, I just found out something I didn't really know about java- all references to fields marked with the 'final' modifyer are not really references. They are compiled as though you really typed the number in replacement of the variable name everywhere- including other classes. This means that if you even decide to change the final field in one file, but it is refered to in another, the other class will remain acting as though the value never changed, until you purposely recompile it. I had to find this out the hard way, and I'm not certain of what I think about that. Really, the issue is that I was taught that 'final' was a modifyer to make constants, but this is much more than constants to me. How embarrassing. Now conditionals are on their way to being implemented. The code is already made, but it doesnt work, and I know why- so it's just a matter of time.
Also, CX now has a release on SF.net (version 0.35): here.
Posted by Rex at October 12, 2004 12:58 AM