Lexing Parsing and updated main