A framework for parsers, rule matchers, and report generators