Rewriting the lexer as a class to get rid of all the arguments now, it's a pain.
tree3283ae42e83493ea6e69ebd10c3dabe6ecb291f8
drwxr-xr-x - frith