alt = new ProductionPatternAlternative();
alt.addToken(RegexpConstants.PLUS, 1, 1);
alt.addToken(RegexpConstants.QUESTION, 0, 1);
pattern.addAlternative(alt);
alt = new ProductionPatternAlternative();
alt.addToken(RegexpConstants.LEFT_BRACE, 1, 1);
alt.addToken(RegexpConstants.NUMBER, 1, 1);
alt.addProduction(SUBPRODUCTION_2, 0, 1);
alt.addToken(RegexpConstants.RIGHT_BRACE, 1, 1);
alt.addToken(RegexpConstants.QUESTION, 0, 1);
pattern.addAlternative(alt);