put errors back into MPscanner to further seperate the scanner and parser