ngmiller/mips-assembler — pull request #5 by ngmiller (2013-12-31 22:50:17+00:00)
Title: Labels!

### Change log

1. Refactor on the class naming a bit. Separated the notion of an Encoder and Assembler. The Encoder handles one instruction at a time, whereas the assembler builds the final output from the Encoder results and sets up the label cache.
2. Added a label cache. The assembler makes an initial pass over the input file, finding labels and storing their instruction index in the cache for the encoder to pick up later. Instructions are also cached for processing after all labels are found. *It would be nice to do label resolution and instruction encoding in one pass but it doesn't matter for now.*
3. Unit tests!