
The latest chapter was on common structures like stacks, queues, and lists. We got into the internal implementation of these structures. I worked through almost all the exercises in the back of the chapter. I was pleased with a calculator app that used a stack to convert math expressions to a format the computer could read. I was amazed that such little code could figure out complex expressions.
The last exercise in the chapter was to build a compiler for the BASIC programming language. Damn. That's a tall order. The problem was that this task relied on you finishing some exercises from previous chapters. Our advanced class had skipped over those chapters so I did not do them.
The crucial exercise was to implement a computer called the Simpletron. This thing has its own set of assembly language instructions, registers, memory, and so on. I started hitting those Simpletron exercises hard. I wrote out some small programs in Simpletron assembly language. This was fun. The real challenge was to build a Java program that would implement the Simpletron computer. More about that grand task later.