public PerClause parsePerClause(Parser parser) {
PatternParser patternParser = new PatternParser(tokenSource);
try {
PerClause ret = patternParser.maybeParsePerClause();
checkEof(parser);
if (ret == null) return new PerSingleton();
else return ret;
} catch (ParserException pe) {
reportError(parser, pe);