StatementParser { static Parser<Statement> expressionList(Parser<Expression> expr) { return expr.sepBy1(term(",")).followedBy(term(";")).map(ExpressionListStatement::new); }    }
@Test public void testExpressionList() { Parser<Statement> parser = StatementParser.expressionList(ExpressionParser.IDENTIFIER); TerminalParserTest.assertResult(parser, "foo;", ExpressionListStatement.class, "foo;"); TerminalParserTest.assertResult(parser, "foo,bar;", ExpressionListStatement.class, "foo, bar;"); }