Add matcher diagnostics. Allow check details of each matcher in the three Split stuff into files and add tests for each class Validate expressions and raise errors for invalid expressions