Week 6: June 25th - June 29th

Monday, June 25th

Worked on (and finished) all the Turing machine stuff! Tomorrow I'll be completely done and be able to start on some visualizing/testing of the code Julian finishes! Can't believe how awesome this Universal Turing machine stuff turned out

Tuesday, June 25th

It was much quieter without Julian around today, but I set off on my own without his guidance and accomplished a lot. By noon I had completely refactored all my code, added comments, etc. I noticed Julian had left me a note saying to do exactly that, so I guess great minds think alike. Or we both knew my code was not too pretty. I also spent a lot of the day hard-coding Turing machines to test the simulators, file system, etc. I used a lot of examples and problems from the book, and will be testing the single tape ones on some of my algorithms (Stay option remove, to Unrestricted grammar, and Universal simulation) tomorrow. I think there's still a lot to do with Turing machines including multi-track, off-line, conversion between multi-tape and other forms, grammar to TM, and expansion of current algorithms to handle multiple-tape TMs. We'll see if I can do it!

Wednesday, June 26th

Another day of debugging, both my code and Julian's. Realized from it that our decoding Turing machine for the Universal block TM was quite off and wouldn't produce the right results for almost any TM, but oddly did for the one we originally tested with. So I fixed that, redoing a large portion of that code, and now we have a working TM!

Thursday, June 27th

Wrote two more Turing machines to test the code once more, and everything's working perfectly, so I assume there isn't much more I can do on the model side unless I start adding some novel ideas. Instead, and much more important, I began working on the GUI part of parsing. I'm going to have to go through a lot of old code, but I think I'll be able to come up with some refactoring to make the interface just as good, if not better, than 7.0.

Friday, June 28th

Got a good portion of the Parser GUI laid out today, mostly based around the existing code. Besides the parse tree as dealing with pausing a parser, the brute force part is done, and I'm getting much more comfortable with writing code to fit in with the interface. I have a few more things to fix, but should be moving on to other parsers soon!