Initial commit, redesigned lexical analyser.