CMM Lex pt1: recognizes keywords, numbers, identifier and invalid identifiers, whitespaces, copies newline as it is and reports everything else as invalid character.