I think you may be missing a `result = MATCHnomatch;` at the beginning? Unless this is already handled in the constructor of the visitor and doesn't have to be changed?