mark SynopsisParser::gen_patterns() as static