Replaced hand-rolled lexer with one generated by alex.