Sources splitted, lexer refactored (deeply).