protected Expression annealExpression( Expression exp ) { return reader.pool.createOneOrMore(exp); } }
protected Expression annealExpression( Expression exp ) { return reader.pool.createOneOrMore(exp); } }
protected Expression annealExpression( Expression exp ) { return reader.pool.createOneOrMore(exp); } }
protected Expression annealExpression( Expression exp ) { return reader.pool.createOneOrMore(exp); } }
public Expression onOneOrMore( OneOrMoreExp exp ) { Expression np = exp.exp.visit(this); if(exp.exp==np) return exp; else return pool.createOneOrMore(np); } public Expression onMixed( MixedExp exp ) {
public Expression onOneOrMore( OneOrMoreExp exp ) { Expression np = exp.exp.visit(this); if(exp.exp==np) return exp; else return pool.createOneOrMore(np); } public Expression onMixed( MixedExp exp ) {
public Expression onOneOrMore( OneOrMoreExp exp ) { Expression np = exp.exp.visit(this); if(exp.exp==np) return exp; else return pool.createOneOrMore(np); } public Expression onMixed( MixedExp exp ) {
public final Expression createZeroOrMore( Expression child ) { return createOptional(createOneOrMore(child)); }
public Expression onOneOrMore( OneOrMoreExp exp ) { Expression np = exp.exp.visit(this); if(exp.exp==np) return exp; else return pool.createOneOrMore(np); } public Expression onMixed( MixedExp exp ) {
public final Expression createZeroOrMore( Expression child ) { return createOptional(createOneOrMore(child)); }
public final Expression createZeroOrMore( Expression child ) { return createOptional(createOneOrMore(child)); }
public final Expression createZeroOrMore( Expression child ) { return createOptional(createOneOrMore(child)); }
/** * processes occurence (?,+,*) of the given expression */ protected Expression processOccurs( Expression item, short occurence ) { switch( occurence ) { case OCCURENCE_ONCE: return item; case OCCURENCE_ONE_OR_MORE: return grammar.pool.createOneOrMore(item); case OCCURENCE_ZERO_OR_MORE: return grammar.pool.createZeroOrMore(item); case OCCURENCE_ZERO_OR_ONE: return grammar.pool.createOptional(item); default: // assertion failed. this must be a bug of DTDScanner. throw new Error(); } }
/** * processes occurence (?,+,*) of the given expression */ protected Expression processOccurs( Expression item, short occurence ) { switch( occurence ) { case OCCURENCE_ONCE: return item; case OCCURENCE_ONE_OR_MORE: return grammar.pool.createOneOrMore(item); case OCCURENCE_ZERO_OR_MORE: return grammar.pool.createZeroOrMore(item); case OCCURENCE_ZERO_OR_ONE: return grammar.pool.createOptional(item); default: // assertion failed. this must be a bug of DTDScanner. throw new Error(); } }
/** * processes occurence (?,+,*) of the given expression */ protected Expression processOccurs( Expression item, short occurence ) { switch( occurence ) { case OCCURENCE_ONCE: return item; case OCCURENCE_ONE_OR_MORE: return grammar.pool.createOneOrMore(item); case OCCURENCE_ZERO_OR_MORE: return grammar.pool.createZeroOrMore(item); case OCCURENCE_ZERO_OR_ONE: return grammar.pool.createOptional(item); default: // assertion failed. this must be a bug of DTDScanner. throw new Error(); } }
/** * processes occurence (?,+,*) of the given expression */ protected Expression processOccurs( Expression item, short occurence ) { switch( occurence ) { case OCCURENCE_ONCE: return item; case OCCURENCE_ONE_OR_MORE: return grammar.pool.createOneOrMore(item); case OCCURENCE_ZERO_OR_MORE: return grammar.pool.createZeroOrMore(item); case OCCURENCE_ZERO_OR_ONE: return grammar.pool.createOptional(item); default: // assertion failed. this must be a bug of DTDScanner. throw new Error(); } }
private Expression _processOccurs( Expression item, int minOccurs, int maxOccurs ) { Expression exp = Expression.epsilon; for( int i=0; i<minOccurs; i++ ) exp = pool.createSequence( item, exp ); if(maxOccurs==-1) { if( minOccurs==1 ) return pool.createOneOrMore(item); else return pool.createSequence( exp, pool.createZeroOrMore(item) ); } // create (A,(A, ... (A?)? ... )? Expression tmp = Expression.epsilon; for( int i=minOccurs; i<maxOccurs; i++ ) tmp = pool.createOptional( pool.createSequence( item, tmp ) ); return pool.createSequence( exp, tmp ); }
private Expression _processOccurs( Expression item, int minOccurs, int maxOccurs ) { Expression exp = Expression.epsilon; for( int i=0; i<minOccurs; i++ ) exp = pool.createSequence( item, exp ); if(maxOccurs==-1) { if( minOccurs==1 ) return pool.createOneOrMore(item); else return pool.createSequence( exp, pool.createZeroOrMore(item) ); } // create (A,(A, ... (A?)? ... )? Expression tmp = Expression.epsilon; for( int i=minOccurs; i<maxOccurs; i++ ) tmp = pool.createOptional( pool.createSequence( item, tmp ) ); return pool.createSequence( exp, tmp ); }
private Expression _processOccurs( Expression item, int minOccurs, int maxOccurs ) { Expression exp = Expression.epsilon; for( int i=0; i<minOccurs; i++ ) exp = pool.createSequence( item, exp ); if(maxOccurs==-1) { if( minOccurs==1 ) return pool.createOneOrMore(item); else return pool.createSequence( exp, pool.createZeroOrMore(item) ); } // create (A,(A, ... (A?)? ... )? Expression tmp = Expression.epsilon; for( int i=minOccurs; i<maxOccurs; i++ ) tmp = pool.createOptional( pool.createSequence( item, tmp ) ); return pool.createSequence( exp, tmp ); }
private Expression _processOccurs( Expression item, int minOccurs, int maxOccurs ) { Expression exp = Expression.epsilon; for( int i=0; i<minOccurs; i++ ) exp = pool.createSequence( item, exp ); if(maxOccurs==-1) { if( minOccurs==1 ) return pool.createOneOrMore(item); else return pool.createSequence( exp, pool.createZeroOrMore(item) ); } // create (A,(A, ... (A?)? ... )? Expression tmp = Expression.epsilon; for( int i=minOccurs; i<maxOccurs; i++ ) tmp = pool.createOptional( pool.createSequence( item, tmp ) ); return pool.createSequence( exp, tmp ); }