Final version of the parser and scanner