First attempt at decoding.

It is very slow, mostly because of the lexer. I'm gonna fix that,
though =P.