It should be pretty simple task. Add list<Token> to Parser and store each opening parenthesis; when reading closing one simply pop. This should give information about position of unmatched opening parenthesis.